html { scroll-behavior: smooth; }

/* =========================================================
   Olivia Foster — Design tokens (adapted from Maria Gonzales)
========================================================= */
:root {
  --of-gold:      #BF9056;
  --of-gold-h:    #A07C3C;
  --of-ink:       #3E4B5C;
  --of-bg:        #F4F1F0;
  --of-sand:      #F4F1F0;
  --of-linen:     #ECE6E3;
  --of-stone:     #ECE6E3;
  --of-white:     #F4F1F0;
  --of-muted:     #999EA6;
}

/* =========================================================
   Hero
========================================================= */
.hero-homepage {
  position: relative;
  overflow: hidden;
  background: var(--of-white);
}

/* ---- FAQ details/summary ---- */
.faq-section-homepage .wp-block-details {
  border-bottom: 1px solid rgba(62,75,92,0.15);
  padding-top: var(--wp--preset--spacing--20);
  padding-bottom: var(--wp--preset--spacing--20);
}

.faq-section-homepage .faq-heading {
  max-width: 600px !important;
}

.faq-section-homepage .faq-item summary {
  font-family: var(--wp--preset--font-family--bodoni-moda);
  font-size: 36px;
  font-weight: 400;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--wp--preset--color--custom-stone-gray);
  cursor: pointer;
  list-style: none;
  padding: var(--wp--preset--spacing--20) 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.faq-section-homepage .faq-item summary::-webkit-details-marker { display: none; }
.faq-section-homepage .faq-item summary::after {
  content: '';
  display: inline-block;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%233E4B5C' stroke-width='1.2' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  transition: transform 0.3s ease;
}
.faq-section-homepage .faq-item[open] summary::after {
  transform: rotate(180deg);
}

/* ---- Scrolling marquee: absolutely behind the portrait ---- */
.hero-homepage .scrolling-text {
  position: absolute !important;
  top: 50% !important;
  left: 0 !important;
  right: 0 !important;
  transform: translateY(-50%) !important;
  z-index: 0 !important;
  overflow: hidden;
  pointer-events: none;
  width: 100%;
}

.hero-homepage .scrolling-text p {
  opacity: 1;
  color: #e2ddd8 !important;
  white-space: nowrap;
  margin: 0 !important;
}

/* Hero arch portrait — on top of the scrolling text */
.hero-arch-img {
  position: relative;
  z-index: 2;
  max-width: clamp(320px, 42vw, 580px) !important;
}

@media (max-width: 782px) {
  .hero-homepage .scrolling-text {
    top: 60% !important;
    z-index: 3 !important;
  }
  .hero-arch-img {
    z-index: 2;
  }
}
.hero-arch-img img {
  width: 100% !important;
  height: auto !important;
}

/* Hero text content — on top of the scrolling text */
.hero-homepage > .wp-block-group:not(.scrolling-text) {
  position: relative;
  z-index: 2;
}

/* Hero title */
.hero-homepage h1 {
  font-family: var(--wp--preset--font-family--playfair-display) !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  text-transform: uppercase !important;
  color: var(--wp--preset--color--custom-stone-gray) !important;
  position: relative;
  z-index: 3;
  margin-bottom: -60px !important;
}

/* Hero subtext — narrower and muted */
.hero-homepage .normal-p {
  max-width: 800px;
  margin-inline: auto;
  color: var(--wp--preset--color--custom-stone-gray) !important;
}

/* Scroll-down badge — pushed right inside the flex row */
.hero-scroll-badge {
  margin: 0 !important;
  margin-left: auto !important;
}
.hero-scroll-badge img {
  width: 90px !important;
  height: 90px !important;
}

/* Hero CTA row — buttons centered, scroll badge right */
.hero-cta-row {
  align-items: center !important;
  margin-block-start: 2rem !important;
}
.hero-cta-row .hero-cta-center {
  flex: 1 1 0% !important;
  justify-content: center !important;
}
.hero-homepage .hero-cta-row .wp-block-button__link {
  border-radius: 100px !important;
}

