/* === GENESIS OVERRIDE FOR MC PAGES === */
body.page-template-page-masterclass .site-inner { margin: 0 auto !important; max-width: 100vw !important; padding: 0 !important; }
body.page-template-page-masterclass .content-sidebar-wrap,
body.page-template-page-masterclass .content,
body.page-template-page-masterclass .entry,
body.page-template-page-masterclass article.page,
body.page-template-page-masterclass .entry-content { max-width: 100% !important; width: 100% !important; padding: 0 !important; margin: 0 !important; float: none !important; border: none !important; }
body.page-template-page-masterclass .entry-content > * { max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
body.page-template-page-masterclass .entry-header,
body.page-template-page-masterclass .breadcrumb { display: none !important; }


    /* ============================================
       BRAND FONTS — Adobe Caslon Pro + Moderat
       ============================================ */
    
    
    
    
    

    /* ============================================
       RESET & BASE
       ============================================ */
    *, *::before, *::after {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    html {
      font-size: 16px;
      scroll-behavior: smooth;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }

    body {
      font-family: 'adobe-caslon-pro', 'ACaslonPro', serif;
      font-weight: 400;
      color: #334B51;
      background: #F5F4F2;
      line-height: 1.6;
    }

    img {
      max-width: 100%;
      height: auto;
      display: block;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    /* ============================================
       BRAND TOKENS
       ============================================ */
    :root {
      --cloud: #F5F4F2;
      --sand: #ECE8E5;
      --stone: #334B51;
      --sage: #7F7F73;
      --white: #ffffff;
      --font-display: 'adobe-caslon-pro', 'ACaslonPro', serif;
      --font-body: 'Moderat', sans-serif;
      --font-serif: 'adobe-caslon-pro', Georgia, serif;
      --max-width: 1080px;
      --max-width-narrow: 780px;
      --section-pad: 100px 0;
      --section-pad-mobile: 64px 0;
    }

    /* ============================================
       UTILITY CLASSES
       ============================================ */
    .container {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0 32px;
    }
    .container--narrow {
      max-width: var(--max-width-narrow);
      margin: 0 auto;
      padding: 0 32px;
    }
    .eyebrow {
      font-family: var(--font-body);
      font-weight: 500;
      font-size: 11px;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      margin-bottom: 20px;
      font-variant: small-caps;
    }
    .heading-display {
      font-family: var(--font-display);
      font-style: normal;
      font-weight: 400;
      line-height: 1.15;
    }
    .btn {
      display: inline-block;
      font-family: var(--font-body);
      font-weight: 500;
      font-size: 13px;
      letter-spacing: 0.09em;
      text-transform: uppercase;
      padding: 18px 44px;
      border-radius: 0;
      text-decoration: none;
      transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
      cursor: pointer;
      text-align: center;
    }
    .btn--filled {
      background: var(--stone);
      color: var(--white);
      border: 2px solid var(--stone);
    }
    .btn--filled:hover {
      background: #283d42;
      border-color: #283d42;
    }
    .btn--ghost {
      background: transparent;
      border: 2px solid var(--white);
      color: var(--white);
    }
    .btn--ghost:hover {
      background: var(--white);
      color: var(--stone);
    }
    .btn--ghost-dark {
      background: transparent;
      border: 2px solid var(--stone);
      color: var(--stone);
    }
    .btn--ghost-dark:hover {
      background: var(--stone);
      color: var(--white);
    }

    /* ============================================
       1. HERO
       ============================================ */
    .hero {
      position: relative;
      min-height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      color: var(--white);
      overflow: hidden;
    }
    .hero__bg {
      position: absolute;
      inset: 0;
      z-index: 0;
    }
    .hero__bg img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .hero__overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(
        180deg,
        rgba(35, 55, 60, 0.55) 0%,
        rgba(35, 55, 60, 0.7) 50%,
        rgba(35, 55, 60, 0.8) 100%
      );
      z-index: 1;
    }
    .hero__content {
      position: relative;
      z-index: 2;
      max-width: 780px;
      padding: 120px 32px 100px;
    }
    .hero .eyebrow {
      color: rgba(255,255,255,0.8);
      margin-bottom: 32px;
      font-size: 11px;
    }
    .hero__pain {
      font-family: var(--font-serif);
      font-style: italic;
      font-size: 18px;
      line-height: 1.6;
      color: rgba(255,255,255,0.9);
      margin-bottom: 28px;
      max-width: 600px;
      margin-left: auto;
      margin-right: auto;
    }
    .hero__headline {
      font-family: var(--font-display);
      font-style: italic;
      font-weight: 400;
      font-size: 52px;
      line-height: 1.1;
      margin-bottom: 24px;
    }
    .hero__sub {
      font-family: var(--font-serif);
      font-size: 17px;
      line-height: 1.65;
      color: rgba(255,255,255,0.85);
      margin-bottom: 28px;
      max-width: 580px;
      margin-left: auto;
      margin-right: auto;
    }
    .hero__proof {
      font-family: var(--font-body);
      font-size: 12px;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.6);
      margin-bottom: 36px;
    }

    /* ============================================
       2. PAIN POINTS
       ============================================ */
    .pain {
      background: var(--sand);
      padding: var(--section-pad);
    }
    .pain__heading {
      font-family: var(--font-display);
      font-style: normal;
      font-size: 36px;
      text-align: center;
      margin-bottom: 48px;
      color: var(--stone);
    }
    .pain__list {
      list-style: none;
      max-width: 640px;
      margin: 0 auto;
    }
    .pain__list li {
      position: relative;
      padding-left: 28px;
      margin-bottom: 20px;
      font-size: 16px;
      line-height: 1.6;
      color: #4a5a5e;
    }
    .pain__list li::before {
      content: '';
      position: absolute;
      left: 0;
      top: 10px;
      width: 8px;
      height: 8px;
      background: var(--stone);
      border-radius: 50%;
    }
    .pain__bridge {
      text-align: center;
      margin-top: 48px;
      font-family: var(--font-display);
      font-style: normal;
      font-size: 22px;
      color: var(--stone);
    }

    /* ============================================
       3. CREDENTIALS BAR
       ============================================ */
    .credentials {
      background: var(--stone);
      color: var(--white);
      padding: 72px 0;
    }
    .credentials .eyebrow {
      color: rgba(255,255,255,0.6);
      text-align: center;
      margin-bottom: 40px;
      font-size: 12px;
    }
    .credentials__heading {
      text-align: center;
      font-family: var(--font-body);
      font-weight: 500;
      font-size: 18px;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.7);
      margin-bottom: 48px;
    }
    .credentials__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1px;
      max-width: 840px;
      margin: 0 auto;
      text-align: center;
    }
    .cred-item {
      background: rgba(255,255,255,0.05);
      border: 1px solid rgba(255,255,255,0.15);
      padding: 24px;
      text-align: center;
      min-height: 100px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
    }
    .cred-item__number {
      font-family: 'adobe-caslon-pro', 'ACaslonPro', serif;
      font-style: normal;
      font-weight: 400;
      font-size: 1.4rem;
      color: var(--white);
      line-height: 1.2;
      margin-bottom: 6px;
    }
    .cred-item__label {
      font-family: 'Moderat', sans-serif;
      font-size: 0.85rem;
      color: rgba(255,255,255,0.7);
      line-height: 1.4;
      letter-spacing: 0.04em;
    }

    /* ============================================
       4. VIDEO + TRANSFORMATION
       ============================================ */
    .video-transform {
      background: var(--cloud);
      padding: var(--section-pad);
    }
    .video-transform__grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 64px;
      align-items: start;
    }
    .video-placeholder {
      background: var(--sand);
      border: 1px solid #d8d4d0;
      aspect-ratio: 16 / 9;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 32px;
      position: relative;
    }
    .video-placeholder__play {
      width: 64px;
      height: 64px;
      border-radius: 50%;
      background: var(--stone);
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 20px;
    }
    .video-placeholder__play svg {
      width: 20px;
      height: 20px;
      fill: var(--white);
      margin-left: 3px;
    }
    .video-placeholder__text {
      font-size: 14px;
      color: var(--sage);
      max-width: 240px;
      line-height: 1.5;
    }
    .transform__heading {
      font-family: var(--font-display);
      font-style: normal;
      font-size: 30px;
      color: var(--stone);
      margin-bottom: 32px;
      line-height: 1.2;
    }
    .transform__list {
      list-style: none;
    }
    .transform__list li {
      margin-bottom: 18px;
      font-size: 15.5px;
      line-height: 1.6;
      color: #4a5a5e;
      padding-left: 24px;
      position: relative;
    }
    .transform__list li::before {
      content: '→';
      position: absolute;
      left: 0;
      color: var(--stone);
      font-weight: 500;
    }
    .transform__list li strong {
      font-weight: 500;
      color: var(--stone);
    }

    /* ============================================
       5. OFFER CARD
       ============================================ */
    .offer {
      background: var(--sand);
      padding: var(--section-pad);
    }
    .offer__card {
      max-width: 680px;
      margin: 0 auto;
      text-align: center;
    }
    .offer .eyebrow {
      color: var(--sage);
    }
    .offer__title {
      font-family: var(--font-display);
      font-style: normal;
      font-size: 46px;
      line-height: 1.1;
      color: var(--stone);
      margin-bottom: 32px;
    }
    .offer__mockup {
      margin: 32px auto;
      text-align: center;
    }
    .offer__tagline {
      font-family: var(--font-serif);
      font-size: 17px;
      color: #4a5a5e;
      line-height: 1.65;
      margin-bottom: 28px;
      max-width: 560px;
      margin-left: auto;
      margin-right: auto;
    }
    .offer__description {
      font-size: 15.5px;
      color: var(--sage);
      line-height: 1.65;
      margin-bottom: 32px;
      max-width: 540px;
      margin-left: auto;
      margin-right: auto;
    }
    .offer__anchor {
      font-family: var(--font-serif);
      font-style: italic;
      font-size: 16px;
      color: var(--sage);
      line-height: 1.6;
      max-width: 500px;
      margin: 0 auto;
    }

    /* ============================================
       6. WHAT'S INCLUDED
       ============================================ */
    .included {
      background: var(--sand);
      padding: 0 0 100px;
    }
    .included__heading-wrap {
      text-align: center;
      margin-bottom: 56px;
    }
    .included__heading {
      font-family: var(--font-display);
      font-style: normal;
      font-size: 36px;
      color: var(--stone);
    }
    .included__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 40px 48px;
      max-width: 960px;
      margin: 0 auto;
    }
    .included-item {
      text-align: left;
    }
    .included-item__icon {
      width: 40px;
      height: 40px;
      margin-bottom: 16px;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .included-item__icon svg {
      width: 32px;
      height: 32px;
      stroke: var(--stone);
      fill: none;
      stroke-width: 1.5;
    }
    .included-item__title {
      font-family: var(--font-body);
      font-weight: 500;
      font-size: 15px;
      color: var(--stone);
      margin-bottom: 8px;
    }
    .included-item__desc {
      font-size: 14px;
      color: var(--sage);
      line-height: 1.55;
    }

    /* ============================================
       9. ABOUT ANNIE
       ============================================ */
    .about {
      background: var(--cloud);
      padding: var(--section-pad);
    }
    .about__grid {
      display: grid;
      grid-template-columns: 1fr 1.3fr;
      gap: 64px;
      align-items: start;
    }
    .about__photo {
      width: 100%;
      aspect-ratio: 3 / 4;
      object-fit: cover;
      object-position: center top;
    }
    .about__text {
      padding-top: 8px;
    }
    .about .eyebrow {
      color: var(--sage);
    }
    .about__story {
      font-family: var(--font-serif);
      font-size: 17px;
      line-height: 1.7;
      color: #4a5a5e;
      margin-bottom: 24px;
    }
    .about__bridge {
      font-family: var(--font-body);
      font-size: 16px;
      line-height: 1.65;
      color: var(--stone);
      margin-bottom: 32px;
      font-weight: 500;
    }
    .about__divider {
      width: 48px;
      height: 1px;
      background: #c5c0bb;
      margin-bottom: 24px;
    }
    .about__credentials {
      font-size: 13px;
      color: var(--sage);
      line-height: 1.7;
      margin-bottom: 32px;
    }
    .about__signoff {
      font-family: var(--font-display);
      font-style: normal;
      font-size: 20px;
      color: var(--stone);
    }

    /* ============================================
       10. TESTIMONIALS
       ============================================ */
    .testimonials {
      background: var(--sand);
      padding: var(--section-pad);
    }
    .testimonials .eyebrow {
      text-align: center;
      color: var(--sage);
    }
    .testimonials__heading {
      text-align: center;
      font-family: var(--font-display);
      font-style: normal;
      font-size: 36px;
      color: var(--stone);
      margin-bottom: 56px;
    }
    .testimonials__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 32px;
      max-width: 960px;
      margin: 0 auto;
    }
    .testimonial-card {
      background: var(--cloud);
      padding: 36px;
      border: 1px solid #d8d4d0;
    }
    .testimonial-card__quote {
      font-family: var(--font-serif);
      font-style: italic;
      font-size: 15.5px;
      line-height: 1.65;
      color: #4a5a5e;
      margin-bottom: 24px;
    }
    .testimonial-card__divider {
      width: 32px;
      height: 1px;
      background: #c5c0bb;
      margin-bottom: 16px;
    }
    .testimonial-card__name {
      font-family: var(--font-body);
      font-weight: 500;
      font-size: 13px;
      color: var(--stone);
      letter-spacing: 0.04em;
    }

    /* ============================================
       11. IS THIS FOR ME
       ============================================ */
    .for-me {
      background: var(--cloud);
      padding: var(--section-pad);
    }
    .for-me .eyebrow {
      text-align: center;
      color: var(--sage);
    }
    .for-me__heading {
      text-align: center;
      font-family: var(--font-display);
      font-style: normal;
      font-size: 36px;
      color: var(--stone);
      margin-bottom: 56px;
    }
    .for-me__grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 64px;
      max-width: 860px;
      margin: 0 auto;
    }
    .for-me__col-heading {
      font-family: var(--font-body);
      font-weight: 500;
      font-size: 15px;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      margin-bottom: 28px;
      color: var(--stone);
    }
    .for-me__list {
      list-style: none;
    }
    .for-me__list li {
      position: relative;
      padding-left: 24px;
      margin-bottom: 16px;
      font-size: 15px;
      line-height: 1.6;
      color: #4a5a5e;
    }
    .for-me__list--yes li::before {
      content: '✓';
      position: absolute;
      left: 0;
      color: var(--stone);
      font-weight: 600;
    }
    .for-me__list--no li::before {
      content: '—';
      position: absolute;
      left: 0;
      color: var(--sage);
    }
    .for-me__close {
      text-align: center;
      margin-top: 56px;
      font-family: var(--font-display);
      font-style: normal;
      font-size: 21px;
      color: var(--stone);
      max-width: 560px;
      margin-left: auto;
      margin-right: auto;
    }

    /* ============================================
       12. COMPARISON CARDS
       ============================================ */
    .comparison {
      background: var(--sand);
      padding: var(--section-pad);
    }
    .comparison .eyebrow {
      text-align: center;
      color: var(--sage);
    }
    .comparison__heading {
      text-align: center;
      font-family: var(--font-display);
      font-style: normal;
      font-size: 36px;
      color: var(--stone);
      margin-bottom: 56px;
    }
    .comparison__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 32px;
      max-width: 960px;
      margin: 0 auto;
    }
    .comparison-card {
      background: var(--cloud);
      padding: 36px;
      border: 1px solid #d8d4d0;
    }
    .comparison-card__title {
      font-family: var(--font-body);
      font-weight: 500;
      font-size: 15px;
      color: var(--stone);
      margin-bottom: 16px;
      letter-spacing: 0.04em;
    }
    .comparison-card__text {
      font-size: 14.5px;
      color: #5a6a6e;
      line-height: 1.6;
    }
    .comparison-card__note {
      margin-top: 16px;
      font-size: 13px;
      font-style: italic;
      color: var(--sage);
    }

    /* ============================================
       13. MID-CTA
       ============================================ */
    .mid-cta {
      background: var(--stone);
      color: var(--white);
      padding: 80px 0;
      text-align: center;
    }
    .mid-cta__heading {
      font-family: var(--font-display);
      font-style: normal;
      font-size: 38px;
      margin-bottom: 32px;
      max-width: 600px;
      margin-left: auto;
      margin-right: auto;
      line-height: 1.2;
    }
    .mid-cta__note {
      margin-top: 20px;
      font-size: 13px;
      color: rgba(255,255,255,0.6);
      letter-spacing: 0.02em;
    }

    /* ============================================
       14. FAQ
       ============================================ */
    .faq {
      background: var(--cloud);
      padding: var(--section-pad);
    }
    .faq .eyebrow {
      text-align: center;
      color: var(--sage);
    }
    .faq__heading {
      text-align: center;
      font-family: var(--font-display);
      font-style: normal;
      font-size: 36px;
      color: var(--stone);
      margin-bottom: 56px;
    }
    .faq__list {
      max-width: 700px;
      margin: 0 auto;
    }
    .faq-item {
      border-bottom: 1px solid #d8d4d0;
    }
    .faq-item__question {
      width: 100%;
      background: none;
      border: none;
      text-align: left;
      padding: 24px 40px 24px 0;
      font-family: var(--font-body);
      font-weight: 500;
      font-size: 16px;
      color: var(--stone);
      cursor: pointer;
      position: relative;
      line-height: 1.4;
    }
    .faq-item__question::after {
      content: '+';
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      font-size: 22px;
      font-weight: 300;
      color: var(--sage);
      transition: transform 0.3s ease;
    }
    .faq-item.is-open .faq-item__question::after {
      content: '−';
    }
    .faq-item__answer {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.4s ease, padding 0.3s ease;
    }
    .faq-item.is-open .faq-item__answer {
      max-height: 500px;
      padding-bottom: 24px;
    }
    .faq-item__answer p {
      font-size: 15px;
      color: #5a6a6e;
      line-height: 1.65;
      padding-right: 40px;
    }

    /* ============================================
       15. COST OF INACTION
       ============================================ */
    .inaction {
      background: var(--sand);
      padding: var(--section-pad);
    }
    .inaction .eyebrow {
      text-align: center;
      color: var(--sage);
    }
    .inaction__heading {
      text-align: center;
      font-family: var(--font-display);
      font-style: normal;
      font-size: 36px;
      color: var(--stone);
      margin-bottom: 32px;
    }
    .inaction__text {
      text-align: center;
      max-width: 600px;
      margin: 0 auto 32px;
      font-size: 16px;
      color: #4a5a5e;
      line-height: 1.7;
    }
    .inaction__or {
      text-align: center;
      font-family: var(--font-display);
      font-style: normal;
      font-size: 24px;
      color: var(--stone);
      margin-bottom: 8px;
    }
    .inaction__price {
      text-align: center;
      font-size: 14px;
      color: var(--sage);
      letter-spacing: 0.04em;
    }

    /* ============================================
       16. FINAL CTA
       ============================================ */
    .final-cta {
      background: var(--stone);
      color: var(--white);
      padding: 100px 0;
      text-align: center;
    }
    .final-cta__heading {
      font-family: var(--font-display);
      font-style: normal;
      font-size: 42px;
      line-height: 1.15;
      margin-bottom: 36px;
      max-width: 640px;
      margin-left: auto;
      margin-right: auto;
    }
    .final-cta__ps {
      margin-top: 48px;
      max-width: 540px;
      margin-left: auto;
      margin-right: auto;
    }
    .final-cta__ps-label {
      font-family: var(--font-body);
      font-weight: 500;
      font-size: 13px;
      letter-spacing: 0.06em;
      color: rgba(255,255,255,0.5);
      margin-bottom: 12px;
    }
    .final-cta__ps-text {
      font-family: var(--font-serif);
      font-style: italic;
      font-size: 16px;
      line-height: 1.7;
      color: rgba(255,255,255,0.85);
      margin-bottom: 24px;
    }
    .final-cta__signoff {
      font-family: var(--font-display);
      font-style: normal;
      font-size: 20px;
      color: rgba(255,255,255,0.7);
      margin-top: 32px;
    }

    /* ============================================
       17. FOOTER
       ============================================ */
    .footer {
      background: var(--stone);
      border-top: 1px solid rgba(255,255,255,0.1);
      padding: 32px 0;
      text-align: center;
    }
    .footer__text {
      font-size: 12px;
      color: rgba(255,255,255,0.45);
      letter-spacing: 0.04em;
    }
    .footer__text a {
      color: rgba(255,255,255,0.55);
      text-decoration: underline;
      text-underline-offset: 2px;
    }
    .footer__text a:hover {
      color: rgba(255,255,255,0.8);
    }

    /* ============================================
       RESPONSIVE
       ============================================ */
    @media (max-width: 768px) {
      :root {
        --section-pad: 64px 0;
      }
      .hero__headline {
        font-size: 34px;
      }
      .hero__pain {
        font-size: 16px;
      }
      .hero__content {
        padding: 100px 24px 72px;
      }
      .container, .container--narrow {
        padding: 0 24px;
      }
      .video-transform__grid {
        grid-template-columns: 1fr;
        gap: 40px;
      }
      .included__grid {
        grid-template-columns: 1fr;
        gap: 32px;
      }
      .about__grid {
        grid-template-columns: 1fr;
        gap: 40px;
      }
      .testimonials__grid {
        grid-template-columns: 1fr;
        gap: 24px;
      }
      .for-me__grid {
        grid-template-columns: 1fr;
        gap: 40px;
      }
      .comparison__grid {
        grid-template-columns: 1fr;
        gap: 24px;
      }
      .credentials__grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1px;
      }
      .cred-item {
        padding: 18px 12px;
        min-height: 90px;
      }
      .cred-item__number {
        font-size: 1.1rem;
      }
      .cred-item__label {
        font-size: 0.75rem;
      }
      .pain__heading,
      .included__heading,
      .testimonials__heading,
      .for-me__heading,
      .comparison__heading,
      .faq__heading,
      .inaction__heading {
        font-size: 28px;
      }
      .offer__title {
        font-size: 34px;
      }
      .mid-cta__heading {
        font-size: 30px;
      }
      .final-cta__heading {
        font-size: 32px;
      }
    }

    @media (max-width: 480px) {
      .hero__headline {
        font-size: 28px;
      }
      .credentials__grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1px;
      }
      .btn {
        padding: 16px 32px;
        font-size: 12px;
        width: 100%;
        max-width: 360px;
      }
    }
  