/* Container for legacy homepage sections */
/* =========================
   Hidden Non Target Sections
   ========================= */
.ppl-events,
.ppl-videoRail,
.ppl-price-assistant,
.ppl-ebook{
  display: none !important;
}

/* Container for homepage surfaces */
/* =========================
   Homepage Solid Surfaces
   ========================= */
.ppl-hero,
.ppl-featureGrid,
.ppl-testimonials,
.ppl-academyCta,
.ppl-faq,
.ppl-blogStrip{
  background: var(--ppl-cream) !important;
  color: var(--ppl-ink);
}

.ppl-hero--light{
  background: var(--ppl-navy) !important;
  border-bottom: 0;
  color: var(--ppl-white);
  padding: 0 20px;
}

.ppl-hero__noise,
.ppl-hero__ring,
.ppl-hero__ring--2{
  display: none !important;
}

.ppl-hero__wrap{
  padding: clamp(36px, 5vw, 64px) 0 clamp(42px, 6vw, 72px);
}

.ppl-hero__grid{
  align-items: center;
  gap: clamp(26px, 4vw, 58px);
  grid-template-columns: 1.08fr 0.92fr;
}

.ppl-hero__headline{
  color: var(--ppl-white) !important;
  font-size: clamp(38px, 5vw, 64px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.04;
  max-width: 720px;
}

.ppl-hero__headlineAccent{
  color: var(--ppl-lime) !important;
}

.ppl-hero__subhead{
  color: #c6cfec !important;
  font-size: clamp(15px, 1.35vw, 18px);
  font-weight: 600;
  line-height: 1.65;
  max-width: 560px;
}

.ppl-hero__trust{
  color: var(--ppl-peri) !important;
  font-weight: 800;
}

.ppl-trustDot{
  background: var(--ppl-lime) !important;
  border: 1px solid var(--ppl-navy);
  box-shadow: none !important;
}

/* Container for hero action buttons */
/* =========================
   Mockup Hero Buttons
   ========================= */
.ppl-hero__cta{
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 30px;
}

.ppl-btn--accent{
  background: var(--ppl-lime) !important;
  border: 1px solid var(--ppl-lime) !important;
  color: var(--ppl-navy) !important;
  font-weight: 900;
}

.ppl-btn--accent:hover,
.ppl-btn--accent:focus{
  background: #d2ef4a !important;
  border-color: #d2ef4a !important;
  color: var(--ppl-navy) !important;
}

.ppl-btn--ghostLight{
  background: transparent !important;
  border: 1.5px solid rgba(255,255,255,0.45) !important;
  color: var(--ppl-white) !important;
  font-weight: 900;
}

.ppl-btn--ghostLight:hover,
.ppl-btn--ghostLight:focus{
  background: rgba(255,255,255,0.1) !important;
  border-color: var(--ppl-white) !important;
  color: var(--ppl-white) !important;
}

/* Container for start wizard */
/* =========================
   Hero Start Wizard
   ========================= */
.ppl-startWizard{
  background: var(--ppl-white) !important;
  border: 1px solid var(--ppl-border-solid) !important;
  border-radius: 16px;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.ppl-startWizard__hint,
.ppl-startWizard__meta{
  color: var(--ppl-muted) !important;
  font-weight: 700;
}

.ppl-startWizard__combo,
.ppl-startWizard__back{
  background: var(--ppl-white) !important;
  border-color: var(--ppl-border-solid) !important;
  box-shadow: none !important;
}

.ppl-startWizard__input{
  color: var(--ppl-navy) !important;
  font-weight: 800;
}

.ppl-startWizard__chev{
  color: var(--ppl-cobalt) !important;
  font-weight: 900;
}

.ppl-startWizard__list,
.ppl-startWizardPortal{
  background: var(--ppl-white) !important;
  border-color: var(--ppl-border-solid) !important;
  box-shadow: 0 16px 34px rgba(16,45,108,0.12) !important;
}

.ppl-startWizard__opt{
  color: var(--ppl-navy) !important;
  font-weight: 800;
}

.ppl-startWizard__opt:hover{
  background: var(--ppl-soft-blue) !important;
}

/* Container for centered hero visual cleanup */
/* The hero is text-led now; no rotating mockup/feature deck is rendered. */

.ppl-card,
.ppl-hero__glass,
.ppl-task,
.ppl-reviewCard,
.ppl-impact{
  background: var(--ppl-white) !important;
  border: 1px solid var(--ppl-border-solid) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.ppl-card,
.ppl-reviewCard{
  border-radius: 16px;
}

.ppl-hero__glass{
  border-radius: 18px;
  overflow: hidden;
}

.ppl-card__title,
.ppl-hero__glassTitle,
.ppl-task__txt,
.ppl-reviewCard__name{
  color: var(--ppl-navy) !important;
  letter-spacing: 0;
}

.ppl-card__tag,
.ppl-pill,
.ppl-hero__glassMeta,
.ppl-task__sub,
.ppl-task__tag,
.ppl-reviewCard__role,
.ppl-reviewCard__text{
  color: var(--ppl-muted) !important;
}

.ppl-dot,
.ppl-dot-back,
.ppl-dot-back-right,
.ppl-task__dot{
  background: var(--ppl-cobalt) !important;
  box-shadow: none !important;
}

.ppl-card__lines span,
.ppl-card__meter{
  background: var(--ppl-soft-blue) !important;
}

.ppl-meter__bar{
  background: var(--ppl-cobalt) !important;
}

.ppl-pill,
.ppl-card__tag,
.ppl-task__tag,
.ppl-glassLink{
  background: var(--ppl-soft-blue) !important;
  border-color: var(--ppl-border-solid) !important;
  border-radius: 999px;
  color: var(--ppl-cobalt) !important;
}

.ppl-hero__glassTop{
  background: var(--ppl-white) !important;
  border-bottom-color: var(--ppl-border-solid) !important;
}

.ppl-stat,
.ppl-stat-1,
.ppl-stat-2{
  background: var(--ppl-cobalt) !important;
  border: 0;
  border-radius: 14px;
  box-shadow: none !important;
}

.ppl-stat-2{
  background: var(--ppl-navy) !important;
}

.ppl-stat::before,
.ppl-stat::after{
  display: none !important;
}

.ppl-stat__lbl,
.ppl-stat__num{
  color: var(--ppl-white) !important;
}

/* Container for section headings */
/* =========================
   Home Section Headers
   ========================= */
.ppl-sectionHead{
  margin: 0 auto 30px;
  text-align: center;
}

.ppl-sectionHead h2,
.ppl-testimonials__title,
.ppl-faq__title{
  color: var(--ppl-navy) !important;
  font-size: clamp(26px, 3vw, 34px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.12;
  margin: 0;
}

.ppl-sectionHead span{
  background: var(--ppl-lime);
  border-radius: 999px;
  display: block;
  height: 4px;
  margin: 12px auto 0;
  width: 64px;
}

/* =========================
   Homepage Feature Grid
   ========================= */

.ppl-featureGrid{
  padding: clamp(44px, 6vw, 78px) 0;
}

.ppl-featureGrid__cards{
  display: grid !important;
  gap: 18px;
  grid-auto-columns: unset !important;
  grid-auto-flow: row !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: visible !important;
  overflow-x: visible !important;
  padding-inline: 0 !important;
  width: 100%;
}

.ppl-featureCard{
  background: var(--ppl-white);
  border: 1px solid #ece7de;
  border-radius: 16px;
  color: var(--ppl-ink);
  display: flex;
  flex-direction: column;
  min-height: 176px;
  padding: 22px;
  text-decoration: none;
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
  min-width: 0 !important;
  max-width: none !important;
  width: auto !important;
}

.ppl-featureCard:hover,
.ppl-featureCard:focus{
  border-color: var(--ppl-cobalt);
  color: var(--ppl-ink);
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(22,35,42,0.08);
}

.ppl-featureCard__icon{
  align-items: center;
  background: #aecbff;
  border-radius: 12px;
  color: var(--ppl-cobalt);
  display: inline-flex;
  font-size: 1.15rem;
  height: 46px;
  justify-content: center;
  margin-bottom: 14px;
  width: 46px;
  flex: 0 0 auto;
}

.ppl-featureCard:nth-child(2) .ppl-featureCard__icon{
  background: var(--ppl-peri);
  color: var(--ppl-navy);
}

.ppl-featureCard:nth-child(3) .ppl-featureCard__icon{
  background: var(--ppl-orange);
  color: var(--ppl-white);
}

.ppl-featureCard:nth-child(4) .ppl-featureCard__icon{
  background: var(--ppl-navy);
  color: var(--ppl-white);
}

.ppl-featureCard:nth-child(5) .ppl-featureCard__icon{
  background: var(--ppl-lime);
  color: var(--ppl-navy);
}

.ppl-featureCard:nth-child(6) .ppl-featureCard__icon{
  background: var(--ppl-cobalt);
  color: var(--ppl-white);
}

.ppl-featureCard strong{
  color: var(--ppl-ink);
  font-size: .95rem;
  font-weight: 900;
  margin-bottom: 6px;
  line-height: 1.2;
}

.ppl-featureCard small{
  color: var(--ppl-muted);
  font-size: 0.86rem;
  font-weight: 650;
  line-height: 1.5;
}

/* Tablet: still clean, less cramped */
@media (max-width: 900px){
  .ppl-featureGrid__cards{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .ppl-featureCard{
    min-height: 158px;
    padding: 18px;
  }
}

/* Mobile: 2 columns x 3 rows, no horizontal scroll */
@media (max-width: 560px){
  .ppl-featureGrid{
    padding: 42px 0;
  }

  .ppl-featureGrid__cards{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;

    /* hard override in case previous carousel/mobile rules exist */
    overflow-x: visible;
    overflow-y: visible;
    grid-auto-flow: row;
    grid-auto-columns: unset;
  }

  .ppl-featureCard{
    min-height: 132px;
    padding: 14px 12px;
    border-radius: 14px;
  }

  .ppl-featureCard__icon{
    width: 38px;
    height: 38px;
    border-radius: 10px;
    font-size: 0.98rem;
    margin-bottom: 10px;
  }

  .ppl-featureCard strong{
    font-size: 0.88rem;
    margin-bottom: 5px;
  }

  .ppl-featureCard small{
    font-size: 0.75rem;
    line-height: 1.35;
  }
}

/* Very small phones: keep 2 columns but make cards tighter */
@media (max-width: 380px){
  .ppl-featureGrid__cards{
    gap: 8px;
  }

  .ppl-featureCard{
    min-height: 124px;
    padding: 12px 10px;
  }

  .ppl-featureCard__icon{
    width: 34px;
    height: 34px;
    font-size: 0.9rem;
  }

  .ppl-featureCard strong{
    font-size: 0.82rem;
  }

  .ppl-featureCard small{
    font-size: 0.71rem;
  }
}

.ppl-homeStats{
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 26px;
}

.ppl-homeStat{
  border-top: 1px solid var(--ppl-border-solid);
  padding-top: 16px;
}

.ppl-homeStat strong{
  color: var(--ppl-navy);
  display: block;
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1;
}

.ppl-homeStat span{
  color: var(--ppl-muted);
  display: block;
  font-size: 0.78rem;
  font-weight: 800;
  margin-top: 5px;
}

/* Container for hero stats */
/* =========================
   Mockup Hero Stats
   ========================= */
.ppl-homeStats--hero{
  display: flex;
  flex-wrap: wrap;
  gap: 26px;
  grid-template-columns: none;
  margin-top: 0;
}

.ppl-homeStats--hero .ppl-homeStat{
  border-top: 0;
  min-width: 96px;
  padding-top: 0;
}

.ppl-homeStats--hero .ppl-homeStat strong{
  color: var(--ppl-lime) !important;
  font-size: clamp(1.28rem, 2vw, 1.55rem);
}

.ppl-homeStats--hero .ppl-homeStat span{
  color: var(--ppl-peri) !important;
  font-size: 0.78rem;
}

/* Container for homepage student plan bridge */
/* =========================
   Homepage Audience And Student Plan
   ========================= */
.ppl-homePricingBridge{
  background: var(--ppl-cream);
  padding: clamp(14px, 3vw, 28px) 0;
}

.ppl-homePricingBridge .pricing-audience,
.ppl-homePricingBridge .pricing-student-plan{
  margin-inline: auto;
  max-width: 1120px;
}

.ppl-homePricingBridge .pricing-student-plan{
  margin-bottom: 0;
}

html[data-theme="dark"] .ppl-homePricingBridge{
  background: #0f1e3d;
}

/* Container for testimonials */
/* =========================
   Learner Testimonials
   ========================= */
.ppl-testimonials{
  background: #edeffb !important;
  padding: clamp(44px, 6vw, 78px) 0;
}

.ppl-testimonials__accent{
  color: var(--ppl-cobalt) !important;
}

.ppl-impact{
  border-radius: 999px;
}

.ppl-impact__label{
  color: var(--ppl-muted) !important;
}

.ppl-impact__num{
  color: var(--ppl-cobalt) !important;
}

.ppl-reviewCard__avatar,
.ppl-reviewCard__avatarFallback{
  background: var(--ppl-soft-blue) !important;
  color: var(--ppl-cobalt) !important;
}

.ppl-reviewCard__mark{
  color: var(--ppl-orange) !important;
}

.ppl-marquee::before,
.ppl-marquee::after{
  display: none !important;
}

.ppl-marquee--right{
  display: none !important;
}

/* Container for academy CTA */
/* =========================
   Academy Call To Action
   ========================= */
.ppl-academyCta{
  background: var(--ppl-navy) !important;
  color: var(--ppl-white);
  padding: clamp(48px, 6vw, 76px) 0;
}

.ppl-academyCta__inner{
  margin: 0 auto;
  max-width: 780px;
  text-align: center;
}

.ppl-academyCta__badge{
  background: var(--ppl-lime);
  border-radius: 999px;
  color: var(--ppl-navy);
  display: inline-flex;
  font-size: 0.8rem;
  font-weight: 900;
  margin-bottom: 14px;
  padding: 6px 13px;
}

.ppl-academyCta h2{
  color: var(--ppl-white);
  font-size: clamp(28px, 3.5vw, 42px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.1;
  margin: 0 0 12px;
}

.ppl-academyCta p{
  color: #c6cfec;
  font-size: .95rem;
  font-weight: 650;
  line-height: 1.65;
  margin: 0 auto 22px;
  max-width: 620px;
}

/* Container for FAQ */
/* =========================
   Homepage FAQ Accordion
   ========================= */
.ppl-faq{
  padding: clamp(44px, 6vw, 78px) 0;
}

.ppl-faq__head{
  margin-bottom: 28px;
  text-align: center;
}

.ppl-faq__sub{
  color: var(--ppl-muted) !important;
  font-weight: 650;
  margin-top: 8px;
}

.ppl-faq__list{
  margin: 0 auto;
  max-width: 780px;
}

.ppl-faqItem{
  background: var(--ppl-white);
  border: 1px solid #ece7de;
  border-radius: 14px;
  box-shadow: none;
  margin-bottom: 12px;
  overflow: hidden;
}

.ppl-faqQ{
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--ppl-navy);
  display: flex;
  font: inherit;
  font-size: 0.95rem;
  font-weight: 900;
  gap: 16px;
  justify-content: space-between;
  padding: 18px 20px;
  text-align: left;
  width: 100%;
}

.ppl-faqQ:hover{
  background: #fafbff;
}

.ppl-faqQ__icon{
  align-items: center;
  background: #aecbff;
  border-radius: 8px;
  color: var(--ppl-cobalt);
  display: inline-flex;
  flex: none;
  font-size: 1.3rem;
  font-weight: 900;
  height: 28px;
  justify-content: center;
  transition: transform 0.2s ease;
  width: 28px;
}

.ppl-faqQ__icon::before{
  content: "+";
}

.ppl-faqItem.is-open .ppl-faqQ__icon{
  transform: rotate(45deg);
}

.ppl-faqA{
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.28s ease;
}

.ppl-faqItem.is-open .ppl-faqA{
  max-height: 320px;
}

.ppl-faqA__inner{
  color: var(--ppl-slate);
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.65;
  padding: 0 20px 18px;
}

.ppl-faq__moreWrap{
  margin-top: 20px;
  text-align: center;
}


.ppl-faq__moreIcon{
  display: none !important;
}

/* Container for welcome modal */
/* =========================
   Welcome Modal Polish
   ========================= */
.ppl-welcome__card,
.ppl-welcome__videoMeta{
  background: var(--ppl-cream) !important;
}

.ppl-welcome__top{
  background: var(--ppl-cream) !important;
  border-bottom: 1px solid var(--ppl-border-solid);
}

.ppl-welcome__badge,
.ppl-welcome__x{
  background: var(--ppl-white) !important;
  border-color: var(--ppl-border-solid) !important;
  color: var(--ppl-cobalt) !important;
}

/* Container for dark mode */
/* =========================
   Homepage Dark Mode
   ========================= */
html[data-theme="dark"] .ppl-hero,
html[data-theme="dark"] .ppl-featureGrid,
html[data-theme="dark"] .ppl-testimonials,
html[data-theme="dark"] .ppl-faq,
html[data-theme="dark"] .ppl-blogStrip{
  background: #0f1e3d !important;
  color: var(--ppl-text);
}

html[data-theme="dark"] .ppl-featureCard,
html[data-theme="dark"] .ppl-card,
html[data-theme="dark"] .ppl-hero__glass,
html[data-theme="dark"] .ppl-heroPreviewCard,
html[data-theme="dark"] .ppl-heroLivePill,
html[data-theme="dark"] .ppl-task,
html[data-theme="dark"] .ppl-reviewCard,
html[data-theme="dark"] .ppl-impact,
html[data-theme="dark"] .ppl-faqItem,
html[data-theme="dark"] .ppl-startWizard,
html[data-theme="dark"] .ppl-startWizard__combo,
html[data-theme="dark"] .ppl-startWizard__back{
  background: #172b56 !important;
  border-color: rgba(245,247,255,0.16) !important;
}

html[data-theme="dark"] .ppl-hero__headline,
html[data-theme="dark"] .ppl-card__title,
html[data-theme="dark"] .ppl-heroPreviewCard__body strong,
html[data-theme="dark"] .ppl-hero__glassTitle,
html[data-theme="dark"] .ppl-task__txt,
html[data-theme="dark"] .ppl-reviewCard__name,
html[data-theme="dark"] .ppl-featureCard strong,
html[data-theme="dark"] .ppl-homeStat strong,
html[data-theme="dark"] .ppl-sectionHead h2,
html[data-theme="dark"] .ppl-testimonials__title,
html[data-theme="dark"] .ppl-faq__title,
html[data-theme="dark"] .ppl-faqQ{
  color: var(--ppl-white) !important;
}

html[data-theme="dark"] .ppl-featureCard small,
html[data-theme="dark"] .ppl-homeStat span,
html[data-theme="dark"] .ppl-faqA__inner,
html[data-theme="dark"] .ppl-faq__sub{
  color: var(--ppl-text-muted) !important;
}

html[data-theme="dark"] .ppl-heroFeatureDot{
  background: rgba(245,247,255,0.22);
  border-color: rgba(245,247,255,0.18);
}

html[data-theme="dark"] .ppl-heroFeatureDot.is-active{
  background: var(--ppl-lime);
}

/* Container for responsive behavior */
/* =========================
   Homepage Mobile Layout
   ========================= */
@media (max-width: 980px){
  .ppl-hero__grid{
    grid-template-columns: 1fr;
  }

  .ppl-hero__visual{
    min-height: 390px;
  }

  .ppl-featureGrid__cards{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ppl-homeStats{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ppl-homeStats--hero{
    display: grid;
  }
}

@media (max-width: 620px){
  .ppl-hero--light{
    padding: 0 12px;
  }

  .ppl-hero__wrap{
    padding-top: 28px;
  }

  .ppl-hero__headline{
    font-size: clamp(34px, 12vw, 46px);
  }

  .ppl-hero__visual{
    min-height: auto;
    padding: 20px 0 0;
  }

  .ppl-floatdeck--right{
    max-width: 340px;
    min-height: 196px;
    width: min(100%, 340px);
  }

  .ppl-heroFeatureStage{
    min-height: 176px;
  }

  .ppl-floatdeck--right .ppl-card{
    display: block !important;
    min-height: 176px;
    padding: 14px 13px;
  }

  .ppl-card__copy{
    font-size: 0.76rem;
    line-height: 1.42;
  }

  .ppl-heroFeatureDots{
    margin-top: 12px;
  }

  .ppl-heroPreviewCard,
  .ppl-heroLivePill{
    display: none !important;
  }

  .ppl-featureGrid,
  .ppl-testimonials,
  .ppl-academyCta,
  .ppl-faq{
    padding: 38px 0;
  }

  .ppl-featureGrid__cards{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .ppl-hero__cta .ppl-btn{
    justify-content: center;
    width: 100%;
  }

  .ppl-featureCard{
    min-height: 128px;
  }
}

/* Container for homepage timetable and visibility polish */
/* =========================
   Homepage Study Timetable Access
   ========================= */
.ppl-homePricingBridge{
  display:block !important;
  overflow:visible;
}

.ppl-homePricingBridge .pricing-audience{
  display:grid !important;
  gap:16px;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  visibility:visible !important;
}

.ppl-planStrip--full{
  background:#102d6c;
  color:#ffffff;
  margin:0;
  padding:clamp(42px, 6vw, 72px) 0;
}

.ppl-planStrip--full .ppl-planStrip__inner{
  align-items:center;
  display:grid;
  gap:28px;
  grid-template-columns:minmax(0, 1fr) minmax(260px, 420px);
}

.ppl-planStrip--full .ppl-planStrip__kicker{
  align-items:center;
  background:#dcf465;
  border-radius:999px;
  color:#102d6c;
  display:inline-flex;
  font-size:12px;
  font-weight:950;
  gap:8px;
  letter-spacing:.08em;
  padding:7px 12px;
  text-transform:uppercase;
}

.ppl-planStrip--full .ppl-planStrip__title{
  color:#ffffff;
  font-size:clamp(30px, 4vw, 54px);
  font-weight:950;
  letter-spacing:0;
  line-height:1.02;
  margin:16px 0 12px;
  max-width:680px;
}

.ppl-planStrip--full .ppl-planStrip__sub{
  color:#c6cfec;
  font-size:15px;
  font-weight:650;
  line-height:1.6;
  margin:0 0 20px;
  max-width:560px;
}

.ppl-planStrip--full .ppl-planStrip__ctaRow{
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.ppl-planStrip--full .ppl-planStrip__meta{
  align-items:center;
  color:#dcf465;
  display:inline-flex;
  font-size:13px;
  font-weight:900;
  gap:8px;
}

.ppl-planStrip--full .ppl-planStrip__frame{
  background:#ffffff;
  border:1px solid rgba(255,255,255,.25);
  border-radius:18px;
  overflow:hidden;
  padding:10px;
}

.ppl-planStrip--full .ppl-planStrip__frame img{
  border-radius:12px;
  display:block;
  width:100%;
}

html[data-theme="dark"] .ppl-planStrip--full{
  background:#08152f;
}

/* Container for homepage mobile refinements */
/* =========================
   Homepage Two Row Mobile Cards
   ========================= */
@media (max-width: 620px){
  .ppl-homePricingBridge .pricing-audience{
    grid-template-columns:1fr;
  }

  .ppl-planStrip--full .ppl-planStrip__inner{
    grid-template-columns:1fr;
  }

  .ppl-footer-simple__grid{
    display:grid !important;
    gap:18px;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }

  .ppl-footer-simple__col{
    min-width:0;
  }
}

/* Container for hard mobile feature-grid override */
/* =========================
   Force Feature Grid 2 x 3 Mobile
   ========================= */
@media (max-width: 620px){
  .ppl-featureGrid .ppl-featureGrid__cards{
    display: grid !important;
    gap: 10px !important;
    grid-auto-columns: unset !important;
    grid-auto-flow: row !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 100% !important;
    overflow: visible !important;
    overflow-x: visible !important;
    padding-inline: 0 !important;
    width: 100% !important;
  }

  .ppl-featureGrid .ppl-featureCard{
    min-height: 128px !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 13px 11px !important;
    width: auto !important;
  }

  .ppl-featureGrid .ppl-featureCard__icon{
    height: 36px !important;
    margin-bottom: 9px !important;
    min-width: 36px !important;
    width: 36px !important;
  }

  .ppl-featureGrid .ppl-featureCard strong,
  .ppl-featureGrid .ppl-featureCard small{
    overflow-wrap: anywhere;
    white-space: normal !important;
  }

  .ppl-featureGrid .ppl-featureCard strong{
    font-size: 0.82rem !important;
  }

  .ppl-featureGrid .ppl-featureCard small{
    font-size: 0.71rem !important;
    line-height: 1.32 !important;
  }
}

@media (max-width: 380px){
  .ppl-featureGrid .ppl-featureGrid__cards{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .ppl-featureGrid .ppl-featureCard{
    min-height: 120px !important;
    padding: 11px 9px !important;
  }
}

/* Container for final centered homepage hero */
/* =========================
   Centered Hero Final
   ========================= */
.ppl-hero--light{
  background: var(--ppl-navy) !important;
  border-bottom: 0;
  color: var(--ppl-white);
  isolation: isolate;
  overflow: hidden;
  padding: 0 20px;
  position: relative;
}

.ppl-hero--light::before{
  background:
    linear-gradient(90deg, transparent, rgba(220,244,101,.46), transparent),
    linear-gradient(180deg, rgba(255,255,255,.08), transparent);
  content: "";
  height: 1px;
  left: 50%;
  max-width: 940px;
  opacity: .7;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: calc(100% - 40px);
  z-index: 0;
}

.ppl-hero--light::after{
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 54px 54px;
  content: "";
  inset: 0;
  opacity: .16;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.ppl-hero__noise,
.ppl-hero__ring,
.ppl-hero__ring--2,
.ppl-hero__visual,
.ppl-floatdeck,
.ppl-floatdeck--right,
.ppl-heroFeatureStage,
.ppl-heroFeatureDots,
.ppl-heroPreviewCard,
.ppl-heroLivePill{
  display: none !important;
}

.ppl-hero__wrap{
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: clamp(380px, 54vh, 520px);
  padding: clamp(38px, 5.5vw, 68px) 0 clamp(36px, 5vw, 62px);
  position: relative;
  z-index: 1;
}

.ppl-hero__grid,
.ppl-hero__grid--centered{
  display: block !important;
  margin: 0 auto;
  max-width: 980px;
  text-align: center;
  width: 100%;
}

.ppl-hero__copy,
.ppl-hero__center{
  align-items: center;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  max-width: 920px;
  text-align: center;
}

.ppl-hero__eyebrow{
  align-items: center;
  background: rgba(220,244,101,.11);
  border: 1px solid rgba(220,244,101,.32);
  border-radius: 999px;
  color: var(--ppl-lime);
  display: inline-flex;
  font-size: .74rem;
  font-weight: 950;
  letter-spacing: .08em;
  line-height: 1;
  margin: 0 0 18px;
  padding: 9px 14px;
  text-transform: uppercase;
}

.ppl-hero__headline{
  color: var(--ppl-white) !important;
  font-size: clamp(38px, 5vw, 64px);
  font-weight: 950;
  letter-spacing: -0.032em;
  line-height: 1;
  margin: 0 auto 14px;
  max-width: 820px;
  text-wrap: balance;
}

.ppl-hero__headlineAccent{
  color: var(--ppl-lime) !important;
  display: inline;
}

.ppl-hero__subhead{
  color: #c6cfec !important;
  font-size: clamp(14px, 1.25vw, 17px);
  font-weight: 650;
  line-height: 1.55;
  margin: 0 auto;
  max-width: 650px;
  text-wrap: balance;
}

.ppl-hero__cta{
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin: 22px 0 0;
}

.ppl-btn--accent{
  background: var(--ppl-lime) !important;
  border: 1px solid var(--ppl-lime) !important;
  color: var(--ppl-navy) !important;
  font-weight: 950;
}

.ppl-btn--accent:hover,
.ppl-btn--accent:focus{
  background: #d2ef4a !important;
  border-color: #d2ef4a !important;
  color: var(--ppl-navy) !important;
}

.ppl-btn--ghostLight{
  background: rgba(255,255,255,.06) !important;
  border: 1.5px solid rgba(255,255,255,.36) !important;
  color: var(--ppl-white) !important;
  font-weight: 950;
}

.ppl-btn--ghostLight:hover,
.ppl-btn--ghostLight:focus{
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.72) !important;
  color: var(--ppl-white) !important;
}

.ppl-homeStats--hero{
  display: grid !important;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 24px auto 0;
  max-width: 760px;
  width: 100%;
}

.ppl-homeStats--hero .ppl-homeStat{
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  min-width: 0;
  padding: 12px 12px;
}

.ppl-homeStats--hero .ppl-homeStat strong{
  color: var(--ppl-lime) !important;
  display: block;
  font-size: clamp(1rem, 1.35vw, 1.22rem);
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
}

.ppl-homeStats--hero .ppl-homeStat span{
  color: #c6cfec !important;
  display: block;
  font-size: .72rem;
  font-weight: 850;
  line-height: 1.25;
  margin-top: 6px;
}

html[data-theme="dark"] .ppl-hero--light{
  background: #08152f !important;
}

html[data-theme="dark"] .ppl-homeStats--hero .ppl-homeStat{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.14);
}

/* Container for centered hero mobile */
/* =========================
   Centered Hero Mobile
   ========================= */
@media (max-width: 980px){
  .ppl-hero__grid,
  .ppl-hero__grid--centered{
    grid-template-columns: 1fr !important;
  }

  .ppl-hero__wrap{
    min-height: auto;
    padding: clamp(40px, 8vw, 62px) 0;
  }
}

@media (max-width: 620px){
  .ppl-hero--light{
    padding: 0 12px;
  }

  .ppl-hero--light::before{
    width: calc(100% - 24px);
  }

  .ppl-hero__wrap{
    padding: 34px 0 32px;
  }

  .ppl-hero__eyebrow{
    font-size: .64rem;
    margin-bottom: 15px;
    padding: 8px 11px;
  }

  .ppl-hero__headline{
    font-size: clamp(31px, 10.5vw, 43px);
    letter-spacing: -0.03em;
    margin-bottom: 12px;
  }

  .ppl-hero__subhead{
    font-size: .88rem;
    line-height: 1.48;
    max-width: 34rem;
  }

  .ppl-hero__cta{
    gap: 10px;
    margin-top: 18px;
    width: 100%;
  }

  .ppl-hero__cta .ppl-btn{
    justify-content: center;
    max-width: 320px;
    width: 100%;
  }

  .ppl-homeStats--hero{
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 22px;
    max-width: 350px;
  }

  .ppl-homeStats--hero .ppl-homeStat{
    border-radius: 14px;
    padding: 11px 9px;
  }

  .ppl-homeStats--hero .ppl-homeStat strong{
    font-size: .95rem;
  }

  .ppl-homeStats--hero .ppl-homeStat span{
    font-size: .7rem;
  }
}

@media (max-width: 360px){
  .ppl-homeStats--hero{
    grid-template-columns: 1fr;
    max-width: 280px;
  }
}

/* =========================
   Homepage Mockup Refinements
   ========================= */
.ppl-hero--mission{
  background: var(--ppl-navy) !important;
  color: var(--ppl-white);
  isolation: isolate;
  overflow: hidden;
  position: relative;
  text-align: center;
}

.ppl-hero--mission::before{
  background:
    radial-gradient(circle at 20% 20%, rgba(220,244,101,.10), transparent 32%),
    radial-gradient(circle at 80% 80%, rgba(165,177,248,.10), transparent 34%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.ppl-hero--mission::after{
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 54px 54px;
  content: "";
  inset: 0;
  opacity: .12;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.ppl-hero__cornerDots{
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.ppl-hero__cornerDots--topRight{
  fill: rgba(220,244,101,.55);
  opacity: .86;
  right: clamp(22px, 5vw, 66px);
  top: clamp(34px, 5vw, 56px);
}

.ppl-hero__cornerDots--bottomLeft{
  bottom: clamp(30px, 4vw, 52px);
  fill: rgba(165,177,248,.55);
  left: clamp(20px, 5vw, 64px);
  opacity: .62;
}

.ppl-hero--mission .ppl-hero__wrap{
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: clamp(390px, 55vh, 540px);
  padding: clamp(72px, 8vw, 110px) 0 clamp(78px, 9vw, 118px);
  position: relative;
  z-index: 2;
}

.ppl-hero--mission .ppl-hero__grid,
.ppl-hero--mission .ppl-hero__grid--centered{
  display: block !important;
  margin: 0 auto;
  max-width: 920px;
  text-align: center;
  width: 100%;
}

.ppl-hero--mission .ppl-hero__copy,
.ppl-hero--mission .ppl-hero__center{
  align-items: center;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  max-width: 860px;
  text-align: center;
}

.ppl-hero--mission .ppl-hero__eyebrow{
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--ppl-lime);
  display: inline-flex;
  font-size: .72rem;
  font-weight: 950;
  gap: 9px;
  letter-spacing: .14em;
  line-height: 1;
  margin: 0 0 20px;
  padding: 0;
  text-transform: uppercase;
}

.ppl-hero--mission .ppl-hero__eyebrow::before,
.ppl-hero--mission .ppl-hero__eyebrow::after{
  background: var(--ppl-lime);
  border-radius: 999px;
  content: "";
  height: 2px;
  opacity: .7;
  width: 22px;
}

.ppl-hero--mission .ppl-hero__headline{
  color: var(--ppl-white) !important;
  font-size: clamp(34px, 4.45vw, 52px);
  font-weight: 950;
  letter-spacing: -0.024em;
  line-height: 1.06;
  margin: 0 auto 18px;
  max-width: 800px;
  text-wrap: balance;
}

.ppl-hero--mission .ppl-hero__headlineAccent{
  color: var(--ppl-lime) !important;
  display: inline;
  white-space: nowrap;
}

.ppl-hero--mission .ppl-hero__subhead{
  color: #c6cfec !important;
  font-size: clamp(14px, 1.18vw, 16px);
  font-weight: 600;
  line-height: 1.62;
  margin: 0 auto;
  max-width: 640px;
  text-wrap: balance;
}

.ppl-hero--mission .ppl-hero__cta{
  justify-content: center;
  margin: 30px 0 0;
}

.ppl-hero--mission .ppl-btn{
  border-radius: 999px;
  font-size: .88rem;
  padding: 14px 26px;
}

.ppl-annStrip{
  background: var(--ppl-white);
  border-bottom: 1px solid var(--ppl-border-solid, #ece7de);
  color: var(--ppl-ink);
}

.ppl-annStrip__inner{
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  padding-bottom: 20px;
  padding-top: 20px;
}

.ppl-annStrip__bar{
  align-self: stretch;
  background: var(--ppl-lime);
  border-radius: 999px;
  flex: 0 0 4px;
  min-height: 42px;
}

.ppl-annStrip__copy{
  flex: 1 1 260px;
  min-width: 0;
}

.ppl-annStrip__text{
  color: var(--ppl-navy);
  font-size: .91rem;
  font-weight: 700;
  line-height: 1.45;
  margin: 0;
}

.ppl-annStrip__text strong{
  color: var(--ppl-cobalt);
  font-weight: 950;
}

.ppl-annStrip__cta{
  align-items: center;
  background: var(--ppl-navy);
  border-radius: 999px;
  color: var(--ppl-white) !important;
  display: inline-flex;
  font-size: .81rem;
  font-weight: 950;
  gap: 7px;
  padding: 10px 18px;
  text-decoration: none;
  transition: background .15s ease, transform .15s ease;
}

.ppl-annStrip__cta:hover,
.ppl-annStrip__cta:focus{
  background: var(--ppl-cobalt);
  transform: translateY(-1px);
}

.ppl-sectionHead h2,
.ppl-testimonials__title,
.ppl-faq__title{
  font-size: clamp(22px, 2.35vw, 30px) !important;
  line-height: 1.15;
}

.ppl-featureGrid{
  padding: clamp(38px, 5vw, 60px) 0 !important;
}

.ppl-featureGrid__cards{
  gap: 14px !important;
}

.ppl-featureCard{
  border-radius: 14px !important;
  min-height: 136px !important;
  padding: 16px !important;
}

.ppl-featureCard__icon{
  border-radius: 10px !important;
  font-size: 1rem !important;
  height: 40px !important;
  margin-bottom: 11px !important;
  width: 40px !important;
}

.ppl-featureCard strong{
  font-size: .88rem !important;
  margin-bottom: 4px !important;
}

.ppl-featureCard small{
  font-size: .78rem !important;
  line-height: 1.42 !important;
}

.ppl-faqQ{
  font-size: .9rem !important;
  padding: 16px 18px !important;
}

.ppl-faqA__inner{
  font-size: .86rem !important;
  padding: 0 18px 16px !important;
}

@media (max-width: 760px){
  .ppl-hero__cornerDots{
    display: none;
  }

  .ppl-hero--mission .ppl-hero__wrap{
    min-height: auto;
    padding: 72px 0 82px;
  }

  .ppl-hero--mission .ppl-hero__headline{
    font-size: clamp(32px, 10vw, 42px);
  }

  .ppl-hero--mission .ppl-btn,
  .ppl-annStrip__cta{
    justify-content: center;
    width: 100%;
  }

  .ppl-annStrip__bar{
    display: none;
  }
}

@media (max-width: 560px){
  .ppl-featureCard{
    min-height: 116px !important;
    padding: 12px 10px !important;
  }

  .ppl-featureCard__icon{
    height: 34px !important;
    margin-bottom: 8px !important;
    width: 34px !important;
  }

  .ppl-featureCard strong{
    font-size: .8rem !important;
  }

  .ppl-featureCard small{
    font-size: .69rem !important;
  }
}

/* Container for removed hero stats */
/* =========================
   Hide Legacy Hero Stats
   ========================= */
.ppl-hero--mission .ppl-homeStats--hero,
.ppl-hero--light .ppl-homeStats--hero{
  display: none !important;
}

html[data-theme="dark"] .ppl-annStrip{
  background: #172b56;
  border-color: rgba(245,247,255,0.16);
}

html[data-theme="dark"] .ppl-annStrip__text{
  color: var(--ppl-white);
}

html[data-theme="dark"] .ppl-annStrip__text strong{
  color: var(--ppl-lime);
}