/* ==========================================================================
   Ambition & Life — Lead Like A Woman workshop landing page (/leadlikeawoman/)
   --------------------------------------------------------------------------
   Loaded AFTER site.css, on /leadlikeawoman/ only. Reuses the site's tokens,
   buttons, blobs, highlight and value strip; everything here is specific to
   this page and prefixed ws- so nothing leaks into the rest of the site.

   Breakpoints follow the workshop brief, not the site's 1120:
     mobile  < 768     single column, form inside the gradient hero
     tablet  768–1199  hero split 60/40
     desktop >= 1200   hero split 56/44, 1180 content column, 64px gutters

   The Flodesk form is deliberately NOT styled from here. It renders with
   Flodesk's own look, as set inside Flodesk.
   ========================================================================== */

/* ---- Page frame ---------------------------------------------------------- */

.ws-wrap {
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
}

.ws-band { padding: 32px 22px; }
.ws-band--ruled { border-top: var(--border-hairline) solid var(--border-subtle); }

.ws-band h2 {
  font-size: 24px;
  line-height: 1.2;
  text-wrap: pretty;
}

.ws-flow { display: flex; flex-direction: column; gap: 14px; }
.ws-flow p { font-size: 15px; line-height: var(--leading-body); }

.ws-label {
  font-size: 10px;
  font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-overline);
  text-transform: uppercase;
}
.ws-label--ink { color: var(--kd-navy-700); }
.ws-flow p.ws-label { font-size: 10px; line-height: 1.4; }

.ws-strong { font-weight: var(--weight-bold); }

.ws-serif-lead {
  font-family: var(--font-display);
  font-size: 19px !important;
  line-height: 1.35 !important;
}

.ws-cta-row { margin-top: 6px; }

/* Full-width buttons on mobile, natural width from tablet. */
.ws-btn { width: 100%; }

/* The jump target sits under the sticky header. site.css sets a 100px
   scroll-padding for the full site header; this page's header is the same
   height, so nothing more is needed. */

/* ---- Header ------------------------------------------------------------- */

.ws-header { justify-content: center; }
.ws-header .wordmark { display: flex; align-items: center; min-height: 44px; }
.ws-header .wordmark img { height: 20px; width: auto; }
.ws-header__cta { display: none; }

/* ---- Scrolling strip ---------------------------------------------------- */

.ws-strip {
  background: var(--kd-royal-blue);
  color: var(--kd-white);
  height: 34px;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.ws-strip__track {
  display: flex;
  flex: none;
  white-space: nowrap;
  font-size: 11px;
  font-weight: var(--weight-bold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  animation: ws-marquee 28s linear infinite;
}
.ws-strip__track span { padding: 0 22px; }

@keyframes ws-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
  .ws-strip__track { animation: none; }
}

/* ---- Hero --------------------------------------------------------------- */

.ws-hero {
  background: var(--gradient-brand);
  color: var(--kd-white);
}
.ws-hero__copy {
  /* A touch tighter than the mockup (26 / 14) so Flodesk's taller form keeps
     its button above the fold on a 390 x 844 screen. */
  padding: 22px 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ws-hero h1 {
  font-size: 33px;
  line-height: 1.06;
  color: var(--kd-white);
}
.ws-hero__sub { font-size: 15px; line-height: 1.5; }
.ws-hero__media { display: none; }

.ws-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.ws-tag {
  font-size: 9px;
  font-weight: var(--weight-bold);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 6px 10px;
  border-radius: var(--radius-pill);
  border: 1.5px solid rgba(255, 255, 255, 0.7);
}
.ws-tag--solid {
  background: var(--kd-white);
  color: var(--kd-royal-blue);
  border-color: var(--kd-white);
}

.ws-byline { display: flex; align-items: center; gap: 12px; }
.ws-byline p { font-size: 12px; line-height: 1.45; }

/* The registration card. Same treatment as the waitlist page's form card:
   white, rounded, soft shadow. The date line and the notes sit inside it
   with the Flodesk form, which keeps its own styling. */
.ws-register {
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: var(--kd-white);
  color: var(--kd-navy);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  padding: 18px;
}
.ws-register__date {
  font-family: var(--font-display);
  font-size: 17px;
  line-height: 1.3;
}
.ws-register__note {
  font-size: 10px;
  line-height: 1.55;
  color: var(--text-muted);
}
.ws-register__note:empty { display: none; }
.ws-register__note a { color: var(--text-muted); text-decoration: underline; }
.ws-register__note a:hover { color: var(--kd-navy); }

/* Fallback shown by workshop.js only if the embed never renders. */
.ws-fallback {
  color: var(--kd-navy);
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-size: 14px;
  line-height: 1.55;
}

/* ---- Logo strip --------------------------------------------------------- */

.ws-logos { padding: 28px 20px; }
.ws-logos__grid { display: flex; flex-direction: column; gap: 22px; }
.ws-logos__group { display: flex; flex-direction: column; gap: 12px; }

.ws-rule {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 9px;
  font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-overline);
  text-transform: uppercase;
  color: var(--text-muted);
  white-space: nowrap;
}
.ws-rule::before,
.ws-rule::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--border-subtle);
}

