@font-face{font-family:__fontPrimary_3c02a0;src:url(/_next/static/media/777994872ea449fc-s.p.woff2) format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:__fontPrimary_3c02a0;src:url(/_next/static/media/72f84b25983afc71-s.p.woff2) format("woff2");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:__fontPrimary_Fallback_3c02a0;src:local("Arial");ascent-override:91.39%;descent-override:20.42%;line-gap-override:0.00%;size-adjust:103.84%}.__className_3c02a0{font-family:__fontPrimary_3c02a0,__fontPrimary_Fallback_3c02a0}.__variable_3c02a0{--font-primary:"__fontPrimary_3c02a0","__fontPrimary_Fallback_3c02a0"}.footer_footerGrid__SxPfc{grid-template-columns:22.3fr 10fr 16fr 3.7fr 12.7fr}.footer_footerGrid__SxPfc>div:first-child{grid-column:1}.footer_footerGrid__SxPfc>div:nth-child(2){grid-column:3}.footer_footerGrid__SxPfc>div:nth-child(3){grid-column:5}.footer_footerGridLarge__vXamv{grid-template-columns:24fr 5.6fr 16fr 5.6fr 18fr 4fr 29.1fr}.footer_footerGridLarge__vXamv>div:first-child{grid-column:1}.footer_footerGridLarge__vXamv>div:nth-child(2){grid-column:3}.footer_footerGridLarge__vXamv>div:nth-child(3){grid-column:5}.footer_footerGridLarge__vXamv>div:nth-child(4){grid-column:7}.footer_footerGrid__4zfCv{grid-template-columns:22.3fr 10fr 16fr 3.7fr 12.7fr}.footer_footerGrid__4zfCv>div:first-child{grid-column:1}.footer_footerGrid__4zfCv>div:nth-child(2){grid-column:3}.footer_footerGrid__4zfCv>div:nth-child(3){grid-column:5}.footer_footerGridLarge__lA9hI{grid-template-columns:24fr 5.6fr 16fr 5.6fr 18fr 4fr 29.1fr}.footer_footerGridLarge__lA9hI>div:first-child{grid-column:1}.footer_footerGridLarge__lA9hI>div:nth-child(2){grid-column:3}.footer_footerGridLarge__lA9hI>div:nth-child(3){grid-column:5}.footer_footerGridLarge__lA9hI>div:nth-child(4){grid-column:7}.styles_header__udZKm{height:var(--header-h);position:fixed;left:0;top:0;width:100%;display:flex;z-index:999}.styles_headerHidden__fPa5i:hover .styles_headerBar__ymzds{transform:none}.styles_headerBar__ymzds{transition:transform .3s cubic-bezier(.65,.05,.36,1),background-color .3s cubic-bezier(.65,.05,.36,1);height:100%;padding:0 1.6rem;align-items:center}@media(min-width:1280px){.styles_headerBar__ymzds{padding:0 4rem}}@media(max-width:1279px){.styles_menu__Hm8IV{transition:clip-path .6s cubic-bezier(.65,.05,.36,1);will-change:clip-path;clip-path:inset(0 0 100% 0)}.styles_menu__Hm8IV [data-stagger]{transition:transform .35s cubic-bezier(.65,.05,.36,1),opacity .35s cubic-bezier(.65,.05,.36,1);transform:translateY(1.5rem);opacity:0}}.styles_logoWrap__kj7gS{display:flex;align-items:center;align-self:start;margin-top:1.184rem}@media(min-width:768px){.styles_logoWrap__kj7gS{margin-top:1.951rem}}.styles_logoLink__ouoJH{position:relative;display:inline-flex;align-items:center}.styles_logo__6zrBN{width:14.8rem;height:auto;overflow:visible}@media(min-width:768px){.styles_logo__6zrBN{width:18.6rem}}@media(min-width:1280px){.styles_subnavItem__6GB00:hover .styles_nestedMenu__QSbk5{transform:translateY(0) translateX(-2.4rem);opacity:1;pointer-events:all}}.styles_nestedMenuWrapper__GBTdy{transition:max-height .5s cubic-bezier(.65,.05,.36,1);overflow:hidden;max-height:0}.styles_nestedMenuWrapper__GBTdy:focus-within{max-height:500px}@media(min-width:1280px){.styles_nestedMenuWrapper__GBTdy:focus-within .styles_nestedMenu__QSbk5{opacity:1}}.styles_nestedMenuWrapperActive__3J1c1{max-height:500px}.styles_nestedMenu__QSbk5{padding:2.4rem 0;display:grid;gap:2.4rem;text-align:left;border-bottom:2px solid #bfcaf1}@media(min-width:1280px){.styles_nestedMenu__QSbk5{transition:transform .35s cubic-bezier(.65,.05,.36,1),opacity .35s cubic-bezier(.65,.05,.36,1);border:none;opacity:0;padding:1.6rem 2.4rem;white-space:nowrap;pointer-events:none;background:#e7e7ff;position:absolute;left:0;transform:translateX(-2.4rem) translateY(-1.2rem);top:100%;margin-top:2.3rem}.styles_nestedMenu__QSbk5:before{content:"";position:absolute;left:0;cursor:pointer;right:0;bottom:100%;height:3rem}}.styles_menuActive__ZAXXO{clip-path:inset(0 0 -50vh 0)}@media(min-width:1280px){.styles_menuActive__ZAXXO{clip-path:none}}@media(max-width:1279px){.styles_menuActive__ZAXXO [data-stagger]{transition-duration:.6s;transform:none!important;opacity:1;transition-delay:var(--d)}}.styles_menuInnactive__bRvPm{clip-path:inset(0 0 100% 0)}@media(min-width:1280px){.styles_menuInnactive__bRvPm{clip-path:none}}.floating-chat-overlay-open .styles_header__udZKm{z-index:1001;pointer-events:none}.floating-chat-overlay-open .styles_headerBar__ymzds{background-color:transparent!important;transform:none!important;pointer-events:none}.floating-chat-overlay-open .styles_logoWrap__kj7gS{pointer-events:auto}.floating-chat-overlay-open .styles_header__udZKm .menu-opener,.floating-chat-overlay-open .styles_menu__Hm8IV{opacity:0;pointer-events:none!important}.rounded-\[4\.2rem\],.rounded-\[1\.6rem\],.rounded-\[1\.04rem\],.rounded-\[0\.8rem\],.styles_image__TEd92,.styles_image__E7SnU{background-color:#FAF8F2!important}.styles_image__TEd92 video,.styles_image__TEd92 img,.styles_image__E7SnU video,.styles_image__E7SnU img,.rounded-\[4\.2rem\] video,.rounded-\[4\.2rem\] img,.aspect-\[304\/624\] video,.aspect-\[304\/624\] img,.styles_section__1dMKh video,.styles_section__1dMKh img,.styles_section___qkJW video,.styles_section___qkJW img,[class*="HomeTech"] video,[class*="HomeTech"] img,[class*="homeTech"] video,[class*="homeTech"] img,[class*="phone"]:not(.home-hero-section *) video,[class*="phone"]:not(.home-hero-section *) img{-o-object-fit:contain!important;object-fit:contain!important;padding:1.4rem!important;background-color:#FAF8F2!important;box-sizing:border-box!important}[id="calculator_dscr"], [class*="calculatorDscr"], [class*="CalculatorDscr"], section:has([id="calculator_dscr"]), #deal-sizer-tpo, section:has(.styles_chartDiff__Cm4ho), section:has(.styles_incomeChart__ABHNB) { display: none !important; }footer ul a{white-space:nowrap}
/* MOBILE-PHONE-FIXES-START */
/* ==========================================================================
   PurpleFest Vadodara 2027 — Mobile Phone Responsive Stylesheet (Bootstrap 5 + Custom Fixes)
   Strictly scoped to mobile phone viewports (@media only screen and (max-width: 767.98px)).
   Desktop & Laptop layouts (min-width: 768px) are 100% untouched.
   ========================================================================== */

@media only screen and (max-width: 767.98px) {
  /* 1. Viewport & Horizontal Overflow Protection */
  html,
  body {
    max-width: 100vw !important;
    overflow-x: clip !important;
  }

  main,
  section,
  header,
  footer,
  .site-section,
  .cta-section {
    max-width: 100vw !important;
  }

  /* 2. Bootstrap 5 Mobile Responsive Container, Grid & Flex Utilities */
  .container,
  .container-fluid,
  .container-sm {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 1.6rem !important;
    padding-right: 1.6rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  .row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -0.8rem;
    margin-right: -0.8rem;
  }

  .col-12,
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
  }

  .d-mobile-block { display: block !important; }
  .d-mobile-flex { display: flex !important; }
  .flex-mobile-column { flex-direction: column !important; }
  .text-mobile-center { text-align: center !important; }
  .w-mobile-100 { width: 100% !important; }

  /* 3. Mobile Typography & Heading Scaling (360px - 390px phones) */
  .line-w,
  .styles_wrapper__e5z0j,
  .styles_splitText__pzy_L,
  .styles_fallback__a_QZN {
    padding-right: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
  }

  .h1,
  h1,
  .h1.h1--large,
  h1.h1--large,
  h1.h1.styles_heroTitle__vQ4MT,
  h1.h1.styles_heroTitle__w2sqv,
  .md\:h1 {
    font-size: clamp(2.8rem, 8vw, 3.4rem) !important;
    line-height: 1.08 !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    max-width: 100% !important;
  }

  .h2,
  h2,
  .h2.h2--large,
  h2.h2--large {
    font-size: clamp(2.4rem, 6.8vw, 2.8rem) !important;
    line-height: 1.12 !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    max-width: 100% !important;
  }

  .h3,
  h3,
  .\!h3,
  .h3.h3--small,
  h3.h3--small,
  .\!h3.h3--small,
  .md\:h3 {
    font-size: clamp(2.0rem, 5.5vw, 2.2rem) !important;
    line-height: 1.15 !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    max-width: 100% !important;
  }

  /* 4. Mobile 3D Sequence Canvas Containers */
  canvas,
  .styles_canvas__Am2Oa,
  .styles_canvas__n8gRy,
  .styles_canvas__TWCQu,
  [class*="styles_canvas__"],
  [class*="sequence"] canvas {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    right: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    --tw-scale-x: 1 !important;
    --tw-scale-y: 1 !important;
    --tw-translate-x: 0px !important;
    --tw-translate-y: 0px !important;
    transform: none !important;
    -o-object-fit: contain !important;
    object-fit: contain !important;
  }

  /* 5. Mobile Benefits Section Cards (Vertical Stack on Phones) */
  .home-benefits-section,
  section:has(.styles_moveContainer__W1U4r) {
    height: auto !important;
    min-height: 0 !important;
  }

  .home-benefits-section > .sticky,
  section:has(.styles_moveContainer__W1U4r) > .sticky {
    position: relative !important;
    height: auto !important;
    width: 100% !important;
    max-width: 100vw !important;
    padding-top: 3.2rem !important;
    padding-bottom: 3.2rem !important;
  }

  .styles_moveContainer__W1U4r {
    flex-direction: column !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 1.6rem !important;
    padding-left: 0 !important;
  }

  .styles_moveContainer__W1U4r > * {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
  }

  .styles_moveContainer__W1U4r .-translate-x-8\/10 {
    --tw-translate-x: 0px !important;
    transform: none !important;
  }

  /* 6. Mobile Footer Email, Phone & Nav Columns */
  footer a.h3,
  footer .h3,
  footer a[href^="mailto:"],
  footer a[href^="tel:"] {
    font-size: clamp(1.6rem, 4.8vw, 1.9rem) !important;
    line-height: 1.25 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    white-space: normal !important;
  }

  footer ul a {
    white-space: normal !important;
  }

  /* 7. Negative Margin, Bleed Image, Arrow & Screen-Reader Bounds Fixes */
  .-mx-20 {
    margin-left: -1.6rem !important;
    margin-right: -1.6rem !important;
  }

  img.scale-\[1\.1\] {
    --tw-scale-x: 1 !important;
    --tw-scale-y: 1 !important;
    transform: none !important;
  }

  .pointer-arrow > span {
    transform: none !important;
  }

  .-left-\[5\.3rem\].-translate-x-full {
    left: -4.2rem !important;
    --tw-translate-x: 0px !important;
    transform: none !important;
  }

  .sr-only,
  .sr-only * {
    max-width: 1px !important;
    overflow: hidden !important;
    white-space: normal !important;
  }

  /* 8. Mobile Tables, Buttons & Form Controls */
  .wysiwyg table,
  table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .btn {
    max-width: 100% !important;
  }
}


