/*!
 * Tell Your Story Challenge — landing page styles
 * Namespace: tysc-   (every selector is scoped to .tysc-page so the WordPress theme is untouched)
 * Mobile first: base styles target 390px; min-width queries add 768 / 1024 / 1440.
 */

/* ============================================================
   1. TOKENS — brand colors, fonts, spacing
   Colors are the approved Strength On Stages / Story Selling palette
   (sampled from strengthonstages.com/story-selling).
   Fonts: brand fonts are Gotham (sans) and Vera (serif display).
   Load the licensed font files in /assets/fonts and keep these names.
   ============================================================ */
.tysc-page {
  --tysc-navy: #233C59;
  --tysc-ink: #323B55;
  --tysc-text: #333333;
  --tysc-royal: #5273CE;
  --tysc-periwinkle: #7A99DD;
  --tysc-sky-strong: #92B2EA;
  --tysc-sky-mid: #AECAFA;
  --tysc-sky: #C3D9FF;
  --tysc-gold: #FFEA76;
  --tysc-white: #FFFFFF;
  --tysc-mist: #F9F9F9;
  --tysc-mist-2: #F5F5F5;

  --tysc-font-display: "Vera Medium", "Vera", Georgia, "Times New Roman", serif;
  --tysc-font-display-light: "Vera Light", "Vera", Georgia, "Times New Roman", serif;
  --tysc-font-body: "Gotham", "Gotham SSm", "Helvetica Neue", Helvetica, Arial, sans-serif;

  --tysc-gutter: 20px;
  --tysc-max: 1200px;
  --tysc-radius: 14px;
  --tysc-section-y: 72px;
  --tysc-sticky-h: 76px;
  --tysc-focus: var(--tysc-navy);
}

/* ============================================================
   2. SCOPED RESET — neutralises theme typography/spacing
   ============================================================ */
.tysc-page, .tysc-page *, .tysc-page *::before, .tysc-page *::after { box-sizing: border-box; }
.tysc-page {
  margin: 0;
  background: var(--tysc-white);
  color: var(--tysc-text);
  font-family: var(--tysc-font-body);
  font-size: 17px;
  line-height: 1.6;
  font-weight: 400;
  letter-spacing: 0;
  text-align: left;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  overflow-x: clip;
}
.tysc-page :where(h1, h2, h3, h4, p, ul, ol, li, figure, blockquote, dl, dd, dt, summary, details) {
  margin: 0; padding: 0; font: inherit; color: inherit; letter-spacing: inherit; text-transform: none; border: 0; background: none;
}
.tysc-page :where(ul, ol) { list-style: none; }
.tysc-page :where(img) { display: block; max-width: 100%; height: auto; border: 0; }
.tysc-page :where(a) { color: inherit; }
.tysc-page :where(em) { font-style: italic; }
.tysc-page :where(strong) { font-weight: 700; }
.tysc-page :focus { outline: none; }
.tysc-page :focus-visible { outline: 3px solid var(--tysc-focus); outline-offset: 3px; border-radius: 4px; }

.tysc-sr-only {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.tysc-skip {
  position: absolute; left: 12px; top: -60px; z-index: 100;
  background: var(--tysc-gold); color: var(--tysc-navy); padding: 12px 18px; border-radius: 8px; font-weight: 700; text-decoration: none;
}
.tysc-skip:focus { top: 12px; }

/* ============================================================
   3. LAYOUT
   ============================================================ */
.tysc-wrap { width: 100%; max-width: var(--tysc-max); margin: 0 auto; padding-left: var(--tysc-gutter); padding-right: var(--tysc-gutter); }
.tysc-narrow { max-width: 760px; }
.tysc-section { padding: var(--tysc-section-y) 0; position: relative; }
.tysc-section--white { background: var(--tysc-white); color: var(--tysc-text); }
.tysc-section--mist  { background: var(--tysc-mist); color: var(--tysc-text); }
.tysc-section--white :is(.tysc-h2, .tysc-h3), .tysc-section--mist :is(.tysc-h2, .tysc-h3) { color: var(--tysc-navy); }
.tysc-section--sky   { background: var(--tysc-sky); color: var(--tysc-navy); }
.tysc-section--navy  { background: var(--tysc-navy); color: var(--tysc-white); --tysc-focus: var(--tysc-gold); }
.tysc-section--royal { background: var(--tysc-royal); color: var(--tysc-white); --tysc-focus: var(--tysc-gold); }

.tysc-split { display: grid; gap: 32px; }
.tysc-stack > * + * { margin-top: 18px; }
.tysc-stack-lg > * + * { margin-top: 28px; }

/* Editorial frame — thin rule with a label, used to open sections */
.tysc-rule { display: flex; align-items: center; gap: 14px; margin-bottom: 24px; }
.tysc-rule::after { content: ""; flex: 1 1 auto; height: 1px; background: currentColor; opacity: .35; }

/* ============================================================
   4. TYPOGRAPHY
   ============================================================ */
.tysc-eyebrow {
  font-family: var(--tysc-font-body); font-weight: 700; font-size: 13px; line-height: 1.4;
  letter-spacing: .14em; text-transform: uppercase;
}
.tysc-section--white .tysc-eyebrow, .tysc-section--mist .tysc-eyebrow { color: var(--tysc-navy); }
.tysc-section--navy .tysc-eyebrow { color: var(--tysc-gold); }

.tysc-h1 {
  font-family: var(--tysc-font-display); font-weight: 400;
  font-size: clamp(2.55rem, 8.4vw + .2rem, 5.6rem); line-height: 1.02; letter-spacing: -.015em;
}
.tysc-h2 {
  font-family: var(--tysc-font-display); font-weight: 400;
  font-size: clamp(2.05rem, 5.4vw + .6rem, 4.1rem); line-height: 1.06; letter-spacing: -.01em;
}
.tysc-h2__turn { display: block; font-style: italic; color: var(--tysc-royal); }
.tysc-section--navy .tysc-h2__turn, .tysc-section--royal .tysc-h2__turn { color: var(--tysc-gold); }
.tysc-section--sky .tysc-h2__turn { color: var(--tysc-navy); }
.tysc-h3 { font-family: var(--tysc-font-display); font-weight: 400; font-size: clamp(1.5rem, 2.2vw + .9rem, 2.1rem); line-height: 1.15; }
.tysc-lead { font-size: 19px; line-height: 1.55; }
.tysc-prose { max-width: 38rem; }
.tysc-prose > p + p { margin-top: 16px; }
.tysc-muted { color: var(--tysc-ink); }
.tysc-section--navy .tysc-muted { color: var(--tysc-sky); }

.tysc-em-gold { font-style: italic; color: var(--tysc-gold); }
.tysc-em-royal { font-style: italic; color: var(--tysc-royal); }

.tysc-pullquote {
  font-family: var(--tysc-font-display); font-size: clamp(1.6rem, 3vw + .8rem, 2.6rem); line-height: 1.2;
  border-left: 3px solid var(--tysc-gold); padding-left: 20px;
}
.tysc-section--white .tysc-pullquote, .tysc-section--mist .tysc-pullquote, .tysc-section--sky .tysc-pullquote { border-left-color: var(--tysc-royal); color: var(--tysc-navy); }

/* ============================================================
   5. CHECKLISTS
   ============================================================ */
.tysc-checklist { display: grid; gap: 12px; }
.tysc-checklist > li { position: relative; padding-left: 36px; line-height: 1.5; }
.tysc-checklist > li::before {
  content: ""; position: absolute; left: 0; top: 1px; width: 24px; height: 24px; border-radius: 50%;
  background: var(--tysc-navy);
}
.tysc-checklist > li::after {
  content: ""; position: absolute; left: 8px; top: 6px; width: 7px; height: 12px;
  border: solid var(--tysc-gold); border-width: 0 2.5px 2.5px 0; transform: rotate(45deg);
}
.tysc-section--navy .tysc-checklist > li::before, .tysc-section--royal .tysc-checklist > li::before { background: var(--tysc-gold); }
.tysc-section--navy .tysc-checklist > li::after, .tysc-section--royal .tysc-checklist > li::after { border-color: var(--tysc-navy); }

/* Card-style checklist (pain points, decisions) */
.tysc-checklist--cards { gap: 10px; }
.tysc-checklist--cards > li {
  background: var(--tysc-white); border: 1px solid var(--tysc-sky-mid); border-radius: 12px;
  padding: 16px 16px 16px 52px;
}
.tysc-checklist--cards > li::before { left: 16px; top: 17px; }
.tysc-checklist--cards > li::after { left: 24px; top: 22px; }

/* Neutral marker list (used where a check would read as "yes, you need this") */
.tysc-markerlist { display: grid; gap: 10px; }
.tysc-markerlist > li { position: relative; padding: 14px 16px 14px 46px; border-radius: 12px; background: var(--tysc-white); border: 1px solid var(--tysc-sky-mid); }
.tysc-markerlist > li::before {
  content: ""; position: absolute; left: 16px; top: 50%; width: 18px; height: 2px; background: var(--tysc-royal); transform: translateY(-50%);
}

/* ============================================================
   6. CTA SYSTEM
   ============================================================ */
.tysc-cta {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  width: 100%; min-height: 54px; padding: 14px 26px; border-radius: 999px; border: 2px solid transparent;
  font-family: var(--tysc-font-body); font-weight: 700; font-size: 15px; line-height: 1.2; letter-spacing: .1em; text-transform: uppercase; text-align: center;
  text-decoration: none; cursor: pointer;
  background: var(--tysc-navy); color: var(--tysc-white);
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.tysc-cta:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(35, 60, 89, .22); color: var(--tysc-white); }
.tysc-cta--gold { background: var(--tysc-gold); color: var(--tysc-navy); }
.tysc-cta--gold:hover { color: var(--tysc-navy); box-shadow: 0 10px 24px rgba(0, 0, 0, .25); }
.tysc-cta--ghost { background: transparent; color: var(--tysc-navy); border-color: var(--tysc-navy); }
.tysc-cta--ghost:hover { color: var(--tysc-navy); }
.tysc-cta__arrow { width: 18px; height: 18px; flex: 0 0 auto; transition: transform .2s ease; }
.tysc-cta:hover .tysc-cta__arrow { transform: translateX(3px); }
.tysc-cta-block { margin-top: 32px; display: grid; gap: 12px; justify-items: stretch; }
.tysc-cta-note { font-size: 16px; text-align: center; }
.tysc-section--navy .tysc-cta-note { color: var(--tysc-sky); }

/* ============================================================
   7. MEDIA + PLACEHOLDERS
   ============================================================ */
.tysc-media {
  position: relative; overflow: hidden; border-radius: var(--tysc-radius);
  background: var(--tysc-sky);
}
.tysc-media::after {
  content: attr(data-placeholder); position: absolute; left: 12px; bottom: 12px; right: 12px;
  font: 700 12px/1.4 var(--tysc-font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--tysc-navy);
  background: var(--tysc-white); padding: 8px 12px; border-radius: 8px; width: fit-content; max-width: calc(100% - 24px);
}
.tysc-media > img, .tysc-media > picture, .tysc-media > picture > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
.tysc-media--portrait { aspect-ratio: 4 / 5; }
.tysc-media--square { aspect-ratio: 1 / 1; }
.tysc-media--wide { aspect-ratio: 16 / 9; }

.tysc-ph {
  display: inline; background: rgba(255, 234, 118, .55); color: var(--tysc-navy);
  padding: 0 4px; border-radius: 4px; font-weight: 700;
}
.tysc-section--navy .tysc-ph { background: var(--tysc-gold); }

/* ============================================================
   8. ANNOUNCEMENT BAR + NAV
   ============================================================ */
.tysc-announce {
  background: var(--tysc-navy); color: var(--tysc-white); --tysc-focus: var(--tysc-gold);
  font-weight: 700; font-size: 12px; line-height: 1.4; letter-spacing: .12em; text-transform: uppercase; text-align: center;
  padding: 10px var(--tysc-gutter);
}
.tysc-announce__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 14px; }


.tysc-nav { background: var(--tysc-white); border-bottom: 1px solid var(--tysc-mist-2); }
.tysc-nav__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; }
.tysc-nav__logo { display: inline-flex; align-items: center; min-height: 48px; text-decoration: none; color: var(--tysc-navy); }
.tysc-nav__logo img { height: 34px; width: auto; }
.tysc-nav__logo-text { font: 700 13px/1.2 var(--tysc-font-body); letter-spacing: .16em; text-transform: uppercase; }
.tysc-nav__links { display: none; }
.tysc-nav__join { width: auto; min-height: 48px; padding: 10px 18px; font-size: 13px; }

/* ============================================================
   9. HERO
   ============================================================ */