.ws-logos__tiles { display: grid; gap: 8px; }
.ws-logos__tiles--4 { grid-template-columns: 1fr 1fr; }
.ws-logos__tiles--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.ws-logo {
  height: 64px;
  background: var(--kd-white);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
}
.ws-logo picture { display: flex; justify-content: center; max-width: 100%; }
.ws-logo img {
  width: auto;
  max-width: 100%;
  object-fit: contain;
  filter: grayscale(1);
  opacity: 0.75;
}
.ws-logo--h20 { height: 18px; }
.ws-logo--h24 { height: 22px; }
.ws-logo--h28 { height: 26px; }
.ws-logo--h34 { height: 32px; }
.ws-logo--h40 { height: 36px; }

/* ---- Story -------------------------------------------------------------- */

.ws-story { display: flex; flex-direction: column; gap: 14px; }
.ws-story h2 { font-size: 25px; line-height: 1.15; }
.ws-pull {
  padding-left: 14px;
  border-left: 3px solid var(--kd-royal-blue);
  font-family: var(--font-display);
  font-size: 18px !important;
  line-height: 1.35 !important;
}

/* ---- Outcomes ----------------------------------------------------------- */

.ws-outcomes { display: flex; flex-direction: column; gap: 18px; }
.ws-outcomes__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ws-outcomes__list li {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 10px;
  align-items: start;
  background: var(--kd-white);
  border-radius: var(--radius-md);
  padding: 14px;
  font-size: 14px;
  line-height: 1.5;
}
.ws-num {
  font-family: var(--font-display);
  font-size: 24px;
  line-height: 1;
  color: var(--kd-royal-blue);
}

/* ---- For you / not for you --------------------------------------------- */

.ws-fit { display: flex; flex-direction: column; gap: 26px; }
.ws-fit__col { display: flex; flex-direction: column; gap: 14px; }
.ws-fit__col--not {
  padding-top: 22px;
  border-top: 1px solid rgba(247, 246, 244, 0.18);
}
.ws-fit h2 { font-size: 24px; }
.ws-fit__col--not h2 { font-size: 22px; }
.ws-fit__list { display: flex; flex-direction: column; gap: 12px; }
.ws-fit__list li {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 8px;
  font-size: 15px;
  line-height: 1.5;
}
.ws-fit__mark { color: var(--kd-lavender); font-weight: var(--weight-bold); }
.ws-fit__list--not li { font-size: 14px; opacity: 0.85; }

/* ---- Belief / truth ----------------------------------------------------- */

