.advisor-page {
    width: min(860px, 100% - 2rem);
    margin: 2rem auto 5rem;
}

.advisor-page [hidden] { display: none !important; }

.advisor-intro {
    text-align: center;
    margin: 1rem auto 2rem;
    max-width: 680px;
}

.advisor-back {
    display: inline-flex;
    color: var(--vp-brand-teal-700);
    font-size: .875rem;
    font-weight: 700;
    margin-bottom: 1.25rem;
}

.advisor-kicker,
.advisor-result__badge {
    display: inline-flex;
    align-items: center;
    padding: .4rem .75rem;
    border-radius: 999px;
    color: var(--vp-brand-teal-900);
    background: rgba(32, 175, 123, .12);
    font-size: .78rem;
    font-weight: 800;
}

.advisor-intro h1 {
    margin: .8rem 0 .65rem;
    font-size: clamp(1.8rem, 4vw, 2.7rem);
}

.advisor-intro p {
    font-size: 1rem;
}

.advisor-shell,
.advisor-empty {
    padding: clamp(1.2rem, 4vw, 2.5rem);
    background: linear-gradient(145deg, #fff, #f5fcf8);
    border: 1px solid rgba(4, 109, 87, .14);
    border-radius: 28px;
    box-shadow: 0 18px 45px rgba(4, 109, 87, .10);
}

.advisor-progress__top {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    color: var(--vp-color-text-subtle);
    font-size: .85rem;
    font-weight: 700;
}

.advisor-progress__track {
    height: 7px;
    margin-top: .7rem;
    overflow: hidden;
    border-radius: 99px;
    background: #e1eee7;
}

.advisor-progress__track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--vp-brand-jade), var(--vp-brand-teal-700));
    transition: width .25s ease;
}

.advisor-question {
    min-width: 0;
    margin: 2rem 0 0;
    padding: 0;
    border: 0;
}

.advisor-question legend {
    width: 100%;
    color: var(--vp-color-text-strong);
    font-size: clamp(1.3rem, 3vw, 1.65rem);
    font-weight: 800;
}

.advisor-question > p { margin-top: .55rem; font-size: .92rem; }

.advisor-options { display: grid; gap: .75rem; margin-top: 1.45rem; }
.advisor-options--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.advisor-options--grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.advisor-options--stack { grid-template-columns: 1fr; }

