#ps_page {
    --ps-navy: #262662;
    --ps-muted: #3d3a72;
    color: var(--ps-navy);
    font-family: "DM Sans", sans-serif;
}
#ps_page h1,
#ps_page h2,
#ps_page h3,
#ps_page p {
    margin: 0;
    font-family: "DM Sans", sans-serif;
}
#ps_page h2 {
    font-size: 36px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
}
#ps_page img {
    max-width: 100%;
}
#ps_page .ps_eco_kicker img {
    width: auto;
    height: 35px;
    max-width: none;
    flex: 0 0 auto;
    transform: translateY(-7px);
}
#ps_page .ps_eco_board img {
    display: block;
    width: 100%;
    height: auto;
}
#ps_page .ps_avatar img {
    width: 48px;
    height: 48px;
    max-width: none;
    object-fit: cover;
}
#cta_popup_container {
    display: none !important;
}
.ps_wrap {
    width: min(1140px, calc(100% - 128px));
    margin: 0 auto;
}
.ps_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 14px 28px;
    border: 1.5px solid rgba(244, 247, 252, 0.35);
    border-radius: 40px;
    background: linear-gradient(180deg, #f38920 0%, #e76e25 100%);
    box-shadow: 0 3px 0 #a73b00;
    color: #fff;
    font-family: "DM Sans", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}
.ps_btn_block {
    width: 100%;
}
.ps_visually_hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}
#ps_nohuman {
    position: absolute;
    left: -9999px;
}

#ps_page.ps_subject_math {
    --ps-hero-bg: #ffffff;
    --ps-hero-image: url("../../../../images/sg/primary-subject-math/ps_hero_bg.webp?v=3");
    --ps-products-image: url("../../../../images/sg/primary-subject-math/ps_products_background_image.webp?v=1");
}
#ps_page.ps_subject_science {
    --ps-hero-bg: #ffffff;
    --ps-hero-image: url("../../../../images/sg/primary-subject-science/ps_hero_bg.webp?v=3");
    --ps-products-image: url("../../../../images/sg/primary-subject-science/ps_products_background_image.webp?v=1");
}
#ps_page.ps_subject_science #ps_hero .ps_hero_kicker {
    background: rgba(53, 50, 119, 0.5);
    color: #fff;
}
#ps_page.ps_subject_science .ps_hero_body,
#ps_page.ps_subject_science .ps_problem h2,
#ps_page.ps_subject_science .ps_problem .ps_lead {
    color: #fff;
}
#ps_page.ps_subject_science .ps_problem_card {
    border-color: #8f8ad1;
    box-shadow: 0 10px 0 #3e3a6e;
}
#ps_page.ps_subject_english {
    --ps-hero-bg: #ffffff;
    --ps-hero-image: url("../../../../images/sg/primary-subject-english/ps_hero_bg.webp?v=3");
    --ps-products-image: url("../../../../images/sg/primary-subject-english/ps_products_background_image.webp?v=1");
}
#ps_page.ps_subject_english #ps_hero .ps_hero_kicker {
    background: #26a5dc;
    color: #fff;
}
#ps_page.ps_subject_english .ps_hero_body,
#ps_page.ps_subject_english .ps_problem h2 {
    color: #fff;
}
#ps_page.ps_subject_english .ps_problem_card {
    border-color: #89d7f8;
    box-shadow: 0 10px 0 #008fcc;
}
#ps_page.ps_subject_chinese {
    --ps-hero-bg: #ffffff;
    --ps-hero-image: url("../../../../images/sg/primary-subject-chinese/ps_hero_bg.webp?v=3");
    --ps-products-image: url("../../../../images/sg/primary-subject-chinese/ps_products_background_image.webp?v=1");
}
#ps_page.ps_subject_chinese #ps_hero .ps_hero_kicker {
    background: #c6579a;
    color: #fff;
}
#ps_page.ps_subject_chinese .ps_hero_body,
#ps_page.ps_subject_chinese .ps_problem h2,
#ps_page.ps_subject_chinese .ps_problem .ps_lead {
    color: #fff;
}
#ps_page.ps_subject_chinese .ps_problem_card {
    border-color: #ff92d4;
    box-shadow: 0 10px 0 #a95086;
}
#ps_page .ps_form_note {
    margin: 0;
    max-width: 1140px;
    color: #fff;
    font-size: 20px;
    font-weight: 400;
    line-height: 30px;
    text-align: center;
}
#ps_hero {
    position: relative;
    background-color: var(--ps-hero-bg, #ffffff);
    background-image: var(--ps-hero-image);
    background-repeat: no-repeat;
    background-position: center var(--header_height_desktop);
    background-size: 100% auto;
    padding: 0 0 64px;
    overflow: hidden;
}
.ps_hero_band {
    background: transparent;
    padding: calc(var(--header_height_desktop) + 96px) 0 64px;
}
.ps_hero_grid {
    display: grid;
    grid-template-columns: minmax(0, 1.06fr) minmax(260px, 1fr);
    gap: 50px;
    align-items: center;
}
.ps_hero_copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 31px;
    max-width: 604px;
}
#ps_hero .ps_hero_kicker {
    box-sizing: border-box;
    display: block;
    width: 100%;
    margin: 0 0 31px;
    padding: 10px;
    border-radius: 10px;
    background: rgba(229, 123, 65, 0.7);
    color: #e8f8ff;
    font-size: 18px;
    font-weight: 700;
    line-height: normal;
    letter-spacing: normal;
    text-align: center;
    text-shadow: none;
}
.ps_hero_copy h1 {
    width: 100%;
    color: #fff;
    font-size: 48px;
    font-weight: 900;
    line-height: 58px;
    letter-spacing: -1.22px;
    text-shadow: 0 2px 3px rgba(0, 0, 0, 0.25);
}
.ps_hero_text {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}
.ps_hero_subhead {
    margin: 0;
    width: 100%;
    color: #262262;
    font-size: 20px;
    font-weight: 700;
    line-height: normal;
}
.ps_hero_body {
    width: 100%;
    color: #262262;
    font-size: 20px;
    font-weight: 500;
    line-height: normal;
}
.ps_hero_body strong {
    font-weight: 800;
}
#ps_hero .ps_hero_copy .hero_cta_btn {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    min-height: 70px;
    margin: 0;
    padding: 16px 24px;
    border-width: 2px;
    border-radius: 45px;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}
