.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-1255 .elementor-element.elementor-element-widget_m7m11egzd .elementor-icon-list-icon i{color:#828080;transition:color 0.3s;}.elementor-1255 .elementor-element.elementor-element-widget_m7m11egzd .elementor-icon-list-icon svg{fill:#828080;transition:fill 0.3s;}.elementor-1255 .elementor-element.elementor-element-widget_m7m11egzd{--e-icon-list-icon-size:1.1rem;--icon-vertical-offset:0px;}.elementor-1255 .elementor-element.elementor-element-widget_m7m11egzd .elementor-icon-list-item > .elementor-icon-list-text, .elementor-1255 .elementor-element.elementor-element-widget_m7m11egzd .elementor-icon-list-item > a{font-size:1.05rem;line-height:1.6em;}.elementor-1255 .elementor-element.elementor-element-widget_m7m11egzd .elementor-icon-list-text{color:#000000;transition:color 0.3s;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );}.elementor-1255 .elementor-element.elementor-element-widget_4xiwbcgbe{margin:30px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-1255 .elementor-element.elementor-element-widget_4xiwbcgbe .elementor-field-group{padding-right:calc( 1rem/2 );padding-left:calc( 1rem/2 );margin-bottom:1rem;}.elementor-1255 .elementor-element.elementor-element-widget_4xiwbcgbe .elementor-form-fields-wrapper{margin-left:calc( -1rem/2 );margin-right:calc( -1rem/2 );margin-bottom:-1rem;}.elementor-1255 .elementor-element.elementor-element-widget_4xiwbcgbe .elementor-field-group.recaptcha_v3-bottomleft, .elementor-1255 .elementor-element.elementor-element-widget_4xiwbcgbe .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-1255 .elementor-element.elementor-element-widget_4xiwbcgbe .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-1255 .elementor-element.elementor-element-widget_4xiwbcgbe .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-1255 .elementor-element.elementor-element-widget_4xiwbcgbe .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-1255 .elementor-element.elementor-element-widget_4xiwbcgbe .elementor-field-type-html{padding-bottom:0px;}.elementor-1255 .elementor-element.elementor-element-widget_4xiwbcgbe .elementor-field-group .elementor-field{color:#000000;}.elementor-1255 .elementor-element.elementor-element-widget_4xiwbcgbe .elementor-field-group .elementor-field, .elementor-1255 .elementor-element.elementor-element-widget_4xiwbcgbe .elementor-field-subgroup label{font-family:"Arial", Sans-serif;font-size:0.95rem;}.elementor-1255 .elementor-element.elementor-element-widget_4xiwbcgbe .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#f9f9f9;border-color:#e0e0e0;border-width:1px 1px 1px 1px;border-radius:6px 6px 6px 6px;}.elementor-1255 .elementor-element.elementor-element-widget_4xiwbcgbe .elementor-field-group .elementor-select-wrapper select{background-color:#f9f9f9;border-color:#e0e0e0;border-width:1px 1px 1px 1px;border-radius:6px 6px 6px 6px;}.elementor-1255 .elementor-element.elementor-element-widget_4xiwbcgbe .elementor-field-group .elementor-select-wrapper::before{color:#e0e0e0;}.elementor-1255 .elementor-element.elementor-element-widget_4xiwbcgbe .elementor-button{font-family:"Arial", Sans-serif;font-size:1rem;font-weight:700;border-style:none;border-radius:6px 6px 6px 6px;padding:1rem 2rem 1rem 2rem;}.elementor-1255 .elementor-element.elementor-element-widget_4xiwbcgbe .e-form__buttons__wrapper__button-next{background-color:#102A43;color:#ffffff;}.elementor-1255 .elementor-element.elementor-element-widget_4xiwbcgbe .elementor-button[type="submit"]{background-color:#102A43;color:#ffffff;}.elementor-1255 .elementor-element.elementor-element-widget_4xiwbcgbe .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-1255 .elementor-element.elementor-element-widget_4xiwbcgbe .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-1255 .elementor-element.elementor-element-widget_4xiwbcgbe .e-form__buttons__wrapper__button-next:hover{background-color:#333333;color:#ffffff;}.elementor-1255 .elementor-element.elementor-element-widget_4xiwbcgbe .elementor-button[type="submit"]:hover{background-color:#333333;color:#ffffff;}.elementor-1255 .elementor-element.elementor-element-widget_4xiwbcgbe .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-1255 .elementor-element.elementor-element-widget_4xiwbcgbe .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-1255 .elementor-element.elementor-element-widget_xuduluo43{--n-accordion-title-font-size:1.1rem;--n-accordion-title-justify-content:space-between;--n-accordion-title-flex-grow:1;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:1rem;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-normal-color:#000000;--n-accordion-title-hover-color:#000000;--n-accordion-title-active-color:#000000;--n-accordion-icon-size:0.85rem;--n-accordion-icon-normal-color:#666666;}.elementor-1255 .elementor-element.elementor-element-widget_xuduluo43 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title{background-color:#ffffff;border-style:solid;border-width:1px 1px 1px 1px;border-color:#e5e7eb;}:where( .elementor-1255 .elementor-element.elementor-element-widget_xuduluo43 > .e-n-accordion > .e-n-accordion-item ) > .e-con{background-color:#ffffff;border-style:solid;border-width:0px 1px 1px 1px;border-color:#e5e7eb;--border-radius:0rem 0rem 0.5rem 0.5rem;}.elementor-1255 .elementor-element.elementor-element-widget_xuduluo43 {--n-accordion-padding:1.25rem 1.5rem 1.25rem 1.5rem;}:where( .elementor-1255 .elementor-element.elementor-element-widget_xuduluo43 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Arial", Sans-serif;font-weight:600;line-height:1.4em;}@media(max-width:1024px){.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-1255 .elementor-element.elementor-element-widget_m7m11egzd .elementor-icon-list-item > .elementor-icon-list-text, .elementor-1255 .elementor-element.elementor-element-widget_m7m11egzd .elementor-icon-list-item > a{line-height:1.36em;}.elementor-widget-form .elementor-field-group > label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-form .elementor-field-type-html{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-form .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-form .elementor-message{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}:where( .elementor-1255 .elementor-element.elementor-element-widget_xuduluo43 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{line-height:1.19em;}}@media(max-width:767px){.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-form .elementor-field-group > label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-form .elementor-field-type-html{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-form .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-form .elementor-message{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}}/* Start custom CSS *//* =====================================================================
   INTERVIEW READINESS DIAGNOSTIC — refined stylesheet
   Same class names · same palette · same Elementor structure.
   Palette: navy #102A43 · orange #F47721 · cream #F8F5EF
            soft slate #F1F5F9 · ink muted #5F6873

   What changed vs. the basic version
   - Shared rules are grouped, so every section follows one rhythm
   - Fluid spacing + type (no more padding overrides in media queries)
   - Layered shadows, a radius scale, and a clear type scale
   - Hover/open states, keyboard focus rings, reduced-motion support
   - Cards, badges, timeline and form states designed, not just coloured
   ===================================================================== */

/* =====================================================================
   0. TOKENS + BASE
   ===================================================================== */
:root {
  /* palette (unchanged) */
  --ca-navy: #102A43;
  --ca-orange: #F47721;
  --ca-orange-dark: #E0650F;
  --ca-cream: #F8F5EF;
  --ca-slate-soft: #F1F5F9;
  --ca-ink-muted: #5F6873;
  --ca-ink-lead: #46536A;
  --ca-line: #E5E0D8;
  --ca-line-strong: #CBD4DF;

  /* supporting tones derived from the palette */
  --ca-navy-mid: #174A7E;
  --ca-on-navy: #C8D5E9;
  --ca-on-navy-dim: #9FB3CC;
  --ca-orange-tint: rgba(244, 119, 33, .10);
  --ca-orange-edge: rgba(244, 119, 33, .30);

  /* radius scale */
  --ca-radius-lg: 24px;
  --ca-radius: 18px;
  --ca-radius-sm: 12px;

  /* shadow scale (layered = softer, more natural) */
  --ca-shadow-sm: 0 1px 2px rgba(16,42,67,.04), 0 2px 8px rgba(16,42,67,.04);
  --ca-shadow-md: 0 2px 4px rgba(16,42,67,.04), 0 12px 28px rgba(16,42,67,.08);
  --ca-shadow-lg: 0 4px 8px rgba(16,42,67,.05), 0 24px 56px rgba(16,42,67,.13);

  /* spacing */
  --ca-section-y: clamp(56px, 7vw, 96px);
  --ca-gutter: clamp(16px, 4vw, 24px);
  --ca-max: 1120px;

  --ca-font: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --ca-ease: cubic-bezier(.2, .7, .2, 1);
}

html { scroll-behavior: smooth; }

body :is(#experience, #diagnostic, #schedule, #registration, #faq) {
  scroll-margin-top: 24px;
}

/* One font everywhere, crisp rendering */
body :is(.topbar-bar, .hero, .wrap-exp, .wrap-diag, .wrap-sched,
         .wrap-epic, .wrap-price, .wrap-faq) {
  font-family: var(--ca-font);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Elementor heading widgets: let our class control the type */
body :is(.hero-title, .h2-exp, .h2-diag, .h2-diag-left, .h2-sched, .h2-epic,
         .h2-price, .h2-faq, .h3-agenda, .h3-epic, .h3-reg) .elementor-heading-title {
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  line-height: inherit !important;
  margin: 0 !important;
}

/* Elementor text widgets: neutralise inner <p> defaults */
body :is(.eyebrow, .kicker, .lead, .pill, .price, .hero-note, .play, .video-name,
         .video-sub, .video-caption, .p-exp, .p-diag, .p-sched, .p-epic,
         .p-epic-card, .p-price, .p-price-note, .p-reg, .p-time, .p-agenda,
         .report-title, .sample, .report-note, .time, .time-strong, .note,
         .agenda-time, .epic-letter, .price-big, .form-help) p {
  margin: 0;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
}

/* Keyboard focus — visible everywhere */
body :is(a, button, input, select, textarea, .elementor-tab-title):focus-visible {
  outline: 3px solid var(--ca-orange-edge);
  outline-offset: 2px;
}

/* =====================================================================
   1. SHARED SECTION SYSTEM
   Every .wrap-* / .inner-* / .head-* / .h2-* / .p-* / .kicker / .btn
   follows one set of rules; sections only differ by background.
   ===================================================================== */
body :is(.wrap-exp, .wrap-diag, .wrap-sched, .wrap-epic, .wrap-price, .wrap-faq) {
  width: 100%;
  padding: var(--ca-section-y) var(--ca-gutter) !important;
  box-sizing: border-box;
  display: block !important;
}
body :is(.inner-exp, .inner-diag, .inner-sched, .inner-epic, .inner-price, .inner-faq) {
  width: 100%;
  max-width: var(--ca-max);
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(28px, 4vw, 44px) !important;
  box-sizing: border-box;
}
body :is(.head-exp, .head-diag, .head-sched, .head-epic, .head-faq) {
  max-width: 700px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* Kicker: a short orange rule + sentence-case label (replaces tracked caps) */
body .kicker {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--ca-orange) !important;
  font-family: var(--ca-font) !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}
body .kicker::before {
  content: "";
  flex: 0 0 24px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
}

/* Section headings */
body :is(.h2-exp, .h2-diag, .h2-sched, .h2-epic, .h2-price, .h2-faq) {
  color: var(--ca-navy) !important;
  font-family: var(--ca-font) !important;
  font-size: clamp(1.9rem, 3.2vw, 2.85rem) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: -.035em !important;
  margin: 0 !important;
  text-wrap: balance;
}
/* Section intro paragraphs */
body :is(.p-exp, .p-diag, .p-sched, .p-epic, .p-price) {
  color: var(--ca-ink-muted) !important;
  font-family: var(--ca-font) !important;
  font-size: 1.06rem !important;
  line-height: 1.7 !important;
  margin: 0 !important;
  max-width: 62ch;
}

/* Section backgrounds */
body .wrap-exp   { background: #FFFFFF !important; }
body .wrap-diag  { background: var(--ca-slate-soft) !important; }
body .wrap-sched { background: #FFFFFF !important; }
body .wrap-epic  { background: var(--ca-cream) !important; }
body .wrap-price { background: var(--ca-slate-soft) !important; }
body .wrap-faq   { background: #FFFFFF !important; }

/* CTA row */
body :is(.cta-diag, .cta-sched, .cta-epic) {
  display: flex !important;
  justify-content: center;
  margin-top: 8px;
}

/* Primary button — one definition for every CTA on the page */
body .btn .elementor-button,
body a.btn,
body .form-grid .elementor-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--ca-font) !important;
  font-size: .98rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -.005em;
  padding: 14px 24px !important;
  border-radius: var(--ca-radius-sm) !important;
  background: var(--ca-orange) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--ca-orange) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.25) inset, 0 6px 16px rgba(244,119,33,.24);
  text-decoration: none !important;
  cursor: pointer;
  transition: background .2s var(--ca-ease), border-color .2s var(--ca-ease),
              box-shadow .2s var(--ca-ease), transform .2s var(--ca-ease);
}
body .btn .elementor-button * { color: #FFFFFF !important; }
body .btn .elementor-button:hover,
body a.btn:hover,
body .form-grid .elementor-button:hover {
  background: var(--ca-orange-dark) !important;
  border-color: var(--ca-orange-dark) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.2) inset, 0 10px 22px rgba(244,119,33,.30);
  transform: translateY(-1px);
}
body .btn .elementor-button:active,
body a.btn:active,
body .form-grid .elementor-button:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(244,119,33,.25);
}

