/* ========================================
   GLOBAL
======================================== */

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    padding:0;

    color:#0a2242;

    font-family:'Be Vietnam Pro', sans-serif;

    overflow-x:hidden;
}

img{
    max-width:100%;
}


/* ========================================
   TEXT COLORS
======================================== */

.navy{
    color:#0d2c54;
}

.orange{
    color:#f5871f;
    font-style: italic;
}

.bg-navy{
    background-color:#0d2c54;
}


/* ========================================
   BUTTONS
======================================== */

.btn-navy{
    background:#061B63;

    color:#fff;

    border:none;

    padding:.75rem 1.75rem;

    border-radius:8px;

    font-weight:500;

    transition:all .3s ease;
}

.btn-navy:hover{
    background:#1a2b8d;

    color:#fff;
}

.btn-navy:active,
.btn-navy.active{
    background:#808080 !important;

    color:#fff !important;

    border-color:#070707 !important;
}


.btn-outline-navy{
    border:1px solid #0d2c54;

    color:#0d2c54;

    padding:.75rem 1.75rem;

    border-radius:8px;

    font-weight:500;

    background:#fff;

    transition:all .3s ease;
}

.btn-outline-navy:hover{
    background:#0d2c54;

    color:#fff;
}


/* ========================================
   NAVBAR
======================================== */

.navbar{
    background:black !important;

    z-index:1000;
}

.navbar .nav-link{
    color:#0a2242;

    font-weight:500;

    margin:0 .45rem;

    padding:8px 14px;

    border-radius:6px;

    transition:all .3s ease;
}


/* ACTIVE */

.navbar .nav-link.active{
    color:#FF9500;
}


/* HOVER */

.navbar .nav-link:hover{
    color:#f5871f;

    background-color:#eeeeee;
}


/* ACTIVE HOVER */

.navbar .nav-link.active:hover{
    color:#f5871f;

    background-color:#eeeeee;
}


/* PROFILE */

.profile-link{
    transition:all .3s ease;
}

.profile-link:hover{
    color:#f5871f !important;
}


/* LOGIN */

.login-btn{
    min-width:95px;

    text-align:center;
}


/* ========================================
   LOGO
======================================== */

.brand-icon{
    width:300px;

    height:80px;

    object-fit:cover;

    display:block;
    
    
}


/* ========================================
   HERO SECTION
======================================== */

.hero-section{

    width:100%;

    height:450px;

    position:relative;

    overflow:hidden;

    padding:0 !important;

    margin:0;

}


/* ========================================
   HERO IMAGE
   ALWAYS BACKGROUND
======================================== */

.hero-image{

    position:absolute;

    top:0;
    right:0;
    bottom:0;
    left:0;

    width:100%;
    height:100%;

    z-index:1;

    overflow:hidden;

    margin:0;
    padding:0;
}


.hero-image img{

    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    object-position:center center;
}


/* ========================================
   HERO INNER
======================================== */

.hero-inner{

    position:relative;

    z-index:2;

    width:100%;

    height:100%;

    max-width:1440px;

    margin:0 auto;

    padding:0;
}


/* ========================================
   HERO CONTENT
======================================== */

.hero-content{

    position:absolute;

    top:0;
    left:0;

    width:60%;
    height:100%;

    padding-left:8.4%;
    padding-right:30px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:flex-start;
}


/* ========================================
   HERO EYEBROW
======================================== */

.hero-eyebrow{

    display:inline-block;

    color:#16243a;

    font-size:13px;

    font-weight:500;

    line-height:1.3;

    letter-spacing:.2px;

    text-transform:uppercase;

    padding-bottom:7px;

    margin-bottom:27px;

    border-bottom:1px solid #16243a;
}


/* ========================================
   HERO HEADING
======================================== */

.hero-heading{

    margin:0;

    color:#061b63;

    font-family:Georgia, "Times New Roman", serif;

    font-size:52px;

    font-weight:400;

    line-height:1.13;

    letter-spacing:-1.5px;
}


.hero-heading span{

    color:#FF9500;
    font-style: italic;
}


/* ========================================
   HERO DESCRIPTION
======================================== */

.hero-description{

    width:100%;

    max-width:530px;

    margin-top:27px;

    margin-bottom:29px;

    color:#172337;

    font-size:16px;

    font-weight:400;

    line-height:1.65;
}


/* ========================================
   HERO BUTTONS
======================================== */

.hero-buttons{

    display:flex;

    align-items:center;

    gap:10px;
}


/* ========================================
   PRIMARY HERO BUTTON
======================================== */

.hero-buttons .btn-navy{

    background:#061B63;

    color:#fff;

    border:none;

    padding:13px 25px;

    min-height:48px;

    border-radius:6px;

    font-size:15px;

    font-weight:600;

    display:flex;

    align-items:center;

    justify-content:center;

    text-decoration:none;

    transition:all .3s ease;
}


.hero-buttons .btn-navy:hover{

    background:#1a2b8d;

    color:#fff;
}


/* ========================================
   SECONDARY HERO BUTTON
======================================== */

.hero-buttons .btn-outline-navy{

    background:#fff;

    color:#172337;

    border:1px solid #eeeeee;

    padding:13px 22px;

    min-height:48px;

    border-radius:6px;

    font-size:15px;

    font-weight:500;

    display:flex;

    align-items:center;

    justify-content:center;

    text-decoration:none;

    transition:all .3s ease;
}


.hero-buttons .btn-outline-navy:hover{

    background:#f1f1f1;

    color:#061b63;

    border-color:#e5e5e5;
}


/* ========================================
   OTHER SECTIONS
======================================== */

.section-title{

    font-weight:500;
    font-size: 32px;
}


.section-eyebrow{
font-size: 20px;
color: #020202;
    font-weight:600;
}


/* ========================================
   ABOUT SECTION
======================================== */

#about{

    width:100%;

    background:#ffffff;

    padding:45px 0 50px;
}


#about .container-fluid{

    width:100%;

    padding-left:0;
    padding-right:0;
}


#about .text-center{

    margin-bottom:48px !important;
}


/* ========================================
   ABOUT EYEBROW
======================================== */

#about .section-eyebrow{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    margin:0 0 14px !important;

    color:#111111 !important;

    font-family:'Be Vietnam Pro', sans-serif;

    font-size:25px;

    line-height:1.4;

    font-weight:500;
}


#about .about-heading-logo{

   width: 50px; height: 40px; display: block; border-radius: 7px; object-fit: fill;
}


/* ========================================
   ABOUT HEADING
======================================== */

#about .section-title{

    margin:0;

    padding:0;

    color:#06345f !important;

    font-family:'Be Vietnam Pro', sans-serif;

    font-size:32px;

    line-height:1.3;

    font-weight:500;

    letter-spacing:-0.4px;
}


#about .section-title .orange{

    color:#E98E06;

    font-weight:500;
}


/* ========================================
   ABOUT DESCRIPTION
======================================== */

#about .text-muted{

    width:100%;

    max-width:1000px !important;

    margin:15px auto 0 !important;

    color:#555555 !important;

    font-family:'Be Vietnam Pro', sans-serif;

    font-size:16px;

    line-height:1.55;

    font-weight:400;
}


/* ========================================
   ABOUT IMAGE
======================================== */

#about .row{

    margin:0;
}


#about .col-lg-11{

    width:100%;

    max-width:1215px;

    padding-left:0;
    padding-right:0;

    margin-left:auto;
    margin-right:auto;
}


.about-img{

    width:100%;

    padding:6px;

    background:#ffffff;

    border:2px solid #06345f;

    border-radius:12px;

    overflow:hidden;
}


.about-img img{

    display:block;

    width:100%;

    height:auto;

    max-height:none;

    min-height:0;

    object-fit:initial;

    object-position:center;

    border-radius:7px;
}


/* ========================================
   ABOUT RESPONSIVE
======================================== */

@media (max-width:1199px){



    #about .section-title{

        font-size:30px;
    }


    #about .text-muted{

        font-size:15.5px;
    }


    #about .col-lg-11{

        max-width:1150px;
    }

}


@media (max-width:991px){



    #about .text-center{

        margin-bottom:40px !important;
    }


    #about .section-eyebrow{

        font-size:21px;
    }


    #about .about-heading-logo{

        width:29px;

        height:29px;

        flex-basis:22px;
    }


    #about .section-title{

        font-size:28px;

        line-height:1.3;
    }


    #about .text-muted{

        max-width:700px !important;

        font-size:15px;

        line-height:1.6;
    }


    #about .col-lg-11{

        max-width:100%;
    }


    .about-img{

        padding:5px;

        border-radius:11px;
    }


    .about-img img{

        border-radius:6px;
    }

}


@media (max-width:767px){



    #about .text-center{

        margin-bottom:34px !important;
    }


    #about .section-eyebrow{

        gap:7px;

        font-size:20px;
    }


    #about .about-heading-logo{

        width:29px;

        height:29px;

        flex-basis:20px;
    }


    #about .section-title{

        font-size:25px;

        line-height:1.35;

        letter-spacing:-0.2px;
    }


    #about .text-muted{

        max-width:620px !important;

        margin-top:13px !important;

        font-size:14px;

        line-height:1.6;
    }


    .about-img{

        padding:4px;

        border-width:2px;

        border-radius:10px;
    }


    .about-img img{

        border-radius:5px;
    }

}


@media (max-width:575px){



    #about .section-eyebrow{

        font-size:18px;
    }


    #about .about-heading-logo{

        width:29px;

        height:29px;

        flex-basis:18px;
    }


    #about .section-title{

        font-size:22px;

        line-height:1.35;
    }


    #about .text-muted{

        font-size:13px;

        line-height:1.6;
    }


    .about-img{

        padding:4px;

        border-width:2px;

        border-radius:9px;
    }


    .about-img img{

        border-radius:5px;
    }

}


/* ========================================
   SMART HEALTH SNAPSHOTS
======================================== */

.smart-snapshots{

    width:100%;

    background:#ffffff;
}


/* ========================================
   SNAPSHOT CONTAINER
======================================== */

.snapshot-container{

    width:100%;

    max-width:1200px;

    margin:0 auto;

    padding:0 20px;
}


/* ========================================
   SNAPSHOT HEADING
======================================== */

.snapshot-heading{

    width:100%;

    text-align:center;

    margin-bottom:30px;
}



.snapshot-eyebrow{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:7px;

    margin:0 0 12px;

    color:#111111;

    font-family:'Be Vietnam Pro', sans-serif;

    font-size:25px;

    font-weight:500;

    line-height:1.4;
}


.snapshot-eyebrow img{
    width: 50px;
    height: 40px;
    display: block;
    border-radius: 7px;
    object-fit: fill;
}


.snapshot-title{

    margin:0;

    padding:0;

    color:#06345f;

    font-family:'Be Vietnam Pro', sans-serif;

    font-size:32px;

    line-height:1.3;

    font-weight:500;

    letter-spacing:-0.4px;
}


.snapshot-title span{

    color:#E98E06;

    font-weight:500;
    font-style: italic;
}


.snapshot-description{

    width:100%;


    margin:9px auto 0;

    color:#0a0a0a;

    font-family:'Be Vietnam Pro', sans-serif;

    font-size:20px;


    line-height:1.55;
}



.snapshot-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:6px;

    margin-top:13px;

    height:37px;

    padding:0 30px;

    background:#061B63;

    color:#ffffff;

    border:none;

    border-radius:3px;

    font-family:'Be Vietnam Pro', sans-serif;

    font-size:10px;

    font-weight:500;

    text-decoration:none;

    transition:all .25s ease;
}


.snapshot-btn i{

    font-size:9px;
}


.snapshot-btn:hover{

    background:#1a2b8d;

    color:#ffffff;

    transform:translateY(-1px);
}

.snapshot-grid{

    width:100%;

    display:grid;

    grid-template-columns:repeat(3, 1fr);

    gap:16px;
}


