:root{
    --consult-bg:#fff6ef;
    --consult-bg-soft:#ffefe2;
    --consult-surface:#fffaf6;
    --consult-surface-soft:#fff2e8;

    --consult-text:#3a2418;
    --consult-text-strong:#26160f;
    --consult-muted:#8a6654;

    --consult-orange:#f07a1f;
    --consult-orange-2:#ffb25b;
    --consult-orange-3:#ffd59f;
    --consult-orange-dark:#be5300;

    --consult-brown:#4d2e1f;
    --consult-brown-2:#764328;
    --consult-brown-3:#9a5b2d;

    --consult-line:#efd5c1;
    --consult-line-strong:#e4b996;

    --consult-shadow-sm:0 10px 24px rgba(120,66,30,.10);
    --consult-shadow:0 16px 36px rgba(120,66,30,.13);
    --consult-shadow-lg:0 24px 52px rgba(120,66,30,.20);

    --consult-radius:24px;
    --consult-radius-md:18px;
    --consult-radius-sm:14px;

    --consult-transition:.30s ease;
}

.consult-container{
    max-width:1200px;
    margin:0 auto;
    padding:0 24px;
}

.consult-section{
    padding:42px 0;
}

.consult-section--soft{
    background:
        linear-gradient(180deg,#fffaf6 0%, #ffefe3 100%);
    border-top:1px solid var(--consult-line);
    border-bottom:1px solid var(--consult-line);
}

/* HERO */
.consult-hero{
    position:relative;
    overflow:hidden;
    min-height:82vh;
    display:flex;
    align-items:center;
    background:
        radial-gradient(circle at 18% 18%, rgba(255,188,120,.28), transparent 24%),
        radial-gradient(circle at 78% 24%, rgba(255,220,170,.18), transparent 22%),
        linear-gradient(135deg, var(--consult-brown) 0%, var(--consult-brown-2) 46%, var(--consult-orange) 100%);
}

.consult-hero__overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(to bottom, rgba(255,255,255,.05), rgba(255,255,255,0)),
        repeating-linear-gradient(
            90deg,
            rgba(255,255,255,.022) 0px,
            rgba(255,255,255,.022) 1px,
            transparent 1px,
            transparent 90px
        );
    pointer-events:none;
}

.consult-hero__content{
    position:relative;
    z-index:2;
    max-width:920px;
    padding:82px 0;
}

.consult-badge,
.consult-chip{
    display:inline-block;
    padding:9px 15px;
    border-radius:999px;
    background:rgba(255,245,236,.96);
    color:var(--consult-orange-dark);
    font-size:14px;
    font-weight:800;
    letter-spacing:.2px;
    box-shadow:0 8px 18px rgba(70,40,20,.10);
}

.consult-title{
    margin:18px 0;
    font-size:58px;
    line-height:1.05;
    color:#fff8f3;
    max-width:900px;
    letter-spacing:-.02em;
    text-shadow:0 10px 24px rgba(50,20,10,.18);
}

.consult-subtitle{
    margin:0;
    max-width:780px;
    font-size:19px;
    line-height:1.9;
    color:rgba(255,244,236,.92);
}

.consult-hero__actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:32px;
}

/* BUTTONS */
.consult-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:54px;
    padding:0 22px;
    border-radius:14px;
    font-weight:800;
    text-decoration:none;
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        background .25s ease,
        border-color .25s ease,
        color .25s ease;
}

.consult-btn:hover{
    transform:translateY(-2px);
}

.consult-btn--primary{
    background:linear-gradient(135deg, var(--consult-orange), var(--consult-orange-2));
    color:#fff;
    box-shadow:0 14px 28px rgba(240,122,31,.28);
}

.consult-btn--primary:hover{
    box-shadow:0 20px 36px rgba(240,122,31,.34);
}

.consult-btn--ghost{
    color:#fff8f3;
    border:1px solid rgba(255,245,238,.28);
    background:rgba(255,255,255,.10);
    backdrop-filter:blur(8px);
}

.consult-btn--ghost:hover{
    background:rgba(255,255,255,.14);
}

