/* FAQ page — approved fixed-width hero with a responsive, accessible accordion. */

.faq-figma-page {
  display: flow-root;
  width: 1440px;
  height: auto;
  min-height: 0;
}

/* Hero background and navigation */
.faq-rectangle-1 {
  width: 1457px;
  height: 464px;
  left: -7px;
  top: -13px;
  background: var(--color-black);
}

.faq-chatgpt-image-may-21-2026-09-23 {
  width: 1440px;
  height: 810px;
  left: 0;
  top: -359px;
  background-image: url("/assets/images/FAQ%20Header%20Image.png");
}

.faq-rectangle-1-2 {
  width: 1457px;
  height: 464px;
  left: -7px;
  top: -13px;
  background: var(--color-black);
  opacity: 0.49;
}

.faq-whatsapp-image-2026-01-12-at-7 {
  width: 179px;
  height: 60px;
  left: 80px;
  top: 25px;
  background-image: url("/assets/images/Logo.jpeg");
}

.faq-rectangle-3 {
  width: 130px;
  height: 54px;
  left: 1230px;
  top: 29px;
  background: var(--color-primary);
}

.faq-contact-us {
  width: 87px;
  height: 21px;
  left: 1251px;
  top: 46px;
  color: var(--color-white);
  font-size: 18px;
  font-weight: 400;
  line-height: 21px;
}

.faq-find-clear-answers-to-common-questions-about {
  width: 1072px;
  height: 66px;
  left: calc(50% - 536px);
  top: 294px;
  color: var(--color-white);
  font-size: 24px;
  font-weight: 300;
  line-height: 33px;
  text-align: center;
  white-space: normal;
}

.faq-frequently-asked-questions {
  width: 1115px;
  height: 65px;
  left: calc(50% - 557.5px);
  top: 209px;
  color: var(--color-white);
  font-size: 54px;
  font-weight: 300;
  line-height: 65px;
  text-align: center;
  text-transform: capitalize;
}

.faq-rectangle-2 {
    width: 578px;
    height: 52px;
    left: 431px;
    top: 29px;
    background: rgba(255, 255, 255, 0.18);
    opacity: 0.18;
}

.faq-rectangle-38 {
  width: 66px;
  height: 42px;
  left: 937px;
  top: 34px;
  background: var(--color-primary);
}

.faq-home,
.faq-our-services,
.faq-meet-the-team,
.faq-meet-the-facilitator,
.faq-faq {
  height: 19px;
  top: 46px;
  color: var(--color-white);
  font-size: 16px;
  font-weight: 400;
  line-height: 19px;
}

.faq-home {
  width: 44px;
  left: 452px;
}

.faq-our-services {
  width: 90px;
  left: 523px;
}

.faq-meet-the-team {
  width: 107px;
  left: 640px;
}

.faq-meet-the-facilitator {
  width: 140px;
  left: 774px;
}

.faq-faq {
  width: 31px;
  left: 956px;
}

/* Accordion content */
.faq-content {
  position: relative;
  width: 1280px;
  margin: 0 0 0 80px;
  padding-top: 523px;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.faq-notice {
  display: flex;
  align-items: center;
  width: 1280px;
  min-height: 64px;
  padding: 0 36px;
  background: var(--color-primary);
  color: var(--color-white);
  font-size: 20px;
  font-weight: 500;
  line-height: 28px;
}

.faq-accordion {
  margin-top: 90px;
}

.faq-item + .faq-item {
  margin-top: 54px;
}

.faq-question {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}

.faq-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 50px;
  padding: 0 36px 0 44px;
  border: 0;
  border-bottom: 1.5px solid #c8c7c7;
  background: transparent;
  color: var(--color-primary);
  cursor: pointer;
  font: 500 24px/30px var(--font-primary);
  text-align: left;
}

.faq-toggle:hover {
  color: #e93434;
}

.faq-toggle:focus-visible {
  outline: 3px solid rgba(255, 64, 64, 0.32);
  outline-offset: 5px;
}

.faq-toggle > span:first-child {
  padding-right: 30px;
}

.faq-toggle-icon {
  position: relative;
  display: block;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--color-primary);
}

.faq-toggle-icon::before,
.faq-toggle-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  border-radius: 2px;
  background: var(--color-white);
  transform: translate(-50%, -50%);
  transition: opacity 160ms ease, transform 160ms ease;
}

.faq-toggle-icon::before {
  width: 8px;
  height: 2px;
}

.faq-toggle-icon::after {
  width: 2px;
  height: 8px;
  opacity: 0;
}

.faq-toggle[aria-expanded="false"] .faq-toggle-icon::after {
  opacity: 1;
}

.faq-panel {
  padding: 29px 44px 0;
  color: var(--color-text-muted);
  font-size: 20px;
  font-weight: 400;
  line-height: 30px;
}