#ps_page .ps_hero_photo {
    display: block;
    width: 100%;
    height: auto;
    max-width: 568px;
    margin-left: auto;
}
/* Problem type scale is the page reference.
   Desktop: title 34 / subtitle 20 / card title 24 / card body 20.
   Tablet (769–1024): 28 / 18 / 20 / 16.
   Mobile (≤768): 24 / 15 / 18 / 14.
   Section title stays larger than the card title; card body is the smallest. */
.ps_problem h2,
.ps_lead {
    color: #262262;
}
#ps_page .ps_problem h2 {
    font-size: 34px;
    font-weight: 700;
    line-height: 1.2;
}
#ps_page .ps_lead {
    max-width: none;
    width: 100%;
    margin: 10px auto 0;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.35;
    text-align: center;
}
.ps_problem_track {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-top: 48px;
}
.ps_problem_card {
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    overflow: hidden;
    border: 3px solid #f6c483;
    border-radius: 40px;
    background: #fff;
    box-shadow: 0 10px 0 #e57b41;
    text-align: center;
}
.ps_problem_card img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4096 / 2519;
    object-fit: cover;
    object-position: center;
}
#ps_page .ps_problem_card h3 {
    width: min(302px, calc(100% - 32px));
    margin: 30px 0 0;
    padding: 0;
    color: #262262;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.25;
}
#ps_page .ps_problem_card p {
    width: min(302px, calc(100% - 32px));
    margin: 20px 0 30px;
    padding: 0;
    color: #262262;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.35;
}

#ps_ecosystem {
    background: #eef8fc;
    padding: 64px 0;
}
#ps_ecosystem > .ps_wrap,
#ps_products > .ps_wrap,
#ps_stats > .ps_wrap {
    width: min(1140px, calc(100% - 128px));
}
#ps_page .ps_eco_kicker {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 0 13px;
    color: #262262;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.29;
}
.ps_eco_kicker img {
    display: block;
}
#ps_page #ps_ecosystem h2 {
    max-width: none;
    margin: 0 auto;
    color: #262262;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.29;
}
#ps_page .ps_eco_title_break { display: none; }
.ps_eco_board {
    margin: 48px auto 0;
}
.ps_eco_mobile {
    display: none;
}

#ps_products {
    --animation-duration: 0.3s;
    background-color: #2a2463;
    background-image: var(--ps-products-image);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding: 64px 0;
    color: #fff;
}
#ps_products h2 {
    color: #fff;
    margin-bottom: 32px;
}
#ps_products .op_tabs_wrapper {
    display: flex;
    flex-direction: column;
    gap: 48px;
    max-width: 1140px;
    margin: 0 auto;
    padding: 8px 0 0;
    box-sizing: border-box;
}
#ps_products .op_product_tabs {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.45);
    background: linear-gradient(120deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0) 100%);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
    text-align: center;
}
#ps_products .op_product_tab {
    flex: 1 1 0;
    min-width: 0;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 999px;
    padding: 14px 24px;
    font-family: "DM Sans", sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.2;
    text-align: center;
    color: rgba(255, 255, 255, 0.8);
    background: transparent;
    cursor: pointer;
}
#ps_products .op_product_tab span {
    display: inline-block;
    background: #fff;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
