@charset "utf-8";

.opening_compare_title_mobile {
  display: none;
}

.opening_mobile_break {
  display: none;
}

@media (max-width: 767px) {
  .opening_strategy_section h2 {
    margin-bottom: 42px;
    font-size: clamp(20px, 5.8vw, 25px);
    line-height: 1.4;
    letter-spacing: -.055em;
    white-space: nowrap;
  }

  .opening_strategy_cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .opening_strategy_card {
    min-height: 250px;
    padding: 24px 12px;
    border-radius: 18px;
  }

  .opening_strategy_copy h3 {
    margin-bottom: 8px;
    font-size: clamp(20px, 5.5vw, 25px);
  }

  .opening_strategy_copy p {
    font-size: clamp(12px, 3.3vw, 15px);
  }

  .opening_channel_swiper {
    width: 100%;
    margin-top: 56px;
    overflow: hidden;
  }

  .opening_channel_swiper .opening_channel_cards {
    display: flex;
    gap: 0;
    margin-top: 0;
  }

  .opening_channel_swiper .swiper-wrapper {
    transition-timing-function: linear !important;
  }

  .opening_channel_swiper .opening_channel_card {
    height: auto;
    opacity: 1;
    transform: none;
  }

  .opening_channel_visual {
    border-radius: 14px;
  }

  .opening_channel_card h3 {
    margin-top: 12px;
    font-size: clamp(13px, 3.7vw, 16px);
    white-space: nowrap;
  }
}

