/* XizmatKerak — дизайн-система «Деловой светлый».
   Всегда светлая тема. Синий — основное действие, графит — текст и тёмные полосы, янтарь — только звёзды рейтинга.
   Шрифт IBM Plex Sans (кириллица + узбекская латиница). */
:root{
  --bg:#FFFFFF; --surface:#FFFFFF; --surface-2:#F3F5F8; --ink:#14202E; --ink-2:#3B4655; --muted:#5A6575; --line:#E3E7ED; --line-2:#D5DBE3;
  --lapis:#1D4ED8; --lapis-hover:#1E40AF; --lapis-deep:#14202E; --lapis-soft:#E8EEFD; --on-lapis:#FFFFFF; --on-lapis-muted:#C5CEDA;
  --saffron:#1D4ED8; --saffron-hover:#1E40AF; --saffron-ink:#FFFFFF; --saffron-soft:#FFF6E5;
  --amber:#B7791F;
  --ok:#1C7F4F; --ok-soft:#E3F4EA; --warn:#8A5300; --warn-soft:#FCEFD6; --bad:#B42318; --bad-soft:#FCE8E6;
  --f:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --r-s:8px; --r:10px; --r-l:12px;
  --shadow:0 8px 24px rgba(20,32,46,.07);
  color-scheme:light;
}