#ps_products .op_product_tab_span_orange {
    color: #ffb66d !important;
    -webkit-text-fill-color: #ffb66d;
}
#ps_products .op_product_tab.is_active {
    border-color: rgba(255, 255, 255, 0.25);
    border-top-color: rgba(255, 255, 255, 0.45);
    border-bottom-color: rgba(255, 255, 255, 0.1);
    box-shadow: inset 0 12px 8px rgba(28, 24, 104, 0.4);
}
#ps_products .op_product_tab.is_active span {
    background: none;
    -webkit-background-clip: initial;
    background-clip: initial;
    color: #fff;
    -webkit-text-fill-color: #fff;
}
#ps_products .op_product_tab.is_active .op_product_tab_span_orange {
    color: #ffb66d !important;
    -webkit-text-fill-color: #ffb66d;
}
#ps_products .op_product_tab:hover {
    background: rgba(255, 255, 255, 0.06);
}
#ps_products .op_product_tab_logo {
    display: block;
    width: auto;
    max-width: 100%;
    height: 20px;
}
#ps_products .op_product_tab[data-op-tab="campus"] .op_product_tab_logo,
#ps_products .op_accordion_header[data-accordion-trigger="campus"] .op_product_tab_logo {
    height: 26px;
}
#ps_page.ps_subject_chinese .op_product_tab[data-op-tab="xiaoban"] span,
#ps_page.ps_subject_chinese .op_accordion_header[data-accordion-trigger="xiaoban"] .op_accordion_label {
    font-size: 24px;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
}
@media only screen and (min-width: 769px) and (max-width: 1038px) {
    #ps_products .op_product_tab {
        padding-left: min(24px, 2.2vw);
        padding-right: min(24px, 2.2vw);
        font-size: min(16px, 1.54vw);
        white-space: nowrap;
    }
    #ps_page.ps_subject_chinese .op_product_tab[data-op-tab="xiaoban"] span {
        font-size: min(24px, 2.3vw);
    }
}
#ps_products .op_product_panel {
    display: flex;
    align-items: center;
    gap: 48px;
}
#ps_products .op_product_panel[hidden] {
    display: none;
}
#ps_products .op_panel_left {
    flex: 1 1 50%;
}
#ps_products .op_panel_title {
    margin: 0 0 24px;
    font-family: "DM Sans", sans-serif;
    font-size: 34px;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
    text-align: left;
}
#ps_products .op_panel_body {
    margin: 0 0 20px;
    font-family: "DM Sans", sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.45;
    color: #fff;
}
#ps_products .op_panel_body:last-child {
    margin-bottom: 0;
}
#ps_products .ps_feature_list {
    list-style: none;
    margin: 4px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
    text-align: left;
}
#ps_products .ps_feature_list li {
    display: flex;
    align-items: center;
    gap: 16px;
}
#ps_products .ps_feature_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: #2a256e;
}
#ps_products .ps_feature_icon img {
    width: 16px;
    height: 16px;
    max-width: 16px;
}
#ps_products .ps_feature_copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
#ps_products .ps_feature_copy strong {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.3;
    color: #fff;
}
#ps_products .ps_feature_copy span {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.35;
    color: #b2afc2;
}
#ps_products .op_panel_right img {
    width: 100%;
    max-width: 598px;
    height: auto;
    display: block;
}
#ps_products .op_tabs_accordion {
    display: none;
    flex-direction: column;
    gap: 8px;
    padding: 24px 0;
}
#ps_products .glass-card {
    --c-glass: #bbbbbc;
    --c-light: #ffffff;
    --c-dark: #000000;
    --glass-reflex-dark: 1;
    --glass-reflex-light: 1;
    --saturation: 100%;
    border-radius: 32px;
    background-color: rgba(187, 187, 188, 0.05);
    background-color: color-mix(in srgb, var(--c-glass) 5%, transparent);
    -webkit-backdrop-filter: blur(20px) saturate(var(--saturation));
    backdrop-filter: blur(20px) saturate(var(--saturation));
    box-shadow:
        inset 0 0 0 1px color-mix(in srgb, var(--c-light) calc(var(--glass-reflex-light) * 10%), transparent),
        inset 1.8px 3px 0px -2px color-mix(in srgb, var(--c-light) calc(var(--glass-reflex-light) * 90%), transparent),
        inset -2px -2px 0px -2px color-mix(in srgb, var(--c-light) calc(var(--glass-reflex-light) * 80%), transparent),
        inset -3px -8px 1px -6px color-mix(in srgb, var(--c-light) calc(var(--glass-reflex-light) * 60%), transparent),
        inset -0.3px -1px 4px 0px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 12%), transparent),
        inset -1.5px 2.5px 0px -2px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 20%), transparent),
        inset 0px 3px 4px -2px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 20%), transparent),
        inset 2px -6.5px 1px -4px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 10%), transparent);
}
#ps_products .op_accordion_item {
    overflow: hidden;
    padding: 0;
    box-sizing: border-box;
    width: 100%;
    transition: padding var(--animation-duration) ease-in-out;
}
#ps_products .op_accordion_item.is_open {
    padding: 8px;
}
#ps_products .op_accordion_header {
    height: 54px;
    border-radius: 32px;
    border: none;
    outline: none;
    background: transparent;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0 16px;
    color: #1c1868;
    flex-shrink: 0;
}
#ps_products .op_accordion_label {
    font-size: 14px;
    font-weight: 600;
    font-family: "DM Sans", sans-serif;
    color: #fff;
}
#ps_products .op_accordion_panel_wrapper {
    overflow: hidden;
    height: 0;
    opacity: 0;
    transition: height var(--animation-duration) ease-in-out, opacity var(--animation-duration) ease-in-out;
}
#ps_products .op_accordion_item.is_open .op_accordion_panel_wrapper {
    opacity: 1;
}
#ps_products .op_accordion_panel {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
#ps_products .op_accordion_panel .op_panel_left,
#ps_products .op_accordion_panel .op_panel_right {
    flex: 1 1 auto;
}
#ps_products .op_accordion_panel .op_panel_right {
    display: flex;
    justify-content: center;
    align-items: center;
}
#ps_products .op_accordion_panel .op_panel_right img {
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0;
}