@media (max-width: 767px) {
  .quick_nav {
    display: none;
  }

  .landing_inner {
    width: min(calc(100% - 32px), var(--content_width));
  }

  #about,
  #insight,
  #flow,
  #program,
  #support,
  #criteria,
  #faq,
  #channel-flow,
  #pricing,
  #contact {
    scroll-margin-top: 108px;
  }

  .landing_header {
    height: 76px;
  }

  .opening_header_inner {
    width: 100%;
    padding: 0 16px 0 20px;
  }

  .header_inner {
    position: relative;
    min-height: 76px;
  }

  .brand_logo {
    width: 128px;
    max-width: 40vw;
  }

  .brand_logo img {
    width: 100%;
    height: auto;
  }

  .header_inner>.brand_logo {
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: 42vw;
    transform: translate(-50%, -50%);
  }

  .opening_header .mobile_home_button {
    display: none;
  }

  .opening_header .header_inner>.brand_logo {
    position: static;
    width: min(150px, 45vw);
    max-width: none;
    transform: none;
  }

  .opening_header .brand_logo img {
    height: auto;
  }

  .opening_header:not(.is_scrolled) .mobile_menu_button {
    color: #fff;
  }

  .opening_header.is_menu_open .mobile_menu_button {
    color: #111;
  }

  .mobile_home_button {
    position: relative;
    z-index: 12;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    color: #111;
  }

  .mobile_home_button svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .mobile_menu_button {
    position: relative;
    z-index: 12;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    color: #111;
    background: transparent;
    cursor: pointer;
    margin-left: auto;
  }

  .mobile_menu_button span {
    display: block;
    width: 24px;
    height: 2px;
    background: currentColor;
    transition: opacity .25s ease, transform .25s ease;
  }

  .mobile_menu_button[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .mobile_menu_button[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
  }

  .mobile_menu_button[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .landing_nav {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 11;
    align-items: stretch;
    flex-direction: column;
    gap: 0;
    width: min(82vw, 340px);
    height: 100dvh;
    padding: 108px 32px 40px;
    background: #fff;
    box-shadow: -16px 0 40px rgba(0, 0, 0, .2);
    overflow-y: auto;
    transform: translateX(calc(100% + 56px));
    transition: transform .35s cubic-bezier(.22, .75, .22, 1);
  }

  .opening_nav {
    top: 0;
    left: auto;
    display: flex;
    gap: 0;
    transform: translateX(calc(100% + 56px));
  }

  .opening_header .opening_nav a {
    color: #111;
  }

  .landing_header.is_menu_open .opening_nav {
    transform: translateX(0);
  }

  .landing_header.is_menu_open .landing_nav {
    transform: translateX(0);
  }

  .landing_nav a {
    padding: 17px 0;
    border-bottom: 1px solid #ededed;
    color: #111;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .04em;
  }

  .landing_nav a::after {
    display: none;
  }

  .landing_nav a:hover {
    color: #111;
  }

  .landing_nav a.is_active,
  .landing_nav a.is_active:hover {
    color: #111;
  }

  .opening_nav a.opening_nav_mobile_contact,
  .opening_nav a.opening_nav_mobile_contact:hover,
  .opening_nav a.opening_nav_mobile_contact:focus-visible,
  .opening_nav a.opening_nav_mobile_contact.is_active,
  .opening_nav a.opening_nav_mobile_contact.is_active:hover {
    display: flex;
    align-items: center;
    justify-content: center;
    order: 99;
    margin-top: 28px;
    padding: 16px 18px;
    border: 1px solid var(--color_primary);
    border-radius: 8px;
    color: #fff;
    background: var(--color_primary);
  }

  .opening_header_contact {
    display: none;
  }

  .landing_nav .landing_nav_case,
  .landing_nav .landing_nav_case:hover,
  .landing_nav .landing_nav_case:focus-visible {
    order: 99;
    margin: 30px 0;
    padding: 16px 18px;
    border: 1px solid rgba(233, 184, 63, .85);
    border-radius: 10px;
    color: #f1c34f;
    background: rgba(233, 184, 63, .1);
    font-weight: 800;
  }

  .mobile_menu_backdrop {
    position: fixed;
    inset: 0;
    z-index: 9;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(5, 16, 29, .58);
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease;
  }

  .mobile_menu_backdrop.is_visible {
    opacity: 1;
    pointer-events: auto;
  }

  body.mobile_menu_open {
    overflow: hidden;
  }

  .intro_logo_half {
    width: min(120px, 28vw);
  }

  .hero_section,
  .hero_inner {
    min-height: 100svh;
  }

  .hero_inner {
    width: min(calc(100% - 28px), var(--content_width));
    padding: 142px 0 54px;
  }

  .hero_copy .eyebrow {
    margin-bottom: 18px;
    font-size: 11px;
    letter-spacing: .14em;
  }

  .hero_copy h1 {
    font-size: clamp(34px, 10vw, 44px);
    line-height: 1.16;
    letter-spacing: -.065em;
  }

  .hero_offer_line {
    display: block;
    margin-top: 12px;
    white-space: normal;
  }

  .hero_mobile_break {
    display: block;
  }

  .hero_price {
    gap: .28em;
    margin: 0;
    font-size: 1.08em;
  }

  .hero_price_line {
    gap: .16em;
    font-size: .76em;
  }

  .hero_original_price {
    margin-right: 2px;
    font-size: .5em;
  }

  .hero_price em {
    font-size: 1.04em;
  }

  .hero_description {
    margin-top: 23px;
    font-size: 14px;
    line-height: 1.7;
  }

  .hero_actions {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
    margin-top: 31px;
  }

  .hero_actions .button {
    width: 100%;
    min-width: 0;
    min-height: 49px;
    padding: 0 20px;
    font-size: 14px;
  }

  .hero_trust {
    justify-content: center;
    gap: 9px 20px;
    margin-top: 22px;
    font-size: 10px;
  }

  .event_reason_section,
  .event_reason_inner {
    min-height: 720px;
  }

  .opening_compare_section {
    padding: 84px 0;
  }

  .opening_compare_inner {
    width: calc(100% - 32px);
  }

  .opening_compare_heading {
    margin-bottom: 36px;
  }

  .opening_compare_heading h2 {
    font-size: clamp(20px, 6.2vw, 26px);
    line-height: 1.45;
    letter-spacing: -.04em;
  }

  .opening_compare_title_desktop {
    display: none;
  }

  .opening_compare_title_mobile,
  .opening_compare_title_mobile span {
    display: block;
  }

  .opening_compare_title_mobile span {
    white-space: nowrap;
  }

  .opening_compare_grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .opening_reality_cards {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  .opening_difference_section {
    padding: 84px 0 96px;
  }

  .opening_difference_inner {
    display: block;
    width: min(calc(100% - 32px), var(--content_width));
  }

  .opening_difference_heading {
    position: sticky;
    top: 76px;
    z-index: 2;
    padding: 16px 0 24px;
    background: linear-gradient(to bottom, #f8faf9 78%, rgba(248, 250, 249, 0));
  }

  .opening_difference_heading h2 {
    font-size: clamp(30px, 8.5vw, 42px);
    line-height: 1.3;
  }

  .opening_difference_list {
    gap: 70px;
    padding-top: 36px;
  }

  .opening_difference_item {
    grid-template-columns: minmax(120px, 42%) minmax(0, 1fr);
    gap: 16px;
  }

  .opening_difference_visual {
    border-radius: 18px;
  }

  .opening_compare_label {
    padding: 15px 20px;
    font-size: 16px;
  }

  .opening_compare_content {
    padding: 28px 24px 34px;
  }

  .opening_compare_content h3 {
    margin-bottom: 20px;
    font-size: 23px;
  }

  .opening_compare_content ul {
    gap: 10px;
  }

  .opening_compare_content li {
    font-size: 15px;
  }

  .opening_ai_section {
    padding: 84px 0 92px;
  }

  .opening_ai_inner {
    width: calc(100% - 32px);
  }

  .opening_ai_heading {
    margin-bottom: 36px;
  }

  .opening_ai_heading h2 {
    font-size: clamp(30px, 8.5vw, 38px);
    line-height: 1.25;
    text-align: center;
  }

  .opening_ai_heading p {
    margin-top: 18px;
    font-size: clamp(16px, 4.5vw, 20px);
    line-height: 1.55;
  }

  .opening_ai_grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .opening_ai_card {
    border-radius: 16px;
  }

  .opening_ai_content {
    padding: 26px 22px 32px;
  }

  .opening_ai_content h3 {
    margin-bottom: 20px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(54, 54, 54, .12);
    font-size: clamp(20px, 5.6vw, 24px);
    line-height: 1.4;
  }

  .opening_ai_content p {
    color: #45494e;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.8;
    text-align: left;
    word-break: keep-all;
  }

  .opening_ai_content p br {
    display: none;
  }

  .event_reason_background {
    object-position: center;
  }

  .event_reason_inner {
    width: min(calc(100% - 32px), var(--content_width));
    padding: 66px 0 56px;
  }

  .event_reason_heading>p {
    padding: 7px 10px;
    border-width: 2px;
    font-size: clamp(18px, 5.2vw, 23px);
  }

  .event_reason_heading h2 {
    margin-top: 10px;
    font-size: clamp(23px, 6.4vw, 28px);
  }

  .event_reason_heading>span {
    margin-top: 22px;
    font-size: 14px;
    line-height: 1.6;
  }

  .event_reason_mobile_break {
    display: block;
  }

  .event_reason_divider {
    height: 52px;
    margin: 28px 0;
  }

  .event_reason_message {
    font-size: clamp(23px, 6.7vw, 29px);
    line-height: 1.45;
  }

  .event_reason_description {
    margin-top: 74px;
    font-size: 13px;
    line-height: 1.55;
  }

  .marketing_hook_section {
    height: 760px;
    background: #f9f8f4;
  }

  .revenue_proof_section {
    height: 210vh;
    min-height: 1240px;
  }

  .revenue_proof_sticky {
    top: 76px;
    height: calc(100vh - 76px);
    min-height: 560px;
  }

  .revenue_proof_inner {
    gap: 24px;
    width: calc(100% - 32px);
  }

  .revenue_proof_box::before,
  .revenue_proof_box::after {
    font-size: 38px;
  }

  .revenue_proof_box::before {
    top: 14px;
    left: 18px;
  }

  .revenue_proof_box::after {
    right: 18px;
    bottom: 2px;
  }

  .revenue_proof_question {
    width: 88%;
    min-height: 140px;
    padding: 32px 34px;
  }

  .revenue_proof_question p {
    font-size: clamp(17px, 4.7vw, 21px);
  }

  .revenue_proof_answer {
    width: 100%;
    min-height: 210px;
    padding: 46px 30px;
  }

  .revenue_proof_answer h2 {
    font-size: clamp(22px, 6vw, 28px);
  }

  .revenue_proof_answer h2 span:first-child {
    white-space: normal;
  }

  .marketing_background {
    object-position: center;
    padding-top: 0;
  }

  .marketing_hook_inner {
    width: min(calc(100% - 28px), var(--content_width));
  }

  .marketing_career {
    display: none;
  }

  .marketing_hook_heading {
    padding-top: 48px;
  }

  .marketing_hook_heading h2 {
    font-size: clamp(22px, 6.4vw, 29px);
    line-height: 1.4;
  }

  .marketing_hook_heading h2 br {
    display: block;
  }

  .marketing_hook_heading p {
    margin-top: 14px;
    font-size: 13px;
    line-height: 1.6;
  }

  .marketing_hook_heading p br {
    display: block;
  }

  .marketing_image {
    width: min(40vw, 205px);
    border-radius: 14px;
  }

  .marketing_image_overlay,
  .marketing_image_caption,
  .marketing_image_more {
    opacity: 1;
  }

  .marketing_image_caption,
  .marketing_image_more {
    transform: translateY(0);
  }

  .marketing_image_first {
    top: 40%;
    right: 0;
    left: auto;
  }

  .marketing_image_second {
    top: 58%;
    right: 0;
    left: auto;
  }

  .marketing_image_third {
    top: 76%;
    right: 0;
    left: auto;
  }

  .marketing_image_caption {
    right: 0;
    bottom: 12px;
    left: 0;
    display: block;
    width: 100%;
    padding: 0 12px;
    box-sizing: border-box;
    font-size: 13px;
  }

  .marketing_image_more {
    right: 10px;
    bottom: 7px;
    font-size: 22px;
  }

  .insight_section {
    padding: 74px 0 68px;
  }

  .patient_journey_section {
    display: block;
    height: auto;
    min-height: 0;
    padding: 90px 0 100px;
  }

  .patient_journey_inner {
    width: calc(100% - 32px);
  }

  .patient_journey_heading {
    margin-bottom: 62px;
  }

  .patient_journey_heading p {
    margin-bottom: 14px;
    font-size: 17px;
  }

  .patient_journey_heading h2 {
    font-size: clamp(27px, 7.4vw, 34px);
  }

  .patient_journey_flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 42px 18px;
  }

  .patient_journey_line {
    display: none;
  }

  .patient_journey_step:not(:last-child)::after {
    display: grid;
    width: 28px;
    height: 28px;
    color: var(--color_primary);
    background: #fff;
    font-size: 22px;
    line-height: 1;
    pointer-events: none;
  }

  .patient_journey_step:nth-of-type(1) {
    grid-area: 1 / 1;
  }

  .patient_journey_step:nth-of-type(2) {
    grid-area: 1 / 2;
  }

  .patient_journey_step:nth-of-type(3) {
    grid-area: 2 / 2;
  }

  .patient_journey_step:nth-of-type(4) {
    grid-area: 2 / 1;
  }

  .patient_journey_step:nth-of-type(5) {
    grid-area: 3 / 1;
  }

  .patient_journey_step:nth-of-type(6) {
    grid-area: 3 / 2;
  }

  .patient_journey_step:nth-of-type(1)::after,
  .patient_journey_step:nth-of-type(5)::after {
    content: "→";
    top: 50%;
    right: -23px;
    transform: translateY(-50%);
  }

  .patient_journey_step:nth-of-type(2)::after,
  .patient_journey_step:nth-of-type(4)::after {
    content: "↓";
    top: auto;
    right: auto;
    bottom: -39px;
    left: 50%;
    transform: translateX(-50%);
  }

  .patient_journey_step:nth-of-type(3)::after {
    content: "←";
    top: 50%;
    right: auto;
    left: -23px;
    transform: translateY(-50%);
  }

  .patient_journey_icon {
    width: 104px;
    height: 104px;
    margin-top: 12px;
  }

  .patient_journey_step:first-of-type .patient_journey_icon,
  .patient_journey_step:last-of-type .patient_journey_icon {
    width: 128px;
    height: 128px;
    margin-top: 0;
  }

  .patient_journey_icon img {
    width: 54px;
    height: 54px;
  }

  .patient_journey_step:first-of-type .patient_journey_icon img,
  .patient_journey_step:last-of-type .patient_journey_icon img {
    width: 66px;
    height: 66px;
  }

  .patient_journey_step h3 {
    margin-top: 15px;
    font-size: 16px;
  }

  .patient_journey_description,
  .patient_journey_note {
    display: none;
  }

  .insight_heading h2 {
    font-size: 36px;
    line-height: 1.36;
  }

  .insight_heading p {
    margin-bottom: 16px;
    font-size: 14px;
  }

  .insight_swiper {
    width: 100%;
    margin-top: 48px;
    padding-top: 14px;
  }

  .insight_slide {
    opacity: .65;
    transform: scale(.86);
  }

  .insight_slide.swiper-slide-active {
    opacity: 1;
    transform: scale(1);
  }

  .insight_content {
    padding: 18px 10px 0;
  }

  .insight_content h3 {
    font-size: 18px;
  }

  .insight_content p {
    font-size: 13px;
  }

  .insight_navigation {
    margin-top: 24px;
  }

  .insight_button {
    width: 46px;
    height: 46px;
    font-size: 19px;
  }

  .flow_inner {
    width: 100%;
    height: 1180px;
  }

  .flow_heading {
    width: min(calc(100% - 36px), var(--content_width));
    padding-top: 72px;
  }

  .flow_heading h2 {
    font-size: 28px;
    line-height: 1.35;
  }

  .flow_line {
    width: 410px;
    height: 1180px;
  }

  .flow_line path {
    stroke-width: 8;
  }

  .flow_step {
    width: 138px;
  }

  .flow_step_left {
    right: calc(50% + 30px);
  }

  .flow_step_right {
    left: calc(50% + 30px);
  }

  .flow_step_channel {
    right: calc(50% - -24px);
  }

  .flow_step_message {
    top: 17%;
    left: calc(50% - -16px);
  }

  .flow_step_homepage {
    right: calc(50% - -44px);
  }

  .flow_step_tracking {
    left: calc(50% - -11px);
  }

  .flow_step_improvement {
    left: calc(50% + -3px);
  }

  .flow_step h3 {
    font-size: 15px;
  }

  .flow_step p {
    margin-top: 8px;
    font-size: 13px;
  }

  .flow_step::before {
    width: 22px;
  }

  .flow_step_left::before {
    right: -28px;
  }

  .flow_step_left::after {
    right: -32px;
  }

  .flow_step_right::before {
    left: -28px;
  }

  .flow_step_right::after {
    left: -32px;
  }

  .flow_title {
    bottom: 48px;
    padding: 0 18px;
    font-size: 27px;
  }

  .program_section {
    padding: 78px 0 90px;
  }

  .program_heading h2 {
    margin-top: 14px;
    font-size: 34px;
  }

  .program_heading>p:last-child {
    margin-top: 18px;
    font-size: 13px;
  }

  .program_list {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 44px;
  }

  .program_card {
    min-height: 0;
    padding: 30px 22px;
    border-radius: 13px;
  }

  .program_step {
    min-width: 54px;
    height: 30px;
    padding: 0 13px;
    font-size: 11px;
  }

  .program_content h3 {
    margin-top: 18px;
    font-size: 23px;
  }

  .program_content ul {
    margin-top: 15px;
  }

  .program_content li {
    font-size: 13px;
    line-height: 1.7;
  }

  .program_gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 34px;
  }

  .program_lightbox_slide {
    padding: 68px 12px 86px;
  }

  .program_lightbox_close {
    top: 14px;
    right: 14px;
    width: 44px;
    height: 44px;
    font-size: 29px;
  }

  .program_lightbox_button {
    top: auto;
    bottom: 20px;
    width: 46px;
    height: 46px;
    font-size: 20px;
    transform: none;
  }

  .program_lightbox_button:hover,
  .program_lightbox_button:focus-visible {
    transform: scale(1.06);
  }

  .program_lightbox_prev {
    left: calc(50% - 54px);
  }

  .program_lightbox_next {
    right: calc(50% - 54px);
  }

  .support_inner {
    grid-template-columns: 1fr;
    gap: 46px;
    min-height: 0;
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .support_heading {
    text-align: center;
  }

  .support_heading h2 {
    font-size: 37px;
  }

  .support_heading h2 strong {
    margin-right: auto;
    margin-left: auto;
  }

  .support_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 34px 14px;
  }

  .support_icon {
    width: 74px;
    height: 74px;
    font-size: 31px;
  }

  .support_item h3 {
    font-size: 14px;
  }

  .support_exclusion_inner {
    align-items: center;
    flex-direction: column;
    gap: 28px;
    min-height: 0;
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .support_exclusion h3 {
    font-size: 23px;
  }

  .support_exclusion ul {
    justify-content: center;
    flex-wrap: wrap;
    gap: 13px 22px;
  }

  .support_exclusion li {
    font-size: 13px;
  }

  .criteria_section {
    padding: 76px 0 86px;
  }

  .criteria_heading>p {
    font-size: 16px;
  }

  .criteria_heading h2 {
    margin-top: 16px;
    font-size: 34px;
  }

  .criteria_heading>span {
    margin-top: 16px;
    font-size: 12px;
  }

  .criteria_list {
    grid-template-columns: 1fr;
    gap: 48px;
    min-height: 0;
    margin-top: 58px;
  }

  .criteria_item_focus,
  .criteria_item_data,
  .criteria_item_quick {
    padding-top: 0;
  }

  .criteria_copy {
    width: 100%;
    margin-bottom: 18px;
    text-align: center;
  }

  .criteria_copy p {
    margin-bottom: 12px;
    font-size: 12px;
    white-space: normal;
  }

  .criteria_copy h3 {
    font-size: 21px;
  }

  .criteria_image {
    aspect-ratio: 1 / .86;
  }

  @supports (animation-timeline: view()) {
    .criteria_copy {
      animation: criteria_copy_reveal_mobile linear both;
      animation-timeline: view();
      animation-range: entry 0% exit 100%;
    }

    .criteria_image {
      animation: criteria_image_reveal_mobile linear both;
      animation-timeline: view();
      animation-range: entry 0% exit 100%;
    }

    @keyframes criteria_copy_reveal_mobile {
      0% {
        opacity: 0;
        transform: translateX(-42px);
      }

      22%,
      78% {
        opacity: 1;
        transform: translateX(0);
      }

      100% {
        opacity: 0;
        transform: translateX(24px);
      }
    }

    @keyframes criteria_image_reveal_mobile {
      0% {
        opacity: 0;
        transform: translateY(48px);
      }

      22%,
      78% {
        opacity: 1;
        transform: translateY(0);
      }

      100% {
        opacity: 0;
        transform: translateY(-28px);
      }
    }
  }

  .faq_section {
    padding: 72px 0 84px;
  }

  .faq_inner {
    width: min(calc(100% - 28px), 1120px);
  }

  .faq_heading h2 {
    margin-top: 12px;
    font-size: 33px;
  }

  .faq_list {
    gap: 12px;
    margin-top: 38px;
  }

  .faq_item {
    border-radius: 18px;
  }

  .faq_question {
    padding: 18px 18px 14px;
  }

  .faq_question_text {
    font-size: 14px;
  }

  .faq_answer p {
    padding: 16px 18px 20px;
    font-size: 12px;
  }

  .channel_section {
    min-height: 440px;
  }

  .channel_inner h2 {
    font-size: 32px;
  }

  .channel_inner p {
    margin-top: 24px;
    font-size: 12px;
  }

  .channel_inner p br {
    display: none;
  }

  .channel_line_path {
    stroke-width: 7;
  }

  .pricing_section {
    padding: 78px 0 86px;
  }

  .pricing_inner {
    width: min(calc(100% - 28px), 1240px);
  }

  .pricing_heading h2 {
    margin-top: 0;
    font-size: clamp(25px, 7vw, 30px);
    white-space: nowrap;
  }

  .pricing_heading>p:last-child {
    margin-top: 18px;
    font-size: 13px;
  }

  .pricing_heading>p:last-child br {
    display: block;
  }

  .pricing_event {
    align-items: stretch;
    flex-direction: column;
    gap: 28px;
    margin-top: 42px;
    padding: 30px 22px;
    border-radius: 15px;
    text-align: center;
  }

  .pricing_event_badge {
    min-height: 29px;
    padding: 0 13px;
    font-size: 10px;
  }

  .pricing_event_copy h3 {
    margin-top: 14px;
    font-size: 28px;
  }

  .pricing_event_copy p {
    margin-top: 10px;
    font-size: 12px;
  }

  .pricing_event_price {
    --price_arrow_extension: 8px;
    justify-content: center;
    gap: calc(var(--price_arrow_extension) + 5px);
  }

  .pricing_event_price del {
    font-size: 19px;
  }

  .pricing_event_price del::before {
    height: 2px;
  }

  .pricing_event_price del::after {
    width: 8px;
    height: 8px;
    border-width: 2px;
  }

  .pricing_event_price strong {
    font-size: 43px;
  }

  .opening_benefit_details {
    margin-top: 76px;
  }

  .opening_benefit_title {
    margin-bottom: 48px;
    font-size: clamp(25px, 7.2vw, 32px);
  }

  .opening_benefit_group + .opening_benefit_group {
    margin-top: 44px;
  }

  .opening_benefit_group h4 {
    margin-bottom: 16px;
    font-size: clamp(19px, 5.5vw, 24px);
    line-height: 1.45;
  }

  .opening_benefit_table th,
  .opening_benefit_table td {
    height: 48px;
    padding: 11px 8px;
    font-size: 11px;
    line-height: 1.45;
    word-break: keep-all;
  }

  .opening_benefit_table_single td {
    font-size: 13px;
  }

  .opening_benefit_table_data tbody th {
    width: 35%;
  }

  .opening_benefit_table_print thead th span {
    display: block;
    margin-top: 4px;
  }

  .opening_benefit_table_homepage thead th:first-child,
  .opening_benefit_table_homepage tbody td:first-child {
    width: 70%;
  }

  .opening_benefit_table_homepage thead th:last-child,
  .opening_benefit_table_homepage tbody td:last-child {
    width: 30%;
  }

  .opening_benefit_contract_note {
    margin-top: 36px;
    font-size: 13px;
  }

  .opening_benefit_periods {
    gap: 10px;
    margin-top: 24px;
  }

  .opening_benefit_periods li {
    min-height: 132px;
  }

  .opening_benefit_periods span {
    height: 44px;
    font-size: 12px;
  }

  .opening_benefit_periods strong {
    height: 87px;
    font-size: clamp(20px, 6vw, 27px);
  }

  .pricing_regular_heading {
    margin-top: 64px;
  }

  .pricing_regular_heading span {
    font-size: 10px;
  }

  .pricing_regular_heading h3 {
    margin-top: 10px;
    font-size: 26px;
    line-height: 1.35;
  }

  .pricing_regular_heading p {
    margin-top: 10px;
    font-size: 12px;
  }

  .pricing_cards {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 34px;
  }

  .pricing_card {
    min-height: 270px;
    padding: 42px 20px;
    border-radius: 14px;
  }

  .pricing_card_featured {
    margin-top: 8px;
  }

  .pricing_badge {
    min-width: 132px;
    padding: 8px 16px;
    font-size: 12px;
  }

  .pricing_card_label {
    font-size: 11px;
  }

  .pricing_card h3 {
    margin-top: 12px;
    font-size: 25px;
  }

  .pricing_price {
    margin-top: 22px;
    font-size: 27px;
  }

  .pricing_card>p {
    margin-top: 15px;
    font-size: 13px;
  }

  .pricing_compare {
    margin-top: 60px;
  }

  .pricing_compare>h3 {
    margin-bottom: 18px;
    font-size: 22px;
  }

  .pricing_table_wrap {
    margin-right: 0;
    margin-left: 0;
  }

  .pricing_table {
    min-width: 720px;
  }

  .pricing_table th,
  .pricing_table td {
    padding: 15px 12px;
    font-size: 12px;
  }

  .pricing_vat {
    margin-top: 12px;
    font-size: 11px;
  }

  .pricing_extra {
    margin-top: 62px;
    padding-top: 58px;
  }

  .pricing_extra_group>h3 {
    margin-bottom: 22px;
    font-size: 29px;
    text-align: center;
  }

  .pricing_detail_wrap {
    margin-right: 0;
    margin-left: 0;
  }

  .pricing_detail_table {
    min-width: 700px;
  }

  .pricing_detail_table th,
  .pricing_detail_table td {
    padding: 16px 12px;
    font-size: 12px;
  }

  .pricing_detail_table thead th {
    font-size: 13px;
  }

  .pricing_detail_table tbody td {
    font-size: 15px;
  }

  .pricing_info_bar {
    grid-template-columns: 1fr;
    gap: 13px;
    padding: 22px 18px;
  }

  .pricing_info_bar strong {
    padding: 0 0 12px;
    border-right: 0;
    border-bottom: 1px solid #d9d9d9;
    font-size: 15px;
    text-align: left;
  }

  .pricing_info_bar p {
    font-size: 12px;
  }

  .pricing_management_wrap {
    margin-top: 34px;
  }

  .pricing_management_table,
  .pricing_additional_table {
    min-width: 560px;
  }

  .pricing_additional {
    margin-top: 58px;
  }

  .contact_section {
    padding: 76px 0;
  }

  .contact_inner h2 {
    font-size: 34px;
  }

  .contact_form {
    margin-top: 38px;
  }

  .contact_form_group {
    padding: 28px 0;
  }

  .contact_form_group legend {
    margin-bottom: 18px;
    font-size: 18px;
  }

  .contact_form_grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .contact_field_full {
    grid-column: auto;
  }

  .contact_field input {
    height: 54px;
  }

  .contact_field textarea {
    min-height: 160px;
  }

  .landing_captcha {
    margin-top: 22px;
    padding-top: 22px;
  }

  .landing_captcha_title {
    margin-bottom: 12px;
    font-size: 14px;
  }

  .landing_captcha #captcha {
    align-items: center;
    gap: 8px;
  }

  .landing_captcha #captcha_img {
    width: 140px;
    height: 54px;
  }

  .landing_captcha #captcha_key {
    flex: 1;
    width: auto;
    min-width: 110px;
    height: 54px;
    padding: 0 12px;
    font-size: 16px;
  }

  .landing_captcha #captcha_mp3,
  .landing_captcha #captcha_reload {
    width: 42px;
    height: 42px;
  }

  .landing_captcha #captcha_info {
    font-size: 11px;
  }

  .contact_address_layer {
    height: 390px;
  }

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

  .contact_choice span {
    min-height: 50px;
    padding: 9px 8px;
    font-size: 12px;
  }

  .contact_form_bottom,
  .contact_privacy {
    align-items: flex-start;
    flex-direction: column;
  }

  .contact_form_bottom {
    gap: 24px;
  }

  .contact_privacy {
    gap: 10px;
  }

  .contact_submit {
    width: 100%;
  }

  .privacy_modal {
    width: calc(100% - 20px);
    height: 88vh;
    border-radius: 9px;
  }

  .privacy_modal_header {
    min-height: 62px;
    padding: 0 16px;
  }

  .privacy_modal_header h2 {
    font-size: 19px;
  }

  .privacy_modal .policy_page_wrap {
    padding: 24px 18px 36px;
  }

  .privacy_modal_footer {
    padding: 13px 16px;
  }

  .privacy_modal_button {
    flex: 1;
    min-width: 0;
    height: 46px;
  }

  .landing_footer {
    padding: 28px 0;
  }

  .footer_inner {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }

  .marketing_image:hover img,
  .strategy_image:hover img,
  .support_item:hover,
  .criteria_item:hover,
  .program_card:hover {
    transform: none;
    translate: none;
  }
}

