.reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 640ms ease, transform 640ms ease;
}

.reveal--left {
  transform: translateX(-26px);
}

.reveal--right {
  transform: translateX(26px);
}

.reveal.is-visible {
  opacity: 1;
  transform: translate(0);
}

@keyframes heroFade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@media (max-width: 75rem) {
  :root {
    --container-width: 980px;
  }

  .site-footer__columns {
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.72fr);
    column-gap: 4rem;
  }

  .site-footer {
    --footer-content-width: min(var(--container-width), calc(100% - var(--page-padding) * 2));
    --footer-logo-size: clamp(2.625rem, 5vw, 3.25rem);
    --footer-description-size: 1rem;
    --footer-columns-gap: 4rem;
    --footer-columns-margin-end: 4rem;
    --footer-heading-size: 1.25rem;
    --footer-heading-gap: 1.25rem;
    --footer-text-size: 1rem;
    --footer-bottom-size: 0.875rem;
    padding-block: 6rem;
    aspect-ratio: auto;
  }

  .entry__content.container {
    inline-size: min(var(--container-width), calc(100vw - var(--page-padding) * 2));
  }

  .entry__actions {
    inline-size: min(100%, calc(var(--entry-button-width) + var(--entry-primary-button-width) + var(--entry-actions-gap)));
    margin-inline: auto;
  }

  .entry__actions .button {
    inline-size: var(--entry-button-width);
    min-width: 0;
  }

  .entry__actions .button--primary {
    inline-size: var(--entry-primary-button-width);
  }
}

@media (min-width: 48rem) and (max-width: 64rem) {
  :root {
    --container-width: 960px;
    --page-padding: clamp(24px, 3vw, 36px);
    --section-space: clamp(72px, 8vw, 108px);
  }

  .story,
  .story--second {
    gap: 30px;
  }

  .story {
    grid-template-columns: 260px minmax(0, 1fr);
  }

  .story--second {
    grid-template-columns: minmax(0, 1fr) 250px;
  }

  .story img {
    height: 320px;
  }

  .entry__content.container {
    inline-size: min(var(--container-width), calc(100vw - var(--page-padding) * 2));
  }

  .entry__actions {
    inline-size: min(100%, calc(var(--entry-button-width) + var(--entry-primary-button-width) + var(--entry-actions-gap)));
    margin-inline: auto;
  }

  .entry__actions .button {
    inline-size: var(--entry-button-width);
    min-width: 0;
    block-size: var(--entry-button-height);
  }

  .entry__actions .button--primary {
    inline-size: var(--entry-primary-button-width);
  }

  .site-footer__columns {
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.78fr);
    gap: 2.25rem 3rem;
  }

  .reveal--left,
  .reveal--right {
    transform: translateY(26px);
  }
}

@media (max-width: 64rem) {
  .entry {
    --entry-content-shift: 0rem;
    display: block;
    min-block-size: auto;
    padding-block: var(--section-space);
    overflow: visible;
    aspect-ratio: auto;
  }

  .entry>.container {
    inline-size: min(var(--container-width), calc(100% - var(--page-padding) * 2));
  }

  .entry__media {
    inline-size: 100%;
  }

  :is(.specialized, .reward, .work-way, .day-life) {
    display: block;
    aspect-ratio: auto;
    overflow: visible;
    padding-block: var(--section-space);
  }

  .stories {
    display: block;
    aspect-ratio: auto;
    overflow: visible;
    padding-block: var(--section-space);
  }

  .stories .container {
    inline-size: min(var(--container-width), calc(100% - var(--page-padding) * 2));
  }

  .join {
    display: block;
    aspect-ratio: auto;
    overflow: visible;
    padding-block: var(--section-space);
  }

  .join>.container {
    inline-size: min(var(--container-width), calc(100% - var(--page-padding) * 2));
  }

  .step-card {
    block-size: auto;
  }

  .faq {
    display: block;
    aspect-ratio: auto;
    overflow: visible;
    padding-block: var(--section-space);
  }

  .faq>.container {
    inline-size: min(var(--container-width), calc(100% - var(--page-padding) * 2));
  }

  .faq-list,
  .recruit dl {
    margin-inline: auto;
  }
}

