.sp{ padding:22px 0 72px; }
.sp-icon{ width:44px; height:44px; flex:0 0 44px; display:inline-flex; align-items:center; justify-content:center; border-radius:13px; background:var(--v2-primary); color:#fff; font-size:1rem; box-shadow:0 10px 22px -14px rgba(74,93,35,.9); }
.sp-icon.is-soft{ background:var(--v2-primary-soft); color:var(--v2-primary); box-shadow:none; }

.sp-facts{ display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:1px; overflow:hidden; border:1px solid var(--v2-border); border-radius:18px; background:var(--v2-border); }
.sp-facts div{ display:flex; flex-direction:column; gap:2px; padding:18px 20px; background:var(--v2-card); }
.sp-facts b{ color:var(--v2-primary); font-size:1.35rem; letter-spacing:-.02em; }
.sp-facts span{ color:var(--v2-muted); font-size:.86rem; }

.sp-pillars{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px; }
.sp-pillar{ position:relative; display:flex; flex-direction:column; gap:10px; padding:24px; }
.sp-pillar small{ position:absolute; top:22px; right:24px; color:var(--v2-border-strong); font-size:1.6rem; font-weight:800; letter-spacing:-.03em; }
.sp-pillar h3, .sp-support__card h3{ margin:6px 0 0; font-size:1.12rem; }
.sp-pillar p, .sp-support__card p{ margin:0; color:#4a473f; font-size:.93rem; line-height:1.7; }

.sp-criteria{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px 28px; }
.sp-criterion{ display:flex; gap:14px; padding:18px 0; border-top:1px solid var(--v2-border); }
.sp-criterion h3{ margin:4px 0 6px; font-size:1.02rem; }
.sp-criterion p{ margin:0; color:#4a473f; font-size:.92rem; line-height:1.7; }

.sp-brands{ display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:14px; }
.sp-brand{ position:relative; display:flex; flex-direction:column; gap:6px; padding:18px; color:var(--v2-fg); transition:transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s, border-color .2s; }
.sp-brand .sp-icon{ width:38px; height:38px; flex-basis:38px; margin-bottom:6px; font-size:.9rem; }
.sp-brand b{ font-size:1rem; }
.sp-brand > span:not(.sp-icon){ color:var(--v2-muted); font-size:.84rem; line-height:1.5; }
.sp-brand__go{ position:absolute; top:20px; right:18px; color:var(--v2-border-strong); font-size:.8rem; transition:transform .2s, color .2s; }
.sp-brand:hover{ transform:translateY(-3px); border-color:var(--v2-border-strong); box-shadow:var(--v2-shadow-lg); }
.sp-brand:hover .sp-brand__go{ color:var(--v2-primary); transform:translateX(3px); }

.sp-flow{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.05fr); gap:clamp(24px, 4vw, 52px); align-items:center; }
.sp-flow h2{ margin:6px 0 18px; font-size:clamp(1.35rem, 2.4vw, 1.75rem); letter-spacing:-.02em; }
.sp-steps{ display:flex; flex-direction:column; margin:0; padding:0; list-style:none; }
.sp-steps li{ position:relative; display:flex; gap:14px; padding-bottom:18px; }
.sp-steps li:not(:last-child)::before{ content:""; position:absolute; left:15px; top:34px; bottom:2px; width:2px; background:var(--v2-border); }
.sp-steps li > span{ width:32px; height:32px; flex:0 0 32px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:var(--v2-primary); color:#fff; font-size:.85rem; font-weight:700; box-shadow:0 0 0 5px var(--v2-primary-soft); }
.sp-steps h3{ margin:5px 0 3px; font-size:.98rem; }
.sp-steps p{ margin:0; color:#4a473f; font-size:.9rem; line-height:1.65; }
.sp-flow__media{ position:relative; margin:0; overflow:hidden; border:1px solid var(--v2-border); border-radius:22px; box-shadow:0 30px 60px -34px rgba(40,34,16,.45); aspect-ratio:4 / 3; }
.sp-flow__media img{ width:100%; height:100%; object-fit:cover; object-position:75% 50%; }
.sp-flow__media figcaption{ position:absolute; left:16px; bottom:16px; display:inline-flex; align-items:center; gap:8px; padding:9px 14px; border-radius:999px; background:rgba(255,253,248,.94); color:var(--v2-fg); font-size:.84rem; font-weight:600; box-shadow:var(--v2-shadow); }
.sp-flow__media figcaption i{ color:var(--v2-primary); }

.sp-support{ display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:16px; }
.sp-support__card{ display:flex; flex-direction:column; gap:8px; padding:22px; }
.sp-faq{ max-width:920px; }

@media (max-width:1080px){
    .sp-brands, .sp-support{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:960px){
    .sp-facts{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
    .sp-pillars{ grid-template-columns:1fr; }
    .sp-flow{ grid-template-columns:1fr; }
    .sp-flow__media{ order:-1; }
}
@media (max-width:640px){
    .sp-criteria, .sp-brands, .sp-support{ grid-template-columns:1fr; }
}