@media (max-width: 390px) {
  .landing_nav {
    gap: 0;
  }

  .landing_nav a {
    font-size: 15px;
  }

  .hero_copy h1 {
    font-size: 33px;
  }

  .marketing_hook_heading h2 {
    font-size: 21px;
  }

  .flow_step {
    width: 128px;
  }

  .flow_step h3 {
    font-size: 14px;
  }

  .faq_question_text {
    font-size: 13px;
  }

  /* Hero renewal */
  .hero_section {
    color: #161719;
    background:
      radial-gradient(circle at 50% 30%, rgba(255, 255, 255, .95), transparent 54%),
      #f1f3f7;
  }

  .hero_section::before {
    content: "“";
    left: -78px;
    right: auto;
    top: auto;
    bottom: -165px;
    width: auto;
    height: auto;
    border: 0;
    color: rgba(92, 218, 197, .22);
    font-family: Arial, sans-serif;
    font-size: 350px;
    font-weight: 900;
    line-height: 1;
  }

  .hero_inner {
    position: relative;
    display: block;
  }

  .hero_copy {
    position: relative;
    z-index: 2;
    text-align: left;
  }

  .hero_copy .eyebrow,
  .hero_copy h1 em {
    color: #3e78f7;
  }

  .hero_price_line,
  .hero_actions,
  .hero_trust {
    justify-content: flex-start;
  }

  .hero_price em {
    color: #193b63 !important;
  }

  .hero_original_price {
    color: #8d95a0;
  }

  .hero_description {
    color: #626a75;
  }

  .hero_actions .button {
    border-radius: 999px;
  }

  .hero_actions .button_primary {
    color: #fff;
    background: #161719;
  }

  .hero_actions .button_primary::before {
    background: #3e78f7;
  }

  .hero_actions .button_line {
    border-color: #fff;
    color: #161719;
    background: #fff;
  }

  .hero_trust {
    color: #737b87;
  }

  .hero_trust li::before {
    background: #19bfa9;
  }

  .hero_graphic {
    position: absolute;
    display: block;
    top: 118px;
    right: -112px;
    width: 290px;
    min-height: 340px;
    opacity: 0;
    pointer-events: none;
    transform: translateX(30px);
    transition: opacity 1s ease .2s, transform 1.4s cubic-bezier(.2, .75, .2, 1) .2s;
  }

  .hero_graphic::before {
    display: none;
  }

  .hero_graphic::after,
  .hero_graphic_mark {
    display: none;
  }

  .hero_graphic_img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: auto;
    opacity: 1;
    transform: translate(-50%, -50%);
  }

  body.hero_ready .hero_graphic {
    opacity: .12;
    transform: translateX(0);
  }

  .opening_hero_section,
  .opening_hero_section .opening_hero_inner {
    min-height: 100svh;
  }

  .opening_hero_section .opening_hero_inner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    padding: 76px 18px 124px;
  }

  .opening_hero_section .opening_hero_content {
    max-width: 100%;
    text-align: center;
  }

  .opening_hero_section .opening_hero_content h1 {
    font-size: clamp(30px, 9vw, 42px);
    line-height: normal;
    letter-spacing: -3px;
    text-align: center;
  }

  .opening_hero_stats {
    width: calc(100% - 28px);
    min-height: 104px;
  }

  .opening_hero_stats li {
    gap: 4px;
    padding: 14px 5px;
  }

  .opening_hero_stats strong {
    font-size: clamp(27px, 8vw, 36px);
  }

  .opening_hero_stats span {
    min-height: 18px;
    padding: 7px 7px 3px;
    font-size: 9px;
    text-align: center;
  }

  .opening_hero_metrics {
    bottom: 18px;
    gap: 7px;
    width: calc(100% - 24px);
  }

  .opening_hero_metrics li {
    min-height: 88px;
    padding: 16px 5px 12px;
    border-radius: 13px;
  }

  .opening_hero_metrics li::before {
    width: 28px;
    height: 2px;
  }

  .opening_hero_metric_number {
    font-size: clamp(27px, 8vw, 36px);
  }

  .opening_hero_metric_label {
    margin-top: 7px;
    font-size: clamp(8px, 2.6vw, 11px);
  }

  .opening_reality_section {
    padding: 80px 0 72px;
  }

  .opening_reality_inner {
    width: min(calc(100% - 32px), var(--content_width));
  }

  .opening_reality_section h2 {
    margin-bottom: 16px;
    font-size: clamp(28px, 8vw, 38px);
  }

  .opening_reality_intro {
    margin-bottom: 40px;
    font-size: clamp(12px, 3.4vw, 14px);
    line-height: 1.65;
  }

  .opening_reality_cards {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .opening_reality_card {
    padding: 14px 14px 28px;
    border-radius: 18px;
  }

  .opening_reality_label {
    margin: 2px 3px 12px;
  }

  .opening_reality_visual {
    width: 100%;
    margin-bottom: 24px;
    border-radius: 14px;
  }

  .opening_reality_card p {
    font-size: clamp(17px, 4.6vw, 21px);
  }

  .opening_reality_conclusion {
    margin-top: 52px;
    font-size: clamp(25px, 7vw, 34px);
  }

  .opening_difference_section {
    padding: 84px 0 96px;
  }

  .opening_difference_inner {
    display: block;
    width: min(calc(100% - 32px), var(--content_width));
  }

  .opening_difference_heading {
    position: sticky;
    top: 76px;
    z-index: 2;
    padding: 16px 0 24px;
    background: linear-gradient(to bottom, #f8faf9 78%, rgba(248, 250, 249, 0));
  }

  .opening_difference_heading h2 {
    font-size: clamp(30px, 8.5vw, 42px);
    line-height: 1.3;
  }

  .opening_difference_list {
    gap: 70px;
    padding-top: 36px;
  }

  .opening_difference_item {
    grid-template-columns: minmax(120px, 42%) minmax(0, 1fr);
    gap: 16px;
  }

  .opening_difference_visual {
    border-radius: 18px;
  }

  .opening_difference_item p {
    margin-top: 0;
    font-size: clamp(13px, 3.5vw, 16px);
    font-weight: 500;
    line-height: 1.5;
  }

  .opening_strategy_section {
    padding: 80px 0 76px;
  }

  .opening_strategy_inner {
    width: min(calc(100% - 32px), var(--content_width));
  }

  .opening_strategy_section h2 {
    margin-bottom: 42px;
    font-size: clamp(20px, 5.8vw, 25px);
  }

  .opening_strategy_cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .opening_strategy_card {
    min-height: 250px;
    padding: 24px 12px;
    border-radius: 18px;
  }

  .opening_strategy_copy h3 {
    margin-bottom: 8px;
    font-size: clamp(20px, 5.5vw, 25px);
  }

  .opening_strategy_copy p {
    font-size: clamp(12px, 3.3vw, 15px);
  }

  .opening_channel_cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px 12px;
    margin-top: 56px;
  }

  .opening_channel_visual {
    border-radius: 14px;
  }

  .opening_channel_card h3 {
    margin-top: 12px;
    font-size: clamp(14px, 4vw, 17px);
  }
}