#ps_photo_cta {
    position: relative;
    min-height: 420px;
    display: flex;
    align-items: center;
    padding: 64px 0;
    overflow: hidden;
    background: #d8c7b4;
}
#ps_photo_cta picture {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
}
.ps_photo_bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#ps_photo_cta .ps_photo_card {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 31px;
    width: min(533px, 100%);
    padding: 30px;
    border-radius: 40px;
    background: rgba(38, 38, 98, 0.53);
    color: #fff;
}
#ps_photo_cta .ps_photo_card h2,
#ps_photo_cta .ps_photo_card p {
    margin: 0;
    color: #fff;
    text-align: left;
}
#ps_photo_cta .ps_photo_card h2 {
    font-size: 34px;
    font-weight: 700;
    line-height: normal;
}
#ps_photo_cta .ps_photo_card p {
    font-size: 20px;
    font-weight: 500;
    line-height: normal;
}
#ps_photo_cta .ps_photo_card .hero_cta_btn {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 0;
    min-height: 53px;
    padding: 14px 20px;
    border-radius: 34px;
    font-size: 20px;
    font-weight: 700;
    line-height: normal;
    white-space: nowrap;
}

#ps_reviews .ps_lead {
    color: var(--ps-muted);
}
.ps_review_tabs {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
}
.ps_review_tab {
    min-height: 36px;
    padding: 6px 16px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--ps-navy);
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}
.ps_review_tab.is_active {
    background: #fff;
    box-shadow: 0 1px 4px rgba(38, 38, 98, 0.12);
}
.ps_review_scroller {
    margin-top: 24px;
    overflow: hidden;
}
.ps_review_track {
    display: flex;
    gap: 16px;
    transition: transform 0.35s ease;
}
.ps_review_card {
    position: relative;
    flex: 0 0 calc((100% - 32px) / 3);
    min-height: 216px;
    padding: 20px;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(38, 38, 98, 0.06);
}
.ps_review_card.is_hidden {
    display: none;
}
.ps_review_card::after {
    content: "\201D";
    position: absolute;
    top: 8px;
    right: 16px;
    color: #d9eef8;
    font-size: 56px;
    line-height: 1;
}
.ps_review_top {
    display: flex;
    gap: 12px;
    align-items: center;
}
.ps_avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    overflow: hidden;
    flex: 0 0 48px;
    font-weight: 700;
}
.ps_initials {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
}
.ps_review_name {
    font-weight: 700;
}
.ps_review_meta {
    color: #f5b400;
    font-size: 13px;
}
.ps_review_meta span:last-child,
.ps_review_place {
    color: #7a7898;
}
.ps_review_text {
    display: -webkit-box;
    margin-top: 12px;
    overflow: hidden;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    color: #3d3a72;
    font-size: 15px;
    line-height: 1.45;
}
.ps_read_more {
    margin-top: 8px;
    padding: 0;
    border: 0;
    background: none;
    color: #1a73e8;
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}
.ps_review_place {
    margin-top: 10px;
    font-size: 13px;
}
.ps_review_nav {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 20px;
}
.ps_nav_btn {
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 8px rgba(38, 38, 98, 0.1);
    cursor: pointer;
    position: relative;
}
.ps_nav_btn::before {
    content: "";
    position: absolute;
    top: 18px;
    width: 10px;
    height: 10px;
    border-top: 2px solid var(--ps-navy);
    border-right: 2px solid var(--ps-navy);
}
.ps_nav_prev::before { left: 20px; transform: rotate(-135deg); }
.ps_nav_next::before { left: 16px; transform: rotate(45deg); }
.ps_nav_btn:disabled {
    opacity: 0.4;
    cursor: default;
}
#ps_review_popup {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 80;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(20, 18, 48, 0.55);
}
#ps_review_popup.is_open {
    display: flex;
}
.ps_review_popup_card {
    position: relative;
    width: min(560px, 100%);
    max-height: 75vh;
    overflow: auto;
    padding: 24px;
    border-radius: 20px;
    background: #fff;
}
.ps_review_popup_card .ps_review_text {
    display: block;
    -webkit-line-clamp: unset;
}
.ps_review_popup_close {
    position: absolute;
    top: 8px;
    right: 12px;
    border: 0;
    background: none;
    color: var(--ps-navy);
    font-size: 28px;
    cursor: pointer;
}

#ps_stats {
    background: #e8f8ff;
    padding: 0;
}
#ps_page #campus_testimonial_section,
#ps_page #campus_faq_section,
#ps_page #campus_form_section {
    padding: 64px 64px;
}
#ps_page #campus_faq_section {
    background: #e8f8ff;
}
#ps_page .campus_faq_item.active .campus_faq_answer {
    max-height: none;
    overflow: visible;
}
#ps_page #campus_faq_section .campus_faq_title,
#ps_page #campus_faq_section .campus_faq_items,
#ps_page #campus_testimonial_section .ctr_title_block,
#ps_page #campus_testimonial_section .campus_testimonial_cards,
#ps_page #campus_form_section .campus_form_title_wrap,
#ps_page #campus_form_section .campus_form_content {
    max-width: 1140px;
}
#ps_stats img {
    display: block;
    width: 100%;
    height: auto;
}