@media (max-width: 47.9375rem) {
  p.eyebrow {
    font-size: clamp(0.625rem, calc(0.179rem + 2.232vw), 1.250rem);
  }

  h2#mission-title {
    font-size: clamp(1.063rem, calc(0.214rem + 4.241vw), 2.250rem);
    font-weight: 800;
  }

  h2#why-now-title {
    font-size: clamp(1.250rem, calc(0.446rem + 4.018vw), 2.375rem);
  }

  p.why-now__lead {
    font-size: clamp(0.813rem, calc(0.500rem + 1.563vw), 1.250rem);
  }

  h3.why-card__title {
    font-size: clamp(1.188rem, calc(1.119rem + 0.341vw), 1.375rem);
  }

  p.why-card__description {
    font-size: clamp(0.750rem, calc(0.568rem + 0.909vw), 1.250rem);
    line-height: 1.4;
  }

  span.icon-bubble.why-card__icon {
    width: clamp(2.813rem, calc(2.143rem + 3.348vw), 3.750rem);
    height: clamp(2.813rem, calc(2.143rem + 3.348vw), 3.750rem);
  }

  h2#reasons-title {
    font-size: clamp(1.438rem, calc(0.411rem + 5.134vw), 2.875rem);
    font-weight: 700;
  }

  .reason-card span {

    width: clamp(2.500rem, calc(2.054rem + 2.232vw), 3.125rem);
    height: clamp(2.500rem, calc(2.054rem + 2.232vw), 3.125rem);
    margin-bottom: clamp(0.625rem, calc(0.402rem + 1.116vw), 0.938rem);
    background: var(--color-red-soft);
    font-weight: 700;
  }

  .reason-card h3 {
    height: 24%;
  }

  h2#focus-title {
    font-size: clamp(1.250rem, calc(0.886rem + 1.818vw), 2.250rem);
    font-weight: 800;
  }

  h1 {
    font-size: clamp(36px, 7vw, 54px);
  }

  .hero__content {
    margin-inline: auto;
  }

  .join {
    --join-scale: 1;
    --join-content-offset: 0;
    --join-group-gap: 3.25rem;
    --join-steps-to-message-gap: 4rem;
    --join-step-heading-gap: 1.5rem;
    --join-step-heading-size: 1.5rem;
    --join-card-width: 100%;
    --join-card-height: auto;
    --join-card-gap: 0.75rem;
    --join-card-padding-block: 1.5rem;
    --join-card-padding-inline: 1.25rem;
    --join-card-number-gap: 1rem;
    --join-card-title-gap: 0.875rem;
    --join-card-number-size: 1.75rem;
    --join-card-title-size: 1rem;
    --join-card-copy-size: 0.875rem;
    --join-card-copy-line-height: 1.9;
    --join-message-image-width: min(100%, 23rem);
    --join-message-image-height: auto;
    --join-message-gap: 2rem;
    --join-message-width: 100%;
    --join-message-body-offset: 0;
    --join-message-eyebrow-size: 1.125rem;
    --join-message-eyebrow-gap: 1.25rem;
    --join-message-title-size: clamp(1.875rem, 8vw, 2.5rem);
    --join-message-title-line-height: 1.65;
    --join-message-title-gap: 1.5rem;
    --join-message-copy-size: 0.9375rem;
    --join-message-copy-line-height: 1.9;
    --join-message-indent: 0;
    --join-message-name-gap: 1.25rem;
    --join-signature-width: min(15rem, 72%);
    --join-signature-gap: 0.5rem;
  }

  .faq {
    --faq-scale: 1;
    --faq-heading-size: clamp(2rem, 9vw, 2.5rem);
    --faq-heading-padding-start: 1.25rem;
    --faq-heading-bar-width: 0.5rem;
    --faq-eyebrow-size: 1rem;
    --faq-eyebrow-gap: 1.5rem;
    --faq-list-width: 100%;
    --faq-list-offset: 0;
    --faq-list-gap: 3rem;
    --faq-question-size: 1rem;
    --faq-question-padding-block: 1.25rem;
    --faq-question-padding-end: 3rem;
    --faq-answer-size: 0.875rem;
    --faq-answer-line-height: 1.9;
    --faq-answer-padding-block-end: 1.25rem;
    --faq-icon-size: 1.5rem;
    --faq-icon-line-thickness: 0.125rem;
    --faq-recruit-gap: 5rem;
    --faq-recruit-panel-width: 100%;
    --faq-recruit-panel-offset: 0;
    --faq-recruit-panel-gap: 2rem;
    --faq-recruit-panel-padding-block-start: 2rem;
    --faq-recruit-panel-padding-block-end: 2rem;
    --faq-recruit-panel-padding-inline: 1.5rem;
    --faq-recruit-row-gap: 1.25rem;
    --faq-recruit-term-width: 100%;
    --faq-recruit-column-gap: 0.25rem;
    --faq-recruit-text-size: 0.9375rem;
  }

  .specialized {
    --specialized-title-width: 100%;
    --specialized-card-width: 100%;
    --specialized-card-height: auto;
    --specialized-card-padding-y: clamp(2.5rem, 10vw, 3.25rem);
    --specialized-card-padding-x: clamp(2rem, 8vw, 2.75rem);
    --specialized-card-title-gap: 1.75rem;
  }

  .work-way {
    --work-heading-width: 100%;
    --work-heading-gap: 3rem;
    --work-title-gap: 1.5rem;
    --work-image-width: 100%;
    --work-image-height: auto;
    --work-feature-column-width: 100%;
    --work-feature-width: 100%;
    --work-left-offset: 0;
  }

  .work-way__features,
  .work-way__features--left {
    padding-left: 0;
  }

  .work-feature {
    width: 100%;
  }

  .work-way__image {
    height: auto;
  }

  .day-life {
    --day-grid-offset: 0rem;
    --day-column-width: 100%;
    --day-column-gap: 0;
    --day-list-gap: 2.25rem;
    --day-item-padding-left: 3.25rem;
    --day-text-width: 100%;
  }

  .focus {
    --focus-left-width: 100%;
    --focus-right-width: 100%;
    --focus-agent-width: 100%;
    --focus-column-gap: 0;
    --focus-row-gap: clamp(2.25rem, 9vw, 3.5rem);
    --focus-intro-offset: 0;
    --focus-support-offset: 0;
    --focus-agent-offset: 0;
    --focus-eyebrow-size: clamp(0.875rem, 4vw, 1rem);
    --focus-eyebrow-line-height: 1.2;
    --focus-eyebrow-margin: 1.25rem;
    --focus-title-size: clamp(1.75rem, 7.8vw, 2.25rem);
    --focus-title-line-height: 1.45;
    --focus-title-margin: 1.5rem;
    --focus-copy-size: clamp(0.875rem, 3.9vw, 1rem);
    --focus-copy-line-height: 1.8;
    --focus-support-min-height: 0;
    --focus-support-padding-block: clamp(2rem, 8vw, 2.75rem);
    --focus-support-padding-inline: clamp(1.75rem, 7vw, 2.5rem);
    --focus-support-radius: 1rem;
    --focus-support-title-size: clamp(0.9375rem, 4vw, 1.0625rem);
    --focus-support-title-margin: 1.75rem;
    --focus-support-list-size: clamp(0.75rem, 3.3vw, 0.875rem);
    --focus-support-list-row-gap: 0.75rem;
    --focus-support-list-column-gap: 1rem;
    --focus-agent-title-size: clamp(1.375rem, 6vw, 1.75rem);
    --focus-agent-title-line-height: 1.4;
    --focus-agent-title-margin: 1.5rem;
    --focus-agent-row-height: 3.75rem;
    --focus-agent-row-gap: 1.75rem;
    --focus-agent-row-padding: 0.5rem;
    --focus-agent-text-size: clamp(0.875rem, 3.8vw, 1rem);
    --focus-agent-text-line-height: 1.6;
    --focus-check-width: 1.375rem;
    --focus-check-height: 0.875rem;
    --focus-check-border: 0.1875rem;
    display: block;
    aspect-ratio: auto;
    overflow: visible;
    padding-block: clamp(4rem, 14vw, 6rem);
  }

  .focus>.container {
    width: min(100% - var(--page-padding) * 2, 40rem);
  }

  .focus__image {
    height: auto;
  }

  .story,
  .story--second,
  .join .message {
    grid-template-columns: 1fr;
  }

  .story,
  .story--second {
    margin-left: 0;
  }

  .story img {
    max-width: 360px;
  }

  .join .message>img {
    max-inline-size: var(--join-message-image-width);
    margin-inline: auto;
  }

  .site-footer__columns {
    margin-block-end: 4rem;
  }
}

@media (max-width: 47.9375rem) {
  :root {
    --header-height: clamp(2.125rem, calc(0.964rem + 5.804vw), 3.750rem);
    --section-space: clamp(64px, 14vw, 96px);
  }

  body {
    font-size: 15px;
  }

  .site-header__brand {
    font-size: clamp(1.063rem, calc(0.304rem + 3.795vw), 2.125rem);
  }

  .hero__points {
    gap: 10px 22px;
  }

  .button--large,
  .button {
    width: 100%;
    min-height: 60px;
    padding-inline: 22px;
  }

  .hero__logos {
    gap: 16px;
  }

  .hero__logos img,
  .hero__logos img:first-child {
    height: 52px;
  }

  .mission {
    min-height: 500px;
  }

  .why-card {
    --why-card-content-gap: clamp(1.250rem, calc(0.134rem + 5.58vw), 2.813rem);
    --why-card-text-gap: clamp(0.813rem, calc(0.500rem + 1.563vw), 1.250rem);
  }

  .reward__mobile article span {
    width: 36px;
    height: 36px;
    margin-bottom: 12px;
  }

  .reward__mobile h3 {
    margin: 0 0 12px;
    font-weight: 900;
  }

  .reward__mobile strong {
    display: block;
    padding-bottom: 14px;
    margin-bottom: 14px;
    border-bottom: 1px solid #d5d9df;
    font-weight: 900;
  }

  .reward__operator {
    width: 46px;
    height: 46px;
  }

  .comparison-card {
    min-height: auto;
  }

  .reason-card {
    min-height: auto;
  }

  .message {
    justify-items: start;
  }

  .entry {
    --entry-scale: 1;
    --entry-content-shift: 0rem;
    --entry-eyebrow-size: 1rem;
    --entry-eyebrow-gap: 1rem;
    --entry-title-size: clamp(2rem, 9vw, 2.75rem);
    --entry-title-line-height: 1.35;
    --entry-title-gap: 1.25rem;
    --entry-lead-size: 1rem;
    --entry-lead-line-height: 1.8;
    --entry-actions-gap: 0.875rem;
    --entry-actions-margin: 2.5rem;
    --entry-button-width: 100%;
    --entry-primary-button-width: 100%;
    --entry-button-height: 4.25rem;
    --entry-button-padding-inline-end: 1.25rem;
    --entry-button-column-gap: 0.625rem;
    --entry-line-button-padding-inline-start: 1.25rem;
    --entry-primary-button-padding-inline-start: 1.5rem;
    --entry-button-font-size: 1rem;
    --entry-line-icon-size: 2.5rem;
    --entry-arrow-icon-size: 2rem;
    --entry-arrow-icon-padding: 0.375rem;
    --entry-note-margin: 2rem;
    --entry-note-size: 0.875rem;
  }

  .day-life {
       --day-route-title-width: 17.5rem;
    --day-route-title-min-height: clamp(4.5rem, 22vw, 5.5rem);
    --day-route-title-padding-block: clamp(1.125rem, 5.5vw, 1.75rem);
    --day-route-title-padding-inline: clamp(1.75rem, 7vw, 2.5rem);
    --day-route-title-left-notch: clamp(1.5rem, 6vw, 2.125rem);
    --day-route-title-right-notch: clamp(1.875rem, 7vw, 2.75rem);
    --day-route-title-gap: 2.5rem;
    --day-route-title-font-size: clamp(1.375rem, 7vw, 1.875rem);
    --day-route-title-main-offset-inline: 0rem;
    --day-route-title-side-offset-inline: 0rem;
    --day-route-title-side-gap: 2.5rem;
  }

  .site-footer {
    --footer-logo-size: clamp(2rem, 10vw, 2.875rem);
    --footer-logo-gap: 0.875rem;
    --footer-description-size: 0.9375rem;
    --footer-brand-padding-end: 1.5rem;
    --footer-brand-description-offset: 0rem;
    --footer-columns-margin-start: 2.5rem;
    --footer-columns-margin-end: 3rem;
    --footer-heading-size: 1.125rem;
    --footer-heading-gap: 1rem;
    --footer-text-size: 0.9375rem;
    --footer-text-line-height: 1.85;
    --footer-bottom-padding-start: 1.25rem;
    --footer-bottom-gap: 0.75rem;
    --footer-bottom-size: 0.8125rem;
  }

  .entry__actions .button {
    min-width: 0;
  }

  .reveal--left,
  .reveal--right {
    transform: translateY(26px);
  }
}