.tysc-hero { background: var(--tysc-white); padding: 32px 0 56px; }
.tysc-hero__grid { display: grid; gap: 28px; }
.tysc-hero__eyebrow { color: var(--tysc-navy); }
.tysc-hero__name { display: inline-block; margin-bottom: 14px; padding: 6px 12px; border-radius: 999px; background: var(--tysc-sky); color: var(--tysc-navy); font: 700 12px/1.3 var(--tysc-font-body); letter-spacing: .14em; text-transform: uppercase; }
.tysc-hero .tysc-h1 { color: var(--tysc-navy); margin-top: 14px; }
.tysc-hero .tysc-h1 em { color: var(--tysc-royal); }
.tysc-hero__intro { margin-top: 18px; font-size: 18px; color: var(--tysc-ink); }
.tysc-hero__promise { margin-top: 16px; font-family: var(--tysc-font-display); font-size: 21px; line-height: 1.35; color: var(--tysc-navy); }
.tysc-hero__facts { margin-top: 22px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.tysc-hero__fact { background: var(--tysc-mist); border: 1px solid var(--tysc-mist-2); border-radius: 12px; padding: 10px 12px; }
.tysc-hero__fact dt { font: 700 11px/1.3 var(--tysc-font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--tysc-ink); }
.tysc-hero__fact dd { font-size: 16px; font-weight: 700; color: var(--tysc-navy); line-height: 1.35; margin-top: 2px; }
.tysc-hero__identity { margin-top: 18px; font-size: 16px; color: var(--tysc-ink); border-top: 1px solid var(--tysc-sky-mid); padding-top: 14px; }
.tysc-hero__detail { margin-top: 28px; }
.tysc-hero__media { border-radius: 18px; }
.tysc-hero .tysc-cta-block { margin-top: 22px; }

/* ============================================================
   10. FRAMEWORK (Every story needs a job)
   ============================================================ */
.tysc-pillars { display: grid; gap: 14px; margin-top: 36px; counter-reset: tysc-pillar; }
.tysc-pillar {
  position: relative; background: var(--tysc-white); color: var(--tysc-navy); border-radius: var(--tysc-radius);
  padding: 26px 22px 24px; border-top: 6px solid var(--tysc-royal);
}
.tysc-pillar:nth-child(2) { border-top-color: var(--tysc-sky-strong); }
.tysc-pillar:nth-child(3) { border-top-color: var(--tysc-gold); }
.tysc-pillar__num { font-family: var(--tysc-font-display); font-size: 44px; line-height: 1; color: var(--tysc-royal); }
.tysc-pillar__title { margin-top: 12px; font: 700 15px/1.3 var(--tysc-font-body); letter-spacing: .12em; text-transform: uppercase; }
.tysc-pillar__body { margin-top: 10px; color: var(--tysc-ink); }
.tysc-journey { margin-top: 32px; display: grid; gap: 8px; }
.tysc-journey__steps { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.tysc-journey__step { padding: 8px 14px; border-radius: 999px; border: 1px solid var(--tysc-sky); font-weight: 700; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; }
.tysc-journey__step--end { background: var(--tysc-gold); color: var(--tysc-navy); border-color: var(--tysc-gold); }
.tysc-journey__arrow { width: 20px; height: 20px; color: var(--tysc-gold); }

/* ============================================================
   11. CURRICULUM
   ============================================================ */
.tysc-progress { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; margin-top: 28px; }
.tysc-progress > li { text-align: center; padding-top: 12px; border-top: 4px solid var(--tysc-sky-mid); font: 700 10px/1.3 var(--tysc-font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--tysc-navy); }
.tysc-progress > li:nth-child(1) { border-top-color: var(--tysc-sky-mid); }
.tysc-progress > li:nth-child(2) { border-top-color: var(--tysc-sky-strong); }
.tysc-progress > li:nth-child(3) { border-top-color: var(--tysc-royal); }
.tysc-progress > li:nth-child(4) { border-top-color: var(--tysc-navy); }
.tysc-progress > li:nth-child(5) { border-top-color: var(--tysc-gold); }

.tysc-days { display: grid; gap: 14px; margin-top: 28px; }
.tysc-day { background: var(--tysc-white); border: 1px solid var(--tysc-sky-mid); border-radius: var(--tysc-radius); padding: 24px 20px; }
.tysc-day__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.tysc-day__num { font-family: var(--tysc-font-display); font-size: 20px; color: var(--tysc-navy); }
.tysc-day__stage { font: 700 11px/1.3 var(--tysc-font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--tysc-navy); background: var(--tysc-sky); padding: 6px 10px; border-radius: 999px; }
.tysc-day__title { margin-top: 12px; color: var(--tysc-navy); }
.tysc-day__body { margin-top: 12px; color: var(--tysc-ink); }
.tysc-day__body p + p { margin-top: 12px; }
.tysc-day__leave { margin-top: 18px; background: var(--tysc-mist); border-radius: 10px; padding: 14px 16px; }
.tysc-day__leave-label { font: 700 12px/1.3 var(--tysc-font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--tysc-navy); }
.tysc-day__leave p { margin-top: 6px; color: var(--tysc-navy); }
.tysc-day--featured { border: 2px solid var(--tysc-navy); box-shadow: 0 18px 40px rgba(35, 60, 89, .14); }
.tysc-day--featured .tysc-day__stage { background: var(--tysc-navy); color: var(--tysc-gold); }
.tysc-fireside { margin-top: 18px; background: var(--tysc-navy); color: var(--tysc-white); border-radius: 12px; padding: 18px; --tysc-focus: var(--tysc-gold); }
.tysc-fireside__label { font: 700 12px/1.3 var(--tysc-font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--tysc-gold); }
.tysc-fireside__time { margin-top: 6px; font-family: var(--tysc-font-display); font-size: 22px; line-height: 1.25; }
.tysc-fireside p:last-child { margin-top: 8px; color: var(--tysc-sky); }

/* ============================================================
   12. YAP + STATEMENT
   ============================================================ */
.tysc-versus { display: grid; gap: 12px; margin-top: 28px; }
.tysc-versus__card { border-radius: var(--tysc-radius); padding: 24px 20px; }
.tysc-versus__card--yap { background: var(--tysc-mist-2); color: var(--tysc-ink); border: 1px solid #DDDDDD; }
.tysc-versus__card--ss { background: var(--tysc-navy); color: var(--tysc-white); }
.tysc-versus__label { font: 700 13px/1.3 var(--tysc-font-body); letter-spacing: .14em; text-transform: uppercase; }
.tysc-versus__card--ss .tysc-versus__label { color: var(--tysc-gold); }
.tysc-versus__line { margin-top: 12px; font-family: var(--tysc-font-display); font-size: 22px; line-height: 1.3; }
.tysc-versus__dest { margin-top: 12px; font-size: 16px; }
.tysc-versus__card--ss .tysc-versus__dest { color: var(--tysc-sky); }
.tysc-pair { display: grid; gap: 4px; font-family: var(--tysc-font-display); font-size: 24px; line-height: 1.3; color: var(--tysc-navy); }
.tysc-pair__strong { font-style: italic; color: var(--tysc-royal); }

.tysc-statement { text-align: left; }
.tysc-statement__big {
  font-family: var(--tysc-font-display); font-size: clamp(2.2rem, 6vw + .5rem, 4.6rem); line-height: 1.04; letter-spacing: -.01em;
}
.tysc-statement__big em { display: block; color: var(--tysc-gold); }

/* ============================================================
   13. ROBERT
   ============================================================ */
.tysc-robert__grid { display: grid; gap: 32px; }
.tysc-robert__quote { font-family: var(--tysc-font-display); font-size: clamp(1.55rem, 2.6vw + .9rem, 2.4rem); line-height: 1.2; color: var(--tysc-navy); }
.tysc-markers { display: grid; gap: 10px; margin-top: 28px; }
.tysc-marker { display: flex; gap: 14px; align-items: flex-start; padding: 14px 16px; border-radius: 12px; background: var(--tysc-mist); border: 1px solid var(--tysc-mist-2); color: var(--tysc-navy); font-weight: 700; font-size: 16px; line-height: 1.4; }
.tysc-marker__icon { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 50%; background: var(--tysc-navy); color: var(--tysc-gold); display: inline-flex; align-items: center; justify-content: center; }
.tysc-marker__icon svg { width: 18px; height: 18px; }

/* ============================================================
   14. CLIENT PROOF
   ============================================================ */
.tysc-proof { display: grid; gap: 14px; margin-top: 28px; }
.tysc-proof__card { background: var(--tysc-white); border-radius: var(--tysc-radius); border: 1px solid var(--tysc-sky-mid); padding: 22px 20px; display: grid; gap: 16px; align-content: start; }
.tysc-proof__cat { justify-self: start; font: 700 11px/1.3 var(--tysc-font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--tysc-navy); background: var(--tysc-gold); padding: 6px 10px; border-radius: 999px; }
.tysc-proof__person { display: flex; align-items: center; gap: 14px; }
.tysc-proof__photo { width: 64px; height: 64px; flex: 0 0 auto; border-radius: 50%; }
.tysc-proof__photo::after { content: none; }
.tysc-proof__name { font-weight: 700; color: var(--tysc-navy); }
.tysc-proof__title { font-size: 16px; color: var(--tysc-ink); }
.tysc-proof__quote { font-family: var(--tysc-font-display); font-size: 21px; line-height: 1.35; color: var(--tysc-navy); }
.tysc-proof__result { border-top: 1px solid var(--tysc-sky-mid); padding-top: 14px; }
.tysc-proof__result-label { font: 700 11px/1.3 var(--tysc-font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--tysc-ink); }
.tysc-proof__result-value { margin-top: 4px; font-family: var(--tysc-font-display); font-size: 26px; color: var(--tysc-navy); line-height: 1.2; }
.tysc-proof__guide { font-size: 16px; color: var(--tysc-ink); }

/* ============================================================
   15. SCHEDULE
   ============================================================ */
.tysc-schedule { margin-top: 28px; display: grid; gap: 10px; }
.tysc-slot { display: grid; gap: 4px; background: var(--tysc-white); border-radius: 12px; padding: 18px 18px; border-left: 5px solid var(--tysc-sky-strong); color: var(--tysc-navy); }
.tysc-slot__when { font: 700 12px/1.3 var(--tysc-font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--tysc-ink); }
.tysc-slot__what { font-family: var(--tysc-font-display); font-size: 22px; line-height: 1.25; }
.tysc-slot__time { font-weight: 700; }
.tysc-slot--main { border-left-color: var(--tysc-navy); }
.tysc-slot--fireside { border-left-color: var(--tysc-royal); }
.tysc-slot--vip { border-left-color: var(--tysc-gold); background: var(--tysc-navy); color: var(--tysc-white); }
.tysc-slot--vip .tysc-slot__when { color: var(--tysc-gold); }

/* ============================================================
   16. PASSES + DEADLINE + CHECKOUT
   ============================================================ */
.tysc-passes { display: grid; gap: 18px; margin-top: 32px; align-items: start; }
.tysc-pass { position: relative; border-radius: 18px; padding: 28px 22px 24px; background: var(--tysc-white); color: var(--tysc-navy); border: 2px solid var(--tysc-sky-mid); }
.tysc-pass--vip { background: var(--tysc-navy); color: var(--tysc-white); border-color: var(--tysc-navy); box-shadow: 0 24px 50px rgba(35, 60, 89, .28); --tysc-focus: var(--tysc-gold); }
.tysc-pass__badge { position: absolute; top: -14px; left: 22px; background: var(--tysc-gold); color: var(--tysc-navy); font: 700 12px/1 var(--tysc-font-body); letter-spacing: .14em; text-transform: uppercase; padding: 9px 14px; border-radius: 999px; }
.tysc-pass__name { font: 700 14px/1.3 var(--tysc-font-body); letter-spacing: .14em; text-transform: uppercase; }
.tysc-pass--vip .tysc-pass__name { color: var(--tysc-gold); }
.tysc-pass__summary { margin-top: 10px; font-size: 16px; font-weight: 700; }
.tysc-pass--vip .tysc-pass__summary { color: var(--tysc-sky); }
.tysc-pass__prices { margin-top: 18px; display: flex; flex-direction: column; gap: 8px; }
.tysc-pass__price { font-family: var(--tysc-font-display); font-size: 56px; line-height: 1; }
.tysc-pass__price-label { display: block; font: 700 12px/1.3 var(--tysc-font-body); letter-spacing: .12em; text-transform: uppercase; margin-bottom: 6px; }
.tysc-pass__regular { font-size: 16px; }
.tysc-pass--vip .tysc-pass__regular { color: var(--tysc-sky); }
.tysc-pass__includes { margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(195, 217, 255, .45); }
.tysc-pass:not(.tysc-pass--vip) .tysc-pass__includes { border-top-color: var(--tysc-sky-mid); }
.tysc-pass__includes-lead { font-weight: 700; margin-bottom: 12px; }
.tysc-pass__best { margin-top: 18px; font-size: 16px; font-style: italic; }
.tysc-pass--vip .tysc-pass__best { color: var(--tysc-sky); }
.tysc-pass .tysc-cta { margin-top: 22px; }

.tysc-page [data-tysc-phase-show="regular"] { display: none; }
.tysc-page.tysc-phase-regular [data-tysc-phase-show="early"] { display: none; }
.tysc-page.tysc-phase-regular [data-tysc-phase-show="regular"] { display: revert; }

.tysc-deadline { margin-top: 24px; border-radius: 16px; background: var(--tysc-gold); color: var(--tysc-navy); padding: 22px 20px; text-align: center; }
.tysc-deadline[hidden] { display: none !important; }
.tysc-deadline__label { font: 700 13px/1.3 var(--tysc-font-body); letter-spacing: .12em; text-transform: uppercase; }
.tysc-deadline__embed { margin: 14px auto; min-height: 64px; display: flex; align-items: center; justify-content: center; }
.tysc-deadline__note { font-size: 16px; }

.tysc-checkout-panel { margin-top: 24px; background: var(--tysc-white); color: var(--tysc-text); border-radius: 18px; border: 2px solid var(--tysc-navy); padding: 22px 18px; }
.tysc-checkout-panel[hidden] { display: none !important; }
.tysc-checkout-panel__title { font: 700 13px/1.3 var(--tysc-font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--tysc-navy); margin-bottom: 14px; }
/* Light-touch harmonisation for embedded Ontraport forms — layout and typography only, never functionality */
.tysc-checkout-panel .moonray-form, .tysc-checkout-panel form { font-family: var(--tysc-font-body); max-width: 100%; }
.tysc-checkout-panel input[type="text"], .tysc-checkout-panel input[type="email"], .tysc-checkout-panel input[type="tel"] { min-height: 48px; font-size: 16px; border-radius: 10px; }

.tysc-config-warning { margin-top: 10px; font-size: 16px; background: var(--tysc-gold); color: var(--tysc-navy); padding: 10px 12px; border-radius: 8px; font-weight: 700; }
.tysc-config-warning[hidden] { display: none; }

/* ============================================================
   17. SSA FUTURE PACE
   ============================================================ */
.tysc-ssa__card { margin-top: 32px; border: 1px solid rgba(195, 217, 255, .45); border-radius: 18px; padding: 28px 22px; }
.tysc-ssa__name { font: 700 13px/1.3 var(--tysc-font-body); letter-spacing: .16em; text-transform: uppercase; color: var(--tysc-gold); }
.tysc-ssa__promise { margin-top: 12px; font-family: var(--tysc-font-display); font-size: clamp(1.8rem, 3vw + 1rem, 2.8rem); line-height: 1.1; }
.tysc-ssa__promise em { color: var(--tysc-gold); }

/* ============================================================
   18. FAQ
   ============================================================ */
.tysc-faq { margin-top: 28px; border-top: 1px solid var(--tysc-sky-mid); }
.tysc-faq__item { border-bottom: 1px solid var(--tysc-sky-mid); }
.tysc-faq__q {
  list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  min-height: 56px; padding: 18px 0; font-family: var(--tysc-font-display); font-size: 20px; line-height: 1.3; color: var(--tysc-navy);
}
.tysc-faq__q::-webkit-details-marker { display: none; }
.tysc-faq__icon { flex: 0 0 auto; width: 32px; height: 32px; border-radius: 50%; background: var(--tysc-sky); position: relative; }
.tysc-faq__icon::before, .tysc-faq__icon::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; background: var(--tysc-navy); transform: translate(-50%, -50%); transition: transform .2s ease; }
.tysc-faq__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.tysc-faq__item[open] .tysc-faq__icon::after { transform: translate(-50%, -50%) rotate(0deg); }
.tysc-faq__a { padding: 0 0 22px; color: var(--tysc-ink); max-width: 40rem; }
.tysc-faq__a p + p { margin-top: 10px; }

/* ============================================================
   19. FINAL CLOSE + FOOTER
   ============================================================ */
.tysc-final { text-align: left; }
.tysc-final__line { margin-top: 28px; font-family: var(--tysc-font-display); font-size: clamp(2.1rem, 6vw + .4rem, 4.4rem); line-height: 1.05; }
.tysc-final__line em { color: var(--tysc-gold); }
.tysc-final__closing { margin-top: 20px; font-size: 16px; color: var(--tysc-sky); }
.tysc-footer { background: var(--tysc-navy); color: var(--tysc-sky); border-top: 1px solid rgba(195, 217, 255, .25); padding: 24px 0 28px; font-size: 14px; --tysc-focus: var(--tysc-gold); }
.tysc-footer__inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; }
.tysc-footer a { color: var(--tysc-sky); }

/* ============================================================
   20. STICKY MOBILE CTA
   ============================================================ */
.tysc-sticky {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
  background: var(--tysc-white); border-top: 1px solid var(--tysc-sky-mid); box-shadow: 0 -10px 30px rgba(35, 60, 89, .14);
  padding: 10px var(--tysc-gutter) calc(10px + env(safe-area-inset-bottom));
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  transform: translateY(110%); transition: transform .3s ease; visibility: hidden;
}
.tysc-sticky.tysc-is-shown { transform: translateY(0); visibility: visible; }
.tysc-sticky__info { line-height: 1.25; }
.tysc-sticky__event { font: 700 11px/1.3 var(--tysc-font-body); letter-spacing: .1em; text-transform: uppercase; color: var(--tysc-ink); }
.tysc-sticky__price { font-weight: 700; color: var(--tysc-navy); font-size: 16px; }
.tysc-sticky .tysc-cta { width: auto; min-height: 50px; padding: 10px 18px; font-size: 13px; flex: 0 0 auto; }
/* Reserve space so the sticky bar never covers the end of the page */
.tysc-page.tysc-has-sticky { padding-bottom: var(--tysc-sticky-h); }

/* ============================================================
   21. MOTION — subtle, opt-in, respects reduced motion
   ============================================================ */
@media (prefers-reduced-motion: no-preference) {
  .tysc-js .tysc-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1); }
  .tysc-js .tysc-reveal.tysc-in { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .tysc-page *, .tysc-page *::before, .tysc-page *::after { transition: none !important; animation: none !important; }
}

