/* ── Тест Соцликбез: баннер на главной и страница /test/ ── */
/* баннер на главной */
.tbanner{position:relative;z-index:2;padding:0}
.s:has(+ .tbanner){padding-bottom:clamp(50px,6vw,80px)}
.tbanner + .s{padding-top:clamp(60px,7vw,100px)}
.tbanner a{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(18px,3vw,36px);align-items:center;
  padding:clamp(22px,3vw,34px) clamp(22px,3.4vw,44px);border-radius:28px;text-decoration:none;color:var(--txt);
  background:linear-gradient(120deg,rgba(255,62,200,.2),rgba(155,107,255,.16) 45%,rgba(61,232,255,.14)),rgba(10,3,34,.8);
  border:1px solid rgba(255,62,200,.45);box-shadow:0 0 60px rgba(255,62,200,.18),inset 0 1px 0 rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:transform .35s,box-shadow .35s,border-color .35s}
.tbanner a::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle,rgba(255,255,255,.35) 0 1px,transparent 1.6px) 0 0/16px 16px;
  -webkit-mask:linear-gradient(90deg,transparent 40%,#000);mask:linear-gradient(90deg,transparent 40%,#000);opacity:.5}
.tbanner a:hover{transform:translateY(-4px);border-color:var(--pink);box-shadow:0 0 90px rgba(255,62,200,.32)}
.tbanner .ico{width:74px;height:74px;border-radius:22px;display:grid;place-items:center;font:400 26px/1 var(--display);color:#fff;
  background:conic-gradient(from 200deg,var(--pink),var(--violet),var(--cyan),var(--gold),var(--pink));box-shadow:0 0 34px rgba(255,62,200,.55)}
.tbanner .ico span{width:62px;height:62px;border-radius:17px;display:grid;place-items:center;background:#12053a}
.tbanner small{display:block;font:700 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);margin-bottom:10px}
.tbanner b{display:block;font:400 clamp(22px,2.6vw,32px)/1.15 var(--display)}
.tbanner .d{display:block;margin:8px 0 0;color:var(--dim);font-size:15.5px}
.tbanner .btn{pointer-events:none}
@media (max-width:760px){.tbanner a{grid-template-columns:1fr;text-align:left}.tbanner .ico{width:58px;height:58px}.tbanner .ico span{width:48px;height:48px;font-size:20px}}

/* страница теста */
.tp-page{padding-top:68px}
.tp-hero{position:relative;overflow:hidden;isolation:isolate;padding:clamp(56px,8vw,110px) 0 clamp(70px,9vw,120px)}
.tp-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:
  linear-gradient(90deg,transparent 3%,rgba(61,232,255,.85) 26%,rgba(255,62,200,.95) 55%,rgba(155,107,255,.85) 82%,transparent 97%) 0 100%/100% 2px no-repeat,
  linear-gradient(0deg,rgba(255,62,200,.2),transparent) 0 100%/100% 120px no-repeat,
  radial-gradient(520px 520px at 76% 50%,rgba(255,62,200,.34),transparent 70%),
  radial-gradient(420px 380px at 88% 18%,rgba(155,107,255,.3),transparent 70%),
  radial-gradient(640px 420px at 6% 12%,rgba(61,232,255,.16),transparent 70%),
  linear-gradient(180deg,#06011a 0%,#14053a 55%,#1d0948 100%)}
.tp-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(circle,rgba(255,255,255,.85) 0 1.1px,transparent 1.9px) 17px 29px/113px 97px,
  radial-gradient(circle,rgba(255,154,228,.75) 0 1.4px,transparent 2.3px) 61px 8px/157px 131px,
  radial-gradient(circle,rgba(143,233,255,.7) 0 1.2px,transparent 2px) 103px 71px/199px 173px,
  radial-gradient(circle,rgba(255,255,255,.6) 0 .9px,transparent 1.6px) 41px 113px/241px 211px,
  radial-gradient(circle,rgba(255,226,138,.65) 0 1.3px,transparent 2.2px) 149px 47px/283px 251px,
  radial-gradient(circle,rgba(155,107,255,.8) 0 1.6px,transparent 2.6px) 7px 163px/331px 293px;
  -webkit-mask:radial-gradient(60% 75% at 72% 48%,#000 15%,transparent 72%),radial-gradient(40% 50% at 12% 20%,rgba(0,0,0,.6),transparent 70%);
  mask:radial-gradient(60% 75% at 72% 48%,#000 15%,transparent 72%),radial-gradient(40% 50% at 12% 20%,rgba(0,0,0,.6),transparent 70%)}
.tp-hero-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(30px,5vw,70px);align-items:center}
.tp-copy h1{margin:18px 0 16px;font:400 clamp(40px,5.4vw,76px)/1 var(--display);text-wrap:balance}
.tp-copy h1 .g{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 22px rgba(255,62,200,.4))}
.tp-copy .lead{margin:0 0 28px;font-size:clamp(17px,1.6vw,20px);line-height:1.55;color:#ddd3fb;max-width:600px}
.tp-copy .row{display:flex;flex-wrap:wrap;gap:12px}
.tp-card{position:relative;border-radius:28px;padding:24px;display:grid;gap:18px;overflow:hidden;
  background:linear-gradient(160deg,#2a0f6e,#0e0433 70%);border:1px solid rgba(255,214,107,.45);box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 60px rgba(255,62,200,.2);transform:rotate(2deg)}
.tp-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 25%,rgba(255,154,228,.14) 40%,rgba(143,233,255,.14) 50%,rgba(255,226,138,.12) 60%,transparent 75%);background-size:260% 100%;animation:foil 7s ease-in-out infinite alternate}
.tp-card-top{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--dim);letter-spacing:.06em;text-transform:uppercase;font-weight:700}
.tp-card-top i{font-style:normal;text-transform:none;letter-spacing:0;font-weight:500}.tp-card-top b{color:var(--green)}
.tp-type b{display:block;font:400 clamp(58px,7vw,88px)/1 var(--display);background:linear-gradient(180deg,#fff,#ff9ae4);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 24px rgba(255,62,200,.45))}
.tp-type span{color:var(--dim);font-size:15px}
.tp-bars{display:grid;gap:9px}
.tp-bars .bar{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;font:12.5px/1 var(--display);color:var(--dim)}
.tp-bars .bar i{height:8px;border-radius:8px;background:rgba(255,255,255,.08);position:relative;overflow:hidden}
.tp-bars .bar i::after{content:"";position:absolute;inset:0;width:var(--v);border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--c) 50%,transparent),var(--c));box-shadow:0 0 12px var(--c);
  transform-origin:left;animation:grow 1.4s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i) * .08s + .3s)}