@media (max-width: 782px) {
  .hero-homepage {
    padding-bottom: 60px !important;
  }
  .hero-cta-row {
    flex-direction: column !important;
    align-items: center !important;
    gap: 0 !important;
    width: 100% !important;
  }
  .hero-cta-row .hero-cta-center {
    flex: none !important;
    width: 100% !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  .hero-cta-row .hero-cta-center .wp-block-buttons {
    width: 100% !important;
    margin-bottom: 16px !important;
  }
  .hero-cta-row .hero-cta-center .wp-block-button,
  .hero-cta-row .hero-cta-center .wp-block-button__link {
    width: 100% !important;
    text-align: center !important;
    font-size: 16px !important;
  }
  .hero-services-link {
    margin-bottom: 20px !important;
  }
  .hero-services-link a {
    font-size: 16px !important;
  }
  .hero-scroll-badge {
    margin-left: 0 !important;
  }
}

/* Hero arrow link */
.hero-services-link a {
  color: var(--wp--preset--color--custom-stone-gray) !important;
  font-family: var(--wp--preset--font-family--helvetica) !important;
  text-decoration: none !important;
  font-size: 1.05rem;
}
.hero-services-link a:hover { color: var(--of-gold) !important; }

/* =========================================================
   Button global hover
========================================================= */
.wp-block-button__link:hover {
  background-color: var(--of-gold-h) !important;
}

/* =========================================================
   Width constraints (moved from inline styles to avoid block validation errors)
========================================================= */
.programs-section-homepage .normal-p.has-text-align-center {
  max-width: 560px;
  margin-inline: auto;
}
.testimonials-section-homepage .extra-large-heading {
  max-width: 700px;
  margin-inline: auto;
}
.newsletter-section-homepage h2 {
  max-width: 700px;
  margin-inline: auto;
}
.newsletter-section-homepage .normal-p {
  max-width: 760px;
  margin-inline: auto;
}
.newsletter-section-homepage .wp-block-image img {
  height: 50px;
  width: auto !important;
}

/* =========================================================
   Newsletter cover — center all content
========================================================= */
.newsletter-section-homepage .wp-block-cover__inner-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.newsletter-section-homepage .wp-block-cover__inner-container > * {
  max-width: var(--wp--style--global--content-size);
}

/* =========================================================
   Blog query cards
========================================================= */
.blog-query {
  max-width: 1000px !important;
  margin-inline: auto !important;
}
.blog-query .wp-block-post-template {
  gap: 30px !important;
}
.blog-query .wp-block-post {
  display: flex;
  flex-direction: column;
}
.blog-query .wp-block-post .wp-block-group {
  flex: 1;
}
.blog-query .wp-block-post-featured-image img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
}
.blog-query .wp-block-post-title a {
  text-decoration: none;
}

/* =========================================================
   About page
========================================================= */
.about-core-values-text {
  max-width: 870px;
  margin-inline: auto;
}
.about-testimonial-quote {
  max-width: 800px;
  margin-inline: auto;
}

/* =========================================================
   Services page — cards
========================================================= */
.services-grid {
  padding-left: clamp(20px, 4vw, 56px) !important;
  padding-right: clamp(20px, 4vw, 56px) !important;
  margin-bottom: 40px !important;
}
.services-section-1 .services-grid:last-child {
  margin-bottom: 0 !important;
}
.services-section-1 .service-card {
  background: var(--wp--preset--color--base, #F4F1F0);
  padding: 0 30px 30px !important;
}
.services-section-1 .service-card .service-card__img {
  margin-left: -30px !important;
  margin-right: -30px !important;
  width: calc(100% + 60px) !important;
  max-width: none !important;
}
.services-section-1 .service-card .service-card__img img {
  width: 100%;
  display: block;
}
.services-section-1 .service-card__more a {
  text-decoration: underline;
}
.services-section-1 .service-card__sep {
  width: 100% !important;
  border: 0;
  height: 1px;
  margin-top: 28px !important;
  margin-bottom: 28px !important;
}
.services-section-1 .service-card__btn .wp-block-button__link {
  background: var(--wp--preset--color--custom-rose-beige) !important;
  color: #fff !important;
  letter-spacing: 0.08em;
}
.services-section-1 .service-card__btn .wp-block-button__link:hover {
  background: var(--of-gold-h) !important;
}

/* =========================================================
   About section — image styling
========================================================= */
.trust-section-b-homepage img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  height: auto;
  display: block;
}

