@import url('https://fonts.googleapis.com/css2?family=Anuphan:wght@100..700&display=swap');

/* --- 1. ส่วนตั้งค่าสูตร Lock Size (สำคัญมาก) --- */
html {
    /* จอปกติ: ให้ 1rem มีค่าเท่ากับ 1% ของความกว้างจอ (Scale ตามจอ) */
    font-size: 1vw;
}

@media (min-width: 1920px) {
    html {
        /* จอใหญ่เกิน 1920px: ล็อคขนาด 1rem ไว้ที่ 19.2px (หยุดขยาย) */
        font-size: 19.2px;
    }
}

body {
    width: 100%;
    display: flex;
    justify-content: center;
    background-color: #f5f5f5;
}

:root {
    --primary-color: #00B4AE;
    --text-dark-green: #155e57;
    --text-teal: #00C4B4;
    --text-white: white;
}

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: "Anuphan", sans-serif;
}

/* --- Layout & Backgrounds --- */
.main-wrapper {
    width: 100%;
    max-width: 1920px;
    position: relative;
    background-color: white;
    overflow: hidden;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}

.watermark-bg {
    width: 100%;
    opacity: 30%;
    position: absolute;
    top: 0;
    z-index: -999;
}

.full-section {
    position: relative;
}

.bg-image {
    width: 100%;
    display: block;
}

.mb-bg-image {
    display: none;
}

/* --- Header --- */
Header .Logo {
    padding: 0 7rem;
}

.logo-img {
    width: 16rem;
    padding: 1.6rem 0;
}

.Header-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 7rem;
    background-color: var(--primary-color);
}

.Header-bottom-right {
    display: flex;
    gap: 7px;
    justify-content: space-evenly;
    align-items: center;
}

.Header-bottom-right a {
    display: flex;
    justify-content: center;
    align-items: center;
}

.Header-bottom-right img {
    width: 2rem;
}

.Header-bottom-left {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3rem;
}

.Header-bottom-left span {
    display: flex;
    justify-content: center;
    align-items: center;
}

.Header-bottom-left span p {
    font-size: 1.5rem;
    color: white;
}

.Header-bottom-left img {
    width: 2rem;
    padding-right: 5px;
}

/* --- Section 1: Hero Banner --- */
.hero-content {
    position: absolute;
    top: 0;
    padding-top: 4rem;
    padding-left: 6rem;
}

.hero-title-group {
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 16px;
}

.hero-h1 {
    font-size: 10rem;
    color: var(--text-teal);
}

.hero-h2 {
    font-size: 8rem;
    color: var(--text-teal);
}

.hero-subtitle {
    font-size: 2.6rem;
    margin-top: -2rem;
    color: var(--text-dark-green);
}

.hero-desc {
    font-size: 1.6rem;
    margin-top: 2rem;
    color: var(--text-dark-green);
}

.hero-desc .pc-br {
    display: block;
}

.hero-desc .mb-br {
    display: none;
}

.price-container {
    display: flex;
    align-items: end;
    margin-top: 3rem;
    gap: 3rem;
}

.price-label {
    font-size: 2.5rem;
    color: var(--text-teal);
}

.price-value {
    font-size: 5rem;
    margin-bottom: -0.5rem;
    color: var(--text-teal);
}

.installment-container {
    margin-top: 2rem;
}

.installment-text {
    font-size: 2.5rem;
    color: var(--text-dark-green);
}

/* CTA Button */
.cta-container {
    position: relative;
    width: 46rem;
    margin-top: 2rem;
}

.cta-bg {
    width: 100%;
    display: block;
}

.cta-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    width: 100%;
    text-align: center;
    font-size: 4.4rem;
    color: white;
}

/* --- Section 2: Info Box --- */
.info-content-box {
    position: absolute;
    top: 0;
    right: 0;
    padding-top: 7rem;
    padding-right: 6rem;
    width: 53rem;
    text-align: left;
}

.info-title {
    color: var(--text-teal);
    font-size: 8rem;
    margin: 0;
    line-height: 0.9;
}