@keyframes grow{from{transform:scaleX(0)}}
.tp-card-foot{font-size:13px;color:var(--faint);border-top:1px solid var(--line);padding-top:14px}
.tp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.tcard{padding:26px 22px;display:grid;gap:10px;align-content:start}
.tcard>b{font:400 14px var(--display);color:var(--c)}
.tcard h3{margin:0;font-size:19px}
.tcard p{margin:0;color:var(--dim);font-size:15.5px;line-height:1.6}
.tp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:s}
.tp-steps li{display:grid;gap:14px;align-content:start}
.tp-steps li>b{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font:400 20px/1 var(--display);color:#fff;border:1px solid var(--c);
  background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--c) 40%,#1a0a4a),#0b0428);box-shadow:0 0 24px color-mix(in srgb,var(--c) 55%,transparent)}
.tp-steps h3{margin:0 0 6px;font-size:18px}.tp-steps p{margin:0;color:var(--dim);font-size:15px;line-height:1.6}
.tp-why{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,60px);align-items:start}
.tp-why ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.tp-why li{padding:18px 20px 18px 52px;border-radius:18px;position:relative;border:1px solid var(--line);background:linear-gradient(160deg,rgba(40,20,100,.32),rgba(14,6,44,.5));color:#d6cdf5;line-height:1.6}
.tp-why li::before{content:"";position:absolute;left:20px;top:24px;width:14px;height:14px;border-radius:50%;background:var(--pink);box-shadow:0 0 14px var(--pink)}
.tp-why li b{color:#fff}.tp-why a{color:var(--cyan)}
.tp-final .form{gap:18px}
.tp-final-sub{margin:0;color:var(--dim)}
@media (max-width:980px){.tp-hero-in,.tp-why{grid-template-columns:1fr}.tp-card{max-width:440px;transform:none}.tp-grid,.tp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.tp-grid,.tp-steps{grid-template-columns:1fr}.tp-copy .row .btn{width:100%}}



/* пример отчёта: настоящая картинка для сторис вместо нарисованных полос */
.tp-story{margin:0;padding:10px;gap:10px;justify-self:center;width:100%;max-width:370px}
.tp-story img{display:block;width:100%;height:auto;border-radius:20px;box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.tp-story figcaption{font-size:13px;color:var(--faint);text-align:center;padding:0 6px 4px}
@media (max-width:980px){.tp-story{max-width:320px;margin-inline:auto;transform:rotate(1.5deg)}}