/* =====================================================================
   2. TOPBAR
   ===================================================================== */
body .topbar-bar {
  width: 100%;
  padding: 12px var(--ca-gutter) !important;
  background: var(--ca-navy) !important;
  box-sizing: border-box;
  text-align: center;
}
body .topbar-bar p {
  color: var(--ca-on-navy) !important;
  font-family: var(--ca-font) !important;
  font-size: .84rem !important;
  font-weight: 500 !important;
  letter-spacing: .01em !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}
body .topbar-bar a { color: #FFFFFF !important; text-decoration: underline; text-underline-offset: 3px; }

/* =====================================================================
   3. HERO
   ===================================================================== */
body .hero {
  width: 100%;
  padding: clamp(56px, 8vw, 104px) var(--ca-gutter) !important;
  background:
    radial-gradient(60% 50% at 88% 0%, rgba(244,119,33,.10), transparent 70%),
    linear-gradient(125deg, #F8F5EF, #FFFFFF 58%, #EAF1F8) !important;
  display: flex;
  justify-content: center;
  box-sizing: border-box;
}
body .hero-grid {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: clamp(32px, 5vw, 64px) !important;
  width: 100%;
  max-width: var(--ca-max);
  margin: 0 auto;
  padding: 0 !important;
}
body .hero-left {
  flex: 1.08 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
body .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--ca-orange) !important;
  font-family: var(--ca-font) !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}
body .eyebrow::before {
  content: "";
  width: 24px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
}
body .hero-title {
  color: var(--ca-navy) !important;
  font-family: var(--ca-font) !important;
  font-size: clamp(2.5rem, 5.4vw, 4.4rem) !important;
  font-weight: 800 !important;
  line-height: 1.04 !important;
  letter-spacing: -.045em !important;
  margin: 16px 0 22px !important;
  text-wrap: balance;
}
body .hero-title em {
  color: var(--ca-orange) !important;
  font-style: italic !important;
  padding: 0 .06em;
  background: linear-gradient(transparent 80%, rgba(244,119,33,.18) 80%);
}
body .lead {
  color: var(--ca-ink-lead) !important;
  font-family: var(--ca-font) !important;
  font-size: clamp(1.05rem, 1.4vw, 1.2rem) !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  max-width: 56ch;
}
body .hero-points {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px !important;
  margin: 26px 0 !important;
}
body .pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ca-navy) !important;
  background: #FFFFFF !important;
  border: 1px solid var(--ca-line-strong) !important;
  border-radius: 999px !important;
  padding: 7px 14px !important;
  font-family: var(--ca-font) !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  box-shadow: var(--ca-shadow-sm);
}
body .pill::before {
  content: "";
  flex: 0 0 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ca-orange);
}
body .price-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: wrap;
  gap: 14px 24px !important;
  margin: 8px 0 18px !important;
}
body .price {
  color: var(--ca-navy) !important;
  font-family: var(--ca-font) !important;
  font-size: 2rem !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: -.03em !important;
  font-variant-numeric: tabular-nums;
  margin: 0 !important;
}
body .price small {
  color: var(--ca-ink-muted) !important;
  font-size: .86rem !important;
  font-weight: 500 !important;
  letter-spacing: 0;
}
body .hero-note {
  color: var(--ca-ink-muted) !important;
  font-family: var(--ca-font) !important;
  font-size: .86rem !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* Video card */
body .video-card {
  flex: 0 0 420px !important;
  width: 420px;
  max-width: 100%;
  display: flex !important;
  flex-direction: column !important;
  border-radius: var(--ca-radius-lg) !important;
  overflow: hidden;
  background: var(--ca-navy) !important;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: var(--ca-shadow-lg);
}
body .video-screen {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  gap: 10px !important;
  width: 100%;
  aspect-ratio: 16 / 10;
  padding: 0 !important;
  background:
    radial-gradient(circle at 78% 12%, rgba(244,119,33,.42), transparent 38%),
    radial-gradient(circle at 10% 100%, rgba(255,255,255,.06), transparent 40%),
    linear-gradient(145deg, var(--ca-navy-mid), var(--ca-navy)) !important;
}
body .video-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 !important;
}
body .play {
  display: grid !important;
  place-items: center;
  width: 72px;
  height: 72px;
  margin: 0 !important;
  padding: 0 0 0 4px !important;
  border-radius: 50%;
  background: var(--ca-orange);
  color: #FFFFFF !important;
  font-size: 1.4rem !important;
  line-height: 1 !important;
  box-shadow: 0 0 0 10px rgba(255,255,255,.08), 0 10px 24px rgba(0,0,0,.25);
  transition: transform .25s var(--ca-ease), box-shadow .25s var(--ca-ease);
}
body .video-card:hover .play {
  transform: scale(1.07);
  box-shadow: 0 0 0 14px rgba(255,255,255,.10), 0 14px 30px rgba(0,0,0,.30);
}
body .video-name {
  color: #FFFFFF !important;
  font-family: var(--ca-font) !important;
  font-size: 1.02rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}