/* ============================================================
   22. BREAKPOINTS
   ============================================================ */
@media (min-width: 768px) {
  .tysc-page { --tysc-gutter: 40px; --tysc-section-y: 96px; font-size: 18px; }
  .tysc-cta { width: auto; justify-self: start; padding: 16px 34px; }
  .tysc-cta-block { justify-items: start; }
  .tysc-cta-note { text-align: left; }
  .tysc-hero__facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .tysc-versus { grid-template-columns: 1fr 1fr; }
  .tysc-proof { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tysc-markers { grid-template-columns: 1fr 1fr; }
  .tysc-marker:last-child { grid-column: 1 / -1; }
  .tysc-announce__list > li + li::before { content: "·"; margin-right: 14px; color: var(--tysc-gold); }
  .tysc-schedule { grid-template-columns: 1fr 1fr; }
  .tysc-checklist--2col { grid-template-columns: 1fr 1fr; }
  .tysc-progress > li { font-size: 12px; }
  .tysc-day { padding: 30px 30px; }
  .tysc-final { text-align: left; }
}
@media (min-width: 1024px) {
  .tysc-page { --tysc-section-y: 120px; }
  .tysc-nav__links { display: flex; align-items: center; gap: 28px; font-weight: 700; font-size: 14px; letter-spacing: .06em; }
  .tysc-nav__links a { text-decoration: none; color: var(--tysc-navy); min-height: 44px; display: inline-flex; align-items: center; }
  .tysc-nav__links a:hover { text-decoration: underline; text-underline-offset: 6px; }
  .tysc-hero { padding: 56px 0 96px; }
  .tysc-hero__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; align-items: center; }
  .tysc-hero__text { grid-column: 1; grid-row: 1; }
  .tysc-hero__media { grid-column: 2; grid-row: 1 / span 2; align-self: start; }
  .tysc-hero__detail { grid-column: 1; grid-row: 2; margin-top: 0; }
  .tysc-split { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; }
  .tysc-split--even { grid-template-columns: 1fr 1fr; }
  .tysc-robert__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 72px; align-items: start; }
  .tysc-robert__media { position: sticky; top: 24px; }
  .tysc-passes { grid-template-columns: 1fr 1fr; gap: 24px; }
  .tysc-pillars { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tysc-days { grid-template-columns: 1fr 1fr; }
  .tysc-day--featured { grid-column: 1 / -1; }
  .tysc-sticky { display: none; }
  .tysc-page.tysc-has-sticky { padding-bottom: 0; }
}
@media (min-width: 1440px) {
  .tysc-page { --tysc-max: 1280px; }
}


/* ==========================================================================
   Early action bar (Deadline Funnel) + checkout pop-up
   Editorial "gift" finish: navy ombré, ivory paper, gold-foil hairlines.
   Foil = layered linear gradients of --tysc-gold with warmer/deeper golds.
   Grain = inline SVG feTurbulence (no external assets).
   ========================================================================== */
