/* Premium polish — visual identity remains unchanged; only depth, rhythm and states are refined. */
.vp-care-visual {
    border-color: rgba(23, 59, 50, .13);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.86),
        inset 0 -1px 0 rgba(23,59,50,.035),
        0 42px 96px rgba(21, 50, 40, .16),
        0 8px 22px rgba(21, 50, 40, .08);
}
.vp-care-visual::after {
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: inherit;
    background: linear-gradient(125deg, rgba(255,255,255,.34), transparent 34%, transparent 66%, rgba(47,107,86,.035));
    content: "";
    pointer-events: none;
}
.vp-care-depth { position:absolute; inset:0; z-index:1; border-radius:inherit; overflow:hidden; pointer-events:none; opacity:.72; }
.vp-care-depth canvas { width:100%!important; height:100%!important; display:block; opacity:.7; mix-blend-mode:multiply; }
.vp-care-panel {
    border-color: rgba(23, 59, 50, .14);
    background: rgba(255,255,255,.94);
    box-shadow:
        0 38px 78px rgba(14, 40, 31, .16),
        0 8px 18px rgba(14, 40, 31, .07),
        inset 0 1px 0 rgba(255,255,255,.96),
        inset 0 -1px 0 rgba(23,59,50,.045);
}
.vp-care-panel::before {
    position:absolute; inset:1px 1px auto; height:46%; border-radius:27px 27px 50% 50%;
    background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(255,255,255,0)); content:""; pointer-events:none;
}
.vp-care-panel > * { position:relative; z-index:1; }

