.web-compare{max-width:1040px;margin:0 auto}
.web-compare__stage{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow);aspect-ratio:4/3;user-select:none;cursor:col-resize}
.web-compare__panel{position:absolute;inset:0}
.web-compare__panel--after{clip-path:inset(0 0 0 50%)}
.web-compare__image{width:100%;height:100%;margin:0;background:#fff}
.web-compare__image img{display:block;width:100%;height:100%;object-fit:cover}
.web-compare__label{position:absolute;top:18px;z-index:2;display:inline-flex;align-items:center;gap:8px;max-width:calc(100% - 36px);border-radius:999px;padding:9px 14px;background:rgb(255 255 255 / .94);border:1px solid var(--line);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;box-shadow:0 10px 25px rgba(25,43,84,.12)}
.web-compare__label::before{content:"";display:block;width:10px;height:10px;border-radius:50%}
.web-compare__label--bad{left:18px;color:#8a3d12}.web-compare__label--bad::before{background:#c2410c}
.web-compare__label--good{right:18px;color:var(--blue)}.web-compare__label--good::before{background:var(--blue)}
.web-compare__divider{position:absolute;top:0;bottom:0;left:50%;width:3px;border:0;padding:0;background:linear-gradient(180deg,var(--blue),var(--violet));cursor:ew-resize;z-index:3;touch-action:none}
.web-compare__divider::after{content:"↔";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#fff;color:var(--blue);font-weight:900;font-size:1.1rem;box-shadow:0 16px 34px rgba(25,43,84,.22);border:1px solid var(--line)}
.web-compare__divider:focus-visible::after{outline:2px solid var(--blue);outline-offset:2px}
.web-compare__captions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.web-compare__caption{padding:24px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(25,43,84,.07)}
.web-compare__caption strong{display:block;margin:0 0 10px;font-size:clamp(1.25rem,2.2vw,1.9rem);line-height:1.08;color:var(--text-strong)}
.web-compare__caption p{margin:0;color:var(--text-soft);font-size:1rem;line-height:1.65}
.web-compare__caption--bad{background:linear-gradient(135deg,#fff7ed,#fff)}
.web-compare__caption--good{background:linear-gradient(135deg,#eff6ff,#fff)}
.web-compare__control{display:grid;gap:10px;margin:18px auto 0;max-width:520px;text-align:center;font-weight:800;color:var(--text-strong)}
.web-compare__control input{width:100%;accent-color:var(--blue)}
.web-compare__control input::-webkit-slider-thumb{appearance:none;width:22px;height:22px;border-radius:50%;background:var(--blue);border:2px solid #fff;box-shadow:0 4px 12px rgba(25,43,84,.25)}
.web-compare__control input::-webkit-slider-runnable-track{height:7px;border-radius:999px;background:linear-gradient(90deg,#dbeafe,#c7d2fe)}
.web-compare__control input::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--blue);border:2px solid #fff;box-shadow:0 4px 12px rgba(25,43,84,.25)}
.web-compare__control input::-moz-range-track{height:7px;border-radius:999px;background:linear-gradient(90deg,#dbeafe,#c7d2fe)}

.web-process{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.web-process li{position:relative;min-height:175px;padding:22px 18px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(25,43,84,.07);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.web-process li::after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--violet));transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.web-process li.is-active{transform:translateY(-5px);border-color:rgba(18,103,248,.28);box-shadow:var(--shadow)}
.web-process li.is-active::after{transform:scaleX(1)}
.web-process span{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgb(var(--blue-rgb) / .09);color:var(--blue);font-weight:900}
.web-process strong{display:block;margin:16px 0 8px;color:var(--text-strong);font-size:1.04rem}
.web-process p{margin:0;color:var(--text-soft);font-size:.94rem}

@media (max-width:1100px){.web-process{grid-template-columns:repeat(3,1fr)}}
@media (max-width:720px){
  .web-compare{max-width:100%}
  .web-compare__stage{border-radius:22px;aspect-ratio:4/5;min-height:360px}
  .web-compare__image img{object-fit:contain;background:#fff}
  .web-compare__label{top:12px;padding:8px 12px;font-size:.72rem;max-width:calc(100% - 24px)}
  .web-compare__label--bad{left:12px}
  .web-compare__label--good{right:12px}
  .web-compare__divider::after{width:48px;height:48px}
  .web-compare__captions{grid-template-columns:1fr;gap:12px}
  .web-compare__caption{padding:18px;border-radius:18px}
  .web-compare__caption strong{font-size:1.2rem;overflow-wrap:anywhere}
  .web-compare__caption p{font-size:.95rem;line-height:1.55;overflow-wrap:anywhere}
  .web-compare__control{max-width:none}
  .web-process{grid-template-columns:1fr}
  .web-process li{min-height:0}
}
@media (prefers-reduced-motion:reduce){.web-process li,.web-process li::after{transition:none;transform:none}.web-process li.is-active{transform:none}}