.snapshot-card{

    position:relative;

    border-radius:18px;

    padding:20px 20px 18px;

    text-align:left;

    line-height:1.3;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.snapshot-card:hover{

    transform:translateY(-2px);

    box-shadow:0 5px 15px rgba(6,27,99,.10);
}


/* CARD TOP ROW: ICON + BADGE */

.card-top{

    display:flex;

    align-items:flex-start;

    justify-content:space-between;

    margin-bottom:16px;
}


/* ICON CIRCLE */

.snapshot-icon{

    width:44px;

    height:44px;

    border-radius:10px;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#ffffff;

    font-size:1.2rem;

    flex:0 0 44px;
}


/* "NORMAL" BADGE */

.normal-badge{

    font-size:11px;

    font-weight:600;

    padding:4px 12px;

    border-radius:20px;

    background:#ffffff;

    white-space:nowrap;
}


/* LABEL */

.snapshot-label{

    margin:0 0 4px;

    font-family:'Be Vietnam Pro', sans-serif;

    font-weight:700;

    font-size:15px;

    color:#0a2242;
}


/* VALUE */

.snapshot-value{

    margin:0;

    font-family:'Be Vietnam Pro', sans-serif;

    font-size:13px;

    font-weight:400;

    color:#333333;
}


/* ========================================
   CARD COLOR THEMES
======================================== */

.bp-card{ background:#eaf2ff; }
.bp-icon{ background:#2f6fed; }
.bp-badge{ color:#2f6fed; }

.hr-card{ background:#ffeef1; }
.hr-icon{ background:#e8385f; }
.hr-badge{ color:#e8385f; }

.spo2-card{ background:#eafaf1; }
.spo2-icon{ background:#1fae66; }
.spo2-badge{ color:#1fae66; }

.temp-card{ background:#fff2e8; }
.temp-icon{ background:#f5871f; }
.temp-badge{ color:#f5871f; }

.weight-card{ background:#f1edfd; }
.weight-icon{ background:#7b5cf0; }
.weight-badge{ color:#7b5cf0; }

.glucose-card{ background:#fdeaf3; }
.glucose-icon{ background:#d92e8c; }
.glucose-badge{ color:#d92e8c; }


/* ========================================
   SMART VITAL TRACKING
======================================== */

.feature-box{

    background:#f6f7fb;

    border-radius:14px;

    padding:1.75rem;

    height:100%;
}


.feature-icon{

    width:44px;

    height:44px;

    border-radius:10px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#fff;

    color:#0d2c54;

    font-size:1.2rem;

    margin-bottom:1rem;

    box-shadow:0 2px 6px rgba(0,0,0,.06);
}



.session-card{

    background:#fff;

    border-radius:16px;

    padding:1.75rem 1.25rem;

    height:100%;

    color:#0a2242;
}


.session-icon{

    width:46px;

    height:46px;

    border-radius:10px;

    background:#fdece0;

    color:#f5871f;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:1.3rem;

    margin-bottom:.75rem;
}


.session-arrow{

    width:36px;

    height:36px;

    border-radius:50%;

    border:1px solid #d8dde5;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#0d2c54;
}


/* ========================================
   HOW IT WORKS
======================================== */
.how-it-works-section{
  margin-top: 70px;
}
.step-card img{

    width:100%;

    border-radius:14px;

    margin-bottom:1rem;

    height:300px;

    object-fit:cover;
}
.how-it-works-section .section-eyebrow{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: #050505;
    font-size: 25px;
    font-weight: 600;
    line-height: 1.2;
}

.how-it-works-icon{
  width: 50px; height: 40px; display: block; border-radius: 7px; object-fit: fill;
}

.step-num{

    font-weight:700;

    color:#0d2c54;
}
.step-card{
background: #F6F8FD;
}
/* =========================================================
   GET STARTED CTA — FIGMA MATCH
   Image is an absolutely positioned HTML image.
   The banner itself is relative, so text can sit over the
   artwork exactly like the Figma design.
========================================================= */

.get-started-cta{
    width:100%;
    padding:64px 0 64px;
    background:#ffffff;
}

.get-started-cta .cta-banner{
    position:relative;
    width:100%;
    height:420px;
    margin:0 auto;
    overflow:hidden;
    border-radius:16px;
    background:#fff5eb;
}

/* FULL CTA ARTWORK */
.get-started-cta .cta-bg-image{
    position:absolute;
    inset:0;
    z-index:1;

    width:100%;
    height:100%;
    max-width:none;
    margin:0;
    border-radius:0;

    display:block;
    object-fit:cover;
    object-position:center center;
}

/* Keeps the text area clean without hiding the artwork */
.get-started-cta .cta-overlay{
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;

    background:linear-gradient(
        90deg,
        rgba(255,249,243,.97) 0%,
        rgba(255,249,243,.91) 35%,
        rgba(255,249,243,.42) 57%,
        rgba(255,249,243,0) 73%
    );
}

/* CTA TEXT BLOCK */
.get-started-cta .cta-content{
    position:absolute;
    z-index:3;
    top:0;
    left:48px;

    width:560px;
    height:100%;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
}

/* EYEBROW */
.get-started-cta .cta-eyebrow{
    display:flex;
    align-items:center;
    gap:8px;

    margin:0 0 20px;
    padding:0;

    color:#09295f;
    font-family:'Be Vietnam Pro', sans-serif;
    font-size:13px;
    font-weight:600;
    line-height:1;
    letter-spacing:2px;
    text-transform:uppercase;
}

.get-started-cta .cta-eyebrow-icon{
      width: 40px;
    height: 40px;
    font-size: 14px;
    border-radius: 6px;
}

/* HEADING */
.get-started-cta .cta-title{
    margin:0;
    padding:0;

    color:#0a3476;
    font-family:'Be Vietnam Pro', sans-serif;
    font-size:39px;
    font-weight:400;
    line-height:1.18;
    letter-spacing:-1.2px;
}

.get-started-cta .cta-title strong{
    font-weight:800;
}

.get-started-cta .cta-title span{
    color:#f28a24;
    font-style: italic;
}

/* DESCRIPTION */
.get-started-cta .cta-description{
    width:100%;
    max-width:555px;

    margin:20px 0 18px;
    padding:0;

    color:#202020;
    font-family:'Be Vietnam Pro', sans-serif;
    font-size:18px;
    font-weight:400;
    line-height:1.55;
}

/* BUTTON */
.get-started-cta .cta-button{
    min-width:159px;
    height:40px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    padding:0 20px;

    background:#061b63;
    color:#ffffff;
    border:0;
    border-radius:5px;

    font-family:'Be Vietnam Pro', sans-serif;
    font-size:11px;
    font-weight:600;
    line-height:1;
    text-decoration:none;
}

.get-started-cta .cta-button i{
    font-size:12px;
}

.get-started-cta .cta-button:hover{
    background:#0d2c86;
    color:#ffffff;
    transform:translateY(-1px);
    box-shadow:0 7px 16px rgba(6,27,99,.18);
}

/* TABLET */
@media (max-width:1199px){
    .get-started-cta{
        padding:55px 0;
    }

    .get-started-cta .cta-banner{
        height:380px;
    }

    .get-started-cta .cta-content{
        left:42px;
        width:52%;
    }

    .get-started-cta .cta-title{
        font-size:34px;
    }

    .get-started-cta .cta-description{
        max-width:500px;
        font-size:14px;
    }
}

/* SMALL TABLET */
@media (max-width:991px){
    .get-started-cta{
        padding:45px 0;
    }

    .get-started-cta .cta-banner{
        height:300px;
        border-radius:14px;
    }

    .get-started-cta .cta-bg-image{
        object-position:62% center;
    }

    .get-started-cta .cta-overlay{
        background:linear-gradient(
            180deg,
            rgba(255,249,243,.98) 0%,
            rgba(255,249,243,.92) 40%,
            rgba(255,249,243,.40) 67%,
            rgba(255,249,243,0) 88%
        );
    }

    .get-started-cta .cta-content{
        top:35px;
        left:38px;
        width:calc(100% - 76px);
        height:auto;
    }

    .get-started-cta .cta-eyebrow{
        margin-bottom:16px;
        font-size:12px;
    }

    .get-started-cta .cta-title{
        font-size:32px;
    }

    .get-started-cta .cta-description{
        max-width:590px;
        margin-top:16px;
        font-size:14px;
    }
}

/* MOBILE */
@media (max-width:767px){
    .get-started-cta{
        padding:35px 0;
    }

    .get-started-cta .cta-banner{
        height:300px;
        border-radius:12px;
    }

    .get-started-cta .cta-bg-image{
        object-position:75% bottom;
    }

    .get-started-cta .cta-overlay{
        background:linear-gradient(
            180deg,
            rgba(255,249,243,1) 0%,
            rgba(255,249,243,.96) 37%,
            rgba(255,249,243,.62) 53%,
            rgba(255,249,243,0) 73%
        );
    }

    .get-started-cta .cta-content{
        top:30px;
        left:22px;
        width:calc(100% - 44px);
        height:auto;
        justify-content:flex-start;
    }

    .get-started-cta .cta-eyebrow{
        gap:6px;
        margin-bottom:14px;
        font-size:10px;
        letter-spacing:1.5px;
    }

    .get-started-cta .cta-eyebrow-icon{
        width:29px;
        height:29px;
        flex-basis:14px;
    }

    .get-started-cta .cta-title{
        font-size:28px;
        line-height:1.2;
        letter-spacing:-.6px;
    }

    .get-started-cta .cta-title br{
        display:none;
    }

    .get-started-cta .cta-description{
        max-width:100%;
        margin:15px 0 17px;
        font-size:13px;
        line-height:1.55;
    }

    .get-started-cta .cta-button{
        min-width:150px;
        height:38px;
        font-size:11px;
    }
}

/* VERY SMALL MOBILE */
@media (max-width:575px){
    .get-started-cta .cta-banner{
        height:300px;
    }

    .get-started-cta .cta-content{
        left:18px;
        width:calc(100% - 36px);
    }

    .get-started-cta .cta-title{
        font-size:22px;
    }

    .get-started-cta .cta-description{
        font-size:12px;
    }
}



/* ========================================
   RESPONSIVE - 1200px
======================================== */

@media (max-width:1199px){

    .brand-icon{

        width:240px;

        height:70px;
    }


    .navbar .nav-link{

        margin:0 .2rem;

        padding:8px 9px;
    }




    .hero-content{

        width:62%;

        padding-left:6%;

        padding-right:25px;
    }


    .hero-heading{

        font-size:44px;
    }


    .hero-description{

        font-size:15px;

        max-width:480px;
    }


    /* SNAPSHOTS */

    .snapshot-container{

        max-width:1100px;

        padding:0 20px;
    }


    .snapshot-title{

        font-size:27px;
    }

}


/* ========================================
   RESPONSIVE - 991px
======================================== */

@media (max-width:991px){

    /*
       HERO
    */

    .hero-section{

        position:relative;
    }


    .hero-image{

        position:absolute;

        top:0;
        right:0;
        bottom:0;
        left:0;

        width:100%;

        height:100%;

        z-index:1;
    }


    .hero-image img{

        width:100%;

        height:100%;

        object-fit:cover;

        object-position:center center;
    }


    .hero-inner{

        width:100%;

        height:100%;

        position:relative;

        z-index:2;
    }


    .hero-content{

        position:relative;

        top:auto;
        left:auto;

        width:100%;

        height:100%;

        padding:55px 35px;

        display:flex;

        align-items:center;

        justify-content:flex-start;

        text-align:center;

        background:
            linear-gradient(
                to bottom,
                rgba(255,247,239,.97) 0%,
                rgba(255,247,239,.90) 42%,
                rgba(255,247,239,.35) 70%,
                rgba(255,247,239,0) 100%
            );
    }


    .hero-eyebrow{

        margin-bottom:20px;
    }


    .hero-heading{

        font-size:44px;

        line-height:1.15;
    }


    .hero-description{

        margin-left:auto;

        margin-right:auto;

        max-width:600px;
    }


    .hero-buttons{

        justify-content:center;
    }


    /* NAVBAR */

    .navbar-collapse{

        padding:15px 0;
    }


    .navbar .nav-link{

        margin:.2rem 0;
    }


    .navbar .d-flex{

        margin-top:10px;
    }


    /* SNAPSHOTS */




    .snapshot-grid{

        grid-template-columns:repeat(2,1fr);

        gap:14px;
    }


    .snapshot-title{

        font-size:26px;
    }

}


/* ========================================
   RESPONSIVE - 767px
======================================== */

@media (max-width:767px){

    .brand-icon{

        width:210px;

        height:65px;
    }





    .hero-image{

        position:absolute;

        top:0;
        left:0;

        width:100%;

        height:100%;

        z-index:1;
    }


    .hero-image img{

        width:100%;

        height:450px;

        object-fit:cover;

        object-position:center center;
    }


    .hero-content{

        width:100%;

        height:100%;

        padding:40px 20px;

        align-items:center;

        justify-content:flex-start;

        text-align:center;

        background:
            linear-gradient(
                to bottom,
                rgba(255,247,239,.98) 0%,
                rgba(255,247,239,.95) 40%,
                rgba(255,247,239,.55) 62%,
                rgba(255,247,239,.08) 84%,
                rgba(255,247,239,0) 100%
            );
    }


    .hero-eyebrow{

        font-size:11px;

        letter-spacing:.2px;

        margin-bottom:18px;
    }


    .hero-heading{

        font-size:36px;

        line-height:1.15;

        letter-spacing:-.8px;
    }


    .hero-description{

        font-size:14px;

        line-height:1.6;

        margin-top:20px;

        margin-bottom:25px;

        max-width:500px;
    }


    .hero-buttons{

        width:100%;

        flex-direction:column;

        align-items:center;

        gap:10px;
    }


    .hero-buttons .btn{

        width:100%;

        max-width:300px;
    }


    /* OTHER SECTIONS */



    .floating-badge{

        font-size:.7rem;

        padding:.35rem .5rem;
    }


    .session-banner{

        padding:2rem 1rem;
    }


    .session-banner h2{

        font-size:1.7rem !important;
    }


    .feature-box{

        padding:1.25rem;
    }


    /* ====================================
       SMART SNAPSHOTS
    ==================================== */


    .snapshot-container{

        padding:0 18px;
    }


    .snapshot-heading{

        margin-bottom:25px;
    }


    .snapshot-eyebrow{

        font-size:19px;
    }


    .snapshot-eyebrow img{

        width:29px;

        height:29px;
    }


    .snapshot-title{

        font-size:24px;

        line-height:1.35;
    }


    .snapshot-description{

        font-size:13px;

        line-height:1.6;
    }


    .snapshot-grid{

        grid-template-columns:repeat(2,1fr);

        gap:12px;
    }


    .snapshot-card{

        border-radius:14px;

        padding:16px 16px 14px;
    }


    .snapshot-icon{

        width:38px;

        height:38px;

        font-size:1rem;
    }


    .snapshot-label{

        font-size:14px;
    }


    .snapshot-value{

        font-size:12px;
    }

}


/* ========================================
   RESPONSIVE - 575px
======================================== */

@media (max-width:575px){

    .brand-icon{

        width:190px;

        height:60px;
    }




    .hero-content{

        padding:30px 16px;

        background:
            linear-gradient(
                to bottom,
                rgba(255,247,239,.98) 0%,
                rgba(255,247,239,.95) 42%,
                rgba(255,247,239,.60) 65%,
                rgba(255,247,239,.10) 86%,
                rgba(255,247,239,0) 100%
            );
    }


    .hero-eyebrow{

        font-size:10px;

        letter-spacing:.15px;

        margin-bottom:17px;
    }


    .hero-heading{

        font-size:31px;

        line-height:1.15;

        letter-spacing:-.4px;
    }


    .hero-description{

        font-size:13px;

        line-height:1.6;

        max-width:390px;
    }


    .hero-buttons .btn{

        width:100%;

        max-width:290px;
    }


    /* ====================================
       SMART SNAPSHOTS
    ==================================== */

    /* .smart-snapshots{

        padding:35px 0 45px;
    }
 */

    .snapshot-container{

        padding:0 15px;
    }


    .snapshot-eyebrow{

        font-size:19px;

        gap:6px;
    }


    .snapshot-eyebrow img{

        width:30px;

        height:30px;
    }


    .snapshot-title{

        font-size:21px;

        line-height:1.35;
    }


    .snapshot-description{

        font-size:12px;

        line-height:1.55;
    }


    .snapshot-btn{

        margin-top:11px;

        height:30px;
    }


    /*
       Mobile:
       One card per row so complete card
       remains clearly visible.
    */

    .snapshot-grid{

        grid-template-columns:1fr;

        gap:12px;
    }


    .snapshot-card{

        width:100%;

        border-radius:14px;

        padding:16px 16px 14px;
    }


    .section-title{

        font-size:1.6rem;
    }


    .section-eyebrow{

        font-size:19px;
    }


    .btn-navy,
    .btn-outline-navy{

        width:100%;
    }


    .session-card{

        padding:1.25rem .9rem;
    }


    .session-card h6{

        font-size:.9rem;
    }


    .session-card p{

        font-size:.75rem;
    }


    .session-arrow{

        width:32px;

        height:32px;
    }


    .step-card img{

        height:200px;
    }


}


/* =========================================================
   UPDATED SMART VITAL TRACKING SECTION
   Figma-style:
   Line 1 = Icon + Smart VITAL TRACKING
   Line 2 = Track What Matters, Understand Your Health Better
   Line 3 = Description
========================================================= */

.smart-vital-section {
    width: 100%;
    background: #ffffff;
    padding: 0 0 55px;
}

.smart-vital-heading {
    width: 100%;
    text-align: center;
    margin: 0 auto 30px;
}

/* LINE 1: ICON + TEXT */
.smart-vital-eyebrow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: fit-content;
    margin: 0 auto 12px;
    padding: 0;
    color: #111111;
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
}

.smart-vital-eyebrow img {
    width: 18px;
    height: 18px;
    display: block;
    object-fit: contain;
    flex: 0 0 18px;
}

/* LINE 2: MAIN HEADING */
.smart-vital-title {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 0;
    padding: 0;
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 25px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -0.2px;
    white-space: nowrap;
}

.smart-vital-title .navy-text {
    color: #06345f;
}

.smart-vital-title .orange-text {
    color: #E98E06;
}

/* LINE 3: DESCRIPTION */
.smart-vital-description {
    width: 100%;
    max-width: 700px;
    margin: 8px auto 0;
    padding: 0;
    color: #222222;
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
}

/* CARDS */
.smart-vital-section .feature-box {
    background: #f6f7fb;
    border-radius: 7px;
    min-height: 86px;
    height: 100%;
    padding: 13px 20px;
    display: grid;
    grid-template-columns: 30px 1fr;
    grid-template-rows: auto auto;
    column-gap: 10px;
    align-items: start;
    transition: all 0.25s ease;
}

.smart-vital-section .feature-icon {
    width: 30px;
    height: 30px;
    margin: 0;
    padding: 0;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}

.smart-vital-section .feature-icon img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}

.smart-vital-section .feature-box h5,
.smart-vital-section .feature-box h6 {
    margin: 5px 0 0;
    color: #06345f;
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
}

.smart-vital-section .feature-box p {
    grid-column: 1 / -1;
    margin: 7px 0 0;
    padding: 0;
    color: #222222;
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.45;
}

.smart-vital-section .feature-box:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(6, 27, 99, 0.08);
}

/* TABLET */
@media (max-width: 991px) {
    .smart-vital-eyebrow {
        font-size: 14px;
    }

    .smart-vital-title {
        font-size: 23px;
    }

    .smart-vital-description {
        font-size: 11px;
    }

    .smart-vital-section .feature-box {
        padding: 13px 16px;
    }
}

/* MOBILE */
@media (max-width: 767px) {
    .smart-vital-section {
        padding-bottom: 40px;
    }

    .smart-vital-eyebrow {
        font-size: 14px;
        gap: 5px;
    }

    .smart-vital-eyebrow img {
        width: 17px;
        height: 17px;
        flex-basis: 17px;
    }

    .smart-vital-title {
        display: block;
        font-size: 22px;
        line-height: 1.4;
        white-space: normal;
    }

    .smart-vital-title .navy-text,
    .smart-vital-title .orange-text {
        display: inline;
    }

    .smart-vital-description {
        max-width: 600px;
        margin-top: 7px;
        font-size: 10px;
        line-height: 1.5;
    }

    .smart-vital-section .feature-box {
        min-height: 82px;
        padding: 12px 14px;
    }

    .smart-vital-section .feature-icon {
        width: 29px;
        height: 29px;
    }

    .smart-vital-section .feature-box h5,
    .smart-vital-section .feature-box h6 {
        font-size: 13px;
    }

    .smart-vital-section .feature-box p {
        font-size: 10px;
    }
}

/* SMALL MOBILE */
@media (max-width: 575px) {
    .smart-vital-eyebrow {
        font-size: 13px;
    }

    .smart-vital-eyebrow img {
        width: 16px;
        height: 16px;
    }

    .smart-vital-title {
        font-size: 20px;
    }

    .smart-vital-description {
        font-size: 9.5px;
    }
}

/* =========================================================
   FINAL FIGMA ALIGNMENT - SMART VITAL TRACKING
========================================================= */

.smart-vital-heading {
    margin-top: 0;
    margin-bottom: 30px;
}

/* Icon + Smart VITAL TRACKING perfectly centered vertically */
.smart-vital-eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    gap: 6px;
    margin: 0 auto 12px;
    line-height: 18px;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
}



/* Main heading - keep previous size */
.smart-vital-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin: 0;
    font-size: 20px;
    line-height: 1.3;
    font-weight: 500;
    white-space: nowrap;
}



.smart-vital-title .orange-text {
    color: #E98E06;
}

.smart-vital-description {
    max-width: 700px;
    margin: 8px auto 0;
    font-size: 10px;
    line-height: 1.5;
}

/* Keep card typography close to the original/Figma size */
.smart-vital-section .feature-box h5,
.smart-vital-section .feature-box h6 {
    font-size: 11px;
    line-height: 1.3;
    margin: 5px 0 0;
}

.smart-vital-section .feature-box p {
    font-size: 8.5px;
    line-height: 1.45;
}

@media (max-width: 767px) {
    .smart-vital-eyebrow {
        font-size: 12px;
        line-height: 17px;
        gap: 5px;
    }

    .smart-vital-eyebrow img {
        width: 17px;
        height: 17px;
        flex-basis: 17px;
    }

    .smart-vital-title {
        font-size: 18px;
        line-height: 1.4;
        white-space: normal;
    }
}

@media (max-width: 575px) {
    .smart-vital-eyebrow {
        font-size: 11px;
        line-height: 16px;
    }

    .smart-vital-eyebrow img {
        width: 16px;
        height: 16px;
        flex-basis: 16px;
    }

    .smart-vital-title {
        font-size: 17px;
    }
}


/* =========================================================
   FINAL FIGMA MATCH — SMART VITAL TRACKING
   Based on the supplied Figma reference:
   - larger card typography
   - 48px icon
   - 24px icon/title gap
   - 40px horizontal card padding
   - 2-column desktop layout
========================================================= */

.smart-vital-section {
    padding: 0 0 59px;
}

.smart-vital-heading {
    margin-bottom: 30px;
}

/* LINE 1: ICON + SMART VITAL TRACKING */
.smart-vital-eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin: 0 auto 15px;
    font-size: 25px;
    font-weight: 500;
    line-height: 18px;
    white-space: nowrap;
}

.smart-vital-eyebrow img {
  width: 50px; height: 40px; display: block; border-radius: 7px; object-fit: fill;
}

/* LINE 2 */
.smart-vital-title {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 5px;
    margin: 0;
    font-size: 32px;
    font-weight: 500;
    line-height: 31px;
    letter-spacing: -0.2px;
    white-space: nowrap;
}





/* DESCRIPTION */
.smart-vital-description {
    max-width: 760px;
    margin: 19px auto 0;
    font-size: 17px;
    line-height: 18px;
    color: #020202;
}

/* CARD */
.smart-vital-section .feature-box {
    min-height: 160px;
    height: 100%;
    padding: 24px 40px 22px;
    display: grid;
    grid-template-columns: 48px 1fr;
    grid-template-rows: auto auto;
    column-gap: 24px;
    align-items: start;
background: #F6F8FD;
    border-radius: 8px;
}

/* ICON */
.smart-vital-section .feature-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    margin: 0;
    padding: 0;
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    box-shadow: none;
    overflow: hidden;
}

.smart-vital-section .feature-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

/* CARD TITLE */
.smart-vital-section .feature-box h5,
.smart-vital-section .feature-box h6 {
    margin: 14px 0 0;
    color: #06345f;
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 26px;
}

/* CARD DESCRIPTION */
.smart-vital-section .feature-box p {
    grid-column: 1 / -1;
    margin: 17px 0 0;
    padding: 0;
    color: #171717;
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 24px;
}

/* TABLET */
@media (max-width: 991px) {
    .smart-vital-title {
        font-size: 22px;
        line-height: 29px;
    }

    .smart-vital-description {
        font-size: 11px;
    }

    .smart-vital-section .feature-box {
        min-height: 145px;
        padding: 22px 28px 20px;
        grid-template-columns: 44px 1fr;
        column-gap: 20px;
    }

    .smart-vital-section .feature-icon {
        width: 44px;
        height: 44px;
        min-width: 44px;
    }

    .smart-vital-section .feature-box h5,
    .smart-vital-section .feature-box h6 {
        margin-top: 11px;
        font-size: 18px;
        line-height: 24px;
    }

    .smart-vital-section .feature-box p {
        margin-top: 14px;
        font-size: 13px;
        line-height: 21px;
    }
}

/* MOBILE */
@media (max-width: 767px) {
    .smart-vital-eyebrow {
        font-size: 13px;
        line-height: 17px;
    }

    .smart-vital-eyebrow img {
        width: 30px;
        height: 30px;
    }

    .smart-vital-title {
        display: block;
        font-size: 21px;
        line-height: 29px;
        white-space: normal;
    }

    .smart-vital-title .navy-text,
    .smart-vital-title .orange-text {
        display: inline;
    }

    .smart-vital-description {
        max-width: 600px;
        font-size: 13px;
        line-height: 17px;
    }

    .smart-vital-section .feature-box {
        min-height: 135px;
        padding: 20px 22px;
        grid-template-columns: 42px 1fr;
        column-gap: 17px;
    }

    .smart-vital-section .feature-icon {
        width: 42px;
        height: 42px;
        min-width: 42px;
    }

    .smart-vital-section .feature-box h5,
    .smart-vital-section .feature-box h6 {
        margin-top: 10px;
        font-size: 17px;
        line-height: 23px;
    }

    .smart-vital-section .feature-box p {
        margin-top: 13px;
        font-size: 12px;
        line-height: 19px;
    }
}

/* SMALL MOBILE */
@media (max-width: 575px) {
    .smart-vital-eyebrow {
        font-size: 12px;
    }

    .smart-vital-title {
        font-size: 19px;
        line-height: 27px;
    }

    .smart-vital-description {
        font-size: 13px;
    }

    .smart-vital-section .feature-box {
        min-height: 125px;
        padding: 17px 18px;
        grid-template-columns: 38px 1fr;
        column-gap: 14px;
    }

    .smart-vital-section .feature-icon {
        width: 38px;
        height: 38px;
        min-width: 38px;
    }

    .smart-vital-section .feature-box h5,
    .smart-vital-section .feature-box h6 {
        margin-top: 8px;
        font-size: 15px;
        line-height: 21px;
    }

    .smart-vital-section .feature-box p {
        margin-top: 11px;
        font-size: 10.5px;
        line-height: 17px;
    }
}

/* =========================================================
   AI HEALTH SESSION — FIGMA LAYOUT
   IMAGE IN HTML + ABSOLUTE POSITIONING
   Text overlays image, white feature card overlaps image.
========================================================= */

#profile.ai-health-session {
    width: 100%;
    margin: 0;
    padding: 0;
    background: #ffffff;
}

#profile.ai-health-session > .container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#profile .session-banner {
    position: relative;
    width: 100%;
    height: 510px;
    margin: 0;
    padding: 0;
    overflow: visible;
    border-radius: 0;
    color: #ffffff;
}

/* IMAGE IS AN HTML ELEMENT */
#profile .session-bg-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 390px;
    display: block;
    object-fit: cover;
    object-position: center center;
    z-index: 1;
}

/* DARK GRADIENT OVER IMAGE */
#profile .session-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 390px;
    z-index: 2;
    pointer-events: none;
    background:
        linear-gradient(
            90deg,
            rgba(2, 16, 25, .92) 0%,
            rgba(2, 16, 25, .72) 38%,
            rgba(2, 16, 25, .25) 72%,
            rgba(2, 16, 25, .10) 100%
        );
}

/* TEXT OVER IMAGE */
#profile .session-content {
    position: absolute;
    top: 48px;
    left: 14%;
    z-index: 3;
    width: 560px;
}

#profile .session-eyebrow {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 24px;
    color: #ffffff;
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 18px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

#profile .session-eyebrow-icon {
      display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    font-size: 14px;
    border-radius: 6px;
    line-height: 1;
}

#profile .session-heading {
    margin: 0;
    color: #ffffff;
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 39px;
    font-weight: 400;
    line-height: 1.22;
    letter-spacing: -.8px;
}

#profile .session-heading strong {
    font-weight: 700;
}

#profile .session-heading span {
    color: #f5871f;
    font-style: italic;
}

/* WHITE CARD OVERLAPPING IMAGE */
#profile .session-features {
    position: absolute;
    left: 50%;
    bottom: -10px;
    transform: translateX(-50%);
    z-index: 4;

    width: calc(100% - 25%);
    max-width: 1025px;
    min-height: 288px;

    display: grid;
    grid-template-columns: repeat(4, 1fr);

    background: #ffffff;
    border-radius: 30px;
    box-shadow: 0 14px 35px rgba(0, 0, 0, .07);

    padding: 48px 25px 34px;
}

/* EACH COLUMN */
#profile .session-feature {
    position: relative;
    min-width: 0;
    padding: 0 24px;
    color: #111111;
}

#profile .session-feature + .session-feature {
    border-left: 1px solid #e8e8e8;
}

/* ORANGE ICON */
#profile .session-icon {
    width: 48px;
    height: 48px;
    margin: 0 0 25px;

    display: flex;
    align-items: center;
    justify-content: flex-start;

    background: transparent;
    color: #ff8a25;
    border-radius: 0;

    font-size: 35px;
    line-height: 1;
    box-shadow: none;
}

#profile .session-feature h6 {
    margin: 0 0 10px;
    color: #202020;
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 22px;
}

#profile .session-feature p {
    margin: 0;
    max-width: 205px;
    color: #161616;
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 10px;
    font-weight: 400;
    line-height: 19px;
}

/* FIGMA ARROW BUTTON */
#profile .session-arrow {
    width: 59px;
    height: 34px;
    margin-top: 19px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #f5f5f5;
    color: #171717;
    border: 0;
    border-radius: 6px;

    font-size: 14px;
}

#profile .session-arrow i {
    font-size: 14px;
}

/* TABLET — KEEP DESKTOP 4-COLUMN LAYOUT */
@media (min-width: 576px) and (max-width: 991px) {
    #profile .session-banner {
        height: 510px;
    }

    #profile .session-bg-image,
    #profile .session-overlay {
        height: 390px;
    }

    #profile .session-content {
        top: 42px;
        left: 8%;
        width: 560px;
    }

    #profile .session-heading {
        font-size: 34px;
    }

    #profile .session-features {
        width: calc(100% - 10%);
        max-width: 1025px;
        bottom: -10px;
        grid-template-columns: repeat(4, 1fr);
        padding: 38px 12px 30px;
        min-height: 288px;
    }

    #profile .session-feature {
        padding: 0 15px;
    }

    #profile .session-feature + .session-feature {
        border-left: 1px solid #e8e8e8;
        border-top: 0;
    }

    #profile .session-feature:nth-child(3),
    #profile .session-feature:nth-child(4) {
        border-top: 0;
    }

    #profile .session-icon {
        margin-bottom: 22px;
    }

    #profile .session-feature h6 {
        font-size: 15px;
        line-height: 21px;
    }

    #profile .session-feature p {
        max-width: 100%;
        font-size: 9px;
        line-height: 17px;
    }

    #profile .session-arrow {
        width: 55px;
        height: 34px;
        margin-top: 18px;
    }
}

/* MOBILE */
@media (max-width: 575px) {
    #profile .session-banner {
        height: auto;
        min-height: 900px;
        padding-bottom: 30px;
    }

    #profile .session-bg-image,
    #profile .session-overlay {
        height: 520px;
    }

    #profile .session-content {
        top: 38px;
        left: 25px;
        right: 25px;
        width: auto;
    }

    #profile .session-eyebrow {
        margin-bottom: 18px;
        font-size: 10px;
        letter-spacing: 1.5px;
    }

    #profile .session-heading {
        font-size: 29px;
        line-height: 1.2;
    }

    #profile .session-features {
        position: relative;
        left: auto;
        bottom: auto;
        transform: none;

        width: calc(100% - 30px);
        max-width: none;

        grid-template-columns: 1fr;
        border-radius: 22px;
        padding: 20px 18px;
    }

    #profile .session-feature {
        padding: 24px 18px;
    }

    #profile .session-feature + .session-feature {
        border-left: 0;
        border-top: 1px solid #e8e8e8;
    }

    #profile .session-feature:nth-child(3),
    #profile .session-feature:nth-child(4) {
        border-top: 1px solid #e8e8e8;
    }

    #profile .session-icon {
        margin-bottom: 14px;
    }

    #profile .session-feature h6 {
        font-size: 16px;
    }

    #profile .session-feature p {
        max-width: 100%;
        font-size: 11px;
        line-height: 18px;
    }
}


/* =========================================================
   HOW IT WORKS — CARD TEXT SPACING
   Figma-style side padding for heading + description
   ========================================================= */

.how-it-works-section .step-card {
    overflow: hidden;
    border-radius: 20px;
}

