/* Редакционный стиль. Шрифты — локально (OFL), см. assets/fonts/LICENSE-*.txt */
@font-face{font-family:"Literata";font-style:normal;font-weight:200 900;font-display:swap;src:url(fonts/literata-cyrillic-wght-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Literata";font-style:normal;font-weight:200 900;font-display:swap;src:url(fonts/literata-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Literata";font-style:italic;font-weight:200 900;font-display:swap;src:url(fonts/literata-cyrillic-wght-italic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Literata";font-style:italic;font-weight:200 900;font-display:swap;src:url(fonts/literata-latin-wght-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Onest";font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/onest-cyrillic-wght-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Onest";font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/onest-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Палитра: бумага и типографская чернота + одна ультрамариновая краска (вторая краска печати).
   Красный оставлен только для ошибок, чтобы не путать с акцентом. */
:root{
  --paper:#f4f0e7; --paper-2:#ebe5d8; --ink:#181611; --muted:#5b5547; --rule:#cdc5b3;
  --accent:#2430c0; --on-accent:#f7f4ec; --warn:#a3261a; --ok:#2b6a3a;
  --serif:"Literata","PT Serif",Georgia,"Times New Roman",serif;
  --sans:"Onest","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#141310; --paper-2:#1d1b17; --ink:#ede7da; --muted:#a9a190; --rule:#3b372d;
    --accent:#a3adff; --on-accent:#12120f; --warn:#ff8f80; --ok:#7fd08f;
  }
}
:root[data-theme="dark"]{
  --paper:#141310; --paper-2:#1d1b17; --ink:#ede7da; --muted:#a9a190; --rule:#3b372d;
  --accent:#a3adff; --on-accent:#12120f; --warn:#ff8f80; --ok:#7fd08f;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.55 var(--sans);overflow-wrap:break-word;text-rendering:optimizeLegibility;font-kerning:normal}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px 56px}
.wrap.narrow{max-width:780px}
h1,h2,h3{font-family:var(--serif);font-weight:560;margin:0;letter-spacing:-.015em;text-wrap:balance}
h1{font-size:clamp(2.1rem,8vw,3.6rem);line-height:1.06;letter-spacing:-.025em}
h2{font-size:clamp(1.6rem,5vw,2.1rem);line-height:1.15}
h3{font-size:1.2rem;line-height:1.25}
p{margin:0 0 12px}
a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
[hidden]{display:none!important}
.sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.lead{font-family:var(--serif);font-style:italic;color:var(--muted);font-size:1.15rem;line-height:1.5;margin:14px 0 0;max-width:38em}
.hint{color:var(--muted);font-size:.9rem;margin:8px 0 0}

/* мастхед */
.mast{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;padding:14px 0 12px;border-bottom:1px solid var(--ink)}
.brand{font-family:var(--serif);font-weight:650;font-size:1.15rem;letter-spacing:-.01em;color:var(--ink);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.mast nav{display:flex;gap:0 20px;flex-wrap:wrap;align-items:center}
.mast nav a{color:var(--ink);font-size:.9rem;text-decoration:none;border-bottom:1px solid var(--rule);min-height:44px;display:inline-flex;align-items:center;border-bottom:0}
.mast nav a:hover{text-decoration:underline}
.mast nav a#my-order{color:var(--accent);font-weight:600}
.page-head{padding:44px 0 28px}

/* кнопки и поля */
button,.btn{font:600 .95rem/1.2 var(--sans);border:1px solid var(--ink);background:transparent;color:var(--ink);border-radius:2px;padding:10px 18px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;transition:background-color .15s,color .15s}
button:hover:not(:disabled),.btn:hover{background:var(--ink);color:var(--paper);text-decoration:none}
button.primary,.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
button.primary:hover:not(:disabled),.btn.primary:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
button.block,.btn.block{width:100%;padding:16px 20px;font-size:1.1rem}
button:disabled{opacity:.55;cursor:default}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:16px}
input[type=text],input[type=email],input[type=search]{width:100%;font:inherit;padding:12px 2px;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);min-height:46px}
input:focus-visible{outline:none;border-bottom:3px solid var(--accent);padding-bottom:10px}
input::placeholder{color:var(--muted);opacity:1}

/* сообщения: врезка с вертикальной линейкой, без плашек */
.msg{border-left:3px solid var(--ink);padding:4px 0 4px 16px;margin-top:18px;max-width:40em}
.msg p{margin:0 0 8px}
.msg p:first-child b{font-family:var(--serif);font-weight:600;font-size:1.15rem}
.msg.err{border-left-color:var(--warn)}
.msg.err p:first-child b{color:var(--warn)}
.msg.info{border-left-color:var(--accent)}
.msg p:last-child{margin-bottom:0}
.msg button{margin-top:4px}

/* ===== первый экран ===== */
.hero{min-height:min(calc(100svh - 72px),52rem);display:flex;flex-direction:column}
.hero-main{margin:auto 0;padding:36px 0 28px}
.hero h1{font-size:clamp(2.7rem,12.4vw,6.6rem);line-height:.98;letter-spacing:-.035em;font-weight:520;max-width:11.5em}
.ask{margin-top:clamp(28px,5vw,52px);max-width:44rem}
.ask-row{display:flex;align-items:center;gap:6px;border-bottom:2px solid var(--ink);transition:border-color .2s,box-shadow .2s}
.ask-row:focus-within{border-color:var(--accent);box-shadow:0 2px 0 var(--accent)}
.ask .at{font-family:var(--serif);font-size:clamp(1.9rem,8vw,3.2rem);line-height:1;color:var(--accent);padding-bottom:6px}
.ask input{flex:1;min-width:0;border:0;padding:8px 0 10px;min-height:60px;font-family:var(--serif);font-weight:450;font-size:clamp(1.6rem,7vw,2.9rem);line-height:1.1;letter-spacing:-.01em}
.ask input:focus-visible{border:0;padding:8px 0 10px}
.ask input::placeholder{font-style:italic;opacity:.75}
.ask .go{flex:none;width:56px;height:56px;min-height:56px;padding:0;margin:0 0 4px;background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.ask .go:hover:not(:disabled){background:var(--ink);border-color:var(--ink);color:var(--paper)}
.ask .go svg{display:block}
.facts{margin:16px 0 0;font-size:1rem;color:var(--muted)}
.facts b{color:var(--ink);font-weight:600}
.down{align-self:flex-start;color:var(--muted);text-decoration:none;font-size:.95rem;min-height:44px;display:inline-flex;align-items:center;margin-bottom:12px;border-top:1px solid var(--rule);padding-top:12px;width:100%}
.down:hover{color:var(--accent)}

/* карточка героя статьи (после ввода ника) */
.hero-card{margin-top:36px;max-width:44rem;border-top:3px solid var(--ink);padding-top:22px}
.profile{display:flex;gap:18px;align-items:center}
.ava{flex:none;width:72px;height:72px;border:1px solid var(--ink);background:var(--paper-2);color:var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:500;font-size:2.2rem;line-height:1;overflow:hidden;position:relative}
.ava img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ava.sm{width:40px;height:40px;font-size:1.2rem}
.profile .nm{font-family:var(--serif);font-weight:560;font-size:clamp(1.5rem,6vw,2.1rem);line-height:1.1;overflow-wrap:anywhere}
.profile .fn{color:var(--muted);overflow-wrap:anywhere}
.counts{display:flex;gap:0;margin:22px 0 0;border-top:1px solid var(--rule)}
.counts>div{flex:1;padding:14px 16px 14px 0}
.counts>div+div{padding-left:18px;border-left:1px solid var(--rule)}
.counts b{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(1.9rem,8vw,2.8rem);line-height:1;letter-spacing:-.02em;font-variant-numeric:lining-nums}
.counts span{color:var(--muted);font-size:.9rem}
.price{display:flex;align-items:baseline;gap:12px;margin:6px 0 18px;padding-top:14px;border-top:1px solid var(--rule);color:var(--muted)}
.price::after{content:"";order:1;flex:1;border-bottom:1px dotted var(--muted);transform:translateY(-.3em)}
.price b{order:2;font-family:var(--serif);font-weight:560;color:var(--ink);font-size:clamp(2.4rem,11vw,3.6rem);line-height:1;letter-spacing:-.03em}
.hero-card .hint{max-width:34em}
.hero-card a{color:var(--accent)}

/* ===== секции-статьи ===== */
.sec{border-top:1px solid var(--ink);padding:26px 0 54px;display:grid;gap:22px;grid-template-columns:minmax(0,1fr)}
.sec-h h2{margin:0}
.sec-h .kicker{margin:10px 0 0;color:var(--muted);font-size:.95rem;font-family:var(--serif);font-style:italic;max-width:22em}
.sec-b{min-width:0}
@media(min-width:900px){.sec{grid-template-columns:270px minmax(0,1fr);gap:56px;padding-bottom:72px}.sec-h{position:sticky;top:20px;align-self:start}}

/* образец отчёта */
.specimen{border:1px solid var(--ink);background:var(--paper-2);padding:22px 20px 8px;max-width:44rem}
.specimen h3{font-size:clamp(1.5rem,5.5vw,2rem);font-weight:560}
.specimen .sub{color:var(--muted);font-size:.92rem;margin:6px 0 0}
.figs{display:grid;grid-template-columns:repeat(3,1fr);margin:22px 0 4px;border-top:1px solid var(--ink)}
.figs>div{padding:12px 10px 12px 0}
.figs>div+div{padding-left:12px;border-left:1px solid var(--rule)}
.figs b{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(1.9rem,8.5vw,3.4rem);line-height:1;letter-spacing:-.03em}
.figs span{display:block;color:var(--muted);font-size:.82rem;line-height:1.3;margin-top:6px}
.figs .on b{color:var(--accent)}
.specimen h4{font-family:var(--serif);font-weight:600;font-size:1.05rem;margin:22px 0 2px}
.specimen ul.list{margin-bottom:10px}
.specimen .more-note{color:var(--muted);font-size:.9rem;padding:12px 0;border-top:1px solid var(--rule);margin:0}
.after{margin:16px 0 0;max-width:40em}

.prose{font-family:var(--serif);font-size:1.14rem;line-height:1.65;max-width:35em}
.prose p{margin:0 0 1.05em}
.prose strong{font-weight:650}
.prose p:first-child::first-letter{float:left;font-size:4.6em;line-height:.82;padding:.06em .1em 0 0;font-weight:500;color:var(--accent)}

/* прайс: строка с отточием */
.tiers-box{max-width:34rem}
ul.pl-list,ul.price-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.price-list li{display:flex;align-items:baseline;gap:10px;padding:13px 0;border-bottom:1px solid var(--rule)}
.price-list li::after{content:"";order:1;flex:1;border-bottom:1px dotted var(--muted);transform:translateY(-.3em)}
.price-list .r{order:0;color:var(--ink)}
.price-list .p{order:2;font-family:var(--serif);font-weight:560;font-size:1.5rem;line-height:1;font-variant-numeric:lining-nums}
.tiers-box .cap{color:var(--muted);font-size:.85rem;margin:0 0 8px}
table.tiers{width:100%;border-collapse:collapse}
table.tiers th,table.tiers td{padding:10px 8px;text-align:left;border-bottom:1px solid var(--rule)}
table.tiers thead th{border-bottom:1px solid var(--ink);color:var(--muted);font-size:.85rem;font-weight:600}
table.tiers td:last-child,table.tiers th:last-child{text-align:right;font-weight:650}

details.faq{border-bottom:1px solid var(--rule);max-width:44rem}
details.faq:first-of-type{border-top:1px solid var(--ink)}
details.faq summary{cursor:pointer;font-family:var(--serif);font-weight:560;font-size:1.2rem;line-height:1.3;padding:16px 36px 16px 0;min-height:52px;list-style:none;position:relative}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";position:absolute;right:4px;top:12px;font-family:var(--sans);font-weight:300;font-size:1.8rem;line-height:1;color:var(--accent)}
details.faq[open] summary::after{content:"−"}
details.faq p{color:var(--muted);max-width:36em;margin:0 0 18px}
details.faq p a{color:var(--accent)}

/* ===== заказ ===== */
.panel{border-top:3px solid var(--ink);border-bottom:1px solid var(--rule);padding:18px 0 20px;max-width:44rem}
.badge{display:inline-block;padding:3px 10px;border:1px solid var(--accent);color:var(--accent);font-size:.9rem;font-weight:600;border-radius:2px}
.bar{height:6px;background:var(--rule);overflow:hidden}
.bar>i{display:block;height:100%;width:0;background:var(--accent);transition:width .5s}
.pl{display:flex;justify-content:space-between;gap:8px;font-size:.95rem;margin:18px 0 8px}
.pl span:first-child{font-family:var(--serif);font-weight:560;font-size:1.05rem}
.pl span:last-child{color:var(--muted);font-variant-numeric:tabular-nums}

/* ===== отчёт ===== */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 18px;margin:8px 0 18px}
.stat{background:transparent;border:0;border-top:3px solid var(--rule);border-radius:0;padding:12px 0 14px;text-align:left;display:block;min-height:0;color:var(--ink);align-items:initial}
.stat:hover:not(:disabled){background:transparent;color:var(--ink);border-top-color:var(--muted)}
.stat.active{border-top-color:var(--accent)}
.stat .n{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(2.3rem,10vw,3.6rem);line-height:1;letter-spacing:-.03em;font-variant-numeric:lining-nums}
.stat.active .n{color:var(--accent)}
.stat .l{display:block;font-family:var(--sans);font-weight:500;font-size:.9rem;line-height:1.3;color:var(--muted);margin-top:8px}
.stat.active .l{color:var(--ink)}
.tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.tools input{flex:1 1 100%;font-size:1.05rem}
.tools button{flex:1 1 140px}
ul.list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
ul.list li{display:flex;gap:14px;align-items:center;padding:8px 0;border-bottom:1px solid var(--rule);min-height:58px}
ul.list .t{min-width:0;flex:1}
ul.list a{color:var(--ink);text-decoration:none;font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;min-height:22px}
ul.list .u{font-weight:600;display:block;min-height:22px}
ul.list a:hover{color:var(--accent);text-decoration:underline}
ul.list .d{color:var(--muted);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.empty{padding:28px 0;color:var(--muted);font-family:var(--serif);font-style:italic}
ul.list li.empty{display:block;border-bottom:1px solid var(--rule)}
.more{margin-top:14px;width:100%}
.demo-note{border:1px solid var(--ink);border-left-width:6px;border-left-color:var(--accent);background:var(--paper-2);padding:14px 18px;margin:0 0 26px;max-width:44rem;display:flex;gap:10px 24px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.demo-note p{margin:0;font-family:var(--serif);font-size:1.1rem;font-weight:560;flex:1 1 240px}

/* подвал */
footer.site{margin-top:24px;padding-top:18px;border-top:1px solid var(--ink);color:var(--muted);font-size:.85rem;max-width:44rem}
footer.site p{margin:0 0 8px}
footer.site nav{display:flex;gap:0 20px;flex-wrap:wrap;margin-top:6px}
footer.site a{color:var(--ink);min-height:44px;display:inline-flex;align-items:center}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:12px 18px;border-radius:2px;font-size:.95rem;z-index:9;max-width:90vw;animation:rise .25s ease-out}
.spin{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:sp .7s linear infinite;vertical-align:-3px;margin-right:6px}
.go .spin{margin:0}
@keyframes sp{to{transform:rotate(360deg)}}
@keyframes rise{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes ink{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
/* единственный выход: заголовок и поле появляются при загрузке */
.hero h1,.hero .ask,.hero .facts{animation:ink .7s cubic-bezier(.2,.7,.2,1) both}
.hero .ask{animation-delay:.12s}.hero .facts{animation-delay:.2s}
.hero-card{animation:ink .35s ease-out both}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* ===== юридические страницы ===== */
.doc h1{margin-top:0}
.doc h2{margin:38px 0 12px;font-size:clamp(1.25rem,4.4vw,1.5rem);padding-top:16px;border-top:1px solid var(--rule)}
.doc p,.doc li{max-width:68ch}
.doc ol,.doc ul{padding-left:22px;margin:0 0 12px}
.doc li{margin-bottom:6px}
.doc .meta{color:var(--muted);font-size:.9rem}
.doc .note{font-size:.88rem;color:var(--muted);border-top:1px solid var(--ink);padding-top:12px;margin-top:36px}
.doc mark{background:#f3e08a;color:#181611;padding:0 3px}
.doc .lawyer{background:#f0c9a4;color:#181611;padding:0 3px;font-size:.9em}
.doc .tw{overflow-x:auto}
.doc table.tiers td:last-child,.doc table.tiers th:last-child{white-space:nowrap}
.doc .lead{font-size:1.1rem}

/* модалка с документами */
html.nv-lock{overflow:hidden}
dialog.nv-dlg{padding:0;border:1px solid var(--ink);border-radius:0;background:var(--paper);color:var(--ink);width:min(760px,calc(100% - 24px));max-width:none;height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);margin:auto;overflow:hidden}
dialog.nv-dlg[open]{display:block;animation:ink .25s ease-out both}
dialog.nv-dlg::backdrop{background:rgba(20,18,12,.62)}
.nv-dlg-box{display:flex;flex-direction:column;height:100%}
.nv-dlg-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 8px 12px 20px;border-bottom:3px solid var(--ink)}
.nv-dlg-head h2{margin:0;font-size:clamp(1.2rem,4.6vw,1.5rem);line-height:1.2;padding-top:8px}
.nv-dlg-x{flex:none;width:46px;height:46px;padding:0;font-size:1.9rem;line-height:1;font-weight:300;border-color:transparent}
.nv-dlg-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:12px 20px 28px;-webkit-overflow-scrolling:touch}
.nv-dlg-body:focus{outline:none}
.nv-dlg-body h2{margin-top:26px}
.nv-dlg-body .page-head{padding:10px 0 4px}
@media(min-width:640px){dialog.nv-dlg{height:auto;max-height:min(88dvh,900px)}dialog.nv-dlg[open]{height:min(88dvh,900px)}}

@media(min-width:720px){
  .wrap{padding-left:32px;padding-right:32px}
  .specimen{padding:28px 30px 12px}
  .figs>div+div{padding-left:22px}
}