@media (max-width: 767px) {
  .opening_mobile_break {
    display: inline;
  }

  .opening_compare_heading h2,
  .patient_journey_heading h2,
  .marketing_hook_heading h2,
  .opening_reality_section h2,
  .opening_difference_heading h2,
  .opening_strategy_section h2,
  .pricing_heading h2,
  .contact_inner h2 {
    text-align: center;
    white-space: nowrap;
  }

  .patient_journey_heading h2 {
    font-size: clamp(22px, 6.4vw, 27px);
  }

  .marketing_hook_heading p {
    font-size: clamp(11px, 3.4vw, 13px);
    white-space: nowrap;
  }

  .opening_reality_section h2 {
    font-size: clamp(26px, 7.4vw, 32px);
  }

  .opening_reality_intro {
    font-size: clamp(12px, 3.4vw, 14px);
  }

  .landing_captcha #captcha.m_captcha audio,
  .landing_captcha #captcha #captcha_audio {
    display: none !important;
  }

  .landing_captcha #captcha {
    gap: 8px;
  }

  .landing_captcha #captcha #captcha_img {
    flex: 0 0 140px;
    width: 140px;
    height: 54px;
    margin: 0;
    border: 1px solid #d8dce2;
    border-radius: 10px;
  }

  .landing_captcha #captcha #captcha_key {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    height: 54px;
    margin: 0;
    padding: 0 12px;
    box-sizing: border-box;
    border: 1px solid #d8dce2;
    border-radius: 10px;
    outline: none;
    color: #363636;
    background: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: normal;
    letter-spacing: .12em;
    text-align: center;
    transition: border-color .2s ease, box-shadow .2s ease;
  }

  .landing_captcha #captcha #captcha_key:focus {
    border-color: var(--color_primary);
    box-shadow: 0 0 0 3px rgba(169, 140, 72, .14);
  }

  .landing_captcha #captcha #captcha_reload {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    margin: 0;
    border: 1px solid #d8dce2;
    border-radius: 10px;
    background-color: #f8faf9;
  }

  .landing_captcha #captcha #captcha_info {
    flex: 0 0 100%;
    margin: 4px 0 0;
    color: #758393;
    font-size: 11px;
    line-height: 1.5;
    letter-spacing: normal;
  }

  .opening_difference_heading h2 {
    font-size: clamp(25px, 7vw, 32px);
  }

  .contact_inner h2 {
    font-size: clamp(27px, 7.4vw, 32px);
  }

  .opening_header .opening_nav a.opening_nav_mobile_contact,
  .opening_header .opening_nav a.opening_nav_mobile_contact:link,
  .opening_header .opening_nav a.opening_nav_mobile_contact:visited,
  .opening_header .opening_nav a.opening_nav_mobile_contact:hover,
  .opening_header .opening_nav a.opening_nav_mobile_contact:focus,
  .opening_header .opening_nav a.opening_nav_mobile_contact:focus-visible,
  .opening_header .opening_nav a.opening_nav_mobile_contact:active,
  .opening_header .opening_nav a.opening_nav_mobile_contact.is_active {
    color: #fff !important;
    -webkit-text-fill-color: #fff;
  }
}