body .video-sub {
  color: var(--ca-on-navy) !important;
  font-family: var(--ca-font) !important;
  font-size: .86rem !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  text-align: center !important;
  max-width: 260px;
}
body .video-caption {
  color: var(--ca-on-navy) !important;
  font-family: var(--ca-font) !important;
  font-size: .86rem !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  padding: 16px 22px !important;
  border-top: 1px solid rgba(255,255,255,.08);
}
body .video-caption b { color: #FFFFFF !important; font-weight: 700; }

/* =====================================================================
   4. THE EXPERIENCE
   ===================================================================== */
body .grid-exp {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px !important;
}
body .grid-exp :is(.problem, .problem-hl) {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  border-radius: var(--ca-radius) !important;
  padding: 34px 30px 30px !important;
  transition: transform .25s var(--ca-ease), box-shadow .25s var(--ca-ease),
              border-color .25s var(--ca-ease);
}
/* short accent rule — marks each card without adding noise */
body .grid-exp :is(.problem, .problem-hl)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 30px;
  width: 40px;
  height: 3px;
  border-radius: 0 0 3px 3px;
  background: var(--ca-orange);
}
body .grid-exp .problem {
  background: #FFFFFF !important;
  border: 1px solid var(--ca-line) !important;
  box-shadow: var(--ca-shadow-sm);
}
body .grid-exp .problem:hover {
  transform: translateY(-3px);
  border-color: var(--ca-line-strong) !important;
  box-shadow: var(--ca-shadow-md);
}
body .grid-exp .problem-hl {
  background:
    radial-gradient(70% 60% at 100% 0%, rgba(244,119,33,.20), transparent 70%),
    var(--ca-navy) !important;
  border: 1px solid var(--ca-navy) !important;
  box-shadow: var(--ca-shadow-md);
}
body .grid-exp .problem-hl:hover {
  transform: translateY(-3px);
  box-shadow: var(--ca-shadow-lg);
}
body .grid-exp :is(.problem, .problem-hl) h3 {
  font-family: var(--ca-font) !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  letter-spacing: -.02em !important;
  margin: 0 0 12px !important;
}
body .grid-exp :is(.problem, .problem-hl) p {
  font-family: var(--ca-font) !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}