#ps_faq h2 {
    max-width: 860px;
    margin: 0 auto 28px;
}
.ps_faq_list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.ps_faq_item {
    border-radius: 24px;
    background: #fff;
    border: 1px solid #c8ebfa;
}
.ps_faq_q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    padding: 22px 28px;
    border: 0;
    background: none;
    color: var(--ps-navy);
    font-family: "DM Sans", sans-serif;
    font-size: 20px;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
}
.ps_faq_q::after {
    content: "";
    flex: 0 0 12px;
    width: 12px;
    height: 12px;
    border-right: 2px solid #f7941e;
    border-bottom: 2px solid #f7941e;
    transform: rotate(45deg) translateY(-4px);
}
.ps_faq_item.is_open .ps_faq_q::after {
    transform: rotate(225deg) translateY(-2px);
}
.ps_faq_q[aria-disabled="true"] {
    cursor: default;
}
.ps_faq_a {
    display: none;
    padding: 0 28px 22px;
    color: var(--ps-muted);
    font-size: 16px;
    line-height: 1.5;
}
.ps_faq_item.is_open .ps_faq_a {
    display: block;
}

#ps_form_section {
    background: #221f55;
    padding: 80px 0;
    color: #fff;
}
#ps_form_section h2,
.ps_form_sub {
    color: #fff;
}
.ps_form_sub {
    max-width: 860px;
    margin: 12px auto 32px;
    font-size: 18px;
    line-height: 1.45;
    text-align: center;
}
.ps_form_grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, 387px);
    gap: 36px;
    align-items: center;
}
.ps_form_photo {
    width: 100%;
    height: 100%;
    max-height: 455px;
    object-fit: cover;
    border-radius: 24px;
}
#ps_lead_form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
#ps_lead_form label {
    display: block;
    margin-bottom: 8px;
    color: #fff;
    font-size: 16px;
}
#ps_lead_form input[type="text"],
#ps_lead_form input[type="tel"],
#ps_lead_form select {
    width: 100%;
    height: 48px;
    padding: 0 14px;
    border: 1px solid #cfd7e5;
    border-radius: 8px;
    background: #f2f3f3;
    color: #353277;
    font-family: "DM Sans", sans-serif;
    font-size: 16px;
}
.ps_select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%23F7941E' d='M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H32c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 12px;
    padding-right: 36px;
}
.ps_select.placeholder {
    color: #b4b4b4;
}
.ps_phone {
    position: relative;
    display: flex;
    align-items: center;
    height: 48px;
    padding-left: 78px;
    border: 1px solid #cfd7e5;
    border-radius: 8px;
    background: #f2f3f3;
}
.ps_phone input {
    border: 0 !important;
    background: transparent !important;
    height: 46px !important;
}
.ps_phone .select2-container {
    position: absolute;
    left: 0;
    top: 0;
    width: 74px !important;
}
.ps_phone .select2-selection {
    height: 46px;
    border: 0 !important;
    background: transparent !important;
}
.ps_phone .select2-selection__rendered {
    line-height: 46px !important;
    color: #353277;
    font-family: "DM Sans", sans-serif;
}
#ps_lead_form .form_group.input_error input,
#ps_lead_form .form_group.input_error select,
#ps_lead_form .form_group.input_error .ps_phone {
    outline: 2px solid #ff8a80;
}
/* Quote mark without Font Awesome. Homepage.css draws \f10e, which this page does not load. */
.campus_testimonial_card::after,
.ctr_popup_card::after {
    content: "";
    display: block;
    width: 4.6rem;
    height: 4.6rem;
    font-family: inherit;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='rgba(33,177,233,0.09)' d='M448 296c0 66.3-53.7 120-120 120h-8c-17.7 0-32-14.3-32-32s14.3-32 32-32h8c30.9 0 56-25.1 56-56v-8H320c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h64c35.3 0 64 28.7 64 64v136zm-256 0c0 66.3-53.7 120-120 120H64c-17.7 0-32-14.3-32-32s14.3-32 32-32h8c30.9 0 56-25.1 56-56v-8H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h64c35.3 0 64 28.7 64 64v136z'/%3E%3C/svg%3E") center / contain no-repeat;
}