/* Both paragraphs get proper left/right breathing room */
.how-it-works-section .step-card .step-num,
.how-it-works-section .step-card .text-muted {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* Heading */
.how-it-works-section .step-card .step-num {
    margin-top: 20px !important;
    margin-bottom: 8px !important;
}

/* Description */
.how-it-works-section .step-card .text-muted {
    margin-bottom: 0 !important;
}

/* Tablet */
@media (max-width: 991px) {
    .how-it-works-section .step-card .step-num,
    .how-it-works-section .step-card .text-muted {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}

/* Mobile */
@media (max-width: 575px) {
    .how-it-works-section .step-card .step-num,
    .how-it-works-section .step-card .text-muted {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}


/* =========================================================
   HOW IT WORKS — ALL CARDS EQUAL HEIGHT
   ========================================================= */

/* Desktop: every card in the same row gets exactly the same height */
.how-it-works-section .row {
    align-items: stretch !important;
    grid-auto-rows: 1fr !important;
}

.how-it-works-section .row > [class*="col-"] {
    display: flex !important;
    height: 490px !important;
}

.how-it-works-section .step-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

/* Keep image same height in every card */
.how-it-works-section .step-card > img {
    flex: 0 0 240px !important;
    height: 450px !important;
}

/* Text area fills remaining card space equally */
.how-it-works-section .step-card .step-num {
    flex-shrink: 0;
}

.how-it-works-section .step-card .text-muted {
    flex: 1 1 auto;
}

/* Tablet */
@media (max-width: 991px) {
        .how-it-works-section .row > [class*="col-"] {
        height: 550px !important;
        display: flex !important;
    }


    .how-it-works-section .step-card {
        min-height: 465px !important;
    }

    .how-it-works-section .step-card > img {
        flex-basis: 225px !important;
        height: 426px !important;
    
    }
}

/* Mobile */
@media (max-width: 767px) {
    .how-it-works-section .row > [class*="col-"] {
        height: 480px !important;
        display: flex !important;
    }

    .how-it-works-section .step-card {
        min-height: 0 !important;
    }

    .how-it-works-section .step-card > img {
        flex-basis: 210px !important;
        height: 306px !important;
    }
}

@media (max-width: 575px) {
        .how-it-works-section .row > [class*="col-"] {
        height: 600px !important;
        display: flex !important;
    }


        .how-it-works-section .step-card {
            height: 100%;
        }
    .how-it-works-section .step-card > img {
        flex-basis: 235px !important;
        height: 450px !important;
    }
}
@media (max-width: 432px) {
        .how-it-works-section .row > [class*="col-"] {
        height: 500px !important;
        display: flex !important;
    }


        .how-it-works-section .step-card {
            height: 100%;
        }
    .how-it-works-section .step-card > img {
        flex-basis: 235px !important;
        height: 450px !important;
    }
}
@media (max-width: 380px) {
        .how-it-works-section .row > [class*="col-"] {
        height: 432px !important;
        display: flex !important;
    }


        .how-it-works-section .step-card {
            height: 100%;
        }
    .how-it-works-section .step-card > img {
        flex-basis: 235px !important;
        height: 450px !important;
    }
}

/* =========================================================
   FAQ SECTION — FIGMA MATCH + FULL RESPONSIVE
   Replace all previous FAQ styles with this block.
========================================================= */

#faqs{
    position:relative;
    width:100%;
    margin:0;
    padding:28px 0 34px;
    overflow:hidden;
    background:
        radial-gradient(circle at 4% 52%, rgba(218,224,255,.55) 0 145px, transparent 146px),
        radial-gradient(circle at 96% 52%, rgba(218,231,255,.58) 0 145px, transparent 146px),
        radial-gradient(rgba(74,104,170,.12) 1px, transparent 1px);
    background-size:auto, auto, 10px 10px;
    background-position:center, center, 0 0;
}

#faqs > .container-fluid{
    position:relative;
    z-index:2;
    width:100%;
    max-width:1140px;
    margin:0 auto;
    padding-left:20px !important;
    padding-right:20px !important;
}

#faqs .text-center{
    margin:0 0 4% !important;
}

#faqs .section-eyebrow{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin:0 0 15px !important;
    color:#111111 !important;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:22px;
    font-weight:500;
    line-height:1.25;
}

#faqs .section-eyebrow i{
    display:none;
}

#faqs .section-eyebrow::before{
    content:"";
    width:27px;
    height:27px;
    flex:0 0 27px;
    background:url("./assets/image/aboutlogo.png") center/contain no-repeat;
}

#faqs .section-title{
    margin:0 !important;
    color:#06345f !important;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:34px;
    font-weight:500;
    line-height:1.25;
    letter-spacing:-.5px;
}

#faqs .section-title .orange{
    color:#f5871f !important;
    font-weight:500;
}

#faqs .row{
    --bs-gutter-x:55px;
    --bs-gutter-y:30px;
    align-items:center !important;
    max-width:1055px;
    margin-left:auto;
    margin-right:auto;
}

#faqs .faq-img{
    display:flex;
    justify-content:center;
    align-items:center;
}

#faqs .faq-img img{
    display:block;
    width:100%;
    max-width:500px;
    height:440px;
    object-fit:cover;
    object-position:center;
    border-radius:30px !important;
    margin:0 auto;
}

#faqs .accordion{
    width:100%;
    margin-left:auto;
}

#faqs .accordion-item{
    margin:0 0 23px;
    overflow:hidden;
    border:1px solid #e3e5ea !important;
    border-radius:9px !important;
    background:#ffffff;
    box-shadow:none;
}

#faqs .accordion-item:last-child{
    margin-bottom:0;
}

#faqs .accordion-header{
    margin:0;
}

#faqs .accordion-button{
    min-height:45px;
    padding:11px 17px;
    color:#202020;
    background:#ffffff;
    border:0;
    border-radius:8px !important;
    box-shadow:none !important;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:14px;
    font-weight:600;
    line-height:1.35;
}

#faqs .accordion-button::after{
    width:13px;
    height:13px;
    margin-left:auto;
    background-size:13px;
}

#faqs .accordion-button:not(.collapsed){
    color:#ffffff;
    background:#06296e;
    border-radius:8px 8px 0 0 !important;
}

#faqs .accordion-button:not(.collapsed)::after{
    filter:brightness(0) invert(1);
}

#faqs .accordion-collapse{
    background:#06296e;
}

#faqs .accordion-body{
    padding:17px 17px 19px;
    color:#ffffff !important;
    background:#06296e;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:12px;
    font-weight:400;
    line-height:1.65;
}

#faqs .accordion-button:focus{
    box-shadow:none !important;
}


/* =========================================================
   FOOTER — FIGMA MATCH + FULL RESPONSIVE
   Replace all previous footer styles with this block.
========================================================= */

footer{
    position:relative;
    width:100%;
    margin:0;
    padding:48px 0 0;
    overflow:hidden;
    background:
        radial-gradient(circle at 73% 70%, rgba(239,246,251,.85) 0 95px, transparent 96px),
        radial-gradient(circle at 92% 45%, rgba(246,244,239,.95) 0 130px, transparent 131px),
        linear-gradient(135deg,#fff 0%,#fff 55%,#fbfaf8 100%);
}

footer::before{
    content:"";
    position:absolute;
    left:-6%;
    bottom:-115px;
    width:65%;
    height:210px;
    border-top:2px solid rgba(247,139,31,.20);
    border-radius:50%;
    transform:rotate(7deg);
    pointer-events:none;
}

footer::after{
    content:"";
    position:absolute;
    right:-8%;
    top:30px;
    width:48%;
    height:220px;
    background:
        radial-gradient(circle, rgba(242,246,250,.9) 0 2px, transparent 3px);
    background-size:30px 30px;
    opacity:.35;
    pointer-events:none;
}

footer > .container-fluid{
    position:relative;
    z-index:2;
    width:100%;
    max-width:1055px;
    margin:0 auto;
    padding-left:0 !important;
    padding-right:0 !important;
}

footer > .container-fluid > .row:first-child{
    --bs-gutter-x:34px;
    --bs-gutter-y:30px;
    align-items:flex-start;
}

footer > .container-fluid > .row:first-child > [class*="col-"]{
    min-width:0;
}

/* Logo */
footer .footer-logo{
    width:190px;
    height:190px;
    padding:15px;
    object-fit:contain;
    border:1px solid #f5871f;
    border-radius:16px;
    background:#ffffff;
    margin:0 !important;
}

/* Column headings */
footer h6{
    margin:14px 0 16px;
    padding:0;
    color:#081d3f;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:15px;
    font-weight:600;
    line-height:1.3;
}

/* Links */
footer a{
    display:block;
    width:max-content;
    max-width:100%;
    margin:0 0 10px;
    padding:0;
    color:#28354b;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:12px;
    font-weight:400;
    line-height:1.35;
    text-decoration:none;
    transition:color .25s ease, transform .25s ease;
}

footer a:hover{
    color:#f5871f;
    transform:translateX(2px);
}

/* Contact links */
footer .row:first-child > .col-lg-3:last-child a{
    display:flex;
    align-items:flex-start;
    gap:5px;
    width:100%;
    font-size:14px;
    line-height:1.5;
    margin-bottom:13px;
}

footer .row:first-child > .col-lg-3:last-child a i{
    flex:0 0 18px;
    width:18px;
    color:#f5871f;
    font-size:16px;
    line-height:1.4;
}

/* Divider */
footer hr{
    position:relative;
    z-index:2;
    margin:31px 0 0 !important;
    border:0;
    border-top:1px solid #6f6f6f;
    opacity:.65;
}

/* Bottom row */
footer > .container-fluid > .row:last-child{
    position:relative;
    z-index:2;
    min-height:75px;
    margin-top:0;
    --bs-gutter-x:20px;
}

footer > .container-fluid > .row:last-child > div:first-child{
    color:#111111 !important;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:13px !important;
    line-height:1.5;
}

footer > .container-fluid > .row:last-child > div:last-child{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px !important;
}

footer .social-icon{
    width:36px;
    height:36px;
    margin:0;
    padding:0;
    border:1px solid #d8dde5;
    border-radius:50%;
    display:flex !important;
    align-items:center;
    justify-content:center;
    color:#172337;
    background:rgba(255,255,255,.65);
    font-size:13px;
    transition:all .25s ease;
}

footer .social-icon:hover{
    color:#f5871f;
    border-color:#f5871f;
    transform:translateY(-2px);
}


/* =========================================================
   FAQ + FOOTER RESPONSIVE
========================================================= */

/* 1200px and below */
@media (max-width:1199px){
    #faqs{
        padding-top:25px;
        padding-bottom:30px;
    }

    #faqs > .container-fluid{
        max-width:1000px;
    }

    #faqs .row{
        --bs-gutter-x:35px;
        max-width:950px;
    }

    #faqs .faq-img img{
        height:420px;
    }

    #faqs .section-title{
        font-size:31px;
    }

    footer > .container-fluid{
        max-width:950px;
    }

    footer .footer-logo{
        width:175px;
        height:175px;
    }
}

/* Tablet */
@media (max-width:991px){
    #faqs{
        padding:25px 0 35px;
        background-size:auto,auto,9px 9px;
    }

    #faqs > .container-fluid{
        padding-left:25px !important;
        padding-right:25px !important;
    }

    #faqs .text-center{
        margin-bottom:48px !important;
    }

    #faqs .section-eyebrow{
        font-size:19px;
    }

    #faqs .section-eyebrow::before{
        width:24px;
        height:24px;
        flex-basis:24px;
    }

    #faqs .section-title{
        font-size:28px;
    }

    #faqs .row{
        --bs-gutter-x:28px;
        max-width:900px;
    }

    #faqs .faq-img img{
        height:370px;
        border-radius:25px !important;
    }

    #faqs .accordion-item{
        margin-bottom:17px;
    }

    #faqs .accordion-button{
        min-height:44px;
        font-size:13px;
        padding:19px 19px;
    }

    #faqs .accordion-body{
        padding:14px 15px 16px;
        font-size:11px;
    }

    footer{
        padding-top:38px;
    }

    footer > .container-fluid{
        padding-left:25px !important;
        padding-right:25px !important;
    }

    footer > .container-fluid > .row:first-child{
        --bs-gutter-x:25px;
    }

    footer .footer-logo{
        width:150px;
        height:150px;
    }

    footer h6{
        font-size:14px;
        margin-top:7px;
    }

    footer a{
        font-size:11px;
        margin-bottom:8px;
    }

    footer .row:first-child > .col-lg-3:last-child a{
        font-size:12px;
    }

    footer > .container-fluid > .row:last-child > div:first-child{
        font-size:12px !important;
    }
}

/* Mobile */
@media (max-width:767px){
    #faqs{
        padding:25px 0 35px;
        background:
            radial-gradient(circle at 0% 35%, rgba(218,224,255,.5) 0 100px, transparent 101px),
            radial-gradient(circle at 100% 70%, rgba(218,231,255,.5) 0 100px, transparent 101px),
            radial-gradient(rgba(74,104,170,.10) 1px, transparent 1px);
        background-size:auto,auto,9px 9px;
    }

    #faqs > .container-fluid{
        padding-left:18px !important;
        padding-right:18px !important;
    }

    #faqs .text-center{
        margin-bottom:44px !important;
    }

    #faqs .section-eyebrow{
        font-size:17px;
        gap:6px;
        margin-bottom:11px !important;
    }

    #faqs .section-eyebrow::before{
        width:21px;
        height:21px;
        flex-basis:21px;
    }

    #faqs .section-title{
        font-size:24px;
        line-height:1.3;
        letter-spacing:-.3px;
    }

    #faqs .row{
        --bs-gutter-x:0;
        --bs-gutter-y:24px;
        max-width:540px;
    }

    #faqs .faq-img img{
        width:100%;
        max-width:500px;
        height:auto;
        aspect-ratio:500 / 440;
        border-radius:22px !important;
    }

    #faqs .accordion{
        max-width:540px;
        margin:0 auto;
    }

    #faqs .accordion-item{
        margin-bottom:13px;
        border-radius:8px !important;
    }

    #faqs .accordion-button{
        min-height:45px;
        padding:11px 13px;
        font-size:12px;
    }

    #faqs .accordion-button::after{
        width:11px;
        height:11px;
        background-size:11px;
    }

    #faqs .accordion-body{
        padding:13px 13px 15px;
        font-size:11px;
        line-height:1.6;
    }

    footer{
        padding:35px 0 0;
    }

    footer > .container-fluid{
        padding-left:20px !important;
        padding-right:20px !important;
    }

    footer > .container-fluid > .row:first-child{
        --bs-gutter-x:20px;
        --bs-gutter-y:28px;
    }

    footer .footer-logo{
        width:145px;
        height:145px;
        padding:12px;
        border-radius:14px;
    }

    footer h6{
        margin:0 0 12px;
        font-size:14px;
    }

    footer a{
        font-size:11px;
        margin-bottom:8px;
    }

    footer .row:first-child > .col-lg-3:last-child a{
        font-size:12px;
        margin-bottom:10px;
    }

    footer hr{
        margin-top:25px !important;
    }

    footer > .container-fluid > .row:last-child{
        padding-top:17px !important;
        padding-bottom:17px !important;
    }

    footer > .container-fluid > .row:last-child > div:first-child{
        text-align:center !important;
        font-size:11px !important;
    }

    footer > .container-fluid > .row:last-child > div:last-child{
        justify-content:center;
        margin-top:12px !important;
    }

    footer .social-icon{
        width:34px;
        height:34px;
        font-size:12px;
    }
}

/* Small phones */
@media (max-width:575px){
    #faqs{
        padding-top:22px;
    }

    #faqs .section-eyebrow{
        font-size:15px;
    }

    #faqs .section-title{
        font-size:21px;
    }

    #faqs .faq-img img{
        border-radius:18px !important;
    }

    #faqs .accordion-button{
        font-size:11.5px;
        padding:10px 12px;
    }

    #faqs .accordion-body{
        font-size:10.5px;
    }

    footer{
        padding-top:30px;
    }

    footer .footer-logo{
        width:125px;
        height:125px;
    }

    footer h6{
        font-size:13px;
    }

    footer a{
        font-size:10px;
    }

    footer .row:first-child > .col-lg-3:last-child a{
        font-size:11px;
    }
}

/* Extra-small phones */
@media (max-width:400px){
    #faqs > .container-fluid{
        padding-left:14px !important;
        padding-right:14px !important;
    }

    #faqs .section-title{
        font-size:19px;
    }

    #faqs .section-eyebrow{
        font-size:14px;
    }

    #faqs .accordion-button{
        font-size:11px;
    }

    footer > .container-fluid{
        padding-left:15px !important;
        padding-right:15px !important;
    }

    footer .footer-logo{
        width:115px;
        height:115px;
    }
}


/* =========================================================
   FAQ — FIGMA BACKGROUND COLOR FIX
   Figma background:
   linear-gradient(116.72deg, #F3F0FF 0%, #F0F6FF 100%);
========================================================= */

#faqs,
#faqs.bg-white{
    background: linear-gradient(
        116.72deg,
        #F3F0FF 0%,
        #F0F6FF 100%
    ) !important;
}

/* Keep FAQ content transparent so the gradient is visible */
#faqs .container-fluid,
#faqs .row{
    background: transparent !important;
}

/* FAQ heading */
#faqs .section-eyebrow{
    color:#111111 !important;
}

#faqs .section-title{
    color:#06345F !important;
}

#faqs .section-title .orange{
    color:#FF8A1F !important;
}

/* Accordion closed state */
#faqs .accordion-item{
    background:#ffffff;
    border:1px solid #E6E6E6;
    border-radius:8px;
    overflow:hidden;
    margin-bottom:24px;
}

#faqs .accordion-button{
    background:#ffffff;
    color:#222222;
    border:0;
    box-shadow:none !important;
    font-weight:600;
}

#faqs .accordion-button:not(.collapsed){
    background:#062A70 !important;
    color:#ffffff !important;
}

#faqs .accordion-button::after{
    filter:none;
}



#faqs .accordion-body{
    background:#062A70 !important;
    color:#ffffff !important;
    border-top:1px solid rgba(255,255,255,.25);
}

/* FAQ image remains above the gradient */
#faqs .faq-img img{
    display:block;
    width:100%;
    height:auto;
    border-radius:16px;
}

/* Responsive spacing */
@media (max-width:991px){
    #faqs{
        padding-top:55px;
        padding-bottom:55px;
    }

    #faqs .accordion-item{
        margin-bottom:16px;
    }
}

@media (max-width:767px){
    #faqs{
        padding-top:45px;
        padding-bottom:45px;
    }

    #faqs .accordion-button{
        font-size:14px;
        padding:15px 16px;
    }

    #faqs .accordion-body{
        font-size:13px;
        line-height:1.6;
    }
}

@media (max-width:575px){
    #faqs{
        padding-top:35px;
        padding-bottom:35px;
    }

    #faqs .accordion-button{
        font-size:13px;
        padding:14px;
    }

    #faqs .accordion-body{
        padding:14px;
        font-size:12px;
    }
}


/* =========================================================
   FINAL FOOTER — FIGMA MATCH
   5 blocks in one horizontal row on desktop
========================================================= */

.site-footer{
    position:relative;
    width:100%;
    overflow:hidden;
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.45) 0%,
            rgba(255,255,255,.28) 42%,
            rgba(255,255,255,.16) 72%,
            rgba(255,255,255,.22) 100%
        ),
        url("./assets/image/footer-bg.png") center center / cover no-repeat !important;
    padding:48px 0 0 !important;
    color:#0a2242;
}

/* keep background image independent */
.site-footer .footer-bg{
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
}

.site-footer .footer-container{
    position:relative;
    z-index:2;
    width:100%;
    max-width:1060px;
    margin:0 auto;
    padding:0 0 !important;
}

/* ===== TOP 5 BLOCKS ===== */
.site-footer .footer-main-row{
    width:100%;
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:58px;
    margin:0 !important;
    padding:0 !important;
}

/* default block */
.site-footer .footer-block{
    flex:1 1 0;
    min-width:0;
    margin:0 !important;
    padding:0 !important;
}

/* exact logo column width */
.site-footer .footer-logo-block{
    flex:0 0 228px;
    width:228px;
}