.info-subtitle {
    color: var(--text-dark-green);
    font-size: 3rem;
    margin-top: 2rem;
    margin-bottom: 2.5rem;
}

.info-text {
    color: var(--text-dark-green);
    font-size: 1.5rem;
    line-height: 1.5;
    text-align: justify;
    font-weight: 500;
}

.info-source {
    margin-top: 5rem;
    font-size: 1.25rem;
    color: var(--text-dark-green);
}

/* --- Section 3: Why HPV9 --- */
.why-content-overlay {
    position: absolute;
    top: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 100%;
}

.why-title-box {
    width: 40%;
    text-align: center;
}

.why-h1 {
    font-size: 4rem;
    color: var(--text-white);
}

.why-text-box {
    width: 60%;
    margin-right: 5rem;
    text-align: justify;
}

.why-desc {
    font-size: 1.5rem;
    line-height: 1.5;
    color: var(--text-dark-green);
}

.why-sub-desc {
    font-size: 1.5rem;
    margin-top: 2rem;
    color: var(--text-dark-green);
}

.why-quote {
    font-size: 1.7rem;
    color: var(--text-dark-green);
}

/* --- Section 4: Target Group --- */
.target-content-overlay {
    position: absolute;
    top: 0;
    width: 100%;
}

.target-header {
    width: 100%;
    text-align: center;
    padding-top: 7rem;
}

.target-main-title {
    font-size: 6rem;
    color: var(--text-teal);
}

.target-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6rem 4rem;
    margin: 0 7rem;
    margin-top: 6.8rem;

}

.target-item {
    height: 27rem;
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: start;
    padding-left: 1.5rem;
}

.target-item-title {
    font-size: 2.6rem;
    color: var(--text-white);
    margin-bottom: 0.5rem;
    margin-left: 1rem;
}

.ml-adj-1 {
    margin-left: 0.6rem;
    margin-bottom: 1.1rem;
    line-height: 1.2;
}

.ml-adj-2 {
    margin-left: 1rem;
    margin-bottom: 1.1rem;
    line-height: 1.2;

}

.target-item-desc {
    margin-bottom: 1.3rem;
    font-size: 1.7rem;
    color: var(--text-white);
}

.target-footer {
    width: 100%;
    text-align: center;
    padding-top: 7rem;
}

.target-footer-h1 {
    font-size: 3.2rem;
    color: var(--text-dark-green);
}

.target-footer-h2 {
    font-size: 2rem;
    color: var(--text-dark-green);
}

/* --- Section 5: Process --- */
.process-content-overlay {
    position: absolute;
    top: 0;
    margin-top: 5rem;
    margin-left: 6.7rem;
}

.process-title-row {
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 1rem;
}

.process-title-sm {
    font-size: 4.3rem;
    color: var(--text-teal);
}

.process-title-lg {
    font-size: 6rem;
    color: var(--text-teal);
}

.process-subtitle {
    font-size: 4.3rem;
    margin-top: -1.5rem;
    color: var(--text-teal);
}

.process-desc {
    font-size: 1.7rem;
    margin-top: 2rem;
    color: var(--text-dark-green);
}

.process-steps {
    margin-left: 5rem;
    margin-top: 5rem;
    font-size: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 5.4rem;
}

.step-item {
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 9rem;
}

.step-label {
    margin-bottom: -1rem;
    color: white;
}

.step-label-des {
    color: var(--text-dark-green);
}

.process-footer-text {
    font-size: 2.7rem;
    margin-top: 6.3rem;
    color: white;
}

.process-footer-text .mb-br {
    display: none;
}

/* --- Section 6: Promo --- */
.promo-content-overlay {
    position: absolute;
    top: 0;
    width: 100%;
}

.promo-header {
    margin-top: 3rem;
    margin-left: 7rem;
}

.promo-title {
    font-size: 4.1rem;
    color: var(--text-teal);
}

.promo-subtitle {
    font-size: 2.25rem;
    margin-top: 1rem;
    color: var(--text-teal);
}

.promo-price-row {
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 2rem;
    color: var(--text-dark-green);
}

.promo-price-label {
    font-size: 4.3rem;
}

.promo-price-value {
    font-size: 6rem;
    margin-top: -0.5rem;
}