@media only screen and (max-width: 1264px) {
    #ps_page .ps_eco_title_break { display: block; }
}
@media only screen and (max-width: 1320px) {
    #ps_hero {
        background-position: center var(--header_height_tablet);
    }
}
@media only screen and (min-width: 1025px) and (max-width: 1280px) {
    #ps_hero .ps_hero_kicker { font-size: 18px; padding: 8px; }
    .ps_hero_copy h1 { font-size: 44px; line-height: 49px; letter-spacing: -1.03px; }
    #ps_hero .ps_hero_copy .hero_cta_btn {
        font-size: 20px;
        min-height: 64px;
    }
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
    #ps_page h2 { font-size: 32px; }
    #ps_page .ps_eco_kicker { font-size: 28px; gap: 7px; margin-bottom: 11px; }
    #ps_page .ps_eco_kicker img { height: 29px; transform: translateY(-6px); }
    #ps_page #ps_ecosystem h2 { font-size: 28px; }
    #ps_page .ps_problem h2 { font-size: 28px; }
    #ps_page .ps_lead { font-size: 18px; }
    #ps_page .ps_problem_card h3 { font-size: 20px; margin-top: 24px; }
    #ps_page .ps_problem_card p { font-size: 16px; margin: 12px 0 24px; }
    .ps_hero_band { padding: calc(var(--header_height_tablet) + 56px) 0 40px; }
    #ps_hero { padding-bottom: 56px; }
    .ps_wrap {
        width: min(1216px, calc(100% - 80px));
    }
    .ps_wrap.ps_problem { margin-top: 32px; }
    #ps_ecosystem > .ps_wrap,
    #ps_products > .ps_wrap,
    #ps_stats > .ps_wrap {
        width: min(1216px, calc(100% - 80px));
    }
    #ps_page #ps_ecosystem,
    #ps_page #ps_products {
        padding: 56px 0;
    }
    #ps_page #campus_testimonial_section,
    #ps_page #campus_faq_section,
    #ps_page #campus_form_section {
        padding: 56px 40px;
    }
    .ps_hero_copy h1 { font-size: 36px; line-height: 40px; letter-spacing: -0.84px; }
    #ps_hero .ps_hero_kicker { margin-bottom: 20px; font-size: 16px; padding: 8px; }
    .ps_hero_body,
    .ps_hero_subhead { font-size: 16px; font-weight: 500; line-height: 1.4; }
    .ps_hero_subhead { font-weight: 700; }
    #ps_hero .ps_hero_copy .hero_cta_btn {
        min-height: 56px;
        padding: 14px 18px;
        font-size: 18px;
        white-space: normal;
    }
    #ps_products .op_product_panel {
        flex-direction: column-reverse;
        text-align: center;
        gap: 32px;
    }
    #ps_products .op_panel_left,
    #ps_products .op_panel_title,
    #ps_products .op_panel_body {
        text-align: center;
    }
    #ps_products .op_panel_title {
        font-size: 32px;
    }
    #ps_products .op_panel_right img {
        max-width: 460px;
        margin: 0 auto;
    }
    #ps_photo_cta {
        padding: 56px 0;
    }
    #ps_photo_cta .ps_photo_card {
        gap: 22px;
        width: min(379px, 100%);
        padding: 21px;
        border-radius: 28px;
    }
    #ps_photo_cta .ps_photo_card h2 {
        font-size: 24px;
        line-height: normal;
    }
    #ps_photo_cta .ps_photo_card p {
        font-size: 14px;
        font-weight: 400;
        line-height: normal;
    }
    #ps_photo_cta .ps_photo_card .hero_cta_btn {
        min-height: 38px;
        padding: 10px 15px;
        border-radius: 24px;
        font-size: 18px;
        font-weight: 700;
        line-height: 1.2;
        white-space: normal;
        text-align: center;
    }
    #ps_photo_cta .ps_photo_card .hero_cta_btn span {
        min-width: 0;
        max-width: 100%;
        white-space: normal;
    }
    .ps_form_grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
    .ps_review_card {
        flex-basis: calc((100% - 16px) / 2);
    }
}

@media only screen and (min-width: 769px) and (max-width: 1124px) {
    .ps_hero_grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        grid-template-rows: auto auto auto;
        align-items: start;
        gap: 28px;
    }
    .ps_hero_copy { display: contents; }
    .ps_hero_copy h1 {
        grid-column: 1 / -1;
        text-align: center;
    }
    #ps_hero .ps_hero_kicker {
        width: fit-content;
        max-width: 100%;
        margin: 0 auto 20px;
        white-space: nowrap;
    }
    .ps_hero_text {
        grid-column: 1;
        grid-row: 2;
        align-self: end;
        text-align: left;
    }
    #ps_hero .ps_hero_copy .hero_cta_btn {
        grid-column: 1;
        grid-row: 3;
        align-self: start;
        font-size: min(20px, 1.75vw);
        white-space: nowrap;
    }
    .ps_hero_visual {
        grid-column: 2;
        grid-row: 2 / span 2;
        align-self: center;
        justify-self: center;
    }
    #ps_page .ps_hero_photo {
        width: min(100%, 36vw);
        max-width: 420px;
        height: auto;
        margin-left: auto;
        margin-right: auto;
    }
}

@media only screen and (max-width: 1024px) {
    .ps_problem_track {
        display: flex;
        grid-template-columns: none;
        box-sizing: border-box;
        width: calc(100% + 48px);
        margin-left: -24px;
        gap: 16px;
        padding: 0 32px 18px;
        scroll-padding-inline: 32px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }
    .ps_problem_track::-webkit-scrollbar { display: none; }
    .ps_problem_card {
        flex: 0 0 min(400px, calc(100vw - 80px));
        scroll-snap-align: start;
    }
}

#ps_page .campus_form_submit_btn .button_text {
    font-size: 16px;
}