.consult-btn--outline{
    color:var(--consult-orange-dark);
    border:1px solid var(--consult-line-strong);
    background:#fffaf6;
    box-shadow:var(--consult-shadow-sm);
}

.consult-btn--outline:hover{
    background:#fff0e4;
}

.consult-btn--ghost-dark{
    color:var(--consult-orange-dark);
    border:1px solid var(--consult-line-strong);
    background:#fff8f3;
    box-shadow:var(--consult-shadow-sm);
}

.consult-btn--ghost-dark:hover{
    background:#fff0e4;
}

/* HEAD */
.consult-section-head{
    max-width:820px;
    margin-bottom:32px;
}

.consult-section-head h2{
    margin:14px 0;
    font-size:40px;
    line-height:1.16;
    color:var(--consult-text-strong);
    letter-spacing:-.01em;
}

.consult-section-head p{
    margin:0;
    font-size:17px;
    line-height:1.9;
    color:var(--consult-muted);
}

/* GRID */
.consult-grid{
    display:grid;
    gap:24px;
}

.consult-grid--2{
    grid-template-columns:repeat(2, minmax(0, 1fr));
}

.consult-grid--3{
    grid-template-columns:repeat(3, minmax(0, 1fr));
}

/* GENERIC CARDS */
.consult-card,
.advisor-card{
    background:
        linear-gradient(180deg, rgba(255,250,246,.96) 0%, rgba(255,244,236,.96) 100%);
    border:1px solid var(--consult-line);
    border-radius:24px;
    box-shadow:var(--consult-shadow);
    transition:
        transform var(--consult-transition),
        box-shadow var(--consult-transition),
        border-color var(--consult-transition),
        background var(--consult-transition);
}

.consult-card{
    padding:28px;
}

.consult-card:hover,
.advisor-card:hover{
    transform:translateY(-8px);
    box-shadow:var(--consult-shadow-lg);
    border-color:var(--consult-line-strong);
}

.consult-card--large{
    min-height:100%;
}

.consult-card h2,
.consult-card h3{
    margin:14px 0 12px;
    color:var(--consult-text-strong);
}

.consult-card h2{
    font-size:34px;
    line-height:1.18;
}

.consult-card h3{
    font-size:24px;
    line-height:1.25;
}

.consult-card p{
    margin:0 0 12px;
    color:var(--consult-muted);
    line-height:1.9;
    font-size:16px;
}

.consult-list{
    margin:0 0 14px;
    padding-left:20px;
}

.consult-list li{
    margin-bottom:8px;
    color:var(--consult-muted);
    line-height:1.75;
}

/* ADVISOR CARD */
.advisor-card{
    overflow:visible;
    display:flex;
    flex-direction:column;
    position:relative;
}

.advisor-card--premium{
    padding-top:64px;
}

.advisor-card--premium::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:5px;
    border-radius:24px 24px 0 0;
    background:linear-gradient(90deg, var(--consult-orange), var(--consult-orange-2));
}

.advisor-top{
    display:flex;
    justify-content:center;
    margin-top:-58px;
    margin-bottom:8px;
}

.advisor-avatar-wrap{
    width:120px;
    height:120px;
    border-radius:999px;
    padding:5px;
    background:linear-gradient(135deg, var(--consult-orange), var(--consult-orange-2));
    box-shadow:0 16px 34px rgba(240,122,31,.26);
}

.advisor-avatar-img{
    width:100%;
    height:100%;
    border-radius:999px;
    object-fit:cover;
    display:block;
    background:#fff4ea;
    border:4px solid #fffaf6;
}

.advisor-card .advisor-body{
    padding:16px 24px 26px;
    text-align:center;
}

.advisor-role{
    display:inline-block;
    font-size:13px;
    font-weight:800;
    color:var(--consult-orange-dark);
    background:#fff0e1;
    padding:6px 10px;
    border-radius:999px;
    margin-bottom:12px;
    border:1px solid #f2ccaa;
}

.advisor-name{
    margin:0 0 8px;
    font-size:28px;
    line-height:1.15;
    color:var(--consult-text-strong);
}

.advisor-phone{
    margin:0 0 14px;
    font-size:18px;
    font-weight:800;
    color:var(--consult-orange-dark);
    letter-spacing:.3px;
}

