@charset "UTF-8";

/* ==========================================================================
   Tablet / Mobile
   ========================================================================== */

@media (max-width: 991.98px) {
  :root {
    --grid-flow: var(--grid-flow-tablet);
    --section-padding-y: var(--space-10xl);
  }

  .site-header.is-menu-open .navbar-collapse {
    padding: var(--space-base);
  }

  .lp-feature-row {
    --bs-gutter-x: 0;
    --bs-gutter-y: var(--space-5xl);
  }

  .lp-feature-media {
    min-height: 0;
  }

  .lp-hero-visual-section,
  .lp-hero-stage {
    min-height: var(--height-full);
  }

  .lp-hero-copy {
    padding-left: 0;
    text-align: center;
  }

  .lp-section {
    padding: var(--section-padding-y) 0;
  }

  .lp-faq-button {
    gap: var(--space-xl);
    padding: var(--space-3xl) var(--space-0);
  }

  .lp-concept-story-copy {
    max-width: var(--width-lg);
  }

  .lp-service-layout {
    gap: var(--space-6xl);
    grid-template-columns: 1fr;
  }

  .lp-detail-shell {
    gap: var(--space-5xl);
    grid-template-columns: 1fr;
  }

  .lp-detail-copy-wrap {
    order: 1;
    padding-left: var(--space-xl);
    padding-right: var(--space-xl);
  }

  .lp-detail-media-wrap {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    order: 2;
    width: 100vw;
  }

  .lp-detail-media-grid {
    animation: lp-detail-marquee 28s linear infinite;
    display: flex;
    gap: 0;
    width: max-content;
  }

  .lp-detail-media,
  .lp-detail-media:nth-child(4),
  .lp-detail-media:last-child {
    border-radius: 0;
  }

  .lp-detail-media {
    flex: 0 0 46vw;
    width: 46vw;
  }

  .lp-detail-media-clone {
    display: flex;
  }

  .lp-service-intro {
    max-width: 100%;
    position: static;
    top: auto;
  }

  .lp-service-list {
    gap: var(--space-5xl);
    margin-left: 0;
    width: 100%;
  }

  .lp-service-copy {
    max-width: 100%;
    padding-right: 0;
  }

  .lp-service-media {
    aspect-ratio: 3 / 1;
  }

  .lp-tier-group + .lp-tier-group {
    margin-top: var(--space-7xl);
    padding-top: var(--space-7xl);
  }

  .lp-flow-step {
    column-gap: var(--space-base);
    grid-template-columns: var(--grid-flow);
  }
}