.faq-panel[hidden] {
  display: none;
}

.faq-panel p {
  width: 1175px;
  margin: 0;
}

.faq-panel--strong {
  font-weight: 700;
}

/* The shared footer follows the accordion, so it moves up when sections close. */
.faq-page .sor-footer {
  position: relative;
  left: 0;
  top: auto;
  margin-top: 92px;
}


/* FAQ flow safeguards: keep the fixed hero separate from the dynamic accordion. */
.faq-page .scale-wrap {
  overflow: hidden;
}

.faq-page .faq-content,
.faq-page .sor-footer {
  clear: both;
}
/* ================================================================
   SOR FAQ PAGE — PREMIUM MOTION + INTERACTION
   Paste at the very bottom of wwwroot/assets/css/faq.css

   Scope: FAQ page only. No HTML changes required.
   ================================================================ */

.faq-page {
    --faq-motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --faq-motion-ease-soft: cubic-bezier(0.16, 1, 0.3, 1);
    --faq-motion-red: var(--color-primary, #ff4040);
}

    /* Calm hero entrance */
    .faq-page .faq-chatgpt-image-may-21-2026-09-23 {
        transform-origin: center center;
        animation: faqHeroImageIn 1500ms var(--faq-motion-ease-soft) both;
        will-change: transform, opacity, filter;
    }

    .faq-page .faq-rectangle-1-2 {
        animation: faqHeroOverlayIn 900ms ease both;
    }

    .faq-page .faq-whatsapp-image-2026-01-12-at-7,
    .faq-page .faq-rectangle-2,
    .faq-page .faq-rectangle-38,
    .faq-page .faq-rectangle-3,
    .faq-page .faq-contact-us,
    .faq-page .faq-home,
    .faq-page .faq-our-services,
    .faq-page .faq-meet-the-team,
    .faq-page .faq-meet-the-facilitator,
    .faq-page .faq-faq,
    .faq-page .faq-frequently-asked-questions,
    .faq-page .faq-find-clear-answers-to-common-questions-about {
        animation: faqHeroTextIn 760ms var(--faq-motion-ease) both;
    }

    .faq-page .faq-whatsapp-image-2026-01-12-at-7 {
        animation-delay: 60ms;
    }

    .faq-page .faq-rectangle-2,
    .faq-page .faq-rectangle-38 {
        animation-delay: 100ms;
    }

    .faq-page .faq-home,
    .faq-page .faq-our-services,
    .faq-page .faq-meet-the-team,
    .faq-page .faq-meet-the-facilitator,
    .faq-page .faq-faq {
        animation-delay: 150ms;
    }

    .faq-page .faq-rectangle-3,
    .faq-page .faq-contact-us {
        animation-delay: 190ms;
    }

    .faq-page .faq-frequently-asked-questions {
        animation-delay: 260ms;
    }

    .faq-page .faq-find-clear-answers-to-common-questions-about {
        animation-delay: 360ms;
    }

@keyframes faqHeroImageIn {
    from {
        opacity: 0.75;
        transform: scale(1.045);
        filter: saturate(0.92) contrast(0.96);
    }

    to {
        opacity: 1;
        transform: scale(1);
        filter: saturate(1) contrast(1);
    }
}

@keyframes faqHeroOverlayIn {
    from {
        opacity: 0.68;
    }

    to {
        opacity: 0.49;
    }
}

@keyframes faqHeroTextIn {
    from {
        opacity: 0;
        transform: translate3d(0, 12px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

/* Header interactions */
.faq-page .faq-home,
.faq-page .faq-our-services,
.faq-page .faq-meet-the-team,
.faq-page .faq-meet-the-facilitator,
.faq-page .faq-faq,
.faq-page .faq-contact-us {
    text-decoration: none;
    transition: transform 240ms var(--faq-motion-ease), color 240ms ease, filter 240ms ease, box-shadow 240ms ease;
}

    .faq-page .faq-home:hover,
    .faq-page .faq-our-services:hover,
    .faq-page .faq-meet-the-team:hover,
    .faq-page .faq-meet-the-facilitator:hover,
    .faq-page .faq-faq:hover {
        color: #ffd0d0;
        transform: translate3d(0, -2px, 0);
    }

    .faq-page .faq-contact-us:hover {
        transform: translate3d(0, -3px, 0);
        filter: brightness(1.04);
        box-shadow: 0 16px 34px rgba(255, 64, 64, 0.24);
    }

/* Scroll reveal targets */
html.faq-contact-motion-ready .faq-page .faq-motion-target {
    --faq-x: 0px;
    --faq-y: 28px;
    --faq-scale: 1;
    opacity: 0;
    transform: translate3d(var(--faq-x), var(--faq-y), 0) scale(var(--faq-scale));
    filter: blur(1.3px) saturate(0.97) contrast(0.98);
    transition: opacity 720ms var(--faq-motion-ease), transform 820ms var(--faq-motion-ease-soft), filter 560ms ease, background-color 260ms ease, box-shadow 260ms ease;
    transition-delay: var(--faq-delay, 0ms);
    will-change: opacity, transform, filter;
}

    html.faq-contact-motion-ready .faq-page .faq-motion-target.faq-visible {
        --faq-x: 0px;
        --faq-y: 0px;
        --faq-scale: 1;
        opacity: 1;
        filter: none;
    }

html.faq-contact-motion-ready .faq-page .faq-from-left {
    --faq-x: -34px;
}

html.faq-contact-motion-ready .faq-page .faq-from-right {
    --faq-x: 34px;
}

html.faq-contact-motion-ready .faq-page .faq-soft-scale {
    --faq-y: 16px;
    --faq-scale: 0.985;
}

/* Notice bar polish */
.faq-page .faq-notice {
    position: relative;
    overflow: hidden;
    box-shadow: 0 16px 34px rgba(255, 64, 64, 0.12);
}

    .faq-page .faq-notice::after {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background: linear-gradient(105deg, transparent 24%, rgba(255,255,255,0.30) 48%, transparent 72%);
        transform: translateX(-135%);
        opacity: 0;
    }

html.faq-contact-motion-ready .faq-page .faq-notice.faq-visible::after {
    animation: faqNoticeSweep 1150ms var(--faq-motion-ease) 320ms both;
}

@keyframes faqNoticeSweep {
    0% {
        opacity: 0;
        transform: translateX(-135%);
    }

    18% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: translateX(135%);
    }
}

/* Accordion item interaction */
.faq-page .faq-item {
    position: relative;
    border-radius: 16px;
    transition: transform 260ms var(--faq-motion-ease), background-color 260ms ease, box-shadow 260ms ease;
}

    .faq-page .faq-item:hover {
        background: rgba(255, 64, 64, 0.025);
        box-shadow: 0 18px 46px rgba(20, 20, 20, 0.06);
        transform: translate3d(0, -2px, 0);
    }

   /* .faq-page .faq-item::before {
        content: "";
        position: absolute;
        left: 0;
        top: 10px;
        bottom: 10px;
        width: 3px;
        border-radius: 999px;
        background: var(--faq-motion-red);
        transform: scaleY(0);
        transform-origin: center top;
        opacity: 0;
        transition: transform 360ms var(--faq-motion-ease), opacity 260ms ease;
    }*/

    .faq-page .faq-item:hover::before,
    .faq-page .faq-item.faq-visible::before {
        transform: scaleY(1);
        opacity: 0.62;
    }

.faq-page .faq-toggle {
    position: relative;
    transition: color 220ms ease, transform 240ms var(--faq-motion-ease), letter-spacing 240ms ease;
}

    .faq-page .faq-toggle:hover {
        transform: translate3d(5px, 0, 0);
        letter-spacing: 0.01em;
    }

.faq-page .faq-toggle-icon {
    box-shadow: 0 10px 22px rgba(255, 64, 64, 0.20);
    transition: transform 240ms var(--faq-motion-ease), box-shadow 240ms ease, background-color 240ms ease;
}

.faq-page .faq-toggle:hover .faq-toggle-icon {
    transform: scale(1.10);
    box-shadow: 0 14px 28px rgba(255, 64, 64, 0.28);
}

.faq-page .faq-toggle[aria-expanded="true"] .faq-toggle-icon {
    background: #e93434;
}

.faq-page .faq-panel p {
    transition: color 240ms ease, text-shadow 240ms ease;
}

.faq-page .faq-panel:hover p {
    color: #565656;
    text-shadow: 0 8px 22px rgba(255, 64, 64, 0.045);
}

@media (hover: none) {
    .faq-page .faq-item:hover,
    .faq-page .faq-toggle:hover,
    .faq-page .faq-contact-us:hover,
    .faq-page .faq-home:hover,
    .faq-page .faq-our-services:hover,
    .faq-page .faq-meet-the-team:hover,
    .faq-page .faq-meet-the-facilitator:hover,
    .faq-page .faq-faq:hover {
        transform: none;
        box-shadow: none;
        letter-spacing: normal;
    }
}

@media (prefers-reduced-motion: reduce) {
    .faq-page .faq-chatgpt-image-may-21-2026-09-23,
    .faq-page .faq-rectangle-1-2,
    .faq-page .faq-whatsapp-image-2026-01-12-at-7,
    .faq-page .faq-rectangle-2,
    .faq-page .faq-rectangle-38,
    .faq-page .faq-rectangle-3,
    .faq-page .faq-contact-us,
    .faq-page .faq-home,
    .faq-page .faq-our-services,
    .faq-page .faq-meet-the-team,
    .faq-page .faq-meet-the-facilitator,
    .faq-page .faq-faq,
    .faq-page .faq-frequently-asked-questions,
    .faq-page .faq-find-clear-answers-to-common-questions-about,
    .faq-page .faq-motion-target,
    .faq-page .faq-notice::after,
    .faq-page .faq-item,
    .faq-page .faq-item::before,
    .faq-page .faq-toggle,
    .faq-page .faq-toggle-icon {
        animation: none !important;
        transition: none !important;
        transform: none !important;
        opacity: 1 !important;
        filter: none !important;
        box-shadow: none !important;
    }
}
/* ================================================================
   FAQ PAGE — TOP AREA FAQ-STYLE MOTION ONLY
   Paste at the VERY BOTTOM of faq.css

   This only affects:
   - main FAQ hero title
   - hero subtitle
   - red notice bar

   It does NOT affect:
   - FAQ accordion
   - FAQ questions
   - footer
   - page layout
   ================================================================ */

.faq-page {
    --faq-top-hover-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

    /* Top hero title + subtitle */
    .faq-page .faq-frequently-asked-questions,
    .faq-page .faq-find-clear-answers-to-common-questions-about {
        cursor: default !important;
        transition: transform 240ms var(--faq-top-hover-ease), letter-spacing 240ms ease, color 220ms ease, text-shadow 240ms ease !important;
    }

        /* Same FAQ question style: small right move + slight letter spacing */
        .faq-page .faq-frequently-asked-questions:hover,
        .faq-page .faq-find-clear-answers-to-common-questions-about:hover {
            transform: translate3d(5px, 0, 0) !important;
            letter-spacing: 0.01em !important;
            color: #ffffff !important;
            text-shadow: 0 10px 28px rgba(255, 255, 255, 0.10) !important;
        }

    /* Red notice bar at the top of FAQ content */
    .faq-page .faq-notice {
        cursor: default !important;
        transition: transform 260ms var(--faq-top-hover-ease), box-shadow 260ms ease, filter 240ms ease, letter-spacing 240ms ease !important;
    }

        /* Soft FAQ-style hover for the red bar */
        .faq-page .faq-notice:hover {
            transform: translate3d(5px, -2px, 0) !important;
            letter-spacing: 0.01em !important;
            filter: brightness(1.02) !important;
            box-shadow: 0 18px 46px rgba(255, 64, 64, 0.18) !important;
        }

/* Keep mobile/touch stable */
@media (hover: none) {
    .faq-page .faq-frequently-asked-questions:hover,
    .faq-page .faq-find-clear-answers-to-common-questions-about:hover,
    .faq-page .faq-notice:hover {
        transform: none !important;
        letter-spacing: normal !important;
        filter: none !important;
        box-shadow: none !important;
    }
}
/* ================================================================
   FAQ PAGE — TOP MOTION FIX
   Keep effect on main title + red notice bar only.
   Remove effect from hero subtitle paragraph.
   Paste at the VERY BOTTOM of faq.css
   ================================================================ */

.faq-page {
    --faq-top-hover-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

    /* Main FAQ title only */
    .faq-page .faq-frequently-asked-questions {
        cursor: default !important;
        transition: transform 240ms var(--faq-top-hover-ease), letter-spacing 240ms ease, color 220ms ease, text-shadow 240ms ease !important;
    }

        .faq-page .faq-frequently-asked-questions:hover {
            transform: translate3d(5px, 0, 0) !important;
            letter-spacing: 0.01em !important;
            color: #ffffff !important;
            text-shadow: 0 10px 28px rgba(255, 255, 255, 0.10) !important;
        }

    /* Do NOT animate the hero subtitle */
    .faq-page .faq-find-clear-answers-to-common-questions-about,
    .faq-page .faq-find-clear-answers-to-common-questions-about:hover {
        transform: none !important;
        letter-spacing: normal !important;
        text-shadow: none !important;
        color: #ffffff !important;
    }

    /* Red notice bar only */
    .faq-page .faq-notice {
        cursor: default !important;
        transition: transform 260ms var(--faq-top-hover-ease), box-shadow 260ms ease, filter 240ms ease, letter-spacing 240ms ease !important;
    }

        .faq-page .faq-notice:hover {
            transform: translate3d(5px, -2px, 0) !important;
            letter-spacing: 0.01em !important;
            filter: brightness(1.02) !important;
            box-shadow: 0 18px 46px rgba(255, 64, 64, 0.18) !important;
        }

@media (hover: none) {
    .faq-page .faq-frequently-asked-questions:hover,
    .faq-page .faq-find-clear-answers-to-common-questions-about:hover,
    .faq-page .faq-notice:hover {
        transform: none !important;
        letter-spacing: normal !important;
        filter: none !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }
}