@media (max-width: 30rem) {
  :root {
    --page-padding: 18px;
  }

  h1 {
    font-size: 34px;
  }

  h2 {
    font-size: 28px;
  }

  .hero__logos img,
  .hero__logos img:first-child {
    height: 42px;
  }

  .accent-heading {
    padding-left: 18px;
  }

  .accent-heading::before {
    width: 6px;
  }

  .story__tag,
  .stories__cta .button {
    width: 100%;
    min-width: 0;
  }

  .join .message__body p {
    font-size: var(--join-message-copy-size);
  }

}

@media (max-width: 47.9375rem) {
  .hero {
    --hero-mobile-reference-width: 335;
    --hero-mobile-reference-height: 586;
    --hero-mobile-reference-width-px: 335px;
    --hero-mobile-scale: calc(100vw / var(--hero-mobile-reference-width-px));
    position: relative;
    width: 100%;
    min-height: 0;
    aspect-ratio: var(--hero-mobile-reference-width) / var(--hero-mobile-reference-height);
    overflow: hidden;
  }

  .hero__media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .hero__media img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    object-position: 80% center;
    opacity: 1;
  }

  .hero__content {
    position: absolute;
    top: 23.2%;
    left: 5.7%;
    z-index: 1;
    width: 94.3%;
    max-width: none;
    margin: 0;
    padding: 0;
    gap: 0;
    align-self: auto;
  }

  .hero__content .eyebrow {
    margin: 0 0 calc(14px * var(--hero-mobile-scale));
    font-size: clamp(9px, calc(10px * var(--hero-mobile-scale)), 18px);
    line-height: 1.2;
  }

  .hero__content .hero-title {
    width: 100%;
    margin: 0 0 calc(10px * var(--hero-mobile-scale));
    font-size: clamp(25px, calc(28px * var(--hero-mobile-scale)), 56px);
    line-height: 1.42;
    letter-spacing: 0;
  }

  .hero__content .hero__lead {
    width: 100%;
    margin: 0 0 calc(11px * var(--hero-mobile-scale));
    color: #3f3f3f;
    font-size: clamp(6px, calc(7px * var(--hero-mobile-scale)), 14px);
    font-weight: 500;
    line-height: 1.6;
    white-space: nowrap;
  }

  .hero__content .hero__points {
    display: flex;
    flex-wrap: nowrap;
    gap: calc(18px * var(--hero-mobile-scale));
    width: 100%;
    margin: 0 0 calc(52px * var(--hero-mobile-scale));
    white-space: nowrap;
  }

  .hero__content .hero__points li {
    padding-left: calc(8px * var(--hero-mobile-scale));
    font-size: clamp(7px, calc(9px * var(--hero-mobile-scale)), 17px);
    line-height: 1.35;
  }

  .hero__content .hero__points li::before {
    width: calc(3px * var(--hero-mobile-scale));
    height: calc(3px * var(--hero-mobile-scale));
  }

  .hero__content .button--large {
    justify-content: space-between;
    white-space: nowrap;
    width: calc(212px * var(--hero-mobile-scale));
    height: calc(44px * var(--hero-mobile-scale));
    min-height: calc(44px * var(--hero-mobile-scale));
    padding-inline: calc(17px * var(--hero-mobile-scale)) calc(17px * var(--hero-mobile-scale));
    border-radius: calc(24px * var(--hero-mobile-scale));
    font-size: clamp(12px, calc(14px * var(--hero-mobile-scale)), 24px);
    line-height: 1;
    gap: calc(4px * var(--hero-mobile-scale));
  }

  .hero__content .button--large svg {
    width: calc(24px * var(--hero-mobile-scale));
    height: calc(24px * var(--hero-mobile-scale));
    padding: calc(5px * var(--hero-mobile-scale));
    stroke-width: 2.5;
  }

  .hero__content .button--large span {
    flex: 0 0 auto;
  }

  .hero__content .hero__logos {
    display: flex;
    align-items: center;
    width: calc(222px * var(--hero-mobile-scale));
    height: calc(58px * var(--hero-mobile-scale));
    margin-top: calc(33px * var(--hero-mobile-scale));
    gap: calc(11px * var(--hero-mobile-scale));
  }

  .hero__content .hero__logos img,
  .hero__content .hero__logos img:first-child {
    width: calc(52px * var(--hero-mobile-scale)) !important;
    height: calc(34px * var(--hero-mobile-scale)) !important;
    object-fit: contain;
  }

  .hero__content .hero__logos img:nth-child(2) {
    width: calc(38px * var(--hero-mobile-scale)) !important;
    height: calc(54px * var(--hero-mobile-scale)) !important;
  }

  .hero__content .hero__logos img:nth-child(3) {
    width: calc(42px * var(--hero-mobile-scale)) !important;
    height: calc(41px * var(--hero-mobile-scale)) !important;
  }
  .stories__cta .button svg {
    inline-size: calc(6rem * var(--stories-scale));
    block-size: calc(6rem * var(--stories-scale));
}
}