/* logo orange rounded frame */
.site-footer .footer-logo-box{
    width:190px;
    height:190px;
    border:1.5px solid #ff8c2a;
    border-radius:16px;
    background:rgba(255,255,255,.38);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

/* logo image */
.site-footer .footer-logo{
    display:block;
    width:164px;
    height:164px;
    max-width:calc(100% - 22px);
    object-fit:contain;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
}

/* ===== HEADINGS ===== */
.site-footer .footer-block h6{
    margin:15px 0 16px !important;
    padding:0 !important;
    color:#0b1e42 !important;
    font-family:'Be Vietnam Pro', sans-serif;
    font-size:15px !important;
    font-weight:700 !important;
    line-height:1.25 !important;
}

/* ===== NORMAL LINKS ===== */
.site-footer .footer-links-block a{
    display:block;
    width:max-content;
    max-width:100%;
    margin:0 0 9px !important;
    padding:0 !important;
    color:#263752 !important;
    font-family:'Be Vietnam Pro', sans-serif;
    font-size:11.5px !important;
    font-weight:400;
    line-height:1.55;
    text-decoration:none !important;
    transition:color .2s ease;
}

.site-footer .footer-links-block a:hover{
    color:#f5871f !important;
}

/* ===== CONTACT ===== */
.site-footer .footer-contact-block h6{
    margin-bottom:17px !important;
}

.site-footer .footer-contact-link{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    gap:9px;
    margin:0 0 17px !important;
    padding:0 !important;
    color:#272727 !important;
    font-family:'Be Vietnam Pro', sans-serif;
    font-size:14px !important;
    font-weight:400;
    line-height:1.35;
    text-decoration:none !important;
}

.site-footer .footer-contact-link i{
    width:15px;
    min-width:15px;
    color:#ff8b27 !important;
    font-size:15px !important;
    line-height:1;
}

.site-footer .footer-contact-link span{
    min-width:0;
    overflow-wrap:anywhere;
}

/* ===== DIVIDER ===== */
.site-footer .footer-divider{
    width:100%;
    height:1px;
    margin:31px 0 0 !important;
    border:0 !important;
    background:rgba(35,50,70,.60);
    opacity:1 !important;
}

/* ===== BOTTOM ROW ===== */
.site-footer .footer-bottom-row{
    width:100%;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    padding:26px 0 38px;
}

.site-footer .footer-copyright{
    margin:0;
    color:#171717;
    font-family:'Be Vietnam Pro', sans-serif;
    font-size:15px;
    font-weight:400;
    line-height:1.4;
}

.site-footer .footer-socials{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:18px;
}

.site-footer .social-icon{
    width:36px;
    height:36px;
    flex:0 0 36px;

    display:flex !important;
    align-items:center;
    justify-content:center;

    margin:0 !important;
    padding:0 !important;

    border:1px solid rgba(13,44,84,.20);
    border-radius:50%;

    background:rgba(255,255,255,.25);
    color:#122443 !important;

    text-decoration:none !important;
    transition:all .2s ease;
}

.site-footer .social-icon i{
    font-size:13px;
}

.site-footer .social-icon:hover{
    color:#f5871f !important;
    border-color:#f5871f;
    background:#fff;
    transform:translateY(-2px);
}

/* =========================================================
   LARGE SCREENS — keep the Figma proportions
========================================================= */

@media (min-width:1200px){
    .site-footer .footer-container{
        max-width:1060px;
    }

    .site-footer .footer-main-row{
        gap:62px;
    }

    .site-footer .footer-logo-block{
        flex-basis:228px;
    }

    .site-footer .footer-links-block{
        flex-basis:145px;
    }

    .site-footer .footer-contact-block{
        flex-basis:235px;
    }
}

/* =========================================================
   LAPTOP
========================================================= */

@media (max-width:1199px) and (min-width:992px){

    .site-footer{
        padding-top:45px !important;
    }

    .site-footer .footer-container{
        max-width:calc(100% - 80px);
    }

    .site-footer .footer-main-row{
        gap:38px;
    }

    .site-footer .footer-logo-block{
        flex-basis:195px;
    }

    .site-footer .footer-logo-box{
        width:165px;
        height:165px;
    }

    .site-footer .footer-logo{
        width:145px;
        height:145px;
    }

    .site-footer .footer-block h6{
        font-size:14px !important;
    }

    .site-footer .footer-links-block a{
        font-size:10.5px !important;
    }

    .site-footer .footer-contact-link{
        font-size:12px !important;
    }

    .site-footer .footer-bottom-row{
        padding-bottom:30px;
    }
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width:991px) and (min-width:768px){

    .site-footer{
        padding:42px 0 0 !important;
    }

    .site-footer .footer-container{
        max-width:calc(100% - 56px);
    }

    .site-footer .footer-main-row{
        flex-wrap:wrap !important;
        gap:32px 28px;
    }

    .site-footer .footer-logo-block{
        flex:0 0 100%;
        width:100%;
    }

    .site-footer .footer-logo-box{
        width:150px;
        height:150px;
    }

    .site-footer .footer-logo{
        width:132px;
        height:132px;
    }

    .site-footer .footer-links-block{
        flex:1 1 calc(25% - 28px);
    }

    .site-footer .footer-contact-block{
        flex:1 1 calc(25% - 28px);
    }

    .site-footer .footer-block h6{
        margin-top:0 !important;
        font-size:14px !important;
    }

    .site-footer .footer-links-block a{
        font-size:10.5px !important;
    }

    .site-footer .footer-contact-link{
        font-size:11.5px !important;
        gap:7px;
    }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width:767px){

    .site-footer{
        padding:38px 0 0 !important;
        background-position:center center;
    }

    .site-footer .footer-container{
        max-width:calc(100% - 36px);
    }

    .site-footer .footer-main-row{
        flex-wrap:wrap !important;
        gap:28px 18px;
    }

    .site-footer .footer-logo-block{
        flex:0 0 100%;
        width:100%;
    }

    .site-footer .footer-logo-box{
        width:145px;
        height:145px;
    }

    .site-footer .footer-logo{
        width:128px;
        height:128px;
    }

    .site-footer .footer-links-block,
    .site-footer .footer-contact-block{
        flex:1 1 calc(50% - 18px);
        width:calc(50% - 18px);
    }

    .site-footer .footer-block h6{
        margin:0 0 11px !important;
        font-size:13px !important;
    }

    .site-footer .footer-links-block a{
        font-size:11px !important;
        margin-bottom:7px !important;
    }

    .site-footer .footer-contact-link{
        font-size:11px !important;
        margin-bottom:12px !important;
    }

    .site-footer .footer-contact-link i{
        font-size:13px !important;
    }

    .site-footer .footer-divider{
        margin-top:28px !important;
    }

    .site-footer .footer-bottom-row{
        flex-direction:column;
        align-items:center;
        justify-content:center;
        text-align:center;
        gap:18px;
        padding:22px 0 30px;
    }

    .site-footer .footer-copyright{
        font-size:12px;
    }

    .site-footer .footer-socials{
        justify-content:center;
        gap:14px;
    }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width:575px){

    .site-footer{
        padding-top:32px !important;
    }

    .site-footer .footer-container{
        max-width:calc(100% - 28px);
    }

    .site-footer .footer-main-row{
        gap:24px 14px;
    }

    .site-footer .footer-logo-box{
        width:132px;
        height:132px;
        border-radius:14px;
    }

    .site-footer .footer-logo{
        width:116px;
        height:116px;
    }

    .site-footer .footer-links-block,
    .site-footer .footer-contact-block{
        flex:1 1 100%;
        width:100%;
    }

    .site-footer .footer-block h6{
        font-size:13px !important;
    }

    .site-footer .footer-links-block a{
        font-size:11px !important;
    }

    .site-footer .footer-contact-link{
        max-width:320px;
        font-size:11px !important;
    }

    .site-footer .footer-divider{
        margin-top:24px !important;
    }

    .site-footer .footer-bottom-row{
        padding:20px 0 25px;
    }

    .site-footer .footer-copyright{
        font-size:11px;
        line-height:1.5;
    }

    .site-footer .social-icon{
        width:33px;
        height:33px;
        flex-basis:33px;
    }

    .site-footer .social-icon i{
        font-size:12px;
    }
}

/* =========================================================
   EXTRA SMALL PHONES
========================================================= */

@media (max-width:400px){

    .site-footer .footer-container{
        max-width:calc(100% - 24px);
    }

    .site-footer .footer-logo-box{
        width:122px;
        height:122px;
    }

    .site-footer .footer-logo{
        width:106px;
        height:106px;
    }
}



/* =========================================================
   FOOTER BACKGROUND — IMAGE MORE VISIBLE
========================================================= */
.site-footer{
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.42) 0%,
            rgba(255,255,255,.24) 45%,
            rgba(255,255,255,.12) 75%,
            rgba(255,255,255,.18) 100%
        ),
        url("./image/footer.png") center center / cover no-repeat !important;
}

@media (max-width:767px){
    .site-footer{
        background:
            linear-gradient(
                180deg,
                rgba(255,255,255,.38) 0%,
                rgba(255,255,255,.20) 100%
            ),
            url("./assets/image/footer-bg.png") center center / cover no-repeat !important;
    }
}


/* =========================================================
   FAQ HEADING — ABOUT LOGO INSTEAD OF BOOTSTRAP ICON
========================================================= */

#faqs .faq-eyebrow{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px;
    margin:0 0 12px !important;
    padding:0 !important;
    color:#111111 !important;
    line-height:1.2;
}

#faqs .faq-heading-logo{
  width: 50px; height: 40px; display: block; border-radius: 7px; object-fit: fill;
}

/* FAQ section Figma gradient + background image */
#faqs,
#faqs.bg-white{
    position:relative;
    background:
        url("./image/div.bg-home.png") center center / cover no-repeat !important;
}

#faqs .container-fluid,
#faqs .row,
#faqs .col-lg-5,
#faqs .col-lg-7{
    background:transparent !important;
}

/* FAQ heading colors */




/* FAQ accordion */
#faqs .accordion-item{
    background:#ffffff !important;
    border:1px solid #E6E8EF !important;
    border-radius:8px !important;
    overflow:hidden;
    margin-bottom:24px;
}

#faqs .accordion-button{
    background:#ffffff !important;
    color:#222222 !important;
    border:0 !important;
    box-shadow:none !important;
    font-family:'Be Vietnam Pro',sans-serif;
    font-weight:600;
}



#faqs .accordion-body{
    background:#062A70 !important;
    color:#ffffff !important;
    border-top:1px solid rgba(255,255,255,.22);
}



/* FAQ image */


/* =========================================================
   FAQ RESPONSIVE
========================================================= */

@media (max-width:991px){
    #faqs{
        padding-top:55px !important;
        padding-bottom:55px !important;
    }

    #faqs .faq-img img{
        max-width:620px;
        margin:0 auto;
    }

    #faqs .accordion{
        margin-top:10px;
    }
}

@media (max-width:767px){
    #faqs{
        padding-top:45px !important;
        padding-bottom:45px !important;
        background-position:center center !important;
    }

    #faqs .faq-eyebrow{
        gap:6px;
    }

    #faqs .faq-heading-logo{
        width:21px !important;
        height:21px !important;
        max-width:21px !important;
        flex-basis:21px;
    }

    #faqs .section-title{
        font-size:26px !important;
        line-height:1.3;
    }

    #faqs .accordion-item{
        margin-bottom:13px;
        border-radius:7px !important;
    }

    #faqs .accordion-button{
        font-size:13px;
        line-height:1.4;
        padding:20px 20px;
    }

    #faqs .accordion-body{
        font-size:12px;
        line-height:1.6;
        padding:14px 15px;
    }
}

@media (max-width:575px){
    #faqs{
        padding-top:35px !important;
        padding-bottom:35px !important;
        background-position:50% 50% !important;
    }

    #faqs .faq-eyebrow{
        gap:5px;
    }

    #faqs .faq-heading-logo{
        width:29px !important;
        height:29px !important;
        flex-basis:19px;
    }

    #faqs .section-title{
        font-size:23px !important;
    }

    #faqs .accordion-button{
        font-size:12px;
        padding:13px 14px;
    }

    #faqs .accordion-body{
        font-size:11px;
        padding:13px 14px;
    }
}

@media (max-width:400px){
    #faqs .section-title{
        font-size:21px !important;
    }

    #faqs .accordion-button{
        font-size:11.5px;
        padding:12px;
    }

    #faqs .accordion-body{
        font-size:11px;
        padding:12px;
    }
}


/* =========================================================
   FINAL TABLET FOOTER ALIGNMENT
   From tablet width, all footer content is centered.
   Desktop remains a single 5-block horizontal row.
========================================================= */

@media (max-width:991px) and (min-width:768px){

    .site-footer{
        text-align:center !important;
    }

    .site-footer .footer-container{
        width:100%;
        max-width:calc(100% - 48px);
        margin:0 auto;
    }

    .site-footer .footer-main-row{
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:wrap !important;
        justify-content:center !important;
        align-items:flex-start !important;
        gap:36px 24px !important;
    }

    /* Logo centered on its own full row */
    .site-footer .footer-logo-block{
        flex:0 0 100% !important;
        width:100% !important;
        max-width:100% !important;
        display:flex !important;
        justify-content:center !important;
        text-align:center !important;
    }

    .site-footer .footer-logo-box{
        margin:0 auto !important;
    }

    /* Four remaining blocks = 2 x 2, all centered */
    .site-footer .footer-links-block,
    .site-footer .footer-contact-block{
        flex:0 0 calc(50% - 24px) !important;
        width:calc(50% - 24px) !important;
        max-width:calc(50% - 24px) !important;
        text-align:center !important;
    }

    .site-footer .footer-block h6{
        text-align:center !important;
    }

    .site-footer .footer-links-block a{
        width:auto !important;
        max-width:100%;
        text-align:center !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }

    .site-footer .footer-contact-link{
        justify-content:center !important;
        text-align:center !important;
        width:100% !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }

    .site-footer .footer-divider{
        margin-top:36px !important;
    }

    .site-footer .footer-bottom-row{
        flex-direction:column !important;
        justify-content:center !important;
        align-items:center !important;
        text-align:center !important;
        gap:18px !important;
        padding:24px 0 32px !important;
    }

    .site-footer .footer-socials{
        justify-content:center !important;
    }

    .site-footer .footer-copyright{
        text-align:center !important;
    }
}

/* FAQ heading logo */
#faqs .faq-eyebrow{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px;
    font-size: 30px;
}

/*#faqs .faq-heading-logo{*/
/*    width:30px !important;*/
/*    height:30px !important;*/
/*    display:block !important;*/
/*    object-fit:cover !important;*/
/*    flex:0 0 24px;*/
/*    margin:0 !important;*/
/*}*/

@media (max-width:767px){
    #faqs .faq-heading-logo{
        width:30pxpx !important;
        height:30px !important;
        flex-basis:21px;
    }
}

@media (max-width:575px){
    #faqs .faq-heading-logo{
        width:30pxpx !important;
        height:30px !important;
        flex-basis:19px;

    }
}


/* =========================================================
   FOOTER — TABLET TO MOBILE: EVERYTHING CENTERED
========================================================= */

@media (max-width:991px){

    .site-footer{
        text-align:center !important;
    }

    .site-footer .footer-main-row{
        justify-content:center !important;
        align-items:flex-start !important;
        text-align:center !important;
    }

    .site-footer .footer-block{
        text-align:center !important;
    }

    .site-footer .footer-logo-block{
        display:flex !important;
        justify-content:center !important;
        align-items:center !important;
        text-align:center !important;
    }

    .site-footer .footer-logo-box{
        margin-left:auto !important;
        margin-right:auto !important;
    }

    .site-footer .footer-links-block h6,
    .site-footer .footer-contact-block h6{
        text-align:center !important;
    }

    .site-footer .footer-links-block a{
        width:auto !important;
        margin-left:auto !important;
        margin-right:auto !important;
        text-align:center !important;
    }

    .site-footer .footer-contact-link{
        width:100% !important;
        justify-content:center !important;
        text-align:center !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }

    .site-footer .footer-divider{
        margin-left:auto !important;
        margin-right:auto !important;
    }

    .site-footer .footer-bottom-row{
        justify-content:center !important;
        align-items:center !important;
        text-align:center !important;
    }

    .site-footer .footer-copyright{
        width:100%;
        text-align:center !important;
    }

    .site-footer .footer-socials{
        justify-content:center !important;
        align-items:center !important;
    }
}

/* Tablet: 2 x 2 content blocks, all centered */
@media (max-width:991px) and (min-width:768px){

    .site-footer .footer-main-row{
        flex-wrap:wrap !important;
    }

    .site-footer .footer-links-block,
    .site-footer .footer-contact-block{
        text-align:center !important;
    }
}

/* Mobile: one column, everything centered */
@media (max-width:767px){

    .site-footer .footer-main-row{
        flex-direction:column !important;
        flex-wrap:nowrap !important;
        align-items:center !important;
        justify-content:center !important;
        gap:28px !important;
    }

    .site-footer .footer-logo-block,
    .site-footer .footer-links-block,
    .site-footer .footer-contact-block{
        width:100% !important;
        max-width:100% !important;
        flex:0 0 100% !important;
        text-align:center !important;
    }

    .site-footer .footer-contact-link{
        max-width:320px !important;
    }

    .site-footer .footer-bottom-row{
        width:100%;
        flex-direction:column !important;
    }
}


/* =========================================================
   FINAL: ALL EYEBROW TEXT = 22PX
========================================================= */

.section-eyebrow,
.hero-eyebrow,
.snapshot-eyebrow,
.smart-vital-eyebrow,
.session-eyebrow,
.cta-eyebrow,
.faq-eyebrow,
.how-it-works-section .section-eyebrow,
.get-started-cta .cta-eyebrow,
#about .section-eyebrow{
    font-size:22px !important;
}

/* Keep this size on every responsive breakpoint */
@media (max-width:991px){
    .section-eyebrow,
    .hero-eyebrow,
    .snapshot-eyebrow,
    .smart-vital-eyebrow,
    .session-eyebrow,
    .cta-eyebrow,
    .faq-eyebrow,
    .how-it-works-section .section-eyebrow,
    .get-started-cta .cta-eyebrow,
    #about .section-eyebrow{
        font-size:22px !important;
    }
}

@media (max-width:767px){
    .section-eyebrow,
    .hero-eyebrow,
    .snapshot-eyebrow,
    .smart-vital-eyebrow,
    .session-eyebrow,
    .cta-eyebrow,
    .faq-eyebrow,
    .how-it-works-section .section-eyebrow,
    .get-started-cta .cta-eyebrow,
    #about .section-eyebrow{
        font-size:22px !important;
    }
}

@media (max-width:575px){
    .section-eyebrow,
    .hero-eyebrow,
    .snapshot-eyebrow,
    .smart-vital-eyebrow,
    .session-eyebrow,
    .cta-eyebrow,
    .faq-eyebrow,
    .how-it-works-section .section-eyebrow,
    .get-started-cta .cta-eyebrow,
    #about .section-eyebrow{
        font-size:18px !important;
    }
}



/* =========================================================
   LOGIN PAGE — FIGMA STYLE + FULL RESPONSIVE
========================================================= */

.login-page{
    width:100%;
    background:#ffffff;
    overflow:hidden;
}

/* ===== LOGIN BANNER ===== */

.login-banner{
    position:relative;
    width:100%;
    min-height:255px;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f7f5f2;
}

/* HERO IMAGE — HTML IMG + absolute positioning */
.login-banner-image{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    width:100%;
    height:100%;
    max-width:none;
    display:block;
    object-fit:cover;
    object-position:center center;
    z-index:1;
}

/* TEXT/CONTENT ON TOP OF THE IMAGE */
.login-banner-content{
    position:relative;
    z-index:2;
    width:100%;
    text-align:center;
    padding:45px 20px 40px;
}

.login-banner-logo{
    width:52px;
    height:52px;
    display:block;
    object-fit:contain;
    margin:0 auto 5px;
}

.login-banner-title{
    margin:0;
    color:#050505;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:40px;
    font-weight:500;
    line-height:1.15;
}

.login-breadcrumb{
    margin:9px 0 0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    color:#121212;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:13px;
    font-weight:400;
}

.login-breadcrumb a{
    color:#121212;
    text-decoration:none;
    transition:color .2s ease;
}

.login-breadcrumb a:hover{
    color:#f5871f;
}

.login-breadcrumb i{
    color:#222;
    font-size:10px;
}

/* ===== LOGIN CONTENT ===== */

.login-content{
    width:100%;
    padding:64px 0 72px;
    background:#fff;
}

.login-content .container-fluid{
    width:100%;
    margin:0 auto;
    padding-left:20px;
    padding-right:20px;
}

.login-content .row{
    --bs-gutter-x:70px;
    --bs-gutter-y:45px;
    align-items:center;
}

/* LEFT IMAGE */

.login-image-wrap{
    width:100%;
    max-width:530px;
    margin:0 auto;
}

.login-image-box{
    width:100%;
    min-height:415px;
    overflow:hidden;
    border-radius:16px;
    background:#072c4f;
}

.login-image-box img{
    display:block;
    width:100%;
    height:100%;
    min-height:415px;
    object-fit:cover;
    object-position:center center;
}

/* RIGHT FORM */

.login-form-wrap{
    width:100%;
    margin:0 auto;
}

.login-form-title{
    margin:0;
    color:#242424;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:38px;
    font-weight:600;
    line-height:1.2;
}

.login-form-subtitle{
    margin:10px 0 28px;
    color:#555555;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:14px;
    font-weight:400;
    line-height:1.55;
    text-align: center;
}

.login-form-group{
    margin-bottom:20px;
}

.login-form-label{
    display:block;
    margin:0 0 8px;
    color:#1d1d1d;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:14px;
    font-weight:500;
    line-height:1.3;
}

.login-input-wrap{
    position:relative;
    width:100%;
}

.login-input-wrap i{
    position:absolute;
    left:16px;
    top:50%;
    transform:translateY(-50%);
    color:#858585;
    font-size:15px;
    pointer-events:none;
}

.login-input{
    width:100%;
    min-height:49px;
    padding:12px 15px 12px 14px;
    border:1px solid #dfe2e7;
    border-radius:7px;
    outline:none;
    background:#fff;
    color:#222;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:13px;
    transition:border-color .2s ease, box-shadow .2s ease;
}

.login-input::placeholder{
    color:#9b9b9b;
}

.login-input:focus{
    border-color:#061b63;
    box-shadow:0 0 0 3px rgba(6,27,99,.08);
}

.login-options{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin:3px 0 24px;
}

.login-remember{
    display:flex;
    align-items:center;
    gap:8px;
    color:#555;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:12px;
    cursor:pointer;
}

.login-remember input{
    width:14px;
    height:14px;
    margin:0;
    accent-color:#061b63;
}

.forgot-link{
    color:#061b63;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:12px;
    font-weight:500;
    text-decoration:none;
    transition:color .2s ease;
}

.forgot-link:hover{
    color:#f5871f;
}

.login-submit{
    width:100%;
    min-height:49px;
    border:0;
    border-radius:7px;
    background:#061b63;
    color:#ffffff;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:14px;
    font-weight:600;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    text-decoration:none;
    transition:all .25s ease;
}

.login-submit i{
    font-size:13px;
    transition:transform .25s ease;
}

.login-submit:hover{
    background:#1a2b8d;
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 8px 18px rgba(6,27,99,.16);
}

.login-submit:hover i{
    transform:translateX(4px);
}

.login-register{
    margin:18px 0 0;
    text-align:center;
    color:#6a6a6a;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:12px;
    line-height:1.5;
}

.login-register a{
    color:#f5871f;
    font-weight:600;
    text-decoration:none;
}

.login-register a:hover{
    text-decoration:underline;
}

/* ===== HEADER ALIGNMENT FOR LOGIN PAGE ===== */

.login-page + .site-footer{
    margin-top:0;
}

/* ===== TABLET ===== */

@media (max-width:1199px){
    .login-content{
        padding:55px 0 65px;
    }

    .login-content .container-fluid{
        max-width:940px;
    }

    .login-content .row{
        --bs-gutter-x:45px;
    }

    .login-image-box,
    .login-image-box img{
        min-height:380px;
    }

    .login-form-title{
        font-size:34px;
    }
}

@media (max-width:991px){
    .login-banner{
        min-height:235px;
    }

    .login-banner-image{
        object-position:center center;
    }

    .login-banner-content{
        padding:40px 18px 35px;
    }

    .login-banner-logo{
        width:48px;
        height:48px;
    }

    .login-banner-title{
        font-size:36px;
    }

    .login-content{
        padding:48px 0 58px;
    }

    .login-content .container-fluid{
        max-width:760px;
    }

    .login-content .row{
        --bs-gutter-x:30px;
        --bs-gutter-y:38px;
    }

    .login-image-wrap,

    .login-image-box,
    .login-image-box img{
        min-height:390px;
    }

    .login-form-title{
        font-size:32px;
        text-align:center;
    }

    .login-form-subtitle{
        text-align:center;
        margin-bottom:25px;
    }
}

@media (max-width:767px){
    .login-banner{
        min-height:210px;
    }

    .login-banner-image{
        object-position:center center;
    }

    .login-banner-content{
        padding:34px 15px 32px;
    }

    .login-banner-logo{
        width:44px;
        height:44px;
    }

    .login-banner-title{
        font-size:32px;
    }

    .login-breadcrumb{
        font-size:12px;
        margin-top:8px;
    }

    .login-content{
        padding:38px 0 48px;
    }

    .login-content .container-fluid{
        padding-left:16px;
        padding-right:16px;
    }

    .login-image-box{
        border-radius:13px;
    }

    .login-image-box,
    .login-image-box img{
        min-height:300px;
    }

    .login-form-title{
        font-size:28px;
    }

    .login-form-subtitle{
        font-size:13px;
        margin-top:8px;
        margin-bottom:22px;
    }

    .login-form-label{
        font-size:13px;
    }

    .login-input{
        min-height:46px;
        font-size:12px;
    }

    .login-options{
        margin-top:0;
        gap:12px;
    }

    .login-remember,
    .forgot-link{
        font-size:11px;
    }

    .login-submit{
        min-height:46px;
        font-size:13px;
    }
}

@media (max-width:575px){
    .login-banner{
        min-height:190px;
    }

    .login-banner-image{
        object-position:center center;
    }

    .login-banner-content{
        padding:30px 14px 28px;
    }

    .login-banner-logo{
        width:40px;
        height:40px;
    }

    .login-banner-title{
        font-size:29px;
    }

    .login-breadcrumb{
        font-size:11px;
        gap:7px;
    }

    .login-content{
        padding:32px 0 42px;
    }

    .login-content .container-fluid{
        padding-left:14px;
        padding-right:14px;
    }

    .login-image-box,
    .login-image-box img{
        min-height:250px;
    }

    .login-form-title{
        font-size:25px;
    }

    .login-form-subtitle{
        font-size:12px;
    }

    .login-options{
        align-items:flex-start;
        flex-direction:column;
        gap:9px;
        margin-bottom:20px;
    }

    .forgot-link{
        align-self:flex-end;
    }

    .login-register{
        font-size:11px;
    }
}

/* =========================================================
   MY HEALTH PROFILE PAGE
   Main content only — header/footer use the existing styles
========================================================= */