.styles_progressBar__oY7fE,
.styles_progressBarArrow__s71dn,
.styles_preloader_line__bZ7q1 {
  display: none !important;
  opacity: 0 !important;
  height: 0 !important;
  width: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}
.styles_preloader__JmvRd {
  padding-top: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.styles_logo__4NIgm {
  position: relative !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
}
.styles_logoSvg__TF4KR {
  width: min(88vw, 860px) !important;
  height: auto !important;
  overflow: visible !important;
  display: block !important;
}

/* MOBILE-PHONE-FIXES-END */

/* WCAG-22-AA-COMPLIANCE-START */
.sr-only {
  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;
}
.skip-to-content {
  position: fixed;
  top: -120px;
  left: 16px;
  z-index: 9999;
  background-color: #190826;
  color: #FFFFFF !important;
  padding: 12px 20px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none !important;
  border-radius: 6px;
  border: 2px solid #E2D4F0;
  box-shadow: 0 8px 24px rgba(25, 8, 38, 0.45);
  transition: top 0.15s ease;
}
.skip-to-content:focus,
.skip-to-content:focus-visible {
  top: 16px;
  outline: 3px solid #FFD700 !important;
  outline-offset: 3px !important;
}
.pf-a11y-header-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  min-height: 42px;
  min-width: 42px;
  padding: 0;
  border-radius: 9999px;
  border: 2px solid #4A1575;
  background-color: #190826;
  color: #FFFFFF;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(25, 8, 38, 0.28);
  transition: transform 0.18s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.pf-a11y-header-btn:hover,
.pf-a11y-header-btn[aria-expanded="true"] {
  background-color: #4A1575;
  border-color: #E2D4F0;
  color: #FFFFFF;
}
.pf-a11y-icon-svg {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.pf-a11y-btn-label {
  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;
}
.pf-a11y-footer-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 16px;
  border-radius: 8px;
  border: 1.5px solid #4A1575;
  background-color: #190826;
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.pf-a11y-footer-btn:hover,
.pf-a11y-footer-btn[aria-expanded="true"] {
  background-color: #4A1575;
  border-color: #E2D4F0;
}
.pf-a11y-header-panel {
  display: none;
  position: fixed;
  top: 72px;
  right: 16px;
  z-index: 2005;
  width: min(356px, calc(100vw - 24px));
  max-height: calc(100vh - 88px);
  overflow-y: auto;
  background-color: #190826 !important;
  color: #FFFFFF !important;
  border: 1.5px solid #3E1F5B !important;
  border-radius: 14px !important;
  padding: 18px !important;
  box-shadow: 0 22px 54px rgba(10, 2, 18, 0.65) !important;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  text-align: left;
}
.pf-a11y-header-panel.is-open {
  display: block;
}
.pf-a11y-top-row {
  display: grid;
  grid-template-columns: 64px 1fr 64px;
  gap: 10px;
  align-items: stretch;
  margin-bottom: 18px;
}
.pf-a11y-step-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: 8px;
  border: 1.5px solid #4B2C6B !important;
  background-color: #210B33 !important;
  color: #FFFFFF !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.pf-a11y-step-btn:hover {
  background-color: #361254 !important;
  border-color: #9D6FD4 !important;
}
.pf-a11y-zoom-val {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: 8px;
  border: 1.5px solid #351950 !important;
  background-color: #13051E !important;
  color: #E2D4F0 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
}
.pf-a11y-section {
  margin-bottom: 16px;
}
.pf-a11y-section-title {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #CDBCE0 !important;
  margin: 0 0 8px 0 !important;
  letter-spacing: 0.02em;
  text-transform: none !important;
}
.pf-a11y-card-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pf-a11y-radio-card,
.pf-a11y-check-card {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 14px !important;
  border-radius: 9px !important;
  border: 1.5px solid #3E215B !important;
  background-color: #210C33 !important;
  color: #FFFFFF !important;
  text-align: left !important;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.pf-a11y-radio-card {
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
}
.pf-a11y-radio-card:hover,
.pf-a11y-check-card:hover {
  background-color: #2D1147 !important;
  border-color: #7D4BB8 !important;
}
.pf-a11y-radio-card.is-active,
.pf-a11y-radio-card[aria-checked="true"] {
  background-color: #4A1575 !important;
  border-color: #B388EB !important;
}
.pf-a11y-check-card.is-active,
.pf-a11y-check-card[aria-checked="true"] {
  background-color: #341154 !important;
  border-color: #B388EB !important;
}
.pf-a11y-check-box {
  width: 22px;
  height: 22px;
  min-width: 22px;
  border-radius: 5px;
  border: 1.5px solid #755399;
  background-color: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: transparent;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.pf-a11y-check-box svg {
  width: 14px;
  height: 14px;
}
.pf-a11y-check-card.is-active .pf-a11y-check-box,
.pf-a11y-check-card[aria-checked="true"] .pf-a11y-check-box {
  background-color: #E2D4F0 !important;
  border-color: #E2D4F0 !important;
  color: #190826 !important;
}
.pf-a11y-card-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.pf-a11y-card-title {
  font-size: 14.5px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: #FFFFFF !important;
}
.pf-a11y-card-sub {
  font-size: 12.5px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  color: #C9B6DC !important;
}
.pf-a11y-reset-all-btn {
  width: 100%;
  margin-top: 4px;
  padding: 11px 14px !important;
  border-radius: 9px !important;
  border: 1.5px solid #4B2C6B !important;
  background-color: #210C33 !important;
  color: #E2D4F0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-align: center !important;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.pf-a11y-reset-all-btn:hover {
  background-color: #3B155E !important;
  border-color: #9D6FD4 !important;
  color: #FFFFFF !important;
}
/* Contrast Mode 1: Light (Default Battalion / PurpleFest Theme — no color overrides) */
video::cue {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}
/* Contrast Mode 2: Dark (Light text on a dark background) */
html.pf-contrast-dark body,
html.pf-contrast-dark main,
html.pf-contrast-dark section,
html.pf-contrast-dark header,
html.pf-contrast-dark footer,
html.pf-contrast-dark article,
html.pf-contrast-dark aside,
html.pf-contrast-dark .bg-purple-100,
html.pf-contrast-dark .bg-lilac,
html.pf-contrast-dark .bg-cream,
html.pf-contrast-dark [class*="card"],
html.pf-contrast-dark [class*="Card"],
html.pf-contrast-dark [class*="panel"],
html.pf-contrast-dark [class*="modal"],
html.pf-contrast-dark [class*="hero"],
html.pf-contrast-dark [class*="Hero"],
html.pf-contrast-dark [class*="Section"] {
  background-color: #12061C !important;
  color: #F5EEFC !important;
}
html.pf-contrast-dark canvas,
html.pf-contrast-yellow-black canvas {
  opacity: 0.18 !important;
}
html.pf-contrast-dark h1,
html.pf-contrast-dark h2,
html.pf-contrast-dark h3,
html.pf-contrast-dark h4,
html.pf-contrast-dark h5,
html.pf-contrast-dark h6,
html.pf-contrast-dark p,
html.pf-contrast-dark li,
html.pf-contrast-dark span:not(.pf-a11y-check-box),
html.pf-contrast-dark label,
html.pf-contrast-dark td,
html.pf-contrast-dark th,
html.pf-contrast-dark a:not(.btn) {
  color: #F5EEFC !important;
}
html.pf-contrast-dark input,
html.pf-contrast-dark select,
html.pf-contrast-dark textarea {
  background-color: #1F0B30 !important;
  color: #FFFFFF !important;
  border-color: #9D6FD4 !important;
}
/* Contrast Mode 3: Yellow on black (High contrast yellow text on black) */
html.pf-contrast-yellow-black body,
html.pf-contrast-yellow-black main,
html.pf-contrast-yellow-black section,
html.pf-contrast-yellow-black header,
html.pf-contrast-yellow-black footer,
html.pf-contrast-yellow-black nav,
html.pf-contrast-yellow-black article,
html.pf-contrast-yellow-black aside,
html.pf-contrast-yellow-black div:not(#pf-a11y-header-panel):not(#pf-a11y-header-panel *),
html.pf-contrast-yellow-black .bg-purple-100,
html.pf-contrast-yellow-black .bg-lilac,
html.pf-contrast-yellow-black .bg-cream {
  background-color: #000000 !important;
  color: #FFFF00 !important;
}
html.pf-contrast-yellow-black h1,
html.pf-contrast-yellow-black h2,
html.pf-contrast-yellow-black h3,
html.pf-contrast-yellow-black h4,
html.pf-contrast-yellow-black h5,
html.pf-contrast-yellow-black h6,
html.pf-contrast-yellow-black p,
html.pf-contrast-yellow-black li,
html.pf-contrast-yellow-black span:not(#pf-a11y-header-panel *),
html.pf-contrast-yellow-black label,
html.pf-contrast-yellow-black td,
html.pf-contrast-yellow-black th {
  color: #FFFF00 !important;
}
html.pf-contrast-yellow-black a,
html.pf-contrast-yellow-black button:not(#pf-a11y-header-panel button),
html.pf-contrast-yellow-black [role="button"]:not(#pf-a11y-header-panel *) {
  background-color: #000000 !important;
  color: #00FFFF !important;
  border: 2px solid #FFFF00 !important;
}
html.pf-contrast-yellow-black input,
html.pf-contrast-yellow-black select,
html.pf-contrast-yellow-black textarea {
  background-color: #000000 !important;
  color: #FFFF00 !important;
  border: 2px solid #FFFF00 !important;
}
/* More settings */
html.pf-a11y-spacing body,
html.pf-a11y-spacing p:not(#pf-a11y-header-panel *),
html.pf-a11y-spacing li:not(#pf-a11y-header-panel *),
html.pf-a11y-spacing span:not(#pf-a11y-header-panel *),
html.pf-a11y-spacing a:not(#pf-a11y-header-panel *),
html.pf-a11y-spacing label:not(#pf-a11y-header-panel *) {
  line-height: 1.85 !important;
  letter-spacing: 0.06em !important;
  word-spacing: 0.14em !important;
}
html.pf-a11y-links a,
html.pf-a11y-links button:not(#pf-a11y-header-panel button),
html.pf-a11y-links [role="button"]:not(#pf-a11y-header-panel *) {
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 4px !important;
  outline: 2px solid #8E2DE2 !important;
  outline-offset: 2px !important;
}
html.pf-a11y-reduce-motion *,
html.pf-a11y-reduce-motion *::before,
html.pf-a11y-reduce-motion *::after {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.01ms !important;
  scroll-behavior: auto !important;
}
html.pf-a11y-reduce-motion [class*="preloader"] {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible,
[role="radio"]:focus-visible,
[role="checkbox"]:focus-visible,
[tabindex="0"]:focus-visible {
  outline: 3px solid #7C3AED !important;
  outline-offset: 3px !important;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* WCAG-22-AA-COMPLIANCE-END */

/* TASKS-1-TO-5-INTEGRATED-CSS-START */

/* ==========================================================================
   PURPLE FEST VADODARA 2027 — 4-COLUMN BOCCIA-STYLE FOOTER (.pf-boccia-footer)
   ========================================================================== */
.pf-boccia-footer {
  position: relative !important;
  margin-top: auto !important;
  z-index: 1 !important;
  background: linear-gradient(135deg, #190E36 0%, #1B1438 52%, #202D59 100%) !important;
  color: #FFFFFF !important;
  padding: 64px 0 36px !important;
  border-top: 3px solid #A459FF !important;
  overflow: hidden !important;
  font-family: '__font_7fb336', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

.pf-boccia-footer::before {
  content: "";
  position: absolute;
  top: -120px;
  left: -120px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245, 158, 11, 0.14) 0%, rgba(164, 89, 255, 0.06) 55%, transparent 72%);
  pointer-events: none;
  z-index: 0;
}

.pf-boccia-footer::after {
  content: "";
  position: absolute;
  bottom: -140px;
  right: -110px;
  width: 380px;
  height: 380px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(9, 159, 159, 0.18) 0%, rgba(32, 45, 89, 0.25) 60%, transparent 75%);
  pointer-events: none;
  z-index: 0;
}

/* Suppress any legacy injected footer blocks */
.pf-boccia-footer .pf-footer-a11y-block,
.pf-boccia-footer > div:not(.pf-boccia-footer__container) {
  display: none !important;
}

.pf-boccia-footer__container {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1340px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
}

.pf-boccia-footer__grid {
  display: grid !important;
  grid-template-columns: 1.35fr 0.85fr 1.15fr 1.05fr !important;
  gap: 40px !important;
  align-items: start !important;
  padding-bottom: 44px !important;
}

.pf-boccia-footer__col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  min-width: 0;
}

/* Column 1: Partner Logo Strip */
.pf-boccia-footer__logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
}

.pf-boccia-footer__logo-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  padding: 4px 10px;
  background-color: #FFFFFF !important;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.85);
  box-shadow: 0 3px 10px rgba(9, 5, 24, 0.28);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.pf-boccia-footer__logo-pill:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(164, 89, 255, 0.32);
}

.pf-boccia-footer__logo-pill img {
  height: 34px !important;
  width: auto !important;
  max-width: 96px !important;
  object-fit: contain !important;
  display: block !important;
}

/* Column 1: Brand Title & Description */
.pf-boccia-footer__brand-title {
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.28 !important;
  letter-spacing: -0.01em !important;
  color: #FFFFFF !important;
  margin: 0 0 12px 0 !important;
}

.pf-boccia-footer__brand-desc {
  font-size: 14.5px !important;
  line-height: 1.68 !important;
  color: #DDD9F4 !important;
  margin: 0 0 24px 0 !important;
  max-width: 420px;
}

/* Follow Us & Socials */
.pf-boccia-footer__follow {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.pf-boccia-footer__follow-title,
.pf-boccia-footer__col-title {
  position: relative;
  font-size: 19px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: #FFFFFF !important;
  margin: 0 0 22px 0 !important;
  padding-bottom: 10px !important;
  letter-spacing: -0.01em !important;
}

.pf-boccia-footer__follow-title::after,
.pf-boccia-footer__col-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 34px;
  height: 3.5px;
  border-radius: 999px;
  background: linear-gradient(90deg, #F59E0B 0%, #099F9F 100%);
}

.pf-boccia-footer__socials {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.pf-boccia-footer__social-btn {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  border-radius: 9999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.28);
}

.pf-boccia-footer__social-btn:hover {
  transform: translateY(-2px) scale(1.05);
  filter: brightness(1.1);
}

.pf-boccia-footer__social-btn--fb {
  background-color: #1877F2 !important;
}

.pf-boccia-footer__social-btn--x {
  background-color: #0F1419 !important;
  border: 1.5px solid rgba(255, 255, 255, 0.28) !important;
}

.pf-boccia-footer__social-btn--ig {
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%) !important;
}

.pf-boccia-footer__social-btn--yt {
  background-color: #FF0000 !important;
}

/* Column 2: Quick Links */
.pf-boccia-footer__links-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 11px !important;
  width: 100%;
}

.pf-boccia-footer__links-list li {
  margin: 0 !important;
  padding: 0 !important;
}

.pf-boccia-footer__nav-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  color: #EAE6FF !important;
  text-decoration: none !important;
  transition: color 0.16s ease, transform 0.16s ease !important;
}

.pf-boccia-footer__nav-link:hover {
  color: #FBBF24 !important;
  transform: translateX(3px);
}

.pf-boccia-footer__link-arrow {
  color: #F59E0B !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  flex-shrink: 0;
  transition: transform 0.16s ease, color 0.16s ease;
}

.pf-boccia-footer__nav-link:hover .pf-boccia-footer__link-arrow {
  color: #099F9F !important;
  transform: translate(2px, -2px);
}

/* Column 3: Addresses */
.pf-boccia-footer__address-list {
  display: flex;
  flex-direction: column;
  gap: 22px;
  width: 100%;
}

.pf-boccia-footer__address-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.pf-boccia-footer__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  min-width: 28px;
  border-radius: 50%;
  margin-top: 2px;
  flex-shrink: 0;
}

.pf-boccia-footer__icon--amber {
  color: #F59E0B !important;
  background: rgba(245, 158, 11, 0.14);
}

.pf-boccia-footer__icon--teal {
  color: #14B8A6 !important;
  background: rgba(20, 184, 166, 0.16);
}

.pf-boccia-footer__icon--purple {
  color: #C084FC !important;
  background: rgba(192, 132, 252, 0.16);
}

.pf-boccia-footer__address-body {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.pf-boccia-footer__address-label {
  font-size: 15.5px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: #FFFFFF !important;
}

.pf-boccia-footer__address-text {
  font-size: 14px !important;
  line-height: 1.62 !important;
  color: #DDD9F4 !important;
  margin: 0 !important;
}

/* Column 4: Contact Us */
.pf-boccia-footer__contact-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  width: 100%;
}

.pf-boccia-footer__contact-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.pf-boccia-footer__contact-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 14.5px !important;
  line-height: 1.5 !important;
  color: #EAE6FF !important;
  word-break: break-word;
}

.pf-boccia-footer__contact-name {
  font-weight: 700 !important;
  color: #FFFFFF !important;
}

.pf-boccia-footer__phone-group {
  display: inline;
}

.pf-boccia-footer__contact-link {
  color: #EAE6FF !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  transition: color 0.15s ease, text-decoration-color 0.15s ease !important;
}

.pf-boccia-footer__contact-link:hover {
  color: #FBBF24 !important;
  text-decoration: underline !important;
}

/* Bottom Horizontal Divider & Copyright Bar */
.pf-boccia-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.16) !important;
  padding-top: 26px !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
}

.pf-boccia-footer__copyright {
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  color: #EAE6FF !important;
  margin: 0 !important;
}

.pf-boccia-footer__copyright a,
.pf-boccia-footer .pf-a11y-footer-link {
  color: #FFFFFF !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  background: transparent !important;
  border: none !important;
  padding: 0 2px !important;
  margin: 0 !important;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  cursor: pointer !important;
  display: inline !important;
  transition: color 0.15s ease !important;
}

.pf-boccia-footer__copyright a:hover,
.pf-boccia-footer .pf-a11y-footer-link:hover {
  color: #FBBF24 !important;
}

.pf-boccia-footer__recognition {
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: #CBC5E8 !important;
  margin: 0 !important;
  max-width: 1120px;
}

.pf-boccia-footer__credit {
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #DDD9F4 !important;
  font-weight: 600 !important;
  margin: 2px 0 0 0 !important;
}

/* Responsive Breakpoints: 2 columns on tablet, 1 column on mobile */
@media (max-width: 1080px) {
  .pf-boccia-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 36px 32px !important;
  }
}

@media (max-width: 680px) {
  .pf-boccia-footer {
    padding: 44px 0 28px !important;
  }
  .pf-boccia-footer__container {
    padding: 0 20px !important;
  }
  .pf-boccia-footer__grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 32px !important;
    padding-bottom: 32px !important;
  }
  .pf-boccia-footer__logo-pill {
    height: 40px;
    padding: 4px 8px;
  }
  .pf-boccia-footer__logo-pill img {
    height: 30px !important;
  }
}

/* High Contrast Mode: Dark (html.pf-contrast-dark & body.high-contrast) */
html.pf-contrast-dark .pf-boccia-footer,
body.high-contrast .pf-boccia-footer {
  background: #0D0517 !important;
  color: #F5EEFC !important;
  border-top: 3px solid #B388EB !important;
}

html.pf-contrast-dark .pf-boccia-footer__brand-desc,
html.pf-contrast-dark .pf-boccia-footer__address-text,
html.pf-contrast-dark .pf-boccia-footer__contact-body,
html.pf-contrast-dark .pf-boccia-footer__recognition,
html.pf-contrast-dark .pf-boccia-footer__credit,
html.pf-contrast-dark .pf-boccia-footer__copyright,
body.high-contrast .pf-boccia-footer__brand-desc,
body.high-contrast .pf-boccia-footer__address-text,
body.high-contrast .pf-boccia-footer__contact-body,
body.high-contrast .pf-boccia-footer__recognition,
body.high-contrast .pf-boccia-footer__credit,
body.high-contrast .pf-boccia-footer__copyright {
  color: #F5EEFC !important;
}

html.pf-contrast-dark .pf-boccia-footer__nav-link,
html.pf-contrast-dark .pf-boccia-footer__contact-link,
html.pf-contrast-dark .pf-boccia-footer__copyright a,
html.pf-contrast-dark .pf-boccia-footer .pf-a11y-footer-link,
body.high-contrast .pf-boccia-footer__nav-link,
body.high-contrast .pf-boccia-footer__contact-link,
body.high-contrast .pf-boccia-footer__copyright a,
body.high-contrast .pf-boccia-footer .pf-a11y-footer-link {
  color: #5EEAD4 !important;
}

/* High Contrast Mode: Yellow on Black (html.pf-contrast-yellow-black) */
html.pf-contrast-yellow-black .pf-boccia-footer {
  background: #000000 !important;
  color: #FFFF00 !important;
  border-top: 3px solid #FFFF00 !important;
}

html.pf-contrast-yellow-black .pf-boccia-footer::before,
html.pf-contrast-yellow-black .pf-boccia-footer::after {
  display: none !important;
}

html.pf-contrast-yellow-black .pf-boccia-footer__logo-pill {
  background-color: #FFFFFF !important;
  border: 2px solid #FFFF00 !important;
}

html.pf-contrast-yellow-black .pf-boccia-footer__follow-title::after,
html.pf-contrast-yellow-black .pf-boccia-footer__col-title::after {
  background: #FFFF00 !important;
}

html.pf-contrast-yellow-black .pf-boccia-footer__nav-link,
html.pf-contrast-yellow-black .pf-boccia-footer__contact-link,
html.pf-contrast-yellow-black .pf-boccia-footer__copyright a,
html.pf-contrast-yellow-black .pf-boccia-footer .pf-a11y-footer-link,
html.pf-contrast-yellow-black .pf-boccia-footer__social-btn {
  background-color: #000000 !important;
  color: #00FFFF !important;
  border: 2px solid #FFFF00 !important;
}

html.pf-contrast-yellow-black .pf-boccia-footer__nav-link {
  padding: 2px 6px !important;
}

/* === TASK 2: SPONSORS, ORGANISERS, VENUE & STRATEGIC PARTNERS SECTION === */
.pf-sponsors-strategic-section {
  position: relative;
  z-index: 2;
  width: 100%;
  background: linear-gradient(180deg, #071946 0%, #0B2159 52%, #071946 100%) !important;
  background-color: #071946 !important;
  color: #FFFFFF !important;
  padding: 72px 0 76px;
  border-top: 3px solid rgba(243, 144, 63, 0.78);
  border-bottom: 3px solid rgba(243, 144, 63, 0.45);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.pf-sponsors-container {
  max-width: 1260px;
  margin: 0 auto;
  padding: 0 24px;
}

.pf-sponsors-tier {
  width: 100%;
}

.pf-sponsors-tier-heading {
  text-align: center;
  font-size: clamp(18px, 2vw, 23px) !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #F3903F !important;
  margin: 0 auto 34px !important;
}

.pf-sponsors-divider {
  width: 68px;
  height: 2px;
  background-color: #F3903F;
  margin: 46px auto;
  border-radius: 2px;
}

/* 5-Card Row Matching Reference Screenshot (media_1793135269073_11d93ce6.png) */
.pf-sponsors-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
  justify-content: center;
}

.pf-sponsor-card {
  background-color: #FFFFFF !important;
  color: #162347 !important;
  border-radius: 16px !important;
  padding: 18px 16px 14px !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  text-align: center;
  box-shadow: 0 10px 26px rgba(3, 10, 34, 0.34), 0 2px 6px rgba(3, 10, 34, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.92);
  transition: transform 0.22s ease, box-shadow 0.22s ease;
  min-height: 174px;
}

.pf-sponsor-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 34px rgba(3, 10, 34, 0.45), 0 0 0 2px #F3903F;
}

.pf-sponsor-logo-stage {
  width: 100%;
  height: 86px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px 6px;
  background-color: #FFFFFF !important;
  border-radius: 10px;
}

.pf-sponsor-logo-img {
  max-height: 78px;
  max-width: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

.pf-sponsor-logo-img--svg {
  width: 100%;
  max-height: 82px;
}

.pf-sponsor-card-meta {
  width: 100%;
  margin-top: 10px;
  padding-top: 9px;
  border-top: 1px solid rgba(22, 35, 71, 0.1);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.pf-sponsor-role-tag {
  display: inline-block;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 2px 8px;
  border-radius: 999px;
  background-color: #EEF2FF;
  color: #202D59 !important;
}

.pf-sponsor-role-tag--gold {
  background-color: #FFF4E5;
  color: #B45309 !important;
}

.pf-sponsor-org-name {
  font-size: 12.5px !important;
  font-weight: 700 !important;
  line-height: 1.32 !important;
  color: #162347 !important;
  margin: 0 !important;
}

.pf-sponsor-org-sub {
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.28 !important;
  color: #475569 !important;
  margin: 0 !important;
}

/* Tier 3: Organising Committee & Leadership Cards */
.pf-committee-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

.pf-committee-card {
  background-color: #FFFFFF !important;
  color: #162347 !important;
  border-radius: 16px !important;
  padding: 18px 16px !important;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  box-shadow: 0 10px 26px rgba(3, 10, 34, 0.3);
  border-top: 4px solid #202D59;
}

.pf-committee-badge {
  display: inline-block;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  padding: 3px 10px;
  border-radius: 999px;
  background-color: #202D59;
  color: #FFFFFF !important;
  margin-bottom: 10px;
}

.pf-committee-badge--accent {
  background-color: #D97706;
  color: #FFFFFF !important;
}

.pf-committee-name {
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  color: #162347 !important;
  margin: 0 0 6px 0 !important;
}

.pf-committee-role {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  color: #334155 !important;
  margin: 0 !important;
}

.pf-committee-contact {
  margin: 8px 0 0 0 !important;
  padding-top: 8px;
  border-top: 1px dashed rgba(22, 35, 71, 0.16);
  width: 100%;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #202D59 !important;
}

.pf-committee-link {
  color: #202D59 !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.pf-committee-advisor-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}

.pf-committee-advisor-item + .pf-committee-advisor-item {
  padding-top: 8px;
  border-top: 1px solid rgba(22, 35, 71, 0.1);
}

/* Official Secretariat Bar */
.pf-secretariat-bar {
  margin-top: 22px;
  background-color: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(243, 144, 63, 0.38);
  border-radius: 14px;
  padding: 14px 20px;
  display: grid;
  grid-template-columns: 1.4fr 1.1fr 1fr;
  gap: 16px;
  align-items: center;
}

.pf-secretariat-item {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.pf-secretariat-label {
  font-size: 10.5px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #F3903F !important;
}

.pf-secretariat-value {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: #F8FAFC !important;
}

.pf-secretariat-value a {
  color: #FFD28A !important;
  text-decoration: underline;
  font-weight: 700;
}

/* Responsive Breakpoints */
@media (max-width: 1120px) {
  .pf-sponsors-grid,
  .pf-committee-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .pf-secretariat-bar {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .pf-sponsors-strategic-section {
    padding: 52px 0 56px;
  }
  .pf-sponsors-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
  .pf-committee-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .pf-sponsor-card {
    padding: 14px 12px 12px !important;
    min-height: 158px;
  }
}

@media (max-width: 440px) {
  .pf-sponsors-grid {
    grid-template-columns: 1fr;
  }
}

/* High Contrast Mode 2: Dark */
html.pf-contrast-dark .pf-sponsors-strategic-section {
  background: #0D0517 !important;
  border-color: #B388EB !important;
}
html.pf-contrast-dark .pf-sponsor-card,
html.pf-contrast-dark .pf-committee-card {
  background-color: #1A0B2B !important;
  color: #F5EEFC !important;
  border: 1.5px solid #7D4BB8 !important;
}
html.pf-contrast-dark .pf-sponsor-logo-stage {
  background-color: #FFFFFF !important;
}
html.pf-contrast-dark .pf-sponsor-org-name,
html.pf-contrast-dark .pf-committee-name {
  color: #FFFFFF !important;
}
html.pf-contrast-dark .pf-sponsor-org-sub,
html.pf-contrast-dark .pf-committee-role {
  color: #E2D4F0 !important;
}

/* High Contrast Mode 3: Yellow on Black */
html.pf-contrast-yellow-black .pf-sponsors-strategic-section {
  background: #000000 !important;
  border-color: #FFFF00 !important;
}
html.pf-contrast-yellow-black .pf-sponsor-card,
html.pf-contrast-yellow-black .pf-committee-card,
html.pf-contrast-yellow-black .pf-secretariat-bar {
  background-color: #000000 !important;
  color: #FFFF00 !important;
  border: 2px solid #FFFF00 !important;
}
html.pf-contrast-yellow-black .pf-sponsor-logo-stage {
  background-color: #FFFFFF !important;
  border: 2px solid #FFFF00 !important;
}
/* === END TASK 2: SPONSORS & STRATEGIC PARTNERS SECTION === */

/* PHONE-QR-IDCARD-STAGE-START */
.pf-phone-qr-mount,
.pf-phone-qr-idcard-stage {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100%;
  overflow: hidden;
  border-radius: inherit;
  background: linear-gradient(165deg, #FAF9F5 0%, #F1EFFD 52%, #E5E3FA 100%);
  color: #202D59;
  font-family: '__font_7fb336', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  user-select: none;
  -webkit-font-smoothing: antialiased;
}

.pf-phone-qr-bg-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.01;
  pointer-events: none;
  z-index: 0;
}

.pf-phone-qr-ui {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 10px 11px 10px;
  box-sizing: border-box;
}

/* Status Bar */
.pf-phone-status-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 6px;
  font-size: 10px;
  font-weight: 700;
  color: #202D59;
  letter-spacing: 0.02em;
  flex-shrink: 0;
}

.pf-phone-notch {
  width: 68px;
  height: 14px;
  border-radius: 999px;
  background: #190826;
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.18);
}

/* Dynamic Header Pill */
.pf-phone-pill-wrap {
  position: relative;
  height: 26px;
  margin: 5px 0 4px;
  flex-shrink: 0;
}

.pf-stage-pill {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(4px) scale(0.97);
  transition: opacity 0.32s ease, transform 0.32s ease;
  pointer-events: none;
}

.pf-stage-pill--1 {
  background: #F3E8FF;
  color: #581C87;
  border: 1.5px solid #A855F7;
}

.pf-stage-pill--2 {
  background: #CCFBF1;
  color: #065F46;
  border: 1.5px solid #099F9F;
}

.pf-stage-pill--3 {
  background: #202D59;
  color: #FDE047;
  border: 1.5px solid #A459FF;
}

.pf-pill-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #7C3AED;
  box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.22);
}

.pf-pill-dot--teal {
  background: #099F9F;
  box-shadow: 0 0 0 3px rgba(9, 159, 159, 0.25);
}

.pf-pill-dot--gold {
  background: #FDE047;
  box-shadow: 0 0 0 3px rgba(253, 224, 71, 0.3);
}

/* Stages Viewport */
.pf-phone-stages-viewport {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
}

.pf-phone-stage {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px) scale(0.97);
  transition: opacity 0.25s cubic-bezier(0.22, 1, 0.36, 1), transform 0.25s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}

/* Automatic 10s Keyframe Timeline when not manually locked */
.pf-phone-qr-idcard-stage:not([data-pf-step]) .pf-stage-pill--1,
.pf-phone-qr-idcard-stage:not([data-pf-step]) .pf-phone-stage--1 {
  visibility: visible;
  animation: pfStage1Cycle 10s infinite;
}

.pf-phone-qr-idcard-stage:not([data-pf-step]) .pf-stage-pill--2,
.pf-phone-qr-idcard-stage:not([data-pf-step]) .pf-phone-stage--2 {
  visibility: visible;
  animation: pfStage2Cycle 10s infinite;
}

.pf-phone-qr-idcard-stage:not([data-pf-step]) .pf-stage-pill--3,
.pf-phone-qr-idcard-stage:not([data-pf-step]) .pf-phone-stage--3 {
  visibility: visible;
  animation: pfStage3Cycle 10s infinite;
}

/* Explicit Step State Overrides (JS sync + Interactive Click) */
.pf-phone-qr-idcard-stage[data-pf-step="1"] .pf-stage-pill--1,
.pf-phone-qr-idcard-stage[data-pf-step="1"] .pf-phone-stage--1,
.pf-phone-qr-idcard-stage[data-pf-step="2"] .pf-stage-pill--2,
.pf-phone-qr-idcard-stage[data-pf-step="2"] .pf-phone-stage--2,
.pf-phone-qr-idcard-stage[data-pf-step="3"] .pf-stage-pill--3,
.pf-phone-qr-idcard-stage[data-pf-step="3"] .pf-phone-stage--3 {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) scale(1) !important;
  pointer-events: auto !important;
  animation: none !important;
}

