/* Imperia — catalog landing: «Закрытые предложения» + «Персональная подборка» */
@property --impo-a{syntax:"<angle>";inherits:false;initial-value:0deg}
.impo{--n0:#0a111d;--n1:#0f1a2c;--n2:#16233a;--ln:rgba(255,255,255,.1);--mut:rgba(255,255,255,.64);--red:#e31e24;--red2:#ff4a50;--gold:#e7c27d;color:#fff;font-family:Manrope,Montserrat,-apple-system,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
.impo *,.impo *::before,.impo *::after{box-sizing:border-box}
.impo .imp-lp__wrap{position:relative}
.impo-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.impo-eb{display:inline-flex;align-items:center;gap:10px;font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.impo-dot{position:relative;width:8px;height:8px;border-radius:50%;background:var(--red);flex:none}
.impo-dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--red);animation:impoPing 1.8s cubic-bezier(0,0,.2,1) infinite}
@keyframes impoPing{0%{transform:scale(.4);opacity:1}100%{transform:scale(1.6);opacity:0}}
.impo-h{margin:14px 0 14px;font-size:clamp(28px,3.1vw,44px);line-height:1.08;font-weight:800;letter-spacing:-.02em;color:#fff;text-transform:none}
.impo-h span{background:linear-gradient(90deg,#ff5a5f,var(--gold) 55%,#fff 80%,#ff5a5f);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:impoShine 6s linear infinite}
@keyframes impoShine{to{background-position:-250% 0}}
.impo-p{margin:0 0 22px;font-size:16px;line-height:1.6;color:var(--mut);max-width:600px}

/* ---------- PROMO card ---------- */
.impo-card{position:relative;border-radius:30px;padding:1.5px;background:conic-gradient(from var(--impo-a),rgba(227,30,36,.0) 0deg,rgba(227,30,36,.95) 60deg,rgba(231,194,125,.9) 110deg,rgba(255,255,255,.0) 170deg,rgba(255,255,255,.0) 250deg,rgba(227,30,36,.6) 320deg,rgba(227,30,36,0) 360deg);animation:impoSpin 7s linear infinite;box-shadow:0 40px 120px -40px rgba(227,30,36,.35)}
@keyframes impoSpin{to{--impo-a:360deg}}
.impo-card__in{position:relative;border-radius:29px;overflow:hidden;background:radial-gradient(120% 90% at 0% 0%,#1b1420 0%,var(--n1) 45%,#0b1322 100%)}
.impo-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(40% 55% at 85% 15%,rgba(227,30,36,.28),transparent 70%),radial-gradient(35% 45% at 10% 100%,rgba(231,194,125,.12),transparent 70%)}
.impo-glow::before{content:"";position:absolute;width:420px;height:420px;right:-120px;top:-160px;border-radius:50%;background:radial-gradient(circle,rgba(227,30,36,.35),transparent 65%);filter:blur(10px);animation:impoFloat 9s ease-in-out infinite alternate}
.impo-glow::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(70% 80% at 70% 30%,#000,transparent 75%);mask-image:radial-gradient(70% 80% at 70% 30%,#000,transparent 75%)}
@keyframes impoFloat{to{transform:translate(-80px,60px) scale(1.15)}}
.impo-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:44px;padding:52px 52px 48px;align-items:center}
.impo-perks{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.impo-perks li{display:inline-flex;align-items:center;gap:8px;margin:0;padding:8px 13px 8px 10px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--ln);font-size:13.5px;font-weight:600;color:rgba(255,255,255,.9)}
.impo-perks li::before{display:none}
.impo-perks svg{width:17px;height:17px;color:var(--red2);flex:none}
.impo-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:600px}
.impo-stats>div{padding:14px 16px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));border:1px solid var(--ln)}
.impo-stats b{display:block;font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1.1;white-space:nowrap}
.impo-stats small{display:block;margin-top:4px;font-size:12.5px;color:var(--mut);line-height:1.3}
/* ticket list */
.impo-list{position:relative;border-radius:22px;background:rgba(6,11,20,.55);border:1px solid var(--ln);padding:8px 8px 6px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);overflow:hidden}
.impo-list::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.07),transparent);transform:skewX(-12deg);animation:impoSweep 5.5s ease-in-out 1.6s infinite;pointer-events:none}
@keyframes impoSweep{0%{left:-60%}45%,100%{left:130%}}
.impo-list__hd,.impo-row{display:grid;grid-template-columns:minmax(0,1fr) 112px 118px;gap:12px;align-items:center}
.impo-list__hd{padding:8px 14px 10px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.42)}
.impo-list__hd span:nth-child(n+2){text-align:right}
.impo-row{padding:12px 14px;border-radius:14px;border-top:1px solid rgba(255,255,255,.06);transition:background .2s}
.impo-row:hover{background:rgba(255,255,255,.045)}
.impo-row__n{min-width:0}
.impo-row__n b{display:block;font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.impo-row__n small{display:inline-flex;align-items:center;gap:6px;margin-top:3px;font-size:12px;color:var(--mut)}
.impo-row__n small::before{content:"";width:6px;height:6px;border-radius:50%;background:#7c8696}
.impo-row__n small.is-a::before{background:#33d17a;box-shadow:0 0 0 3px rgba(51,209,122,.18)}
.impo-row__n small.is-b::before{background:var(--gold)}
.impo-row__n small.is-d::before{background:#5aa9ff}
.impo-row__p{text-align:right;font-size:14.5px;font-weight:700;white-space:nowrap}
.impo-row__x{display:flex;align-items:center;justify-content:flex-end;gap:8px;font-weight:800;font-size:15px;color:#fff}
.impo-row__x i{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:rgba(227,30,36,.16);color:var(--red2);flex:none}
.impo-row__x i svg{width:15px;height:15px;animation:impoLock 4s ease-in-out infinite;animation-delay:var(--d,0ms)}
@keyframes impoLock{0%,86%,100%{transform:none}90%{transform:rotate(-14deg)}94%{transform:rotate(10deg)}}
.impo-row__x em{font-style:normal;filter:blur(4.5px);user-select:none;letter-spacing:.04em;color:#ffd3a1}
/* reveal */
.impo [data-impo-reveal] .impo-row{opacity:0;transform:translateY(10px)}
.impo [data-impo-reveal].is-in .impo-row{opacity:1;transform:none;transition:opacity .5s,transform .6s cubic-bezier(.2,.8,.2,1),background .2s;transition-delay:var(--d,0ms),var(--d,0ms),0s}
/* form */
.impo-form{margin-top:16px}
.impo-form__t{font-size:14px;font-weight:700;margin:0 0 10px;color:rgba(255,255,255,.9)}
.impo-form__row{display:flex;gap:8px;padding:6px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);transition:border-color .2s,box-shadow .2s}
.impo-form__row:focus-within{border-color:rgba(227,30,36,.7);box-shadow:0 0 0 4px rgba(227,30,36,.15)}
.impo-form input[type=tel],.impo-form input[name=name]{flex:1;min-width:0;height:50px;padding:0 16px;border:0;border-radius:13px;background:transparent;color:#fff;font:600 16px/1 inherit;font-family:inherit;outline:none;box-shadow:none;margin:0}
.impo-form input::placeholder{color:rgba(255,255,255,.42)}
.impo-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;height:50px;padding:0 22px;border:0;border-radius:13px;background:linear-gradient(135deg,#ff3a40,var(--red) 45%,#b5121a);color:#fff;font:800 15px/1 inherit;font-family:inherit;cursor:pointer;white-space:nowrap;overflow:hidden;box-shadow:0 12px 30px -10px rgba(227,30,36,.7);transition:transform .15s,box-shadow .2s;text-transform:none;letter-spacing:0;margin:0}
.impo-btn::after{content:"";position:absolute;top:0;bottom:0;left:-80%;width:50%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);animation:impoBtn 3.6s ease-in-out infinite}
@keyframes impoBtn{0%,55%{left:-80%}100%{left:140%}}
.impo-btn:hover{transform:translateY(-1px);box-shadow:0 16px 36px -10px rgba(227,30,36,.85);color:#fff}
.impo-btn svg{width:18px;height:18px;flex:none}
.impo-btn[disabled]{opacity:.7;cursor:progress}
.impo-btn--wide{width:100%;height:56px;font-size:16px}
.impo-chs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px}
.impo-chs>span{font-size:12.5px;color:var(--mut);margin-right:4px}
.impo-c{display:inline-flex;align-items:center;padding:8px 13px;border-radius:999px;border:1px solid var(--ln);background:rgba(255,255,255,.04);color:rgba(255,255,255,.86);font:600 13.5px/1.2 inherit;font-family:inherit;cursor:pointer;transition:all .18s;margin:0;text-transform:none;letter-spacing:0;box-shadow:none}
.impo-c:hover{border-color:rgba(255,255,255,.32);background:rgba(255,255,255,.08);color:#fff}
.impo-c.is-on{background:#fff;border-color:#fff;color:#0f1a2c}
.impo-c small{margin-left:6px;font-size:11.5px;font-weight:700;opacity:.55}
.impo-c.is-zero{opacity:.38}
.impo-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.impo-agree{display:flex;align-items:flex-start;gap:8px;margin:12px 0 0;font-size:12px;color:rgba(255,255,255,.5);cursor:pointer;line-height:1.4}
.impo-agree input{margin:1px 0 0;accent-color:var(--red);width:14px;height:14px;flex:none}
.impo-agree a{color:rgba(255,255,255,.72);text-decoration:underline;text-underline-offset:2px}
.impo-agree.is-err{color:#ff8a8d}
.impo-err{min-height:0;font-size:13px;color:#ff8a8d;margin-top:8px}
.impo-err:empty{display:none}
.impo-err a{color:#fff}
.impo-form.is-err .impo-form__row,.impo-form input.is-err{border-color:#ff5a5f!important;box-shadow:0 0 0 3px rgba(255,90,95,.18)}
.impo-msg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--ln);font-size:13px;color:var(--mut)}
/* success */
.impo-ok{display:flex;gap:16px;align-items:flex-start;padding:22px;border-radius:20px;background:linear-gradient(135deg,rgba(51,209,122,.14),rgba(51,209,122,.04));border:1px solid rgba(51,209,122,.35);animation:impoIn .45s cubic-bezier(.2,.8,.2,1)}
.impo-ok i{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#33d17a;color:#08210f;flex:none}
.impo-ok i svg{width:24px;height:24px}
.impo-ok b{display:block;font-size:18px;margin-bottom:4px}
.impo-ok p{margin:0;font-size:14px;color:rgba(255,255,255,.75);line-height:1.5}
@keyframes impoIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.impo-spin{width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;animation:impoR .7s linear infinite}
@keyframes impoR{to{transform:rotate(360deg)}}

/* ---------- LEAD configurator ---------- */
.impo-lead{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:0;border-radius:30px;overflow:hidden;background:#f5f2ec;color:#0f1a2c;box-shadow:0 40px 100px -50px rgba(0,0,0,.8)}
.impo-lead .impo-eb{color:#6b5a3e}
.impo-lead .impo-h{color:#0f1a2c}
.impo-lead .impo-h span{animation:none}
.impo-lead .impo-p{color:#4a5466}
.impo-lead__cfg{padding:50px 48px 46px;background:radial-gradient(90% 70% at 0% 0%,#fff 0%,#f5f2ec 60%)}
.impo-steps{display:grid;gap:18px;margin-top:6px}
.impo-q__l{display:flex;align-items:center;gap:9px;margin-bottom:9px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#7a8394}
.impo-q__l b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#0f1a2c;color:#fff;font-size:11px;letter-spacing:0}
.impo-cs{display:flex;flex-wrap:wrap;gap:8px}
.impo-lead__cfg .impo-c{padding:11px 16px;border-radius:14px;border:1px solid rgba(15,26,44,.14);background:#fff;color:#0f1a2c;font-size:14.5px;box-shadow:0 1px 0 rgba(15,26,44,.04)}
.impo-lead__cfg .impo-c:hover{border-color:rgba(15,26,44,.4);background:#fff;color:#0f1a2c;transform:translateY(-1px)}
.impo-lead__cfg .impo-c.is-on{background:#0f1a2c;border-color:#0f1a2c;color:#fff;box-shadow:0 10px 24px -12px rgba(15,26,44,.7)}
.impo-lead__card{position:relative;padding:40px 36px 34px;background:linear-gradient(160deg,#16233a,#0b1322 70%);color:#fff;display:flex;flex-direction:column;justify-content:center}
.impo-lead__card::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 50% at 100% 0,rgba(227,30,36,.3),transparent 70%);pointer-events:none}
.impo-lead__card>*{position:relative}
.impo-meter{display:flex;align-items:center;gap:18px;margin-bottom:22px}
.impo-meter__ring{position:relative;width:92px;height:92px;flex:none}
.impo-meter__ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.impo-meter__ring circle{fill:none;stroke:rgba(255,255,255,.1);stroke-width:9}
.impo-meter__ring .impo-meter__arc{stroke:var(--red);stroke-linecap:round;stroke-dasharray:326.7;stroke-dashoffset:0;transition:stroke-dashoffset .7s cubic-bezier(.2,.8,.2,1)}
.impo-meter__ring::after{content:"";position:absolute;inset:22px;border-radius:50%;background:radial-gradient(circle,rgba(227,30,36,.35),transparent 70%);animation:impoBreath 2.6s ease-in-out infinite}
@keyframes impoBreath{50%{transform:scale(1.25);opacity:.5}}
.impo-meter__n{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.impo-meter__n b{font-size:46px;font-weight:800;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.impo-meter__n span{font-size:17px;font-weight:700}
.impo-meter__t{margin-top:6px;font-size:14px;color:var(--mut)}
.impo-meter.is-bump .impo-meter__n b{animation:impoBump .4s}
@keyframes impoBump{40%{transform:scale(1.12);color:var(--gold)}}
.impo-form--lead{margin-top:0}
.impo-form__2{display:grid;gap:8px}
.impo-form--lead input[type=tel],.impo-form--lead input[name=name]{height:54px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);transition:border-color .2s,box-shadow .2s}
.impo-form--lead input:focus{border-color:rgba(227,30,36,.75);box-shadow:0 0 0 4px rgba(227,30,36,.15)}
.impo-form--lead .impo-chs{margin:12px 0 14px}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .impo-grid{grid-template-columns:1fr;gap:30px;padding:40px 34px}
  .impo-lead{grid-template-columns:1fr}
  .impo-lead__cfg{padding:40px 34px 32px}
}
@media (max-width:640px){
  .impo-card{border-radius:24px}.impo-card__in{border-radius:23px}
  .impo-grid{padding:28px 18px 24px}
  .impo-h{font-size:27px}
  .impo-p{font-size:15px}
  .impo-stats{grid-template-columns:1fr 1fr}
  .impo-stats>div:nth-child(3){grid-column:1/-1}
  .impo-stats b{font-size:21px}
  .impo-list__hd,.impo-row{grid-template-columns:minmax(0,1fr) auto 64px;gap:10px}
  .impo-list__hd span:nth-child(3){font-size:0}
  .impo-row{padding:11px 10px}
  .impo-row__n b{font-size:14px}
  .impo-row__p{font-size:13px}
  .impo-row__x em{display:none}
  .impo-form__row{flex-direction:column}
  .impo-btn{width:100%;height:52px}
  .impo-lead{border-radius:24px}
  .impo-lead__cfg{padding:30px 18px 26px}
  .impo-lead__card{padding:28px 18px 24px}
  .impo-lead__cfg .impo-c{padding:10px 13px;font-size:14px}
  .impo-meter__ring{width:76px;height:76px}
  .impo-meter__n b{font-size:38px}
}
@media (prefers-reduced-motion:reduce){
  .impo *,.impo *::before,.impo *::after,.impo-card{animation:none!important;transition:none!important}
  .impo [data-impo-reveal] .impo-row{opacity:1;transform:none}
}