/* =========================================================
   Story cards
========================================================= */
.story-card {
  background: var(--wp--preset--color--custom-linen, #ECE6E3);
}

/* =========================================================
   Services section — image aspect
========================================================= */
.services-section-homepage img {
  aspect-ratio: 3 / 4;
  object-fit: cover;
  height: auto;
  display: block;
}

/* Scrolling text */
.scrolling-text {
  overflow: hidden;
  position: relative;
  white-space: nowrap;
}

.scrolling-text p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.scrolling-text .scrolling-track {
  display: flex;
  align-items: center;
  gap: var(--scroll-gap, 1rem);
  will-change: transform;
}

.scrolling-text.scrolling-left .scrolling-track {
  animation: hc-scroll-left var(--scroll-duration, 20s) linear infinite;
}

.scrolling-text.scrolling-right .scrolling-track {
  animation: hc-scroll-right var(--scroll-duration, 20s) linear infinite;
}

@keyframes hc-scroll-left  { from { transform: translateX(0); }    to { transform: translateX(-50%); } }
@keyframes hc-scroll-right { from { transform: translateX(-50%); } to { transform: translateX(0); } }

@media (prefers-reduced-motion: reduce) {
  .scrolling-text .scrolling-track { animation: none !important; }
}

/* =========================================================
   Programs section
========================================================= */
.programs-section-homepage img {
  position: relative;
  z-index: 2;
}

.programs-section-homepage .program-group {
  background: var(--wp--preset--color--custom-linen, #ECE6E3);
}

/* =========================================================
   Testimonials section
========================================================= */
.testimonials-section-homepage .is-style-rounded img {
  max-width: 180px;
}

.testimonials-section-homepage .testimonials-stars {
  max-width: 94px;
}

.testimonials-section-homepage .wp-block-image {
  margin-block-start: 0;
  margin-bottom: 10px !important;
}

/* =========================================================
   FAQ section
========================================================= */
.faq-section-homepage .faq-response {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  padding: 0 1rem;
  transition: max-height 0.35s ease, opacity 0.35s ease, padding 0.25s ease;
}

.faq-section-homepage .faq-response.open {
  opacity: 1;
  padding: 1rem;
  max-height: 500px;
}

.faq-section-homepage .faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  padding: 1rem 0;
  transition: background-color 0.25s ease;
}

.faq-section-homepage .faq-arrow {
  transition: transform 0.3s ease;
}

.faq-section-homepage .faq-question.active .faq-arrow {
  transform: rotate(180deg);
}

/* =========================================================
   Footer section
========================================================= */


.footer-section p,
.footer-section h1,
.footer-section h2,
.footer-section h3,
.footer-section h4,
.footer-section h5,
.footer-section h6 {
  margin-block-start: 0 !important;
}

.footer-section .footer-nav a {
  color: var(--wp--preset--color--custom-stone-gray) !important;
  font-family: var(--wp--preset--font-family--helvetica) !important;
  font-size: 20px !important;
  font-weight: 400;
  text-decoration: none;
}

.footer-section .footer-nav a:hover {
  color: var(--of-gold) !important;
}

/* =========================================================
   Arch image utility (reused in patterns)
========================================================= */
.top-round-img img {
  border-top-left-radius: 50% 40%;
  border-top-right-radius: 50% 40%;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  overflow: hidden;
}

/* =========================================================
   Footer
========================================================= */
.footer-section .footer-contact-heading {
  max-width: 400px;
  margin-inline: auto;
}

/* =========================================================
   Blog page
========================================================= */
.blog-section-1 .blog-post-image img {
  width: 100%;
  display: block;
}
.blog-section-1 .blog-post-meta {
  gap: 12px;
  align-items: center;
}
.blog-section-1 .blog-post-meta img.avatar {
  border-radius: 50%;
}
.blog-section-1 .blog-post-meta .wp-block-post-author-name,
.blog-section-1 .blog-post-meta .wp-block-post-author-name a {
  margin: 0;
  text-decoration: none;
}
.blog-section-1 .blog-post-meta .wp-block-post-date {
  margin: 0;
}
.blog-section-1 .blog-post-meta .of-meta-sep {
  margin: 0 4px;
  opacity: 0.7;
}
.blog-section-1 .blog-post-title a {
  text-decoration: none;
}
.blog-section-1 .blog-post-excerpt {
  margin-bottom: 0;
}
.blog-section-1 .blog-pagination {
  gap: 18px;
}
.blog-section-1 .blog-pagination a,
.blog-section-1 .blog-pagination .wp-block-query-pagination-numbers {
  font-family: var(--wp--preset--font-family--helvetica);
  font-size: 15px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--wp--preset--color--custom-stone-gray);
}
.blog-section-1 .blog-pagination .page-numbers.current {
  color: var(--wp--preset--color--custom-rose-beige);
  font-weight: 600;
}
.blog-section-1 .blog-pagination a:hover {
  color: var(--wp--preset--color--custom-rose-beige);
}