@media only screen and (max-width: 768px) {
    .ps_eco_board { display: none; }
    #ps_page .ps_eco_mobile,
    #ps_page .ps_eco_mobile * { box-sizing: border-box; }
    .ps_eco_mobile {
        display: flex;
        flex-direction: column-reverse;
        align-items: stretch;
        gap: 24px;
        width: 100%;
        margin-top: 32px;
    }
    .ps_eco_mobile_visual {
        width: 100%;
        height: 244px;
        flex: 0 0 auto;
    }
    #ps_page .ps_eco_mobile_visual img {
        display: block;
        width: 100%;
        height: 100%;
        max-width: none;
        object-fit: contain;
    }
    .ps_eco_mobile_items {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: stretch;
        width: calc(100% + 48px);
        margin-left: -24px;
        margin-right: -24px;
        gap: 12px;
        padding: 0 48px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 24px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .ps_eco_mobile_items::-webkit-scrollbar { display: none; }
    .ps_eco_mobile_card {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        flex: 0 0 250px;
        width: 250px;
        max-width: 250px;
        gap: 8px;
        margin: 0;
        padding: 16px;
        border-radius: 16px;
        background-image: linear-gradient(136.67deg, rgba(255, 255, 255, 0.2) 31.64%, rgba(237, 251, 255, 0.2) 68.36%), linear-gradient(90deg, #fff 0%, #fff 100%);
        box-shadow: 0 2px 2px rgba(100, 98, 98, 0.1);
        text-align: center;
        scroll-snap-align: start;
    }
    .ps_eco_mobile_icon_wrap {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 60px;
        height: 60px;
        margin: 0 auto;
        padding: 12px;
        border-radius: 100px;
        background: #f4f7fc;
    }
    #ps_page .ps_eco_mobile_icon_wrap img {
        display: block;
        width: 30px;
        height: 30px;
        max-width: none;
    }
    .ps_eco_mobile_copy {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 4px;
        min-width: 0;
    }
    #ps_page .ps_eco_mobile_copy h3 {
        color: #353277;
        font-size: 16px;
        font-weight: 700;
        line-height: 22px;
    }
    #ps_page .ps_eco_mobile_copy p {
        color: #515151;
        font-size: 14px;
        font-weight: 400;
        line-height: 19px;
        letter-spacing: normal;
    }
    #ps_hero {
        background-position: center var(--header_height_mobile);
        padding-bottom: 48px;
    }
    .ps_hero_band { padding: calc(var(--header_height_mobile) + 40px) 0 40px; }
    #ps_page .ps_hero_photo {
        max-width: min(420px, 100%);
        margin: 0 auto;
    }
    .ps_hero_grid {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 16px;
        text-align: center;
    }
    .ps_hero_copy { display: contents; }
    .ps_hero_visual { order: 3; width: 100%; }
    .ps_hero_copy h1 {
        order: 2;
        font-size: 32px;
        line-height: 36px;
        letter-spacing: -0.75px;
    }
    #ps_hero .ps_hero_kicker {
        order: 1;
        margin-bottom: 16px;
        padding: 8px;
        font-size: min(16px, 2.7vw);
        white-space: nowrap;
    }
    .ps_hero_text { order: 4; }
    .ps_hero_body,
    .ps_hero_subhead { font-size: 15px; font-weight: 500; line-height: 1.45; }
    .ps_hero_subhead { font-weight: 700; }
    .ps_hero_copy .ps_btn,
    .ps_photo_card .ps_btn,
    #ps_lead_form .ps_btn {
        width: 100%;
        max-width: none;
        min-height: 56px;
        padding: 14px 16px;
        font-size: 16px;
        white-space: normal;
    }
    #ps_hero .ps_hero_copy .hero_cta_btn {
        order: 5;
        width: 100%;
        max-width: none;
        min-height: 56px;
        padding: 14px 16px;
        font-size: min(16px, 3.55vw);
        white-space: nowrap;
    }
    #ps_page .ps_hero_photo {
        max-width: min(420px, 100%);
        margin: 0 auto;
    }
    .ps_wrap.ps_problem { margin-top: 8px; }
    .ps_wrap {
        width: min(1216px, calc(100% - 48px));
    }
    .ps_problem_track {
        display: flex;
        grid-template-columns: none;
        box-sizing: border-box;
        width: calc(100% + 48px);
        margin-left: -24px;
        gap: 12px;
        padding: 0 32px 18px;
        scroll-padding-inline: 32px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }
    .ps_problem_track::-webkit-scrollbar { display: none; }
    #ps_ecosystem > .ps_wrap,
    #ps_products > .ps_wrap,
    #ps_stats > .ps_wrap {
        width: min(1216px, calc(100% - 48px));
    }
    #ps_page #ps_ecosystem,
    #ps_page #ps_products {
        padding: 48px 0;
    }
    #ps_page #campus_testimonial_section,
    #ps_page #campus_faq_section,
    #ps_page #campus_form_section {
        padding: 48px 24px;
    }
    #ps_page .ps_eco_kicker { font-size: 24px; gap: 6px; margin-bottom: 10px; }
    #ps_page .ps_eco_kicker img { height: 25px; transform: translateY(-5px); }
    #ps_page h2,
    #ps_page .ps_problem h2,
    #ps_page #ps_ecosystem h2 { font-size: 24px; }
    #ps_page .ps_lead { font-size: 15px; }
    #ps_page .ps_problem_card h3 { font-size: 18px; margin-top: 20px; }
    #ps_page .ps_problem_card p { font-size: 14px; margin: 10px 0 20px; }
    #ps_products .desktop_tabs {
        display: none;
    }
    #ps_products .mobile_tabs {
        display: flex;
        padding: 24px 0 32px;
    }
    #ps_products .op_accordion_panel {
        flex-direction: column-reverse;
    }
    #ps_products .op_accordion_label {
        font-size: 20px;
    }
    #ps_products .op_panel_title {
        font-size: 24px;
        text-align: center;
    }
    #ps_products .op_panel_body {
        font-size: 16px;
        text-align: center;
    }
    #ps_products .op_panel_right img {
        max-width: 340px;
        height: auto;
    }
    #ps_products .op_accordion_panel .op_panel_right img {
        width: 100%;
        max-width: 100%;
        height: auto;
    }
    #ps_photo_cta {
        position: relative;
        display: block;
        padding: 48px 0;
        aspect-ratio: 700 / 1123;
        overflow: hidden;
        background: #221f55;
    }
    #ps_photo_cta picture {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }
    #ps_page .ps_photo_bg {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        max-width: none;
        aspect-ratio: auto;
        object-fit: cover;
    }
    #ps_photo_cta .ps_wrap {
        position: absolute;
        z-index: 1;
        top: 48px;
        right: 0;
        bottom: 48px;
        left: 0;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        box-sizing: border-box;
        height: auto;
        padding: 0 0 4px;
    }
    #ps_photo_cta .ps_photo_card {
        gap: 18px;
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 24px;
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 32px;
        background: rgba(38, 38, 98, 0.62);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
    }
    #ps_photo_cta .ps_photo_card h2 {
        font-size: 28px;
        line-height: 1.15;
    }
    #ps_photo_cta .ps_photo_card p {
        margin: 0;
        font-size: 14px;
        font-weight: 400;
        line-height: 1.5;
    }
    #ps_photo_cta .ps_photo_card .hero_cta_btn {
        box-sizing: border-box;
        width: 100%;
        max-width: none;
        margin: 0;
        min-height: 53px;
        padding: 14px 10px;
        border-radius: 34px;
        font-size: min(16px, 3.35vw);
        font-weight: 500;
        line-height: normal;
        white-space: nowrap;
    }
    .ps_review_scroller {
        width: calc(100% + 48px);
        margin-left: -24px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }
    .ps_review_track { transition: none; }
    .ps_review_card {
        flex-basis: 299px;
        scroll-snap-align: center;
    }
    .ps_faq_q { font-size: 16px; padding: 16px 18px; }
    .ps_form_grid {
        display: flex;
        flex-direction: column;
    }
    #ps_page .ps_form_photo {
        height: 200px;
        max-height: 200px;
        object-fit: cover;
    }
    #ps_page .campus_faq_item.active .campus_faq_answer {
        padding: 14px 24px;
    }
}