.vp-care-pill {
    min-height: 43px;
    padding: 10px 15px 10px 11px;
    border-color: rgba(34, 79, 63, .2);
    background: rgba(255,255,255,.97);
    color: #24493c;
    box-shadow: 0 14px 30px rgba(20,54,42,.12), inset 0 1px 0 #fff;
    font-size: 12.5px;
    font-weight: 820;
}
.vp-care-pill::before {
    width: 23px; height: 23px; margin-right:9px; border-radius:8px;
    background:linear-gradient(145deg,#d9eee1,#edf7f0);
    box-shadow:inset 0 0 0 1px rgba(47,107,86,.14);
}
.vp-care-pill::after {
    position:absolute; left:18px; width:7px; height:11px;
    border-right:2px solid #2f6b56; border-bottom:2px solid #2f6b56;
    content:""; transform:translate(-50%,-1px) rotate(42deg); transform-origin:center;
}
.vp-care-pill.is-supervised { border-color:rgba(47,107,86,.28); box-shadow:0 16px 32px rgba(20,54,42,.14),0 0 0 4px rgba(47,107,86,.045); }

.vp-care-checklist__item {
    min-height: 58px;
    border-color: rgba(34, 79, 63, .12);
    background: linear-gradient(145deg, rgba(247,250,247,.97), rgba(238,246,241,.88));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.86), 0 5px 12px rgba(24,57,45,.035);
}
.vp-care-checklist__item i {
    width: 25px; height:25px; border-radius:9px;
    background:linear-gradient(145deg,#d5ecdd,#eff8f2);
    box-shadow:inset 0 0 0 1px rgba(47,107,86,.13),0 4px 10px rgba(47,107,86,.08);
    transform:rotate(45deg);
}
.vp-care-checklist__item i::before { left:6px; top:13px; width:6px; height:2px; transform:rotate(0deg); }
.vp-care-checklist__item i::after { left:10px; top:11px; width:9px; height:2px; transform:rotate(-90deg); }
.vp-care-checklist__item i::before,
.vp-care-checklist__item i::after { background:#2f6b56; }
.vp-care-checklist__item span { font-size:13.5px; }
.vp-care-checklist__item small { font-size:11.5px; color:#607b71; }
.vp-care-checklist__item.is-active { border-color:rgba(47,107,86,.24); box-shadow:0 9px 20px rgba(33,75,60,.075),inset 0 1px 0 #fff; }
.vp-care-status { border:1px solid rgba(47,107,86,.1); box-shadow:inset 0 1px 0 rgba(255,255,255,.8); }

/* Demonstrations: one grid, distinct atmospheres and subtle depth. */
.vp-demo-card { overflow:hidden; transform-style:preserve-3d; }
.vp-demo-card::after { position:absolute; inset:0; border-radius:inherit; background:linear-gradient(120deg,rgba(255,255,255,.08),transparent 35%,transparent 72%,rgba(255,255,255,.04)); content:""; pointer-events:none; opacity:0; transition:opacity .35s ease; }
.vp-demo-card:hover::after, .vp-demo-card:focus-visible::after { opacity:1; }
.vp-demo-card__screen { position:relative; isolation:isolate; overflow:hidden; }
.vp-demo-card__screen::before { position:absolute; inset:-20%; z-index:-1; background:radial-gradient(circle at var(--demo-x,25%) var(--demo-y,20%),rgba(255,255,255,.22),transparent 36%); content:""; opacity:.45; transition:opacity .3s ease,transform .5s cubic-bezier(.2,.8,.2,1); }
.vp-demo-card:hover .vp-demo-card__screen::before { opacity:.8; transform:scale(1.06); }
.vp-demo-card__screen img, .vp-demo-card__screen strong, .vp-demo-card__screen small { transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s ease; }
.vp-demo-card:hover .vp-demo-card__screen img { transform:translate3d(0,-3px,0) scale(1.035); }
.vp-demo-card:hover .vp-demo-card__screen strong { transform:translate3d(0,-2px,0); }
.vp-demo-card > div:last-child > span { display:inline-flex; align-items:center; gap:8px; }
.vp-demo-card > div:last-child > span::after { width:18px; height:1px; background:currentColor; content:""; transform-origin:left; transition:transform .25s ease; }
.vp-demo-card:hover > div:last-child > span::after { transform:scaleX(1.35); }

/* FAQ: proprietary control — rounded diamond, no generic plus/x glyph. */
.vp-faq-list { border-top:0; display:grid; gap:12px; }
.vp-faq-list details { overflow:hidden; border:1px solid rgba(34,79,63,.13); border-radius:20px; background:rgba(255,255,255,.7); box-shadow:0 6px 16px rgba(24,57,45,.035); transition:border-color .25s ease,box-shadow .25s ease,background .25s ease; }
.vp-faq-list details[open] { border-color:rgba(47,107,86,.24); background:#fff; box-shadow:0 18px 38px rgba(24,57,45,.08); }
.vp-faq-list summary { padding:22px 70px 22px 22px; font-size:21px; }
.vp-faq-list summary::after { display:none!important; content:none!important; }
.vp-faq-list summary::before {
    position:absolute; top:50%; right:22px; width:34px; height:34px; border:1px solid rgba(47,107,86,.18); border-radius:11px;
    background:linear-gradient(145deg,#edf6f0,#fff); box-shadow:0 7px 16px rgba(47,107,86,.08); content:""; transform:translateY(-50%) rotate(0deg); transition:transform .38s cubic-bezier(.2,.8,.2,1),background .25s ease;
}
.vp-faq-list summary span.vp-faq-mark { position:absolute; top:50%; right:32px; width:14px; height:14px; transform:translateY(-50%); pointer-events:none; }
.vp-faq-list summary span.vp-faq-mark::before,
.vp-faq-list summary span.vp-faq-mark::after { position:absolute; top:6px; left:1px; width:12px; height:2px; border-radius:2px; background:#2f6b56; content:""; transition:transform .38s cubic-bezier(.2,.8,.2,1),opacity .2s ease; }
.vp-faq-list summary span.vp-faq-mark::after { transform:rotate(90deg); }
.vp-faq-list details[open] summary::before { transform:translateY(-50%) rotate(45deg); background:#e4f1e8; }
.vp-faq-list details[open] summary span.vp-faq-mark::after { transform:rotate(0deg); opacity:0; }
.vp-faq-list details[open] summary span.vp-faq-mark::before { transform:rotate(-45deg); }
.vp-faq-list summary:focus-visible { outline:3px solid rgba(47,107,86,.22); outline-offset:-3px; border-radius:18px; }
.vp-faq-list p { margin:0; padding:0 70px 24px 22px; }
.vp-faq-answer { overflow:hidden; }

/* Shared premium states. */
.vp-button { position:relative; overflow:hidden; }
.vp-button::after { position:absolute; inset:-50% auto -50% -30%; width:28%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent); content:""; transform:skewX(-20deg) translateX(-180%); pointer-events:none; }
.vp-button:hover::after, .vp-button:focus-visible::after { transform:skewX(-20deg) translateX(620%); transition:transform .72s cubic-bezier(.2,.8,.2,1); }
.vp-objection-card,.vp-process li,.vp-assurance-strip>div>div,.vp-offer-details,.vp-lead-form { transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,border-color .28s ease; }

@media(max-width:760px){
    .vp-care-pill { min-height:38px; font-size:10.5px; padding:8px 11px 8px 8px; }
    .vp-care-pill::before { width:20px; height:20px; border-radius:7px; margin-right:7px; }
    .vp-care-pill::after { left:14px; width:6px; height:9px; }
    .vp-care-checklist__item { min-height:52px; }
    .vp-faq-list summary { padding:20px 62px 20px 18px; font-size:19px; }
    .vp-faq-list summary::before { right:16px; }
    .vp-faq-list summary span.vp-faq-mark { right:26px; }
    .vp-faq-list p { padding:0 18px 20px; }
}

/* FAQ redesign — compact editorial layout with numbered accordions. */
.vp-story-section--trust .vp-faq-layout {
    display:grid;
    grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);
    gap:56px;
    align-items:start;
}
.vp-story-section--trust .vp-faq-intro {
    position:sticky;
    top:118px;
    align-self:start;
}
.vp-story-section--trust .vp-faq-intro h2 {
    margin:8px 0 16px;
    max-width:12ch;
    font-size:clamp(34px,4vw,50px);
    line-height:.98;
}
.vp-story-section--trust .vp-faq-intro > p:not(.vp-kicker) {
    max-width:34ch;
    margin:0;
    color:var(--vp-muted);
}
.vp-story-section--trust .vp-faq-support {
    display:grid;
    gap:6px;
    margin-top:28px;
}
.vp-story-section--trust .vp-faq-support span {
    color:var(--vp-muted);
    font-size:14px;
    font-weight:700;
}
.vp-story-section--trust .vp-faq-content { min-width:0; }
.vp-story-section--trust .vp-faq-list {
    display:grid;
    gap:12px;
    border-top:0;
    counter-reset:faq-item;
}
.vp-story-section--trust .vp-faq-list details {
    counter-increment:faq-item;
    overflow:hidden;
    border:1px solid rgba(34,79,63,.12);
    border-radius:18px;
    background:rgba(255,255,255,.56);
    box-shadow:none;
    transition:border-color .22s ease,background-color .22s ease,box-shadow .22s ease;
}
.vp-story-section--trust .vp-faq-list details[open] {
    border-color:rgba(47,107,86,.22);
    background:rgba(255,255,255,.9);
    box-shadow:0 14px 28px rgba(16,33,29,.06);
}
.vp-story-section--trust .vp-faq-list summary {
    position:relative;
    min-height:76px;
    padding:24px 84px 24px 72px;
    color:var(--vp-ink-deep);
    font-size:clamp(18px,1.9vw,22px);
    line-height:1.24;
    font-family:var(--vp-display);
    font-weight:700;
}
.vp-story-section--trust .vp-faq-list summary::after { display:none !important; content:none !important; }
.vp-story-section--trust .vp-faq-list summary::before {
    position:absolute;
    top:50%;
    left:24px;
    display:grid;
    width:40px;
    height:40px;
    place-items:center;
    color:var(--vp-clay);
    font:700 14px/1 var(--vp-font);
    letter-spacing:.08em;
    content:counter(faq-item, decimal-leading-zero);
    transform:translateY(-50%) !important;
}
.vp-story-section--trust .vp-faq-list summary .vp-faq-mark {
    position:absolute;
    top:50%;
    right:22px;
    width:40px;
    height:40px;
    border:1px solid rgba(47,107,86,.18);
    border-radius:12px;
    background:#f6faf7;
    background-image:none;
    box-shadow:0 7px 16px rgba(47,107,86,.08);
    transform:translateY(-50%);
    pointer-events:none;
}
.vp-story-section--trust .vp-faq-list summary .vp-faq-mark::before,
.vp-story-section--trust .vp-faq-list summary .vp-faq-mark::after {
    position:absolute;
    top:50%;
    left:50%;
    width:14px;
    height:2px;
    border-radius:999px;
    background:#275a48;
    content:"";
    transform:translate(-50%,-50%);
    transition:transform .24s ease,opacity .2s ease;
}
.vp-story-section--trust .vp-faq-list summary .vp-faq-mark::after {
    width:2px;
    height:14px;
}
.vp-story-section--trust .vp-faq-list details[open] summary .vp-faq-mark::after {
    opacity:0;
    transform:translate(-50%,-50%) scaleY(.3);
}
.vp-story-section--trust .vp-faq-list details[open] summary .vp-faq-mark::before {
    transform:translate(-50%,-50%);
}
.vp-story-section--trust .vp-faq-list summary:focus-visible {
    outline:3px solid rgba(47,107,86,.18);
    outline-offset:-3px;
    border-radius:16px;
}
.vp-story-section--trust .vp-faq-list p {
    margin:0;
    padding:0 84px 24px 72px;
    color:var(--vp-muted);
    line-height:1.7;
}
.vp-story-section--trust .vp-faq-more-toggle {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    margin-top:18px;
    padding:0 20px;
    border:1px solid rgba(34,79,63,.16);
    border-radius:999px;
    background:rgba(255,255,255,.78);
    color:var(--vp-ink-deep);
    font:800 15px/1 var(--vp-font);
    cursor:pointer;
}
.vp-story-section--trust .vp-faq-more-toggle:hover,
.vp-story-section--trust .vp-faq-more-toggle:focus-visible {
    border-color:rgba(47,107,86,.24);
    box-shadow:0 10px 24px rgba(16,33,29,.06);
}
.vp-story-section--trust .vp-faq-extra[hidden] { display:none !important; }
.vp-story-section--trust .vp-faq-list--secondary { margin-top:18px; }

html[data-theme="dark"] .vp-story-section--trust .vp-faq-intro > p:not(.vp-kicker),
html[data-theme="dark"] .vp-story-section--trust .vp-faq-support span,
html[data-theme="dark"] .vp-story-section--trust .vp-faq-list p { color:#bfd0ca; }
html[data-theme="dark"] .vp-story-section--trust .vp-faq-list details {
    border-color:rgba(125,171,154,.18);
    background:rgba(19,38,33,.72);
    box-shadow:none;
}
html[data-theme="dark"] .vp-story-section--trust .vp-faq-list details[open] {
    border-color:rgba(141,196,175,.36);
    background:rgba(28,52,45,.92);
    box-shadow:0 18px 36px rgba(0,0,0,.2);
}
html[data-theme="dark"] .vp-story-section--trust .vp-faq-list summary {
    color:#f1f6f3;
}
html[data-theme="dark"] .vp-story-section--trust .vp-faq-list summary::before { color:#d1a582; }
html[data-theme="dark"] .vp-story-section--trust .vp-faq-list summary .vp-faq-mark {
    border-color:rgba(255,255,255,.14);
    background:#f0f5f2;
    box-shadow:none;
}
html[data-theme="dark"] .vp-story-section--trust .vp-faq-list summary .vp-faq-mark::before,
html[data-theme="dark"] .vp-story-section--trust .vp-faq-list summary .vp-faq-mark::after { background:#1a372f; }
html[data-theme="dark"] .vp-story-section--trust .vp-faq-more-toggle {
    border-color:rgba(125,171,154,.18);
    background:rgba(24,45,39,.9);
    color:#eef5f1;
}

@media (max-width: 980px) {
    .vp-story-section--trust .vp-faq-layout {
        grid-template-columns:1fr;
        gap:28px;
    }
    .vp-story-section--trust .vp-faq-intro { position:static; }
    .vp-story-section--trust .vp-faq-intro h2 { max-width:14ch; }
}

@media (max-width: 760px) {
    .vp-story-section--trust .vp-faq-intro h2 {
        max-width:none;
        font-size:clamp(30px,9vw,40px);
    }
    .vp-story-section--trust .vp-faq-list summary {
        min-height:68px;
        padding:18px 72px 18px 70px;
        font-size:18px;
    }
    .vp-story-section--trust .vp-faq-list summary::before {
        top:50%;
        left:18px;
        font-size:12px;
    }
    .vp-story-section--trust .vp-faq-list summary .vp-faq-mark {
        right:16px;
        width:36px;
        height:36px;
        border-radius:11px;
    }
    .vp-story-section--trust .vp-faq-list p {
        padding:0 18px 20px 18px;
        font-size:14px;
        line-height:1.62;
    }
    .vp-story-section--trust .vp-faq-more-toggle {
        width:100%;
        justify-content:center;
    }
}

.vp-story-section--trust .vp-faq-list--secondary { counter-reset: faq-item 4; }