.promo-note {
    font-size: 1.6rem;
    color: var(--text-teal);
}

.promo-options-row {
    margin-top: 4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
}

.promo-box {
    display: flex;
    justify-content: center;
    align-items: center;
}

.promo-box-installment {
    width: 30%;
    height: 9rem;
    flex-direction: column;
}

.promo-box-single {
    width: 26%;
    height: 9rem;
}

.promo-box-gift {
    width: 30%;
    height: 9rem;
}

.promo-box-title {
    font-size: 2.7rem;
}

.promo-box-desc {
    font-size: 1.7rem;
}

.gift-left {
    width: 30%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.gift-label {
    font-size: 2.5rem;
    margin-left: 2rem;
    margin-top: 1rem;
}

.gift-right {
    width: 70%;
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: start;
    padding-left: 1rem;
}

.gift-title {
    font-size: 1.6rem;
}

.gift-note {
    font-size: 1.2rem;
    margin-top: 0.5rem;
}

.promo-cta-wrapper {
    position: relative;
    width: 50rem;
    margin-top: 2rem;
    margin-left: 6rem;
}

.promo-cta-link {
    text-decoration: none;
    display: block;
    cursor: pointer;
}

/* --- Section 7: Why Choose Us --- */
.choose-content {
    position: absolute;
    top: 0;
    display: flex;
}

.choose-text-box {
    width: 55%;
    margin-left: 7rem;
    margin-top: 5.5rem;
    text-align: justify;
}

.choose-title {
    font-size: 4.2rem;
    color: var(--text-teal);
}

.choose-desc {
    font-size: 1.5rem;
    margin-top: 2rem;
    line-height: 1.5;
    color: var(--text-dark-green);
}

.choose-highlight {
    margin-top: 2.5rem;
    font-size: 2.6rem;
    color: var(--text-dark-green);
}

.choose-branches-title {
    font-size: 1.6rem;
    margin-top: 2.3rem;
    color: var(--text-dark-green);
}

.choose-branches-list {
    color: var(--text-white);
    font-size: 2.5rem;
    margin-top: 1.9rem;
    margin-left: 1.2rem;
}

.choose-quote {
    color: var(--text-white);
    font-size: 2.6rem;
    margin-bottom: -2rem;
    margin-right: 4rem;
    text-align: end;
    position: absolute;
    bottom: 0;
    right: 0;
}

/* --- Section 8: FAQ --- */
.faq-content {
    position: absolute;
    top: 0;
    width: 100%;
}

.faq-container {
    width: 86%;
    margin: 0 auto;
    margin-top: 15rem;
}

.faq-title {
    font-size: 4.3rem;
    color: var(--text-teal);
}

.faq-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    margin-top: 5rem;
    gap: 1rem;
}

.faq-item {
    display: flex;
    flex-direction: column;
    justify-content: end;
    height: 24.5rem;
    align-items: center;
    padding-bottom: 1rem;
}

.faq-q {
    font-size: 1.6rem;
    margin-bottom: 1rem;
    text-align: center;
    color: var(--text-white);
}

.faq-a {
    font-size: 1.2rem;
    text-align: center;
    color: var(--text-white);
}

/* --- Section 9: Closing --- */
.closing-content {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: end;
    align-items: center;
}

.closing-text-box {
    padding-right: 5rem;
    width: 50%;
    height: 55%;
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: start;
}

.closing-title {
    font-size: 5rem;
    color: var(--text-teal);
}

.closing-subtitle {
    font-size: 3rem;
    color: var(--text-dark-green);
}

.closing-desc {
    font-size: 1.7rem;
    margin-top: 1.5rem;
    color: var(--text-dark-green);
}

.closing-btn-1 {
    position: relative;
    width: 26rem;
    margin-top: 3rem;
}

.closing-btn-2 {
    position: relative;
    width: 39rem;
    margin-top: 0.5rem;
}

.closing-btn-text {
    color: var(--text-white);
    font-size: 3rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding-bottom: 1rem;
    width: 100%;
    text-align: center;
}

/* --- Footer --- */
.footer-section {
    position: relative;
}

