html{scroll-behavior:smooth}

.sv-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,#17B890,#0E7C66);z-index:9999;pointer-events:none}

.sv-js .sv-clip{clip-path:inset(0 0 100% 0);transform:scale(1.05);transition:clip-path 1.15s cubic-bezier(.16,.84,.44,1),transform 1.35s cubic-bezier(.16,.84,.44,1)}
.sv-js .sv-clip.is-in{clip-path:inset(0 0 0 0);transform:scale(1)}

.sv-btn{position:relative;overflow:hidden}
.sv-btn::after{content:'';position:absolute;top:0;left:-130%;width:58%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);transform:skewX(-18deg);transition:left .75s cubic-bezier(.16,.84,.44,1);pointer-events:none}
.sv-btn:hover::after{left:140%}
.sv-btn>*{position:relative;z-index:1}

.sv-js .sv-word{display:inline-block;opacity:0;transform:translateY(26px);transition:opacity .75s cubic-bezier(.16,.84,.44,1),transform .75s cubic-bezier(.16,.84,.44,1)}
.sv-js .sv-word.is-in{opacity:1;transform:none}

.sv-mosaic{display:grid;gap:14px;grid-template-columns:repeat(2,1fr);margin-top:48px}
@media(min-width:760px){.sv-mosaic{grid-template-columns:repeat(4,1fr)}}
.sv-mosaic figure{margin:0;border-radius:20px;overflow:hidden;background:var(--sv-sand);aspect-ratio:1/1;position:relative}
.sv-mosaic img{width:100%;height:100%;object-fit:cover;transition:transform 1.25s cubic-bezier(.16,.84,.44,1)}
.sv-mosaic figure:hover img{transform:scale(1.08)}
.sv-mosaic figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 18px 16px;color:#fff;font-size:.88rem;font-weight:500;background:linear-gradient(180deg,transparent,rgba(9,26,35,.78));opacity:0;transform:translateY(10px);transition:opacity .45s,transform .45s}
.sv-mosaic figure:hover figcaption{opacity:1;transform:none}
@media(min-width:760px){.sv-mosaic figure.is-tall{grid-row:span 2;aspect-ratio:auto}.sv-mosaic figure.is-wide{grid-column:span 2;aspect-ratio:2/1}}

.sv-video{position:relative;border-radius:26px;overflow:hidden;background:#0B1B24;max-width:980px;margin:0 auto;aspect-ratio:16/9;box-shadow:0 30px 70px rgba(15,42,56,.18)}
.sv-video video,.sv-video iframe{width:100%;height:100%;object-fit:cover;display:block;border:0}
.sv-video__poster{position:absolute;inset:0;cursor:pointer;border:0;padding:0;background:#0B1B24;width:100%;height:100%}
.sv-video__poster img{width:100%;height:100%;object-fit:cover;opacity:.82;transition:opacity .45s,transform 1.2s cubic-bezier(.16,.84,.44,1)}
.sv-video__poster:hover img{opacity:.95;transform:scale(1.04)}
.sv-video__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:86px;height:86px;border-radius:50%;background:rgba(255,255,255,.94);color:#0F2A38;display:grid;place-items:center;transition:transform .4s cubic-bezier(.16,.84,.44,1),background .4s,color .4s}
.sv-video__poster:hover .sv-video__play{transform:translate(-50%,-50%) scale(1.1);background:#17B890;color:#06231C}
.sv-video__play svg{width:30px;height:30px;margin-left:5px}
.sv-video__play::before{content:'';position:absolute;inset:-12px;border-radius:50%;border:2px solid rgba(255,255,255,.55);animation:svPulse 2.6s cubic-bezier(.16,.84,.44,1) infinite}
@keyframes svPulse{0%{transform:scale(.92);opacity:.85}100%{transform:scale(1.4);opacity:0}}
.sv-video__empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:32px;color:#D8E4EA}
.sv-video__empty p{margin:0;font-weight:300;line-height:1.7;max-width:440px}
.sv-video__empty strong{color:#FFD166}

.sv-steps{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:52px}
.sv-step{padding-top:16px;border-top:2px solid var(--sv-line);transition:border-color .45s}
.sv-step:hover{border-color:var(--sv-accent)}
.sv-step__n{font-family:var(--sv-display);font-size:2.5rem;font-weight:700;color:var(--sv-accent);line-height:1;display:block;margin-bottom:10px}
.sv-step h3{font-size:1.06rem;margin:0 0 6px;font-weight:600;color:var(--sv-ink)}
.sv-step p{margin:0;color:var(--sv-ink2);font-weight:300;font-size:.95rem;line-height:1.68}

.sv-rate{display:inline-flex;flex-direction:row-reverse;gap:6px}
.sv-rate input{position:absolute;opacity:0;width:0;height:0}
.sv-rate label{cursor:pointer;color:#D3DDE2;transition:transform .22s cubic-bezier(.16,.84,.44,1),color .22s}
.sv-rate label svg{width:34px;height:34px;display:block}
.sv-rate input:checked ~ label,.sv-rate label:hover,.sv-rate label:hover ~ label{color:#17B890}
.sv-rate label:hover{transform:scale(1.18)}
.sv-rate input:focus-visible + label{outline:2px solid var(--sv-accent);outline-offset:3px;border-radius:4px}
.sv-rate__out{margin-left:12px;font-size:.9rem;color:var(--sv-ink2);align-self:center}

.sv-rev__empty{text-align:center;padding:46px 24px;border:1px dashed rgba(255,255,255,.2);border-radius:22px}
.sv-rev__empty h3{font-family:var(--sv-display);font-size:1.5rem;margin:0 0 10px;color:#fff}
.sv-rev__empty p{color:rgba(255,255,255,.7);font-weight:300;margin:0 0 22px;line-height:1.7}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .sv-js .sv-clip{clip-path:none;transform:none;transition:none}
  .sv-js .sv-word{opacity:1;transform:none;transition:none}
  .sv-btn::after,.sv-video__play::before{display:none}
  .sv-mosaic figure:hover img,.sv-video__poster:hover img{transform:none}
}
