.wpic-js { --js-red:#d71920; --js-red-dark:#a70f16; --js-ink:#14213d; --js-soft:#fff5f5; }
.wpic-js-hero { position:relative; overflow:hidden; padding:88px 0 72px; background:linear-gradient(135deg,#fff 0%,#fff7f7 58%,#ffe9ea 100%); }
.wpic-js-hero::after { content:""; position:absolute; width:420px; height:420px; border-radius:50%; right:-150px; top:-190px; background:rgba(215,25,32,.08); }
.wpic-js-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr); gap:68px; align-items:center; }
.wpic-js-hero h1 { max-width:760px; }
.wpic-js-hero h1 span { color:var(--js-red); }
.wpic-js-hero .wpic-lead { max-width:710px; }
.wpic-js-hero .wpic-cta-row { margin-top:28px; }
.wpic-js-hero .wpic-btn-primary,.wpic-js-final .wpic-btn-primary { background:var(--js-red); border-color:var(--js-red); }
.wpic-js-hero .wpic-btn-primary:hover,.wpic-js-final .wpic-btn-primary:hover { background:var(--js-red-dark); border-color:var(--js-red-dark); }
.wpic-js-hero-trust { display:flex; flex-wrap:wrap; gap:14px 22px; margin-top:24px; color:#526077; font-size:14px; font-weight:650; }
.wpic-js-hero-trust span { display:flex; align-items:center; gap:7px; }
.wpic-js-hero-trust svg { width:17px; height:17px; color:var(--js-red); }
.wpic-js-price-card { position:relative; padding:34px; border:1px solid rgba(215,25,32,.2); border-radius:24px; background:rgba(255,255,255,.9); box-shadow:0 24px 70px rgba(80,14,18,.14); }
.wpic-js-globe { position:absolute; right:26px; top:22px; display:grid; width:42px; height:42px; place-items:center; border-radius:50%; background:var(--js-soft); color:var(--js-red); }
.wpic-js-globe svg { width:23px; height:23px; }
.wpic-js-card-label { max-width:220px; margin:0 0 12px; color:#5e6a7d; font-size:14px; font-weight:750; text-transform:uppercase; letter-spacing:.08em; }
.wpic-js-total { margin:0; color:var(--js-ink); font-size:52px; font-weight:850; letter-spacing:-.05em; }
.wpic-js-total span,.wpic-js-amount span { font-size:14px; letter-spacing:.05em; color:#6c7788; }
.wpic-js-payline { margin:12px 0 22px; padding:13px 15px; border-radius:12px; background:var(--js-soft); color:#4b5567; }
.wpic-js-payline strong { color:var(--js-red-dark); }
.wpic-js-mini-timeline { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.wpic-js-mini-timeline span { position:relative; padding-top:20px; color:#7a8493; font-size:11px; line-height:1.3; text-align:center; }
.wpic-js-mini-timeline span::before { content:""; position:absolute; left:50%; top:0; width:12px; height:12px; transform:translateX(-50%); border-radius:50%; background:#d8dde5; box-shadow:0 0 0 4px #f1f3f6; }
.wpic-js-mini-timeline span::after { content:""; position:absolute; left:-50%; right:50%; top:5px; height:2px; background:#e1e5ea; }
.wpic-js-mini-timeline span:first-child::after { display:none; }
.wpic-js-mini-timeline .is-active { color:var(--js-red-dark); font-weight:750; }
.wpic-js-mini-timeline .is-active::before { background:var(--js-red); box-shadow:0 0 0 4px #fde4e5; }
.wpic-js-card-note { margin:22px 0 0; color:#6c7788; font-size:13px; line-height:1.6; }
.wpic-js .wpic-sect-head { max-width:900px; margin:0 auto clamp(36px,4vw,48px); text-align:center; }
.wpic-js .wpic-sect-head .wpic-h2 { margin:14px 0 12px; }
.wpic-js .wpic-sect-head .wpic-lead { margin-left:auto; margin-right:auto; }
.wpic-js-service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.wpic-js-service { display:flex; gap:15px; padding:23px; border:1px solid var(--wpic-line); border-radius:17px; background:#fff; box-shadow:0 8px 24px rgba(24,37,61,.05); }
.wpic-js-service-icon { display:grid; flex:0 0 42px; width:42px; height:42px; place-items:center; border-radius:12px; background:var(--js-soft); color:var(--js-red); }
.wpic-js-service-icon svg { width:21px; height:21px; }
.wpic-js-service h3 { margin:1px 0 7px; color:var(--js-ink); font-size:17px; }
.wpic-js-service p { margin:0; color:#687386; font-size:14px; line-height:1.65; }
.wpic-js-milestones { max-width:980px; margin:0 auto; }
.wpic-js-milestone { display:grid; grid-template-columns:72px 1fr auto; gap:24px; align-items:center; padding:26px 28px; border:1px solid var(--wpic-line); border-radius:18px; background:#fff; }
.wpic-js-milestone + .wpic-js-milestone { margin-top:16px; }
.wpic-js-milestone.is-current { border-color:rgba(215,25,32,.35); box-shadow:0 12px 35px rgba(135,20,25,.08); }
.wpic-js-step { display:grid; width:56px; height:56px; place-items:center; border-radius:50%; background:#f0f3f7; color:#6c7788; font-size:18px; font-weight:850; }
.wpic-js-milestone.is-current .wpic-js-step { background:var(--js-red); color:#fff; }
.wpic-js-when { margin:0 0 5px !important; color:var(--js-red-dark) !important; font-size:12px !important; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.wpic-js-milestone h3 { margin:0 0 7px; color:var(--js-ink); font-size:19px; }
.wpic-js-milestone-main > p:last-child { margin:0; color:#687386; font-size:14px; line-height:1.65; }
.wpic-js-amount { min-width:120px; margin:0; color:var(--js-ink); font-size:28px; font-weight:850; text-align:right; letter-spacing:-.03em; }
.wpic-js-amount span { display:block; }
.wpic-js > .wpic-js-disclosure.wpic-section { padding:clamp(56px,6vw,78px) 0; background:var(--js-ink); color:#fff; }
.wpic-js-disclosure .wpic-h2,.wpic-js-disclosure .wpic-lead { color:#fff; }
.wpic-js-disclosure .wpic-eyebrow { color:#ffb6b9; }
.wpic-js-disclosure-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:center; }
.wpic-js-warning-list { display:grid; gap:12px; }
.wpic-js-warning-list > div { display:flex; gap:15px; padding:17px 18px; border:1px solid rgba(255,255,255,.14); border-radius:14px; background:rgba(255,255,255,.06); }
.wpic-js-warning-list svg { flex:0 0 22px; width:22px; color:#ff8f94; }
.wpic-js-warning-list p { margin:0; }
.wpic-js-warning-list strong,.wpic-js-warning-list span { display:block; }
.wpic-js-warning-list span { margin-top:3px; color:#cbd3df; font-size:14px; }
.wpic-js-terms-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; max-width:1040px; margin:0 auto; }
.wpic-js-terms-grid h3 { margin-top:0; color:var(--js-ink); }
.wpic-js-terms-grid p { color:#626e80; line-height:1.72; }
.wpic-js-agreement-note { display:flex; gap:13px; align-items:flex-start; max-width:1040px; margin:18px auto 0; padding:17px 19px; border:1px solid rgba(215,25,32,.22); border-radius:14px; background:#fff; }
.wpic-js-agreement-note svg { flex:0 0 22px; color:var(--js-red); }
.wpic-js-agreement-note p { margin:0; color:#5f6b7d; }
.wpic-js-faq-wrap { max-width:900px; }
.wpic-js-faqs details { border-bottom:1px solid var(--wpic-line); }
.wpic-js-faqs summary { display:flex; justify-content:space-between; gap:20px; padding:19px 0; color:var(--js-ink); font-weight:750; cursor:pointer; list-style:none; }
.wpic-js-faqs summary::-webkit-details-marker { display:none; }
.wpic-js-faqs summary span { color:var(--js-red); font-size:24px; line-height:1; transition:transform .2s ease; }
.wpic-js-faqs details[open] summary span { transform:rotate(45deg); }
.wpic-js-faqs details p { margin:0; padding:0 38px 20px 0; color:#687386; line-height:1.7; }
.wpic-js-final { padding:76px 0; background:linear-gradient(135deg,#fff3f3,#ffe3e4); text-align:center; }
.wpic-js-final h2 { max-width:760px; margin:13px auto; color:var(--js-ink); font-size:clamp(30px,4vw,48px); letter-spacing:-.04em; }
.wpic-js-final > .wpic-container > p { max-width:690px; margin:0 auto; color:#596579; font-size:18px; }
.wpic-js-final .wpic-cta-row { justify-content:center; margin-top:26px; }
.wpic-js-final-note { margin-top:18px !important; font-size:13px !important; }
@media (max-width:920px) {
    .wpic-js-hero-grid,.wpic-js-disclosure-grid { grid-template-columns:1fr; gap:42px; }
    .wpic-js-price-card { max-width:560px; }
    .wpic-js-service-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:650px) {
    .wpic-js-hero { padding:62px 0 52px; }
    .wpic-js .wpic-sect-head { margin-bottom:30px; }
    .wpic-js .wpic-sect-head .wpic-h2 { margin-top:11px; }
    .wpic-js-service-grid,.wpic-js-terms-grid { grid-template-columns:1fr; }
    .wpic-js-milestone { grid-template-columns:54px 1fr; padding:21px 18px; gap:14px; }
    .wpic-js-step { width:46px; height:46px; }
    .wpic-js-amount { grid-column:2; text-align:left; }
    .wpic-js-amount span { display:inline; }
    .wpic-js-price-card { padding:28px 22px; }
    .wpic-js-total { font-size:44px; }
}