.health-profile-page{
    width:100%;
    min-height:100%;
    background:#fafbfc;
}

.health-profile-content{
    width:100%;
    padding:32px 0 64px;
    background:#fafbfc;
}

.health-profile-container{
    width:100%;
    margin:0 auto;
    padding-left:30px;
    padding-right:30px;
}

.health-profile-card{
    width:100%;
    background:#ffffff;
    border-radius:10px;
    padding:52px 50px 32px;
    box-shadow:0 8px 28px rgba(10,34,66,.08);
}

.profile-steps{
    width:100%;
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:5px;
    align-items:end;
    margin-bottom:64px;
}

.profile-step{
    position:relative;
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-end;
    gap:7px;
    padding:0;
    border:0;
    background:transparent;
    color:#9b9b9b;
    font-family:'Be Vietnam Pro',sans-serif;
    text-align:left;
    cursor:pointer;
}

.profile-step .step-label{
    min-height:28px;
    font-size:10px;
    font-weight:400;
    line-height:1.35;
}

.profile-step .step-line{
    display:block;
    width:100%;
    height:5px;
    background:#e7e7e7;
    transition:background .25s ease;
}

.profile-step.active{
    color:#1d1d1d;
}

.profile-step.active .step-line{
    background:#f5871f;
}

.profile-step:not(.active):hover .step-line{
    background:#d8d8d8;
}

.profile-step.active:hover .step-line{
    background:#f5871f;
}

.profile-form-section{
    width:100%;
}

.profile-section-title{
    margin:0 0 42px;
    color:#3a3a3a;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:25px;
    font-weight:700;
    line-height:1.25;
}

.profile-field{
    position:relative;
    width:100%;
    margin-bottom:20px;
}

.profile-field label{
    position:absolute;
    top:-7px;
    left:11px;
    z-index:2;
    padding:0 4px;
    background:#fff;
    color:#292929;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:10px;
    font-weight:500;
    line-height:1.1;
}

.profile-field input,
.profile-field select{
    width:100%;
    height:50px;
    padding:14px 14px;
    border:1px solid #e5e5e5;
    border-radius:5px;
    outline:none;
    background:#fff;
    color:#3d3d3d;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:12px;
    font-weight:400;
    transition:border-color .2s ease, box-shadow .2s ease;
    appearance:none;
    -webkit-appearance:none;
}

.profile-field input::placeholder{
    color:#a8a8a8;
    opacity:1;
}

.profile-field input:focus,
.profile-field select:focus{
    border-color:#0b2d68;
    box-shadow:0 0 0 3px rgba(6,27,99,.06);
}

.profile-field select{
    color:#9b9b9b;
    padding-right:45px;
    cursor:pointer;
}

.profile-field select option{
    color:#333;
}

.profile-select-arrow{
    position:absolute;
    top:50%;
    right:16px;
    z-index:2;
    transform:translateY(-50%);
    color:#181818;
    font-size:15px;
    pointer-events:none;
}

.profile-actions{
    display:flex;
    align-items:center;
    gap:14px;
    margin-top:30px;
}

.profile-back-btn,
.profile-next-btn{
    min-width:98px;
    height:39px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    border-radius:5px;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:12px;
    font-weight:500;
    line-height:1;
    cursor:pointer;
    transition:all .25s ease;
}

.profile-back-btn{
    border:0;
    background:#c7c6c6;
    color:#181717;
}

.profile-back-btn:disabled{
    cursor:not-allowed;
}

.profile-next-btn{
    border:0;
    background:#061b63;
    color:#fff;
    text-decoration: none;
}

.profile-next-btn:hover{
    background:#173487;
    color:#fff;
    transform:translateY(-1px);
    box-shadow:0 7px 16px rgba(6,27,99,.16);
}

.profile-next-btn i,
.profile-back-btn i{
    font-size:11px;
}

@media (max-width:1199px){

    .health-profile-content{
        padding:28px 0 58px;
    }

    .health-profile-container{
        max-width:1000px;
    }

    .health-profile-card{
        padding:46px 38px 30px;
    }

    .profile-steps{
        margin-bottom:56px;
    }

    .profile-section-title{
        font-size:24px;
        margin-bottom:38px;
    }
}

@media (max-width:991px){

    .health-profile-content{
        padding:24px 0 52px;
    }

    .health-profile-container{
        max-width:800px;
        padding-left:16px;
        padding-right:16px;
    }

    .health-profile-card{
        padding:40px 28px 28px;
        border-radius:10px;
    }

    .profile-steps{
        gap:10px;
        margin-bottom:50px;
    }

    .profile-step .step-label{
        font-size:10px;
    }

    .profile-step .step-line{
        height:4px;
    }

    .profile-section-title{
        font-size:23px;
        margin-bottom:34px;
    }

    .profile-field{
        margin-bottom:18px;
    }

    .profile-field input,
    .profile-field select{
        height:48px;
    }
}

@media (max-width:767px){

    .health-profile-content{
        padding:18px 0 42px;
    }

    .health-profile-container{
        padding-left:12px;
        padding-right:12px;
    }

    .health-profile-card{
        padding:26px 18px 24px;
        border-radius:9px;
    }

    .profile-steps{
        grid-template-columns:repeat(5, minmax(90px, 1fr));
        overflow-x:auto;
        gap:10px;
        margin-bottom:38px;
        padding-bottom:2px;
        scrollbar-width:none;
    }

    .profile-steps::-webkit-scrollbar{
        display:none;
    }

    .profile-step{
        min-width:90px;
    }

    .profile-step .step-label{
        font-size:9px;
    }

    .profile-step .step-line{
        height:4px;
    }

    .profile-section-title{
        font-size:21px;
        margin-bottom:30px;
    }

    .profile-field{
        margin-bottom:17px;
    }

    .profile-field label{
        font-size:9px;
        top:-6px;
    }

    .profile-field input,
    .profile-field select{
        height:47px;
        padding:12px 13px;
        font-size:11px;
        border-radius:5px;
    }

    .profile-select-arrow{
        right:14px;
        font-size:13px;
    }

    .profile-actions{
        margin-top:26px;
        gap:10px;
    }

    .profile-back-btn,
    .profile-next-btn{
        min-width:90px;
        height:38px;
        font-size:11px;
    }
}

@media (max-width:575px){

    .health-profile-content{
        padding:12px 0 34px;
    }

    .health-profile-container{
        padding-left:10px;
        padding-right:10px;
    }

    .health-profile-card{
        padding:22px 14px 20px;
    }

    .profile-steps{
        margin-bottom:32px;
    }

    .profile-step{
        min-width:82px;
    }

    .profile-step .step-label{
        font-size:8px;
    }

    .profile-step .step-line{
        height:3px;
    }

    .profile-section-title{
        font-size:19px;
        margin-bottom:27px;
    }

    .profile-field input,
    .profile-field select{
        height:45px;
        font-size:10.5px;
    }

    .profile-field label{
        font-size:8.5px;
    }

    .profile-actions{
        margin-top:24px;
    }

    .profile-back-btn,
    .profile-next-btn{
        min-width:86px;
        height:36px;
        font-size:10px;
    }
}

@media (hover:none){

    .profile-next-btn:hover{
        transform:none;
        box-shadow:none;
    }
}

/* =========================================================
   CONTACT US PAGE
   Contact page uses the same header/footer and shared hero
========================================================= */

.contact-page{
    width:100%;
    background:#fff;
    overflow:hidden;
}

.contact-banner{
    position:relative;
    width:100%;
    height:250px;
    overflow:hidden;
}

.contact-banner .login-banner-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    z-index:1;
}

.contact-banner .login-banner-content{
    position:relative;
    z-index:2;
    width:100%;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
}

.contact-banner .login-banner-logo{
    width:52px;
    height:52px;
    object-fit:contain;
    margin:0 0 5px;
}

.contact-banner .login-banner-title{
    margin:0;
    color:#050505;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:38px;
    font-weight:500;
    line-height:1.1;
}

.contact-banner .login-breadcrumb{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    margin-top:10px;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:13px;
}

.contact-banner .login-breadcrumb a{
    color:#050505;
    text-decoration:none;
    transition:color .25s ease;
}

.contact-banner .login-breadcrumb a:hover{
    color:#f5871f;
}

.contact-banner .login-breadcrumb i{
    color:#111;
    font-size:11px;
}

.contact-banner .login-breadcrumb span{
    color:#8b8b8b !important;
}

/* ===== MAIN CONTACT CONTENT ===== */

.contact-content{
    width:100%;
    background:#fff;
    padding:82px 0 68px;
}

.contact-container{
    width:100%;
    max-width:950px;
    margin:0 auto;
    padding-left:18px;
    padding-right:18px;
}

.contact-heading{
    width:100%;
    margin:0 auto 72px;
}

.contact-heading h2{
    margin:0 0 11px;
    color:#080808;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:28px;
    font-weight:700;
    line-height:1.25;
}

.contact-heading p{
    max-width:560px;
    margin:0 auto;
    color:#a5a5a5;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:14px;
    font-weight:400;
    line-height:1.55;
}

.contact-main-row{
    align-items:flex-start;
    margin-left:0;
    margin-right:0;
}

/* ===== CONTACT INFO ===== */

.contact-info{
    width:100%;
    padding-right:60px;
}

.contact-info-item{
    display:flex;
    align-items:flex-start;
    gap:24px;
    margin-bottom:36px;
}

.contact-info-item:last-child{
    margin-bottom:0;
}

.contact-info-icon{
    width:24px;
    min-width:24px;
    padding-top:1px;
    display:flex;
    justify-content:center;
    color:#050505;
    font-size:19px;
    line-height:1;
}

.contact-info-text h3{
    margin:0 0 7px;
    color:#101010;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:20px;
    font-weight:500;
    line-height:1.2;
}

.contact-info-text p{
    margin:0;
    color:#202020;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:13px;
    font-weight:400;
    line-height:1.55;
}

/* ===== CONTACT FORM ===== */

.contact-form-wrap{
    width:100%;
}

.contact-form-group{
    width:100%;
    margin-bottom:28px;
}

.contact-form-group label{
    display:block;
    margin:0 0 12px;
    color:#111;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:12px;
    font-weight:500;
    line-height:1.2;
}

.contact-form-group input,
.contact-form-group textarea{
    width:100%;
    border:1px solid #bdbdbd;
    border-radius:8px;
    outline:none;
    background:#fff;
    color:#222;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:12px;
    font-weight:400;
    transition:border-color .25s ease, box-shadow .25s ease;
}

.contact-form-group input{
    height:61px;
    padding:0 24px;
}

.contact-form-group textarea{
    min-height:97px;
    padding:17px 24px;
    resize:vertical;
}

.contact-form-group input::placeholder,
.contact-form-group textarea::placeholder{
    color:#a9a9a9;
    opacity:1;
}

.contact-form-group input:focus,
.contact-form-group textarea:focus{
    border-color:#061b63;
    box-shadow:0 0 0 3px rgba(6,27,99,.07);
}

.contact-submit{
    width:190px;
    height:45px;
    margin-top:10px;
    border:0;
    border-radius:4px;
    background:#061b63;
    color:#fff;
    font-family:'Be Vietnam Pro',sans-serif;
    font-size:13px;
    font-weight:500;
    cursor:pointer;
    transition:all .25s ease;
}

.contact-submit:hover{
    background:#173487;
    transform:translateY(-1px);
    box-shadow:0 8px 18px rgba(6,27,99,.15);
}

/* ===== LARGE TABLET ===== */

@media (max-width:1199px){

    .contact-content{
        padding:72px 0 60px;
    }

    .contact-container{
        max-width:900px;
    }

    .contact-heading{
        margin-bottom:62px;
    }

    .contact-info{
        padding-right:40px;
    }
}

/* ===== TABLET ===== */

@media (max-width:991px){

    .contact-banner{
        height:235px;
    }

    .contact-banner .login-banner-title{
        font-size:35px;
    }

    .contact-content{
        padding:64px 0 54px;
    }

    .contact-container{
        max-width:760px;
    }

    .contact-heading{
        margin-bottom:55px;
    }

    .contact-heading h2{
        font-size:27px;
    }

    .contact-heading p{
        font-size:12px;
        max-width:520px;
    }

    .contact-info{
        padding-right:10px;
        margin-bottom:42px;
    }

    .contact-info-item{
        max-width:360px;
        margin-left:auto;
        margin-right:auto;
    }

    .contact-form-wrap{
        max-width:600px;
        margin:0 auto;
    }
}

/* ===== MOBILE ===== */

@media (max-width:767px){

    .contact-banner{
        height:220px;
    }

    .contact-banner .login-banner-logo{
        width:46px;
        height:46px;
    }

    .contact-banner .login-banner-title{
        font-size:31px;
    }

    .contact-banner .login-breadcrumb{
        margin-top:8px;
        font-size:11px;
    }

    .contact-content{
        padding:52px 0 44px;
    }

    .contact-container{
        padding-left:16px;
        padding-right:16px;
    }

    .contact-heading{
        margin-bottom:42px;
    }

    .contact-heading h2{
        font-size:24px;
        margin-bottom:9px;
    }

    .contact-heading p{
        max-width:460px;
        font-size:11px;
        line-height:1.6;
    }

    .contact-info{
        padding-right:0;
        margin-bottom:38px;
    }

    .contact-info-item{
        max-width:100%;
        gap:18px;
        margin-bottom:28px;
    }

    .contact-info-icon{
        width:22px;
        min-width:22px;
        font-size:17px;
    }

    .contact-info-text h3{
        font-size:18px;
        margin-bottom:6px;
    }

    .contact-info-text p{
        font-size:11px;
        line-height:1.6;
    }

    .contact-form-group{
        margin-bottom:22px;
    }

    .contact-form-group label{
        font-size:11px;
        margin-bottom:9px;
    }

    .contact-form-group input{
        height:52px;
        padding:0 17px;
        font-size:11px;
    }

    .contact-form-group textarea{
        min-height:105px;
        padding:15px 17px;
        font-size:11px;
    }

    .contact-submit{
        width:100%;
        height:43px;
        font-size:12px;
    }
}

/* ===== SMALL MOBILE ===== */

@media (max-width:575px){

    .contact-banner{
        height:205px;
    }

    .contact-banner .login-banner-logo{
        width:42px;
        height:42px;
    }

    .contact-banner .login-banner-title{
        font-size:28px;
    }

    .contact-banner .login-breadcrumb{
        gap:7px;
        font-size:10px;
    }

    .contact-content{
        padding:44px 0 38px;
    }

    .contact-container{
        padding-left:14px;
        padding-right:14px;
    }

    .contact-heading{
        margin-bottom:36px;
    }

    .contact-heading h2{
        font-size:22px;
    }

    .contact-heading p{
        font-size:10px;
    }

    .contact-info-item{
        gap:15px;
        margin-bottom:25px;
    }

    .contact-info-icon{
        width:20px;
        min-width:20px;
        font-size:16px;
    }

    .contact-info-text h3{
        font-size:17px;
    }

    .contact-info-text p{
        font-size:10px;
    }

    .contact-form-group input{
        height:49px;
        padding:0 15px;
    }

    .contact-form-group textarea{
        min-height:100px;
        padding:14px 15px;
    }

    .contact-submit{
        max-width:none;
        width:100%;
    }
}

/* =========================================================
   MEDICAL HISTORY PAGE
   NEW CSS FILE — NO OLD CSS REQUIRED
   ========================================================= */

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  font-family: "Be Vietnam Pro", sans-serif;
  color: #111;
  background: #fff;
  overflow-x: hidden;
}

img {
  max-width: 100%;
}

/* =========================================================
   HEADER FROM INDEX
   ========================================================= */

.navbar {
  background: #fff !important;
  min-height: 80px;
  z-index: 1000;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .06) !important;
}

.navbar .container-fluid {
  min-height: 64px;
}

.brand-icon {
    width: 100px;
    height: 80px;
    object-fit: contain;
    display: block;
    border-radius: 5px;
  
}
.navbar-brand span{
    font-weight: bold;
    font-size: 30px;
    color: #170e64;
    font-family: Georgia, "Times New Roman", serif;
}
.navbar .nav-link {
  color: #0a2242;
  font-size: 14px;
  font-weight: 500;
  margin: 0 5px;
  padding: 9px 14px;
  border-radius: 6px;
  transition: .25s ease;
}

.navbar .nav-link.active {
  color: #f5871f;
  background: #f3f3f3;
}

.navbar .nav-link:hover {
  color: #f5871f;
  background: #f3f3f3;
}

.profile-link {
  color: #0a2242;
  font-size: 14px;
  text-decoration: none;
}

.profile-link:hover {
  color: #f5871f !important;
}