@media (min-width: 768px) {
  .hero {
    --hero-design-width: 124.5rem;
    --hero-design-ratio: 1992 / 947;
    --hero-scale: clamp(0.385542, calc(100vw / var(--hero-design-width)), 1);
    --hero-content-left: calc(4rem * var(--hero-scale));
    --hero-content-top: calc(4.8rem * var(--hero-scale));
    --hero-content-width: calc(56rem * var(--hero-scale));
    --hero-eyebrow-size: calc(1.375rem * var(--hero-scale));
    --hero-eyebrow-line-height: calc(1.65rem * var(--hero-scale));
    --hero-eyebrow-margin-bottom: calc(2.5rem * var(--hero-scale));
    --hero-title-size: calc(4.625rem * var(--hero-scale));
    --hero-title-line-height: calc(5.4375rem * var(--hero-scale));
    --hero-title-width: calc(52rem * var(--hero-scale));
    --hero-title-margin-bottom: calc(1.95rem * var(--hero-scale));
    --hero-lead-size: calc(1.5rem * var(--hero-scale));
    --hero-lead-line-height: calc(2rem * var(--hero-scale));
    --hero-lead-margin-bottom: calc(2.3rem * var(--hero-scale));
    --hero-points-size: calc(1.5625rem * var(--hero-scale));
    --hero-points-line-height: calc(2rem * var(--hero-scale));
    --hero-points-column-gap: calc(4.375rem * var(--hero-scale));
    --hero-points-padding-left: calc(1.125rem * var(--hero-scale));
    --hero-points-dot-size: calc(0.3125rem * var(--hero-scale));
    --hero-points-margin-bottom: calc(2.4rem * var(--hero-scale));
    --hero-button-width: calc(41rem * var(--hero-scale));
    --hero-button-height: calc(6.75rem * var(--hero-scale));
    --hero-button-padding-x: calc(3.375rem * var(--hero-scale));
    --hero-button-font-size: calc(2.3rem * var(--hero-scale));
    --hero-button-line-height: calc(1.8rem * var(--hero-scale));
    --hero-button-gap: calc(4.5625rem * var(--hero-scale));
    --hero-button-radius: calc(3.375rem * var(--hero-scale));
    --hero-button-icon-size: calc(4.375rem * var(--hero-scale));
    --hero-button-icon-padding: calc(0.3125rem * var(--hero-scale));
    --hero-button-icon-stroke: calc(0.15625rem * var(--hero-scale));
    --hero-logos-width: calc(29.375rem * var(--hero-scale));
    --hero-logos-height: calc(6.25rem * var(--hero-scale));
    --hero-logos-gap: calc(4.15rem * var(--hero-scale));
    --hero-logos-margin-top: calc(2.5rem * var(--hero-scale));
    --hero-logo-primary-width: calc(7.375rem * var(--hero-scale));
    --hero-logo-secondary-width: calc(5.4375rem * var(--hero-scale));
    --hero-logo-tertiary-width: calc(5.025rem * var(--hero-scale));
    width: 100%;
    min-height: 0;
    aspect-ratio: var(--hero-design-ratio);
    overflow: hidden;
  }

  .hero__media {
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  .hero__media img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    object-position: center center;
    opacity: 1;
  }

  .hero__content {
    width: min(var(--hero-content-width), calc(100% - var(--hero-content-left) * 2));
    max-width: none;
    margin-left: var(--hero-content-left);
    align-self: start;
    gap: 0;
    padding-block: var(--hero-content-top) 0;
  }

  .hero__content .eyebrow {
    margin: 0 0 var(--hero-eyebrow-margin-bottom);
    font-size: var(--hero-eyebrow-size);
    line-height: var(--hero-eyebrow-line-height);
    transform: scaleX(0.7);
    margin-left: -14px !important;
  }

  .hero__content .hero-title {
    width: min(100%, var(--hero-title-width));
    margin: 0 0 var(--hero-title-margin-bottom);
    font-size: var(--hero-title-size);
    line-height: var(--hero-title-line-height);
  }

  .hero__content .hero__lead {
    margin: 0 0 var(--hero-lead-margin-bottom);
    font-size: var(--hero-lead-size);
    line-height: var(--hero-lead-line-height);
  }

  .hero__content .hero__points {
    gap: 0 var(--hero-points-column-gap);
    margin: 0 0 var(--hero-points-margin-bottom);
  }

  .hero__content .hero__points li {
    padding-left: var(--hero-points-padding-left);
    font-size: var(--hero-points-size);
    line-height: var(--hero-points-line-height);
  }

  .hero__content .hero__points li::before {
    width: var(--hero-points-dot-size);
    height: var(--hero-points-dot-size);
  }

  .hero__content .button--large {
    width: var(--hero-button-width);
    height: var(--hero-button-height);
    min-height: var(--hero-button-height);
    padding-inline: var(--hero-button-padding-x);
    border-radius: var(--hero-button-radius);
    font-size: var(--hero-button-font-size);
    line-height: var(--hero-button-line-height);
    gap: var(--hero-button-gap);
  }

  .hero__content .button--large svg {
    width: var(--hero-button-icon-size);
    height: var(--hero-button-icon-size);
    padding: var(--hero-button-icon-padding);
    stroke-width: var(--hero-button-icon-stroke);
  }

  .hero__content .hero__logos {
    gap: var(--hero-logos-gap);
    width: var(--hero-logos-width);
    height: var(--hero-logos-height);
    margin-top: var(--hero-logos-margin-top);
  }

  .hero__content .hero__logos img {
    width: var(--hero-logo-primary-width);
    height: auto;
  }

  .hero__content .hero__logos img:nth-child(2) {
    width: var(--hero-logo-secondary-width);
  }

  .hero__content .hero__logos img:nth-child(3) {
    width: var(--hero-logo-tertiary-width);
  }
}