/* =========================================================
   Programs page
========================================================= */
.programs-section-2 .programs-grid {
  align-items: stretch;
}
.programs-section-2 .program-card {
  position: relative;
  border: 1px solid #E3DCD5;
}
.programs-section-2 .program-card--featured {
  border: 2px solid var(--wp--preset--color--custom-rose-beige);
}
.programs-section-2 .program-card__tag {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  background: var(--wp--preset--color--custom-rose-beige);
  color: #fff;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 6px 16px;
  white-space: nowrap;
}
.programs-section-2 .program-price sup {
  font-size: 0.4em;
  vertical-align: top;
  line-height: 2.6;
  margin-right: 2px;
}
.programs-section-2 .program-card__sep {
  width: 100% !important;
  border: 0;
  height: 1px;
}
.programs-section-2 .program-card--featured .program-card__sep {
  background-color: var(--wp--preset--color--custom-rose-beige) !important;
  color: var(--wp--preset--color--custom-rose-beige) !important;
}
.programs-section-2 .program-features {
  list-style: none;
  margin: 0;
  padding: 0;
}
.programs-section-2 .program-features li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 14px;
}
.programs-section-2 .program-features li:last-child {
  margin-bottom: 0;
}
.programs-section-2 .program-features li::before {
  content: "\2192";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--wp--preset--color--custom-rose-beige);
}
.programs-section-2 .program-join .wp-block-button__link {
  display: block;
  width: 100%;
  text-align: center;
  border-radius: 50px;
  padding: 16px 24px;
  font-size: 15px;
  color: #fff !important;
  letter-spacing: 0.04em;
}
.programs-section-2 .program-join--gray .wp-block-button__link {
  background-color: #79818C !important;
}
.programs-section-2 .program-join--gray .wp-block-button__link:hover {
  background-color: #69707a !important;
}
.programs-section-2 .program-join--gold .wp-block-button__link {
  background-color: var(--wp--preset--color--custom-rose-beige) !important;
}
.programs-section-2 .program-join--gold .wp-block-button__link:hover {
  background-color: var(--of-gold-h) !important;
}

/* =========================================================
   Scroll-in animation
========================================================= */
.of-anim .up-animation {
  opacity: 0;
  transform: translateY(36px);
  transition: opacity 0.45s ease-out, transform 0.45s ease-out;
  transition-delay: 0.28s;
  will-change: opacity, transform;
}

.of-anim .up-animation.in-view {
  opacity: 1;
  transform: none;
  will-change: auto;
}