.btn-navy {
  min-width: 95px;
  padding: 10px 22px;
  border: 0;
  border-radius: 7px;
  background: #061b63;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}

.btn-navy:hover {
  background: #102c86;
  color: #fff;
}

/* =========================================================
   PAGE
   ========================================================= */

.medical-page {
  width: 100%;
  background: #fff;
  padding: 64px 0 72px;
}

.medical-page > .container-fluid {
  margin: 0 auto;
}

.medical-wrapper {
  width: 100%;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 7px 28px rgba(25, 42, 70, .08);
  padding: 52px;
}

/* =========================================================
   PROFILE STEPS
   ========================================================= */

.profile-steps {
  width: 100%;
  display: flex;
  grid-template-columns: repeat(5, 1fr);
  gap: 5px;
}

.step-item {
  min-height: 29px;
  color: #a1a1a1;
  font-size: 10px;
  line-height: 1.35;
  font-weight: 400;
}

.step-item.completed,
.step-item.current {
  color: #111;
}

.step-item.current {
  color: #111111;
}

.step-bars {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 5px;
  margin-top: 4px;
  margin-bottom: 64px;
}

.step-bars span {
  height: 5px;
  background: #e9e9e9;
}

.step-bars span.filled {
  background: #f5871f;
}

/* =========================================================
   HEADING
   ========================================================= */

.medical-content h1 {
  margin: 0 0 14px;
  color: #080808;
  font-size: 27px;
  font-weight: 700;
  line-height: 1.3;
}

/* =========================================================
   MEDICAL CARDS
   ========================================================= */

.medical-card {
  min-height: 162px;
  width: 100%;
  padding: 25px 24px 20px;
  border-radius: 16px;
  background: #e2f3fc;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.medical-card h3 {
  margin: 0 0 13px;
  color: #06345f;
  font-size: 19px;
  font-weight: 500;
  line-height: 1.3;
}

.medical-card p {
  margin: 0 0 17px;
  color: #111;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
}

.yes-no-group {
  display: flex;
  align-items: center;
  gap: 8px;
}

.yes-no-btn {
  width: 122px;
  height: 43px;
  border: 0;
  border-radius: 8px;
  background: #fff;
  color: #111;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 14px;
  font-weight: 400;
  cursor: pointer;
  transition: .2s ease;
}

.yes-no-btn.active.no-btn {
  background: #001427;
  color: #fff;
}

.yes-no-btn.active.yes-btn {
  background: #001427;
  color: #fff;
}

.yes-no-btn:hover {
  transform: translateY(-1px);
}

/* =========================================================
   OTHER CONDITIONS
   ========================================================= */

.other-card {
  min-height: 136px;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.other-text {
  min-width: 0;
}

.other-card h3 {
  margin-bottom: 22px;
}

.other-card p {
  margin: 0;
}

.other-card .yes-no-group {
  flex-shrink: 0;
}

/* =========================================================
   NAVIGATION BUTTONS
   ========================================================= */

.medical-navigation {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
}

.back-btn,
.next-btn {
  height: 40px;
  min-width: 98px;
  padding: 0 19px;
  border: 0;
  border-radius: 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
}

.back-btn {
  background: #dfdddd;
  color: #252525;
}

.next-btn {
  background: #062b69;
  color: #fff;
}

.back-btn:hover {
  background: #eee;
  color: #777;
}

.next-btn:hover {
  background: #123d83;
  color: #fff;
}

/* =========================================================
   FOOTER FROM INDEX
   ========================================================= */

.site-footer {
  position: relative;
  width: 100%;
  background: #fff;
  overflow: hidden;
  padding: 38px 0 10px;
}

.footer-bg {
  position: absolute;
  inset: 0;
  background: url("./image/footer-bg.png") center bottom / cover no-repeat;
  opacity: .45;
  pointer-events: none;
}

.footer-container {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: 0 auto;
}

.footer-main-row {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1.25fr 1.15fr 1.25fr;
  gap: 28px;
  align-items: start;
}

.footer-block h6 {
  margin: 14px 0 18px;
  color: #101d33;
  font-size: 14px;
  font-weight: 600;
}

.footer-logo-box {
  width: 190px;
  height: 190px;
  border: 1px solid #f5871f;
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.8);
}

.footer-logo {
  width: 145px;
  height: 145px;
  object-fit: contain;
}

.footer-links-block {
  display: flex;
  flex-direction: column;
}

.footer-links-block a {
  width: fit-content;
  margin-bottom: 10px;
  color: #384256;
  font-size: 11px;
  line-height: 1.35;
  text-decoration: none;
}

.footer-links-block a:hover {
  color: #f5871f;
}

.footer-contact-block {
  display: flex;
  flex-direction: column;
}

.footer-contact-link {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 15px;
  color: #333;
  font-size: 13px;
  text-decoration: none;
}

.footer-contact-link i {
  color: #f5871f;
  font-size: 16px;
}

.footer-divider {
  height: 1px;
  width: 100%;
  margin: 30px 0 20px;
  background: #999;
}

.footer-bottom-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.footer-copyright {
  color: #111;
  font-size: 12px;
}

.footer-socials {
  display: flex;
  align-items: center;
  gap: 13px;
}

.social-icon {
  width: 38px;
  height: 38px;
  border: 1px solid #d8dce3;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #16243a;
  text-decoration: none;
  transition: .2s ease;
}

.social-icon:hover {
  color: #f5871f;
  border-color: #f5871f;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1199px) {
  .medical-page {
    padding: 52px 0 60px;
  }

  .medical-wrapper {
    padding: 44px 40px;
  }

  .step-bars {
    margin-bottom: 50px;
  }

  .footer-main-row {
    grid-template-columns: 1fr 1fr 1.2fr 1.1fr;
  }

  .footer-logo-block {
    grid-row: span 2;
  }
}

/* =========================================================
   MOBILE / SMALL TABLET
   ========================================================= */

@media (max-width: 991px) {

  .navbar .nav-link {
    margin: 2px 0;
  }

  .medical-page {
    padding: 38px 0 50px;
  }

  .medical-wrapper {
    padding: 36px 28px;
  }

  .step-bars {
    margin-bottom: 40px;
  }

  .medical-content h1 {
    font-size: 25px;
  }

  .medical-card {
    min-height: 155px;
    padding: 23px 22px 19px;
  }

  .medical-card h3 {
    font-size: 18px;
  }

  .medical-card p {
    font-size: 14px;
  }

  .other-card {
    min-height: 132px;
  }

  .footer-main-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .footer-logo-block {
    grid-row: auto;
  }

  .footer-logo-box {
    width: 160px;
    height: 160px;
  }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {
  .medical-page {
    padding: 24px 0 38px;
  }

  .medical-page > .container-fluid {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .medical-wrapper {
    padding: 27px 18px 30px;
    border-radius: 8px;
  }

  .profile-steps {
    gap: 5px;
  }

  .step-item {
    font-size: 8px;
  }

  .step-bars {
    gap: 3px;
    margin-top: 5px;
    margin-bottom: 32px;
  }

  .step-bars span {
    height: 4px;
  }

  .medical-content h1 {
    font-size: 23px;
  }

  .medical-card {
    min-height: 0;
    padding: 21px 19px 19px;
    border-radius: 14px;
  }

  .medical-card h3 {
    font-size: 17px;
    margin-bottom: 10px;
  }

  .medical-card p {
    font-size: 13px;
    margin-bottom: 14px;
  }

  .yes-no-btn {
    width: 120px;
    max-width: 46%;
    height: 41px;
    font-size: 13px;
  }

  .other-card {
    min-height: 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 18px;
  }

  .other-card h3 {
    margin-bottom: 12px;
  }

  .other-card .yes-no-group {
    width: 100%;
  }

  .medical-navigation {
    margin-top: 14px;
    gap: 9px;
  }

  .back-btn,
  .next-btn {
    min-width: 92px;
    height: 39px;
    font-size: 11px;
  }

  .footer-main-row {
    grid-template-columns: 1fr 1fr;
    gap: 25px 18px;
  }

  .footer-logo-block {
    grid-column: 1 / -1;
  }

  .footer-logo-box {
    width: 145px;
    height: 145px;
  }

  .footer-logo {
    width: 115px;
    height: 115px;
  }

  .footer-bottom-row {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 575px) {
  .medical-page {
    padding: 18px 0 30px;
  }

  .medical-wrapper {
    padding: 22px 14px 25px;
  }

  .profile-steps {
    gap: 3px;
  }

  .step-item {
    font-size: 7px;
  }

  .step-bars {
    margin-bottom: 27px;
  }

  .medical-content h1 {
    font-size: 21px;
  }

  .medical-card {
    padding: 18px 16px;
    border-radius: 12px;
  }

  .medical-card h3 {
    font-size: 16px;
  }

  .medical-card p {
    font-size: 12px;
  }

  .yes-no-btn {
    width: 112px;
    height: 39px;
    font-size: 12px;
  }

  .back-btn,
  .next-btn {
    min-width: 86px;
    height: 38px;
    font-size: 10px;
  }

  .footer-main-row {
    grid-template-columns: 1fr;
  }

  .footer-logo-block {
    grid-column: auto;
  }

  .footer-main-row .footer-block {
    width: 100%;
  }

  .footer-bottom-row {
    gap: 14px;
  }
}


/* ========================================
   SURGICAL & HOSPITALIZATION HISTORY PAGE
   ======================================== */

.surgical-page {
    background: #fff;
    min-height: 100vh;
    padding: 64px 0 72px;
}

.surgical-wrapper {
    width: 100%;
    margin: 0 auto;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 12px 35px rgba(10, 34, 66, .08);
    padding: 54px 52px 48px;
}

.surgical-steps {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 6px;
    margin-bottom: 64px;
}

.surgical-step {
    position: relative;
    min-height: 44px;
    color: #999;
    font-size: 11px;
    line-height: 1.25;
    font-weight: 400;
    padding-bottom: 14px;
}

.surgical-step::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 5px;
    border-radius: 0;
    background: #e9e9e9;
}

.surgical-step.completed,
.surgical-step.current {
    color: #111;
}

.surgical-step.completed::after,
.surgical-step.current::after {
    background: #f5871f;
}

.surgical-step.current {
    font-weight: 500;
}

.surgical-title {
    margin: 0 0 24px;
    color: #333;
    font-size: 27px;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -.6px;
}

.surgical-card {
    width: 100%;
    background: #dff1fc;
    border-radius: 16px;
    padding: 27px 24px;
    margin-bottom: 38px;
}

.surgical-card-title {
    margin: 0 0 23px;
    color: #06345f;
    font-size: 20px;
    line-height: 1.3;
    font-weight: 500;
}

.surgical-card-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
}

.surgical-question {
    margin: 0;
    color: #111;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 400;
}

.yes-no-group {
    display: flex;
    gap: 8px;
    flex: 0 0 auto;
}

.yes-no-btn {
    width: 121px;
    height: 44px;
    border: 0;
    border-radius: 8px;
    background: #fff;
    color: #111;
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 15px;
    font-weight: 400;
    cursor: pointer;
    transition: .2s ease;
}

.yes-no-btn.active {
    background: #001a30;
    color: #fff;
}



.surgery-fields {
    display: flex;
    flex-direction: column;
    gap: 29px;
    margin-bottom: 38px;
}

.surgery-field {
    position: relative;
}

.surgery-field label {
    position: absolute;
    top: -7px;
    left: 13px;
    z-index: 1;
    padding: 0 2px;
    background: #fff;
    color: #222;
    font-size: 11px;
    line-height: 1;
    font-weight: 500;
}

.surgery-field input,
.surgery-field textarea {
    width: 100%;
    border: 1px solid #e6e6e6;
    border-radius: 5px;
    outline: none;
    background: #fff;
    color: #222;
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 13px;
    padding: 0 13px;
}

.surgery-field input {
    height: 49px;
}

.surgery-field textarea {
    min-height: 86px;
    padding-top: 16px;
    resize: vertical;
}

.surgery-field input::placeholder,
.surgery-field textarea::placeholder {
    color: #a3a3a3;
    opacity: 1;
}

.surgery-field input:focus,
.surgery-field textarea:focus {
    border-color: #bfcfe0;
    box-shadow: 0 0 0 3px rgba(245, 135, 31, .08);
}

.add-surgery-btn {
    width: 100%;
    height: 39px;
    border: 0;
    border-radius: 5px;
    background: #062c73;
    color: #fff;
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    margin-bottom: 39px;
}

.add-surgery-btn:hover {
    background: #0d3d91;
}

.hospitalization-card {
    margin-bottom: 23px;
}

.surgical-navigation {
    display: flex;
    align-items: center;
    gap: 13px;
}

.surgical-nav-btn {
    min-width: 98px;
    height: 39px;
    padding: 0 17px;
    border-radius: 5px;
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    text-decoration: none;
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
}

.surgical-back-btn {
    background: #f1eeee;
    color: #bdbdbd;
}

.surgical-next-btn {
    background: #062c73;
    color: #fff;
}

.surgical-next-btn:hover {
    background: #0d3d91;
    color: #fff;
}

@media (max-width: 991px) {
    .surgical-page {
        padding: 40px 0 55px;
    }

    .surgical-wrapper {
        padding: 40px 30px;
    }

    .surgical-steps {
        margin-bottom: 48px;
    }

    .surgical-card-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .yes-no-group {
        width: 100%;
        justify-content: flex-end;
    }
}

@media (max-width: 767px) {
    .surgical-page {
        padding: 25px 0 40px;
    }

    .surgical-wrapper {
        border-radius: 10px;
        padding: 30px 18px 32px;
    }

    .surgical-steps {
        gap: 4px;
        margin-bottom: 38px;
    }

    .surgical-step {
        font-size: 9px;
        min-height: 40px;
    }

    .surgical-step::after {
        height: 4px;
    }

    .surgical-title {
        font-size: 23px;
        margin-bottom: 20px;
    }

    .surgical-card {
        padding: 23px 18px;
        border-radius: 13px;
        margin-bottom: 28px;
    }

    .surgical-card-title {
        font-size: 18px;
        margin-bottom: 17px;
    }

    .surgical-question {
        font-size: 14px;
    }

    .yes-no-group {
        justify-content: flex-start;
    }

    .yes-no-btn {
        width: 105px;
        height: 42px;
        font-size: 14px;
    }

    .surgery-fields {
        gap: 25px;
        margin-bottom: 28px;
    }

    .add-surgery-btn {
        margin-bottom: 28px;
    }
}

@media (max-width: 575px) {
    .surgical-wrapper {
        padding: 25px 14px 28px;
    }

    .surgical-steps {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .surgical-step {
        font-size: 8px;
    }

    .surgical-title {
        font-size: 20px;
    }

    .surgical-card-row {
        gap: 17px;
    }

    .yes-no-group {
        justify-content: stretch;
    }

    .yes-no-btn {
        width: 50%;
    }

    .surgical-navigation {
        gap: 10px;
    }
}


/* =========================================================
   FAMILY MEDICAL HISTORY PAGE
   ========================================================= */

.family-page {
    width: 100%;
    background: #fff;
    padding: 64px 0 72px;
}

.family-page > .container-fluid {
    max-width: 1200px;
    margin: 0 auto;
}

.family-wrapper {
    width: 100%;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 7px 28px rgba(25, 42, 70, .08);
    padding: 52px;
}

.family-steps {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 5px;
    margin-bottom: 64px;
}

.family-step {
    min-height: 29px;
    color: #a1a1a1;
    font-size: 10px;
    line-height: 1.35;
    font-weight: 400;
}

.family-step.completed,
.family-step.current {
    color: #111;
}

.family-step.current {
    color: #111;
}

.family-step-bars {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 5px;
    margin-top: 4px;
}

.family-step-bar {
    height: 5px;
    border-radius: 1px;
    background: #e9e9e9;
}

.family-step-bar.completed,
.family-step-bar.current {
    background: #f5871f;
}

.family-title {
    margin: 25px 0 24px;
    color: #333;
    font-size: 28px;
    line-height: 1.25;
    font-weight: 700;
}

.family-grid {
    margin-bottom: 24px;
}

.family-card {
    width: 100%;
    min-height: 162px;
    padding: 24px;
    border-radius: 16px;
    background: #dff1fb;
}

.family-card h3 {
    margin: 0 0 12px;
    color: #06345f;
    font-size: 20px;
    line-height: 1.3;
    font-weight: 500;
}

.family-card p {
    margin: 0 0 17px;
    color: #111;
    font-size: 15px;
    line-height: 1.45;
    font-weight: 400;
}

.family-yes-no {
    display: flex;
    gap: 8px;
}

.family-yes-no button {
    width: 120px;
    height: 44px;
    border: 0;
    border-radius: 8px;
    background: #fff;
    color: #111;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 14px;
    cursor: pointer;
    transition: .2s ease;
}

.family-yes-no button.active {
    background: #001426;
    color: #fff;
}

.family-yes-no button:hover {
    transform: translateY(-1px);
}

.family-field {
    position: relative;
    margin-top: 20px;
}

.family-field label {
    position: absolute;
    top: -7px;
    left: 12px;
    z-index: 1;
    padding: 0 3px;
    background: #fff;
    color: #222;
    font-size: 11px;
    line-height: 1;
}

.family-field input,
.family-field select,
.family-field textarea {
    width: 100%;
    border: 1px solid #e7e7e7;
    border-radius: 5px;
    outline: none;
    background: #fff;
    color: #333;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 13px;
}

.family-field input,
.family-field select {
    height: 50px;
    padding: 0 13px;
}

.family-field textarea {
    min-height: 70px;
    padding: 14px 13px;
    resize: vertical;
}

.family-field input::placeholder,
.family-field textarea::placeholder {
    color: #9a9a9a;
}

.family-field input:focus,
.family-field select:focus,
.family-field textarea:focus {
    border-color: #cfd8e3;
}

.family-navigation {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 24px;
}

.family-back,
.family-next {
    min-width: 98px;
    height: 40px;
    border-radius: 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    text-decoration: none;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 12px;
    font-weight: 500;
}

.family-back {
    border: 0;
    background: #f7f7f7;
    color: #c5c5c5;
}

.family-next {
    border: 0;
    background: #061b63;
    color: #fff;
}

.family-next:hover {
    background: #102c86;
    color: #fff;
}

/* Mobile */
@media (max-width: 991px) {
    .family-wrapper {
        padding: 38px 30px;
    }

    .family-title {
        font-size: 25px;
    }

    .family-card {
        min-height: 150px;
        padding: 22px;
    }
}

@media (max-width: 767px) {
    .family-page {
        padding: 35px 0 50px;
    }

    .family-wrapper {
        padding: 28px 20px;
    }

    .family-steps {
        margin-bottom: 42px;
    }

    .family-title {
        font-size: 23px;
        margin-bottom: 20px;
    }

    .family-card {
        min-height: 145px;
        padding: 20px;
        border-radius: 14px;
    }

    .family-card h3 {
        font-size: 18px;
    }

    .family-card p {
        font-size: 13px;
    }

    .family-yes-no button {
        width: 110px;
        height: 42px;
    }

    .family-field {
        margin-top: 18px;
    }
}

@media (max-width: 575px) {
    .family-page {
        padding: 25px 0 40px;
    }

    .family-wrapper {
        padding: 24px 15px;
        border-radius: 8px;
    }

    .family-steps {
        gap: 3px;
        margin-bottom: 35px;
    }

    .family-step {
        font-size: 8px;
    }

    .family-step-bars {
        gap: 3px;
    }

    .family-step-bar {
        height: 4px;
    }

    .family-title {
        font-size: 21px;
    }

    .family-card {
        min-height: auto;
        padding: 18px;
    }

    .family-card h3 {
        font-size: 17px;
    }

    .family-card p {
        font-size: 12px;
        margin-bottom: 14px;
    }

    .family-yes-no button {
        width: 105px;
        height: 40px;
        font-size: 12px;
    }

    .family-navigation {
        margin-top: 20px;
    }
}


/* =========================================================
   LIFESTYLE & SOCIAL HISTORY PAGE
   Added to the existing stylesheet
========================================================= */

.social-history-page {
    width: 100%;
    background: #fff;
    padding: 64px 0 72px;
}

.social-history-container {
    max-width: 1200px;
    margin: 0 auto;
}

.social-history-card {
    width: 100%;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 7px 28px rgba(25, 42, 70, .08);
    padding: 52px;
}

/* STEPS */

.social-steps {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 5px;
}

.social-step {
    min-height: 29px;
    color: #999;
    font-size: 10px;
    line-height: 1.35;
    font-weight: 400;
}

.social-step.completed,
.social-step.current {
    color: #111;
}

.social-step-bars {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 5px;
    margin-top: 4px;
    margin-bottom: 64px;
}

.social-step-bar {
    width: 100%;
    height: 5px;
    background: #e8e8e8;
    border-radius: 1px;
}

.social-step-bar.active {
    background: #f5871f;
}

/* TITLE */

.social-history-title {
    margin: 0 0 28px;
    color: #333;
    font-size: 28px;
    line-height: 1.25;
    font-weight: 700;
}

/* INPUTS */

.social-field {
    position: relative;
    width: 100%;
    margin-bottom: 30px;
}

.social-field label {
    position: absolute;
    top: -7px;
    left: 12px;
    z-index: 2;
    padding: 0 3px;
    background: #fff;
    color: #222;
    font-size: 11px;
    line-height: 1;
    font-weight: 400;
}

.social-field input {
    width: 100%;
    height: 50px;
    padding: 0 13px;
    border: 1px solid #e5e5e5;
    border-radius: 5px;
    outline: none;
    background: #fff;
    color: #333;
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 13px;
}

.social-field input::placeholder {
    color: #999;
}

.social-field input:focus {
    border-color: #cbd5e1;
}

/* BLUE CHOICE BOX */

.social-choice-card {
    width: 100%;
    min-height: 136px;
    margin-bottom: 30px;
    padding: 26px 24px 22px;
    border-radius: 16px;
    background: #dff1fb;
}

.social-choice-card h2 {
    margin: 0 0 17px;
    color: #06345f;
    font-size: 20px;
    line-height: 1.3;
    font-weight: 500;
}

.social-choice-row {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
}

.social-choice-row p {
    margin: 0;
    color: #111;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 400;
}

.social-choice-buttons {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-shrink: 0;
}

.social-choice-btn {
    min-width: 123px;
    height: 44px;
    padding: 0 14px;
    border: 0;
    border-radius: 8px;
    background: #fff;
    color: #111;
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 14px;
    font-weight: 400;
    white-space: nowrap;
    cursor: pointer;
    transition: .2s ease;
}

.social-choice-btn.active {
    background: #001426;
    color: #fff;
}

.social-choice-btn:hover {
    transform: translateY(-1px);
}

/* BUTTONS */

.social-navigation {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 24px;
}

.social-back-btn,
.social-submit-btn {
    min-width: 98px;
    height: 40px;
    padding: 0 17px;
    border-radius: 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 12px;
    font-weight: 500;
    text-decoration: none;
}

.social-back-btn {
    border: 0;
    background: #f7f7f7;
    color: #c5c5c5;
}

.social-submit-btn {
    border: 0;
    background: #061b63;
    color: #fff;
    cursor: pointer;
}

.social-submit-btn:hover {
    background: #102c86;
    color: #fff;
}

/* TABLET */

@media (max-width: 991px) {

    .social-history-card {
        padding: 38px 30px;
    }

    .social-choice-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }

    .social-choice-buttons {
        width: 100%;
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

/* MOBILE */

@media (max-width: 767px) {

    .social-history-page {
        padding: 35px 0 50px;
    }

    .social-history-card {
        padding: 28px 20px;
    }

    .social-step {
        font-size: 8px;
    }

    .social-step-bars {
        margin-bottom: 42px;
    }

    .social-history-title {
        font-size: 23px;
        margin-bottom: 24px;
    }

    .social-choice-card {
        padding: 22px 20px;
        border-radius: 14px;
    }

    .social-choice-card h2 {
        font-size: 18px;
    }

    .social-choice-row p {
        font-size: 13px;
    }

    .social-choice-btn {
        min-width: 105px;
        height: 42px;
        font-size: 12px;
    }
}

/* SMALL MOBILE */

@media (max-width: 575px) {

    .social-history-page {
        padding: 25px 0 40px;
    }

    .social-history-card {
        padding: 24px 15px;
        border-radius: 8px;
    }

    .social-steps,
    .social-step-bars {
        gap: 3px;
    }

    .social-step {
        font-size: 7px;
    }

    .social-step-bars {
        margin-bottom: 35px;
    }

    .social-step-bar {
        height: 4px;
    }

    .social-history-title {
        font-size: 21px;
    }

    .social-field {
        margin-bottom: 24px;
    }

    .social-choice-card {
        min-height: auto;
        margin-bottom: 24px;
        padding: 18px;
    }

    .social-choice-buttons {
        width: 100%;
        gap: 7px;
    }

    .social-choice-btn {
        min-width: 0;
        flex: 1;
        padding: 0 8px;
    }
}


/* =========================================================
   ABOUT US PAGE
   Figma-style layout shown in the supplied reference
========================================================= */

.about-page {
    width: 100%;
    background: #fff;
    color: #222;
}

/* HERO / BREADCRUMB */

.about-page .about-hero {
    position: relative;
    width: 100%;
    height: 255px;
    overflow: hidden;
    background: #eef7fb url("./image/footer.png") center center / cover no-repeat;
}

.about-page .about-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,.10);
}

.about-page .about-hero-content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px;
}

.about-page .about-hero-logo {
    width: 50px;
    height: 50px;
    margin-bottom: 7px;
    object-fit: contain;
}

.about-page .about-hero-title {
    margin: 0;
    color: #050505;
    font-size: 38px;
    line-height: 1.1;
    font-weight: 500;
}

.about-page .breadcrumb-wrap {
    margin-top: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #111;
    font-size: 13px;
}

.about-page .breadcrumb-wrap a {
    color: #111;
    text-decoration: none;
}

.about-page .breadcrumb-arrow {
    font-size: 17px;
}

/* MAIN CONTENT */

.about-page .about-content {
    width: 100%;
    padding: 68px 0 70px;
    background: #fff;
}

.about-page .about-content-inner {
    max-width: 1030px;
    margin: 0 auto;
}

.about-page .about-main-title {
    margin: 0 0 22px;
    color: #303b43;
    font-size: 27px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .1px;
}

.about-page .about-content h2 {
    margin: 27px 0 1px;
    color: #151515;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 500;
}

.about-page .about-content h3 {
    margin: 0 0 2px;
    color: #777;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 400;
}

.about-page .about-content p {
    margin: 0 0 13px;
    color: #707070;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 400;
}

.about-page .about-content .intro-line {
    margin-bottom: 18px;
    color: #171717;
    font-size: 14px;
}

.about-page .about-content .list-line {
    margin-bottom: 0;
}

.about-page .about-content .list-line::before {
    content: "• ";
}

/* TABLET */

@media (max-width: 991px) {

    .about-page .about-nav {
        margin-top: 15px;
        flex-wrap: wrap;
    }

    .about-page .header-actions {
        justify-content: center;
        margin-top: 12px;
        margin-left: 0;
    }

    .about-page .site-header,
    .about-page .site-header .container-fluid {
        min-height: auto;
    }

    .about-page .about-hero {
        height: 230px;
    }

    .about-page .about-content {
        padding: 52px 0 60px;
    }

    .about-page .about-content-inner {
        max-width: 100%;
    }

    .about-page .about-main-title {
        font-size: 25px;
    }

    .about-page .footer-logo-box {
        width: 160px;
        height: 160px;
    }

    .about-page .footer-logo {
        width: 130px;
        height: 130px;
    }
}

/* MOBILE */

@media (max-width: 767px) {

    .about-page .site-header {
        padding: 12px 0;
    }

    .about-page .about-logo {
        width: 135px;
    }

    .about-page .about-nav {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 2px;
    }

    .about-page .about-nav a {
        text-align: center;
        padding: 9px 12px;
        font-size: 14px;
    }

    .about-page .header-actions {
        gap: 15px;
    }

    .about-page .about-hero {
        height: 210px;
    }

    .about-page .about-hero-title {
        font-size: 32px;
    }

    .about-page .about-content {
        padding: 40px 0 50px;
    }

    .about-page .about-main-title {
        font-size: 23px;
        margin-bottom: 20px;
    }

    .about-page .about-content h2 {
        margin-top: 24px;
        font-size: 15px;
    }

    .about-page .about-content h3,
    .about-page .about-content p,
    .about-page .about-content .intro-line {
        font-size: 13px;
        line-height: 1.45;
    }

    .about-page .footer-inner {
        padding: 35px 0 20px;
    }

    .about-page .footer-logo-box {
        width: 150px;
        height: 150px;
        margin-bottom: 15px;
    }

    .about-page .footer-logo {
        width: 120px;
        height: 120px;
    }

    .about-page .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
        padding-top: 20px;
    }
}

/* SMALL MOBILE */

@media (max-width: 575px) {

    .about-page .about-hero {
        height: 190px;
    }

    .about-page .about-hero-logo {
        width: 42px;
        height: 42px;
    }

    .about-page .about-hero-title {
        font-size: 28px;
    }

    .about-page .breadcrumb-wrap {
        margin-top: 9px;
        font-size: 12px;
    }

    .about-page .about-content {
        padding: 32px 0 42px;
    }

    .about-page .about-main-title {
        font-size: 21px;
    }

    .about-page .about-content h2 {
        font-size: 14px;
    }

    .about-page .about-content h3,
    .about-page .about-content p,
    .about-page .about-content .intro-line {
        font-size: 12px;
    }

    .about-page .footer-contact p,
    .about-page .copyright {
        font-size: 12px;
    }

    .about-page .social-links {
        gap: 10px;
    }
}


/* =========================================================
   PRIVACY POLICY PAGE
   Same visual language as About Us page
========================================================= */

.privacy-page {
    width: 100%;
    background: #fff;
    color: #222;
}

.privacy-page .privacy-hero {
    position: relative;
    width: 100%;
    height: 255px;
    overflow: hidden;
    background: #eef7fb url("./image/footer.png") center center / cover no-repeat;
}

.privacy-page .privacy-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,.10);
}