.footer-content {
    position: absolute;
    top: 0;
}

.footer-row {
    display: flex;
    justify-content: start;
    align-items: start;
    margin-top: 1.5rem;
}

.footer-logo-col {
    margin-left: 10rem;
    margin-top: 1rem;
}

.footer-logo {
    width: 23.5rem;
}

.footer-info-col {
    margin-left: 7rem;
    margin-top: 1rem;
}

.footer-clinic-name {
    font-size: 2.2rem;
    line-height: 1;
    color: var(--text-white);
}

.footer-clinic-name .mb-br {
    display: block;
}

.footer-license {
    margin-top: 1.2rem;
    font-size: 1.7rem;
    color: var(--text-white);
}

.footer-contact-col {
    margin-left: 5rem;
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.footer-contact-item {
    display: flex;
    justify-content: start;
    align-items: center;
}

.footer-icon {
    width: 1.8rem;
}

.footer-contact-text {
    font-size: 1.5rem;
    margin-left: 0.5rem;
    color: var(--text-white);
}

.footer-social-row {
    display: flex;
    justify-content: start;
    align-items: center;
    margin-top: 0.6rem;
    gap: 0.5rem;
}

.footer-social-icon {
    width: 2.3rem;
}

.footer-copyright-box {
    position: absolute;
    bottom: 0.3rem;
    width: 100%;
    text-align: center;
}

.footer-copyright-text {
    font-size: 1.4rem;
    color: var(--text-white);
}


@media (max-width: 768px) {

    /* --- Header --- */
    Header .Logo {
        padding: 0 7rem;
        /* เปลี่ยน vw เป็น rem ทั้งหมด */
    }

    .logo-img {
        width: 28rem;
        padding: 4rem 0;
    }

    .Header-bottom {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 5px 7rem;
        background-color: var(--primary-color);
    }

    .Header-bottom-right {
        display: flex;
        gap: 3px;
        justify-content: space-evenly;
        align-items: center;
    }

    .Header-bottom-right a {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .Header-bottom-right img {
        width: 2.5rem;
    }

    .Header-bottom-left {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 3rem;
    }

    .Header-bottom-left span {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .Header-bottom-left span p {
        font-size: 2rem;
        color: white;
    }

    .Header-bottom-left img {
        width: 3.5rem;
        padding-right: 5px;
    }

    .bg-image {
        display: none;
    }

    .mb-bg-image {
        display: block;
        width: 100%;
    }

    .hero-content {
        width: 100%;
        position: absolute;
        top: 0;
        padding-top: 5rem;
        padding-left: 0;
    }

    .hero-title-group {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 16px;
    }

    .hero-h1 {
        font-size: 19rem;
        color: var(--text-teal);
    }

    .hero-h2 {
        font-size: 14rem;
        color: var(--text-teal);
        margin-bottom: -4rem;
    }

    .hero-subtitle {
        text-align: center;
        font-size: 5rem;
        margin-top: -2rem;
        color: var(--text-dark-green);
    }

    .hero-desc {
        text-align: center;
        font-size: 3.8rem;
        margin-top: 4rem;
        color: var(--text-dark-green);
    }

    .hero-desc .pc-br {
        display: none;
    }

    .hero-desc .mb-br {
        display: block;
    }

    .price-container {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        margin-top: 78rem;
        gap: 0rem;
    }

    .price-label {
        font-size: 4rem;
        color: var(--text-teal);
    }

    .price-value {
        font-size: 12rem;
        margin-bottom: -0.5rem;
        color: var(--text-teal);
    }

    .installment-container {
        margin-top: 2rem;
        text-align: center;
    }

    .installment-text {
        font-size: 4rem;
        color: var(--text-dark-green);
    }

    /* CTA Button */
    .cta-container {
        margin: 0 auto;
        position: relative;
        width: 80rem;
        margin-top: 2rem;
    }

    .cta-bg {
        width: 100%;
        display: block;
    }

    .cta-text {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        margin: 0;
        width: 100%;
        text-align: center;
        font-size: 8rem;
        color: white;
    }

    /* --- Section 2: Info Box --- */
    .info-content-box {
        margin-top: 12rem;
        position: absolute;
        top: 0;
        right: 0;
        padding-top: 7rem;
        padding-right: 0;
        width: 100%;
        text-align: center;
    }

    .info-title {
        color: var(--text-teal);
        font-size: 15rem;
        margin: 0;
        line-height: 0.9;
    }

    .info-subtitle {
        color: var(--text-dark-green);
        font-size: 5.5rem;
        margin-top: 5rem;
        margin-bottom: 2.5rem;
    }

    .info-text {
        color: var(--text-dark-green);
        margin-top: 7rem;
        font-size: 2.7rem;
        line-height: 1.7;
        text-align: justify;
        font-weight: 600;
        padding: 0 7rem;
    }

    .info-source {
        margin-top: 9rem;
        font-size: 2.3rem;
        color: var(--text-dark-green);
    }

    /* --- Section 3: Why HPV9 --- */
    .why-content-overlay {
        position: absolute;
        top: 0;
        display: flex;
        flex-direction: column;
        justify-content: start;
        align-items: center;
        width: 100%;
        height: 100%;
    }

    .why-title-box {
        width: 100%;
        text-align: center;
        margin-top: 17rem;
    }

    .why-h1 {
        font-size: 7rem;
        color: var(--text-white);
    }

    .why-h1 br {
        display: none;
    }

    .why-text-box {
        margin-top: 9rem;
        padding: 0 6rem;
        width: 100%;
        margin-right: 0;
        text-align: justify;
    }

    .why-desc {
        font-size: 3rem;
        line-height: 1.4;
        color: var(--text-dark-green);
    }

    .why-sub-desc {
        font-size: 3rem;
        margin-top: 5rem;
        color: var(--text-dark-green);
    }

    .why-quote {
        font-size: 3rem;
        color: var(--text-dark-green);
    }

    /* --- Section 4: Target Group --- */
    .target-content-overlay {
        position: absolute;
        top: 0;
        width: 100%;
    }

    .target-header {
        width: 100%;
        text-align: center;
        padding-top: 7rem;
    }

    .target-main-title {
        font-size: 7rem;
        color: var(--text-teal);
    }

    .target-grid {
        display: flex;
        flex-direction: column;
        gap: 1.8rem;
        margin: 8rem auto 0 auto;
        width: 55%;
    }

    .target-item {
        height: 36rem;
        display: flex;
        flex-direction: column;
        justify-content: end;
        align-items: start;
        padding-left: 1.5rem;
    }

    .target-item-title {
        font-size: 3rem;
        color: var(--text-white);
        margin-bottom: 1rem;
        margin-left: 3rem;
    }

    .ml-adj-1 {
        margin-left: 2rem;
        margin-bottom: 2rem;
    }

    .ml-adj-2 {
        margin-left: 4rem;
        margin-bottom: 2rem;
    }

    .target-item-desc {
        margin-bottom: 2rem;
        font-size: 2.3rem;
        padding-left: 1rem;
        color: var(--text-white);
    }

    .target-footer {
        width: 80%;
        margin: 0 auto;
        text-align: center;
        padding-top: 7rem;
    }

    .target-footer-h1 {
        font-size: 5.5rem;
        color: var(--text-dark-green);
    }

    .target-footer-h2 {
        padding: 1.2rem 2rem;
        font-size: 3.6rem;
        color: var(--text-dark-green);
    }

    /* --- Section 5: Process --- */
    .process-content-overlay {
        width: 100%;
        position: absolute;
        top: 0;
        margin-top: 5rem;
        margin-left: 0;
    }

    .process-title-row {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 1rem;
        margin: 3rem;
    }

    .process-title-sm {
        font-size: 7rem;
        color: var(--text-teal);
    }

    .process-title-lg {
        font-size: 10rem;
        color: var(--text-teal);
    }

    .process-subtitle {
        text-align: center;
        font-size: 7rem;
        margin-top: -4rem;
        color: var(--text-teal);
    }

    .process-desc {
        width: 80%;
        margin: 0 auto;
        text-align: center;
        font-size: 3.5rem;
        margin-top: 2rem;
        color: var(--text-dark-green);
    }

    .process-desc br {
        display: none;
    }

    .process-steps {
        margin-left: 26rem;
        margin-top: 6.5rem;
        font-size: 2.5rem;
        display: flex;
        flex-direction: column;
        gap: 8.3rem;
    }

    .step-item {
        display: flex;
        justify-content: start;
        align-items: center;
        gap: 15rem;
    }

    .step-label {
        /*margin-bottom: -1rem;*/
        color: white;
        font-weight: 600;
    }

    .step-label-des {
        color: var(--text-dark-green);
    }

    .process-footer-text {
        font-size: 5rem;
        margin-left: 4rem;
        margin-top: 86rem;
        color: white;
    }

    .process-footer-text .mb-br {
        display: block;
    }

    /* --- Section 6: Promo --- */
    .promo-content-overlay {
        position: absolute;
        top: 0;
        width: 100%;
    }

    .promo-header {
        text-align: center;
        margin-top: 10rem;
        margin-left: 0;
    }

    .promo-title {
        font-size: 6.7rem;
        color: var(--text-teal);
    }

    .promo-subtitle {
        font-size: 3.8rem;
        margin-top: 2rem;
        color: var(--text-teal);
    }

    .promo-price-row {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 2rem;
        color: var(--text-dark-green);
    }

    .promo-price-label {
        font-size: 7rem;
    }

    .promo-price-value {
        font-size: 10rem;
        margin-top: -0.5rem;
    }

    .promo-note {
        font-size: 3rem;
        color: var(--text-teal);
    }

    .promo-options-row {
        margin-top: 5.5rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 4.5rem;
        align-items: center;
        color: white;
    }

    .promo-box {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .promo-box-installment {
        width: 65%;
        height: 17rem;
        flex-direction: column;
    }

    .promo-box-single {
        line-height: 1;
        width: 65%;
        height: 17rem;
    }

    .promo-box-gift {
        width: 65%;
        height: 17rem;
    }

    .promo-box-title {
        font-size: 5.7rem;
    }

    .promo-box-desc {
        font-size: 4rem;
    }

    .gift-left {
        width: 30%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .gift-label {
        font-size: 5.5rem;
        margin-left: 6.3rem;
        margin-top: 1rem;
    }

    .gift-right {
        width: 70%;
        display: flex;
        flex-direction: column;
        justify-content: start;
        align-items: start;
        padding-left: 1rem;
    }

    .gift-title {
        margin-top: 0rem;
        font-size: 3.8rem;
    }

    .gift-note {
        font-size: 2.8rem;
        margin-top: 0.5rem;
    }

    .promo-cta-wrapper {
        position: relative;
        width: 86%;
        margin: 6rem auto 0 auto;
    }

    .promo-cta-link {
        text-decoration: none;
        display: block;
        cursor: pointer;
    }

    /* --- Section 7: Why Choose Us --- */
    .choose-content {
        position: absolute;
        top: 0;
        bottom: 0;
        display: flex;
    }

    .choose-text-box {
        width: 100%;
        margin-left: 0;
        margin-top: 12rem;
        text-align: justify;
    }

    .choose-title {
        font-size: 6.5rem;
        text-align: center;
        color: var(--text-teal);
    }

    .choose-desc {
        font-size: 3.25rem;
        margin-top: 3.5rem;
        padding: 0 6rem;
        line-height: 1.3;
        color: var(--text-dark-green);
    }

    .choose-highlight {
        text-align: center;
        margin-top: 4.7rem;
        font-size: 5.8rem;
        color: var(--text-dark-green);
    }

    .choose-branches-title {
        text-align: center;
        font-size: 3rem;
        margin-top: 4rem;
        color: var(--text-dark-green);
    }

    .choose-branches-list {
        color: var(--text-white);
        background: var(--text-dark-green);
        padding: 1rem 0.5rem;
        border-radius: 2.3rem;
        width: 86%;
        text-align: center;
        font-size: 5rem;
        margin: 2rem auto 0 auto;
    }

    .choose-quote {
        color: var(--text-white);
        font-size: 5.2rem;
        margin-bottom: 0;
        margin-right: 0;
        text-align: center;
        position: absolute;
        line-height: 1.2;
        bottom: 5rem;
        right: 0;
        left: 0;
    }

    /* --- Section 8: FAQ --- */
    .faq-content {
        position: absolute;
        top: 0;
        width: 100%;
    }

    .faq-container {
        width: 86%;
        margin: 0 auto;
        margin-top: 27rem;
    }

    .faq-title {
        font-size: 8.7rem;
        text-align: center;
        color: var(--text-teal);
    }

    .faq-grid {
        display: flex;
        flex-direction: column;
        margin-top: 17rem;
        gap: 13rem;
    }

    .faq-item {
        display: flex;
        flex-direction: column;
        justify-content: end;
        height: 98rem;
        align-items: center;
        padding-bottom: 5.3rem;
    }

    .faq-q {
        font-size: 6.6rem;
        margin-bottom: 3rem;
        text-align: center;
        color: var(--text-white);
    }

    .faq-a {
        font-size: 4.7rem;
        text-align: center;
        color: var(--text-white);
    }

    /* --- Section 9: Closing --- */
    .closing-content {
        position: absolute;
        top: 0;
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .closing-text-box {
        padding-right: 0;
        margin-top: 77rem;
        width: 100%;
        height: max-content;
        display: flex;
        flex-direction: column;
        justify-content: start;
        align-items: center;
    }

    .closing-title {
        font-size: 8.8rem;
        color: var(--text-teal);
    }

    .closing-subtitle {
        font-size: 5.3rem;
        margin-top: 0rem;
        color: var(--text-dark-green);
    }

    .closing-desc {
        font-size: 3.35rem;
        margin-top: 3rem;
        color: var(--text-dark-green);
    }

    .closing-btn {
        display: block;
    }

    .closing-btn-1 {
        position: relative;
        width: 60%;
        height: max-content;
        margin-top: 7rem;
    }

    .closing-btn-2 {
        position: relative;
        width: 92%;
        margin-top: 0rem;
    }

    .closing-btn-text {
        color: var(--text-white);
        font-size: 7rem;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        padding-bottom: 1rem;
        width: 100%;
        text-align: center;
    }

    /* --- Footer --- */
    .footer-section {
        margin-top: -10rem;
        position: relative;
    }

    .footer-content {
        position: absolute;
        top: 0;
        width: 100%;
    }

    .footer-row {
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        margin-top: 1.5rem;
    }

    .footer-logo-col {
        margin-left: 2.5rem;
        margin-top: 0rem;
    }

    .footer-logo {
        width: 34rem;
    }

    .footer-info-col {
        margin-left: 0;
        margin-top: 1rem;
    }

    .footer-clinic-name {
        font-size: 4rem;
        text-align: center;
        margin-top: 5rem;
        line-height: 1;
        color: var(--text-white);
    }

    .footer-clinic-name .mb-br {
        display: none;
    }

    .footer-license {
        text-align: center;
        margin-top: 1rem;
        font-size: 3.3rem;
        color: var(--text-white);
    }

    .footer-contact-col {
        margin-left: 0;
        margin-top: 3rem;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 1rem;
    }

    .footer-contact-item {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .footer-contact-item:nth-child(1) {
        order: 1;
        width: max-content;
    }
    .footer-contact-item:nth-child(2) {
        order: 2;
        width: 100%;
    }
    .footer-contact-item:nth-child(3) {
        order: 1;
        width: max-content;
    }

    .footer-icon {
        width: 4rem;
    }

    .footer-contact-text {
        font-size: 3rem;
        margin-left: 0.5rem;
        color: var(--text-white);
    }

    .footer-social-row {
        order: 4;
        display: flex;
        justify-content: start;
        align-items: center;
        margin-top: 3rem;
        gap: 1rem;
    }

    .footer-social-icon {
        width: 4.5rem;
    }

    .footer-copyright-box {
        position: absolute;
        bottom: 1rem;
        width: 100%;
        text-align: center;
    }

    .footer-copyright-text {
        font-size: 2.4rem;
        color: var(--text-white);
    }

}
