/* Страница «Партнёрам» (/partners) и личные лендинги /p/{slug}. Канон сайта: Inter, #f8f8f8, розовый/синий, золотая CTA. Префикс pp-. */
.header-sub{position:relative; z-index:0; overflow:hidden}
.pp-coins{position:absolute; left:0; top:0; width:100%; height:100%; z-index:-1; pointer-events:none}
.pp-hint{position:absolute; right:28px; bottom:18px; z-index:2; font-size:13px; color:#fff; opacity:.65; display:flex; align-items:center; gap:8px}
.pp-hint:before{content:""; width:10px; height:10px; border-radius:50%; background:#ffcc8f; box-shadow:0 0 0 0 rgba(255,204,143,.7); animation:pp-ping 2s infinite}
@keyframes pp-ping{to{box-shadow:0 0 0 12px rgba(255,204,143,0)}}
@media(max-width:900px){.pp-hint{display:none}}
.pp-pill{display:inline-block; background:#f91158; color:#fff; border-radius:10px; padding:8px 15px; font-size:18px; line-height:1.2; margin-bottom:22px}
.hero-sub h1 u{text-decoration:underline; text-decoration-color:#f91158; text-underline-offset:8px; text-decoration-thickness:4px}
.pp-hero-visual{position:relative; min-height:380px}
.pp-photo{border-radius:30px; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.45); transform:rotate(-1.5deg); transition:transform .5s}
.pp-photo img{display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover}
.pp-hero-visual:hover .pp-photo{transform:rotate(0deg) scale(1.01)}
.pp-chip{position:absolute; background:#fff; color:#000; border-radius:18px; padding:14px 18px; font-size:15px; line-height:1.25; box-shadow:0 18px 40px rgba(0,0,0,.35); display:flex; gap:12px; align-items:center; animation:pp-float 6s ease-in-out infinite; will-change:transform}
.pp-chip .amt{font-weight:800; font-size:22px; letter-spacing:-.02em; white-space:nowrap}
.pp-chip .sub{color:#5a5a66; font-size:13px}
.pp-chip .dot{width:38px; height:38px; border-radius:12px; display:grid; place-items:center; flex:none; font-weight:800; color:#fff}
.pp-chip.c1{left:-30px; top:34px}
.pp-chip.c2{right:-24px; top:46%; animation-delay:-2s}
.pp-chip.c3{left:12%; bottom:-26px; animation-delay:-4s}
@keyframes pp-float{0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)}}
@media(max-width:991px){.pp-hero-visual{margin-top:30px} .pp-chip.c1{left:0} .pp-chip.c2{right:0}}
@media(max-width:600px){.pp-chip{position:static; margin-top:12px; animation:none} .pp-hero-visual{display:flex; flex-direction:column; min-height:0} .pp-photo{transform:none}}
/* фон страницы: html как стек-контекст, иначе фиксированный слой с z-index:-1 всплывает над контентом */
html{position:relative; z-index:0}
.pp-ambient{position:fixed; inset:0; z-index:-1; pointer-events:none; overflow:hidden}
.pp-ambient i{position:absolute; border-radius:50%; filter:blur(90px); opacity:.55; will-change:transform}
.pp-ambient .a{width:720px; height:720px; background:#ffd9e4; left:-260px; top:26vh; animation:pp-amb 28s ease-in-out infinite alternate}
.pp-ambient .b{width:640px; height:640px; background:#dbe8ff; right:-240px; top:58vh; animation:pp-amb 34s ease-in-out infinite alternate-reverse}
.pp-ambient .c{width:520px; height:520px; background:#fff1d6; left:38vw; top:110vh; animation:pp-amb 40s ease-in-out infinite alternate}
@keyframes pp-amb{from{transform:translate(0,0) scale(1)} to{transform:translate(90px,-70px) scale(1.12)}}
.pp-ambient .dots{position:absolute; inset:0; background-image:radial-gradient(#d9dbe3 1.1px,transparent 1.4px); background-size:28px 28px; opacity:.55}
/* секции */
.pp-sec{margin-top:100px; position:relative; z-index:0; scroll-margin-top:110px}
.pp-apply{scroll-margin-top:110px}
.pp-sec .container{position:relative}
.pp-h2{font-weight:600; font-size:40px; line-height:1; margin:0; color:#000}
@media(max-width:767px){.pp-h2{font-size:30px}}
.pp-lead{font-size:18px; margin:18px 0 0; max-width:40em; color:#000}
.pp-card{background:#fff; border-radius:30px; padding:30px; color:#000}
.pp-num{background:#0067f4; color:#fff; border-radius:15px; padding:14px 18px; font-weight:600; font-size:20px; line-height:1; display:inline-block}
.pp-reveal{opacity:1; transform:none; transition:opacity .7s, transform .7s}
.pp-reveal.pre{opacity:0; transform:translateY(24px)}
.pp-float{position:absolute; z-index:-1; pointer-events:none; filter:drop-shadow(0 28px 34px rgba(0,0,0,.14)); will-change:transform; opacity:.95}
@media(max-width:1360px){.pp-float{display:none}}
.pp-spot{position:relative; overflow:hidden}
.pp-spot:after{content:""; position:absolute; inset:0; border-radius:inherit; background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), rgba(0,103,244,.11), transparent 62%); opacity:0; transition:opacity .35s; pointer-events:none}
.pp-spot.dark:after{background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,.14), transparent 62%)}
.pp-spot:hover:after{opacity:1}
.pp-tilt{transform-style:preserve-3d; transition:transform .18s ease-out!important}
/* схема */
.pp-scheme{display:grid; grid-template-columns:1fr 1fr 1fr; gap:20px; margin-top:34px}
@media(max-width:900px){.pp-scheme{grid-template-columns:1fr}}
.pp-scheme .pp-card{position:relative; overflow:hidden; min-height:230px; transition:transform .25s}
.pp-scheme .big{font-weight:800; font-size:64px; line-height:1; letter-spacing:-.03em; margin:8px 0 6px}
.pp-scheme .big small{font-size:22px; font-weight:600; letter-spacing:0; margin-left:6px}
.pp-scheme .pp-card.dark{background:#001532; color:#fff}
.pp-scheme .rub{color:#5a5a66; font-size:16px}
.pp-scheme .pp-card.dark .rub{color:rgba(255,255,255,.7)}
.pp-scheme .bar{position:absolute; left:0; right:0; bottom:0; height:8px; background:linear-gradient(90deg,#f91158,#0067f4)}
/* калькулятор */
.pp-calc{display:grid; grid-template-columns:.9fr 1.1fr; gap:24px; margin-top:34px}
@media(max-width:900px){.pp-calc{grid-template-columns:1fr}}
.pp-calc label{display:block; font-weight:600; margin-bottom:8px; font-size:16px}
.pp-calc .val{font-weight:800; font-size:44px; letter-spacing:-.02em; line-height:1}
.pp-calc .val small{font-size:16px; font-weight:400; color:#5a5a66; letter-spacing:0; margin-left:6px}
.pp-calc input[type=range]{width:100%; accent-color:#f91158; height:32px; cursor:pointer}
.pp-calc .ctrl{margin-top:18px}
.pp-seg{display:inline-flex; background:#f1f1f4; border-radius:14px; padding:4px; gap:4px; margin-top:10px}
.pp-seg button{border:0; background:transparent; font:inherit; font-size:15px; padding:10px 16px; border-radius:11px; cursor:pointer; color:#333}
.pp-seg button.on{background:#000; color:#fff}
.pp-totals{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:22px}
@media(max-width:600px){.pp-totals{grid-template-columns:1fr}}
.pp-tot{background:#f8f8f8; border-radius:18px; padding:16px 18px}
.pp-tot .k{font-size:13px; color:#5a5a66}
.pp-tot .v{font-weight:800; font-size:26px; letter-spacing:-.02em; margin-top:4px; white-space:nowrap}
.pp-tot.hot{background:#001532; color:#fff}
.pp-tot.hot .k{color:rgba(255,255,255,.7)}
.pp-chart{position:relative; height:320px; display:flex; align-items:flex-end; gap:8px; padding:20px 4px 34px; border-bottom:2px solid #eee}
.pp-col{flex:1; display:flex; flex-direction:column; justify-content:flex-end; height:100%; position:relative; cursor:pointer}
.pp-col .seg1,.pp-col .seg2{width:100%; transition:height .6s cubic-bezier(.2,.8,.2,1)}
.pp-col .seg1{background:#f91158; border-radius:0 0 8px 8px}
.pp-col .seg2{background:#0067f4; border-radius:8px 8px 0 0}
.pp-col.norec .seg1{border-radius:8px}
.pp-col .m{position:absolute; bottom:-26px; left:0; right:0; text-align:center; font-size:12px; color:#5a5a66}
.pp-col .tip{position:absolute; left:50%; transform:translateX(-50%); bottom:calc(100% + 8px); background:#000; color:#fff; font-size:12px; padding:8px 10px; border-radius:10px; white-space:nowrap; opacity:0; pointer-events:none; transition:opacity .2s; z-index:2}
.pp-col:hover .tip{opacity:1}
.pp-legend{display:flex; gap:18px; font-size:14px; color:#5a5a66; margin-top:14px; flex-wrap:wrap}
.pp-legend i{display:inline-block; width:12px; height:12px; border-radius:4px; margin-right:6px; vertical-align:-1px}
/* как работает */
.pp-pipe{margin-top:34px; background:#fff; border-radius:30px; padding:34px 30px 30px; position:relative; overflow:hidden}
.pp-pipe-track{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; position:relative}
@media(max-width:800px){.pp-pipe-track{grid-template-columns:1fr 1fr}}
.pp-pipe-line{position:absolute; left:8%; right:8%; top:62px; height:4px; background:#eef0f4; border-radius:4px; overflow:hidden}
@media(max-width:800px){.pp-pipe-line{display:none}}
.pp-pipe-line i{position:absolute; top:0; width:80px; height:4px; background:linear-gradient(90deg,transparent,#f91158,transparent); animation:pp-run 3.2s linear infinite}
.pp-pipe-line i:nth-child(2){animation-delay:-1.1s; background:linear-gradient(90deg,transparent,#0067f4,transparent)}
.pp-pipe-line i:nth-child(3){animation-delay:-2.2s}
@keyframes pp-run{from{left:-80px} to{left:100%}}
.pp-step{text-align:center; position:relative}
.pp-step .ic{width:128px; height:128px; border-radius:36px; margin:0 auto 14px; display:grid; place-items:center; background:#fff; position:relative; z-index:1}
.pp-step .ic img{width:118px; height:118px; object-fit:contain; display:block; filter:drop-shadow(0 12px 18px rgba(0,0,0,.14)); transition:transform .35s}
.pp-step:hover .ic img{transform:translateY(-8px) rotate(-5deg) scale(1.06)}
.pp-step b{display:block; font-size:18px; margin-bottom:6px}
.pp-step span{font-size:15px; color:#5a5a66}
/* конструктор промокода */
.pp-builder{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:34px; align-items:start}
@media(max-width:900px){.pp-builder{grid-template-columns:1fr}}
.pp-field{margin-top:16px}
.pp-field label{display:block; font-size:14px; color:#5a5a66; margin-bottom:6px}
.pp-field input,.pp-field select{width:100%; border:2px solid #e9e9ee; border-radius:14px; padding:14px 16px; font:inherit; font-size:18px; outline:none; transition:border-color .2s; background:#fff; color:#000}
.pp-field input:focus,.pp-field select:focus{border-color:#0067f4}
.pp-kv{display:flex; justify-content:space-between; align-items:center; gap:12px; background:#f8f8f8; border-radius:16px; padding:14px 16px; margin-top:10px}
.pp-kv .k{font-size:13px; color:#5a5a66}
.pp-kv .v{font-weight:700; font-size:18px; word-break:break-all}
.pp-copy{border:2px solid #000; background:#fff; border-radius:10px; padding:8px 12px; font:inherit; font-size:14px; cursor:pointer; white-space:nowrap; transition:background .2s; color:#000}
.pp-copy:hover{background:#000; color:#fff}
.pp-copy.done{background:#12a150; border-color:#12a150; color:#fff}
.pp-tg{background:#fff; border-radius:30px; padding:22px; box-shadow:0 20px 60px rgba(0,0,0,.08); transform:rotate(1deg); transition:transform .4s; color:#000}
.pp-tg:hover{transform:rotate(0)}
.pp-tg .head{display:flex; align-items:center; gap:12px; margin-bottom:14px}
.pp-tg .ava{width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,#f91158,#0067f4); color:#fff; font-weight:800; display:grid; place-items:center}
.pp-tg .head b{display:block; font-size:15px}
.pp-tg .head span{font-size:12px; color:#5a5a66}
.pp-tg .body{font-size:15px; line-height:1.5}
.pp-tg .body p{margin:0 0 10px}
.pp-tg .code{display:inline-block; background:#000; color:#fff; border-radius:8px; padding:3px 10px; font-weight:700; letter-spacing:.06em}
.pp-tg .erid{font-size:12px; color:#5a5a66; border-top:1px solid #eee; padding-top:10px; margin-top:12px}
.pp-tg .btn{display:block; text-align:center; background:#e8f0fe; color:#0067f4; border-radius:12px; padding:10px; font-weight:600; margin-top:12px; font-size:14px}
/* бенто */
.pp-bento{display:grid; grid-template-columns:repeat(6,1fr); gap:20px; margin-top:34px}
.pp-bento .pp-card{grid-column:span 2; position:relative; overflow:hidden; min-height:220px; transition:transform .25s}
.pp-bento .pp-card:hover{transform:translateY(-5px)}
.pp-bento .pp-card.w{grid-column:span 3}
@media(max-width:900px){.pp-bento{grid-template-columns:1fr 1fr} .pp-bento .pp-card,.pp-bento .pp-card.w{grid-column:span 1}}
@media(max-width:560px){.pp-bento{grid-template-columns:1fr}}
.pp-bento h3{margin:0 0 8px; font-size:22px; line-height:1.15; font-weight:700}
.pp-bento p{margin:0; font-size:16px; color:#5a5a66}
.pp-bento .pp-mark{font-weight:800; font-size:48px; letter-spacing:-.03em; line-height:1; color:#f91158; margin-bottom:10px}
.pp-bento .pp-card.navy{background:#001532; color:#fff}
.pp-bento .pp-card.navy p{color:rgba(255,255,255,.72)}
.pp-bento .pp-card.navy .pp-mark{color:#ffcc8f}
.pp-bento .pp-card.navy h3,.pp-bento .pp-card.navy p{max-width:calc(100% - 150px); position:relative; z-index:1}
.pp-mini{position:absolute; right:-10px; bottom:-10px; width:230px; background:#f8f8f8; border-radius:18px 0 30px 0; padding:14px; font-size:11px}
.pp-mini .row{display:flex; justify-content:space-between; padding:6px 0; border-bottom:1px solid #eee; margin:0}
.pp-mini .row:last-child{border:0}
.pp-mini b{font-size:13px}
.pp-bento .pp-card.has-dash h3,.pp-bento .pp-card.has-dash p{max-width:calc(100% - 225px)}
.pp-render{position:absolute; right:-8px; bottom:-16px; width:150px; height:150px; object-fit:contain; filter:drop-shadow(0 16px 22px rgba(0,0,0,.16)); transition:transform .45s cubic-bezier(.2,.8,.2,1); z-index:0}
.pp-render.big{width:230px; height:230px; right:-20px; bottom:-30px}
.pp-bento .pp-card:hover .pp-render{transform:translateY(-10px) rotate(-6deg) scale(1.06)}
.pp-bento .pp-card.has-render{min-height:250px}
.pp-bento .pp-card.has-render h3,.pp-bento .pp-card.has-render p{max-width:calc(100% - 96px); position:relative; z-index:1}
.pp-bento .pp-card.has-render p{max-width:calc(100% - 118px)}
@media(max-width:560px){.pp-mini{position:static; width:100%; margin-top:14px; border-radius:18px} .pp-bento .pp-card.has-dash h3,.pp-bento .pp-card.has-dash p{max-width:none} .pp-render{width:110px; height:110px} .pp-render.big{width:150px; height:150px}}
/* кому подходит */
.pp-who{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:34px}
@media(max-width:900px){.pp-who{grid-template-columns:1fr}}
.pp-who .pp-card{padding:0; overflow:hidden}
.pp-who img{display:block; width:100%; aspect-ratio:1/1; object-fit:cover; transition:transform .6s}
.pp-who .pp-card:hover img{transform:scale(1.04)}
.pp-who .t{padding:22px 26px 26px}
.pp-who h3{margin:0 0 6px; font-size:22px; font-weight:700}
.pp-who p{margin:0; font-size:15px; color:#5a5a66}
/* условия */
.pp-terms{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:34px}
@media(max-width:800px){.pp-terms{grid-template-columns:1fr}}
.pp-terms .row{display:flex; justify-content:space-between; gap:20px; padding:14px 0; border-bottom:1px solid #eee; font-size:16px; margin:0}
.pp-terms .row:last-child{border:0}
.pp-terms .row span:last-child{font-weight:600; text-align:right}
/* faq */
.pp-faq{margin-top:34px; display:grid; gap:12px}
.pp-q{background:#fff; border-radius:20px; overflow:hidden}
.pp-q button{width:100%; text-align:left; background:none; border:0; font:inherit; font-size:19px; font-weight:600; padding:22px 26px; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px; color:#000}
.pp-q button:after{content:"+"; font-size:28px; font-weight:300; transition:transform .3s}
.pp-q.open button:after{transform:rotate(45deg)}
.pp-q .a{max-height:0; overflow:hidden; transition:max-height .4s ease; padding:0 26px; color:#222; font-size:16px}
.pp-q.open .a{max-height:400px; padding-bottom:22px}
/* заявка */
.pp-apply{margin-top:100px; background:#001532; border-radius:30px; color:#fff; padding:50px 40px; display:grid; grid-template-columns:1fr 1fr; gap:40px; position:relative; overflow:hidden}
@media(max-width:900px){.pp-apply{grid-template-columns:1fr; padding:34px 24px}}
.pp-apply .pp-h2{color:#fff}
.pp-apply .pp-field label{color:rgba(255,255,255,.7)}
.pp-apply .pp-field input,.pp-apply .pp-field select{border-color:#fff; font-size:17px}
.pp-apply .ok{background:#12a150; color:#fff; border-radius:14px; padding:16px; margin-top:16px; font-weight:600}
.pp-gold{display:inline-flex; align-items:center; justify-content:center; text-decoration:none; border:0; cursor:pointer; border-radius:16px; box-shadow:0 6px 0 0 #ddae74; background:linear-gradient(225deg,#ffe9c8 0%,#ffd9ad 19.73%,#ffddb5 48.08%,#ffddb5 69.67%,#ffcc8f 100%); font-weight:500; font-size:18px; letter-spacing:.1em; text-transform:uppercase; color:#9d641e; padding:26px 36px; position:relative; transition:transform .15s, box-shadow .15s; font-family:inherit}
.pp-gold:hover{transform:translateY(2px); box-shadow:0 4px 0 0 #ddae74; color:#8a5008}
.pp-gold:active{transform:translateY(6px); box-shadow:0 0 0 0 #ddae74}
.pp-toast{position:fixed; left:50%; bottom:28px; transform:translate(-50%,20px); background:#000; color:#fff; padding:12px 18px; border-radius:14px; font-size:15px; opacity:0; transition:.3s; pointer-events:none; z-index:9}
.pp-toast.on{opacity:1; transform:translate(-50%,0)}
/* личный лендинг /p/{slug} */
.pp-code-big{display:inline-block; background:#000; color:#fff; border-radius:14px; padding:10px 22px; font-weight:800; font-size:32px; letter-spacing:.08em}
.pp-feature{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:34px}
@media(max-width:900px){.pp-feature{grid-template-columns:1fr}}
.pp-feature .pp-card{position:relative; overflow:hidden; min-height:300px; padding-bottom:210px}
.pp-feature .pp-card img{position:absolute; right:0; bottom:0; height:200px; max-width:100%; object-fit:contain; border-radius:0 0 30px 0}
.pp-feature h3{font-size:22px; font-weight:700; margin:0 0 8px}
.pp-feature p{font-size:16px; color:#5a5a66; margin:0}
@media(prefers-reduced-motion:reduce){.pp-ambient i,.pp-chip,.pp-pipe-line i,.pp-hint:before{animation:none!important} .pp-reveal.pre{opacity:1; transform:none}}