.ws-belief { display: flex; flex-direction: column; gap: 14px; }
.ws-belief__cards { display: grid; gap: 14px; }
.ws-belief__card {
  border-radius: var(--radius-lg);
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ws-belief__card .ws-label { font-size: 9px; }
.ws-belief__card--belief { background: var(--kd-tan); }
.ws-belief__card--belief .ws-label { color: var(--kd-navy-700); }
.ws-belief__card--truth {
  background: var(--kd-royal-blue);
  color: var(--kd-white);
  box-shadow: var(--shadow-accent);
}
.ws-belief__text {
  font-family: var(--font-display);
  font-size: 19px;
  line-height: 1.3;
}
.ws-belief__close {
  margin-top: 6px;
  font-size: 15px;
  line-height: var(--leading-body);
}

/* ---- Testimonials ------------------------------------------------------- */

.ws-quotes { display: grid; gap: 14px; }
.ws-quote {
  margin: 0;
  background: var(--kd-white);
  border-radius: var(--radius-lg);
  padding: 22px 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  box-shadow: var(--shadow-sm);
}
.ws-quote__mark {
  font-family: var(--font-display);
  font-size: 46px;
  line-height: 0.6;
  color: var(--kd-lavender);
}
.ws-quote blockquote {
  margin: 0;
  font-family: var(--font-display);
  font-size: 16px;
  line-height: 1.45;
}
.ws-quote figcaption {
  margin-top: auto;
  font-size: 10px;
  font-weight: var(--weight-bold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kd-navy-700);
}

/* ---- Problem ------------------------------------------------------------ */

.ws-problem { display: block; }
.ws-problem__media { display: none; }

/* ---- Bonuses ------------------------------------------------------------ */

.ws-bonuses {
  background: var(--gradient-brand);
  color: var(--kd-white);
}
.ws-bonuses .ws-wrap { display: flex; flex-direction: column; gap: 16px; }
.ws-bonuses__grid { display: grid; gap: 10px; }
.ws-bonuses__grid li {
  background: rgba(255, 255, 255, 0.14);
  border-radius: var(--radius-md);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ws-bonuses__grid h3 {
  font-size: 18px;
  line-height: 1.25;
  color: var(--kd-white);
}
.ws-bonuses__grid p { font-size: 13px; line-height: 1.5; }

/* ---- Objections --------------------------------------------------------- */

.ws-objections { display: flex; flex-direction: column; gap: 18px; }
.ws-objection { display: flex; flex-direction: column; gap: 8px; }
.ws-objection + .ws-objection {
  padding-top: 18px;
  border-top: 1px solid var(--border-subtle);
}
.ws-objection h3 { font-size: 18px; line-height: 1.3; }
.ws-objection p { font-size: 14px; line-height: var(--leading-body); }

/* ---- About -------------------------------------------------------------- */

.ws-about {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.ws-about__blob { --blob-size: 170px; --blob-pos: center 18%; }
.ws-about__copy { gap: 18px; }
.ws-about h2 { font-size: 26px; text-align: center; }
.ws-about .ws-label { text-align: center; }
.ws-about__copy p:not(.ws-label) { font-size: 15px; }

/* ---- Imagine this ------------------------------------------------------- */

/* Mobile: plain navy band, as drawn. The photograph comes in from tablet. */
.ws-imagine {
  position: relative;
  background: var(--kd-navy);
  color: var(--kd-warm-gray);
  padding: 36px 22px;
}
.ws-imagine__media { display: none; }
.ws-imagine__copy {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.ws-imagine h2 {
  font-size: 25px;
  line-height: 1.2;
  color: var(--kd-warm-gray);
}
.ws-imagine p { font-size: 15px; line-height: var(--leading-body); }
.ws-imagine .ws-imagine__terms {
  margin-top: 6px;
  font-family: var(--font-display);
  font-size: 20px;
  line-height: 1.35;
  color: var(--kd-lavender);
}
.ws-imagine .ws-imagine__tagline {
  font-family: var(--font-display);
  font-size: 17px;
  line-height: 1.35;
}
.ws-imagine .ws-cta-row { margin-top: 8px; }

/* ---- FAQ + when --------------------------------------------------------- */

.ws-faq { display: flex; flex-direction: column; gap: 32px; }
.ws-faq__list { display: flex; flex-direction: column; gap: 16px; }
.ws-faq dl { margin: 0; display: flex; flex-direction: column; gap: 14px; }
.ws-faq dl > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border-subtle);
}
.ws-faq dl > div:last-child { border-bottom: 0; padding-bottom: 0; }
.ws-faq dt { font-size: 14px; font-weight: var(--weight-bold); }
.ws-faq dd { margin: 0; font-size: 14px; line-height: 1.55; }

/* On mobile the "when" card runs full bleed in chalked blue, as drawn. */
.ws-when {
  background: var(--kd-chalked-blue);
  margin: 0 -22px -32px;
  padding: 32px 22px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ws-when__date {
  font-family: var(--font-display);
  font-size: 20px;
  color: var(--accent-on-soft);
}
.ws-when__table {
  width: 100%;
  border-collapse: collapse;
  background: var(--kd-white);
  border-radius: var(--radius-md);
  overflow: hidden;
  font-size: 13px;
}
.ws-when__table th,
.ws-when__table td {
  padding: 10px 0;
  border-bottom: 1px solid var(--border-subtle);
  vertical-align: top;
}
.ws-when__table th {
  padding-left: 16px;
  text-align: left;
  font-weight: var(--weight-medium);
}
.ws-when__table td {
  padding-right: 16px;
  padding-left: 12px;
  text-align: right;
  font-weight: var(--weight-bold);
  white-space: nowrap;
}
.ws-when__table tr:first-child > * { padding-top: 16px; }
.ws-when__table tr:last-child > * { border-bottom: 0; padding-bottom: 16px; }

/* ---- Footer ------------------------------------------------------------- */

.ws-footer {
  border-top: var(--border-hairline) solid var(--border-subtle);
  background: var(--surface-page);
}
.ws-footer .value-strip {
  justify-content: center;
  padding: 24px 16px;
  font-size: 10px;
  letter-spacing: 0.14em;
  gap: 8px;
}
.ws-footer__legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 4px 22px 16px;
  font-size: 9px;
  font-weight: var(--weight-bold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  border-top: var(--border-hairline) solid var(--border-subtle);
}
.ws-footer__legal a {
  color: var(--text-muted);
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.ws-footer__legal a:hover { color: var(--kd-navy); }

/* ==========================================================================
   TABLET  768–1199
   ========================================================================== */
@media (min-width: 768px) {

  .ws-band { padding: 60px 36px; }
  .ws-band h2 { font-size: 30px; line-height: 1.14; }
  .ws-flow { gap: 18px; }
  .ws-flow p { font-size: 16px; }
  .ws-label, .ws-flow p.ws-label { font-size: 11px; }
  .ws-btn { width: auto; }
  .ws-btn--full { width: 100%; }

  /* Header: wordmark left, CTA pill right. */
  .ws-header { justify-content: space-between; height: 72px; padding-inline: 36px; }
  .ws-header .wordmark img { height: 24px; }
  .ws-header__cta { display: inline-flex; }

  .ws-strip { height: 38px; }
  .ws-strip__track { font-size: 12px; animation-duration: 36s; }

  /* Hero 60/40 */
  .ws-hero {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    min-height: 640px;
    background: none;
  }
  .ws-hero__copy {
    background: var(--gradient-brand);
    padding: 44px 32px;
    justify-content: center;
    gap: 16px;
  }
  .ws-hero h1 { font-size: 38px; line-height: 1.05; max-width: 640px; }
  .ws-hero__sub { font-size: 16px; line-height: 1.55; max-width: 600px; }
  .ws-tag { font-size: 10px; padding: 7px 12px; }
  .ws-byline p { font-size: 13px; }
  .ws-register { max-width: 600px; padding: 20px; gap: 14px; }
  .ws-register__note { font-size: 11px; }
  .ws-hero__media {
    display: block;
    position: relative;
    overflow: hidden;
    background: var(--kd-chalked-blue);
  }
  .ws-hero__media picture { position: absolute; inset: 0; }
  .ws-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 12%;
  }

  /* Logos: stacked groups, 4-up and 3-up */
  .ws-logos { padding: 40px 36px; }
  .ws-logos__grid { gap: 28px; }
  .ws-logos__group { gap: 16px; }
  .ws-rule { font-size: 10px; gap: 14px; }
  .ws-logos__tiles { gap: 10px; }
  .ws-logos__tiles--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ws-logo { height: 68px; padding: 0 16px; }
  .ws-logo--h20 { height: 20px; }
  .ws-logo--h24 { height: 24px; }
  .ws-logo--h28 { height: 28px; }
  .ws-logo--h34 { height: 34px; }
  .ws-logo--h40 { height: 40px; }

  /* Story: two columns */
  .ws-story {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
  }
  .ws-story h2 { font-size: 32px; line-height: 1.14; }
  .ws-pull { padding-left: 18px; font-size: 19px !important; margin-top: 6px; }

  /* Outcomes: 3 cards */
  .ws-outcomes { gap: 28px; }
  .ws-outcomes h2 { text-align: center; }
  .ws-outcomes__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
  }
  .ws-outcomes__list li {
    display: flex;
    flex-direction: column;
    gap: 14px;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    padding: 22px;
    font-size: 15px;
    line-height: 1.55;
  }
  .ws-num { font-size: 38px; }

  /* Fit: two columns with a rule */
  .ws-fit {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
  }
  .ws-fit__col { gap: 22px; }
  .ws-fit__col--not {
    padding-top: 0;
    border-top: 0;
    padding-left: 36px;
    border-left: 1px solid rgba(247, 246, 244, 0.18);
  }
  .ws-fit h2 { font-size: 28px; }
  .ws-fit__col--not h2 { font-size: 26px; }
  .ws-fit__list { gap: 16px; }
  .ws-fit__list li { grid-template-columns: 24px 1fr; gap: 10px; font-size: 15px; line-height: 1.55; }

  /* Belief / truth side by side */
  .ws-belief { gap: 28px; }
  .ws-belief__cards { grid-template-columns: 1fr 1fr; }
  .ws-belief__card { padding: 26px; gap: 12px; }
  .ws-belief__card .ws-label { font-size: 11px; }
  .ws-belief__text { font-size: 21px; }
  .ws-belief__close {
    margin: 0 auto;
    max-width: 720px;
    text-align: center;
    font-size: 16px;
  }

  /* Testimonials stacked on tablet */
  .ws-quote { padding: 26px; gap: 16px; }
  .ws-quote__mark { font-size: 56px; }
  .ws-quote blockquote { font-size: 17px; }
  .ws-quote figcaption { font-size: 11px; }

  /* Problem: image + copy */
  .ws-problem {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    gap: 36px;
    align-items: center;
  }
  .ws-problem__media {
    display: block;
    border-radius: var(--radius-lg);
    overflow: hidden;
    aspect-ratio: 4 / 5;
    background: var(--kd-chalked-blue);
  }
  .ws-problem__media picture,
  .ws-problem__media img {
    display: block;
    width: 100%;
    height: 100%;
  }
  .ws-problem__media img { object-fit: cover; object-position: 45% 20%; }
  .ws-serif-lead { font-size: 20px !important; }

  /* Bonuses 2-up */
  .ws-bonuses .ws-wrap { gap: 24px; }
  .ws-bonuses__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .ws-bonuses__grid li { padding: 20px; gap: 8px; }
  .ws-bonuses__grid h3 { font-size: 19px; }
  .ws-bonuses__grid p { font-size: 14px; line-height: 1.55; }

  /* Objections stacked with rules */
  .ws-objections { gap: 22px; }
  .ws-objection { gap: 10px; }
  .ws-objection + .ws-objection { padding-top: 22px; }
  .ws-objection h3 { font-size: 19px; }
  .ws-objection p { font-size: 15px; }

  /* About: portrait left */
  .ws-about {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 36px;
    align-items: center;
  }
  .ws-about__blob { --blob-size: 230px; }
  .ws-about__copy { gap: 16px; max-width: 640px; }
  .ws-about h2 { font-size: 30px; text-align: left; }
  .ws-about .ws-label { text-align: left; }
  .ws-about__copy p:not(.ws-label) { font-size: 16px; }

  /* Imagine: photo under a navy veil, centred */
  .ws-imagine {
    padding: 72px 36px;
    display: flex;
    justify-content: center;
    text-align: center;
    background: var(--kd-navy);
    overflow: hidden;
  }
  .ws-imagine__media { display: block; position: absolute; inset: 0; }
  .ws-imagine__media picture { position: absolute; inset: 0; }
  .ws-imagine__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 34%;
  }
  .ws-imagine__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(32, 56, 69, 0.55) 0%, rgba(32, 56, 69, 0.88) 100%);
  }
  .ws-imagine__copy { max-width: 760px; align-items: center; gap: 18px; }
  .ws-imagine h2 { font-size: 32px; line-height: 1.14; }
  .ws-imagine p { font-size: 16px; }
  .ws-imagine .ws-imagine__terms { margin-top: 8px; font-size: 22px; line-height: 1.3; }
  .ws-imagine .ws-imagine__tagline { font-size: 19px; }

  /* FAQ + when side by side */
  .ws-faq {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: start;
  }
  .ws-faq__list h2 { font-size: 28px; }
  .ws-faq dl { gap: 16px; }
  .ws-faq dl > div { gap: 6px; padding-bottom: 16px; }
  .ws-faq dt, .ws-faq dd { font-size: 15px; }
  .ws-when {
    margin: 0;
    padding: 24px;
    border-radius: var(--radius-lg);
  }
  .ws-when h2 { font-size: 24px; }
  .ws-when__date { font-size: 22px; }
  .ws-when__table { font-size: 14px; }
  .ws-when__table th, .ws-when__table td { padding-top: 12px; padding-bottom: 12px; }
  .ws-when__table th { padding-left: 18px; }
  .ws-when__table td { padding-right: 18px; }
  .ws-when__table tr:first-child > * { padding-top: 16px; }
  .ws-when__table tr:last-child > * { padding-bottom: 16px; }

  /* Footer: one row, values left, legal right */
  .ws-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    padding: 14px 36px;
  }
  .ws-footer .value-strip { padding: 0; justify-content: flex-start; font-size: 11px; }
  .ws-footer__legal { padding: 0; border-top: 0; font-size: 10px; gap: 12px; }
}