.tysc-page {
  --tysc-urgency-h: 0px;
  --tysc-ivory: #FBF7EE;
  --tysc-deep: #16283F;
  --tysc-indigo: #2D4A85;
  --tysc-royal-ink: #3F5FB8;
  /* metallic foil — decorative surfaces (borders, rules, seals) */
  --tysc-foil: linear-gradient(115deg, #9A7428 0%, #D8B24C 16%, #FFEA76 30%, #FFF7CF 40%, #F1CF5E 52%, #A9822E 68%, #E9C863 84%, #FFF0A6 100%);
  /* foil for buttons / badges carrying navy text (all stops >= 6:1 vs navy) */
  --tysc-foil-soft: linear-gradient(115deg, #EDCD63 0%, #FFEA76 26%, #FFF7D2 44%, #F6D86E 62%, #FFE98A 82%, #F0D06A 100%);
  /* foil for text on navy (all stops >= 6:1 vs navy) */
  --tysc-foil-text: linear-gradient(100deg, #EECF6C 0%, #FFEA76 26%, #FFF8D6 44%, #F4D46E 60%, #EACB66 78%, #FFEB8C 100%);
  --tysc-foil-line: linear-gradient(90deg, rgba(216, 178, 76, 0) 0%, #C99F3F 16%, #FFE98A 38%, #FFF7CF 50%, #FFE98A 62%, #C99F3F 84%, rgba(216, 178, 76, 0) 100%);
  --tysc-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
  --tysc-grain-soft: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .4 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
  --tysc-ease-lux: cubic-bezier(.16, 1, .3, 1);
}
.tysc-page.tysc-has-urgency { --tysc-urgency-h: 56px; }

/* ---------- early action bar ---------- */
.tysc-urgency {
  position: sticky; top: 0; z-index: 60; color: var(--tysc-white); --tysc-focus: var(--tysc-gold);
  background:
    var(--tysc-grain-soft) 0 0 / 180px 180px,
    radial-gradient(45% 260% at 100% 50%, rgba(122, 153, 221, .28) 0%, rgba(122, 153, 221, 0) 70%),
    radial-gradient(40% 240% at 0% 50%, rgba(10, 20, 34, .55) 0%, rgba(10, 20, 34, 0) 70%),
    linear-gradient(90deg, #16283F 0%, #233C59 42%, #2A4579 100%);
  background-blend-mode: soft-light, normal, normal, normal;
  box-shadow: 0 8px 24px -14px rgba(10, 20, 34, .6);
}
.tysc-urgency::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--tysc-foil-line); pointer-events: none; }
.tysc-urgency__inner { max-width: var(--tysc-max); margin: 0 auto; padding: 0 var(--tysc-gutter); min-height: 56px; display: flex; align-items: center; justify-content: center; gap: 14px; }
.tysc-urgency__label { margin: 0; display: inline-flex; align-items: center; gap: 12px; font: 600 11.5px/1.2 var(--tysc-font-body); letter-spacing: .2em; text-transform: uppercase; color: rgba(255, 255, 255, .92); white-space: nowrap; }
.tysc-urgency__timer { position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: 80px; padding-left: 14px; }
.tysc-urgency__timer::before { content: ""; position: absolute; left: 0; top: 50%; width: 1px; height: 26px; transform: translateY(-50%); background: linear-gradient(180deg, rgba(255, 234, 118, 0), #F1CF5E 30%, #FFF7CF 50%, #F1CF5E 70%, rgba(255, 234, 118, 0)); }
.tysc-urgency__fallback {
  font: 400 28px/1 var(--tysc-font-display); letter-spacing: .04em; font-variant-numeric: lining-nums tabular-nums;
  color: #F6DC7A; background: var(--tysc-foil-text); background-size: 220% 100%; background-position: 30% 0;
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 1px 0 rgba(10, 20, 34, .45));
}
.tysc-urgency .ddio_countdown_wrap { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.tysc-urgency__cta { display: none; }
@media (min-width: 768px) {
  .tysc-urgency__inner { gap: 20px; }
  .tysc-urgency__label { font-size: 12.5px; letter-spacing: .24em; }
  .tysc-urgency__label::before { content: ""; width: 6px; height: 6px; transform: rotate(45deg); background: var(--tysc-foil-soft); box-shadow: 0 0 10px rgba(255, 234, 118, .45); }
  .tysc-urgency__timer { padding-left: 20px; }
  .tysc-urgency__fallback { font-size: 30px; }
  .tysc-urgency__cta {
    display: inline-flex; align-items: center; min-height: 44px; padding: 0 22px; margin-left: 6px; border-radius: 999px;
    background: var(--tysc-foil-soft); background-size: 200% 100%; color: var(--tysc-navy);
    font: 700 12px/1 var(--tysc-font-body); letter-spacing: .18em; text-transform: uppercase; text-decoration: none;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75), inset 0 -1px 0 rgba(154, 116, 40, .35), 0 6px 18px -6px rgba(0, 0, 0, .5);
    transition: background-position .6s var(--tysc-ease-lux), transform .3s var(--tysc-ease-lux);
  }
  .tysc-urgency__cta:hover { background-position: 100% 0; transform: translateY(-1px); }
}
@media (max-width: 389px) {
  .tysc-urgency__inner { gap: 10px; padding: 0 12px; }
  .tysc-urgency__label { font-size: 10.5px; letter-spacing: .14em; }
  .tysc-urgency__timer { min-width: 70px; padding-left: 10px; }
  .tysc-urgency__fallback { font-size: 24px; }
}

/* ---------- checkout pop-up: shell ---------- */
/* lock scroll on the root only: hiding body overflow too would make <body> the scroll container and un-stick the bar */
html.tysc-co-open { overflow: hidden; }
.tysc-co { position: fixed; left: 0; right: 0; bottom: 0; top: var(--tysc-urgency-h); z-index: 1000; display: flex; align-items: stretch; justify-content: center; }
.tysc-co[hidden] { display: none; }
.tysc-co__backdrop {
  position: absolute; inset: 0; opacity: 0; transition: opacity .45s ease;
  background:
    radial-gradient(70% 60% at 50% 0%, rgba(122, 153, 221, .45) 0%, rgba(122, 153, 221, 0) 70%),
    radial-gradient(120% 90% at 50% 50%, rgba(18, 32, 52, .55) 0%, rgba(6, 12, 22, .92) 100%),
    linear-gradient(180deg, rgba(35, 60, 89, .75) 0%, rgba(14, 25, 40, .88) 100%);
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .tysc-co__backdrop { -webkit-backdrop-filter: blur(10px) saturate(115%); backdrop-filter: blur(10px) saturate(115%); }
}
.tysc-co__panel {
  position: relative; width: 100%; max-width: 1000px; color: var(--tysc-navy);
  overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
  display: flex; flex-direction: column;
  padding: 16px 12px 22px;
  background:
    var(--tysc-grain) 0 0 / 180px 180px,
    radial-gradient(95% 42% at 50% -6%, rgba(195, 217, 255, .85) 0%, rgba(195, 217, 255, 0) 72%),
    radial-gradient(70% 50% at 50% 110%, rgba(174, 202, 250, .35) 0%, rgba(174, 202, 250, 0) 70%),
    linear-gradient(180deg, #FDFBF6 0%, var(--tysc-ivory) 55%, #F5EFE2 100%);
  background-blend-mode: soft-light, normal, normal, normal;
  transform: translateY(22px) scale(.985); opacity: 0;
  transition: transform .6s var(--tysc-ease-lux), opacity .35s ease;
}
.tysc-co.tysc-is-open .tysc-co__backdrop { opacity: 1; }
.tysc-co.tysc-is-open .tysc-co__panel { transform: none; opacity: 1; }
@media (min-width: 768px) {
  .tysc-co { padding: 28px 24px; align-items: center; }
  .tysc-co__panel {
    border-radius: 24px; max-height: calc(100dvh - var(--tysc-urgency-h) - 56px); padding: 40px 44px 44px;
    box-shadow: 0 0 0 1px rgba(216, 178, 76, .55), 0 0 0 7px rgba(251, 247, 238, .08), 0 50px 120px -20px rgba(4, 10, 20, .65);
  }
  .tysc-co__panel::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(201, 159, 63, .28); border-radius: 16px; pointer-events: none; }
  .tysc-co[data-step="pay"] .tysc-co__panel { max-width: 780px; }
}

.tysc-co__close {
  position: absolute; top: 10px; right: 10px; z-index: 3; width: 44px; height: 44px; padding: 0;
  border: 1px solid transparent; border-radius: 50%; cursor: pointer; font-size: 0; color: var(--tysc-navy);
  background: linear-gradient(#FDFBF6, #F6F0E3) padding-box, var(--tysc-foil) border-box;
  box-shadow: 0 6px 16px -6px rgba(35, 60, 89, .35);
  transition: transform .5s var(--tysc-ease-lux), box-shadow .3s ease;
}
.tysc-co__close::before, .tysc-co__close::after { content: ""; position: absolute; left: 50%; top: 50%; width: 15px; height: 1.5px; border-radius: 1px; background: currentColor; transform: translate(-50%, -50%) rotate(45deg); }
.tysc-co__close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.tysc-co__close:hover { transform: rotate(90deg); box-shadow: 0 10px 22px -8px rgba(35, 60, 89, .45); }
@media (min-width: 768px) { .tysc-co__close { top: 22px; right: 22px; } }

.tysc-co__step--choose { margin: auto 0; padding-bottom: 6px; }

/* ---------- header (both steps) ---------- */
.tysc-co__head { text-align: center; margin: 0 40px; }
.tysc-co__eyebrow {
  display: flex; align-items: center; justify-content: center; gap: 10px; margin: 6px 0 10px;
  font: 700 10.5px/1.3 var(--tysc-font-body); letter-spacing: .24em; text-transform: uppercase; color: var(--tysc-royal-ink);
}
.tysc-co__eyebrow::before, .tysc-co__eyebrow::after { content: ""; flex: 0 0 18px; height: 1px; background: linear-gradient(90deg, rgba(201, 159, 63, 0), #C99F3F); }
.tysc-co__eyebrow::after { transform: scaleX(-1); }
.tysc-co__title {
  margin: 0 auto; max-width: 22ch; font-family: var(--tysc-font-display); font-weight: 400;
  font-size: clamp(1.35rem, 1.9vw + .95rem, 2.5rem); line-height: 1.12; letter-spacing: -.005em; color: var(--tysc-navy); text-wrap: balance;
}
.tysc-co__title:focus { outline: none; }
.tysc-co__rule { position: relative; display: block; width: 150px; height: 9px; margin: 14px auto 26px; }
.tysc-co__rule::before { content: ""; position: absolute; left: 0; right: 0; top: 4px; height: 1px; background: var(--tysc-foil-line); }
.tysc-co__rule::after { content: ""; position: absolute; left: 50%; top: 0; width: 7px; height: 7px; margin-left: -3.5px; transform: rotate(45deg); background: var(--tysc-foil); box-shadow: 0 0 0 3px var(--tysc-ivory); }

/* ---------- choose step: invitation cards ---------- */
.tysc-co__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-items: stretch; max-width: 880px; margin: 0 auto; padding-top: 12px; }
@media (min-width: 720px) { .tysc-co__grid { gap: 28px; } }

.tysc-co__card {
  position: relative; isolation: isolate; display: flex; flex-direction: column; gap: 12px; text-align: left;
  padding: 30px 26px 26px; border-radius: 20px; border: 1px solid transparent;
  transition: transform .5s var(--tysc-ease-lux), box-shadow .5s var(--tysc-ease-lux);
}
/* inner engraved frame — the "invitation" double border */
.tysc-co__card::after { content: ""; position: absolute; inset: 6px; border-radius: 15px; border: 1px solid; pointer-events: none; }

.tysc-co__card--vip {
  color: var(--tysc-white); --tysc-focus: var(--tysc-gold); border-width: 1.5px;
  background:
    var(--tysc-grain) 0 0 / 180px 180px padding-box,
    radial-gradient(120% 60% at 100% 0%, rgba(122, 153, 221, .4) 0%, rgba(122, 153, 221, 0) 62%) padding-box,
    radial-gradient(100% 55% at 0% 100%, rgba(82, 115, 206, .42) 0%, rgba(82, 115, 206, 0) 70%) padding-box,
    linear-gradient(165deg, #1A2E47 0%, #233C59 40%, var(--tysc-indigo) 100%) padding-box,
    var(--tysc-foil) border-box;
  background-blend-mode: soft-light, normal, normal, normal, normal;
  box-shadow: 0 30px 60px -24px rgba(22, 40, 63, .7), 0 12px 24px -12px rgba(154, 116, 40, .35);
}
.tysc-co__card--vip::after { border-color: rgba(255, 234, 118, .26); }
/* one-time foil sheen as the card is presented */
.tysc-co__card--vip::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 0;
  background: linear-gradient(110deg, rgba(255, 247, 207, 0) 38%, rgba(255, 247, 207, .14) 47%, rgba(255, 255, 255, .26) 50%, rgba(255, 247, 207, .14) 53%, rgba(255, 247, 207, 0) 62%) 160% 0 / 250% 100% no-repeat;
}
.tysc-co__card--basic {
  color: var(--tysc-navy);
  background:
    var(--tysc-grain) 0 0 / 180px 180px padding-box,
    radial-gradient(110% 55% at 0% 0%, rgba(255, 255, 255, .9) 0%, rgba(255, 255, 255, 0) 70%) padding-box,
    linear-gradient(170deg, #FFFDF8 0%, #F7F2E8 42%, #E1EAFB 100%) padding-box,
    linear-gradient(180deg, rgba(201, 159, 63, .7) 0%, rgba(174, 202, 250, .95) 100%) border-box;
  background-blend-mode: soft-light, normal, normal, normal;
  box-shadow: 0 22px 44px -26px rgba(35, 60, 89, .45);
}
.tysc-co__card--basic::after { border-color: rgba(35, 60, 89, .1); }
.tysc-co__card > * { position: relative; z-index: 1; }
.tysc-co__card > .tysc-co__badge { position: absolute; z-index: 2; }

.tysc-co__badge {
  top: -14px; left: 50%; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
  padding: 8px 16px; border-radius: 999px; color: var(--tysc-navy);
  background: var(--tysc-foil-soft);
  font: 700 10.5px/1 var(--tysc-font-body); letter-spacing: .22em; text-transform: uppercase;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), inset 0 -1px 0 rgba(154, 116, 40, .4), 0 8px 18px -6px rgba(120, 88, 24, .55);
}
.tysc-co__badge::before, .tysc-co__badge::after { content: ""; width: 4px; height: 4px; transform: rotate(45deg); background: var(--tysc-navy); opacity: .7; }

.tysc-co__card h3 { margin: 4px 0 0; font: 700 11.5px/1.35 var(--tysc-font-body); letter-spacing: .2em; text-transform: uppercase; }
.tysc-co__card--vip h3 { color: #FBE7A1; }
.tysc-co__card--basic h3 { color: var(--tysc-royal-ink); }

.tysc-co__price { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 12px; row-gap: 2px; }
.tysc-co__price strong { font: 400 58px/1 var(--tysc-font-display); letter-spacing: -.01em; font-variant-numeric: lining-nums; }
.tysc-co__card--vip .tysc-co__price strong {
  color: #F6DC7A; background: var(--tysc-foil-text); background-size: 200% 100%;
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 6px rgba(10, 20, 34, .35));
}
.tysc-co__card--basic .tysc-co__price strong { color: var(--tysc-navy); }
.tysc-co__price s { font: 400 17px/1 var(--tysc-font-display); text-decoration-thickness: 1px; }
.tysc-co__card--vip .tysc-co__price s { color: var(--tysc-sky); }
.tysc-co__card--basic .tysc-co__price s { color: #59627A; }

.tysc-co__lead {
  margin: 4px 0 0; padding-top: 16px; font: italic 400 16px/1.35 var(--tysc-font-display);
  background: linear-gradient(90deg, #C99F3F 0%, #FFE98A 30%, rgba(255, 233, 138, 0) 100%) 0 0 / 100% 1px no-repeat;
}
.tysc-co__card--vip .tysc-co__lead { color: #E3ECFF; }
.tysc-co__card--basic .tysc-co__lead { color: var(--tysc-ink); background-image: linear-gradient(90deg, #C99F3F 0%, rgba(201, 159, 63, .35) 45%, rgba(201, 159, 63, 0) 100%); }

.tysc-co__list { margin: 2px 0 10px; padding: 0; list-style: none; display: grid; gap: 10px; font-size: 15px; line-height: 1.45; }
.tysc-co__card--vip .tysc-co__list { color: rgba(255, 255, 255, .94); }
.tysc-co__card--basic .tysc-co__list { color: var(--tysc-text); }
.tysc-co__list li { position: relative; padding-left: 26px; }
.tysc-co__list li::before {
  content: ""; position: absolute; left: 0; top: .22em; width: 16px; height: 16px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.2 8.4l3 3 6.6-6.8' fill='none' stroke='%233F5FB8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat;
}
.tysc-co__card--vip .tysc-co__list li::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cdefs%3E%3ClinearGradient id='f' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23FFF7CF'/%3E%3Cstop offset='.5' stop-color='%23FFEA76'/%3E%3Cstop offset='1' stop-color='%23D8B24C'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M3.2 8.4l3 3 6.6-6.8' fill='none' stroke='url(%23f)' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.tysc-co__card .tysc-cta { margin-top: auto; width: 100%; min-height: 54px; justify-content: center; letter-spacing: .16em; }
.tysc-co__card--vip .tysc-cta--gold {
  border: 0; color: var(--tysc-navy); background: var(--tysc-foil-soft); background-size: 200% 100%; background-position: 0 0;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), inset 0 -1px 0 rgba(154, 116, 40, .4), 0 14px 28px -12px rgba(0, 0, 0, .6);
  transition: background-position .8s var(--tysc-ease-lux), transform .3s var(--tysc-ease-lux), box-shadow .3s ease;
}
.tysc-co__card--vip .tysc-cta--gold:hover { background-position: 100% 0; color: var(--tysc-navy); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), inset 0 -1px 0 rgba(154, 116, 40, .4), 0 18px 34px -12px rgba(0, 0, 0, .65); }
.tysc-co__card--basic .tysc-cta {
  border: 0; background: linear-gradient(165deg, #2A4668 0%, var(--tysc-navy) 55%, #1B3049 100%); color: var(--tysc-white);
  box-shadow: inset 0 0 0 1px rgba(255, 234, 118, .3), inset 0 1px 0 rgba(255, 255, 255, .12), 0 12px 24px -12px rgba(22, 40, 63, .6);
}
.tysc-co__card--basic .tysc-cta:hover { color: var(--tysc-white); }

@media (min-width: 720px) {
  .tysc-co__card--vip { transform: translateY(-8px); }
  .tysc-co__card--vip:hover { transform: translateY(-12px); }
  .tysc-co__card--basic:hover { transform: translateY(-4px); }
}

/* ---------- pay step: the checkout "envelope" ---------- */
.tysc-co__back {
  position: absolute; top: 10px; left: 10px; z-index: 3; display: inline-flex; align-items: center; gap: 8px;
  min-height: 44px; padding: 0 18px 0 14px; border: 1px solid rgba(35, 60, 89, .16); border-radius: 999px; cursor: pointer;
  background: rgba(253, 251, 246, .9); color: var(--tysc-indigo);
  font: 700 11.5px/1 var(--tysc-font-body); letter-spacing: .16em; text-transform: uppercase;
  box-shadow: 0 6px 16px -8px rgba(35, 60, 89, .35); transition: border-color .3s ease, color .3s ease;
}
.tysc-co__back:hover { border-color: rgba(201, 159, 63, .8); color: var(--tysc-navy); }
.tysc-co__head--pay { margin-top: 50px; }
.tysc-co__head--pay .tysc-co__eyebrow { margin-top: 0; }
.tysc-co__chosen { margin: 0; font: 400 clamp(1.5rem, 1.4vw + 1.05rem, 2.1rem)/1.12 var(--tysc-font-display); color: var(--tysc-navy); }
.tysc-co__head--pay .tysc-co__rule { margin: 12px auto 16px; }
.tysc-co__frame {
  position: relative; padding: 1px; border-radius: 18px; background: var(--tysc-foil);
  box-shadow: 0 36px 70px -34px rgba(22, 40, 63, .7), 0 2px 10px rgba(22, 40, 63, .12);
}
.tysc-co__frame iframe {
  display: block; width: 100%; height: calc(100dvh - var(--tysc-urgency-h) - 186px); min-height: 480px; border: 0; border-radius: 17px;
  background: var(--tysc-ivory);
}
.tysc-co__loading {
  position: absolute; inset: 1px; border-radius: 17px; display: grid; place-content: center; justify-items: center; gap: 14px;
  font: italic 400 17px/1.3 var(--tysc-font-display); color: var(--tysc-navy); pointer-events: none; transition: opacity .4s ease;
  background:
    var(--tysc-grain) 0 0 / 180px 180px,
    radial-gradient(80% 50% at 50% 0%, rgba(195, 217, 255, .7) 0%, rgba(195, 217, 255, 0) 70%),
    var(--tysc-ivory);
  background-blend-mode: soft-light, normal, normal;
}
.tysc-co__loading::before { content: ""; width: 120px; height: 1px; background: var(--tysc-foil-line); background-size: 200% 100%; animation: tysc-co-shimmer 1.6s ease-in-out infinite alternate; }
.tysc-co__frame.tysc-is-loaded .tysc-co__loading { opacity: 0; }
@media (min-width: 768px) {
  .tysc-co__back { top: 22px; left: 22px; }
  .tysc-co__head--pay { margin: 4px 150px 0; }
  .tysc-co__head--pay .tysc-co__eyebrow { min-height: 44px; margin-bottom: 2px; }
  .tysc-co__frame { border-radius: 20px; }
  .tysc-co__frame iframe { border-radius: 19px; height: calc(100dvh - var(--tysc-urgency-h) - 300px); min-height: 520px; }
  .tysc-co__loading { border-radius: 19px; }
}

/* ---------- motion: the gift is presented ---------- */
@keyframes tysc-co-rise { from { opacity: 0; transform: translateY(26px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes tysc-co-fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes tysc-co-draw { from { transform: scaleX(0); opacity: 0; } to { transform: scaleX(1); opacity: 1; } }
@keyframes tysc-co-sheen { from { background-position: 160% 0; } to { background-position: -60% 0; } }
@keyframes tysc-co-shimmer { from { background-position: 0 0; } to { background-position: 100% 0; } }
.tysc-co.tysc-is-open .tysc-co__head > * { animation: tysc-co-fade .7s var(--tysc-ease-lux) backwards; }
.tysc-co.tysc-is-open .tysc-co__head > :nth-child(2) { animation-delay: .06s; }
.tysc-co.tysc-is-open .tysc-co__rule { animation: tysc-co-draw .9s var(--tysc-ease-lux) .18s backwards; }
.tysc-co.tysc-is-open .tysc-co__card { animation: tysc-co-rise .9s var(--tysc-ease-lux) .16s backwards; }
.tysc-co.tysc-is-open .tysc-co__card--basic { animation-delay: .28s; }
.tysc-co.tysc-is-open .tysc-co__card--vip::before { animation: tysc-co-sheen 1.8s cubic-bezier(.4, 0, .2, 1) .75s backwards; }
.tysc-co.tysc-is-open .tysc-co__frame { animation: tysc-co-rise .8s var(--tysc-ease-lux) .12s backwards; }
.tysc-co.tysc-is-open .tysc-co__back { animation: tysc-co-fade .6s var(--tysc-ease-lux) backwards; }
@media (min-width: 720px) {
  @keyframes tysc-co-rise-vip { from { opacity: 0; transform: translateY(26px) scale(.97); } to { opacity: 1; transform: translateY(-8px); } }
  .tysc-co.tysc-is-open .tysc-co__card--vip { animation-name: tysc-co-rise-vip; }
}
@media (prefers-reduced-motion: reduce) {
  .tysc-co__panel, .tysc-co__backdrop, .tysc-co__close, .tysc-co__card, .tysc-co .tysc-cta, .tysc-urgency__cta { transition: none !important; }
  .tysc-co *, .tysc-co *::before, .tysc-co *::after { animation: none !important; }
  .tysc-co__panel { transform: none; }
  .tysc-co__close:hover { transform: none; }
}

.tysc-page.tysc-has-urgency .tysc-sticky { z-index: 55; }
@media (min-width: 1024px) { .tysc-page.tysc-has-urgency .tysc-robert__media { top: 80px; } }

/* ---------- small screens: keep both passes side by side ---------- */
@media (max-width: 719px) {
  .tysc-co__head { margin: 0 44px; }
  .tysc-co__head--pay { margin: 52px 4px 0; }
  .tysc-co__eyebrow { font-size: 10px; letter-spacing: .2em; gap: 8px; margin-top: 8px; }
  .tysc-co__eyebrow::before, .tysc-co__eyebrow::after { flex-basis: 12px; }
  .tysc-co__rule { width: 120px; margin: 12px auto 20px; }
  .tysc-co__grid { padding-top: 10px; }
  .tysc-co__card { padding: 26px 12px 14px; gap: 9px; border-radius: 16px; }
  .tysc-co__card::after { inset: 4px; border-radius: 12px; }
  .tysc-co__badge { top: -12px; font-size: 9px; letter-spacing: .14em; padding: 6px 10px; gap: 6px; }
  .tysc-co__badge::before, .tysc-co__badge::after { width: 3px; height: 3px; }
  .tysc-co__card h3 { font-size: 10px; letter-spacing: .14em; margin-top: 0; }
  .tysc-co__price { column-gap: 8px; }
  .tysc-co__price strong { font-size: 38px; }
  .tysc-co__price s { font-size: 14px; }
  .tysc-co__lead { font-size: 13.5px; padding-top: 11px; margin-top: 0; }
  .tysc-co__list { font-size: 13px; line-height: 1.4; gap: 7px; margin-bottom: 6px; }
  .tysc-co__list li { padding-left: 19px; }
  .tysc-co__list li::before { width: 14px; height: 14px; background-size: 14px; top: .1em; }
  .tysc-co__card .tysc-cta { min-height: 46px; padding: 10px 6px; font-size: 11.5px; letter-spacing: .1em; }
  .tysc-co__frame { margin: 0 -4px; }
}
@media (max-width: 370px) {
  .tysc-co__panel { padding-left: 10px; padding-right: 10px; }
  .tysc-co__grid { gap: 8px; }
  .tysc-co__card { padding-left: 10px; padding-right: 10px; }
  .tysc-co__price strong { font-size: 34px; }
  .tysc-co__list { font-size: 12.5px; }
  .tysc-co__card .tysc-cta { font-size: 11px; letter-spacing: .08em; }
}

@media (max-width: 767px) { .tysc-co__step--choose { margin: 4px 0 auto; } }

/* ==========================================================================
   Action Kit offer: step 2 of the pop-up (before payment, so "yes" joins the same checkout)
   ========================================================================== */
#txo{--n:#233C59;--n2:#16283F;--ind:#2D4A85;--ink:#2B3245;--mut:#5E6577;--iv:#FBF7EE;--iv2:#F4EDDD;--line:#E4DAC4;--gold-d:#8A6A24;
--foil:linear-gradient(115deg,#9A7428 0%,#D8B24C 16%,#FFEA76 30%,#FFF7CF 40%,#F1CF5E 52%,#A9822E 68%,#E9C863 84%,#FFF0A6 100%);
--foil-soft:linear-gradient(115deg,#EDCD63 0%,#FFEA76 26%,#FFF7D2 44%,#F6D86E 62%,#FFE98A 82%,#F0D06A 100%);
--foil-line:linear-gradient(90deg,rgba(216,178,76,0) 0%,#C99F3F 16%,#FFE98A 38%,#FFF7CF 50%,#FFE98A 62%,#C99F3F 84%,rgba(216,178,76,0) 100%);
--serif:"Vera Medium",Georgia,"Times New Roman",serif;--sans:"Gotham","Helvetica Neue",Helvetica,Arial,sans-serif;--ease:cubic-bezier(.16,1,.3,1);
position:relative;box-sizing:border-box;max-width:560px;margin:0 auto;padding:18px 18px 28px;color:var(--ink);font:400 16px/1.55 var(--sans);-webkit-font-smoothing:antialiased;text-align:left}
#txo *,#txo *::before,#txo *::after{box-sizing:border-box}

/* progress */
#txo .txo__top{display:flex;flex-direction:column;align-items:center;gap:12px;margin:0 0 22px}
#txo .txo__status{display:inline-flex;align-items:center;gap:8px;margin:0;padding:7px 14px 7px 8px;border-radius:999px;background:rgba(35,60,89,.06);color:var(--n);font:700 12px/1 var(--sans);letter-spacing:.06em}
#txo .txo__tick{width:20px;height:20px;border-radius:50%;background:var(--n) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.4l3 3 6-6.4' fill='none' stroke='%23FFEA76' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
#txo .txo__steps{display:flex;width:100%;max-width:360px;margin:0;padding:0;list-style:none;counter-reset:s}
#txo .txo__steps li{counter-increment:s;flex:1;position:relative;padding-top:18px;text-align:center;font:700 10px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#9AA0AE}
#txo .txo__steps li::before{content:"";position:absolute;top:4px;left:50%;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:#D9D4C8;z-index:1}
#txo .txo__steps li::after{content:"";position:absolute;top:8px;left:-50%;width:100%;height:1px;background:#D9D4C8}
#txo .txo__steps li:first-child::after{display:none}
#txo .txo__steps li.is-done{color:var(--n)}
#txo .txo__steps li.is-done::before{background:var(--n)}
#txo .txo__steps li.is-now{color:var(--gold-d)}
#txo .txo__steps li.is-now::before{width:13px;height:13px;top:2px;margin-left:-6.5px;background:var(--foil);box-shadow:0 0 0 4px rgba(255,234,118,.35)}
#txo .txo__steps li.is-now::after,#txo .txo__steps li.is-done+li::after{background:linear-gradient(90deg,var(--n),#C99F3F)}

/* headline */
#txo .txo__head{text-align:center;margin:0 0 6px}
#txo .txo__eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 10px;color:var(--gold-d);font:700 11px/1.3 var(--sans);letter-spacing:.22em;text-transform:uppercase}
#txo .txo__eyebrow::before,#txo .txo__eyebrow::after{content:"";width:18px;height:1px;background:linear-gradient(90deg,rgba(201,159,63,0),#C99F3F)}
#txo .txo__eyebrow::after{transform:scaleX(-1)}
#txo .txo__title{margin:0 auto;max-width:15ch;color:var(--n);font:400 clamp(30px,8.4vw,44px)/1.06 var(--serif);letter-spacing:-.01em;text-wrap:balance}

/* mock-up */
#txo .txo__mock{position:relative;height:372px;margin:14px -18px 4px;overflow:hidden}
#txo .txo__glow{position:absolute;inset:8% 6% 14%;border-radius:50%;background:radial-gradient(closest-side,rgba(174,202,250,.75),rgba(174,202,250,0));filter:blur(8px)}
#txo .txo__sheet,#txo .txo__cover,#txo .txo__phone{position:absolute;display:flex;flex-direction:column}
#txo .txo__sheet{top:40px;width:150px;height:200px;padding:16px 14px;border-radius:6px;background:linear-gradient(180deg,#FFFFFF,#F8F4EA);box-shadow:0 18px 30px -16px rgba(22,40,63,.5),0 0 0 1px rgba(35,60,89,.06)}
#txo .txo__sheet--2{left:calc(50% - 22px);top:30px;transform:rotate(5deg)}
#txo .txo__sheet--3{left:calc(50% + 28px);top:58px;transform:rotate(13deg)}
#txo .txo__sheet-k{font:700 7px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#A9822E}
#txo .txo__sheet-t{margin:6px 0 12px;font:400 15px/1.1 var(--serif);color:var(--n)}
#txo .txo__lines{display:grid;gap:9px}
#txo .txo__lines i{display:block;height:1px;background:#D9D0BC}
#txo .txo__grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
#txo .txo__grid i{display:block;height:34px;border:1px solid #E3D9C3;border-radius:3px}
#txo .txo__cover{top:26px;left:calc(50% - 160px);width:164px;height:220px;padding:18px 16px;border-radius:6px;transform:rotate(-6deg);color:#fff;overflow:hidden;
  background:radial-gradient(120% 60% at 100% 0%,rgba(122,153,221,.55),rgba(122,153,221,0) 60%),linear-gradient(160deg,#1A2E47 0%,#233C59 45%,#2D4A85 100%);
  box-shadow:0 26px 40px -18px rgba(10,20,34,.7),inset 0 0 0 1px rgba(255,234,118,.35)}
#txo .txo__cover::after{content:"";position:absolute;inset:6px;border:1px solid rgba(255,234,118,.28);border-radius:3px}
#txo .txo__cover-k{font:700 7px/1.3 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:#FBE7A1}
#txo .txo__cover-rule{display:block;width:40px;height:1px;margin:10px 0;background:var(--foil)}
#txo .txo__cover-t{font:400 34px/.95 var(--serif);color:#F6DC7A;background:var(--foil-soft);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
#txo .txo__cover-s{margin-top:10px;font:400 9px/1.35 var(--sans);color:rgba(255,255,255,.8);max-width:11em}
#txo .txo__phone{right:calc(50% - 168px);top:150px;width:98px;height:190px;padding:20px 9px 10px;border-radius:18px;background:#fff;transform:rotate(4deg);
  box-shadow:0 0 0 4px #1A2E47,0 0 0 5px rgba(255,234,118,.5),0 24px 34px -14px rgba(10,20,34,.7)}
#txo .txo__phone-notch{position:absolute;top:6px;left:50%;width:30px;height:5px;margin-left:-15px;border-radius:5px;background:#1A2E47}
#txo .txo__phone-k{font:700 6px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#A9822E}
#txo .txo__phone-q{margin:5px 0 7px;font:400 10px/1.2 var(--serif);color:var(--n)}
#txo .txo__phone-field{display:block;height:24px;margin-bottom:5px;border-radius:4px;background:#F5F0E4;border:1px solid #E6DCC6}
#txo .txo__phone-field--short{height:14px;width:70%}
#txo .txo__path{display:grid;gap:5px}
#txo .txo__path i{display:block;padding:4px 6px;border:1px solid #E3D9C3;border-radius:3px;font:700 6.5px/1 var(--sans);font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:var(--n)}
#txo .txo__audit{display:grid;gap:9px;margin-top:2px}
#txo .txo__audit i{display:flex;justify-content:flex-end;gap:13px;padding-bottom:6px;border-bottom:1px solid #EDE5D3;background:linear-gradient(#D9D0BC,#D9D0BC) 0 3px/46% 1px no-repeat}
#txo .txo__audit b{width:8px;height:8px;border-radius:50%;border:1px solid #B9A57A}
#txo .txo__audit b.on{background:var(--n);border-color:var(--n)}
#txo .txo__audit-k{display:flex;justify-content:flex-end;gap:4px;margin-top:6px}
#txo .txo__audit-k em{font:700 4.5px/1 var(--sans);font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
#txo .txo__cover-f{margin-top:auto;font:700 7px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:rgba(251,231,161,.85)}
#txo .txo__phone-q--2{margin-top:2px}
#txo .txo__cap{position:absolute;left:0;right:0;bottom:2px;text-align:center;font:400 italic 13px/1.3 var(--serif);color:var(--mut)}

/* offer */
#txo .txo__offer{position:relative;padding:24px 20px 22px;border-radius:20px;border:1px solid transparent;
  background:linear-gradient(170deg,#FFFDF8 0%,#FBF4E2 100%) padding-box,var(--foil) border-box;box-shadow:0 26px 50px -30px rgba(35,60,89,.55)}
#txo .txo__h2{margin:0 0 10px;color:var(--n);font:400 25px/1.15 var(--serif);text-wrap:balance}
#txo .txo__lede{margin:0 0 18px;color:var(--ink);font-size:15.5px}
#txo .txo__price{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:14px 0 0;background:var(--foil-line) 0 0/100% 1px no-repeat}
#txo .txo__price-n{font:400 46px/1 var(--serif);color:var(--n);letter-spacing:-.01em}
#txo .txo__price-l{font:700 11px/1.35 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-d)}

/* buttons */
#txo .txo__cta{display:flex;flex-direction:column;gap:12px}
#txo .txo__yes{position:relative;display:flex;text-decoration:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:100%;min-height:72px;padding:14px 18px;border:0;border-radius:16px;cursor:pointer;
  background:var(--foil-soft);background-size:200% 100%;color:var(--n);text-align:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),inset 0 -1px 0 rgba(154,116,40,.4),0 16px 30px -14px rgba(169,130,46,.85);
  transition:background-position .8s var(--ease),transform .3s var(--ease);-webkit-tap-highlight-color:transparent}
#txo .txo__yes:hover{background-position:100% 0;transform:translateY(-1px)}
#txo .txo__yes:active{transform:translateY(1px)}
#txo .txo__yes:focus-visible,#txo .txo__no:focus-visible{outline:2px solid var(--n);outline-offset:3px}
#txo .txo__yes-l{font:700 16px/1.2 var(--sans);letter-spacing:.06em;text-transform:uppercase}
#txo .txo__yes-s{font:400 13.5px/1.3 var(--sans);color:#3A4660}
#txo .txo__no{display:flex;align-items:center;justify-content:center;text-align:center;width:100%;min-height:48px;padding:10px 12px;border:0;background:none;cursor:pointer;color:var(--mut);font:400 14px/1.4 var(--sans);text-decoration:underline;text-decoration-color:rgba(94,101,119,.4);text-underline-offset:3px}
#txo .txo__no:hover{color:var(--n)}
#txo .txo__yes[disabled],#txo .txo__no[disabled]{opacity:.6;cursor:wait}

/* inside */
#txo .txo__inside{margin:26px 0 22px;padding:0 4px}
#txo .txo__label{margin:0 0 6px;color:var(--gold-d);font:700 11px/1.2 var(--sans);letter-spacing:.22em;text-transform:uppercase}
#txo .txo__list{margin:0 0 14px;padding:0;list-style:none;counter-reset:k}
#txo .txo__list li{counter-increment:k;position:relative;padding:11px 0 11px 42px;border-bottom:1px solid rgba(201,159,63,.24);font-size:15.5px;line-height:1.4;color:var(--ink)}
#txo .txo__list li:last-child{border-bottom:0}
#txo .txo__list li::before{content:counter(k,decimal-leading-zero);position:absolute;left:0;top:11px;font:400 16px/1.35 var(--serif);color:#A9822E}
#txo .txo__note{margin:0;padding:14px 16px;border-radius:12px;background:rgba(35,60,89,.05);color:var(--mut);font-size:14px;line-height:1.5}
#txo .txo__cta--end{margin-top:4px}

@media (min-width:600px){
  #txo{padding:30px 28px 40px}
  #txo .txo__mock{height:390px;margin:18px 0 10px}
  #txo .txo__offer{padding:30px 30px 26px}
  #txo .txo__h2{font-size:29px}
}
@media (prefers-reduced-motion:no-preference){
  #txo .txo__cover,#txo .txo__sheet,#txo .txo__phone{animation:txo-in .9s var(--ease) both}
  #txo .txo__sheet--2{animation-delay:.08s}#txo .txo__sheet--3{animation-delay:.16s}#txo .txo__phone{animation-delay:.24s}
}
@keyframes txo-in{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
#txo button { font-family: inherit; -webkit-appearance: none; appearance: none; margin: 0; }
#txo .txo__title:focus { outline: none; }
.tysc-co__step--offer #txo { padding-top: 62px; }
@media (min-width: 768px) {
  .tysc-co[data-step="offer"] .tysc-co__panel { max-width: 660px; }
  .tysc-co__step--offer #txo { padding: 58px 6px 6px; }
}

/* ============================================================
   23. ENTRY COUNTDOWN (under every CTA + passes + sticky bar)
   ============================================================ */
.tysc-page { --tysc-sticky-h: 92px; }
.tysc-cd { position: relative; display: grid; justify-items: center; gap: 10px; width: 100%; max-width: 420px; padding: 16px 14px 14px; border-radius: 18px; text-align: center;
  background: linear-gradient(170deg, #FFFFFF, #FBF8F1) padding-box, linear-gradient(150deg, #D8B24C, #FFF0A6 35%, #C99F3F 60%, #F1D47A) border-box; border: 1px solid transparent;
  box-shadow: 0 22px 44px -30px rgba(35, 60, 89, .55); color: #293B57; }
.tysc-cd__label { display: flex; align-items: center; gap: 10px; margin: 0; font: 700 10.5px/1.3 var(--tysc-font-body); letter-spacing: .2em; text-transform: uppercase; color: #8A6A24; }
.tysc-cd__label::before, .tysc-cd__label::after { content: ""; width: 18px; height: 1px; background: linear-gradient(90deg, rgba(201, 159, 63, 0), #C99F3F); }
.tysc-cd__label::after { transform: scaleX(-1); }
.tysc-cd__clock { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; max-width: 380px; }
.tysc-cd__u { position: relative; display: grid; justify-items: center; gap: 6px; padding: 2px 4px; }
.tysc-cd__u + .tysc-cd__u::before { content: ""; position: absolute; left: 0; top: 10%; bottom: 22%; width: 1px; background: linear-gradient(180deg, rgba(201, 159, 63, 0), rgba(201, 159, 63, .75), rgba(201, 159, 63, 0)); }
.tysc-cd__n { display: inline-flex; font: 400 clamp(34px, 9.6vw, 46px)/1 var(--tysc-font-display); letter-spacing: -.01em; color: #293B57; }
.tysc-cd__n > span { display: inline-block; width: .6em; text-align: center; }
.tysc-cd__n > span.is-tick { animation: tysc-cd-tick .5s cubic-bezier(.2, .7, .2, 1); }
@keyframes tysc-cd-tick { from { opacity: 0; transform: translateY(-.28em); filter: blur(2px); } to { opacity: 1; transform: none; filter: none; } }
.tysc-cd__u i { font: 700 9.5px/1 var(--tysc-font-body); font-style: normal; letter-spacing: .22em; text-transform: uppercase; color: #6B7286; }
.tysc-cd__u:last-child .tysc-cd__n { color: #B08A33; }
.tysc-cd__foot { margin: 2px 0 0; padding-top: 10px; width: 100%; max-width: 300px; border-top: 1px solid rgba(201, 159, 63, .35); font: 400 italic 16px/1.3 var(--tysc-font-display); color: #293B57; }
.tysc-section--navy .tysc-cd, .tysc-section--royal .tysc-cd { background: linear-gradient(170deg, #2A4668, #1E3450 60%, #1A2E47) padding-box, linear-gradient(150deg, #D8B24C, #FFF0A6 35%, #8A6A24 60%, #F1D47A) border-box; box-shadow: 0 24px 50px -30px rgba(0, 0, 0, .8); color: #fff; }
.tysc-section--navy .tysc-cd__label, .tysc-section--royal .tysc-cd__label { color: #F6DC7A; }
.tysc-section--navy .tysc-cd__n, .tysc-section--royal .tysc-cd__n, .tysc-section--navy .tysc-cd__u:last-child .tysc-cd__n, .tysc-section--royal .tysc-cd__u:last-child .tysc-cd__n { color: #F6DC7A; }
.tysc-section--navy .tysc-cd__n > span, .tysc-section--royal .tysc-cd__n > span { background: linear-gradient(115deg, #EDCD63 0%, #FFEA76 26%, #FFF7D2 44%, #F6D86E 62%, #FFE98A 82%, #F0D06A 100%); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.tysc-section--navy .tysc-cd__u i, .tysc-section--royal .tysc-cd__u i { color: rgba(255, 255, 255, .62); }
.tysc-section--navy .tysc-cd__foot, .tysc-section--royal .tysc-cd__foot { color: rgba(255, 255, 255, .88); border-top-color: rgba(255, 234, 118, .25); }
.tysc-cd.is-closed .tysc-cd__clock, .tysc-cd.is-closed .tysc-cd__label { display: none; }
.tysc-cd.is-closed .tysc-cd__foot { border-top: 0; padding-top: 0; }
.tysc-cd-row { display: flex; justify-content: center; margin-top: 32px; }
.tysc-sticky__entry { margin-top: 3px; white-space: nowrap; font: 700 9.5px/1.2 var(--tysc-font-body); letter-spacing: .1em; text-transform: uppercase; color: #8A6A24; }
.tysc-sticky__entry b { font: 400 13px/1 var(--tysc-font-display); letter-spacing: .02em; text-transform: none; color: #293B57; margin-left: 3px; }
.tysc-sticky__entry:has(b:empty) { display: none; }
@media (min-width: 768px) {
  .tysc-cd { justify-self: start; padding: 18px 22px 16px; }
}

.tysc-media:not([data-placeholder])::after, .tysc-media[data-placeholder=""]::after { display: none; }

/* ===== 2026-11-04 Robert edits: registration bar, early action, x3, days, passes, videos ===== */
.rc-bar{background:#293B57;color:#fff;padding-block:22px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.rc-bar__in{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap}
.rc-bar__msg{margin:0!important;text-transform:uppercase!important;letter-spacing:.14em!important;font-weight:700!important;font-family:'Gotham',Helvetica,Arial,sans-serif!important;font-family:'Gotham',Helvetica,Arial,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:clamp(14px,1.6vw,18px);line-height:1.35;text-align:center;display:flex;align-items:center;gap:12px;color:#fff}
.rc-bar__dot{width:10px;height:10px;border-radius:50%;background:#FFEA76;flex:none;box-shadow:0 0 0 4px rgba(255,234,118,.25)}
.rc-bar__clock{display:flex;gap:10px}
.rc-unit{min-width:74px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:8px 10px 7px;text-align:center}
.rc-unit b{display:block;font-family:'Vera Medium',Georgia,serif;font-weight:400;font-size:clamp(28px,3.4vw,38px);line-height:1;color:#FFEA76;font-variant-numeric:tabular-nums}
.rc-unit span{display:block;margin-top:5px;font-family:'Gotham',Helvetica,Arial,sans-serif;font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#C3D9FF}
.rc-bar--card{border-radius:14px;margin-top:18px;padding:22px 24px;width:100%;max-width:560px;box-sizing:border-box}
.rc-bar--card .rc-bar__in{flex-direction:column;gap:16px}
@media (max-width:520px){.rc-unit{min-width:0;flex:1}.rc-bar__clock{width:100%}}

.rc-early{display:none;text-align:center}
#tysc-page:not(.tysc-phase-regular) .rc-bar--card:not(.ep-card) .rc-early{display:block}
#tysc-page:not(.tysc-phase-regular) .rc-bar--card:not(.ep-card) .rc-bar__msg,#tysc-page:not(.tysc-phase-regular) .rc-bar--card:not(.ep-card) .rc-clock{display:none!important}
#tysc-page:not(.tysc-phase-regular) .rc-bar--card:not(.ep-card){border:2px solid #FFEA76!important}
.rc-early p{margin:0}
.rc-early__lab{font-family:'Gotham',Helvetica,Arial,sans-serif;font-weight:700;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:#FFEA76}
.rc-early__clock{font-family:'Vera Medium',Georgia,serif;font-size:64px;line-height:1.05;color:#fff;font-variant-numeric:tabular-nums;margin:6px 0 8px!important}
.rc-early__px{font-family:'Gotham',Helvetica,Arial,sans-serif;font-size:16px;color:#C3D9FF}
.rc-early__px s{opacity:.7}.rc-early__px b{color:#fff;font-size:18px}

.x3 .x3-h{font-family:'Vera Medium',Georgia,serif;font-weight:400;font-size:clamp(34px,4.6vw,60px);line-height:1.05;letter-spacing:-.01em;color:#293B57;max-width:980px;margin:0 0 40px;text-wrap:balance}
.x3 .x3-h em{display:block;color:#5273CE;font-family:'Vera Medium Italic','Vera Medium',Georgia,serif;font-style:italic;font-size:.62em;line-height:1.15;margin-top:14px}
.x3-cards{list-style:none;margin:0 0 40px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.x3-cards li{background:#fff;border:1px solid #dfe6f2;border-radius:16px;padding:24px 22px;display:flex;flex-direction:column;gap:14px;box-shadow:0 12px 28px -22px rgba(17,28,45,.45)}
.x3-cards p{margin:0;font-family:'Gotham',Helvetica,Arial,sans-serif;font-size:17px;line-height:1.45;color:#293B57}
.x3-ico{width:44px;height:44px;border-radius:12px;background:#EEF3FF;color:#5273CE;display:grid;place-items:center}
.x3-ico svg{width:24px;height:24px}
.x3-turn{display:grid;grid-template-columns:1fr 1.25fr;gap:28px;align-items:stretch}
.x3-but{margin:0;align-self:center;font-family:'Gotham',Helvetica,Arial,sans-serif;font-size:19px;line-height:1.55;color:#4a5568;border-left:3px solid #FFEA76;padding-left:20px}
.x3-quote{background:#293B57;color:#fff;border-radius:18px;padding:32px 34px}
.x3-quote p{margin:0}
.x3-quote p:first-child{font-family:'Gotham',Helvetica,Arial,sans-serif;font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#C3D9FF}
.x3-quote .x3-big{font-family:'Vera Medium',Georgia,serif;font-size:clamp(28px,3vw,40px);line-height:1.1;margin:12px 0 14px}
.x3-quote .x3-big em{color:#FFEA76;font-family:'Vera Medium Italic','Vera Medium',Georgia,serif;font-style:italic}
.x3-quote .x3-sub{font-family:'Gotham',Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5;color:#dfe8fb}
@media (max-width:820px){.x3-cards{grid-template-columns:1fr}.x3-turn{grid-template-columns:1fr}}

.eb{position:sticky;top:0;z-index:60;background:#FFEA76;color:#233C59}
#tysc-page.tysc-phase-regular .eb{display:none}
.eb-in{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 26px;padding:12px max(16px,env(safe-area-inset-left,0px))}
.eb p{margin:0;font-family:'Gotham',Helvetica,Arial,sans-serif;font-weight:700;font-size:15px}
.eb-tag{background:#233C59;color:#FFEA76;font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:5px 8px;border-radius:4px;margin-right:10px}
.eb-clock{font-family:'Vera Medium',Georgia,serif;font-weight:400;font-size:26px;font-variant-numeric:tabular-nums;margin-left:6px;vertical-align:-3px}
.eb-prices s{opacity:.55;text-decoration-thickness:2px}
.eb-prices strong{font-size:18px;margin-left:2px}
.eb-sep{display:inline-block;width:1px;height:14px;background:rgba(35,60,89,.35);margin:0 12px;vertical-align:-2px}
.eb-cta{background:#233C59;color:#fff!important;text-decoration:none!important;font-family:'Gotham',Helvetica,Arial,sans-serif;font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding:11px 18px;border-radius:999px}
.eb-bar{height:4px;background:rgba(35,60,89,.15)}
.eb-fill{display:block;height:100%;width:100%;background:#233C59;transform-origin:left;transition:transform 1s linear}

#tysc-learn .tysc-days{display:grid!important;grid-template-columns:1fr!important;gap:18px!important}
#tysc-learn .tysc-day{grid-column:auto!important}
#tysc-learn .tysc-day__num{font-family:'Vera Medium',Georgia,serif!important;font-size:30px!important;line-height:1.1!important;color:#293B57!important;letter-spacing:-.01em!important;text-transform:none!important}
#tysc-learn .tysc-day__num .dd{color:#5273CE;font-family:'Vera Medium Italic','Vera Medium',Georgia,serif;font-style:italic}
#tysc-learn .tysc-day__title{font-size:22px!important;font-family:'Gotham',Helvetica,Arial,sans-serif!important;font-weight:700!important;letter-spacing:.02em!important}
#tysc-learn .tysc-progress li{display:flex!important;flex-direction:column!important;gap:4px!important}
#tysc-learn .pg-day{font-family:'Gotham',Helvetica,Arial,sans-serif;font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:none;color:#5273CE}
.tysc-nav__links{gap:8px!important}
.tysc-nav__links a{display:inline-flex!important;align-items:center;gap:6px;padding:9px 14px!important;border-radius:999px!important;border:1px solid #C3D9FF!important;color:#293B57!important;text-decoration:none!important;font-weight:700!important;transition:background .2s,border-color .2s}
.tysc-nav__links a::after{content:'';width:7px;height:7px;border-right:2px solid #5273CE;border-bottom:2px solid #5273CE;transform:rotate(45deg) translateY(-2px);margin-left:2px}
.tysc-nav__links a:hover,.tysc-nav__links a:focus-visible{background:#EEF3FF!important;border-color:#5273CE!important;outline:none}

.tysc-day{position:relative}
.day-svg{position:absolute;top:22px;right:24px;width:96px;height:96px;opacity:.95;pointer-events:none}
.day-svg svg{width:100%;height:100%;display:block}
.tysc-day .tysc-day__title{padding-right:110px}
.tysc-day .tysc-day__head{padding-right:110px}
.tysc-day--featured .day-svg{width:120px;height:120px}
.tysc-section--navy .day-svg svg{stroke:#C3D9FF}
@media (max-width:600px){.day-svg{width:72px;height:72px;top:18px;right:16px}.tysc-day .tysc-day__title,.tysc-day .tysc-day__head{padding-right:84px}}

#tysc-passes .tysc-passes{display:grid!important;grid-template-columns:1.45fr .85fr!important;gap:28px!important;align-items:center!important}
@media (max-width:860px){#tysc-passes .tysc-passes{grid-template-columns:1fr!important}}
#tysc-passes .tysc-pass--vip{padding:44px 40px!important;transform:none;box-shadow:0 40px 80px -36px rgba(17,28,45,.75)!important;border:2px solid #FFEA76!important;position:relative}
#tysc-passes .tysc-pass--vip .tysc-pass__name{font-size:32px!important;letter-spacing:.02em!important;text-transform:none!important;font-family:'Vera Medium',Georgia,serif!important;color:#fff!important}
#tysc-passes .tysc-pass--vip .tysc-pass__badge{background:#FFEA76!important;color:#233C59!important;font-size:12px!important;padding:6px 12px!important}
#tysc-passes .tysc-pass--vip .tysc-cta{display:block!important;text-align:center!important;font-size:16px!important;padding:20px 28px!important}
#tysc-passes .tysc-pass--basic{background:#f6f7f9!important;border:1px solid #dde2ea!important;box-shadow:none!important;padding:28px 26px!important;opacity:.95}
#tysc-passes .tysc-pass--basic .tysc-pass__name{font-size:18px!important;color:#5b6577!important;text-transform:uppercase!important;letter-spacing:.14em!important;font-family:'Gotham',Helvetica,Arial,sans-serif!important}
#tysc-passes .tysc-pass--basic .ep-now{font-size:40px!important;color:#5b6577!important}
#tysc-passes .tysc-pass--basic .tysc-pass__best{display:none!important}
#tysc-passes .tysc-pass--basic .tysc-cta{background:transparent!important;color:#5b6577!important;border:1px solid #b9c1ce!important;box-shadow:none!important}
.vx-list{margin:22px 0 24px}
.vx-head{margin:0 0 12px!important;font-family:'Gotham',Helvetica,Arial,sans-serif!important;font-weight:700!important;font-size:13px!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:#FFEA76!important}
.vx-list ul{list-style:none!important;margin:0!important;padding:0!important;display:grid;gap:10px}
.vx-list li{display:flex!important;align-items:center;gap:12px;font-family:'Gotham',Helvetica,Arial,sans-serif;font-size:16px;line-height:1.35;margin:0!important;padding:0!important}
.vx-list li::before{content:'';flex:none;width:22px;height:22px;border-radius:50%;background-position:center;background-repeat:no-repeat;background-size:12px}
.vx-yes::before{background-color:#FFEA76;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.2 4.8 9 10 3' fill='none' stroke='%23233C59' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.tysc-pass--vip .vx-list li{color:#fff}
.vx-vip{background:rgba(255,234,118,.12);border:1px solid rgba(255,234,118,.45);border-radius:10px;padding:10px 12px!important;font-weight:700}
.vx-vip span{flex:1}
.vx-vip em{font-style:normal;flex:none;font-size:11px;letter-spacing:.14em;text-transform:uppercase;background:#FFEA76;color:#233C59;padding:4px 8px;border-radius:4px}
.vx-list--basic li{color:#5b6577;font-size:15px}
.vx-list--basic .vx-yes::before{background-color:#dde2ea;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.2 4.8 9 10 3' fill='none' stroke='%235b6577' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.vx-no{color:#8b95a7!important}
.vx-no::before{background-color:transparent;border:1px solid #c5ccd7;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 3l6 6M9 3 3 9' fill='none' stroke='%23b04a40' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E")}

#tysc-page:not(.tysc-phase-regular) #tysc-passes .ep-reg,#tysc-page.tysc-phase-regular #tysc-passes .ep-early,#tysc-page.tysc-phase-regular #tysc-passes .ep-card{display:none!important}
#tysc-page:not(.tysc-phase-regular) #tysc-passes .tysc-cd-row > .rc-bar:not(.ep-card){display:none!important}
.ep-label{margin:0 0 6px;font-family:'Gotham',Helvetica,Arial,sans-serif;font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#8A6A24}
.ep-row{margin:0;display:flex;align-items:baseline;gap:14px}
.ep-was{font-family:'Vera Medium',Georgia,serif;font-size:30px;color:#8b95a7;text-decoration-thickness:3px;text-decoration-color:#E0564B}
.ep-now{font-family:'Vera Medium',Georgia,serif;font-size:56px;line-height:1;color:#293B57}
.ep-ends{margin:10px 0 0;display:inline-flex;align-items:center;gap:8px;background:#FFEA76;color:#233C59;font-family:'Gotham',Helvetica,Arial,sans-serif;font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:7px 10px 6px;border-radius:6px}
.ep-ends b{font-variant-numeric:tabular-nums;font-size:14px;letter-spacing:.04em}
.ep-note{margin:0;color:#C3D9FF;font-family:'Gotham',Helvetica,Arial,sans-serif;font-size:14px;text-align:center}
.ep-card{border:2px solid #FFEA76!important}
.ep-toggle{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;margin:0 auto 28px;font-family:'Gotham',Helvetica,Arial,sans-serif;font-size:13px;color:#5b6577}
.ep-toggle button{font:inherit;font-weight:700;border:1px solid #C3D9FF;background:#fff;color:#293B57;border-radius:999px;padding:8px 14px;cursor:pointer}
.ep-toggle button[aria-pressed="true"]{background:#293B57;color:#fff;border-color:#293B57}
.tysc-pass .ep-label{font-family:'Gotham',Helvetica,Arial,sans-serif!important;font-weight:700!important;font-size:12px!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:#8A6A24!important;margin:0 0 6px!important}
.tysc-pass .ep-row{display:flex!important;align-items:baseline!important;gap:14px!important;margin:0!important}
.tysc-pass .ep-now{font-family:'Vera Medium',Georgia,serif!important;font-size:58px!important;line-height:1!important;color:#293B57!important}
.tysc-pass .ep-was{font-family:'Vera Medium',Georgia,serif!important;font-size:30px!important;color:#8b95a7!important;text-decoration:line-through!important;text-decoration-thickness:3px!important;text-decoration-color:#E0564B!important}
.tysc-pass .ep-ends{display:inline-flex!important;gap:8px!important;align-items:center!important;margin:12px 0 0!important;background:#FFEA76!important;color:#233C59!important;font-family:'Gotham',Helvetica,Arial,sans-serif!important;font-weight:700!important;font-size:12px!important;letter-spacing:.1em!important;text-transform:uppercase!important;padding:7px 10px 6px!important;border-radius:6px!important}
.tysc-pass--vip .ep-label{color:#FFEA76!important}
.tysc-pass--vip .ep-now{color:#ffffff!important}
.tysc-pass--vip .ep-was{color:#C3D9FF!important}

.tysc-cta-block{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;width:100%!important;max-width:none!important;margin-inline:auto!important}
.tysc-cta-block > a.tysc-cta{display:none!important}
.rc-bar--card{max-width:820px!important;width:100%!important;margin:32px auto 0!important;padding:34px 28px!important;border-radius:18px!important;background:#293B57!important;box-shadow:0 24px 48px -28px rgba(17,28,45,.6)}
.tysc-section--navy .rc-bar--card{background:#1f2f47!important;border:1px solid rgba(255,255,255,.14)}
.rc-bar--card .rc-bar__in{flex-direction:column!important;align-items:center!important;gap:20px!important}
.rc-cta{display:inline-block;background:#FFEA76;color:#233C59!important;font-family:'Gotham',Helvetica,Arial,sans-serif;font-weight:700;font-size:15px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none!important;padding:17px 34px 16px;border-radius:999px;transition:transform .2s ease,box-shadow .2s ease}
.rc-cta:hover,.rc-cta:focus-visible{transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(255,234,118,.7);outline:none}
.tysc-hero .rc-bar--card{margin-top:24px!important}
.rc-bar--card .rc-bar__dot{display:none}
.rc-bar--card .rc-bar__msg{text-wrap:balance}
@media (max-width:520px){.rc-cta{width:100%;text-align:center;padding-inline:18px}}

/* live-page overrides for the early action bar */
.tysc-page .tysc-urgency.eb{background:#FFEA76!important;background-blend-mode:normal!important;color:#233C59;box-shadow:0 8px 24px -16px rgba(10,20,34,.45)}
.tysc-page .tysc-urgency.eb::after{display:none}
.tysc-page .eb .tysc-urgency__timer{min-width:0;padding-left:0}
.tysc-page .eb .tysc-urgency__timer::before{display:none}
.tysc-page .eb .tysc-urgency__fallback{background:none!important;-webkit-text-fill-color:#233C59!important;color:#233C59!important;font-family:'Vera Medium',Georgia,serif;font-size:26px;line-height:1;margin-left:6px}
.tysc-page .eb .ddio_countdown_wrap{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.tysc-page.tysc-has-urgency{--tysc-urgency-h:72px}
@media (max-width:767px){.tysc-page.tysc-has-urgency{--tysc-urgency-h:132px}.eb-in{gap:8px 14px;padding-top:10px;padding-bottom:10px}.eb p{font-size:14px}}
.rc-bar--top{position:relative;z-index:5}

/* checkout popup Basic exclusions */
.tysc-co li.co-no{opacity:.7}
.tysc-co li.co-no::before{content:'✕'!important;color:#9AA6B8!important;background:none!important}

/* featured video (early on page) */
.fv{background:#fff;padding-block:56px 64px}
.fv-eye{margin:0 auto 18px;text-align:center;font-family:'Gotham',Helvetica,Arial,sans-serif;font-weight:700;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#5273CE}
.fv-frame,.tv-frame{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#16283F;box-shadow:0 30px 60px -36px rgba(17,28,45,.7)}
.fv-frame{max-width:960px;margin:0 auto}
.fv-frame iframe,.tv-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* testimonial videos */
.tv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:1100px;margin:40px auto 0}
.tv-item{margin:0}
.tv-item figcaption{margin-top:12px;text-align:center;font-family:'Gotham',Helvetica,Arial,sans-serif;font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#FFEA76}
@media (max-width:720px){.tv-grid{grid-template-columns:1fr;gap:22px}}
.co-tv{margin-top:32px;padding-top:24px;border-top:1px solid rgba(35,60,89,.14)}
.co-tv__lab{margin:0 0 14px;text-align:center;font-family:'Gotham',Helvetica,Arial,sans-serif;font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#5273CE}
.co-tv__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.co-tv__grid .tv-frame{border-radius:10px;box-shadow:none}
@media (max-width:720px){.co-tv__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* fixes: digit spans painted by the countdown script; early state hides the registration clock in cards */
.rc-unit b span{display:inline!important;margin:0!important;font:inherit!important;color:inherit!important;letter-spacing:0!important;text-transform:none!important}
#tysc-page:not(.tysc-phase-regular) .rc-bar--card:not(.ep-card) .rc-bar__clock{display:none!important}

.vxe{position:relative;margin-top:22px;padding:22px 20px 20px;border-radius:16px;background:linear-gradient(160deg,rgba(255,234,118,.16),rgba(255,234,118,.03) 55%),#1c2d45;border:1px solid transparent;background-clip:padding-box;box-shadow:inset 0 1px 0 rgba(255,247,207,.25),0 18px 40px -24px rgba(0,0,0,.6)}
.vxe::before{content:'';position:absolute;inset:-1px;border-radius:17px;padding:1px;background:linear-gradient(115deg,#9A7428,#FFEA76 30%,#FFF7CF 42%,#C99F3F 70%,#FFE98A);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.vxe-head{margin:0 0 16px!important;display:flex;align-items:center;gap:12px;font-family:'Gotham',Helvetica,Arial,sans-serif;font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#FFEA76}
.vxe-head::before,.vxe-head::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,rgba(255,234,118,0),rgba(255,234,118,.7))}
.vxe-head::after{background:linear-gradient(90deg,rgba(255,234,118,.7),rgba(255,234,118,0))}
.vxe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.vxe-tile{text-align:center;padding:18px 12px 16px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,234,118,.22);transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s,background .3s}
.vxe-tile:hover{transform:translateY(-3px);border-color:rgba(255,234,118,.6);background:rgba(255,234,118,.08)}
.vxe-ico{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;color:#233C59;background:linear-gradient(135deg,#EDCD63,#FFEA76 35%,#FFF7D2 55%,#F0D06A);box-shadow:0 0 0 6px rgba(255,234,118,.12),0 10px 22px -10px rgba(255,234,118,.8);margin-bottom:12px}
.vxe-ico svg{width:24px;height:24px}
.vxe-t{margin:0 0 6px!important;font-family:'Vera Medium',Georgia,serif;font-size:22px;line-height:1.1;color:#fff}
.vxe-d{margin:0!important;font-family:'Gotham',Helvetica,Arial,sans-serif;font-size:13px;line-height:1.4;color:#C3D9FF}
@media (max-width:560px){.vxe-grid{grid-template-columns:1fr}.vxe-tile{display:grid;grid-template-columns:52px 1fr;column-gap:14px;text-align:left;align-items:center}.vxe-ico{grid-row:span 2;margin:0}.vxe-t{align-self:end}.vxe-d{align-self:start}}

.vxe .vxe-head{font-family:'Gotham',Helvetica,Arial,sans-serif!important;font-weight:700!important;font-size:12px!important;letter-spacing:.2em!important;text-transform:uppercase!important;color:#FFEA76!important;line-height:1.2!important}
.vxe .vxe-t{font-family:'Vera Medium',Georgia,serif!important;font-weight:400!important;font-size:22px!important;line-height:1.1!important;color:#fff!important;letter-spacing:0!important}
.vxe .vxe-d{font-family:'Gotham',Helvetica,Arial,sans-serif!important;font-size:13px!important;line-height:1.4!important;color:#C3D9FF!important}

/* testimonial videos sprinkled through the page */
.tvs{padding-block:64px}
.tvs--mist{background:#F6F8FC}.tvs--white{background:#fff}.tvs--navy{background:#233C59}
.tvs-in{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:center;max-width:1100px}
.tvs--l .tvs-copy{order:2}.tvs--l .tvs-frame{order:1}
.tvs-eye{margin:0 0 10px!important;font-family:'Gotham',Helvetica,Arial,sans-serif!important;font-weight:700!important;font-size:12px!important;letter-spacing:.2em!important;text-transform:uppercase!important;color:#5273CE!important}
.tvs-t{margin:0 0 12px!important;font-family:'Vera Medium',Georgia,serif!important;font-weight:400!important;font-size:clamp(32px,4vw,52px)!important;line-height:1.05!important;color:#233C59!important}
.tvs-sub{margin:0!important;font-family:'Gotham',Helvetica,Arial,sans-serif!important;font-size:15px!important;line-height:1.5!important;color:#5E6577!important}
.tvs--navy .tvs-eye{color:#FFEA76!important}.tvs--navy .tvs-t{color:#fff!important}.tvs--navy .tvs-sub{color:#C3D9FF!important}
.tvs-copy{border-left:3px solid #FFEA76;padding-left:22px}
@media (max-width:820px){.tvs{padding-block:44px}.tvs-in{grid-template-columns:1fr;gap:20px}.tvs--l .tvs-copy,.tvs--l .tvs-frame{order:0}}
.vxe--co{margin:14px 0 18px;padding:16px 12px 14px}
.vxe--co .vxe-grid{gap:8px}
.vxe--co .vxe-tile{padding:12px 6px 10px}
.vxe--co .vxe-ico{width:38px;height:38px;margin-bottom:8px}
.vxe--co .vxe-ico svg{width:18px;height:18px}
.vxe--co .vxe .vxe-t,.vxe.vxe--co .vxe-t{font-size:16px!important}
.vxe.vxe--co .vxe-d{font-size:11.5px!important}
.tvs-in{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)!important}
.tvs--l .tvs-in{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)!important}
@media (max-width:820px){.tvs-in,.tvs--l .tvs-in{grid-template-columns:1fr!important}}