/* =========================================================
   Responsive
========================================================= */
@media (max-width: 782px) {
  .trust-section-d-homepage .more-about-me-buttons {
    width: 100% !important;
    margin-top: 20px !important;
  }
  .trust-section-d-homepage .more-about-me-buttons .wp-block-button,
  .trust-section-d-homepage .more-about-me-buttons .wp-block-button__link {
    width: 100% !important;
    text-align: center !important;
    font-size: 16px !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    padding-left: 48px !important;
    padding-right: 48px !important;
  }

  .hero-homepage .normal-p {
    font-size: 18px !important;
  }

  .hero-homepage {
    padding-top: 140px !important;
    padding-right: 25px !important;
    padding-left: 25px !important;
  }

  .hero-homepage h1 {
    font-size: 44px !important;
    line-height: 1.1 !important;
  }

  .hero-homepage .extra-large-p {
    font-size: 63px !important;
    line-height: 0.7 !important;
  }

  .trust-section-a-homepage {
    padding: 64px 20px !important;
  }

  .trust-section-a-homepage .wp-block-column { margin-bottom: 30px !important; }
  .trust-section-a-homepage .wp-block-column:last-child { margin-bottom: 0 !important; }
  .trust-section-a-homepage h4 { font-size: 32px !important; }
  .trust-section-a-homepage p { font-size: 20px !important; }
  .trust-section-a-homepage .wp-block-image img { width: 70px !important; }

  .trust-section-b-homepage {
    padding: 64px 20px !important;
  }

  .trust-section-b-homepage .wp-block-column { margin-bottom: 30px !important; }
  .trust-section-b-homepage { padding-bottom: 0 !important; }
  .trust-section-b-homepage .wp-block-column { margin-bottom: 30px !important; }
  .trust-section-b-homepage .wp-block-column:last-child { margin-bottom: 0 !important; }
  .trust-section-b-homepage h2 { font-size: 40px !important; }
  .trust-section-b-homepage h3 { font-size: 34px !important; }
  .trust-section-b-homepage .normal-p { font-size: 20px !important; line-height: 1.5 !important; }
  .trust-section-b-homepage .extra-large-p { font-size: 60px !important; }

  .trust-section-c-homepage .wp-block-column { margin-bottom: 30px !important; }
  .story-cards-homepage h3 { font-size: 30px !important; }
  .story-cards-homepage p { font-size: 20px !important; }
  .story-card {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
  .story-cards-homepage .wp-block-columns {
    gap: 60px !important;
  }

  .trust-section-d-homepage {
    padding-bottom: 80px !important;
  }

  .trust-section-d-homepage .wp-block-column { margin-bottom: 40px !important; }
  .trust-section-d-homepage .extra-large-heading { font-size: 52px !important; margin-bottom: 40px !important; }
  .trust-section-d-homepage .stat-number { font-size: 72px !important; }
  .trust-section-d-homepage .stat-label { font-size: 42px !important; max-width: 320px; margin-inline: auto; }
  .trust-section-d-homepage .stat-script { font-size: 64px !important; }

  .lead-magnet-section-homepage .wp-block-column { margin-bottom: 30px !important; }
  .lead-magnet-section-homepage .large-p { font-size: 64px !important; }
  .lead-magnet-section-homepage h2 { font-size: 40px !important; }
  .lead-magnet-section-homepage .normal-p { font-size: 20px !important; }
  .lead-magnet-section-homepage .wp-block-buttons {
    width: 100% !important;
    flex-direction: column !important;
  }
  .lead-magnet-section-homepage .wp-block-buttons .wp-block-button {
    width: 100% !important;
  }
  .lead-magnet-section-homepage .wp-block-buttons .wp-block-button__link {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 16px !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    padding-left: 48px !important;
    padding-right: 48px !important;
    box-sizing: border-box !important;
  }
  .lead-magnet-section-homepage .wp-block-image img {
    aspect-ratio: unset !important;
    object-fit: unset !important;
    width: 100% !important;
    height: auto !important;
  }

  .services-section-homepage {
    padding: 64px 20px !important;
  }

  .services-section-homepage .wp-block-column { margin-bottom: 30px !important; }
  .services-section-homepage .extra-large-p { font-size: 64px !important; line-height: 1 !important; }
  .services-section-homepage h2 { font-size: 44px !important; }
  .services-section-homepage h4 { font-size: 34px !important; }
  .services-section-homepage .wp-block-columns { gap: 40px !important; }
  .services-section-homepage p { font-size: 20px !important; }
  .services-section-homepage .full-width-button { width: 100% !important; }
  .services-section-homepage .full-width-button .wp-block-button { width: 100% !important; }
  .services-section-homepage .full-width-button .wp-block-button__link {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 16px !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    padding-left: 48px !important;
    padding-right: 48px !important;
    box-sizing: border-box !important;
  }

  .process-section-homepage {
    padding: 64px 20px !important;
  }

  .process-section-homepage .wp-block-column { margin-bottom: 40px !important; }
  .process-section-homepage .scrolling-text p { font-size: 40px !important; }
  .process-section-homepage .extra-large-p { font-size: 64px !important; line-height: 1 !important; }
  .process-section-homepage h2 { font-size: 40px !important; }
  .process-section-homepage .step-number { font-size: 72px !important; }
  .process-section-homepage h4 { font-size: 34px !important; }
  .process-section-homepage .normal-p { font-size: 20px !important; }
  .process-section-homepage .wp-block-columns { gap: 0 !important; }
  .process-section-homepage .wp-block-spacer { display: none !important; }

  .programs-section-homepage {
    padding: 64px 20px !important;
  }

  .programs-section-homepage .wp-block-column { margin-bottom: 40px !important; }
  .programs-section-homepage .extra-large-p { font-size: 64px !important; line-height: 1 !important; }
  .programs-section-homepage h2.extra-large-heading { font-size: 40px !important; }
  .programs-section-homepage h4 { font-size: 30px !important; }
  .programs-section-homepage .normal-p { font-size: 20px !important; }
  .programs-section-homepage .program-group .has-helvetica-font-family:not(.normal-p) { font-size: 20px !important; }
  .programs-section-homepage .program-group .has-bodoni-moda-font-family:not(h4) { font-size: 24px !important; }
  .programs-section-homepage .wp-block-columns { gap: 40px !important; }
  .programs-section-homepage .program-group { padding-top: 120px !important; }
  .programs-section-homepage .wp-block-buttons { width: 100% !important; flex-direction: column !important; }
  .programs-section-homepage .wp-block-buttons .wp-block-button { width: 100% !important; }
  .programs-section-homepage .wp-block-buttons .wp-block-button__link {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 16px !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    padding-left: 48px !important;
    padding-right: 48px !important;
    box-sizing: border-box !important;
  }

  .testimonials-section-homepage {
    padding: 64px 20px !important;
  }

  .testimonials-section-homepage .wp-block-column { margin-bottom: 50px !important; }
  .testimonials-section-homepage .extra-large-p { font-size: 64px !important; line-height: 1 !important; }
  .testimonials-section-homepage h2 { font-size: 40px !important; }
  .testimonials-section-homepage .is-style-rounded img,
  .testimonials-section-homepage .wp-block-post .wp-block-image img { width: 130px !important; height: 130px !important; }
  .testimonials-section-homepage .normal-p { font-size: 20px !important; }
  .testimonials-section-homepage .wp-block-columns { gap: 0 !important; }

  .blog-posts-section-homepage .extra-large-p { font-size: 64px !important; line-height: 1 !important; }
  .blog-posts-section-homepage h2 { font-size: 40px !important; }
  .blog-posts-section-homepage .wp-block-post-title,
  .blog-posts-section-homepage .wp-block-post-title a,
  .blog-posts-section-homepage h4 { font-size: 28px !important; text-align: left !important; }
  .blog-posts-section-homepage .wp-block-post-excerpt p,
  .blog-posts-section-homepage .wp-block-post-excerpt,
  .blog-posts-section-homepage .normal-p { font-size: 18px !important; text-align: left !important; }
  .blog-query .wp-block-post-template { gap: 40px !important; }
  .blog-query .wp-block-post { margin-left: 30px !important; margin-right: 30px !important; }
  .blog-posts-section-homepage .wp-block-paragraph a { font-size: 20px !important; color: var(--wp--preset--color--custom-rose-beige) !important; }

  .newsletter-section-homepage .extra-large-p { font-size: 64px !important; line-height: 1 !important; }
  .newsletter-section-homepage h2 { font-size: 40px !important; }
  .newsletter-section-homepage .normal-p { font-size: 20px !important; max-width: 100% !important; }
  .newsletter-section-homepage .wp-block-buttons { width: 100% !important; flex-direction: column !important; }
  .newsletter-section-homepage .wp-block-buttons .wp-block-button { width: 100% !important; }
  .newsletter-section-homepage .wp-block-buttons .wp-block-button__link {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 16px !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    padding-left: 48px !important;
    padding-right: 48px !important;
    box-sizing: border-box !important;
  }

  .faq-section-homepage {
    padding: 64px 20px !important;
  }

  .faq-section-homepage .wp-block-column { margin-bottom: 40px !important; }
  .faq-section-homepage .extra-large-p { font-size: 64px !important; line-height: 1 !important; }
  .faq-section-homepage h2 { font-size: 40px !important; }
  .faq-section-homepage .faq-heading { max-width: 100% !important; }
  .faq-section-homepage .faq-item summary { font-size: 26px !important; }
  .faq-section-homepage .faq-item summary::after { width: 36px !important; height: 36px !important; }
  .faq-section-homepage .wp-block-details p { font-size: 18px !important; }
  .faq-section-homepage .wp-block-columns { gap: 0 !important; }
  .faq-section-homepage .wp-block-buttons { width: 100% !important; flex-direction: column !important; }
  .faq-section-homepage .wp-block-buttons .wp-block-button { width: 100% !important; }
  .faq-section-homepage .wp-block-buttons .wp-block-button__link {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 16px !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    padding-left: 48px !important;
    padding-right: 48px !important;
    box-sizing: border-box !important;
  }

  .footer-section .wp-block-columns:last-child .wp-block-column:first-child p {
    text-align: center !important;
  }

  .footer-section {
    padding: 64px 20px !important;
  }

  .footer-section .wp-block-column { margin-bottom: 30px !important; }
  .footer-section h2 { font-size: 32px !important; }
  .footer-section .large-p { font-size: 68px !important; }
  .footer-section .footer-nav { justify-content: center; }

  /* About page — all rules scoped to about sections so they never leak into the footer */
  .about-core-values-text { max-width: 100% !important; }

  .about-section-1 { padding-top: 140px !important; padding-left: 36px !important; padding-right: 36px !important; padding-bottom: 60px !important; }
  .about-section-3 { padding-top: 60px !important; padding-bottom: 60px !important; padding-left: 36px !important; padding-right: 36px !important; }
  .about-section-4 { padding-top: 60px !important; padding-bottom: 60px !important; padding-left: 36px !important; padding-right: 36px !important; }

  .about-section-1 .wp-block-column,
  .about-section-3 .wp-block-column { padding-left: 0 !important; padding-right: 0 !important; margin-bottom: 20px !important; }

  .about-section-1 .wp-block-image img { max-width: 100% !important; width: 100% !important; height: auto !important; }
  .about-section-2 .wp-block-cover__inner-container { padding-left: 20px !important; padding-right: 20px !important; }

  /* Section 1 — stack columns, image first, then heading, then text */
  .about-section-1 .wp-block-columns {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100% !important;
    max-width: 100% !important;
  }
  .about-section-1 .wp-block-column { width: 100% !important; max-width: 100% !important; flex-basis: 100% !important; }
  .about-section-1 .wp-block-column:nth-child(1) { order: 2; }
  .about-section-1 .wp-block-column:nth-child(2) { order: 1; }
  .about-section-1 .wp-block-column:nth-child(3) { order: 3; }

  .about-section-1 h4 { font-size: 40px !important; }
  .about-section-1 .wp-block-columns p { font-size: 22px !important; margin-bottom: 30px !important; }
  .about-section-1 .has-beautifully-delicious-script-font-family { font-size: 74px !important; line-height: 1 !important; }

  /* Section 2 — Guiding my path cover */
  .about-section-2 .has-beautifully-delicious-script-font-family { font-size: 92px !important; line-height: 1 !important; }
  .about-section-2 h3 { font-size: 32px !important; padding-left: 20px !important; padding-right: 20px !important; }
  .about-section-2 p:not(.has-beautifully-delicious-script-font-family) { font-size: 22px !important; }

  /* Section 3 — Why work with me */
  .about-section-3 .scrolling-text {
    padding-top: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -36px !important;
    margin-right: -36px !important;
  }
  .about-section-3 .scrolling-text.wp-block-group p { font-size: 48px !important; }
  .about-section-3 h3 { font-size: 38px !important; margin-bottom: 20px !important; }
  .about-section-3 .has-of-stat-color { font-size: 72px !important; margin-bottom: 20px !important; }
  .about-section-3 p:not(.has-of-stat-color) { font-size: 22px !important; }

  /* Section 4 — testimonial */
  .about-section-4 .testimonials-stars { max-width: 110px !important; }
  .about-section-4 .is-style-rounded img { width: 160px !important; height: 160px !important; }
  .about-section-4 h3 { font-size: 32px !important; }
  .about-section-4 p { font-size: 22px !important; }

  /* About buttons — full width */
  .about-section-1 .wp-block-buttons,
  .about-section-3 .wp-block-buttons { width: 100% !important; }
  .about-section-1 .wp-block-buttons .wp-block-button,
  .about-section-3 .wp-block-buttons .wp-block-button { width: 100% !important; }
  .about-section-3 .wp-block-buttons .wp-block-button__link {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 16px !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    box-sizing: border-box !important;
  }

  /* =========================================================
     Services page — mobile
  ========================================================= */
  /* Section 1 — heading + cards grid */
  .services-section-1 {
    padding-top: 140px !important;
    padding-bottom: 30px !important;
  }
  .services-section-1 .extra-large-p { font-size: 60px !important; }
  .services-section-1 .extra-large-heading { font-size: 38px !important; }

  /* Cards stack one per row, full width */
  .services-grid {
    padding-left: 20px !important;
    padding-right: 20px !important;
    gap: var(--wp--preset--spacing--40) !important;
  }
  .services-grid .wp-block-column.service-card {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
  }
  .services-section-1 .service-card__img {
    margin-left: -30px !important;
    margin-right: -30px !important;
    width: calc(100% + 60px) !important;
  }
  .services-section-1 .service-card h4 { font-size: 32px !important; }
  .services-section-1 .service-card p { font-size: 18px !important; }

  /* Book Now — full width */
  .services-section-1 .service-card__btn { width: 100% !important; }
  .services-section-1 .service-card__btn .wp-block-button { width: 100% !important; }
  .services-section-1 .service-card__btn .wp-block-button__link {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 16px !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
    box-sizing: border-box !important;
  }

  /* Section 2 — testimonial */
  .services-section-2 {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .services-section-2 .is-style-rounded img { width: 150px !important; height: 150px !important; }
  .services-section-2 .testimonials-stars { max-width: 110px !important; }
  .services-section-2 h3 { font-size: 32px !important; }
  .services-section-2 .about-testimonial-quote { font-size: 22px !important; }

  /* =========================================================
     Programs page — mobile
  ========================================================= */
  /* Section 1 — hero */
  .programs-section-1 {
    padding-top: 150px !important;
    padding-bottom: 80px !important;
    min-height: 0 !important;
  }
  .programs-section-1 .extra-large-p { font-size: 58px !important; }
  .programs-section-1 .programs-hero-title { font-size: 48px !important; }

  /* Section 2 — pricing cards stack */
  .programs-section-2 {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .programs-section-2 .programs-grid { gap: 40px !important; }
  .programs-section-2 .program-card {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
  }
  .programs-section-2 .program-price { font-size: 50px !important; }
  .programs-section-2 .program-features li { font-size: 16px !important; }

  /* Section 3 — testimonial */
  .programs-section-3 {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .programs-section-3 .is-style-rounded img { width: 150px !important; height: 150px !important; }
  .programs-section-3 .testimonials-stars { max-width: 110px !important; }
  .programs-section-3 h3 { font-size: 32px !important; }
  .programs-section-3 .about-testimonial-quote { font-size: 22px !important; }

  /* =========================================================
     Blog page — mobile
  ========================================================= */
  .blog-section-1 {
    padding-top: 150px !important;
    padding-bottom: 70px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .blog-section-1 .extra-large-p { font-size: 58px !important; }
  .blog-section-1 .extra-large-heading { font-size: 40px !important; }

  /* Each post stacks: image on top, content below */
  .blog-section-1 .blog-post-row {
    gap: 22px !important;
  }
  .blog-section-1 .blog-post-row .wp-block-column {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
  }
  .blog-section-1 .blog-post-title { font-size: 30px !important; }
  .blog-section-1 .blog-post-excerpt { font-size: 17px !important; }

  /* =========================================================
     Contact page — mobile
  ========================================================= */
  .section-1-contact-page {
    padding-top: 120px !important;
    padding-bottom: 50px !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
  .section-1-contact-page .extra-large-p { font-size: 60px !important; line-height: 1 !important; }
  .section-1-contact-page .extra-large-heading { font-size: 34px !important; }
  .section-1-contact-page .normal-p { font-size: 18px !important; }
}

.more-about-me-buttons {
  margin-top: 60px;
}