.privacy-page .privacy-hero-content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px;
}

.privacy-page .privacy-hero-logo {
    width: 50px;
    height: 50px;
    margin-bottom: 7px;
    object-fit: contain;
}

.privacy-page .privacy-hero-title {
    margin: 0;
    color: #050505;
    font-size: 38px;
    line-height: 1.1;
    font-weight: 500;
}

.privacy-page .privacy-breadcrumb {
    margin-top: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #111;
    font-size: 13px;
}

.privacy-page .privacy-breadcrumb a {
    color: #111;
    text-decoration: none;
}

.privacy-page .privacy-breadcrumb span {
    color: #111;
}

.privacy-page .privacy-content {
    width: 100%;
    padding: 68px 0 70px;
    background: #fff;
}

.privacy-page .privacy-content-inner {
    margin: 0 auto;
}

.privacy-page .privacy-content h1 {
    margin: 0 0 22px;
    color: #303b43;
    font-size: 27px;
    line-height: 1.2;
    font-weight: 800;
}

.privacy-page .privacy-content h2 {
    margin: 27px 0 3px;
    color: #111;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 600;
}

.privacy-page .privacy-content h3 {
    margin: 0 0 2px;
    color: #777;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 400;
}

.privacy-page .privacy-content p {
    margin: 0 0 13px;
    color: #707070;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 400;
}

.privacy-page .privacy-content .privacy-list {
    margin: 0;
    padding: 0;
    list-style: none;
    color: #707070;
    font-size: 14px;
    line-height: 1.35;
}

.privacy-page .privacy-content .privacy-list li::before {
    content: "• ";
}

.privacy-page .privacy-content .privacy-block {
    margin-bottom: 2px;
}

@media (max-width: 991px) {
    .privacy-page .privacy-content-inner {
        max-width: 100%;
    }

    .privacy-page .privacy-content {
        padding: 55px 0 60px;
    }
}

@media (max-width: 767px) {
    .privacy-page .privacy-hero {
        height: 220px;
    }

    .privacy-page .privacy-hero-title {
        font-size: 31px;
    }

    .privacy-page .privacy-hero-logo {
        width: 45px;
        height: 45px;
    }

    .privacy-page .privacy-content {
        padding: 42px 0 50px;
    }

    .privacy-page .privacy-content h1 {
        font-size: 24px;
        margin-bottom: 18px;
    }

    .privacy-page .privacy-content h2 {
        font-size: 15px;
        margin-top: 24px;
    }

    .privacy-page .privacy-content h3,
    .privacy-page .privacy-content p,
    .privacy-page .privacy-content .privacy-list {
        font-size: 13px;
        line-height: 1.4;
    }
}


/* =========================================================
   TERMS & CONDITIONS PAGE
   Same styling as About Us page
========================================================= */

.terms-page{
    width:100%;
    background:#fff;
    color:#222;
}

.terms-page .terms-hero{
    position:relative;
    width:100%;
    height:255px;
    overflow:hidden;
    background:
        url("./image/footer.png") center center / cover no-repeat;
}

.terms-page .terms-hero::after{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(255,255,255,.10);
}

.terms-page .terms-hero-content{
    position:relative;
    z-index:2;
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:20px;
}

.terms-page .terms-hero-logo{
    width:50px;
    height:50px;
    object-fit:contain;
    margin-bottom:7px;
}

.terms-page .terms-hero-title{
    margin:0;
    color:#050505;
    font-size:38px;
    line-height:1.1;
    font-weight:500;
}

.terms-page .terms-breadcrumb{
    margin-top:12px;
    display:flex;
    align-items:center;
    gap:10px;
    color:#111;
    font-size:13px;
}

.terms-page .terms-breadcrumb a{
    color:#111;
    text-decoration:none;
}

.terms-page .terms-breadcrumb i{
    font-size:14px;
}

.terms-page .terms-content{
    width:100%;
    padding:68px 0 70px;
    background:#fff;
}

.terms-page .terms-content-inner{
    margin:0 auto;
    padding-left: 20px;
    padding-right: 20px;
}

.terms-page .terms-main-title{
    margin:0 0 22px;
    color:#303b43;
    font-size:27px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.1px;
}

.terms-page .terms-content h2{
    margin:27px 0 2px;
    color:#151515;
    font-size:16px;
    line-height:1.3;
    font-weight:500;
}

.terms-page .terms-content p{
    margin:0 0 3px;
    color:#707070;
    font-size:16px;
    line-height:1.35;
    font-weight:400;
}

.terms-page .terms-list{
    margin:0 0 2px;
    padding:0;
    list-style:none;
    color:#707070;
    font-size:14px;
    line-height:1.35;
}

.terms-page .terms-list li::before{
    content:"• ";
}

@media (max-width:991px){
    .terms-page .terms-hero{
        height:230px;
    }

    .terms-page .terms-content{
        padding:52px 0 60px;
    }

    .terms-page .terms-content-inner{
        max-width:100%;
    }

    .terms-page .terms-main-title{
        font-size:25px;
    }
}

@media (max-width:767px){
    .terms-page .terms-hero{
        height:220px;
    }

    .terms-page .terms-hero-title{
        font-size:31px;
    }

    .terms-page .terms-hero-logo{
        width:45px;
        height:45px;
    }

    .terms-page .terms-content{
        padding:42px 0 50px;
    }

    .terms-page .terms-main-title{
        font-size:21px;
        margin-bottom:18px;
    }

    .terms-page .terms-content h2{
        font-size:14px;
        margin-top:24px;
    }

    .terms-page .terms-content p,
    .terms-page .terms-list{
        font-size:12px;
        line-height:1.4;
    }
}
/* =========================================================
   DOCTOR CONSULTATION PAGE
   UPDATED FIGMA MATCH
   Bootstrap: col-12 col-lg-8 / col-12 col-lg-4
   Only this section is updated.
========================================================= */

.consultation-page{
    width:100vw;
    min-height:100vh;
    margin:0;
    padding:18px 0 22px;
    background:#000;
    color:#fff;
    font-family:"Be Vietnam Pro",sans-serif;
    overflow-x:hidden;
    box-sizing:border-box;
}

.consultation-shell{
    width:100%;
    max-width:none;
    margin:0;
    display:flex;
    flex-direction:column;
    gap:14px;
    box-sizing:border-box;
}


/* =========================================================
   TOP BROWSER BAR
========================================================= */

.consultation-browser{
    width:100%;
    height:72px;
    min-height:72px;
    padding:0 25px;
    background:#505050;
    border:1px solid #858585;
    border-radius:38px;
    display:flex;
    align-items:center;
    box-sizing:border-box;
}

.browser-dots{
    display:flex;
    align-items:center;
    gap:14px;
}

.browser-dot{
    width:28px;
    height:28px;
    display:block;
    border-radius:50%;
}

.browser-dot.red{
    background:#ff5259;
}

.browser-dot.yellow{
    background:#ffb52e;
}

.browser-dot.green{
    background:#20c95a;
}


/* =========================================================
   BOOTSTRAP 8 / 4 LAYOUT
========================================================= */

.consultation-layout{
    width:100%;
    margin:0 !important;
    display:flex;
    flex-wrap:wrap;
    align-items:stretch;
    box-sizing:border-box;
}

.consultation-video-col,
.consultation-message-col{
    min-width:0;
    box-sizing:border-box;
}

.consultation-video-col{
    padding-right:10px !important;
}

.consultation-message-col{
    padding-left:10px !important;
}


/* =========================================================
   PANELS
========================================================= */

.consultation-panel{
    width:100%;
    min-width:0;
    background:#333;
    border:1px solid #777;
    border-radius:28px;
    overflow:hidden;
    box-sizing:border-box;
}


/* =========================================================
   LEFT VIDEO PANEL
========================================================= */

.video-panel{
    position:relative;
    width:100%;
    height:100%;
    padding:28px;
    display:flex;
    flex-direction:column;
    box-sizing:border-box;
}


/* =========================================================
   HEADING
========================================================= */

.consultation-heading{
    flex:0 0 auto;
    padding:0 0 24px;
}

.consultation-heading h1{
    margin:0;
    color:#fff;
    font-size:28px;
    line-height:34px;
    font-weight:700;
}

.consultation-heading p{
    margin:5px 0 0;
    color:#fff;
    font-size:15px;
    line-height:21px;
    font-weight:400;
}


/* =========================================================
   VIDEO
   Figma source is wide, so keep the video frame wide.
   No contain is used.
========================================================= */

.video-stage{
    position:relative;
    width:100%;
    height:auto;
    aspect-ratio:16/ 8;
    overflow:hidden;
    background:#777;
    border-radius:20px;
    box-sizing:border-box;
    flex:0 0 auto;
}

.doctor-video{
    width:100%;
    height:100%;
    max-width:none !important;
    display:block;
    object-fit:cover;
    object-position:center center;
}


/* =========================================================
   DOCTOR NAME
========================================================= */

.doctor-name{
    position:absolute;
    top:22px;
    left:24px;
    z-index:5;
    display:flex;
    align-items:center;
    gap:12px;
    color:#fff;
    font-size:20px;
    line-height:26px;
    font-weight:500;
    text-shadow:0 2px 5px rgba(0,0,0,.65);
}

.doctor-name img{
    width:40px;
    height:40px;
    flex:0 0 40px;
    border-radius:50%;
    object-fit:cover;
    border:1px solid rgba(255,255,255,.8);
}


/* =========================================================
   TOP RIGHT MIC
========================================================= */

.video-mic{
    position:absolute;
    top:22px;
    right:24px;
    z-index:6;
    width:64px;
    height:64px;
    padding:0;
    border:1px solid rgba(255,255,255,.85);
    border-radius:50%;
    background:rgba(205,205,205,.72);
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}

.video-mic img{
    width:30px;
    height:30px;
    display:block;
    object-fit:contain;
}


/* =========================================================
   PATIENT PREVIEW
========================================================= */

.patient-preview{
    position:absolute;
    right:24px;
    bottom:24px;
    z-index:7;
    width:190px;
    height:205px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.7);
    border-radius:20px;
    background:#ddd;
    box-shadow:0 5px 18px rgba(0,0,0,.35);
}

.patient-preview img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}


/* =========================================================
   LARGE FIGMA CALL CONTROLS
========================================================= */

.call-controls{
    position:relative;
    z-index:20;
    align-self:center;

    width:615px;
    max-width:calc(100% - 30px);

    height:120px;
    min-height:120px;
    flex:0 0 120px;

    margin:-60px auto 0;

    padding:20px 28px;

    display:flex;
    align-items:center;
    justify-content:center;

    gap:24px;

    background:#999;

    border:1px solid rgba(255,255,255,.8);
    border-radius:65px;

    box-shadow:0 7px 20px rgba(0,0,0,.4);

    box-sizing:border-box;
}

.call-control{
    width:68px;
    height:68px;

    min-width:68px;
    min-height:68px;
    flex:0 0 68px;

    padding:0;

    border:1px solid rgba(255,255,255,.9);
    border-radius:50%;

    background:#a9a9a9;

    display:flex;
    align-items:center;
    justify-content:center;

    cursor:pointer;
    box-sizing:border-box;
}

.call-control img{
    width:31px;
    height:31px;
    display:block;
    object-fit:contain;
}

.call-control.end-call{
    width:72px;
    height:72px;

    min-width:72px;
    min-height:72px;
    flex-basis:72px;

    margin-left:8px;

    background:#ff4b55;
    border-color:#ff4b55;
}

.call-control.end-call img{
    width:34px;
    height:34px;
}


/* =========================================================
   RIGHT MESSAGES PANEL
========================================================= */

.messages-panel{
    height:100%;
    min-height:100%;
    padding:28px 24px 22px;
    display:flex;
    flex-direction:column;
    box-sizing:border-box;
}

.messages-heading{
    flex:0 0 auto;
    padding-bottom:24px;
    border-bottom:1px solid rgba(255,255,255,.13);
}

.messages-heading h2{
    margin:0;
    color:#fff;
    font-size:28px;
    line-height:34px;
    font-weight:700;
}

.messages-heading p{
    margin:5px 0 0;
    color:#fff;
    font-size:14px;
    line-height:20px;
    font-weight:400;
}


/* =========================================================
   MESSAGES BODY
========================================================= */

.messages-body{
    flex:1 1 auto;
    min-width:0;
    min-height:250px;
    padding:30px 2px 20px;
    overflow-y:auto;
    overflow-x:hidden;
    scrollbar-width:thin;
    scrollbar-color:#777 transparent;
}

.messages-body::-webkit-scrollbar{
    width:4px;
}

.messages-body::-webkit-scrollbar-thumb{
    background:#777;
    border-radius:5px;
}

.today-label{
    margin:0 0 30px;
    text-align:center;
    color:#fff;
    font-size:18px;
    line-height:24px;
    font-weight:400;
}


/* =========================================================
   MESSAGE ROW
========================================================= */

.message-row{
    width:100%;
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-bottom:25px;
}

.message-row.sent{
    justify-content:flex-end;
    align-items:flex-end;
}

.message-avatar{
    width:48px;
    height:48px;
    flex:0 0 48px;
    border-radius:50%;
    object-fit:cover;
    border:1px solid rgba(255,255,255,.4);
}

.message-stack{
    max-width:310px;
    min-width:0;
}

.sender-name{
    margin:0 0 8px;
    color:#fff;
    font-size:14px;
    line-height:18px;
    font-weight:400;
}


/* =========================================================
   MESSAGE BUBBLE
========================================================= */

.message-bubble{
    display:inline-block;
    max-width:100%;
    padding:20px 20px;
    border-radius:18px;
    background:#969696;
    color:#fff;
    font-size:17px;
    line-height:23px;
    font-weight:400;
    word-break:break-word;
    border-top-left-radius: 1px;
}


.message-row.sent .message-bubble{
    background:#242424;
    border:1px solid #444;
}

.prescription-message{
    margin-top:10px;
}


/* =========================================================
   PRESCRIPTION
========================================================= */

.prescription-card{
    width:300px;
    max-width:100%;
    margin-top:10px;
    padding:10px;
    border-radius:18px;
    background:#999;
    box-sizing:border-box;
}

.prescription-image-wrap{
    position:relative;
    width:100%;
    height:105px;
    overflow:hidden;
    border-radius:11px;
    background:#777;
}

.prescription-image{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    filter:blur(1.4px);
}

.download-prescription{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);

    width:40px;
    height:40px;

    padding:0;

    border:1px solid rgba(255,255,255,.85);
    border-radius:50%;

    background:rgba(255,255,255,.42);

    display:flex;
    align-items:center;
    justify-content:center;

    cursor:pointer;
}

.download-prescription img{
    width:19px;
    height:19px;
    object-fit:contain;
}

.prescription-title{
    margin:11px 0 0;
    color:#fff;
    font-size:17px;
    line-height:23px;
    font-weight:400;
}


/* =========================================================
   TYPING DOTS
========================================================= */

.message-dots{
    color:#ddd;
    font-size:18px;
    line-height:20px;
    letter-spacing:3px;
}


/* =========================================================
   CHAT INPUT
========================================================= */

.chat-input{
    width:100%;
    height:72px;
    min-height:72px;
    flex:0 0 72px;

    display:flex;
    align-items:center;
    gap:14px;

    padding:0 20px;

    border-radius:40px;

    background:#929292;
    color:#fff;

    box-sizing:border-box;
}

.chat-input > i{
    flex:0 0 auto;
    color:#fff;
    font-size:24px;
}

.chat-icon{
    width:28px;
    height:28px;
    flex:0 0 28px;
    display:block;
    object-fit:contain;
}

.chat-input input{
    width:100%;
    min-width:0;
    flex:1;

    height:100%;

    padding:0;

    border:0;
    outline:0;

    background:transparent;
    color:#fff;

    font-family:inherit;
    font-size:17px;
    line-height:24px;
}

.chat-input input::placeholder{
    color:#fff;
    opacity:1;
}

.chat-send{
    width:40px;
    height:40px;

    min-width:40px;
    min-height:40px;

    padding:0;

    border:0;
    background:transparent;

    display:flex;
    align-items:center;
    justify-content:center;

    cursor:pointer;
}

.chat-send img{
    width:30px;
    height:30px;
    display:block;
    object-fit:contain;
}


/* =========================================================
   LARGE DESKTOP
========================================================= */

@media (min-width:1440px){

    .consultation-page{
        padding-top:20px;
        padding-bottom:24px;
    }

    .consultation-browser{
        height:76px;
        min-height:76px;
    }

    .browser-dot{
        width:30px;
        height:30px;
    }

    .video-panel{
        padding:30px;
    }

    .consultation-heading{
        padding-bottom:26px;
    }

    .consultation-heading h1,
    .messages-heading h2{
        font-size:30px;
        line-height:36px;
    }

    .consultation-heading p{
        font-size:16px;
        line-height:22px;
    }

    .patient-preview{
        width:200px;
        height:215px;
    }

    .message-stack{
        max-width:330px;
    }
}


/* =========================================================
   LAPTOP 992 - 1439
========================================================= */

@media (min-width:992px) and (max-width:1439px){

    /* Keep both desktop panels exactly the same height */
    .consultation-layout{
        height:auto !important;
        align-items:stretch !important;
    }

    .consultation-video-col,
    .consultation-message-col{
        display:flex;
        align-items:stretch;
    }

    .consultation-video-col .video-panel,
    .consultation-message-col .messages-panel{
        width:100%;
        height:auto !important;
        min-height:100%;
        flex:1 1 auto;
    }

    .video-panel{
        height:100%;
        padding:22px;
    }

    .consultation-heading{
        padding-bottom:18px;
    }

    .consultation-heading h1{
        font-size:25px;
        line-height:31px;
    }

    .consultation-heading p{
        font-size:13px;
        line-height:18px;
    }

    .messages-panel{
        height:100%;
        padding:22px 20px 18px;
    }

    .messages-heading{
        padding-bottom:18px;
    }

    .messages-heading h2{
        font-size:25px;
        line-height:31px;
    }

    .messages-heading p{
        font-size:12px;
        line-height:17px;
    }

    .doctor-name{
        top:17px;
        left:18px;
        font-size:17px;
        line-height:22px;
    }

    .doctor-name img{
        width:34px;
        height:34px;
        flex-basis:34px;
    }

    .video-mic{
        top:17px;
        right:18px;
        width:54px;
        height:54px;
    }

    .video-mic img{
        width:27px;
        height:27px;
    }

    .patient-preview{
        right:18px;
        bottom:18px;
        width:145px;
        height:165px;
    }

    /* Keep controls large like Figma */
    .call-controls{
        width:570px;
        height:108px;
        min-height:108px;
        flex-basis:108px;
        margin-top:-54px;
        gap:19px;
        padding:17px 23px;
    }

    .call-control{
        width:62px;
        height:62px;
        min-width:62px;
        min-height:62px;
        flex-basis:62px;
    }

    .call-control img{
        width:28px;
        height:28px;
    }

    .call-control.end-call{
        width:66px;
        height:66px;
        min-width:66px;
        min-height:66px;
        flex-basis:66px;
    }

    .call-control.end-call img{
        width:31px;
        height:31px;
    }

    .message-avatar{
        width:42px;
        height:42px;
        flex-basis:42px;
    }

    .sender-name{
        font-size:12px;
        line-height:16px;
    }

    .message-bubble{
        font-size:15px;
        line-height:20px;
        padding:11px 14px;
    }

    .prescription-card{
        width:250px;
    }

    .prescription-image-wrap{
        height:88px;
    }

    .prescription-title{
        font-size:15px;
        line-height:20px;
    }

    .chat-input{
        height:62px;
        min-height:62px;
        flex-basis:62px;
    }

    .chat-input input{
        font-size:15px;
    }
}


/* =========================================================
   SHORT LAPTOP
   IMPORTANT: DO NOT SHRINK CONTROLS TO DOT SIZE
========================================================= */