@media (max-width: 48rem) {
  :root {
    --mobile-container-padding: clamp(1.125rem, 4vw, 2rem);
    --mobile-container-max-width: 45rem;
    --mobile-section-padding: clamp(4.5rem, 11vw, 6rem);
    --mobile-section-gap: clamp(2.5rem, 6vw, 3.5rem);
    --mobile-card-gap: 1.25rem;
    --mobile-card-padding: clamp(1.25rem, 4vw, 1.75rem);
    --mobile-card-radius: 4px;
    --mobile-title-size: clamp(35px, calc(29.545px + 1.705vw), 50px);
    --mobile-body-size: clamp(0.9375rem, 2.4vw, 1.0625rem);
  }

  :is(.mission,
    .why-now,
    .reasons,
    .focus,
    .specialized,
    .reward,
    .work-way,
    .day-life,
    .stories,
    .join,
    .faq,
    .entry,
    .site-footer)>.container {
    inline-size: min(calc(100% - (var(--mobile-container-padding) * 2)),
        var(--mobile-container-max-width));
    max-inline-size: none;
    margin-inline: auto;
    padding-inline: 0;
  }

  :is(.mission,
    .why-now,
    .reasons,
    .focus,
    .specialized,
    .reward,
    .work-way,
    .day-life,
    .stories,
    .join,
    .faq,
    .entry) {
    block-size: auto;
    min-block-size: 0;
    aspect-ratio: auto;
    padding-block: var(--mobile-section-padding);
  }

  :is(.why-now,
    .reasons,
    .focus,
    .specialized,
    .reward,
    .work-way,
    .day-life,
    .stories,
    .join,
    .faq,
    .entry) {
    display: block;
  }

  :is(.mission,
    .why-now,
    .reasons,
    .focus,
    .specialized,
    .reward,
    .work-way,
    .day-life,
    .stories,
    .join,
    .faq,
    .entry) br {
    display: none;
  }

  :is(.mission,
    .why-now,
    .reasons,
    .focus,
    .specialized,
    .reward,
    .work-way,
    .day-life,
    .stories,
    .join,
    .faq,
    .entry,
    .site-footer) img {
    max-inline-size: 100%;
  }

  :is(.mission,
    .why-now,
    .reasons,
    .focus,
    .specialized,
    .reward,
    .work-way,
    .day-life,
    .stories,
    .join,
    .faq,
    .entry) .eyebrow {
    margin: 0 0 1rem;
    font-size: 0.8125rem;
    line-height: 1.2;
  }

  .mission {
    display: grid;
    align-items: center;
    overflow: hidden;
  }

  .mission h2 {
    margin: 0 0 1.5rem;
    font-size: clamp(1.5rem, 5.25vw, 2.25rem);
    line-height: 1.5;
  }

  .mission p:not(.eyebrow) {
    margin: 0;
    font-size: var(--mobile-body-size);
    line-height: 1.85;
  }

  .why-now {
    position: relative;
    overflow: hidden;
    isolation: isolate;
  }

  .why-now__media {
    position: absolute;
    inset: 0;
    z-index: -2;
    inline-size: 100%;
    block-size: 100%;
    min-block-size: 0;
    margin: 0;
    background-position: center;
    background-size: cover;
    opacity: 0.28;
  }

  .why-now::after {
    position: absolute;
    inset: 0;
    z-index: -1;
    inline-size: 100%;
    block-size: 100%;
    background: rgba(239, 239, 239, 0.66);
    pointer-events: none;
  }

  .why-now__content {
    position: relative;
    z-index: 1;
    display: block;
    padding-block-start: 0;
  }

  .why-now .eyebrow,
  .why-now h2,
  .why-now__lead,
  .why-now__cards {
    inline-size: 100%;
    max-inline-size: none;
    margin-inline: 0;
  }

  .why-now h2 {
    margin-block: 0 1.25rem;
    font-size: var(--mobile-title-size);
    line-height: 1.4;
  }

  .why-now__lead {
    margin-block: 0 var(--mobile-section-gap);
    font-size: var(--mobile-body-size);
    line-height: 1.85;
  }

  .why-now__cards {
    --why-card-mobile-title-min-block-size: clamp(
      2.875rem,
      9.2vw,
      3.7375rem
    );
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(17rem, 100%), 1fr));
    grid-auto-rows: 1fr;
    align-items: stretch;
    gap: var(--mobile-card-gap);
  }

  .why-card {
    display: flex;
    flex: 0 0 auto;
    align-self: stretch;
    align-items: flex-start;
    gap: 1rem;
    inline-size: 100%;
    min-inline-size: 0;
    max-inline-size: none;
    block-size: 100%;
    min-block-size: 0;
    padding: var(--mobile-card-padding);
    border-radius: 0.25rem;
  }

  .why-card .why-card__icon {
    align-self: flex-start;
    inline-size: 3rem;
    block-size: 3rem;
    margin: 0;
  }

  .why-card .why-card__icon svg {
    inline-size: 1.5rem;
    block-size: 1.5rem;
  }

  .why-card__content {
    align-self: stretch;
    min-inline-size: 0;
    block-size: 100%;
    gap: 0.5rem;
    margin-block-start: 0;
  }

  .why-card__title {
    flex: 0 0 auto;
    min-block-size: var(--why-card-mobile-title-min-block-size);
    font-size: clamp(1.25rem, 4vw, 1.625rem);
    line-height: 1.15;
    overflow-wrap: anywhere;
  }

  .why-card__description {
    flex: 1 1 auto;
    font-size: 0.9375rem;
    line-height: 1.65;
    overflow-wrap: anywhere;
  }

  .reasons>.container {
    display: block;
  }

  .reasons .section-heading {
    inline-size: 100%;
    max-inline-size: none;
    margin-block-end: var(--mobile-section-gap);
  }

  .reasons .eyebrow {
    margin-block-end: 1rem;
  }

  .reasons h2 {
    margin: 0;
    font-size: var(--mobile-title-size);
    line-height: 1.4;
  }

  .reason-grid {
    --reason-card-mobile-title-min-block-size: clamp(
      3.375rem,
      10.5vw,
      4.125rem
    );
    grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
    grid-auto-rows: 1fr;
    align-items: stretch;
    inline-size: 100%;
    max-inline-size: none;
    gap: var(--mobile-card-gap);
  }

  .reason-card {
    display: flex;
    align-self: stretch;
    flex-direction: column;
    inline-size: 100%;
    min-inline-size: 0;
    max-inline-size: none;
    block-size: 100%;
    min-block-size: 0;
    padding: var(--mobile-card-padding);
    border-radius: var(--mobile-card-radius);
  }

  .reason-card span {
    inline-size: 3rem;
    block-size: 3rem;
    margin-block-end: 1rem;
    font-size: 1.125rem;
  }

  .reason-card h3 {
    block-size: auto;
    min-block-size: var(--reason-card-mobile-title-min-block-size);
    margin-block-end: 0.875rem;
    font-size: clamp(1.125rem, 3.5vw, 1.375rem);
    line-height: 1.5;
    overflow-wrap: anywhere;
  }

  .reason-card p {
    flex: 1 1 auto;
    font-size: 0.9375rem;
    line-height: 1.7;
    overflow-wrap: anywhere;
  }

  .focus__grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "intro"
      "image"
      "support"
      "work";
    gap: var(--mobile-section-gap);
    inline-size: 100%;
  }

  .focus__intro {
    inline-size: 100%;
    margin: 0;
  }

  .focus__intro .eyebrow {
    margin-block-end: 1rem;
    font-size: 0.8125rem;
    line-height: 1.2;
  }

  .focus__intro h2 {
    margin: 0 0 1.25rem;
    font-size: var(--mobile-title-size);
    line-height: 1.45;
  }

  .focus__intro p:not(.eyebrow) {
    margin: 0;
    font-size: var(--mobile-body-size);
    line-height: 1.85;
  }

  .focus__image {
    inline-size: 100%;
    block-size: auto;
    aspect-ratio: 512 / 342;
    border-radius: var(--mobile-card-radius);
    object-fit: cover;
  }

  .support-box {
    align-self: start;
    inline-size: 100%;
    min-block-size: 0;
    margin: 0;
    padding: var(--mobile-card-padding);
    border-radius: var(--mobile-card-radius);
  }

  .support-box h3 {
    margin-block-end: 1.5rem;
    font-size: clamp(1.125rem, 4vw, 1.375rem);
    line-height: 1.5;
  }

  .support-box ul {
    grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
    gap: 0.875rem 1rem;
    padding: 0;
    font-size: 0.8375rem;
    font-weight: 400;
    line-height: 1.6;
  }

  .support-box li {
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .agent-work {
    justify-self: stretch;
    inline-size: 100%;
    max-inline-size: 100%;
    margin: 0;
  }

  .agent-work h3 {
    margin-block-end: 1.25rem;
    font-size: clamp(1.375rem, 4.5vw, 1.75rem);
    line-height: 1.45;
  }

  .agent-work ul {
    padding: 0;
  }

  .agent-work li {
    gap: 0.875rem;
    min-block-size: 0;
    padding-block: 1rem;
    padding-inline-start: 0.25rem;
    font-size: 0.9375rem;
    line-height: 1.65;
  }

  .agent-work .check-icon {
    inline-size: 1.125rem;
    block-size: 0.625rem;
    border-left-width: 0.1875rem;
    border-bottom-width: 0.1875rem;
  }

  .specialized .accent-heading {
    max-inline-size: 100%;
    margin: 0 0 var(--mobile-section-gap);
    padding-inline-start: 1.25rem;
    font-size: var(--mobile-title-size);
    line-height: 1.4;
  }

  .specialized .accent-heading::before {
    inline-size: 0.375rem;
  }

  .comparison-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(19rem, 100%), 1fr));
    grid-auto-rows: 1fr;
    align-items: stretch;
    inline-size: 100%;
    gap: var(--mobile-card-gap);
  }

  .comparison-card {
    display: flex;
    align-self: stretch;
    flex-direction: column;
    inline-size: 100%;
    min-inline-size: 0;
    max-inline-size: none;
    block-size: 100%;
    min-block-size: 0;
    padding: var(--mobile-card-padding);
    border-radius: 0.25rem;
  }

  .comparison-card h3 {
    flex: 0 0 auto;
    margin-block-end: 1.5rem;
    font-size: clamp(1.25rem, 4vw, 1.5rem);
    overflow-wrap: anywhere;
  }

  .comparison-card > :is(.cross-list, .check-list) {
    flex: 1 1 auto;
    min-inline-size: 0;
    align-content: start;
  }

  .comparison-card > :is(.cross-list, .check-list) li {
    min-inline-size: 0;
    overflow-wrap: anywhere;
  }

  .cross-list,
  .check-list {
    gap: 1rem;
    font-size: 0.9375rem;
    line-height: 1.65;
  }

  .cross-list li,
  .check-list li {
    grid-template-columns: 1.5rem minmax(0, 1fr);
    align-items: start;
    gap: 0.625rem;
  }

  .cross-list li::before {
    inline-size: 0.875rem;
    block-size: 0.875rem;
    margin-block-start: 0.3125rem;
  }

  .check-list li::before {
    inline-size: 1.125rem;
    block-size: 0.625rem;
    margin-block-start: 0.25rem;
    border-left-width: 0.1875rem;
    border-bottom-width: 0.1875rem;
  }

  .reward h2 {
    margin: 0 0 var(--mobile-section-gap);
    font-size: var(--mobile-title-size);
    line-height: 1.4;
  }

  .reward__image {
    position: absolute;
    display: block;
    inline-size: 0.0625rem;
    block-size: 0.0625rem;
    margin: -0.0625rem;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }

  .reward__mobile {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--mobile-card-gap);
  }

  .reward__mobile article {
    align-self: start;
    inline-size: 100%;
    padding: var(--mobile-card-padding);
    color: #141b2a;
    background: #fff;
    border-radius: var(--mobile-card-radius);
    box-shadow: var(--shadow-card);
  }

  .reward__mobile article span {
    display: inline-grid;
    place-items: center;
    inline-size: 2.5rem;
    block-size: 2.5rem;
    margin-block-end: 0.875rem;
    color: var(--color-red);
    border-radius: 50%;
    background: rgba(255, 45, 34, 0.1);
    font-weight: 900;
  }

  .reward__mobile h3 {
    margin-block-end: 0.75rem;
    font-size: 1.125rem;
    line-height: 1.45;
  }

  .reward__mobile strong {
    padding-block-end: 0.875rem;
    margin-block-end: 0.875rem;
    font-size: clamp(1.875rem, 8vw, 2.5rem);
    line-height: 1.15;
    overflow-wrap: anywhere;
  }

  .reward__mobile p {
    margin: 0;
    color: #69717f;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.65;
  }

  .reward__mobile article.reward__mobile-result {
    color: #fff;
    background: linear-gradient(135deg, #ed3d4d, #c71924);
  }

  .reward__mobile .reward__mobile-result span {
    color: #fff;
    background: rgba(255, 255, 255, 0.18);
  }

  .reward__mobile .reward__mobile-result p {
    color: rgba(255, 255, 255, 0.82);
  }

  .reward__operator {
    display: grid;
    place-items: center;
    inline-size: 2.75rem;
    block-size: 2.75rem;
    margin-inline: auto;
    color: #fff;
    border-radius: 50%;
    background: #e67979;
    font-size: 1.75rem;
    font-weight: 900;
    line-height: 1;
  }

  .reward__note {
    max-inline-size: none;
    margin: 2.5rem 0 0;
    padding-inline-start: 1.25rem;
    font-size: 0.9375rem;
    line-height: 1.7;
  }

  .reward__note::before {
    inline-size: 0.25rem;
  }

  .work-way {
    --work-feature-icon-container-size: 3rem;
    --work-feature-icon-size: 1.5rem;
  }

  .work-way .section-heading {
    max-inline-size: 100%;
    margin: 0 auto var(--mobile-section-gap);
  }

  .work-way .section-heading .eyebrow {
    margin-block-end: 1rem;
    font-size: 0.8125rem;
  }

  .work-way .section-heading h2 {
    margin: 0 0 1.25rem;
    font-size: var(--mobile-title-size);
    line-height: 1.4;
  }

  .work-way .section-heading p:not(.eyebrow) {
    margin: 0;
    font-size: var(--mobile-body-size);
    line-height: 1.8;
  }

  .work-way__grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "photoTop"
      "featuresRight"
      "photoBottom"
      "featuresLeft";
    gap: 2rem;
    inline-size: 100%;
  }

  .work-way__image {
    inline-size: 100%;
    block-size: auto;
    aspect-ratio: 512 / 342;
    margin-inline-start: 0;
    border-radius: var(--mobile-card-radius);
    object-fit: cover;
  }

  .work-way__features,
  .work-way__features--left {
    grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr));
    justify-items: stretch;
    gap: 1rem;
    inline-size: 100%;
    padding-inline-start: 0;
  }

  .work-feature {
    align-self: start;
    gap: 1rem;
    inline-size: 100%;
    block-size: auto;
    min-block-size: 0;
    padding: 1.125rem;
    border-radius: 0.16rem;
  }

  .work-feature h3 {
    margin-block-end: 0.375rem;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.4;
  }

  .work-feature p {
    font-size: 0.875rem;
    line-height: 1.55;
  }

  .day-life {
    --day-life-timeline-image-scale: clamp(0.4, calc(100vw / 48rem), 1.1);
    --day-photo-opacity: 0.13;
    --day-photo-radius: calc(0.25rem * var(--day-life-timeline-image-scale));
    --day-left-up-width: calc(39rem * var(--day-life-timeline-image-scale));
    --day-left-up-height: calc(29rem * var(--day-life-timeline-image-scale));
    --day-left-up-x: 0.125rem;
    --day-left-up-y: 10.625rem;
    --day-left-up-rotation: -10deg;
    --day-left-down-width: calc(35rem * var(--day-life-timeline-image-scale));
    --day-left-down-height: calc(27rem * var(--day-life-timeline-image-scale));
    --day-left-down-x: calc(5.75rem * var(--day-life-timeline-image-scale));
    --day-left-down-y: 33.5rem;
    --day-left-down-rotation: 12deg;
    --day-right-photo-width: calc(39rem * var(--day-life-timeline-image-scale));
    --day-right-photo-height: calc(27rem * var(--day-life-timeline-image-scale));
    --day-right-photo-x: calc(3.25rem * var(--day-life-timeline-image-scale));
    --day-right-photo-y: 17.625rem;
    --day-right-photo-rotation: 7deg;
  }

  .day-life .eyebrow {
    margin-block-end: 1rem;
    font-size: 0.8125rem;
  }

  .day-life h2 {
    margin: 0 0 var(--mobile-section-gap);
    font-size: var(--mobile-title-size);
    line-height: 1.4;
  }

  .timeline-grid {
    grid-template-columns: 1fr;
    gap: 4.5rem;
    margin-inline-start: 0;
  }

  .timeline-column {
    overflow: clip;
    overflow-clip-margin: 2rem;
  }

  .day-life__route-title {
    --day-route-title-left-notch: 1.25rem;
    --day-route-title-right-notch: 1.75rem;
    --day-life-route-shadow-inline: 0.1875rem;
    --day-life-route-shadow-block: 0.25rem;
    --day-life-route-shadow-blur: 0.25rem;
    --day-life-route-shadow-color: rgba(0, 0, 0, 0.2);
    inline-size: min(100%, 13rem);
    min-block-size: 3.75rem;
    margin: 0 0 2.25rem;
    padding-block: 1rem;
    padding-inline: 2.25rem;
   /*  font-size: clamp(1.25rem, 4vw, 1.5rem); */
   font-size:clamp(1.250rem, calc(1.205rem + 0.227vw), 1.375rem);
    line-height: 1.2;
  }

  .day-life__route-title--main,
  .day-life__route-title--side {
    margin-inline-start: 0;
  }

  .timeline-column:nth-child(2)>.timeline-list {
    margin-block-start: 0;
  }

  .timeline-list {
    gap: 1.75rem;
    inline-size: 100%;
  }

  .timeline-list::before {
    --timeline-mobile-marker-offset: 0.125rem;
    --timeline-mobile-marker-size: 1.375rem;
    --timeline-mobile-marker-center: calc(
      var(--timeline-mobile-marker-offset) +
      (var(--timeline-mobile-marker-size) / 2)
    );
    block-size: auto;
    inset-block-start: 0.75rem;
    inset-block-end: calc(
      0rem - 1.75rem - var(--timeline-mobile-marker-center)
    );
    inset-inline-start: 0.625rem;
    border-inline-start: 0.125rem solid var(--color-red);
  }

  .timeline-column:first-child > .timeline-list::before {
    grid-row: 1 / 7;
  }

  .timeline-column:nth-child(2) > .timeline-list::before {
    grid-row: 1 / 6;
  }

  .timeline-list li {
    padding-inline-start: 2.75rem;
  }

  .timeline-list li::before {
    inset-block-start: 0.125rem;
    inline-size: 1.375rem;
    block-size: 1.375rem;
    border-width: 0.125rem;
    box-shadow: inset 0 0 0 0.25rem #fff;
  }

  .timeline-list time {
    display: block;
    margin: 0 0 0.25rem;
    font-size: 0.875rem;
    line-height: 1.4;
  }

  .timeline-list strong {
    display: block;
    font-size: 1rem;
    line-height: 1.55;
  }

  .timeline-list p {
    max-inline-size: 100%;
    margin: 0.5rem 0 0;
    font-size: 0.9375rem;
    line-height: 1.75;
  }

  .stories h2 {
    margin: 0 0 var(--mobile-section-gap);
    font-size: var(--mobile-title-size);
    line-height: 1.4;
  }

  .story,
  .story--second {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    inline-size: 100%;
    margin-inline-start: 0;
  }

  .story--second {
    margin-block-start: 3.75rem;
  }

  .story--second figure {
    order: 1;
  }

  .story--second .story__body {
    order: 2;
  }

  .story figure {
    inline-size: 100%;
  }

  .story img {
    inline-size: min(100%, 18rem);
    block-size: auto;
    aspect-ratio: 334 / 500;
    margin-inline: auto;
    object-fit: cover;
  }

  .story figcaption {
    margin-block-start: 0.875rem;
    font-size: 1.5rem;
  }

  .story__role {
     min-inline-size: 0;
    min-block-size: 3.1rem;
    margin: 0 0 1.25rem;
    padding-inline: 2rem;
    font-size: clamp(0.938rem, calc(0.625rem + 1.563vw), 1.375rem);
  }
  
  .story h3 {
    margin: 0 0 1.25rem;
    font-size: clamp(1.25rem, 4.5vw, 1.625rem);
    line-height: 1.5;
  }

  .story__tag {
    inline-size: fit-content;
    max-inline-size: 100%;
    min-block-size: 2.75rem;
    margin: 0 0 1.25rem;
    padding-inline: 5rem;
    font-size: clamp(1.250rem, calc(0.804rem + 2.232vw), 1.875rem);
    line-height: 2.2;
  }
  .story_tag1{
    letter-spacing: 17%;
  }

  .story__body p:last-child {
    font-size: 1.0375rem;
    line-height: 1.85;
  }

  .stories__cta {
    margin-block-start: 3.5rem;
  }

  .stories__cta .button {
    --button-height: 4.5rem;
    --button-gap: 1rem;
    --button-icon-size: 6.25rem;
    --button-icon-padding: 0.5rem;
    justify-content: space-between;
    inline-size: min(100%, 24rem);
    block-size: auto;
    min-block-size: var(--button-height);
    padding-inline: 1.25rem;
    border-radius: 0;
    font-size: 1.2rem;
  }

  .join__steps {
    grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr));
    justify-content: stretch;
    gap: 3rem;
    margin-block-end: 4.5rem;
  }

  .join__steps h3 {
    margin-block-end: 1.25rem;
    font-size: 1.375rem;
  }

  .step-row {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .step-card {
    inline-size: 100%;
    max-inline-size: 100%;
    block-size: auto;
    min-block-size: 0;
    padding: var(--mobile-card-padding);
    border-radius: var(--mobile-card-radius);
  }

  .step-card span {
    margin-block-end: 0.875rem;
    font-size: 1.5rem;
  }

  .step-card strong {
    margin-block-end: 0.75rem;
    font-size: 1rem;
  }

  .step-card p {
    font-size: 0.875rem;
    line-height: 1.75;
  }

  .message {
    grid-template-columns: 1fr;
    gap: 2rem;
    inline-size: 100%;
    margin-inline-start: 0;
  }

  .message>img {
    inline-size: min(100%, 18rem);
    block-size: auto;
    margin-inline: auto;
  }

  .message__body {
    inline-size: 100%;
    padding-block-start: 0;
  }

  .message__body .eyebrow {
    margin-block-end: 1rem;
    font-size: 0.8125rem;
  }

  .message__body h3 {
    margin-block-end: 1.25rem;
    font-size: var(--mobile-title-size);
    line-height: 1.45;
  }

  .message__body p {
    font-size: 0.9375rem;
    line-height: 1.85;
  }

  .message__body .message__name {
    margin-block-start: 1.25rem;
    margin-inline-start: 0;
  }

  .message__signature {
    inline-size: min(15rem, 72%);
    margin-block-start: 0.5rem;
    margin-inline-start: 0;
  }

  .faq__questions > .eyebrow {
    margin-block-end: 1rem;
    font-size: 0.8125rem;
    letter-spacing: 0.24em;
  }

  .faq .accent-heading {
    padding-inline-start: 1.25rem;
  }

  .faq .accent-heading::before {
    inline-size: 0.375rem;
  }

  .faq .accent-heading--small {
    font-size: clamp(1.75rem, 6vw, 2.5rem);
    line-height: 1.35;
  }

  .faq-list {
    inline-size: 100%;
    margin: 3rem 0 0;
  }

  .faq-item {
    inline-size: 100%;
  }

  .faq-item button {
    min-block-size: 3.75rem;
    padding-block: 1.125rem;
    padding-inline: 0 3rem;
    font-size: 1rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
  }

  .faq-item button span {
    inset-inline-end: 0.5rem;
    inline-size: 0.6rem;
    block-size: 0.6rem;
    border-width: 0 0.125rem 0.125rem 0;
  }

  .faq-item__answer>p {
    font-size: 0.8375rem;
    line-height: 1.8;
  }

  .faq-item:has(button[aria-expanded="true"]) .faq-item__answer>p {
    padding-block-end: 1.25rem;
  }

  .recruit {
    margin-block-start: 4.5rem;
  }

  .recruit dl {
    row-gap: 1.25rem;
    inline-size: 100%;
    margin: 2rem 0 0;
    padding: var(--mobile-card-padding);
    border-radius: var(--mobile-card-radius);
  }

  .recruit dl div {
    grid-template-columns: 1fr;
    gap: 0.375rem;
  }

  .recruit dt {
    font-size: 1.025rem;
    line-height: 2;
  }

  .recruit dd {
    font-size: 0.9375rem;
    line-height: 1.7;
    overflow-wrap: anywhere;
  }

  .entry {
    position: relative;
    padding-block: clamp(5rem, 12vw, 7rem);
    overflow: hidden;
  }

  .entry__media {
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    background-position: center;
  }

  .entry__content {
    text-align: center;
    transform: none;
  }

  .entry .eyebrow {
    margin-block-end: 1rem;
    font-size: 0.8125rem;
  }

  .entry h2 {
    margin: 0;
    font-size: var(--mobile-title-size);
    line-height: 1.4;
  }

  .entry h2+p {
    max-inline-size: 38rem;
    margin: 1.25rem auto 0;
    font-size: var(--mobile-body-size);
    line-height: 1.8;
  }

  .entry__actions {
    flex-direction: column;
    inline-size: min(100%, 32rem);
    gap: 0.875rem;
    margin: 2.5rem auto 0;
  }

  .entry__actions .button {
    --button-icon-size: 2rem;
    --button-icon-padding: 0.375rem;
    grid-template-columns: minmax(0, 1fr) 2rem;
    inline-size: 100%;
    block-size: auto;
    min-block-size: 4rem;
    padding-block: 0.625rem;
    padding-inline: 1rem;
    column-gap: 0.75rem;
    border-radius: 5px;
    font-size: 1.0375rem;
    line-height: 1.3;
  }

  .entry__actions .button--line {
    --button-line-icon-size: 2.25rem;
    grid-template-columns: 2.25rem minmax(0, 1fr) 2rem;
    padding-inline-start: 1rem;
  }

  .entry__actions .button span {
    grid-column: 1;
    min-inline-size: 0;
    justify-self: center;
    white-space: normal;
    text-align: center;
    overflow-wrap: anywhere;
  }

  .entry__actions .button--line span {
    grid-column: 2;
  }

  .entry__actions .button--primary svg {
    grid-column: 2;
  }

  .entry__actions .button--line > svg:last-child {
    grid-column: 3;
  }

  .entry .entry__note {
    margin: 1.5rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.65;
  }

  .site-footer {
    display: block;
    block-size: auto;
    min-block-size: 0;
    padding-block: 4.5rem;
    aspect-ratio: auto;
  }

  .site-footer__brand {
    padding-block-end: 1.5rem;
  }

  .site-footer h2 {
    margin-block-end: 0.875rem;
    font-size: clamp(2rem, 8vw, 2.75rem);
    line-height: 1.1;
  }

  .site-footer__brand p {
    margin-inline-start: 0;
    font-size: 0.875rem;
    line-height: 1.6;
  }

  .site-footer__columns {
    grid-template-columns: 1fr;
    gap: 2.25rem;
    margin-block: 2.5rem 3rem;
  }

  .site-footer__columns>section,
  .site-footer__columns>section:first-child,
  .site-footer__columns>section:nth-child(2),
  .site-footer__columns>section:nth-child(3) {
    grid-column: auto;
    grid-row: auto;
  }

  .site-footer h3 {
    margin-block-end: 0.875rem;
    font-size: 1.0625rem;
  }

  .site-footer address,
  .site-footer li,
  .site-footer a {
    font-size: 0.9375rem;
    line-height: 1.8;
    overflow-wrap: anywhere;
  }

  .site-footer__bottom {
    flex-direction: column;
    gap: 0.5rem;
    padding-block-start: 1.25rem;
  }

  .site-footer__bottom p {
    font-size: 0.75rem;
    line-height: 1.6;
  }
}

