/* 06.11 · «12 месяцев вместе»: 4 варианта годовой карточки (plv--3…6) */
#plan[data-v="3"] .plv--3,#plan[data-v="4"] .plv--4,#plan[data-v="5"] .plv--5,#plan[data-v="6"] .plv--6{display:block}
.py4{--or:#ff7a45;--or2:#e2412e;--gr:#7fe0a6;--mut:rgba(255,255,255,.62);gap:0}
.py4 .pm__hd{flex-wrap:wrap;row-gap:10px}
.py4-lead{margin:18px 0 0;font-size:15px;line-height:1.5;color:var(--mut);max-width:52ch}
.py4-note{margin:14px 0 0;font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.42)}
.pyc-k{display:block;font-size:13px;font-weight:600;color:var(--or)}
.pyc-k b{color:#fff;font-weight:600}.pyc-k em{font-style:normal}

/* ---------- 3 · Кривая роста ---------- */
.pyc-ch{margin-top:16px;border-radius:18px;background:rgba(255,255,255,.035);padding:6px 4px 0;touch-action:pan-y;cursor:ew-resize}
.pyc-svg{display:block;width:100%;height:auto;overflow:visible}
.pyc-band{fill:rgba(255,255,255,.03)}
.pyc-bl{font:600 12px Onest,system-ui,sans-serif;fill:rgba(255,255,255,.45)}
.pyc-gr{stroke:rgba(255,255,255,.06);stroke-dasharray:3 5}
.pyc-ghost{fill:none;stroke:rgba(255,255,255,.14);stroke-width:2;stroke-dasharray:2 6}
.pyc-line{fill:none;stroke:var(--or);stroke-width:3.5;stroke-linecap:round}
.pyc-next{fill:none;stroke:var(--gr);stroke-width:2.5;stroke-dasharray:5 6;opacity:0;transition:opacity .5s}
.pyc-y2{font:600 12px Onest,system-ui,sans-serif;fill:var(--gr);opacity:0;transition:opacity .5s}
.py4--curve.is-end .pyc-next,.py4--curve.is-end .pyc-y2{opacity:1}
.pyc-clip{transition:width .35s cubic-bezier(.3,.7,.2,1)}
.pyc-p{fill:rgba(255,255,255,.25);transition:fill .3s}
.pyc-p.is-on{fill:#fff}
.pyc-gl{stroke:rgba(255,255,255,.22);stroke-dasharray:2 4;transition:all .35s cubic-bezier(.3,.7,.2,1)}
.pyc-dot{transition:transform .35s cubic-bezier(.3,.7,.2,1)}
.pyc-dot circle{fill:#fff}
.pyc-dot .pyc-halo{fill:rgba(255,122,69,.28);animation:pycH 1.8s ease-out infinite}
@keyframes pycH{0%{r:8;opacity:1}100%{r:20;opacity:0}}
.pyc-ms{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;margin-top:10px}
.pyc-ms button{height:30px;border:0;border-radius:8px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.7);font:600 12.5px Onest,system-ui,sans-serif;cursor:pointer;transition:background .25s,color .25s}
.pyc-ms button.is-past{background:rgba(255,122,69,.22);color:#fff}
.pyc-ms button[aria-pressed="true"]{background:linear-gradient(180deg,var(--or),var(--or2));color:#fff}
.pyc-ms button:nth-child(3n){margin-right:4px}
.pyc-out{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin-top:16px;padding:16px 18px;border-radius:16px;background:rgba(255,255,255,.06)}
.pyc-now p{margin:6px 0 0;font-size:15px;line-height:1.45;color:#fff;min-height:2.9em}
.pyc-acc{display:flex;gap:16px;margin:0;padding:0;list-style:none}
.pyc-acc li{display:flex;flex-direction:column;align-items:flex-start;min-width:62px}
.pyc-acc b{font-size:26px;font-weight:600;letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums}
.pyc-acc span{font-size:11.5px;line-height:1.3;color:var(--mut);max-width:9ch}

/* ---------- 4 · Ступени ---------- */
.pys-st{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:end;height:300px;margin-top:22px;padding-top:44px}
.pys-s{position:relative;display:flex;flex-direction:column;justify-content:flex-end;height:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.pys-top{display:block;padding:0 4px 10px;opacity:.5;transition:opacity .4s}
.pys-top em{display:block;font-style:normal;font-size:12px;font-weight:600;color:var(--or)}
.pys-top b{display:block;margin-top:2px;font-size:18px;font-weight:600;letter-spacing:-.02em;color:#fff}
.pys-col{position:relative;display:block;height:var(--h);border-radius:14px 14px 6px 6px;background:rgba(255,255,255,.07);overflow:hidden;transform-origin:bottom;transform:scaleY(.15);transition:transform .7s cubic-bezier(.3,.7,.2,1) calc(var(--i) * .12s),background .4s}
.pys-col::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,var(--or),var(--or2));opacity:0;transition:opacity .45s}
.py4--steps.is-in .pys-col{transform:none}
.pys-s.is-done .pys-col::after{opacity:.45}
.pys-s.is-cur .pys-col::after{opacity:1}
.pys-s.is-done .pys-top,.pys-s.is-cur .pys-top{opacity:1}
.pys-n{position:absolute;left:12px;bottom:10px;z-index:1;font-style:normal;font-size:30px;font-weight:600;letter-spacing:-.04em;color:rgba(255,255,255,.9)}
.pys-s:focus-visible{outline:2px solid var(--gr);outline-offset:4px;border-radius:14px}
.pys-me{position:absolute;z-index:2;display:flex;align-items:center;gap:6px;padding:5px 10px 5px 5px;border-radius:999px;background:#fff;color:#111;font-size:12.5px;font-weight:600;white-space:nowrap;box-shadow:0 6px 18px rgba(0,0,0,.35);
  left:var(--mx,0%);bottom:var(--my,0%);transform:translate(8px,50%);transition:left .55s cubic-bezier(.3,.7,.2,1),bottom .55s cubic-bezier(.34,1.5,.5,1);pointer-events:none}
.pys-me i{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle,#fff 0 3px,transparent 3.5px),var(--or2)}
.pys-flag{position:absolute;right:4px;top:0;display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:rgba(94,211,143,.14);color:var(--gr);font-size:13px;font-weight:600;opacity:.35;transition:opacity .4s,transform .4s}
.pys-flag svg{width:14px;height:14px;fill:currentColor}
.py4--steps.is-top .pys-flag{opacity:1;transform:translateY(-2px)}
.pys-pns{position:relative;margin-top:16px}
.pys-pn{display:none;padding:16px 18px;border-radius:16px;background:rgba(255,255,255,.06);animation:pysIn .35s ease}
.pys-pn.is-on{display:block}
@keyframes pysIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.pys-pn ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 0;padding:0;list-style:none}
.pys-pn li{display:flex;gap:8px;align-items:flex-start;font-size:14px;line-height:1.4;color:#fff}
.pys-pn svg{width:18px;height:18px;flex:none;fill:var(--gr)}
.py4--steps .py__meet{margin-top:16px}

/* ---------- 5 · Копилка года ---------- */
.pyb-g{display:grid;gap:7px;margin-top:20px}
.pyb-r{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:10px}
.pyb-r>span{font-size:12.5px;font-weight:600;color:var(--mut)}
.pyb-w{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:4px}
.pyb-w i{aspect-ratio:1;border-radius:5px;background:rgba(255,255,255,.07);position:relative;overflow:hidden}
.pyb-w i::after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,var(--or),var(--or2));
  opacity:0;transform:scale(.3);transition:opacity .3s calc(var(--i) * 34ms),transform .4s cubic-bezier(.34,1.6,.5,1) calc(var(--i) * 34ms)}
.py4--bank.is-play .pyb-w i::after{opacity:calc(.32 + var(--i) / 52 * .68);transform:none}
.pyb-w i:nth-child(13)::before{content:'';position:absolute;inset:3px;z-index:1;border-radius:50%;background:#fff;opacity:0;transition:opacity .3s calc(var(--i) * 34ms + .2s)}
.py4--bank.is-play .pyb-w i:nth-child(13)::before{opacity:.9}
.pyb-ax{display:flex;justify-content:space-between;margin-left:86px;font-size:11.5px;color:rgba(255,255,255,.4)}
.pyb-lg{display:flex;align-items:center;gap:6px}.pyb-lg i{width:9px;height:9px;border-radius:50%;background:#fff;opacity:.9}
.pyb-c{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0 0;padding:0;list-style:none}
.pyb-c li{padding:14px 14px 12px;border-radius:14px;background:rgba(255,255,255,.06)}
.pyb-c b{display:block;font-size:30px;font-weight:600;letter-spacing:-.04em;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.pyb-c span{display:block;margin-top:6px;font-size:12px;line-height:1.35;color:var(--mut)}
.pyb-c em{display:block;font-style:normal;font-size:13.5px;font-weight:600;color:#fff}
.pyb-gift{display:flex;align-items:center;gap:14px;margin-top:auto;padding:14px 18px;border-radius:16px;background:rgba(94,211,143,.1);font-size:14.5px;line-height:1.45;color:rgba(255,255,255,.85)}
.py4--bank .pyb-c{margin-bottom:18px}
.pyb-gift b{flex:none;font-size:26px;font-weight:600;letter-spacing:-.03em;color:var(--gr)}

/* ---------- 6 · Радиус ---------- */
.pyr-g{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:20px;align-items:center;margin-top:18px}
.pyr-map{position:relative;border-radius:20px;background:#17171a;overflow:hidden;aspect-ratio:1;max-width:100%}
.pyr-map svg{display:block;width:100%;height:100%}
.pyr-st{fill:none;stroke:rgba(255,255,255,.08);stroke-width:7;stroke-linecap:round}
.pyr-rv{fill:none;stroke:rgba(120,170,255,.12);stroke-width:12}
.pyr-q{fill:none;stroke:rgba(255,255,255,.07);stroke-dasharray:2 5}
.pyr-zone{fill:rgba(255,122,69,.16);transition:r .6s cubic-bezier(.3,.7,.2,1)}
.pyr-edge{fill:none;stroke:var(--or);stroke-width:1.5;stroke-dasharray:4 5;transition:r .6s cubic-bezier(.3,.7,.2,1);animation:pyrE 14s linear infinite}
@keyframes pyrE{to{stroke-dashoffset:-180}}
.pyr-s{fill:rgba(255,255,255,.2);transition:fill .4s,r .4s}
.pyr-s.is-in{fill:var(--or);r:3.4}
.pyr-me{transform:translate(150px,150px)}
.pyr-me circle{fill:#fff}
.pyr-me path{fill:var(--or2)}
.pyr-lg{position:absolute;left:12px;bottom:12px;display:flex;align-items:center;gap:7px;padding:5px 10px;border-radius:999px;background:rgba(0,0,0,.45);font-size:12px;color:rgba(255,255,255,.8)}
.pyr-lg i{width:10px;height:10px;border-radius:50%;background:rgba(255,122,69,.5);box-shadow:0 0 0 1.5px var(--or)}
.pyr-side{min-width:0}
.pyr-t{margin:8px 0 0;font-size:17px;line-height:1.45;color:#fff;min-height:4.4em}
.pyr-bar{height:8px;margin-top:14px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.pyr-bar i{display:block;height:100%;width:10%;border-radius:inherit;background:linear-gradient(90deg,var(--or2),var(--or));transition:width .6s cubic-bezier(.3,.7,.2,1)}
.pyr-bl{display:block;margin-top:6px;font-size:12px;color:var(--mut)}
.pyr-sl{display:block;margin-top:18px}
.pyr-sl input{width:100%;height:32px;margin:0;background:none;-webkit-appearance:none;appearance:none;cursor:pointer;accent-color:#ff7a45}
.pyr-sl input::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:rgba(255,255,255,.14)}
.pyr-sl input::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-9px;border-radius:50%;background:#fff;box-shadow:0 0 0 6px rgba(255,122,69,.35)}
.pyr-sl input::-moz-range-track{height:6px;border-radius:999px;background:rgba(255,255,255,.14)}
.pyr-sl input::-moz-range-thumb{width:22px;height:22px;border:0;border-radius:50%;background:#fff;box-shadow:0 0 0 6px rgba(255,122,69,.35)}
.pyr-tk{display:flex;justify-content:space-between;padding:0 6px;font-size:11.5px;color:rgba(255,255,255,.45)}
.py4--rad .py__meet{margin-top:18px}
.py4 .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

@media (max-width:760px){
  .py4-lead{font-size:14px}
  .pyc-bl,.pyc-y2{font-size:21px}.pyc-dot circle:not(.pyc-halo){r:10}
  .pyc-ms{gap:3px}.pyc-ms button{height:28px;font-size:11px;border-radius:6px}.pyc-ms button:nth-child(3n){margin-right:2px}
  .pyc-out{grid-template-columns:minmax(0,1fr);gap:12px}
  .pyc-acc{gap:10px}.pyc-acc li{min-width:0;flex:1}.pyc-acc b{font-size:22px}
  .pys-st{height:250px;gap:5px;padding-top:40px}
  .pys-top{padding:0 0 8px}.pys-top em{font-size:10.5px}.pys-top b{font-size:13.5px}
  .pys-n{font-size:22px;left:8px}
  .pys-me{font-size:11px;transform:translate(2px,50%)}
  .pys-pn ul{grid-template-columns:minmax(0,1fr);gap:8px}
  .pyb-r{grid-template-columns:minmax(0,1fr);gap:4px}
  .pyb-w{gap:3px}.pyb-w i{border-radius:3px}
  .pyb-ax{margin-left:0}
  .pyb-c{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pyb-c b{font-size:26px}
  .pyr-g{grid-template-columns:minmax(0,1fr)}
  .pyr-t{font-size:15.5px;min-height:3em}
}
@media (prefers-reduced-motion:reduce){.pys-col,.pyb-w i::after{transition:none}.pyc-dot .pyc-halo,.pyr-edge{animation:none}}