body .grid-exp .problem h3    { color: var(--ca-navy) !important; }
body .grid-exp .problem p     { color: var(--ca-ink-muted) !important; }
body .grid-exp .problem-hl h3 { color: #FFFFFF !important; }
body .grid-exp .problem-hl p  { color: var(--ca-on-navy) !important; }

/* =====================================================================
   5. AI DIAGNOSTIC
   ===================================================================== */
body .col2-diag {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: clamp(28px, 5vw, 56px) !important;
}
body .col2-left {
  flex: 1.1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
body .h2-diag-left {
  color: var(--ca-navy) !important;
  font-family: var(--ca-font) !important;
  font-size: clamp(1.5rem, 2.5vw, 2.05rem) !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  letter-spacing: -.03em !important;
  margin: 0 0 20px !important;
  text-wrap: balance;
}
body .check-list { margin: 0 !important; padding: 0 !important; }
body .check-list .elementor-icon-list-item {
  margin: 0 !important;
  padding: 13px 0 !important;
  border-bottom: 1px solid var(--ca-line-strong);
}
body .check-list .elementor-icon-list-item:last-child { border-bottom: 0; }
body .check-list .elementor-icon-list-text {
  color: var(--ca-ink-lead) !important;
  font-family: var(--ca-font) !important;
  font-size: 1.02rem !important;
  line-height: 1.55 !important;
}
body .check-list .elementor-icon-list-icon {
  color: var(--ca-orange) !important;
  align-self: flex-start;
  padding-top: 3px;
}
body .report {
  flex: .9 1 0;
  min-width: 0;
  display: flex !important;
  flex-direction: column !important;
  background: #FFFFFF !important;
  border: 1px solid var(--ca-line) !important;
  border-radius: var(--ca-radius-lg) !important;
  padding: 26px !important;
  box-shadow: var(--ca-shadow-lg);
}
body .report-head {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 0 18px !important;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--ca-line);
}
body .report-title {
  color: var(--ca-navy) !important;
  font-family: var(--ca-font) !important;
  font-size: 1.02rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  letter-spacing: -.01em !important;
  margin: 0 !important;
}
body .sample {
  color: var(--ca-orange-dark) !important;
  background: var(--ca-orange-tint) !important;
  border: 1px solid var(--ca-orange-edge) !important;
  border-radius: 999px !important;
  padding: 3px 11px !important;
  font-family: var(--ca-font) !important;
  font-size: .74rem !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  white-space: nowrap;
}
body .report-image img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  border: 1px solid var(--ca-line);
  border-radius: 14px !important;
  margin: 0 0 18px !important;
}
body .report-note {
  color: var(--ca-ink-muted) !important;
  font-family: var(--ca-font) !important;
  font-size: .88rem !important;
  line-height: 1.65 !important;
  margin: 4px 0 0 !important;
}
body .report-note b { color: var(--ca-navy) !important; font-weight: 700 !important; }

