/* ========================================================================
   SHARED / GLOBAL STYLES
   Search: SHARED / GLOBAL
   Header, footer, buttons, typography, sticky CTA, and site-wide rules.
   Page-specific blocks start at "PAGE STYLES INDEX" below.
   ======================================================================== */

@layer reset, tokens, base, components, responsive;

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

  html {
    scroll-behavior: smooth;
  }

  body,
  h1,
  h2,
  h3,
  p,
  blockquote {
    margin: 0;
  }

  img,
  svg {
    display: block;
    max-width: 100%;
  }

  button,
  input,
  textarea,
  select {
    font: inherit;
  }
}

body.account-modal-open {
  overflow: hidden;
}

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

.account-modal[hidden] {
  display: none;
}

.account-modal {
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: grid;
  min-height: 100dvh;
  place-items: center;
}

.account-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgb(5 12 28 / 62%);
}

.account-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(31rem, calc(100vw - 2rem));
  padding: clamp(2.25rem, 5vw, 4.25rem) clamp(1.5rem, 5vw, 4.5rem);
  border-radius: 0.2rem;
  background: #fff;
  box-shadow: 0 1.5rem 4rem rgb(0 0 0 / 25%);
}

.account-modal__close {
  position: fixed;
  z-index: 2;
  top: 1.35rem;
  right: 1.6rem;
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: 0;
  color: #fff;
  background: transparent;
  font-size: 2rem;
  font-weight: 300;
  line-height: 1;
  place-items: center;
}

.account-login {
  display: grid;
  gap: 0.75rem;
  color: #737986;
}

.account-login > label {
  margin-top: 0.75rem;
  font-size: 0.9rem;
  font-weight: 500;
}

.account-login input[type="text"],
.account-login input[type="password"] {
  width: 100%;
  min-height: 3rem;
  padding: 0.75rem 1rem;
  border: 1px solid #e3e5ea;
  border-radius: 0;
  color: #16182c;
  background: #fff;
  font: inherit;
}

.account-login input:focus-visible,
.account-login button:focus-visible,
.account-login a:focus-visible,
.account-modal__close:focus-visible {
  outline: 3px solid rgb(30 105 226 / 45%);
  outline-offset: 2px;
}

.account-login__password {
  position: relative;
  display: block;
}

.account-login__password input {
  padding-right: 3rem;
}

.account-login__password button {
  position: absolute;
  top: 50%;
  right: 0.65rem;
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border: 0;
  color: #737986;
  background: transparent;
  translate: 0 -50%;
  place-items: center;
}

.account-login__password svg {
  width: 1.15rem;
  height: 1.15rem;
}

.account-login__options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-block: 0.45rem 0.2rem;
  font-size: 0.9rem;
}

.account-login__options label {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  cursor: pointer;
}

.account-login__options input {
  width: 1.1rem;
  height: 1.1rem;
  margin: 0;
  accent-color: #211ab5;
}

.account-login__options a {
  color: #737986;
  text-decoration: none;
}

.account-login__options a:hover {
  color: #211ab5;
  text-decoration: underline;
}

.account-login__submit {
  min-height: 3.2rem;
  padding: 0.8rem 1rem;
  border: 0;
  color: #fff;
  background: #211ab5;
  font: inherit;
  font-weight: 500;
}

.account-login__submit:hover {
  background: #17128a;
}

@media (width <= 36rem) {
  .account-modal {
    align-items: center;
    justify-items: center;
  }

  .account-modal__dialog {
    width: min(31rem, calc(100vw - 2rem));
    padding: 2.25rem 1.25rem;
  }

  .account-login__options {
    align-items: flex-start;
    flex-direction: column;
  }
}

@layer tokens {
  :root {
    --navy: #171992;
    --navy-dark: #0d0e65;
    --blue: #1c68d9;
    --ink: #080b24;
    --muted: #5f6472;
    --white: #fff;
    --surface: #f4f6ff;
    --line: #d9def3;
    --green: #20a684;
    --font: Inter, Arial, sans-serif;
    --content: 80.625rem;
    --gutter: clamp(1rem, 4vw, 2rem);
    --pill: 999px;
    --radius: 1.5rem;
    --shadow: 0 1.25rem 3.75rem rgb(23 25 146 / 12%);
    --section-title-padding-top: 50px;
    --section-title-padding-bottom: 40px;
    --site-heading-pad-top: 50px;
    --site-heading-pad-bottom: 40px;
  }
}

@layer base {
  body {
    min-width: 20rem;
    color: var(--ink);
    background: var(--white);
    font-family: var(--font);
    line-height: 1.55;
    text-rendering: optimizelegibility;
  }

  a {
    color: inherit;
  }

  h1,
  h2,
  h3 {
    line-height: 1.12;
    letter-spacing: -0.035em;
  }

  h2 {
    font-size: clamp(2rem, 4vw, 3.25rem);
  }

  p {
    margin-top: 10px;
  }

  :focus-visible {
    outline: 3px solid var(--blue);
    outline-offset: 3px;
  }
}

@layer components {
  .container {
    width: min(100% - (2 * var(--gutter)), var(--content));
    margin-inline: auto;
  }

  .section-pad {
    padding-block: clamp(4.5rem, 9vw, 8rem);
  }

  .skip-link {
    position: fixed;
    z-index: 100;
    top: 0.75rem;
    left: 0.75rem;
    padding: 0.65rem 1rem;
    translate: 0 -160%;
    border-radius: 0.35rem;
    color: var(--white);
    background: var(--navy);
  }

  .skip-link:focus {
    translate: 0;
  }

  .eyebrow {
    margin-bottom: 0.75rem;
    color: var(--blue);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }

  .eyebrow--light {
    color: #aebcff;
  }

  .section-heading {
    max-width: 48rem;
  }

  .section-heading--center {
    margin: 0 auto clamp(2.5rem, 5vw, 4.5rem);
    text-align: center;
  }

  .section-heading > p:not(.eyebrow) {
    margin-top: 10px;
    color: var(--muted);
    font-size: 1.0625rem;
  }

  .stars {
    color: #ffb000;
    letter-spacing: 0.14em;
  }

  .site-header {
    position: sticky;
    z-index: 50;
    top: 0;
    background: var(--white);
    border-bottom: 1px solid #f0f1f4;
  }

  .site-header__inner {
    display: flex;
    min-height: 7.5rem;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
  }

  .site-logo {
    width: clamp(11rem, 15vw, 15rem);
    flex: none;
  }

  .site-logo img {
    width: 100%;
    height: auto;
  }

  .header-actions {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: clamp(1.35rem, 2.5vw, 2.8rem);
  }

  .site-navigation {
    display: flex;
    align-items: center;
    gap: clamp(1.35rem, 2.5vw, 2.8rem);
  }

  .site-navigation > a,
  .more-menu > summary {
    position: relative;
    padding-block: 0.8rem;
    color: #4b4b50;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .site-navigation > a::after,
  .more-menu > summary::after {
    position: absolute;
    right: 0;
    bottom: 0.25rem;
    left: 0;
    height: 2px;
    content: "";
    background: var(--blue);
    scale: 0 1;
    transition: scale 0.2s ease;
  }

  .site-navigation > a:hover::after,
  .site-navigation > a.is-current::after,
  .more-menu.is-current > summary::after,
  .more-menu[open] > summary::after {
    scale: 1 1;
  }

  .site-navigation > a.is-current,
  .more-menu.is-current > summary,
  .more-menu[open] > summary {
    color: #18181b;
  }

  .more-menu {
    position: relative;
  }

  .more-menu > summary {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    cursor: pointer;
    list-style: none;
  }

  .more-menu > summary::-webkit-details-marker {
    display: none;
  }

  .more-menu > summary span {
    display: grid;
    width: 1rem;
    height: 1rem;
    place-items: center;
  }

  .more-menu > summary span::before {
    width: 0.42rem;
    height: 0.42rem;
    border-right: 2px solid currentcolor;
    border-bottom: 2px solid currentcolor;
    content: "";
    rotate: 45deg;
    translate: 0 -0.12rem;
    transition:
      rotate 0.2s ease,
      translate 0.2s ease;
  }

  .more-menu[open] > summary span::before {
    rotate: 225deg;
    translate: 0 0.12rem;
  }

  .more-menu__panel {
    position: absolute;
    z-index: 60;
    top: calc(100% + 2.2rem);
    left: -1rem;
    width: 15.5rem;
    color: var(--white);
    background: #111016;
    box-shadow: 0 1rem 2rem rgb(0 0 0 / 22%);
  }

  .more-menu__panel a {
    display: block;
    padding: 1.15rem 1.4rem;
    border-bottom: 1px dashed rgb(255 255 255 / 12%);
    font-size: 0.85rem;
    font-weight: 500;
    text-decoration: none;
  }

  .more-menu__panel a:last-child {
    border-bottom: 0;
  }

  .more-menu__panel a:hover {
    background: #1c1b22;
  }

  .account-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding-block: 0.8rem;
    color: #4b4b50;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .account-link::after {
    position: absolute;
    right: 0;
    bottom: 0.25rem;
    left: 0;
    height: 2px;
    content: "";
    background: var(--blue);
    scale: 0 1;
    transition: scale 0.2s ease;
  }

  .account-link:hover::after,
  .account-link.is-current::after {
    scale: 1 1;
  }

  .account-link.is-current {
    color: #18181b;
  }

  .account-link svg {
    width: 1.2rem;
    height: 1.2rem;
    color: currentcolor;
  }

  .menu-toggle {
    display: none;
  }

  .button {
    display: inline-flex;
    min-height: 2.875rem;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.625rem;
    border: 2px solid var(--navy);
    border-radius: var(--pill);
    color: var(--white);
    background: var(--navy);
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    transition: 0.2s ease;
  }

  :where(.microdosing-callout > a, .pricing-final-cta > a) {
    display: flex !important;
    width: fit-content !important;
    min-width: min(14rem, 100%) !important;
    max-width: 100% !important;
    min-height: 3.25rem !important;
    padding: 0.75rem 1.5rem !important;
    margin-right: auto !important;
    margin-left: auto !important;
    align-items: center;
    align-self: center;
    justify-content: center;
    font-size: 0.95rem !important;
    line-height: 1.2 !important;
    text-align: center;
    text-transform: none !important;
  }

  .button:hover {
    border-color: var(--blue);
    background: var(--blue);
    translate: 0 -2px;
  }

  .button--small {
    min-height: 2.5rem;
    padding: 0.6rem 1.2rem;
  }

  .button--light {
    border-color: var(--white);
    color: var(--navy);
    background: var(--white);
  }

  .button--outline {
    color: var(--navy);
    background: transparent;
  }

  .button-row,
  .card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
  }

  .hero {
    position: relative;
    min-height: min(52rem, calc(100svh - 5rem));
    overflow: hidden;
    color: var(--white);
    background: var(--navy);
  }

  .hero::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(
      90deg,
      rgb(13 14 101 / 92%) 0%,
      rgb(13 14 101 / 55%) 48%,
      transparent 74%
    );
  }

  .hero__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 70% 12%;
  }

  .hero__inner {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: inherit;
    align-items: center;
    padding-block: 5rem;
  }

  .hero__copy {
    width: min(48rem, 55%);
  }

  .hero h1 {
    max-width: 46rem;
    font-size: clamp(2.75rem, 5.3vw, 4.4rem);
  }

  .hero__lead {
    max-width: 43rem;
    margin-top: 1.5rem;
    font-size: clamp(1rem, 1.5vw, 1.2rem);
  }

  .hero .button-row {
    margin-top: 2rem;
  }

  .hero__note {
    max-width: 44rem;
    margin-top: 2.5rem;
    font-size: 0.9rem;
  }

  .hero__disclaimer {
    margin-top: 0.6rem;
    font-size: 0.82rem;
  }

  .patient-voice {
    overflow: hidden;
    padding-block: clamp(4rem, 8vw, 7rem);
    background:
      radial-gradient(circle at 50% 10%, rgb(28 104 217 / 9%), transparent 32%),
      var(--white);
  }

  .patient-voice .section-heading {
    margin-inline: auto;
    text-align: center;
  }

  .patient-voice .stars {
    margin-block: 0.7rem 1rem;
    font-size: 1.15rem;
  }

  .patient-voice h2 {
    font-size: clamp(1.9rem, 4.2vw, 3.7rem);
  }

  .patient-voice h2 em {
    color: var(--navy);
  }

  .quote-board {
    position: relative;
    display: grid;
    max-width: 100rem;
    min-height: 24rem;
    align-items: center;
    margin: 3.5rem auto 0;
    grid-template-columns: minmax(16rem, 30%) 1fr;
  }

  .vial-stage {
    position: relative;
    z-index: 2;
    height: 24rem;
  }

  .vial-stage::before {
    position: absolute;
    inset: 8% 3% 4%;
    content: "";
    border-radius: 50%;
    background: rgb(28 104 217 / 8%);
    filter: blur(1rem);
  }

  .vial {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: contain;
    opacity: 0;
    transition: opacity 0.8s ease;
  }

  .vial.is-active {
    opacity: 1;
  }

  .marquees {
    min-width: 0;
  }

  .marquee {
    overflow: hidden;
    padding-block: 0.55rem;
  }

  .marquee__track {
    display: flex;
    width: max-content;
    gap: 1rem;
    animation: marquee 32s linear infinite;
  }

  .marquee__track--reverse {
    animation-direction: reverse;
    animation-duration: 37s;
  }

  .marquee__track span {
    padding: 1rem 1.35rem;
    border: 1px solid var(--line);
    border-radius: var(--pill);
    background: var(--surface);
    font-size: clamp(0.9rem, 1.4vw, 1.08rem);
    font-weight: 600;
    white-space: nowrap;
  }

  @keyframes marquee {
    to {
      transform: translateX(calc(-50% - 0.5rem));
    }
  }

  .trust-strip {
    padding-block: 2.2rem;
    color: var(--white);
    background: var(--navy);
  }

  .trust-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
  }

  .trust-grid article {
    padding: 1rem clamp(1rem, 2vw, 2rem);
    text-align: center;
    border-right: 1px solid rgb(255 255 255 / 22%);
  }

  .trust-grid article:last-child {
    border: 0;
  }

  .trust-grid h3 {
    margin-top: 0.75rem;
    font-size: 1rem;
    letter-spacing: -0.01em;
  }

  .trust-grid p {
    margin-top: 0.35rem;
    color: rgb(255 255 255 / 72%);
    font-size: 0.78rem;
  }

  .icon-badge {
    display: grid;
    width: 2.25rem;
    height: 2.25rem;
    margin-inline: auto;
    place-items: center;
    border-radius: 50%;
    color: var(--navy);
    background: var(--white);
    font-weight: 800;
  }

  .why {
    overflow: hidden;
    background: var(--white);
  }

  .why__intro {
    padding-block: 0;
    text-align: center;
  }

  .why__intro h2 {
    color: #090a13;
    font-size: clamp(2rem, 3.5vw, 3rem);
    text-transform: uppercase;
  }

  .why__intro p {
    margin-top: 0;
    color: #666;
    font-size: clamp(0.95rem, 1.4vw, 1.1rem);
  }

  .why-story {
    position: relative;
    z-index: 1;
    min-height: clamp(36rem, 62vw, 49rem);
    margin-bottom: 0;
  }

  .why-story__image {
    position: absolute;
    top: 0;
    right: 0;
    width: 67%;
    height: 100%;
    border-radius: 1.7rem;
    object-fit: cover;
    box-shadow: 0.8rem 0.8rem 0 #f0f0f0;
  }

  .why-story__card {
    position: absolute;
    z-index: 2;
    top: 3.5rem;
    left: 0;
    width: 45%;
    min-height: calc(100% - 7rem);
    padding: clamp(3rem, 6vw, 6.2rem) clamp(2.2rem, 5vw, 5.5rem);
    overflow: hidden;
    color: var(--white);
    background: #0d67bb;
  }

  .why-story__card::before,
  .why-story__card::after {
    position: absolute;
    width: 18rem;
    height: 18rem;
    border: 1px solid rgb(255 255 255 / 16%);
    border-radius: 50%;
    content: "";
  }

  .why-story__card::before {
    top: -5rem;
    right: -9rem;
  }

  .why-story__card::after {
    right: -4rem;
    bottom: -8rem;
  }

  .why-story__card h2 {
    position: relative;
    z-index: 1;
    max-width: 13ch;
    font-size: clamp(1.7rem, 3vw, 2.6rem);
    line-height: 1.45;
  }

  .why-story__card p {
    position: relative;
    z-index: 1;
    max-width: 31rem;
    margin-top: clamp(2rem, 4vw, 3.5rem);
    color: rgb(255 255 255 / 76%);
    font-size: clamp(0.95rem, 1.35vw, 1.15rem);
    line-height: 1.65;
  }

  .why > .home-benefits {
    margin-top: 1rem;
    z-index: 3;
  }

  .why + .crx-pricing-section {
    padding-top: 0;
  }

  .why-panel {
    overflow: hidden;
    border-radius: var(--radius);
    color: var(--white);
    background: linear-gradient(
      135deg,
      var(--navy-dark),
      var(--navy) 65%,
      var(--blue)
    );
    box-shadow: var(--shadow);
  }

  .why-panel__intro {
    max-width: 48rem;
    padding: clamp(2.2rem, 6vw, 5rem);
  }

  .why-panel__intro h2 {
    margin-bottom: 1.5rem;
  }

  .why-panel__intro p:not(.eyebrow) {
    margin-top: 1rem;
    color: rgb(255 255 255 / 76%);
    font-size: 1.05rem;
  }

  .feature-grid {
    display: grid;
    border-top: 1px solid rgb(255 255 255 / 18%);
    grid-template-columns: repeat(3, 1fr);
  }

  .feature-grid article {
    padding: clamp(1.7rem, 4vw, 3rem);
    border-right: 1px solid rgb(255 255 255 / 18%);
  }

  .feature-grid article:last-child {
    border: 0;
  }

  .feature-grid span {
    color: #aebcff;
    font-size: 0.75rem;
    font-weight: 800;
  }

  .feature-grid h3 {
    margin-top: 1.5rem;
    font-size: 1.35rem;
  }

  .feature-grid p {
    margin-top: 0.8rem;
    color: rgb(255 255 255 / 72%);
    font-size: 0.9rem;
  }

  .pricing-grid {
    display: grid;
    align-items: stretch;
    gap: 1.25rem;
    grid-template-columns: repeat(3, 1fr);
  }

  .plan-toggle {
    display: inline-flex;
    margin-top: 1.8rem;
    padding: 0.3rem;
    border: 1px solid var(--line);
    border-radius: var(--pill);
    background: var(--white);
  }

  .plan-toggle button {
    padding: 0.65rem 1.25rem;
    border: 0;
    border-radius: var(--pill);
    color: var(--muted);
    background: transparent;
    cursor: pointer;
    font-weight: 700;
  }

  .plan-toggle button.is-active {
    color: var(--white);
    background: var(--navy);
  }

  .price-card {
    position: relative;
    display: flex;
    padding: 1.6rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--white);
    box-shadow: 0 0.75rem 2rem rgb(8 11 36 / 7%);
    flex-direction: column;
  }

  .price-card--featured {
    border: 2px solid var(--navy);
    transform: translateY(-0.75rem);
  }

  .price-card img {
    width: 100%;
    height: 13rem;
    margin-block: 0.7rem;
    object-fit: contain;
  }

  .card-badge {
    align-self: flex-start;
    padding: 0.35rem 0.7rem;
    border-radius: var(--pill);
    color: var(--navy);
    background: #e9edff;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
  }

  .price-card h3 {
    font-size: 1.75rem;
  }

  .plan-name,
  .billing {
    color: var(--muted);
    font-size: 0.82rem;
  }

  .price {
    margin-top: 1rem;
  }

  .price strong {
    color: var(--navy);
    font-size: 2.6rem;
    letter-spacing: -0.05em;
  }

  .price-card > p:nth-of-type(5) {
    margin-top: 1.2rem;
    color: var(--muted);
  }

  .price-card ul {
    margin: 1.5rem 0;
    padding: 0;
    list-style: none;
  }

  .price-card li {
    position: relative;
    padding: 0.45rem 0 0.45rem 1.6rem;
    font-size: 0.9rem;
  }

  .price-card li::before {
    position: absolute;
    left: 0;
    color: var(--green);
    content: "✓";
    font-weight: 800;
  }

  .card-actions {
    margin-top: auto;
  }

  .card-actions .button {
    padding-inline: 1rem;
    flex: 1 1 8rem;
  }

  .section-note {
    max-width: 55rem;
    margin: 2rem auto 0;
    color: var(--muted);
    font-size: 0.78rem;
    text-align: center;
  }

  .process {
    padding-block: 0 clamp(3.5rem, 6vw, 5rem);
    background: var(--white);
  }

  .process .site-heading {
    color: #09090d;
    font-size: clamp(2.5rem, 4vw, 3.5rem);
    text-align: center;
  }

  .process__header {
    width: min(44rem, 100%);
    margin: 0 auto;
    text-align: center;
  }

  .process__header p {
    margin: 0;
    color: #60636b;
    font-size: 1rem;
    line-height: 1.45;
  }

  .process__header p + p {
    margin-top: 0.35rem;
  }

  .treatment-timeline {
    position: relative;
    width: min(100%, 65rem);
    margin: 0 auto;
    padding: 0;
    list-style: none;
  }

  .treatment-timeline::before {
    position: absolute;
    top: -2.5rem;
    bottom: -2.5rem;
    left: 50%;
    width: 4px;
    content: "";
    background: linear-gradient(
      to bottom,
      transparent 0%,
      #c8d8ff 12%,
      #c8d8ff 88%,
      transparent 100%
    );
    translate: -50% 0;
  }

  .timeline-step {
    position: relative;
    display: grid;
    min-height: 8rem;
    align-items: center;
    margin-bottom: 2rem;
    grid-template-columns: 1fr 5.5rem 1fr;
  }

  .timeline-step:last-child {
    margin-bottom: 0;
  }

  .timeline-step__dot {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 50%;
    background: #16a0e0;
    translate: -50% -50%;
  }

  .timeline-step__label {
    color: #09090d;
    font-size: 1.3rem;
    font-weight: 800;
  }

  .timeline-card {
    position: relative;
    padding: 1.65rem 2rem;
    border-radius: 0.85rem;
    background: var(--white);
    box-shadow: 0 1.3rem 3rem rgb(8 11 36 / 11%);
  }

  .timeline-card::before {
    position: absolute;
    top: 50%;
    width: 0;
    height: 0;
    border-top: 1.25rem solid transparent;
    border-bottom: 1.25rem solid transparent;
    content: "";
    translate: 0 -50%;
  }

  .timeline-card h3 {
    margin: 0 0 0.4rem;
    font-size: 1.15rem;
    letter-spacing: -0.015em;
  }

  .timeline-card p {
    margin: 0;
    color: #22242a;
    font-size: 1rem;
    line-height: 1.45;
  }

  .timeline-card p + p {
    margin-top: 0.65rem;
  }

  .timeline-card ul {
    margin: 0.75rem 0 0;
    padding-left: 1.15rem;
    list-style-type: disc;
    color: #111;
  }

  .timeline-card li {
    margin: 0 0 0.35rem;
    color: #22242a;
    font-size: 0.95rem;
    line-height: 1.45;
  }

  .timeline-card li::marker {
    color: #111;
  }

  .timeline-card li:last-child {
    margin-bottom: 0;
  }

  .timeline-step--right .timeline-step__label {
    grid-column: 1;
    justify-self: end;
  }

  .timeline-step--right .timeline-card {
    border-left: 5px solid #1281d1;
    grid-column: 3;
  }

  .timeline-step--right .timeline-card::before {
    right: 100%;
    border-right: 1.25rem solid #1281d1;
  }

  .timeline-step--left .timeline-step__label {
    grid-column: 3;
    justify-self: start;
  }

  .timeline-step--left .timeline-card {
    border-right: 5px solid #1281d1;
    grid-column: 1;
    grid-row: 1;
  }

  .timeline-step--left .timeline-card::before {
    left: 100%;
    border-left: 1.25rem solid #1281d1;
  }

  .control-method {
    padding-block: 0 clamp(4rem, 6vw, 6rem);
    background: var(--white);
  }

  .control-method .site-heading {
    color: #09090d;
    font-size: clamp(2.5rem, 3.5vw, 3.5rem);
    text-align: center;
  }

  .control-method__layout {
    display: grid;
    align-items: start;
    gap: clamp(3rem, 5vw, 5rem);
    grid-template-columns: minmax(20rem, 0.9fr) 1.8fr;
  }

  .control-method__intro {
    text-align: center;
  }

  .control-method__intro p {
    max-width: 31rem;
    margin: 0 auto clamp(1.8rem, 3vw, 2.7rem);
    color: #17181d;
    font-size: clamp(1rem, 1.3vw, 1.15rem);
    line-height: 1.55;
  }

  .control-method__intro .button {
    width: min(100%, 20rem);
    margin-top: 0.25rem;
  }

  .method-grid {
    display: grid;
    gap: clamp(3rem, 5vw, 4.5rem) clamp(2.5rem, 5vw, 5rem);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .method-item {
    text-align: center;
  }

  .method-item svg {
    width: 5rem;
    height: 5rem;
    margin: 0 auto 1.4rem;
    color: #737d83;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .method-item h3 {
    color: #09090d;
    font-size: clamp(1.8rem, 2.5vw, 2.3rem);
  }

  .method-item p {
    max-width: 28rem;
    margin: 1.5rem auto 0;
    color: #18191e;
    font-size: clamp(0.95rem, 1.25vw, 1.1rem);
    line-height: 1.6;
  }

  .glp-banner {
    position: relative;
    min-height: clamp(38rem, 48vw, 42rem);
    overflow: hidden;
    border-radius: 1.7rem;
    background: #f6f7fa;
  }

  .glp-banner > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .glp-banner__content {
    position: absolute;
    z-index: 1;
    display: flex;
    width: 100%;
    padding-block: clamp(2rem, 4vw, 4rem);
    justify-content: center;
    flex-direction: column;
    inset: 0;
  }

  .glp-banner__copy {
    box-sizing: border-box;
    width: 59%;
    max-width: 44rem;
    padding-inline: clamp(2.5rem, 10vw, 8rem);
  }

  .glp-banner__content h2 {
    margin-bottom: 1rem;
    color: var(--navy);
    font-size: clamp(1.75rem, 2.7vw, 2.4rem);
    line-height: 1.4;
  }

  .glp-banner__content p {
    max-width: 44rem;
    margin-top: clamp(0.65rem, 1.3vw, 1.15rem);
    color: #17181d;
    font-size: clamp(0.9rem, 1.2vw, 1.05rem);
    line-height: 1.55;
  }

  .glp-banner__content .button {
    display: flex;
    width: min(100%, 29rem);
    min-width: 0;
    margin-top: 1.25rem;
    margin-inline: auto;
    align-self: center;
  }

  .reviews {
    padding-block: 0;
    color: var(--ink);
    background: var(--white);
  }

  .reviews .site-heading {
    color: #111216;
    font-size: clamp(2.25rem, 3.5vw, 3.25rem);
    text-align: center;
  }

  .review-grid {
    display: grid;
    width: 86%;
    margin-inline: auto;
    gap: clamp(2rem, 4vw, 4rem);
    grid-template-columns: repeat(3, 1fr);
  }

  .review-grid blockquote {
    text-align: center;
  }

  .review-grid blockquote img {
    width: 5rem;
    height: 5rem;
    margin: 0 auto 0.9rem;
    border-radius: 50%;
    object-fit: cover;
  }

  .review-grid .stars {
    color: #f5ac45;
    font-size: 1.05rem;
  }

  .review-grid blockquote p {
    min-height: 4.4rem;
    margin-block: 0.4rem 1.25rem;
    color: #35383c;
    font-size: clamp(0.9rem, 1.15vw, 1rem);
    line-height: 1.55;
  }

  .review-grid cite {
    color: #3b3e42;
    font-size: 0.85rem;
    font-weight: 800;
    font-style: normal;
    text-transform: uppercase;
  }

  .faq-layout {
    display: grid;
    align-items: start;
    gap: clamp(2.5rem, 8vw, 7rem);
    grid-template-columns: 0.7fr 1.3fr;
  }

  .faq-layout > div:first-child > p:last-child {
    margin-top: 1.2rem;
    color: var(--muted);
  }

  .faqs .faq-list details {
    border-bottom: 1px solid var(--line);
  }

  .faqs .faq-list summary {
    display: flex;
    padding: 1.4rem 0;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    cursor: pointer;
    font-weight: 700;
    list-style: none;
  }

  .faqs .faq-list summary::-webkit-details-marker {
    display: none;
  }

  .faqs .faq-list summary span {
    color: var(--blue);
    font-size: 1.5rem;
    transition: rotate 0.2s ease;
  }

  .faqs .faq-list details[open] summary span {
    rotate: 45deg;
  }

  .faqs .faq-list details p {
    padding: 0 2.5rem 1.5rem 0;
    color: var(--muted);
  }

  .closing-cta {
    position: relative;
    display: grid;
    width: 100%;
    min-height: clamp(25rem, 33vw, 41rem);
    margin: clamp(5rem, 8vw, 8rem) auto 0;
    padding: clamp(3rem, 7vw, 7rem);
    overflow: hidden;
    place-items: center;
    color: var(--white);
    background: #252525;
  }

  .closing-cta::after {
    position: absolute;
    z-index: 1;
    background: rgb(0 0 0 / 58%);
    content: "";
    inset: 0;
  }

  .closing-cta__image {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    inset: 0;
  }

  .closing-cta__inner {
    position: relative;
    z-index: 2;
    display: flex;
    width: min(100%, 52rem);
    align-items: center;
    flex-direction: column;
    text-align: center;
  }

  .closing-cta h2 {
    font-size: clamp(2.25rem, 3.2vw, 3.25rem);
    line-height: 1.1;
  }

  .closing-cta p {
    margin-top: clamp(1.5rem, 2.5vw, 2.25rem);
    color: var(--white);
    font-size: clamp(1rem, 1.35vw, 1.3rem);
    line-height: 1.65;
  }

  .closing-cta .button {
    min-width: 14rem;
    margin-top: 0;
    background: var(--navy);
    border-color: var(--navy);
  }

  .site-footer {
    padding-block: clamp(2.25rem, 4vw, 3.5rem) 1.75rem;
    color: #626b7a;
    background: #fbfbfc;
    font-size: 12px;
  }

  .footer-inner {
    display: flex;
    align-items: stretch;
    gap: clamp(1.75rem, 3vw, 2.75rem);
    flex-direction: column;
  }

  .social-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: clamp(0.7rem, 2.4vw, 1.1rem);
  }

  .social-links a {
    display: grid;
    width: 2.85rem;
    height: 2.85rem;
    flex: 0 0 2.85rem;
    aspect-ratio: 1;
    place-items: center;
    border-radius: 50%;
    color: #4b5563;
    background: #eceef2;
    text-decoration: none;
    transition:
      background 0.2s ease,
      color 0.2s ease,
      transform 0.2s ease;
  }

  .social-links a:hover,
  .social-links a:focus-visible {
    color: var(--white);
    background: var(--navy);
    transform: translateY(-2px);
  }

  .social-links a:focus-visible {
    outline: 3px solid var(--blue);
    outline-offset: 3px;
  }

  .social-links svg {
    display: block;
    width: 1.2rem;
    height: 1.2rem;
    flex-shrink: 0;
  }

  .footer-legal {
    display: flex;
    padding-top: clamp(1.75rem, 3vw, 2.5rem);
    border-top: 1px dashed #e7e8eb;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    font-size: 12px;
    line-height: 1.5;
    text-align: center;
  }

  .footer-legal > * {
    min-height: 1.5em;
    margin: 0;
    font-size: 12px;
  }

  .footer-legal a {
    color: var(--navy);
    font-size: 12px;
    text-decoration: none;
  }

  .footer-legal a:hover {
    text-decoration: underline;
  }
}

@layer responsive {
  @media (width <= 64rem) {
    .site-header__inner {
      min-height: 5rem;
    }

    .header-actions {
      gap: 1rem;
    }

    .menu-toggle {
      position: relative;
      display: block;
      width: 3rem;
      min-width: 3rem;
      min-height: 2.75rem;
      padding: 0;
      margin-left: auto;
      border: 0;
      border-radius: 0;
      color: var(--ink);
      background: var(--white);
      cursor: pointer;
      font-size: 0;
      order: 3;
    }

    .menu-toggle::before {
      position: absolute;
      top: 50%;
      left: 50%;
      width: 2.5rem;
      height: 0.22rem;
      border-radius: 999px;
      color: #5d5d60;
      background: currentcolor;
      box-shadow:
        0 -0.78rem currentcolor,
        0 0.78rem currentcolor;
      content: "";
      translate: -50% -50%;
    }

    .site-navigation {
      position: absolute;
      top: 100%;
      right: 0;
      left: 0;
      display: none;
      align-items: stretch;
      gap: 0;
      padding: 1rem var(--gutter) 1.5rem;
      background: var(--white);
      box-shadow: 0 1rem 2rem rgb(8 11 36 / 12%);
      flex-direction: column;
    }

    .site-navigation.is-open,
    .site-navigation.is-open > a {
      display: flex;
    }

    .site-navigation > a,
    .more-menu > summary {
      padding: 0.9rem 0;
    }

    .more-menu__panel {
      position: static;
      width: 100%;
      margin-top: 0.25rem;
      box-shadow: none;
    }

    .account-link {
      display: none;
    }

    .site-navigation > .account-link {
      display: inline-flex;
    }

    .site-navigation .more-menu,
    .site-navigation .more-menu__panel {
      display: contents;
    }

    .site-navigation .more-menu > summary {
      display: none;
    }

    .site-navigation .more-menu__panel a {
      display: flex;
      padding: 0.9rem 0;
      border: 0;
      color: #4b4b50;
      background: var(--white);
      font-size: 0.9375rem;
      font-weight: 700;
      line-height: 1;
      text-decoration: none;
      text-transform: uppercase;
    }

    .site-navigation .more-menu__panel a:hover {
      color: #18181b;
      background: var(--white);
    }

    .hero__copy {
      width: 60%;
    }

    .trust-grid {
      grid-template-columns: repeat(2, 1fr);
    }

    .trust-grid article:nth-child(2) {
      border-right: 0;
    }

    .trust-grid article:nth-child(-n + 2) {
      border-bottom: 1px solid rgb(255 255 255 / 22%);
    }

    .pricing-grid {
      overflow-x: auto;
      padding: 1rem var(--gutter) 2rem;
      margin-inline: calc(var(--gutter) * -1);
      grid-template-columns: repeat(3, minmax(19rem, 1fr));
      scroll-snap-type: x mandatory;
    }

    .price-card {
      scroll-snap-align: start;
    }

    .price-card--featured {
      transform: none;
    }

    .process__grid {
      grid-template-columns: 1fr;
    }

    .control-method__layout {
      gap: 4rem;
      grid-template-columns: 1fr;
    }

    .control-method__intro {
      max-width: 42rem;
      margin-inline: auto;
    }

    .glp-banner__content {
      width: 100%;
    }

    .glp-banner__copy {
      width: 62%;
      padding-inline: clamp(2rem, 5vw, 3rem);
    }
  }

  @media (width <= 48rem) {
    :root {
      --section-title-padding-top: 32px;
      --section-title-padding-bottom: 24px;
      --site-heading-pad-top: 32px;
      --site-heading-pad-bottom: 24px;
    }

    .site-header__inner {
      min-height: 4rem;
      gap: 1rem;
    }

    .site-logo {
      width: clamp(8.25rem, 42vw, 10rem);
    }

    .header-actions {
      display: contents;
    }

    .menu-toggle {
      position: relative;
      display: block;
      width: 2.75rem;
      min-width: 2.75rem;
      min-height: 2.75rem;
      padding: 0;
      margin-left: auto;
      border: 0;
      border-radius: 0;
      font-size: 0;
    }

    .menu-toggle::before {
      position: absolute;
      top: 50%;
      left: 50%;
      width: 1.5rem;
      height: 2px;
      border-radius: 999px;
      color: #5d5d60;
      background: currentcolor;
      box-shadow:
        0 -0.45rem currentcolor,
        0 0.45rem currentcolor;
      content: "";
      translate: -50% -50%;
    }

    .account-link {
      display: none;
    }

    .site-navigation > .account-link {
      display: inline-flex;
    }

    .site-navigation .more-menu,
    .site-navigation .more-menu__panel {
      display: contents;
    }

    .site-navigation .more-menu > summary {
      display: none;
    }

    .site-navigation .more-menu__panel a {
      display: flex;
      padding: 0.9rem 0;
      border: 0;
      color: #4b4b50;
      background: var(--white);
      font-size: 0.9375rem;
      font-weight: 700;
      line-height: 1;
      text-decoration: none;
      text-transform: uppercase;
    }

    .site-navigation .more-menu__panel a:hover {
      color: #18181b;
      background: var(--white);
    }

    .why-story {
      display: block;
      width: min(100% - (2 * var(--gutter)), var(--content));
      min-height: clamp(38rem, 150vw, 46rem);
      overflow: hidden;
      border-radius: 1.25rem;
    }

    .why-story__image {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      border-radius: inherit;
      object-fit: cover;
      object-position: center top;
      box-shadow: none;
    }

    .why-story__card {
      position: absolute;
      z-index: 2;
      inset: auto 0 0;
      width: 100%;
      min-height: 0;
      padding: 9rem 1.5rem 2.5rem;
      background: linear-gradient(
        to bottom,
        transparent 0%,
        rgb(13 103 187 / 88%) 42%,
        #0d67bb 72%
      );
    }

    .why-story__card h2 {
      max-width: none;
    }

    .why-story__card p {
      margin-top: 1.5rem;
    }

    .why + .crx-pricing-section {
      padding-top: 0;
    }

    .process .site-heading {
      margin-bottom: 0;
    }

    .treatment-timeline {
      padding-left: 2.5rem;
    }

    .treatment-timeline::before {
      left: 0.75rem;
      translate: 0;
    }

    .timeline-step {
      display: flex;
      min-height: 0;
      align-items: stretch;
      margin-bottom: 2.5rem;
      flex-direction: column;
      gap: 0.75rem;
    }

    .timeline-step__dot {
      display: none;
    }

    .timeline-step--right .timeline-step__label,
    .timeline-step--left .timeline-step__label {
      align-self: flex-start;
    }

    .timeline-card {
      padding: 1.4rem 1.25rem;
    }

    .timeline-step--left .timeline-card {
      border-right: 0;
      border-left: 5px solid #1281d1;
    }

    .timeline-step--left .timeline-card::before,
    .timeline-step--right .timeline-card::before {
      top: 1.5rem;
      right: 100%;
      left: auto;
      border: 0;
      border-top: 1rem solid transparent;
      border-right: 1rem solid #1281d1;
      border-bottom: 1rem solid transparent;
    }

    .timeline-card::after {
      position: absolute;
      z-index: 2;
      top: 1.5rem;
      left: -1.75rem;
      width: 1.35rem;
      height: 1.35rem;
      border-radius: 50%;
      background: #16a0e0;
      content: "";
      translate: -50% -50%;
    }

    .method-grid {
      gap: 2.25rem 1rem;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .method-item {
      min-width: 0;
      max-width: none;
      margin-inline: 0;
    }

    .method-item svg {
      width: 3.75rem;
      height: 3.75rem;
      margin-bottom: 1rem;
    }

    .method-item h3 {
      font-size: clamp(1.25rem, 6vw, 1.65rem);
    }

    .method-item p {
      margin-top: 0.75rem;
      font-size: clamp(0.78rem, 3.5vw, 0.95rem);
      line-height: 1.45;
    }

    .glp-banner {
      display: block;
      min-height: clamp(40rem, 160vw, 48rem);
    }

    .glp-banner > img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 66% center;
    }

    .glp-banner__content {
      position: absolute;
      z-index: 1;
      display: flex;
      width: 100%;
      padding: 10rem 1.5rem 2.5rem;
      justify-content: flex-end;
      background: linear-gradient(
        to bottom,
        transparent 0%,
        rgb(8 11 36 / 80%) 42%,
        rgb(8 11 36 / 96%) 72%
      );
      inset: 0;
    }

    .glp-banner__copy {
      width: 100%;
      max-width: none;
      padding-inline: 0;
    }

    .glp-banner__content h2,
    .glp-banner__content p {
      color: var(--white);
    }

    .glp-banner__content .button {
      width: min(100%, 29rem);
      min-width: 0;
      margin-inline: auto;
    }

    .hero {
      min-height: 43rem;
    }

    .hero::after {
      background: linear-gradient(
        90deg,
        rgb(13 14 101 / 94%),
        rgb(13 14 101 / 54%) 70%,
        transparent
      );
    }

    .hero__image {
      object-position: 60% center;
    }

    .hero__copy {
      width: min(100%, 33rem);
    }

    .hero h1 {
      font-size: clamp(2.25rem, 11vw, 3.35rem);
    }

    .hero__lead {
      font-size: 0.98rem;
    }

    .quote-board {
      min-height: 27rem;
      grid-template-columns: 1fr;
    }

    .vial-stage {
      height: 15rem;
    }

    .marquees {
      width: 100%;
    }

    .feature-grid,
    .review-grid {
      grid-template-columns: 1fr;
    }

    .feature-grid article {
      border-right: 0;
      border-bottom: 1px solid rgb(255 255 255 / 18%);
    }

    .faq-layout {
      grid-template-columns: 1fr;
    }

    .footer-inner {
      align-items: flex-start;
      flex-direction: column;
    }

    .footer-inner .social-links,
    .footer-inner .footer-legal {
      width: 100%;
      justify-content: center;
    }

    .social-links {
      gap: 0.75rem;
    }

    .social-links a {
      width: 2.55rem;
      height: 2.55rem;
      flex-basis: 2.55rem;
    }

    .social-links svg {
      width: 1.1rem;
      height: 1.1rem;
    }

    .closing-cta {
      min-height: 28rem;
      padding-inline: 1.25rem;
    }

    .closing-cta__image {
      object-position: 58% center;
    }
  }

  @media (width <= 35rem) {
    .hero__note,
    .hero__disclaimer {
      display: none;
    }

    .button-row .button {
      flex: 1 1 8rem;
    }

    .trust-grid {
      grid-template-columns: 1fr;
    }

    .trust-grid article,
    .trust-grid article:nth-child(2) {
      border-right: 0;
      border-bottom: 1px solid rgb(255 255 255 / 22%);
    }

    .trust-grid article:last-child {
      border-bottom: 0;
    }

    .social-links {
      gap: 0.55rem;
    }

    .social-links a {
      width: 2.35rem;
      height: 2.35rem;
      flex-basis: 2.35rem;
    }

    .social-links svg {
      width: 1rem;
      height: 1rem;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
      scroll-behavior: auto !important;
      transition-duration: 0.01ms !important;
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
    }
  }
}

/* Minimum supported viewport: keep every shared layout usable at 320px. */
@media (width <= 22.5rem) {
  html,
  body {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: clip;
  }

  .container {
    width: calc(100% - 24px);
  }

  .site-header__inner {
    min-height: 3.75rem !important;
    gap: 0.75rem !important;
  }

  .site-logo {
    width: min(9rem, calc(100% - 3.25rem)) !important;
    min-width: 0;
  }

  .header-actions {
    display: contents !important;
  }

  .menu-toggle {
    display: block !important;
    width: 2.75rem !important;
    min-width: 2.75rem !important;
    min-height: 2.75rem !important;
    padding: 0 !important;
    margin-left: auto !important;
    border: 0 !important;
    font-size: 0 !important;
    flex: 0 0 2.75rem;
  }

  .menu-toggle::before {
    width: 1.375rem !important;
    height: 2px !important;
    box-shadow:
      0 -0.42rem currentcolor,
      0 0.42rem currentcolor !important;
  }

  .site-navigation {
    max-height: calc(100svh - 3.75rem);
    padding: 0.75rem 12px 1.25rem !important;
    overflow-y: auto;
  }

  main,
  main > *,
  section,
  article,
  [class*="__inner"],
  [class*="__shell"],
  [class*="__grid"],
  [class*="__content"],
  [class*="__copy"] {
    min-width: 0;
    max-width: 100%;
  }

  h1,
  h2,
  h3,
  p,
  a,
  button,
  li {
    overflow-wrap: anywhere;
  }

  .hero {
    min-height: calc(100svh - 5.25rem);
  }

  .hero__inner {
    width: calc(100% - 24px);
  }

  .hero h1 {
    font-size: clamp(2rem, 11vw, 2.35rem);
  }

  .button-row,
  [class*="__actions"] {
    width: 100%;
    max-width: 100%;
  }

  :where(
    .button,
    .crx-btn,
    .faq-btn,
    .glp-button,
    .hiw-button,
    .hiw-pill,
    .md-btn:not(.md-slider-btn),
    .method-button,
    .pricing-main__button,
    .product-button,
    .safety-button
  ) {
    min-width: min(14rem, 100%) !important;
    padding-inline: 1rem !important;
  }

  .method-grid,
  .md-method-grid {
    gap: 1.5rem 0.75rem;
  }

  .crx-card {
    flex-basis: calc(100% - 24px) !important;
  }
}

/* One vertical rhythm for top-level content sections on every page. */
:root {
  --page-section-space: 32px;
}

main
  > section:not(
    .hero,
    [class$="-hero"],
    .pricing-main,
    .crx-pricing-section,
    .crx-micro-pricing-section,
    .glp-banner,
    .closing-cta
  ) {
  padding-top: var(--page-section-space) !important;
  padding-bottom: var(--page-section-space) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

main > section.why {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

html body main > section.pricing-overview {
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

main > section.pricing-details {
  padding-bottom: 0 !important;
}

main > section.refill-explainer {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

main > section:has(> h2.site-heading):not(
    .glp-fit,
    .glp-look,
    .glp-not,
    .hiw-final-cta,
    .method-comparison,
    .method-track,
    .method-inside,
    .method-audience,
    .md-philosophy,
    .md-who,
    .cta-band
  ),
main
  > section:has(> :first-child > h2.site-heading):not(
    .glp-fit,
    .glp-look,
    .glp-not,
    .hiw-final-cta,
    .method-comparison,
    .method-track,
    .method-inside,
    .method-audience,
    .md-philosophy,
    .md-who,
    .cta-band
  ),
main
  > section:has(> header > h2.site-heading):not(
    .glp-fit,
    .glp-look,
    .glp-not,
    .hiw-final-cta,
    .method-comparison,
    .method-track,
    .method-inside,
    .method-audience,
    .md-philosophy,
    .md-who,
    .cta-band
  ) {
  padding-top: 0 !important;
}

main
  > section:has(> :last-child > h2.site-heading):not(
    .control-method,
    .md-cards-wrap,
    .glp-fit,
    .glp-look,
    .glp-not,
    .faq-final,
    .method-comparison,
    .method-track,
    .method-inside,
    .method-audience,
    .md-philosophy,
    .md-who,
    .cta-band
  ) {
  padding-bottom: 0 !important;
}

main
  > section:has(+ section > h2.site-heading):not(
    .control-method,
    .pricing-main,
    .method-hero,
    .hiw-hero,
    .home-trust,
    .crx-pricing-section,
    .glp-fit,
    .glp-look,
    .glp-not,
    .glp-help,
    .method-comparison,
    .method-track,
    .method-inside,
    .method-audience,
    .md-philosophy,
    .md-who,
    .cta-band
  ),
main
  > section:has(+ section > :first-child > h2.site-heading):not(
    .control-method,
    .pricing-main,
    .method-hero,
    .hiw-hero,
    .home-trust,
    .crx-pricing-section,
    .glp-fit,
    .glp-look,
    .glp-not,
    .glp-help,
    .method-comparison,
    .method-track,
    .method-inside,
    .method-audience,
    .md-philosophy,
    .md-who,
    .cta-band
  ),
main
  > section:has(+ section > header > h2.site-heading):not(
    .control-method,
    .pricing-main,
    .method-hero,
    .hiw-hero,
    .home-trust,
    .crx-pricing-section,
    .glp-fit,
    .glp-look,
    .glp-not,
    .glp-help,
    .method-comparison,
    .method-track,
    .method-inside,
    .method-audience,
    .md-philosophy,
    .md-who,
    .cta-band
  ) {
  padding-bottom: 0 !important;
}

main > section:has(+ section h2.site-heading):has(> :is(a, button):last-child):not(.method-track),
main > section:has(+ section h2.site-heading):has(> :last-child > :is(a, button):last-child):not(.method-track),
main > section:has(+ section h2.site-heading):has(> .faq-list:last-child),
main > section:has(+ section h2.site-heading):has(> :last-child > .faq-item:last-child),
html body section:has(+ section > h2.site-heading):has(> :is(a, button):last-child):not(.method-track),
html body section:has(+ section > :first-child > h2.site-heading):has(> :is(a, button):last-child):not(.method-track) {
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

.crx-pricing-section + .process {
  padding-top: 0 !important;
}

main > .closing-cta {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

html body main > section.home-faqs {
  padding-bottom: 0 !important;
}

html body .home-faqs-shell {
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .home-faqs-shell > a.button {
  display: flex !important;
  width: fit-content !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

html body main > .closing-cta {
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
  place-items: start center !important;
}

html body .closing-cta h2.site-heading {
  padding-top: var(--site-heading-pad-top) !important;
}

html body .closing-cta .button {
  margin-top: 0 !important;
  margin-bottom: var(--site-heading-pad-bottom) !important;
}

html body .social-links a {
  text-decoration: none !important;
}

@media (width >= 64rem) {
  html body .footer-inner {
    gap: 0.75rem;
  }

  html body .footer-legal {
    padding-top: 0.75rem;
  }
}

/* Beat html body p { --site-body-size } so legal line stays 12px */
html body .footer-legal,
html body .footer-legal p,
html body .footer-legal a,
html body .footer-legal span {
  font-size: 12px !important;
  line-height: 1.5 !important;
}

/* Samples keeps the footer inside <main>; beat main p body-size rule */
html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  main
  .footer-legal
  :is(p, a, span) {
  font-size: 12px !important;
  line-height: 1.5 !important;
}

@media (width <= 48rem) {
  :root {
    --page-section-space: 20px;
  }
}

/* Keep paired CTAs together; their parent controls centering and spacing. */
html body :is(
  .home-main-actions,
  .faq-ctas,
  .method-hero__actions,
  .method-final__actions,
  .safety-hero__actions,
  .safety-contact__actions,
  .hiw-final-cta__actions,
  .glp-final__actions,
  .glp-hero__actions,
  .md-hero-ctas,
  .md-final-ctas
) {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.75rem !important;
}

html body .home-main-actions,
html body .glp-hero__actions {
  justify-content: flex-start !important;
}

/* Full-width CTAs only inside treatment pricing cards. */
body :is(.crx-pricing-section, .crx-micro-pricing-section) .crx-card > .crx-card-actions {
  display: flex !important;
  width: calc(100% - 24px) !important;
  min-width: 0 !important;
  max-width: none !important;
  margin-right: auto !important;
  margin-left: auto !important;
  align-self: center !important;
}

body :is(.crx-pricing-section, .crx-micro-pricing-section) .crx-card > .crx-card-actions > .button {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  align-self: stretch !important;
  flex: 0 0 auto !important;
}

/*
 * Unified WordPress-block heading contract.
 *
 * Class: h2.site-heading
 * A following description <p> is part of the same heading group:
 *   50px above the title, 40px after the last description.
 * Title-only headings keep 50px / 40px on the h2 itself.
 *
 * Desktop  (≥992px): 50px top / 40px bottom
 * Tablet   (768–991px): 40px top / 32px bottom
 * Mobile   (≤767px): 32px top / 24px bottom
 */
:root {
  --site-heading-pad-top: 50px;
  --site-heading-pad-bottom: 40px;
  --site-h2-size: clamp(2rem, 4vw, 3.25rem);
  --site-body-size: 1.0625rem;
}

html body {
  font-family: Inter, Arial, sans-serif;
  color: var(--ink);
}

html body h2 {
  font-family: inherit;
  font-size: var(--site-h2-size);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.12;
}

html body p {
  font-family: inherit;
  font-size: var(--site-body-size);
  line-height: 1.65;
}

/*
 * Shared WordPress button.
 * Use: <a class="button button--primary"> or <button class="button button--primary">
 * Variants: --primary (navy), --blue, --light (white), --outline, --left, --big
 */
html body :is(a.button, button.button) {
  box-sizing: border-box;
  display: inline-flex !important;
  width: fit-content !important;
  min-width: min(14rem, 100%) !important;
  min-height: 3.25rem !important;
  padding: 0.75rem 1.5rem !important;
  align-items: center !important;
  justify-content: center !important;
  border: 2px solid var(--navy) !important;
  border-radius: var(--pill) !important;
  color: var(--white) !important;
  background: var(--navy) !important;
  font-family: inherit !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  transition: 0.2s ease;
}

html body :is(a.button, button.button):not(.button--left):not(
    :is(
        .home-main-actions,
        .faq-ctas,
        .method-hero__actions,
        .method-final__actions,
        .safety-hero__actions,
        .safety-contact__actions,
        .hiw-final-cta__actions,
        .glp-final__actions,
        .glp-hero__actions,
        .md-hero-ctas,
        .md-final-ctas,
        .not-eligible-actions
      )
      > *
  ) {
  margin-right: auto !important;
  margin-left: auto !important;
}

html body
  :is(
    .home-main-actions,
    .faq-ctas,
    .method-hero__actions,
    .method-final__actions,
    .safety-hero__actions,
    .safety-contact__actions,
    .hiw-final-cta__actions,
    .glp-final__actions,
    .glp-hero__actions,
    .md-hero-ctas,
    .md-final-ctas,
    .not-eligible-actions
  )
  > :is(a.button, button.button) {
  margin-top: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
}

html body :is(a.button, button.button):hover {
  border-color: var(--blue) !important;
  background: var(--blue) !important;
  color: var(--white) !important;
}

html body :is(a.button, button.button).button--primary {
  border-color: var(--navy) !important;
  background: var(--navy) !important;
  color: var(--white) !important;
}

html body :is(a.button, button.button).button--primary:hover {
  border-color: var(--blue) !important;
  background: var(--blue) !important;
  color: var(--white) !important;
}

html body :is(a.button, button.button).button--blue {
  border-color: var(--blue) !important;
  background: var(--blue) !important;
  color: var(--white) !important;
}

html body :is(a.button, button.button).button--blue:hover {
  border-color: var(--navy) !important;
  background: var(--navy) !important;
}

html body :is(a.button, button.button).button--light {
  border-color: var(--white) !important;
  background: var(--white) !important;
  color: var(--navy) !important;
}

html body :is(a.button, button.button).button--light:hover {
  border-color: var(--navy) !important;
  background: var(--navy) !important;
  color: var(--white) !important;
}

html body :is(a.button, button.button).button--outline {
  border-color: var(--blue) !important;
  background: #fff !important;
  color: var(--navy) !important;
}

html body :is(a.button, button.button).button--outline:hover {
  border-color: var(--navy) !important;
  background: var(--navy) !important;
  color: var(--white) !important;
}

html body :is(a.button, button.button).button--left {
  margin-right: 0 !important;
  margin-left: 0 !important;
  align-self: flex-start !important;
  justify-self: start !important;
}

/*
 * Larger CTA size + top spacing.
 * Opt in explicitly — do not recreate via section context selectors.
 */
html body :is(a.button, button.button).button--big {
  margin-top: 40px !important;
  margin-bottom: 0 !important;
  padding: 0.875rem 1.75rem !important; /* 14px 28px */
}

/*
 * Shared blue photo-hero.
 * How it works, Pricing, Control Method, Safety, FAQs, Microdosing.
 * Square photo, same type, overlap, and blue-band height.
 */
html body
  :is(
    .hiw-hero,
    .pricing-main,
    .method-hero,
    .safety-hero,
    .faq-hero,
    .md-hero
  ) {
  position: relative !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-height: 0 !important;
  margin-top: 86px !important;
  margin-right: calc(50% - 50vw) !important;
  margin-bottom: 0 !important;
  margin-left: calc(50% - 50vw) !important;
  padding-top: 0 !important;
  padding-bottom: 40px !important;
  overflow: visible !important;
  color: #fff !important;
  background: #246bd7 !important;
}

html body
  :is(
    .method-hero__band,
    .safety-hero__band,
    .faq-hero-band,
    .md-hero-band,
    .pricing-main__lines
  ) {
  display: none !important;
}

html body
  :is(.hiw-hero, .method-hero, .safety-hero, .faq-hero, .md-hero)::before,
html body
  :is(.hiw-hero, .method-hero, .safety-hero, .faq-hero, .md-hero)::after,
html body .pricing-main::before,
html body .pricing-main::after,
html body
  :is(
    .hiw-hero__inner,
    .pricing-main__shell,
    .method-hero__inner,
    .safety-hero__inner,
    .faq-hero-grid,
    .md-hero-grid
  )::after {
  position: absolute !important;
  z-index: 0 !important;
  border: 1px solid rgb(255 255 255 / 42%) !important;
  border-radius: 50% !important;
  background: none !important;
  box-shadow: none !important;
  content: "" !important;
  pointer-events: none !important;
  display: block !important;
  inset: auto !important;
  transform: none !important;
}

html body
  :is(.hiw-hero, .method-hero, .safety-hero, .faq-hero, .md-hero)::before,
html body .pricing-main::before {
  right: 3% !important;
  bottom: -62% !important;
  width: 54vw !important;
  height: 54vw !important;
}

html body
  :is(.hiw-hero, .method-hero, .safety-hero, .faq-hero, .md-hero)::after,
html body .pricing-main::after {
  top: 9% !important;
  right: -3.5% !important;
  width: 22vw !important;
  height: 22vw !important;
  border: 2px solid rgb(255 255 255 / 55%) !important;
}

html body
  :is(
    .hiw-hero__inner,
    .pricing-main__shell,
    .method-hero__inner,
    .safety-hero__inner,
    .faq-hero-grid,
    .md-hero-grid
  )::after {
  right: 27% !important;
  bottom: -3% !important;
  width: 26vw !important;
  height: 26vw !important;
}

html body
  :is(
    .hiw-hero__inner,
    .pricing-main__shell,
    .method-hero__inner,
    .safety-hero__inner,
    .faq-hero-grid,
    .md-hero-grid
  ) {
  display: grid !important;
  grid-template-columns: minmax(440px, 570px) 1fr !important;
  gap: clamp(64px, 7vw, 112px) !important;
  align-items: start !important;
  width: min(1290px, calc(100% - 64px)) !important;
  max-width: 1290px !important;
  min-height: 610px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 1;
}

html body
  :is(
    .hiw-hero__media,
    .pricing-main__visual,
    .method-hero__media,
    .safety-hero__media,
    .faq-hero-media,
    .md-hero-media
  ) {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  align-self: start !important;
  order: 0 !important;
  z-index: 1;
  margin-top: -62px !important;
  padding-bottom: 0 !important;
}

html body
  :is(
    .hiw-hero__media img,
    .pricing-main__image,
    .method-hero__media img,
    .safety-hero__media img,
    .faq-hero-media img,
    .md-hero-media img
  ) {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: 1 !important;
  border-radius: 18px !important;
  box-shadow: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

html body :is(.hiw-hero__media, .pricing-main__visual) > .button {
  position: static !important;
  transform: none !important;
  margin: 1.25rem 0 0 !important;
}

html body
  :is(.method-hero__media, .safety-hero__media, .faq-hero-media, .md-hero-media)
  > :is(.method-hero__actions, .safety-hero__actions, .faq-ctas, .md-hero-ctas) {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.75rem !important;
  width: 100% !important;
  margin-top: 1.25rem !important;
}

html body
  :is(.method-hero__media, .safety-hero__media, .faq-hero-media, .md-hero-media)
  > :is(.method-hero__actions, .safety-hero__actions, .faq-ctas, .md-hero-ctas)
  > :is(a.button, button.button) {
  width: fit-content !important;
  min-width: min(14rem, 100%) !important;
  max-width: none !important;
  flex: 0 0 auto !important;
}

html body
  :is(
    .hiw-hero__copy,
    .pricing-main__content,
    .method-hero__content,
    .safety-hero__content,
    .faq-hero-copy,
    .md-hero-copy
  ) {
  display: block !important;
  align-self: center !important;
  order: 0 !important;
  z-index: 1;
  padding: 38px 0 54px !important;
  text-align: left !important;
}

html body
  :is(
    .hiw-hero__copy h1,
    .pricing-main__content h1,
    .method-hero__content h1,
    .safety-hero__content h1,
    .faq-hero-copy h1,
    .faq-hero h1,
    .md-hero-copy h1
  ) {
  margin: 0 0 28px !important;
  color: #fff !important;
  font-size: clamp(30px, 2.8vw, 42px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.15 !important;
  white-space: normal !important;
  text-align: left !important;
}

html body
  :is(
    .hiw-hero__columns,
    .pricing-main__copy,
    .method-hero__copy,
    .safety-hero__copy,
    .faq-hero-columns,
    .md-hero-columns
  ) {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  max-width: 38rem !important;
  margin: 0 !important;
  text-align: left !important;
}

html body
  :is(
    .hiw-hero__columns p,
    .pricing-main__copy p,
    .method-hero__copy p,
    .safety-hero__copy p,
    .faq-hero-columns p,
    .md-hero-columns p
  ) {
  max-width: none !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(17px, 1.55vw, 22px) !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

html body .md-hero-copy :is(.md-hero-note, .md-trust) {
  max-width: 38rem !important;
  margin: 1.25rem 0 0 !important;
  font-size: clamp(15px, 1.3vw, 18px) !important;
  text-align: left !important;
}

@media (width <= 900px) {
  html body
    :is(
      .hiw-hero,
      .pricing-main,
      .method-hero,
      .safety-hero,
      .faq-hero,
      .md-hero
    ) {
    margin-top: 34px !important;
  }

  html body
    :is(
      .hiw-hero__inner,
      .pricing-main__shell,
      .method-hero__inner,
      .safety-hero__inner,
      .faq-hero-grid,
      .md-hero-grid
    ) {
    grid-template-columns: minmax(280px, 42%) 1fr !important;
    gap: 36px !important;
    min-height: 0 !important;
  }

  html body
    :is(
      .hiw-hero__media,
      .pricing-main__visual,
      .method-hero__media,
      .safety-hero__media,
      .faq-hero-media,
      .md-hero-media
    ) {
    display: flex !important;
    margin-top: -28px !important;
  }

  html body
    :is(
      .hiw-hero__copy h1,
      .pricing-main__content h1,
      .method-hero__content h1,
      .safety-hero__content h1,
      .faq-hero-copy h1,
      .md-hero-copy h1
    ) {
    margin-bottom: 28px !important;
  }

  html body
    :is(
      .hiw-hero__columns,
      .pricing-main__copy,
      .method-hero__copy,
      .safety-hero__copy,
      .faq-hero-columns,
      .md-hero-columns
    ) {
    gap: 12px !important;
  }
}

@media (width <= 700px) {
  html body
    :is(
      .hiw-hero,
      .pricing-main,
      .method-hero,
      .safety-hero,
      .faq-hero,
      .md-hero
    ) {
    margin-top: 0 !important;
    padding: 32px 0 44px !important;
    overflow: hidden !important;
  }

  html body
    :is(
      .hiw-hero__inner,
      .pricing-main__shell,
      .method-hero__inner,
      .safety-hero__inner,
      .faq-hero-grid,
      .md-hero-grid
    ) {
    display: grid !important;
    width: min(100% - 32px, 560px) !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    min-height: 0 !important;
  }

  html body
    :is(
      .hiw-hero__media,
      .pricing-main__visual,
      .method-hero__media,
      .safety-hero__media,
      .faq-hero-media,
      .md-hero-media
    ) {
    display: flex !important;
    margin-top: 0 !important;
    padding-bottom: 0 !important;
  }

  html body
    :is(
      .hiw-hero__copy,
      .pricing-main__content,
      .method-hero__content,
      .safety-hero__content,
      .faq-hero-copy,
      .md-hero-copy
    ) {
    padding: 0 !important;
    text-align: left !important;
  }

  html body
    :is(
      .hiw-hero__copy h1,
      .pricing-main__content h1,
      .method-hero__content h1,
      .safety-hero__content h1,
      .faq-hero-copy h1,
      .md-hero-copy h1
    ) {
    margin-bottom: 20px !important;
    text-align: left !important;
  }

  html body
    :is(
      .hiw-hero__columns,
      .pricing-main__copy,
      .method-hero__copy,
      .safety-hero__copy,
      .faq-hero-columns,
      .md-hero-columns
    ) {
    max-width: none !important;
    margin: 0 !important;
    gap: 12px !important;
  }

  html body
    :is(
      .hiw-hero__columns p,
      .pricing-main__copy p,
      .method-hero__copy p,
      .safety-hero__copy p,
      .faq-hero-columns p,
      .md-hero-columns p
    ) {
    max-width: none !important;
    text-align: left !important;
  }
}

html body .home-main-actions :is(a.button, button.button) {
  width: auto !important;
  margin: 0 !important;
  align-self: flex-start !important;
}

body :is(.crx-pricing-section, .crx-micro-pricing-section) .crx-card-actions > .button {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  align-self: stretch !important;
}

html body h2.site-heading {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: var(--site-heading-pad-top) !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
  line-height: 1.12;
}

html body h2.site-heading:not(:first-child) {
  padding-top: 0 !important;
}

html body .crx-header h2.site-heading {
  padding-top: var(--site-heading-pad-top) !important;
}

html body :is(a, button) + h2.site-heading {
  padding-top: var(--site-heading-pad-top) !important;
}

html body h2.site-heading + :is(a, button) {
  margin-top: var(--site-heading-pad-bottom) !important;
}

/* Keep FAQ → CTA gap on the list, not by enlarging the shared button.
 * Skip when the following CTA opts into .button--big (that class owns the 40px top margin). */
html body
  :is(
    .faq-list,
    .hiw-faqs__list,
    .glp-faqs__list,
    .method-faqs__list,
    .pricing-faqs__list
  ):not(:has(+ .button--big)) {
  margin-bottom: 40px !important;
}

html body h2.site-heading:has(+ p) {
  padding-bottom: 0 !important;
}

html body h2.site-heading + p {
  margin-top: 10px !important;
  margin-bottom: 0 !important;
}

html body h2.site-heading + p:has(+ p) {
  margin-bottom: 10px !important;
}

html body h2.site-heading + p + p,
html body h2.site-heading + p + p + p,
html body h2.site-heading + p + p + p + p,
html body h2.site-heading + p + p + p + p + p,
html body h2.site-heading + p + p + p + p + p + p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

html body h2.site-heading + p:not(:has(+ p)):not(:has(+ :is(ul, ol))),
html body h2.site-heading + p + p:not(:has(+ p)):not(:has(+ :is(ul, ol))),
html body h2.site-heading + p + p + p:not(:has(+ p)):not(:has(+ :is(ul, ol))),
html body h2.site-heading + p + p + p + p:not(:has(+ p)):not(:has(+ :is(ul, ol))),
html body h2.site-heading + p + p + p + p + p:not(:has(+ p)):not(:has(+ :is(ul, ol))),
html body h2.site-heading + p + p + p + p + p + p:not(:has(+ p)):not(:has(+ :is(ul, ol))) {
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body h2.site-heading + p:not(:has(+ p)):not(:has(+ :is(ul, ol))) + *,
html body h2.site-heading + p + p:not(:has(+ p)):not(:has(+ :is(ul, ol))) + *,
html body h2.site-heading + p + p + p:not(:has(+ p)):not(:has(+ :is(ul, ol))) + *,
html body h2.site-heading + p + p + p + p:not(:has(+ p)):not(:has(+ :is(ul, ol))) + *,
html body h2.site-heading + p + p + p + p + p:not(:has(+ p)):not(:has(+ :is(ul, ol))) + *,
html body h2.site-heading + p + p + p + p + p + p:not(:has(+ p)):not(:has(+ :is(ul, ol))) + * {
  margin-top: 0 !important;
}

html body .site-heading-copy > h2.site-heading + p:last-of-type {
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .site-heading-copy + * {
  margin-top: 0 !important;
}

html body main section.section-pad:has(h2.site-heading) {
  padding-top: 0 !important;
}

html body :is(
  .why-story__card,
  .glp-banner__copy,
  .product-card,
  .journal-card,
  .products-sidebar,
  .selected-card,
  .recommendation-heading,
  .not-eligible-card,
  .not-eligible-note,
  .micro-consent-copy,
  .micro-medication-consent,
  .quiz-step,
  .safety-compounded__notice
)
  h2.site-heading {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

html body .recommendation-section .recommendation-heading h2.site-heading {
  padding-top: 50px !important;
  padding-bottom: 0 !important;
}

html body :is(
  .why-story__card,
  .glp-banner__copy,
  .product-card,
  .journal-card,
  .products-sidebar,
  .selected-card,
  .recommendation-heading,
  .not-eligible-card,
  .not-eligible-note,
  .micro-consent-copy,
  .micro-medication-consent,
  .quiz-step,
  .safety-facts,
  .safety-compounded__notice
)
  h2.site-heading
  + p,
html body :is(
  .why-story__card,
  .glp-banner__copy,
  .product-card,
  .journal-card,
  .products-sidebar,
  .selected-card,
  .recommendation-heading,
  .not-eligible-card,
  .not-eligible-note,
  .micro-consent-copy,
  .micro-medication-consent,
  .quiz-step,
  .safety-facts,
  .safety-compounded__notice
)
  h2.site-heading
  + p
  + p,
html body :is(
  .why-story__card,
  .glp-banner__copy,
  .product-card,
  .journal-card,
  .products-sidebar,
  .selected-card,
  .recommendation-heading,
  .not-eligible-card,
  .not-eligible-note,
  .micro-consent-copy,
  .micro-medication-consent,
  .quiz-step,
  .safety-facts,
  .safety-compounded__notice
)
  h2.site-heading
  + p
  + p
  + p {
  padding-bottom: 0 !important;
}

@media (max-width: 991px) {
  :root {
    --site-heading-pad-top: 40px;
    --site-heading-pad-bottom: 32px;
  }
}

@media (max-width: 767px) {
  :root {
    --site-heading-pad-top: 32px;
    --site-heading-pad-bottom: 24px;
  }

  /* Compact mobile header — unlayered so it beats @layer (width <= 48rem). */
  .site-header__inner {
    min-height: 4rem !important;
    gap: 0.75rem !important;
  }

  .site-logo {
    width: clamp(8.25rem, 42vw, 10rem) !important;
  }

  .menu-toggle {
    width: 2.75rem !important;
    min-width: 2.75rem !important;
    min-height: 2.75rem !important;
  }

  .menu-toggle::before {
    width: 1.5rem !important;
    height: 2px !important;
    box-shadow:
      0 -0.45rem currentcolor,
      0 0.45rem currentcolor !important;
  }

  /* WordPress-ported mobile sticky CTA (injected on selected pages). */
  .crx-sticky-cta {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    padding: 10px 14px 14px;
    background: linear-gradient(
      to top,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 0.94) 40%,
      rgba(255, 255, 255, 0) 100%
    );
    text-align: center;
  }

  body.crx-menu-open .crx-sticky-cta,
  body:has(.site-navigation.is-open) .crx-sticky-cta {
    display: none !important;
  }

  .crx-sticky-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 300px;
    height: 48px;
    margin: 0 auto;
    border-radius: 999px;
    background: #171992;
    color: #fff !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none !important;
    box-shadow: 0 6px 18px rgba(23, 25, 146, 0.18);
  }

  .crx-sticky-btn:hover,
  .crx-sticky-btn:focus {
    color: #fff !important;
    text-decoration: none !important;
  }

  .crx-stock-text {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 10px;
    margin-bottom: 4px;
    font-size: 10px;
    font-weight: 500;
    color: #4b5563;
    line-height: 1.3;
    white-space: nowrap;
  }

  .crx-stock-dot {
    width: 10px;
    height: 10px;
    min-width: 10px;
    min-height: 10px;
    border-radius: 50%;
    background: #34c759;
    box-shadow: 0 0 6px rgba(52, 199, 89, 0.35);
    flex-shrink: 0;
    display: block;
  }

  body:has(.crx-sticky-cta) {
    padding-bottom: 95px;
  }
}

html body a.button.button--left {
  display: inline-flex !important;
  width: fit-content !important;
  margin-top: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  align-self: flex-start !important;
  justify-self: start !important;
  float: none;
}

@media (min-width: 768px) {
  .crx-sticky-cta {
    display: none !important;
  }
}

/* ========================================================================
   PAGE STYLES INDEX
   Search any label below (example: PAGE: HOME) to jump to that block.

   PAGE: ACCOUNT PORTAL     — account, orders, addresses, refills, my-plan,
                              resources, weekly meal guide, account details
   PAGE: ACCOUNT            — account rebuild placeholder
   PAGE: ADMIN              — admin dashboard and admin login
   PAGE: BLOG               — blog listing and article pages
   PAGE: CHECKOUT           — checkout
   PAGE: FAQS               — faqs
   PAGE: GLP-1 NOT ELIGIBLE — glp-1 not eligible
   PAGE: HOME               — index.html
   PAGE: HOW IT WORKS       — how-it-works
   PAGE: SAFETY INFO        — important safety information
   PAGE: MICRODOSING QUIZ   — microdosing-quiz
   PAGE: MICRODOSING INELIGIBLE — microdosing-not-eligible
   PAGE: MICRODOSING        — microdosing
   PAGE: PRICING            — pricing
   PAGE: PRODUCTS           — products listing and product detail
   PAGE: QUIZ               — quiz
   PAGE: CONTROL METHOD     — the-control-method
   PAGE: WHY GLP-1          — why-glp-1
   ======================================================================== */

/* ========================================================================
   PAGE: ACCOUNT PORTAL
   Search: PAGE: ACCOUNT PORTAL / account-portal.css
   Used by: account, orders, addresses, refills, my-plan, resources,
            weekly-meal-guide, account-details
   ======================================================================== */
@layer portal {
  .portal-page { background: #f5f8fd; color: #102b52; }
  .portal-page .site-header { background: #fff; }
  .portal-main { width: min(94rem, calc(100% - 2rem)); margin: 2.5rem auto 5rem; }
  .portal-shell { display: grid; align-items: start; gap: 2.75rem; grid-template-columns: 18rem minmax(0, 1fr); }
  .portal-sidebar { position: sticky; top: 1.5rem; padding: 1rem; border: 1px solid #e0e9f5; border-radius: 1.25rem; background: #fff; box-shadow: 0 0.75rem 2.5rem rgb(15 42 77 / 6%); }
  .portal-profile { display: flex; align-items: center; gap: 0.875rem; padding: 0.75rem 0.75rem 1.25rem; border-bottom: 1px solid #e8eef7; }
  .portal-avatar { display: grid; width: 3rem; height: 3rem; flex: 0 0 auto; border-radius: 50%; color: #fff; background: linear-gradient(135deg, #171992, #168fc2); font-weight: 900; place-items: center; }
  .portal-profile strong, .portal-profile span { display: block; }
  .portal-profile span { margin-top: 0.15rem; color: #73829a; font-size: 0.78rem; }
  .portal-nav { display: grid; gap: 0.3rem; padding-top: 1rem; }
  .portal-nav a { display: flex; min-height: 3rem; align-items: center; gap: 0.75rem; padding: 0.7rem 0.85rem; border-radius: 0.625rem; color: #344b6a; font-size: 0.9rem; font-weight: 750; text-decoration: none; }
  .portal-nav a:hover { color: #0646a8; background: #f3f7ff; }
  .portal-nav a.is-current { color: #fff; background: linear-gradient(135deg, #171992, #1650c8); box-shadow: 0 0.6rem 1.4rem rgb(23 25 146 / 18%); }
  .portal-nav-icon { width: 1.35rem; text-align: center; }
  .portal-content { min-width: 0; }
  .portal-hero, .portal-card { border: 1px solid #e0e9f5; border-radius: 1.25rem; background: #fff; box-shadow: 0 0.75rem 2.5rem rgb(15 42 77 / 5%); }
  .portal-hero { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: clamp(1.5rem, 3vw, 2.25rem); margin-bottom: 1.5rem; }
  .portal-hero h1 { margin: 0 0 0.55rem; color: #102b52; font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1; }
  .portal-hero p { max-width: 44rem; margin: 0; color: #5c6d86; line-height: 1.65; }
  .portal-hero-icon { display: grid; width: 5.5rem; height: 5.5rem; flex: 0 0 auto; border-radius: 50%; background: #eef4ff; font-size: 2.5rem; place-items: center; }
  .portal-grid { display: grid; gap: 1.5rem; margin-bottom: 1.5rem; }
  .portal-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .portal-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .portal-card { padding: clamp(1.35rem, 2.5vw, 2rem); }
  .portal-card-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
  .portal-card h2, .portal-card h3 { margin: 0 0 0.75rem; color: #102b52; }
  .portal-card h2 { font-size: 1.75rem; }
  .portal-card h3 { font-size: 1.25rem; }
  .portal-card p { margin: 0.45rem 0 1rem; color: #5c6d86; line-height: 1.65; }
  .portal-button { display: inline-flex; min-height: 2.85rem; align-items: center; justify-content: center; padding: 0.7rem 1.15rem; border: 1px solid #0646a8; border-radius: 0.5rem; color: #fff; background: #0646a8; font-size: 0.875rem; font-weight: 800; text-decoration: none; cursor: pointer; }
  .portal-button:hover { color: #fff; background: #1650c8; }
  .portal-button--outline { color: #0646a8; background: #fff; }
  .portal-badge { display: inline-flex; padding: 0.4rem 0.7rem; border-radius: 999px; color: #18763a; background: #e4f7e9; font-size: 0.75rem; font-weight: 800; }
  .portal-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 1.25rem 0; }
  .portal-tags span { padding: 0.45rem 0.65rem; border-radius: 999px; color: #1650c8; background: #eef4ff; font-size: 0.75rem; font-weight: 750; }
  .portal-actions { display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); }
  .portal-actions a { padding: 1rem; border: 2px solid #d8e5fa; border-radius: 0.75rem; color: #1650c8; background: #fff; font-weight: 800; text-align: center; text-decoration: none; }
  .portal-actions a:hover { color: #fff; background: #1650c8; }
  .portal-detail { display: flex; align-items: center; gap: 2rem; }
  .portal-detail-icon { display: grid; width: 8rem; height: 8rem; flex: 0 0 auto; border-radius: 50%; background: #f1f6ff; font-size: 3.5rem; place-items: center; }
  .portal-notice { display: flex; gap: 1rem; padding: 1.2rem; margin: 1.25rem 0; border-radius: 0.875rem; color: #344b6a; background: #f3f7ff; line-height: 1.6; }
  .portal-table-wrap { overflow-x: auto; }
  .portal-table { width: 100%; border-collapse: collapse; }
  .portal-table th, .portal-table td { padding: 0.9rem; border-bottom: 1px solid #e5edf6; color: #465b78; text-align: left; }
  .portal-table th { color: #102b52; background: #f5f8fd; }
  .portal-form { display: grid; gap: 1.1rem; }
  .portal-form-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .portal-form label { display: grid; gap: 0.45rem; color: #334a69; font-size: 0.85rem; font-weight: 800; }
  .portal-form input, .portal-form select, .portal-form textarea { width: 100%; min-height: 3rem; padding: 0.75rem 0.85rem; border: 1px solid #d7e3ef; border-radius: 0.5rem; color: #102b52; background: #fff; font: inherit; }
  .portal-form textarea { min-height: 8rem; resize: vertical; }
  .portal-empty { padding: 3rem 1rem; color: #73829a; text-align: center; }
  .portal-resource-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .portal-resource { min-height: 14rem; padding: 1.5rem; border: 1px solid #e4ebf5; border-radius: 1rem; background: #fff; }
  .portal-resource span { font-size: 2rem; }
  .portal-resource a { color: #1650c8; font-weight: 800; text-decoration: none; }
  @media (max-width: 68rem) { .portal-shell { grid-template-columns: 1fr; } .portal-sidebar { position: static; } .portal-nav { display: flex; overflow-x: auto; } .portal-nav a { flex: 0 0 auto; } .portal-grid--3, .portal-resource-grid { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 44rem) { .portal-main { width: min(100% - 1rem, 94rem); margin-top: 0.5rem; } .portal-hero { align-items: flex-start; } .portal-hero-icon { width: 3.5rem; height: 3.5rem; font-size: 1.6rem; } .portal-grid--3, .portal-grid--2, .portal-resource-grid, .portal-actions, .portal-form-grid { grid-template-columns: 1fr; } .portal-detail { align-items: flex-start; flex-direction: column; } }

  /* Account dashboard layout */
  .portal-page { background: #fff; }
  .portal-page > .site-header { display: none; }
  .portal-main { width: min(1320px, calc(100% - 64px)); margin: 46px auto 80px; }
  .portal-shell { gap: 64px; grid-template-columns: 220px minmax(0, 1fr); }
  .portal-sidebar { top: 32px; padding: 0; border: 0; border-radius: 0; box-shadow: none; }
  .portal-nav { gap: 0; padding: 0; }
  .portal-nav a { min-height: 73px; gap: 22px; padding: 0 22px; border-bottom: 1px solid #e5e9ef; border-radius: 0 0 8px 8px; color: #102f59; font-size: 16px; font-weight: 500; }
  .portal-nav a.is-current { border: 0; border-radius: 8px 8px 0 0; color: #fff; background: #1248b5; box-shadow: none; }
  .portal-nav-icon { width: 32px; font-size: 21px; }
  .portal-hero, .portal-card { border-color: #d7e2fb; border-radius: 14px; box-shadow: 0 8px 24px rgb(16 47 89 / 5%); }
  .portal-hero { min-height: 142px; padding: 28px 36px; margin-bottom: 30px; }
  .portal-hero h1 { margin-bottom: 10px; font-size: clamp(30px, 3vw, 38px); line-height: 1.12; }
  .portal-hero p, .portal-card p { color: #17365f; font-size: 16px; }
  .portal-grid { gap: 24px; margin-bottom: 24px; }
  .portal-card { padding: 26px; }
  .portal-card--action { display: flex; min-height: 390px; flex-direction: column; }
  .portal-grid--2 .portal-card--action { min-height: 410px; }
  .portal-card--action > .portal-button { width: 100%; margin-top: auto; }
  .portal-card-head > span { display: grid; width: 54px; height: 54px; flex: 0 0 auto; border-radius: 50%; background: #edf3ff; color: #0d53bd; place-items: center; }
  .portal-card h2 { font-size: 25px; line-height: 1.2; }
  .portal-card h3 { font-size: 16px; }
  .portal-button { min-height: 56px; padding: 12px 24px; border-color: #0f4eb7; border-radius: 5px; background: #0f4eb7; box-shadow: 0 6px 12px rgb(15 78 183 / 20%); font-size: 16px; }
  .portal-button:link, .portal-button:visited { color: #fff; }
  .portal-button.portal-button--outline { color: #0f4eb7; background: #fff; box-shadow: none; }
  .portal-button.portal-button--outline:link, .portal-button.portal-button--outline:visited { color: #0f4eb7; }
  .portal-button.portal-button--outline:hover, .portal-button.portal-button--outline:focus-visible { color: #fff; background: #0f4eb7; }
  .portal-hero > .portal-button { width: auto; min-width: 157px; }
  .portal-badge { color: #168c43; background: #d9f6df; font-size: 14px; }
  .portal-tags span { border-radius: 5px; color: #0e4ba6; background: #f1f5fa; font-size: 14px; }
  .portal-method { display: grid; margin: 30px 0; grid-template-columns: repeat(4, 1fr); }
  .portal-method > span { display: grid; min-height: 124px; padding: 0 12px; border-right: 1px solid #dbe4f4; font-size: 28px; text-align: center; place-content: start center; }
  .portal-method > span:last-child { border-right: 0; }
  .portal-method small { margin-top: 20px; color: #17365f; font-size: 14px; font-weight: 500; line-height: 1.55; }
  .portal-quick { padding: 30px 28px 28px; }
  .portal-quick h2 { margin-bottom: 26px; font-size: 27px; }
  .portal-actions { gap: 15px; }
  .portal-actions a { padding: 16px 10px; border: 1px solid #0f4eb7; border-radius: 5px; }
  .portal-menu-toggle { display: none; }
  .portal-card-head-icon { display: grid; width: 84px; height: 84px; flex: 0 0 auto; border-radius: 50%; background: #edf3ff; font-size: 34px; place-items: center; }
  .portal-guide-intro .portal-card { display: grid; min-height: 205px; align-items: center; }
  .portal-meal-table th, .portal-meal-table td { padding: 20px 18px; border-right: 1px solid #dce5f5; text-align: center; }
  .portal-meal-table th:first-child, .portal-meal-table td:first-child { color: #102b52; font-weight: 800; text-align: left; }
  .portal-meal-table th:last-child, .portal-meal-table td:last-child { border-right: 0; }
  .portal-weekly-note { display: flex; align-items: center; gap: 24px; margin-top: 24px; }
  .portal-weekly-note > span { display: grid; width: 68px; height: 68px; flex: 0 0 auto; border-radius: 50%; color: #fff; background: #0f4eb7; font-size: 28px; place-items: center; }
  .portal-weekly-note h2, .portal-weekly-note p { margin: 0; }
  .portal-refill-detail { padding: 24px 0; }
  .portal-refill-detail > div { padding-left: 44px; border-left: 1px solid #dce5f5; }
  .portal-badge--muted { color: #68758a; background: #edf1f7; }
  .portal-notice strong { display: inline-block; margin-bottom: 8px; color: #102b52; font-size: 19px; }
  .portal-notice--large { padding: 28px; }
  .portal-refill-stats { display: grid; margin: 28px 0; border: 1px solid #dce5f5; border-radius: 12px; grid-template-columns: repeat(3, 1fr); overflow: hidden; }
  .portal-refill-stats > div { display: grid; min-height: 132px; align-content: center; gap: 14px; padding: 24px 34px; border-right: 1px solid #dce5f5; }
  .portal-refill-stats > div:last-child { border-right: 0; }
  .portal-refill-stats span { color: #68758a; }
  .portal-refill-stats strong { color: #102b52; font-size: 21px; }
  .portal-refill-stats .portal-badge { width: max-content; font-size: 14px; }
  .portal-button-row { display: flex; gap: 20px; }
  .portal-button-row .portal-button { min-width: 235px; }
  .portal-resource-grid { margin-bottom: 24px; }
  .portal-resource { display: flex; min-height: 248px; flex-direction: column; border-color: #d7e2fb; box-shadow: 0 8px 24px rgb(16 47 89 / 4%); }
  .portal-resource > span { display: grid; width: 52px; height: 52px; border-radius: 50%; background: #f0f4fc; font-size: 24px; place-items: center; }
  .portal-resource h3 { margin: 20px 0 8px; color: #102b52; }
  .portal-resource p { color: #5c6d86; font-size: 14px; line-height: 1.65; }
  .portal-resource a { margin-top: auto; }
  .portal-latest { margin-bottom: 24px; }
  .portal-latest > header { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
  .portal-latest > header a { color: #0f4eb7; font-weight: 800; text-decoration: none; }
  .portal-article-grid { display: grid; gap: 20px; grid-template-columns: repeat(3, 1fr); }
  .portal-article-grid img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
  .portal-article-grid h3 { margin: 12px 0 8px; font-size: 16px; line-height: 1.4; }
  .portal-article-grid h3 a { color: #102b52; text-decoration: none; }
  .portal-article-grid p { color: #5c6d86; font-size: 13px; }
  .portal-article-grid article > a:last-child { color: #0f4eb7; font-size: 13px; font-weight: 800; text-decoration: none; }

  @media (max-width: 74rem) {
    .portal-main { width: min(100% - 32px, 1080px); margin-top: 24px; }
    .portal-shell { gap: 24px; grid-template-columns: 190px minmax(0, 1fr); }
    .portal-nav a { gap: 10px; padding: 0 12px; }
    .portal-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .portal-grid--3 > :last-child { grid-column: 1 / -1; }
    .portal-resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }

  @media (max-width: 48rem) {
    .portal-main { width: calc(100% - 24px); margin: 12px auto 40px; }
    .portal-menu-toggle { display: flex; width: 100%; min-height: 52px; align-items: center; gap: 10px; padding: 0 16px; border: 1px solid #d7e2fb; border-radius: 8px; color: #fff; background: #1248b5; font: inherit; font-weight: 750; }
    .portal-shell { display: block; }
    .portal-sidebar { display: none; position: static; margin: 8px 0 18px; padding: 8px; border: 1px solid #d7e2fb; border-radius: 8px; }
    .portal-sidebar.is-open { display: block; }
    .portal-nav { display: grid; overflow: visible; }
    .portal-nav a { min-height: 50px; border-radius: 6px; }
    .portal-nav a.is-current { border-radius: 6px; }
    .portal-content { margin-top: 14px; }
    .portal-hero { min-height: 0; align-items: stretch; flex-direction: column; padding: 22px 20px; margin-bottom: 16px; }
    .portal-hero h1 { font-size: 29px; }
    .portal-hero > .portal-button { width: 100%; }
    .portal-grid, .portal-grid--3, .portal-grid--2, .portal-resource-grid, .portal-actions, .portal-form-grid { gap: 16px; grid-template-columns: 1fr; }
    .portal-grid--3 > :last-child { grid-column: auto; }
    .portal-card, .portal-quick { padding: 20px; }
    .portal-card--action, .portal-grid--2 .portal-card--action { min-height: 0; }
    .portal-card--action > .portal-button { margin-top: 20px; }
    .portal-method { margin: 22px 0; grid-template-columns: repeat(2, 1fr); }
    .portal-method > span { min-height: 112px; border-bottom: 1px solid #dbe4f4; }
    .portal-method > span:nth-child(2) { border-right: 0; }
    .portal-method > span:nth-last-child(-n + 2) { border-bottom: 0; }
    .portal-actions a { width: 100%; }
    .portal-table { min-width: 650px; }
    .portal-card-head-icon { width: 64px; height: 64px; font-size: 27px; }
    .portal-guide-intro .portal-detail { align-items: center; flex-direction: row; }
    .portal-refill-detail > div { padding: 20px 0 0; border-top: 1px solid #dce5f5; border-left: 0; }
    .portal-refill-stats { grid-template-columns: 1fr; }
    .portal-refill-stats > div { min-height: 100px; border-right: 0; border-bottom: 1px solid #dce5f5; }
    .portal-refill-stats > div:last-child { border-bottom: 0; }
    .portal-button-row { flex-direction: column; }
    .portal-button-row .portal-button { width: 100%; min-width: 0; }
    .portal-article-grid { grid-template-columns: 1fr; }
    .portal-latest > header { align-items: flex-start; flex-direction: column; }
  }
}

/* ========================================================================
   PAGE: ACCOUNT
   Search: PAGE: ACCOUNT / account.css
   Used by: account rebuild placeholder
   ======================================================================== */
/* Account page styles will be added during its rebuild. */

/* ========================================================================
   PAGE: ADMIN
   Search: PAGE: ADMIN / admin.css
   Used by: admin.html, admin-login.html
   ======================================================================== */
@layer admin {
  .admin-page { min-height: 100vh; color: #102b52; background: #f3f7fc; }
  .admin-login-page { display: grid; min-height: 100vh; padding: 1.5rem; background: radial-gradient(circle at 15% 10%, rgb(22 143 194 / 18%), transparent 30%), linear-gradient(135deg, #f7fbff, #eef5fb); place-items: center; }
  .admin-login-card { width: min(30rem, 100%); padding: 2.5rem; border: 1px solid #dbe6f1; border-radius: 1.5rem; background: #fff; box-shadow: 0 2rem 6rem rgb(15 42 77 / 14%); }
  .admin-login-card img { display: block; width: 14rem; height: auto; margin: 0 auto 2rem; }
  .admin-login-card h1 { margin: 0 0 0.5rem; color: #102b52; font-size: 2rem; text-align: center; }
  .admin-login-card > p { margin: 0 0 1.75rem; color: #66778d; line-height: 1.6; text-align: center; }
  .admin-form { display: grid; gap: 1rem; }
  .admin-form label { display: grid; gap: 0.45rem; color: #263b59; font-size: 0.875rem; font-weight: 800; }
  .admin-form input, .admin-form select { width: 100%; min-height: 3.25rem; padding: 0.8rem 0.9rem; border: 1px solid #d4e1ed; border-radius: 0.625rem; color: #102b52; background: #fff; font: inherit; }
  .admin-form input:focus, .admin-form select:focus { border-color: #168fc2; outline: none; box-shadow: 0 0 0 4px rgb(22 143 194 / 12%); }
  .admin-button { display: inline-flex; min-height: 3rem; align-items: center; justify-content: center; padding: 0.75rem 1.1rem; border: 0; border-radius: 0.625rem; color: #fff; background: linear-gradient(135deg, #171992, #1650c8); font: inherit; font-weight: 850; text-decoration: none; cursor: pointer; }
  .admin-button:hover { color: #fff; background: #1650c8; }
  .admin-button--light { border: 1px solid #d7e2ef; color: #263477; background: #fff; }
  .admin-button--danger { color: #b42318; background: #fff1f0; }
  .admin-login-error { min-height: 1.4rem; margin: 0; color: #c62828; font-size: 0.85rem; font-weight: 750; }
  .admin-demo-note { padding: 1rem; margin-top: 1.25rem; border-radius: 0.75rem; color: #46627d; background: #eef7fc; font-size: 0.78rem; line-height: 1.55; }
  .admin-shell { display: grid; min-height: 100vh; grid-template-columns: 17rem minmax(0, 1fr); }
  .admin-sidebar { position: sticky; top: 0; height: 100vh; padding: 1.5rem 1rem; color: #fff; background: #0e2341; overflow-y: auto; }
  .admin-brand { display: block; padding: 0.5rem 0.75rem 1.75rem; }
  .admin-brand img { width: 12rem; height: auto; filter: brightness(0) invert(1); }
  .admin-nav { display: grid; gap: 0.35rem; }
  .admin-nav button { display: flex; width: 100%; min-height: 3rem; align-items: center; gap: 0.75rem; padding: 0.75rem 0.9rem; border: 0; border-radius: 0.625rem; color: #cbd7e7; background: transparent; font: inherit; font-size: 0.9rem; font-weight: 750; text-align: left; cursor: pointer; }
  .admin-nav button:hover, .admin-nav button.is-current { color: #fff; background: rgb(255 255 255 / 11%); }
  .admin-nav-icon { width: 1.25rem; text-align: center; }
  .admin-sidebar-footer { padding: 1.5rem 0.75rem 0; margin-top: 2rem; border-top: 1px solid rgb(255 255 255 / 12%); }
  .admin-sidebar-footer strong, .admin-sidebar-footer span { display: block; }
  .admin-sidebar-footer span { margin-top: 0.25rem; color: #aebed2; font-size: 0.75rem; }
  .admin-sidebar-footer button { margin-top: 1rem; }
  .admin-main { min-width: 0; }
  .admin-topbar { display: flex; min-height: 5rem; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 2rem; border-bottom: 1px solid #e0e8f2; background: #fff; }
  .admin-topbar h1 { margin: 0; color: #102b52; font-size: 1.45rem; }
  .admin-topbar p { margin: 0.2rem 0 0; color: #73829a; font-size: 0.8rem; }
  .admin-content { padding: clamp(1.25rem, 3vw, 2.25rem); }
  .admin-stats { display: grid; gap: 1.25rem; margin-bottom: 1.5rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .admin-card { padding: 1.5rem; border: 1px solid #e0e8f2; border-radius: 1rem; background: #fff; box-shadow: 0 0.6rem 2rem rgb(15 42 77 / 4%); }
  .admin-stat { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
  .admin-stat span { color: #6c7b90; font-size: 0.8rem; font-weight: 750; }
  .admin-stat strong { display: block; margin-top: 0.35rem; color: #102b52; font-size: 1.8rem; }
  .admin-stat-icon { display: grid; width: 3rem; height: 3rem; border-radius: 0.75rem; color: #1650c8; background: #eef4ff; font-size: 1.35rem; place-items: center; }
  .admin-grid { display: grid; align-items: start; gap: 1.5rem; grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr); }
  .admin-card h2 { margin: 0 0 1rem; color: #102b52; font-size: 1.15rem; }
  .admin-table-wrap { overflow-x: auto; }
  .admin-table { width: 100%; border-collapse: collapse; }
  .admin-table th, .admin-table td { padding: 0.85rem 0.75rem; border-bottom: 1px solid #e9eef5; color: #496079; font-size: 0.82rem; text-align: left; white-space: nowrap; }
  .admin-table th { color: #718096; background: #f8fafc; font-size: 0.72rem; letter-spacing: 0.04em; text-transform: uppercase; }
  .admin-status { display: inline-flex; padding: 0.35rem 0.55rem; border-radius: 999px; font-size: 0.7rem; font-weight: 850; }
  .admin-status--green { color: #18763a; background: #e6f7eb; }
  .admin-status--orange { color: #a65b00; background: #fff2df; }
  .admin-status--blue { color: #1650c8; background: #eaf1ff; }
  .admin-status--red { color: #b42318; background: #ffebe9; }
  .admin-list { display: grid; gap: 0.75rem; }
  .admin-list-item { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.85rem 0; border-bottom: 1px solid #e9eef5; }
  .admin-list-item:last-child { border-bottom: 0; }
  .admin-list-item strong, .admin-list-item span { display: block; }
  .admin-list-item span { margin-top: 0.2rem; color: #7b899d; font-size: 0.76rem; }
  .admin-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
  .admin-search { width: min(22rem, 100%); min-height: 2.75rem; padding: 0.65rem 0.8rem; border: 1px solid #d9e3ed; border-radius: 0.5rem; font: inherit; }
  .admin-placeholder { padding: 4rem 1rem; color: #718096; text-align: center; }
  @media (max-width: 68rem) { .admin-shell { grid-template-columns: 5rem minmax(0, 1fr); } .admin-brand img { width: 3rem; object-fit: cover; object-position: left; } .admin-nav-label, .admin-sidebar-footer { display: none !important; } .admin-nav button { justify-content: center; } .admin-stats { grid-template-columns: 1fr 1fr; } .admin-grid { grid-template-columns: 1fr; } }
  @media (max-width: 42rem) { .admin-shell { display: block; } .admin-sidebar { position: sticky; z-index: 10; top: 0; width: 100%; height: auto; padding: 0.5rem; } .admin-brand, .admin-sidebar-footer { display: none; } .admin-nav { display: flex; overflow-x: auto; } .admin-nav button { flex: 0 0 3rem; padding: 0.65rem; } .admin-topbar { padding: 1rem; } .admin-stats { grid-template-columns: 1fr; } }
}

/* ========================================================================
   PAGE: BLOG
   Search: PAGE: BLOG / blog.css
   Used by: blog.html and pages/blog/*
   ======================================================================== */
:root {
  --journal-navy: #070943;
  --journal-blue: #246bd7;
  --journal-muted: #707b89;
}

.journal-main,
.article-page {
  overflow-x: clip;
  background: #fff;
  color: #14151b;
}

.journal-hero {
  padding: 57px 24px 50px;
  background: #ececed;
  text-align: center;
}

.journal-hero p {
  margin: 0 0 24px;
  color: #67717c;
  font-size: 14px;
}

.journal-hero p a {
  color: inherit;
  text-decoration: none;
}

.journal-hero p span {
  margin: 0 12px;
  color: #111;
}

.journal-hero h1 {
  max-width: 100%;
  margin: 0;
  color: var(--journal-navy);
  font-size: clamp(52px, 6vw, 78px);
  letter-spacing: -0.04em;
  line-height: 0.98;
  overflow-wrap: anywhere;
}

.journal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 42px;
  width: min(1160px, calc(100% - 48px));
  margin: 0 auto;
  padding: 58px 0 74px;
}

.journal-card {
  display: flex;
  min-height: 535px;
  overflow: hidden;
  flex-direction: column;
  border: 1px solid #dce2ed;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 14px 28px rgb(25 46 79 / 7%);
}

.journal-card > a {
  display: block;
}

.journal-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.54;
  object-fit: cover;
}

.journal-card__body {
  padding: 24px 27px 20px;
}

.journal-card h3,
.journal-card__title {
  margin: 0 0 23px;
  font-size: 21px;
  letter-spacing: -0.025em;
  line-height: 1.25;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
}

.journal-card h3 a,
.journal-card__title a {
  color: var(--journal-navy);
  text-decoration: none;
}

.journal-card__body p {
  margin: 0;
  color: #7b8797;
  font-size: 16px;
  line-height: 1.65;
}

.journal-card__meta {
  margin: auto 0 0;
  padding: 22px 27px 25px;
  border-top: 1px solid #edf0f5;
  color: #748092;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.journal-card__meta span {
  margin: 0 9px;
}

.article-back {
  margin: 0 0 18px;
  color: #67717c;
  font-size: 13px;
}

.article-back a {
  color: inherit;
  text-decoration: none;
}

.article-shell {
  width: min(750px, calc(100% - 36px));
  margin: 0 auto;
  padding: 34px 0 40px;
}

.article-shell > img {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 48px;
  object-fit: contain;
}

.article-shell h1 {
  max-width: 100%;
  margin: 0 0 21px;
  font-size: clamp(31px, 4vw, 40px);
  letter-spacing: -0.025em;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.article-meta {
  display: flex;
  gap: 11px;
  align-items: center;
  margin: 0 0 44px;
  color: #687381;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}

.article-meta a {
  color: inherit;
  text-decoration: none;
}

.article-avatar {
  display: inline-block;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #d2d5d7;
}

.article-content p {
  margin: 0 0 28px;
  color: #687481;
  font-size: 16px;
  line-height: 1.7;
}

@media (width <= 900px) {
  .journal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .journal-card {
    min-height: 0;
  }

  .journal-hero {
    padding: 44px 24px 36px;
  }

  .journal-hero h1 {
    font-size: clamp(36px, 6vw, 58px);
  }
}

@media (width <= 1200px) {
  .journal-grid {
    gap: 26px;
    width: min(1100px, calc(100% - 36px));
  }

  .journal-card__body,
  .journal-card__meta {
    padding-inline: 22px;
  }
}

@media (width <= 767px) {
  .journal-hero {
    padding: 28px 20px 24px;
  }

  .journal-hero p {
    margin-bottom: 10px;
    font-size: 13px;
  }

  .journal-hero p span {
    margin: 0 8px;
  }

  .journal-hero h1 {
    font-size: clamp(28px, 8vw, 32px);
    letter-spacing: -0.03em;
    line-height: 1.08;
  }

  .journal-card h3 a,
  .journal-card__title a,
  .article-shell h1,
  .article-content p {
    display: block;
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: break-word;
  }

  html body main.journal-main > section.journal-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    width: auto;
    max-width: none;
    margin-inline: 16px;
    padding: 24px 0 40px !important;
  }

  .journal-card {
    min-width: 0;
    min-height: 0;
  }

  html body .journal-card h3,
  html body .journal-card__title {
    margin: 0 0 10px !important;
    padding: 0 !important;
    font-size: 18px;
    line-height: 1.25;
  }

  .journal-card__body {
    padding: 16px 16px 14px;
  }

  .journal-card__body p {
    font-size: 14px;
    line-height: 1.55;
  }

  .journal-card__meta {
    padding: 14px 16px 16px;
    font-size: 10px;
    letter-spacing: 0.06em;
    overflow-wrap: anywhere;
  }

  .article-shell {
    width: auto;
    max-width: none;
    margin-inline: 16px;
    padding: 16px 4px 48px;
  }

  .article-shell > img {
    margin-bottom: 20px;
    border-radius: 12px;
  }

  .article-shell h1 {
    font-size: clamp(24px, 7vw, 30px);
    line-height: 1.2;
  }

  .article-meta {
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
    font-size: 11px;
  }

  .article-content p {
    margin-bottom: 18px;
    font-size: 16px;
    line-height: 1.65;
    overflow-wrap: anywhere;
  }
}

html body .journal-card h3 a,
html body .journal-card__title a,
html body .journal-card__body p,
html body .article-shell h1,
html body .article-content p {
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: none !important;
}

@media (width <= 380px) {
  .journal-hero {
    padding: 24px 16px 20px;
  }

  .journal-hero h1 {
    font-size: 26px;
  }

  .journal-card__body {
    padding: 14px 14px 12px;
  }

  .journal-card__meta {
    padding: 12px 14px 14px;
    font-size: 10px;
  }

  .journal-card__meta span {
    margin-inline: 5px;
  }
}

/* ========================================================================
   PAGE: CHECKOUT
   Search: PAGE: CHECKOUT / checkout.css
   Used by: checkout.html
   ======================================================================== */
/* stylelint-disable -- Legacy WordPress export retained for visual migration. */
.checkout-page {
  --blue: #1c68d9;
  --blue-dark: #1c68d9;
  --navy: #07102f;
  --navy-btn: #171992;
  --text: #42516b;
  --pale: #f3f6ff;
  --line: #d9e2ff;
  --white: #fff;
  --green: #168649;
  --shadow: 0 18px 50px rgba(35, 55, 110, 0.1);
  --section-space: 80px;
  --section-head-gap: 40px;
  --content-gap: 28px;
  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow-x: hidden;
  background: #fff;
  color: var(--navy);
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
}

html:has(.checkout-page) {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

/* Hide legacy refund-card markup that may still be injected by a cached embed. */
.refund-card,
section.refund-card {
  display: none !important;
}

.checkout-page h1,
.checkout-page h2,
.checkout-page h3,
.checkout-page h4 {
  margin-top: 0;
  line-height: 1.15;
}

.checkout-page h1 {
  font-size: clamp(2.5rem, 6vw, 5rem);
  letter-spacing: -0.055em;
}

.checkout-page h2 {
  text-align: center;
  font-size: clamp(2rem, 3.5vw, 3rem);
  letter-spacing: -0.04em;
}

.checkout-page h3 {
  font-size: 1.35rem;
}

.checkout-page p {
  margin-top: 10px;
  color: var(--text);
}

.section-shell {
  width: min(1290px, calc(100% - 40px));
  margin-inline: auto;
}

.eyebrow {
  margin: 0 0 12px;
  color: var(--blue);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.card {
  background: var(--white);
  border: 1px solid #e7ebf5;
  border-radius: 28px;
  box-shadow: var(--shadow);
}

.results-hero {
  position: relative;
  width: 100%;
  padding: var(--section-space) 0;
  background: #f7f9fc;
}

.results-intro {
  max-width: 850px;
  text-align: center;
}

.results-intro h1 {
  margin: 0 auto 24px;
  font-size: clamp(2.5rem, 4.7vw, 4.1rem);
  font-weight: 800;
  letter-spacing: -0.045em;
}

.results-intro h1 span {
  display: block;
}

.results-intro h1 em {
  display: block;
  color: var(--blue);
  font-family: inherit;
  font-style: normal;
  font-weight: 800;
}

.results-lead {
  margin-bottom: 42px;
}

.results-lead p {
  max-width: 760px;
  margin: 0 auto 22px;
  color: #33415b;
  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1.45;
}

.results-lead strong {
  display: block;
  margin-top: 30px;
  color: var(--navy);
  font-size: 1.12rem;
}

.analysis-label {
  margin-bottom: 12px;
  color: #66738a;
  font-weight: 700;
}

.analysis-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-bottom: 34px;
}

.analysis-badges span {
  padding: 5px 15px;
  border: 1px solid #cfe0f4;
  border-radius: 999px;
  background: #f9fcff;
  color: #61738f;
  font-size: 0.88rem;
  font-weight: 700;
}

.projection-card {
  max-width: 1040px;
  padding: 0;
  overflow: hidden;
  border: 1px solid #e4e9f1;
  border-radius: 34px;
  background: #fff;
  box-shadow: 0 16px 45px rgba(29, 43, 72, 0.13);
}

.projection-card > header {
  padding: 13px 24px;
  background: var(--blue);
  color: #fff;
  text-align: center;
  font-size: 1rem;
  font-weight: 800;
}

.projection-card > header small {
  font-size: 0.8rem;
}

.body-comparison {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: end;
  gap: 70px;
  min-height: 290px;
  padding: 20px 34px 0;
  border-bottom: 1px solid #e5e9ef;
}

.body-result {
  position: relative;
  display: flex;
  justify-content: center;
  min-width: 0;
}

.body-photo-frame,
.body-photo-placeholder {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  max-width: 245px;
  height: 255px;
  overflow: hidden;
  border: 1px solid #e2e7ef;
  border-bottom: 0;
  border-radius: 18px 18px 0 0;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
}

[data-before-photo] {
  background-image: url("../images/Fat-1.webp");
}

[data-after-photo] {
  background-image: url("../images/fit.webp");
}

.body-photo-placeholder > span {
  display: none;
}

.body-photo-frame img {
  display: none;
}

.result-tag {
  position: absolute;
  bottom: -24px;
  min-width: 120px;
  padding: 8px 18px;
  border-radius: 999px;
  text-align: center;
  font-weight: 800;
}

.today-tag {
  background: #dfe2e6;
  color: #43516a;
}

.goal-tag {
  min-width: 155px;
  background: var(--blue);
  color: transparent !important;
  font-size: 0 !important;
}

.goal-tag::after {
  content: "With Control-rx";
  display: block;
  color: #fff;
  font-size: 1rem;
  line-height: 1.2;
  white-space: nowrap;
}

.projection-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 50px 38px 24px;
}

.metric {
  padding: 0 0 26px;
  border-bottom: 1px solid #e4e8ee;
  text-align: center;
}

.metric:nth-child(n + 3) {
  padding-top: 26px;
}

.metric-goal {
  padding-left: 0;
}

.metric > span,
.projection-goal > span {
  display: block;
  margin-bottom: 3px;
  color: #52617a;
  font-weight: 600;
}

.metric strong {
  color: #43516a;
  font-size: 2rem;
  font-weight: 500;
}

.metric strong small {
  font-size: 0.75em;
  font-weight: 500;
}

.metric-goal strong {
  color: var(--blue);
}

.projection-goal {
  grid-column: 1/-1;
  padding: 25px 0;
  text-align: center;
}

.projection-goal strong {
  display: inline-block;
  padding: 5px 14px;
  border: 1px solid #f4d88d;
  border-radius: 999px;
  color: #bd7b1d;
  font-size: 0.88rem;
}

.see-plan {
  grid-column: 1/-1;
  display: block;
  padding: 16px 28px;
  border-radius: 999px;
  background: var(--navy-btn);
  color: #fff;
  text-align: center;
  text-decoration: none;
  font-size: 1.15rem;
  font-weight: 800;
  transition:
    background 0.2s ease,
    color 0.2s ease;
}

.see-plan:hover,
.mobile-hero-plan:hover {
  background: var(--blue);
}

.projection-disclaimer {
  margin: 0;
  padding: 0 38px 24px;
  color: #8791a3;
  text-align: center;
  font-size: 0.72rem;
}

.hero {
  padding: 110px 0 80px;
  text-align: center;
}

.hero h1 {
  max-width: 900px;
  margin: 0 auto 28px;
}

.hero h1 span {
  color: var(--blue);
}

.hero p:not(.eyebrow) {
  max-width: 780px;
  margin: 0 auto 18px;
  font-size: 1.08rem;
}

.hero > strong {
  display: block;
  margin-top: 28px;
  font-size: 1.1rem;
}

.future-card {
  position: relative;
  overflow: hidden;
}

.doctor-image {
  float: right;
  width: 150px;
  max-height: 190px;
  margin: 0 0 20px 24px;
  object-fit: contain;
  border-radius: 18px;
}

.two-column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
}

.intro-cards article {
  padding: 42px;
}

.goal-list {
  margin: 24px 0;
}

.goal-list div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 0;
  border-bottom: 1px solid #e8ecf5;
}

.goal-list dt {
  color: var(--text);
}

.goal-list dd {
  margin: 0;
  text-align: right;
  font-weight: 700;
}

.feature-lines {
  padding: 0;
  list-style: none;
  color: var(--blue);
  font-size: 1.3rem;
  font-weight: 800;
}

.recommendation-section {
  padding: var(--section-space) 0;
}

.recommendation-heading {
  max-width: 850px;
  margin-top: 0;
  margin-right: auto;
  margin-bottom: var(--section-head-gap, 40px);
  margin-left: auto;
  text-align: center;
}

.recommendation-heading h2 {
  margin-bottom: 18px;
  text-align: center;
}

.recommendation-heading p {
  max-width: 760px;
  margin: 0 auto;
  font-size: 1.05rem;
}

.section-heading {
  max-width: 760px;
  margin-bottom: var(--section-head-gap);
}

.section-heading.centered {
  margin-top: 0;
  margin-right: auto;
  margin-bottom: var(--section-head-gap, 40px);
  margin-left: auto;
  text-align: center;
}

.plans-section .section-heading.centered {
  max-width: min(920px, 100%);
}

.plans-section .section-heading.centered > h2.site-heading {
  white-space: nowrap;
}

.recommendation-feature {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 20px;
}

.recommendation-info,
.recommendation-showcase,
.recommendation-alternative {
  overflow: hidden;
  border: 1px solid #e0e7f5;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(29, 43, 72, 0.07);
}

.recommendation-info {
  display: flex;
  flex-direction: column;
}

.recommendation-banner {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 72px;
  padding: 16px 28px;
  background: var(--blue);
  color: #fff;
}

.recommendation-banner > span {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: var(--blue);
}

.recommendation-banner strong {
  padding: 6px 14px;
  border-radius: 999px;
  background: #fff;
  color: var(--blue);
  font-size: 0.8rem;
}

.recommendation-info-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 28px;
}

.recommendation-info-body h3 {
  margin-bottom: 16px;
  font-size: clamp(1.75rem, 2.6vw, 2.25rem);
  letter-spacing: -0.045em;
}

.title-accent {
  display: block;
  width: 64px;
  height: 3px;
  margin-bottom: 22px;
  background: var(--blue);
}

.recommendation-info-body p {
  margin-bottom: 18px;
}

.recommendation-info-body blockquote {
  display: flex;
  gap: 14px;
  margin: 8px 0 24px;
  padding: 18px 20px;
  border-radius: 14px;
  background: #f3f6ff;
  color: var(--blue);
}

.recommendation-info-body blockquote span {
  font-size: 2rem;
  line-height: 1;
}

.recommendation-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: auto;
}

.recommendation-actions a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 12px 14px;
  border-radius: 999px;
  text-align: center;
  text-decoration: none;
  font-size: 0.88rem;
  font-weight: 800;
  line-height: 1.2;
}

.recommendation-primary {
  gap: 10px;
  background: var(--navy-btn);
  color: #fff;
  white-space: nowrap;
  transition:
    background 0.2s ease,
    color 0.2s ease;
}

.recommendation-primary:hover {
  background: var(--blue);
}

.recommendation-primary span {
  flex: 0 0 auto;
  font-size: 1.15rem;
  line-height: 1;
  transition: transform 0.2s ease;
}

.recommendation-primary:hover span {
  transform: translateX(3px);
}

.recommendation-secondary {
  border: 2px solid var(--blue);
  color: #fff;
  background: var(--blue);
}

.recommendation-secondary:hover {
  background: var(--navy-btn);
  border-color: var(--navy-btn);
  color: #fff;
}

.recommendation-showcase {
  position: relative;
  display: flex;
  min-height: 500px;
  flex-direction: column;
  justify-content: space-between;
  padding: 26px 20px 20px;
  background: linear-gradient(145deg, #f8faff, #edf3ff);
}

.recommendation-showcase > img {
  position: relative;
  z-index: 1;
  width: 185px;
  height: 285px;
  margin: auto;
  object-fit: contain;
  filter: drop-shadow(0 20px 22px rgba(14, 41, 134, 0.22));
}

.recommendation-rings {
  position: absolute;
  top: 48%;
  left: 50%;
  width: 320px;
  height: 320px;
  border: 1px solid #d6e2ff;
  border-radius: 50%;
  transform: translate(-50%, -55%);
}

.recommendation-rings::before,
.recommendation-rings::after {
  content: "";
  position: absolute;
  inset: 45px;
  border: 1px solid #dce6ff;
  border-radius: 50%;
}

.recommendation-rings::after {
  inset: 95px;
}

.recommendation-benefits {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.recommendation-benefits > div {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 155px;
  flex-direction: column;
  gap: 12px;
  padding: 18px 14px;
  border: 1px solid #e2e8f5;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.92);
  text-align: center;
}

.recommendation-benefits > div > img {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.alternative-review > img {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  object-fit: contain;
}

.recommendation-benefits p {
  width: 100%;
  margin: 0;
}

.recommendation-benefits strong,
.recommendation-benefits small {
  display: block;
}

.recommendation-benefits strong {
  min-height: 2.7em;
  color: var(--navy);
  line-height: 1.35;
}

.recommendation-benefits small {
  margin-top: 8px;
  color: var(--text);
  line-height: 1.4;
}

.recommendation-alternative {
  display: grid;
  grid-template-columns: 140px 1fr 1fr;
  align-items: center;
  gap: 24px;
  margin-top: 20px;
  padding: 20px 28px;
}

.recommendation-alternative > img {
  width: 110px;
  height: 150px;
  margin: auto;
  object-fit: contain;
}

.recommendation-alternative h3 {
  margin-bottom: 8px;
  font-size: 1.35rem;
}

.recommendation-alternative p {
  margin: 0;
}

.alternative-review {
  display: flex;
  align-items: center;
  gap: 22px;
  padding-left: 28px;
  border-left: 1px solid #dfe5f0;
}

.alternative-review p {
  max-width: 360px;
  line-height: 1.5;
}

.plans-section {
  position: relative;
  width: 100%;
  padding: var(--section-space) 0;
  background: var(--pale);
}

.plan-arrow {
  display: block;
  width: 75px;
  height: 75px;
  margin: 18px auto -28px;
  object-fit: contain;
}

.shared-toggle {
  width: min(620px, 100%);
  margin: 30px auto 0;
}

.duration-toggle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 4px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
}

.duration-toggle button {
  padding: 14px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--text);
  font: 700 1rem Inter;
  cursor: pointer;
  transition:
    background 0.2s ease,
    color 0.2s ease;
}

.duration-toggle button:hover {
  color: var(--navy-btn);
}

.duration-toggle button.active {
  background: var(--blue);
  color: #fff;
  box-shadow: 0 8px 22px rgba(28, 104, 217, 0.25);
}

.duration-toggle button.active:hover {
  background: var(--navy-btn);
  color: #fff;
}

.plan-stack {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  padding-top: 32px;
  align-items: stretch;
}

.product-group {
  display: flex;
}

.product-card {
  position: relative;
  min-height: 860px;
  padding: 38px 40px 34px;
  overflow: visible;
  background: #fff;
  border: 2px solid #dce3f2;
  border-radius: 34px;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow);
  cursor: pointer;
  width: 100%;
  transition:
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.product-card > .description {
  min-height: 104px;
}

.product-card > h4 {
  margin: 10px 0;
}

.product-card > .included-list {
  margin-bottom: 30px;
}

.product-card:hover {
  transform: translateY(-3px);
  border-color: var(--blue);
  box-shadow:
    0 0 0 4px rgba(28, 104, 217, 0.08),
    var(--shadow);
}

.product-card:focus-visible {
  transform: translateY(-3px);
  border-color: var(--blue);
  box-shadow:
    0 0 0 5px rgba(28, 104, 217, 0.18),
    var(--shadow);
  outline: none;
}

.product-card.selected {
  border: 3px solid var(--blue);
  background: linear-gradient(180deg, #fff 0%, #fff 82%, #f5f7ff 100%);
  box-shadow:
    0 0 0 6px rgba(28, 104, 217, 0.14),
    0 22px 55px rgba(31, 55, 150, 0.18);
}

.product-card.selected::after {
  content: "SELECTED";
  position: absolute;
  z-index: 3;
  top: -16px;
  left: 28px;
  padding: 7px 14px;
  border-radius: 999px;
  background: var(--navy-btn);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  box-shadow: 0 8px 18px rgba(23, 25, 146, 0.2);
}

.ribbon {
  position: absolute;
  z-index: 2;
  top: -22px;
  right: -24px;
  width: 165px;
  height: auto;
  object-fit: contain;
  pointer-events: none;
}

.ribbon[hidden] {
  display: none;
}

.badges {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  min-height: 88px;
}

.badges span {
  padding: 8px 16px;
  border-radius: 999px;
  font-weight: 800;
}

.primary-badge {
  background: var(--blue);
  color: #fff;
}

.outline-badge {
  border: 1px solid #bfd0ff;
  color: #34415a;
}

.product-title-row {
  display: grid;
  grid-template-columns: 140px 1fr;
  align-items: center;
  gap: 20px;
  margin: 12px 0 28px;
}

.product-title-row img {
  width: 130px;
  height: 185px;
  object-fit: contain;
}

.product-title-row h3 {
  margin: 0;
  font-size: 2rem;
  letter-spacing: -0.04em;
}

.plan-name {
  margin: 8px 0 0;
  color: var(--blue);
  font-size: 1.2rem;
  font-weight: 800;
}

.price-row {
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.price-row strong {
  color: var(--blue);
  font-size: 3.8rem;
  line-height: 1;
  letter-spacing: -0.06em;
}

.price-row .price {
  color: var(--navy);
}

.price-row > span,
.billing {
  color: #65718a;
}

.billing {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  min-height: 38px;
  margin: 10px 0 30px;
  font-weight: 700;
}

.savings-badge {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 6px 14px;
  border-radius: 999px;
  background: #eaf8ee;
  color: #11803d;
  font-size: 0.88rem;
  font-weight: 800;
  text-transform: uppercase;
}

.description {
  min-height: 104px;
}

.product-card h4 {
  margin: 10px 0;
}

.included-list,
.check-list {
  padding-left: 0;
  list-style: none;
}

.included-list li,
.check-list li {
  position: relative;
  padding: 6px 0 6px 28px;
  color: var(--text);
}

.included-list li:before,
.check-list li:before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--green);
  font-weight: 900;
}

.select-plan,
.place-order {
  width: 100%;
  margin-top: auto;
  padding: 19px 24px;
  border: 0;
  border-radius: 999px;
  background: var(--navy-btn);
  color: #fff;
  font: 800 1rem Inter;
  cursor: pointer;
}

.select-plan {
  display: flex;
  justify-content: center;
  gap: 16px;
}

.select-plan:hover,
.place-order:hover,
.product-card.selected .select-plan:hover {
  background: var(--blue);
}

.product-card.selected .select-plan {
  background: var(--navy-btn);
}

.clinical-note {
  max-width: 850px;
  margin: 40px auto 0;
  text-align: center;
  font-size: 0.88rem;
}

.what-next {
  padding-top: var(--section-space);
  padding-bottom: var(--section-space);
}

.steps {
  max-width: 850px;
  margin: auto;
  border-left: 3px solid var(--blue);
}

.steps article {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 20px;
  padding: 0 0 38px 28px;
}

.steps article > span {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin-left: -56px;
  border: 5px solid #fff;
  border-radius: 50%;
  background: var(--blue);
  color: #fff;
  font-weight: 800;
}

.steps h3 {
  margin: 4px 0 10px;
}

.steps p {
  margin-bottom: 8px;
}

.checkout-area {
  position: relative;
  width: 100%;
  padding: var(--section-space) 0;
  background: var(--pale);
}

.checkout-grid {
  display: grid;
  grid-template-columns: 0.82fr 1.18fr;
  gap: 28px;
  align-items: start;
}

.selected-card {
  position: sticky;
  top: 24px;
  padding: 36px;
  text-align: center;
}

.selected-card > #selected-image {
  width: 160px;
  height: 220px;
  object-fit: contain;
}

.selected-card h2 {
  font-size: 2.1rem;
}

.selected-duration {
  color: var(--blue);
  font-weight: 800;
}

.selected-card h3 {
  margin-top: 28px;
}

.selected-value-ribbon {
  display: grid;
  min-height: 52px;
  width: 100%;
  margin: 24px auto 8px;
  place-items: center;
  background: var(--blue);
  clip-path: polygon(0 0, 100% 0, 94% 50%, 100% 100%, 0 100%, 6% 50%);
}

.selected-value-ribbon span {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 800;
}

.selected-value-ribbon span::before {
  content: "★";
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: var(--blue);
  font-size: 0.9rem;
}

.today-total {
  color: var(--blue);
  font-size: 4rem;
  font-weight: 800;
  line-height: 1;
}

.selected-plan-comparison {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin-top: 28px;
  padding: 6px;
  border: 1px solid #d9def0;
  border-radius: 999px;
  background: #fff;
  text-align: center;
}

.selected-plan-comparison > button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  width: 100%;
  margin: 0;
  padding: 12px 10px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #4b5565;
  font: 700 0.92rem Inter;
  text-align: center;
  cursor: pointer;
  transition:
    background 0.2s ease,
    color 0.2s ease;
}

.selected-plan-comparison > button + button {
  margin-top: 0;
}

.selected-plan-comparison .active-plan-row {
  border-color: transparent;
  background: var(--blue);
  color: #fff;
  font-weight: 800;
  box-shadow: 0 8px 22px rgba(28, 104, 217, 0.22);
}

.selected-plan-comparison > button:hover {
  color: var(--navy-btn);
}

.selected-plan-comparison .active-plan-row:hover {
  background: var(--navy-btn);
  color: #fff;
}

.selected-plan-comparison strong {
  white-space: nowrap;
}

#selected-value-note {
  margin: 12px 0 2px;
  color: #11803d;
  text-align: center;
  font-weight: 800;
}

#selected-value-note::before {
  content: "↗";
  display: inline-grid;
  width: 28px;
  height: 28px;
  margin-right: 8px;
  place-items: center;
  border-radius: 50%;
  background: #11803d;
  color: #fff;
}

.selected-card .check-list {
  text-align: left;
}

.selected-card > strong {
  display: block;
  margin-top: 25px;
}

.secure-note {
  margin-top: 25px;
  padding: 12px;
  border-radius: 12px;
  background: var(--pale);
}

.selected-card > .made-usa {
  display: block;
  width: 110px;
  height: auto;
  margin: 24px auto 0;
  object-fit: contain;
}

.checkout-form {
  padding: 40px;
}

.security-banner {
  padding: 18px;
  text-align: center;
  background: #eff9f3;
  border-radius: 14px;
}

.checkout-form fieldset {
  margin: 34px 0 0;
  padding: 0;
  border: 0;
}

.checkout-form legend {
  margin-bottom: 18px;
  font-size: 1.7rem;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.payment-assets {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}

.coupon-block {
  padding: 8px 22px 22px;
}

.payment-summary-box {
  margin-bottom: 28px;
  overflow: hidden;
  border: 1px solid #cbd8ff;
  border-radius: 16px;
  background: linear-gradient(135deg, #f2f6ff, #edf2ff);
}

.payment-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 20px 22px;
  background: transparent;
}

.payment-total > div > span {
  display: block;
  color: var(--navy);
  font-size: 1rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.payment-total small {
  display: block;
  margin-top: 4px;
  color: #5d6e8b;
  font-size: 0.82rem;
  font-weight: 600;
}

.payment-total > strong {
  color: var(--blue);
  font-size: 2.25rem;
  line-height: 1;
  white-space: nowrap;
}

.coupon-block > label {
  display: block;
  margin-bottom: 8px;
  color: var(--navy);
  font-weight: 700;
}

.coupon-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.coupon-row input {
  margin-top: 0;
  text-transform: uppercase;
}

.apply-coupon {
  min-width: 110px;
  height: 54px;
  padding: 0 24px;
  border: 0;
  border-radius: 999px;
  background: var(--navy-btn);
  color: #fff;
  font: 800 1rem Inter;
  cursor: pointer;
}

.apply-coupon:hover {
  background: var(--blue);
}

.coupon-message {
  min-height: 1.4em;
  margin: 8px 0 0;
  font-size: 0.84rem;
  font-weight: 600;
}

.coupon-message.notice {
  color: #2656a7;
}

.coupon-message.error {
  color: #a22222;
}

.payment-assets img {
  max-width: 46%;
  max-height: 58px;
  object-fit: contain;
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.form-grid label {
  color: var(--navy);
  font-weight: 600;
}

.form-grid .full {
  grid-column: 1/-1;
}

input,
select {
  width: 100%;
  height: 54px;
  margin-top: 7px;
  padding: 0 15px;
  border: 2px solid #ccdcff;
  border-radius: 10px;
  background: #fff;
  color: var(--navy);
  font: 500 1rem Inter;
}

input:focus:not([type="range"]),
select:focus {
  outline: 3px solid rgba(28, 104, 217, 0.16);
  border-color: var(--blue);
}

.checkbox {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 22px;
  color: var(--text) !important;
  font-weight: 500 !important;
}

.checkbox input {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin: 3px 0 0;
}

.agreements {
  padding-top: 35px !important;
  border-top: 1px solid #e4e9f4 !important;
}

.agreements legend {
  margin-bottom: 0 !important;
}

.agreements legend + p {
  margin-top: 0 !important;
}

.agreements p {
  font-size: 0.91rem;
}

.agreements .checkbox:last-of-type {
  margin-bottom: 0;
}

.checkout-form > .button,
.checkout-form > .place-order {
  margin-top: 40px !important;
}

.place-order {
  margin-top: 34px;
  font-size: 1.2rem;
}

.place-order:disabled {
  cursor: wait;
  opacity: 0.65;
}

.payment-help {
  margin: 14px 0 0;
  font-size: 0.85rem;
}

.form-message {
  display: none;
  margin-top: 26px;
  padding: 16px 18px;
  border-radius: 12px;
  font-weight: 600;
}

.form-message.notice,
.form-message.success,
.form-message.error {
  display: block;
}

.form-message.notice {
  background: #eef4ff;
  color: #26406d;
}

.form-message.success {
  background: #e9f8ef;
  color: #116b39;
}

.form-message.error {
  background: #fff0f0;
  color: #a22222;
}

.final-cta {
  position: relative;
  width: 100%;
  margin: 0;
  padding: var(--section-space) 0;
  background: var(--navy-btn);
  text-align: center;
}

.final-cta h2,
.final-cta strong {
  color: #fff;
}

.final-cta p:not(.eyebrow) {
  max-width: 690px;
  margin: 0 auto 14px;
  color: #cdd5eb;
}

.final-cta strong {
  display: block;
  margin: 28px;
}

.final-cta a {
  display: inline-block;
  padding: 17px 38px;
  border-radius: 999px;
  background: var(--blue);
  color: #fff;
  text-decoration: none;
  font-weight: 800;
  transition:
    background 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease;
}

.final-cta a:hover {
  background: var(--navy-btn);
  box-shadow: inset 0 0 0 2px #fff;
}

.refund-disclaimer {
  padding: 22px 0;
  background: var(--navy-btn);
  border-top: 1px solid rgba(255, 255, 255, 0.09);
}

.refund-disclaimer p {
  max-width: 920px;
  margin: 0 auto 5px;
  color: #8993aa;
  text-align: center;
  font-size: 0.68rem;
  line-height: 1.45;
}

.refund-disclaimer p:last-child {
  margin-bottom: 0;
}

.mobile-site-header,
.mobile-legal,
.mobile-hero-plan {
  display: none;
}

.mobile-hero-layout {
  display: contents;
}

/* Break desktop section backgrounds out of a theme/page-builder container. */
@media (min-width: 621px) {
  .results-hero,
  .plans-section,
  .checkout-area,
  .final-cta {
    left: 50%;
    width: 100vw;
    max-width: none;
    margin-left: -50vw;
  }
}

@media (max-width: 900px) {
  .two-column,
  .recommendation-feature,
  .plan-stack,
  .checkout-grid {
    grid-template-columns: 1fr;
  }

  .selected-card {
    position: static;
  }

  .product-card {
    min-height: auto;
  }

  .select-plan {
    margin-top: 30px;
  }

  .recommendation-alternative {
    grid-template-columns: 110px 1fr;
  }

  .alternative-review {
    grid-column: 1/-1;
    padding: 20px 0 0;
    border-top: 1px solid #dfe5f0;
    border-left: 0;
  }
}

@media (max-width: 620px) {
  :root {
    --section-space: 56px;
    --section-head-gap: 28px;
    --content-gap: 20px;
  }

  body {
    font-size: 15px;
  }

  .section-shell {
    width: min(100% - 24px, 1120px);
  }

  .hero {
    padding: 72px 0 55px;
  }

  .results-hero {
    padding: var(--section-space) 0;
  }

  .results-lead {
    margin-bottom: 30px;
  }

  .results-lead p {
    font-size: 1rem;
  }

  .results-lead strong {
    margin-top: 24px;
    font-size: 1rem;
  }

  .projection-card {
    width: calc(100% - 24px);
    border-radius: 22px;
  }

  .projection-card > header {
    padding: 11px 10px;
    font-size: 0.78rem;
  }

  .projection-card > header small {
    display: block;
    font-size: 0.65rem;
  }

  .body-comparison {
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    min-height: 220px;
    padding: 18px 12px 0;
  }

  .body-photo-frame,
  .body-photo-placeholder {
    height: 175px;
    border-radius: 14px 14px 0 0;
  }

  .result-tag {
    bottom: -18px;
    min-width: 90px;
    padding: 5px 9px;
    font-size: 0.75rem;
  }

  .goal-tag::after {
    font-size: 0.75rem;
  }

  .goal-tag {
    min-width: 138px;
  }

  .projection-details {
    padding: 42px 20px 20px;
  }

  .metric-goal {
    padding-left: 0;
  }

  .metric strong {
    font-size: 1.55rem;
  }

  .projection-disclaimer {
    padding: 0 20px 20px;
  }

  .intro-cards article,
  .checkout-form,
  .selected-card {
    padding: 28px;
  }

  .product-card {
    padding: 30px 24px;
  }

  .product-card > .description {
    min-height: 0;
  }

  .product-card > .included-list {
    min-height: 0;
  }

  .ribbon {
    top: -14px;
    right: -12px;
    width: 135px;
  }

  .badges {
    padding-right: 80px;
  }

  .product-title-row {
    grid-template-columns: 105px 1fr;
  }

  .product-title-row img {
    width: 100px;
    height: 150px;
  }

  .product-title-row h3 {
    font-size: 1.65rem;
  }

  .price-row strong {
    font-size: 3.5rem;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .coupon-row {
    grid-template-columns: 1fr;
  }

  .payment-total {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }

  .apply-coupon {
    width: 100%;
  }

  .form-grid .full {
    grid-column: auto;
  }

  .what-next {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .what-next .section-heading.centered {
    margin-bottom: 32px;
  }

  .what-next .eyebrow {
    margin-bottom: 10px;
    font-size: 0.72rem;
    letter-spacing: 0.16em;
  }

  .what-next h2 {
    margin-bottom: 0;
    font-size: 2rem;
    line-height: 1.08;
  }

  .steps {
    position: relative;
    width: 100%;
    border-left: 0;
  }

  .steps::before {
    content: "";
    position: absolute;
    top: 18px;
    bottom: 34px;
    left: 17px;
    width: 2px;
    background: var(--blue);
  }

  .steps article {
    position: relative;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 14px;
    padding: 0 0 32px;
  }

  .steps article:last-child {
    padding-bottom: 0;
  }

  .steps article > span {
    position: relative;
    z-index: 1;
    width: 36px;
    height: 36px;
    margin: 0;
    border-width: 3px;
    font-size: 0.88rem;
  }

  .steps h3 {
    margin: 2px 0 8px;
    font-size: 1.2rem;
    line-height: 1.2;
  }

  .steps p {
    margin: 0 0 10px;
    font-size: 0.95rem;
    line-height: 1.55;
  }

  .steps p:last-child {
    margin-bottom: 0;
  }

  .goal-list div {
    display: block;
  }

  .goal-list dd {
    text-align: left;
  }

  .duration-toggle {
    margin-inline: 0;
  }

  .recommendation-heading {
    margin-bottom: 30px;
  }

  .recommendation-info-body {
    padding: 24px 20px;
  }

  .recommendation-actions,
  .recommendation-benefits {
    grid-template-columns: 1fr;
  }

  .recommendation-showcase {
    min-height: 0;
  }

  .recommendation-showcase > img {
    width: 150px;
    height: 240px;
  }

  .recommendation-rings {
    top: 185px;
    width: 245px;
    height: 245px;
  }

  .recommendation-benefits > div {
    min-height: 0;
  }

  .recommendation-benefits strong {
    min-height: 0;
  }

  .recommendation-alternative {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 24px 20px;
    text-align: center;
  }

  .recommendation-alternative > img {
    width: 90px;
    height: 125px;
  }

  .alternative-review {
    grid-column: auto;
    justify-content: center;
    text-align: left;
  }
}

/* Keep the selected treatment image centered on tablet and desktop. */
@media (min-width: 621px) {
  .selected-card > #selected-image {
    display: block;
    margin-inline: auto;
    justify-self: center;
  }
}

/* Compact checkout presentation used only on phones. */
@media (max-width: 620px) {
  .checkout-page {
    --section-space: 18px;
    --section-head-gap: 12px;
    --content-gap: 10px;
    background: #f4f7fb;
    font-size: 12px;
    line-height: 1.35;
    overflow-x: hidden;
  }

  main {
    width: 100%;
    max-width: none;
    min-width: 0;
    margin-inline: auto !important;
    overflow: hidden;
    background: #fff;
    box-shadow: none;
  }

  .mobile-site-header {
    display: flex;
    position: relative;
    z-index: 10;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 390px;
    height: 38px;
    margin-inline: auto !important;
    padding: 0 16px;
    border-bottom: 1px solid #e2e8f2;
    background: #fff;
  }

  .mobile-logo {
    color: var(--navy);
    text-decoration: none;
    font-size: 17px;
    font-weight: 800;
    letter-spacing: -1px;
  }

  color:var(--blue) .mobile-menu {
    display: grid;
    gap: 4px;
    width: 26px;
    padding: 4px;
    border: 0;
    background: transparent;
  }

  .mobile-menu span {
    display: block;
    height: 2px;
    border-radius: 3px;
    background: var(--navy);
  }

  .section-shell {
    width: calc(100% - 24px);
  }
  main > section,
  main > nav,
  .section-shell,
  .recommendation-feature,
  .recommendation-info,
  .recommendation-showcase,
  .recommendation-alternative,
  .plan-stack,
  .product-group,
  .product-card,
  .checkout-grid,
  .selected-card,
  .checkout-form,
  .form-grid,
  .form-grid > * {
    min-width: 0;
    max-width: 100%;
  }

  h1,
  h2,
  h3,
  h4,
  p,
  strong,
  span,
  label,
  legend,
  a,
  li {
    overflow-wrap: anywhere;
  }
  .checkout-page h2 {
    text-align: left;
    font-size: 17px;
    letter-spacing: -0.025em;
  }
  .checkout-page h3 {
    font-size: 13px;
  }
  .checkout-page p {
    line-height: 1.35;
  }
  .card {
    border-radius: 12px;
    box-shadow: none;
  }

  .results-hero {
    display: block;
    left: auto;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 7px 10px 9px;
    background: linear-gradient(135deg, #f8faff, #f2f6ff);
    box-shadow: none;
    clip-path: none;
  }

  .mobile-hero-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
    gap: 6px 9px;
    width: 100%;
    max-width: none;
    margin: 0 auto;
    padding: 8px;
    border: 1px solid #e2e8f3;
    border-radius: 0 0 10px 10px;
    background: #fff;
  }

  .results-intro {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    align-self: start;
    text-align: left;
  }

  .results-intro h1 {
    margin: 2px 0 7px;
    font-size: 18px;
    line-height: 1.06;
    letter-spacing: -0.04em;
  }

  .results-intro h1 em {
    display: inline;
  }

  .results-intro > p {
    margin: 0;
    max-width: none;
    color: #26354d;
    font-size: 10px;
    line-height: 1.35;
  }

  .analysis-label {
    display: none;
  }

  .analysis-badges {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 5px;
    margin: 4px 0 0;
  }

  .analysis-badges span {
    flex: 0 0 auto;
    width: auto;
    min-width: max-content;
    padding: 4px 9px;
    border-color: #cad8ff;
    background: #fff;
    color: var(--blue);
    font-size: 8px;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    overflow-wrap: normal;
    word-break: normal;
  }

  .analysis-badges span:nth-child(2) {
    color: #168649;
  }

  .projection-card {
    width: 100%;
    margin: 0;
    align-self: start;
    height: fit-content;
    border-radius: 11px;
    box-shadow: 0 4px 14px rgba(24, 47, 105, 0.07);
  }

  .projection-card > header {
    padding: 8px 7px;
    background: var(--blue);
    color: #fff;
    text-align: center;
    font-size: 8px;
  }

  .projection-card > header small {
    display: none;
  }

  .body-comparison {
    gap: 5px;
    min-height: 0;
    padding: 2px 7px 7px;
    border: 0;
  }

  .body-result {
    align-items: center;
    flex-direction: column;
  }

  .body-photo-frame,
  .body-photo-placeholder {
    height: 72px;
    border: 0;
    border-radius: 8px;
    background-color: #f6f8fc;
    background-position: center top;
    background-size: cover;
  }

  .result-tag {
    position: static;
    min-width: 0;
    margin-top: 2px;
    padding: 0;
    background: none;
    color: var(--navy);
    font-size: 7px;
  }

  .goal-tag {
    min-width: 0;
    color: transparent !important;
  }
  .goal-tag::after {
    color: var(--blue);
    font-size: 7px;
    white-space: normal;
  }

  .projection-details {
    grid-template-columns: 1fr 1fr;
    gap: 0 8px;
    padding: 4px 9px 8px;
  }

  .projection-details .see-plan {
    display: none;
  }

  .mobile-hero-plan {
    grid-column: 1/-1;
    display: block;
    width: 100%;
    padding: 7px 10px;
    border-radius: 999px;
    background: var(--navy-btn);
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-size: 10px;
    font-weight: 800;
  }

  .projection-details .metric,
  .projection-goal,
  .projection-disclaimer {
    display: none;
  }

  .see-plan {
    grid-column: 1/-1;
    margin: 0 -1px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 10px;
  }

  .recommendation-section {
    width: 100%;
    padding: 10px 12px;
  }

  .recommendation-heading {
    max-width: 370px;
    margin: 0 auto 7px;
    text-align: center;
  }
  .recommendation-heading h2 {
    margin: 0 0 2px;
  }
  .recommendation-heading p {
    margin: 0;
    font-size: 10px;
  }
  .recommendation-heading p strong {
    font-weight: 600;
  }
  .recommendation-heading p {
    font-size: 0;
  }
  .recommendation-heading p::after {
    content: "We recommend Tirzepatide Weekly Injections.";
    font-size: 9px;
  }

  .recommendation-feature {
    display: block;
    position: relative;
    border: 1px solid #dce4f2;
    border-radius: 11px;
    background: #fff;
  }

  .recommendation-info,
  .recommendation-showcase,
  .recommendation-alternative {
    border-radius: 10px;
    box-shadow: none;
  }

  .recommendation-info {
    border: 0;
    overflow: visible;
  }
  .recommendation-banner,
  .title-accent {
    display: none;
  }

  .recommendation-info-body {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    padding: 10px 10px 8px;
  }

  .recommendation-info-body h3 {
    grid-column: 2;
    margin: 3px 0 4px;
    font-size: 12px;
    letter-spacing: 0;
  }

  .recommendation-info-body > p {
    display: none;
  }
  .recommendation-info-body > p:first-of-type {
    display: block;
    grid-column: 2;
    margin: 0;
    font-size: 10px;
  }

  .recommendation-info-body blockquote {
    grid-column: 2;
    gap: 4px;
    margin: 6px 0;
    padding: 7px 8px;
    font-size: 10px;
    font-style: italic;
    text-align: center;
  }

  .recommendation-info-body blockquote span {
    font-size: 18px;
  }

  .recommendation-actions {
    grid-column: 1/-1;
    grid-template-columns: 1fr;
    gap: 5px;
    margin-top: 2px;
  }

  .recommendation-actions a {
    min-height: 28px;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 10px;
  }

  .recommendation-primary {
    white-space: normal;
  }

  .recommendation-secondary {
    border: 2px solid var(--blue);
    background: var(--blue);
    color: #fff;
  }

  .recommendation-showcase {
    position: static;
    min-height: 0;
    padding: 0;
    overflow: visible;
    border: 0;
    background: none;
  }

  .recommendation-showcase > img {
    position: absolute;
    z-index: 2;
    top: 12px;
    left: 17px;
    width: 58px;
    height: 90px;
    margin: 0;
  }

  .recommendation-rings {
    display: none;
  }

  .recommendation-benefits {
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    margin-top: 0;
    border-top: 1px solid #e2e7f0;
  }

  .recommendation-benefits > div {
    min-height: 56px;
    gap: 3px;
    padding: 7px 4px;
    border: 0;
    border-right: 1px solid #e2e7f0;
    border-radius: 0;
  }

  .recommendation-benefits > div:last-child {
    border-right: 0;
  }
  .recommendation-benefits > div > img {
    flex-basis: 19px;
    width: 19px;
    height: 19px;
  }
  .recommendation-benefits strong {
    min-height: 0;
    font-size: 8px;
  }
  .recommendation-benefits small {
    display: none;
  }

  .recommendation-alternative {
    grid-template-columns: 32px 1fr;
    gap: 7px;
    margin-top: 7px;
    padding: 6px 10px;
    text-align: left;
  }

  .recommendation-alternative > img {
    width: 26px;
    height: 42px;
  }
  .recommendation-alternative h3 {
    margin: 0;
    font-size: 10px;
  }
  .recommendation-alternative p {
    font-size: 8px;
  }
  .alternative-review {
    display: none;
  }

  .plans-section {
    left: auto;
    width: 100%;
    margin: 0;
    padding: 10px 12px 12px;
    background: #f6f8fc;
  }

  .plans-section > .section-shell {
    width: 100%;
  }
  .plans-section .section-heading {
    margin: 0 0 6px;
    text-align: left;
  }
  .plans-section .section-heading h2 {
    margin: 0 0 1px;
    text-align: center;
    white-space: normal;
  }
  .plans-section .section-heading p {
    margin: 0;
    text-align: center;
    font-size: 9px;
  }
  .plans-section .section-heading p:last-child {
    display: none;
  }

  .duration-toggle {
    width: 190px;
    margin: 4px auto 8px;
    padding: 2px;
  }

  .duration-toggle button {
    padding: 4px;
    font-size: 9px;
  }

  .plan-stack {
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 0;
  }

  .product-card {
    display: grid;
    grid-template-columns: 65px minmax(0, 1fr) minmax(82px, 0.9fr);
    grid-template-areas:
      "badges badges badges"
      "image title included"
      "image price included"
      "image billing included"
      "image desc included"
      "button button button";
    gap: 1px 8px;
    min-height: 0;
    padding: 9px 8px 7px;
    border-width: 1px;
    border-radius: 10px;
    box-shadow: none;
  }

  .product-card.selected {
    border-width: 2px;
    box-shadow: none;
  }
  .product-card:hover,
  .product-card:focus-visible {
    transform: none;
  }
  .product-card.selected::after {
    top: 5px;
    left: 7px;
    padding: 3px 7px;
    font-size: 7px;
    letter-spacing: 0.04em;
  }

  .ribbon {
    top: -6px;
    right: -7px;
    width: 62px;
  }

  .product-card.selected .ribbon {
    top: -7px;
    right: -8px;
  }

  .badges {
    grid-area: badges;
    display: flex;
    min-height: 12px;
    flex-direction: row;
    gap: 5px;
    padding-left: 54px;
  }

  .badges span {
    padding: 0;
    border: 0;
    background: none;
    color: var(--blue);
    font-size: 8px;
  }
  .outline-badge {
    display: none;
  }

  .product-title-row {
    display: contents;
  }
  .product-title-row img {
    grid-area: image;
    width: 60px;
    height: 87px;
    align-self: center;
  }
  .product-title-row > div {
    grid-area: title;
  }
  .product-title-row > div,
  .price-row,
  .billing,
  .product-card > .description,
  .product-card > .included-list {
    min-width: 0;
  }
  .product-title-row h3 {
    margin: 0;
    font-size: 12px;
  }
  .plan-name {
    margin: 1px 0;
    font-size: 9px;
  }

  .price-row {
    grid-area: price;
    gap: 3px;
  }
  .price-row strong {
    font-size: 24px;
    letter-spacing: -0.05em;
  }
  .price-row .price {
    color: var(--blue);
  }
  .price-row > span {
    font-size: 8px;
  }

  .billing {
    grid-area: billing;
    gap: 4px;
    min-height: 0;
    margin: 0;
    font-size: 7px;
  }
  .savings-badge {
    min-height: 0;
    padding: 0;
    background: none;
    font-size: 8px;
  }
  .product-card > .description {
    grid-area: desc;
    min-height: 0;
    margin: 2px 0;
    font-size: 7px;
  }
  .product-card > h4 {
    grid-column: 3;
    grid-row: 2;
    margin: 0;
    font-size: 9px;
  }
  .product-card > .included-list {
    grid-area: included;
    align-self: end;
    min-height: 0;
    margin: 14px 0 0;
  }
  .included-list li {
    padding: 1px 0 1px 12px;
    font-size: 7px;
  }
  .included-list li:before {
    font-size: 8px;
  }
  .product-card > .included-list li:nth-child(n + 6) {
    display: none;
  }

  .select-plan {
    grid-area: button;
    min-height: 27px;
    margin-top: 4px;
    padding: 5px 7px;
    border: 1px solid var(--blue);
    border-radius: 999px;
    background: #fff;
    color: var(--blue);
    font-size: 9px;
  }

  .product-card.selected .select-plan {
    background: var(--navy-btn);
    color: #fff;
  }
  .clinical-note {
    display: none;
  }

  .what-next {
    width: 100%;
    padding: 10px 16px 9px;
  }
  .what-next .section-heading.centered {
    margin: 0 0 7px;
  }
  .what-next .eyebrow {
    display: none;
  }
  .what-next h2 {
    font-size: 14px;
  }

  .steps {
    width: 100%;
    margin: 0;
  }
  .steps::before {
    left: 7px;
    top: 8px;
    bottom: 20px;
    width: 1px;
  }
  .steps article {
    grid-template-columns: 16px 1fr;
    gap: 7px;
    padding: 0 0 7px;
  }
  .steps article > span {
    width: 15px;
    height: 15px;
    border-width: 1px;
    font-size: 7px;
  }
  .steps h3 {
    margin: 0;
    font-size: 9px;
  }
  .steps p {
    margin: 0;
    font-size: 7px;
    line-height: 1.3;
  }
  .steps p + p {
    display: none;
  }

  .checkout-area {
    left: auto;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0 12px 10px;
    background: #f6f8fc;
    box-shadow: none;
    clip-path: none;
  }

  .checkout-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
    max-width: none;
    margin: 0 auto;
    gap: 7px;
  }
  .checkout-grid > .selected-card,
  .checkout-grid > .checkout-form {
    grid-column: 1;
    width: 100%;
    margin-inline: auto;
  }
  .selected-card {
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr) minmax(0, 70px);
    padding: 10px;
    overflow: visible;
    text-align: left;
  }
  .selected-card .eyebrow {
    display: none;
  }
  .selected-card > #selected-image {
    grid-row: 1/5;
    width: 62px;
    height: 100px;
  }
  .selected-card h2 {
    grid-column: 2;
    margin: 1px 0;
    text-align: left;
    font-size: 13px;
  }
  .selected-duration {
    grid-column: 2;
    margin: 0;
    font-size: 9px;
  }
  .selected-value-ribbon {
    grid-column: 3;
    grid-row: 1;
    min-height: 20px;
    width: 70px;
    margin: 0;
    font-size: 8px;
  }
  .selected-value-ribbon span {
    font-size: 8px;
  }
  .selected-value-ribbon span::before {
    display: none;
  }
  .selected-card > h3 {
    grid-column: 2;
    margin: 3px 0 0;
    font-size: 8px;
  }
  .selected-card > h3:nth-of-type(n + 2) {
    grid-column: 1/-1;
    margin-top: 7px;
  }
  .today-total {
    grid-column: 2;
    font-size: 28px;
  }
  #selected-billing {
    grid-column: 2;
    margin: 0;
    font-size: 8px;
  }
  .selected-plan-comparison {
    position: relative;
    z-index: 2;
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    width: 100%;
    margin: 7px 0 0;
    padding: 4px;
    border: 1px solid #d9def0;
    border-radius: 999px;
    background: #fff;
    gap: 4px;
  }
  .selected-plan-comparison > button {
    display: flex;
    margin: 0;
    min-height: 36px;
    padding: 7px 6px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    text-align: center;
    font-size: 8px;
  }
  .selected-plan-comparison .active-plan-row {
    background: var(--blue);
    color: #fff;
  }
  .selected-plan-comparison > button + button {
    margin-top: 0;
  }
  .selected-plan-comparison strong {
    display: block;
  }
  #selected-value-note {
    grid-column: 1/-1;
    margin: 4px 0;
    font-size: 8px;
  }
  #selected-value-note::before {
    display: none;
  }
  .selected-card
    > p:not(.selected-duration):not(#selected-billing):not(.secure-note) {
    grid-column: 1/-1;
    margin: 0;
    font-size: 8px;
  }
  .selected-card .check-list {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 2px 0;
  }
  .check-list li {
    padding: 2px 2px 2px 11px;
    font-size: 7px;
  }
  .selected-card > strong {
    display: none;
  }
  .secure-note {
    grid-column: 1/-1;
    margin: 5px 0 0;
    padding: 5px;
    text-align: center;
    font-size: 8px;
  }
  .selected-card > .made-usa {
    display: block;
    grid-column: 3;
    grid-row: 2/5;
    align-self: start;
    justify-self: center;
    width: 58px;
    margin: 2px 0 0;
    pointer-events: none;
  }

  .checkout-form {
    padding: 8px;
  }
  .security-banner {
    margin: 0 0 7px;
    padding: 6px;
    border: 1px solid #cbe8d3;
    border-radius: 6px;
    font-size: 8px;
  }
  .checkout-form fieldset {
    margin: 8px 0 0;
  }
  .checkout-form legend {
    margin-bottom: 5px;
    font-size: 12px;
  }
  .checkout-form fieldset > p {
    margin: 0 0 5px;
    font-size: 7px;
  }
  .form-grid {
    width: 100%;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 5px;
  }
  .form-grid .full {
    grid-column: auto;
  }
  .form-grid label {
    font-size: 7px;
  }
  input,
  select {
    min-width: 0;
    max-width: 100%;
    height: 29px;
    margin-top: 2px;
    padding: 0 7px;
    border-width: 1px;
    border-radius: 5px;
    font-size: 8px;
  }
  .payment-summary-box {
    display: grid;
    grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
    width: 100%;
    margin-bottom: 5px;
    border-radius: 6px;
  }
  .payment-total {
    padding: 7px;
    gap: 2px;
  }
  .payment-total > div > span {
    font-size: 7px;
  }
  .payment-total small {
    display: none;
  }
  .payment-total > strong {
    font-size: 17px;
  }
  .coupon-block {
    padding: 5px;
  }
  .coupon-block > label {
    margin: 0;
    font-size: 7px;
  }
  .coupon-row {
    grid-template-columns: minmax(0, 1fr) 45px;
    gap: 3px;
  }
  .apply-coupon {
    min-width: 0;
    height: 29px;
    padding: 0;
    border-radius: 999px;
    font-size: 8px;
  }
  .coupon-message {
    min-height: 0;
    margin: 2px 0 0;
    font-size: 7px;
  }
  .payment-assets {
    justify-content: flex-start;
    margin: 3px 0 5px;
  }
  .payment-assets img {
    max-width: 38%;
    max-height: 25px;
  }
  .payment-help {
    display: none;
  }
  .checkbox {
    gap: 5px;
    margin-top: 5px;
    font-size: 7px !important;
  }
  .checkbox input {
    flex-basis: 10px;
    width: 10px;
    height: 10px;
    margin: 1px 0 0;
  }
  .agreements {
    padding-top: 7px !important;
  }
  .agreements p {
    margin-bottom: 3px !important;
    padding-left: 8px;
    font-size: 7px !important;
  }
  .agreements p::before {
    content: "•";
    margin-left: -8px;
    margin-right: 4px;
  }
  .place-order {
    margin-top: 8px;
    padding: 7px;
    border-radius: 999px;
    font-size: 11px;
  }

  .final-cta {
    left: auto;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 14px 18px;
    text-align: center;
    box-shadow: none;
    clip-path: none;
  }
  .final-cta .section-shell {
    width: 100%;
    margin: 0 auto;
  }
  .final-cta h2 {
    max-width: 260px;
    margin: 0 auto 4px;
    color: #fff;
    text-align: center;
    font-size: 17px;
  }
  .final-cta p:not(.eyebrow) {
    display: none;
  }
  .final-cta strong {
    max-width: 240px;
    margin: 0 auto 8px;
    color: #cdd5eb;
    text-align: center;
    font-size: 8px;
    font-weight: 500;
  }
  .final-cta a {
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 9px;
  }

  .mobile-legal {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px 13px;
    padding: 9px 12px;
    background: #fff;
    text-align: center;
  }
  .mobile-legal a {
    color: #61708a;
    text-decoration: none;
    font-size: 7px;
  }
  .mobile-legal small {
    flex-basis: 100%;
    color: #8a95a8;
    font-size: 7px;
  }
}

/* Keep the compact checkout centered when it is embedded in a page builder. */
@media (max-width: 620px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow-x: hidden !important;
  }

  body > header.mobile-site-header,
  body > main {
    position: relative;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
  }

  body > main > section {
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
  }

  /* Mobile spacing rhythm */
  .results-hero {
    padding: 8px 10px 10px;
  }

  .mobile-hero-layout {
    gap: 6px;
    padding: 10px;
  }

  .results-intro h1 {
    margin-bottom: 9px;
  }

  .analysis-badges {
    margin-top: 4px;
  }

  .mobile-hero-plan {
    margin-top: 0;
    padding-block: 8px;
  }

  .recommendation-section,
  .plans-section {
    padding: 13px 12px;
  }

  .recommendation-heading,
  .plans-section .section-heading {
    margin-bottom: 9px;
  }

  .recommendation-heading h2 {
    width: 100%;
    text-align: center;
  }

  .recommendation-info-body {
    padding: 12px 11px 10px;
  }

  .recommendation-info-body blockquote {
    margin: 8px 0;
    padding: 8px;
  }

  .recommendation-actions {
    gap: 6px;
    margin-top: 4px;
  }

  .recommendation-actions a {
    min-height: 31px;
    padding: 7px 9px;
  }

  .recommendation-benefits > div {
    min-height: 62px;
    padding: 9px 5px;
  }

  .recommendation-alternative {
    margin-top: 9px;
    padding: 8px 11px;
  }

  .duration-toggle {
    margin: 7px auto 10px;
  }

  .plan-stack {
    gap: 10px;
  }

  .product-card {
    gap: 2px 9px;
    padding: 11px 9px 9px;
  }

  .select-plan {
    min-height: 30px;
    margin-top: 6px;
    padding: 7px 8px;
  }

  .what-next {
    padding: 16px 16px 18px;
  }

  .what-next .section-heading.centered {
    margin-bottom: 13px;
  }

  .steps article {
    gap: 10px;
    padding-bottom: 12px;
  }

  .steps article:last-child {
    padding-bottom: 0;
  }

  .steps h3 {
    margin-bottom: 2px;
    line-height: 1.2;
  }

  .steps p {
    line-height: 1.4;
  }

  .checkout-area {
    padding: 0 12px 13px;
  }

  .checkout-grid {
    gap: 10px;
  }

  .selected-card {
    padding: 12px 10px;
  }

  .selected-plan-comparison {
    margin-top: 9px;
  }

  .secure-note {
    margin-top: 7px;
    padding: 7px;
  }

  .checkout-form {
    padding: 10px;
  }

  .security-banner {
    margin-bottom: 10px;
    padding: 8px;
  }

  .checkout-form fieldset {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid #e5eaf4;
  }

  .checkout-form fieldset:first-of-type {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
  }

  .checkout-form legend {
    margin-bottom: 7px;
  }

  .form-grid {
    gap: 7px 6px;
  }

  .payment-summary-box {
    margin-bottom: 8px;
  }

  .checkbox {
    margin-top: 7px;
  }

  .place-order {
    margin-top: 11px;
    padding: 9px;
  }

  /* Shield checkout controls from WordPress/theme form styles. */
  .checkout-form .form-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 9px !important;
  }

  .checkout-form .form-grid .full,
  .checkout-form .form-grid > label {
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .checkout-form input:not([type="checkbox"]),
  .checkout-form select {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 3px 0 0 !important;
    padding: 0 10px !important;
    border: 1px solid #ccdcff !important;
    border-radius: 7px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: var(--navy) !important;
    font:
      500 12px/1 Inter,
      Arial,
      sans-serif !important;
    letter-spacing: 0 !important;
    text-indent: 0 !important;
    appearance: auto;
  }

  .checkout-form input::placeholder {
    color: #818997 !important;
    font-size: 12px !important;
    opacity: 1;
  }

  .checkout-form .coupon-row {
    grid-template-columns: minmax(0, 1fr) 64px !important;
    gap: 6px !important;
  }

  .checkout-form .apply-coupon {
    width: 64px !important;
    min-width: 64px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 8px !important;
    font-size: 11px !important;
  }

  .checkout-form .payment-assets {
    flex-wrap: wrap;
    gap: 8px;
  }

  .checkout-form .payment-assets img {
    width: auto;
    max-width: 48%;
    height: auto;
  }

  .checkout-form .payment-summary-box {
    grid-template-columns: minmax(90px, 0.72fr) minmax(0, 1.55fr) !important;
    align-items: stretch;
    padding: 0 !important;
  }

  .checkout-form .payment-total {
    align-items: flex-start !important;
    justify-content: space-between !important;
    min-width: 0;
    padding: 9px 8px !important;
  }

  .checkout-form .payment-total > div > span,
  .checkout-form .coupon-block > label {
    margin: 0 0 5px !important;
    font-size: 8px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.02em !important;
  }

  .checkout-form .payment-total > strong {
    font-size: 19px !important;
    line-height: 40px !important;
  }

  .checkout-form .coupon-block {
    min-width: 0;
    padding: 9px 8px !important;
  }

  .checkout-form #coupon-code,
  .checkout-form #coupon-code::placeholder {
    font-size: 10px !important;
    letter-spacing: 0 !important;
  }

  .checkout-form .payment-assets {
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 12px;
    margin: 8px 0 10px;
  }

  .checkout-form .payment-assets img:first-child {
    max-width: 36%;
  }

  .checkout-form .payment-assets img:last-child {
    max-width: 52%;
  }
}

/* Brand buttons: dark #171992, light #1c68d9, pill shape, swap on hover. */
a.see-plan,
a.mobile-hero-plan,
a.recommendation-primary,
.see-plan,
.mobile-hero-plan,
.recommendation-primary,
.select-plan,
.place-order,
.apply-coupon,
.product-card.selected .select-plan {
  border-radius: 999px !important;
  background: #171992 !important;
  color: #fff !important;
  transition:
    background 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease;
}

a.see-plan:hover,
a.mobile-hero-plan:hover,
a.recommendation-primary:hover,
.see-plan:hover,
.mobile-hero-plan:hover,
.recommendation-primary:hover,
.select-plan:hover,
.place-order:hover,
.apply-coupon:hover,
.product-card.selected .select-plan:hover {
  background: #1c68d9 !important;
  color: #fff !important;
}

.final-cta a,
.duration-toggle button.active,
.result-tag.goal-tag {
  border-radius: 999px !important;
  background: #1c68d9 !important;
  color: #fff !important;
}

.final-cta a:hover,
.duration-toggle button.active:hover {
  background: #171992 !important;
  color: #fff !important;
}

.recommendation-secondary,
.recommendation-actions a.recommendation-secondary {
  border-radius: 999px !important;
  border: 2px solid #1c68d9 !important;
  background: #1c68d9 !important;
  color: #fff !important;
}

.recommendation-secondary:hover,
.recommendation-actions a.recommendation-secondary:hover {
  background: #171992 !important;
  border-color: #171992 !important;
  color: #fff !important;
}

.recommendation-secondary:hover,
.recommendation-actions a.recommendation-secondary:hover {
  background: #171992 !important;
  border-color: #171992 !important;
  color: #fff !important;
}

.result-tag {
  border-radius: 999px !important;
}

.final-cta,
.refund-disclaimer {
  background: #171992 !important;
}

/* Full-screen backgrounds, 1290px centered content like the site header. */
.checkout-fit {
  --checkout-content: 1290px;
  position: relative;
  left: 50%;
  width: 100vw;
  max-width: 100vw;
  margin-left: -50vw;
  box-sizing: border-box;
}

.checkout-fit .results-hero,
.checkout-fit .plans-section,
.checkout-fit .checkout-area,
.checkout-fit .final-cta {
  left: auto;
  width: 100%;
  max-width: none;
  margin-left: 0;
}

.checkout-fit .section-shell,
.checkout-fit .recommendation-section,
.checkout-fit .results-intro.section-shell,
.checkout-fit .projection-card.section-shell {
  width: min(var(--checkout-content), calc(100% - 48px));
  max-width: var(--checkout-content);
  margin-left: auto;
  margin-right: auto;
}

.checkout-fit .recommendation-feature,
.checkout-fit .recommendation-alternative {
  width: 100%;
  max-width: var(--checkout-content);
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 621px) {
  .checkout-fit .results-intro.section-shell {
    text-align: center;
  }

  .checkout-fit .results-intro p {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
  }

  .checkout-fit .analysis-label,
  .checkout-fit .analysis-badges {
    text-align: center;
    justify-content: center;
  }

  .checkout-fit .body-comparison {
    justify-content: center;
  }

  .checkout-fit .body-result {
    min-width: 245px;
    justify-content: center;
  }

  .checkout-fit .body-photo-frame,
  .checkout-fit .body-photo-placeholder {
    width: 245px;
    max-width: 245px;
    height: 255px;
    flex-shrink: 0;
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
  }
}

@media (max-width: 1023px) {
  .checkout-fit {
    left: auto;
    width: 100%;
    max-width: none;
    margin-left: 0;
  }

  .checkout-fit .section-shell {
    width: calc(100% - 24px);
  }
}

@media (max-width: 620px) {
  .checkout-fit .section-shell {
    width: calc(100% - 20px);
  }

  .checkout-fit .results-hero,
  .checkout-fit .plans-section,
  .checkout-fit .checkout-area,
  .checkout-fit .final-cta {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}

/* ========================================================================
   PAGE: FAQS
   Search: PAGE: FAQS / faqs.css
   Used by: faqs.html
   ======================================================================== */
/* stylelint-disable -- Legacy WordPress export retained for visual migration. */
:root {
  --faq-blue: #1c68d9;
  --faq-navy: #171992;
  --faq-ink: #111;
  --faq-muted: #4a5568;
  --faq-line: #e4e8ef;
  --faq-pale: #f4f6f9;
  --faq-white: #fff;
  --faq-max: 1290px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  margin: 0;
  overflow-x: hidden;
  background: var(--faq-white);
  color: var(--faq-ink);
  font-family: Inter, Arial, sans-serif;
}

.crx-faqs {
  position: relative;
  left: auto !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-right: calc(50% - 50vw) !important;
  margin-left: calc(50% - 50vw) !important;
  box-sizing: border-box;
}

body .crx-faqs {
  left: auto !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-right: calc(50% - 50vw) !important;
  margin-left: calc(50% - 50vw) !important;
}

.crx-shell {
  width: min(var(--faq-max), calc(100% - 48px));
  max-width: var(--faq-max);
  margin-inline: auto;
}

.faq-hero {
  position: relative;
  width: 100%;
  overflow: hidden;
  color: #fff;
  background: #fff;
}

.faq-hero-band {
  position: absolute;
  top: 64px;
  right: 0;
  bottom: 0;
  left: 0;
  background:
    radial-gradient(
      circle at 79% 34%,
      transparent 90px,
      rgba(255, 255, 255, 0.14) 91px,
      transparent 92px,
      transparent 155px,
      rgba(255, 255, 255, 0.12) 156px,
      transparent 157px,
      transparent 230px,
      rgba(255, 255, 255, 0.1) 231px,
      transparent 232px
    ),
    var(--faq-blue);
}

.faq-hero-band::before,
.faq-hero-band::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 50%;
  pointer-events: none;
}

.faq-hero-band::before {
  top: -90px;
  right: 5%;
  width: 340px;
  height: 340px;
}

.faq-hero-band::after {
  top: -150px;
  right: 19%;
  width: 520px;
  height: 520px;
}

.faq-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr);
  gap: clamp(30px, 4vw, 56px);
  align-items: stretch;
  padding: 24px 0 36px;
}

.faq-hero-media {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.faq-hero-media img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  border-radius: 18px;
  box-shadow: none;
  object-fit: cover;
  object-position: center;
}

.faq-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding-top: 68px;
}

.faq-hero h1 {
  margin: 0 0 48px;
  color: #fff;
  font-size: clamp(30px, 2.8vw, 42px);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.15;
}

.faq-hero-copy p {
  max-width: none;
  margin: 0 0 12px;
  color: #fff;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.6;
}

.faq-hero-copy .faq-hero-lead {
  margin-top: 10px;
  font-weight: 700;
}

.faq-ctas {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 18px;
}

.faq-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 10px 28px;
  border: 1.5px solid transparent;
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-transform: uppercase;
}

.faq-btn-navy {
  background: var(--faq-navy);
}
.faq-btn-blue {
  background: var(--faq-blue);
}
.faq-btn-white {
  background: #fff;
  border-color: #fff;
  color: var(--faq-navy);
}
.faq-btn-outline {
  background: var(--faq-white);
  border-color: #cfd5de;
  color: var(--faq-navy);
}

.faq-btn-navy:hover {
  background: var(--faq-blue);
  filter: none;
}
.faq-btn-blue:hover {
  background: var(--faq-navy);
  filter: none;
}
.faq-btn-white:hover {
  background: var(--faq-navy);
  border-color: var(--faq-navy);
  color: #fff;
}
.faq-btn-outline:hover {
  background: var(--faq-navy);
  border-color: var(--faq-navy);
  color: #fff;
}

.faq-jump {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  max-width: 880px;
  margin: 34px auto 52px;
}

.faq-jump a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 6px 14px;
  border: 1px solid var(--faq-line);
  border-radius: 999px;
  background: var(--faq-white);
  color: var(--faq-navy);
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
}

.faq-jump a:hover {
  border-color: var(--faq-blue);
  color: var(--faq-blue);
  background: #f4f8ff;
}

.faq-section {
  padding: 0 0 48px;
}

.faq-section h2 {
  margin: 0;
  color: #000;
  text-align: center;
  font-size: clamp(1.7rem, 3.8vw, 42px);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

.faq-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.faq-item {
  overflow: hidden;
  border-radius: 16px;
  background: var(--faq-blue);
}

.faq-item.is-open {
  box-shadow: 0 10px 28px rgba(23, 25, 146, 0.08);
}

.faq-item summary {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 68px;
  padding: 16px 20px;
  color: #fff;
  cursor: pointer;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.35;
  list-style: none;
}

.faq-item summary::-webkit-details-marker {
  display: none;
}
.faq-item summary:hover {
  background: rgba(0, 0, 0, 0.06);
}
.faq-item summary:focus-visible {
  outline: 3px solid rgba(23, 25, 146, 0.3);
  outline-offset: 2px;
}

.faq-icon {
  position: relative;
  display: grid;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 50%;
  background: var(--faq-navy);
}

.faq-icon::before,
.faq-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: #fff;
  border-radius: 1px;
  transform: translate(-50%, -50%);
}

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

.faq-icon::after {
  width: 2px;
  height: 14px;
  transition:
    transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.22s ease;
}

.faq-item.is-open .faq-icon::after {
  transform: translate(-50%, -50%) scaleY(0);
  opacity: 0;
}

.faq-answer {
  overflow: hidden;
  border: 1px solid var(--faq-line);
  border-top: 0;
  background: var(--faq-white);
  color: var(--faq-muted);
}

.faq-js .faq-item:not(.is-open) .faq-answer {
  height: 0;
  border-color: transparent;
}

.faq-js .faq-item.is-open .faq-answer,
.faq-item[open] .faq-answer {
  border-color: var(--faq-line);
}

.faq-answer > * {
  margin: 0;
  padding: 22px 24px 22px 70px;
  color: #444;
  font-size: 17px;
  line-height: 1.65;
}

.faq-answer p + p,
.faq-answer p + ul,
.faq-answer ul + p {
  padding-top: 0;
}

.faq-answer ul {
  padding-left: 92px;
}
.faq-answer li {
  margin: 0 0 6px;
}
.faq-answer strong {
  color: var(--faq-ink);
}

.faq-final {
  position: relative;
  left: auto;
  width: 100%;
  max-width: none;
  margin: 24px 0 0;
  padding: 72px 0;
  background: var(--faq-pale);
  text-align: center;
}

.faq-final h2 {
  max-width: 760px;
  margin: 0 auto 16px;
  color: var(--faq-navy);
  font-size: clamp(1.7rem, 3.2vw, 36px);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.25;
}

.faq-final p {
  max-width: 680px;
  margin: 0 auto;
  color: #222;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.65;
}

.faq-final .faq-ctas {
  margin-top: 28px;
}

html body main > section.faq-final {
  padding-top: 72px !important;
  padding-bottom: 40px !important;
  background: var(--faq-pale) !important;
}

html body main > section.faq-final .faq-ctas a.button.button--blue {
  border-color: #246bd7 !important;
  background: #246bd7 !important;
  color: #fff !important;
}

html body main > section.faq-final .faq-ctas a.button.button--blue:hover {
  border-color: var(--navy) !important;
  background: var(--navy) !important;
  color: #fff !important;
}

@media (max-width: 900px) {
  .crx-shell {
    width: min(100% - 32px, var(--faq-max));
  }
  .faq-hero-band {
    top: 48px;
  }
  .faq-hero-grid {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 20px 0 28px;
  }
  .faq-hero-media img {
    max-height: none;
    object-position: center;
  }
  .faq-hero-copy {
    padding-top: 18px;
  }
  .faq-item summary {
    font-size: 16px;
    min-height: 58px;
  }
  .faq-answer > * {
    padding-left: 20px;
    font-size: 16px;
  }
  .faq-answer ul {
    padding-left: 40px;
  }
}

@media (max-width: 620px) {
  .faq-hero-band {
    top: 34px;
  }
  .faq-hero-grid {
    width: min(100% - 24px, var(--faq-max));
    padding: 14px 0 24px;
  }
  .faq-hero-media img {
    border-radius: 18px;
  }
  .faq-hero-copy {
    padding-top: 10px;
    text-align: center;
  }
  .faq-hero h1 {
    margin-bottom: 14px;
    font-size: 32px;
  }
  .faq-hero-copy p,
  .faq-final p {
    font-size: 15px;
  }
  .faq-ctas {
    gap: 10px;
  }
  .faq-btn {
    width: 100%;
    max-width: 280px;
  }
  .faq-jump {
    margin-top: 26px;
    margin-bottom: 32px;
  }
  .faq-section {
    padding-bottom: 32px;
  }
  .faq-section h2 {
    margin-bottom: 16px;
  }
  .faq-item summary {
    gap: 10px;
    min-height: 52px;
    padding: 12px 14px;
    font-size: 15px;
  }
  .faq-icon {
    flex-basis: 30px;
    width: 30px;
    height: 30px;
    font-size: 20px;
  }
  .faq-final {
    padding: 48px 0;
  }

  html body main > section.faq-final {
    padding-top: 48px !important;
    padding-bottom: 40px !important;
  }
}

@media (max-width: 767px) {
  html body .crx-faqs > .faq-jump {
    margin-bottom: 0 !important;
  }

  html body .crx-faqs > .faq-section {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

/* ========================================================================
   PAGE: GLP-1 NOT ELIGIBLE
   Search: PAGE: GLP-1 NOT ELIGIBLE / glp-1-not-eligible.css
   Used by: glp-1-not-eligible.html
   ======================================================================== */
@layer page {
  .not-eligible-page {
    min-height: 100vh;
    background:
      radial-gradient(circle at 12% 12%, rgb(22 143 194 / 18%), transparent 32%),
      radial-gradient(circle at 88% 8%, rgb(38 52 119 / 14%), transparent 30%),
      linear-gradient(135deg, #f6fbff 0%, #edf7fc 100%);
  }

  .not-eligible-main {
    display: flex;
    min-height: calc(100vh - 7.5rem);
    align-items: center;
    justify-content: center;
    padding: clamp(2.5rem, 7vw, 5.625rem) var(--gutter);
  }

  .not-eligible-card {
    position: relative;
    width: min(57.5rem, 100%);
    padding: clamp(2.375rem, 5vw, 3.75rem);
    overflow: hidden;
    border: 1px solid rgb(209 226 239 / 90%);
    border-radius: 2.125rem;
    background: rgb(255 255 255 / 98%);
    box-shadow:
      0 1.75rem 5rem rgb(16 32 51 / 13%),
      inset 0 1px 0 rgb(255 255 255 / 90%);
  }

  .not-eligible-card::before {
    position: absolute;
    inset: 0 0 auto;
    height: 0.4375rem;
    background: linear-gradient(90deg, #263477, #168fc2);
    content: "";
  }

  .not-eligible-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
    padding: 0.625rem 1rem;
    border-radius: 999px;
    color: #0f83b8;
    background: #e7f6fd;
    font-size: 0.875rem;
    font-weight: 800;
    line-height: 1;
  }

  .not-eligible-badge::before {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: #168fc2;
    content: "";
  }

  .not-eligible-card h1 {
    max-width: 48.75rem;
    margin: 0 0 1.75rem;
    color: #263477;
    font-size: clamp(2.25rem, 4.5vw, 3.375rem);
    font-weight: 900;
    letter-spacing: -0.045em;
    line-height: 1.04;
  }

  .not-eligible-card h2 {
    margin: 2.75rem 0 1.25rem;
    color: #102033;
    font-size: clamp(1.5625rem, 3vw, 1.875rem);
    font-weight: 900;
    letter-spacing: -0.035em;
    line-height: 1.18;
  }

  .not-eligible-card p {
    max-width: 50.625rem;
    margin: 0 0 1.125rem;
    color: #344b63;
    font-size: 1.0625rem;
    line-height: 1.78;
  }

  .not-eligible-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 1rem;
    margin: 2.375rem 0 2.25rem;
  }

  .not-eligible-button {
    display: inline-flex;
    min-height: 3.625rem;
    align-items: center;
    justify-content: center;
    padding: 1rem 1.875rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
  }

  .not-eligible-button:hover {
    transform: translateY(-2px);
  }

  .not-eligible-button--primary {
    color: #fff;
    background: linear-gradient(135deg, #263477 0%, #171f59 100%);
    box-shadow: 0 0.875rem 1.75rem rgb(38 52 119 / 24%);
  }

  .not-eligible-button--secondary {
    border-color: #d4ebf7;
    color: #263477;
    background: #e8f5fb;
  }

  .not-eligible-note {
    margin-top: 2.125rem;
    padding: 1.75rem 1.875rem;
    border: 1px solid #d7e8f3;
    border-radius: 1.5rem;
    background: linear-gradient(180deg, rgb(255 255 255 / 90%), rgb(245 251 255 / 95%));
    box-shadow: 0 0.75rem 2.125rem rgb(16 32 51 / 6%);
  }

  .not-eligible-note h2 {
    margin: 0 0 0.75rem;
    color: #263477;
    font-size: 1.375rem;
  }

  .not-eligible-note p {
    margin: 0;
    color: #3d5268;
    font-size: 0.9688rem;
    line-height: 1.68;
  }

  @media (max-width: 48rem) {
    .not-eligible-main {
      align-items: flex-start;
      padding-block: 2.375rem;
    }

    .not-eligible-card {
      padding: 2.375rem 1.375rem 1.75rem;
      border-radius: 1.625rem;
    }

    .not-eligible-card p {
      font-size: 1rem;
      line-height: 1.68;
    }

    .not-eligible-actions {
      flex-direction: column;
      margin-block: 1.875rem;
    }

    .not-eligible-button {
      width: 100%;
    }

    .not-eligible-note {
      padding: 1.375rem;
      border-radius: 1.25rem;
    }
  }
}

/* Keep gap above not-eligible CTAs (global site-heading sibling rule zeroes margin-top) */
html body .not-eligible-card .not-eligible-actions {
  margin-top: 40px !important;
}

/* ========================================================================
   PAGE: HOME
   Search: PAGE: HOME / home.css
   Used by: index.html
   ======================================================================== */
/* stylelint-disable -- Consolidated legacy homepage design stylesheet. */
/* Home123combined: hero, patient feedback, and trust strip */
body {
  margin: 0;
}

.home-main {
  --main-navy: #171992;
  --main-blue: #1c68d9;
  --main-white: #fff;
  --main-max: 1290px;
  box-sizing: border-box;
  position: relative;
  left: auto;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  display: flex;
  align-items: center;
  min-height: min(100vh, 860px);
  padding: 8vh max(24px, calc((100vw - var(--main-max)) / 2));
  overflow: hidden;
  background: var(--main-navy);
  color: var(--main-white);
  font-family: Inter, Arial, sans-serif;
  text-align: left;
}

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

.home-main-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.home-main-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgb(10 33 52 / 92%) 0%,
    rgb(10 33 52 / 72%) 40%,
    rgb(10 33 52 / 10%) 72%
  );
  pointer-events: none;
}

.home-main-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 68% 42%;
}

.home-main-copy {
  position: relative;
  z-index: 1;
  display: flex;
  width: min(820px, 48%);
  max-width: 820px;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}

.home-main-copy h1 {
  margin: 0 0 22px;
  color: var(--main-white);
  font-size: 52px;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.18;
  text-shadow: 0 8px 28px rgb(23 25 146 / 55%);
}

.home-main-lead {
  margin: 0 0 22px;
  color: var(--main-white);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.55;
  text-shadow: 0 6px 22px rgb(23 25 146 / 50%);
}

.home-main-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  align-self: flex-start;
  gap: 12px;
  width: auto;
  max-width: 100%;
  margin: 0 0 32px;
  padding: 0;
}

.home-main-btn {
  display: inline-flex;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  min-height: 48px;
  padding: 12px 26px;
  margin: 0;
  border: 2px solid transparent;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  overflow-wrap: normal;
}

.home-main-btn--primary {
  border-color: var(--main-navy);
  background: var(--main-navy);
  color: var(--main-white);
}

.home-main-btn--primary:hover {
  border-color: var(--main-blue);
  background: var(--main-blue);
}

.home-main-btn--secondary {
  border-color: var(--main-white);
  background: var(--main-white);
  color: var(--main-navy);
}

.home-main-btn--secondary:hover {
  border-color: var(--main-navy);
  background: var(--main-navy);
  color: var(--main-white);
}

.home-main-note {
  margin: 0 0 12px;
  color: var(--main-white);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
}

.home-main-disclaimer {
  margin: 0;
  color: var(--main-white);
  font-size: 13px;
  font-weight: 400;
  font-style: italic;
  line-height: 1.5;
}

@media (min-width: 1024px) {
  .home-main {
    padding-left: max(24px, calc((100vw - var(--main-max)) / 2));
    padding-right: max(24px, calc((100vw - var(--main-max)) / 2));
  }
}

@media (max-width: 1023px) {
  .home-main {
    left: auto;
    width: 100%;
    max-width: none;
    margin-left: 0;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    min-height: 500px;
    height: auto;
    max-height: none;
    padding: 32px 48% 28px 24px;
  }

  .home-main-media img {
    object-position: 70% 40%;
  }

  .home-main-media::after {
    background: linear-gradient(
      90deg,
      rgb(10 33 52 / 86%) 0%,
      rgb(10 33 52 / 58%) 38%,
      rgb(10 33 52 / 12%) 68%,
      transparent 86%
    );
  }

  .home-main-copy {
    width: 100%;
    max-width: 420px;
    margin-left: 0;
    margin-right: auto;
    height: auto;
    text-align: left;
  }

  .home-main-top {
    max-width: none;
  }

  .home-main-copy h1 {
    margin: 0 0 12px;
    font-size: 28px;
    line-height: 1.22;
  }

  .home-main-lead {
    margin: 0 0 18px;
    font-size: 15px;
    line-height: 1.45;
  }

  .home-main-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    gap: 10px;
    width: 100%;
    max-width: none;
    margin: 0;
  }

  html body .home-main-actions .button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .home-main-btn {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 10px 12px;
    font-size: 14px;
  }

  .home-main-fine {
    display: none;
  }
}

@media (max-width: 640px) {
  .home-main {
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    min-height: 460px;
    height: auto;
    max-height: none;
    padding: 24px 16px 16px;
  }

  .home-main-media img {
    object-position: 62% 38%;
  }

  .home-main-media::after {
    background: linear-gradient(
      90deg,
      rgb(10 33 52 / 82%) 0%,
      rgb(10 33 52 / 48%) 42%,
      rgb(10 33 52 / 10%) 70%,
      transparent 88%
    );
  }

  .home-main-copy {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    width: 100%;
    max-width: none;
    flex: 0 0 auto;
    height: auto;
  }

  .home-main-top {
    max-width: 56%;
  }

  .home-main-copy h1 {
    margin: 12px 0 10px;
    font-size: 22px;
    line-height: 1.18;
  }

  .home-main-lead {
    margin: 0 0 16px;
    font-size: 14px;
    line-height: 1.45;
  }

  .home-main-actions {
    margin-top: 0;
  }

  .home-main-btn {
    min-height: 44px;
    padding: 12px 18px;
    font-size: 14px;
  }
}

@media (max-width: 360px) {
  .home-main-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-main-btn {
    width: 100% !important;
    min-width: 0 !important;
    padding-inline: 6px !important;
    font-size: 13px !important;
  }
}

.crx-feedback,
.crx-feedback * {
  box-sizing: border-box;
}

.crx-feedback {
  --crx-blue: #1c68d9;
  --crx-ink: #080b24;
  --crx-soft-blue: #eef2ff;
  --crx-line: #cbd7ff;
  overflow: hidden;
  position: relative;
  left: auto;
  width: min(100%, 1290px);
  max-width: 1290px;
  margin-inline: auto;
  padding: 0 0 24px;
  background:
    radial-gradient(
      circle at 50% 8%,
      rgba(28, 104, 217, 0.08),
      transparent 31%
    ),
    #fff;
  color: var(--crx-ink);
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}

.crx-feedback__heading {
  position: relative;
  z-index: 4;
  width: min(1290px, calc(100vw - 48px));
  max-width: 1290px;
  margin: 0 auto 18px;
  padding-top: var(--site-heading-pad-top);
  text-align: center;
}

.crx-feedback__eyebrow {
  margin: 0 0 12px;
  color: #504d4b;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.crx-feedback__stars {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-bottom: 15px;
  color: #f2b35f;
  font-size: 24px;
  line-height: 1;
}

.crx-feedback h2 {
  max-width: 980px;
  margin: 0 auto;
  color: var(--crx-ink);
  font-size: 42px;
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 1.08;
}

.crx-feedback h2 em {
  color: var(--crx-blue);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  white-space: nowrap;
}

.crx-feedback__board {
  position: relative;
}

.crx-feedback__marquees {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 16px;
  transform: none;
}

.crx-feedback__vial-slot {
  position: absolute;
  z-index: 3;
  inset: 0;
  pointer-events: none;
}

.crx-feedback__vial-slot::before {
  content: "";
  position: absolute;
  top: -40%;
  bottom: -40%;
  left: 0;
  width: calc(var(--vial-left, 24px) + 380px);
  background: linear-gradient(90deg, #fff 0 70%, rgba(255, 255, 255, 0) 100%);
}

.crx-feedback__vial-slot::after {
  content: "";
  position: absolute;
  top: -40%;
  right: 0;
  bottom: -40%;
  width: clamp(90px, 10vw, 180px);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), #fff 72%);
}

.crx-feedback__vials {
  position: absolute;
  left: var(--vial-left, 24px);
  bottom: -64px;
  top: -64px;
  width: clamp(260px, 25vw, 360px);
  pointer-events: none;
}

.crx-feedback__vial {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
  opacity: 0;
  transform: translateY(12px) rotate(-7deg) scale(0.98);
  transform-origin: 45% 85%;
  transition:
    opacity 0.7s ease,
    transform 0.9s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.crx-feedback__vial.is-active {
  opacity: 1;
  transform: translateY(0) rotate(-7deg) scale(1);
}

@media (min-width: 701px) {
  .crx-feedback__vials {
    top: 50%;
    bottom: auto;
    width: clamp(220px, 22vw, 310px);
    height: clamp(240px, 22vw, 310px);
    transform: translateY(-86%);
  }
}

.crx-feedback__marquee {
  --crx-duration: 50s;
  display: flex;
  width: 100%;
  overflow: hidden;
  touch-action: pan-y;
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent,
    #000 6%,
    #000 94%,
    transparent
  );
  mask-image: linear-gradient(
    90deg,
    transparent,
    #000 6%,
    #000 94%,
    transparent
  );
}

.crx-feedback__track {
  display: flex;
  width: max-content;
  animation: crx-feedback-left var(--crx-duration) linear infinite;
  will-change: transform;
}

.crx-feedback__marquee[data-direction="right"] .crx-feedback__track {
  animation-name: crx-feedback-right;
}

.crx-feedback__group {
  display: flex;
  flex-shrink: 0;
  gap: 16px;
  padding-right: 16px;
}

.crx-feedback blockquote {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  height: 52px;
  min-height: 52px;
  width: auto;
  max-width: 420px;
  margin: 0;
  padding: 0 28px;
  border: 1.5px solid rgba(28, 104, 217, 0.22);
  border-radius: 999px;
  background: #fff;
  box-shadow: none;
  color: #171992;
  font-size: 15px;
  font-style: italic;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}

.crx-feedback__group blockquote:nth-child(4n + 2) {
  border-color: #a8b8ff;
  background: linear-gradient(135deg, #eef2ff, #dfe6ff);
}

.crx-feedback__group blockquote:nth-child(4n + 3) {
  border-color: #879eff;
  background: linear-gradient(135deg, #e4eaff, #cfd9ff);
}

.crx-feedback__group blockquote:nth-child(4n + 4) {
  border-color: #b7c4ff;
  background: linear-gradient(135deg, #f5f7ff, #e9edff);
}

.crx-feedback__marquee:hover .crx-feedback__track {
  animation-play-state: paused;
}

@keyframes crx-feedback-left {
  to {
    transform: translateX(-50%);
  }
}

@keyframes crx-feedback-right {
  from {
    transform: translateX(-50%);
  }
  to {
    transform: translateX(0);
  }
}

@media (max-width: 1000px) {
  .crx-feedback {
    padding-top: 0;
  }

  .crx-feedback__heading {
    width: min(900px, calc(100vw - 36px));
  }

  .crx-feedback h2 {
    max-width: 790px;
    font-size: 34px;
  }

  .crx-feedback__vials {
    width: clamp(190px, 24vw, 260px);
  }

  .crx-feedback blockquote {
    height: 52px;
    min-height: 52px;
    max-width: min(70vw, 340px);
    white-space: nowrap;
  }
}

@media (max-width: 700px) {
  .crx-feedback {
    padding: 0 0 34px;
  }

  .crx-feedback__heading {
    width: min(100% - 28px, 540px);
    margin-bottom: 18px;
  }

  .crx-feedback__eyebrow {
    margin-bottom: 7px;
    font-size: 10px;
    line-height: 1.4;
  }

  .crx-feedback__stars {
    gap: 3px;
    margin-bottom: 9px;
    font-size: 15px;
  }

  .crx-feedback h2 {
    max-width: 500px;
    font-size: clamp(21px, 6.2vw, 27px);
    letter-spacing: -0.035em;
    line-height: 1.08;
  }

  .crx-feedback__marquees {
    gap: 10px;
    transform: none;
  }

  .crx-feedback__group {
    gap: 10px;
    padding-right: 10px;
  }

  .crx-feedback blockquote {
    height: 40px;
    min-height: 40px;
    width: max-content;
    max-width: none;
    padding: 0 16px;
    border-width: 1px;
    border-radius: 999px;
    font-size: 14px;
    line-height: 1.2;
    white-space: nowrap;
  }

  .crx-feedback__board {
    min-height: 118px;
    overflow: visible;
  }

  .crx-feedback__vials {
    top: 50%;
    bottom: auto;
    left: var(--vial-left, 8px);
    width: 96px;
    height: 136px;
    transform: translateY(-50%);
  }

  .crx-feedback__vial {
    object-position: center center;
    transform: translateY(8px) rotate(-15deg) scale(0.98);
    transform-origin: 50% 80%;
  }

  .crx-feedback__vial.is-active {
    transform: translateY(0) rotate(-15deg) scale(1);
  }

  .crx-feedback__vial-slot::before {
    width: calc(var(--vial-left, 8px) + 148px);
    background: linear-gradient(
      90deg,
      #fff 0 38%,
      rgba(255, 255, 255, 0.88) 62%,
      rgba(255, 255, 255, 0) 100%
    );
  }

  .crx-feedback__vial-slot::after {
    width: 64px;
  }
}

@media (max-width: 430px) {
  .crx-feedback {
    padding: 0 0 30px;
  }

  .crx-feedback__heading {
    width: calc(100% - 24px);
    margin-bottom: 16px;
  }

  .crx-feedback__eyebrow {
    margin-bottom: 6px;
    font-size: 10px;
    letter-spacing: 0.12em;
  }

  .crx-feedback__stars {
    gap: 3px;
    margin-bottom: 8px;
    font-size: 14px;
  }

  .crx-feedback h2 {
    font-size: clamp(20px, 6.2vw, 24px);
  }

  .crx-feedback h2 em {
    white-space: normal;
  }

  .crx-feedback blockquote {
    width: max-content;
    max-width: none;
    height: 38px;
    min-height: 38px;
    padding: 0 14px;
    font-size: 14px;
  }

  .crx-feedback__vials {
    top: 50%;
    bottom: auto;
    left: var(--vial-left, 6px);
    width: 90px;
    height: 128px;
    transform: translateY(-50%);
  }

  .crx-feedback__vial-slot::before {
    width: calc(var(--vial-left, 6px) + 136px);
  }

  .crx-feedback__vial-slot::after {
    width: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .crx-feedback__marquee {
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-mask-image: none;
    mask-image: none;
  }

  .crx-feedback__marquee::-webkit-scrollbar {
    display: none;
  }

  .crx-feedback__track {
    animation: none !important;
  }

  .crx-feedback__track > [aria-hidden="true"] {
    display: none;
  }

  .crx-feedback__vial:not(.is-active) {
    display: none;
  }
}

@media (max-width: 1023px) {
  .crx-feedback {
    left: auto;
    width: 100%;
    max-width: none;
    margin-left: 0;
  }
}

/* Tablet feedback layout: keep the vial below the heading and quotes readable. */
@media (min-width: 701px) and (max-width: 1023px) {
  .crx-feedback {
    padding: 0 0 36px;
  }

  .crx-feedback__heading {
    width: min(100% - 40px, 820px);
    margin-bottom: 22px;
  }

  .crx-feedback__eyebrow {
    margin-bottom: 8px;
    font-size: 14px;
  }

  .crx-feedback__stars {
    margin-bottom: 10px;
    font-size: 18px;
  }

  .crx-feedback h2 {
    max-width: 780px;
    font-size: clamp(30px, 4vw, 36px);
    line-height: 1.08;
  }

  .crx-feedback__board {
    min-height: 120px;
  }

  .crx-feedback__vials {
    top: auto;
    bottom: -18px;
    left: 8px;
    width: clamp(125px, 16vw, 155px);
    height: clamp(145px, 18vw, 175px);
    transform: none;
  }

  .crx-feedback__vial-slot::before {
    width: 180px;
  }

  .crx-feedback__vial-slot::after {
    width: 58px;
  }

  .crx-feedback blockquote {
    max-width: min(52vw, 360px);
    padding-inline: 22px;
    font-size: 15px;
  }
}
body {
  margin: 0;
}

.home-trust {
  --trust-navy: #171992;
  --trust-white: #fff;
  --trust-muted: rgba(255, 255, 255, 0.7);
  --trust-max: 1290px;
  --trust-gap-x: 32px;
  /* One column track: 4 cols + 3 gaps across --trust-max */
  --trust-col: calc((var(--trust-max) - 3 * var(--trust-gap-x)) / 4);
  box-sizing: border-box;
  position: relative;
  left: auto;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: 48px max(24px, calc((100vw - var(--trust-max)) / 2));
  background: var(--trust-navy);
  color: var(--trust-white);
  font-family: Inter, Arial, sans-serif;
}

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

.home-trust-shell {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px var(--trust-gap-x);
  width: min(var(--trust-max), 100%);
  margin-inline: auto;
}

.home-trust-item {
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr);
  column-gap: 12px;
  align-items: start;
  min-height: 140px;
  padding: 20px;
  border: 1px solid #e3e8f0;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 6px 20px rgb(8 12 70 / 8%);
  text-align: left;
}

.home-trust-icon {
  display: grid;
  grid-column: 1;
  grid-row: 1;
  place-items: center;
  width: 27px;
  height: 27px;
  margin: 2px 0 0;
  color: #171b8e;
}

.home-trust-icon svg {
  display: block;
  width: 27px;
  height: 27px;
}

.home-trust-item h3 {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  color: #15182b;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  text-wrap: balance;
}

.home-trust-item p {
  grid-column: 2;
  grid-row: 2;
  margin: 7px 0 0;
  color: #5b6475;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
}

@media (max-width: 999px) {
  .home-trust {
    left: auto;
    width: 100%;
    max-width: none;
    margin-left: 0;
    padding: 42px 24px;
  }
  .home-trust-shell {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
  .home-trust-item {
    min-height: 120px;
  }
}

@media (max-width: 620px) {
  .home-trust {
    padding: 32px 20px;
  }
  .home-trust-shell {
    grid-template-columns: 1fr;
    gap: 12px;
    width: 100%;
  }
  .home-trust-item {
    min-height: 108px;
    padding: 17px 18px;
    border-radius: 18px;
  }
  .home-trust-icon,
  .home-trust-icon svg {
    width: 25px;
    height: 25px;
  }
  .home-trust-item h3 {
    font-size: 16px;
  }
  .home-trust-item p {
    font-size: 14px;
    line-height: 1.4;
  }
}

.why-story__card h2 {
  text-transform: none;
}

html body .why-story__card p,
html body .why-story__card h2.site-heading + p,
html body .why-story__card h2.site-heading + p + p,
html body .why-story__card h2.site-heading + p + p + p {
  margin-top: clamp(2rem, 4vw, 3.5rem) !important;
  margin-bottom: 0 !important;
  color: rgb(255 255 255 / 76%);
}

html body .closing-cta p,
html body .closing-cta h2.site-heading + p {
  color: #fff;
}

/* Final pricing-ribbon sizing. Keep the full fold inside responsive cards. */
body .crx-pricing-section .crx-card > img.crx-ribbon-img {
  top: -15px !important;
  right: -17px !important;
  width: 150px !important;
  inline-size: 150px !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  object-fit: contain;
  transform: none !important;
  transform-origin: top right;
}

@media (max-width: 991px) {
  body .crx-pricing-section .crx-card > img.crx-ribbon-img {
    top: -14px !important;
    right: -14px !important;
    width: 130px !important;
    inline-size: 130px !important;
  }
}

@media (max-width: 767px) {
  body .crx-pricing-section .crx-card > img.crx-ribbon-img {
    top: -12px !important;
    right: -13px !important;
    width: 115px !important;
    inline-size: 115px !important;
  }
}

@media (max-width: 430px) {
  body .crx-pricing-section .crx-card > img.crx-ribbon-img {
    top: -11px !important;
    right: -12px !important;
    width: 115px !important;
    inline-size: 115px !important;
  }
}

/* Pricing-card CTAs only. */
body .crx-pricing-section .crx-card-actions .crx-btn {
  min-height: 56px !important;
  padding: 14px 22px !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
}

body .crx-pricing-section .crx-card-actions {
  gap: 12px;
}

@media (max-width: 991px) {
  body .crx-pricing-section .crx-card-actions .crx-btn {
    min-height: 52px !important;
    padding: 12px 18px !important;
    font-size: 16px !important;
  }
}

@media (max-width: 767px) {
  body .crx-pricing-section .crx-card-actions .crx-btn {
    min-height: 50px !important;
    padding: 11px 16px !important;
    font-size: 15px !important;
  }

  body .crx-pricing-section .crx-product-img {
    width: auto;
    max-width: 100%;
    height: 150px;
    object-fit: contain;
  }
}

/* Shared pricing-card refinements. */
body .crx-badge-icon {
  display: inline-grid;
  width: 1em;
  height: 1em;
  flex: 0 0 1em;
  color: currentcolor;
  font-family: Arial, sans-serif;
  font-size: 0.95em;
  font-weight: 700;
  line-height: 1;
  place-items: center;
}

/* Header: replace the floating account icon with a visible Account item. */
header .ct-header-account,
[data-id="account"].ct-header-account {
  display: flex !important;
  align-items: center;
  flex-shrink: 0;
}

header .ct-header-account .ct-account-item {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  color: inherit;
  text-decoration: none;
}

header .ct-header-account .ct-icon {
  order: -1;
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

header .ct-header-account .ct-label {
  display: inline !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  font-size: 0 !important;
  line-height: 0 !important;
  white-space: nowrap;
}

header .ct-header-account .ct-label::after {
  content: "Account";
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
  text-transform: uppercase;
}

@media (max-width: 767px) {
  header .ct-header-account .ct-label::after {
    font-size: 14px;
  }
}

/* Benefits */
body {
  margin: 0;
}

.home-benefits {
  --benefits-blue: #1c68d9;
  --benefits-navy: #171992;
  --benefits-white: #fff;
  --benefits-muted: rgba(255, 255, 255, 0.7);
  /* Same outer container as .home-trust */
  --benefits-max: 1290px;
  --benefits-gap-x: 32px;
  box-sizing: border-box;
  position: relative;
  z-index: 3;
  left: auto;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
  padding: 40px max(24px, calc((100vw - var(--benefits-max)) / 2));
  background-color: var(--benefits-blue);
  background-image:
    radial-gradient(
      circle at 92% 115%,
      transparent 0 13rem,
      rgb(255 255 255 / 60%) 13.05rem 13.12rem,
      transparent 13.18rem
    ),
    radial-gradient(
      circle at 8% -50%,
      transparent 0 11rem,
      rgb(255 255 255 / 16%) 11.05rem 11.12rem,
      transparent 11.18rem
    );
  background-position: 50% 0;
  background-repeat: no-repeat;
  background-size: cover;
  color: var(--benefits-white);
  font-family: Inter, Arial, sans-serif;
}

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

.home-benefits-shell {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 292px));
  justify-content: center;
  align-items: stretch;
  gap: 48px;
  width: min(var(--benefits-max), 100%);
  max-width: var(--benefits-max);
  margin-inline: auto;
}

.home-benefits-card {
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr);
  column-gap: 12px;
  align-items: start;
  width: 100%;
  min-height: 112px;
  padding: 16px 18px;
  border: 1px solid #e3e8f0;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 6px 20px rgb(8 12 70 / 8%);
  text-align: left;
}

.home-benefits-icon {
  display: grid;
  grid-column: 1;
  grid-row: 1;
  place-items: center;
  width: 27px;
  height: 27px;
  margin: 2px 0 0;
  color: #171b8e;
}

.home-benefits-icon svg {
  display: block;
  width: 27px;
  height: 27px;
}

.home-benefits-card h3 {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  color: #15182b;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  min-height: 0;
  text-wrap: balance;
}

.home-benefits-card p {
  grid-column: 2;
  grid-row: 2;
  margin: 7px 0 0;
  color: #5b6475;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  min-height: 0;
}

@media (max-width: 1119px) {
  .home-benefits {
    left: auto;
    width: 100%;
    max-width: none;
    margin-left: 0;
    padding: 32px 20px;
  }

  .home-benefits-shell {
    grid-template-columns: repeat(2, minmax(0, 292px));
    justify-content: center;
    gap: 20px;
  }
}

@media (max-width: 767px) {
  .home-benefits {
    padding: 32px 20px;
  }

  .home-benefits-shell {
    grid-template-columns: 1fr;
    gap: 12px;
    width: 100%;
  }

  .home-benefits-card {
    min-height: 100px;
    padding: 15px 18px;
    border-radius: 18px;
  }

  .home-benefits-icon,
  .home-benefits-icon svg {
    width: 25px;
    height: 25px;
  }

  .home-benefits-card h3 {
    font-size: 16px;
  }

  .home-benefits-card p {
    font-size: 14px;
    line-height: 1.4;
  }
}

/* Pricing */
.crx-pricing-section {
  --crx-pricing-bg: #f4f8ff;
  padding: 0 20px 20px;
  background: var(--crx-pricing-bg);
  overflow: visible;
  position: relative;
  z-index: 1;
  left: auto;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 0;
  box-sizing: border-box;
}

@media (min-width: 992px) {
  .crx-pricing-section {
    padding-left: max(20px, calc((100vw - 1290px) / 2));
    padding-right: max(20px, calc((100vw - 1290px) / 2));
  }
}

.site-header,
header,
.wp-block-template-part,
.wp-site-blocks > header,
.ast-primary-header-bar {
  z-index: 9999 !important;
}

.site-header {
  position: sticky;
  top: 0;
}

.crx-header {
  text-align: center;
  max-width: 1290px;
  margin: auto;
  margin-bottom: 28px;
  padding: 0 !important;
}

.crx-eyebrow {
  display: inline-block;
  padding: 10px 18px;
  border-radius: 999px;
  background: #eef2ff;
  color: #1c68d9;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  margin-bottom: 18px;
}

.crx-header h2 {
  font-size: 56px;
  line-height: 1.08;
  margin: 0;
  color: #080b24;
}

.crx-header p {
  margin: 0;
  font-size: 18px;
  color: #667085;
}

.crx-toggle {
  display: flex;
  max-width: 720px;
  margin: 18px auto 0;
  background: #fff;
  border: 1px solid #d9def0;
  border-radius: 999px;
  padding: 6px;
}

.crx-toggle-btn {
  flex: 1;
  border: none;
  background: transparent;
  padding: 16px;
  font-size: 18px;
  font-weight: 800;
  cursor: pointer;
  border-radius: 999px;
  color: #4b5565;
  transition: 0.25s ease;
}

.crx-toggle-btn.active {
  background: #1c68d9;
  color: #fff;
  box-shadow: 0 8px 22px rgba(28, 104, 217, 0.22);
}

.crx-toggle-btn.active:hover {
  background: #171992;
}

.crx-mobile-swipe-hint,
.crx-swipe-indicator {
  display: none;
}

.crx-grid-wrap {
  position: relative;
  width: 100%;
  min-width: 0;
  max-width: 1290px;
  margin: auto;
  overflow: visible;
  background: var(--crx-pricing-bg, #f4f8ff);
}

.crx-grid-scroll {
  width: 100%;
  min-width: 0;
}

.crx-grid {
  width: 100%;
  min-width: 0;
  max-width: 1290px;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  padding-top: 18px;
  overflow: visible;
}

.crx-card {
  background: #fff;
  border: 2px solid #1c68d9;
  border-radius: 28px;
  padding: 40px 34px;
  position: relative;
  cursor: pointer;
  overflow: visible;
  z-index: 1;
  min-width: 0;
  box-shadow: none;
  transition: 0.3s ease;
}

.crx-card:hover {
  transform: none;
  box-shadow: none;
}

.crx-featured {
  border: 2px solid #1c68d9;
  box-shadow: none;
}

.crx-ribbon-img {
  position: absolute;
  height: auto;
  z-index: 2;
  display: none;
  opacity: 1;
  visibility: visible;
  pointer-events: none;
}

.crx-card-head {
  position: relative;
  z-index: 3;
}

.crx-card-badges {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 22px;
  position: relative;
  z-index: 3;
}

.crx-main-badge,
.crx-sub-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: max-content;
  max-width: 100%;
  border-radius: 999px;
  font-weight: 800;
  line-height: 1.2;
}

.crx-main-badge {
  background: #1c68d9;
  color: #fff;
  font-size: 15px;
  padding: 10px 15px;
  box-shadow: 0 8px 18px rgba(28, 104, 217, 0.22);
}

.crx-sub-badge {
  background: #fff;
  color: #344054;
  font-size: 14px;
  padding: 8px 13px;
  border: 1px solid #cbd7ff;
  box-shadow: 0 6px 14px rgba(16, 24, 40, 0.06);
}

.crx-badge-icon {
  font-size: 14px;
  line-height: 1;
}

.crx-product-block {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 42px;
}

.crx-product-img {
  width: 118px;
  height: 118px;
  object-fit: contain;
  flex-shrink: 0;
}

.crx-card h3 {
  font-size: 30px;
  line-height: 1.1;
  margin: 0 0 8px;
  color: #080b24;
}

.crx-plan {
  font-size: 18px;
  font-weight: 800;
  color: #1c68d9;
}

.crx-price {
  font-size: 58px;
  font-weight: 900;
  line-height: 1;
  color: #080b24;
  margin-bottom: 22px;
}

.crx-price span {
  font-size: 18px;
  font-weight: 500;
  color: #667085;
}

.crx-price del {
  font-size: 28px;
  color: #999;
  font-weight: 500;
  margin-left: 10px;
}

.crx-billing {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  flex-wrap: nowrap;
}

.crx-save {
  display: inline-block;
  background: #eaf8ed;
  color: #17803d;
  font-size: 15px;
  font-weight: 900;
  padding: 8px 16px;
  border-radius: 999px;
}

.crx-billed {
  font-size: 15px;
  font-weight: 600;
  color: #667085;
}

.crx-desc {
  font-size: 16px;
  line-height: 1.6;
  color: #475467;
  margin-bottom: 18px;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.crx-includes {
  text-align: left;
  padding-left: 18px;
  margin: 0 0 28px;
  color: #475467;
  font-size: 15px;
  line-height: 1.6;
}

.crx-includes li {
  margin-bottom: 4px;
}

.crx-card-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: auto;
}

.crx-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #171992;
  color: white !important;
  text-decoration: none;
  min-height: 42px;
  padding: 8px 16px;
  border: 2px solid #171992;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.2;
  transition: 0.25s ease;
}

.crx-btn:hover {
  background: #1c68d9;
  border-color: #1c68d9;
  color: white !important;
  transform: translateY(-1px);
}

.crx-btn span {
  font-size: 18px;
  line-height: 1;
}

.crx-btn-learn {
  background: #1c68d9;
  border-color: #1c68d9;
  color: #fff !important;
}

.crx-btn-learn:hover {
  background: #171992;
  border-color: #171992;
  color: #fff !important;
}

.crx-note,
.crx-grid-wrap > .crx-note {
  margin-top: 0;
  padding: 18px 24px;
  text-align: center;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.5;
  color: inherit;
  background: var(--crx-pricing-bg, #f4f8ff);
}

.crx-grid > .crx-note {
  position: relative;
  margin: 0;
  padding: 18px 24px;
  color: inherit;
  background: transparent;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  grid-column: 1 / -1;
}

.crx-card {
  display: flex;
  flex-direction: column;
}

.crx-includes {
  margin-bottom: 28px;
}

/* Match the approved live module and isolate it from shared site rules. */
.crx-pricing-section,
.crx-pricing-section button,
.crx-pricing-section a {
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial,
    sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

.crx-pricing-section h2,
.crx-pricing-section h3 {
  letter-spacing: 0;
}

.crx-pricing-section .crx-btn {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 42px !important;
  padding: 8px 16px !important;
  margin-inline: 0 !important;
  align-self: stretch;
  font-size: 15px !important;
  line-height: 1.2 !important;
}

.crx-pricing-section .crx-card-actions {
  width: 100%;
}

.crx-pricing-section .crx-note {
  font-style: normal;
}

@media (min-width: 992px) {
  .crx-card {
    box-shadow: 0 18px 45px rgba(28, 104, 217, 0.08);
  }

  .crx-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 60px rgba(28, 104, 217, 0.14);
  }

  .crx-featured {
    box-shadow: 0 24px 60px rgba(28, 104, 217, 0.14);
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .crx-pricing-section {
    padding: 0 0 24px;
    overflow: hidden;
  }

  .crx-header {
    padding: 0 24px !important;
    margin-bottom: 10px;
  }

  .crx-header h2 {
    font-size: 40px;
    line-height: 1.08;
    margin: 0;
  }

  .crx-header p {
    font-size: 16px;
    line-height: 1.45;
  }

  .crx-toggle {
    max-width: 620px;
    margin: 18px auto 0;
    padding: 6px;
  }

  .crx-toggle-btn {
    font-size: 16px;
    padding: 14px 10px;
  }

  .crx-mobile-swipe-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 8px 0 0;
    font-size: 13px;
    font-weight: 700;
    color: #667085;
    animation: crxSwipePulse 1.8s ease-in-out infinite;
  }

  .crx-grid-wrap {
    position: relative;
    max-width: 100%;
    margin: 0;
    overflow: hidden;
    background: var(--crx-pricing-bg, #f4f8ff);
  }

  .crx-grid-scroll {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .crx-grid-scroll::-webkit-scrollbar {
    display: none;
  }

  .crx-grid {
    display: flex;
    gap: 20px;
    padding: 28px 56px 8px;
    width: max-content;
    min-width: 100%;
    max-width: none;
    margin: 0;
  }

  .crx-card {
    min-width: 0;
    width: min(420px, calc(100vw - 112px));
    max-width: min(420px, calc(100vw - 112px));
    flex: 0 0 min(420px, calc(100vw - 112px)) !important;
    scroll-snap-align: center;
    padding: 24px 20px;
    border-radius: 24px;
    overflow: visible;
    box-shadow: none;
  }

  .crx-card-badges {
    margin-bottom: 14px;
    gap: 6px;
  }

  .crx-main-badge {
    font-size: 12.5px;
    padding: 7px 11px;
  }

  .crx-sub-badge {
    font-size: 12.5px;
    padding: 7px 11px;
  }

  .crx-product-block {
    display: block;
    text-align: center;
    margin-bottom: 16px;
  }

  .crx-product-img {
    width: 80px;
    height: 80px;
    margin: 0 auto 10px;
    display: block;
  }

  .crx-card h3 {
    font-size: 24px;
    line-height: 1.1;
    margin-bottom: 6px;
  }

  .crx-plan {
    font-size: 15px;
  }

  .crx-price {
    font-size: 42px;
    margin-bottom: 10px;
  }

  .crx-price span {
    font-size: 14px;
  }

  .crx-price del {
    font-size: 19px;
    display: block;
    margin-left: 0;
    margin-top: 5px;
  }

  .crx-billing {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 8px;
    margin-bottom: 12px;
  }

  .crx-save {
    font-size: 13px;
    padding: 7px 14px;
    margin-bottom: 0;
    white-space: nowrap;
  }

  .crx-billed {
    display: inline !important;
    min-width: 0;
    font-size: 14px;
    white-space: nowrap;
  }

  .crx-desc {
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 12px;
  }

  .crx-includes {
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 14px;
    padding-left: 17px;
  }

  .crx-includes li {
    margin-bottom: 2px;
  }

  .crx-btn {
    min-height: 38px !important;
    padding: 7px 12px !important;
    font-size: 13px !important;
    border-radius: 999px;
  }

  .crx-btn span {
    font-size: 16px;
  }

  .crx-swipe-indicator {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: #ffffff;
    color: #1c68d9;
    font-size: 29px;
    font-weight: 900;
    z-index: 50;
    box-shadow: 0 10px 24px rgba(16, 24, 40, 0.18);
    border: none;
    opacity: 0.95;
  }

  .crx-swipe-left {
    left: 8px;
  }

  .crx-swipe-right {
    right: 8px;
  }

  .crx-grid-wrap > .crx-note {
    margin-top: 0;
    padding: 12px 24px 8px;
    font-size: 14px;
    line-height: 1.45;
    background: var(--crx-pricing-bg, #f4f8ff);
  }
}

@media (max-width: 767px) {
  .crx-pricing-section {
    padding: 0 0 24px;
    overflow: hidden;
  }

  .crx-header {
    padding: 0 16px !important;
    margin-top: 0;
    margin-bottom: 8px;
  }

  .crx-header h2 {
    font-size: 30px;
    line-height: 1.08;
    margin: 0;
  }

  .crx-header p {
    font-size: 14px;
    line-height: 1.4;
  }

  .crx-toggle {
    max-width: calc(100% - 32px);
    margin: 18px auto 0;
    padding: 5px;
  }

  .crx-toggle-btn {
    font-size: 14px;
    padding: 11px 8px;
  }

  .crx-mobile-swipe-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 8px 0 0;
    font-size: 12px;
    font-weight: 700;
    color: #667085;
    animation: crxSwipePulse 1.8s ease-in-out infinite;
  }

  .crx-grid-wrap {
    position: relative;
    max-width: 100%;
    margin: 0;
    overflow: hidden;
    background: var(--crx-pricing-bg, #f4f8ff);
  }

  .crx-grid-scroll {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .crx-grid-scroll::-webkit-scrollbar {
    display: none;
  }

  .crx-grid {
    display: flex;
    gap: 14px;
    padding: 26px 48px 8px;
    width: max-content;
    min-width: 100%;
    max-width: none;
    margin: 0;
  }

  .crx-grid::-webkit-scrollbar {
    display: none;
  }

  .crx-card {
    width: min(320px, calc(100vw - 96px));
    min-width: min(320px, calc(100vw - 96px));
    max-width: min(320px, calc(100vw - 96px));
    flex: 0 0 min(320px, calc(100vw - 96px)) !important;
    scroll-snap-align: center;
    padding: 18px 16px;
    border-radius: 22px;
    overflow: visible;
    box-shadow: none;
  }

  .crx-card-badges {
    margin-bottom: 10px;
    gap: 5px;
  }

  .crx-main-badge {
    font-size: 11px;
    padding: 6px 10px;
  }

  .crx-sub-badge {
    font-size: 11px;
    padding: 6px 10px;
  }

  .crx-product-block {
    display: block;
    text-align: center;
    margin-bottom: 12px;
  }

  .crx-product-img {
    width: 66px;
    height: 66px;
    margin: 0 auto 8px;
    display: block;
  }

  .crx-card h3 {
    font-size: 22px;
    line-height: 1.08;
    margin-bottom: 5px;
  }

  .crx-plan {
    font-size: 14px;
  }

  .crx-price {
    font-size: 36px;
    margin-bottom: 8px;
  }

  .crx-price span {
    font-size: 13px;
  }

  .crx-price del {
    font-size: 17px;
    display: block;
    margin-left: 0;
    margin-top: 4px;
  }

  .crx-billing {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 6px;
    margin-bottom: 10px;
  }

  .crx-save {
    font-size: 12px;
    padding: 6px 12px;
    margin-bottom: 0;
    white-space: nowrap;
  }

  .crx-billed {
    display: inline !important;
    min-width: 0;
    font-size: 13px;
    white-space: nowrap;
  }

  .crx-desc {
    font-size: 13px;
    line-height: 1.35;
    margin-bottom: 10px;
  }

  .crx-includes {
    font-size: 13px;
    line-height: 1.35;
    margin-bottom: 12px;
    padding-left: 16px;
  }

  .crx-includes li {
    margin-bottom: 1px;
  }

  .crx-card-actions {
    gap: 8px;
  }

  .crx-btn {
    min-height: 36px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    border-radius: 999px;
  }

  .crx-btn span {
    font-size: 15px;
  }

  .crx-swipe-indicator {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    border-radius: 999px;
    background: #ffffff;
    color: #1c68d9;
    font-size: 28px;
    font-weight: 900;
    z-index: 50;
    box-shadow: 0 10px 24px rgba(16, 24, 40, 0.18);
    border: none;
    opacity: 0.95;
  }

  .crx-swipe-left {
    left: 6px;
  }

  .crx-swipe-right {
    right: 6px;
  }

  .crx-grid-wrap > .crx-note {
    margin-top: 0;
    margin-bottom: 0;
    padding: 10px 16px 0;
    font-size: 13px;
    line-height: 1.4;
    background: var(--crx-pricing-bg, #f4f8ff);
  }

  .entry-content .crx-pricing-section,
  .wp-block-html:has(.crx-pricing-section),
  .wp-block-group:has(.crx-pricing-section),
  .wp-block-columns:has(.crx-pricing-section) {
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}

@media (max-width: 430px) {
  .crx-grid {
    padding: 24px 44px 8px;
    gap: 12px;
  }

  .crx-card {
    width: calc(100vw - 88px);
    min-width: calc(100vw - 88px);
    max-width: calc(100vw - 88px);
    flex: 0 0 calc(100vw - 88px) !important;
    padding: 16px 14px;
  }

  .crx-billing {
    gap: 6px;
  }

  .crx-save {
    font-size: 11px;
    padding: 5px 10px;
  }

  .crx-billed {
    font-size: 12px;
  }

  .crx-price {
    font-size: 34px;
  }

  .crx-product-img {
    width: 60px;
    height: 60px;
  }

  .crx-card h3 {
    font-size: 21px;
  }

  .crx-desc,
  .crx-includes {
    font-size: 12.5px;
  }
}

/* FAQs */
.home-faqs {
  --faq-blue: #1c68d9;
  --faq-navy: #171992;
  --faq-ink: #111;
  --faq-muted: #4a5568;
  --faq-line: #e4e8ef;
  --faq-white: #fff;
  --faq-max: 1290px;
  position: relative;
  left: 50%;
  width: 100vw;
  max-width: 100vw;
  margin-left: -50vw;
  padding: 0 0 36px;
  background: var(--faq-white);
  color: var(--faq-ink);
  font-family: Inter, Arial, sans-serif;
}

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

.home-faqs-shell {
  width: min(var(--faq-max), calc(100% - 48px));
  max-width: var(--faq-max);
  margin-inline: auto;
  padding-bottom: 40px;
}

.home-faqs h2 {
  margin: 0;
  color: #000;
  text-align: center;
  font-size: clamp(1.8rem, 4vw, 42px);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

.home-faqs .faq-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.home-faqs .faq-item {
  overflow: hidden;
  border-radius: 16px;
  background: var(--faq-blue);
}

.home-faqs .faq-item.is-open {
  box-shadow: 0 10px 28px rgba(23, 25, 146, 0.08);
}

.home-faqs .faq-item summary {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 68px;
  padding: 16px 20px;
  color: #fff;
  cursor: pointer;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.35;
  list-style: none;
}

.home-faqs .faq-item summary::-webkit-details-marker {
  display: none;
}
.home-faqs .faq-item summary:hover {
  background: rgba(0, 0, 0, 0.06);
}
.home-faqs .faq-item summary:focus-visible {
  outline: 3px solid rgba(23, 25, 146, 0.3);
  outline-offset: 2px;
}

.home-faqs .faq-icon {
  position: relative;
  display: grid;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 50%;
  background: var(--faq-navy);
}

.home-faqs .faq-icon::before,
.home-faqs .faq-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: #fff;
  border-radius: 1px;
  transform: translate(-50%, -50%);
}

.home-faqs .faq-icon::before {
  width: 14px;
  height: 2px;
}

.home-faqs .faq-icon::after {
  width: 2px;
  height: 14px;
  transition:
    transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.22s ease;
}

.home-faqs .faq-item.is-open .faq-icon::after {
  transform: translate(-50%, -50%) scaleY(0);
  opacity: 0;
}

.home-faqs .faq-answer {
  overflow: hidden;
  border: 1px solid var(--faq-line);
  border-top: 0;
  background: var(--faq-white);
  color: var(--faq-muted);
}

.home-faqs.faq-js .faq-item:not(.is-open) .faq-answer {
  height: 0;
  border-color: transparent;
}

.home-faqs.faq-js .faq-item.is-open .faq-answer,
.home-faqs .faq-item[open] .faq-answer {
  border-color: var(--faq-line);
}

.home-faqs .faq-answer > * {
  margin: 0;
  padding: 0 24px 0 70px;
  color: #444;
  font-size: 17px;
  line-height: 1.7;
}

.home-faqs .faq-answer p {
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
}

.home-faqs .faq-answer > * + * {
  margin-top: 0;
}

.home-faqs .faq-answer > *:first-child {
  padding-top: 20px;
}

.home-faqs .faq-answer > *:last-child {
  padding-bottom: 26px;
}

.home-faqs .faq-answer p + ul,
.home-faqs .faq-answer ul + p {
  margin-top: 10px;
}

.home-faqs .faq-answer ul {
  padding-left: 94px;
}

.home-faqs .faq-answer li {
  margin: 0 0 10px;
  line-height: 1.55;
}

.home-faqs .faq-answer li:last-child {
  margin-bottom: 0;
}

.home-faqs .faq-answer strong {
  color: var(--faq-ink);
}

.home-faqs .faq-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-width: 14rem;
  min-height: 3.75rem;
  margin: 40px auto 0;
  padding: 0.875rem 1.75rem;
  border-radius: 999px;
  background: var(--faq-navy);
  color: #fff;
  text-decoration: none;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: normal;
  text-transform: none;
}

.home-faqs .faq-btn:hover {
  background: var(--faq-blue);
  filter: none;
}

@media (max-width: 1023px) {
  .home-faqs {
    left: auto;
    width: 100%;
    max-width: none;
    margin-left: 0;
  }
}

@media (max-width: 900px) {
  .home-faqs-shell {
    width: min(100% - 32px, var(--faq-max));
  }
  .home-faqs .faq-item summary {
    font-size: 16px;
    min-height: 58px;
  }
  .home-faqs .faq-answer > * {
    padding-right: 20px;
    padding-left: 20px;
    font-size: 16px;
    line-height: 1.65;
  }
  .home-faqs .faq-answer ul {
    padding-left: 40px;
  }
}

@media (max-width: 620px) {
  .home-faqs {
    padding: 0 0 24px;
  }
  .home-faqs h2 {
    margin: 0;
  }
  .home-faqs .faq-item summary {
    gap: 10px;
    min-height: 52px;
    padding: 12px 14px;
    font-size: 15px;
  }
  .home-faqs .faq-icon {
    flex-basis: 30px;
    width: 30px;
    height: 30px;
  }
  .home-faqs .faq-btn {
    width: 100%;
    max-width: 280px;
    min-width: 0;
    min-height: 3.25rem;
    font-size: 1rem;
  }
}

html body .control-method__intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

html body .control-method__intro p {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

html body .control-method__intro .button {
  margin-right: auto !important;
  margin-left: auto !important;
}

/* Space under Next Step / Refill before the GLP banner image */
html body main > section.control-method {
  padding-bottom: 0 !important;
}

html body .control-method .method-grid {
  margin-bottom: clamp(4rem, 6vw, 6rem) !important;
}

html body main > section.glp-banner {
  min-height: 0;
  margin-top: 0 !important;
  overflow: visible;
  background: transparent;
}

html body .glp-banner__media {
  position: relative;
  min-height: clamp(38rem, 48vw, 42rem);
  overflow: hidden;
  border-radius: 1.7rem;
  background: #f6f7fa;
}

html body .glp-banner__media > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

html body .glp-banner__cta-wrap {
  display: flex;
  justify-content: center;
  padding-top: 40px;
  margin-bottom: 40px;
}

html body .glp-banner__cta-wrap .button {
  width: min(100%, 20rem);
  margin: 0;
}

html body .glp-banner__copy > h2.site-heading,
html body .glp-banner__copy > h2.site-heading:has(+ p),
html body .glp-banner__copy > h2.site-heading:not(:first-child) {
  margin-bottom: 0 !important;
  padding-top: var(--site-heading-pad-top) !important;
  padding-bottom: 0 !important;
}

html body .glp-banner__copy > h2.site-heading + p,
html body .glp-banner__copy > h2.site-heading + p:has(+ p) {
  margin-top: 10px !important;
}

html body .glp-banner__content h2 {
  margin-bottom: 0 !important;
}

html body .review-grid .stars {
  display: flex;
  justify-content: center;
  gap: 0.14em;
}

@media (max-width: 768px) {
  html body .glp-banner__media {
    min-height: clamp(40rem, 160vw, 48rem);
  }

  html body .glp-banner__media > img {
    object-position: 66% center;
  }

  html body .glp-banner__cta-wrap {
    padding-top: 24px;
  }
}

html body main > section.home-trust {
  padding-bottom: 40px !important;
}

@media (max-width: 767px) {
  html body main > section.home-trust {
    padding-bottom: 24px !important;
  }

  html body main > section.crx-pricing-section {
    padding-bottom: 24px !important;
  }

  html body h2,
  html body h2.site-heading,
  html body .crx-header h2,
  html body .crx-feedback h2,
  html body .why__intro h2,
  html body .why-story__card h2,
  html body .process .site-heading,
  html body .control-method .site-heading,
  html body .glp-banner__content h2,
  html body .reviews .site-heading,
  html body .home-faqs h2,
  html body .closing-cta h2 {
    font-family: Inter, Arial, sans-serif !important;
    font-size: var(--site-h2-size) !important;
    line-height: 1.12;
  }

  html body .product-card h3,
  html body .product-card__title {
    font-size: 18px !important;
    line-height: 1.25 !important;
  }

  html body .journal-card h3,
  html body .journal-card__title {
    font-size: 18px !important;
    line-height: 1.25 !important;
  }

  html body .products-sidebar h2,
  html body .products-sidebar h2.site-heading {
    font-size: 22px !important;
    line-height: 1.25 !important;
  }

  html body .products-sidebar h2:nth-of-type(2),
  html body .products-sidebar h2.site-heading:nth-of-type(2) {
    font-size: 18px !important;
  }
}

/* ========================================================================
   PAGE: HOW IT WORKS
   Search: PAGE: HOW IT WORKS / how-it-works.css
   Used by: how-it-works.html
   ======================================================================== */
.hiw-hero {
  position: relative;
  margin-top: 86px;
  overflow: visible;
  background: #246bd7;
  color: #fff;
}

.hiw-hero::before,
.hiw-hero::after {
  position: absolute;
  border: 1px solid rgb(255 255 255 / 42%);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.hiw-hero::before {
  right: 3%;
  bottom: -62%;
  width: 54vw;
  height: 54vw;
}

.hiw-hero::after {
  right: -3.5%;
  top: 9%;
  width: 22vw;
  height: 22vw;
  border: 2px solid rgb(255 255 255 / 55%);
}

.hiw-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  width: min(1290px, calc(100% - 64px));
  min-height: 610px;
  margin: 0 auto;
  grid-template-columns: minmax(440px, 570px) 1fr;
  gap: clamp(64px, 7vw, 112px);
}

.hiw-hero__inner::after {
  position: absolute;
  right: 27%;
  bottom: -3%;
  width: 26vw;
  height: 26vw;
  border: 1px solid rgb(255 255 255 / 42%);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.hiw-hero__media {
  position: relative;
  align-self: start;
  z-index: 1;
  margin-top: -86px;
  padding-bottom: 0;
}

.hiw-hero__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 18px;
  aspect-ratio: 1;
  object-fit: cover;
}

/* Retired: use shared .button. Kept so leftover markup cannot restyle CTAs. */
.hiw-button {
  font-weight: 700;
}

.hiw-hero__copy {
  position: relative;
  z-index: 1;
  align-self: center;
  padding: 38px 0 54px;
  text-align: center;
}

.hiw-hero__copy h1 {
  margin: 0 0 58px;
  font-size: clamp(30px, 2.8vw, 42px);
  line-height: 1.15;
}

.hiw-hero__columns {
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-width: 38rem;
}

.hiw-hero__columns p {
  max-width: none;
  margin: 0;
  font-size: clamp(17px, 1.55vw, 22px);
  line-height: 1.45;
  text-align: left;
}

.hiw-process {
  padding: 28px 24px 70px;
  background: #fff;
}

.hiw-process__header {
  margin-bottom: 0;
  text-align: center;
}

.hiw-process__header h2 {
  margin: 0;
  color: #0d0d14;
  font-size: clamp(42px, 5vw, 64px);
  line-height: 1;
  text-transform: none;
}

.hiw-process__header p {
  margin: 5px 0 0;
  color: #60636b;
  font-size: 16px;
  line-height: 1.45;
}

.hiw-timeline {
  position: relative;
  display: grid;
  width: min(1040px, 100%);
  margin: 0 auto;
  grid-template-columns: 1fr 68px 1fr;
  grid-template-rows: repeat(3, auto);
  row-gap: 14px;
}

.hiw-timeline::before {
  position: absolute;
  top: -10px;
  bottom: -10px;
  left: 50%;
  width: 5px;
  background: #e4e5e8;
  content: "";
  transform: translateX(-50%);
}

.hiw-step {
  position: relative;
  min-height: 320px;
  padding: 24px 20px;
  border-radius: 6px;
  color: #15151c;
  box-shadow: 0 3px 7px rgb(0 0 0 / 12%);
}

.hiw-step::after {
  position: absolute;
  top: 12px;
  width: 18px;
  height: 18px;
  border: 5px solid #fff;
  border-radius: 50%;
  background: #246bd7;
  box-shadow: 0 0 0 2px #dfe1e5;
  content: "";
}

.hiw-step--one,
.hiw-step--three {
  grid-column: 1;
}

.hiw-step--one {
  grid-row: 1;
  background: #dce9fb;
}

.hiw-step--two {
  grid-column: 3;
  grid-row: 2;
  background: #b7def3;
}

.hiw-step--three {
  grid-row: 3;
  background: #86d0f5;
}

.hiw-step--one::after,
.hiw-step--three::after {
  right: -43px;
}

.hiw-step--two::after {
  left: -43px;
}

.hiw-step__number {
  display: block;
  margin-bottom: 22px;
  color: #4e5965;
  font-size: 12px;
}

.hiw-step--three .hiw-step__number {
  color: #111;
  font-weight: 700;
}

.hiw-step h3 {
  margin: 0 0 24px;
  font-size: clamp(24px, 2.2vw, 30px);
  line-height: 1.3;
}

.hiw-step p,
.hiw-step li {
  font-size: 14px;
  line-height: 1.55;
}

.hiw-step p {
  margin: 0 0 22px;
  color: #5d6974;
}

.hiw-step--three p,
.hiw-step--three li {
  color: #101820;
}

.hiw-step ul {
  margin: 0;
  padding-left: 26px;
  color: #66717c;
}

.hiw-clarity,
.hiw-after,
.hiw-continuation,
.hiw-faqs {
  padding-inline: 24px;
  background: #fff;
}

.hiw-clarity {
  padding-block: 34px 26px;
}

.hiw-clarity__inner {
  position: relative;
  width: min(1040px, 100%);
  min-height: 650px;
  margin: 0 auto;
}

.hiw-clarity__inner > img {
  display: block;
  width: min(650px, 64%);
  height: 650px;
  border-radius: 22px;
  aspect-ratio: 1;
  object-fit: cover;
  object-position: center top;
}

.hiw-clarity__panel {
  position: absolute;
  top: 42px;
  right: 0;
  bottom: 42px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: min(555px, 56%);
  min-height: 0;
  padding: clamp(2.2rem, 4vw, 3.5rem) clamp(2rem, 4vw, 3.5rem);
  overflow: hidden;
  /* Match homepage .why-story__card */
  color: var(--white, #fff);
  background: #0d67bb;
}

.hiw-clarity__panel::before,
.hiw-clarity__panel::after {
  position: absolute;
  width: 18rem;
  height: 18rem;
  border: 1px solid rgb(255 255 255 / 16%);
  border-radius: 50%;
  content: "";
}

.hiw-clarity__panel::before {
  top: -5rem;
  right: -9rem;
}

.hiw-clarity__panel::after {
  right: -4rem;
  bottom: -8rem;
}

.hiw-clarity__panel h2 {
  position: relative;
  z-index: 1;
  max-width: 13ch;
  margin: 0;
  font-size: clamp(1.7rem, 3vw, 2.6rem);
  line-height: 1.45;
}

html body .hiw-clarity__panel h2.site-heading {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  color: #fff !important;
}

html body .hiw-clarity__panel .site-heading-copy > h2.site-heading + p:last-of-type {
  padding-bottom: 0 !important;
}

.hiw-clarity__panel p,
.hiw-clarity__panel li {
  position: relative;
  z-index: 1;
  color: rgb(255 255 255 / 76%);
  font-size: clamp(0.95rem, 1.35vw, 1.15rem);
  line-height: 1.65;
}

.hiw-clarity__panel p {
  margin: 0.85rem 0 0;
}

.hiw-clarity__panel .site-heading-copy > h2 + p {
  margin-top: clamp(1.25rem, 2.5vw, 2rem);
}

.hiw-clarity__panel ul {
  position: relative;
  z-index: 1;
  margin: 1.1rem 0 0;
  padding-left: 1.25rem;
}

.hiw-clarity__panel li {
  margin: 0 0 0.35rem;
}

.hiw-clarity__panel li:last-child {
  margin-bottom: 0;
}

.hiw-after {
  padding-block: 18px 58px;
}

.hiw-after__inner {
  display: grid;
  width: min(1080px, 100%);
  margin: 0 auto;
  grid-template-columns: 0.78fr 1.22fr;
  gap: 48px;
  align-items: center;
}

.hiw-after__intro {
  text-align: center;
}

.hiw-after__intro h2,
.hiw-continuation h2 {
  margin: 0 0 38px;
  font-size: clamp(32px, 3.5vw, 46px);
  line-height: 1.25;
}

.hiw-after__intro p,
.hiw-continuation__intro p,
.hiw-continuation__copy p,
.hiw-continuation__copy li {
  font-size: 17px;
  line-height: 1.55;
}

html body .hiw-after__intro > h2.site-heading {
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .hiw-after__intro > h2.site-heading + p {
  margin-top: 0 !important;
}

html body .hiw-after__intro > h2.site-heading + p,
html body .hiw-after__intro > h2.site-heading + p + p {
  padding-bottom: 0 !important;
  margin-bottom: 16px !important;
}

html body .hiw-after__intro > .button {
  margin-top: 8px !important;
}

.hiw-pill {
  display: inline-flex;
  min-height: 44px;
  padding: 11px 28px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #1d1d9e;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  text-transform: none;
}

.hiw-after__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.hiw-info-card {
  min-height: 290px;
  padding: 38px 34px;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 32px rgb(13 35 70 / 10%);
}

.hiw-info-card__icon {
  display: inline-flex;
  width: 64px;
  height: 64px;
  margin-bottom: 26px;
  margin-left: 50%;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #f4fbff;
  transform: translateX(-50%);
}

.hiw-info-card__icon svg {
  width: 50px;
  height: 50px;
  stroke: #405a78;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.hiw-info-card__icon--lavender {
  background: #f3f0ff;
}

.hiw-info-card__icon .hiw-icon-accent {
  stroke: #55d3c4;
  stroke-width: 5;
}

.hiw-info-card__icon .hiw-icon-soft {
  stroke: #c6cfda;
}

.hiw-info-card__icon .hiw-icon-accent-fill,
.hiw-info-card__icon .hiw-icon-lock {
  fill: #62d9cd;
  stroke: none;
}

.hiw-info-card__icon .hiw-icon-check {
  stroke: #fff;
  stroke-width: 2.5;
}

.hiw-info-card__icon .hiw-icon-lock {
  fill: #9e8cff;
}

.hiw-info-card__icon .hiw-icon-lock-line {
  stroke: #9e8cff;
}

.hiw-info-card__icon .hiw-icon-rays {
  stroke: #70b7ff;
}

.hiw-info-card h3 {
  margin: 0 0 24px;
  font-size: 26px;
}

.hiw-info-card p {
  margin: 0;
  font-size: 17px;
  line-height: 1.55;
}

.hiw-continuation {
  padding-block: 64px 68px;
}

.hiw-continuation__grid {
  display: grid;
  width: min(1100px, 100%);
  margin: 0 auto;
  grid-template-columns: 0.92fr 1.08fr;
  gap: 58px;
}

.hiw-continuation__grid--ongoing {
  align-items: start;
}

html body .hiw-continuation__intro > h2.site-heading {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

html body .hiw-continuation__intro > h2.site-heading + p {
  margin-top: 18px !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.hiw-continuation__intro p {
  margin: 0;
}

.hiw-continuation__intro p:last-child {
  margin-top: 28px;
}

.hiw-continuation__copy p {
  margin: 0 0 22px;
}

.hiw-continuation__copy p:last-child {
  margin-bottom: 0;
}

.hiw-continuation__image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 18px;
  object-fit: cover;
}

.hiw-continuation__image-frame {
  position: relative;
  min-height: 0;
  overflow: hidden;
  border-radius: 18px;
}

.hiw-continuation__image--upper {
  border-radius: 0;
  object-position: 48% 82%;
  transform: scale(1.7);
  transform-origin: 50% 72%;
}

.hiw-continuation__grid--more {
  width: min(1080px, 100%);
  margin-top: 76px;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  gap: 64px;
  align-items: stretch;
}

html body .hiw-continuation__copy--more > h2.site-heading {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

html body .hiw-continuation__copy--more > h2.site-heading + p,
html body .hiw-continuation__copy--more > h2.site-heading + p + p {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
  padding-bottom: 0 !important;
}

.hiw-continuation__copy--more h2 {
  margin-bottom: 0;
  font-size: clamp(38px, 3.5vw, 48px);
  line-height: 1.08;
}

html body .hiw-continuation__cta {
  display: block;
  width: 100%;
  margin: 8px 0 0 !important;
  padding-bottom: 40px !important;
  text-align: left !important;
}

/* Beat global h2.site-heading + p + p + p { margin: 0 } which zeroes CTA spacing */
html body
  .hiw-continuation__copy--more
  > p.hiw-continuation__cta {
  margin-top: 8px !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  padding-bottom: 40px !important;
}

html body .hiw-continuation__cta .button--left {
  display: inline-flex !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  align-self: flex-start !important;
}

.hiw-continuation__copy--more p,
.hiw-continuation__copy--more li {
  font-size: 17px;
  line-height: 1.45;
}

.hiw-continuation__copy--more > p {
  margin-bottom: 12px;
  padding-bottom: 0 !important;
}

html body .hiw-continuation__copy--more > p:last-of-type {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.hiw-continuation__media-stack {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 12px;
  min-height: 0;
  overflow: hidden;
}

.hiw-continuation__copy--more .hiw-checklist {
  margin: 8px 0 12px;
}

.hiw-continuation__copy--more .hiw-checklist li {
  margin: 0 0 8px;
  padding-left: 32px;
}

.hiw-continuation__copy--more .hiw-checklist li:last-child {
  margin-bottom: 0;
}

.hiw-checklist {
  margin: 28px 0 32px;
  padding: 0;
  list-style: none;
}

.hiw-checklist li {
  position: relative;
  margin: 0 0 17px;
  padding-left: 40px;
}

.hiw-checklist li::before {
  position: absolute;
  top: 2px;
  left: 0;
  display: grid;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #111;
  color: #fff;
  content: "✓";
  font-size: 13px;
  place-items: center;
}

.hiw-continuation__image-frame {
  position: relative;
  min-height: 0;
  overflow: hidden;
  border-radius: 18px;
}

.hiw-continuation__image--lower {
  object-position: 50% 48%;
}

.hiw-faqs {
  padding-block: 0 52px;
  text-align: center;
}

.hiw-faqs > h2 {
  margin: 0;
  color: #246bd7;
  font-size: clamp(30px, 3.4vw, 44px);
}

.hiw-faqs__list {
  width: min(1060px, 100%);
  margin: 0 auto 28px;
  text-align: left;
}

.hiw-faqs .faq-item {
  margin-bottom: 10px;
}

.hiw-faqs summary {
  display: flex;
  min-height: 58px;
  padding: 12px 22px;
  align-items: center;
  border-radius: 16px;
  background: #246bd7;
  color: #fff;
  cursor: pointer;
  font-size: 18px;
  list-style: none;
}

.hiw-faqs summary::-webkit-details-marker {
  display: none;
}

.hiw-faqs summary span {
  position: relative;
  width: 40px;
  height: 40px;
  margin-right: 16px;
  flex: 0 0 40px;
  border-radius: 50%;
  background: #181b9c;
}

.hiw-faqs summary span::before,
.hiw-faqs summary span::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 2px;
  background: #fff;
  content: "";
  transform: translate(-50%, -50%);
}

.hiw-faqs summary span::after {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: transform 0.25s ease;
}

.hiw-faqs .is-open summary {
  background: #1d1d9e;
}

.hiw-faqs .is-open summary span::after {
  transform: translate(-50%, -50%) rotate(0);
}

.hiw-faqs .faq-answer {
  overflow: hidden;
  border: 1px solid #e0e3eb;
  border-radius: 0 0 16px 16px;
  background: #f7f8fa;
}

.hiw-faqs .faq-answer > * {
  margin: 0;
  padding: 0 24px 0 70px;
  color: #444;
  font-size: 16px;
  line-height: 1.55;
}

.hiw-faqs .faq-answer p {
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
}

.hiw-faqs .faq-answer > *:first-child {
  padding-top: 22px;
}

.hiw-faqs .faq-answer > *:last-child {
  padding-bottom: 22px;
}

.hiw-faqs .faq-answer p + p {
  margin-top: 0;
}

.hiw-faqs.faq-js .faq-item:not(.is-open) .faq-answer {
  height: 0;
  border-width: 0;
}

.hiw-final-cta {
  padding: 56px 24px;
  background: #dfe0e2;
  text-align: center;
}

.hiw-final-cta h2 {
  margin: 0 0 26px;
  color: #1d1d9e;
  font-size: clamp(30px, 3.5vw, 46px);
}

.hiw-final-cta > p {
  max-width: 930px;
  margin: 0 auto 38px;
  font-size: 17px;
  line-height: 1.55;
}

.hiw-final-cta__actions {
  display: flex;
  justify-content: center;
  gap: 12px;
}

.hiw-final-cta__actions .button {
  margin: 0 !important;
}

.hiw-pill--light {
  border: 1px solid #e3e3e3;
  background: #fff;
  color: #15215a;
}

@media (width <= 900px) {
  .hiw-hero {
    margin-top: 34px;
  }

  .hiw-hero__inner {
    grid-template-columns: minmax(280px, 42%) 1fr;
    gap: 36px;
  }

  .hiw-hero__media {
    margin-top: -44px;
  }

  .hiw-hero__copy h1 {
    margin-bottom: 28px;
  }

  .hiw-hero__columns {
    gap: 24px;
  }

  .hiw-hero__columns p {
    font-size: 17px;
  }

  .hiw-clarity__panel {
    padding: 40px 40px;
  }

  .hiw-after__inner,
  .hiw-continuation__grid {
    gap: 30px;
  }
}

@media (width <= 700px) {
  .hiw-hero {
    margin-top: 0;
    padding: 32px 0 44px;
    overflow: hidden;
  }

  .hiw-hero__inner {
    width: min(100% - 32px, 560px);
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .hiw-hero__media {
    margin-top: 0;
    padding-bottom: 0;
  }

  .hiw-hero__copy {
    padding: 0;
  }

  .hiw-hero__copy h1 {
    margin-bottom: 24px;
  }

  .hiw-hero__columns {
    gap: 14px;
  }

  .hiw-hero__columns p {
    max-width: none;
    text-align: left;
  }

  .hiw-process {
    padding-inline: 16px;
  }

  .hiw-process__header p:last-child {
    max-width: 560px;
    margin-inline: auto;
  }

  .hiw-timeline {
    display: flex;
    padding-left: 34px;
    flex-direction: column;
    gap: 22px;
  }

  .hiw-timeline::before {
    left: 11px;
    transform: none;
  }

  .hiw-step {
    min-height: 0;
  }

  .hiw-step::after,
  .hiw-step--one::after,
  .hiw-step--two::after,
  .hiw-step--three::after {
    top: 20px;
    left: -32px;
    right: auto;
  }

  .hiw-clarity,
  .hiw-after,
  .hiw-continuation,
  .hiw-faqs {
    padding-inline: 16px;
  }

  .hiw-clarity__inner {
    min-height: 0;
    overflow: hidden;
    border-radius: 1.25rem;
  }

  .hiw-clarity__inner > img,
  .hiw-clarity__panel {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    width: 100%;
  }

  .hiw-clarity__inner > img {
    height: auto;
    max-height: 32rem;
    border-radius: 0;
    aspect-ratio: 1 / 1;
    object-position: center 22%;
  }

  .hiw-clarity__panel {
    z-index: 1;
    min-height: 0;
    margin-top: -3.5rem;
    padding: 5.15rem 1.35rem 6.5rem;
    background: linear-gradient(
      to bottom,
      transparent 0,
      rgb(13 103 187 / 82%) 2.4rem,
      #0d67bb 3.5rem
    );
  }

  .hiw-after__inner,
  .hiw-continuation__grid {
    grid-template-columns: 1fr;
  }

  .hiw-after__cards {
    grid-template-columns: 1fr;
  }

  .hiw-info-card {
    min-height: 0;
  }

  .hiw-continuation__grid--ongoing {
    gap: 22px;
  }

  .hiw-continuation__media-stack {
    margin-top: 28px;
    grid-template-rows: none;
    gap: 16px;
  }

  .hiw-continuation__grid--more {
    margin-top: 48px;
    gap: 0;
    align-items: start;
  }

  .hiw-continuation__copy--more > p:last-of-type {
    margin-bottom: 0 !important;
  }

  .hiw-continuation__image-frame {
    height: 280px;
  }

  .hiw-continuation__image--upper {
    object-position: 48% 82%;
  }

  .hiw-faqs summary {
    font-size: 16px;
  }

  .hiw-faqs .faq-answer > * {
    padding-left: 20px;
    padding-right: 20px;
  }

  .hiw-faqs .faq-answer > *:first-child {
    padding-top: 20px;
  }

  .hiw-faqs .faq-answer > *:last-child {
    padding-bottom: 20px;
  }

  .hiw-faqs {
    padding-block: 40px;
  }

  .hiw-final-cta__actions {
    flex-direction: column;
    align-items: center;
  }
}

html body main > section.hiw-hero,
html body main > section.pricing-main,
html body main > section.method-hero,
html body main > section.safety-hero,
html body main > section.faq-hero,
html body main > section.md-hero {
  padding-bottom: 40px !important;
}

/* ========================================================================
   PAGE: SAFETY INFO
   Search: PAGE: SAFETY INFO / important-safety-information.css
   Used by: important-safety-information.html
   ======================================================================== */
:root {
  --safety-blue: #286fd8;
  --safety-navy: #1e2298;
  --safety-ink: #17171b;
  --safety-max: 1290px;
}

.safety-hero {
  position: relative;
  min-height: 0;
  padding: 0 0 40px;
  overflow: visible;
  color: #fff;
  background: #246bd7;
}

.safety-hero__band {
  position: absolute;
  inset: 180px 0 0;
  background: var(--safety-blue);
}

.safety-hero__band::after {
  position: absolute;
  top: 65px;
  right: -48px;
  width: 510px;
  height: 350px;
  border: 2px solid rgb(255 255 255 / 48%);
  border-radius: 50%;
  content: "";
  transform: rotate(-12deg);
}

.safety-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 575px) minmax(0, 1fr);
  gap: 54px;
  width: min(var(--safety-max), calc(100% - 48px));
  margin: 0 auto;
}

.safety-hero__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  border-radius: 18px;
  box-shadow: none;
  object-fit: cover;
}

.safety-hero__actions {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.safety-button {
  display: inline-flex;
  min-width: 210px;
  min-height: 58px;
  padding: 14px 28px;
  align-items: center;
  justify-content: center;
  border: 2px solid transparent;
  border-radius: 999px;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition:
    background-color 180ms ease,
    transform 180ms ease;
}

.safety-button:hover {
  transform: translateY(-2px);
}

.safety-button:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}

.safety-button--navy {
  background: var(--safety-navy);
  color: #fff;
}

.safety-button--navy:hover {
  background: #151878;
}

.safety-button--white {
  border-color: #e5e5e5;
  background: #fff;
  color: #171717;
}

.safety-button--white:hover {
  background: #f4f4f4;
}

.safety-hero__content {
  padding: 38px 0 54px;
  text-align: center;
}

.safety-hero__content h1 {
  margin: 0 0 48px;
  color: #fff;
  font-size: clamp(30px, 2.8vw, 42px);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.15;
  white-space: normal;
}

.safety-hero__copy {
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-width: 38rem;
}

.safety-hero__copy p {
  max-width: none;
  margin: 0;
  color: #fff;
  font-size: clamp(17px, 1.55vw, 22px);
  line-height: 1.45;
  text-align: left;
}

.safety-content {
  width: min(var(--safety-max), calc(100% - 48px));
  margin: 0 auto;
  padding: 47px 0 80px;
  color: var(--safety-ink);
}

.safety-read {
  display: grid;
  grid-template-columns: minmax(0, 580px) minmax(0, 1fr);
  gap: 54px;
  align-items: center;
}

.safety-read img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  border-radius: 24px;
  box-shadow: 0 12px 27px rgb(27 40 57 / 12%);
  object-fit: contain;
}

.safety-read h2,
.safety-review h2 {
  margin: 0;
  font-family: Inter, Arial, sans-serif;
  font-size: clamp(1.75rem, 2.8vw, 2.5rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.15;
}

.safety-read h2 {
  margin-bottom: 0;
}

.safety-read p,
.safety-review p,
.safety-review li {
  font-size: 18px;
  line-height: 1.55;
}

.safety-read p {
  margin: 0 0 32px;
}

.safety-read p:last-child {
  margin-bottom: 0;
}

.safety-review {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.18fr);
  gap: 58px;
  align-items: center;
  margin-top: 46px;
  padding: 67px 25px 61px 82px;
  background: #d8d9db;
}

.safety-review h2 {
  margin-bottom: 32px;
}

.safety-review p {
  margin: 0 0 26px;
}

.safety-review ul {
  margin: 0 0 26px;
  padding-left: 38px;
}

.safety-review img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1440 / 960;
  border-radius: 24px;
  box-shadow: 0 12px 27px rgb(27 40 57 / 15%);
  object-fit: contain;
}

.safety-review .safety-review__warning {
  margin: 0;
  color: #d49700;
  font-weight: 500;
}

.safety-compounded {
  position: relative;
  min-height: 810px;
  margin-top: 22px;
}

.safety-compounded > img {
  display: block;
  width: min(66%, 810px);
  height: auto;
  aspect-ratio: 1;
  border-radius: 26px;
  object-fit: contain;
}

.safety-compounded__notice {
  position: absolute;
  top: 82px;
  right: 0;
  width: min(56%, 680px);
  min-height: 635px;
  padding: 118px 88px 70px;
  overflow: hidden;
  /* Match homepage .why-story__card / HIW clarity panel */
  background: #0d67bb;
  color: #fff;
}

.safety-compounded__notice::before,
.safety-compounded__notice::after {
  position: absolute;
  border: 1px solid rgb(255 255 255 / 16%);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.safety-compounded__notice::before {
  top: -82px;
  right: -78px;
  width: 220px;
  height: 220px;
}

.safety-compounded__notice::after {
  right: 70px;
  bottom: -34px;
  width: 280px;
  height: 280px;
}

.safety-compounded__notice h3.safety-panel-title {
  position: relative;
  z-index: 1;
  margin: 0 0 45px;
  color: #fff;
  /* Match homepage .why-story__card h2 */
  font-family: Inter, Arial, sans-serif;
  font-size: clamp(1.7rem, 3vw, 2.6rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.45;
}

.safety-compounded__notice p {
  position: relative;
  z-index: 1;
  margin: 0 0 26px;
  color: #e6e5e9;
  font-size: 16px;
  line-height: 1.55;
}

.safety-compounded__notice strong {
  color: #fff;
}

.safety-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36px;
  align-items: stretch;
  margin-top: 50px;
  margin-bottom: 40px;
}

.safety-facts article {
  min-height: 0;
  padding: 0 42px 34px;
  border: 1px solid #bac3de;
  border-radius: 22px;
  background: #e6ebfb;
  text-align: center;
}

.safety-facts h3.safety-card-title {
  min-height: 0;
  margin: 0 0 18px;
  padding: 28px 0 0;
  font-family: Inter, Arial, sans-serif;
  font-size: clamp(1.25rem, 1.6vw, 1.5rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.25;
}

.safety-facts p,
.safety-facts li {
  font-size: 16px;
  line-height: 1.55;
}

.safety-facts p {
  margin: 0 0 14px;
}

.safety-facts ul {
  margin: 0 0 14px;
  padding-left: 1.25rem;
  text-align: left;
}

.safety-plan {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 560px);
  gap: 80px;
  align-items: start;
  min-height: 0;
  padding: 0 0 34px;
}

.safety-plan__copy {
  padding-top: 0;
}

.safety-plan h2 {
  max-width: 470px;
  margin: 0 0 31px;
  font-family: Inter, Arial, sans-serif;
  font-size: clamp(1.75rem, 2.8vw, 2.5rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.15;
}

.safety-plan p {
  margin: 0 0 8px;
  font-size: 16px;
  line-height: 1.55;
}

.safety-plan img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1536 / 1024;
  border-radius: 0 24px 24px 0;
  object-fit: contain;
}

.safety-questions,
.safety-educational {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
}

.safety-questions {
  overflow: hidden;
  background: var(--safety-blue);
}

.safety-questions::after {
  position: absolute;
  right: -120px;
  bottom: -115px;
  width: 460px;
  height: 460px;
  border: 2px solid rgb(255 255 255 / 52%);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.safety-questions__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 510px minmax(0, 1fr);
  gap: 42px;
  width: min(var(--safety-max), calc(100% - 48px));
  margin: 0 auto;
}

.safety-questions__inner > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  border-radius: 22px;
  object-fit: contain;
}

.safety-questions__content {
  padding: 0 0 30px;
  color: #fff;
}

.safety-questions h2 {
  margin: 0 0 50px;
  color: #fff;
  font-family: Inter, Arial, sans-serif;
  font-size: clamp(1.75rem, 2.8vw, 2.5rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.15;
}

.safety-questions__columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 64px;
}

.safety-questions p,
.safety-questions li {
  color: #fff;
  font-size: 18px;
  line-height: 1.55;
}

.safety-questions p {
  margin: 0 0 26px;
}

.safety-questions ul {
  margin: 0;
  padding-left: 26px;
}

.safety-educational {
  margin-top: 0;
  padding: 0 24px 58px;
  background: var(--safety-navy);
  color: #fff;
}

.safety-educational > div {
  width: min(1040px, 100%);
  margin: 0 auto;
}

.safety-educational h2 {
  margin: 0 0 28px;
  color: #fff;
  font-family: Inter, Arial, sans-serif;
  font-size: clamp(1.75rem, 2.8vw, 2.5rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.15;
}

.safety-educational p,
.safety-educational li {
  color: #fff;
  font-size: 15px;
  line-height: 1.55;
}

.safety-educational p {
  margin: 0 0 27px;
}

.safety-educational ul {
  margin: 0 0 28px;
  padding-left: 31px;
}

.safety-process {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36px;
  align-items: stretch;
  margin-top: 50px;
  margin-bottom: 40px;
}

.safety-process article {
  min-height: 0;
  padding: 0 42px 34px;
  border: 1px solid #bac3de;
  border-radius: 22px;
  background: #e6ebfb;
  text-align: center;
}

.safety-process h3.safety-card-title {
  margin: 0 0 18px;
  padding: 28px 0 0;
  font-family: Inter, Arial, sans-serif;
  font-size: clamp(1.25rem, 1.6vw, 1.5rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.25;
}

.safety-process p,
.safety-process li {
  font-size: 16px;
  line-height: 1.55;
}

.safety-process p {
  margin: 0 0 14px;
}

.safety-process ul {
  margin: 0 0 14px;
  padding-left: 1.25rem;
  text-align: left;
}

.safety-contact {
  display: grid;
  grid-template-columns: minmax(0, 560px) minmax(0, 1fr);
  gap: 48px;
  align-items: center;
  margin-top: 55px;
}

.safety-contact img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1536 / 1024;
  border-radius: 22px;
  box-shadow: 0 13px 28px rgb(34 45 60 / 12%);
  object-fit: contain;
}

.safety-contact h2 {
  margin: 0 0 13px;
  font-family: Inter, Arial, sans-serif;
  font-size: clamp(1.75rem, 2.8vw, 2.5rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.15;
}

.safety-contact p {
  max-width: 550px;
  margin: 0 0 27px;
  font-size: 16px;
  line-height: 1.55;
}

.safety-contact__actions {
  display: flex;
  gap: 8px;
}

.safety-contact__actions a {
  display: inline-flex;
  min-width: 170px;
  min-height: 48px;
  padding: 12px 22px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #246bd7;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
}

.safety-contact__actions a:last-child {
  min-width: 130px;
  background: #246bd7;
}

@media (width <= 1120px) {
  .safety-hero {
    padding-top: 44px;
  }

  .safety-hero__band {
    inset-block-start: 155px;
  }

  .safety-hero__inner {
    grid-template-columns: minmax(0, 48%) minmax(0, 1fr);
    gap: 34px;
  }

  .safety-hero__content {
    padding-top: 112px;
  }

  .safety-hero__content h1 {
    margin-bottom: 46px;
    white-space: normal;
  }

  .safety-hero__copy {
    gap: 28px;
  }

  .safety-button {
    min-width: 0;
    font-size: 16px;
  }

  .safety-read {
    grid-template-columns: minmax(0, 48%) minmax(0, 1fr);
    gap: 36px;
  }

  .safety-review {
    padding-left: 45px;
  }

  .safety-compounded {
    min-height: 690px;
  }

  .safety-compounded__notice {
    min-height: 540px;
    padding: 76px 55px 45px;
  }

  .safety-facts {
    gap: 18px;
  }

  .safety-facts article {
    padding-inline: 27px;
  }

  .safety-plan {
    grid-template-columns: minmax(0, 1fr) minmax(0, 48%);
    gap: 42px;
  }

  .safety-questions__inner {
    grid-template-columns: minmax(0, 42%) minmax(0, 1fr);
  }

  .safety-questions__columns {
    gap: 32px;
  }

  .safety-process {
    gap: 18px;
  }

  .safety-process article {
    padding-inline: 27px;
  }

  .safety-contact {
    grid-template-columns: minmax(0, 48%) minmax(0, 1fr);
  }
}

@media (width <= 760px) {
  .safety-hero {
    padding: 28px 0 48px;
    background: var(--safety-blue);
  }

  .safety-hero__band {
    display: none;
  }

  .safety-hero__inner {
    display: flex;
    width: min(100% - 30px, 590px);
    flex-direction: column;
  }

  .safety-hero__content {
    order: 0;
    padding-top: 0;
  }

  .safety-hero__content h1 {
    margin-bottom: 24px;
    font-size: clamp(30px, 2.8vw, 42px);
  }

  .safety-hero__copy {
    gap: 14px;
  }

  .safety-hero__copy p {
    font-size: 17px;
    text-align: left;
  }

  .safety-hero__copy br {
    display: none;
  }

  .safety-hero__actions {
    flex-wrap: wrap;
    gap: 12px;
  }

  .safety-button {
    min-width: min(210px, 100%);
    min-height: 54px;
  }

  .safety-content {
    width: min(100% - 30px, 590px);
  }

  .safety-read,
  .safety-review {
    grid-template-columns: 1fr;
  }

  .safety-read {
    gap: 0;
  }

  .safety-review {
    gap: 36px;
    padding: 42px 28px;
  }

  .safety-read p,
  .safety-review p,
  .safety-review li {
    font-size: 16px;
  }

  .safety-compounded {
    display: grid;
    gap: 0;
    min-height: 0;
    margin-top: 28px;
    overflow: hidden;
    border-radius: 1.25rem;
  }

  .safety-compounded > img {
    width: 100%;
    height: auto;
    max-height: 32rem;
    border-radius: 0;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center 22%;
  }

  .safety-compounded__notice {
    position: relative;
    z-index: 1;
    top: auto;
    right: auto;
    width: 100%;
    min-height: 0;
    margin-top: -3.5rem;
    padding: 5.15rem 1.35rem 5.5rem;
    background: linear-gradient(
      to bottom,
      transparent 0,
      rgb(13 103 187 / 82%) 2.4rem,
      #0d67bb 3.5rem
    );
  }

  .safety-compounded__notice h3.safety-panel-title {
    margin-bottom: 32px;
  }

  .safety-facts {
    grid-template-columns: 1fr;
    margin-top: 32px;
    margin-bottom: 24px;
  }

  .safety-facts article {
    min-height: 0;
    padding: 0 30px 34px;
  }

  .safety-facts h3.safety-card-title {
    min-height: 0;
    margin-bottom: 18px;
  }

  .safety-facts p,
  .safety-facts li {
    font-size: 16px;
  }

  .safety-plan {
    grid-template-columns: 1fr;
    gap: 32px;
    min-height: 0;
    padding: 0 0 70px;
  }

  .safety-plan__copy {
    padding-top: 0;
  }

  .safety-plan img {
    border-radius: 22px;
  }

  .safety-questions {
    background: var(--safety-blue);
  }

  .safety-questions__inner {
    grid-template-columns: 1fr;
    width: min(100% - 30px, 590px);
    padding: 38px 0;
  }

  .safety-questions__content {
    padding: 0;
  }

  .safety-questions__columns {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .safety-questions p,
  .safety-questions li {
    font-size: 16px;
  }

  .safety-process {
    grid-template-columns: 1fr;
  }

  .safety-process article {
    min-height: 0;
    padding: 0 30px 34px;
  }

  .safety-contact {
    grid-template-columns: 1fr;
  }
}

@media (width <= 480px) {
  .safety-hero__copy {
    grid-template-columns: 1fr;
  }

  .safety-hero__actions {
    display: flex;
    flex-wrap: nowrap;
  }

  .safety-button {
    width: 100%;
  }

  .safety-review {
    padding: 34px 20px;
  }

  .safety-contact__actions {
    display: grid;
  }

  .safety-contact__actions a {
    width: 100%;
  }
}

html body .safety-educational .site-heading-copy > h2.site-heading + p,
html body .safety-review__copy .site-heading-copy > h2.site-heading + p {
  margin-top: 10px !important;
  margin-bottom: 0 !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .safety-educational .site-heading-copy + p,
html body .safety-review__copy .site-heading-copy + p {
  margin-top: 0 !important;
  padding-bottom: 0 !important;
}

html body .safety-facts h3.safety-card-title,
html body .safety-process h3.safety-card-title {
  margin: 0 0 18px !important;
  padding-top: 28px !important;
  padding-bottom: 0 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(1.25rem, 1.6vw, 1.5rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.25 !important;
}

html body .safety-facts h3.safety-card-title + p,
html body .safety-process h3.safety-card-title + p {
  margin-top: 0 !important;
}

html body .safety-facts h3.safety-card-title + p,
html body .safety-facts h3.safety-card-title + p + p,
html body .safety-facts h3.safety-card-title + p + p + p,
html body .safety-process h3.safety-card-title + p,
html body .safety-process h3.safety-card-title + p + p {
  padding-bottom: 0 !important;
}

html body .safety-facts article > :last-child,
html body .safety-process article > :last-child {
  margin-bottom: 0 !important;
}

html body .safety-contact > div > h2.site-heading + p + p {
  margin-bottom: 0 !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .safety-contact__actions {
  margin-top: 0 !important;
  margin-bottom: 40px !important;
}

html body .safety-facts,
html body .safety-process {
  margin-top: var(--site-heading-pad-top) !important;
  margin-bottom: var(--site-heading-pad-bottom) !important;
}

html body .safety-plan__copy > h2.site-heading,
html body .safety-plan__copy > h2.site-heading:has(+ p) {
  padding-top: var(--site-heading-pad-top) !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .safety-plan__copy > h2.site-heading + p {
  margin-top: 0 !important;
}

html body .safety-plan__copy > h2.site-heading + p,
html body .safety-plan__copy > h2.site-heading + p + p,
html body .safety-plan__copy > h2.site-heading + p + p + p {
  padding-bottom: 0 !important;
}

html body .safety-questions__content {
  padding-top: 0 !important;
}

html body .safety-questions h2.site-heading {
  margin-top: 0 !important;
  padding-top: var(--site-heading-pad-top) !important;
}

html body .safety-educational {
  padding-top: 0 !important;
}

html body .safety-educational h2.site-heading {
  margin-top: 0 !important;
  padding-top: var(--site-heading-pad-top) !important;
}

html body .safety-read .site-heading-copy > h2.site-heading {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

html body .safety-read .site-heading-copy > h2.site-heading + p {
  margin-bottom: 0 !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

/* Safety section titles: slightly under full-bleed homepage H2 so they fit half-columns */
html body
  main
  :is(
    .safety-read,
    .safety-review,
    .safety-plan,
    .safety-questions,
    .safety-educational,
    .safety-contact
  )
  h2.site-heading {
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(1.75rem, 2.8vw, 2.5rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.15 !important;
}

html body main .safety-compounded__notice h3.safety-panel-title {
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(1.7rem, 3vw, 2.6rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.45 !important;
}

html body .safety-read .site-heading-copy + p {
  margin-top: 0 !important;
}

/* ========================================================================
   PAGE: MICRODOSING QUIZ
   Search: PAGE: MICRODOSING QUIZ / microdosing-intake.css
   Used by: microdosing-quiz.html
   ======================================================================== */
@layer quiz {
  .micro-intake-page {
    min-height: 100vh;
    background: linear-gradient(180deg, #fff 0%, #f2f8fd 100%);
  }

  .micro-intake-page .quiz-main {
    min-height: 100vh;
    padding: clamp(1.5rem, 3.2vw, 3.25rem) clamp(1.5rem, 3.2vw, 4rem);
  }

  .micro-intake-page .quiz-card {
    width: 100%;
    max-width: 100rem;
    padding: clamp(2.75rem, 4.5vw, 4.5rem) clamp(2rem, 5vw, 5.5rem) clamp(2rem, 3vw, 3.5rem);
    border: 1px solid #d4e3ef;
    border-radius: 0.5rem;
    box-shadow: 0 1.5rem 4rem rgb(27 66 105 / 8%);
  }

  .micro-intake-page .quiz-progress {
    width: 100%;
    max-width: none;
    height: 0.4375rem;
    margin: 0 auto clamp(2.75rem, 5vw, 4.75rem);
    background: #e1edf5;
  }

  .micro-intake-page .quiz-progress span {
    background: linear-gradient(90deg, #0c2039 0%, #087da7 100%);
  }

  .micro-intake-page .quiz-step {
    width: 100%;
    max-width: 64rem;
  }

  .micro-intake-page .quiz-step h1 {
    max-width: 60rem;
    margin: 0;
    color: #101f34;
    font-size: clamp(2rem, 3.1vw, 2.75rem);
    font-weight: 900;
    letter-spacing: -0.035em;
    line-height: 1.08;
  }

  .micro-intake-page .quiz-step > p {
    max-width: 62rem;
    margin-top: 1rem;
    color: #617899;
    font-size: 1.0625rem;
    line-height: 1.55;
  }

  .micro-intake-page .quiz-options {
    gap: 0.75rem;
    margin-top: 2rem;
  }

  .micro-intake-page .quiz-options legend {
    margin-bottom: 0.65rem;
    color: #17263a;
    font-size: 1.0625rem;
    font-weight: 800;
  }

  .micro-intake-page .quiz-options label {
    min-height: 4.5rem;
    gap: 0.875rem;
    padding: 1rem 1.25rem;
    border-color: #d5e3ef;
    border-radius: 0.5rem;
    box-shadow: 0 0.75rem 1.75rem rgb(23 45 86 / 3.5%);
  }

  .micro-intake-page .quiz-options label:hover {
    transform: none;
  }

  .micro-intake-page .quiz-options label.is-selected {
    border-color: #101f34;
    border-left: 0.25rem solid #1497c7;
    background: linear-gradient(110deg, #e9f7fd 0%, #fff 70%);
    box-shadow: 0 0 0 1px #101f34, 0 1rem 2.25rem rgb(18 48 90 / 10%);
    transform: none;
  }

  .micro-intake-page .quiz-options input {
    width: 1.375rem;
    height: 1.375rem;
  }

  .micro-intake-page .quiz-options span {
    color: #14243a;
    font-size: 1rem;
    font-weight: 750;
  }

  .micro-intake-page .quiz-measurements {
    margin-top: 2rem;
  }

  .micro-intake-page .quiz-measurements input,
  .micro-intake-page .quiz-select-field select {
    min-height: 4.375rem;
    padding: 1rem 1.25rem;
    border-color: #d5e3ef;
    font-size: 1.125rem;
  }

  .micro-weight-heading {
    margin-top: 0.5rem !important;
    grid-column: 1 / -1;
  }

  .micro-intake-page .quiz-bmi {
    min-height: 4.5rem;
    display: flex;
    align-items: center;
    margin-top: 2.5rem;
    padding-inline: 1.5rem;
  }

  .micro-intake-page .quiz-bmi p { display: none; }
  .micro-intake-page .quiz-bmi strong { color: #b84d00; font-size: 1.0625rem; }

  .micro-intake-page .quiz-detail-image--illustration {
    width: min(25rem, 38%);
    margin: 5rem auto 3.5rem;
  }

  .micro-intake-page .quiz-detail-image--promo,
  .micro-intake-page .quiz-detail-image--pregnancy {
    width: min(28rem, 44%);
    margin: 1.5rem auto 2rem;
  }

  .micro-intake-page .quiz-pregnancy { margin-top: 2rem; }
  .micro-intake-page [hidden] { display: none; }

  .micro-textarea {
    display: grid;
    gap: 0.55rem;
    margin-top: 1.5rem;
    color: #14243a;
    font-size: 1rem;
    font-weight: 800;
  }

  .micro-textarea textarea {
    min-height: 10.5rem;
    padding: 1rem;
    resize: vertical;
    border: 1px solid #d5e3ef;
    border-radius: 0.5rem;
    color: #14243a;
    background: #fff;
    font: inherit;
    font-weight: 400;
  }

  .micro-textarea textarea:focus {
    border-color: #1497c7;
    outline: none;
    box-shadow: 0 0 0 3px rgb(20 151 199 / 12%);
  }

  .micro-field-title,
  .micro-consent-title {
    font-size: 1.0625rem !important;
    letter-spacing: 0 !important;
  }

  .micro-info-panel {
    max-width: 43rem;
    padding: 1rem 1.25rem;
    margin: 2.75rem 0 1rem;
    border: 1px solid #d5e3ef;
    border-left: 0.25rem solid #1497c7;
    border-radius: 0.5rem;
    color: #17335e;
    background: #f7faff;
    font-size: 0.9375rem;
    line-height: 1.55;
  }

  .micro-consent-copy {
    margin-top: 2rem;
    color: #617899;
    font-size: 1rem;
    line-height: 1.65;
  }

  .micro-consent-copy h2,
  .micro-medication-consent h2 {
    margin: 1.5rem 0 0.5rem;
    color: #14243a;
    font-size: 1rem;
  }

  .micro-medication-consent > p,
  .micro-medication-consent li {
    color: #617899;
    font-size: 0.875rem;
    line-height: 1.55;
  }

  .micro-medication-consent ul { padding-left: 2rem; }

  .micro-intake-page .micro-medication-consent .quiz-inline-logo,
  .micro-intake-page [data-step="truthfulness"] .quiz-inline-logo {
    width: min(25rem, 58%);
    margin-bottom: 2.5rem;
  }

  .micro-intake-page .quiz-error,
  .micro-intake-page .quiz-actions {
    max-width: 64rem;
  }

  .micro-intake-page .quiz-actions {
    grid-template-columns: 10rem minmax(20rem, 28rem);
    padding-top: 1.5rem;
    margin-top: 2rem;
  }

  .micro-intake-page .quiz-actions button { min-height: 3.75rem; }
  .micro-intake-page .quiz-continue { background: linear-gradient(90deg, #102540, #075577); }

  @media (max-width: 48rem) {
    .micro-intake-page .quiz-main { padding: 0; }
    .micro-intake-page .quiz-card { min-height: 100vh; padding: 1.5rem 1rem 6rem; border: 0; border-radius: 0; box-shadow: none; }
    .micro-intake-page .quiz-progress { margin-bottom: 2rem; }
    .micro-intake-page .quiz-step h1 { font-size: 1.75rem; }
    .micro-intake-page .quiz-step > p { font-size: 0.9375rem; }
    .micro-intake-page .quiz-detail-image--illustration,
    .micro-intake-page .quiz-detail-image--promo,
    .micro-intake-page .quiz-detail-image--pregnancy { width: min(100%, 22rem); }
    .micro-intake-page .quiz-actions { width: calc(100% + 2rem); grid-template-columns: 7rem 1fr; }
  }
}

/* ========================================================================
   PAGE: MICRODOSING INELIGIBLE
   Search: PAGE: MICRODOSING INELIGIBLE / microdosing-not-eligible.css
   Used by: microdosing-not-eligible.html
   ======================================================================== */
@layer page {
  .micro-not-eligible .not-eligible-card::before { background: linear-gradient(90deg, #263477, #1499c8); }
  .micro-not-eligible .not-eligible-button--primary { background: #1597c7; box-shadow: 0 0.875rem 1.75rem rgb(21 151 199 / 22%); }
  .micro-not-eligible .not-eligible-button--primary:hover { background: #0f83b8; }
  .micro-not-eligible .not-eligible-button--light { border-color: #d7e3ef; color: #263477; background: #fff; }
  .micro-not-eligible .not-eligible-note { background: #f4f9fd; }
}

/* ========================================================================
   PAGE: MICRODOSING
   Search: PAGE: MICRODOSING / microdosing.css
   Used by: microdosing.html
   ======================================================================== */
/* stylelint-disable -- Supplied Microdosing design stylesheet. */
500;600;700;800;900&display=swap");

body {
  margin: 0;
  overflow-x: clip;
  font-family: "Inter", sans-serif;
}

.md-page {
  --md-blue: #1c68d9;
  --md-navy: #171992;
  --md-ink: #131117;
  --md-text: #687279;
  --md-pale: #d7e8ff;
  --md-max: 1290px;
  --md-space: clamp(48px, 6vw, 88px);
  --md-h1: clamp(28px, 3.2vw, 40px);
  --md-h2: clamp(2rem, 4vw, 3.25rem);
  --md-h3: clamp(22px, 2.2vw, 30px);
  --md-h3-sm: 18px;
  --md-body: 1.0625rem;
  --md-lead: 18px;
  --md-small: 13px;
  position: relative;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow-x: visible;
  background: #fff;
  color: var(--md-ink);
  font-family: "Inter", sans-serif;
}

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

.md-page h1,
.md-page h2,
.md-page h3,
.md-page h4,
.md-page p,
.md-page li,
.md-page a,
.md-page button,
.md-page summary,
.md-page span,
.md-page strong,
.md-page em {
  font-family: "Inter", sans-serif;
}

.md-page img {
  max-width: 100%;
}

.md-shell {
  width: min(var(--md-max), calc(100% - 48px));
  max-width: var(--md-max);
  margin-inline: auto;
}

.md-page h1,
.md-page h2,
.md-page h3 {
  color: var(--md-ink);
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1.4;
}

.md-page h2 {
  margin: 0;
  font-size: var(--md-h2);
}

.md-page h3 {
  font-size: var(--md-h3);
}

.md-page p {
  margin: 0 0 14px;
  color: var(--md-text);
  font-size: var(--md-body);
  font-weight: 400;
  line-height: 1.65;
}

.md-page li {
  color: var(--md-text);
  font-size: var(--md-body);
  font-weight: 400;
  line-height: 1.65;
}

.md-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 28px;
  border: 0;
  border-radius: 999px;
  text-decoration: none;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: normal;
  transition:
    transform 0.2s ease,
    filter 0.2s ease;
}

.md-btn-navy {
  background: var(--md-navy);
  color: #fff;
}
.md-btn-blue {
  background: var(--md-blue);
  color: #fff;
}
.md-btn-white {
  background: #fff;
  color: #111;
}
.md-btn:hover {
  transform: translateY(-1px);
}
.md-btn-navy:hover {
  background: var(--md-blue);
  color: #fff;
}
.md-btn-blue:hover {
  background: var(--md-navy);
  color: #fff;
}
.md-btn:focus-visible {
  outline: 3px solid rgba(23, 25, 146, 0.35);
  outline-offset: 3px;
}

.md-hero {
  position: relative;
  width: 100%;
  background: #fff;
  color: #fff;
}

.md-hero-band {
  position: absolute;
  top: 72px;
  right: 0;
  bottom: 0;
  left: 0;
  background:
    radial-gradient(
      circle at 78% 38%,
      transparent 90px,
      rgba(255, 255, 255, 0.14) 91px,
      transparent 92px,
      transparent 150px,
      rgba(255, 255, 255, 0.14) 151px,
      transparent 152px,
      transparent 220px,
      rgba(255, 255, 255, 0.12) 221px,
      transparent 222px,
      transparent 300px,
      rgba(255, 255, 255, 0.1) 301px,
      transparent 302px
    ),
    #1c68d9;
}

.md-hero-band::before,
.md-hero-band::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 50%;
  pointer-events: none;
}

.md-hero-band::before {
  top: -90px;
  right: 6%;
  width: 340px;
  height: 340px;
}
.md-hero-band::after {
  top: -160px;
  right: 18%;
  width: 520px;
  height: 520px;
}

.md-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 4vw, 48px);
  align-items: stretch;
  padding: 24px 0 32px;
}

.md-hero-media {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.md-hero-media img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  border-radius: 18px;
  box-shadow: none;
  object-fit: cover;
}

.md-hero-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding-top: 108px;
}
.md-hero-copy h1 {
  margin: 0 0 48px;
  color: #fff;
  font-size: clamp(30px, 2.8vw, 42px);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.15;
}
.md-hero-copy p {
  max-width: none;
  margin: 0 0 10px;
  color: #fff;
  font-size: var(--md-body);
  font-weight: 400;
  line-height: 1.65;
}
.md-hero-note {
  font-style: italic;
  opacity: 0.96;
}
.md-hero-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 16px 0 0;
}
.md-hero-ctas .md-btn {
  flex: 1 1 0;
  min-width: 0;
}
.md-hero-copy .md-trust {
  margin-top: 14px;
}
.md-hero .md-trust,
.md-final .md-trust {
  margin: 0;
  color: #fff;
  font-size: var(--md-small);
  font-weight: 400;
  letter-spacing: normal;
  line-height: 1.5;
  opacity: 0.92;
}

.md-ico {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  margin: 0 0 18px;
  border-radius: 12px;
  background: linear-gradient(180deg, #eef4ff, #e3edff);
  color: var(--md-navy);
  box-shadow: inset 0 0 0 1px rgba(28, 104, 217, 0.08);
}
.md-ico svg {
  display: block;
  width: 22px;
  height: 22px;
}

.md-bar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 16px;
  padding: 28px 0 24px;
}
.md-bar article {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  padding: 22px 20px 20px;
  border: 1px solid #e6ebf4;
  border-top: 3px solid var(--md-blue);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(23, 25, 146, 0.05);
}
.md-bar h3 {
  margin: 0 0 10px;
  color: var(--md-navy);
  font-size: var(--md-h3-sm);
  font-weight: 700;
  line-height: 1.4;
}
.md-bar p {
  margin: 0;
  font-size: var(--md-body);
  line-height: 1.65;
  flex: 1;
}

.md-split {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  padding: var(--site-heading-pad-bottom) 0;
}

.md-slider {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  width: 100%;
  max-width: 480px;
  margin-block: var(--site-heading-pad-bottom);
  margin-inline: auto;
  border-radius: 24px;
  background: #eef3ff;
}
.md-slider-track {
  position: absolute;
  inset: 0;
}
.md-slider-track img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.45s ease;
}
.md-slider-track img.is-active {
  opacity: 1;
}
.md-slider-btn {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.88);
  color: #334;
  font-size: 26px;
  line-height: 1;
  transform: translateY(-50%);
  cursor: pointer;
}
.md-slider-prev {
  left: 12px;
}
.md-slider-next {
  right: 12px;
}
.md-slider-dots {
  position: absolute;
  right: 0;
  bottom: 14px;
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  gap: 7px;
}
.md-slider-dots span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.55);
}
.md-slider-dots span.is-active {
  background: #fff;
}

.md-why {
  width: 100%;
  padding: 0 0 var(--site-heading-pad-bottom);
  background: #10206b;
  color: #fff;
}
.md-why-top {
  max-width: 720px;
  margin-bottom: 0;
}
.md-why h2 {
  margin: 0;
  color: #fff;
}
.md-why p {
  margin: 0;
  color: #fff;
}
.md-why-feel {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 32px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 16px;
  overflow: hidden;
}
.md-why-feel p {
  margin: 0;
  padding: 18px 20px;
  color: #fff;
  font-size: var(--md-lead);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
.md-why-feel p + p {
  border-left: 1px solid rgba(255, 255, 255, 0.18);
}
.md-why-lead {
  margin: 0 0 14px;
  font-size: var(--md-body);
  font-weight: 500;
}
.md-why-items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.md-why-items li {
  padding: 14px 16px;
  border-left: 3px solid #8eb6ff;
  border-radius: 0 12px 12px 0;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-size: var(--md-body);
  font-weight: 500;
  line-height: 1.5;
}
.md-why-end {
  margin: 28px 0 0;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  font-size: var(--md-lead);
  font-weight: 400;
  line-height: 1.65;
}

.md-philosophy {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: clamp(28px, 4vw, 48px);
  align-items: center;
  padding: var(--site-heading-pad-bottom) 0;
}
.md-feature-card {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border-radius: 28px;
  object-fit: contain;
  object-position: center;
}
.md-philosophy > div {
  min-width: 0;
}
.md-quote {
  margin: 18px 0 0;
  color: var(--md-navy);
  font-size: var(--md-h3);
  font-weight: 700;
  line-height: 1.4;
}

.md-who {
  padding: 0 0 var(--site-heading-pad-bottom);
}
.md-who-head {
  margin-bottom: 0;
}
.md-who-head p {
  margin: 0;
  font-size: var(--md-lead);
  font-weight: 500;
}
.md-who-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: clamp(24px, 4vw, 40px);
  align-items: stretch;
  margin-top: 0;
}
.md-who-items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.md-who-items li {
  margin: 0;
  padding: 12px 14px 12px 16px;
  border-left: 3px solid var(--md-blue);
  border-radius: 0 10px 10px 0;
  background: #f4f8ff;
  font-size: var(--md-body);
  line-height: 1.5;
}
.md-who-layout img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 360px;
  border-radius: 24px;
  object-fit: cover;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}
.md-who-note {
  max-width: none;
  margin: 22px 0 0;
  padding-top: 18px;
  border-top: 1px solid #e4e8ef;
  color: #667085;
}
.md-path ul {
  margin: 10px 0 0;
  padding-left: 20px;
  line-height: 1.75;
}
.md-path li {
  margin: 0 0 6px;
}

.md-cards-wrap {
  width: 100%;
  padding: 0 0 var(--site-heading-pad-bottom);
  background: var(--md-pale);
  /* Contain child margins so they stay inside the pale blue band */
  display: flow-root;
}
.md-cards-wrap h2 {
  max-width: 18em;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.md-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 18px;
  margin-top: 0;
}
.md-cards article {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  padding: 22px 20px 20px;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(23, 25, 146, 0.06);
}
.md-cards h3 {
  margin: 0 0 8px;
  color: var(--md-navy);
  font-size: var(--md-h3-sm);
  font-weight: 700;
  line-height: 1.4;
}
.md-cards p {
  margin: 0;
  font-size: var(--md-body);
}

.md-paths {
  padding: 0;
  text-align: center;
}
.md-path-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: start;
  margin-top: 0;
  text-align: left;
}
.md-path {
  display: flex;
  flex-direction: column;
  padding: 28px 26px;
  border: 1.5px solid #d7e0f5;
  border-radius: 24px;
  background: #fff;
}
.md-path h3 {
  margin: 0 0 14px;
  font-size: var(--md-h3);
  font-weight: 700;
}
.md-path-label {
  margin: 12px 0 6px;
  color: var(--md-navy);
  font-size: var(--md-body);
  font-weight: 700;
}
.md-path .md-btn {
  align-self: flex-start;
  margin-top: 18px;
}

.md-vs {
  padding: 0;
}
.md-vs-head {
  margin-bottom: 0;
  text-align: center;
}
.md-vs-head p {
  max-width: none;
  margin: 0;
  color: var(--md-text);
  font-size: var(--md-lead);
  font-weight: 500;
}
.md-vs-panel {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  overflow: hidden;
  border: 1px solid #d7e0f5;
  border-radius: 24px;
  background: #fff;
}
.md-vs-card {
  padding: 22px;
  text-align: left;
}
.md-vs-card + .md-vs-card,
.md-vs-panel .md-vs-card:last-of-type {
  border-left: 1px solid #d7e0f5;
}
.md-vs-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/10.4;
  margin-bottom: 18px;
  object-fit: cover;
  border-radius: 18px;
}
.md-vs-card h3 {
  margin: 0 0 10px;
  font-size: var(--md-h3);
  font-weight: 700;
}
.md-vs-card p {
  margin: 0;
}
.md-vs-badge {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border: 1px solid #d7e0f5;
  border-radius: 50%;
  background: #fff;
  color: var(--md-navy);
  font-size: var(--md-small);
  font-weight: 700;
  letter-spacing: 0.06em;
  transform: translate(-50%, -50%);
}
.md-vs-note {
  max-width: none;
  margin: 22px 0 0;
  padding-top: 18px;
  border-top: 1px solid #e4e8ef;
  color: #667085;
  text-align: center;
}

.md-plans-intro {
  padding: 0;
  text-align: center;
}
.md-plans-intro p {
  margin-bottom: 0;
  font-size: var(--md-lead);
  font-weight: 500;
}
#pricing {
  scroll-margin-top: 24px;
}

.md-how {
  padding: 0;
  text-align: center;
}
.md-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 0 !important;
  padding: 0;
  list-style: none;
  text-align: left;
}
.md-steps li {
  height: 100%;
  padding: 24px 20px;
  border-radius: 20px;
  background: #f4f8ff;
}
.md-steps span {
  display: inline-block;
  margin-bottom: 12px;
  color: var(--md-blue);
  font-size: var(--md-small);
  font-weight: 400;
  letter-spacing: normal;
  text-transform: none;
}
.md-steps h3 {
  margin: 0 0 8px;
  font-size: var(--md-h3-sm);
  font-weight: 700;
  line-height: 1.4;
}
.md-steps p {
  margin: 0 0 8px;
  font-size: var(--md-body);
}
.md-steps p:last-child {
  margin: 0;
}

.md-method {
  padding: 0;
  text-align: center;
}
.md-method-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 0 0 28px;
  text-align: left;
}
.md-method-grid article {
  height: 100%;
  padding: 24px 20px;
  border-top: 3px solid var(--md-blue);
  border-radius: 0 0 16px 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(23, 25, 146, 0.06);
}
.md-method-grid h3 {
  margin: 0 0 8px;
  color: var(--md-navy);
  font-size: var(--md-h3-sm);
  font-weight: 700;
}
.md-method-grid p {
  margin: 0;
  font-size: var(--md-body);
}
.md-method .md-quote {
  margin: 8px auto 24px;
  max-width: 28em;
}
.md-method .md-btn {
  margin-top: 4px;
}

.md-important {
  padding: 0;
  text-align: center;
}
.md-important h2 span {
  color: var(--md-blue);
}
.md-important p {
  max-width: 720px;
  margin: 0 auto 12px;
  color: #6b7280;
}
.md-important p:last-child {
  margin-bottom: 0;
}

.md-faqs {
  padding: 0;
  text-align: center;
}
.md-faqs h2 {
  margin: 0 auto;
  max-width: 16em;
  color: var(--md-blue);
  text-align: center;
  font-size: var(--md-h2);
  font-weight: 700;
}
.md-faqs .faq-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  text-align: left;
}
.md-faqs .faq-item {
  overflow: hidden;
  border-radius: 16px;
  background: var(--md-blue);
}
.md-faqs .faq-item.is-open {
  box-shadow: 0 10px 28px rgba(23, 25, 146, 0.08);
}
.md-faqs .faq-item summary {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 64px;
  padding: 16px 20px;
  background: var(--md-blue);
  color: #fff;
  cursor: pointer;
  font-size: var(--md-lead);
  font-weight: 500;
  line-height: 1.35;
  list-style: none;
}
.md-faqs .faq-item summary::-webkit-details-marker,
.md-faqs .faq-item summary::marker {
  display: none;
  content: "";
}
.md-faqs .faq-item summary:hover {
  background: rgba(0, 0, 0, 0.06);
}
.md-faqs .faq-icon {
  position: relative;
  display: grid;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 50%;
  background: var(--md-navy);
}
.md-faqs .faq-icon::before,
.md-faqs .faq-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: #fff;
  border-radius: 1px;
  transform: translate(-50%, -50%);
}
.md-faqs .faq-icon::before {
  width: 14px;
  height: 2px;
}
.md-faqs .faq-icon::after {
  width: 2px;
  height: 14px;
  transition:
    transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.22s ease;
}
.md-faqs .faq-item.is-open .faq-icon::after {
  transform: translate(-50%, -50%) scaleY(0);
  opacity: 0;
}
.md-faqs .faq-answer {
  overflow: hidden;
  border: 1px solid #e4e8ef;
  border-top: 0;
  background: #fff;
}
.md-faqs.faq-js .faq-item:not(.is-open) .faq-answer {
  height: 0;
  border-color: transparent;
}
.md-faqs.faq-js .faq-item.is-open .faq-answer,
.md-faqs .faq-item[open] .faq-answer {
  border-color: #e4e8ef;
}
.md-faqs .faq-answer > * {
  margin: 0;
  padding: 0 24px 0 70px;
  color: var(--md-text);
  font-size: var(--md-body);
  line-height: 1.65;
}

.md-faqs .faq-answer > *:first-child {
  padding-top: 20px;
}

.md-faqs .faq-answer > *:last-child {
  padding-bottom: 22px;
}

.md-faqs .faq-answer p + p {
  margin-top: 0;
}

.md-final {
  width: 100%;
  padding: 0;
  background: var(--md-navy);
  color: #fff;
  text-align: center;
}
.md-final .md-shell {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 720px;
}
.md-final h2 {
  margin: 0;
  color: #fff;
}
.md-final p {
  max-width: 640px;
  margin: 0;
  color: #fff;
}
.md-final-ctas {
  justify-content: center;
  margin: 20px 0 0;
}
.md-final .md-trust {
  margin-top: 16px;
  margin-bottom: 0;
  padding-bottom: 0;
  text-align: center;
}

@media (max-width: 1023px) {
  .md-page {
    left: auto;
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }
}

@media (max-width: 1100px) {
  .md-bar,
  .md-cards,
  .md-steps,
  .md-method-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1024px) {
  .md-shell {
    width: min(100% - 40px, var(--md-max));
  }
  .md-hero-grid {
    gap: 28px;
  }
  .md-path {
    padding: 26px 22px;
  }
  .md-cards article,
  .md-steps li {
    padding: 22px 18px;
  }
}

@media (max-width: 900px) {
  .md-hero-band {
    top: 56px;
  }
  .md-hero-grid,
  .md-split,
  .md-philosophy,
  .md-who-layout,
  .md-path-grid,
  .md-vs-panel,
  .md-why-feel,
  .md-why-items {
    grid-template-columns: 1fr;
  }
  .md-why-feel p + p {
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
  }
  .md-vs-card + .md-vs-card,
  .md-vs-panel .md-vs-card:last-of-type {
    border-left: 0;
    border-top: 1px solid #d7e0f5;
  }
  .md-vs-badge {
    top: 50%;
    display: none;
  }
  .md-who-layout img {
    min-height: 280px;
  }
  .md-hero-copy {
    padding-top: 28px;
  }
  .md-hero-grid {
    padding-bottom: 28px;
  }
  .md-slider {
    max-width: none;
    max-height: none;
    aspect-ratio: 1 / 1;
  }
  .md-faqs .faq-item summary {
    font-size: 16px;
    min-height: 58px;
  }
  .md-faqs .faq-answer > * {
    padding-left: 20px;
    font-size: 16px;
  }
  .md-path .md-btn {
    align-self: stretch;
    width: 100%;
  }
}

@media (max-width: 767px) {
  .md-shell {
    width: min(100% - 32px, var(--md-max));
  }
  .md-hero-band {
    top: 48px;
  }
  .md-hero-grid {
    padding: 20px 0 24px;
    gap: 18px;
  }
  .md-hero-copy {
    padding-top: 24px;
  }
  .md-hero-ctas .md-btn {
    flex: 1 1 100%;
    max-width: 360px;
  }
  .md-bar,
  .md-cards,
  .md-steps {
    grid-template-columns: 1fr;
  }
  .md-method-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .md-method-grid article {
    padding: 18px 14px;
  }
  .md-bar {
    gap: 12px;
  }
  .md-path-grid,
  .md-cards {
    gap: 14px;
  }
  .md-hero-ctas .md-btn,
  .md-method .md-btn,
  .md-final .md-btn {
    width: 100%;
    max-width: 360px;
  }
  .md-hero-ctas,
  .md-final-ctas {
    justify-content: center;
  }
  .md-faqs .faq-item summary {
    gap: 10px;
    min-height: 52px;
    padding: 12px 14px;
    font-size: 15px;
  }
  .md-faqs .faq-icon {
    flex-basis: 30px;
    width: 30px;
    height: 30px;
  }
  .md-plans-intro {
    padding-bottom: 0;
  }
}

@media (max-width: 480px) {
  .md-shell {
    width: min(100% - 24px, var(--md-max));
  }
  .md-hero-copy h1 {
    font-size: 28px;
  }
  .md-bar article,
  .md-cards article,
  .md-path,
  .md-steps li {
    padding: 18px 16px;
  }
  .md-slider {
    border-radius: 18px;
  }
  .md-feature-card,
  .md-who img,
  .md-vs-card img {
    border-radius: 18px;
  }
}

.crx-micro-pricing-section {
  --crx-pricing-bg: #f4f8ff;
  padding: 0 20px var(--site-heading-pad-bottom);
  background: var(--crx-pricing-bg);
  overflow: visible;
  position: relative;
  z-index: 1;
  left: auto;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  box-sizing: border-box;
  font-family: "Inter", sans-serif;
}

@media (min-width: 992px) {
  .crx-micro-pricing-section {
    padding-left: max(20px, calc((100vw - 1290px) / 2));
    padding-right: max(20px, calc((100vw - 1290px) / 2));
  }
}

.crx-grid-wrap {
  position: relative;
  width: 100%;
  min-width: 0;
  max-width: 1290px;
  margin: auto;
  overflow: visible;
  background: var(--crx-pricing-bg, #f4f8ff);
}

.crx-grid-scroll {
  width: 100%;
  min-width: 0;
}

.crx-mobile-swipe-hint,
.crx-swipe-indicator {
  display: none;
}

.crx-micro-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 28px;
  width: 100%;
  min-width: 0;
  max-width: 1290px;
  margin: auto;
  padding-top: 18px;
  overflow: visible;
}

@media (min-width: 992px) {
  .crx-micro-pricing-section .crx-micro-grid.crx-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 420px));
    justify-content: center;
    width: 100%;
    max-width: 1290px;
    margin-inline: auto;
  }
}

.crx-card {
  background: #fff;
  border: 2px solid #1c68d9;
  border-radius: 28px;
  padding: 40px 34px;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  min-height: 0;
  box-shadow: none;
  transition: 0.3s ease;
  overflow: visible;
  z-index: 1;
}

.crx-card:hover {
  transform: none;
  box-shadow: none;
}

.crx-featured,
.crx-card-featured {
  border: 2px solid #1c68d9;
  background: #fff;
  box-shadow: none;
}

.crx-ribbon-img {
  position: absolute;
  height: auto;
  z-index: 2;
  display: none;
  opacity: 1;
  visibility: visible;
  pointer-events: none;
}

.crx-card > img.crx-ribbon-img {
  display: block;
}

.crx-card-head {
  position: relative;
  z-index: 3;
}

.crx-card-badges {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 22px;
  position: relative;
  z-index: 3;
}

.crx-badge-icon {
  display: inline-grid;
  width: 1em;
  height: 1em;
  flex: 0 0 1em;
  color: currentcolor;
  font-family: Arial, sans-serif;
  font-size: 0.95em;
  font-weight: 700;
  line-height: 1;
  place-items: center;
}

.crx-main-badge,
.crx-sub-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: max-content;
  max-width: 100%;
  border-radius: 999px;
  font-weight: 800;
  line-height: 1.2;
}

.crx-main-badge {
  background: #1c68d9;
  color: #fff;
  font-size: 15px;
  padding: 10px 15px;
  box-shadow: 0 8px 18px rgba(28, 104, 217, 0.22);
}

.crx-sub-badge {
  background: #fff;
  color: #344054;
  font-size: 14px;
  padding: 8px 13px;
  border: 1px solid #cbd7ff;
  box-shadow: 0 6px 14px rgba(16, 24, 40, 0.06);
}

.crx-product-block {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 42px;
}

.crx-product-img {
  width: 118px;
  height: 118px;
  object-fit: contain;
  flex-shrink: 0;
}

.crx-card h3,
.crx-title-wrap h3 {
  font-size: 30px;
  line-height: 1.1;
  margin: 0 0 8px;
  color: #080b24;
}

.crx-plan {
  font-size: 18px;
  font-weight: 800;
  color: #1c68d9;
}

.crx-price {
  font-size: 58px;
  font-weight: 900;
  line-height: 1;
  color: #080b24;
  margin-bottom: 22px;
}

.crx-price span {
  font-size: 18px;
  font-weight: 500;
  color: #667085;
}

.crx-price del {
  font-size: 28px;
  color: #999;
  font-weight: 500;
  margin-left: 10px;
}

.crx-billing {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  flex-wrap: nowrap;
}

.crx-save {
  display: inline-block;
  background: #eaf8ed;
  color: #17803d;
  font-size: 15px;
  font-weight: 900;
  padding: 8px 16px;
  border-radius: 999px;
  white-space: nowrap;
}

.crx-billed {
  font-size: 15px;
  font-weight: 600;
  color: #667085;
  white-space: nowrap;
}

.crx-desc {
  font-size: 16px;
  line-height: 1.6;
  color: #475467;
  margin-bottom: 18px;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.crx-includes {
  text-align: left;
  padding-left: 18px;
  margin: 0 0 28px;
  color: #475467;
  font-size: 15px;
  line-height: 1.6;
}

.crx-includes li {
  margin-bottom: 4px;
}

.crx-card-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: calc(100% - 24px);
  margin-top: auto;
  margin-inline: auto;
}

.crx-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  background: #171992;
  color: white !important;
  text-decoration: none;
  min-height: 56px;
  padding: 14px 22px;
  margin: 0;
  border: 2px solid #171992;
  border-radius: 999px;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
  transition: 0.25s ease;
}

.crx-btn:hover {
  background: #1c68d9;
  border-color: #1c68d9;
  color: white !important;
  transform: translateY(-1px);
}

.crx-btn span {
  font-size: 18px;
  line-height: 1;
}

.crx-btn-learn {
  background: #1c68d9;
  border-color: #1c68d9;
  color: #fff !important;
}

.crx-btn-learn:hover {
  background: #171992;
  border-color: #171992;
  color: #fff !important;
}

.crx-note,
.crx-grid-wrap > .crx-note {
  margin-top: 0;
  padding: 18px 24px;
  text-align: center;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.5;
  color: inherit;
  background: var(--crx-pricing-bg, #f4f8ff);
}

body .crx-micro-pricing-section .crx-card > img.crx-ribbon-img {
  top: -15px !important;
  right: -17px !important;
  width: 150px !important;
  inline-size: 150px !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  object-fit: contain;
  transform: none !important;
  transform-origin: top right;
}

@media (min-width: 992px) {
  .crx-card {
    box-shadow: 0 18px 45px rgba(28, 104, 217, 0.08);
  }

  .crx-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 60px rgba(28, 104, 217, 0.14);
  }

  .crx-featured {
    box-shadow: 0 24px 60px rgba(28, 104, 217, 0.14);
  }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {
  .crx-micro-pricing-section {
    padding: 0 0 var(--site-heading-pad-bottom);
    overflow: hidden;
  }

  .crx-mobile-swipe-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 8px 0 0;
    font-size: 13px;
    font-weight: 700;
    color: #667085;
  }

  .crx-swipe-arrow {
    color: #1c68d9;
    font-size: 18px;
    line-height: 1;
  }

  .crx-grid-wrap {
    position: relative;
    max-width: 100%;
    margin: 0;
    overflow: hidden;
    background: var(--crx-pricing-bg, #f4f8ff);
  }

  .crx-grid-scroll {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .crx-grid-scroll::-webkit-scrollbar {
    display: none;
  }

  .crx-micro-grid {
    display: flex;
    overflow: visible;
    gap: 20px;
    padding: 28px 56px 8px;
    width: max-content;
    min-width: 100%;
    max-width: none;
    margin: 0;
  }

  .crx-card {
    min-width: 0;
    width: min(420px, calc(100vw - 112px));
    max-width: min(420px, calc(100vw - 112px));
    flex: 0 0 min(420px, calc(100vw - 112px)) !important;
    height: auto;
    min-height: 0;
    scroll-snap-align: center;
    padding: 24px 20px;
    border-radius: 24px;
    overflow: visible;
    box-shadow: none;
  }

  .crx-featured,
  .crx-card-featured {
    background: #fff;
    box-shadow: none;
  }

  .crx-swipe-indicator {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: #ffffff;
    color: #1c68d9;
    font-size: 29px;
    font-weight: 900;
    z-index: 50;
    box-shadow: 0 10px 24px rgba(16, 24, 40, 0.18);
    border: none;
    opacity: 0.95;
  }

  .crx-swipe-left {
    left: 8px;
  }

  .crx-swipe-right {
    right: 8px;
  }

  .crx-card-badges {
    margin-bottom: 14px;
    gap: 6px;
  }

  .crx-main-badge,
  .crx-sub-badge {
    font-size: 12.5px;
    padding: 7px 11px;
  }

  .crx-product-block {
    display: block;
    text-align: center;
    margin-bottom: 16px;
  }

  .crx-product-img {
    width: 80px;
    height: 80px;
    margin: 0 auto 10px;
    display: block;
  }

  .crx-card h3,
  .crx-title-wrap h3 {
    font-size: 24px;
    line-height: 1.1;
    margin-bottom: 6px;
  }

  .crx-plan {
    font-size: 15px;
  }

  .crx-price {
    font-size: 42px;
    margin-bottom: 10px;
  }

  .crx-price span {
    font-size: 14px;
  }

  .crx-price del {
    font-size: 19px;
    display: block;
    margin-left: 0;
    margin-top: 5px;
  }

  .crx-billing {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 8px;
    margin-bottom: 12px;
  }

  .crx-save {
    font-size: 13px;
    padding: 7px 14px;
    margin-bottom: 0;
    white-space: nowrap;
  }

  .crx-billed {
    display: inline !important;
    min-width: 0;
    font-size: 14px;
    white-space: nowrap;
  }

  .crx-desc {
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 12px;
  }

  .crx-includes {
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 14px;
    padding-left: 17px;
  }

  .crx-includes li {
    margin-bottom: 2px;
  }

  .crx-card-actions {
    gap: 12px;
  }

  .crx-btn {
    min-height: 52px;
    padding: 12px 18px;
    font-size: 16px;
    border-radius: 999px;
  }

  .crx-btn span {
    font-size: 16px;
  }

  .crx-grid-wrap > .crx-note {
    margin-top: 0;
    padding: 12px 24px 8px;
    font-size: 14px;
    line-height: 1.45;
    background: var(--crx-pricing-bg, #f4f8ff);
  }

  body .crx-micro-pricing-section .crx-card > img.crx-ribbon-img {
    top: -14px !important;
    right: -14px !important;
    width: 130px !important;
    inline-size: 130px !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .crx-micro-pricing-section {
    padding: 0 0 var(--site-heading-pad-bottom);
    overflow: hidden;
  }

  .crx-mobile-swipe-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 8px 0 0;
    font-size: 12px;
    font-weight: 700;
    color: #667085;
  }

  .crx-swipe-arrow {
    color: #1c68d9;
    font-size: 18px;
    line-height: 1;
  }

  .crx-grid-wrap {
    position: relative;
    max-width: 100%;
    margin: 0;
    overflow: hidden;
    background: var(--crx-pricing-bg, #f4f8ff);
  }

  .crx-grid-scroll {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .crx-grid-scroll::-webkit-scrollbar {
    display: none;
  }

  .crx-micro-grid {
    display: flex;
    overflow: visible;
    gap: 14px;
    padding: 26px 48px 8px;
    width: max-content;
    min-width: 100%;
    max-width: none;
    margin: 0;
  }

  .crx-card {
    width: min(320px, calc(100vw - 96px));
    min-width: min(320px, calc(100vw - 96px));
    max-width: min(320px, calc(100vw - 96px));
    flex: 0 0 min(320px, calc(100vw - 96px)) !important;
    height: auto;
    min-height: 0;
    scroll-snap-align: center;
    padding: 18px 16px;
    border-radius: 22px;
    overflow: visible;
    box-shadow: none;
  }

  .crx-featured,
  .crx-card-featured {
    background: #fff;
    box-shadow: none;
  }

  .crx-swipe-indicator {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    border-radius: 999px;
    background: #ffffff;
    color: #1c68d9;
    font-size: 28px;
    font-weight: 900;
    z-index: 50;
    box-shadow: 0 10px 24px rgba(16, 24, 40, 0.18);
    border: none;
    opacity: 0.95;
  }

  .crx-swipe-left {
    left: 6px;
  }

  .crx-swipe-right {
    right: 6px;
  }

  .crx-card-badges {
    margin-bottom: 10px;
    gap: 5px;
  }

  .crx-main-badge,
  .crx-sub-badge {
    font-size: 11px;
    padding: 6px 10px;
  }

  .crx-product-block {
    display: block;
    text-align: center;
    margin-bottom: 12px;
  }

  .crx-product-img {
    width: auto;
    max-width: 100%;
    height: 150px;
    margin: 0 auto 8px;
    display: block;
    object-fit: contain;
  }

  .crx-card h3,
  .crx-title-wrap h3 {
    font-size: 22px;
    line-height: 1.08;
    margin-bottom: 5px;
  }

  .crx-plan {
    font-size: 14px;
  }

  .crx-price {
    font-size: 36px;
    margin-bottom: 8px;
  }

  .crx-price span {
    font-size: 13px;
  }

  .crx-price del {
    font-size: 17px;
    display: block;
    margin-left: 0;
    margin-top: 4px;
  }

  .crx-billing {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 6px;
    margin-bottom: 10px;
  }

  .crx-save {
    font-size: 12px;
    padding: 6px 12px;
    margin-bottom: 0;
    white-space: nowrap;
  }

  .crx-billed {
    display: inline !important;
    min-width: 0;
    font-size: 13px;
    white-space: nowrap;
  }

  .crx-desc {
    font-size: 13px;
    line-height: 1.35;
    margin-bottom: 10px;
  }

  .crx-includes {
    font-size: 13px;
    line-height: 1.35;
    margin-bottom: 12px;
    padding-left: 16px;
  }

  .crx-includes li {
    margin-bottom: 1px;
  }

  .crx-card-actions {
    gap: 8px;
  }

  .crx-btn {
    min-height: 50px;
    padding: 11px 16px;
    font-size: 15px;
    border-radius: 999px;
  }

  .crx-btn span {
    font-size: 15px;
  }

  .crx-grid-wrap > .crx-note {
    margin-top: 0;
    margin-bottom: 0;
    padding: 10px 16px 0;
    font-size: 13px;
    line-height: 1.4;
    background: var(--crx-pricing-bg, #f4f8ff);
  }

  body .crx-micro-pricing-section .crx-card > img.crx-ribbon-img {
    top: -12px !important;
    right: -13px !important;
    width: 115px !important;
    inline-size: 115px !important;
  }

  .entry-content .crx-micro-pricing-section,
  .wp-block-html:has(.crx-micro-pricing-section),
  .wp-block-group:has(.crx-micro-pricing-section),
  .wp-block-columns:has(.crx-micro-pricing-section) {
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}

@media (max-width: 430px) {
  .crx-card {
    width: calc(100vw - 88px);
    min-width: calc(100vw - 88px);
    max-width: calc(100vw - 88px);
    flex: 0 0 calc(100vw - 88px) !important;
    padding: 16px 14px;
  }

  .crx-billing {
    gap: 6px;
  }

  .crx-save {
    font-size: 11px;
    padding: 5px 10px;
  }

  .crx-billed {
    font-size: 12px;
  }

  .crx-price {
    font-size: 34px;
  }

  .crx-card h3,
  .crx-title-wrap h3 {
    font-size: 21px;
  }

  .crx-desc,
  .crx-includes {
    font-size: 12.5px;
  }

  body .crx-micro-pricing-section .crx-card > img.crx-ribbon-img {
    top: -11px !important;
    right: -12px !important;
    width: 115px !important;
    inline-size: 115px !important;
  }
}

html body .md-page > .md-who {
  padding-top: 0 !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .md-page > .crx-micro-pricing-section {
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .md-page > .md-cards-wrap,
html body main > section.md-cards-wrap {
  padding-top: 0 !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .md-page > .md-paths {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

html body .md-page > .md-split,
html body .md-page > .md-philosophy {
  padding-top: var(--site-heading-pad-bottom) !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .md-page > .md-vs,
html body .md-page > .md-how,
html body .md-page > .md-method,
html body .md-page > .md-important,
html body .md-page > .md-faqs {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

html body .md-page > .md-why {
  padding-top: 0 !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .md-page > .md-why .md-why-top {
  margin-bottom: 0 !important;
}

html body .md-page > .md-who .md-who-head,
html body .md-page > .md-vs .md-vs-head {
  margin-bottom: 0 !important;
}

html body .md-page .md-who-head > h2.site-heading + p,
html body .md-page .md-why-top > h2.site-heading + p,
html body .md-page .md-vs-head > h2.site-heading + p {
  margin-bottom: 0 !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .md-page .md-who-head + .md-who-layout,
html body .md-page .md-why-top + .md-why-feel,
html body .md-page .md-vs-head + .md-vs-panel,
html body .md-page h2.site-heading + .md-path-grid,
html body .md-page h2.site-heading + .md-cards,
html body .md-page h2.site-heading + .md-steps,
html body .md-page ol.md-steps,
html body .md-page h2.site-heading + p + .md-method-grid {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

html body .md-page .md-important > h2.site-heading + p ~ p:last-of-type {
  margin-bottom: 0 !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body main.md-page.alignfull > section.md-final {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

html body .md-final p.md-trust {
  margin-bottom: 0 !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body
  .md-page
  :is(
    .md-split,
    .md-why,
    .md-philosophy,
    .md-who,
    .md-cards-wrap,
    .md-paths,
    .md-vs,
    .md-how,
    .md-method,
    .md-important,
    .md-faqs,
    .md-final,
    .md-plans-intro
  )
  h2.site-heading {
  font-family: inherit !important;
  font-size: var(--site-h2-size) !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.12 !important;
}

@media (max-width: 900px) {
  html body .md-page > .md-philosophy {
    gap: 0;
  }
}

/* ========================================================================
   PAGE: PRICING
   Search: PAGE: PRICING / pricing.css
   Used by: pricing.html
   ======================================================================== */
:root {
  --pricing-blue: #246bd7;
  --pricing-navy: #171992;
  --pricing-white: #fff;
  --pricing-max: 1290px;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
}

body {
  background: #fff;
  font-family: Inter, Arial, sans-serif;
}

.pricing-main {
  position: relative;
  left: auto !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-height: 0;
  margin-right: calc(50% - 50vw) !important;
  margin-left: calc(50% - 50vw) !important;
  padding-top: 0;
  overflow: visible;
  color: var(--pricing-white);
}

body .pricing-main {
  left: auto !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-right: calc(50% - 50vw) !important;
  margin-left: calc(50% - 50vw) !important;
}

.pricing-main::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 207px 0 0;
  width: auto;
  transform: none;
  background-color: var(--pricing-blue);
  background-image: linear-gradient(
    rgb(36 107 215 / 55%),
    rgb(36 107 215 / 55%)
  );
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
}

.pricing-main__lines,
.pricing-main__lines::before,
.pricing-main__lines::after {
  position: absolute;
  z-index: 0;
  border: 2px solid rgb(255 255 255 / 42%);
  border-radius: 50%;
  pointer-events: none;
}

.pricing-main__lines {
  top: 318px;
  right: -170px;
  width: 590px;
  height: 390px;
}

.pricing-main__lines::before,
.pricing-main__lines::after {
  content: "";
}

.pricing-main__lines::before {
  top: 530px;
  right: 160px;
  width: 720px;
  height: 360px;
}

.pricing-main__lines::after {
  top: 555px;
  right: 690px;
  width: 780px;
  height: 390px;
}

.pricing-main__shell {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(440px, 570px) 1fr;
  column-gap: 48px;
  width: min(var(--pricing-max), calc(100% - 64px));
  max-width: var(--pricing-max);
  min-height: 610px;
  margin: 0 auto;
}

.pricing-main__visual {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.pricing-main__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  border-radius: 18px;
  object-fit: cover;
  object-position: center;
}

/* Retired: use shared .button. */
.pricing-main__button {
  font-weight: 700;
}

.pricing-main__content {
  align-self: center;
  padding-top: 38px;
}

.pricing-main__content h1 {
  margin: 0 0 68px;
  color: var(--pricing-white);
  font-size: clamp(44px, 2.85vw, 58px);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.1;
}

.pricing-main__copy {
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-width: 38rem;
}

.pricing-main__copy p {
  margin: 0;
  color: var(--pricing-white);
  font-size: clamp(21px, 1.36vw, 28px);
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
}

@media (width <= 1500px) {
  .pricing-main {
    min-height: 0;
    padding-top: 0;
  }

  .pricing-main::before {
    top: 166px;
  }

  .pricing-main__lines {
    top: 270px;
    right: -140px;
    width: 500px;
    height: 330px;
  }

  .pricing-main__lines::before {
    top: 440px;
    right: 120px;
    width: 620px;
    height: 310px;
  }

  .pricing-main__lines::after {
    top: 460px;
    right: 590px;
    width: 680px;
    height: 340px;
  }

  .pricing-main__shell {
    grid-template-columns: minmax(480px, 610px) minmax(0, 1fr);
    column-gap: 48px;
    width: min(var(--pricing-max), calc(100% - 48px));
    min-height: 0;
  }

  .pricing-main__image {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    border-radius: 18px;
  }

  .pricing-main__content {
    padding-top: 38px;
  }

  .pricing-main__content h1 {
    margin-bottom: 48px;
  }

  .pricing-main__copy {
    gap: 44px;
  }
}

@media (width >= 901px) {
  .pricing-main__content h1 {
    font-size: clamp(36px, 2.25vw, 42px);
    line-height: 1.15;
    text-wrap: balance;
  }
}

@media (width <= 980px) {
  .pricing-main {
    min-height: 0;
    background-color: var(--pricing-blue);
    background-image: none;
  }

  .pricing-main::before {
    display: none;
  }

  .pricing-main__lines {
    top: 42%;
    right: -170px;
    width: 430px;
    height: 290px;
  }

  .pricing-main__lines::before {
    top: 360px;
    right: 60px;
    width: 520px;
    height: 260px;
  }

  .pricing-main__lines::after {
    display: none;
  }

  .pricing-main__shell {
    display: flex;
    flex-direction: column;
    width: min(680px, 100%);
    min-height: 0;
  }

  .pricing-main__visual {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .pricing-main__image {
    order: 1;
    width: 100%;
    max-width: 620px;
    margin: 0 auto;
    border-radius: 24px;
  }

  .pricing-main__content {
    order: 2;
    padding-top: 34px;
    text-align: left;
  }

  .pricing-main__content h1 {
    margin-bottom: 24px;
    font-size: clamp(30px, 7vw, 46px);
  }

  .pricing-main__copy {
    gap: 14px;
    max-width: 38rem;
    margin: 0;
  }

  .pricing-main__copy p {
    font-size: clamp(16px, 3.8vw, 20px);
    line-height: 1.5;
    text-align: left;
  }

  .pricing-main__visual > .button {
    order: 3;
  }
}

@media (width <= 480px) {
  .pricing-main {
    padding: 18px 14px 40px;
  }

  .pricing-main__image {
    border-radius: 24px;
  }

  .pricing-main__content {
    padding-top: 26px;
  }

  .pricing-main__content h1 {
    margin-bottom: 18px;
    font-size: 30px;
  }

  .pricing-main__copy p {
    font-size: 14px;
  }

  .pricing-main__visual > .button {
    width: 100%;
  }
}

/* Consistent phone layout, including WordPress content containers. */
@media (width <= 767px) {
  .pricing-main,
  body .pricing-main {
    width: 100vw !important;
    max-width: 100vw !important;
    min-height: 0 !important;
    margin-right: calc(50% - 50vw) !important;
    margin-left: calc(50% - 50vw) !important;
    padding: 16px 16px 40px !important;
    overflow: hidden;
    background-color: var(--pricing-blue) !important;
    background-image: none !important;
  }

  .pricing-main__shell {
    width: 100% !important;
    max-width: 600px;
    min-height: 0;
    margin: 0 auto;
  }

  .pricing-main__image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    aspect-ratio: 1 / 1;
    margin: 0 auto !important;
    border-radius: 18px;
    object-fit: cover;
  }

  .pricing-main__content {
    width: 100%;
    padding: 24px 0 0 !important;
  }

  .pricing-main__content h1 {
    margin: 0 0 16px;
    font-size: clamp(29px, 8vw, 36px);
    line-height: 1.15;
    overflow-wrap: anywhere;
  }

  .pricing-main__copy {
    gap: 14px;
    width: 100%;
  }

  .pricing-main__copy p {
    font-size: 16px;
    line-height: 1.55;
  }

  .pricing-main__visual > .button {
    width: 100%;
    max-width: 100%;
  }
}

.pricing-overview {
  --overview-navy: #201f9b;

  width: 100%;
  background: #fff;
  font-family: Inter, Arial, sans-serif;
}

.pricing-overview__intro {
  width: min(1120px, calc(100% - 48px));
  margin: 0 auto;
  padding: 0 24px;
  color: #000;
  text-align: center;
}

.pricing-overview__intro h2 {
  margin: 0;
  color: #000;
  font-size: clamp(30px, 2.1vw, 40px);
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.pricing-overview__intro p {
  max-width: 1080px;
  margin: 0 auto;
  font-size: clamp(18px, 1.4vw, 28px);
  line-height: 1.55;
  text-wrap: balance;
}

.pricing-overview__features {
  /* Same outer + column track as homepage .home-trust */
  --features-max: 1290px;
  --features-gap-x: 32px;
  display: grid;
  grid-template-columns: repeat(
    3,
    minmax(0, calc((min(100%, var(--features-max)) - 3 * var(--features-gap-x)) / 4))
  );
  justify-content: center;
  gap: 16px var(--features-gap-x);
  box-sizing: border-box;
  position: relative;
  left: auto;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: 40px max(24px, calc((100vw - var(--features-max)) / 2));
  background: var(--overview-navy);
  color: #fff;
  font-family: Inter, Arial, sans-serif;
}

.pricing-overview__feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.pricing-overview__icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin-bottom: 10px;
  color: #fff;
}

.pricing-overview__icon svg,
.pricing-overview__feature > svg {
  display: block;
  width: 42px;
  height: 42px;
  margin: 0;
  color: #fff;
}

.pricing-overview__feature h3 {
  margin: 0 0 4px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  text-wrap: balance;
}

.pricing-overview__feature p {
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.35;
}

@media (min-width: 1000px) {
  .pricing-overview__feature h3 {
    max-width: 16ch;
  }

  .pricing-overview__feature p {
    max-width: 22ch;
  }
}

@media (width <= 767px) {
  .pricing-overview__intro {
    width: min(100%, 620px);
    padding: 0 20px;
  }

  .pricing-overview__intro h2 {
    margin-bottom: 14px;
    font-size: 28px;
  }

  .pricing-overview__intro p {
    font-size: 16px;
  }

  .pricing-overview__features {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 40px 20px;
  }

  .pricing-overview__icon,
  .pricing-overview__icon svg,
  .pricing-overview__feature > svg {
    width: 36px;
    height: 36px;
  }

  .pricing-overview__icon {
    margin-bottom: 10px;
  }

  .pricing-overview__feature h3 {
    font-size: 15px;
  }

  .pricing-overview__feature p {
    font-size: 14px;
    line-height: 1.35;
  }
}

.pricing-overview + .crx-pricing-section {
  padding-top: 0;
}

/* Choose Your Plan pricing cards */
.crx-pricing-section {
  --crx-pricing-bg: #f4f8ff;
  padding: 0 20px 35px;
  background: var(--crx-pricing-bg);
  overflow: hidden;
  position: relative;
  z-index: 1;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  box-sizing: border-box;
}

.site-header,
header,
.wp-block-template-part,
.wp-site-blocks > header,
.ast-primary-header-bar {
  z-index: 9999 !important;
}

.site-header {
  position: sticky;
  top: 0;
}

.crx-header {
  text-align: center;
  max-width: 900px;
  margin: auto;
  margin-bottom: 28px;
}

html body main section.crx-pricing-section > .crx-header {
  padding-top: var(--site-heading-pad-top) !important;
}

.crx-eyebrow {
  display: inline-block;
  padding: 10px 18px;
  border-radius: 999px;
  background: #eef2ff;
  color: #1c68d9;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  margin: 0;
}

.crx-header h2 {
  font-size: 56px;
  line-height: 1.08;
  margin-bottom: 14px;
  color: #080b24;
}

.crx-header p {
  font-size: 18px;
  color: #667085;
}

.crx-toggle {
  display: flex;
  max-width: 720px;
  margin: 28px auto 0;
  background: #fff;
  border: 1px solid #d9def0;
  border-radius: 999px;
  padding: 6px;
}

.crx-toggle-btn {
  flex: 1;
  border: none;
  background: transparent;
  padding: 16px;
  font-size: 18px;
  font-weight: 800;
  cursor: pointer;
  border-radius: 999px;
  color: #4b5565;
  transition: 0.25s ease;
}

.crx-toggle-btn.active {
  background: #1c68d9;
  color: #fff;
  box-shadow: 0 8px 22px rgb(28 104 217 / 22%);
}

.crx-toggle-btn.active:hover {
  background: #171992;
}

.crx-mobile-swipe-hint,
.crx-swipe-indicator {
  display: none;
}

.crx-grid-wrap {
  position: relative;
  width: 100%;
  min-width: 0;
  max-width: 1200px;
  margin: auto;
  overflow: visible;
}

.crx-grid-scroll {
  width: 100%;
  min-width: 0;
}

.crx-grid {
  width: 100%;
  min-width: 0;
  max-width: 1200px;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  padding-top: 18px;
  overflow: visible;
}

.crx-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 2px solid #1c68d9;
  border-radius: 28px;
  padding: 40px 34px;
  position: relative;
  cursor: pointer;
  overflow: visible;
  z-index: 1;
  min-width: 0;
  box-shadow: none;
  transition: 0.3s ease;
}

.crx-card:hover {
  transform: none;
  box-shadow: none;
}

.crx-featured {
  border: 2px solid #1c68d9;
  box-shadow: none;
}

@media (width >= 992px) {
  .crx-pricing-section {
    padding-left: max(20px, calc((100vw - 1200px) / 2));
    padding-right: max(20px, calc((100vw - 1200px) / 2));
  }

  .crx-card {
    box-shadow: 0 18px 45px rgb(28 104 217 / 8%);
  }

  .crx-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 60px rgb(28 104 217 / 14%);
  }

  .crx-featured {
    box-shadow: 0 24px 60px rgb(28 104 217 / 14%);
  }
}

.crx-ribbon-img {
  position: absolute;
  top: -15px;
  right: -17px;
  width: 150px;
  height: auto;
  z-index: 2;
  display: none;
  opacity: 1;
  visibility: visible;
  pointer-events: none;
}

.crx-card-head {
  position: relative;
  z-index: 3;
}

.crx-card-badges {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 22px;
  position: relative;
  z-index: 3;
}

.crx-main-badge,
.crx-sub-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: max-content;
  max-width: 100%;
  border-radius: 999px;
  font-weight: 800;
  line-height: 1.2;
}

.crx-main-badge {
  background: #1c68d9;
  color: #fff;
  font-size: 15px;
  padding: 10px 15px;
  box-shadow: 0 8px 18px rgb(28 104 217 / 22%);
}

.crx-sub-badge {
  background: #fff;
  color: #344054;
  font-size: 14px;
  padding: 8px 13px;
  border: 1px solid #cbd7ff;
  box-shadow: 0 6px 14px rgb(16 24 40 / 6%);
}

.crx-badge-icon {
  font-size: 14px;
  line-height: 1;
}

.crx-product-block {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 42px;
}

.crx-product-img {
  width: 118px;
  height: 118px;
  object-fit: contain;
  flex-shrink: 0;
}

.crx-card h3 {
  font-size: 30px;
  line-height: 1.1;
  margin: 0 0 8px;
  color: #080b24;
}

.crx-plan {
  font-size: 18px;
  font-weight: 800;
  color: #1c68d9;
}

.crx-price {
  font-size: 58px;
  font-weight: 900;
  line-height: 1;
  color: #080b24;
  margin-bottom: 22px;
}

.crx-price span {
  font-size: 18px;
  font-weight: 500;
  color: #667085;
}

.crx-price del {
  font-size: 28px;
  color: #999;
  font-weight: 500;
  margin-left: 10px;
}

.crx-billing {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  flex-wrap: nowrap;
}

.crx-save {
  display: inline-block;
  background: #eaf8ed;
  color: #17803d;
  font-size: 15px;
  font-weight: 900;
  padding: 8px 16px;
  border-radius: 999px;
  white-space: nowrap;
}

.crx-billed {
  font-size: 15px;
  font-weight: 600;
  color: #667085;
  white-space: nowrap;
}

.crx-desc {
  font-size: 16px;
  line-height: 1.6;
  color: #475467;
  margin-bottom: 18px;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.crx-includes {
  text-align: left;
  padding-left: 18px;
  margin: 0 0 28px;
  color: #475467;
  font-size: 15px;
  line-height: 1.6;
}

.crx-includes li {
  margin-bottom: 4px;
}

.crx-card-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: auto;
}

.crx-card-actions .crx-btn {
  margin-top: 0;
}

.crx-btn {
  display: flex;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  background: #171992;
  color: white !important;
  text-decoration: none;
  min-height: 42px;
  padding: 8px 16px;
  border: 2px solid #171992;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.2;
  margin: 0;
  transition: 0.25s ease;
}

.crx-btn:hover {
  background: #1c68d9;
  border-color: #1c68d9;
  color: white !important;
  transform: translateY(-1px);
}

.crx-btn span {
  font-size: 18px;
  line-height: 1;
}

.crx-btn-learn {
  background: #1c68d9;
  border-color: #1c68d9;
  color: #fff !important;
}

.crx-btn-learn:hover {
  background: #171992;
  border-color: #171992;
  color: #fff !important;
}

.crx-note {
  margin-top: 12px;
  text-align: center;
  font-size: 17px;
  font-weight: 600;
  color: #667085;
}

/* Supporting plan details */
.pricing-details {
  padding: 10px 24px 0;
  background: #fff;
  color: #11121b;
}

.pricing-details__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 42px 38px;
  align-items: center;
  width: min(1320px, 100%);
  margin: 0 auto;
}

.pricing-details__media {
  width: min(100%, 590px);
  aspect-ratio: 1;
  margin: 0;
  overflow: hidden;
  border-radius: 28px;
  box-shadow: 0 20px 36px rgb(15 23 42 / 22%);
}

.pricing-details__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pricing-details__choice {
  max-width: 590px;
  margin-inline: auto;
  text-align: center;
}

.pricing-details h2 {
  margin: 0 0 18px;
  font-size: clamp(34px, 3vw, 48px);
  line-height: 1.18;
  color: #0a0b14;
}

.pricing-details__choice p,
.pricing-details__included p,
.pricing-details__included li,
.pricing-details__benefits dd {
  color: #68707c;
  font-size: 17px;
  line-height: 1.55;
}

.pricing-details__choice p {
  margin: 0 0 18px;
}

.pricing-details__benefits {
  margin: 26px 0;
}

.pricing-details__benefits div + div {
  margin-top: 8px;
}

.pricing-details__benefits dt {
  color: #171992;
  font-size: 18px;
  font-weight: 800;
  text-transform: uppercase;
}

.pricing-details__benefits dd {
  margin: 2px 0 0;
}

.pricing-details__button {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  padding: 12px 34px;
  border-radius: 999px;
  background: #171992;
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  text-decoration: none;
  text-transform: uppercase;
  transition:
    background-color 180ms ease,
    transform 180ms ease;
}

.pricing-details__button:hover,
.pricing-details__button:focus-visible {
  background: #246bd7;
  transform: translateY(-2px);
}

.pricing-details__included {
  align-self: center;
  max-width: 580px;
}

.pricing-details__included h2 {
  margin-bottom: 30px;
}

.pricing-details__included p {
  margin: 0 0 18px;
  color: #272a31;
}

.pricing-details__included ul {
  margin: 0 0 24px;
  padding-left: 25px;
}

.pricing-details__included li {
  color: #272a31;
}

.pricing-details__media--second {
  justify-self: end;
}

.pricing-refills {
  width: min(1320px, 100%);
  margin: 0 auto;
  text-align: center;
}

.pricing-refills h2 {
  font-size: clamp(42px, 4.7vw, 68px);
}

.pricing-refills h2 span {
  color: #246bd7;
}

.pricing-refills p {
  margin: 0 auto;
  color: #272a31;
  font-size: 17px;
  line-height: 1.5;
}

@media (width <= 820px) {
  .pricing-details {
    padding: 32px 20px 0;
  }

  .pricing-details__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .pricing-details__choice {
    order: 1;
  }

  .pricing-details__media:first-child {
    order: 0;
  }

  .pricing-details__included {
    order: 2;
  }

  .pricing-details__media--second {
    order: 3;
    justify-self: center;
  }

  .pricing-details__media {
    justify-self: center;
    border-radius: 22px;
  }

  .pricing-details h2 {
    font-size: 34px;
  }

  .pricing-refills {
    margin-top: 0;
  }

  .pricing-refills h2 {
    font-size: 42px;
  }

  .pricing-refills p br {
    display: none;
  }
}

.refill-explainer > h2 {
  margin: 0;
  padding-right: 20px;
  padding-left: 20px;
  color: #246bd7;
  font-size: clamp(30px, 3vw, 46px);
  line-height: 1.15;
  text-align: center;
}

.refill-explainer__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  justify-items: center;
  gap: 48px;
  width: 100%;
  margin: 0;
  padding: var(--site-heading-pad-top) max(32px, calc((100vw - 1290px) / 2))
    54px;
  box-sizing: border-box;
  background: var(--pricing-blue, #246bd7);
  color: #fff;
  text-align: center;
}

.refill-explainer article {
  display: flex;
  min-width: 0;
  min-height: 230px;
  padding: 0;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

.refill-explainer article svg {
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
  margin-bottom: 24px;
  fill: #fff;
  stroke: #fff;
  stroke-width: 5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.refill-explainer h3 {
  display: flex;
  max-width: 390px;
  min-height: 64px;
  margin: 0 auto 8px;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: clamp(20px, 1.45vw, 26px);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.3;
  text-wrap: balance;
}

.refill-explainer p {
  max-width: 390px;
  margin: 0 auto;
  color: rgb(255 255 255 / 90%);
  font-size: clamp(15px, 1.1vw, 18px);
  line-height: 1.5;
  text-wrap: balance;
}

.pricing-difference {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
  width: min(1290px, calc(100% - 48px));
  margin: 0 auto;
  padding: 30px 0 0;
}

.pricing-difference__copy {
  max-width: 610px;
  justify-self: center;
  font-size: 18px;
  line-height: 1.55;
}

.pricing-difference h2 {
  margin: 0 0 18px;
  font-size: clamp(30px, 2.8vw, 40px);
  line-height: 1.22;
  text-align: center;
  text-transform: none;
}

.pricing-difference p.pricing-difference__subhead {
  margin: 0 0 22px !important;
  color: #17181d;
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
}

.pricing-difference p,
.pricing-difference ul {
  margin: 0 0 28px;
}

.pricing-difference figure {
  margin: 0;
  margin-top: var(--site-heading-pad-top);
  overflow: hidden;
  border-radius: 34px;
}

.pricing-difference img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.microdosing-callout {
  padding: 64px 24px;
  background: #f2f2f2;
  text-align: center;
}

.microdosing-callout h2 {
  margin: 0 0 26px;
  font-size: clamp(34px, 4vw, 52px);
}

.microdosing-callout p {
  margin: 0 0 24px;
  color: #35383e;
  font-size: 19px;
}

.microdosing-callout ul {
  display: inline-block;
  margin: 0 auto 24px;
  padding-left: 1.4rem;
  color: #35383e;
  font-size: 19px;
  line-height: 1.55;
  text-align: left;
}

.microdosing-callout li {
  margin: 0 0 8px;
}

.microdosing-callout li:last-child {
  margin-bottom: 0;
}

.microdosing-callout a,
.pricing-final-cta a {
  display: inline-flex;
  min-height: 58px;
  align-items: center;
  justify-content: center;
  margin-top: 12px;
  padding: 14px 34px;
  border-radius: 999px;
  background: #171992;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
}

.pricing-faqs {
  --faq-blue: #1c68d9;
  --faq-navy: #171992;
  --faq-line: #e4e8ef;
  --faq-pale: #f4f6f9;

  width: min(920px, calc(100% - 48px));
  margin: 0 auto;
  padding: 0 0 36px;
}

.pricing-faqs h2 {
  margin: 0;
  color: var(--faq-navy);
  font-size: clamp(1.8rem, 4vw, 42px);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.15;
  text-align: center;
}

.pricing-faqs__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.pricing-faqs .faq-item {
  background: transparent;
}

.pricing-faqs .faq-item summary {
  display: flex;
  min-height: 68px;
  padding: 16px 20px;
  align-items: center;
  gap: 14px;
  color: #fff;
  cursor: pointer;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.35;
  border-radius: 16px;
  background: var(--faq-blue);
  list-style: none;
  transition: background 0.2s ease;
}

.pricing-faqs .faq-item summary:hover,
.pricing-faqs .faq-item.is-open summary {
  background: var(--faq-navy);
}

.pricing-faqs .faq-item summary:focus-visible {
  outline: 3px solid rgb(23 25 146 / 30%);
  outline-offset: 2px;
}

.pricing-faqs .faq-item summary::-webkit-details-marker {
  display: none;
}

.pricing-faqs .faq-icon {
  position: relative;
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  place-items: center;
  border-radius: 50%;
  background: var(--faq-navy);
}

.pricing-faqs .faq-item summary:hover .faq-icon,
.pricing-faqs .faq-item.is-open .faq-icon {
  background: var(--faq-blue);
}

.pricing-faqs .faq-icon::before,
.pricing-faqs .faq-icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 1px;
  background: #fff;
  content: "";
  transform: translate(-50%, -50%);
}

.pricing-faqs .faq-icon::before {
  width: 14px;
  height: 2px;
}

.pricing-faqs .faq-icon::after {
  width: 2px;
  height: 14px;
  transition:
    transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.22s ease;
}

.pricing-faqs .faq-item.is-open .faq-icon::after {
  opacity: 0;
  transform: translate(-50%, -50%) scaleY(0);
}

.pricing-faqs .faq-answer {
  overflow: hidden;
  margin-top: 8px;
  border: 1px solid var(--faq-line);
  border-radius: 16px;
  background: var(--faq-pale);
  color: #4a5568;
}

.pricing-faqs.faq-js .faq-item:not(.is-open) .faq-answer {
  height: 0;
  margin-top: 0;
  border-color: transparent;
}

.pricing-faqs .faq-answer > * {
  margin: 0;
  padding: 0 24px 0 70px;
  color: #444;
  font-size: 17px;
  line-height: 1.65;
}

.pricing-faqs .faq-answer > *:first-child {
  padding-top: 20px;
}

.pricing-faqs .faq-answer > *:last-child {
  padding-bottom: 22px;
}

.pricing-faqs .faq-answer p + p {
  margin-top: 0;
}

.pricing-final-cta {
  padding: 64px 24px;
  background: #171992;
  color: #fff;
  text-align: center;
}

.pricing-final-cta h2 {
  margin: 0 0 30px;
  font-size: clamp(38px, 4vw, 56px);
}

.pricing-final-cta p {
  margin: 0;
  font-size: 18px;
  line-height: 1.55;
}

.pricing-final-cta a {
  margin-top: 42px;
  background: #246bd7;
}

@media (width <= 900px) {
  .pricing-faqs {
    width: min(920px, calc(100% - 32px));
  }
}

@media (width <= 820px) {
  .refill-explainer__steps,
  .pricing-difference {
    grid-template-columns: 1fr;
  }

  .refill-explainer__steps {
    gap: 8px;
    padding: var(--site-heading-pad-top) 20px 30px;
  }

  .refill-explainer article {
    min-height: 205px;
    padding: 20px 16px;
  }

  .refill-explainer article svg {
    width: 58px;
    height: 58px;
    flex-basis: 58px;
    margin-bottom: 14px;
  }

  .refill-explainer h3 {
    min-height: 0;
    font-size: 20px;
  }

  .pricing-difference {
    gap: 34px;
    padding-top: 54px;
  }

  .pricing-difference figure {
    margin-top: 0;
    border-radius: 22px;
  }

  .pricing-faqs .faq-item summary {
    min-height: 58px;
    font-size: 16px;
  }

  .pricing-faqs .faq-answer > * {
    padding-left: 20px;
    font-size: 16px;
  }

  .pricing-faqs .faq-icon {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
  }

  .pricing-final-cta p br {
    display: none;
  }
}

@media (width <= 620px) {
  .pricing-faqs {
    padding: 24px 0;
  }

  .pricing-faqs h2 {
    margin-bottom: 16px;
  }

  .pricing-faqs .faq-item summary {
    min-height: 52px;
    padding: 12px 14px;
    gap: 10px;
    font-size: 15px;
  }
}

@media (width >=768px) and (width <=991px) {
  .crx-pricing-section {
    padding: 0 0 24px;
    overflow: hidden;
  }

  .crx-header {
    padding-right: 24px;
    padding-bottom: 0;
    padding-left: 24px;
    margin-bottom: 10px;
  }

  html body main section.crx-pricing-section > .crx-header {
    padding-top: var(--site-heading-pad-top) !important;
  }

  .crx-header h2 {
    font-size: 40px;
    line-height: 1.08;
    margin: 0;
  }

  .crx-header p {
    font-size: 16px;
    line-height: 1.45;
  }

  .crx-toggle {
    max-width: 620px;
    margin: 18px auto 0;
    padding: 6px;
  }

  .crx-toggle-btn {
    font-size: 16px;
    padding: 14px 10px;
  }

  .crx-mobile-swipe-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 8px 0 0;
    font-size: 13px;
    font-weight: 700;
    color: #667085;
    animation: crxSwipePulse 1.8s ease-in-out infinite;
  }

  .crx-grid-wrap {
    position: relative;
    max-width: 100%;
    margin: 0;
    overflow: hidden;
  }

  .crx-grid-scroll {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .crx-grid-scroll::-webkit-scrollbar {
    display: none;
  }

  .crx-grid {
    display: flex;
    gap: 20px;
    padding: 28px 56px 8px;
    width: max-content;
    min-width: 100%;
    max-width: none;
    margin: 0;
  }

  .crx-grid::-webkit-scrollbar {
    display: none;
  }

  .crx-card {
    min-width: 0;
    width: min(420px, calc(100vw - 112px));
    max-width: min(420px, calc(100vw - 112px));
    flex: 0 0 min(420px, calc(100vw - 112px));
    scroll-snap-align: center;
    padding: 24px 20px;
    border-radius: 24px;
    overflow: visible;
    box-shadow: none;
  }

  .crx-card-badges {
    margin-bottom: 14px;
    gap: 6px;
  }

  .crx-main-badge {
    font-size: 12.5px;
    padding: 7px 11px;
  }

  .crx-sub-badge {
    font-size: 12.5px;
    padding: 7px 11px;
  }

  .crx-product-block {
    display: block;
    text-align: center;
    margin-bottom: 16px;
  }

  .crx-product-img {
    width: 80px;
    height: 80px;
    margin: 0 auto 10px;
    display: block;
  }

  .crx-card h3 {
    font-size: 24px;
    line-height: 1.1;
    margin-bottom: 6px;
  }

  .crx-plan {
    font-size: 15px;
  }

  .crx-price {
    font-size: 42px;
    margin-bottom: 10px;
  }

  .crx-price span {
    font-size: 14px;
  }

  .crx-price del {
    font-size: 19px;
    display: block;
    margin-left: 0;
    margin-top: 5px;
  }

  .crx-billing {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 8px;
    margin-bottom: 12px;
  }

  .crx-save {
    font-size: 13px;
    padding: 7px 14px;
    margin-bottom: 0;
    white-space: nowrap;
  }

  .crx-billed {
    display: inline !important;
    min-width: 0;
    font-size: 14px;
    white-space: nowrap;
  }

  .crx-desc {
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 12px;
  }

  .crx-includes {
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 14px;
    padding-left: 17px;
  }

  .crx-includes li {
    margin-bottom: 2px;
  }

  .crx-btn {
    min-height: 38px !important;
    padding: 7px 12px !important;
    font-size: 13px !important;
    border-radius: 999px;
  }

  .crx-btn span {
    font-size: 16px;
  }

  .crx-ribbon-img {
    width: 130px;
    top: -14px;
    right: -14px;
  }

  .crx-swipe-indicator {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: #fff;
    color: #1c68d9;
    font-size: 29px;
    font-weight: 900;
    z-index: 50;
    box-shadow: 0 10px 24px rgb(16 24 40 / 18%);
    border: none;
    opacity: 0.95;
  }

  .crx-swipe-left {
    left: 8px;
  }

  .crx-swipe-right {
    right: 8px;
  }

  .crx-note {
    margin-top: 10px;
    padding: 0 24px;
    font-size: 14px;
    line-height: 1.45;
  }
}

@media (width <=767px) {
  .crx-pricing-section {
    padding: 0 0 24px;
    overflow: hidden;
  }

  .crx-header {
    padding-right: 16px;
    padding-bottom: 0;
    padding-left: 16px;
    margin-top: 0;
    margin-bottom: 8px;
  }

  html body main section.crx-pricing-section > .crx-header {
    padding-top: var(--site-heading-pad-top) !important;
  }

  .crx-header h2 {
    font-size: 30px;
    line-height: 1.08;
    margin: 0;
  }

  .crx-header p {
    font-size: 14px;
    line-height: 1.4;
  }

  .crx-toggle {
    max-width: calc(100% - 32px);
    margin: 18px auto 0;
    padding: 5px;
  }

  .crx-toggle-btn {
    font-size: 14px;
    padding: 11px 8px;
  }

  .crx-mobile-swipe-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 8px 0 0;
    font-size: 12px;
    font-weight: 700;
    color: #667085;
    animation: crxSwipePulse 1.8s ease-in-out infinite;
  }

  .crx-grid-wrap {
    position: relative;
    max-width: 100%;
    margin: 0;
    overflow: hidden;
  }

  .crx-grid-scroll {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .crx-grid-scroll::-webkit-scrollbar {
    display: none;
  }

  .crx-grid {
    display: flex;
    gap: 14px;
    padding: 26px 48px 8px;
    width: max-content;
    min-width: 100%;
    max-width: none;
    margin: 0;
  }

  .crx-grid::-webkit-scrollbar {
    display: none;
  }

  .crx-card {
    width: min(320px, calc(100vw - 96px));
    min-width: min(320px, calc(100vw - 96px));
    max-width: min(320px, calc(100vw - 96px));
    flex: 0 0 min(320px, calc(100vw - 96px));
    scroll-snap-align: center;
    padding: 18px 16px;
    border-radius: 22px;
    overflow: visible;
    box-shadow: none;
  }

  .crx-card-badges {
    margin-bottom: 10px;
    gap: 5px;
  }

  .crx-main-badge {
    font-size: 11px;
    padding: 6px 10px;
  }

  .crx-sub-badge {
    font-size: 11px;
    padding: 6px 10px;
  }

  .crx-product-block {
    display: block;
    text-align: center;
    margin-bottom: 12px;
  }

  .crx-product-img {
    width: 66px;
    height: 66px;
    margin: 0 auto 8px;
    display: block;
  }

  .crx-card h3 {
    font-size: 22px;
    line-height: 1.08;
    margin-bottom: 5px;
  }

  .crx-plan {
    font-size: 14px;
  }

  .crx-price {
    font-size: 36px;
    margin-bottom: 8px;
  }

  .crx-price span {
    font-size: 13px;
  }

  .crx-price del {
    font-size: 17px;
    display: block;
    margin-left: 0;
    margin-top: 4px;
  }

  .crx-billing {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 6px;
    margin-bottom: 10px;
  }

  .crx-save {
    font-size: 12px;
    padding: 6px 12px;
    margin-bottom: 0;
    white-space: nowrap;
  }

  .crx-billed {
    display: inline !important;
    min-width: 0;
    font-size: 13px;
    white-space: nowrap;
  }

  .crx-desc {
    font-size: 13px;
    line-height: 1.35;
    margin-bottom: 10px;
  }

  .crx-includes {
    font-size: 13px;
    line-height: 1.35;
    margin-bottom: 12px;
    padding-left: 16px;
  }

  .crx-includes li {
    margin-bottom: 1px;
  }

  .crx-card-actions {
    gap: 8px;
  }

  .crx-btn {
    min-height: 36px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    border-radius: 999px;
  }

  .crx-btn span {
    font-size: 15px;
  }

  .crx-ribbon-img {
    width: 115px;
    top: -12px;
    right: -13px;
  }

  .crx-swipe-indicator {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    border-radius: 999px;
    background: #fff;
    color: #1c68d9;
    font-size: 28px;
    font-weight: 900;
    z-index: 50;
    box-shadow: 0 10px 24px rgb(16 24 40 / 18%);
    border: none;
    opacity: 0.95;
  }

  .crx-swipe-left {
    left: 6px;
  }

  .crx-swipe-right {
    right: 6px;
  }

  .crx-note {
    margin-top: 10px;
    margin-bottom: 0;
    padding: 0 16px;
    font-size: 13px;
    line-height: 1.4;
  }

  .entry-content .crx-pricing-section,
  .wp-block-html:has(.crx-pricing-section),
  .wp-block-group:has(.crx-pricing-section),
  .wp-block-columns:has(.crx-pricing-section) {
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}

@media (width <=430px) {
  .crx-grid {
    padding: 24px 44px 8px;
    gap: 12px;
  }

  .crx-card {
    width: calc(100vw - 88px);
    min-width: calc(100vw - 88px);
    max-width: calc(100vw - 88px);
    flex: 0 0 calc(100vw - 88px);
    padding: 16px 14px;
  }

  .crx-billing {
    gap: 6px;
    margin-bottom: 10px;
  }

  .crx-save {
    font-size: 11px;
    padding: 5px 10px;
  }

  .crx-billed {
    font-size: 12px;
  }

  .crx-price {
    font-size: 34px;
  }

  .crx-product-img {
    width: 60px;
    height: 60px;
  }

  .crx-card h3 {
    font-size: 21px;
  }

  .crx-desc,
  .crx-includes {
    font-size: 12.5px;
  }
}

/* Shared pricing-card refinements. */
/* stylelint-disable no-duplicate-selectors */
.crx-pricing-section,
.crx-pricing-section button,
.crx-pricing-section a {
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial,
    sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

.crx-pricing-section h2,
.crx-pricing-section h3 {
  letter-spacing: 0;
}

.crx-badge-icon {
  display: inline-grid;
  width: 1em;
  height: 1em;
  flex: 0 0 1em;
  color: currentcolor;
  font-family: Arial, sans-serif;
  font-size: 0.95em;
  font-weight: 700;
  line-height: 1;
  place-items: center;
}

.crx-ribbon-img {
  top: -15px;
  right: -17px;
}

.crx-note {
  position: relative;
  padding: 18px 20px 24px;
  margin: 0 auto;
  clear: both;
  font-style: italic;
}

.crx-note::before {
  content: "* ";
}

@media (width <=991px) {
  .crx-billing {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 8px;
    margin-bottom: 12px;
  }

  .crx-save {
    margin-bottom: 0;
    white-space: nowrap;
  }

  .crx-billed {
    display: inline !important;
    min-width: 0;
    white-space: nowrap;
  }

  .crx-ribbon-img {
    top: -14px;
    right: -14px;
  }
}

/* Clinical note sits below the cards, not inside the swipe row. */
.crx-grid-wrap > .crx-note {
  position: relative;
  margin: 0;
  padding: 18px 24px;
  color: inherit;
  background: var(--crx-pricing-bg, #f4f8ff);
  font-size: 17px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}

.crx-grid-wrap > .crx-note::before {
  content: none;
}

@media (width <=991px) {
  .crx-grid-wrap > .crx-note {
    padding: 16px 24px;
    font-size: 14px;
  }
}

@media (width <=767px) {
  .crx-grid-wrap > .crx-note {
    padding: 14px 16px 18px;
    font-size: 13px;
    line-height: 1.4;
  }
}

@media (width <=767px) {
  .crx-ribbon-img {
    top: -12px;
    right: -13px;
  }

  .crx-billing {
    gap: 6px;
    margin-bottom: 10px;
  }

  .crx-save {
    font-size: 12px;
    padding: 6px 12px;
    margin-bottom: 0;
  }

  .crx-billed {
    font-size: 13px;
  }
}

@media (width <=430px) {
  .crx-ribbon-img {
    top: -11px;
    right: -12px;
  }

  .crx-billing {
    gap: 6px;
  }

  .crx-save {
    font-size: 11px;
    padding: 5px 10px;
  }

  .crx-billed {
    font-size: 12px;
  }
}

body .crx-pricing-section .crx-card > img.crx-ribbon-img {
  top: -15px !important;
  right: -17px !important;
  width: 150px !important;
  inline-size: 150px !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  object-fit: contain;
  transform: none !important;
  transform-origin: top right;
}

@media (width <=991px) {
  body .crx-pricing-section .crx-card > img.crx-ribbon-img {
    top: -14px !important;
    right: -14px !important;
    width: 130px !important;
    inline-size: 130px !important;
  }
}

@media (width <=767px) {
  body .crx-pricing-section .crx-card > img.crx-ribbon-img {
    top: -12px !important;
    right: -13px !important;
    width: 115px !important;
    inline-size: 115px !important;
  }
}

@media (width <=430px) {
  body .crx-pricing-section .crx-card > img.crx-ribbon-img {
    top: -11px !important;
    right: -12px !important;
    width: 115px !important;
    inline-size: 115px !important;
  }
}

@media (width <=767px) {
  body .crx-pricing-section .crx-product-img {
    width: auto;
    max-width: 100%;
    height: 150px;
    object-fit: contain;
  }
}

/* Keep only the pricing-card CTAs consistent across responsive sizes. */
body .crx-pricing-section .crx-card-actions .crx-btn {
  min-height: 56px !important;
  padding: 14px 22px !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
}

body .crx-pricing-section .crx-card-actions {
  display: flex;
  flex-direction: column;
  width: calc(100% - 24px);
  margin-inline: auto;
  gap: 12px;
}

.crx-pricing-section .crx-card-actions .crx-btn {
  display: flex !important;
  box-sizing: border-box;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  align-self: stretch !important;
  border-radius: 999px;
  white-space: nowrap;
}

@media (width <=991px) {
  body .crx-pricing-section .crx-card-actions .crx-btn {
    min-height: 52px !important;
    padding: 12px 18px !important;
    font-size: 16px !important;
  }
}

@media (width <=767px) {
  body .crx-pricing-section .crx-card-actions {
    gap: 8px;
  }

  body .crx-pricing-section .crx-card-actions .crx-btn {
    min-height: 50px !important;
    padding: 11px 16px !important;
    font-size: 15px !important;
  }
}

@media (width <= 820px) {
  html body .pricing-details__grid {
    gap: 0;
  }

  html body .pricing-details__choice > h2.site-heading,
  html body .pricing-details__included h2.site-heading {
    padding-top: 0 !important;
  }

  html body .pricing-details__included h2 {
    margin-bottom: 0 !important;
  }

  html body .pricing-details__included > p:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  html body .pricing-details__media--second {
    margin-top: 0;
  }

  html body .pricing-difference__copy > p:last-of-type {
    margin-bottom: 0 !important;
  }
}
/* stylelint-enable no-duplicate-selectors */

/* ========================================================================
   PAGE: PRODUCTS
   Search: PAGE: PRODUCTS / products.css
   Used by: products.html and pages/products/*
   ======================================================================== */
:root {
  --products-navy: #090b4b;
  --products-blue: #2522a7;
  --products-muted: #707b87;
}

.products-main {
  color: #18191f;
  background: #fff;
}

.products-hero {
  padding: 72px 24px 75px;
  background: #e9e9ea;
  text-align: center;
}

.products-hero p {
  margin: 0 0 23px;
  color: #68717b;
  font-size: 14px;
}

.products-hero p a {
  color: inherit;
  text-decoration: none;
}

.products-hero p span {
  margin: 0 12px;
  color: #111;
}

.products-hero h1 {
  margin: 0;
  color: var(--products-navy);
  font-size: clamp(58px, 6vw, 78px);
  letter-spacing: -0.04em;
  line-height: 1;
}

.products-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 48px;
  align-items: start;
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
  padding: 40px 0 0;
}

.products-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px 28px;
  align-items: stretch;
  align-content: start;
}

/* Catalog cards share .product-card with checkout plans — reset plan-card chrome */
.products-main .products-grid .product-card {
  display: flex;
  width: 100%;
  height: 100% !important;
  min-height: 0 !important;
  min-width: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: default;
  flex-direction: column;
  align-items: stretch;
  transform: none !important;
}

.products-main .products-grid .product-card:hover,
.products-main .products-grid .product-card:focus-visible {
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

.products-main .products-grid .product-card.selected::after {
  content: none !important;
}

.product-card[hidden] {
  display: none !important;
}

.product-card__image {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  border-radius: 16px;
  background: #e7edfb;
}

.product-card__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  transition: transform 350ms cubic-bezier(0.22, 1, 0.36, 1);
}

.product-card:hover .product-card__image img,
.product-card__image:focus-visible img {
  transform: scale(1.055);
}

.product-card__image > span {
  position: absolute;
  z-index: 1;
  top: 14px;
  right: 0;
  padding: 8px 12px;
  border-radius: 3px 0 0 3px;
  color: #fff;
  background: var(--products-blue);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

html body .product-card h3, html body .product-card__title,
html body .product-card h3:not(:first-child),
html body .product-card a + h3 {
  display: block;
  margin: 16px 0 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  overflow: visible;
  min-height: 0;
  font-size: 18px;
  letter-spacing: -0.03em;
  line-height: 1.25 !important;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
}

html body .product-card h3 + p,
html body .product-card h3 + p:has(+ p),
html body .product-card .product-price {
  margin: 8px 0 0 !important;
  padding-bottom: 0 !important;
  min-height: 1.4em;
  color: #697581;
  font-size: 16px;
}

.product-price del {
  margin-left: 5px;
  color: #9aa1a8;
  font-size: 12px;
}

html body .product-card h3 + p + p,
html body .product-card .product-rating {
  margin: 8px 0 0 !important;
  padding-bottom: 0 !important;
  min-height: 1.35em;
  color: #ffc400;
  letter-spacing: 2px;
  line-height: 1.35;
}

.products-main .products-grid .product-card .product-rating.is-empty {
  display: none;
}

.product-rating span {
  color: #d9dce1;
}

html body .product-card h3 + p + p + p,
html body .product-card h3 + p + p + p:not(:has(+ p)):not(:has(+ :is(ul, ol))),
html body .product-card .product-category {
  margin-top: auto !important;
  margin-bottom: 0 !important;
  padding-top: 18px;
  padding-bottom: 0 !important;
  color: #7c8490;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

html body .product-card .product-button,
html body .product-card h3 + p + p + p + a,
html body .product-card h3 + p + p + p:not(:has(+ p)):not(:has(+ :is(ul, ol))) + * {
  display: inline-flex;
  width: fit-content;
  min-height: 46px;
  margin-top: 16px !important;
  padding: 12px 22px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--products-blue);
  color: #fff;
  text-decoration: none;
  transition:
    background-color 180ms ease,
    transform 180ms ease;
}

.product-button:hover,
.product-button:focus-visible {
  background: #176bd7;
  transform: translateY(-2px);
}

.products-sidebar h2 {
  margin: 5px 0 25px;
  font-size: 27px;
}

.products-sidebar h2:nth-of-type(2) {
  margin-top: 62px;
  font-size: 20px;
}

html body .products-sidebar h2.site-heading,
html body .products-sidebar h2.site-heading:not(:first-child) {
  margin: 0 0 20px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

html body .products-sidebar h2.site-heading:nth-of-type(2) {
  margin-top: 48px !important;
  margin-bottom: 18px !important;
}

.price-filter {
  position: relative;
  height: 28px;
  margin: 0 0 18px;
  --minimum: 0%;
  --maximum: 100%;
}

.price-filter__track {
  position: absolute;
  top: 12px;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(
    to right,
    #d5d8dc 0 var(--minimum),
    #747b82 var(--minimum) var(--maximum),
    #d5d8dc var(--maximum) 100%
  );
}

.price-filter input[type="range"] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 28px;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: 0;
  outline: none !important;
  box-shadow: none !important;
  pointer-events: none;
  -webkit-tap-highlight-color: transparent;
}

.price-filter input[type="range"]::-webkit-slider-runnable-track {
  height: 3px;
  background: transparent;
  border: 0;
}

.price-filter input[type="range"]::-webkit-slider-thumb {
  width: 15px;
  height: 15px;
  margin-top: -6px;
  appearance: none;
  -webkit-appearance: none;
  border: 2px solid #30343a;
  border-radius: 50%;
  background: #fff;
  cursor: grab;
  pointer-events: auto;
  outline: none;
  box-shadow: none;
}

.price-filter input[type="range"]::-moz-range-track {
  height: 3px;
  background: transparent;
  border: 0;
}

.price-filter input[type="range"]::-moz-range-thumb {
  width: 13px;
  height: 13px;
  border: 2px solid #30343a;
  border-radius: 50%;
  background: #fff;
  cursor: grab;
  pointer-events: auto;
  outline: none;
  box-shadow: none;
}

.price-filter input[type="range"]:focus,
.price-filter input[type="range"]:focus-visible,
.price-filter input[type="range"]:active {
  outline: none !important;
  outline-offset: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

.price-filter input[type="range"]:focus::-webkit-slider-thumb,
.price-filter input[type="range"]:focus-visible::-webkit-slider-thumb,
.price-filter input[type="range"]:active::-webkit-slider-thumb,
.price-filter input[type="range"]:focus::-moz-range-thumb,
.price-filter input[type="range"]:focus-visible::-moz-range-thumb,
.price-filter input[type="range"]:active::-moz-range-thumb {
  outline: none !important;
  box-shadow: none !important;
}

.price-filter input[type="range"]::-moz-focus-outer {
  border: 0 !important;
}

.price-filter input[type="range"]:active::-webkit-slider-thumb {
  cursor: grabbing;
}

.price-values {
  display: flex;
  justify-content: space-between;
  color: #67717c;
}

.price-values > span {
  padding: 10px;
  border: 1px solid #aeb4bb;
}

.price-values output {
  display: block;
}

.price-values small {
  display: block;
  margin-top: 15px;
  border: 0;
  white-space: nowrap;
}

.price-filter__status {
  margin: 14px 0 0;
  color: #67717c;
  font-size: 13px;
  line-height: 1.4;
}

.top-products {
  display: grid;
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.top-products li {
  display: grid;
  grid-template-columns: 65px 1fr;
  gap: 14px;
  color: #68737e;
  font-size: 14px;
  line-height: 1.45;
}

.top-products img {
  width: 65px;
  height: 65px;
  object-fit: cover;
}

.top-products strong,
.top-products small {
  display: block;
}

.top-products strong {
  color: #ffc400;
}

.top-products small {
  color: #68737e;
}

.product-detail {
  width: min(1120px, calc(100% - 48px));
  margin: 0 auto;
  padding: 50px 0 40px;
  color: #65717d;
}

.product-breadcrumbs {
  margin: 0 0 38px;
  font-size: 13px;
}

.product-breadcrumbs a {
  color: inherit;
  text-decoration: none;
}

.product-breadcrumbs span {
  margin: 0 9px;
}

.product-summary {
  display: grid;
  grid-template-columns: minmax(0, 440px) minmax(0, 1fr);
  gap: 35px;
  align-items: start;
}

.product-summary__image {
  overflow: hidden;
  background: #e7edfb;
}

.product-summary__image img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 350ms ease;
}

.product-summary__image:hover img {
  transform: scale(1.04);
}

.product-summary h1 {
  margin: 0 0 18px;
  color: #17181d;
  font-size: clamp(27px, 2.6vw, 32px);
  letter-spacing: -0.025em;
  line-height: 1.2;
}

.product-detail__rating {
  display: flex;
  margin: 0 0 14px;
  align-items: center;
  gap: 12px;
  color: #ffc400;
  font-size: 14px;
  letter-spacing: 2px;
}

.product-detail__rating a {
  color: #697581;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0;
  text-decoration: none;
}

.product-detail__price {
  display: flex;
  margin: 0 0 38px;
  align-items: baseline;
  gap: 6px;
  font-size: 19px;
}

.product-detail__price del {
  order: 2;
  color: #9ba2aa;
}

.product-detail__price strong {
  order: 1;
  color: #65717d;
}

.product-summary__lead {
  font-weight: 700;
}

.product-summary__copy p {
  margin: 0 0 25px;
  line-height: 1.65;
}

.product-summary__copy ul {
  margin: 0 0 25px;
  padding: 0;
  list-style: none;
  line-height: 1.7;
}

.product-checkout {
  display: flex;
  min-height: 50px;
  margin-top: 29px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--products-blue);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

.product-category-line {
  margin-top: 25px;
  padding-top: 25px;
  border-top: 1px solid #d8dce1;
  font-size: 12px;
  text-transform: uppercase;
}

.product-tabs {
  display: flex;
  margin: 55px 0 36px;
  border-bottom: 1px solid #d5d9df;
  justify-content: center;
  gap: 42px;
}

.product-tabs button {
  padding: 14px 12px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: #697581;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.product-tabs button[aria-selected="true"] {
  border-bottom: 2px solid var(--products-blue);
  color: #176bd7;
}

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

.product-description__heading {
  margin: 45px 0 22px;
  color: #17181d;
  font-family: inherit;
  font-size: clamp(27px, 2.6vw, 32px);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.2;
}

.product-description__heading:first-child {
  margin-top: 0;
}

.product-description h3:not(.product-description__heading) {
  margin: 34px 0 15px;
  color: #1a1b20;
  font-size: 21px;
}

.product-description p,
.product-description li {
  font-size: 15px;
  line-height: 1.65;
}

.product-description ul {
  padding-left: 22px;
}

.product-description ol {
  display: grid;
  gap: 22px;
  padding-left: 22px;
}

.product-description__notice {
  margin-top: 34px;
  font-style: italic;
}

.product-info-table {
  width: 100%;
  margin-top: 58px;
  border-collapse: collapse;
  color: #6b7580;
  font-size: 15px;
}

.product-info-table th,
.product-info-table td {
  padding: 20px 24px;
  border: 1px solid #d7dbe0;
}

.product-info-table th {
  width: 42%;
  background: #fff;
  text-align: left;
}

.product-info-table tr:nth-child(even) th,
.product-info-table tr:nth-child(even) td {
  background: #f7f8f9;
}

.product-reviews {
  display: grid;
  grid-template-columns: minmax(220px, 0.9fr) minmax(0, 1.1fr);
  gap: 64px;
  padding-top: 8px;
  color: #65717d;
}

.product-reviews .product-description__heading {
  margin: 0 0 24px;
}

.product-reviews p {
  line-height: 1.65;
}

.review-form {
  display: grid;
  gap: 14px;
}

.review-form label,
.review-form legend {
  color: #697581;
  font-size: 14px;
}

.review-form fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

.review-stars {
  display: inline-flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  margin-left: 9px;
}

.review-stars input {
  position: absolute;
  opacity: 0;
}

.review-stars label {
  color: #ffc400;
  cursor: pointer;
  font-size: 22px;
}

.review-stars label::before {
  content: "☆";
}

.review-stars input:checked ~ label::before,
.review-stars label:hover::before,
.review-stars label:hover ~ label::before {
  content: "★";
}

.review-form textarea {
  width: 100%;
  min-height: 170px;
  padding: 14px;
  resize: vertical;
  border: 1px solid #d5d9df;
  color: #30343a;
  font: inherit;
}

.review-form button {
  width: fit-content;
  padding: 14px 28px;
  border: 0;
  border-radius: 999px;
  background: var(--products-blue);
  color: #fff;
  cursor: pointer;
  font-weight: 700;
}

.review-status {
  min-height: 24px;
  margin: 0;
  color: #176bd7;
}

@media (width <= 1000px) {
  .products-layout {
    grid-template-columns: 1fr;
  }

  .products-sidebar {
    display: none;
  }

  .products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 20px;
  }

  .product-summary {
    grid-template-columns: minmax(0, 42%) minmax(0, 1fr);
  }
}

@media (width <= 767px) {
  .products-hero {
    padding: 20px 20px 16px;
  }

  .products-hero p {
    margin: 0 0 8px;
    font-size: 13px;
  }

  .products-hero p span {
    margin: 0 8px;
  }

  .products-hero h1 {
    font-size: 32px;
    letter-spacing: -0.03em;
    line-height: 1.12;
  }

  .products-layout {
    gap: 24px;
    padding: 16px 0 40px;
  }
}

@media (width <= 760px) {
  .products-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .products-layout {
    width: min(100% - 32px, 620px);
  }

  .product-card__image {
    border-radius: 16px;
  }

  .product-card {
    text-align: center;
  }

  html body .product-card h3, html body .product-card__title,
  html body .product-card h3:not(:first-child),
  html body .product-card a + h3 {
    display: block;
    margin-top: 12px !important;
    min-height: 0;
    overflow: visible;
    font-size: 18px;
    text-align: center;
    -webkit-line-clamp: unset;
    line-clamp: unset;
  }

  html body .product-card .product-price {
    color: #3d4550;
    font-size: 15px;
  }

  .product-rating.is-empty {
    display: none;
  }

  html body .product-card .product-category {
    margin-top: auto !important;
    padding-top: 14px;
  }

  .product-card__image img {
    object-fit: contain;
  }

  html body .product-card .product-button,
  html body .product-card h3 + p + p + p + a,
  html body .product-card h3 + p + p + p:not(:has(+ p)):not(:has(+ :is(ul, ol))) + * {
    width: 100%;
    min-height: 48px;
    margin-top: 12px !important;
    padding: 12px 16px;
  }

  .product-detail {
    width: min(100% - 32px, 620px);
    padding: 24px 0 32px;
  }

  .product-breadcrumbs {
    margin-bottom: 18px;
  }

  .product-summary {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .product-summary__image {
    max-width: none;
    border-radius: 16px;
  }

  .product-tabs {
    overflow-x: auto;
    justify-content: flex-start;
    gap: 18px;
    white-space: nowrap;
  }

  .product-reviews {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

@media (width <= 480px) {
  .products-hero {
    padding: 18px 16px 14px;
  }

  .product-card {
    max-width: none;
  }

  html body .product-card h3, html body .product-card__title,
  html body .product-card h3:not(:first-child),
  html body .product-card a + h3 {
    font-size: 18px;
  }

  .product-summary h1,
  .product-description__heading {
    font-size: 28px;
  }

  .product-info-table th,
  .product-info-table td {
    padding: 14px 12px;
  }
}

/* ========================================================================
   PAGE: QUIZ
   Search: PAGE: QUIZ / quiz.css
   Used by: quiz.html
   ======================================================================== */
@layer quiz {
  .quiz-page {
    --quiz-navy: #263477;
    --quiz-blue: #168fc2;
    --quiz-blue-dark: #0f75a6;
    --quiz-ink: #102033;
    --quiz-muted: #66778d;
    --quiz-line: #dbe7f1;
    --quiz-green: #16a34a;
    --quiz-orange: #f59e0b;
    --quiz-red: #dc2626;

    background: linear-gradient(180deg, #fff 0%, #f6fbff 42%, #eef6fb 100%);
  }

  .quiz-main {
    display: grid;
    min-height: calc(100vh - 7.5rem);
    padding: clamp(1.625rem, 4.5vw, 3.5rem) var(--gutter) 4.5rem;
    place-items: start center;
  }

  .quiz-card {
    width: min(65rem, calc(100% - 3.5rem));
    padding: clamp(1.75rem, 3.4vw, 2.75rem) clamp(1.375rem, 4vw, 3.25rem)
      2.125rem;
    border: 1px solid rgb(215 228 239 / 96%);
    border-radius: 0.5rem;
    color: var(--quiz-ink);
    background: rgb(255 255 255 / 98%);
    box-shadow:
      0 1.375rem 3.5rem rgb(18 48 90 / 10%),
      inset 0 1px 0 rgb(255 255 255 / 92%);
  }

  .quiz-progress {
    position: relative;
    height: 0.4375rem;
    max-width: 47.5rem;
    margin: 0 auto clamp(1.5rem, 3vw, 2rem);
    overflow: hidden;
    border-radius: 999px;
    background: #e4eff7;
  }

  .quiz-progress span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #0d1b2f 0%, var(--quiz-blue-dark) 100%);
    transition: width 0.35s ease;
  }

  .quiz-step {
    display: none;
    max-width: 47.5rem;
    margin-inline: auto;
  }

  .quiz-step.is-active {
    display: block;
  }

  .quiz-step h1 {
    max-width: 45rem;
    color: var(--quiz-ink);
    font-size: clamp(1.4375rem, 2vw, 1.875rem);
    font-weight: 900;
    line-height: 1.18;
    letter-spacing: 0;
  }

  .quiz-step h1:focus {
    outline: none;
  }

  .quiz-step h1.quiz-question {
    font-size: clamp(0.9688rem, 1.05vw, 1.0625rem);
    line-height: 1.3;
  }

  .quiz-step h1 span,
  .quiz-field span {
    color: var(--quiz-red);
  }

  .quiz-step > p {
    max-width: 45rem;
    margin-top: 0.75rem;
    color: var(--quiz-muted);
    font-size: 0.875rem;
    line-height: 1.58;
  }

  .quiz-checklist {
    padding: 0;
    margin: 1.5rem 0 0;
    color: var(--quiz-muted);
    font-size: 0.9375rem;
    list-style: none;
  }

  .quiz-checklist li::before {
    margin-right: 0.45rem;
    content: "✓";
  }

  .quiz-options {
    display: grid;
    gap: 0.625rem;
    padding: 0;
    margin: 0.625rem 0 0;
    border: 0;
  }

  .quiz-options label,
  .quiz-choice {
    display: flex;
    min-height: 3.375rem;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    border: 1px solid var(--quiz-line);
    border-radius: 0.5rem;
    background: #fff;
    box-shadow: 0 0.5rem 1.25rem rgb(23 45 86 / 3.5%);
    transition:
      transform 0.2s ease,
      border-color 0.2s ease,
      background-color 0.2s ease,
      box-shadow 0.2s ease;
    cursor: pointer;
  }

  .quiz-options label:hover,
  .quiz-options label.is-selected,
  .quiz-choice:hover {
    border-color: rgb(15 147 196 / 64%);
    background: linear-gradient(135deg, #fff 0%, #f6fcff 100%);
    box-shadow: 0 0.875rem 2.125rem rgb(18 48 90 / 9%);
    transform: translateY(-2px);
  }

  .quiz-options input,
  .quiz-choice input {
    width: 1.1875rem;
    height: 1.1875rem;
    flex: 0 0 auto;
    margin: 0;
    accent-color: var(--quiz-blue);
  }

  .quiz-options span,
  .quiz-choice span {
    color: var(--quiz-ink);
    font-size: 0.9375rem;
    font-weight: 650;
  }

  .quiz-measurements {
    display: grid;
    gap: 1rem 2rem;
    margin-top: 2rem;
    grid-template-columns: repeat(2, 1fr);
  }

  .quiz-measurements label,
  .quiz-field {
    display: grid;
    gap: 0.55rem;
    color: var(--quiz-muted);
    font-size: 0.9375rem;
  }

  .quiz-measurements__weight {
    grid-column: 1 / -1;
  }

  .quiz-measurements input,
  .quiz-field input {
    width: 100%;
    min-height: 3.25rem;
    padding: 0.8125rem 0.9375rem;
    border: 1px solid var(--quiz-line);
    border-radius: 0.5rem;
    color: var(--quiz-ink);
    background: #fff;
    font: inherit;
    box-shadow: 0 0.5rem 1.25rem rgb(23 45 86 / 3.5%);
  }

  .quiz-measurements input:focus,
  .quiz-field input:focus {
    border-color: var(--quiz-blue);
    outline: none;
    box-shadow:
      0 0 0 4px rgb(15 147 196 / 13%),
      0 0.75rem 1.625rem rgb(18 48 90 / 6%);
  }

  .quiz-field {
    margin-top: 2rem;
  }

  .quiz-field--strong {
    color: var(--quiz-ink);
    font-weight: 800;
  }

  .quiz-choice {
    margin-top: 1rem;
  }

  .quiz-bmi {
    padding: 1rem 1.125rem;
    margin-top: 0.875rem;
    border: 1px solid #dfe8f1;
    border-left: 0.25rem solid var(--quiz-green);
    border-radius: 0.5rem;
    color: var(--quiz-muted);
    background: linear-gradient(135deg, #eefcf3, #fff);
    box-shadow: 0 0.75rem 1.75rem rgb(18 48 90 / 8%);
  }

  .quiz-bmi > strong,
  .quiz-bmi p strong {
    color: var(--quiz-green);
  }

  .quiz-bmi p {
    margin-top: 0.25rem;
    font-size: 0.875rem;
  }

  .quiz-bmi.is-warning {
    border-left-color: var(--quiz-orange);
    background: linear-gradient(135deg, #fff8eb, #fff);
  }

  .quiz-bmi.is-warning > strong,
  .quiz-bmi.is-warning p strong {
    color: var(--quiz-orange);
  }

  .quiz-bmi.is-alert {
    border-left-color: var(--quiz-red);
    background: linear-gradient(135deg, #fff1f1, #fff);
  }

  .quiz-bmi.is-alert > strong,
  .quiz-bmi.is-alert p strong {
    color: var(--quiz-red);
  }

  .quiz-detail-image {
    display: block;
    height: auto;
    object-fit: contain;
  }

  .quiz-detail-image[hidden] {
    display: none;
  }

  .quiz-detail-image--illustration {
    width: min(24rem, 62%);
    margin: 3rem 0 1.75rem;
  }

  .quiz-detail-image--promo,
  .quiz-detail-image--pregnancy {
    width: min(23rem, 58%);
    margin-top: 1rem;
    border-radius: 0.5rem;
  }

  .quiz-select-field {
    display: grid;
    gap: 0.55rem;
    color: var(--quiz-ink);
    font-size: 0.9375rem;
    font-weight: 800;
  }

  .quiz-select-field select {
    min-height: 3.25rem;
    padding: 0.75rem 2.75rem 0.75rem 0.9375rem;
    border: 1px solid var(--quiz-line);
    border-radius: 0.5rem;
    color: var(--quiz-ink);
    background: #fff;
    font: inherit;
  }

  .quiz-select-field select:focus {
    border-color: var(--quiz-blue);
    outline: none;
    box-shadow: 0 0 0 4px rgb(15 147 196 / 13%);
  }

  .quiz-pregnancy {
    margin-top: 1.25rem;
  }

  .quiz-pregnancy .quiz-options legend,
  .quiz-options--compact legend {
    margin-bottom: 0.65rem;
    color: var(--quiz-ink);
    font-size: 0.9375rem;
    font-weight: 800;
  }

  .quiz-options--compact {
    margin-top: 2rem;
  }

  .quiz-options--compact label {
    min-height: 3rem;
    padding-block: 0.7rem;
  }

  .quiz-options--compact input {
    border-radius: 0;
  }

  .quiz-inline-logo {
    width: min(11rem, 38%);
    height: auto;
    margin: 0 auto 1.25rem;
  }

  .quiz-summary {
    display: grid;
    gap: 0.625rem;
    padding: 1rem;
    margin-top: 2.5rem;
    border: 1px solid #dfe8f1;
    border-left: 0.3rem solid var(--quiz-green);
    border-radius: 0.5rem;
    background: linear-gradient(135deg, #fff 0%, #f8fbff 100%);
    box-shadow: 0 0.75rem 1.75rem rgb(18 48 90 / 8%);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .quiz-summary.is-warning {
    border-left-color: var(--quiz-orange);
  }

  .quiz-summary.is-alert {
    border-left-color: var(--quiz-red);
  }

  .quiz-summary p {
    padding: 0.75rem 0.8125rem;
    margin: 0;
    border: 1px solid rgb(219 231 241 / 90%);
    border-radius: 0.5rem;
    color: var(--quiz-muted);
    background: rgb(255 255 255 / 90%);
    font-size: 0.875rem;
  }

  .quiz-summary strong {
    color: var(--quiz-navy);
  }

  .quiz-summary.is-alert [data-summary-bmi] {
    color: var(--quiz-red);
  }

  .quiz-summary.is-warning [data-summary-bmi] {
    color: var(--quiz-orange);
  }

  .quiz-summary__notice {
    color: var(--quiz-navy) !important;
    font-weight: 800;
    grid-column: 1 / -1;
  }

  .quiz-contact-grid {
    display: grid;
    gap: 1rem 1.5rem;
    margin-top: 2rem;
    grid-template-columns: repeat(2, 1fr);
  }

  .quiz-contact-grid label {
    display: grid;
    gap: 0.5rem;
    color: var(--quiz-ink);
    font-size: 0.9375rem;
    font-weight: 800;
  }

  .quiz-contact-grid label span {
    color: var(--quiz-red);
  }

  .quiz-contact-grid input {
    min-height: 3.25rem;
    padding: 0.8125rem 0.9375rem;
    border: 1px solid var(--quiz-line);
    border-radius: 0.5rem;
    color: var(--quiz-ink);
    background: #fff;
    font: inherit;
  }

  .quiz-contact-grid__full {
    grid-column: 1 / -1;
  }

  .quiz-choice--consent {
    min-height: 3.5rem;
    margin-top: 1rem;
  }

  .quiz-disclosures {
    padding: 0;
    margin: 1.75rem 0 2rem;
    color: var(--quiz-muted);
    font-size: 0.9375rem;
    line-height: 1.55;
    list-style: none;
  }

  .quiz-disclosures li::before {
    margin-right: 0.35rem;
    content: "✅";
  }

  .quiz-plans {
    display: grid;
    gap: 0.625rem;
    padding: 0;
    margin: 2rem 0 0;
    border: 0;
  }

  .quiz-plans > label {
    display: grid;
    min-height: 7.25rem;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid var(--quiz-line);
    border-radius: 0.5rem;
    background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
    box-shadow: 0 0.5rem 1.25rem rgb(23 45 86 / 3.5%);
    cursor: pointer;
    grid-template-columns: 5.375rem 1.5rem 1fr;
  }

  .quiz-plans > label:hover,
  .quiz-plans > label.is-selected {
    border-color: var(--quiz-blue);
    background: linear-gradient(180deg, #fff 0%, #f4fbff 100%);
    box-shadow:
      0 0 0 3px rgb(22 143 194 / 13%),
      0 1rem 2.25rem rgb(38 52 119 / 10%);
  }

  .quiz-plans img {
    width: 4.875rem;
    height: 4.875rem;
    object-fit: contain;
  }

  .quiz-plans input {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0;
    accent-color: var(--quiz-blue);
  }

  .quiz-plans label > span {
    display: grid;
    gap: 0.25rem;
  }

  .quiz-plans strong,
  .quiz-plans b {
    color: var(--quiz-ink);
    font-size: 0.9375rem;
  }

  .quiz-plans b {
    color: var(--quiz-navy);
  }

  .quiz-plans em {
    display: inline-flex;
    width: fit-content;
    padding: 0.3rem 0.55rem;
    border-radius: 999px;
    color: #15803d;
    background: #eaf8ef;
    font-size: 0.75rem;
    font-style: normal;
  }

  .quiz-plans small {
    color: var(--quiz-muted);
    font-size: 0.8125rem;
    font-weight: 650;
    line-height: 1.4;
  }

  .quiz-next-steps {
    padding: 0;
    margin: 2rem 0 0;
    color: var(--quiz-muted);
    font-size: 0.9375rem;
    line-height: 1.6;
    list-style: none;
  }

  .quiz-error {
    min-height: 1.5rem;
    max-width: 47.5rem;
    margin: 1rem auto -0.5rem;
    color: var(--quiz-red);
    font-size: 0.875rem;
    font-weight: 800;
  }

  .quiz-actions {
    display: grid;
    max-width: 47.5rem;
    align-items: center;
    gap: 1.125rem;
    padding-top: 1.375rem;
    margin: 1.5rem auto 0;
    border-top: 1px solid #e7eff6;
    grid-template-columns: auto minmax(13.75rem, 21.25rem);
    justify-content: space-between;
  }

  .quiz-actions button {
    min-height: 3.25rem;
    border: 0;
    border-radius: 999px;
    font-size: 0.9375rem;
    font-weight: 900;
  }

  .quiz-previous {
    min-width: 7.25rem;
    justify-self: start;
    padding-inline: 0.75rem;
    color: var(--quiz-navy);
    background: transparent;
    text-align: left;
  }

  .quiz-continue {
    grid-column: 2;
    width: 100%;
    color: #fff;
    background: #171992;
  }

  .quiz-continue:hover {
    background: #1c68d9;
  }

  .quiz-footer {
    background: #fff;
  }

  .quiz-footer .footer-inner {
    min-height: 24rem;
    justify-content: space-between;
    padding-top: 4rem;
  }

  @media (width <= 48rem) {
    .quiz-page {
      background: #fff;
    }

    .quiz-main {
      min-height: auto;
      padding: 0;
    }

    .quiz-card {
      width: 100%;
      min-height: 72vh;
      padding: 1rem 1.125rem 6.5rem;
      border: 0;
      border-radius: 0;
      box-shadow: none;
    }

    .quiz-progress {
      max-width: 35rem;
      margin: 0.125rem auto 1.75rem;
    }

    .quiz-step {
      max-width: 35rem;
    }

    .quiz-step h1 {
      font-size: 1.375rem;
    }

    .quiz-step h1.quiz-question {
      font-size: 1rem;
    }

    .quiz-step > p {
      font-size: 0.9063rem;
    }

    .quiz-measurements {
      grid-template-columns: 1fr;
    }

    .quiz-measurements__weight {
      grid-column: auto;
    }

    .quiz-detail-image--illustration,
    .quiz-detail-image--promo,
    .quiz-detail-image--pregnancy {
      width: min(100%, 22rem);
    }

    .quiz-summary,
    .quiz-contact-grid {
      grid-template-columns: 1fr;
    }

    .quiz-contact-grid__full,
    .quiz-summary__notice {
      grid-column: auto;
    }

    .quiz-plans > label {
      min-height: auto;
      gap: 0.75rem;
      padding: 0.75rem;
      grid-template-columns: 4rem 1fr 1.25rem;
    }

    .quiz-plans img {
      width: 3.5rem;
      height: 3.5rem;
    }

    .quiz-plans input {
      grid-column: 3;
      grid-row: 1;
    }

    .quiz-plans label > span {
      min-width: 0;
      grid-column: 2;
      grid-row: 1;
    }

    .quiz-actions {
      position: sticky;
      z-index: 20;
      bottom: 0;
      width: calc(100% + 2.25rem);
      gap: 0.75rem;
      padding: 0.75rem 1.125rem calc(0.875rem + env(safe-area-inset-bottom));
      margin: 1.75rem -1.125rem -6.5rem;
      border-top: 1px solid rgb(215 228 239 / 92%);
      background: rgb(255 255 255 / 96%);
      box-shadow: 0 -0.75rem 1.875rem rgb(18 48 90 / 8%);
      backdrop-filter: blur(14px);
      grid-template-columns: 1fr;
    }

    .quiz-continue {
      order: 1;
      grid-column: 1;
    }

    .quiz-previous {
      order: 2;
      width: 100%;
      min-height: 2.875rem;
      border: 1px solid var(--quiz-line);
      background: #fff;
      text-align: center;
    }
  }

  @media (hover: none) and (pointer: coarse) {
    .quiz-options label:hover,
    .quiz-choice:hover {
      transform: none;
    }
  }
}

/* ========================================================================
   PAGE: CONTROL METHOD
   Search: PAGE: CONTROL METHOD / the-control-method.css
   Used by: the-control-method.html
   ======================================================================== */
:root {
  --method-blue: #286fd8;
  --method-navy: #1e2298;
  --method-ink: #101116;
  --method-max: 1290px;
}

.method-hero {
  position: relative;
  min-height: 0;
  padding: 0 0 40px;
  overflow: visible;
  color: #fff;
  background: #246bd7;
}

.method-hero__band {
  position: absolute;
  inset: 198px 0 0;
  background: var(--method-blue);
}

.method-hero__band::after {
  position: absolute;
  top: 75px;
  right: -36px;
  width: 490px;
  height: 350px;
  border: 2px solid rgb(255 255 255 / 48%);
  border-radius: 50%;
  content: "";
  transform: rotate(-13deg);
}

.method-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 590px) minmax(0, 1fr);
  gap: 48px;
  width: min(var(--method-max), calc(100% - 48px));
  margin: 0 auto;
}

.method-hero__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  border-radius: 18px;
  box-shadow: none;
  object-fit: cover;
}

.method-hero__actions {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.method-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 218px;
  min-height: 61px;
  padding: 14px 30px;
  border: 2px solid transparent;
  border-radius: 999px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition:
    transform 180ms ease,
    background-color 180ms ease;
}

.method-button:hover {
  transform: translateY(-2px);
}

.method-button:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}

.method-button--navy {
  background: var(--method-navy);
  color: #fff;
}

.method-button--navy:hover {
  background: #151878;
}

.method-button--white {
  border-color: #e5e5e5;
  background: #fff;
  color: #171717;
}

.method-button--white:hover {
  background: #f4f4f4;
}

.method-hero__content {
  padding: 38px 0 54px;
  text-align: center;
}

.method-hero__content h1 {
  margin: 0 0 48px;
  color: #fff;
  font-size: clamp(30px, 2.8vw, 42px);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.15;
}

.method-hero__copy {
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-width: 38rem;
}

.method-hero__copy p {
  max-width: none;
  margin: 0;
  color: #fff;
  font-size: clamp(17px, 1.55vw, 22px);
  line-height: 1.45;
  text-align: left;
}

.method-overview {
  width: min(var(--method-max), calc(100% - 48px));
  margin: 0 auto;
  padding: 0 0 90px;
  color: var(--method-ink);
}

.method-overview__intro {
  text-align: center;
}

.method-overview__intro h2 {
  margin: 0;
}

.method-overview__intro h2 span {
  color: var(--method-blue);
}

.method-overview__intro p {
  margin: 3px 0;
  font-size: 20px;
  line-height: 1.45;
}

.method-overview__reason {
  margin-top: 0;
}

.method-overview__reason h2 {
  margin: 0;
}

.method-overview__reason ul {
  display: grid;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 19px;
  line-height: 1.45;
}

.method-overview__reason li {
  position: relative;
  padding-left: 1.1em;
}

.method-overview__reason li::before {
  position: absolute;
  left: 0;
  content: "•";
}

.method-overview__framework {
  margin-top: 0;
  text-align: center;
}

.method-overview__framework h2 {
  margin: 0;
}

.method-overview__framework p {
  margin: 0;
  font-size: 18px;
  line-height: 1.5;
}

.method-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 0;
}

.method-cards article {
  min-height: 920px;
  padding: 54px 52px 48px;
  border: 1px solid #dedede;
  border-radius: 19px;
  background: #fff;
  text-align: center;
}

.method-cards article:nth-child(even) {
  border-color: #f2f2f2;
  background: #f2f2f2;
}

.method-cards h3 {
  margin: 0 0 31px;
  font-size: clamp(31px, 2.4vw, 39px);
  line-height: 1.1;
}

.method-cards p {
  margin: 0 0 28px;
  font-size: 17px;
  line-height: 1.55;
}

.method-cards ul {
  margin: 0 0 54px;
  padding-left: 22px;
  font-size: 17px;
  line-height: 1.55;
  text-align: left;
}

.method-cards .method-card__emphasis {
  margin-top: 44px;
  font-weight: 700;
}

.method-matters {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(430px, 0.92fr);
  gap: 72px;
  align-items: center;
  margin-top: 40px;
  padding-top: 0;
}

.method-matters__copy h2 {
  margin: 0;
}

.method-matters__copy p {
  margin: 0 0 37px;
  font-size: 19px;
  line-height: 1.55;
}

.method-matters__copy .method-matters__lead {
  margin-top: 80px;
  margin-bottom: 22px;
  font-weight: 600;
}

.method-matters__copy ul {
  display: grid;
  gap: 22px;
  margin: 0 0 24px;
  padding: 0;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.35;
  list-style: none;
}

.method-matters__copy li {
  position: relative;
  padding-left: 44px;
}

.method-matters__copy li::before {
  position: absolute;
  top: 0.1em;
  left: 0;
  display: grid;
  width: 23px;
  height: 23px;
  border-radius: 50%;
  background: #000;
  color: #fff;
  content: "✓";
  font-size: 15px;
  place-items: center;
}

.method-matters__copy .method-matters__closing {
  margin-bottom: 0;
  font-weight: 600;
}

.method-matters__gallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(2, 290px);
  gap: 28px;
}

.method-matters__image {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 19px;
  object-fit: cover;
}

.method-matters__image--main {
  grid-row: 1 / 3;
}

.method-inside {
  margin-top: 0;
  padding-top: 0;
}

/* Standalone on samples (and any page where these aren't inside .method-overview) */
main > section.method-matters,
main > section.method-inside,
main > section.method-audience,
main > section.method-comparison,
main > section.method-track {
  width: min(var(--method-max), calc(100% - 48px));
  max-width: 100%;
  margin-inline: auto;
  box-sizing: border-box;
}

.method-inside__intro {
  width: min(100%, 960px);
  margin: 0 auto;
  text-align: center;
}

.method-inside__intro h2 {
  margin: 0;
  white-space: nowrap;
}

.method-inside__intro p {
  margin: 3px 0;
  font-size: 18px;
  line-height: 1.5;
}

.method-inside__intro ul {
  width: min(100%, 450px);
  margin: 30px auto 0;
  padding-left: 25px;
  font-size: 18px;
  line-height: 1.6;
  text-align: left;
}

.method-experience-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(12px, 1.2vw, 20px);
  align-items: end;
  width: 100%;
  max-width: 100%;
  margin-top: 66px;
  padding-inline: clamp(0px, 2vw, 37px);
  box-sizing: border-box;
}

.method-experience-cards article {
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 270px;
  padding: 31px 26px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid #777;
  background: #adcafa;
  box-shadow: 0 2px 5px rgb(0 0 0 / 42%);
  color: #07080d;
  text-align: center;
  transition:
    color 220ms ease,
    background-color 220ms ease,
    transform 220ms ease,
    box-shadow 220ms ease;
}

.method-experience-cards article:nth-child(2) {
  min-height: 350px;
  background: #b8e3f8;
}

.method-experience-cards article:nth-child(3) {
  background: #9bcff3;
}

.method-experience-cards article:nth-child(4) {
  min-height: 350px;
  background: #cac9f8;
}

.method-experience-cards article:hover,
.method-experience-cards article:focus-visible {
  background: #286fd8;
  box-shadow: 0 8px 18px rgb(21 69 139 / 28%);
  color: #fff;
  outline: none;
  transform: translateY(-4px);
}

.method-experience-cards svg {
  width: 62px;
  height: 62px;
  margin-bottom: 21px;
  fill: none;
  stroke: currentcolor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.1;
}

.method-experience-cards h3 {
  max-width: 250px;
  margin: 0 0 47px;
  font-size: clamp(26px, 2vw, 32px);
  line-height: 1.35;
}

.method-experience-cards p {
  margin: auto 0 0;
  font-size: 16px;
  line-height: 1.55;
}

.method-audience {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 90px;
  align-items: center;
  margin-top: 0;
}

.method-audience h2 {
  max-width: 580px;
  margin: 0;
}

.method-audience p,
.method-audience li {
  font-size: 18px;
  line-height: 1.55;
}

.method-audience__start p {
  margin: 0;
}

.method-audience__start a {
  display: flex;
  width: fit-content;
  min-width: 120px;
  min-height: 48px;
  margin: 34px auto 0;
  padding: 12px 24px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--method-navy);
  color: #fff;
  font-size: 15px;
  text-decoration: none;
  transition:
    background-color 180ms ease,
    transform 180ms ease;
}

.method-audience__start a:hover,
.method-audience__start a:focus-visible {
  background: var(--method-blue);
  transform: translateY(-2px);
}

.method-audience__list p {
  margin: 0 0 24px;
}

.method-audience__list ul {
  margin: 0;
  padding-left: 38px;
}

.method-comparison {
  margin-top: 0;
  padding-bottom: 56px;
}

.method-comparison > h2 {
  margin: 0;
  color: var(--method-blue);
  text-align: center;
}

.method-comparison__columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 120px;
  max-width: 900px;
  margin: 0 auto;
}

.method-comparison__columns h3 {
  margin: 0 0 18px;
  font-size: 29px;
  line-height: 1.2;
}

.method-comparison__columns ul {
  margin: 0;
  padding-left: 22px;
  font-size: 16px;
  line-height: 1.55;
}

.method-track,
.method-final {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  background: var(--method-navy);
  color: #fff;
}

.method-track {
  margin-top: 0;
  padding: 0 24px 58px;
}

.method-track__inner {
  width: min(100%, 1180px);
  margin: 0 auto;
}

.method-track h2 {
  margin: 0;
  color: #fff;
  text-align: center;
  white-space: nowrap;
}

.method-track p {
  color: #fff;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}

.method-track__lead {
  margin: 0;
}

.method-track__prompt {
  margin: 0 0 16px;
}

.method-track ul {
  width: fit-content;
  margin: 0 auto 34px;
  padding-left: 22px;
  font-size: 18px;
  line-height: 1.55;
}

.method-track a,
.method-faqs__button,
.method-final__actions a {
  display: flex;
  width: fit-content;
  min-height: 48px;
  padding: 11px 25px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
}

.method-track a {
  margin: 0 auto;
  background: #2878e8;
  color: #fff;
  font-size: 18px;
}

.method-faqs {
  width: 100%;
  padding: 0;
}

.method-faqs h2 {
  margin: 0;
  color: var(--method-blue);
  text-align: center;
}

.method-faqs__list {
  display: grid;
  gap: 10px;
}

.method-faqs .faq-item {
  background: transparent;
}

.method-faqs .faq-item summary {
  display: flex;
  min-height: 66px;
  padding: 14px 20px;
  align-items: center;
  gap: 12px;
  border-radius: 18px;
  background: var(--method-blue);
  color: #fff;
  cursor: pointer;
  font-size: 18px;
  list-style: none;
}

.method-faqs .faq-item summary::-webkit-details-marker {
  display: none;
}

.method-faqs .faq-icon {
  position: relative;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  background: var(--method-navy);
}

.method-faqs .faq-icon::before,
.method-faqs .faq-icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  background: #fff;
  content: "";
  transform: translate(-50%, -50%);
}

.method-faqs .faq-icon::before {
  width: 15px;
  height: 2px;
}

.method-faqs .faq-icon::after {
  width: 2px;
  height: 15px;
  transition:
    opacity 220ms ease,
    transform 300ms ease;
}

.method-faqs .faq-item.is-open .faq-icon::after {
  opacity: 0;
  transform: translate(-50%, -50%) scaleY(0);
}

.method-faqs .faq-answer {
  overflow: hidden;
  margin-top: 7px;
  border-radius: 16px;
  background: #f2f5fa;
}

.method-faqs.faq-js .faq-item:not(.is-open) .faq-answer {
  height: 0;
  margin-top: 0;
}

.method-faqs .faq-answer p {
  margin: 0;
  padding: 20px 28px 20px 70px;
  font-size: 16px;
  line-height: 1.55;
}

.method-faqs__button {
  min-width: 200px;
  margin: 46px auto 0;
  background: var(--method-navy);
  color: #fff;
  font-size: 17px;
}

.method-final {
  margin-bottom: -90px;
  padding: 0 24px 68px;
  text-align: center;
}

.method-final h2 {
  margin: 0;
  color: #fff;
}

.method-final p {
  margin: 0;
  color: #fff;
  font-size: 18px;
  line-height: 1.55;
}

.method-final__actions {
  display: flex;
  justify-content: center;
  gap: 18px;
  margin-top: 42px;
}

.method-final__actions a {
  min-width: 160px;
  background: #246bd7;
  color: #fff;
}

.method-final__actions a:last-child {
  background: #246bd7;
  color: #fff;
}

@media (width <= 1100px) {
  .method-hero {
    padding-top: 44px;
  }

  .method-hero__band {
    inset-block-start: 160px;
  }

  .method-hero__inner {
    grid-template-columns: minmax(0, 48%) minmax(0, 1fr);
    gap: 34px;
  }

  .method-hero__content {
    padding-top: 145px;
  }

  .method-hero__content h1 {
    margin-bottom: 45px;
  }

  .method-hero__copy {
    gap: 28px;
  }

  .method-hero__copy p {
    font-size: 20px;
  }

  .method-button {
    min-width: 0;
    font-size: 17px;
  }

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

  .method-cards article {
    min-height: 760px;
  }

  .method-matters {
    grid-template-columns: 1fr;
  }

  .method-matters__gallery {
    max-width: 720px;
  }

  .method-experience-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }

  .method-experience-cards article,
  .method-experience-cards article:nth-child(2),
  .method-experience-cards article:nth-child(4) {
    min-height: 300px;
  }

  .method-audience {
    gap: 50px;
  }
}

@media (width <= 760px) {
  .method-hero {
    padding: 26px 0 50px;
    background: var(--method-blue);
  }

  .method-hero__band {
    display: none;
  }

  .method-hero__inner {
    display: flex;
    flex-direction: column;
    width: min(100% - 30px, 590px);
  }

  .method-hero__content {
    order: 0;
    padding-top: 0;
  }

  .method-hero__content h1 {
    margin-bottom: 24px;
    font-size: clamp(30px, 2.8vw, 42px);
  }

  .method-hero__copy {
    gap: 20px;
  }

  .method-hero__copy p {
    font-size: 18px;
  }

  .method-hero__copy br {
    display: none;
  }

  .method-hero__actions {
    flex-wrap: wrap;
    gap: 12px;
  }

  .method-button {
    min-width: min(210px, 100%);
    min-height: 54px;
  }

  .method-overview {
    width: min(100% - 30px, 590px);
    padding-top: 0;
  }

  .method-overview__intro p,
  .method-overview__reason ul,
  .method-overview__framework p {
    font-size: 17px;
  }

  .method-overview__reason {
    margin-top: 0;
  }

  .method-overview__reason h2 {
    margin: 0 0 30px;
  }

  .method-overview__reason ul {
    gap: 16px;
    padding-left: 0;
  }

  .method-cards {
    grid-template-columns: 1fr;
    margin-top: 0;
  }

  .method-cards article {
    min-height: 0;
    padding: 38px 30px 28px;
    border-radius: 18px;
  }

  .method-cards ul {
    margin-bottom: 34px;
  }

  .method-matters {
    gap: 42px;
    margin-top: 40px;
  }

  .method-matters__copy .method-matters__lead {
    margin-top: 48px;
  }

  .method-matters__gallery {
    grid-template-rows: repeat(2, 210px);
    gap: 14px;
  }

  .method-inside {
    margin-top: 0;
  }

  .method-inside__intro h2 {
    white-space: normal;
  }

  .method-experience-cards {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 46px;
    padding-inline: 0;
  }

  .method-experience-cards article,
  .method-experience-cards article:nth-child(2),
  .method-experience-cards article:nth-child(4) {
    min-height: 280px;
  }

  .method-audience {
    grid-template-columns: 1fr;
    gap: 50px;
    margin-top: 0;
  }

  .method-audience__start a {
    margin-inline: 0;
  }

  .method-comparison {
    padding-bottom: 48px;
  }

  .method-comparison__columns {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .method-track {
    padding-inline: 20px;
  }

  .method-track h2 {
    white-space: normal;
  }

  .method-track br,
  .method-final br {
    display: none;
  }

  .method-faqs .faq-item summary {
    min-height: 60px;
    padding: 12px 14px;
    font-size: 16px;
  }

  .method-faqs .faq-icon {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
  }

  .method-faqs .faq-answer p {
    padding: 18px;
  }
}

@media (width <= 480px) {
  .method-hero__copy {
    grid-template-columns: 1fr;
  }

  .method-hero__copy p {
    max-width: 350px;
    margin-inline: auto;
  }

  .method-hero__actions {
    display: flex;
    flex-wrap: nowrap;
  }

  .method-button {
    width: 100%;
  }

  .method-matters__gallery {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  .method-matters__image,
  .method-matters__image--main {
    grid-row: auto;
    aspect-ratio: 4 / 3;
  }

  .method-inside__intro ul {
    font-size: 16px;
  }

  .method-final__actions {
    display: grid;
  }

  .method-final__actions a {
    width: 100%;
  }
}

html body .method-overview__framework > h2.site-heading + p {
  margin-top: 10px !important;
  margin-bottom: 0 !important;
}

html body
  :is(
    .method-overview,
    .method-matters,
    .method-inside,
    .method-audience,
    .method-comparison,
    .method-track,
    .method-faqs,
    .method-final
  )
  h2.site-heading {
  font-family: inherit !important;
  font-size: var(--site-h2-size) !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.12 !important;
}

html body .method-overview__framework + .method-cards {
  margin-top: 0 !important;
}

html body .method-cards + .method-matters {
  margin-top: 40px !important;
}

html body .method-track .site-heading-copy > h2.site-heading + p {
  margin-bottom: 0 !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .method-track .site-heading-copy + p {
  margin-top: 0 !important;
  padding-bottom: 0 !important;
}

html body .method-overview__intro + .method-overview__reason {
  margin-top: 0 !important;
}

html body .method-overview__reason > h2.site-heading,
html body .method-overview__reason > h2.site-heading:has(+ :is(ul, ol)) {
  padding-top: var(--site-heading-pad-top) !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .method-faqs:has(+ .method-final) {
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .method-comparison {
  margin-top: 0 !important;
}

html body main > section.method-hero {
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

/* ========================================================================
   PAGE: WHY GLP-1
   Search: PAGE: WHY GLP-1 / why-glp-1.css
   Used by: why-glp-1.html
   ======================================================================== */
:root {
  --glp-blue: #246bd7;
  --glp-navy: #171992;
  --glp-ink: #111116;
  --glp-muted: #51545c;
  --glp-max: 1290px;
}

.glp-hero {
  position: relative;
  min-height: 0;
  overflow: hidden;
  background: #fff;
}

.glp-hero__band {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: var(--glp-blue);
}

.glp-hero__band::before,
.glp-hero__band::after {
  position: absolute;
  content: "";
  border: 1.5px solid rgb(255 255 255 / 42%);
  border-radius: 50%;
  pointer-events: none;
}

.glp-hero__band::before {
  right: 4%;
  bottom: -47%;
  width: 690px;
  height: 390px;
  transform: rotate(35deg);
}

.glp-hero__band::after {
  right: 19%;
  bottom: -17%;
  width: 260px;
  height: 690px;
  transform: rotate(62deg);
}

.glp-hero__shell {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
  width: min(var(--glp-max), calc(100% - 48px));
  min-height: 640px;
  margin: 0 auto;
  padding: 72px 0 64px;
}

.glp-hero__media {
  width: 100%;
}

.glp-hero__media > img {
  display: block;
  width: 100%;
  height: 560px;
  object-fit: cover;
  object-position: center;
  border-radius: 24px;
  box-shadow: 0 18px 38px rgb(6 30 73 / 17%);
}

.glp-hero__actions {
  display: flex;
  gap: 12px;
  justify-content: flex-start;
  margin-top: 8px;
}

.glp-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 174px;
  min-height: 60px;
  padding: 14px 26px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease;
}

.glp-button:hover,
.glp-button:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgb(8 25 91 / 20%);
}

.glp-button--navy {
  color: #fff;
  background: var(--glp-navy);
}

.glp-button--white {
  border-color: #e4e7ed;
  color: #111;
  background: #fff;
}

.glp-hero__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0;
  color: #fff;
  text-align: left;
}

.glp-hero__content h1 {
  max-width: 640px;
  margin: 0 0 22px;
  font-size: clamp(32px, 3.4vw, 46px);
  line-height: 1.15;
  text-wrap: balance;
}

.glp-hero__content p {
  max-width: 560px;
  margin: 0 0 16px;
  font-size: clamp(16px, 1.2vw, 18px);
  line-height: 1.55;
}

.glp-hero__content p:last-of-type {
  margin-bottom: 28px;
}

html body .glp-hero__actions .button--left {
  display: inline-flex !important;
  width: auto !important;
  margin: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  align-self: flex-start !important;
}

.glp-edu-cards {
  /* Same outer + column track as homepage .home-trust */
  --edu-max: 1290px;
  --edu-gap-x: 32px;
  box-sizing: border-box;
  position: relative;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
  padding: 40px max(24px, calc((100vw - var(--edu-max)) / 2));
  background-color: #171992;
  background-image:
    radial-gradient(
      circle at 92% 115%,
      transparent 0 13rem,
      rgb(255 255 255 / 60%) 13.05rem 13.12rem,
      transparent 13.18rem
    ),
    radial-gradient(
      circle at 8% -50%,
      transparent 0 11rem,
      rgb(255 255 255 / 16%) 11.05rem 11.12rem,
      transparent 11.18rem
    );
  background-position: 50% 0;
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
  font-family: Inter, Arial, sans-serif;
}

.glp-edu-cards__shell {
  display: grid;
  grid-template-columns: repeat(
    3,
    minmax(0, calc((100% - 3 * var(--edu-gap-x)) / 4))
  );
  justify-content: center;
  align-items: stretch;
  gap: 16px var(--edu-gap-x);
  width: min(var(--edu-max), 100%);
  max-width: var(--edu-max);
  margin: 0 auto;
}

.glp-edu-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0;
  background: transparent;
  box-shadow: none;
  text-align: center;
}

.glp-edu-card__icon {
  display: grid;
  width: 42px;
  height: 42px;
  margin-bottom: 10px;
  border-radius: 0;
  background: transparent;
  color: #fff;
  place-items: center;
}

.glp-edu-card__icon svg {
  display: block;
  width: 42px;
  height: 42px;
}

.glp-edu-card h3 {
  margin: 0 0 4px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  text-wrap: balance;
}

.glp-edu-card p {
  max-width: none;
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.35;
}

@media (min-width: 1000px) {
  .glp-edu-card h3 {
    max-width: 16ch;
  }
  .glp-edu-card p {
    max-width: 22ch;
  }
}

.glp-overview {
  padding: 8px 24px 0;
  background: #fff;
}

.glp-overview__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 1fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: stretch;
  width: min(var(--glp-max), 100%);
  margin: 0 auto;
}

.glp-overview__content {
  color: var(--glp-ink);
}

.glp-overview__content h2 {
  margin: 0;
  font-size: clamp(30px, 2.6vw, 42px);
  line-height: 1.12;
}

.glp-overview__content p {
  max-width: 38rem;
  margin: 0 0 12px;
  color: #24252a;
  font-size: clamp(15px, 1.15vw, 17px);
  line-height: 1.5;
}

.glp-overview__content p:last-child {
  margin-bottom: 0;
}

.glp-overview__visual {
  box-sizing: border-box;
  display: flex;
  height: 100%;
  margin: 0;
  padding: var(--site-heading-pad-top) 0 var(--site-heading-pad-bottom);
  overflow: hidden;
  background: transparent;
}

.glp-overview__visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  border-radius: 24px;
  object-fit: cover;
  object-position: center center;
  background: #f3f5f8;
}

.glp-consider {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: 0 24px;
  background: #f4f4f4;
}

.glp-consider__inner {
  width: min(var(--glp-max), 100%);
  margin: 0 auto;
}

.glp-consider__intro {
  max-width: none;
  margin: 0 auto;
  text-align: center;
}

html body .glp-consider__intro > h2.site-heading,
html body .glp-consider__intro > h2.site-heading:has(+ p) {
  width: max-content;
  max-width: 100%;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-top: var(--site-heading-pad-top) !important;
  padding-bottom: 0 !important;
  color: #171992 !important;
  font-size: clamp(1.65rem, 2.2vw, 2.65rem) !important;
  letter-spacing: -0.03em !important;
  line-height: 1.15 !important;
  text-align: center !important;
  white-space: nowrap;
}

.glp-consider__intro p {
  max-width: 720px;
  margin: 16px auto 0;
  color: #24252a;
  font-size: clamp(17px, 1.3vw, 20px);
  line-height: 1.58;
  text-align: center;
}

.glp-consider__intro p + p {
  margin-top: 10px;
}

.glp-consider__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

.glp-consider-card {
  display: flex;
  height: 100%;
  min-height: 0;
  flex-direction: column;
  padding: 26px 24px 24px;
  border: 1px solid rgb(23 25 146 / 10%);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 28px rgb(23 25 146 / 8%);
  transition:
    transform 180ms ease,
    box-shadow 180ms ease;
}

.glp-consider-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgb(23 25 146 / 12%);
}

.glp-consider-card__icon {
  display: grid;
  width: 44px;
  height: 44px;
  margin-bottom: 16px;
  border-radius: 50%;
  background: #171992;
  color: #fff;
  place-items: center;
}

.glp-consider-card__icon svg {
  width: 21px;
  height: 21px;
}

.glp-consider-card h3 {
  margin: 0 0 10px;
  color: #171992;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}

.glp-consider-card p {
  margin: 0;
  color: #4a5160;
  font-size: 15px;
  line-height: 1.55;
}

.glp-help {
  padding: 0 24px;
  background: #fff;
}

html body main > section.glp-help {
  padding-bottom: 0 !important;
}

.glp-help__inner {
  width: min(var(--glp-max), 100%);
  margin: 0 auto;
}

.glp-help__top {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, 0.95fr);
  gap: clamp(28px, 4vw, 52px);
  align-items: center;
  margin-bottom: 40px;
}

.glp-help__intro {
  max-width: 640px;
}

.glp-help__intro p {
  max-width: 580px;
  color: #24252a;
  font-size: clamp(17px, 1.3vw, 20px);
  line-height: 1.58;
}

.glp-help__media {
  overflow: hidden;
  margin: 0;
  border-radius: 24px;
  background: #eef1f5;
  box-shadow: 0 16px 40px rgb(15 23 42 / 8%);
}

.glp-help__media img {
  display: block;
  width: 100%;
  height: clamp(280px, 28vw, 380px);
  object-fit: cover;
  object-position: 48% 42%;
}

.glp-help__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.glp-help-card {
  height: 100%;
  padding: 28px 26px 26px;
  border: 1px solid rgb(23 25 146 / 8%);
  border-radius: 22px;
  background: #f7f8fa;
  box-shadow: 0 8px 22px rgb(15 23 42 / 4%);
}

.glp-help-card__icon {
  display: grid;
  width: 48px;
  height: 48px;
  margin-bottom: 16px;
  border-radius: 50%;
  background: #171992;
  color: #fff;
  place-items: center;
}

.glp-help-card__icon svg {
  width: 22px;
  height: 22px;
}

.glp-help-card h3 {
  margin: 0 0 10px;
  color: #111116;
  font-size: clamp(20px, 1.55vw, 24px);
  font-weight: 700;
  line-height: 1.2;
}

.glp-help-card p {
  margin: 0;
  color: #51545c;
  font-size: 16px;
  line-height: 1.55;
}

.glp-help__note {
  width: max-content;
  max-width: 100%;
  margin: 28px auto 0;
  padding-bottom: var(--site-heading-pad-bottom);
  color: #6a6e76;
  font-size: 15px;
  line-height: 1.5;
  text-align: center;
  white-space: nowrap;
}

.glp-not {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: 0 24px;
  background: #1e2298;
  color: #fff;
}

.glp-not__panel {
  position: relative;
  overflow: visible;
  width: min(850px, 100%);
  margin: 0 auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #fff;
  background: transparent;
}

.glp-not__panel::before,
.glp-not__panel::after {
  display: none;
}

.glp-not__panel h2 {
  position: relative;
  z-index: 1;
  max-width: none;
  margin: 0;
  color: #fff;
  font-size: var(--site-h2-size);
  line-height: 1.12;
  text-align: center;
}

.glp-not__panel p {
  position: relative;
  z-index: 1;
  max-width: none;
  margin: 0 0 16px;
  color: #fff;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}

.glp-not__panel p:last-child {
  margin-bottom: 0;
}

.glp-paths {
  padding: 0 24px 0;
  background: #f3f5f8;
}

.glp-paths__inner {
  width: min(var(--glp-max), 100%);
  margin: 0 auto;
}

.glp-paths__intro {
  max-width: none;
  text-align: center;
}

.glp-paths__intro p {
  max-width: 680px;
  margin-right: auto;
  margin-left: auto;
  color: #24252a;
  font-size: clamp(17px, 1.3vw, 20px);
  line-height: 1.58;
  text-align: center;
}

.glp-paths__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

.glp-path-card {
  display: flex;
  height: 100%;
  flex-direction: column;
  gap: 16px;
  padding: 22px 22px 20px;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 8px 24px rgb(15 23 42 / 6%);
}

.glp-path-card__top {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: center;
  min-height: 96px;
  padding: 10px 12px;
  border-radius: 16px;
  background: #f5f7fb;
}

.glp-path-card__img {
  display: block;
  flex: 0 0 auto;
  width: auto;
  height: 84px;
  margin: 0;
  object-fit: contain;
  object-position: center center;
}

.glp-path-card__top h3 {
  margin: 0;
  color: #111116;
  font-size: clamp(20px, 1.6vw, 24px);
  font-weight: 700;
  line-height: 1.15;
  white-space: nowrap;
}

.glp-path-card__body {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 10px;
}

.glp-path-card__body p {
  margin: 0;
  color: #51545c;
  font-size: 14px;
  line-height: 1.5;
}

.glp-path-card__best {
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid rgb(23 25 146 / 10%);
  color: #171992;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.45;
}

.glp-paths__cta {
  margin: 28px 0 0;
  text-align: center;
}

html body .glp-paths__cta .button {
  display: inline-flex !important;
  width: auto !important;
  margin: 0 auto !important;
}

/* ---------------------------------------------------------------------------
   GLP paths — reveal cards (hover / tap)
   Default: image + title only, card height reserved.
   Hover (fine pointer) or .is-open (tap): blue overlay + description.
--------------------------------------------------------------------------- */
.glp-paths--reveal .glp-path-card {
  position: relative;
  display: flex;
  min-height: 280px;
  flex-direction: column;
  justify-content: center;
  gap: 0;
  padding: 0;
  overflow: hidden;
  cursor: pointer;
  outline: none;
  isolation: isolate;
}

.glp-paths--reveal .glp-path-card__top {
  position: relative;
  z-index: 1;
  display: flex;
  width: 100%;
  min-height: 280px;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 18px;
  align-items: center;
  justify-content: center;
  padding: 28px 22px;
  border-radius: 22px;
  background: #f5f7fb;
  transition:
    filter 0.25s ease,
    opacity 0.25s ease;
}

.glp-paths--reveal .glp-path-card__img {
  height: 110px;
}

.glp-paths--reveal .glp-path-card__top h3 {
  text-align: center;
  white-space: normal;
}

.glp-paths--reveal .glp-path-card__body {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  justify-content: center;
  padding: 24px 22px;
  border-radius: 22px;
  background: rgb(28 104 217 / 88%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.25s ease,
    visibility 0.25s ease;
  text-align: center;
}

.glp-paths--reveal .glp-path-card__body p {
  max-width: 28ch;
  margin: 0;
  color: rgb(255 255 255 / 92%) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.glp-paths--reveal .glp-path-card__best {
  margin-top: 4px;
  padding-top: 12px;
  border-top: 1px solid rgb(255 255 255 / 22%);
  color: #fff !important;
  font-weight: 600;
}

@media (hover: hover) and (pointer: fine) {
  .glp-paths--reveal .glp-path-card:hover .glp-path-card__body,
  .glp-paths--reveal .glp-path-card:focus-visible .glp-path-card__body {
    opacity: 1;
    visibility: visible;
  }
}

.glp-paths--reveal .glp-path-card.is-open .glp-path-card__body {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
  .glp-paths--reveal .glp-path-card__top,
  .glp-paths--reveal .glp-path-card__body {
    transition: none;
  }
}

@media (width <= 760px) {
  .glp-paths--reveal .glp-path-card,
  .glp-paths--reveal .glp-path-card__top {
    min-height: 240px;
  }

  .glp-paths--reveal .glp-path-card__top {
    padding: 18px 16px;
  }

  .glp-paths--reveal .glp-path-card__img {
    height: 88px;
  }

  .glp-paths--reveal .glp-path-card__body {
    padding: 18px 16px;
  }
}

.glp-review {
  padding: 0 24px 0;
  background: #fff;
}

.glp-review__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.92fr);
  gap: clamp(32px, 5vw, 64px);
  align-items: start;
  width: min(var(--glp-max), 100%);
  margin: 0 auto;
}

.glp-review__content {
  max-width: 640px;
}

.glp-review__content p {
  color: #24252a;
  font-size: clamp(17px, 1.3vw, 20px);
  line-height: 1.58;
}

.glp-review__important {
  padding: 16px 18px;
  border-radius: 14px;
  background: #f3f5f8;
  color: #171992;
  font-size: 16px;
}

.glp-review__important strong {
  font-weight: 700;
}

.glp-review__card {
  overflow: hidden;
  margin: var(--site-heading-pad-top) 0 0;
  border-radius: 22px;
  background: #f3f5f8;
}

.glp-review__card img {
  display: block;
  width: 100%;
  height: 240px;
  object-fit: cover;
  object-position: center 18%;
}

.glp-review__card-body {
  padding: 22px 24px 24px;
}

.glp-review__card h3 {
  margin: 0 0 14px;
  color: #111116;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
}

.glp-review__card ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.glp-review__card li {
  position: relative;
  margin: 0 0 10px;
  padding-left: 34px;
  color: #24252a;
  font-size: 16px;
  line-height: 1.45;
}

.glp-review__card li:last-child {
  margin-bottom: 0;
}

.glp-review__card li::before {
  position: absolute;
  top: 1px;
  left: 0;
  display: grid;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #171992;
  color: #fff;
  content: "✓";
  font-size: 12px;
  font-weight: 700;
  place-items: center;
}

.glp-look {
  padding: 0 24px 0;
  background: #f3f5f8;
}

.glp-look__inner {
  width: min(var(--glp-max), 100%);
  margin: 0 auto;
}

.glp-look__intro {
  max-width: none;
  margin: 0;
}

html body .glp-look__intro > h2.site-heading,
html body .glp-look__intro > h2.site-heading:has(+ p) {
  width: max-content;
  max-width: 100%;
  padding-top: var(--site-heading-pad-top) !important;
  padding-bottom: 0 !important;
  color: #171992 !important;
  font-size: clamp(1.65rem, 2.2vw, 2.65rem) !important;
  letter-spacing: -0.03em !important;
  line-height: 1.15 !important;
  white-space: nowrap;
}

.glp-look__intro p,
.glp-look__close p {
  max-width: 760px;
  color: #24252a;
  font-size: clamp(17px, 1.3vw, 20px);
  line-height: 1.58;
}

.glp-look__intro p {
  margin: 14px 0 0;
}

.glp-look__intro p + p {
  margin-top: 8px;
}

html body .glp-look__intro > h2.site-heading + p {
  padding-bottom: 0 !important;
}

html body .glp-look__intro > h2.site-heading + p + p {
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

.glp-look__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 40px;
  margin: 0;
  padding: 32px 36px;
  border: 1px solid rgb(23 25 146 / 8%);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 32px rgb(23 25 146 / 8%);
  list-style: none;
}

.glp-look__list li {
  position: relative;
  padding: 4px 0 4px 36px;
  color: #111116;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.45;
}

.glp-look__list li::before {
  position: absolute;
  top: 4px;
  left: 0;
  display: grid;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #171992;
  color: #fff;
  content: "✓";
  font-size: 12px;
  font-weight: 700;
  place-items: center;
}

.glp-look__close {
  max-width: none;
  margin-top: 32px;
}

.glp-look__close p {
  margin: 0 0 16px;
}

.glp-look__close p:last-child {
  width: max-content;
  max-width: 100%;
  margin-bottom: 0;
  padding-bottom: var(--site-heading-pad-bottom);
  white-space: nowrap;
}

@media (max-width: 820px) {
  .glp-look__close p:last-child {
    width: auto;
    white-space: normal;
    text-wrap: balance;
  }
}

.glp-fit {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: 0 24px 40px;
  background: #1e2298;
  color: #fff;
}

html body main > section.glp-look {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

html body main > section.glp-not,
html body main > section.glp-not:has(> .glp-not__panel) {
  padding-top: 0 !important;
  padding-right: 24px !important;
  padding-bottom: 0 !important;
  padding-left: 24px !important;
}

html body main > section.glp-fit,
html body main > section.glp-fit:has(> .glp-fit__panel) {
  padding-top: 0 !important;
  padding-right: 24px !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
  padding-left: 24px !important;
}

html body main > section.glp-fit .glp-fit__cta {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.glp-fit__panel {
  position: relative;
  overflow: visible;
  width: min(850px, 100%);
  margin: 0 auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #fff;
  background: transparent;
}

.glp-fit__panel::before,
.glp-fit__panel::after {
  display: none;
}

.glp-fit__panel h2 {
  position: relative;
  z-index: 1;
  max-width: none;
  margin: 0;
  color: #fff;
  font-size: var(--site-h2-size);
  line-height: 1.12;
  text-align: left;
}

.glp-fit__align {
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
}

.glp-fit__body {
  width: 100%;
  max-width: 100%;
  margin: 0;
  text-align: left;
  box-sizing: border-box;
}

.glp-fit__answer {
  position: relative;
  z-index: 1;
  max-width: none;
  margin: 18px 0 12px;
  color: #fff;
  font-size: clamp(28px, 2.5vw, 36px);
  font-weight: 700;
  line-height: 1.15;
  text-align: left;
}

.glp-fit__body p,
.glp-fit__panel p:not(.glp-fit__cta) {
  position: relative;
  z-index: 1;
  max-width: none;
  margin: 0 0 16px;
  color: #fff;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.5;
  text-align: left;
}

.glp-fit__body ul,
.glp-fit__panel ul {
  position: relative;
  z-index: 1;
  width: auto;
  max-width: none;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
  text-align: left;
}

.glp-fit__panel li {
  position: relative;
  margin: 0 0 12px;
  padding-left: 34px;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.45;
}

.glp-fit__panel li:last-child {
  margin-bottom: 0;
}

.glp-fit__panel li::before {
  position: absolute;
  top: 1px;
  left: 0;
  display: grid;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  color: #1e2298;
  content: "✓";
  font-size: 12px;
  font-weight: 700;
  place-items: center;
}

.glp-fit__cta {
  margin: 0;
  text-align: center;
}

html body .glp-fit__cta .button,
html body .glp-fit__cta .button--left {
  display: inline-flex !important;
  width: fit-content !important;
  margin: 0 auto !important;
}

.glp-difference {
  padding: 0 24px 68px;
  background: #fff;
}

.glp-difference__intro {
  width: min(1240px, 100%);
  margin: 0 auto;
  color: var(--glp-ink);
  text-align: center;
}

.glp-difference__intro h2,
.glp-exploration h2 {
  margin: 0;
  font-size: clamp(34px, 3vw, 48px);
  line-height: 1.12;
  text-wrap: balance;
}

.glp-difference__intro p {
  max-width: 1240px;
  margin: 0 auto 28px;
  color: #24252a;
  font-size: clamp(18px, 1.35vw, 22px);
  line-height: 1.55;
}

.glp-difference__intro p:last-child {
  margin-bottom: 0;
}

.glp-difference__features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(28px, 4vw, 70px);
  align-items: start;
  width: min(1220px, 100%);
  min-height: 315px;
  margin: 0 auto;
  padding: 54px clamp(32px, 5vw, 72px);
  border-radius: 20px;
  color: #fff;
  background: var(--glp-blue);
  text-align: center;
}

.glp-difference__features h3 {
  margin: 0 0 18px;
  font-size: clamp(24px, 2vw, 31px);
  line-height: 1.22;
  text-wrap: balance;
}

.glp-difference__features p {
  margin: 0;
  font-size: clamp(17px, 1.3vw, 21px);
  line-height: 1.55;
}

.glp-exploration {
  padding: 0 24px;
  background: #fff;
}

.glp-exploration__inner {
  width: min(1100px, 100%);
  margin: 0 auto;
  color: var(--glp-ink);
}

.glp-exploration h2,
.glp-exploration__lead {
  text-align: center;
}

.glp-exploration__lead {
  margin: 0 auto 42px;
  font-size: clamp(18px, 1.35vw, 22px);
  line-height: 1.55;
}

.glp-exploration__content {
  max-width: 940px;
  margin: 0 auto;
  font-size: clamp(18px, 1.35vw, 22px);
  line-height: 1.55;
}

.glp-exploration__content p {
  margin: 0 0 28px;
}

.glp-exploration__content p:last-child {
  margin-bottom: 0;
}

.glp-exploration__content ul {
  margin: 0 0 34px;
  padding-left: 38px;
}

.glp-clarity {
  padding: 0 24px;
  background: #fff;
  color: var(--glp-ink);
}

.glp-clarity__inner {
  width: min(1290px, 100%);
  margin: 0 auto;
  padding: 0 24px 34px;
  background: #83c7ee;
}

.glp-clarity h2 {
  margin: 0;
  font-size: clamp(32px, 2.55vw, 43px);
  line-height: 1.15;
  text-align: center;
}

.glp-clarity__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 30px 24px;
  align-items: start;
}

.glp-clarity__copy {
  font-size: clamp(17px, 1.38vw, 21px);
  line-height: 1.5;
}

.glp-clarity__copy p {
  margin: 0 0 28px;
}

.glp-clarity__copy ul {
  margin: 0 0 28px;
  padding-left: 34px;
}

.glp-clarity__copy--intro {
  padding: 2px 22px 0 18px;
  text-align: center;
}

.glp-clarity__copy--intro ul {
  display: inline-block;
  min-width: 425px;
  text-align: left;
}

.glp-clarity__image {
  display: block;
  width: 100%;
  border-radius: 30px;
  object-fit: cover;
}

.glp-clarity__image--male {
  height: 580px;
}

.glp-clarity__media-note {
  text-align: center;
}

.glp-clarity__image--female {
  height: 390px;
  object-position: center;
}

.glp-clarity__media-note p {
  margin: 24px 10px 0;
  font-size: clamp(17px, 1.38vw, 21px);
  line-height: 1.5;
}

.glp-clarity__copy--structured {
  padding: 0 14px;
  text-align: center;
}

.glp-clarity__copy--structured h3 {
  max-width: 590px;
  margin: 0 auto 52px;
  font-size: clamp(29px, 2.35vw, 39px);
  line-height: 1.22;
  text-wrap: balance;
}

.glp-clarity__copy--structured ul {
  width: fit-content;
  margin: 0 auto;
  color: var(--glp-ink);
  text-align: left;
}

.glp-method {
  padding: 68px 24px 76px;
  background: #fff;
  color: var(--glp-ink);
}

.glp-method__inner {
  display: grid;
  grid-template-columns: minmax(340px, 0.88fr) minmax(0, 1.12fr);
  gap: 70px;
  width: min(1120px, 100%);
  margin: 0 auto;
}

.glp-method__copy h2 {
  margin: 0;
  font-size: clamp(54px, 5.4vw, 76px);
  line-height: 1.16;
  letter-spacing: -0.035em;
}

.glp-method__copy p {
  margin: 0 0 36px;
  font-size: clamp(18px, 1.45vw, 22px);
  line-height: 1.55;
}

.glp-method__copy .glp-method__closing {
  margin: 0;
  text-align: left;
}

.glp-method__steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 44px 88px;
  align-items: start;
  padding-top: 10px;
}

.glp-method__steps article {
  text-align: center;
}

.glp-method__steps svg {
  display: block;
  width: 92px;
  height: 92px;
  margin: 0 auto 24px;
  fill: none;
  stroke: #778189;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.glp-method__steps h3 {
  margin: 0;
  font-size: clamp(25px, 2.15vw, 33px);
  line-height: 1.2;
}

.glp-provider {
  padding: 0 24px;
  background: #fff;
}

.glp-provider__inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(1290px, 100%);
  margin: 0 auto;
}

.glp-provider__panel {
  min-height: 625px;
  padding: 38px 32px;
  font-size: clamp(18px, 1.4vw, 22px);
  line-height: 1.5;
}

.glp-provider__panel h2 {
  margin: 0 0 24px;
  font-size: clamp(29px, 2.25vw, 36px);
  line-height: 1.2;
}

.glp-provider__panel p {
  margin: 0 0 28px;
}

.glp-provider__panel ul {
  margin: 0 0 28px;
  padding-left: 38px;
}

.glp-provider__panel--blue {
  color: #fff;
  background: #286bd3;
}

.glp-provider__panel--light {
  background: #d4f1f4;
}

.glp-provider__button,
.glp-faqs__button,
.glp-final__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  text-decoration: none;
}

.glp-provider__button {
  min-width: 192px;
  min-height: 52px;
  margin-left: 30%;
  padding: 12px 24px;
  color: #fff;
  background: #211ca6;
}

.glp-faqs {
  --faq-blue: #246bd7;
  --faq-navy: #171992;
  --faq-line: #dbe1ea;
  --faq-pale: #f4f6f9;

  width: min(920px, calc(100% - 48px));
  margin: 0 auto;
  padding: 8px 0 80px;
  background: #fff;
}

.glp-faqs > h2 {
  margin: 0;
  color: var(--faq-navy);
  font-size: clamp(1.8rem, 4vw, 42px);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.15;
  text-align: center;
}

.glp-faqs__list {
  display: flex;
  margin-bottom: 0;
  flex-direction: column;
  gap: 12px;
}

.glp-faqs .faq-item {
  background: transparent;
}

.glp-faqs .faq-item summary {
  display: flex;
  min-height: 68px;
  padding: 16px 20px;
  align-items: center;
  gap: 14px;
  border-radius: 16px;
  color: #fff;
  background: var(--faq-blue);
  cursor: pointer;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.35;
  list-style: none;
  transition: background 0.2s ease;
}

.glp-faqs .faq-item summary:hover,
.glp-faqs .faq-item.is-open summary {
  background: var(--faq-navy);
}

.glp-faqs .faq-item summary:focus-visible {
  outline: 3px solid rgb(23 25 146 / 30%);
  outline-offset: 2px;
}

.glp-faqs .faq-item summary::-webkit-details-marker {
  display: none;
}

.glp-faqs .faq-icon {
  position: relative;
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border-radius: 50%;
  background: var(--faq-navy);
  place-items: center;
}

.glp-faqs .faq-item summary:hover .faq-icon,
.glp-faqs .faq-item.is-open .faq-icon {
  background: var(--faq-blue);
}

.glp-faqs .faq-icon::before,
.glp-faqs .faq-icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 1px;
  background: #fff;
  content: "";
  transform: translate(-50%, -50%);
}

.glp-faqs .faq-icon::before {
  width: 14px;
  height: 2px;
}

.glp-faqs .faq-icon::after {
  width: 2px;
  height: 14px;
  transition:
    transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.22s ease;
}

.glp-faqs .faq-item.is-open .faq-icon::after {
  opacity: 0;
  transform: translate(-50%, -50%) scaleY(0);
}

.glp-faqs .faq-answer {
  overflow: hidden;
  margin-top: 8px;
  border: 1px solid var(--faq-line);
  border-radius: 16px;
  background: var(--faq-pale);
  color: #4a5568;
}

.glp-faqs.faq-js .faq-item:not(.is-open) .faq-answer {
  height: 0;
  margin-top: 0;
  border-color: transparent;
}

.glp-faqs .faq-answer > * {
  margin: 0;
  padding: 0 24px 0 70px;
  color: #444;
  font-size: 17px;
  line-height: 1.65;
}

.glp-faqs .faq-answer > *:first-child {
  padding-top: 22px;
}

.glp-faqs .faq-answer > *:last-child {
  padding-bottom: 22px;
}

.glp-faqs .faq-answer p + p {
  margin-top: 12px;
}

.glp-faqs__button {
  display: flex;
  min-width: 300px;
  min-height: 48px;
  width: fit-content;
  margin: 0 auto;
  padding: 10px 28px;
  color: #fff;
  background: #211ca6;
  font-size: 18px;
}

.glp-final {
  min-height: 350px;
  padding: 62px 24px;
  background: #d9dbdd;
  text-align: center;
}

.glp-final h2 {
  margin: 0;
  color: #211ca6;
  font-size: clamp(34px, 3vw, 43px);
  line-height: 1.2;
}

.glp-final p {
  margin: 0 auto 50px;
  font-size: clamp(17px, 1.4vw, 21px);
  line-height: 1.5;
}

.glp-final__actions {
  display: flex;
  justify-content: center;
  gap: 8px;
}

.glp-final__actions a {
  min-width: 182px;
  min-height: 54px;
  padding: 12px 24px;
  color: #fff;
  background: #1b347e;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
}

.glp-final__actions a:last-child {
  color: #fff;
  background: #246bd7;
}

@media (width <= 1250px) {
  .glp-hero__shell {
    grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.9fr);
  }

  .glp-hero__media > img {
    height: 480px;
  }
}

@media (width <= 900px) {
  .glp-hero {
    min-height: auto;
    padding: 0;
    background: var(--glp-blue);
  }

  .glp-hero__band {
    inset: 0;
  }

  .glp-hero__shell {
    grid-template-columns: 1fr;
    width: min(640px, calc(100% - 36px));
    min-height: 0;
    padding: 42px 0 48px;
    gap: 28px;
  }

  .glp-hero__media {
    width: min(100%, 560px);
    margin: 0 auto;
  }

  .glp-hero__media > img {
    height: auto;
    aspect-ratio: 1;
  }

  .glp-hero__content {
    padding: 0;
  }

  .glp-hero__content h1 {
    margin-bottom: 18px;
  }

  .glp-hero__content p {
    font-size: 17px;
  }

  .glp-edu-cards {
    width: 100%;
    max-width: none;
    margin-left: 0;
    padding: 40px 20px;
  }

  .glp-edu-cards__shell {
    grid-template-columns: 1fr;
    gap: 28px;
    width: min(420px, 100%);
  }

  .glp-edu-card__icon,
  .glp-edu-card__icon svg {
    width: 36px;
    height: 36px;
  }

  .glp-edu-card h3 {
    font-size: 15px;
  }

  .glp-edu-card p {
    max-width: none;
    font-size: 14px;
  }

  .glp-overview__inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .glp-overview__visual {
    width: min(100%, 560px);
    height: auto;
    margin: 8px auto 0;
    padding: 0;
  }

  .glp-overview__visual img {
    height: auto;
    object-fit: contain;
  }

  .glp-consider {
    left: auto;
    width: auto;
    margin-left: 0;
    padding: 0 20px;
  }

  html body .glp-consider__intro > h2.site-heading,
  html body .glp-consider__intro > h2.site-heading:has(+ p) {
    width: auto;
    font-size: clamp(1.55rem, 5.2vw, 2rem) !important;
    white-space: normal;
    text-wrap: balance;
  }

  .glp-consider__cards {
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }

  .glp-help {
    padding: 0 20px;
  }

  html body main > section.glp-help {
    padding-bottom: 0 !important;
  }

  .glp-help__top {
    grid-template-columns: 1fr;
    gap: 22px;
    margin-bottom: 28px;
  }

  .glp-help__media {
    width: 100%;
    margin: 0;
  }

  .glp-help__media img {
    height: min(280px, 58vw);
    object-position: 42% 38%;
  }

  .glp-help__cards {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .glp-help__note {
    width: auto;
    white-space: normal;
    text-wrap: balance;
  }

  .glp-not {
    padding: 0 20px;
  }

  .glp-not__panel {
    padding: 0;
  }

  .glp-paths {
    padding: 0 20px;
  }

  .glp-paths__cards {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .glp-path-card {
    gap: 14px;
    padding: 18px 16px 16px;
  }

  .glp-path-card__top {
    min-height: 84px;
    padding: 8px 10px;
  }

  .glp-path-card__img {
    height: 72px;
  }

  .glp-path-card__top h3 {
    font-size: 20px;
    white-space: normal;
  }

  .glp-paths--reveal .glp-path-card--reveal {
    min-height: 260px;
  }

  .glp-paths--reveal .glp-path-card__img {
    height: 96px;
  }

  .glp-paths--reveal .glp-path-card__body {
    padding: 22px 18px;
  }

  .glp-review {
    padding: 0 20px;
  }

  .glp-review__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .glp-review__card {
    width: min(100%, 520px);
    margin: 0;
  }

  .glp-review__card img {
    height: 200px;
  }

  .glp-look {
    padding: 0 20px;
  }

  html body main > section.glp-look {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .glp-look__list {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 24px 20px;
  }

  .glp-fit {
    padding: 0 20px 40px;
  }

  html body main > section.glp-fit {
    padding-top: 0 !important;
    padding-right: 20px !important;
    padding-bottom: var(--site-heading-pad-bottom) !important;
    padding-left: 20px !important;
  }

  html body main > section.glp-not {
    padding-top: 0 !important;
    padding-right: 20px !important;
    padding-bottom: 0 !important;
    padding-left: 20px !important;
  }

  .glp-fit__panel {
    padding: 0;
  }

  .glp-fit__align {
    width: 100%;
  }

  .glp-difference,
  .glp-exploration {
    padding-right: 20px;
    padding-left: 20px;
  }

  .glp-difference__features {
    grid-template-columns: 1fr;
    gap: 34px;
    min-height: 0;
  }

  .glp-difference__features article {
    max-width: 560px;
    margin: 0 auto;
  }

  .glp-clarity__grid,
  .glp-method__inner {
    grid-template-columns: 1fr;
  }

  .glp-method__inner {
    gap: 10px;
  }

  .glp-provider__inner {
    grid-template-columns: 1fr;
  }

  .glp-provider__panel {
    min-height: 0;
  }

  .glp-clarity__copy--intro {
    padding-inline: 0;
  }

  .glp-clarity__image--male {
    height: auto;
    aspect-ratio: 1;
  }

  .glp-clarity__media-note {
    grid-row: 4;
  }

  .glp-clarity__copy--structured h3 {
    margin-bottom: 30px;
  }

  .glp-method__copy {
    text-align: left;
  }
}

@media (width <= 600px) {
  .glp-hero__actions {
    flex-direction: column;
    gap: 12px;
    margin-top: 20px;
  }

  .glp-button {
    width: 100%;
    min-height: 52px;
    font-size: 17px;
  }

  .glp-consider__cards {
    grid-template-columns: 1fr;
  }

  .glp-difference {
    padding-bottom: 52px;
  }

  .glp-difference__features {
    padding: 38px 24px;
  }

  .glp-exploration {
    padding-bottom: 0;
  }

  .glp-exploration__lead {
    margin-bottom: 30px;
  }

  .glp-clarity {
    padding-inline: 0;
  }

  .glp-clarity__inner {
    padding: 0 18px 36px;
  }

  .glp-clarity h2 {
    margin-bottom: 0;
  }

  .glp-clarity__copy--intro ul {
    min-width: 0;
  }

  .glp-clarity__image {
    border-radius: 20px;
  }

  .glp-clarity__image--female {
    height: auto;
    aspect-ratio: 1.48;
  }

  .glp-method {
    padding: 52px 18px 60px;
  }

  .glp-method__copy h2 {
    margin-bottom: 34px;
    font-size: 48px;
  }

  .glp-method__steps {
    gap: 36px 20px;
  }

  .glp-method__steps svg {
    width: 76px;
    height: 76px;
  }

  .glp-provider {
    padding-inline: 0;
  }

  .glp-provider__panel {
    padding: 34px 22px;
  }

  .glp-provider__button {
    margin-left: 0;
  }

  .glp-faqs {
    width: min(920px, calc(100% - 32px));
  }

  .glp-faqs .faq-item summary {
    min-height: 58px;
    font-size: 16px;
  }

  .glp-faqs .faq-icon {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
  }

  .glp-faqs .faq-answer > * {
    padding-left: 20px;
    font-size: 16px;
  }

  .glp-faqs__button {
    min-width: min(300px, 100%);
  }

  .glp-final__actions {
    flex-direction: column;
    align-items: center;
  }
}

html body .glp-overview__content > h2.site-heading,
html body .glp-overview__content > h2.site-heading:has(+ p) {
  padding-top: var(--site-heading-pad-top) !important;
  padding-bottom: 0 !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .glp-overview__content
  > h2.site-heading
  + p,
html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .glp-overview__content
  > h2.site-heading
  + p
  + p,
html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .glp-overview__content
  > h2.site-heading
  + p
  + p
  + p,
html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .glp-overview__content
  > h2.site-heading
  + p
  + p
  + p
  + p {
  margin-bottom: 12px !important;
  padding-bottom: 0 !important;
  font-size: clamp(15px, 1.15vw, 17px) !important;
  line-height: 1.5 !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .glp-overview__content
  > h2.site-heading
  + p
  + p
  + p
  + p
  + p {
  margin-bottom: 0 !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
  font-size: clamp(15px, 1.15vw, 17px) !important;
  line-height: 1.5 !important;
}

html body .glp-help__intro > h2.site-heading,
html body .glp-help__intro > h2.site-heading:has(+ p) {
  padding-top: var(--site-heading-pad-top) !important;
  padding-bottom: 0 !important;
}

html body .glp-help__intro > h2.site-heading + p + p {
  margin-bottom: 0 !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .glp-not__panel > h2.site-heading,
html body .glp-not__panel > h2.site-heading:has(+ p) {
  padding-top: var(--site-heading-pad-top) !important;
  padding-bottom: 0 !important;
  color: #fff !important;
  font-size: var(--site-h2-size) !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.12 !important;
  text-align: center !important;
  white-space: nowrap;
}

html body .glp-not__panel > h2.site-heading + p,
html body .glp-not__panel > h2.site-heading + p + p,
html body .glp-not__panel > h2.site-heading + p + p + p {
  margin-bottom: 16px !important;
  padding-bottom: 0 !important;
  color: #fff !important;
  text-align: center !important;
}

html body .glp-not__panel > h2.site-heading + p + p + p + p {
  margin-bottom: 0 !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
  color: #fff !important;
  text-align: center !important;
}

html body .glp-not__panel > h2.site-heading + p {
  margin-top: 16px !important;
}

html body .glp-paths__intro > h2.site-heading,
html body .glp-paths__intro > h2.site-heading:has(+ p) {
  width: max-content;
  max-width: 100%;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-top: var(--site-heading-pad-top) !important;
  padding-bottom: 0 !important;
  font-size: clamp(1.65rem, 2.2vw, 2.65rem) !important;
  letter-spacing: -0.03em !important;
  line-height: 1.15 !important;
  text-align: center !important;
  white-space: nowrap;
}

html body .glp-paths__intro > h2.site-heading + p {
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

@media (max-width: 820px) {
  html body .glp-paths__intro > h2.site-heading,
  html body .glp-paths__intro > h2.site-heading:has(+ p) {
    width: auto;
    font-size: clamp(1.55rem, 5.2vw, 2rem) !important;
    white-space: normal;
    text-wrap: balance;
  }
}

html body .glp-review__content > h2.site-heading,
html body .glp-review__content > h2.site-heading:has(+ p) {
  padding-top: var(--site-heading-pad-top) !important;
  padding-bottom: 0 !important;
}

html body .glp-review__content > h2.site-heading + p,
html body .glp-review__content > h2.site-heading + p + p,
html body .glp-review__content > h2.site-heading + p + p + p {
  margin-bottom: 16px !important;
  padding-bottom: 0 !important;
}

html body .glp-review__content > h2.site-heading + p + p + p + p {
  margin-bottom: 0 !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .glp-look__intro > h2.site-heading,
html body .glp-look__intro > h2.site-heading:has(+ p) {
  width: max-content;
  max-width: 100%;
  padding-top: var(--site-heading-pad-top) !important;
  padding-bottom: 0 !important;
  color: #171992 !important;
  font-size: clamp(1.65rem, 2.2vw, 2.65rem) !important;
  letter-spacing: -0.03em !important;
  line-height: 1.15 !important;
  white-space: nowrap;
}

@media (max-width: 820px) {
  html body .glp-look__intro > h2.site-heading,
  html body .glp-look__intro > h2.site-heading:has(+ p) {
    width: auto;
    font-size: clamp(1.55rem, 5.2vw, 2rem) !important;
    white-space: normal;
    text-wrap: balance;
  }
}

html body .glp-fit__align > h2.site-heading,
html body .glp-fit__align > h2.site-heading:has(+ .glp-fit__body),
html body .glp-fit__align > h2#glp-fit-title {
  width: max-content !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-top: var(--site-heading-pad-top) !important;
  padding-bottom: 0 !important;
  color: #fff !important;
  font-size: var(--site-h2-size) !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.12 !important;
  text-align: left !important;
  white-space: nowrap !important;
}

html body .glp-fit__body > p,
html body .glp-fit__body > .glp-fit__answer {
  margin-bottom: 16px !important;
  padding-bottom: 0 !important;
  color: #fff !important;
  text-align: left !important;
}

html body .glp-fit__body > .glp-fit__answer {
  margin-top: 18px !important;
  margin-bottom: 18px !important;
}

html body .glp-fit__body > p:last-of-type {
  margin-bottom: 8px !important;
}

html body .glp-fit__body > ul {
  margin-bottom: 0 !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .glp-fit__cta {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  text-align: center !important;
}

html body .glp-provider__panel--blue > .site-heading-copy > h2.site-heading:has(+ p) {
  padding-bottom: 0 !important;
}

html body .glp-provider__panel--blue > .site-heading-copy > h2.site-heading + p {
  margin-top: 10px !important;
  margin-bottom: 0 !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .glp-provider__panel--blue > .site-heading-copy + ul {
  margin-top: 0 !important;
}

html body .glp-provider__panel--light > .site-heading-copy > h2.site-heading + p {
  margin-top: 10px !important;
  margin-bottom: 0 !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .glp-provider__panel p:has(+ :is(ul, ol)) {
  margin-bottom: 10px !important;
  padding-bottom: 0 !important;
}

html body .glp-method__copy .site-heading-copy > h2.site-heading {
  padding-bottom: 0 !important;
}

html body .glp-method__copy .site-heading-copy > h2.site-heading + p + p {
  margin-bottom: 0 !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .glp-method__copy .site-heading-copy + .glp-method__closing,
html body .glp-method__copy .glp-method__closing {
  margin: 0 !important;
  padding-bottom: 0 !important;
}

html body main > section.glp-final {
  min-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 56px !important;
}

html body .glp-final > h2.site-heading,
html body .glp-final > h2.site-heading:has(+ p) {
  padding-top: var(--site-heading-pad-top) !important;
  padding-bottom: 0 !important;
}

html body .glp-final > h2.site-heading + p {
  margin-top: 10px !important;
  margin-bottom: 0 !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .glp-final p {
  margin-bottom: 0 !important;
}

html body .glp-faqs > h2.site-heading {
  margin: 0 !important;
  padding-top: var(--site-heading-pad-top) !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .glp-consider__intro > h2.site-heading + p + p {
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body
  :is(
    .faq-ctas,
    .method-hero__actions,
    .method-final__actions,
    .safety-hero__actions,
    .safety-contact__actions,
    .hiw-final-cta__actions,
    .glp-final__actions,
    .md-hero-ctas,
    .md-final-ctas
  ) {
  display: flex !important;
  width: auto !important;
  max-width: 100% !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.75rem !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

html body
  :is(
    .faq-ctas,
    .method-hero__actions,
    .method-final__actions,
    .safety-hero__actions,
    .safety-contact__actions,
    .hiw-final-cta__actions,
    .glp-final__actions,
    .md-hero-ctas,
    .md-final-ctas
  )
  > :is(a.button, button.button) {
  margin-top: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  width: fit-content !important;
  min-width: min(14rem, 100%) !important;
  flex: 0 0 auto !important;
}

/* Homepage hero CTAs: same button style, sized to the label, flush with the copy. */
html body main .home-main .home-main-copy {
  align-items: flex-start !important;
  text-align: left !important;
}

html body main .home-main .home-main-actions {
  display: flex !important;
  width: auto !important;
  max-width: 100% !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  align-self: flex-start !important;
  justify-content: flex-start !important;
  gap: 0.75rem !important;
  margin: 0 0 2rem !important;
  padding: 0 !important;
}

html body main .home-main .home-main-actions > a.button {
  display: inline-flex !important;
  width: auto !important;
  min-width: min(14rem, 100%) !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}

@media (max-width: 1023px) {
  html body main .home-main .home-main-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    flex-direction: unset !important;
    flex-wrap: unset !important;
    align-self: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 10px !important;
    margin: 0 !important;
  }

  html body main .home-main .home-main-actions > a.button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 1 1 0 !important;
    justify-content: center !important;
    padding-inline: 0.6rem !important;
    font-size: 0.8125rem !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }
}

@media (max-width: 640px) {
  html body main .home-main .home-main-copy {
    width: 100% !important;
    max-width: none !important;
    align-items: stretch !important;
  }
}

@media (max-width: 700px) {
  html body main section.home-main {
    padding-top: 88px !important;
  }
}

@media (max-width: 480px) {
  html body main .home-main .home-main-actions > a.button {
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.2 !important;
  }
}

@media (max-width: 360px) {
  html body main section.home-main {
    padding-top: 28px !important;
  }
}

@media (max-width: 640px) {
  html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
    main
    .home-main
    p.home-main-lead {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 700px) {
  html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
    main
    .crx-feedback
    p.crx-feedback__eyebrow {
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    line-height: 1.4 !important;
  }
}

/*
 * Unified marketing typography.
 * One Inter family + one h2 size + one body p size across marketing pages.
 * Portal / admin keep their own type. Photo-hero columns keep the shared hero clamp.
 * Product + blog cards keep smaller card-title type (not section h2).
 */
html body:not(.portal-page):not(.admin-page):not(.admin-login-page) h2,
html body:not(.portal-page):not(.admin-page):not(.admin-login-page) h2.site-heading {
  font-family: Inter, Arial, sans-serif !important;
  font-size: var(--site-h2-size) !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.12 !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page) main p {
  font-family: Inter, Arial, sans-serif !important;
  font-size: var(--site-body-size) !important;
  line-height: 1.65 !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .process__header
  p {
  margin: 0 !important;
  color: #60636b !important;
  font-size: 1rem !important;
  line-height: 1.45 !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .process__header
  p
  + p {
  margin-top: 0.35rem !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .timeline-card
  p {
  margin: 0 !important;
  color: #22242a !important;
  font-size: 1rem !important;
  line-height: 1.45 !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .timeline-card
  p
  + p {
  margin-top: 0.65rem !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .timeline-card
  li {
  color: #22242a !important;
  font-size: 0.95rem !important;
  line-height: 1.45 !important;
  list-style-type: disc !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .timeline-card
  li::marker {
  color: #111 !important;
}

html body
  :is(
    .hiw-hero__columns,
    .pricing-main__copy,
    .method-hero__copy,
    .safety-hero__copy,
    .faq-hero-columns,
    .md-hero-columns
  )
  p {
  font-size: clamp(17px, 1.55vw, 22px) !important;
  line-height: 1.45 !important;
}

html body .md-hero-copy :is(.md-hero-note, .md-trust) {
  font-size: clamp(15px, 1.3vw, 18px) !important;
}

/* Shared white-on-blue icon cards (pricing overview / GLP edu).
   home-trust and home-benefits now use V2 white cards instead. */
html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  :is(.glp-edu-cards, .pricing-overview__features) {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
  font-family: Inter, Arial, sans-serif !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  :is(.pricing-overview__feature, .glp-edu-card)
  h3 {
  margin: 0 0 4px !important;
  color: #fff !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  :is(.pricing-overview__feature, .glp-edu-card)
  p {
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.7) !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  :is(.pricing-overview__icon, .glp-edu-card__icon) {
  width: 42px !important;
  height: 42px !important;
  margin-bottom: 10px !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  :is(.pricing-overview__icon, .glp-edu-card__icon)
  svg,
html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .pricing-overview__feature
  > svg {
  width: 42px !important;
  height: 42px !important;
}

/* Card titles use h3 — not section h2 / .site-heading */
html body .product-card h3,
html body .product-card__title {
  display: block !important;
  margin: 16px 0 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  min-height: 0 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.25 !important;
  color: #070943 !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

html body .journal-card h3,
html body .journal-card__title {
  margin: 0 0 23px !important;
  padding: 0 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: none !important;
}

html body .journal-card h3 a,
html body .journal-card__title a {
  color: #070943 !important;
  text-decoration: none !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: none !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .journal-card__body
  p {
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: #7b8797 !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .journal-card__meta {
  font-size: 11px !important;
  line-height: 1.4 !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .products-sidebar
  h2,
html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .products-sidebar
  h2.site-heading {
  font-family: Inter, Arial, sans-serif !important;
  font-size: 27px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .products-sidebar
  h2:nth-of-type(2),
html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .products-sidebar
  h2.site-heading:nth-of-type(2) {
  font-size: 20px !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .product-card
  .product-price {
  font-size: 16px !important;
  line-height: 1.4 !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .product-card
  .product-category {
  font-size: 12px !important;
  line-height: 1.4 !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .glp-edu-card
  h3 {
  font-family: Inter, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .glp-edu-card
  p {
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
}

@media (max-width: 767px) {
  html body .journal-card h3,
  html body .journal-card__title {
    font-size: 18px !important;
    line-height: 1.25 !important;
  }

  html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
    .journal-card__body
    p {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }
}

/*
 * Unified site FAQ accordion.
 * Same look as homepage FAQs across pricing, method, HIW, GLP-1, microdosing.
 * Content and headings stay page-specific.
 */
html body
  :is(.home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs) {
  --faq-blue: #1c68d9;
  --faq-navy: #171992;
  --faq-ink: #111;
  --faq-muted: #4a5568;
  --faq-line: #e4e8ef;
  --faq-white: #fff;
  --faq-max: 1290px;
  box-sizing: border-box;
  width: min(var(--faq-max), calc(100% - 48px)) !important;
  max-width: var(--faq-max) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 0 0 36px !important;
  background: var(--faq-white) !important;
  color: var(--faq-ink) !important;
  font-family: Inter, Arial, sans-serif !important;
  left: auto !important;
  position: relative !important;
}

html body .home-faqs.alignfull {
  left: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: -50vw !important;
}

html body
  :is(.home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  h2,
html body
  :is(.home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  h2.site-heading {
  display: block !important;
  width: 100% !important;
  margin: 0 auto !important;
  color: #000 !important;
  text-align: center !important;
  font-size: var(--site-h2-size) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.15 !important;
}

html body .md-page > .md-faqs {
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: center !important;
}

html body .md-page > .md-faqs .faq-list,
html body .md-page > .md-faqs .faq-item,
html body .md-page > .md-faqs .faq-item summary {
  text-align: left !important;
}

html body
  :is(
    .home-faqs .faq-list,
    .home-faqs-shell .faq-list,
    .pricing-faqs__list,
    .method-faqs__list,
    .hiw-faqs__list,
    .glp-faqs__list,
    .md-faqs .faq-list
  ) {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  width: min(var(--faq-max), 100%) !important;
  margin-top: 0 !important;
  margin-right: auto !important;
  margin-left: auto !important;
  margin-bottom: 40px !important;
}

html body
  :is(
    .home-faqs .faq-list,
    .home-faqs-shell .faq-list,
    .pricing-faqs__list,
    .method-faqs__list,
    .hiw-faqs__list,
    .glp-faqs__list,
    .md-faqs .faq-list
  ):has(+ .button--big) {
  margin-bottom: 0 !important;
}

html body
  :is(.home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-item {
  overflow: hidden !important;
  margin: 0 !important;
  border-radius: 16px !important;
  background: var(--faq-blue) !important;
  box-shadow: none !important;
}

html body
  :is(.home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-item.is-open {
  box-shadow: 0 10px 28px rgba(23, 25, 146, 0.08) !important;
}

html body
  :is(.home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-item
  summary {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  min-height: 68px !important;
  margin: 0 !important;
  padding: 16px 20px !important;
  border-radius: 0 !important;
  color: #fff !important;
  background: transparent !important;
  cursor: pointer !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  list-style: none !important;
}

html body
  :is(.home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-item
  summary::-webkit-details-marker {
  display: none !important;
}

html body
  :is(.home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-item
  summary:hover {
  background: rgba(0, 0, 0, 0.06) !important;
}

html body
  :is(.home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-icon,
html body .hiw-faqs .faq-item summary > span:first-child {
  position: relative !important;
  display: grid !important;
  flex: 0 0 36px !important;
  width: 36px !important;
  height: 36px !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: var(--faq-navy) !important;
  color: transparent !important;
}

html body
  :is(.home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-icon::before,
html body
  :is(.home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-icon::after,
html body .hiw-faqs .faq-item summary > span:first-child::before,
html body .hiw-faqs .faq-item summary > span:first-child::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  background: #fff !important;
  border-radius: 1px !important;
  transform: translate(-50%, -50%) !important;
}

html body
  :is(.home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-icon::before,
html body .hiw-faqs .faq-item summary > span:first-child::before {
  width: 14px !important;
  height: 2px !important;
}

html body
  :is(.home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-icon::after,
html body .hiw-faqs .faq-item summary > span:first-child::after {
  width: 2px !important;
  height: 14px !important;
  transition:
    transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.22s ease !important;
}

html body
  :is(.home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-item.is-open
  .faq-icon::after,
html body
  .hiw-faqs
  .faq-item.is-open
  summary
  > span:first-child::after {
  transform: translate(-50%, -50%) scaleY(0) !important;
  opacity: 0 !important;
}

html body
  :is(.home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-answer {
  overflow: hidden !important;
  margin: 0 !important;
  border: 1px solid var(--faq-line) !important;
  border-top: 0 !important;
  border-radius: 0 !important;
  background: var(--faq-white) !important;
  color: var(--faq-muted) !important;
}

html body
  :is(.home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs).faq-js
  .faq-item:not(.is-open)
  .faq-answer {
  height: 0 !important;
  border-color: transparent !important;
}

html body
  :is(.home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-answer
  > * {
  margin: 0 !important;
  padding: 0 24px 0 70px !important;
  color: #444 !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
}

html body
  :is(.home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-answer
  > *:first-child {
  padding-top: 20px !important;
}

html body
  :is(.home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-answer
  > *:last-child {
  padding-bottom: 26px !important;
}

html body
  :is(.home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-answer
  ul {
  padding-left: 94px !important;
}

/* FAQ CTAs use shared .button sizing; center only (no context size override) */
html body
  :is(
    .faq-section,
    .home-faqs,
    .pricing-faqs,
    .method-faqs,
    .hiw-faqs,
    .glp-faqs,
    .md-faqs
  )
  > a.button,
html body
  :is(.home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .home-faqs-shell
  > a.button {
  display: flex !important;
  width: fit-content !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

html body .home-faqs-shell {
  width: min(var(--faq-max), calc(100% - 48px)) !important;
  max-width: var(--faq-max) !important;
  margin-inline: auto !important;
  padding-bottom: 40px !important;
}

@media (max-width: 820px) {
  html body
    :is(.home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
    .faq-item
    summary {
    min-height: 58px !important;
    font-size: 16px !important;
  }

  html body
    :is(.home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
    .faq-answer
    > * {
    padding-left: 20px !important;
    font-size: 16px !important;
  }

  html body
    :is(.home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
    .faq-icon,
  html body .hiw-faqs .faq-item summary > span:first-child {
    width: 30px !important;
    height: 30px !important;
    flex-basis: 30px !important;
  }
}


/* products price-filter: kill focus chrome */
html body .price-filter input[type="range"],
html body .price-filter input[type="range"]:focus,
html body .price-filter input[type="range"]:focus-visible,
html body .price-filter input[type="range"]:active,
html body .price-filter input[type="range"]:hover {
  outline: none !important;
  outline-width: 0 !important;
  outline-offset: 0 !important;
  outline-color: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  -webkit-box-shadow: none !important;
}


/* glp-fit: 40px under list → CTA, and 40px under CTA to section end */
html body main > section.glp-fit,
html body main > section.glp-fit:has(> .glp-fit__panel) {
  box-sizing: border-box !important;
  padding-top: 0 !important;
  padding-right: 24px !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
  padding-left: 24px !important;
}

html body main > section.glp-not,
html body main > section.glp-not:has(> .glp-not__panel) {
  box-sizing: border-box !important;
  padding-top: 0 !important;
  padding-right: 24px !important;
  padding-bottom: 0 !important;
  padding-left: 24px !important;
}

html body main > section.glp-look,
html body main > section.glp-look:has(> .glp-look__inner) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Why GLP-1: lock H2 50/40 spacing across all section titles */
html body .glp-overview__content > h2.site-heading,
html body .glp-consider__intro > h2.site-heading,
html body .glp-help__intro > h2.site-heading,
html body .glp-not__panel > h2.site-heading,
html body .glp-paths__intro > h2.site-heading,
html body .glp-review__content > h2.site-heading,
html body .glp-look__intro > h2.site-heading,
html body .glp-fit__align > h2.site-heading,
html body .glp-fit__align > h2#glp-fit-title,
html body .glp-final > h2.site-heading {
  padding-top: var(--site-heading-pad-top) !important;
  padding-bottom: 0 !important;
}

html body .glp-faqs > h2.site-heading {
  margin: 0 !important;
  padding-top: var(--site-heading-pad-top) !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .glp-fit__align > h2.site-heading + .glp-fit__body > p:first-child {
  margin-top: 10px !important;
}

/* Keep the 40px heading-copy bottom inside sections */
html body .glp-overview__content > h2.site-heading + p + p + p + p + p,
html body .glp-consider__intro > h2.site-heading + p + p,
html body .glp-help__intro > h2.site-heading + p + p,
html body .glp-not__panel > h2.site-heading + p + p + p + p,
html body .glp-paths__intro > h2.site-heading + p,
html body .glp-review__content > h2.site-heading + p + p + p + p,
html body .glp-look__intro > h2.site-heading + p + p,
html body .glp-final > h2.site-heading + p,
html body .glp-help__note {
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .glp-fit__body > ul {
  margin-top: 8px !important;
  margin-bottom: 0 !important;
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body main > section.glp-fit .glp-fit__cta {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Kill only EXTRA section/container gap before the next H2's own 50px top */
html body main > section.glp-overview,
html body main > section.glp-consider,
html body main > section.glp-help,
html body main > section.glp-not,
html body main > section.glp-not:has(> .glp-not__panel),
html body main > section.glp-paths,
html body main > section.glp-review,
html body main > section.glp-look,
html body main > section.glp-look:has(> .glp-look__inner) {
  margin-bottom: 0 !important;
}

html body main > section.glp-paths,
html body .glp-paths__inner,
html body .glp-paths__intro,
html body main > section.glp-consider,
html body .glp-consider__inner,
html body .glp-consider__intro,
html body main > section.glp-help,
html body .glp-help__inner,
html body main > section.glp-review,
html body .glp-review__inner,
html body main > section.glp-look,
html body .glp-look__inner,
html body main > section.glp-not,
html body .glp-not__panel {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

html body .glp-look__close > p:last-child {
  padding-bottom: var(--site-heading-pad-bottom) !important;
}

html body .glp-not__panel > h2.site-heading,
html body .glp-fit__align > h2.site-heading,
html body .glp-fit__align > h2#glp-fit-title {
  white-space: nowrap !important;
}

html body main > section.glp-fit .glp-fit__cta {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

html body main > section.glp-fit .glp-fit__cta .button {
  margin-bottom: 0 !important;
}

@media (max-width: 820px) {
  html body main > section.glp-fit,
  html body main > section.glp-fit:has(> .glp-fit__panel) {
    padding-top: 0 !important;
    padding-right: 20px !important;
    padding-bottom: var(--site-heading-pad-bottom) !important;
    padding-left: 20px !important;
  }

  html body main > section.glp-not,
  html body main > section.glp-not:has(> .glp-not__panel) {
    padding-top: 0 !important;
    padding-right: 20px !important;
    padding-bottom: 0 !important;
    padding-left: 20px !important;
  }

  html body .glp-not__panel > h2.site-heading,
  html body .glp-fit__align > h2.site-heading,
  html body .glp-fit__align > h2#glp-fit-title {
    width: auto !important;
    white-space: normal !important;
    text-wrap: balance !important;
  }
}

@media (max-width: 700px) {
  html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
    .crx-feedback
    h2.site-heading {
    max-width: 500px !important;
    font-size: clamp(21px, 6.2vw, 27px) !important;
    letter-spacing: -0.035em !important;
    line-height: 1.08 !important;
  }

  html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
    .crx-feedback
    h2.site-heading
    em {
    font-size: inherit !important;
  }

  html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
    .home-trust {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }

  html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
    .home-trust-item
    h3 {
    color: #15182b !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
  }

  html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
    .home-trust-item
    p {
    color: #5b6475 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
  }

  html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
    .home-trust-icon,
  html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
    .home-trust-icon
    svg {
    width: 25px !important;
    height: 25px !important;
  }

  html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
    .home-trust-icon {
    margin: 2px 0 0 !important;
  }
}

/* ==========================================================================
   CONTROLRX-42 — V2 block restyles (integrated into existing classes)
   ========================================================================== */

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .home-trust-item
  h3,
html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .home-benefits-card
  h3 {
  margin: 0 !important;
  color: #15182b !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .home-trust-item
  p,
html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .home-benefits-card
  p {
  margin: 7px 0 0 !important;
  color: #5b6475 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  :is(.home-trust-icon, .home-benefits-icon) {
  width: 27px !important;
  height: 27px !important;
  margin: 2px 0 0 !important;
  color: #171b8e !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  :is(.home-trust-icon, .home-benefits-icon)
  svg {
  width: 27px !important;
  height: 27px !important;
}

html body main > section.home-benefits,
html body .home-benefits {
  background-color: #2769d0;
}

html body main > section.control-method {
  padding-bottom: 48px !important;
}

html body main > section.pricing-details {
  padding: 56px 24px 24px !important;
  background: #f7f9fc;
}

html body main > section.pricing-included {
  padding: 0 24px 72px !important;
  background: #f7f9fc;
}

/* why-story: keep overlay layout, make mobile usable */
@media (max-width: 64rem) {
  html body .why-story {
    display: block;
    min-height: 0 !important;
    overflow: hidden;
    border-radius: 1.25rem;
  }

  html body .why-story__image {
    position: relative !important;
    inset: auto !important;
    display: block;
    width: 100% !important;
    height: auto !important;
    max-height: 32rem;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center 22%;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  html body .why-story__card {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    left: auto !important;
    z-index: 1;
    width: 100% !important;
    min-height: 0 !important;
    margin-top: -3.5rem;
    padding: 5.15rem 1.35rem 2.25rem !important;
    background: linear-gradient(
      to bottom,
      transparent 0,
      rgb(13 103 187 / 82%) 2.4rem,
      #0d67bb 3.5rem
    ) !important;
  }

  html body .why-story__card h2,
  html body .why-story__card h2.site-heading {
    max-width: none !important;
  }

  html body .why-story__card p,
  html body .why-story__card h2.site-heading + p,
  html body .why-story__card h2.site-heading + p + p,
  html body .why-story__card h2.site-heading + p + p + p {
    margin-top: 1rem !important;
  }
}

/* hiw-clarity mobile: match homepage why-story overlay card */
@media (max-width: 700px) {
  html body .hiw-clarity__inner {
    min-height: 0;
    overflow: hidden;
    border-radius: 1.25rem;
  }

  html body .hiw-clarity__inner > img {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    display: block;
    width: 100% !important;
    height: auto !important;
    max-height: 32rem;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center 22%;
    border-radius: 0 !important;
  }

  html body .hiw-clarity__panel {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 1;
    width: 100% !important;
    min-height: 0 !important;
    margin-top: -3.5rem;
    padding: 5.15rem 1.35rem 6.5rem !important;
    background: linear-gradient(
      to bottom,
      transparent 0,
      rgb(13 103 187 / 82%) 2.4rem,
      #0d67bb 3.5rem
    ) !important;
  }
}

/* safety-compounded mobile: match homepage why-story overlay card */
@media (max-width: 760px) {
  html body .safety-compounded {
    display: grid;
    gap: 0;
    min-height: 0;
    overflow: hidden;
    border-radius: 1.25rem;
  }

  html body .safety-compounded > img {
    display: block;
    width: 100% !important;
    height: auto !important;
    max-height: 32rem;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center 22%;
    border-radius: 0 !important;
  }

  html body .safety-compounded__notice {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    z-index: 1;
    width: 100% !important;
    min-height: 0 !important;
    margin-top: -3.5rem;
    padding: 5.15rem 1.35rem 5.5rem !important;
    background: linear-gradient(
      to bottom,
      transparent 0,
      rgb(13 103 187 / 82%) 2.4rem,
      #0d67bb 3.5rem
    ) !important;
  }
}

/* process — V2 cards + brand-blue timeline, keep zigzag markup */
html body .process {
  background: #fff;
  padding: 72px 24px 82px;
}

html body .treatment-timeline {
  max-width: 1040px;
}

html body .treatment-timeline::before {
  top: 20px;
  bottom: 20px;
  width: 3px;
  background: #2769d0;
  border-radius: 999px;
}

html body .timeline-step__dot {
  width: 22px;
  height: 22px;
  border: 5px solid #edf3ff;
  background: #2769d0;
}

html body .timeline-step__label {
  color: #171b8e;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -0.03em;
}

html body .timeline-card {
  padding: 26px 28px;
  border: 1px solid #e3e8f0;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 8px 28px rgb(23 27 142 / 7%);
}

html body .timeline-step--right .timeline-card,
html body .timeline-step--left .timeline-card {
  border-left: 0;
  border-right: 0;
}

html body .timeline-card::before {
  width: 30px;
  height: 2px;
  border: 0;
  background: #2769d0;
  translate: 0 -50%;
}

html body .timeline-step--right .timeline-card::before {
  right: auto;
  left: -30px;
  border: 0;
}

html body .timeline-step--left .timeline-card::before {
  left: auto;
  right: -30px;
  border: 0;
}

html body .timeline-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

html body .timeline-card li {
  position: relative;
  margin: 8px 0;
  padding-left: 23px;
  color: #4d5565 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

html body .timeline-card li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #2769d0;
  font-size: 14px;
  font-weight: 700;
}

html body .timeline-card li::marker {
  content: none;
  color: transparent;
}

@media (max-width: 650px) {
  html body .treatment-timeline {
    padding-left: 32px;
  }

  html body .treatment-timeline::before {
    left: 10px;
    top: 14px;
    bottom: 14px;
    translate: 0;
    background: #2769d0;
  }

  html body .timeline-step__dot {
    display: block;
    left: -22px;
    top: 30px;
    translate: 0;
  }

  html body .timeline-card::before,
  html body .timeline-step--left .timeline-card::before,
  html body .timeline-step--right .timeline-card::before {
    display: none;
  }

  html body .timeline-card {
    padding: 20px;
    border-radius: 18px;
  }
}

/* control-method — V2 2x2 white cards */
html body .control-method {
  background: #fff;
  padding: 72px 24px 78px;
}

html body .control-method__layout {
  align-items: center;
  gap: 72px;
}

html body .method-grid {
  gap: 20px;
}

html body .method-item {
  display: grid;
  grid-template-columns: 29px minmax(0, 1fr);
  column-gap: 12px;
  min-height: 132px;
  padding: 20px;
  border: 1px solid #e3e8f0;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 6px 20px rgb(8 12 70 / 7%);
  text-align: left;
}

html body .method-item svg {
  grid-column: 1;
  grid-row: 1;
  width: 29px !important;
  height: 29px !important;
  margin: 2px 0 0 !important;
  color: #171b8e;
}

html body .method-item h3 {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  color: #15182b;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

html body .method-item p {
  grid-column: 2;
  grid-row: 2;
  margin: 8px 0 0 !important;
  color: #5b6475 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

@media (max-width: 1023px) {
  html body .control-method__layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  html body .method-grid {
    max-width: 720px;
    width: 100%;
    margin: 0 auto;
  }
}

@media (max-width: 767px) {
  html body .method-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  html body .method-item {
    min-height: 106px;
    padding: 17px 18px;
    border-radius: 18px;
  }
}

/* reviews — V2 white quote cards */
html body .reviews {
  padding: 72px 24px;
  background: #f7f9fc;
}

html body .reviews > .container {
  padding-bottom: 40px;
}

html body .review-grid {
  width: 100%;
  gap: 24px;
}

html body .review-grid blockquote {
  padding: 30px;
  border: 1px solid #e3e8f0;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 8px 28px rgb(23 27 142 / 6%);
  text-align: left;
}

html body .review-grid blockquote img {
  width: 78px;
  height: 78px;
  margin: 0 0 16px;
}

html body .review-grid .stars {
  justify-content: flex-start;
  color: #ffb24b;
}

html body .review-grid blockquote p {
  min-height: 0;
  margin: 12px 0 16px !important;
  color: #15182b !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
}

html body .review-grid cite {
  text-transform: none;
  color: #15182b;
  font-size: 15px;
  font-weight: 700;
}

@media (max-width: 767px) {
  html body .review-grid {
    grid-template-columns: 1fr;
  }
}

/* faq-section + shared FAQ groups — V2 divider accordion */
html body :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs) {
  background: #fff !important;
}

html body .faq-section > h2,
html body .faq-section > h2.site-heading {
  text-align: left !important;
  color: #15182b !important;
}

html body
  :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  :is(.faq-list, .pricing-faqs__list, .method-faqs__list, .hiw-faqs__list, .glp-faqs__list, .md-faqs__list) {
  gap: 0 !important;
}

html body
  :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-item,
html body
  :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-item.is-open {
  overflow: visible !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-bottom: 1px solid #e3e8f0 !important;
}

html body
  :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-item
  summary {
  display: block !important;
  position: relative !important;
  min-height: 0 !important;
  padding: 17px 36px 17px 0 !important;
  color: #15182b !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  background: transparent !important;
}

html body
  :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-item
  summary:hover {
  background: transparent !important;
}

html body
  :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-icon,
html body .hiw-faqs .faq-item summary > span:first-child {
  position: absolute !important;
  right: 4px !important;
  left: auto !important;
  top: 17px !important;
  display: block !important;
  flex: none !important;
  flex-basis: auto !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  color: #15182b !important;
  translate: none !important;
}

html body
  :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-icon::before,
html body
  :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-icon::after,
html body .hiw-faqs .faq-item summary > span:first-child::before,
html body .hiw-faqs .faq-item summary > span:first-child::after {
  display: none !important;
}

html body
  :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-icon::after,
html body .hiw-faqs .faq-item summary > span:first-child::after {
  display: block !important;
  content: "+" !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  border-radius: 0 !important;
  transform: none !important;
  opacity: 1 !important;
  color: #15182b !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

html body
  :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-item.is-open
  .faq-icon::after,
html body
  :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-item[open]
  .faq-icon::after,
html body .hiw-faqs .faq-item.is-open summary > span:first-child::after,
html body .hiw-faqs .faq-item[open] summary > span:first-child::after {
  content: "+" !important;
  width: auto !important;
  height: auto !important;
  transform: none !important;
  opacity: 1 !important;
}

html body
  :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-answer {
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #5b6475 !important;
}

html body
  :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-item.is-open
  .faq-answer,
html body
  :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-item[open]
  .faq-answer {
  padding: 0 36px 18px 0 !important;
}

html body
  :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-answer
  > *,
html body
  :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-answer
  p,
html body
  :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-answer
  li,
html body
  :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-answer
  > *:first-child,
html body
  :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-answer
  > *:last-child {
  margin: 0 !important;
  padding: 0 !important;
  color: #5b6475 !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
}

html body
  :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-answer
  > * + * {
  margin-top: 10px !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-answer
  p,
html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
  .faq-answer
  li {
  margin: 0 !important;
  padding: 0 !important;
  color: #5b6475 !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
}

@media (max-width: 820px) {
  html body
    :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
    .faq-item
    summary {
    min-height: 0 !important;
    padding: 17px 36px 17px 0 !important;
    font-size: 16px !important;
  }

  html body
    :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
    .faq-icon,
  html body .hiw-faqs .faq-item summary > span:first-child {
    width: auto !important;
    height: auto !important;
    flex-basis: auto !important;
  }

  html body
    :is(.faq-section, .home-faqs, .pricing-faqs, .method-faqs, .hiw-faqs, .glp-faqs, .md-faqs)
    .faq-answer
    > * {
    padding: 0 !important;
    font-size: 15px !important;
  }
}

/* closing-cta — V2 split, not full-bleed overlay */
html body main > .closing-cta,
html body .closing-cta {
  display: block !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 72px 24px !important;
  overflow: visible;
  color: #15182b;
  background: #fff;
  place-items: unset !important;
}

html body .closing-cta::after {
  display: none;
}

html body .closing-cta__split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 54px;
  align-items: center;
  width: min(1240px, 100%);
  margin: 0 auto;
}

html body .closing-cta__image,
html body .closing-cta__media img {
  position: relative;
  inset: auto;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 340px;
  object-fit: cover;
  border-radius: 32px;
}

html body .closing-cta__inner {
  display: block;
  width: auto;
  max-width: none;
  text-align: left;
  color: #15182b;
}

html body .closing-cta h2,
html body .closing-cta h2.site-heading {
  padding-top: 0 !important;
  color: #15182b !important;
}

html body .closing-cta p,
html body .closing-cta h2.site-heading + p {
  margin-top: 0 !important;
  margin-bottom: 24px !important;
  color: #4d5565 !important;
  font-size: 16px !important;
}

html body .closing-cta .button {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

@media (max-width: 1023px) {
  html body main > .closing-cta,
  html body .closing-cta {
    padding: 48px 20px !important;
  }

  html body .closing-cta__split {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  html body .closing-cta__image,
  html body .closing-cta__media img {
    min-height: 280px;
  }
}

/* pricing-details V2 + standalone included block */
html body .pricing-details {
  padding: 80px 24px 40px;
  background: #f7f9fc;
}

html body .pricing-details__inner,
html body .pricing-included__inner {
  max-width: 1240px;
  margin: 0 auto;
}

html body .pricing-details__top {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  align-items: center;
  gap: 72px;
}

html body .pricing-details__media {
  width: 100%;
  aspect-ratio: 4 / 5;
  margin: 0;
  overflow: hidden;
  border-radius: 24px;
  background: #e9eef6;
  box-shadow: none;
}

html body .pricing-details__choice,
html body .pricing-details__copy {
  max-width: none;
  margin: 0;
  text-align: left;
}

html body .pricing-details__benefits {
  margin-top: 28px;
  border-top: 1px solid #dde3ec;
}

html body .pricing-details__benefit,
html body .pricing-details__benefits > div {
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: start;
  gap: 15px;
  padding: 18px 0;
  border-bottom: 1px solid #dde3ec;
}

html body .pricing-details__benefit-icon {
  display: flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgb(39 105 208 / 9%);
  color: #171b8e;
}

html body .pricing-details__benefit-icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

html body .pricing-details__benefit-title,
html body .pricing-details__benefits dt {
  margin: 0 0 4px;
  color: #15182b;
  font-size: 15px;
  font-weight: 700;
}

html body .pricing-details__benefit-text,
html body .pricing-details__benefits dd {
  margin: 0;
  color: #5b6475;
  font-size: 13px;
}

html body .pricing-details__cta {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 28px;
}

html body .pricing-details__cta > a.button {
  display: flex !important;
  width: fit-content !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

html body .pricing-included {
  padding: 0 24px 86px;
  background: #f7f9fc;
}

html body .pricing-included__panel,
html body .pricing-details__included {
  background: rgb(39 105 208 / 5.5%);
  border: 1px solid rgb(39 105 208 / 14%);
  border-radius: 28px;
  padding: 44px 48px;
}

html body .pricing-included__checklist,
html body .pricing-details__checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 56px;
  row-gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

html body .pricing-included__checklist li,
html body .pricing-details__checklist li,
html body .pricing-details__included li {
  position: relative;
  min-height: 28px;
  padding-left: 30px;
  color: #3f4758;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
}

html body .pricing-included__checklist li::before,
html body .pricing-details__checklist li::before,
html body .pricing-details__included li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 2px;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #2769d0;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}

@media (max-width: 700px) {
  html body .pricing-details__top {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  html body .pricing-included__checklist,
  html body .pricing-details__checklist {
    grid-template-columns: 1fr;
  }

  html body .pricing-included__panel,
  html body .pricing-details__included {
    padding: 30px 22px;
    border-radius: 22px;
  }
}

html body .pricing-difference figure {
  margin-bottom: 40px;
}

/* microdosing-callout — V2 surface card */
html body .microdosing-callout {
  padding: 72px 24px;
  background: #fff;
  text-align: left;
}

html body .microdosing-callout__card {
  max-width: 1240px;
  margin: 0 auto;
  padding: 44px;
  border: 1px solid #e3e8f0;
  border-radius: 24px;
  background: #f7f9fc;
  box-shadow: 0 8px 28px rgb(23 27 142 / 6%);
}

html body .microdosing-callout h2 {
  margin: 0 0 16px;
}

html body .microdosing-callout p {
  margin: 0 0 16px;
  color: #4d5565;
  font-size: 16px;
}

html body .microdosing-callout ul {
  display: block;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}

html body .microdosing-callout li {
  position: relative;
  margin: 8px 0;
  padding-left: 22px;
  color: #4d5565;
  font-size: 15px;
}

html body .microdosing-callout li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #2769d0;
  font-weight: 800;
}

html body .microdosing-callout a {
  min-height: 50px;
  margin-top: 8px;
  padding: 12px 24px;
  font-size: 15px;
}

@media (max-width: 767px) {
  html body .microdosing-callout__card {
    padding: 28px 22px;
  }
}


/* ==========================================================================
   CONTROLRX-42 part 2 — V2 block restyles (existing BEM classes)
   Tokens: navy #171b8e, sky #2769d0, text #15182b, muted #5b6475,
   surface #f7f9fc, border #e3e8f0, radius 24px
   ========================================================================== */

/* ----- hiw-final-cta ----- */
html body:not(.samples-page) :is(
  .glp-help,
  .glp-review,
  .glp-look
),
html body .samples-v2 :is(
  .glp-hero,
  .glp-help,
  .glp-review,
  .glp-look
) {
  padding: 72px 24px !important;
}

html body:not(.samples-page) .hiw-final-cta,
html body:not(.samples-page) main > section.hiw-final-cta {
  padding: 88px 24px !important;
  background: #2769d0 !important;
  text-align: center;
  color: #fff;
}

html body:not(.samples-page) .hiw-final-cta__inner {
  width: min(760px, 100%);
  margin: 0 auto;
  padding: 0;
}

html body:not(.samples-page) .hiw-final-cta h2,
html body:not(.samples-page) .hiw-final-cta h2.site-heading {
  margin: 0 0 18px !important;
  padding: 0 !important;
  color: #fff !important;
  text-align: center;
}

html body:not(.samples-page) .hiw-final-cta > p,
html body:not(.samples-page) .hiw-final-cta__inner > p {
  max-width: 700px;
  margin: 0 auto;
  color: rgb(255 255 255 / 88%) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

html body:not(.samples-page) .hiw-final-cta__actions {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center !important;
  gap: 12px !important;
  margin-top: 32px;
}

html body:not(.samples-page) .hiw-final-cta .button--light {
  border-color: #fff !important;
  background: #fff !important;
  color: #171b8e !important;
}

html body:not(.samples-page) .hiw-final-cta .button--light:hover {
  border-color: #fff !important;
  background: #f7f9fc !important;
  color: #171b8e !important;
}

html body:not(.samples-page) .hiw-final-cta .button--outline {
  border-color: rgb(255 255 255 / 65%) !important;
  background: transparent !important;
  color: #fff !important;
}

html body:not(.samples-page) .hiw-final-cta .button--outline:hover {
  border-color: #fff !important;
  background: rgb(255 255 255 / 10%) !important;
  color: #fff !important;
}

/* ----- glp-help ----- */
html body:not(.samples-page) .glp-help {
  background: #fff;
}

html body:not(.samples-page) .glp-help__top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 54px;
  align-items: center;
  margin-bottom: 32px;
}

html body:not(.samples-page) .glp-help__intro p {
  color: #5b6475 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

html body:not(.samples-page) .glp-help__media {
  min-height: 340px;
  border-radius: 32px;
  box-shadow: none;
}

html body:not(.samples-page) .glp-help__media img {
  height: 100%;
  min-height: 340px;
  object-fit: cover;
  border-radius: 32px;
}

html body:not(.samples-page) .glp-help__cards {
  gap: 24px;
}

html body:not(.samples-page) .glp-help-card {
  padding: 30px;
  border: 1px solid #e3e8f0;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 8px 28px rgb(23 27 142 / 6%);
}

html body:not(.samples-page) .glp-help-card__icon {
  display: none;
}

html body:not(.samples-page) .glp-help-card h3 {
  margin: 0 0 9px;
  color: #15182b;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

html body:not(.samples-page) .glp-help-card p {
  margin: 0;
  color: #5b6475 !important;
  font-size: 15px !important;
  line-height: 1.58 !important;
}

html body:not(.samples-page) .glp-help__note {
  margin-top: 18px;
  color: #6f7687 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

/* ----- glp-not ----- */
html body:not(.samples-page) .glp-not,
html body:not(.samples-page) main > section.glp-not {
  left: auto !important;
  width: 100% !important;
  margin-left: 0 !important;
  padding: 72px 24px !important;
  background: #f7f9fc !important;
  color: #15182b !important;
}

html body:not(.samples-page) .glp-not__panel {
  max-width: 850px;
  padding: 46px;
  border: 1px solid #e3e8f0;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 8px 28px rgb(23 27 142 / 6%);
  color: #15182b;
  text-align: center;
}

html body:not(.samples-page) .glp-not__panel h2,
html body:not(.samples-page) .glp-not__panel h2.site-heading,
html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .glp-not__panel
  h2.site-heading {
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: #15182b !important;
  text-align: center;
}

html body:not(.samples-page) .glp-not .glp-not__panel p,
html body:not(.samples-page) .glp-not__panel > h2.site-heading + p,
html body:not(.samples-page) .glp-not__panel > h2.site-heading + p + p,
html body:not(.samples-page) .glp-not__panel > h2.site-heading + p + p + p,
html body:not(.samples-page) .glp-not__panel > h2.site-heading + p + p + p + p {
  color: #5b6475 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  text-align: center;
}

/* ----- glp-paths (V2 always-visible path cards) ----- */
html body:not(.samples-page) .glp-paths,
html body:not(.samples-page) main > section.glp-paths,
html body:not(.samples-page) main > section.glp-paths:has(> .glp-paths__inner) {
  padding: 84px 24px 88px !important;
  background: #fff !important;
}

html body:not(.samples-page) .glp-paths__inner {
  width: min(1240px, 100%);
  margin: 0 auto;
  padding: 0 !important;
}

html body:not(.samples-page) .glp-paths__intro {
  max-width: 760px;
  margin: 0 auto 44px;
  padding: 0 !important;
  text-align: center;
}

html body:not(.samples-page) .glp-paths__intro > h2.site-heading {
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #15182b !important;
  text-align: center;
}

html body:not(.samples-page) .glp-paths__intro > h2.site-heading + p {
  max-width: 690px;
  margin: 0 auto !important;
  padding: 0 !important;
  color: #5b6475 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  text-align: center;
}

html body:not(.samples-page) .glp-paths__cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px;
}

html body:not(.samples-page) .glp-paths .glp-path-card {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  gap: 0;
  overflow: hidden;
  padding: 0;
  border: 1px solid #e3e8f0;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 8px 28px rgb(23 27 142 / 5.5%);
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

@media (hover: hover) and (pointer: fine) {
  html body:not(.samples-page) .glp-paths .glp-path-card:hover {
    border-color: rgb(39 105 208 / 28%);
    box-shadow: 0 12px 32px rgb(23 27 142 / 7.5%);
    transform: translateY(-3px);
  }
}

html body:not(.samples-page) .glp-paths .glp-path-card__top {
  display: flex;
  height: 250px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding: 24px 24px 14px;
  border-radius: 0;
  background: #f3f6fc;
}

html body:not(.samples-page) .glp-paths .glp-path-card__img {
  display: block;
  width: auto;
  max-width: 90%;
  height: auto !important;
  max-height: 210px;
  object-fit: contain;
  background: transparent;
}

html body:not(.samples-page) .glp-paths .glp-path-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0;
  padding: 24px 24px 26px;
}

html body:not(.samples-page) .glp-paths .glp-path-card__body h3 {
  margin: 0 0 10px;
  color: #15182b;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.25;
}

html body:not(.samples-page) .glp-paths .glp-path-card__body p {
  margin: 0 0 18px;
  color: #4d5565 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

html body:not(.samples-page) .glp-paths .glp-path-card__best {
  margin: auto 0 0;
  padding-top: 16px;
  border-top: 1px solid #e3e8f0;
  color: #6b7382 !important;
  font-size: 13px !important;
  font-weight: 400;
  line-height: 1.55;
}

html body:not(.samples-page) .glp-paths .glp-path-card__best strong {
  display: block;
  margin-bottom: 4px;
  color: #171b8e;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
  text-transform: uppercase;
}

html body:not(.samples-page) .glp-paths .glp-paths__cta {
  margin-top: 36px;
  text-align: center;
}

/* ----- glp-review ----- */
html body:not(.samples-page) .glp-review,
html body:not(.samples-page) main > section.glp-review,
html body:not(.samples-page) main > section.glp-review:has(> .glp-review__inner) {
  padding: 84px 24px 88px !important;
  background: #fff !important;
}

html body:not(.samples-page) .glp-review__inner {
  display: block;
  width: min(1240px, 100%);
  margin: 0 auto;
  padding: 0 !important;
}

html body:not(.samples-page) .glp-review__header {
  max-width: 760px;
  margin: 0 auto 42px;
  text-align: center;
}

html body:not(.samples-page) .glp-review__header > h2.site-heading {
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #15182b !important;
  text-align: center;
}

html body:not(.samples-page) .glp-review__header p {
  margin: 0;
  color: #5b6475 !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  text-align: center;
}

html body:not(.samples-page) .glp-review__panel {
  display: grid;
  grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.28fr);
  gap: 48px;
  align-items: stretch;
  padding: 34px;
  border-radius: 28px;
  background: #2769d0;
}

html body:not(.samples-page) .glp-review__media,
html body:not(.samples-page) .glp-review__card {
  min-height: 430px;
  overflow: hidden;
  margin: 0;
  border-radius: 22px;
  background: #fff;
}

html body:not(.samples-page) .glp-review__media img,
html body:not(.samples-page) .glp-review__card > img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: cover;
  border-radius: 22px;
}

html body:not(.samples-page) .glp-review__content {
  display: flex;
  max-width: none;
  flex-direction: column;
  justify-content: center;
  padding: 12px 8px 12px 0;
}

html body:not(.samples-page) .glp-review__content > p {
  max-width: 680px;
  margin: 0 0 15px;
  color: rgb(255 255 255 / 90%) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

html body:not(.samples-page) .glp-review__includes,
html body:not(.samples-page) .glp-review__card-body {
  margin-top: 18px;
  padding: 0;
  background: transparent;
}

html body:not(.samples-page) .glp-review__includes h3,
html body:not(.samples-page) .glp-review__card-body h3 {
  margin: 0 0 18px;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.3;
}

html body:not(.samples-page) .glp-review__includes ul,
html body:not(.samples-page) .glp-review__card ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 34px;
  row-gap: 13px;
  margin: 0;
  padding: 0;
  list-style: none;
}

html body:not(.samples-page) .glp-review__includes li,
html body:not(.samples-page) .glp-review__card li {
  position: relative;
  min-height: 24px;
  margin: 0;
  padding-left: 29px;
  color: rgb(255 255 255 / 95%);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
}

html body:not(.samples-page) .glp-review__includes li::before,
html body:not(.samples-page) .glp-review__card li::before {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #171b8e;
  color: #fff;
  content: "✓";
  font-size: 11px;
  font-weight: 700;
}

html body:not(.samples-page) .glp-review__important {
  display: flex;
  max-width: 760px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 22px auto 0;
  padding: 15px 20px;
  border: 1px solid rgb(39 105 208 / 24%);
  border-radius: 16px;
  background: #fff;
  color: #5b6475 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  text-align: center;
}

html body:not(.samples-page) .glp-review__important::before {
  display: flex;
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgb(39 105 208 / 10%);
  color: #171b8e;
  content: "i";
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
}

html body:not(.samples-page) .glp-review__important strong {
  color: #15182b;
}

/* ----- glp-look ----- */
html body:not(.samples-page) .glp-look,
html body:not(.samples-page) main > section.glp-look {
  padding: 84px 24px 88px !important;
  background: #fff !important;
}

html body:not(.samples-page) .glp-look__inner {
  width: min(980px, 100%);
  margin: 0 auto;
  padding: 44px 48px;
  border: 1px solid #e3e8f0;
  border-radius: 28px;
  background: #f7f9fc;
  box-shadow: 0 8px 28px rgb(23 27 142 / 5%);
  text-align: left;
}

html body:not(.samples-page) .glp-look__intro > h2.site-heading,
html body:not(.samples-page) .glp-look__intro > h2.site-heading:has(+ p) {
  width: auto !important;
  max-width: none !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: #15182b !important;
  font-size: 40px !important;
  letter-spacing: -0.04em !important;
  line-height: 1.08 !important;
  white-space: normal !important;
}

html body:not(.samples-page) .glp-look__intro p,
html body:not(.samples-page) .glp-look__close p {
  max-width: 780px;
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #4d5565 !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

html body:not(.samples-page) .glp-look__list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 42px;
  row-gap: 13px;
  margin: 26px 0 28px;
  padding: 0 !important;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

html body:not(.samples-page) .glp-look__list li {
  position: relative;
  display: flex;
  min-height: 25px;
  margin: 0;
  padding: 0 0 0 30px;
  align-items: flex-start;
  color: #3f4758;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
}

html body:not(.samples-page) .glp-look__list li::before {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #2769d0;
  color: #fff;
  content: "✓";
  font-size: 11px;
  font-weight: 700;
}

html body:not(.samples-page) .glp-look__close {
  margin-top: 6px;
  padding-top: 24px;
  border-top: 1px solid #e3e8f0;
}

html body:not(.samples-page) .glp-look__close p:first-child {
  color: #15182b !important;
  font-weight: 700 !important;
}

html body:not(.samples-page) .glp-look__close p:last-child {
  width: auto;
  margin-bottom: 0 !important;
  white-space: normal;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .glp-look__intro
  > h2.site-heading {
  font-size: 40px !important;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .glp-look__intro
  p,
html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .glp-look__close
  p {
  font-size: 15px !important;
}

@media (max-width: 900px) {
  html body:not(.samples-page) .glp-look__inner {
    padding: 38px 36px;
    border-radius: 24px;
  }

  html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
    .glp-look__intro
    > h2.site-heading {
    font-size: 36px !important;
  }

  html body:not(.samples-page) .glp-look__list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  html body:not(.samples-page) .glp-look,
  html body:not(.samples-page) main > section.glp-look {
    padding: 54px 20px 60px !important;
  }

  html body:not(.samples-page) .glp-look__inner {
    padding: 28px 22px;
  }
}

/* ----- method-overview ----- */
html body:not(.samples-page) .method-overview__eyebrow {
  margin: 0 0 12px;
  color: #2769d0;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.015em;
  line-height: 1.25;
  text-align: left;
  text-transform: none;
}

html body:not(.samples-page) .method-overview__framework {
  max-width: none;
  margin: 50px 0 36px;
  text-align: left;
}

html body:not(.samples-page) .method-overview__framework > h2.site-heading {
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #15182b !important;
  font-size: 42px !important;
  letter-spacing: -0.045em;
  line-height: 1.08 !important;
  text-align: left;
  white-space: nowrap;
}

html body:not(.samples-page) .method-overview__framework > h2.site-heading + p {
  max-width: 900px;
  margin: 0;
  color: #5b6475 !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  text-align: left;
}

html body:not(.samples-page) .method-cards {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px;
  align-items: stretch;
  margin-top: 0 !important;
}

html body:not(.samples-page) .method-cards article {
  position: relative;
  display: flex;
  min-height: 0 !important;
  flex-direction: column;
  overflow: hidden;
  padding: 28px 29px 24px;
  border: 1px solid #dde6f2 !important;
  border-radius: 22px;
  background: #fff !important;
  box-shadow: 0 10px 30px rgb(16 24 40 / 4%);
  text-align: left;
}

html body:not(.samples-page) .method-cards article::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: #2769d0;
  content: "";
}

html body:not(.samples-page) .method-cards article:nth-child(even) {
  border-color: #dde6f2 !important;
  background: #fff !important;
}

html body:not(.samples-page) .method-card__header {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 14px;
}

html body:not(.samples-page) .method-card__number {
  display: inline-flex;
  min-width: 32px;
  height: 25px;
  align-items: center;
  justify-content: center;
  padding: 0 8px;
  border-radius: 999px;
  background: rgb(39 105 208 / 10%);
  color: #2769d0;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1;
}

html body:not(.samples-page) .method-cards h3 {
  display: block;
  margin: 0;
  color: #171b8e;
  font-size: 19px;
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.25;
}

html body:not(.samples-page) .method-cards h3::before {
  content: none;
}

html body:not(.samples-page) .method-cards p {
  margin: 0 0 10px;
  color: #5b6475 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
}

html body:not(.samples-page) .method-cards .method-card__lead,
html body:not(.samples-page) .method-cards article > p:first-of-type {
  margin: 0 0 12px;
  color: #15182b !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
}

html body:not(.samples-page) .method-cards ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 22px;
  row-gap: 8px;
  align-content: start;
  margin: 0;
  padding: 0;
  list-style: none;
}

html body:not(.samples-page) .method-cards li {
  position: relative;
  margin: 0;
  padding-left: 18px;
  color: #4d5565;
  font-size: 12px;
  line-height: 1.45;
}

html body:not(.samples-page) .method-cards li::before {
  position: absolute;
  top: 0;
  left: 0;
  color: #2769d0;
  content: "✓";
  font-size: 12px;
  font-weight: 800;
}

html body:not(.samples-page) .method-cards .method-card__emphasis {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid rgb(39 105 208 / 16%);
  color: #171b8e !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}

@media (hover: hover) and (pointer: fine) {
  html body:not(.samples-page) .method-cards article {
    transition:
      transform 0.18s ease,
      box-shadow 0.18s ease,
      border-color 0.18s ease;
  }

  html body:not(.samples-page) .method-cards article:hover {
    border-color: rgb(39 105 208 / 24%) !important;
    box-shadow: 0 14px 34px rgb(16 24 40 / 6%);
    transform: translateY(-2px);
  }
}

@media (max-width: 1024px) {
  html body:not(.samples-page) .method-overview__eyebrow {
    font-size: 17px;
  }

  html body:not(.samples-page) .method-overview__framework > h2.site-heading {
    font-size: 38px !important;
    white-space: normal;
  }

  html body:not(.samples-page) .method-cards article {
    padding: 26px 24px 22px;
  }

  html body:not(.samples-page) .method-cards ul {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  html body:not(.samples-page) .method-overview__framework {
    margin: 50px 0 28px;
  }

  html body:not(.samples-page) .method-overview__eyebrow {
    margin-bottom: 10px;
    font-size: 16px;
  }

  html body:not(.samples-page) .method-overview__framework > h2.site-heading {
    margin-bottom: 12px !important;
    font-size: 31px !important;
    line-height: 1.12 !important;
    white-space: normal;
  }

  html body:not(.samples-page) .method-overview__framework > h2.site-heading + p {
    font-size: 14px !important;
  }

  html body:not(.samples-page) .method-cards {
    grid-template-columns: 1fr !important;
    gap: 14px;
  }

  html body:not(.samples-page) .method-cards article {
    padding: 23px 21px 22px;
    border-radius: 19px;
  }

  html body:not(.samples-page) .method-cards article::before {
    height: 3px;
  }

  html body:not(.samples-page) .method-card__header {
    margin-bottom: 12px;
  }

  html body:not(.samples-page) .method-cards h3 {
    font-size: 18px;
  }

  html body:not(.samples-page) .method-cards .method-card__lead,
  html body:not(.samples-page) .method-cards article > p:first-of-type {
    font-size: 13px !important;
  }

  html body:not(.samples-page) .method-cards ul {
    grid-template-columns: 1fr;
    row-gap: 7px;
  }

  html body:not(.samples-page) .method-cards .method-card__emphasis {
    padding-top: 14px;
  }
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .method-overview__eyebrow {
  color: #2769d0 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.25 !important;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .method-overview__framework
  > h2.site-heading {
  font-size: 42px !important;
  letter-spacing: -0.045em !important;
  line-height: 1.08 !important;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .method-overview__framework
  > h2.site-heading
  + p {
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .method-cards
  p {
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .method-cards
  .method-card__lead,
html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .method-cards
  article
  > p:first-of-type {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .method-cards
  .method-card__emphasis {
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}

@media (max-width: 1024px) {
  html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
    .method-overview__eyebrow {
    font-size: 17px !important;
  }

  html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
    .method-overview__framework
    > h2.site-heading {
    font-size: 38px !important;
  }
}

@media (max-width: 700px) {
  html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
    .method-overview__eyebrow {
    font-size: 16px !important;
  }

  html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
    .method-overview__framework
    > h2.site-heading {
    font-size: 31px !important;
    line-height: 1.12 !important;
  }

  html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
    .method-overview__framework
    > h2.site-heading
    + p {
    font-size: 14px !important;
  }

  html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
    .method-cards
    .method-card__lead,
  html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
    .method-cards
    article
    > p:first-of-type {
    font-size: 13px !important;
  }
}

/* ----- method-matters ----- */
html body:not(.samples-page) .method-matters {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 54px;
  align-items: center;
  padding: 48px 0 56px;
}

html body:not(.samples-page) .method-cards + .method-matters {
  margin-top: 8px !important;
}

html body:not(.samples-page) .method-matters__copy > .site-heading-copy > h2.site-heading,
html body:not(.samples-page) .method-matters__copy > .site-heading-copy > h2.site-heading:has(+ p) {
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: #15182b !important;
  font-size: 48px !important;
  letter-spacing: -0.035em !important;
  line-height: 1.08 !important;
  text-align: left;
}

html body:not(.samples-page) .method-matters__copy p {
  margin: 0 0 16px !important;
  color: #5b6475 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
}

html body:not(.samples-page) .method-matters__copy .site-heading-copy > h2.site-heading + p:last-of-type {
  padding-bottom: 0 !important;
}

html body:not(.samples-page) .method-matters__copy .method-matters__lead {
  margin-top: 0;
  margin-bottom: 16px;
  font-weight: 400 !important;
}

html body:not(.samples-page) .method-matters__copy ul {
  display: block;
  gap: 0;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
  font-size: 16px;
  font-weight: 400;
}

html body:not(.samples-page) .method-matters__copy li {
  position: relative;
  margin: 8px 0;
  padding-left: 22px;
  color: #5b6475;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
}

html body:not(.samples-page) .method-matters__copy li::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: auto;
  height: auto;
  border-radius: 0;
  background: none;
  color: #2769d0;
  content: "✓";
  font-size: 14px;
  font-weight: 800;
}

html body:not(.samples-page) .method-matters__copy .method-matters__closing {
  margin-bottom: 0;
  font-weight: 400 !important;
}

html body:not(.samples-page) .method-matters__gallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: minmax(210px, 1fr) minmax(210px, 1fr);
  gap: 14px;
  max-width: none;
}

html body:not(.samples-page) .method-matters__image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 210px;
  border-radius: 32px;
  object-fit: cover;
}

html body:not(.samples-page) .method-matters__image--main {
  grid-row: 1 / 3;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .method-matters__copy
  > .site-heading-copy
  > h2.site-heading {
  font-size: 48px !important;
  letter-spacing: -0.035em !important;
  line-height: 1.08 !important;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .method-matters__copy
  p {
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
}

@media (max-width: 1024px) {
  html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
    .method-matters__copy
    > .site-heading-copy
    > h2.site-heading {
    font-size: 38px !important;
  }
}

@media (max-width: 767px) {
  html body:not(.samples-page) .method-matters {
    padding: 36px 0 48px;
  }

  html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
    .method-matters__copy
    > .site-heading-copy
    > h2.site-heading {
    font-size: 32px !important;
  }
}

/* ----- method-inside ----- */
html body:not(.samples-page) .method-inside,
html body:not(.samples-page) main > section.method-inside {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  margin-inline: 0 !important;
  padding: 88px 24px 92px !important;
  background: #f7f9fc;
}

html body:not(.samples-page) .method-inside__inner {
  width: min(1240px, 100%);
  max-width: 1240px;
  margin: 0 auto;
}

html body:not(.samples-page) .method-inside__intro {
  max-width: 760px;
  margin: 0 0 38px;
  text-align: left;
}

html body:not(.samples-page) .method-inside__intro > .site-heading-copy > h2.site-heading,
html body:not(.samples-page) .method-inside__intro h2.site-heading {
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #15182b !important;
  font-size: 42px !important;
  letter-spacing: -0.04em !important;
  line-height: 1.08 !important;
  text-align: left;
  white-space: normal;
}

html body:not(.samples-page) .method-inside__intro p {
  margin: 0 0 6px !important;
  padding: 0 !important;
  color: #5b6475 !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

html body:not(.samples-page)
  .method-inside__intro
  > .site-heading-copy
  > h2.site-heading
  + p,
html body:not(.samples-page)
  .method-inside__intro
  > .site-heading-copy
  > h2.site-heading
  + p:last-of-type {
  margin: 0 0 6px !important;
  padding: 0 !important;
  padding-bottom: 0 !important;
}

html body:not(.samples-page) .method-experience-cards {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch;
  gap: 16px;
  margin-top: 0;
  margin-bottom: 24px;
  padding-inline: 0;
}

html body:not(.samples-page) .method-experience-cards article,
html body:not(.samples-page) .method-experience-cards article:nth-child(2),
html body:not(.samples-page) .method-experience-cards article:nth-child(3),
html body:not(.samples-page) .method-experience-cards article:nth-child(4) {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  column-gap: 11px;
  row-gap: 13px;
  min-height: 142px;
  padding: 22px 21px;
  border: 1px solid #e3e8f0;
  border-radius: 20px;
  background: #fff !important;
  box-shadow: 0 7px 24px rgb(23 27 142 / 4%);
  color: #15182b;
  text-align: left;
  align-items: center;
  align-content: start;
  justify-content: start;
}

html body:not(.samples-page) .method-experience-cards article:hover,
html body:not(.samples-page) .method-experience-cards article:focus-visible {
  border-color: rgb(39 105 208 / 25%);
  background: #fff !important;
  box-shadow: 0 10px 26px rgb(23 27 142 / 6%);
  color: #15182b;
  transform: translateY(-2px);
}

html body:not(.samples-page) .method-experience-cards svg {
  grid-column: 1;
  grid-row: 1;
  width: 26px;
  height: 26px;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: none;
  color: #2769d0;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

html body:not(.samples-page) .method-experience-cards svg [fill="currentColor"] {
  fill: currentColor;
  stroke: none;
}

html body:not(.samples-page) .method-experience-cards h3 {
  grid-column: 2;
  grid-row: 1;
  max-width: none;
  margin: 0;
  color: #171b8e;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.3;
}

html body:not(.samples-page) .method-experience-cards p {
  grid-column: 1 / -1;
  grid-row: 2;
  margin: 0;
  color: #5b6475 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .method-experience-cards
  p {
  font-size: 14px !important;
  line-height: 1.55 !important;
}

html body:not(.samples-page) .method-inside__support {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 27px 30px;
  border: 1px solid rgb(39 105 208 / 15%);
  border-radius: 20px;
  background: #fff;
}

html body:not(.samples-page) .method-inside__support-title,
html body:not(.samples-page) .method-inside__support > p {
  margin: 0 0 18px;
  color: #15182b;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .method-inside__support-title,
html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .method-inside__support
  > p {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

html body:not(.samples-page) .method-inside__support ul,
html body:not(.samples-page) .method-inside__intro ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 28px;
  row-gap: 12px;
  width: auto;
  margin: 0;
  padding: 0;
  list-style: none;
}

html body:not(.samples-page) .method-inside__support li,
html body:not(.samples-page) .method-inside__intro ul li {
  position: relative;
  min-height: 24px;
  margin: 0;
  padding-left: 27px;
  color: #4d5565;
  font-size: 13px;
  line-height: 1.5;
}

html body:not(.samples-page) .method-inside__support li::before,
html body:not(.samples-page) .method-inside__intro ul li::before {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  width: 19px;
  height: 19px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgb(39 105 208 / 10%);
  color: #2769d0;
  content: "✓";
  font-size: 11px;
  font-weight: 800;
}

html body:not(.samples-page) .method-inside:has(.method-inside__support) .method-inside__intro ul {
  display: none;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .method-inside__intro
  h2.site-heading {
  font-size: 42px !important;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .method-inside__intro
  p {
  font-size: 15px !important;
}

@media (max-width: 1024px) {
  html body:not(.samples-page) .method-inside,
  html body:not(.samples-page) main > section.method-inside {
    padding: 72px 24px 78px !important;
  }

  html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
    .method-inside__intro
    h2.site-heading {
    font-size: 38px !important;
  }

  html body:not(.samples-page) .method-experience-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body:not(.samples-page) .method-inside__support ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  html body:not(.samples-page) .method-inside,
  html body:not(.samples-page) main > section.method-inside {
    padding: 56px 20px 62px !important;
  }

  html body:not(.samples-page) .method-inside__intro {
    margin-bottom: 28px;
  }

  html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
    .method-inside__intro
    h2.site-heading {
    margin-bottom: 12px !important;
    font-size: 32px !important;
    line-height: 1.12 !important;
  }

  html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
    .method-inside__intro
    p {
    font-size: 14px !important;
  }

  html body:not(.samples-page) .method-experience-cards {
    gap: 12px;
    margin-bottom: 18px;
  }

  html body:not(.samples-page) .method-experience-cards article,
  html body:not(.samples-page) .method-experience-cards article:nth-child(2),
  html body:not(.samples-page) .method-experience-cards article:nth-child(3),
  html body:not(.samples-page) .method-experience-cards article:nth-child(4) {
    grid-template-columns: 28px minmax(0, 1fr);
    row-gap: 8px;
    min-height: 0;
    padding: 19px 18px;
    border-radius: 18px;
  }

  html body:not(.samples-page) .method-experience-cards svg {
    width: 24px;
    height: 24px;
  }

  html body:not(.samples-page) .method-experience-cards h3 {
    font-size: 16px;
  }

  html body:not(.samples-page) .method-experience-cards p,
  html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
    .method-experience-cards
    p {
    grid-column: 2;
    font-size: 13px !important;
  }

  html body:not(.samples-page) .method-inside__support {
    padding: 22px 19px;
    border-radius: 18px;
  }

  html body:not(.samples-page) .method-inside__support-title,
  html body:not(.samples-page) .method-inside__support > p {
    margin-bottom: 16px;
  }

  html body:not(.samples-page) .method-inside__support ul {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

/* ----- method-audience ----- */
html body:not(.samples-page) .method-audience {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 54px;
  align-items: center;
  padding: 48px 0;
}

html body:not(.samples-page) main > section.method-audience {
  padding: 48px 0 !important;
}

@media (max-width: 620px) {
  html body:not(.samples-page) main > section.method-audience {
    padding: 40px 20px !important;
  }
}

html body:not(.samples-page) .method-audience__start > h2.site-heading {
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: #15182b !important;
  font-size: 42px !important;
  letter-spacing: -0.035em !important;
  line-height: 1.08 !important;
  text-align: left;
}

html body:not(.samples-page) .method-audience p,
html body:not(.samples-page) .method-audience li {
  color: #5b6475;
  font-size: 16px;
  line-height: 1.65;
}

html body:not(.samples-page) .method-audience__start > h2.site-heading + p {
  margin: 0 0 40px !important;
  padding: 0 !important;
}

html body:not(.samples-page) .method-audience__start a.button {
  display: inline-flex !important;
  width: fit-content !important;
  min-width: min(14rem, 100%) !important;
  min-height: 3.25rem !important;
  margin: 0 auto 0 0 !important;
  padding: 0.75rem 1.5rem !important;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
}

html body:not(.samples-page) .method-audience__list {
  padding: 30px;
  border: 1px solid #e3e8f0;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 8px 28px rgb(23 27 142 / 6%);
}

html body:not(.samples-page) .method-audience__list p {
  margin: 0 0 12px;
  color: #15182b;
  font-weight: 700;
}

html body:not(.samples-page) .method-audience__list ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

html body:not(.samples-page) .method-audience__list li {
  position: relative;
  margin: 8px 0;
  padding-left: 22px;
}

html body:not(.samples-page) .method-audience__list li::before {
  position: absolute;
  left: 0;
  color: #2769d0;
  content: "✓";
  font-weight: 800;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .method-audience__start
  > h2.site-heading {
  font-size: 42px !important;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .method-audience
  p {
  font-size: 16px !important;
}

html body:not(.samples-page) .method-overview {
  padding-bottom: 0;
}

/* Below 620px a global rule forces sections full-bleed, which leaves the
   blocks inside the overview touching the screen edges. */
@media (max-width: 620px) {
  html body:not(.samples-page) .method-overview {
    padding-inline: 20px;
  }
}

html body:not(.samples-page) main > section.method-faqs {
  width: min(var(--method-max), calc(100% - 48px));
  max-width: 100%;
  margin-inline: auto;
}

/* ----- method-comparison ----- */
html body:not(.samples-page) main > section.method-comparison {
  left: auto !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  margin-inline: 0 !important;
  padding: 88px 24px !important;
  border-radius: 0;
  background: #f7f9fc;
}

html body:not(.samples-page) .method-comparison__inner {
  width: min(1240px, 100%);
  max-width: 1240px;
  margin: 0 auto;
}

html body:not(.samples-page) .method-comparison h2.site-heading,
html body:not(.samples-page) .method-comparison > h2.site-heading,
html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .method-comparison
  h2.site-heading {
  max-width: 780px;
  margin: 0 0 34px !important;
  padding: 0 !important;
  color: #15182b !important;
  font-size: clamp(32px, 4vw, 48px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.08 !important;
  text-align: left;
}

html body:not(.samples-page) .method-comparison__columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
  max-width: none;
  margin: 0;
}

html body:not(.samples-page) .method-comparison__columns > div {
  padding: 30px;
  border: 1px solid #e3e8f0;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 8px 28px rgb(23 27 142 / 6%);
}

html body:not(.samples-page) .method-comparison__columns h3 {
  margin: 0 0 9px;
  color: #15182b;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

html body:not(.samples-page) .method-comparison__columns ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

html body:not(.samples-page) .method-comparison__columns li {
  position: relative;
  margin: 8px 0;
  padding-left: 22px;
  color: #5b6475;
  font-size: 16px;
  line-height: 1.58;
}

html body:not(.samples-page) .method-comparison__columns li::before {
  position: absolute;
  left: 0;
  color: #2769d0;
  content: "\2713";
  font-weight: 800;
}

/* ----- method-track ----- */
html body:not(.samples-page) .method-track,
html body:not(.samples-page) main > section.method-track {
  left: auto !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  margin-left: 0 !important;
  margin-inline: 0 !important;
  padding: 84px 24px 88px !important;
  border-radius: 0;
  background: #2769d0 !important;
  color: #fff;
}

html body:not(.samples-page) .method-track__inner {
  width: min(1240px, 100%);
  max-width: 1240px;
  margin: 0 auto;
}

html body:not(.samples-page) .method-track__head {
  max-width: 880px;
  margin: 0 0 28px;
  text-align: left;
}

html body:not(.samples-page) .method-track h2,
html body:not(.samples-page) .method-track h2.site-heading,
html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .method-track
  h2.site-heading {
  max-width: 880px;
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: clamp(32px, 4vw, 48px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.08 !important;
  text-align: left;
  white-space: normal !important;
}

html body:not(.samples-page) .method-track p,
html body:not(.samples-page) .method-track h2.site-heading + p,
html body:not(.samples-page) .method-track h2.site-heading + p + p {
  max-width: 880px;
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: rgb(255 255 255 / 88%) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
  text-align: left;
}

html body:not(.samples-page) .method-track ul {
  width: auto;
  max-width: 760px;
  margin: 22px 0 28px;
  padding: 0;
  list-style: none;
}

html body:not(.samples-page) .method-track li {
  position: relative;
  margin: 8px 0;
  padding-left: 22px;
  color: #fff;
  font-size: 16px;
}

html body:not(.samples-page) .method-track li::before {
  position: absolute;
  left: 0;
  color: #fff;
  content: "\2713";
  font-weight: 800;
}

html body:not(.samples-page) .method-track a.button,
html body:not(.samples-page) .method-track a {
  display: inline-flex !important;
  width: fit-content !important;
  min-height: 50px;
  margin: 0 !important;
  padding: 12px 24px;
  align-items: center;
  justify-content: center;
  border: 1px solid #fff !important;
  border-radius: 999px;
  background: #fff !important;
  color: #171b8e !important;
  font-size: 15px;
  font-weight: 700;
}

html body:not(.samples-page) .method-track a.button:hover,
html body:not(.samples-page) .method-track a:hover {
  background: rgb(255 255 255 / 92%) !important;
  border-color: rgb(255 255 255 / 92%) !important;
  color: #171b8e !important;
}

/* ----- md-bar ----- */
html body:not(.samples-page) .md-bar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 16px;
  padding: 48px 0;
}

html body:not(.samples-page) .md-bar article {
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr);
  column-gap: 11px;
  row-gap: 8px;
  min-height: 164px;
  height: 100%;
  padding: 20px;
  border: 1px solid #e3e8f0;
  border-top: 1px solid #e3e8f0;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 6px 20px rgb(8 12 70 / 7%);
  align-items: center;
}

html body:not(.samples-page) .md-bar .md-ico {
  grid-column: 1;
  grid-row: 1;
  width: 27px;
  height: 27px;
  margin: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: #171b8e;
}

html body:not(.samples-page) .md-bar .md-ico svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

html body:not(.samples-page) .md-bar h3 {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  color: #15182b;
  font-size: 15.5px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.2;
}

html body:not(.samples-page) .md-bar p {
  grid-column: 2;
  grid-row: 2;
  margin: 0;
  color: #5b6475 !important;
  font-size: 14px !important;
  line-height: 1.42 !important;
}

/* ----- md-split (layout kept; single image, no carousel) ----- */
html body:not(.samples-page) .md-split {
  gap: 54px;
}

html body:not(.samples-page) .md-split__media,
html body:not(.samples-page) .md-split .md-slider {
  position: relative;
  overflow: hidden;
  aspect-ratio: auto;
  width: 100%;
  max-width: none;
  min-height: 340px;
  margin: 0;
  border-radius: 32px;
  background: #dce7f7;
}

html body:not(.samples-page) .md-split__media img,
html body:not(.samples-page) .md-split .md-slider img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 340px;
  object-fit: cover;
  opacity: 1;
}

html body:not(.samples-page) .md-split .md-slider-btn,
html body:not(.samples-page) .md-split .md-slider-dots {
  display: none !important;
}

/* ----- md-why ----- */
html body:not(.samples-page) .md-why {
  padding: 88px 24px 92px !important;
  background: #2769d0 !important;
  color: #fff !important;
}

html body:not(.samples-page) .md-why h2,
html body:not(.samples-page) .md-why h2.site-heading {
  margin: 0 0 18px !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: 46px !important;
  letter-spacing: -0.045em !important;
  line-height: 1.07 !important;
}

html body:not(.samples-page) .md-why p {
  color: rgb(255 255 255 / 88%) !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

html body:not(.samples-page) .md-why-top {
  max-width: 900px;
  margin: 0 0 42px;
}

html body:not(.samples-page) .md-why-top p strong {
  color: #fff !important;
  font-weight: 700 !important;
}

html body:not(.samples-page) .md-why-feel {
  display: block;
  margin: 0 0 16px;
  border: 0;
  background: transparent;
}

html body:not(.samples-page) .md-why-feel p,
html body:not(.samples-page) .md-why-feel p + p {
  display: inline;
  padding: 0;
  border: 0;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 700 !important;
}

html body:not(.samples-page) .md-why-feel p + p::before {
  content: ", ";
  font-weight: 700;
}

html body:not(.samples-page) .md-why-feel p:last-child::after {
  content: ".";
}

html body:not(.samples-page) .md-why-lead {
  margin: 0 0 24px;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

html body:not(.samples-page) .md-why-items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 64px;
  row-gap: 15px;
}

html body:not(.samples-page) .md-why-items li {
  position: relative;
  min-height: 24px;
  margin: 0;
  padding: 0 0 0 30px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgb(255 255 255 / 92%) !important;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}

html body:not(.samples-page) .md-why-items li::before {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgb(255 255 255 / 14%);
  color: #fff;
  content: "✓";
  font-size: 11px;
  font-weight: 800;
}

html body:not(.samples-page) .md-why-end,
html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .md-why
  .md-why-end {
  max-width: 760px;
  margin-top: 38px;
  padding-top: 0;
  border: 0;
  color: #fff !important;
  font-size: 25px !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em;
  line-height: 1.35 !important;
}

html body:not(.samples-page) .md-why-end strong {
  color: #fff !important;
  font-weight: 700;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .md-why
  h2.site-heading {
  font-size: 46px !important;
  color: #fff !important;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .md-why
  p {
  color: rgb(255 255 255 / 88%) !important;
}

/* ----- md-philosophy ----- */
html body:not(.samples-page) main.md-page > section.md-philosophy {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 54px;
  align-items: center;
  padding: 88px 0 !important;
  background: #fff;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .md-philosophy
  h2.site-heading {
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: #15182b !important;
  font-size: 48px !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.08 !important;
}

html body:not(.samples-page) .md-feature-card {
  display: block;
  width: 100%;
  min-height: 340px;
  height: 100%;
  margin: 0;
  border-radius: 32px;
  object-fit: cover;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .md-philosophy
  p {
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: #5b6475 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .md-philosophy
  h3.md-quote,
html body:not(.samples-page) .md-philosophy .md-quote {
  margin: 0 !important;
  padding: 0 !important;
  color: #171b8e !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.2 !important;
}

@media (max-width: 1023px) {
  html body:not(.samples-page) main.md-page > section.md-philosophy {
    grid-template-columns: 1fr !important;
    padding: 72px 0 !important;
  }
}

@media (max-width: 900px) {
  html body:not(.samples-page) main.md-page > section.md-philosophy {
    gap: 28px !important;
  }
}

@media (max-width: 767px) {
  html body:not(.samples-page) main.md-page > section.md-philosophy {
    padding: 56px 20px !important;
  }

  html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
    .md-philosophy
    h2.site-heading {
    font-size: 32px !important;
  }
}

/* ----- md-who ----- */
html body:not(.samples-page) main.md-page > section.md-who,
html body:not(.samples-page) .md-page > .md-who {
  padding: 88px 0 !important;
  background: #f7f9fc !important;
}

html body:not(.samples-page) .md-who-layout {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 54px;
  align-items: stretch;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .md-who-layout
  h2.site-heading {
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: #15182b !important;
  font-size: 48px !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.08 !important;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .md-who-layout
  > div
  > p:not(.md-who-note) {
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: #15182b !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

html body:not(.samples-page) .md-who-items {
  display: block !important;
  margin: 0;
  padding: 0;
  list-style: none;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .md-who-items
  li {
  position: relative;
  margin: 8px 0;
  padding: 0 0 0 22px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #15182b !important;
  font-size: 16px !important;
  line-height: 1.58 !important;
}

html body:not(.samples-page) .md-who-items li::before {
  position: absolute;
  left: 0;
  color: #2769d0;
  content: "\2713";
  font-weight: 800;
}

html body:not(.samples-page) .md-who__media {
  overflow: hidden;
  height: 100%;
  min-height: 340px;
  margin: 0;
  border-radius: 32px;
  background: #dce7f7;
}

html body:not(.samples-page) .md-who-layout img,
html body:not(.samples-page) .md-who__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 340px;
  border-radius: 32px;
  object-fit: cover;
  box-shadow: none;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .md-who
  p.md-who-note {
  max-width: none;
  margin: 16px 0 0 !important;
  padding: 0 !important;
  border: 0;
  color: #6f7687 !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
}

@media (max-width: 1023px) {
  html body:not(.samples-page) main.md-page > section.md-who {
    padding: 72px 0 !important;
  }

  html body:not(.samples-page) .md-who-layout {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
}

@media (max-width: 767px) {
  html body:not(.samples-page) main.md-page > section.md-who {
    padding: 56px 0 !important;
  }

  html body:not(.samples-page) .md-who-layout {
    width: min(100% - 40px, var(--md-max)) !important;
  }

  html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
    .md-who-layout
    h2.site-heading {
    font-size: 32px !important;
  }
}

/* ----- md-cards-wrap: desktop 3×2, tablet/mobile 2×3; mobile titles only ----- */
html body:not(.samples-page) .md-cards-wrap,
html body:not(.samples-page) main > section.md-cards-wrap,
html body:not(.samples-page) .md-page > .md-cards-wrap {
  padding: 76px 0 82px !important;
  background: #f7f9fc;
}

html body:not(.samples-page) .md-cards-wrap h2.site-heading {
  max-width: 900px;
  margin: 0 0 32px !important;
  padding: 0 !important;
  color: #15182b !important;
  font-size: 40px !important;
  text-align: left;
}

html body:not(.samples-page) .md-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: 1fr;
  gap: 16px;
}

html body:not(.samples-page) .md-cards article {
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr);
  column-gap: 11px;
  row-gap: 9px;
  min-height: 168px;
  padding: 20px;
  border: 1px solid #e3e8f0;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 6px 20px rgb(8 12 70 / 6%);
  align-items: center;
}

html body:not(.samples-page) .md-cards .md-ico {
  grid-column: 1;
  grid-row: 1;
  width: 27px;
  height: 27px;
  margin: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: #171b8e;
}

html body:not(.samples-page) .md-cards .md-ico svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

html body:not(.samples-page) .md-cards h3 {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  color: #15182b;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.2;
}

html body:not(.samples-page) .md-cards p {
  grid-column: 2;
  grid-row: 2;
  margin: 0;
  color: #5b6475 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .md-cards-wrap
  h2.site-heading {
  font-size: 40px !important;
}

@media (max-width: 1023px) {
  html body:not(.samples-page) .glp-help__top,
  html body:not(.samples-page) .method-matters,
  html body:not(.samples-page) .method-audience,
  html body:not(.samples-page) .md-split,
  html body:not(.samples-page) .md-philosophy,
  html body:not(.samples-page) .md-who-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  html body:not(.samples-page) .glp-help__cards,
  html body:not(.samples-page) .method-cards,
  html body:not(.samples-page) .method-experience-cards,
  html body:not(.samples-page) .method-comparison__columns,
  html body:not(.samples-page) .md-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body:not(.samples-page) .md-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body:not(.samples-page) .method-inside__support ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
    .md-why
    h2.site-heading {
    font-size: 40px !important;
  }

  html body:not(.samples-page) .glp-help__media img,
  html body:not(.samples-page) .glp-review__media img,
  html body:not(.samples-page) .glp-review__card > img,
  html body:not(.samples-page) .md-split__media img,
  html body:not(.samples-page) .md-feature-card,
  html body:not(.samples-page) .md-who-layout img {
    min-height: 280px;
  }

  html body:not(.samples-page) .glp-not__panel,
  html body:not(.samples-page) .glp-look__inner {
    padding: 28px 22px;
  }

  html body:not(.samples-page) .glp-review,
  html body:not(.samples-page) main > section.glp-review {
    padding: 68px 24px 74px !important;
  }

  html body:not(.samples-page) .glp-review__panel {
    grid-template-columns: minmax(250px, 0.78fr) minmax(0, 1.22fr);
    gap: 32px;
    padding: 28px;
  }

  html body:not(.samples-page) .glp-review__media,
  html body:not(.samples-page) .glp-review__media img,
  html body:not(.samples-page) .glp-review__card > img {
    min-height: 400px;
  }

  html body:not(.samples-page) .glp-review__includes ul {
    grid-template-columns: 1fr;
    gap: 11px;
  }

  html body:not(.samples-page) .glp-paths,
  html body:not(.samples-page) main > section.glp-paths,
  html body:not(.samples-page) main > section.glp-paths:has(> .glp-paths__inner) {
    padding: 68px 24px 74px !important;
  }

  html body:not(.samples-page) .glp-paths .glp-path-card__top {
    height: 220px;
  }

  html body:not(.samples-page) .glp-paths .glp-path-card__img {
    max-height: 185px;
  }

  html body:not(.samples-page) .glp-paths .glp-path-card__body {
    padding: 21px;
  }

  html body:not(.samples-page) .hiw-final-cta,
  html body:not(.samples-page) main > section.hiw-final-cta {
    padding: 72px 24px !important;
  }

  html body:not(.samples-page) .method-track,
  html body:not(.samples-page) main > section.method-track {
    padding: 72px 24px 76px !important;
  }

  html body:not(.samples-page) .hiw-final-cta__actions {
    flex-wrap: wrap;
  }
}

@media (max-width: 767px) {
  html body:not(.samples-page) main > section.method-comparison {
    padding: 56px 20px !important;
  }

  html body:not(.samples-page) .method-comparison__columns > div {
    padding: 22px;
  }

  html body:not(.samples-page) .method-comparison h2.site-heading {
    margin-bottom: 24px !important;
  }
}

@media (max-width: 700px) {
  html body:not(.samples-page) .method-track,
  html body:not(.samples-page) main > section.method-track {
    padding: 56px 20px 60px !important;
  }

  html body:not(.samples-page) .method-track__head {
    margin-bottom: 24px;
  }

  html body:not(.samples-page) .method-track ul {
    margin-top: 18px;
    margin-bottom: 24px;
  }

  html body:not(.samples-page) .method-track a.button,
  html body:not(.samples-page) .method-track a {
    width: 100% !important;
    min-height: 50px;
  }
}

@media (max-width: 767px) {
  html body:not(.samples-page) .glp-help__cards,
  html body:not(.samples-page) .method-cards,
  html body:not(.samples-page) .method-experience-cards,
  html body:not(.samples-page) .method-comparison__columns,
  html body:not(.samples-page) .md-bar {
    grid-template-columns: 1fr !important;
  }

  html body:not(.samples-page) .md-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px;
  }

  html body:not(.samples-page) .md-cards article {
    padding: 18px 14px;
  }

  html body:not(.samples-page) .md-cards .md-ico {
    width: 24px;
    height: 24px;
    margin: 0;
  }

  html body:not(.samples-page) .md-cards article {
    min-height: 0;
    row-gap: 0;
  }

  html body:not(.samples-page) .md-why-items,
  html body:not(.samples-page) .method-inside__support ul {
    grid-template-columns: 1fr;
  }

  html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
    .md-why
    h2.site-heading {
    font-size: 34px !important;
  }

  html body:not(.samples-page) .md-cards h3 {
    margin: 0;
    font-size: 15px;
    line-height: 1.25;
  }

  html body:not(.samples-page) .md-cards article > p {
    display: none !important;
  }

  html body:not(.samples-page) .glp-paths,
  html body:not(.samples-page) main > section.glp-paths,
  html body:not(.samples-page) main > section.glp-paths:has(> .glp-paths__inner) {
    padding: 54px 20px 60px !important;
  }

  html body:not(.samples-page) .glp-paths__intro {
    margin-bottom: 32px;
  }

  html body:not(.samples-page) .glp-paths__cards {
    grid-template-columns: 1fr !important;
    gap: 16px;
  }

  html body:not(.samples-page) .glp-paths .glp-path-card {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    border-radius: 20px;
  }

  html body:not(.samples-page) .glp-paths .glp-path-card__top {
    width: 120px;
    height: auto;
    min-height: 190px;
    padding: 20px 12px;
    border-radius: 20px 0 0 20px;
  }

  html body:not(.samples-page) .glp-paths .glp-path-card__img {
    max-width: 100%;
    max-height: 160px;
  }

  html body:not(.samples-page) .glp-paths .glp-path-card__body {
    padding: 20px 18px;
  }

  html body:not(.samples-page) .glp-paths .glp-path-card__body h3 {
    font-size: 19px;
  }

  html body:not(.samples-page) .glp-paths .glp-paths__cta {
    margin-top: 28px;
  }

  html body:not(.samples-page) .glp-paths .glp-paths__cta .button {
    width: min(360px, 100%) !important;
  }

  html body:not(.samples-page) .glp-review,
  html body:not(.samples-page) main > section.glp-review {
    padding: 54px 20px 60px !important;
  }

  html body:not(.samples-page) .glp-review__panel {
    grid-template-columns: 1fr;
    gap: 26px;
    padding: 20px;
    border-radius: 22px;
  }

  html body:not(.samples-page) .glp-review__media,
  html body:not(.samples-page) .glp-review__media img,
  html body:not(.samples-page) .glp-review__card > img {
    min-height: 0;
    aspect-ratio: 1.25 / 1;
    border-radius: 18px;
  }

  html body:not(.samples-page) .glp-review__content {
    padding: 0;
  }

  html body:not(.samples-page) .glp-review__includes ul {
    grid-template-columns: 1fr;
  }

  html body:not(.samples-page) .glp-review__important {
    align-items: flex-start;
    text-align: left;
  }

  html body:not(.samples-page) .method-matters__gallery {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    gap: 12px;
  }

  html body:not(.samples-page) .method-matters__image,
  html body:not(.samples-page) .method-matters__image--main {
    grid-row: auto;
    min-height: 220px;
    aspect-ratio: 16 / 10;
  }

  html body:not(.samples-page) .hiw-final-cta,
  html body:not(.samples-page) main > section.hiw-final-cta {
    padding: 56px 20px !important;
  }

  html body:not(.samples-page) .hiw-final-cta__actions {
    flex-direction: column;
    align-items: stretch;
    margin-top: 28px;
  }

  html body:not(.samples-page) .hiw-final-cta__actions > .button {
    width: 100% !important;
  }
}


/* ==========================================================================
   CONTROLRX-42 part 2 — V2 samples-page copies
   Tokens: navy #171b8e, sky #2769d0, text #15182b, muted #5b6475,
   surface #f7f9fc, border #e3e8f0, radius 24px
   ========================================================================== */

/* ----- hiw-final-cta ----- */
html body .samples-v2 .hiw-final-cta {
  padding: 88px 24px !important;
  background: #2769d0 !important;
  text-align: center;
  color: #fff;
}

html body .samples-v2 .hiw-final-cta__inner {
  width: min(760px, 100%);
  margin: 0 auto;
  padding: 0;
}

html body .samples-v2 .hiw-final-cta h2,
html body .samples-v2 .hiw-final-cta h2.site-heading {
  margin: 0 0 18px !important;
  padding: 0 !important;
  color: #fff !important;
  text-align: center;
}

html body .samples-v2 .hiw-final-cta > p,
html body .samples-v2 .hiw-final-cta__inner > p {
  max-width: 700px;
  margin: 0 auto;
  color: rgb(255 255 255 / 88%) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

html body .samples-v2 .hiw-final-cta__actions {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center !important;
  gap: 12px !important;
  margin-top: 32px;
}

html body .samples-v2 .hiw-final-cta .button--light {
  border-color: #fff !important;
  background: #fff !important;
  color: #171b8e !important;
}

html body .samples-v2 .hiw-final-cta .button--light:hover {
  border-color: #fff !important;
  background: #f7f9fc !important;
  color: #171b8e !important;
}

html body .samples-v2 .hiw-final-cta .button--outline {
  border-color: rgb(255 255 255 / 65%) !important;
  background: transparent !important;
  color: #fff !important;
}

html body .samples-v2 .hiw-final-cta .button--outline:hover {
  border-color: #fff !important;
  background: rgb(255 255 255 / 10%) !important;
  color: #fff !important;
}

/* ----- glp-hero (reusable editorial block, not a page hero) ----- */
html body .samples-v2 .glp-hero {
  min-height: 0 !important;
  overflow: visible;
  background: #fff !important;
}

html body .samples-v2 .glp-hero__band {
  display: none !important;
}

html body .samples-v2 .glp-hero__inner,
html body .samples-v2 .glp-hero__shell {
  display: block;
  width: min(1240px, calc(100% - 48px));
  min-height: 0 !important;
  margin: 0 auto;
  padding: 0;
}

html body .samples-v2 .glp-hero__header,
html body .samples-v2 .glp-hero__inner > h1,
html body .samples-v2 .glp-hero__inner > .site-heading {
  max-width: 920px;
  margin: 0 0 28px;
}

html body .samples-v2 .glp-hero h1,
html body .samples-v2 .glp-hero h1.site-heading {
  max-width: 920px;
  margin: 0 0 28px;
  color: #15182b !important;
  font-size: clamp(32px, 4vw, 48px) !important;
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.08 !important;
  text-align: left;
}

html body .samples-v2 .glp-hero__split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 54px;
  align-items: center;
}

html body .samples-v2 .glp-hero__copy,
html body .samples-v2 .glp-hero__content {
  display: block;
  max-width: none;
  padding: 0;
  color: #5b6475;
  text-align: left;
}

html body .samples-v2 .glp-hero__copy p,
html body .samples-v2 .glp-hero__content p {
  max-width: none;
  margin: 0 0 16px;
  color: #5b6475 !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

html body .samples-v2 .glp-hero__copy p:last-child,
html body .samples-v2 .glp-hero__content p:last-of-type {
  margin-bottom: 0;
}

html body .samples-v2 .glp-hero__media {
  min-height: 340px;
  overflow: hidden;
  border-radius: 32px;
  background: #dce7f7;
}

html body .samples-v2 .glp-hero__media > img {
  width: 100%;
  height: 100%;
  min-height: 340px;
  object-fit: cover;
  border-radius: 32px;
  box-shadow: none;
}

html body .samples-v2 .glp-hero__cta,
html body .samples-v2 .glp-hero__actions {
  display: flex !important;
  justify-content: flex-start !important;
  margin-top: 32px;
}

html body .samples-v2 .glp-hero__cta > .button,
html body .samples-v2 .glp-hero__actions > .button {
  margin: 0 !important;
}

/* ----- glp-help ----- */
html body .samples-v2 .glp-help {
  background: #fff;
}

html body .samples-v2 .glp-help__top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 54px;
  align-items: center;
  margin-bottom: 32px;
}

html body .samples-v2 .glp-help__intro p {
  color: #5b6475 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

html body .samples-v2 .glp-help__media {
  min-height: 340px;
  border-radius: 32px;
  box-shadow: none;
}

html body .samples-v2 .glp-help__media img {
  height: 100%;
  min-height: 340px;
  object-fit: cover;
  border-radius: 32px;
}

html body .samples-v2 .glp-help__cards {
  gap: 24px;
}

html body .samples-v2 .glp-help-card {
  padding: 30px;
  border: 1px solid #e3e8f0;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 8px 28px rgb(23 27 142 / 6%);
}

html body .samples-v2 .glp-help-card__icon {
  display: none;
}

html body .samples-v2 .glp-help-card h3 {
  margin: 0 0 9px;
  color: #15182b;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

html body .samples-v2 .glp-help-card p {
  margin: 0;
  color: #5b6475 !important;
  font-size: 15px !important;
  line-height: 1.58 !important;
}

html body .samples-v2 .glp-help__note {
  margin-top: 18px;
  color: #6f7687 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

/* ----- glp-not ----- */
html body .samples-v2 .glp-not,
html body .samples-v2 section.glp-not {
  left: auto !important;
  width: 100% !important;
  margin-left: 0 !important;
  padding: 72px 24px !important;
  background: #f7f9fc !important;
  color: #15182b !important;
}

html body .samples-v2 .glp-not__panel {
  max-width: 850px;
  padding: 46px;
  border: 1px solid #e3e8f0;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 8px 28px rgb(23 27 142 / 6%);
  color: #15182b;
  text-align: center;
}

html body .samples-v2 .glp-not__panel h2,
html body .samples-v2 .glp-not__panel h2.site-heading,
html body:not(.portal-page):not(.admin-page):not(.admin-login-page) .samples-v2
  .glp-not__panel
  h2.site-heading {
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: #15182b !important;
  text-align: center;
}

html body .samples-v2 .glp-not .glp-not__panel p,
html body .samples-v2 .glp-not__panel > h2.site-heading + p,
html body .samples-v2 .glp-not__panel > h2.site-heading + p + p,
html body .samples-v2 .glp-not__panel > h2.site-heading + p + p + p,
html body .samples-v2 .glp-not__panel > h2.site-heading + p + p + p + p {
  color: #5b6475 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  text-align: center;
}

/* ----- glp-paths-reveal (always-visible cards) ----- */
html body .samples-v2 .glp-paths--reveal {
  padding: 84px 24px 88px !important;
  background: #fff !important;
}

html body .samples-v2 .glp-paths--reveal .glp-paths__inner {
  width: min(1240px, 100%);
  margin: 0 auto;
  padding: 0 !important;
}

html body .samples-v2 .glp-paths--reveal .glp-paths__intro {
  max-width: 760px;
  margin: 0 auto 44px;
  padding: 0 !important;
  text-align: center;
}

html body .samples-v2 .glp-paths--reveal .glp-paths__intro > h2.site-heading {
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #15182b !important;
  text-align: center;
}

html body .samples-v2 .glp-paths--reveal .glp-paths__intro > h2.site-heading + p {
  max-width: 690px;
  margin: 0 auto !important;
  padding: 0 !important;
  color: #5b6475 !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

html body .samples-v2 .glp-paths--reveal .glp-paths__cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px;
}

html body .samples-v2 .glp-paths--reveal .glp-path-card,
html body .samples-v2 .glp-paths--reveal .glp-path-card--reveal {
  display: flex !important;
  min-height: 100%;
  flex-direction: column;
  gap: 0;
  overflow: hidden;
  padding: 0;
  border: 1px solid #e3e8f0;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 8px 28px rgb(23 27 142 / 5.5%);
  cursor: default;
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

@media (hover: hover) and (pointer: fine) {
  html body .samples-v2 .glp-paths--reveal .glp-path-card:hover {
    border-color: rgb(39 105 208 / 28%);
    box-shadow: 0 12px 32px rgb(23 27 142 / 7.5%);
    transform: translateY(-3px);
  }
}

html body .samples-v2 .glp-paths--reveal .glp-path-card__top {
  display: flex;
  height: 250px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-height: 0 !important;
  padding: 24px 24px 14px;
  border-radius: 0;
  background: #f3f6fc;
}

html body .samples-v2 .glp-paths--reveal .glp-path-card__img {
  width: auto;
  max-width: 90%;
  height: auto !important;
  max-height: 210px;
  object-fit: contain;
  background: transparent;
}

html body .samples-v2 .glp-paths--reveal .glp-path-card__body {
  position: relative !important;
  inset: auto !important;
  display: flex !important;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0;
  padding: 24px 24px 26px !important;
  background: transparent !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

html body .samples-v2 .glp-paths--reveal .glp-path-card__body h3 {
  margin: 0 0 10px;
  color: #15182b;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.25;
}

html body .samples-v2 .glp-paths--reveal .glp-path-card__body p {
  margin: 0 0 18px;
  color: #4d5565 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

html body .samples-v2 .glp-paths--reveal .glp-path-card__best {
  margin: auto 0 0;
  padding-top: 16px;
  border-top: 1px solid #e3e8f0;
  color: #6b7382 !important;
  font-size: 13px !important;
  font-weight: 400;
}

html body .samples-v2 .glp-paths--reveal .glp-path-card__best strong {
  display: block;
  margin-bottom: 4px;
  color: #171b8e;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

html body .samples-v2 .glp-paths--reveal .glp-paths__cta {
  margin-top: 36px;
  text-align: center;
}

/* ----- glp-review ----- */
html body .samples-v2 .glp-review {
  padding: 84px 24px 88px !important;
  background: #fff !important;
}

html body .samples-v2 .glp-review__inner {
  display: block;
  width: min(1240px, 100%);
  margin: 0 auto;
  padding: 0 !important;
}

html body .samples-v2 .glp-review__header {
  max-width: 760px;
  margin: 0 auto 42px;
  text-align: center;
}

html body .samples-v2 .glp-review__header > h2.site-heading {
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #15182b !important;
  text-align: center;
}

html body .samples-v2 .glp-review__header p {
  margin: 0;
  color: #5b6475 !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  text-align: center;
}

html body .samples-v2 .glp-review__panel {
  display: grid;
  grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.28fr);
  gap: 48px;
  align-items: stretch;
  padding: 34px;
  border-radius: 28px;
  background: #2769d0;
}

html body .samples-v2 .glp-review__media,
html body .samples-v2 .glp-review__card {
  min-height: 430px;
  overflow: hidden;
  margin: 0;
  border-radius: 22px;
  background: #fff;
}

html body .samples-v2 .glp-review__media img,
html body .samples-v2 .glp-review__card > img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: cover;
  border-radius: 22px;
}

html body .samples-v2 .glp-review__content {
  display: flex;
  max-width: none;
  flex-direction: column;
  justify-content: center;
  padding: 12px 8px 12px 0;
}

html body .samples-v2 .glp-review__content > p {
  max-width: 680px;
  margin: 0 0 15px;
  color: rgb(255 255 255 / 90%) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

html body .samples-v2 .glp-review__includes,
html body .samples-v2 .glp-review__card-body {
  margin-top: 18px;
  padding: 0;
  background: transparent;
}

html body .samples-v2 .glp-review__includes h3,
html body .samples-v2 .glp-review__card-body h3 {
  margin: 0 0 18px;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.3;
}

html body .samples-v2 .glp-review__includes ul,
html body .samples-v2 .glp-review__card ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 34px;
  row-gap: 13px;
  margin: 0;
  padding: 0;
  list-style: none;
}

html body .samples-v2 .glp-review__includes li,
html body .samples-v2 .glp-review__card li {
  position: relative;
  min-height: 24px;
  margin: 0;
  padding-left: 29px;
  color: rgb(255 255 255 / 95%);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
}

html body .samples-v2 .glp-review__includes li::before,
html body .samples-v2 .glp-review__card li::before {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #171b8e;
  color: #fff;
  content: "✓";
  font-size: 11px;
  font-weight: 700;
}

html body .samples-v2 .glp-review__important {
  display: flex;
  max-width: 760px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 22px auto 0;
  padding: 15px 20px;
  border: 1px solid rgb(39 105 208 / 24%);
  border-radius: 16px;
  background: #fff;
  color: #5b6475 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  text-align: center;
}

html body .samples-v2 .glp-review__important::before {
  display: flex;
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgb(39 105 208 / 10%);
  color: #171b8e;
  content: "i";
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
}

html body .samples-v2 .glp-review__important strong {
  color: #15182b;
}

/* ----- glp-look ----- */
html body .samples-v2 .glp-look,
html body .samples-v2 section.glp-look {
  padding: 84px 24px 88px !important;
  background: #fff !important;
}

html body .samples-v2 .glp-look__inner {
  width: min(980px, 100%);
  margin: 0 auto;
  padding: 44px 48px;
  border: 1px solid #e3e8f0;
  border-radius: 28px;
  background: #f7f9fc;
  box-shadow: 0 8px 28px rgb(23 27 142 / 5%);
  text-align: left;
}

html body .samples-v2 .glp-look__intro > h2.site-heading,
html body .samples-v2 .glp-look__intro > h2.site-heading:has(+ p) {
  width: auto !important;
  max-width: none !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: #15182b !important;
  font-size: 40px !important;
  letter-spacing: -0.04em !important;
  line-height: 1.08 !important;
  white-space: normal !important;
}

html body .samples-v2 .glp-look__intro p,
html body .samples-v2 .glp-look__close p {
  max-width: 780px;
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #4d5565 !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

html body .samples-v2 .glp-look__list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 42px;
  row-gap: 13px;
  margin: 26px 0 28px;
  padding: 0 !important;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

html body .samples-v2 .glp-look__list li {
  position: relative;
  display: flex;
  min-height: 25px;
  margin: 0;
  padding: 0 0 0 30px;
  align-items: flex-start;
  color: #3f4758;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
}

html body .samples-v2 .glp-look__list li::before {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #2769d0;
  color: #fff;
  content: "✓";
  font-size: 11px;
  font-weight: 700;
}

html body .samples-v2 .glp-look__close {
  margin-top: 6px;
  padding-top: 24px;
  border-top: 1px solid #e3e8f0;
}

html body .samples-v2 .glp-look__close p:first-child {
  color: #15182b !important;
  font-weight: 700 !important;
}

html body .samples-v2 .glp-look__close p:last-child {
  width: auto;
  margin-bottom: 0 !important;
  white-space: normal;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page) .samples-v2
  .glp-look__intro
  > h2.site-heading {
  font-size: 40px !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page) .samples-v2
  .glp-look__intro
  p,
html body:not(.portal-page):not(.admin-page):not(.admin-login-page) .samples-v2
  .glp-look__close
  p {
  font-size: 15px !important;
}

@media (max-width: 900px) {
  html body .samples-v2 .glp-look__inner {
    padding: 38px 36px;
    border-radius: 24px;
  }

  html body:not(.portal-page):not(.admin-page):not(.admin-login-page) .samples-v2
    .glp-look__intro
    > h2.site-heading {
    font-size: 36px !important;
  }

  html body .samples-v2 .glp-look__list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  html body .samples-v2 .glp-look,
  html body .samples-v2 section.glp-look {
    padding: 54px 20px 60px !important;
  }

  html body .samples-v2 .glp-look__inner {
    padding: 28px 22px;
  }
}

/* ----- method-overview ----- */
html body .samples-v2 .method-overview {
  padding: 86px 24px 92px;
}

html body .samples-v2 .method-overview__eyebrow {
  margin: 0 0 12px;
  color: #2769d0;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.015em;
  line-height: 1.25;
  text-align: left;
  text-transform: none;
}

html body .samples-v2 .method-overview__framework {
  max-width: none;
  margin: 0 0 36px !important;
  text-align: left !important;
}

html body .samples-v2 .method-overview__framework > h2.site-heading {
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #15182b !important;
  font-size: 42px !important;
  letter-spacing: -0.045em;
  line-height: 1.08 !important;
  text-align: left !important;
  white-space: nowrap;
}

html body .samples-v2 .method-overview__framework > h2.site-heading + p {
  max-width: 900px;
  margin: 0;
  color: #5b6475 !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  text-align: left !important;
}

html body .samples-v2 .method-cards {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px;
  align-items: stretch;
  margin-top: 0 !important;
}

html body .samples-v2 .method-cards article {
  position: relative;
  display: flex;
  min-height: 0 !important;
  flex-direction: column;
  overflow: hidden;
  padding: 28px 29px 24px;
  border: 1px solid #dde6f2 !important;
  border-radius: 22px;
  background: #fff !important;
  box-shadow: 0 10px 30px rgb(16 24 40 / 4%);
  text-align: left;
}

html body .samples-v2 .method-cards article::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: #2769d0;
  content: "";
}

html body .samples-v2 .method-cards article:nth-child(even) {
  border-color: #dde6f2 !important;
  background: #fff !important;
}

html body .samples-v2 .method-card__header {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 14px;
}

html body .samples-v2 .method-card__number {
  display: inline-flex;
  min-width: 32px;
  height: 25px;
  align-items: center;
  justify-content: center;
  padding: 0 8px;
  border-radius: 999px;
  background: rgb(39 105 208 / 10%);
  color: #2769d0;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1;
}

html body .samples-v2 .method-cards h3 {
  display: block;
  margin: 0;
  color: #171b8e;
  font-size: 19px;
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.25;
}

html body .samples-v2 .method-cards h3::before {
  content: none;
}

html body .samples-v2 .method-cards p {
  margin: 0 0 10px;
  color: #5b6475 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
}

html body .samples-v2 .method-cards .method-card__lead,
html body .samples-v2 .method-cards article > p:first-of-type {
  margin: 0 0 12px;
  color: #15182b !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
}

html body .samples-v2 .method-cards ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 22px;
  row-gap: 8px;
  align-content: start;
  margin: 0;
  padding: 0;
  list-style: none;
}

html body .samples-v2 .method-cards li {
  position: relative;
  margin: 0;
  padding-left: 18px;
  color: #4d5565;
  font-size: 12px;
  line-height: 1.45;
}

html body .samples-v2 .method-cards li::before {
  position: absolute;
  top: 0;
  left: 0;
  color: #2769d0;
  content: "✓";
  font-size: 12px;
  font-weight: 800;
}

html body .samples-v2 .method-cards .method-card__emphasis {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid rgb(39 105 208 / 16%);
  color: #171b8e !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}

@media (hover: hover) and (pointer: fine) {
  html body .samples-v2 .method-cards article {
    transition:
      transform 0.18s ease,
      box-shadow 0.18s ease,
      border-color 0.18s ease;
  }

  html body .samples-v2 .method-cards article:hover {
    border-color: rgb(39 105 208 / 24%) !important;
    box-shadow: 0 14px 34px rgb(16 24 40 / 6%);
    transform: translateY(-2px);
  }
}

@media (max-width: 1024px) {
  html body .samples-v2 .method-overview {
    padding: 72px 24px 78px;
  }

  html body .samples-v2 .method-overview__eyebrow {
    font-size: 17px;
  }

  html body .samples-v2 .method-overview__framework > h2.site-heading {
    font-size: 38px !important;
    white-space: normal;
  }

  html body .samples-v2 .method-cards article {
    padding: 26px 24px 22px;
  }

  html body .samples-v2 .method-cards ul {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  html body .samples-v2 .method-overview {
    padding: 56px 20px 62px;
  }

  html body .samples-v2 .method-overview__framework {
    margin-bottom: 28px !important;
  }

  html body .samples-v2 .method-overview__eyebrow {
    margin-bottom: 10px;
    font-size: 16px;
  }

  html body .samples-v2 .method-overview__framework > h2.site-heading {
    margin-bottom: 12px !important;
    font-size: 31px !important;
    line-height: 1.12 !important;
    white-space: normal;
  }

  html body .samples-v2 .method-overview__framework > h2.site-heading + p {
    font-size: 14px !important;
  }

  html body .samples-v2 .method-cards {
    grid-template-columns: 1fr !important;
    gap: 14px;
  }

  html body .samples-v2 .method-cards article {
    padding: 23px 21px 22px;
    border-radius: 19px;
  }

  html body .samples-v2 .method-cards article::before {
    height: 3px;
  }

  html body .samples-v2 .method-card__header {
    margin-bottom: 12px;
  }

  html body .samples-v2 .method-cards h3 {
    font-size: 18px;
  }

  html body .samples-v2 .method-cards .method-card__lead,
  html body .samples-v2 .method-cards article > p:first-of-type {
    font-size: 13px !important;
  }

  html body .samples-v2 .method-cards ul {
    grid-template-columns: 1fr;
    row-gap: 7px;
  }

  html body .samples-v2 .method-cards .method-card__emphasis {
    padding-top: 14px;
  }
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .samples-v2
  .method-overview__eyebrow {
  color: #2769d0 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.25 !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .samples-v2
  .method-overview__framework
  > h2.site-heading {
  font-size: 42px !important;
  letter-spacing: -0.045em !important;
  line-height: 1.08 !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .samples-v2
  .method-overview__framework
  > h2.site-heading
  + p {
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .samples-v2
  .method-cards
  p {
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .samples-v2
  .method-cards
  .method-card__lead,
html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .samples-v2
  .method-cards
  article
  > p:first-of-type {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .samples-v2
  .method-cards
  .method-card__emphasis {
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}

@media (max-width: 1024px) {
  html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
    .samples-v2
    .method-overview__eyebrow {
    font-size: 17px !important;
  }

  html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
    .samples-v2
    .method-overview__framework
    > h2.site-heading {
    font-size: 38px !important;
  }
}

@media (max-width: 700px) {
  html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
    .samples-v2
    .method-overview__eyebrow {
    font-size: 16px !important;
  }

  html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
    .samples-v2
    .method-overview__framework
    > h2.site-heading {
    font-size: 31px !important;
    line-height: 1.12 !important;
  }

  html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
    .samples-v2
    .method-overview__framework
    > h2.site-heading
    + p {
    font-size: 14px !important;
  }

  html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
    .samples-v2
    .method-cards
    .method-card__lead,
  html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
    .samples-v2
    .method-cards
    article
    > p:first-of-type {
    font-size: 13px !important;
  }
}

/* ----- method-matters ----- */
html body .samples-v2 .method-matters {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 54px;
  align-items: center;
  padding: 88px 24px;
}

html body .samples-v2 .method-matters__copy > .site-heading-copy > h2.site-heading,
html body .samples-v2 .method-matters__copy > .site-heading-copy > h2.site-heading:has(+ p) {
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: #15182b !important;
  font-size: 48px !important;
  letter-spacing: -0.035em !important;
  line-height: 1.08 !important;
  text-align: left;
}

html body .samples-v2 .method-matters__copy p {
  margin: 0 0 16px !important;
  color: #5b6475 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
}

html body .samples-v2 .method-matters__copy .site-heading-copy > h2.site-heading + p:last-of-type {
  padding-bottom: 0 !important;
}

html body .samples-v2 .method-matters__copy .method-matters__lead {
  margin-top: 0;
  margin-bottom: 16px;
  font-weight: 400 !important;
}

html body .samples-v2 .method-matters__copy ul {
  display: block;
  gap: 0;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
  font-size: 16px;
  font-weight: 400;
}

html body .samples-v2 .method-matters__copy li {
  position: relative;
  margin: 8px 0;
  padding-left: 22px;
  color: #5b6475;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
}

html body .samples-v2 .method-matters__copy li::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: auto;
  height: auto;
  border-radius: 0;
  background: none;
  color: #2769d0;
  content: "✓";
  font-size: 14px;
  font-weight: 800;
}

html body .samples-v2 .method-matters__copy .method-matters__closing {
  margin-bottom: 0;
  font-weight: 400 !important;
}

html body .samples-v2 .method-matters__gallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: minmax(210px, 1fr) minmax(210px, 1fr);
  gap: 14px;
  max-width: none;
}

html body .samples-v2 .method-matters__image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 210px;
  border-radius: 32px;
  object-fit: cover;
}

html body .samples-v2 .method-matters__image--main {
  grid-row: 1 / 3;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .samples-v2
  .method-matters__copy
  > .site-heading-copy
  > h2.site-heading {
  font-size: 48px !important;
  letter-spacing: -0.035em !important;
  line-height: 1.08 !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
  .samples-v2
  .method-matters__copy
  p {
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
}

@media (max-width: 1024px) {
  html body .samples-v2 .method-matters {
    padding: 72px 24px;
  }

  html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
    .samples-v2
    .method-matters__copy
    > .site-heading-copy
    > h2.site-heading {
    font-size: 38px !important;
  }
}

@media (max-width: 767px) {
  html body .samples-v2 .method-matters {
    padding: 52px 20px;
  }

  html body:not(.portal-page):not(.admin-page):not(.admin-login-page)
    .samples-v2
    .method-matters__copy
    > .site-heading-copy
    > h2.site-heading {
    font-size: 32px !important;
  }
}

/* ----- method-inside ----- */
html body .samples-v2 .method-inside {
  padding: 88px 24px;
  background: #f7f9fc;
}

html body .samples-v2 .method-inside__intro {
  max-width: 760px;
  margin: 0 0 38px;
  text-align: left;
}

html body .samples-v2 .method-inside__intro > .site-heading-copy > h2.site-heading,
html body .samples-v2 .method-inside__intro h2.site-heading {
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #15182b !important;
  font-size: 42px !important;
  letter-spacing: -0.04em !important;
  line-height: 1.08 !important;
  text-align: left;
  white-space: normal;
}

html body .samples-v2 .method-inside__intro p {
  margin: 0 0 6px !important;
  padding: 0 !important;
  color: #5b6475 !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

html body .samples-v2 .method-experience-cards {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch;
  gap: 16px;
  margin-top: 0;
  margin-bottom: 24px;
  padding-inline: 0;
}

html body .samples-v2 .method-experience-cards article,
html body .samples-v2 .method-experience-cards article:nth-child(2),
html body .samples-v2 .method-experience-cards article:nth-child(3),
html body .samples-v2 .method-experience-cards article:nth-child(4) {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  column-gap: 11px;
  row-gap: 13px;
  min-height: 142px;
  padding: 22px 21px;
  border: 1px solid #e3e8f0;
  border-radius: 20px;
  background: #fff !important;
  box-shadow: 0 7px 24px rgb(23 27 142 / 4%);
  color: #15182b;
  text-align: left;
  align-items: center;
  align-content: start;
  justify-content: start;
}

html body .samples-v2 .method-experience-cards article:hover,
html body .samples-v2 .method-experience-cards article:focus-visible {
  border-color: rgb(39 105 208 / 25%);
  background: #fff !important;
  box-shadow: 0 10px 26px rgb(23 27 142 / 6%);
  color: #15182b;
  transform: translateY(-2px);
}

html body .samples-v2 .method-experience-cards svg {
  grid-column: 1;
  grid-row: 1;
  width: 26px;
  height: 26px;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: none;
  color: #2769d0;
  stroke: currentColor;
}

html body .samples-v2 .method-experience-cards h3 {
  grid-column: 2;
  grid-row: 1;
  max-width: none;
  margin: 0;
  color: #171b8e;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.3;
}

html body .samples-v2 .method-experience-cards p {
  grid-column: 1 / -1;
  grid-row: 2;
  margin: 0;
  color: #5b6475 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page) .samples-v2
  .method-experience-cards
  p {
  font-size: 14px !important;
  line-height: 1.55 !important;
}

@media (max-width: 700px) {
  html body .samples-v2 .method-experience-cards p,
  html body:not(.portal-page):not(.admin-page):not(.admin-login-page) .samples-v2
    .method-experience-cards
    p {
    grid-column: 2;
    font-size: 13px !important;
  }
}

html body .samples-v2 .method-inside__support {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 27px 30px;
  border: 1px solid rgb(39 105 208 / 15%);
  border-radius: 20px;
  background: #fff;
}

html body .samples-v2 .method-inside__support-title,
html body .samples-v2 .method-inside__support > p {
  margin: 0 0 18px;
  color: #15182b;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page) .samples-v2
  .method-inside__support-title,
html body:not(.portal-page):not(.admin-page):not(.admin-login-page) .samples-v2
  .method-inside__support
  > p {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

html body .samples-v2 .method-inside__support ul,
html body .samples-v2 .method-inside__intro ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 28px;
  row-gap: 12px;
  width: auto;
  margin: 0;
  padding: 0;
  list-style: none;
}

html body .samples-v2 .method-inside__support li,
html body .samples-v2 .method-inside__intro ul li {
  position: relative;
  min-height: 24px;
  margin: 0;
  padding-left: 27px;
  color: #4d5565;
  font-size: 13px;
  line-height: 1.5;
}

html body .samples-v2 .method-inside__support li::before,
html body .samples-v2 .method-inside__intro ul li::before {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  width: 19px;
  height: 19px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgb(39 105 208 / 10%);
  color: #2769d0;
  content: "✓";
  font-size: 11px;
  font-weight: 800;
}

html body .samples-v2 .method-inside:has(.method-inside__support) .method-inside__intro ul {
  display: none;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page) .samples-v2
  .method-inside__intro
  h2.site-heading {
  font-size: 42px !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page) .samples-v2
  .method-inside__intro
  p {
  font-size: 15px !important;
}

/* ----- method-audience ----- */
html body .samples-v2 .method-audience {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 54px;
  align-items: center;
  padding: 72px 24px;
}

html body .samples-v2 .method-audience__start > h2.site-heading {
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: #15182b !important;
  font-size: 42px !important;
  letter-spacing: -0.035em !important;
  line-height: 1.08 !important;
  text-align: left;
}

html body .samples-v2 .method-audience p,
html body .samples-v2 .method-audience li {
  color: #5b6475;
  font-size: 16px;
  line-height: 1.65;
}

html body .samples-v2 .method-audience__start > h2.site-heading + p {
  margin: 0 0 40px !important;
  padding: 0 !important;
}

html body .samples-v2 .method-audience__start a.button {
  display: inline-flex !important;
  width: fit-content !important;
  min-width: min(14rem, 100%) !important;
  min-height: 3.25rem !important;
  margin: 0 auto 0 0 !important;
  padding: 0.75rem 1.5rem !important;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
}

html body .samples-v2 .method-audience__list {
  padding: 30px;
  border: 1px solid #e3e8f0;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 8px 28px rgb(23 27 142 / 6%);
}

html body .samples-v2 .method-audience__list p {
  margin: 0 0 12px;
  color: #15182b;
  font-weight: 700;
}

html body .samples-v2 .method-audience__list ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

html body .samples-v2 .method-audience__list li {
  position: relative;
  margin: 8px 0;
  padding-left: 22px;
}

html body .samples-v2 .method-audience__list li::before {
  position: absolute;
  left: 0;
  color: #2769d0;
  content: "✓";
  font-weight: 800;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page) .samples-v2
  .method-audience__start
  > h2.site-heading {
  font-size: 42px !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page) .samples-v2
  .method-audience
  p {
  font-size: 16px !important;
}

/* ----- method-comparison ----- */
html body .samples-v2 .method-comparison > h2.site-heading {
  max-width: 780px;
  margin: 0 auto 34px !important;
  padding: 0 !important;
  color: #15182b !important;
  font-size: 42px !important;
  text-align: center;
}

html body .samples-v2 .method-comparison__columns {
  gap: 24px;
  max-width: none;
}

html body .samples-v2 .method-comparison__columns > div {
  padding: 30px;
  border: 1px solid #e3e8f0;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 8px 28px rgb(23 27 142 / 6%);
}

html body .samples-v2 .method-comparison__columns h3 {
  margin: 0 0 16px;
  color: #15182b;
  font-size: 22px;
  font-weight: 800;
}

html body .samples-v2 .method-comparison__columns ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

html body .samples-v2 .method-comparison__columns li {
  position: relative;
  margin: 8px 0;
  padding-left: 22px;
  color: #5b6475;
  font-size: 15px;
}

html body .samples-v2 .method-comparison__columns li::before {
  position: absolute;
  left: 0;
  color: #2769d0;
  content: "✓";
  font-weight: 800;
}

html body .samples-v2 section.method-comparison {
  padding: 72px 24px !important;
  background: #f7f9fc;
}

html body .samples-v2 .method-overview > .method-comparison {
  padding: 56px 32px;
  background: #f7f9fc;
  border-radius: 24px;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page) .samples-v2
  .method-comparison
  > h2.site-heading {
  font-size: 42px !important;
}

/* ----- method-track ----- */
html body .samples-v2 .method-track,
html body .samples-v2 section.method-track {
  left: auto !important;
  width: 100% !important;
  margin-left: 0 !important;
  padding: 84px 24px 88px !important;
  background: #2769d0 !important;
  color: #fff;
}

html body .samples-v2 .method-overview > .method-track {
  width: auto;
  margin: 24px 0 0;
  padding: 56px 40px !important;
  border-radius: 32px;
}

html body .samples-v2 .method-track h2,
html body .samples-v2 .method-track h2.site-heading {
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: #fff !important;
  text-align: left;
  white-space: normal !important;
}

html body .samples-v2 .method-track .site-heading-copy > h2.site-heading + p {
  padding-bottom: 0 !important;
}

html body .samples-v2 .method-track p {
  color: rgb(255 255 255 / 88%) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  text-align: left;
}

html body .samples-v2 .method-track ul {
  width: auto;
  max-width: 760px;
  margin: 22px 0 28px;
  padding: 0;
  list-style: none;
}

html body .samples-v2 .method-track li {
  position: relative;
  margin: 8px 0;
  padding-left: 22px;
  color: #fff;
  font-size: 16px;
}

html body .samples-v2 .method-track li::before {
  position: absolute;
  left: 0;
  color: #fff;
  content: "✓";
  font-weight: 800;
}

html body .samples-v2 .method-track a.button,
html body .samples-v2 .method-track a {
  display: inline-flex !important;
  width: fit-content !important;
  margin: 0 !important;
  border: 1px solid #fff !important;
  background: #fff !important;
  color: #171b8e !important;
}

/* ----- md-bar ----- */
html body .samples-v2 .md-bar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 16px;
  padding: 48px 24px;
}

html body .samples-v2 .md-bar article {
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr);
  column-gap: 11px;
  row-gap: 8px;
  min-height: 164px;
  height: 100%;
  padding: 20px;
  border: 1px solid #e3e8f0;
  border-top: 1px solid #e3e8f0;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 6px 20px rgb(8 12 70 / 7%);
  align-items: center;
}

html body .samples-v2 .md-bar .md-ico {
  grid-column: 1;
  grid-row: 1;
  width: 27px;
  height: 27px;
  margin: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: #171b8e;
}

html body .samples-v2 .md-bar .md-ico svg {
  width: 100%;
  height: 100%;
}

html body .samples-v2 .md-bar h3 {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  color: #15182b;
  font-size: 15.5px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.2;
}

html body .samples-v2 .md-bar p {
  grid-column: 2;
  grid-row: 2;
  margin: 0;
  color: #5b6475 !important;
  font-size: 14px !important;
  line-height: 1.42 !important;
}

/* ----- md-split (layout kept; single image, no carousel) ----- */
html body .samples-v2 .md-split {
  gap: 54px;
}

html body .samples-v2 .md-split__media,
html body .samples-v2 .md-split .md-slider {
  position: relative;
  overflow: hidden;
  aspect-ratio: auto;
  width: 100%;
  max-width: none;
  min-height: 340px;
  margin: 0;
  border-radius: 32px;
  background: #dce7f7;
}

html body .samples-v2 .md-split__media img,
html body .samples-v2 .md-split .md-slider img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 340px;
  object-fit: cover;
  opacity: 1;
}

html body .samples-v2 .md-split .md-slider-btn,
html body .samples-v2 .md-split .md-slider-dots {
  display: none !important;
}

/* ----- md-why ----- */
html body .samples-v2 .md-why {
  padding: 88px 24px 92px !important;
  background: #2769d0 !important;
  color: #fff !important;
}

html body .samples-v2 .md-why h2,
html body .samples-v2 .md-why h2.site-heading {
  margin: 0 0 18px !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: 46px !important;
  letter-spacing: -0.045em !important;
  line-height: 1.07 !important;
}

html body .samples-v2 .md-why p {
  color: rgb(255 255 255 / 88%) !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

html body .samples-v2 .md-why-top {
  max-width: 900px;
  margin: 0 0 42px;
}

html body .samples-v2 .md-why-top p strong {
  color: #fff !important;
  font-weight: 700 !important;
}

html body .samples-v2 .md-why-feel {
  display: block;
  margin: 0 0 16px;
  border: 0;
  background: transparent;
}

html body .samples-v2 .md-why-feel p,
html body .samples-v2 .md-why-feel p + p {
  display: inline;
  padding: 0;
  border: 0;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 700 !important;
}

html body .samples-v2 .md-why-feel p + p::before {
  content: ", ";
  font-weight: 700;
}

html body .samples-v2 .md-why-feel p:last-child::after {
  content: ".";
}

html body .samples-v2 .md-why-lead {
  margin: 0 0 24px;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

html body .samples-v2 .md-why-items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 64px;
  row-gap: 15px;
}

html body .samples-v2 .md-why-items li {
  position: relative;
  min-height: 24px;
  margin: 0;
  padding: 0 0 0 30px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgb(255 255 255 / 92%) !important;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}

html body .samples-v2 .md-why-items li::before {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgb(255 255 255 / 14%);
  color: #fff;
  content: "✓";
  font-size: 11px;
  font-weight: 800;
}

html body .samples-v2 .md-why-end,
html body:not(.portal-page):not(.admin-page):not(.admin-login-page) .samples-v2
  .md-why
  .md-why-end {
  max-width: 760px;
  margin-top: 38px;
  padding-top: 0;
  border: 0;
  color: #fff !important;
  font-size: 25px !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em;
  line-height: 1.35 !important;
}

html body .samples-v2 .md-why-end strong {
  color: #fff !important;
  font-weight: 700;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page) .samples-v2
  .md-why
  h2.site-heading {
  font-size: 46px !important;
  color: #fff !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page) .samples-v2
  .md-why
  p {
  color: rgb(255 255 255 / 88%) !important;
}

/* ----- md-philosophy ----- */
html body .samples-v2 .md-philosophy {
  grid-template-columns: 1fr 1fr;
  gap: 54px;
}

html body .samples-v2 .md-philosophy h2.site-heading {
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: #15182b !important;
}

html body .samples-v2 .md-feature-card {
  width: 100%;
  min-height: 340px;
  height: 100%;
  border-radius: 32px;
  object-fit: cover;
}

html body .samples-v2 .md-quote {
  color: #171b8e !important;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.2;
}

html body .samples-v2 .md-philosophy p {
  color: #5b6475 !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

/* ----- md-who ----- */
html body .samples-v2 .md-who {
  padding: 76px 24px !important;
  background: #f7f9fc;
}

html body .samples-v2 .md-who-head h2.site-heading {
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: #15182b !important;
}

html body .samples-v2 .md-who-layout {
  grid-template-columns: 1fr 1fr;
  gap: 54px;
  align-items: center;
}

html body .samples-v2 .md-who-items {
  display: block;
}

html body .samples-v2 .md-who-items li {
  position: relative;
  margin: 8px 0;
  padding: 0 0 0 22px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #5b6475;
}

html body .samples-v2 .md-who-items li::before {
  position: absolute;
  left: 0;
  color: #2769d0;
  content: "✓";
  font-weight: 800;
}

html body .samples-v2 .md-who-layout img {
  min-height: 340px;
  border-radius: 32px;
  box-shadow: none;
}

html body .samples-v2 .md-who-note {
  margin-top: 18px;
  padding-top: 0;
  border: 0;
  color: #6f7687 !important;
  font-size: 12px !important;
}

/* ----- md-cards-wrap: desktop 3×2, tablet/mobile 2×3; mobile titles only ----- */
html body .samples-v2 .md-cards-wrap {
  padding: 76px 24px 82px !important;
  background: #f7f9fc;
}

html body .samples-v2 .md-cards-wrap h2.site-heading {
  max-width: 900px;
  margin: 0 0 32px !important;
  padding: 0 !important;
  color: #15182b !important;
  font-size: 40px !important;
  text-align: left;
}

html body .samples-v2 .md-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: 1fr;
  gap: 16px;
}

html body .samples-v2 .md-cards article {
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr);
  column-gap: 11px;
  row-gap: 9px;
  min-height: 168px;
  padding: 20px;
  border: 1px solid #e3e8f0;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 6px 20px rgb(8 12 70 / 6%);
  align-items: center;
}

html body .samples-v2 .md-cards .md-ico {
  grid-column: 1;
  grid-row: 1;
  width: 27px;
  height: 27px;
  margin: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: #171b8e;
}

html body .samples-v2 .md-cards .md-ico svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

html body .samples-v2 .md-cards h3 {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  color: #15182b;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.2;
}

html body .samples-v2 .md-cards p {
  grid-column: 2;
  grid-row: 2;
  margin: 0;
  color: #5b6475 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

html body:not(.portal-page):not(.admin-page):not(.admin-login-page) .samples-v2
  .md-cards-wrap
  h2.site-heading {
  font-size: 40px !important;
}

@media (max-width: 1023px) {
  html body .samples-v2 .glp-hero__split,
  html body .samples-v2 .glp-help__top,
  html body .samples-v2 .method-matters,
  html body .samples-v2 .method-audience,
  html body .samples-v2 .md-split,
  html body .samples-v2 .md-philosophy,
  html body .samples-v2 .md-who-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  html body .samples-v2 .glp-help__cards,
  html body .samples-v2 .method-cards,
  html body .samples-v2 .method-experience-cards,
  html body .samples-v2 .method-comparison__columns,
  html body .samples-v2 .md-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body .samples-v2 .md-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body .samples-v2 .method-inside__support ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  html body:not(.portal-page):not(.admin-page):not(.admin-login-page) .samples-v2
    .md-why
    h2.site-heading {
    font-size: 40px !important;
  }

  html body .samples-v2 .glp-hero__media > img,
  html body .samples-v2 .glp-help__media img,
  html body .samples-v2 .glp-review__media img,
  html body .samples-v2 .glp-review__card > img,
  html body .samples-v2 .md-split__media img,
  html body .samples-v2 .md-feature-card,
  html body .samples-v2 .md-who-layout img {
    min-height: 280px;
  }

  html body .samples-v2 .glp-not__panel,
  html body .samples-v2 .glp-look__inner {
    padding: 28px 22px;
  }

  html body .samples-v2 .glp-review {
    padding: 68px 24px 74px !important;
  }

  html body .samples-v2 .glp-review__panel {
    grid-template-columns: minmax(250px, 0.78fr) minmax(0, 1.22fr);
    gap: 32px;
    padding: 28px;
  }

  html body .samples-v2 .glp-review__includes ul {
    grid-template-columns: 1fr;
  }

  html body .samples-v2 .glp-paths--reveal {
    padding: 68px 24px 74px !important;
  }

  html body .samples-v2 .glp-paths--reveal .glp-path-card__top {
    height: 220px;
  }

  html body .samples-v2 .glp-paths--reveal .glp-path-card__img {
    max-height: 185px;
  }

  html body .samples-v2 .hiw-final-cta {
    padding: 72px 24px !important;
  }

  html body .samples-v2 .method-track,
  html body .samples-v2 section.method-track {
    padding: 48px 20px !important;
  }

  html body .samples-v2 .glp-hero__cta,
  html body .samples-v2 .glp-hero__actions {
    justify-content: flex-start !important;
  }

  html body .samples-v2 .hiw-final-cta__actions {
    flex-wrap: wrap;
  }
}

@media (max-width: 767px) {
  html body .samples-v2 .glp-help__cards,
  html body .samples-v2 .method-cards,
  html body .samples-v2 .method-experience-cards,
  html body .samples-v2 .method-comparison__columns,
  html body .samples-v2 .md-bar {
    grid-template-columns: 1fr !important;
  }

  html body .samples-v2 .md-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px;
  }

  html body .samples-v2 .md-cards article {
    padding: 18px 14px;
  }

  html body .samples-v2 .md-cards .md-ico {
    width: 24px;
    height: 24px;
    margin: 0;
  }

  html body .samples-v2 .md-cards article {
    min-height: 0;
    row-gap: 0;
  }

  html body .samples-v2 .md-why-items,
  html body .samples-v2 .method-inside__support ul {
    grid-template-columns: 1fr;
  }

  html body:not(.portal-page):not(.admin-page):not(.admin-login-page) .samples-v2
    .md-why
    h2.site-heading {
    font-size: 34px !important;
  }

  html body .samples-v2 .md-cards h3 {
    margin: 0;
    font-size: 15px;
    line-height: 1.25;
  }

  html body .samples-v2 .md-cards article > p {
    display: none !important;
  }

  html body .samples-v2 .glp-hero h1 {
    font-size: 30px !important;
  }

  html body .samples-v2 .glp-review {
    padding: 54px 20px 60px !important;
  }

  html body .samples-v2 .glp-review__panel {
    grid-template-columns: 1fr;
    gap: 26px;
    padding: 20px;
  }

  html body .samples-v2 .glp-review__media img,
  html body .samples-v2 .glp-review__card > img {
    min-height: 0;
    aspect-ratio: 1.25 / 1;
  }

  html body .samples-v2 .glp-review__includes ul {
    grid-template-columns: 1fr;
  }

  html body .samples-v2 .glp-paths--reveal {
    padding: 54px 20px 60px !important;
  }

  html body .samples-v2 .glp-paths--reveal .glp-paths__cards {
    grid-template-columns: 1fr !important;
  }

  html body .samples-v2 .glp-paths--reveal .glp-path-card,
  html body .samples-v2 .glp-paths--reveal .glp-path-card--reveal {
    display: grid !important;
    grid-template-columns: 120px minmax(0, 1fr);
    border-radius: 20px;
  }

  html body .samples-v2 .glp-paths--reveal .glp-path-card__top {
    width: 120px;
    height: auto;
    min-height: 190px;
    padding: 20px 12px;
    border-radius: 20px 0 0 20px;
  }

  html body .samples-v2 .glp-paths--reveal .glp-path-card__img {
    max-width: 100%;
    height: auto !important;
    max-height: 160px;
  }

  html body .samples-v2 .method-matters__gallery {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    gap: 12px;
  }

  html body .samples-v2 .method-matters__image,
  html body .samples-v2 .method-matters__image--main {
    grid-row: auto;
    min-height: 220px;
    aspect-ratio: 16 / 10;
  }

  html body .samples-v2 .hiw-final-cta {
    padding: 56px 20px !important;
  }

  html body .samples-v2 .hiw-final-cta__actions {
    flex-direction: column;
    align-items: stretch;
  }

  html body .samples-v2 .hiw-final-cta__actions > .button {
    width: 100% !important;
  }
}

/* Part 2: beat heading-spacing !important pads */
html body:not(.samples-page) main > section.glp-not,
html body:not(.samples-page) main > section.glp-not:has(> .glp-not__panel),
html body:not(.samples-page) main > section.glp-look,
html body:not(.samples-page) main > section.glp-look:has(> .glp-look__inner),
html body:not(.samples-page) main > section.glp-help,
html body:not(.samples-page) main > section.glp-review {
  padding: 72px 24px !important;
}

html body:not(.samples-page) .hiw-final-cta h2.site-heading,
html body .samples-v2 .hiw-final-cta h2.site-heading {
  padding: 0 !important;
  color: #fff !important;
}

html body:not(.samples-page) .hiw-final-cta__inner > p,
html body .samples-v2 .hiw-final-cta__inner > p {
  color: rgb(255 255 255 / 88%) !important;
}

html body:not(.samples-page) main > section.hiw-final-cta:has(> .hiw-final-cta__inner) {
  padding: 88px 24px !important;
}

html body:not(.samples-page) main > section.glp-paths:has(> .glp-paths__inner) {
  padding: 84px 24px 88px !important;
  background: #fff !important;
}

html body:not(.samples-page) .glp-not__panel,
html body .samples-v2 .glp-not__panel {
  padding: 46px !important;
}

/* Old navy-band heading rules painted these paragraphs #fff; V2 card is white. */
html body:not(.samples-page) .glp-not .glp-not__panel > h2.site-heading + p,
html body:not(.samples-page) .glp-not .glp-not__panel > h2.site-heading + p + p,
html body:not(.samples-page) .glp-not .glp-not__panel > h2.site-heading + p + p + p,
html body:not(.samples-page) .glp-not .glp-not__panel > h2.site-heading + p + p + p + p,
html body .samples-v2 .glp-not .glp-not__panel > h2.site-heading + p,
html body .samples-v2 .glp-not .glp-not__panel > h2.site-heading + p + p,
html body .samples-v2 .glp-not .glp-not__panel > h2.site-heading + p + p + p,
html body .samples-v2 .glp-not .glp-not__panel > h2.site-heading + p + p + p + p {
  color: #5b6475 !important;
}

html body:not(.samples-page) .glp-look__inner,
html body .samples-v2 .glp-look__inner {
  padding: 46px !important;
}

html body:not(.samples-page) .glp-review__header > h2.site-heading,
html body .samples-v2 .glp-review__header > h2.site-heading {
  padding: 0 !important;
  color: #15182b !important;
  text-align: center;
}

html body:not(.samples-page) .glp-review__content > p,
html body .samples-v2 .glp-review__content > p {
  color: rgb(255 255 255 / 90%) !important;
}

html body:not(.samples-page) main > section.glp-review:has(> .glp-review__inner) {
  padding: 84px 24px 88px !important;
}

@media (max-width: 1023px) {
  html body:not(.samples-page) .glp-not__panel,
  html body .samples-v2 .glp-not__panel,
  html body:not(.samples-page) .glp-look__inner,
  html body .samples-v2 .glp-look__inner {
    padding: 28px 22px !important;
  }
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  main.md-page
  > section.md-who,
html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  main.md-page
  > section.md-who:has(+ section) {
  padding: 88px 0 !important;
  background: #f7f9fc !important;
}

@media (max-width: 1023px) {
  html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
    main.md-page
    > section.md-who,
  html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
    main.md-page
    > section.md-who:has(+ section) {
    padding: 72px 0 !important;
  }
}

@media (max-width: 767px) {
  html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
    main.md-page
    > section.md-who,
  html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
    main.md-page
    > section.md-who:has(+ section) {
    padding: 56px 0 !important;
  }
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  main.md-page
  > section.md-cards-wrap,
html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  main.md-page
  > section.md-cards-wrap:has(> .md-shell) {
  padding: 76px 0 82px !important;
  background: #f7f9fc !important;
}

/* ----- cta-band: shared closing CTA band (matches hiw-final-cta) ----- */
html body:not(.samples-page) main > section.cta-band,
html body:not(.samples-page) main.md-page > section.cta-band,
html body:not(.samples-page) main.md-page.alignfull > section.cta-band {
  position: relative;
  left: auto !important;
  width: 100% !important;
  min-height: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 88px 24px !important;
  border-radius: 0;
  background: #2769d0 !important;
  color: #fff;
  text-align: center;
}

html body:not(.samples-page) .cta-band__inner {
  display: block !important;
  width: min(760px, 100%) !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center;
}

html body:not(.samples-page) .cta-band h2,
html body:not(.samples-page) .cta-band h2.site-heading {
  max-width: none !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: var(--site-h2-size) !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.12 !important;
  text-align: center;
}

html body:not(.samples-page) .cta-band > p,
html body:not(.samples-page) .cta-band__inner > p {
  max-width: 700px;
  margin: 10px auto 0 !important;
  padding: 0 0 40px !important;
  color: rgb(255 255 255 / 88%) !important;
  font-size: var(--site-body-size) !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  text-align: center;
}

html body:not(.samples-page) .cta-band__actions {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body:not(.samples-page) .cta-band .button,
html body:not(.samples-page) .cta-band a.button {
  display: inline-flex !important;
  min-width: min(224px, 100%) !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 12px 24px !important;
  align-items: center;
  justify-content: center;
  border-width: 2px !important;
  border-style: solid !important;
  border-radius: 999px !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
}

html body:not(.samples-page) .cta-band .button--light {
  border-color: #fff !important;
  background: #fff !important;
  color: #171b8e !important;
}

html body:not(.samples-page) .cta-band .button--light:hover {
  border-color: #fff !important;
  background: #f7f9fc !important;
  color: #171b8e !important;
}

html body:not(.samples-page) .cta-band .button--outline {
  border-color: rgb(255 255 255 / 65%) !important;
  background: transparent !important;
  color: #fff !important;
}

html body:not(.samples-page) .cta-band .button--outline:hover {
  border-color: #fff !important;
  background: rgb(255 255 255 / 10%) !important;
  color: #fff !important;
}

html body:not(.samples-page) .cta-band .cta-band__note,
html body:not(.samples-page) .cta-band__inner > p.cta-band__note,
html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .cta-band
  p.cta-band__note {
  max-width: 640px;
  margin: 18px auto 0 !important;
  padding: 0 !important;
  color: rgb(255 255 255 / 78%) !important;
  font-size: 0.875rem !important;
  line-height: 1.6 !important;
}

@media (max-width: 1023px) {
  html body:not(.samples-page) main > section.cta-band,
  html body:not(.samples-page) main.md-page > section.cta-band,
  html body:not(.samples-page) main.md-page.alignfull > section.cta-band {
    padding: 72px 24px !important;
  }
}

@media (max-width: 767px) {
  html body:not(.samples-page) main > section.cta-band,
  html body:not(.samples-page) main.md-page > section.cta-band,
  html body:not(.samples-page) main.md-page.alignfull > section.cta-band {
    padding: 56px 20px !important;
  }

  html body:not(.samples-page) .cta-band__actions {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  html body:not(.samples-page) .cta-band__actions > .button {
    width: 100% !important;
  }
}

/* ----- md-bar: prototype band spacing and card copy scale ----- */
html body:not(.samples-page) main.md-page > section.md-bar {
  padding: 48px 0 !important;
  background: #fff;
}

html body:not(.samples-page):not(.portal-page):not(.admin-page):not(.admin-login-page)
  .md-bar
  article
  p {
  font-size: 14px !important;
  line-height: 1.42 !important;
}

@media (max-width: 1023px) {
  html body:not(.samples-page) main.md-page > section.md-bar {
    padding: 42px 0 !important;
  }
}

@media (max-width: 767px) {
  html body:not(.samples-page) main.md-page > section.md-bar {
    padding: 32px 20px !important;
  }
}

/* ----- md-split slider (samples prototype only) ----- */
html body .samples-v2 .md-split.md-split--slider {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 88px 24px !important;
  background: #f7f9fc !important;
}

html body .samples-v2 .md-split--slider .md-split__inner {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 54px !important;
  align-items: center !important;
  width: min(1240px, 100%) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

html body .samples-v2 .md-split--slider .md-split__inner h2,
html body .samples-v2 .md-split--slider .md-split__inner h2.site-heading {
  margin: 0 0 16px !important;
  padding: 0 !important;
}

html body.samples-page .samples-v2 .md-split--slider .md-split__inner p {
  margin: 0 0 16px !important;
  padding: 0 !important;
}

html body.samples-page .samples-v2 .md-split--slider .md-split__inner p.md-split__note {
  margin: 8px 0 0 !important;
  color: #6f7687 !important;
  font-size: 0.875rem !important;
  line-height: 1.6 !important;
}

html body .samples-v2 .md-split--slider .md-split__slider {
  position: relative;
}

html body .samples-v2 .md-split--slider .md-split__slider .md-split__media {
  display: none;
  overflow: hidden;
  width: 100%;
  min-height: 340px;
  margin: 0;
  border-radius: 32px;
  background: #dce7f7;
}

html body .samples-v2 .md-split--slider .md-split__slider .md-split__media.is-active {
  display: block;
}

html body .samples-v2 .md-split--slider .md-split__slider .md-split__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 340px;
  object-fit: cover;
}

html body .samples-v2 .md-split--slider .md-split__slider-controls {
  display: flex;
  gap: 10px;
  margin-top: 12px;
}

html body .samples-v2 .md-split--slider .md-split__slider-btn {
  display: inline-flex;
  min-width: 56px;
  min-height: 50px;
  padding: 12px 24px;
  align-items: center;
  justify-content: center;
  border: 1px solid #cfd6e8;
  border-radius: 999px;
  background: #fff;
  color: #171b8e;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}

html body .samples-v2 .md-split--slider .md-split__slider-btn:hover {
  border-color: #2769d0;
  color: #2769d0;
}

@media (max-width: 1023px) {
  html body .samples-v2 .md-split.md-split--slider {
    padding: 72px 24px !important;
  }

  html body .samples-v2 .md-split--slider .md-split__inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 32px !important;
  }
}

@media (max-width: 767px) {
  html body .samples-v2 .md-split.md-split--slider {
    padding: 56px 20px !important;
  }

  html body .samples-v2 .md-split--slider .md-split__inner {
    gap: 28px !important;
  }
}
