.so{background:#f4f6f3;color:var(--ink);padding:60px 6% 110px}
.so-wrap{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:48px;align-items:start;max-width:1280px;margin:0 auto}
.so-step{background:#fff;border:1px solid #dfe5de;border-radius:14px;padding:30px;margin-bottom:22px}
.so-step h2{font-size:24px;letter-spacing:-.03em;margin:0 0 6px;display:flex;gap:12px;align-items:center}
.so-step h2 b{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;font-size:14px;flex:none}
.so-step>p.so-help{margin:0 0 22px;color:#5d6d62;font-size:15px;line-height:1.6}
.so-products{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.so-prod{position:relative;border:2px solid #dfe5de;border-radius:12px;overflow:hidden;cursor:pointer;background:#fff;text-align:left;padding:0;color:inherit}
.so-prod img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#eef1ed}
.so-prod span{display:block;padding:12px 14px 4px;font-weight:700;font-size:16px}
.so-prod small{display:block;padding:0 14px 14px;color:#66766b;font-size:12.5px;line-height:1.45}
.so-prod[aria-pressed=true]{border-color:#2f7d3f;box-shadow:0 0 0 3px #2f7d3f22}
.so-prod[aria-pressed=true]::after{content:"✓";position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;background:#2f7d3f;color:#fff;display:grid;place-items:center;font-weight:700}
.so-label{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#4f6255;margin:22px 0 10px;display:block}
.so-pills{display:flex;flex-wrap:wrap;gap:8px}
.so-pill{border:1.5px solid #cfd8cf;background:#fff;border-radius:999px;padding:10px 16px;font-size:15px;cursor:pointer;color:var(--ink)}
.so-pill[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.so-pill small{opacity:.65;margin-left:6px;font-size:12px}
.so-qty{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.so-qty input{width:160px;font-size:18px;font-weight:700;padding:12px 14px}
.so-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.so-tier{border:1.5px solid #dfe5de;border-radius:10px;padding:12px;text-align:center;font-size:13px;color:#5d6d62;cursor:pointer;background:#fff}
.so-tier strong{display:block;font-size:19px;color:var(--ink);margin-top:2px}
.so-tier.on{border-color:#2f7d3f;background:#f0f7ef}
.so-drop{border:2px dashed #b9c7b9;border-radius:12px;padding:28px;text-align:center;cursor:pointer;background:#fafcf9;transition:.2s}
.so-drop.drag{background:#eaf4e7;border-color:#2f7d3f}
.so-drop strong{display:block;font-size:17px;margin-bottom:6px}
.so-drop span{font-size:13px;color:#66766b}
.so-file{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;background:#f0f7ef;border-radius:10px;font-size:14px}
.so-file button{margin-left:auto;border:0;background:none;color:#a33;cursor:pointer;font-size:13px}
.so-check{flex-direction:row;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;margin-top:14px}
.so-check input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:#2f7d3f}
.so-check a{text-decoration:underline}
.so-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.so-grid .full{grid-column:1/-1}
.so-seg{display:inline-flex;border:1.5px solid #cfd8cf;border-radius:999px;overflow:hidden;margin-bottom:14px}
.so-seg button{border:0;background:#fff;padding:9px 18px;cursor:pointer;font-size:14px;color:var(--ink)}
.so-seg button[aria-pressed=true]{background:var(--ink);color:#fff}
.so-sum{position:sticky;top:20px;background:var(--ink);color:#fff;border-radius:14px;padding:28px}
.so-sum h3{margin:0 0 18px;font-size:20px}
.so-sum img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:10px;margin-bottom:16px;background:#183a28}
.so-row{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:7px 0;color:#c7d6cb}
.so-row b{color:#fff;text-align:right}
.so-total{border-top:1px solid #ffffff26;margin-top:10px;padding-top:14px}
.so-total .so-row:last-child{font-size:20px;color:#fff}
.so-total .so-row:last-child b{color:#b7e86a}
.so-note{font-size:12.5px;color:#a9bdb0;line-height:1.6;margin:14px 0 0}
.so-submit{width:100%;margin-top:18px;background:#b7e86a;color:#0a2a1a;font-size:16px;padding:17px;cursor:pointer}
.so-submit[disabled]{opacity:.55;cursor:not-allowed;transform:none}
.so-err{color:#ffb4a8;font-size:13px;margin-top:10px;min-height:1em}
.so-steps-mini{display:grid;gap:8px;margin-top:18px;font-size:13px;color:#c7d6cb}
.so-steps-mini div{display:flex;gap:10px}
.so-steps-mini i{font-style:normal;color:#b7e86a;font-weight:700}
.so-done{max-width:680px;margin:0 auto;background:#fff;border-radius:16px;padding:44px;text-align:center;border:1px solid #dfe5de}
.so-done h2{font-size:34px;letter-spacing:-.04em;margin:10px 0}
.so-done .no{display:inline-block;font-size:22px;font-weight:800;background:#f0f7ef;padding:10px 18px;border-radius:10px;margin:8px 0 18px;letter-spacing:.04em}
.so-done p{color:#5d6d62;line-height:1.7}
.so-done .button{background:#25d366;color:#fff;margin-top:14px}
.so-pay{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:14px;opacity:.85}
.so-pay span{font-size:11px;border:1px solid #ffffff40;border-radius:4px;padding:3px 7px;letter-spacing:.05em}
@media(max-width:980px){.so-wrap{grid-template-columns:1fr}.so-sum{position:static}}
@media(max-width:640px){.so{padding:30px 16px 70px}.so-step{padding:22px 18px}.so-products{grid-template-columns:1fr}.so-prod{display:grid;grid-template-columns:110px 1fr;align-items:center}.so-prod img{aspect-ratio:1;height:100%}.so-prod span{padding:12px 12px 2px}.so-prod small{padding:0 12px 12px}.so-grid{grid-template-columns:1fr}.so-tiers{gap:6px}.so-tier strong{font-size:16px}.so-done{padding:30px 20px}}
.so-lead{padding:48px 6% 40px}.so-lead h1{font-size:clamp(38px,4.6vw,64px);margin-bottom:16px}.so-lead>p:last-child{font-size:17px}@media(max-width:760px){.so-lead{padding:32px 5% 28px}.so-lead h1{font-size:36px}.so-lead>p:last-child{font-size:15px}}
.so-tier{padding:14px 10px;transition:border-color .15s,background .15s}
.so-tier b{display:block;font-size:15px;color:var(--ink)}
.so-tier strong{font-size:22px;margin:4px 0 2px}
.so-tier em{display:block;font-style:normal;font-size:12px;color:#66766b}
.so-tier.on{box-shadow:0 0 0 3px #2f7d3f22}
.so-tier:focus-visible{outline:2px solid #2f7d3f;outline-offset:2px}
.so-more{font-size:13px;color:#66766b;margin:12px 0 0}.so-more a{text-decoration:underline}
@media(max-width:640px){.so-tier{padding:12px 4px}.so-tier b{font-size:13px}.so-tier strong{font-size:17px}.so-tier em{font-size:10.5px}}
.so-bar{display:none}
@media(max-width:980px){.so-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--ink);color:#fff;padding:12px 16px calc(12px + env(safe-area-inset-bottom));gap:12px;align-items:center;justify-content:space-between;box-shadow:0 -8px 24px #0003;transition:transform .25s}
.so-bar.hide{transform:translateY(110%)}.so-bar small{display:block;font-size:12px;color:#b9cbbf}.so-bar b{font-size:18px;color:#b7e86a}
.so-bar .button{background:#b7e86a;color:#0a2a1a;padding:13px 20px;flex:none}
body:has(.so-bar) .sp-wa{bottom:92px!important}.so{padding-bottom:120px}}
@media(max-width:640px){.so-products{gap:10px}.so-prod{display:grid;grid-template-columns:84px 1fr;grid-template-rows:auto 1fr;column-gap:4px;align-items:start}.so-prod img{grid-row:1/3;width:84px;height:84px;aspect-ratio:1}.so-prod span{padding:12px 40px 2px 10px;font-size:15px}.so-prod small{padding:0 10px 10px;font-size:12px}.so-prod[aria-pressed=true]::after{top:8px;right:8px;width:24px;height:24px;font-size:13px}.so-step h2{font-size:21px}.so-pill{padding:9px 13px;font-size:14px}}
.so-lead{padding:36px 6% 30px}.so-lead .eyebrow{margin-bottom:14px}.so-lead h1{font-size:clamp(30px,3.2vw,46px);line-height:1.1;margin-bottom:12px;max-width:none}.so-lead>p:last-child{font-size:16px;line-height:1.6;max-width:760px;margin:0}
@media(max-width:760px){.so-lead{padding:26px 5% 22px}.so-lead h1{font-size:28px}.so-lead>p:last-child{font-size:14.5px}}
.ct{background:#f4f6f3;color:var(--ink);padding:44px 6% 90px}
.ct-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ct-wa{grid-column:1;display:flex;flex-direction:column;gap:8px;background:#0b2116;color:#fff;border-radius:16px;padding:32px;text-decoration:none}
.ct-wa .ct-ic{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#b7e86a;font-weight:700}
.ct-wa strong{font-size:clamp(28px,3vw,40px);letter-spacing:-.03em}.ct-wa em{font-style:normal;color:#b9cbbf;font-size:15px}
.ct-wa b{margin-top:auto;padding-top:18px;color:#b7e86a;font-size:16px}
.ct-list{grid-column:2;display:grid;gap:10px}
.ct-list>*{display:block;background:#fff;border:1px solid #dfe5de;border-radius:12px;padding:16px 20px;text-decoration:none;color:inherit}
.ct-list a:hover{border-color:#2f7d3f}
.ct-list span{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#66766b;font-weight:600;margin-bottom:4px}
.ct-list strong{font-size:16px;font-weight:600;line-height:1.45}
.ct-map{grid-column:1/-1;border-radius:16px;overflow:hidden;border:1px solid #dfe5de;height:340px;background:#e8ede7}
.ct-map iframe{width:100%;height:100%;border:0}
.ct-quick{grid-column:1/-1;display:flex;gap:24px;flex-wrap:wrap;font-size:15px;font-weight:600}.ct-quick a{color:#2f7d3f}
@media(max-width:760px){.ct{padding:24px 16px 70px}.ct-in{grid-template-columns:1fr}.ct-wa,.ct-list{grid-column:1}.ct-wa{padding:24px}.ct-map{height:260px}}
.so-prod{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch}
@media(max-width:640px){.so-prod{display:grid}}
.so-tiers.one{grid-template-columns:minmax(0,260px)}
.so-products{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
@media(max-width:640px){.so-products{grid-template-columns:1fr}}
.so-products{grid-template-columns:repeat(4,1fr);gap:12px}
.so-prod span{font-size:15px}.so-prod small{font-size:12px}
@media(max-width:1180px){.so-products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.so-products{grid-template-columns:1fr}}
.so-products{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}@media(max-width:640px){.so-products{grid-template-columns:1fr}}