@keyframes pfStage1Cycle {
  0%, 2% { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
  30% { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
  33%, 97% { opacity: 0; transform: translateY(-6px) scale(0.97); pointer-events: none; }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes pfStage2Cycle {
  0%, 30% { opacity: 0; transform: translateY(8px) scale(0.97); pointer-events: none; }
  33%, 62% { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
  65%, 100% { opacity: 0; transform: translateY(-6px) scale(0.97); pointer-events: none; }
}

@keyframes pfStage3Cycle {
  0%, 62% { opacity: 0; transform: translateY(8px) scale(0.97); pointer-events: none; }
  65%, 97% { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
  100% { opacity: 0; transform: translateY(-6px) scale(0.97); pointer-events: none; }
}

/* ================= STAGE 1 STYLES ================= */
.pf-pass-card {
  background: #FFFFFF;
  border: 1.5px solid #C4B5FD;
  border-radius: 18px;
  padding: 9px 10px;
  box-shadow: 0 10px 26px rgba(32, 45, 89, 0.12);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  height: 100%;
  justify-content: space-between;
}

.pf-pass-card__header {
  width: 100%;
  background: linear-gradient(135deg, #202D59 0%, #3B155E 100%);
  border-radius: 12px;
  padding: 7px 8px;
  color: #FFFFFF;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}

.pf-pass-brand-row {
  display: flex;
  align-items: center;
  gap: 6px;
}

.pf-pass-emblem-svg {
  width: 28px;
  height: 18px;
  flex-shrink: 0;
}

.pf-pass-brand-text {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.pf-pass-brand-title {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #FFFFFF;
  line-height: 1.15;
}

.pf-pass-brand-sub {
  font-size: 7.5px;
  font-weight: 600;
  color: #DDD6FE;
  line-height: 1.15;
}

.pf-verified-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #065F46;
  border: 1px solid #34D399;
  color: #ECFDF5;
  font-size: 8.5px;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.pf-pass-delegate-meta {
  text-align: center;
  line-height: 1.2;
}

.pf-pass-delegate-name {
  font-size: 15px;
  font-weight: 800;
  color: #202D59;
}

.pf-pass-delegate-id {
  font-size: 9.5px;
  font-weight: 600;
  color: #6B21A8;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  margin-top: 2px;
}

.pf-qr-box-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px;
}

.pf-qr-box {
  width: 122px;
  height: 122px;
  padding: 6px;
  border-radius: 14px;
  background: #FFFFFF;
  border: 2px solid #7C3AED;
  box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.12);
  animation: pfQrPulse 2.2s ease-in-out infinite;
}

.pf-qr-svg {
  width: 100%;
  height: 100%;
  display: block;
}

@keyframes pfQrPulse {
  0%, 100% { box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.14); transform: scale(1); }
  50% { box-shadow: 0 0 0 7px rgba(9, 159, 159, 0.22); transform: scale(1.02); }
}

.pf-present-prompt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  padding: 6px 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, #6B21A8 0%, #4C1D95 100%);
  color: #FFFFFF;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.02em;
  box-shadow: 0 4px 12px rgba(107, 33, 168, 0.28);
}

.pf-present-pulse-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #2DD4BF;
  animation: pfDotBlink 1.1s ease-in-out infinite;
}

@keyframes pfDotBlink {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.35; transform: scale(0.75); }
}

.pf-pass-footer-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  font-size: 8px;
  font-weight: 700;
  color: #475569;
  letter-spacing: 0.03em;
}

/* ================= STAGE 2 STYLES ================= */
.pf-scan-card {
  background: #0F172A;
  border: 1.5px solid #099F9F;
  border-radius: 18px;
  padding: 9px 10px;
  color: #F8FAFC;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  height: 100%;
  box-shadow: 0 12px 28px rgba(9, 159, 159, 0.22);
}

.pf-scan-terminal-header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.pf-scan-live-badge {
  color: #2DD4BF;
  background: rgba(45, 212, 191, 0.14);
  padding: 2px 7px;
  border-radius: 999px;
  border: 1px solid rgba(45, 212, 191, 0.4);
}

.pf-scan-desk-id {
  color: #CBD5E1;
}

.pf-scan-viewfinder {
  position: relative;
  width: 128px;
  height: 128px;
  padding: 9px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.pf-scan-corner {
  position: absolute;
  width: 16px;
  height: 16px;
  border-color: #2DD4BF;
  border-style: solid;
  z-index: 3;
}

.pf-scan-corner--tl { top: 3px; left: 3px; border-width: 3px 0 0 3px; border-top-left-radius: 6px; }
.pf-scan-corner--tr { top: 3px; right: 3px; border-width: 3px 3px 0 0; border-top-right-radius: 6px; }
.pf-scan-corner--bl { bottom: 3px; left: 3px; border-width: 0 0 3px 3px; border-bottom-left-radius: 6px; }
.pf-scan-corner--br { bottom: 3px; right: 3px; border-width: 0 3px 3px 0; border-bottom-right-radius: 6px; }

.pf-laser-line {
  position: absolute;
  left: 4px;
  right: 4px;
  height: 3px;
  background: linear-gradient(90deg, #A459FF 0%, #099F9F 50%, #2DD4BF 100%);
  box-shadow: 0 0 12px 3px rgba(9, 159, 159, 0.85), 0 0 22px 6px rgba(164, 89, 255, 0.55);
  z-index: 4;
  animation: pfLaserSweep 1.5s ease-in-out infinite alternate;
}

.pf-laser-glow {
  position: absolute;
  left: 0;
  right: 0;
  top: -14px;
  height: 28px;
  background: linear-gradient(180deg, rgba(9, 159, 159, 0) 0%, rgba(9, 159, 159, 0.28) 50%, rgba(164, 89, 255, 0) 100%);
}

@keyframes pfLaserSweep {
  0% { top: 10px; }
  100% { top: calc(100% - 13px); }
}

.pf-scan-hud {
  width: 100%;
  background: #1E293B;
  border: 1px solid rgba(45, 212, 191, 0.45);
  border-radius: 12px;
  padding: 7px 9px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pf-scan-hud__title {
  font-size: 8.5px;
  font-weight: 800;
  color: #2DD4BF;
  letter-spacing: 0.05em;
  text-align: center;
}

.pf-scan-hud__checks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
  font-size: 8.5px;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}

.pf-hud-check {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #E2E8F0;
}

.pf-hud-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #059669;
  color: #FFFFFF;
  font-size: 8px;
  font-weight: 900;
  flex-shrink: 0;
}

.pf-hud-check--print {
  color: #FDE047;
  font-weight: 700;
}

.pf-hud-spinner {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  border: 2px solid #FDE047;
  border-top-color: transparent;
  animation: pfSpin 0.8s linear infinite;
  flex-shrink: 0;
}

@keyframes pfSpin {
  to { transform: rotate(360deg); }
}

.pf-scan-progress-track {
  width: 100%;
  height: 5px;
  border-radius: 999px;
  background: #0F172A;
  overflow: hidden;
  margin-top: 2px;
}

.pf-scan-progress-fill {
  height: 100%;
  width: 100%;
  background: linear-gradient(90deg, #099F9F 0%, #A459FF 100%);
  transform-origin: left center;
  animation: pfScanBarFill 1.6s ease-in-out infinite;
}

@keyframes pfScanBarFill {
  0% { transform: scaleX(0.15); }
  100% { transform: scaleX(1); }
}

/* ================= STAGE 3 STYLES ================= */
.pf-idcard-3d-wrap {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  perspective: 800px;
}

.pf-lanyard-assembly {
  position: relative;
  width: 100px;
  height: 24px;
  flex-shrink: 0;
}

.pf-lanyard-strap {
  position: absolute;
  top: -8px;
  width: 14px;
  height: 28px;
  background: linear-gradient(180deg, #6B21A8 0%, #3B0764 100%);
  border-left: 1.5px solid #FDE047;
  border-right: 1.5px solid #FDE047;
}

.pf-lanyard-strap--left {
  left: 22px;
  transform: rotate(22deg);
}

.pf-lanyard-strap--right {
  right: 22px;
  transform: rotate(-22deg);
}

.pf-lanyard-clip {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 32px;
  height: 11px;
  border-radius: 4px;
  background: linear-gradient(90deg, #94A3B8 0%, #F1F5F9 50%, #64748B 100%);
  border: 1.5px solid #475569;
  z-index: 2;
}

.pf-idcard {
  width: 100%;
  flex: 1 1 auto;
  background: #FFFFFF;
  border: 2px solid #6B21A8;
  border-radius: 18px;
  padding: 7px 9px 8px;
  box-shadow: 0 12px 28px rgba(59, 7, 100, 0.22);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 5px;
  animation: pfIdCardReveal 2.6s ease-in-out infinite alternate;
  transform-style: preserve-3d;
}

@keyframes pfIdCardReveal {
  0% { transform: rotateY(-6deg) translateY(0); }
  100% { transform: rotateY(6deg) translateY(-2px); }
}

.pf-idcard__slot {
  width: 34px;
  height: 5px;
  border-radius: 999px;
  background: #E2E1FC;
  border: 1px solid #94A3B8;
  margin: 0 auto;
}

.pf-idcard__header {
  background: linear-gradient(135deg, #3B0764 0%, #6B21A8 60%, #202D59 100%);
  border-radius: 11px;
  padding: 6px 8px;
  text-align: center;
  color: #FFFFFF;
}

.pf-idcard__fest-name {
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.05em;
  color: #FFFFFF;
}

.pf-idcard__fest-dates {
  font-size: 7.5px;
  font-weight: 700;
  color: #FDE047;
  letter-spacing: 0.04em;
  margin-top: 1px;
}

.pf-idcard__profile {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 2px 2px;
}

.pf-idcard__avatar {
  flex-shrink: 0;
  border-radius: 12px;
  overflow: hidden;
  border: 2px solid #6B21A8;
  display: flex;
}

.pf-idcard__identity {
  display: flex;
  flex-direction: column;
  text-align: left;
  min-width: 0;
}

.pf-idcard__name {
  font-size: 13.5px;
  font-weight: 800;
  color: #202D59;
  line-height: 1.15;
}

.pf-idcard__code {
  font-size: 9px;
  font-weight: 700;
  color: #6B21A8;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}

.pf-idcard__role {
  display: inline-block;
  margin-top: 3px;
  padding: 2px 6px;
  border-radius: 5px;
  background: #202D59;
  color: #FFFFFF;
  font-size: 7.5px;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.pf-idcard__rpwd-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  flex-wrap: wrap;
  background: #F3F2FE;
  border: 1px solid #C4B5FD;
  border-radius: 8px;
  padding: 4px 5px;
}

.pf-rpwd-chip {
  font-size: 7.5px;
  font-weight: 800;
  color: #3B0764;
  background: #E9D5FF;
  padding: 2px 6px;
  border-radius: 999px;
}

.pf-idcard__bottom-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

.pf-idcard__hologram {
  flex: 1;
  background: linear-gradient(135deg, #D1FAE5 0%, #CCFBF1 55%, #EDE9FE 100%);
  border: 1.5px solid #059669;
  border-radius: 10px;
  padding: 5px 6px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 2px;
}

.pf-holo-star {
  font-size: 7px;
  font-weight: 800;
  color: #065F46;
  letter-spacing: 0.04em;
}

.pf-holo-issued {
  font-size: 8.5px;
  font-weight: 900;
  color: #047857;
}

/* Interactive Step Selector Dots at Bottom */
.pf-phone-stepper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  margin-top: 6px;
  flex-shrink: 0;
}

.pf-step-dot-btn {
  appearance: none;
  border: 1.5px solid #B8B6E8;
  background: #EAE8FF;
  color: #202D59;
  border-radius: 999px;
  padding: 4px 4px;
  font-size: 8px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
  line-height: 1.1;
}

.pf-step-dot-btn:hover {
  background: #DDD6FE;
  border-color: #7C3AED;
}

.pf-step-dot-btn.is-active,
.pf-step-dot-btn[aria-selected="true"] {
  background: #202D59;
  color: #FFFFFF;
  border-color: #099F9F;
  box-shadow: 0 2px 8px rgba(32, 45, 89, 0.28);
}

.pf-step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: rgba(107, 33, 168, 0.16);
  font-size: 7.5px;
  font-weight: 900;
}

.pf-step-dot-btn.is-active .pf-step-num,
.pf-step-dot-btn[aria-selected="true"] .pf-step-num {
  background: #099F9F;
  color: #FFFFFF;
}

/* Overall Timeline Progress Bar */
.pf-phone-timeline-bar {
  width: 100%;
  height: 4px;
  border-radius: 999px;
  background: #DDD6FE;
  overflow: hidden;
  margin-top: 5px;
  flex-shrink: 0;
}

.pf-phone-timeline-fill {
  height: 100%;
  width: 100%;
  background: linear-gradient(90deg, #6B21A8 0%, #099F9F 52%, #202D59 100%);
  transform-origin: left center;
  animation: pfTimelineProgress 10s linear infinite;
}

.pf-phone-qr-idcard-stage[data-pf-manual="true"] .pf-phone-timeline-fill {
  animation: none;
}
.pf-phone-qr-idcard-stage[data-pf-step="1"][data-pf-manual="true"] .pf-phone-timeline-fill {
  transform: scaleX(0.33);
}
.pf-phone-qr-idcard-stage[data-pf-step="2"][data-pf-manual="true"] .pf-phone-timeline-fill {
  transform: scaleX(0.66);
}
.pf-phone-qr-idcard-stage[data-pf-step="3"][data-pf-manual="true"] .pf-phone-timeline-fill {
  transform: scaleX(1);
}

@keyframes pfTimelineProgress {
  0% { transform: scaleX(0); }
  100% { transform: scaleX(1); }
}

/* Reduced Motion & High Contrast Support */
@media (prefers-reduced-motion: reduce) {
  .pf-phone-qr-idcard-stage .pf-laser-line,
  .pf-phone-qr-idcard-stage .pf-qr-box,
  .pf-phone-qr-idcard-stage .pf-idcard,
  .pf-phone-qr-idcard-stage .pf-phone-timeline-fill,
  .pf-phone-qr-idcard-stage .pf-hud-spinner {
    animation: none !important;
  }
}

html.pf-a11y-reduce-motion .pf-phone-qr-idcard-stage .pf-laser-line,
html.pf-a11y-reduce-motion .pf-phone-qr-idcard-stage .pf-qr-box,
html.pf-a11y-reduce-motion .pf-phone-qr-idcard-stage .pf-idcard,
html.pf-a11y-reduce-motion .pf-phone-qr-idcard-stage .pf-phone-timeline-fill,
html.pf-a11y-reduce-motion .pf-phone-qr-idcard-stage .pf-hud-spinner {
  animation: none !important;
}
/* PHONE-QR-IDCARD-STAGE-END */


/* TASK5-JOINUS-MAP-START */
.home-founder-message-section .pf-joinus-map-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3.2rem;
  align-items: center;
  text-align: left;
  width: 100%;
}
@media (min-width: 1024px) {
  .home-founder-message-section .pf-joinus-map-grid {
    grid-template-columns: 1fr 1.15fr;
    align-items: center;
    gap: 4.8rem;
  }
}
@media (min-width: 1280px) {
  .home-founder-message-section .pf-joinus-map-grid {
    gap: 6.4rem;
  }
}
.home-founder-message-section .pf-joinus-map-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  color: #202D59;
  font-family: var(--font-primary), Roboto, sans-serif;
}
.home-founder-message-section .pf-joinus-map-left h2,
.home-founder-message-section .pf-joinus-map-left .pf-joinus-address,
.home-founder-message-section .pf-joinus-map-left .pf-joinus-address p {
  color: #202D59;
  font-family: var(--font-primary), Roboto, sans-serif;
  font-weight: 600;
}
.home-founder-message-section .pf-joinus-map-left .pf-joinus-address {
  line-height: 1.18;
  font-size: 2.4rem;
}
@media (min-width: 768px) {
  .home-founder-message-section .pf-joinus-map-left .pf-joinus-address {
    font-size: 2.8rem;
  }
}
@media (min-width: 1280px) {
  .home-founder-message-section .pf-joinus-map-left .pf-joinus-address {
    font-size: 3.4rem;
  }
}
.home-founder-message-section .pf-joinus-map-left .pf-joinus-subdetail {
  color: #202D59;
  font-family: var(--font-primary), Roboto, sans-serif;
  font-weight: 600;
  line-height: 1.25;
}
.home-founder-message-section .pf-joinus-map-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 2.4rem 4rem;
}
.home-founder-message-section .pf-joinus-map-right {
  width: 100%;
}
.home-founder-message-section .pf-joinus-map-frame {
  position: relative;
  width: 100%;
  min-height: 420px;
  border-radius: 2.4rem;
  overflow: hidden;
  border: 2px solid #BFCAF1;
  background-color: #DDDDF9;
  box-shadow: 0 14px 48px rgba(32, 45, 89, 0.12);
}
@media (min-width: 1280px) {
  .home-founder-message-section .pf-joinus-map-frame {
    min-height: 460px;
  }
}
.home-founder-message-section .pf-joinus-map-iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 420px;
  border: 0;
}
@media (min-width: 1280px) {
  .home-founder-message-section .pf-joinus-map-iframe {
    min-height: 460px;
  }
}
/* TASK5-JOINUS-MAP-END */

/* TASKS-1-TO-5-INTEGRATED-CSS-END */
