*, *::before, *::after {
  box-sizing: border-box;
}

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

:root {
  --pi-max-content-width: 1200px;
}

@media (min-width: 1600px) {
  :root {
    --pi-max-content-width: 1320px;
  }
}

@supports not (overflow-x: clip) {
  html,
  body {
    overflow-x: hidden;
  }
}

img,
svg,
video,
iframe,
canvas {
  height: auto;
  max-width: 100%;
}

table {
  max-width: 100%;
}

pre,
code {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

pre {
  max-width: 100%;
  overflow-x: auto;
}

.wp-site-blocks,
.wp-block-template-part,
.wp-block-group,
.wp-block-columns,
.wp-block-column,
.wp-block-query,
.wp-block-post-template,
.pi-site-header,
.pi-site-footer,
.pi-page-hero,
.pi-section,
.pi-section-tight,
.pi-light-band,
.pi-muted-band,
.pi-card,
.pi-calculator-suite,
.pi-calculator-card,
.pi-session-option-card,
.pi-retirement-calculator {
  max-width: 100%;
}

.wp-block-column,
.wp-block-group,
.wp-block-query,
.wp-block-post-template,
.pi-card,
.pi-card *,
.pi-grid-2 > *,
.pi-grid-3 > *,
.pi-grid-4 > *,
.pi-session-options-grid > *,
.pi-education-layout > *,
.pi-education-topic-grid > *,
.pi-education-article-grid > *,
.pi-related-links > *,
.pi-tool-library-grid > *,
.pi-tool-link-grid > *,
.pi-methodology-framework-grid > *,
.pi-methodology-link-grid > *,
.pi-dashboard-groups > *,
.pi-calculator-body > *,
.pi-calculator-inputs > *,
.pi-calculator-fieldsets > *,
.pi-result-grid > *,
.pi-data-table-wrap,
.pi-options-flow-panel,
.pi-retirement-calculator * {
  min-width: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
li,
a,
button,
label,
input,
select,
textarea,
dd,
dt,
.pi-button,
.pi-kicker,
.pi-page-lead,
.pi-page-support,
.pi-copy-muted,
.pi-card,
.pi-table-link,
.pi-calculator-results,
.pi-retirement-results-card {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

.pi-button,
.wp-block-button__link {
  white-space: normal;
}

.pi-content-rail,
.pi-page-hero > *,
.wp-block-group.alignfull.pi-section > *,
.wp-block-group.alignfull.pi-section-tight > *,
.wp-block-group.alignfull.pi-light-band > *,
.wp-block-group.alignfull.pi-muted-band > * {
  max-width: 100%;
}

.pi-education-layout,
.pi-tool-library-grid,
.pi-tool-link-grid,
.pi-methodology-one-minute,
.pi-methodology-download-panel,
.pi-tools-newsletter-panel,
.pi-market-note-single-layout,
.pi-market-notes-archive-grid,
.pi-dashboard-groups {
  width: 100%;
}

.pi-education-sidebar,
.pi-education-main,
.pi-education-topic,
.pi-education-card,
.pi-education-tool-card,
.pi-lesson-card,
.pi-tool-card,
.pi-methodology-framework-card,
.pi-methodology-link-card,
.pi-dashboard-tool-group,
.pi-calculator-fieldset,
.pi-calculator-results-card,
.pi-retirement-card,
.pi-retirement-table-card,
.pragy-newsletter,
.pi-beehiiv-signup {
  max-width: 100%;
}

.pi-data-table-wrap,
.pi-options-flow-table-wrap,
.wp-block-table,
.pi-retirement-table-wrap,
.pi-membership-comparison-wrap {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.pi-calculator-tablist,
.pi-calculator-subtablist,
.pi-education-nav,
.pi-market-idea-filters,
.pi-options-flow-filters {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.pi-calculator-tablist,
.pi-calculator-subtablist,
.pi-education-nav {
  scrollbar-width: thin;
}

.pi-calculator-tablist button,
.pi-calculator-subtablist button,
.pi-education-nav a,
.pi-market-idea-filters a,
.pi-options-flow-filters select,
.pi-options-flow-filters button {
  min-height: 44px;
}

.pragy-newsletter,
.pi-beehiiv-signup {
  width: 100%;
  overflow: hidden;
}

.pragy-newsletter iframe,
.pi-beehiiv-signup iframe {
  max-width: 100%;
}

.pi-logo,
.pi-footer-brand img,
.custom-logo {
  height: auto;
  max-width: 100%;
}

.wp-block-post-terms.pi-badge {
  flex-wrap: wrap;
  line-height: 1.35;
  max-width: 100%;
  white-space: normal;
}

.wp-block-post-terms.pi-badge a {
  min-width: 0;
  overflow-wrap: anywhere;
}

.wp-block-post-terms.pi-badge .wp-block-post-terms__separator {
  flex: 0 0 auto;
}

@media (min-width: 782px) {
  .pi-header-inner,
  .pi-footer-grid,
  .pi-footer-disclaimer,
  .pi-footer-bottom,
  .pi-content-rail,
  .pi-page-hero > *,
  .wp-block-group.alignfull.pi-section > *,
  .wp-block-group.alignfull.pi-section-tight > *,
  .wp-block-group.alignfull.pi-light-band > *,
  .wp-block-group.alignfull.pi-muted-band > *,
  .wp-block-group.alignfull.pi-market-notes-hero > *,
  .wp-block-group.alignfull.pi-market-archive-hero > *,
  .wp-block-group.alignfull.pi-market-ideas-hero > *,
  .wp-block-group.alignfull.pi-market-filter-band > *,
  .wp-block-group.alignfull.pi-market-latest-section > *,
  .wp-block-group.alignfull.pi-market-methodology-strip > *,
  .wp-block-group.alignfull.pi-market-newsletter-cta > *,
  .wp-block-group.alignfull.pi-market-disclaimer-strip > *,
  .wp-block-group.alignfull.pi-market-notes-main > *,
  .wp-block-group.alignfull.pi-market-note-filter-band > *,
  .wp-block-group.alignfull.pi-market-note-body-section > *,
  .wp-block-group.alignfull.pi-market-single-body > * {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--pi-max-content-width);
    width: min(100%, var(--pi-max-content-width));
  }

  .pi-header-inner {
    max-width: min(var(--pi-max-content-width), calc(100vw - 2rem));
  }

  .pi-grid-2,
  .pi-grid-3,
  .pi-grid-4,
  .pi-dashboard-groups,
  .pi-session-options-grid,
  .pi-market-ideas-grid,
  .pi-market-notes-grid,
  .pi-tool-library-grid,
  .pi-tool-link-grid,
  .pi-methodology-framework-grid,
  .pi-methodology-link-grid,
  .pi-education-card-grid,
  .pi-education-topic-grid,
  .pi-education-article-grid,
  .pi-education-tool-grid,
  .pi-lesson-card-grid,
  .pi-related-links,
  .pi-data-table-wrap,
  .pi-options-flow-table-wrap,
  .pi-membership-comparison-wrap,
  .pi-retirement-table-wrap {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--pi-max-content-width);
    width: min(100%, var(--pi-max-content-width));
  }

  .pi-grid-2,
  .pi-grid-3,
  .pi-grid-4,
  .pi-dashboard-groups,
  .pi-market-ideas-grid,
  .pi-market-notes-grid {
    gap: 24px;
  }
}

@media (max-width: 980px) {
  .pi-education-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-education-layout,
  .pi-education-sidebar,
  .pi-education-main,
  .pi-education-topic-grid,
  .pi-education-article-grid {
    width: 100%;
  }

  .pi-education-sidebar {
    position: static;
  }

  .pi-education-nav {
    display: flex;
    gap: 0.55rem;
    padding-bottom: 0.45rem;
  }

  .pi-education-nav a {
    flex: 0 0 auto;
    scroll-snap-align: start;
    white-space: nowrap;
  }

  .pi-tool-link-grid,
  .pi-methodology-one-minute,
  .pi-methodology-download-panel,
  .pi-tools-newsletter-panel {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 781px) {
  body,
  button,
  input,
  select,
  textarea {
    font-size: max(16px, 1rem);
  }

  .pi-site-header,
  header.wp-block-template-part,
  footer.wp-block-template-part,
  .pi-site-footer {
    max-width: 100%;
  }

  .pi-logo,
  .site-logo img,
  .custom-logo {
    width: clamp(190px, 52vw, 260px);
    max-width: calc(100vw - 120px);
  }

  .wp-block-navigation__responsive-container-open,
  .wp-block-navigation__responsive-container-close {
    min-height: 44px;
    min-width: 44px;
  }

  .pi-page-hero,
  .pi-section,
  .pi-section-tight,
  .pi-light-band,
  .pi-muted-band {
    padding-left: 0;
    padding-right: 0;
  }

  .pi-content-rail,
  .pi-page-hero > *,
  .wp-block-group.alignfull.pi-section > *,
  .wp-block-group.alignfull.pi-section-tight > *,
  .wp-block-group.alignfull.pi-light-band > *,
  .wp-block-group.alignfull.pi-muted-band > * {
    padding-left: clamp(16px, 5vw, 24px);
    padding-right: clamp(16px, 5vw, 24px);
  }

  h1,
  .pi-hero h1,
  .pi-page-hero h1,
  .page-title {
    font-size: clamp(2.4rem, 11vw, 4.75rem);
    line-height: 0.98;
    letter-spacing: 0;
  }

  h2,
  .pi-section-title {
    font-size: clamp(1.75rem, 8vw, 3.1rem);
    line-height: 1.05;
  }

  .pi-hero-actions,
  .pi-action-row,
  .wp-block-buttons {
    align-items: stretch;
    width: 100%;
  }

  .pi-button,
  .wp-block-button,
  .wp-block-button__link {
    max-width: 100%;
  }

  .pi-grid-2,
  .pi-grid-3,
  .pi-grid-4,
  .pi-card-grid,
  .pi-education-card-grid,
  .pi-education-topic-grid,
  .pi-education-article-grid,
  .pi-education-tool-grid,
  .pi-lesson-card-grid,
  .pi-tool-library-grid,
  .pi-dashboard-groups,
  .pi-methodology-framework-grid,
  .pi-methodology-link-grid,
  .pi-market-notes-grid,
  .pi-market-ideas-grid,
  .pi-related-links,
  .pi-result-grid,
  .pi-calculator-inputs,
  .pi-calculator-body,
  .pi-calculator-fieldsets {
    grid-template-columns: minmax(0, 1fr);
    max-width: 100%;
  }

  .pi-card,
  .pi-education-card,
  .pi-education-topic,
  .pi-education-tool-card,
  .pi-lesson-card,
  .pi-tool-card,
  .pi-dashboard-tool-group,
  .pi-methodology-framework-card,
  .pi-methodology-link-card,
  .pi-calculator-card,
  .pi-calculator-fieldset,
  .pi-calculator-results-card,
  .pi-disclaimer,
  .pi-methodology-disclaimer-box {
    width: 100%;
    max-width: 100%;
    padding: clamp(1rem, 5vw, 1.45rem);
  }

  .pi-calculator-tablist,
  .pi-calculator-subtablist,
  .pi-market-idea-filters {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.6rem;
    padding-bottom: 0.55rem;
    scroll-snap-type: x proximity;
  }

  .pi-calculator-tablist button,
  .pi-calculator-subtablist button,
  .pi-market-idea-filters a {
    flex: 0 0 auto;
    scroll-snap-align: start;
    white-space: nowrap;
  }

  .pi-data-table.has-responsive-cards {
    min-width: 0;
  }

  .pi-site-footer .pi-footer-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 430px) {
  .pi-logo,
  .site-logo img,
  .custom-logo {
    width: clamp(178px, 50vw, 230px);
    max-width: calc(100vw - 112px);
  }

  .pi-education-nav a,
  .pi-calculator-tablist button,
  .pi-calculator-subtablist button,
  .pi-market-idea-filters a {
    font-size: 0.95rem;
  }
}