@media (min-width:992px) and (max-height:700px){

    .consultation-page{
        padding-top:8px;
        padding-bottom:10px;
    }

    .consultation-shell{
        gap:8px;
    }

    .consultation-browser{
        height:48px;
        min-height:48px;
        flex-basis:48px;
    }

    .browser-dot{
        width:18px;
        height:18px;
    }

    .consultation-layout{
        height:auto !important;
        align-items:stretch !important;
    }

    .consultation-video-col,
    .consultation-message-col{
        display:flex;
        align-items:stretch;
    }

    .video-panel{
        height:auto;
        min-height:100%;
        flex:1 1 auto;
        padding:16px;
    }

    .video-stage{
        height:calc(100vh - 220px);
        min-height:120px;
        max-height:480px;
        aspect-ratio:auto;
    }

    .consultation-heading{
        padding-bottom:12px;
    }

    .consultation-heading h1{
        font-size:22px;
        line-height:27px;
    }

    .consultation-heading p{
        font-size:12px;
        line-height:16px;
    }

    .messages-panel{
        height:auto;
        min-height:100%;
        flex:1 1 auto;
        padding:16px 15px 14px;
    }

    .messages-heading{
        padding-bottom:12px;
    }

    .messages-heading h2{
        font-size:22px;
        line-height:27px;
    }

    .messages-heading p{
        font-size:11px;
        line-height:15px;
    }

    .doctor-name{
        top:13px;
        left:14px;
        font-size:15px;
        line-height:19px;
    }

    .doctor-name img{
        width:30px;
        height:30px;
        flex-basis:30px;
    }

    .video-mic{
        top:12px;
        right:14px;
        width:48px;
        height:48px;
    }

    .video-mic img{
        width:24px;
        height:24px;
    }

    .patient-preview{
        right:10px;
        bottom:14px;
        width:160px;
        height:200px;
    }

    /* Large controls retained */
    .call-controls{
        width:520px;
        height:75px;
        min-height:75px;
        flex-basis:75px;
        margin-top:-11px;
        margin-bottom:0;
        gap:17px;
        padding:14px 20px;
        border-radius:52px;
    }

    .call-control{
        width:55px;
        height:55px;
        min-width:55px;
        min-height:55px;
        flex-basis:55px;
    }

    .call-control img{
        width:26px;
        height:26px;
    }

    .call-control.end-call{
        width:60px;
        height:60px;
        min-width:60px;
        min-height:60px;
        flex-basis:60px;
    }

    .call-control.end-call img{
        width:29px;
        height:29px;
    }

    .messages-body{
        padding-top:18px;
    }

    .today-label{
        margin-bottom:20px;
        font-size:15px;
        line-height:20px;
    }

    .message-row{
        margin-bottom:15px;
    }

    .message-avatar{
        width:36px;
        height:36px;
        flex-basis:36px;
    }

    .sender-name{
        font-size:10px;
        line-height:14px;
        margin-bottom:5px;
    }

    .message-bubble{
        padding:14px 14px;
        font-size:13px;
        line-height:18px;
    }

    .prescription-card{
        width:210px;
        padding:8px;
    }

    .prescription-image-wrap{
        height:70px;
    }

    .prescription-title{
        margin-top:7px;
        font-size:13px;
        line-height:18px;
    }

    .chat-input{
        height:54px;
        min-height:54px;
        flex-basis:54px;
    }

    .chat-input input{
        font-size:13px;
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width:991px){

    html,
    body{
        overflow-x:hidden;
        overflow-y:auto;
    }

    .consultation-page{
        width:100%;
        min-height:100vh;
        height:auto;
        padding:12px 0 16px;
        overflow-x:hidden;
        overflow-y:auto;
    }

    .consultation-shell{
        width:100%;
        height:auto;
        gap:10px;
    }

    .consultation-browser{
        height:52px;
        min-height:52px;
        flex-basis:52px;
        border-radius:28px;
    }

    .browser-dot{
        width:20px;
        height:20px;
    }

    .consultation-layout{
        height:auto;
        display:flex;
    }

    .consultation-layout > .consultation-video-col,
    .consultation-layout > .consultation-message-col{
        height:auto;
        padding-left:0 !important;
        padding-right:0 !important;
    }

    .consultation-video-col{
        margin-bottom:12px;
    }

    .video-panel{
        height:auto !important;
        padding:20px;
    }

    .consultation-heading h1{
        font-size:25px;
        line-height:31px;
    }

    .consultation-heading p{
        font-size:14px;
        line-height:20px;
    }

    .video-stage{
        aspect-ratio:10 / 8;
    }

    .doctor-name{
        font-size:17px;
        line-height:22px;
    }

    .patient-preview{
        width:150px;
        height:170px;
    }

    .call-controls{
        width:540px;
        max-width:calc(100% - 20px);
        height:105px;
        min-height:105px;
        flex-basis:105px;
        margin-top:-52px;
        gap:17px;
    }

    .call-control{
        width:58px;
        height:58px;
        min-width:58px;
        min-height:58px;
        flex-basis:58px;
    }

    .call-control.end-call{
        width:63px;
        height:63px;
        min-width:63px;
        min-height:63px;
        flex-basis:63px;
    }

    .messages-panel{
        height:550px !important;
        min-height:550px;
        padding:22px 18px 18px;
    }

    .messages-heading h2{
        font-size:25px;
        line-height:31px;
    }

    .messages-heading p{
        font-size:13px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width:767px){

    .consultation-page{
        padding:8px 0 12px;
    }

    .consultation-browser{
        height:44px;
        min-height:44px;
        flex-basis:44px;
    }

    .browser-dots{
        gap:8px;
    }

    .browser-dot{
        width:17px;
        height:17px;
    }

    .video-panel{
        padding:14px;
    }

    .consultation-heading{
        padding-bottom:12px;
    }

    .consultation-heading h1{
        font-size:21px;
        line-height:27px;
    }

    .consultation-heading p{
        font-size:12px;
        line-height:17px;
    }

    .video-stage{
        aspect-ratio:10 / 8;
    }

    .doctor-name{
        top:12px;
        left:12px;
        font-size:14px;
        line-height:19px;
        gap:8px;
    }

    .doctor-name img{
        width:30px;
        height:30px;
        flex-basis:30px;
    }

    .video-mic{
        top:10px;
        right:10px;
        width:46px;
        height:46px;
    }

    .video-mic img{
        width:22px;
        height:22px;
    }

    .patient-preview{
        width:100px;
        height:120px;
        right:10px;
        bottom:10px;
    }

    .call-controls{
        width:430px;
        max-width:calc(100% - 12px);
        height:82px;
        min-height:82px;
        flex-basis:82px;
        margin-top:-41px;
        padding:10px 13px;
        gap:10px;
        border-radius:45px;
    }

    .call-control{
        width:45px;
        height:45px;
        min-width:45px;
        min-height:45px;
        flex-basis:45px;
    }

    .call-control img{
        width:22px;
        height:22px;
    }

    .call-control.end-call{
        width:50px;
        height:50px;
        min-width:50px;
        min-height:50px;
        flex-basis:50px;
    }

    .messages-panel{
        height:500px !important;
        min-height:500px;
        padding:18px 14px 14px;
    }

    .messages-heading{
        padding-bottom:15px;
    }

    .messages-heading h2{
        font-size:21px;
        line-height:27px;
    }

    .messages-heading p{
        font-size:11px;
        line-height:16px;
    }

    .messages-body{
        padding-top:20px;
    }

    .today-label{
        margin-bottom:22px;
        font-size:15px;
        line-height:20px;
    }

    .message-row{
        gap:9px;
        margin-bottom:18px;
    }

    .message-avatar{
        width:38px;
        height:38px;
        flex-basis:38px;
    }

    .message-stack{
        max-width:270px;
    }

    .sender-name{
        font-size:11px;
        line-height:15px;
    }

    .message-bubble{
        padding:10px 13px;
        font-size:14px;
        line-height:19px;
    }

    .prescription-card{
        width:230px;
    }

    .prescription-image-wrap{
        height:80px;
    }

    .prescription-title{
        font-size:14px;
        line-height:19px;
    }

    .chat-input{
        height:58px;
        min-height:58px;
        flex-basis:58px;
        padding:0 15px;
    }

    .chat-input input{
        font-size:13px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width:575px){

    .consultation-page{
        padding:6px 0 10px;
    }

    .consultation-browser{
        height:40px;
        min-height:40px;
        flex-basis:40px;
    }

    .browser-dot{
        width:15px;
        height:15px;
    }

    .video-panel{
        padding:11px;
    }

    .consultation-heading{
        padding-bottom:10px;
    }

    .consultation-heading h1{
        font-size:19px;
        line-height:24px;
    }

    .consultation-heading p{
        font-size:11px;
        line-height:16px;
    }

    .video-stage{
        aspect-ratio:4 / 3;
    }

    .doctor-name{
        top:9px;
        left:9px;
        font-size:12px;
        line-height:17px;
    }

    .doctor-name img{
        width:27px;
        height:27px;
        flex-basis:27px;
    }

    .video-mic{
        width:40px;
        height:40px;
        top:8px;
        right:8px;
    }

    .video-mic img{
        width:20px;
        height:20px;
    }

    .patient-preview{
        width:78px;
        height:96px;
        right:8px;
        bottom:8px;
    }

    .call-controls{
        width:355px;
        max-width:calc(100% - 8px);
        height:70px;
        min-height:70px;
        flex-basis:70px;
        margin-top:-35px;
        gap:7px;
        padding:8px 9px;
        border-radius:38px;
    }

    .call-control{
        width:38px;
        height:38px;
        min-width:38px;
        min-height:38px;
        flex-basis:38px;
    }

    .call-control img{
        width:19px;
        height:19px;
    }

    .call-control.end-call{
        width:43px;
        height:43px;
        min-width:43px;
        min-height:43px;
        flex-basis:43px;
    }

    .messages-panel{
        height:470px !important;
        min-height:470px;
        padding:15px 12px 12px;
    }

    .messages-heading h2{
        font-size:19px;
        line-height:24px;
    }

    .messages-heading p{
        font-size:10px;
        line-height:14px;
    }

    .message-avatar{
        width:34px;
        height:34px;
        flex-basis:34px;
    }

    .message-stack{
        max-width:235px;
    }

    .message-bubble{
        font-size:12px;
        line-height:17px;
        padding:8px 10px;
    }

    .prescription-card{
        width:200px;
    }

    .prescription-image-wrap{
        height:68px;
    }

    .prescription-title{
        font-size:12px;
        line-height:17px;
    }

    .chat-input{
        height:52px;
        min-height:52px;
        flex-basis:52px;
        gap:8px;
    }

    .chat-input input{
        font-size:12px;
    }

    .chat-icon{
        width:22px;
        height:22px;
        flex-basis:22px;
    }

    .chat-send{
        width:34px;
        height:34px;
        min-width:34px;
        min-height:34px;
    }

    .chat-send img{
        width:25px;
        height:25px;
    }
}



/* =========================================================
   FINAL DESKTOP HEIGHT ALIGNMENT
   Left video panel and right messages panel stay equal.
========================================================= */
@media (min-width: 992px) {
    .consultation-layout {
        height: auto !important;
        align-items: stretch !important;
    }

    .consultation-layout > .consultation-video-col,
    .consultation-layout > .consultation-message-col {
        display: flex;
        align-items: stretch;
    }

    .consultation-layout > .consultation-video-col > .video-panel,
    .consultation-layout > .consultation-message-col > .messages-panel {
        width: 100%;
        height: auto !important;
        min-height: 100%;
        flex: 1 1 auto;
    }
}


/* =========================================================
   AI HEALTH SESSION — TABLET 576–991px
   Keep the desktop/Figma layout on tablets.
========================================================= */
@media (min-width: 576px) and (max-width: 991px) {
    #profile.ai-health-session {
        overflow: visible;
    }

    #profile .session-banner {
        height: 510px !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        position: relative !important;
    }

    #profile .session-bg-image,
    #profile .session-overlay {
        top: 0 !important;
        left: 0 !important;
        height: 340px !important;
        width: 100% !important;
    }

    #profile .session-content {
        top: 42px !important;
        left: 6% !important;
        width: 88% !important;
    }

    #profile .session-heading {
        font-size: 34px !important;
        line-height: 1.2 !important;
    }

    #profile .session-features {
        position: absolute !important;
        left: 50% !important;
        bottom: -10px !important;
        transform: translateX(-50%) !important;
        width: 92% !important;
        max-width: 1025px !important;
        min-height: 288px !important;
        margin: 0 !important;
        padding: 38px 12px 30px !important;
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        border-radius: 28px !important;
    }

    #profile .session-feature {
        padding: 0 14px !important;
    }

    #profile .session-feature + .session-feature {
        border-left: 1px solid #e8e8e8 !important;
        border-top: 0 !important;
    }

    #profile .session-feature:nth-child(3),
    #profile .session-feature:nth-child(4) {
        border-top: 0 !important;
    }

    #profile .session-icon {
        margin-bottom: 20px !important;
    }

    #profile .session-feature h6 {
        font-size: 14px !important;
        line-height: 20px !important;
    }

    #profile .session-feature p {
        max-width: 100% !important;
        font-size: 9px !important;
        line-height: 16px !important;
    }
}

/* =========================================================
   EXTRA SMALL SCREEN - AROUND 500px
   Keep the section compact and remove unnecessary empty space.
========================================================= */
@media (max-width: 575px) {
    #profile .session-banner {
        min-height: 0 !important;
        height: auto !important;
        padding-bottom: 24px !important;
        overflow: visible !important;
    }

    #profile .session-bg-image,
    #profile .session-overlay {
        height: 390px !important;
    }

    #profile .session-content {
        top: 30px !important;
        left: 20px !important;
        right: 20px !important;
        width: auto !important;
    }

    #profile .session-eyebrow {
        margin-bottom: 14px !important;
        font-size: 10px !important;
    }

    #profile .session-heading {
        font-size: 27px !important;
        line-height: 1.2 !important;
    }

    #profile .session-features {
        width: calc(100% - 28px) !important;
        padding: 8px 16px 12px !important;
        border-radius: 20px !important;
        min-height: 0 !important;
        margin: 40px 20px 0px 20px;
    }

    #profile .session-feature {
        padding: 22px 14px !important;
    }

    #profile .session-feature + .session-feature {
        border-left: 0 !important;
        border-top: 1px solid #e8e8e8 !important;
    }

    #profile .session-icon {
        width: 44px !important;
        height: 44px !important;
        margin-bottom: 12px !important;
        font-size: 32px !important;
    }

    #profile .session-feature h6 {
        font-size: 15px !important;
        line-height: 21px !important;
        margin-bottom: 8px !important;
    }

    #profile .session-feature p {
        font-size: 10px !important;
        line-height: 17px !important;
    }

    #profile .session-arrow {
        width: 55px !important;
        height: 32px !important;
        margin-top: 14px !important;
    }
}


/* =========================================================
   FINAL FIX — AI HEALTH SESSION / MOBILE TOP GAP
   Removes the white gap immediately before AI Health Session.
   The gap was coming from the previous Smart Vital section's
   bottom spacing, not from the session image itself.
========================================================= */

@media (max-width: 575px) {

    /* Remove the leftover white space before AI Health Session */
    .smart-vital-section {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .smart-vital-section + #profile.ai-health-session {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* Session starts exactly where the previous section ends */
    #profile.ai-health-session {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    #profile.ai-health-session > .container-fluid {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    #profile .session-banner {
        margin-top: 0 !important;
        padding-top: 0 !important;
        height: auto !important;
        min-height: 0 !important;
    }

    #profile .session-bg-image,
    #profile .session-overlay {
        top: 0 !important;
        height: 390px !important;
        display: none;
    }
}

/* 576px–991px: keep the section tight against Smart Vital */
@media (min-width: 576px) and (max-width: 991px) {

    .smart-vital-section {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .smart-vital-section + #profile.ai-health-session {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    #profile.ai-health-session,
    #profile.ai-health-session > .container-fluid,
    #profile .session-banner {
        margin-top: 60px !important;
        padding-top: 0 !important;
    }
}


/* =========================================================
   SOCIAL HISTORY - CHOICE BUTTON MOBILE FIX
   Fixes compressed buttons shown on small screens
========================================================= */

@media (max-width: 767px) {

    .social-history-container {
        width: 100%;
        padding-left: 12px;
        padding-right: 12px;
    }

    .social-history-card {
        width: 100%;
        padding: 28px 20px;
        box-sizing: border-box;
    }

    .social-choice-card {
        width: 100%;
        padding: 22px 18px;
        border-radius: 14px;
        overflow: hidden;
        box-sizing: border-box;
    }

    .social-choice-row {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }

    .social-choice-buttons {
        width: 100%;
        display: grid;
        gap: 8px;
        justify-content: stretch;
        align-items: stretch;
        box-sizing: border-box;
    }

    /* Tobacco: 3 buttons in one row */
    .social-choice-card:not(.alcohol-card) .social-choice-buttons {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    /* Alcohol: 2 buttons per row */
    .social-choice-card.alcohol-card .social-choice-buttons {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .social-choice-btn {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        height: 44px;
        min-height: 44px;
        padding: 0 8px;
        margin: 0;
        font-size: 12px;
        line-height: 1.2;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        box-sizing: border-box;
    }
}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

    .social-history-container {
        padding-left: 8px;
        padding-right: 8px;
    }

    .social-history-card {
        padding: 24px 15px;
    }

    .social-choice-card {
        padding: 18px 14px;
    }

    .social-choice-buttons {
        gap: 7px;
    }

    .social-choice-btn {
        height: 42px;
        min-height: 42px;
        padding: 0 5px;
        font-size: 11px;
    }
}

/* =========================================
   VIDEO IMAGE - FULL IMAGE
========================================= */
@media (min-width: 992px) {
    .video-stage {
        flex: 1 1 auto;
        height: auto;
        min-height: 0;
        aspect-ratio: auto;
    }

    .doctor-video {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
    }
}
/* ========================================
   NAVBAR HAMBURGER FROM 1100px
======================================== */

/* 1100px se neeche hamburger */
@media (max-width: 1099.98px) {

    .navbar.navbar-expand-lg .navbar-toggler {
        display: block !important;
    }

    .navbar.navbar-expand-lg .navbar-collapse {
        display: none !important;
        flex-basis: 100%;
    }

    .navbar.navbar-expand-lg .navbar-collapse.show {
        display: block !important;
    }

    .navbar.navbar-expand-lg .navbar-nav {
        flex-direction: column !important;
        width: 100%;
        text-align: center;
    }

    .navbar.navbar-expand-lg .navbar-nav .nav-link {
        display: block;
        width: 100%;
    }

    .navbar.navbar-expand-lg .navbar-collapse > div {
        flex-direction: column !important;
        width: 100%;
        margin-bottom: 15px;
    }

}


/* 1100px se upar normal desktop navbar */
@media (min-width: 1100px) {

    .navbar.navbar-expand-lg .navbar-toggler {
        display: none !important;
    }

    .navbar.navbar-expand-lg .navbar-collapse {
        display: flex !important;
        flex-basis: auto;
    }

    .navbar.navbar-expand-lg .navbar-nav {
        flex-direction: row !important;
    }

}

/* =========================================================
   UPDATED MEDICAL HISTORY CONTINUATION
   Matches the supplied Figma screenshots:
   - Details blocks
   - Surgical & Hospitalization History
   - Family History
   - Social History
========================================================= */

.details-card {
    width: 100%;
    min-height: 88px;
    margin-top: 18px;
    padding: 18px 24px;
    border-radius: 16px;
    background: #e2f3fc;
    color: #111;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.4;
}

.history-continuation-section {
    width: 100%;
}

.history-section-title {
    margin: 28px 0 20px;
    color: #333;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 27px;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -.4px;
}

.surgical-section {
    margin-top: 34px;
}

.previous-surgeries h3 {
    margin: 0 0 22px;
    color: #333;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 20px;
    line-height: 1.3;
    font-weight: 700;
}

.radio-choice-group {
    display: flex;
    align-items: center;
    gap: 28px;
    margin-bottom: 0;
}

.radio-choice {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    color: #333;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 24px;
    font-weight: 500;
    cursor: pointer;
}

.radio-choice input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.radio-circle {
    width: 26px;
    height: 26px;
    border: 1.5px solid #222;
    border-radius: 50%;
    background: #fff;
    display: inline-block;
    flex: 0 0 26px;
}

.radio-choice input:checked + .radio-circle {
    border: 7px solid #001427;
}

.family-section {
    margin-top: 14px;
}

.history-fields {
    display: flex;
    flex-direction: column;
    gap: 23px;
}

.history-field {
    position: relative;
    width: 100%;
}

.history-field label {
    position: absolute;
    top: -7px;
    left: 11px;
    z-index: 2;
    padding: 0 3px;
    background: #fff;
    color: #222;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 11px;
    font-weight: 400;
    line-height: 1;
}

.history-field input {
    width: 100%;
    height: 49px;
    padding: 0 13px;
    border: 1px solid #e7e7e7;
    border-radius: 5px;
    outline: none;
    background: #fff;
    color: #333;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 13px;
    font-weight: 400;
}

.history-field input::placeholder {
    color: #9a9a9a;
    opacity: 1;
}

.history-field input:focus {
    border-color: #cbd5e1;
    box-shadow: 0 0 0 3px rgba(6, 27, 99, .04);
}

.social-section {
    margin-top: 12px;
}

.social-section .history-section-title {
    margin-bottom: 29px;
}

.social-section .history-fields {
    gap: 23px;
}

.medical-navigation {
    margin-top: 28px;
    margin-bottom: 0;
}

@media (max-width: 991px) {
    .history-section-title {
        font-size: 25px;
    }

    .previous-surgeries h3 {
        font-size: 19px;
    }

    .radio-choice {
        font-size: 21px;
    }

    .radio-circle {
        width: 24px;
        height: 24px;
        flex-basis: 24px;
    }

    .history-fields {
        gap: 21px;
    }
}

@media (max-width: 767px) {
    .details-card {
        min-height: 76px;
        margin-top: 15px;
        padding: 17px 19px;
        border-radius: 14px;
        font-size: 13px;
    }

    .history-section-title {
        font-size: 23px;
        margin-top: 25px;
        margin-bottom: 18px;
    }

    .surgical-section {
        margin-top: 28px;
    }

    .previous-surgeries h3 {
        font-size: 18px;
        margin-bottom: 18px;
    }

    .radio-choice-group {
        gap: 22px;
    }

    .radio-choice {
        gap: 9px;
        font-size: 19px;
    }

    .radio-circle {
        width: 22px;
        height: 22px;
        flex-basis: 22px;
    }

    .history-fields,
    .social-section .history-fields {
        gap: 20px;
    }

    .history-field label {
        font-size: 10px;
    }

    .history-field input {
        height: 47px;
        font-size: 12px;
    }
}

@media (max-width: 575px) {
    .details-card {
        min-height: 70px;
        padding: 16px;
        border-radius: 12px;
        font-size: 12px;
    }

    .history-section-title {
        font-size: 21px;
    }

    .previous-surgeries h3 {
        font-size: 17px;
    }

    .radio-choice {
        font-size: 17px;
    }

    .radio-circle {
        width: 20px;
        height: 20px;
        flex-basis: 20px;
    }

    .history-field input {
        height: 45px;
        font-size: 11px;
    }

    .history-field label {
        font-size: 9px;
    }
}





/* ===== Vital cards (style.css) ===== */

.vcard-grid{
  display:grid;
  grid-template-columns:1fr;          /* mobile: 1 column */
  gap:18px;
  margin-top:40px;
}
@media (min-width:768px){ .vcard-grid{ grid-template-columns:repeat(2,1fr); gap:22px; } }   /* tablet: 2 */
@media (min-width:1200px){ .vcard-grid{ grid-template-columns:repeat(3,1fr); gap:24px; } }  /* desktop: 3 */

.vcard{
  --tone:#dc2635; --soft:#fde1e5; --tint:#fff1f3;   /* default = heart rate */
  position:relative;
  overflow:hidden;
  min-height:210px;
  padding:clamp(16px,3vw,24px);
  border:2px solid #f6c453;
  border-radius:24px;
  background:linear-gradient(120deg,#fff 30%,var(--tint) 100%);
  box-shadow:0 10px 28px rgba(13,27,61,.08);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  font-family:'Be Vietnam Pro',sans-serif;
}
.vcard.t-bp     { --tone:#2563eb; --soft:#dbeafe; --tint:#eff6ff; }
.vcard.t-hr     { --tone:#dc2635; --soft:#fde1e5; --tint:#fff1f3; }
.vcard.t-spo2   { --tone:#0891b2; --soft:#cffafe; --tint:#ecfeff; }
.vcard.t-temp   { --tone:#ea580c; --soft:#ffedd5; --tint:#fff7ed; }
.vcard.t-weight { --tone:#7c3aed; --soft:#ede9fe; --tint:#f5f3ff; }
.vcard.t-glu    { --tone:#db2777; --soft:#fce7f3; --tint:#fdf2f8; }

.vcard-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; position:relative; z-index:2; }

.vcard-icon{
  width:clamp(52px,9vw,64px); height:clamp(52px,9vw,64px);
  border-radius:50%;
  background:var(--tone);
  color:#fff;
  display:grid; place-items:center;
  font-size:clamp(22px,4vw,28px);
  flex-shrink:0;
}

.vcard-badge{
  padding:6px 16px;
  border-radius:999px;
  font-size:.9rem;
  font-weight:700;
  white-space:nowrap;
}
.st-normal  { background:#dcfce7; color:#15803d; }
.st-low,
.st-elevated{ background:#fef3c7; color:#b45309; }
.st-high    { background:#fee2e2; color:#b91c1c; }
.st-none    { background:#eef0f4; color:#667085; }

.vcard-body{ position:relative; z-index:2; margin-top:22px; }
.vcard-label{ margin:0; font-size:clamp(1.25rem,2.6vw,1.6rem); font-weight:800; color:#0d1b3d; }
.vcard-value{ margin:2px 0 0; font-size:clamp(1.6rem,3.4vw,2rem); font-weight:500; color:#0d1b3d; line-height:1.2; }
.vcard-value small{ font-size:.55em; color:#5b6785; font-weight:500; margin-left:4px; }
.vcard-value.is-empty{ color:#98a2b3; }

/* decorative: bada faded icon + ECG line */
.vcard-art{
  position:absolute; right:-6px; bottom:-14px;
  font-size:clamp(96px,16vw,150px);
  color:var(--tone); opacity:.16;
  line-height:1; z-index:1; pointer-events:none;
}
.vcard-ecg{
  position:absolute; left:0; right:0; top:46%;
  width:100%; height:70px;
  z-index:1; pointer-events:none; opacity:.35;
}
.vcard-ecg path{ fill:none; stroke:var(--tone); stroke-width:2; vector-effect:non-scaling-stroke; }