/* Keep the photos tied to their desktop timeline events as mobile copy wraps. */
@media (max-width: 39.375rem) {
  .day-life {
    --day-left-down-y: 35rem;
  }
}

@media (max-width: 36.25rem) {
  .day-life {
    --day-left-down-y: 36.625rem;
  }
}

@media (max-width: 31.25rem) {
  .day-life {
    --day-left-down-y: 38.625rem;
  }
}

@media (max-width: 30rem) {
  .day-life {
    --day-right-photo-y: 24.25rem;
  }
}

@media (max-width: 28.75rem) {
  .day-life {
    --day-right-photo-y: 25.875rem;
  }
}

@media (max-width: 26.875rem) {
  .day-life {
    --day-left-up-y: 14.375rem;
    --day-left-down-y: 40.375rem;
  }
}

@media (max-width: 22.5rem) {
  .day-life {
    --day-right-photo-y: 27rem;
  }
}

@media (max-width: 21.25rem) {
  .day-life {
    --day-left-down-y: 43rem;
  }
}

@media (min-width: 48.0625rem) and (max-width: 120rem) {
  .entry {
    --entry-media-width: clamp(27.875rem, 58.0729167vw, 69.6875rem);
    --entry-content-shift: clamp(-1.625rem, -1.3541667vw, -0.625rem);
    --entry-eyebrow-size: clamp(0.75rem, 1.4583333vw, 1.75rem);
    --entry-eyebrow-gap: clamp(0.5rem, 0.8333333vw, 1rem);
    --entry-title-size: clamp(1.75rem, 3.3333333vw, 4rem);
    --entry-title-line-height: 1.7;
    --entry-title-gap: 0rem;
    --entry-lead-size: clamp(0.75rem, 1.4791667vw, 1.775rem);
    --entry-lead-line-height: 1.35;
    --entry-actions-gap: clamp(2.625rem, 4.375vw, 5.25rem);
    --entry-actions-margin: clamp(2.3125rem, 3.8541667vw, 4.625rem);
    --entry-button-width: clamp(13.53125rem, 22.5520833vw, 27.0625rem);
    --entry-primary-button-width: clamp(13.46875rem, 22.4479167vw, 26.9375rem);
    --entry-button-height: clamp(2.9375rem, 4.8958333vw, 5.875rem);
    --entry-button-padding-inline-end: clamp(1.40625rem, 2.34375vw, 2.8125rem);
    --entry-button-column-gap: clamp(0.3125rem, 0.5208333vw, 0.625rem);
    --entry-line-button-padding-inline-start: clamp(3rem, 5vw, 6rem);
    --entry-primary-button-padding-inline-start: clamp(1.8125rem, 3.0208333vw, 3.625rem);
    --entry-button-font-size: clamp(0.6875rem, 1.0416667vw, 1.25rem);
    --entry-line-icon-size: clamp(1.75rem, 2.9166667vw, 3.5rem);
    --entry-arrow-icon-size: clamp(1.563rem, calc(0.604rem + 1.997vw), 3.000rem);
    --entry-arrow-icon-padding: clamp(0.21875rem, 0.3645833vw, 0.4375rem);
    --entry-note-margin: clamp(2rem, 3.3333333vw, 4rem);
    --entry-note-size: clamp(0.625rem, 1.1979167vw, 1.4375rem);
    display: flex;
    align-items: center;
    justify-content: center;
    block-size: auto;
    min-block-size: 0;
    padding-block: 0;
    overflow: hidden;
    aspect-ratio: 1920 / 1090;
  }

  .entry > .container {
    inline-size: min(75%, 90rem);
    max-inline-size: none;
    margin-inline: auto;
    padding-inline: 0;
  }

  .entry__media {
    inset: 0;
    inline-size: min(100%, var(--entry-media-width));
    block-size: 100%;
    margin-inline: auto;
    background-position: center 39%;
    background-size: cover;
  }

  .entry__content {
    text-align: center;
    transform: translateY(var(--entry-content-shift));
  }

  .entry .eyebrow {
    margin: 0 0 var(--entry-eyebrow-gap);
    font-size: var(--entry-eyebrow-size);
  }

  .entry h2 {
    margin: 0 0 var(--entry-title-gap);
    font-size: var(--entry-title-size);
    line-height: var(--entry-title-line-height);
  }

  .entry h2 + p {
    max-inline-size: none;
    margin: var(--entry-note-margin) 0 0;
    font-size: var(--entry-lead-size);
    line-height: var(--entry-lead-line-height);
  }

  .entry__actions {
    flex-direction: row;
    inline-size: 100%;
    justify-content: center;
    gap: var(--entry-actions-gap);
    margin: var(--entry-actions-margin) 0 0;
  }

  .entry__actions .button {
    --button-height: var(--entry-button-height);
    --button-icon-size: var(--entry-arrow-icon-size);
    --button-icon-padding: var(--entry-arrow-icon-padding);
    display: grid;
    flex: 0 0 auto;
    grid-template-columns:
      max-content minmax(0, 1fr) var(--entry-arrow-icon-size);
    inline-size: var(--entry-button-width);
    block-size: var(--entry-button-height);
    min-inline-size: 0;
    min-block-size: var(--entry-button-height);
    padding-block: 0;
    padding-inline:
      var(--entry-primary-button-padding-inline-start)
      var(--entry-button-padding-inline-end);
    column-gap: var(--entry-button-column-gap);
    font-size: var(--entry-button-font-size);
  }

  .entry__actions .button--line {
    grid-template-columns:
      var(--entry-line-icon-size)
      max-content
      minmax(0, 1fr)
      var(--entry-arrow-icon-size);
    padding-inline-start: var(--entry-line-button-padding-inline-start);
  }

  .entry__actions .button--primary {
    inline-size: var(--entry-primary-button-width);
    padding-inline-start: var(--entry-primary-button-padding-inline-start);
  }

  .entry__actions .button span {
    min-inline-size: 0;
    white-space: nowrap;
  }

  .entry .entry__note {
    margin: var(--entry-note-margin) 0 0;
    font-size: var(--entry-note-size);
    line-height: 1.35;
  }

  .site-footer {
    --footer-logo-size:
      clamp(1.75rem, 3.0208333vw, 3.625rem);
    --footer-logo-gap:
      clamp(0.5rem, 0.9375vw, 1.125rem);
    --footer-description-size:
      clamp(0.75rem, 0.9375vw, 1.125rem);
    --footer-brand-padding-end:
      clamp(0.75rem, 1.3541667vw, 1.625rem);
    --footer-brand-description-offset:
      clamp(0.5rem, 1.1458333vw, 1.375rem);
    --footer-columns-gap:
      clamp(3.5rem, 7.2916667vw, 8.75rem);
    --footer-columns-margin-start:
      clamp(1rem, 1.875vw, 2.25rem);
    --footer-columns-margin-end:
      clamp(2.375rem, 4.8958333vw, 5.875rem);
    --footer-company-width:
      clamp(18rem, 31.25vw, 37.5rem);
    --footer-side-width:
      clamp(10rem, 20.8333333vw, 25rem);
    --footer-side-row-gap:
      clamp(1.5rem, 2.9166667vw, 3.5rem);
    --footer-heading-size:
      clamp(0.875rem, 1.25vw, 1.5rem);
    --footer-heading-gap:
      clamp(0.75rem, 1.4583333vw, 1.75rem);
    --footer-text-size:
      clamp(0.75rem, 1.0416667vw, 1.25rem);
    --footer-bottom-padding-start:
      clamp(0.75rem, 1.25vw, 1.5rem);
    --footer-bottom-gap:
      clamp(0.75rem, 1.25vw, 1.5rem);
    --footer-bottom-size:
      clamp(0.6875rem, 0.8333333vw, 1rem);
    min-block-size:
      clamp(28rem, 49.4791667vw, 59.375rem);
    padding-block:
      clamp(2.375rem, 5vw, 6rem);
    aspect-ratio: 1920 / 950;
  }

  .site-footer > .container {
    inline-size: min(75%, 90rem);
    max-inline-size: none;
    margin-inline: auto;
  }

  .site-footer__inner,
  .site-footer__brand,
  .site-footer__columns,
  .site-footer__columns > section,
  .site-footer__bottom,
  .site-footer__bottom > * {
    min-inline-size: 0;
  }

  .site-footer__columns {
    grid-template-columns:
      minmax(0, var(--footer-company-width))
      minmax(0, var(--footer-side-width));
    gap: var(--footer-side-row-gap) var(--footer-columns-gap);
    inline-size: 100%;
  }

  .site-footer__bottom {
    flex-wrap: wrap;
  }

  .site-footer__brand p,
  .site-footer address,
  .site-footer li,
  .site-footer a,
  .site-footer__bottom p {
    overflow-wrap: anywhere;
  }
}

@media (min-width: 40rem) and (max-width: 48rem) {
  .reward__mobile {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
  }

  .reward__mobile article {
    align-self: stretch;
    padding: 1.25rem 1rem;
  }

  .reward__mobile h3 {
    font-size: 0.875rem;
  }

  .reward__mobile strong {
    font-size: clamp(1.25rem, 3vw, 1.5rem);
  }

  .reward__mobile p {
    font-size: 0.75rem;
  }

  .reward__operator {
    inline-size: 2rem;
    block-size: 2rem;
    font-size: 1.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }

  .reveal {
    opacity: 1;
    transform: none;
  }
}