/* =====================================================================
   6. DAILY SCHEDULE
   ===================================================================== */
body .sched-wrap {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 28px !important;
}
body .time-card {
  flex: 0 0 360px;
  position: sticky;
  top: 24px;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  background:
    radial-gradient(80% 60% at 100% 0%, rgba(244,119,33,.22), transparent 70%),
    var(--ca-navy) !important;
  border-radius: var(--ca-radius-lg) !important;
  padding: 34px !important;
  box-shadow: var(--ca-shadow-lg);
}
body .time-card .kicker { color: #FFB27A !important; }
body .time {
  color: #FFFFFF !important;
  font-family: var(--ca-font) !important;
  font-size: clamp(2.1rem, 3.6vw, 3rem) !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  letter-spacing: -.04em !important;
  font-variant-numeric: tabular-nums;
  margin: 0 !important;
}
body .time-strong {
  color: #FFFFFF !important;
  font-family: var(--ca-font) !important;
  font-size: 1.02rem !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}
body .p-time {
  color: var(--ca-on-navy) !important;
  font-family: var(--ca-font) !important;
  font-size: .94rem !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}
body .note {
  color: var(--ca-on-navy-dim) !important;
  font-family: var(--ca-font) !important;
  font-size: .84rem !important;
  line-height: 1.6 !important;
  border-top: 1px solid rgba(255,255,255,.14) !important;
  padding-top: 16px !important;
  margin: 0 !important;
}
body .agenda {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
body .agenda-item {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 22px !important;
  background: #FFFFFF !important;
  border: 1px solid var(--ca-line) !important;
  border-radius: var(--ca-radius) !important;
  padding: 24px 26px !important;
  box-shadow: var(--ca-shadow-sm);
  transition: transform .25s var(--ca-ease), box-shadow .25s var(--ca-ease),
              border-color .25s var(--ca-ease);
}
body .agenda-item:hover {
  transform: translateY(-2px);
  border-color: var(--ca-orange-edge) !important;
  box-shadow: var(--ca-shadow-md);
}
body .agenda-time {
  flex: 0 0 auto;
  min-width: 58px;
  padding: 7px 10px !important;
  border-radius: 10px;
  background: var(--ca-orange-tint);
  color: var(--ca-orange-dark) !important;
  font-family: var(--ca-font) !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  font-variant-numeric: tabular-nums;
  text-align: center;
  margin: 0 !important;
}
body .h3-agenda {
  color: var(--ca-navy) !important;
  font-family: var(--ca-font) !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  letter-spacing: -.02em !important;
  margin: 0 0 6px !important;
}
body .p-agenda {
  color: var(--ca-ink-muted) !important;
  font-family: var(--ca-font) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

/* =====================================================================
   7. EPIC
   ===================================================================== */
body .epic {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
body .epic-card {
  display: flex !important;
  flex-direction: column !important;
  background: #FFFFFF !important;
  border: 1px solid var(--ca-line) !important;
  border-radius: var(--ca-radius) !important;
  padding: 28px 24px !important;
  box-shadow: var(--ca-shadow-sm);
  transition: transform .25s var(--ca-ease), box-shadow .25s var(--ca-ease),
              border-color .25s var(--ca-ease);
}
body .epic-card:hover {
  transform: translateY(-3px);
  border-color: var(--ca-orange-edge) !important;
  box-shadow: var(--ca-shadow-md);
}
/* the letter sits in a badge that fills on hover */
body .epic-letter {
  display: grid;
  place-items: center;
  align-self: flex-start;
  width: 54px;
  height: 54px;
  margin: 0 0 20px !important;
  border-radius: 15px;
  background: var(--ca-orange-tint);
  color: var(--ca-orange-dark) !important;
  font-family: var(--ca-font) !important;
  font-size: 1.7rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -.02em !important;
  transition: background .25s var(--ca-ease), color .25s var(--ca-ease);
}
body .epic-card:hover .epic-letter {
  background: var(--ca-orange);
  color: #FFFFFF !important;
}
body .h3-epic {
  color: var(--ca-navy) !important;
  font-family: var(--ca-font) !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  letter-spacing: -.02em !important;
  margin: 0 0 8px !important;
}
body .p-epic-card {
  color: var(--ca-ink-muted) !important;
  font-family: var(--ca-font) !important;
  font-size: .98rem !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

/* =====================================================================
   8. PRICE + REGISTRATION
   ===================================================================== */
body .price-panel {
  position: relative;
  overflow: hidden;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 16px !important;
  background: #FFFFFF !important;
  border: 1px solid var(--ca-line) !important;
  border-radius: var(--ca-radius-lg) !important;
  padding: 56px 32px 48px !important;
  box-shadow: var(--ca-shadow-md);
}
body .price-panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, var(--ca-orange), var(--ca-orange-dark));
}
body .price-panel .kicker { justify-content: center; }
body .price-panel .p-price { margin-inline: auto !important; }
body .price-big {
  color: var(--ca-navy) !important;
  font-family: var(--ca-font) !important;
  font-size: clamp(3.2rem, 6.5vw, 4.8rem) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -.05em !important;
  font-variant-numeric: tabular-nums;
  margin: 8px 0 0 !important;
}
body .p-price-note {
  color: var(--ca-ink-muted) !important;
  font-family: var(--ca-font) !important;
  font-size: .92rem !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

body .registration {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  background: #FFFFFF !important;
  border: 1px solid var(--ca-line) !important;
  border-radius: var(--ca-radius-lg) !important;
  padding: clamp(24px, 4vw, 40px) !important;
  box-shadow: var(--ca-shadow-md);
}
body .h3-reg {
  color: var(--ca-navy) !important;
  font-family: var(--ca-font) !important;
  font-size: 1.4rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  letter-spacing: -.025em !important;
  margin: 0 0 4px !important;
}
body .p-reg {
  color: var(--ca-ink-muted) !important;
  font-family: var(--ca-font) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}
body .form-grid .elementor-field-label {
  color: var(--ca-navy) !important;
  font-family: var(--ca-font) !important;
  font-size: .88rem !important;
  font-weight: 600 !important;
  margin-bottom: 6px;
}
/* text-like fields only — checkboxes and radios keep their native size */
body .form-grid :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea) {
  width: 100% !important;
  min-height: 48px;
  font-family: var(--ca-font) !important;
  font-size: .98rem !important;
  color: var(--ca-navy) !important;
  background: #FFFFFF !important;
  border: 1px solid var(--ca-line-strong) !important;
  border-radius: var(--ca-radius-sm) !important;
  padding: 12px 14px !important;
  box-sizing: border-box !important;
  transition: border-color .2s var(--ca-ease), box-shadow .2s var(--ca-ease);
}
body .form-grid textarea { min-height: 120px; }
body .form-grid :is(input, textarea)::placeholder { color: #8794A6 !important; }
body .form-grid :is(input, select, textarea):hover { border-color: #AEBBCB !important; }
body .form-grid :is(input, select, textarea):focus {
  outline: none !important;
  border-color: var(--ca-orange) !important;
  box-shadow: 0 0 0 4px rgba(244,119,33,.15) !important;
}
body .form-grid .elementor-button { width: 100% !important; }
body .form-help {
  color: var(--ca-ink-muted) !important;
  font-family: var(--ca-font) !important;
  font-size: .84rem !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* =====================================================================
   9. FAQ
   ===================================================================== */
body .faq .elementor-accordion-item {
  background: #FFFFFF !important;
  border: 1px solid var(--ca-line) !important;
  border-radius: var(--ca-radius-sm) !important;
  margin-bottom: 12px !important;
  overflow: hidden;
  transition: border-color .2s var(--ca-ease), box-shadow .2s var(--ca-ease);
}
body .faq .elementor-accordion-item:hover { border-color: var(--ca-line-strong) !important; }
body .faq .elementor-accordion-item:has(.elementor-tab-title.elementor-active) {
  border-color: var(--ca-orange-edge) !important;
  box-shadow: var(--ca-shadow-md);
}
body .faq .elementor-tab-title {
  border: 0 !important;
  background: transparent !important;
}
body .faq .elementor-accordion-title {
  color: var(--ca-navy) !important;
  font-family: var(--ca-font) !important;
  font-size: 1.02rem !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  letter-spacing: -.01em !important;
  padding: 18px 22px !important;
  transition: color .2s var(--ca-ease);
}
body .faq .elementor-tab-title.elementor-active .elementor-accordion-title {
  color: var(--ca-orange-dark) !important;
}
body .faq .elementor-accordion-content,
body .faq .elementor-tab-content {
  color: var(--ca-ink-muted) !important;
  font-family: var(--ca-font) !important;
  font-size: .98rem !important;
  line-height: 1.7 !important;
  padding: 0 22px 20px !important;
  border-top: 0 !important;
}
body .faq .elementor-accordion-icon { color: var(--ca-orange) !important; }

/* =====================================================================
   10. RESPONSIVE
   ===================================================================== */
@media (max-width: 1024px) {
  body .epic { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body .sched-wrap { flex-direction: column !important; align-items: stretch !important; }
  body .time-card { position: static; flex: 0 0 auto; width: 100%; box-sizing: border-box; }
}
@media (max-width: 850px) {
  body .hero-grid { flex-direction: column !important; align-items: stretch !important; }
  body .hero-left { flex: 0 0 auto; }
  body .video-card { flex: 0 0 auto !important; width: 100%; max-width: 460px; margin: 0 auto; }
  body .col2-diag { flex-direction: column !important; align-items: stretch !important; }
  body .col2-left,
  body .report { flex: 1 1 auto; }
}
@media (max-width: 560px) {
  body .grid-exp,
  body .epic { grid-template-columns: minmax(0, 1fr) !important; }
  body .price-row { flex-direction: column !important; align-items: flex-start !important; }
  body .btn .elementor-button,
  body a.btn { width: 100%; }
  body .price-panel { padding: 44px 22px 36px !important; }
  body .time-card { padding: 26px !important; }
  body .agenda-item { flex-direction: column !important; gap: 12px !important; }
  body .agenda-time { align-self: flex-start; }
}

/* =====================================================================
   11. REDUCED MOTION
   ===================================================================== */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body * , body *::before, body *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
  body :is(.problem, .problem-hl, .agenda-item, .epic-card, .btn .elementor-button):hover {
    transform: none !important;
  }
}


/* =====================================================================
   PATCH — paste at the VERY END of interview-readiness.css
   (it must come last so it overrides the earlier rules)
   ===================================================================== */

/* ---------------------------------------------------------------------
   A. FORM BESIDE THE PRICE PANEL
   .inner-price holds two children: .price-panel (left) and .registration (right)
   --------------------------------------------------------------------- */
body .inner-price {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(20px, 3vw, 32px) !important;
  align-items: stretch !important;
}
body .price-panel,
body .registration {
  height: 100%;
  box-sizing: border-box;
  justify-content: center !important;
}
body .price-panel { padding: 48px 28px !important; }

/* Stack again on tablets and phones */
@media (max-width: 850px) {
  body .inner-price { grid-template-columns: minmax(0, 1fr) !important; }
}

/* ---------------------------------------------------------------------
   B. BUTTON ALIGNMENT — one line per section, nothing shared
   Never edit alignment inside the shared ".btn" rule.
   Change only the line for the section you want.
   --------------------------------------------------------------------- */

/* The shared .btn only READS the value; each section SETS it below */
body .btn .elementor-button-wrapper {
  text-align: var(--btn-align, left) !important;
}

/* Alignment inside the button's own wrapper (left | center | right) */
body .hero        { --btn-align: left; }
body .price-row   { --btn-align: left; }
body .price-panel { --btn-align: center; }

/* Position of the button row in sections that use a .cta-* container
   (flex-start = left | center | flex-end = right) */
body .cta-diag  { justify-content: center !important; }
body .cta-sched { justify-content: center !important; }
body .cta-epic  { justify-content: center !important; }

/* Optional: make only the price-panel button full width
body .price-panel .btn .elementor-button { width: 100%; }
*/

/* Optional: left-align the whole price panel instead of centering it
body .price-panel {
  align-items: flex-start !important;
  text-align: left !important;
  --btn-align: left;
}
body .price-panel .kicker { justify-content: flex-start; }
body .price-panel .p-price { margin-inline: 0 !important; }
*/

/* =====================================================================
   PATCH 2 — cards not filling their columns / not aligned left
   Paste after everything above.
   Elementor gives child containers a fixed width, so the cards stayed
   narrow inside their grid cells. This makes each card fill its cell
   and left-aligns the price panel.
   ===================================================================== */
body .inner-price > .price-panel,
body .inner-price > .registration {
  --width: 100%;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: none !important;
  justify-self: stretch !important;
  align-self: stretch !important;
  margin: 0 !important;
}

/* Price panel: content starts at the left edge */
body .inner-price > .price-panel {
  align-items: flex-start !important;
  text-align: left !important;
  --btn-align: left;
}
body .price-panel .kicker { justify-content: flex-start; }
body .price-panel .p-price { margin-inline: 0 !important; }
body .price-panel :is(.h2-price, .p-price, .price-big, .p-price-note) {
  text-align: left !important;
}

/* Smaller heading so it fits a half-width card */
body .price-panel .h2-price {
  font-size: clamp(1.7rem, 2.6vw, 2.35rem) !important;
}

/* Form: let the fields use the card width */
body .form-grid .elementor-field-group { min-width: 0; }
body .form-grid select { padding-right: 38px !important; }


/* =====================================================================
   REPORT CARD — whole card in a dark / blue / orange gradient
   Replaces the earlier image-only version.
   Paste at the VERY END of your CSS.
   ===================================================================== */

/* Colours (change here) */
body .report {
  --rg-base: #37383D;                    /* dark base */
  --rg-blue: #174A7E;                    /* blue glow */
  --rg-navy: #102A43;                    /* deep end of the gradient */
  --rg-orange: rgba(244, 119, 33, .50);  /* orange glow */
}

/* The whole card */
body .report {
  gap: 0 !important;
  border: 1px solid rgba(255, 255, 255, .10) !important;
  background:
    radial-gradient(circle at 100% 0%, var(--rg-orange), transparent 46%),
    radial-gradient(circle at 0% 100%, color-mix(in srgb, var(--rg-blue) 85%, transparent), transparent 55%),
    linear-gradient(145deg, var(--rg-base), var(--rg-navy)) !important;
  box-shadow: 0 4px 8px rgba(16, 42, 67, .08), 0 24px 56px rgba(16, 42, 67, .28);
}

/* Header */
body .report .report-head {
  margin: 0 0 18px !important;
  border-bottom: 1px solid rgba(255, 255, 255, .14);
}
body .report .report-title { color: #FFFFFF !important; }
body .report .sample {
  color: #FFB27A !important;
  background: rgba(244, 119, 33, .18) !important;
  border-color: rgba(244, 119, 33, .50) !important;
}

/* Image: no separate panel, just a floating screenshot on the card */
body .report .report-image {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  background: none !important;
  border-radius: 0;
}
body .report .report-image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  border-radius: 12px !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .35);
}

/* Note text */
body .report .report-note { color: #C8D5E9 !important; }
body .report .report-note b { color: #FFFFFF !important; }

/* ---------------------------------------------------------------------
   Optional: a straight blue-to-orange gradient instead
   (replace the "background:" lines in "The whole card" with this)

   background: linear-gradient(135deg, #174A7E 0%, #37383D 48%, #F47721 100%) !important;
   --------------------------------------------------------------------- *//* End custom CSS */