@media only screen and (min-width: 700px) and (max-width: 768px) {
    #ps_photo_cta {
        aspect-ratio: 768 / 868;
    }
    #ps_page #campus_form_section .campus_form_content {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 24px;
        align-items: stretch;
    }
    #ps_page #campus_form_section .campus_form_visual {
        height: auto;
        min-height: 100%;
        align-self: stretch;
        border-radius: 12px;
    }
    #ps_products .op_accordion_panel {
        gap: 8px;
        padding: 8px 4px 18px;
    }
    #ps_products .op_accordion_panel .op_panel_right img {
        width: auto;
        max-width: 100%;
        max-height: 360px;
        object-fit: contain;
    }
}

@media only screen and (max-width: 1439px) {
    #ps_hero {
        background-size: cover;
        background-position: center bottom;
    }
}

#ps_page .hero_cta_btn {
    white-space: normal;
    max-width: 100%;
    font-size: 18px;
    line-height: 1.25;
    text-align: center;
}
#ps_page .campus_form_visual img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
}
#ps_page .ctr_avatar_img {
    width: 48px;
    height: 48px;
    max-width: none;
    object-fit: cover;
}
#campus_form_section .campus_form_title,
#campus_faq_section .campus_faq_title {
    line-height: 1.25;
}
#campus_form_section .campus_form_subtitle {
    white-space: normal;
    overflow: visible;
}
#campus_form_section,
#campus_faq_section,
#campus_testimonial_section {
    scroll-margin-top: 88px;
}
@media only screen and (min-width: 769px) {
    #ps_page #campus_testimonial_section .campus_testimonial_cards {
        touch-action: pan-y;
    }
    #ps_products .op_product_panels.is_fixed {
        position: relative;
    }
    #ps_products .op_product_panels.is_fixed .op_product_panel {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        align-items: stretch;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 0.3s ease, visibility 0s linear 0.3s;
    }
    #ps_products .op_product_panels.is_fixed .op_product_panel.is_active {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        z-index: 1;
        transition: opacity 0.3s ease, visibility 0s linear 0s;
    }
    #ps_products .op_product_panels.is_fixed .op_panel_left {
        display: flex;
        flex-direction: column;
        justify-content: center;
        flex: 1 1 50%;
        min-width: 0;
        min-height: 0;
    }
    #ps_products .op_product_panels.is_fixed .op_panel_right {
        flex: 1 1 50%;
        min-width: 0;
        min-height: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    #ps_products .op_product_panels.is_fixed .op_panel_right img {
        width: auto;
        height: auto;
        max-width: min(100%, 598px);
        max-height: 100%;
        object-fit: contain;
    }
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
    #ps_products .op_product_panels.is_fixed .op_panel_left {
        flex: 0 0 auto;
        width: 100%;
    }
    #ps_products .op_product_panels.is_fixed .op_panel_right {
        flex: 1 1 0%;
        width: 100%;
    }
    #ps_products .op_product_panels.is_fixed .op_panel_right img {
        max-width: min(100%, 460px);
        margin: 0 auto;
    }
}

@media only screen and (min-width: 1025px) {
    #ps_products .op_product_panels.is_fixed .op_panel_left {
        justify-content: flex-start;
        align-items: flex-start;
        text-align: left;
    }
}

@media (prefers-reduced-motion: reduce) {
    #ps_products .op_product_panels.is_fixed .op_product_panel {
        transition: none;
    }
}