*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--f);font-size:16px;line-height:1.55;min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}
main{flex:1;padding-block:28px 64px}
body.home main{padding-top:0}
img{max-width:100%}
[hidden]{display:none!important}
a{color:var(--lapis);text-underline-offset:3px}
h1,h2,h3{text-wrap:balance;margin:0;letter-spacing:-.01em}
p{margin:0}
.wrap{max-width:1160px;margin:0 auto;width:100%;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.muted{color:var(--muted)}
.min0{min-width:0}.grow{flex:1}
.mt{margin-top:12px}.mt-s{margin-top:6px}.mt-l{margin-top:22px}.mb{margin-bottom:18px}
.strong{font-weight:600}
.center{justify-content:center}
.num{font-variant-numeric:tabular-nums}
:focus-visible{outline:3px solid #93B4F8;outline-offset:2px;border-radius:6px}

.skip{position:absolute;left:12px;top:-60px;z-index:50;background:var(--lapis);color:#fff;padding:10px 14px;border-radius:10px;font-weight:700}
.skip:focus{top:12px}

/* ---------- шапка ---------- */
.demo-bar{background:var(--saffron-soft);color:var(--warn);border-bottom:1px solid #F3DFB8;font-size:13px}
.demo-bar .wrap{padding-block:7px}
header.hdr{position:sticky;top:0;z-index:30;background:#FFFFFF;border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;gap:22px;min-height:66px;padding-block:8px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.logo-star{width:30px;height:30px;flex:none;color:var(--lapis)}
.logo-text{display:flex;flex-direction:column;line-height:1.05}
.logo-mark{font-weight:700;font-size:20px;letter-spacing:-.02em}
.logo-mark b{color:var(--lapis);font-weight:700}
.logo-sub{font-size:12px;color:var(--muted);margin-top:3px}
.nav{display:flex;gap:2px}
.nav a{padding:8px 12px;border-radius:var(--r-s);text-decoration:none;color:var(--ink);font-weight:500;font-size:15px}
.nav a:hover{background:var(--surface-2)}
.nav a[aria-current="page"]{color:var(--lapis);background:var(--lapis-soft)}
.hdr-tools{display:flex;gap:14px;align-items:center;margin-left:auto}
.hdr-tools form{margin:0}
.nav-user{font-weight:600;text-decoration:none;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}
.seg{display:inline-flex;background:var(--surface-2);border-radius:999px;padding:3px;margin:0}
.seg button,.seg a{border:0;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:600;padding:5px 11px;border-radius:999px;cursor:pointer;text-decoration:none}
.seg [aria-pressed="true"],.seg a[aria-current="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(14,23,51,.18)}
.seg-wrap{flex-wrap:wrap}

/* ---------- кнопки и метки ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:8px;padding:11px 18px;min-height:44px;font:inherit;font-weight:600;font-size:15px;cursor:pointer;text-decoration:none;line-height:1.2;transition:background-color .15s,border-color .15s}
.btn-primary{background:var(--saffron);color:var(--saffron-ink)}
.btn-primary:hover{background:var(--saffron-hover)}
.btn-lapis{background:var(--lapis);color:var(--on-lapis)}
.btn-lapis:hover{background:var(--lapis-hover)}
.btn-ghost{background:var(--surface);border-color:var(--line-2);color:var(--ink)}
.btn-ghost:hover{border-color:var(--lapis);color:var(--lapis)}
.btn-danger{background:transparent;border-color:var(--line);color:var(--bad)}
.btn-danger:hover{border-color:var(--bad)}
.btn.armed{background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}
.btn-lg{padding:13px 22px;font-size:16px;border-radius:8px}
.btn-link{background:none;border:0;color:var(--muted);font:inherit;font-size:14px;cursor:pointer;padding:4px 0;text-decoration:underline;text-underline-offset:3px}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--lapis-soft);color:var(--lapis)}
.chip-soft{background:var(--surface-2);color:var(--muted)}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:4px 10px;border-radius:999px}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.st-open{background:var(--ok-soft);color:var(--ok)}
.st-assigned,.st-active{background:var(--lapis-soft);color:var(--lapis)}
.st-done{background:var(--surface-2);color:var(--muted)}
.st-cancelled{background:var(--bad-soft);color:var(--bad)}
.star{color:var(--amber)}
.rating{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}

.flashes{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
body.home .flashes{margin-top:20px}
.flash{padding:12px 16px;border-radius:12px;font-size:15px;font-weight:500;background:var(--surface-2)}
.flash-success{background:var(--ok-soft);color:var(--ok)}
.flash-error{background:var(--bad-soft);color:var(--bad)}
.flash-info{background:var(--lapis-soft);color:var(--lapis)}

/* ---------- секции ---------- */
.sec{margin-top:72px}
.sec-tight{margin-top:26px}
.sec-head{display:flex;align-items:end;justify-content:space-between;gap:12px 24px;margin-bottom:22px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(24px,3vw,32px);font-weight:700;letter-spacing:-.02em}
.sec-head h2.h-small{font-size:18px;font-weight:700;letter-spacing:0}
.sec-lead{color:var(--muted);max-width:56ch;margin-top:8px}
.page-title{font-size:clamp(26px,3.4vw,34px);font-weight:700;letter-spacing:-.02em}

/* ---------- первый экран ---------- */
.hero-band{background:var(--surface-2);border-bottom:1px solid var(--line);padding-block:64px 72px}
.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:start}
.hero-main{display:flex;flex-direction:column;gap:20px;min-width:0}
.eyebrow{color:var(--muted);font-weight:500;font-size:15px}
.hero h1{font-size:clamp(32px,4.4vw,50px);line-height:1.1;font-weight:700;letter-spacing:-.02em;max-width:18ch}
.hero-sub{font-size:18px;color:var(--ink-2);max-width:40em}

.quick{margin-top:6px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-l);padding:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;max-width:620px}
.quick-label{font-weight:600}
.quick textarea{min-height:64px;resize:none;line-height:1.45}
.quick-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.quick-row .btn{margin-left:auto;white-space:nowrap}
.quick-cats{display:flex;gap:8px;flex-wrap:wrap}
.quick-cats > span{position:relative}
.quick-cats input{position:absolute;inset:0;opacity:0;pointer-events:none}
.quick-cats label{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;font-size:14px;font-weight:500;color:var(--ink-2);cursor:pointer;border:1px solid #C9D1DC;background:var(--surface)}
.quick-cats input:checked + label{background:var(--lapis-soft);border-color:var(--lapis);color:var(--lapis);font-weight:600}
.quick-cats input:focus-visible + label{outline:3px solid #93B4F8;outline-offset:2px}

/* пример заказа с откликами */
.live{min-width:0;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-l);overflow:hidden}
.live-order{display:flex;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
.live-order h3{font-size:16px;font-weight:600;line-height:1.35}
.live-meta{font-size:14px;color:var(--muted);margin-top:2px}
.live-count{font-size:14px;color:var(--muted);white-space:nowrap}
.live-resps{display:flex;flex-direction:column}
.live-resp{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid #EEF1F5}
.live-resp:last-child{border-bottom:0}
.live-resp .avatar{width:44px;height:44px;font-size:15px;border-radius:50%;background:#E4ECFE;color:#1E3A8A;font-weight:600}
.live-resp .av-2{background:#E3F4EA;color:#1F5E3A}
.live-resp .av-3{background:#FDF1E3;color:#8A4B0F}
.live-resp .who{font-weight:600;font-size:15px}
.live-resp .sub{font-size:13.5px;color:var(--muted)}
.live-resp .price{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.live-foot{padding:14px 20px;background:#F8FAFC;color:var(--ink-2);font-size:14px;border-top:1px solid var(--line)}

/* ---------- лента «Сейчас ищут» ---------- */
.feed{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.feed .ocard{height:100%;align-content:start}
.link-strong{font-weight:600}

/* ---------- категории ---------- */
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.cat{border-top:3px solid var(--lapis);padding-top:20px;display:flex;flex-direction:column;gap:14px}
.cat h3{font-size:21px;font-weight:600}
.cat ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:15.5px;color:var(--ink-2);flex:1}
.cat-stats{display:flex;gap:16px;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.cat-actions{display:flex;gap:8px;flex-wrap:wrap}

/* ---------- полосы во всю ширину ---------- */
.band{padding-block:72px;margin-top:72px}
.band + .band{margin-top:0}
.band-soft{background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band-ink{background:var(--ink);color:#FFFFFF;padding-block:56px}
.band h2,.sec-head h2{font-size:clamp(24px,3vw,32px);font-weight:700;letter-spacing:-.01em}
.rt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:48px}
.rt-head{display:flex;flex-direction:column;gap:14px}
.rt-head p{color:var(--ink-2)}
.rt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rt-card{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-l);padding:20px;display:flex;flex-direction:column;gap:8px}
.rt-card span{color:var(--ink-2);font-size:15px}

/* ---------- шаги ---------- */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.step{display:flex;gap:16px}
.step-n{font-size:34px;font-weight:700;color:var(--lapis);line-height:1;flex:none}
.step h3{font-size:18px;font-weight:600}
.step p{color:var(--ink-2);margin-top:6px;font-size:15.5px}
.rules-note{margin-top:40px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:14.5px;max-width:90ch}
.rules-note b{color:var(--ink)}
.perf-band{display:flex;gap:32px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.perf-band h2{font-size:clamp(22px,2.6vw,30px)}
.perf-band p{color:var(--on-lapis-muted);margin-top:8px;max-width:60ch}
.btn-light{background:#FFFFFF;color:var(--ink)}
.btn-light:hover{background:#E8EEFD}
body.home footer.ftr{border-top:0}

/* ---------- две аудитории ---------- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.side-card{border-radius:var(--r-l);padding:32px;display:flex;flex-direction:column;gap:16px}
.side-card h3{font-size:24px;font-weight:700;letter-spacing:-.02em}
.side-card ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;flex:1}
.side-card li{display:flex;gap:12px;align-items:flex-start}
.side-card li svg{flex:none;width:22px;height:22px;margin-top:1px}
.side-card .btn{align-self:flex-start}
.side-cust{background:var(--surface);border:1px solid var(--line)}
.side-cust li svg{color:var(--ok)}
.side-perf{background:var(--ink);color:var(--on-lapis)}
.side-perf p{color:var(--on-lapis-muted)}
.side-perf li svg{color:#93B4F8}

/* ---------- заказы ---------- */
.olist{display:flex;flex-direction:column;gap:12px}
.ocard{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px 22px;text-decoration:none;color:var(--ink);transition:border-color .15s}
a.ocard:hover{border-color:var(--lapis)}
a.ocard:hover h3{color:var(--lapis)}
.ocard-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap;grid-column:1/-1}
.ago{font-size:13px;color:var(--muted);margin-left:auto}
.ocard h3{font-size:18px;font-weight:700;line-height:1.35;overflow-wrap:anywhere;margin-top:4px}
.ocard-meta{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:14px;color:var(--muted);grid-column:1/-1}
.ocard .budget{font-weight:600;color:var(--ink)}
.ocard-static{display:block}
.budget{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.resp-count{font-weight:600;color:var(--lapis)}
.resp-count.zero{color:var(--muted);font-weight:400}

.filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:10px;margin-bottom:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px}
input,select,textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--surface);border:1px solid #C9D1DC;border-radius:8px;padding:11px 13px;width:100%;min-width:0}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--lapis);box-shadow:0 0 0 3px var(--lapis-soft)}
input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--bad)}
textarea{resize:vertical;min-height:110px}
.count-line{font-size:14px;color:var(--muted);margin-bottom:12px}
.empty{padding:40px 20px;text-align:center;color:var(--muted);border:1.5px dashed var(--line);border-radius:var(--r);background:var(--surface)}
.pager{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:22px}

/* ---------- финальный призыв и правила ---------- */
.trust{display:grid;grid-template-columns:1fr 1.4fr;gap:32px;align-items:center;padding:32px;border-radius:var(--r-l);background:var(--surface);border:1px solid var(--line)}
.trust h2{font-size:24px;font-weight:700;letter-spacing:-.02em}
.trust p{color:var(--muted)}
.cta-band{border-radius:var(--r-l);padding:44px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.cta-band h2{font-size:clamp(24px,3vw,34px);font-weight:700;letter-spacing:-.02em;max-width:22ch}
.cta-band{background:var(--ink);color:#fff}.cta-band p{color:var(--on-lapis-muted);margin-top:8px}
.cta-band .actions{margin-top:0}

/* ---------- страница заказа ---------- */
.back{display:inline-flex;align-items:center;gap:6px;margin-bottom:16px;text-decoration:none;font-weight:600}
.order-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:32px;align-items:start}
.order-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.order-title{font-weight:700;font-size:clamp(24px,3vw,32px);line-height:1.2;letter-spacing:-.02em;margin-top:14px;overflow-wrap:anywhere}
.order-desc{margin-top:14px;max-width:68ch;white-space:pre-line;overflow-wrap:anywhere;font-size:17px}
.dl{display:grid;grid-template-columns:minmax(150px,230px) 1fr;margin:22px 0 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:4px 20px}
.dl dt,.dl dd{margin:0;padding:12px 0;border-bottom:1px solid var(--line)}
.dl dt:last-of-type,.dl dd:last-of-type{border-bottom:0}
.dl dt{color:var(--muted);font-size:15px;padding-right:12px}
.dl dd{font-weight:600;min-width:0;overflow-wrap:anywhere}
.panels{margin-top:24px;display:flex;flex-direction:column;gap:16px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.panel h2{font-size:19px;font-weight:600;margin-bottom:12px}
.side{display:flex;flex-direction:column;gap:14px;position:sticky;top:90px}
.side-name{font-weight:700;font-size:17px;overflow-wrap:anywhere;margin-top:2px}
.side-meta{font-size:14px;color:var(--muted);display:flex;flex-direction:column;gap:4px;margin-top:8px}
.note{font-size:14px;color:var(--muted)}
.note-box{font-size:15px;background:var(--surface-2);border-radius:12px;padding:12px 14px}
.ok-box{background:var(--ok-soft);color:var(--ok);border-radius:12px;padding:12px 14px;font-size:15px;font-weight:600}
.bad-box{background:var(--bad-soft);color:var(--bad);border-radius:12px;padding:12px 14px;font-size:15px}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.actions form{margin:0}
.contact-box{margin-top:16px;background:var(--lapis-soft);border-radius:12px;padding:12px 14px}
.contact{display:block;font-size:18px;font-weight:700;user-select:all;overflow-wrap:anywhere;color:var(--lapis)}
.lbl{display:block;font-size:13px;color:var(--muted)}
.complain summary{list-style:none;cursor:pointer}
.complain summary::-webkit-details-marker{display:none}
.complain form{margin-top:10px}

/* ---------- отклики ---------- */
.resps{display:flex;flex-direction:column;gap:12px;margin-top:10px}
.resp{border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;background:var(--surface);margin-top:10px}
.resps .resp{margin-top:0}
.resp.me{border-color:var(--lapis)}
.resp-head{display:flex;gap:8px 12px;align-items:baseline;flex-wrap:wrap}
.pname{font-weight:700;font-size:17px;color:var(--ink);text-decoration:none}
a.pname:hover{color:var(--lapis)}
.resp-head .rating,.resp-head .chip{margin-left:auto}
.resp-stats{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:14px;color:var(--muted);margin-top:4px;font-variant-numeric:tabular-nums}
.resp-offer{display:flex;gap:32px;margin-top:12px;flex-wrap:wrap}
.resp-offer b{font-weight:600;font-size:17px;font-variant-numeric:tabular-nums}
.resp-msg{margin-top:10px;font-size:15.5px;overflow-wrap:anywhere}
.resp-foot{display:flex;align-items:center;gap:10px;margin-top:12px}
.resp-foot .ago{margin-left:0}
.resp-foot form{margin:0 0 0 auto}

/* ---------- формы ---------- */
.form-wrap{max-width:780px}
.auth-wrap{max-width:460px;margin-inline:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:32px}
.fsec{margin-top:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.fsec > h2{font-size:18px;font-weight:600;margin-bottom:16px;display:flex;gap:12px;align-items:center}
.fsec > h2 .how-n{width:30px;height:30px;border-radius:9px;background:var(--lapis);color:var(--on-lapis);display:grid;place-items:center;font-size:15px;font-weight:700}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label,.flabel{font-size:15px;font-weight:600}
.req{color:var(--bad)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.stack{display:flex;flex-direction:column;gap:16px}
.ferr{font-size:14px;color:var(--bad)}
.hint{font-size:14px;color:var(--muted)}
.catpick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.catpick > div{position:relative}
.catpick input,.radio-row input[type="radio"]{position:absolute;opacity:0;pointer-events:none}
.catpick label{display:block;border:1.5px solid var(--line);border-radius:var(--r);padding:14px 16px;cursor:pointer;background:var(--surface);height:100%}
.catpick label b{display:block;font-weight:700}
.catpick label span{font-size:14px;color:var(--muted)}
.catpick input:checked + label{border-color:var(--lapis);background:var(--lapis-soft);box-shadow:inset 0 0 0 1px var(--lapis)}
.catpick input:focus-visible + label,.radio-row input:focus-visible + label{outline:3px solid var(--saffron);outline-offset:2px}
.radio-row{display:flex;gap:8px;flex-wrap:wrap}
.radio-row > span{position:relative}
.radio-row label{border:1.5px solid var(--line);border-radius:999px;padding:8px 15px;cursor:pointer;font-size:15px;background:var(--surface);display:inline-block}
.radio-row input:checked + label{border-color:var(--lapis);background:var(--lapis-soft);color:var(--lapis);font-weight:600}
.radio-row.gap-l{gap:20px}
.radio-row .check{border:0;padding:0;background:none}
.check{display:flex;gap:9px;align-items:center;font-size:15px;cursor:pointer}
.check input{width:18px;height:18px;accent-color:var(--lapis)}
fieldset.plain{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.form-foot{display:flex;gap:16px;align-items:center;margin-top:24px;flex-wrap:wrap}
.vac-hint{margin-top:12px}

.stars-input{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px;border:0;padding:0;margin:0;position:relative}
.stars-input input{position:absolute;opacity:0;pointer-events:none}
.stars-input label{font-size:32px;line-height:1;color:var(--line);cursor:pointer;padding:0 2px}
.stars-input input:checked ~ label,.stars-input label:hover,.stars-input label:hover ~ label{color:var(--amber)}
.stars-input input:focus-visible + label{outline:3px solid var(--saffron);border-radius:4px}

/* ---------- исполнители ---------- */
.prof-head{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}
.prof-head h1{font-weight:700;font-size:28px;letter-spacing:-.02em;overflow-wrap:anywhere}
.bio{max-width:70ch;overflow-wrap:anywhere}
.avatar{width:64px;height:64px;border-radius:50%;background:var(--lapis-soft);color:#1E3A8A;display:grid;place-items:center;font-weight:600;font-size:22px;flex:none}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);margin-top:24px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden}
.metric{padding:16px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.metric:nth-child(3n){border-right:0}
.metric:nth-last-child(-n+3){border-bottom:0}
.metric .v{font-size:24px;font-weight:700;margin-top:2px;font-variant-numeric:tabular-nums}
.metric .v.small{font-size:17px}
.metric .v.bad{color:var(--bad)}
details.formula{margin-top:14px;font-size:15px}
details.formula summary{cursor:pointer;color:var(--lapis);font-weight:600}
details.formula p{margin-top:8px;color:var(--muted);max-width:70ch}
details.formula code{font-size:14px;background:var(--surface-2);padding:2px 7px;border-radius:6px}
.review{padding:16px 0;border-bottom:1px solid var(--line)}
.review:first-child{padding-top:0}
.review:last-child{border-bottom:0;padding-bottom:0}
.review-head{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.review-head b{font-weight:700}
.review p{margin-top:6px;max-width:70ch;overflow-wrap:anywhere}
.reply{margin-top:10px;margin-left:14px;padding-left:14px;border-left:3px solid var(--lapis-soft);font-size:15px;color:var(--muted)}
.plist{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.pcard{display:flex;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;text-decoration:none;color:var(--ink);transition:border-color .15s}
.pcard:hover{border-color:var(--lapis)}
.pcard .avatar{width:50px;height:50px;font-size:17px;border-radius:50%}
.pcard-body{min-width:0;flex:1}
.pcard-top{display:flex;gap:8px;align-items:baseline;justify-content:space-between}
.pcard-top b{overflow-wrap:anywhere;font-size:17px}
.kind{font-size:14px;color:var(--muted)}
.pcard p{font-size:14.5px;color:var(--muted);margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* старый блок правил (на внутренних страницах) */
.rules{display:grid;grid-template-columns:1fr 2fr;gap:24px;align-items:start;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l)}
.rules h2{font-weight:700;font-size:20px}
.rules p{color:var(--muted);max-width:70ch}

/* ---------- подвал ---------- */
footer.ftr{background:var(--surface);border-top:1px solid var(--line)}
footer.ftr .wrap{padding-block:28px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.ftr-logo{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--ink)}
.ftr-logo svg{width:22px;height:22px;color:var(--lapis)}

/* ---------- мобильная панель действия ---------- */
.mobile-cta{display:none}

@media (max-width:960px){
  .hero{grid-template-columns:1fr;gap:40px}
  .live{max-width:520px}
  .order-grid{grid-template-columns:1fr}
  .side{position:static}
  .filters{grid-template-columns:1fr 1fr}
  .filters .f-q{grid-column:1/-1}
  .plist,.duo{grid-template-columns:1fr}
  .rules,.trust{grid-template-columns:1fr}
  .cats{grid-template-columns:1fr;gap:28px}
  .steps{grid-template-columns:1fr;gap:24px}
  .rt{grid-template-columns:1fr;gap:24px}
  .rt-grid{grid-template-columns:1fr}
}
@media (max-width:680px){
  body{font-size:15.5px}
  .hdr-in{gap:10px 14px;min-height:58px}
  .logo-sub,.hdr-tools .btn-primary,.nav-user:not(.nav-login){display:none}
  .nav{order:3;width:100%;overflow-x:auto;margin-inline:-6px}
  .hdr-tools{gap:10px}
  .hero-band{padding-block:36px 44px}
  .quick-row .btn{width:100%;margin-left:0}
  .feed{grid-template-columns:1fr}
  .band{padding-block:48px;margin-top:56px}
  .stats{grid-template-columns:1fr;margin-top:-26px}
  .stat{border-right:0;border-bottom:1px solid var(--line);padding:14px 20px;display:flex;align-items:baseline;gap:12px}
  .stat:last-child{border-bottom:0}
  .stat b{font-size:24px}
  .sec{margin-top:56px}
  .catpick,.grid2{grid-template-columns:1fr}
  .metrics{grid-template-columns:repeat(2,1fr)}
  .metric:nth-child(3n){border-right:1px solid var(--line)}
  .metric:nth-child(2n){border-right:0}
  .metric:nth-last-child(-n+3){border-bottom:1px solid var(--line)}
  .metric:nth-last-child(-n+2){border-bottom:0}
  .dl{grid-template-columns:1fr;padding:4px 16px}
  .dl dt{border-bottom:0;padding-bottom:0}
  .side-card,.cta-band,.trust{padding:24px}
  .auth-wrap{padding:22px}
  .ocard{padding:16px}
  .mobile-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:25;padding:10px max(16px,env(safe-area-inset-left,0px)) calc(10px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(10px);border-top:1px solid var(--line)}
  .mobile-cta .btn{width:100%}
  body.has-mobile-cta footer.ftr{padding-bottom:76px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- правки по UX-ревью ---------- */
.nav a{white-space:nowrap}
.bad-text{color:var(--bad)}
.resp-count.first{color:var(--ok);font-weight:600}
.live-resp .who{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.prof-head .prof-cta{display:flex;flex-direction:column;gap:8px;max-width:300px}
.prof-cta .hint{font-size:13px}

/* выбор категории: видно, что это переключатель */
.catpick label{position:relative;padding:16px 16px 16px 16px}
.catpick label::after{content:"";position:absolute;top:14px;right:14px;width:20px;height:20px;border-radius:50%;border:2px solid var(--line);background:var(--surface)}
.catpick input:checked + label::after{border-color:var(--lapis);background:var(--lapis) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5.5 10.3 3 3 6-6.3' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.catpick-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--lapis-soft);color:var(--lapis);margin-bottom:10px}
.catpick-icon svg{width:22px;height:22px}
.catpick label b{padding-right:24px}

/* кнопки быстрого выбора срока */
.chip-btn{font:inherit;font-size:14px;font-weight:600;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:6px 12px;cursor:pointer}
.chip-btn:hover,.chip-btn[aria-pressed="true"]{border-color:var(--lapis);color:var(--lapis);background:var(--lapis-soft)}
.dl-chips{gap:6px;margin-bottom:6px}

/* форма заказа с карточкой «Что будет дальше» */
.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}
.form-layout .form-wrap{max-width:none}
.next-card{position:sticky;top:90px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:24px;display:flex;flex-direction:column;gap:16px;margin-top:62px}
.next-card h2{font-size:19px;font-weight:600}
.next-card ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.next-card li{display:flex;gap:12px;align-items:flex-start;font-size:15px}
.next-card .step-n{width:28px;height:28px;border-radius:9px;font-size:14px;flex:none}
.next-card .btn{width:100%}
.form-foot-mobile{display:none}

/* фильтры: на десктопе раскрыты в строку, на телефоне — под кнопкой */
.filters-more{display:contents}
.filters-more > summary{display:none}
.filters-body{display:contents}

/* мобильная кнопка: на главной появляется после формы быстрой заявки */
.mobile-cta{transition:transform .25s ease}
.mobile-cta.is-hidden{transform:translateY(110%)}

@media (min-width:961px){
  .hdr-in{flex-wrap:nowrap}
  .nav-user{max-width:140px}
}
@media (max-width:1280px){ .logo-sub{display:none} }
@media (max-width:960px){
  .form-layout{grid-template-columns:1fr}
  .next-card{display:none}
  .form-foot-mobile{display:flex}
  .prof-head .prof-cta{max-width:none;width:100%}
}
@media (max-width:680px){
  .filters{grid-template-columns:1fr auto}
  .filters .f-q{grid-column:1/-1}
  .filters-more{display:block}
  .filters-more > summary{display:inline-flex;list-style:none}
  .filters-more > summary::-webkit-details-marker{display:none}
  .filters-more[open] .filters-body{display:grid;gap:8px;margin-top:8px}
  .filters-more[open]{grid-column:1/-1}
  .form-foot-mobile{position:sticky;bottom:0;background:var(--bg);padding-block:12px calc(12px + env(safe-area-inset-bottom,0px));margin-inline:-4px;z-index:5}
  .form-foot-mobile .btn{width:100%}
}
.catpick input:checked + label .catpick-icon{background:var(--surface)}
body.home main{padding-bottom:0}

/* ---------- согласия и документы ---------- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.consents{border:1px solid var(--line-2);border-radius:var(--r);padding:16px;margin:0;display:flex;flex-direction:column;gap:12px;background:var(--surface-2)}
.consents legend{padding:0 6px}
.consent-row{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.45}
.consent-row input{width:20px;height:20px;flex:none;margin-top:1px;accent-color:var(--lapis)}
.consent-row label{cursor:pointer}
.consent-row a{font-weight:600}
.consent-row a::after{content:" ↗";font-weight:400}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.danger-link{color:var(--bad);margin-left:auto;font-size:14px}
.consent-alt{margin-top:18px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.consent-alt form{margin:0}
.warn-box{background:var(--warn-soft);color:var(--warn);border-radius:var(--r);padding:12px 14px;font-size:15px}
.doc-wrap{max-width:820px}
.doc{margin-top:28px;font-size:16px;line-height:1.65;overflow-wrap:anywhere}
.doc h2{font-size:20px;margin:32px 0 12px}
.doc h3{font-size:17px;margin:24px 0 8px}
.doc p{margin:0 0 10px}
.doc ul,.doc ol{margin:0 0 12px;padding-left:24px}
.doc li p{margin:0 0 6px}
.doc .doc-sub{font-size:18px;font-weight:600;color:var(--ink-2)}
.doc table{border-collapse:collapse;margin:12px 0;width:100%}
.doc td,.doc th{border:1px solid var(--line);padding:8px;vertical-align:top}
.doc-list{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-direction:column;gap:10px}
.doc-list li{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}
.doc-list a{font-weight:600}
.table-scroll{overflow-x:auto;margin-top:12px}
.doc-table{border-collapse:collapse;width:100%;font-size:15px}
.doc-table th,.doc-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
.doc-table th{color:var(--muted);font-weight:500}
.ftr-docs{display:flex;gap:6px 16px;flex-wrap:wrap}
.ftr-docs a{color:var(--muted)}

/* ---------- главная по макету «Modern Marketplace» ---------- */
.hero-band{background:linear-gradient(180deg,#EEF3FD 0%,#F6F8FC 100%);border-bottom:1px solid var(--line);padding-block:48px 56px}
.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,400px);gap:40px;align-items:center}
.hero.has-photo{grid-template-columns:minmax(0,1fr) minmax(0,300px) minmax(320px,380px)}
.hero h1{font-size:clamp(30px,4vw,48px);line-height:1.1;max-width:16ch}
.hero-sub{font-size:18px;color:var(--ink-2);max-width:36em}
.benefits{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:16px 28px}
.benefits li{display:flex;align-items:center;gap:12px;font-size:15px;line-height:1.35;color:var(--ink-2)}
.benefits b{display:block;color:var(--ink);font-weight:600}
.ben-ico{width:44px;height:44px;border-radius:50%;background:#DCE6FB;color:var(--lapis);display:grid;place-items:center;flex:none}
.ben-ico svg{width:22px;height:22px}
.hero-photo{align-self:stretch;margin-block:-48px -56px;overflow:hidden}
.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
.quick{margin:0;max-width:none;padding:24px;border-radius:16px;gap:12px;box-shadow:0 18px 40px -16px rgba(29,78,216,.25)}
.quick-title{font-size:19px;line-height:1.3;font-weight:600;margin-bottom:4px}
.quick select{min-height:48px}
.quick textarea{min-height:92px}
.quick .btn{width:100%}
.quick-how{text-align:center;font-size:14px;font-weight:500}

.dirs-sec{display:grid;grid-template-columns:minmax(0,170px) minmax(0,1fr);gap:24px;align-items:center;margin-top:40px}
.dirs-title{font-size:22px;font-weight:700;line-height:1.2}
.dirs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dir{display:flex;align-items:center;gap:14px;padding:18px;border-radius:14px;background:#F3F6FC;border:1px solid #E1E8F5;color:var(--ink);text-decoration:none;transition:border-color .15s,background-color .15s}
.dir:hover{border-color:var(--lapis);background:#EAF0FD}
.dir b{display:block;font-weight:600;font-size:16px}
.dir-meta{font-size:13.5px;color:var(--muted)}
.dir-ico{width:44px;height:44px;border-radius:12px;background:#FFFFFF;color:var(--lapis);display:grid;place-items:center;flex:none}
.dir-ico svg{width:24px;height:24px}

.link-arrow{display:inline-flex;align-items:center;gap:6px}
.link-arrow svg{width:18px;height:18px}
.feed{grid-template-columns:repeat(3,minmax(0,1fr))}
.fcard{background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:12px;box-shadow:0 2px 6px rgba(20,32,46,.04)}
.fcard-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.fcard h3{font-size:17px;line-height:1.35;font-weight:600;overflow-wrap:anywhere}
.fcard h3 a{color:var(--ink);text-decoration:none}
.fcard h3 a:hover{color:var(--lapis)}
.fcard-meta{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;font-size:14px;color:var(--ink-2)}
.fcard-meta span{display:inline-flex;align-items:center;gap:5px}
.fcard-meta svg{width:16px;height:16px;color:var(--muted)}
.fcard-budget{margin-left:auto;font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}
.fcard-foot{margin-top:auto;padding-top:12px;border-top:1px solid #EEF1F5;display:flex;align-items:center;justify-content:space-between;gap:10px}
.fcard-cust{display:flex;align-items:center;gap:8px;min-width:0;font-size:13.5px}
.fcard-name{display:block;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}
.fcard-rating{color:var(--muted)}
.avatar.av-sm{width:34px;height:34px;font-size:12px}
.btn-outline{background:var(--surface);border-color:var(--lapis);color:var(--lapis);padding:9px 14px;min-height:40px;font-size:14px;white-space:nowrap}
.btn-outline:hover{background:var(--lapis-soft)}

.demo-sec{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:48px;align-items:center}
.demo-text{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.demo-text h2{font-size:clamp(24px,3vw,32px);font-weight:700}
.demo-text p{color:var(--ink-2);max-width:42ch}
.band.band-soft{margin-top:72px}

@media (max-width:1100px){
  .hero.has-photo{grid-template-columns:minmax(0,1fr) minmax(320px,380px)}
  .hero-photo{display:none}
  .feed{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
  .hero{grid-template-columns:1fr;gap:28px}
  .dirs-sec{grid-template-columns:1fr;gap:14px}
  .demo-sec{grid-template-columns:1fr;gap:24px}
}
@media (max-width:680px){
  .hero-band{padding-block:28px 32px}
  .benefits{gap:12px}
  .benefits li{width:100%}
  .dirs{grid-template-columns:1fr}
  .feed{grid-template-columns:minmax(0,1fr)}
  .quick{padding:18px}
}

/* ---------- внутренние страницы по примеру дизайна ---------- */
.list-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.list-head .page-title{margin-right:auto}
.list-search{display:flex;gap:8px;flex:1 1 320px;max-width:460px}
.list-search input{flex:1}
.list-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;align-items:start}
.side-filters{background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:18px;position:sticky;top:90px}
.side-filters > summary{display:none}
.side-filters-body{display:flex;flex-direction:column;gap:18px}
.side-filters fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.side-filters legend{font-weight:600;font-size:14px;margin-bottom:6px;padding:0}
.radio{display:flex;align-items:center;gap:9px;font-size:15px;cursor:pointer;min-height:28px}
.radio input{width:18px;height:18px;accent-color:var(--lapis);margin:0}
.side-filters-actions{display:flex;flex-direction:column;gap:8px}
.orows{display:flex;flex-direction:column;gap:12px}
.orow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:start;background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:16px 20px;color:var(--ink);text-decoration:none;transition:border-color .15s}
.orow:hover{border-color:var(--lapis)}
.orow:hover .orow-title{color:var(--lapis)}
.orow-main{display:flex;flex-direction:column;gap:6px}
.orow-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.orow-title{font-size:17px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.orow-meta{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:14px;color:var(--ink-2)}
.orow-meta > span{display:inline-flex;align-items:center;gap:5px}
.orow-meta svg{width:16px;height:16px;color:var(--muted)}
.orow-budget{font-weight:700;font-size:16px;white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}

.pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.pills a{padding:8px 16px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink-2);text-decoration:none;font-size:14.5px;font-weight:500;background:var(--surface)}
.pills a:hover{border-color:var(--lapis);color:var(--lapis)}
.pills a[aria-current="true"]{background:var(--lapis);border-color:var(--lapis);color:#fff}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.pcard2{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;background:var(--surface);border:1px solid var(--line-2);border-radius:16px;padding:26px 18px 18px;color:var(--ink);text-decoration:none;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.pcard2::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--lapis)}
.pcard2.cat-kdp::before{background:#0F766E}
.pcard2.cat-accounting::before{background:#B45309}
.pcard2:hover{border-color:var(--lapis);box-shadow:var(--shadow)}
.avatar.av-lg{width:72px;height:72px;font-size:24px;margin-bottom:6px}
.avatar.av-xl{width:96px;height:96px;font-size:32px}
.pcard2-name{font-size:17px;font-weight:600}
.pcard2-kind,.pcard2-rating{font-size:14px;color:var(--ink-2)}
.pcard2-city{display:inline-flex;align-items:center;gap:4px;font-size:13.5px;color:var(--muted)}
.pcard2-city svg{width:15px;height:15px}
.pcard2-btn{margin-top:auto;width:100%;gap:6px}
.pcard2 .tags{margin-bottom:8px}
.pcard2-btn svg{width:16px;height:16px}
.tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.tag{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);color:var(--ink-2);border-radius:8px;padding:4px 10px;font-size:13px}
.tag-lg{font-size:15px;padding:8px 12px}
.tag-lg svg{width:18px;height:18px;color:var(--lapis)}
.panel .tags{justify-content:flex-start}

.prof-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}
.stack-l{display:flex;flex-direction:column;gap:18px}
.prof-card{background:var(--surface);border:1px solid var(--line-2);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:22px}
.prof-id{display:flex;gap:20px;align-items:center}
.prof-id h1{font-size:clamp(22px,3vw,28px);font-weight:700;overflow-wrap:anywhere}
.prof-rating{margin-top:4px;font-size:15px}
.prof-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);padding-top:18px}
.prof-stats > div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:0 8px;border-right:1px solid var(--line)}
.prof-stats > div:last-child{border-right:0}
.prof-stats b{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}
.prof-stats span{font-size:13px;color:var(--muted)}
.prof-side{position:sticky;top:90px;display:flex;flex-direction:column;gap:12px}
.prof-side .btn{width:100%}
.score-box{display:flex;gap:18px;align-items:center;margin-bottom:12px;padding:16px;background:var(--surface-2);border-radius:12px}
.score-big{width:76px;height:76px;border-radius:50%;background:#DCE6FB;color:var(--lapis);display:grid;place-items:center;font-size:26px;font-weight:700;flex:none}
.review-head .avatar{margin-right:2px}
.reply-box{margin-top:10px;background:var(--surface-2);border-radius:10px;padding:12px 14px;font-size:15px}
.reply-box p{margin-top:4px;color:var(--ink-2)}

.stepper{list-style:none;margin:20px 0 4px;padding:0;display:flex;gap:8px;flex-wrap:wrap;counter-reset:none}
.stepper li{display:flex;align-items:center;gap:8px;font-size:14.5px;color:var(--muted);font-weight:500;padding-right:12px}
.stepper li + li::before{content:"";width:28px;height:1px;background:var(--line-2);margin-right:4px}
.stepper-n{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line-2);display:grid;place-items:center;font-size:13px;font-weight:600;background:var(--surface)}
.stepper li.is-current{color:var(--ink)}
.stepper li.is-current .stepper-n{border-color:var(--lapis);background:var(--lapis);color:#fff}
.stepper li.is-done .stepper-n{border-color:var(--ok);background:var(--ok-soft);color:var(--ok)}
.step-nav{display:flex;gap:10px;justify-content:space-between;margin-top:20px}
.step-nav .btn-primary{margin-left:auto}
.ostep > .hint{margin-top:10px}

.ok-hero{display:flex;gap:14px;align-items:flex-start;background:var(--ok-soft);color:var(--ok);border-radius:12px;padding:16px;margin-bottom:16px}
.ok-hero svg{width:32px;height:32px;flex:none}
.ok-hero b{font-size:17px}
.ok-hero p{color:var(--ink-2);margin-top:2px}
.contact-box .btn{display:inline-flex}

.doc-wrap-wide{max-width:1100px}
.doc-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;align-items:start;margin-top:12px}
.doc-toc{position:sticky;top:90px;background:var(--surface-2);border-radius:12px;padding:16px;font-size:14px;max-height:calc(100vh - 120px);overflow:auto}
.doc-toc ol{list-style:none;margin:8px 0 0;padding-left:0;display:flex;flex-direction:column;gap:6px}
.doc-toc a{color:var(--ink-2);text-decoration:none}
.doc-toc a:hover{color:var(--lapis)}
.doc h2{scroll-margin-top:90px}

.nf{text-align:center;padding-block:48px;display:flex;flex-direction:column;align-items:center;gap:10px}
.nf-code{font-size:clamp(72px,14vw,120px);font-weight:700;color:var(--lapis);line-height:1;letter-spacing:-.03em}

.cab-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start}
.cab-side{position:sticky;top:90px;background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:14px}
.cab-user{display:flex;gap:10px;align-items:center}
.cab-user .avatar{width:44px;height:44px;font-size:15px}
.cab-user b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cab-user span{font-size:13px}
.cab-nav{display:flex;flex-direction:column;gap:2px}
.cab-nav a,.cab-nav button{display:block;padding:9px 10px;border-radius:8px;color:var(--ink);text-decoration:none;font:inherit;font-size:15px;text-align:left;background:none;border:0;cursor:pointer;width:100%}
.cab-nav a:hover,.cab-nav button:hover{background:var(--surface-2)}
.cab-nav form{margin:0;border-top:1px solid var(--line);padding-top:4px;margin-top:4px}

@media (max-width:960px){
  .list-layout,.prof-layout,.doc-layout,.cab-layout{grid-template-columns:minmax(0,1fr)}
  .side-filters{position:static;padding:0;border:0;background:none}
  .side-filters > summary{display:inline-flex;list-style:none}
  .side-filters > summary::-webkit-details-marker{display:none}
  .side-filters[open] .side-filters-body{margin-top:12px;background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:16px}
  .prof-side,.doc-toc,.cab-side{position:static}
  .doc-toc{max-height:none}
}
@media (max-width:680px){
  .orow{grid-template-columns:minmax(0,1fr);padding:14px}
  .orow > .avatar{display:none}
  .orow-budget{text-align:left}
  .prof-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px}
  .prof-stats > div:nth-child(2){border-right:0}
  .prof-id{flex-direction:column;text-align:center}
  .list-search{max-width:none}
  .stepper li{font-size:13px}
  .stepper li + li::before{width:12px}
}
.hero-photo img.is-illustration{object-fit:contain;padding:12px 0}
.hero-photo:has(.is-illustration){margin-block:0}
.hero.has-photo{grid-template-columns:minmax(0,1fr) 250px minmax(320px,360px);gap:32px}
.hero.has-photo h1{font-size:clamp(30px,3.1vw,42px);max-width:none}
@media (max-width:1200px){.hero.has-photo{grid-template-columns:minmax(0,1fr) minmax(320px,380px)}.hero.has-photo .hero-photo{display:none}}

/* ---------- фон сайта: светло-голубой с диагональными волнами (по примеру заказчика) ---------- */
:root{--bg:#EDF2FC;--surface-2:#F3F6FD}
body{background:#EDF2FC url("bg-waves.53921824d054.svg") center/cover fixed no-repeat}
.hero-band{background:transparent;border-bottom:0}
.band-soft{background:rgba(255,255,255,.55);border-color:rgba(29,78,216,.08)}
.band:not(.band-soft):not(.band-ink){background:transparent}
.dir{background:#FFFFFF;border-color:#DCE5F6}
.dir:hover{background:#F5F8FF}
.empty{background:#FFFFFF}
.side-filters,.orow,.fcard,.pcard2,.prof-card,.panel,.cab-side,.fsec,.next-card,.auth-wrap,.live{box-shadow:0 4px 16px rgba(29,78,216,.06)}
footer.ftr{background:rgba(255,255,255,.85)}
@media (max-width:680px){body{background-attachment:scroll;background-size:auto 100vh;background-position:top center}}
/* фото в первом экране: скруглённая карточка, кадр по лицу */
.hero.has-photo{grid-template-columns:minmax(0,1fr) 290px minmax(320px,360px)}
.hero-photo{margin-block:0;border-radius:20px;overflow:hidden;align-self:stretch;min-height:420px;box-shadow:0 18px 40px -16px rgba(29,78,216,.3)}
.hero-photo img{object-position:50% 30%}
.hero-photo img.is-illustration{object-position:center}
.hero-photo:has(.is-illustration){box-shadow:none;border-radius:0}

/* ---------- Мобильная версия: кнопка в шапке, окно с QR / установкой, страница «нет соединения» ---------- */
.app-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:14px;font-weight:600;padding:6px 12px;border-radius:999px;cursor:pointer}
.app-btn[hidden]{display:none}
.app-btn svg{width:18px;height:18px;color:var(--lapis)}
.app-btn:hover{border-color:var(--lapis)}
.app-btn:focus-visible{outline:2px solid var(--lapis);outline-offset:2px}
@media (max-width:1100px){.app-btn-l{display:none}.app-btn{padding:7px}}
.app-dlg{border:0;border-radius:18px;padding:28px 26px 22px;max-width:min(380px,calc(100vw - 32px));width:100%;box-shadow:0 24px 60px rgba(14,23,51,.28);color:var(--ink);background:var(--surface);text-align:center}
.app-dlg::backdrop{background:rgba(14,23,51,.45)}
.app-dlg h2{font-size:20px;margin:0 0 14px;text-wrap:balance}
.app-dlg p{margin:0 0 12px;color:var(--muted);font-size:15px;line-height:1.5}
.app-dlg-close{position:absolute;top:8px;right:10px;margin:0}
.app-dlg-close button{border:0;background:transparent;font-size:26px;line-height:1;color:var(--muted);cursor:pointer;padding:4px 8px;border-radius:8px}
.app-dlg-close button:hover{color:var(--ink);background:var(--surface-2)}
.app-qr{display:block;margin:4px auto 14px;width:200px;height:200px;border-radius:12px;border:1px solid var(--line);padding:6px;background:#fff}
.app-url{font-weight:600;color:var(--ink)!important}
.app-install{width:100%;margin-bottom:12px}
.app-install[hidden],.app-steps[hidden]{display:none}
.app-steps{background:var(--surface-2);border-radius:12px;padding:12px 14px;color:var(--ink)!important;text-align:left}
.app-soon{font-size:13px!important;margin:6px 0 0!important}
.offline{text-align:center;padding-block:64px}
.offline h1{margin-bottom:10px}
/* Главная с фото: на планшете и телефоне — одна колонка (правило .hero.has-photo выше перебивало .hero) */
@media (max-width:960px){.hero.has-photo{grid-template-columns:minmax(0,1fr)}}