/* ==========================================================================
   DESKTOP  >= 1200
   ========================================================================== */
@media (min-width: 1200px) {

  .ws-band { padding: 88px 64px; }
  .ws-band h2 { font-size: 40px; }
  .ws-flow p { font-size: 17px; }

  .ws-header { height: 84px; padding-inline: 64px; }
  .ws-header .wordmark img { height: 28px; }

  /* Hero 56/44 */
  .ws-hero { grid-template-columns: 1.12fr 0.88fr; min-height: 780px; }
  .ws-hero__copy { padding: 64px; gap: 22px; }
  .ws-hero h1 { font-size: 56px; }
  .ws-hero__sub { font-size: 19px; }
  .ws-tags { gap: 8px; }
  .ws-register__date { font-size: 19px; }
  .ws-register { padding: 26px; }

  .ws-logos { padding: 48px 64px; }
  .ws-logos__grid {
    display: grid;
    grid-template-columns: 4fr 3fr;
    gap: 48px;
  }
  .ws-logo { height: 76px; }

  .ws-story { grid-template-columns: 0.9fr 1.1fr; gap: 80px; }
  .ws-story h2 { font-size: 46px; }
  .ws-pull { font-size: 23px !important; }

  .ws-outcomes { gap: 40px; }
  .ws-outcomes__list { gap: 24px; }
  .ws-outcomes__list li { padding: 30px; font-size: 17px; }
  .ws-num { font-size: 48px; }

  .ws-fit { gap: 80px; }
  .ws-fit__col--not { padding-left: 80px; }
  .ws-fit h2 { font-size: 36px; }
  .ws-fit__col--not h2 { font-size: 32px; }
  .ws-fit__list li { font-size: 17px; }
  .ws-fit__list--not li { font-size: 16px; }

  .ws-belief__cards { gap: 24px; }
  .ws-belief__card { padding: 40px; }
  .ws-belief__text { font-size: 28px; }
  .ws-belief__close { font-size: 17px; }

  .ws-quotes { grid-template-columns: 1.4fr 1fr; gap: 24px; }
  .ws-quote { padding: 36px; }
  .ws-quote blockquote { font-size: 20px; }

  .ws-problem { grid-template-columns: 0.85fr 1.15fr; gap: 72px; }
  .ws-serif-lead { font-size: 24px !important; }

  .ws-bonuses__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
  .ws-bonuses__grid li { padding: 24px; }
  .ws-bonuses__grid h3 { font-size: 21px; }

  .ws-objections {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 48px;
  }
  .ws-objection + .ws-objection { padding-top: 0; border-top: 0; }
  .ws-objection h3 { font-size: 21px; }

  .ws-about { gap: 72px; }
  .ws-about__blob { --blob-size: 340px; }
  .ws-about h2 { font-size: 40px; }
  .ws-about__copy p:not(.ws-label) { font-size: 17px; }

  .ws-imagine { padding: 110px 64px; }
  .ws-imagine h2 { font-size: 44px; }
  .ws-imagine p { font-size: 17px; }
  .ws-imagine .ws-imagine__terms { font-size: 28px; }
  .ws-imagine .ws-imagine__tagline { font-size: 21px; }

  .ws-faq { gap: 72px; }
  .ws-faq__list h2 { font-size: 36px; }
  .ws-when { padding: 36px; }
  .ws-when h2 { font-size: 30px; }
  .ws-when__date { font-size: 24px; }

  .ws-footer { padding: 14px 64px; }
}
