/* ==========================================================================
   tool-page.css — общая дизайн-система страниц-инструментов в стиле «Закат» (011, 06.11.2026).
   Те же токены, что у /video (css/video-page.css, .vp-*) и главной (css/home-redesign.css, --hp-*):
   фон #0a0e1a, стеклянные панели, коралл → розовый → янтарь. Префикс tp- (не конфликтует со styles.css).
   Сейчас: /upscale. Дальше: /remove-background (012) — подключить этот файл + свой page-CSS.
   Без JS страница полностью читается (появление при прокрутке — только с классом .tp-js на <html>).
   ========================================================================== */
.tp{
  --bg:#0a0e1a; --bg-2:#0d1322; --bg-3:#111a2e;
  --panel:rgba(17,24,42,.55); --panel-2:rgba(12,17,30,.82);
  --line:rgba(148,163,184,.12); --line-2:rgba(148,163,184,.22);
  --text:#f1f5f9; --text-2:#cbd5e1; --text-3:#94a3b8; --text-4:#7c8aa0;
  --coral:#fb7185; --pink:#f472b6; --magenta:#ec4899; --orange:#f59e0b; --amber:#fbbf24;
  --green:#34d399; --red:#f87171;
  --grad:linear-gradient(115deg,#fb7185 0%,#f472b6 45%,#f59e0b 105%);
  --grad-cta:linear-gradient(120deg,#db2777 0%,#ea580c 70%,#d97706 100%);
  --grad-line:linear-gradient(135deg,rgba(251,113,133,.75),rgba(244,114,182,.3) 50%,rgba(245,158,11,.7));
  --r-xl:28px; --r-lg:22px; --r:16px; --r-sm:12px;
  --shadow:0 30px 70px -30px rgba(0,0,0,.75);
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --wrap:1200px; --gut:clamp(16px,4vw,32px);
  position:relative; color:var(--text-2); font-size:16px; line-height:1.65;
  -webkit-font-smoothing:antialiased; overflow-x:clip;
}
/* страница целиком в палитре: старый фиолетовый фон styles.css гасим (как на главной) */
body.tp-body{background:#0a0e1a!important;background-attachment:scroll!important}
body.tp-body::before,body.tp-body::after{display:none!important}
/* Сброс через :where(.tp) — вес как у голого тега, любой класс его перебивает */
:where(.tp) *,:where(.tp) *::before,:where(.tp) *::after{box-sizing:border-box}
:where(.tp) img{display:block;max-width:100%;height:auto}
:where(.tp) a{color:inherit;text-decoration:none}
:where(.tp) button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:where(.tp) :is(ul,ol){list-style:none;margin:0;padding:0}
:where(.tp) :is(h1,h2,h3,p,figure,dl,dd){margin:0}
:where(.tp) :focus-visible{outline:2px solid var(--pink);outline-offset:3px;border-radius:8px}
:where(.tp) ::selection{background:rgba(244,114,182,.35);color:#fff}
.tp-wrap{position:relative;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut) 24px}
.tp-sr,.up-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0;margin:-1px}
.tp-mono{font-family:var(--mono);font-feature-settings:"zero" 1}
.tp-grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.tp .hidden{display:none!important}

/* ===== ФОН: сетка + свечения + шум (только верх страницы, без fixed) ===== */
.tp-bg{position:absolute;inset:0 0 auto 0;height:1700px;z-index:0;pointer-events:none;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}
.tp-bg__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(148,163,184,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.055) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 75% 50% at 50% 0%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 75% 50% at 50% 0%,#000 20%,transparent 75%)}
.tp-bg__glow{position:absolute;border-radius:50%;filter:blur(80px)}
.tp-bg__glow--1{width:640px;height:440px;left:-180px;top:-160px;background:radial-gradient(closest-side,rgba(251,113,133,.42),transparent)}
.tp-bg__glow--2{width:560px;height:400px;right:-200px;top:20px;background:radial-gradient(closest-side,rgba(245,158,11,.3),transparent)}
.tp-bg__glow--3{width:520px;height:360px;left:38%;top:760px;background:radial-gradient(closest-side,rgba(244,114,182,.2),transparent)}
.tp-bg__noise{position:absolute;inset:0;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ===== ТИПОГРАФИКА ===== */
.tp-h2{font-size:clamp(26px,3.2vw,38px);line-height:1.12;letter-spacing:-.025em;font-weight:800;color:var(--text);margin-bottom:14px;text-wrap:balance}
.tp-h3{font-size:18px;line-height:1.3;font-weight:700;color:var(--text);letter-spacing:-.01em}
.tp-lead{font-size:clamp(15px,1.4vw,17px);color:var(--text-3);max-width:760px;text-wrap:pretty}
.tp-link{color:var(--pink);border-bottom:1px solid rgba(244,114,182,.35);transition:color .2s,border-color .2s}
.tp-link:hover{color:var(--orange);border-color:var(--orange)}

/* ===== ТЕГИ-ПИЛЮЛИ ===== */
.tp-tag{position:relative;display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 12px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--text-2);background:rgba(255,255,255,.04);border:1px solid var(--line-2);white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.tp-tag svg{width:14px;height:14px;flex:none}
.tp-tag--hot{color:#fed7aa;background:linear-gradient(180deg,rgba(245,158,11,.18),rgba(245,158,11,.06));border-color:rgba(245,158,11,.4)}
.tp-tag--line{color:#fecdd3;border-color:transparent;background:linear-gradient(var(--bg-2),var(--bg-2)) padding-box,var(--grad-line) border-box}
.tp-tag--line svg{color:var(--coral)}
.tp-tag--mono{font-family:var(--mono);font-size:11.5px;font-weight:500;color:var(--text-3)}
.tp-tag--ok{color:#a7f3d0;border-color:rgba(52,211,153,.35);background:rgba(52,211,153,.08)}
.tp-tag--sm{height:24px;padding:0 10px;font-size:11.5px}
.tp-pulse{width:7px;height:7px;border-radius:50%;background:var(--orange);animation:tpPulse 2.2s infinite}
@keyframes tpPulse{0%{box-shadow:0 0 0 0 rgba(245,158,11,.6)}70%{box-shadow:0 0 0 8px rgba(245,158,11,0)}100%{box-shadow:0 0 0 0 rgba(245,158,11,0)}}

/* eyebrow раздела: номер в чипе + подпись + бегущая линия */
.tp-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}
.tp-eyebrow__num{display:inline-grid;place-items:center;min-width:38px;height:26px;padding:0 8px;border-radius:8px;font:600 12px/1 var(--mono);letter-spacing:0;color:#fff;background:linear-gradient(var(--bg-3),var(--bg-3)) padding-box,var(--grad-line) border-box;border:1px solid transparent;box-shadow:0 0 24px -6px rgba(244,114,182,.6)}
.tp-eyebrow__line{position:relative;flex:1;max-width:120px;height:1px;overflow:hidden;background:linear-gradient(90deg,rgba(251,113,133,.6),transparent)}
.tp-eyebrow__line::after{content:"";position:absolute;top:0;left:-40%;width:40%;height:100%;background:linear-gradient(90deg,transparent,#fff,transparent);animation:tpRun 3.2s ease-in-out infinite}
@keyframes tpRun{to{left:110%}}

/* ===== КНОПКИ ===== */
.tp-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 24px;border-radius:14px;font-weight:700;font-size:15.5px;letter-spacing:-.005em;white-space:nowrap;transition:transform .2s ease,box-shadow .25s ease,background .25s,border-color .25s,opacity .2s;isolation:isolate;overflow:hidden;cursor:pointer}
.tp-btn svg{width:18px;height:18px;flex:none;transition:transform .25s}
.tp-btn--primary{color:#fff;background:var(--grad-cta);box-shadow:0 10px 30px -8px rgba(236,72,153,.6),inset 0 1px 0 rgba(255,255,255,.25)}
.tp-btn--primary::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.3) 50%,transparent 70%);background-size:250% 100%;background-position:120% 0;transition:background-position .7s ease;z-index:-1}
.tp-btn--primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px -10px rgba(236,72,153,.75),inset 0 1px 0 rgba(255,255,255,.3)}
.tp-btn--primary:hover::after{background-position:-20% 0}
.tp-btn--primary:hover svg{transform:translateX(3px)}
.tp-btn--ghost{color:var(--text);background:rgba(255,255,255,.04);border:1px solid var(--line-2)}
.tp-btn--ghost:hover{background:rgba(255,255,255,.08);border-color:rgba(251,113,133,.5);transform:translateY(-2px)}
.tp-btn--danger:hover{border-color:rgba(248,113,113,.6);color:#fecaca}
.tp-btn--sm{height:40px;padding:0 16px;font-size:14px;border-radius:11px}
.tp-btn--block{width:100%}
.tp-btn[disabled]{opacity:.65;cursor:progress;transform:none}

/* ===== РАЗДЕЛЫ И КАРТОЧКИ ===== */
.tp-section{position:relative;padding:clamp(56px,7vw,96px) 0 0;scroll-margin-top:90px}
.tp-section--tight{padding-top:clamp(44px,5vw,72px)}
.tp-section__head{margin-bottom:clamp(24px,3vw,36px)}
.tp-section__head--center{text-align:center}
.tp-section__head--center .tp-eyebrow{justify-content:center}
.tp-section__head--center .tp-lead{margin:0 auto}
.tp-card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
/* свечение рамки за курсором (координаты --mx/--my ставит JS) */
.tp-glow{--mx:50%;--my:50%}
.tp-glow::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:radial-gradient(420px circle at var(--mx) var(--my),rgba(244,114,182,.6),rgba(245,158,11,.28) 40%,transparent 70%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s;pointer-events:none;z-index:2}
.tp-glow:hover::before{opacity:1}
/* появление при прокрутке — прячем, только если JS работает */
.tp-js .tp-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.tp-js .tp-reveal.in{opacity:1;transform:none}


/* ===== КРОШКИ + HERO (заголовок по центру, ниже — окно «студии») ===== */
.tp-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:24px 0 18px;font-size:13px;color:var(--text-4)}
.tp-crumbs a{color:var(--text-3);transition:color .2s}
.tp-crumbs a:hover{color:var(--text)}
.tp-crumbs svg{width:12px;height:12px;opacity:.5}
.tp-crumbs [aria-current]{color:var(--text-2)}
.tp-hero{position:relative;text-align:center;padding:clamp(4px,1.5vw,14px) 0 0}
.tp-hero__tags{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:18px}
.tp-hero h1{font-size:clamp(34px,5vw,64px);line-height:1.02;letter-spacing:-.04em;font-weight:800;color:var(--text);margin:0 auto 14px;max-width:960px;text-wrap:balance}
.tp-hero__sub{max-width:780px;margin:0 auto clamp(22px,3vw,32px);font-size:clamp(15px,1.35vw,17px);color:var(--text-3);text-wrap:pretty}
.tp-hero__honest{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px;font-size:13px;color:var(--text-4)}
.tp-hero__honest svg{width:15px;height:15px;color:var(--amber);flex:none}

/* окно «студии» (как .vp-studio / .hp-studio) */
.tp-studio{position:relative;text-align:left;border-radius:var(--r-xl);background:var(--panel-2);border:1px solid var(--line);box-shadow:var(--shadow),0 0 120px -40px rgba(236,72,153,.45);isolation:isolate}
.tp-studio::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;padding:1px;background:var(--grad-line);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.55;pointer-events:none}
.tp-studio::after{content:"";position:absolute;inset:0;z-index:-2;border-radius:inherit;background:radial-gradient(700px 320px at 15% 0%,rgba(251,113,133,.18),transparent 65%),radial-gradient(700px 320px at 90% 100%,rgba(245,158,11,.14),transparent 65%)}
.tp-studio__bar{display:flex;align-items:center;gap:14px;height:44px;padding:0 18px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.02);border-radius:var(--r-xl) var(--r-xl) 0 0}
.tp-studio__dots{display:flex;gap:6px;flex:none}
.tp-studio__dots i{width:10px;height:10px;border-radius:50%;background:rgba(148,163,184,.25)}
.tp-studio__dots i:first-child{background:#fb7185}
.tp-studio__dots i:nth-child(2){background:#fbbf24}
.tp-studio__dots i:nth-child(3){background:#34d399}
.tp-studio__title{flex:1;min-width:0;text-align:center;font:500 12px var(--mono);color:var(--text-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tp-studio__live{display:inline-flex;align-items:center;gap:7px;flex:none;font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#fed7aa}
.tp-studio__foot{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 12px;padding:14px clamp(14px,2vw,22px);border-top:1px solid var(--line);background:rgba(8,11,22,.45);border-radius:0 0 var(--r-xl) var(--r-xl)}
.tp-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.tp-chips li{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:600;color:var(--text-2);background:rgba(255,255,255,.04);border:1px solid var(--line-2)}
.tp-chips svg{width:15px;height:15px;color:var(--coral);flex:none}

/* ===== ШАГИ: три карточки на общей линии (номер, иконка, мини-визуал шага) ===== */
.tp-how__head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.tp-h2--sm{font-size:clamp(22px,2.4vw,28px);margin:0}
.tp-flow{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
/* соединитель в зазоре между карточками, на уровне иконок (::before занят .tp-glow) */
.tp-flow__step:not(:last-child)::after{content:"";position:absolute;z-index:3;top:47px;right:-21px;width:22px;height:4px;margin-top:-2px;border-radius:4px;background:var(--grad);box-shadow:0 0 12px rgba(244,114,182,.6);pointer-events:none}
.tp-flow__step{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;padding:22px 22px 20px;text-align:center;border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .3s,border-color .3s}
.tp-flow__step:hover{transform:translateY(-3px);border-color:rgba(244,114,182,.32)}
.tp-flow__top{position:relative;display:grid;place-items:center}
.tp-flow__ico{position:relative;z-index:1;display:grid;place-items:center;width:52px;height:52px;border-radius:16px;color:#fff;background:linear-gradient(145deg,rgba(251,113,133,.42),rgba(245,158,11,.22));border:1px solid rgba(251,113,133,.42);box-shadow:0 14px 34px -14px rgba(236,72,153,.75),0 0 0 6px var(--bg-2)}
.tp-flow__ico svg{width:23px;height:23px}
.tp-flow__num{position:absolute;top:-8px;right:-14px;z-index:2;display:grid;place-items:center;min-width:28px;height:22px;padding:0 6px;border-radius:999px;font:700 11px/1 var(--mono);color:#fff;background:var(--grad-cta);box-shadow:0 6px 14px -6px rgba(236,72,153,.9)}
.tp-flow__txt{display:flex;flex-direction:column;gap:6px}
.tp-flow__step h3{display:block;color:var(--text);font-size:17px;font-weight:750;line-height:1.3;letter-spacing:-.01em;margin:0}
.tp-flow__step p{font-size:14px;line-height:1.55;color:var(--text-3);text-wrap:pretty}
.tp-flow__viz{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding:5px;border-radius:12px;background:rgba(0,0,0,.25);border:1px solid var(--line)}
.tp-flow__viz i{display:inline-grid;place-items:center;min-width:44px;height:26px;padding:0 9px;border-radius:8px;font:600 11.5px/1 var(--mono);font-style:normal;letter-spacing:.02em;color:var(--text-3);background:rgba(255,255,255,.03)}
.tp-flow__viz i.on{color:#fff;background:var(--grad-cta);box-shadow:0 6px 14px -8px rgba(236,72,153,.9)}
.tp-flow__viz svg{width:15px;height:15px;color:var(--coral)}

/* ===== ЗАДАЧИ (кому подходит) ===== */
.tp-tasks{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.tp-task{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;padding:16px 18px;border-radius:var(--r)}
.tp-task__ico{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;color:var(--pink);background:rgba(255,255,255,.04);border:1px solid var(--line)}
.tp-task__ico svg{width:21px;height:21px}
.tp-task__name{font-weight:650;color:var(--text);font-size:15px;line-height:1.3;margin:0}
.tp-task__note{font-size:13px;color:var(--text-3);line-height:1.45;margin-top:3px}
.tp-task__note a{color:var(--pink)}
.tp-dots{display:flex;gap:4px}
.tp-dots i{width:9px;height:22px;border-radius:4px;background:rgba(148,163,184,.14)}
.tp-dots i.on{background:linear-gradient(180deg,#f59e0b,#ec4899);box-shadow:0 0 10px -2px rgba(244,114,182,.6)}
.tp-task--best{background:linear-gradient(var(--bg-2),var(--bg-2)) padding-box,var(--grad-line) border-box;border:1px solid transparent}
.tp-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;font-size:12.5px;color:var(--text-4)}


/* ===== ТАБЛИЦА СРАВНЕНИЯ ===== */
.tp-cmp-wrap{border-radius:var(--r-lg);overflow:auto;-webkit-overflow-scrolling:touch}
.tp-cmp{width:100%;min-width:640px;border-collapse:separate;border-spacing:0;font-size:14px}
.tp-cmp th,.tp-cmp td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
.tp-cmp thead th{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-4);background:rgba(255,255,255,.02)}
.tp-cmp tbody tr{transition:background .2s}
.tp-cmp tbody tr:hover{background:rgba(244,114,182,.06)}
.tp-cmp tbody tr:last-child>*{border-bottom:0}
.tp-cmp tbody th{font-weight:700;color:var(--text)}
.tp-cmp tr.is-best>*{background:rgba(244,114,182,.08)}
.tp-cmp tr.is-best th{box-shadow:inset 3px 0 0 var(--magenta)}
.tp-cmp .yes{color:var(--amber);font-weight:700}
.tp-cmp .no{color:var(--text-4)}
.tp-cmp .mono{font:600 13.5px var(--mono);color:var(--text)}
.tp-cmp td small{display:block;font-size:12px;color:var(--text-4);margin-top:2px;white-space:normal}

/* ===== ЦЕНЫ ===== */
.tp-prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tp-price{display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:var(--r-lg)}
.tp-price--best{background:linear-gradient(var(--bg-2),var(--bg-2)) padding-box,var(--grad-line) border-box;border:1px solid transparent;box-shadow:0 24px 60px -30px rgba(236,72,153,.6)}
.tp-price__k{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-4)}
.tp-price__v{font-size:30px;line-height:1.05;font-weight:800;letter-spacing:-.03em;color:var(--text)}
.tp-price__v small{font-size:15px;font-weight:600;color:var(--text-3);letter-spacing:0}
.tp-price ul{display:grid;gap:8px;margin-top:4px}
.tp-price li{display:flex;gap:9px;align-items:flex-start;font-size:14px;color:var(--text-2);line-height:1.45}
.tp-price li svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--green)}
.tp-price li.no svg{color:var(--text-4)}
.tp-price .tp-btn{margin-top:auto}
.tp-note{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:14px 16px;border-radius:14px;font-size:14px;color:var(--text-3);background:rgba(255,255,255,.025);border:1px solid var(--line)}
.tp-note svg{width:16px;height:16px;flex:none;margin-top:3px;color:var(--amber)}

/* ===== СОВЕТЫ ===== */
.tp-tips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tp-tip{display:flex;gap:12px;padding:16px;border-radius:14px;background:rgba(255,255,255,.025);border:1px solid var(--line);font-size:14px;color:var(--text-3);line-height:1.55}
.tp-tip b{display:block;color:var(--text);margin-bottom:2px;font-size:15px}
.tp-tip__n{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;font:700 12px var(--mono);color:var(--pink);background:rgba(244,114,182,.12)}

/* ===== СТАТЬИ БЛОГА (серверный рендер .tip-card — buildToolTipsHTML) ===== */
.tp-posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tp-posts .tip-card{position:relative;display:grid;grid-template-columns:42% 1fr;overflow:hidden;border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--line);transition:transform .3s,border-color .3s,box-shadow .3s}
.tp-posts .tip-card:hover{transform:translateY(-3px);border-color:rgba(244,114,182,.4);box-shadow:0 24px 50px -24px rgba(236,72,153,.5)}
.tp-posts .tip-card-image{position:relative;min-height:100%;background:var(--bg-3)}
.tp-posts .tip-card-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tp-posts .tip-card-content{display:flex;flex-direction:column;gap:8px;padding:18px 18px 20px}
.tp-posts .tip-badge{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:11.5px;font-weight:600;color:#fecdd3;background:rgba(244,114,182,.1);border:1px solid rgba(244,114,182,.28)}
.tp-posts .tip-title{font-size:16.5px;line-height:1.35;font-weight:700;color:var(--text);margin:0}
.tp-posts .tip-title a:hover{color:var(--pink)}
.tp-posts .tip-excerpt{font-size:13.5px;line-height:1.55;color:var(--text-3);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0}
.tp-posts .tip-link{display:inline-flex;align-items:center;gap:6px;margin-top:auto;font-size:13.5px;font-weight:700;color:var(--pink)}
.tp-posts .tip-link svg{width:15px;height:15px;transition:transform .2s}
.tp-posts .tip-link:hover svg{transform:translateX(3px)}
.tp-posts .text-gray-400{color:var(--text-4)}

/* ===== SEO-ТЕКСТ (гайд) ===== */
.tp-guide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.tp-guide__card{padding:clamp(18px,2.4vw,26px);border-radius:var(--r-lg)}
.tp-guide__card h3{font-size:18px;line-height:1.3;font-weight:700;color:var(--text);margin:0 0 10px}
.tp-guide__card p{font-size:15px;color:var(--text-3);margin:0 0 10px}
.tp-guide__card p:last-child{margin-bottom:0}
.tp-guide__card ul,.tp-guide__card ol{display:grid;gap:8px;margin:10px 0 0}
.tp-guide__card li{position:relative;padding-left:22px;font-size:14.5px;color:var(--text-2);line-height:1.5}
.tp-guide__card ul li::before{content:"";position:absolute;left:4px;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--grad)}
.tp-guide__card ol{counter-reset:tg}
.tp-guide__card ol li{counter-increment:tg}
.tp-guide__card ol li::before{content:counter(tg);position:absolute;left:0;top:1px;font:700 12px var(--mono);color:var(--pink)}
.tp-guide__card b,.tp-guide__card strong{color:var(--text);font-weight:650}
.tp-guide__card a{color:var(--pink);border-bottom:1px solid rgba(244,114,182,.35)}
.tp-guide__card--wide{grid-column:1/-1}
.tp-guide__card :is(ul,ol) + p{margin-top:12px}
.tp-faq > :first-child{position:sticky;top:90px}


/* ===== FAQ (details.tp-qa; вопрос — h3 внутри summary) ===== */
.tp-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,4vw,56px);align-items:start}
.tp-faq__list{display:grid;gap:10px}
.tp-qa{border-radius:var(--r);overflow:hidden;transition:border-color .25s,background .25s}
.tp-qa[open]{border-color:rgba(244,114,182,.35);background:rgba(30,22,40,.6)}
.tp-qa summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;cursor:pointer;list-style:none}
.tp-qa summary::-webkit-details-marker{display:none}
.tp-qa summary h3{font-size:16px;line-height:1.4;font-weight:650;color:var(--text);margin:0}
.tp-qa__ico{position:relative;flex:none;width:28px;height:28px;border-radius:8px;background:rgba(255,255,255,.05);border:1px solid var(--line-2);transition:background .25s,transform .3s}
.tp-qa__ico::before,.tp-qa__ico::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;border-radius:2px;background:var(--text-2);transition:transform .3s}
.tp-qa__ico::after{transform:rotate(90deg)}
.tp-qa[open] .tp-qa__ico{background:var(--grad-cta);border-color:transparent;transform:rotate(180deg)}
.tp-qa[open] .tp-qa__ico::after{transform:rotate(0)}
.tp-qa__a{padding:0 20px 20px;color:var(--text-3);font-size:15px}
.tp-qa__a a{color:var(--pink)}

/* ===== ФИНАЛ ===== */
.tp-final{position:relative;margin-top:clamp(64px,8vw,110px);padding:clamp(32px,5vw,64px);border-radius:var(--r-xl);overflow:hidden;text-align:center;isolation:isolate;border:1px solid rgba(251,113,133,.25)}
.tp-final::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(600px 300px at 50% 0%,rgba(236,72,153,.3),transparent 70%),radial-gradient(500px 300px at 10% 100%,rgba(245,158,11,.25),transparent 70%),radial-gradient(500px 300px at 90% 100%,rgba(251,113,133,.22),transparent 70%),var(--panel-2)}
.tp-final .tp-h2{font-size:clamp(28px,4vw,46px);margin-bottom:12px}
.tp-final .tp-lead{margin:0 auto 28px}
.tp-final__actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
.tp-final__meta{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 20px;margin-top:18px;font-size:13px;color:var(--text-4)}
.tp-final__meta span{display:inline-flex;align-items:center;gap:6px}
.tp-final__meta svg{width:14px;height:14px;color:var(--green)}
.tp-seealso{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:36px 0 56px}
.tp-seealso a{padding:8px 14px;border-radius:999px;font-size:13.5px;color:var(--text-3);border:1px solid var(--line);transition:all .2s}
.tp-seealso a:hover{color:var(--text);border-color:rgba(244,114,182,.45);background:rgba(244,114,182,.08)}

/* ===== ТОСТ И ДИАЛОГ (вместо alert/confirm) ===== */
.tp-toast{position:fixed;left:50%;bottom:24px;z-index:3000;display:flex;align-items:center;gap:10px;max-width:min(92vw,520px);padding:14px 18px;border-radius:14px;font:600 14.5px/1.45 Inter,system-ui,sans-serif;color:#f1f5f9;background:rgba(13,18,33,.96);border:1px solid rgba(244,114,182,.35);box-shadow:0 20px 50px -16px rgba(0,0,0,.8),0 0 40px -20px rgba(236,72,153,.6);transform:translate(-50%,16px);opacity:0;transition:opacity .25s,transform .3s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.tp-toast.is-on{opacity:1;transform:translate(-50%,0)}
.tp-toast.is-err{border-color:rgba(248,113,113,.5)}
.tp-toast.is-ok{border-color:rgba(52,211,153,.45)}
.tp-toast__dot{flex:none;width:8px;height:8px;border-radius:50%;background:#f472b6}
.tp-toast.is-err .tp-toast__dot{background:#f87171}
.tp-toast.is-ok .tp-toast__dot{background:#34d399}
.tp-dialog{position:fixed;inset:0;z-index:3001;display:grid;place-items:center;padding:16px;background:rgba(5,8,16,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:tpFade .2s ease}
@keyframes tpFade{from{opacity:0}to{opacity:1}}
.tp-dialog__box{position:relative;width:min(100%,420px);padding:24px;border-radius:22px;font-family:Inter,system-ui,sans-serif;color:#cbd5e1;background:rgba(13,18,33,.98);border:1px solid rgba(148,163,184,.22);box-shadow:0 30px 70px -20px rgba(0,0,0,.9),0 0 80px -30px rgba(236,72,153,.6)}
.tp-dialog__t{margin:0 0 8px;font-size:19px;font-weight:800;letter-spacing:-.015em;color:#f1f5f9}
.tp-dialog__d{margin:0 0 20px;font-size:14.5px;line-height:1.55;color:#94a3b8}
.tp-dialog__actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.tp-dialog__actions .tp-btn{height:44px;font-size:14.5px;padding:0 18px}


/* ===== АДАПТИВ ===== */
@media (max-width:1024px){
  .tp-faq,.tp-guide{grid-template-columns:1fr}
  .tp-faq > :first-child{position:static}
  .tp-prices{grid-template-columns:1fr 1fr}
  .tp-prices .tp-price:last-child{grid-column:1/-1}
  .tp-posts{grid-template-columns:1fr}
}
@media (max-width:860px){
  .tp-flow{grid-template-columns:1fr;gap:12px}
  .tp-flow__step:not(:last-child)::after{top:auto;bottom:-13px;right:auto;left:38px;width:4px;height:14px;margin:0 0 0 -2px}
  .tp-flow__step{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"ico txt" "ico viz";align-items:start;gap:6px 16px;padding:16px 16px 16px 16px;text-align:left}
  .tp-flow__top{grid-area:ico}
  .tp-flow__txt{grid-area:txt}
  .tp-flow__viz{grid-area:viz;justify-self:start;margin-top:6px}
  .tp-flow__ico{width:46px;height:46px;border-radius:14px}
  .tp-flow__ico svg{width:21px;height:21px}
  .tp-flow__num{right:-10px}
  .tp-flow__step h3{font-size:16px}
  .tp-flow__step p{font-size:13.5px}
  .tp-tasks,.tp-tips{grid-template-columns:1fr}
}
@media (max-width:1100px) and (min-width:701px){
  .tp-cmp{min-width:0}
  .tp-cmp th,.tp-cmp td{white-space:normal;padding:13px 12px}
  .tp-cmp thead th{letter-spacing:.06em}
}
@media (max-width:700px){
  /* таблица → карточки строк (без горизонтальной прокрутки); подписи — из data-l */
  .tp-cmp{min-width:0}
  .tp-cmp thead{display:none}
  .tp-cmp,.tp-cmp tbody,.tp-cmp tr,.tp-cmp th,.tp-cmp td{display:block;width:100%}
  .tp-cmp tr{padding:12px 16px 10px;border-bottom:1px solid var(--line)}
  .tp-cmp tbody tr:last-child{border-bottom:0}
  .tp-cmp th,.tp-cmp td{padding:4px 0;border:0;white-space:normal}
  .tp-cmp tbody th{font-size:20px;font-family:var(--mono);padding-bottom:6px}
  .tp-cmp td{display:flex;justify-content:space-between;align-items:baseline;gap:14px;text-align:right}
  .tp-cmp tr.is-best>*{background:none}
  .tp-cmp tr.is-best{background:rgba(244,114,182,.08)}
  .tp-cmp td::before{content:attr(data-l);flex:none;text-align:left;font:500 12.5px Inter,system-ui,sans-serif;color:var(--text-4)}
  .tp-cmp td small{display:none}
  .tp-cmp tr.is-best th{box-shadow:none}
  .tp-cmp tr.is-best{box-shadow:inset 3px 0 0 var(--magenta)}
}
@media (max-width:560px){
  .tp-prices{grid-template-columns:minmax(0,1fr)}
  .tp-posts .tip-card{grid-template-columns:1fr}
  .tp-posts .tip-card-image{aspect-ratio:16/9;min-height:0}
  .tp-studio__bar{padding:0 12px}
  .tp-studio__title{font-size:11px}
  .tp-tasks{gap:8px}
  .tp-task{grid-template-columns:34px minmax(0,1fr) auto;align-items:start;gap:4px 12px;padding:12px 14px}
  .tp-task__ico{width:34px;height:34px;border-radius:10px}
  .tp-task__ico svg{width:17px;height:17px}
  .tp-task__name{font-size:14.5px}
  .tp-task__note{font-size:12.5px;margin-top:2px}
  .tp-task .tp-dots{margin-top:4px;gap:3px}
  .tp-task .tp-dots i{width:6px;height:16px;border-radius:3px}
}
@media (max-width:480px){
  .tp{--gut:14px}
  .tp-btn{height:48px;font-size:15px;padding:0 18px}
  .tp-btn--sm{height:40px;font-size:14px;padding:0 14px}
  .tp-tag{height:26px;padding:0 10px;font-size:12px}
  .tp-final__actions .tp-btn{flex:1 1 100%}
}
@media (max-width:360px){
  .tp-hero h1{font-size:30px}
  .tp-studio__live{display:none}
}
@media (hover:none){.tp-glow::before{display:none}}
@media (prefers-reduced-motion:reduce){
  .tp *,.tp *::before,.tp *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .tp-js .tp-reveal{opacity:1;transform:none}
}