.advisor-option {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-height: 105px;
    padding: 1rem;
    cursor: pointer;
    border: 1px solid rgba(4, 109, 87, .16);
    border-radius: 18px;
    background: #fff;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.advisor-option:hover,
.advisor-option:focus-within { transform: translateY(-2px); border-color: var(--vp-brand-jade); box-shadow: 0 10px 22px rgba(4, 109, 87, .10); }
.advisor-option:focus-within { outline: 3px solid rgba(32, 175, 123, .18); outline-offset: 2px; }
.advisor-option.is-selected { border: 2px solid var(--vp-brand-jade); background: #f0fbf6; box-shadow: 0 0 0 4px rgba(32, 175, 123, .10); }
.advisor-option input { position: absolute; opacity: 0; pointer-events: none; }
.advisor-option > span:last-child { display: grid; gap: .32rem; }
.advisor-option strong { color: var(--vp-color-text-strong); font-size: .98rem; }
.advisor-option small { color: var(--vp-color-text-subtle); line-height: 1.55; }
.advisor-option__icon { display: grid; flex: 0 0 40px; width: 40px; height: 40px; place-items: center; border-radius: 13px; color: var(--vp-brand-teal-700); background: #e7f6ee; font-size: 1.35rem; font-weight: 800; }

.advisor-actions { display: flex; justify-content: space-between; gap: .75rem; margin-top: 1.8rem; }
.advisor-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .75rem 1.15rem; border: 0; border-radius: 13px; cursor: pointer; color: #fff; background: linear-gradient(135deg, var(--vp-brand-teal-700), var(--vp-brand-jade)); font-family: inherit; font-size: .94rem; font-weight: 800; box-shadow: 0 9px 18px rgba(4, 109, 87, .18); }
.advisor-button:disabled { cursor: not-allowed; opacity: .45; box-shadow: none; }
.advisor-button--ghost { color: var(--vp-brand-teal-700); background: transparent; border: 1px solid rgba(4, 109, 87, .22); box-shadow: none; }
.advisor-actions .advisor-button:last-child { min-width: 150px; margin-inline-start: auto; }

.advisor-result { margin-top: 2rem; }
.advisor-result__lead { margin-bottom: .7rem; color: var(--vp-brand-teal-700); font-size: .85rem; font-weight: 800; }
.advisor-result__card { overflow: hidden; border: 1px solid rgba(4, 109, 87, .17); border-radius: 22px; background: #fff; }
.advisor-result__top { display: flex; justify-content: space-between; gap: 1rem; padding: clamp(1.1rem, 4vw, 2rem); background: linear-gradient(135deg, #074f40, #128269); }
.advisor-result__top h2 { margin: .7rem 0 .45rem; color: #fff; font-size: 1.75rem; }
.advisor-result__top p { max-width: 520px; color: rgba(255, 255, 255, .78); font-size: .9rem; }
.advisor-result__badge { color: #075443; background: #dff9ed; }
.advisor-result__price { display: grid; align-content: start; min-width: 150px; gap: .25rem; padding: .9rem; border-radius: 16px; color: #fff; background: rgba(255,255,255,.13); }
.advisor-result__price span, .advisor-result__price small { color: rgba(255,255,255,.72); font-size: .75rem; }
.advisor-result__price strong { font-size: 1.05rem; }
.advisor-result__columns { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding: 1.4rem clamp(1.1rem, 4vw, 2rem); }
.advisor-result__columns h3 { margin-bottom: .65rem; font-size: .95rem; }
.advisor-reasons, .advisor-features { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.advisor-reasons li, .advisor-features li { position: relative; padding-inline-start: 1.15rem; color: var(--vp-color-text-subtle); font-size: .84rem; }
.advisor-reasons li::before, .advisor-features li::before { content: '✓'; position: absolute; inset-inline-start: 0; color: var(--vp-brand-jade); font-weight: 900; }
.advisor-result__footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem clamp(1.1rem, 4vw, 2rem); border-top: 1px solid #e4eee8; background: #fbfefc; }
.advisor-result__footer p { max-width: 470px; font-size: .82rem; }
.advisor-result__footer .advisor-button { flex: 0 0 auto; }
.advisor-alternatives { margin-top: 1rem; padding: 1rem 1.2rem; border-radius: 15px; background: rgba(4, 109, 87, .05); }
.advisor-alternatives summary { cursor: pointer; color: var(--vp-brand-teal-700); font-size: .9rem; font-weight: 800; }
.advisor-alternatives ul { display: grid; gap: .55rem; margin: .9rem 0 0; padding: 0; list-style: none; }
.advisor-alternatives li { display: flex; justify-content: space-between; gap: 1rem; font-size: .85rem; }
.advisor-alternatives li span { color: var(--vp-color-text-subtle); }
.advisor-result__empty { text-align: center; }
.advisor-result__empty h2 { font-size: 1.35rem; }
.advisor-result__empty p { margin: .6rem 0 1rem; }

@media (max-width: 640px) {
    .advisor-page { width: min(100% - 1rem, 860px); margin-top: 1rem; }
    .advisor-shell { padding: 1.15rem; border-radius: 20px; }
    .advisor-options--two, .advisor-options--grid, .advisor-result__columns { grid-template-columns: 1fr; }
    .advisor-option { min-height: 84px; }
    .advisor-actions {
        position: sticky;
        z-index: 12;
        bottom: max(.55rem, env(safe-area-inset-bottom, 0px));
        margin: 1.25rem -.2rem 0;
        padding: .65rem;
        border: 1px solid rgba(4, 109, 87, .16);
        border-radius: 15px;
        background: rgba(255, 255, 255, .94);
        box-shadow: 0 12px 28px rgba(4, 109, 87, .14);
        backdrop-filter: blur(10px);
    }
    .advisor-actions .advisor-button { flex: 1 1 0; min-width: 0; }
    .advisor-actions .advisor-button:last-child { min-width: 0; }
    .advisor-result__top, .advisor-result__footer { flex-direction: column; align-items: stretch; }
    .advisor-result__price { min-width: 0; }
    .advisor-result__footer .advisor-button { width: 100%; }
    .advisor-alternatives li { flex-direction: column; gap: .15rem; }
}