.advisor-desc{
    margin:0 0 16px;
    color:var(--consult-muted);
    line-height:1.85;
    min-height:88px;
}

.advisor-tags{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:18px;
}

.advisor-tag{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    padding:0 12px;
    border-radius:999px;
    background:#fff4e8;
    color:var(--consult-orange-dark);
    font-size:13px;
    font-weight:700;
    border:1px solid #f2cfb3;
}

.advisor-actions{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px;
}

/* SOCIALS */
.advisor-socials{
    display:flex;
    justify-content:center;
    gap:12px;
    margin-bottom:18px;
}

.advisor-social{
    width:46px;
    height:46px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        background .25s ease,
        border-color .25s ease;
    box-shadow:0 10px 20px rgba(120,66,30,.10);
    border:1px solid var(--consult-line);
    background:#fffaf6;
}

.advisor-social:hover{
    transform:translateY(-3px);
}

.advisor-social svg{
    width:20px;
    height:20px;
    display:block;
}

.advisor-social--phone{
    color:var(--consult-orange-dark);
    background:#fff1e3;
}

.advisor-social--phone:hover{
    background:#ffe5cf;
}

.advisor-social--phone svg{
    fill:currentColor;
}

.advisor-social--zalo{
    color:var(--consult-orange-dark);
    background:#fff5ea;
}

.advisor-social--zalo:hover{
    background:#ffe9d5;
}

.advisor-social--zalo svg rect{
    fill:none;
    stroke:currentColor;
    stroke-width:4;
}

.advisor-social--facebook{
    color:var(--consult-orange-dark);
    background:#fff2e7;
}

.advisor-social--facebook:hover{
    background:#ffe7d3;
}

.advisor-social--facebook svg{
    fill:currentColor;
}

.consult-cta-box{
    margin-top:18px;
}

/* ANIMATION */
.reveal{
    opacity:0;
    transform:translateY(36px);
    transition:opacity .8s ease, transform .8s ease;
}

.reveal.is-visible{
    opacity:1;
    transform:translateY(0);
}

/* TABLET */
@media (max-width: 1100px){
    .consult-title{
        font-size:50px;
    }

    .consult-grid--3{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

/* MOBILE */
@media (max-width: 900px){
    .consult-title{
        font-size:40px;
        line-height:1.1;
    }

    .consult-subtitle{
        font-size:17px;
        line-height:1.8;
    }

    .consult-grid--2,
    .consult-grid--3{
        grid-template-columns:1fr;
    }

    .consult-section-head h2{
        font-size:30px;
    }

    .consult-hero{
        min-height:72vh;
    }

    .consult-hero__content{
        padding:64px 0;
    }

    .consult-btn{
        width:100%;
    }

    .consult-hero__actions,
    .advisor-actions{
        flex-direction:column;
        align-items:stretch;
    }

    .consult-card,
    .advisor-card{
        border-radius:18px;
    }

    .advisor-card--premium{
        padding-top:58px;
    }

    .advisor-desc{
        min-height:auto;
    }
}

@media (max-width: 640px){
    .consult-container{
        padding:0 16px;
    }

    .consult-section{
        padding:34px 0;
    }

    .consult-title{
        font-size:34px;
    }

    .consult-card h2{
        font-size:28px;
    }

    .consult-card h3,
    .advisor-name{
        font-size:22px;
    }

    .consult-section-head h2{
        font-size:28px;
    }

    .consult-card{
        padding:22px;
    }

    .advisor-card .advisor-body{
        padding:14px 18px 22px;
    }

    .advisor-avatar-wrap{
        width:104px;
        height:104px;
    }

    .advisor-social{
        width:44px;
        height:44px;
    }
}

@media (max-width: 420px){
    .consult-title{
        font-size:30px;
    }

    .consult-subtitle{
        font-size:16px;
    }

    .consult-btn{
        min-height:52px;
        padding:0 18px;
        font-size:15px;
    }

    .advisor-phone{
        font-size:17px;
    }

    .advisor-tag{
        font-size:12px;
        padding:0 10px;
    }
}