@media (max-width: 767.98px) {
  :root {
    --font-body-lg: 1.0625rem;
    --font-brand: clamp(3rem, 16vw, 4.35rem);
    --font-display: 2.35rem;
    --font-heading-lg: 2rem;
    --font-heading-md: 1.85rem;
    --font-heading-sm: 1.1875rem;
    --grid-flow: var(--grid-flow-mobile);
    --section-padding-y: var(--space-9xl);
  }

  br.sp-only {
    display: inline;
  }

  .lp-hero-visual-section > .container,
  .lp-hero-stage {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }

  .lp-hero-visual-section::before {
    background: none;
  }

  .lp-hero-stage {
    display: block;
    min-height: var(--height-full);
    padding: var(--space-0);
  }

  .lp-hero-stage .row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    display: block;
    margin: var(--space-0);
    min-height: var(--height-full);
    position: static;
    width: 100%;
  }

  .lp-hero-stage .row > div {
    padding-left: 0;
    padding-right: 0;
  }

  .lp-hero-stage .row > :first-child {
    inset: 0;
    position: absolute;
    width: 100%;
  }

  .lp-hero-stage .row > :last-child {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: var(--height-full);
    position: relative;
    z-index: 1;
  }

  .lp-hero-product {
    inset: 0;
    height: 100%;
    max-width: none;
    position: absolute;
    width: 100%;
    z-index: 0;
  }

  .lp-hero-product::after {
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.1) 0%,
      rgba(255, 255, 255, 0.3) 34%,
      rgba(252, 250, 246, 0.2) 100%
    );
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 1;
  }

  .lp-image-product {
    aspect-ratio: auto;
    border-radius: 0;
    box-shadow: none;
    height: 100%;
    min-height: var(--height-full);
    padding: var(--space-0);
    position: relative;
    width: 100%;
  }

  .lp-image-product::before {
    display: none;
  }

  .lp-media-image {
    width: 100%;
    height: 100%;
  }

  .lp-hero-copy {
    margin-inline: auto;
    max-width: var(--width-sm);
    padding-inline: 0;
    position: relative;
    z-index: 1;
  }

  .lp-hero-brand {
    letter-spacing: var(--letter-track-base);
  }

  .lp-hero-kicker {
    letter-spacing: var(--letter-track-ultra);
  }

  .lp-hero-tagline {
    letter-spacing: var(--letter-track-md);
    text-align: left;
  }

  .lp-backtotop {
    gap: var(--space-sm);
    margin-bottom: var(--space-5xl);
  }

  .lp-footer-nav {
    gap: var(--space-base) var(--space-xl);
    margin-bottom: var(--space-4xl) !important;
  }

  .lp-footer-nav a,
  .lp-footer-copy {
    letter-spacing: var(--letter-track-md);
  }

  .lp-surface,
  .lp-surface-panel,
  .lp-surface-card {
    border-radius: var(--radius-mobile);
  }

  .lp-content-card {
    padding: var(--space-2xl);
  }

  .lp-tier-board {
    padding: var(--space-xl);
  }

  .lp-feature-row > [class*="col-"] {
    width: 100%;
  }

  .lp-feature-copy {
    order: 1;
  }

  .lp-feature-media-col {
    order: 2;
  }

  .lp-concept-title {
    text-align: left;
  }

  .lp-concept-story-panel-concept .lp-section-heading {
    text-align: center !important;
  }

  .lp-concept-story-panel-detail {
    align-items: center;
  }

  .lp-concept-story-copy {
    max-width: 100%;
  }

  .lp-concept-story-copy p {
    font-size: var(--font-body-lg);
    line-height: var(--line-relaxed);
  }

  .lp-contact-panel {
    padding: var(--space-3xl);
  }

  .lp-contact-copy {
    max-width: 100%;
    padding-inline: 0;
  }

  .lp-contact-title {
    line-height: var(--line-base);
  }

  .lp-faq-question {
    font-size: var(--font-base);
  }

  .lp-about-staff-grid {
    gap: var(--space-3xl);
  }

  .lp-about-staff-media {
    width: min(100%, 9rem);
  }

  .lp-about-staff-name {
    font-size: var(--font-base);
  }

  #programs .lp-tier-heading > p,
  #programs .lp-tier-card-lead,
  .lp-flow-note {
    text-align: left !important;
  }

  .lp-items-group-head {
    padding: var(--space-base);
  }

  .lp-items-group .row {
    margin-left: var(--space-0);
    margin-right: var(--space-0);
    padding: var(--space-base);
  }

  .lp-message-section {
    min-height: var(--height-message);
    padding: var(--space-7xl) 0;
  }

  .lp-message-content {
    max-width: var(--width-sm);
  }

  .lp-message-title {
    line-height: var(--line-snug);
  }

  .lp-message-text {
    line-height: var(--line-relaxed);
  }

  .lp-flow-step {
    align-items: start;
    column-gap: var(--space-base);
    grid-template-columns: var(--grid-flow);
    padding: var(--space-sm) 0 var(--space-base);
    row-gap: var(--space-sm);
  }

  .lp-flow-rail {
    grid-row: 1 / span 2;
  }

  .lp-flow-pill {
    justify-self: start;
    max-width: 100%;
  }

  .lp-flow-body {
    padding-top: var(--space-0);
  }
}
