/* ===== Общие стили сайта iliyndanil.com ===== */

/* Шрифт Golos Text (variable, 400–900), self-hosted */
@font-face{
  font-family:"Golos Text";font-style:normal;font-weight:400 900;font-display:swap;
  src:url("/assets/fonts/golos-text-cyrillic.woff2") format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:"Golos Text";font-style:normal;font-weight:400 900;font-display:swap;
  src:url("/assets/fonts/golos-text-latin.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:#FFFFFF; --ink:#1A1A1B; --read:#26262A; --soft:#3B3B40; --muted:#6E6E74;
  --accent:#E87328; --accent-deep:#BF5410; --blue:#1E5A85; --blue-deep:#17466A; --rule:#E7E7E4;
  --avatar-bg:#EFEFEC; --footer-bg:#F5F5F3;
  --gutter:clamp(18px,5vw,30px);
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:"Golos Text",system-ui,sans-serif;font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-wrap:break-word;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--accent);color:#fff;}

.link{color:var(--ink);text-decoration:underline;text-decoration-color:var(--blue);
  text-decoration-thickness:1.5px;text-underline-offset:4px;
  transition:color .18s ease,text-decoration-thickness .18s ease;}
.link:hover{color:var(--blue-deep);text-decoration-thickness:3px;}

/* ---- topbar / menu ---- */
.topbar{background:var(--paper);position:sticky;top:0;z-index:10;}
.topbar-inner{max-width:820px;margin:0 auto;padding:14px var(--gutter);
  display:flex;align-items:center;gap:18px;}
.menu{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.menu a{color:var(--muted);font-weight:500;font-size:.92rem;transition:color .18s ease;}
.menu a:hover{color:var(--accent-deep);}
.menu-sep{color:var(--rule);font-size:.92rem;}

/* ---- breadcrumbs ---- */
.breadcrumbs-inner{max-width:700px;margin:0 auto;padding:34px var(--gutter) 34px;}
.bc{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.bc a{color:var(--muted);font-weight:500;font-size:.88rem;transition:color .18s ease;}
.bc a:hover{color:var(--accent-deep);}
.bc-sep{color:var(--rule);font-size:.88rem;}
.bc .current{color:var(--ink);font-weight:500;font-size:.88rem;}
.bc a,.bc .current{min-width:0;}

/* ---- article scaffold (блог, карта, контакты, 404) ---- */
.article{max-width:820px;margin:0 auto;padding:clamp(24px,4vw,36px) var(--gutter) 0;}
h1.title{font-family:"Golos Text",sans-serif;font-weight:800;
  font-size:clamp(2.1rem,5.2vw,2.95rem);line-height:1.07;letter-spacing:-.022em;margin:0 0 18px;}
.standfirst{font-size:clamp(1.12rem,2.6vw,1.28rem);font-weight:500;line-height:1.4;
  color:var(--soft);margin:0 0 26px;}

/* ---- footer ---- */
.site-footer{background:var(--footer-bg);border-top:1px solid var(--rule);margin-top:64px;}
.footer-inner{max-width:820px;margin:0 auto;padding:44px var(--gutter) 52px;color:var(--soft);}
.footer-inner p{margin:0 0 12px;max-width:56ch;}
.foot-links{font-weight:500;color:var(--muted);}
.foot-links .sep{color:var(--rule);margin:0 .12em;}
.socials{display:flex;gap:17px;margin:20px 0 14px;}
.soc{position:relative;display:grid;place-items:center;width:34px;height:34px;
  color:var(--muted);transition:color .18s ease;}
.soc:hover{color:var(--ink);}
.soc svg{width:18px;height:18px;fill:currentColor;}
.soc .star{position:absolute;top:-3px;right:-5px;font-size:.7rem;color:var(--muted);font-weight:600;}
.fr-note{font-size:.78rem;color:var(--muted);line-height:1.5;max-width:54ch;}
.requisites{font-family:"Golos Text",sans-serif;font-size:.72rem;line-height:1.75;
  color:var(--muted);margin:22px 0 14px;border-top:1px dashed var(--rule);padding-top:18px;word-break:break-word;}
.requisites .rq-name{color:var(--soft);}
.copyright{font-size:.8rem;color:var(--muted);margin:0;}

a:focus-visible,.link:focus-visible,.soc:focus-visible{outline:2px solid var(--accent);
  outline-offset:3px;border-radius:3px;}

/* ===== Главная ===== */
.wrap{max-width:820px;margin:0 auto;padding:clamp(32px,5vw,52px) var(--gutter) 0;}
.avatar{width:96px;height:96px;border-radius:50%;background:var(--avatar-bg);
  overflow:hidden;margin-bottom:26px;box-shadow:0 1px 0 rgba(33,28,23,.04);}
.avatar img{width:100%;height:100%;object-fit:cover;object-position:center 8%;display:block;}
.home h1{font-family:"Golos Text",sans-serif;font-weight:800;
  font-size:clamp(2.5rem,7vw,3.5rem);line-height:1.0;letter-spacing:-.025em;margin:0 0 18px;}
.home h1 .role{color:var(--accent);}
.lede{font-size:clamp(1.18rem,3.4vw,1.35rem);font-weight:500;line-height:1.35;margin:0 0 20px;}
.intro{color:var(--soft);margin:0 0 26px;max-width:62ch;}
.quick{font-weight:500;color:var(--muted);margin:0 0 8px;line-height:2;}
.quick .sep{color:var(--rule);margin:0 .12em;}

.home section{padding-top:40px;margin-top:40px;border-top:1px solid var(--rule);}
.tag{font-family:"Golos Text",sans-serif;font-size:.72rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 14px;
  display:flex;align-items:center;gap:.6em;}
.tag::before{content:"";width:7px;height:7px;border-radius:2px;background:var(--accent);
  display:inline-block;flex:none;}
.home h2{font-family:"Golos Text",sans-serif;font-weight:700;
  font-size:clamp(1.45rem,4vw,1.7rem);letter-spacing:-.02em;line-height:1.1;margin:0 0 10px;}
.sec-lede{color:var(--soft);margin:0 0 22px;max-width:60ch;}

ul.list,ul.posts{list-style:none;margin:0;padding:0;}
ul.list li{margin:0 0 16px;padding-left:18px;position:relative;line-height:1.5;}
ul.list li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:1.5px;
  background:var(--muted);border-radius:2px;}
.item-name{font-weight:600;}
.desc{color:var(--soft);}
.soon{color:var(--muted);}

ul.posts li{margin:0 0 20px;line-height:1.45;}
.post-date{font-family:"Golos Text",sans-serif;font-size:.82rem;
  color:var(--muted);display:block;margin-bottom:2px;}
.post-title{font-weight:600;font-size:1.06rem;}
.more{font-weight:600;}

.seo-tags-inner{max-width:820px;margin:0 auto;padding:30px var(--gutter) 4px;
  display:flex;flex-wrap:wrap;gap:2px 4px;}
.kw{font-size:.8rem;color:var(--muted);line-height:1.5;cursor:pointer;
  position:relative;padding-right:13px;transition:color .18s ease;}
.kw::after{content:"·";position:absolute;right:2px;color:var(--rule);}
.kw:last-child::after{content:"";}
.kw:hover{color:var(--ink);}

@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(10px);animation:rise .7s cubic-bezier(.2,.7,.2,1) forwards;}
  @keyframes rise{to{opacity:1;transform:none;}}
}

/* ===== Блог: список статей ===== */
.blog-list{max-width:700px;margin:6px auto 0;}
.blog-entry{padding:26px 0;border-top:1px solid var(--rule);}
.blog-entry:first-child{border-top:none;padding-top:0;}
.blog-date{font-size:.82rem;color:var(--muted);display:block;margin-bottom:6px;}
.blog-entry h2{font-family:"Golos Text",sans-serif;font-weight:700;
  font-size:clamp(1.3rem,3.2vw,1.55rem);letter-spacing:-.015em;line-height:1.2;margin:0 0 8px;}
.blog-entry h2 a{color:var(--ink);text-decoration:none;transition:color .18s ease;}
.blog-entry h2 a:hover{color:var(--blue-deep);text-decoration:underline;
  text-decoration-color:var(--blue);text-decoration-thickness:1.5px;text-underline-offset:4px;}
.blog-excerpt{margin:0;color:var(--soft);font-size:1.02rem;line-height:1.55;}
.blog-empty{margin:0;color:var(--muted);font-size:1.02rem;}

/* ===== Блог: статья ===== */
.cover{max-width:940px;margin:0 auto;padding:clamp(20px,4vw,34px) var(--gutter) 0;}
.cover-img{width:100%;height:auto;display:block;border-radius:18px;}
.article-body{max-width:700px;margin:0 auto;}
.byline{display:flex;align-items:center;gap:12px;padding:18px 0;
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-bottom:36px;}
.byline .ava{width:44px;height:44px;border-radius:50%;background:var(--avatar-bg);overflow:hidden;flex:none;}
.byline .ava img{width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block;}
.byline .who{font-weight:600;font-size:.95rem;line-height:1.2;}
.byline .meta{font-family:"Golos Text",sans-serif;font-size:.72rem;color:var(--muted);
  letter-spacing:.03em;margin-top:3px;}

.toc{max-width:700px;margin:0 auto 38px;padding:0 0 22px;border-bottom:1px solid var(--rule);}
.toc-label{font-family:"Golos Text",sans-serif;font-size:.82rem;color:var(--muted);margin:0 0 12px;}
.toc-list{margin:0;padding:0;list-style:none;}
.toc-list li{margin:0 0 8px;line-height:1.4;}
.toc-list li:last-child{margin-bottom:0;}
.toc-list a{color:var(--soft);font-size:.98rem;text-decoration:none;transition:color .18s ease;}
.toc-list a:hover{color:var(--accent-deep);}

.prose{color:var(--read);max-width:700px;margin:0 auto;}
.prose p{font-size:1.05rem;line-height:1.72;margin:0 0 1.15em;}
.prose h2{font-family:"Golos Text",sans-serif;font-weight:700;color:var(--ink);
  font-size:clamp(1.4rem,3.4vw,1.65rem);letter-spacing:-.018em;line-height:1.15;
  margin:1.9em 0 .55em;scroll-margin-top:72px;}
.prose h3{font-family:"Golos Text",sans-serif;font-weight:700;color:var(--ink);
  font-size:clamp(1.15rem,2.6vw,1.28rem);letter-spacing:-.012em;line-height:1.25;
  margin:1.6em 0 .5em;scroll-margin-top:72px;}
.prose ul,.prose ol{margin:0 0 1.3em;padding:0;list-style:none;}
.prose li{position:relative;padding-left:22px;margin:0 0 .7em;font-size:1.05rem;line-height:1.6;}
.prose ul li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:2px;
  background:var(--muted);border-radius:2px;}
.prose ol{counter-reset:li;}
.prose ol li{counter-increment:li;}
.prose ol li::before{content:counter(li) ".";position:absolute;left:0;top:0;
  color:var(--muted);font-weight:600;}
.prose blockquote{margin:1.6em 0;padding:4px 0 4px 22px;border-left:3px solid var(--blue);
  font-family:"Golos Text",sans-serif;font-weight:600;color:var(--ink);
  font-size:1.22rem;line-height:1.35;letter-spacing:-.01em;}
.prose blockquote p{font-size:inherit;line-height:inherit;margin:0 0 .6em;}
.prose blockquote p:last-child{margin-bottom:0;}
.prose strong{font-weight:600;color:var(--ink);}
.prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--blue);
  text-decoration-thickness:1.5px;text-underline-offset:4px;}
.prose a:hover{color:var(--blue-deep);}
.prose img{max-width:100%;height:auto;}
.prose figure.image{margin:1.8em 0;}
.prose figure.image img{display:block;width:100%;height:auto;border-radius:14px;}
.prose figure.image figcaption{margin-top:8px;font-size:.85rem;color:var(--muted);text-align:center;}
.prose table{border-collapse:collapse;width:100%;margin:1.8em 0;font-size:.98rem;}
.prose table td,.prose table th{border:1px solid var(--rule);padding:10px 14px;text-align:left;}
.prose table th{background:var(--footer-bg);font-weight:600;color:var(--ink);}

/* блоки редактора */
.prose .warn-box,.prose .tip-box,.prose .pullquote-box{
  margin:1.6em 0;padding:16px 20px;border-radius:14px;border-left:3px solid var(--accent);
  font-family:inherit;font-weight:400;font-size:1.05rem;line-height:1.6;letter-spacing:0;}
.prose .warn-box{background:#FFF6E6;}
.prose .warn-box strong{color:#9A5B00;}
.prose .tip-box{background:#EFF6EE;border-left-color:#4E9A5F;}
.prose .tip-box strong{color:#2F6B3C;}
.prose .pullquote-box{background:var(--footer-bg);border-left-color:var(--blue);}
.prose .pullquote-box p{font-family:"Golos Text",sans-serif;font-weight:600;color:var(--ink);
  font-size:1.15rem;line-height:1.4;letter-spacing:-.01em;}
.prose .pullquote-box cite{display:block;margin-top:10px;font-style:normal;
  font-size:.9rem;font-weight:500;color:var(--muted);}
.prose .expert-quote{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;
  align-items:center;margin:1.8em 0;padding:18px 20px;border-radius:14px;
  background:var(--footer-bg);border-left:3px solid var(--accent);}
.prose .expert-quote-person{display:flex;flex-direction:column;align-items:center;text-align:center;}
.prose .expert-quote-photo-box{width:64px;height:64px;border-radius:50%;overflow:hidden;
  background:var(--avatar-bg);display:flex;align-items:center;justify-content:center;flex:none;}
.prose .expert-quote-photo-box img{display:block;width:100%;height:100%;object-fit:cover;margin:0;}
.prose .expert-quote-photo-fallback{color:var(--accent);font-family:"Golos Text",sans-serif;
  font-size:26px;font-weight:800;line-height:1;}
.prose .expert-quote-name{margin-top:8px;font-size:.85rem;font-weight:700;color:var(--ink);line-height:1.25;}
.prose .expert-quote-role{margin-top:3px;font-size:.75rem;color:var(--muted);line-height:1.35;}
.prose .expert-quote-bubble{position:relative;}
.prose .expert-quote-bubble p{margin:0;font-size:1.02rem;line-height:1.6;color:var(--read);}

.article-cta{display:flex;align-items:stretch;max-width:540px;margin:44px 0 0;
  border-radius:14px;background:var(--footer-bg);overflow:hidden;}
.cta-ava{width:150px;flex:none;background:var(--avatar-bg);}
.cta-ava img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;}
.cta-body{padding:20px 22px;display:flex;flex-direction:column;justify-content:center;}
.cta-text{margin:0 0 16px;color:var(--soft);font-size:1rem;line-height:1.5;}
.btn{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;background:var(--accent);
  color:#fff;font-weight:600;padding:9px 16px;border-radius:9px;font-size:.92rem;
  transition:background .18s ease;}
.btn svg{width:16px;height:16px;fill:currentColor;}
.btn:hover{background:var(--accent-deep);}

.faq{max-width:700px;margin:44px auto 0;padding-top:34px;border-top:1px solid var(--rule);}
.faq-title{font-family:"Golos Text",sans-serif;font-weight:700;color:var(--ink);
  font-size:1.4rem;letter-spacing:-.018em;margin:0 0 20px;}
.faq-item{margin:0 0 20px;}
.faq-item h3{font-family:"Golos Text",sans-serif;font-weight:600;color:var(--ink);
  font-size:1.05rem;margin:0 0 6px;line-height:1.3;}
.faq-item p{margin:0;color:var(--read);font-size:1.02rem;line-height:1.6;}

/* ===== Карта сайта ===== */
.site-stats{max-width:700px;margin:6px auto 42px;display:flex;gap:48px;flex-wrap:wrap;}
.stat-num{font-family:"Golos Text",sans-serif;font-weight:800;font-size:3rem;line-height:1;display:block;color:var(--ink);}
.stat-num.accent{color:var(--accent);}
.stat-label{font-size:.95rem;color:var(--muted);margin-top:6px;display:block;}
.map-section{max-width:700px;margin:0 auto 34px;}
.map-section h2{font-family:"Golos Text",sans-serif;font-weight:700;font-size:1.3rem;
  letter-spacing:-.015em;margin:0 0 12px;}
.map-section h2 .count{color:var(--muted);font-weight:500;font-size:.95rem;margin-left:6px;}
.map-list{list-style:none;margin:0;padding:0;}
.map-list li{padding:11px 0;border-top:1px solid var(--rule);display:flex;
  justify-content:space-between;gap:16px;align-items:baseline;}
.map-list li:first-child{border-top:none;padding-top:2px;}
.map-list a{color:var(--ink);text-decoration:none;transition:color .18s ease;}
.map-list a:hover{color:var(--blue-deep);text-decoration:underline;
  text-decoration-color:var(--blue);text-decoration-thickness:1.5px;text-underline-offset:4px;}
.map-date{color:var(--muted);font-size:.84rem;white-space:nowrap;}
.map-list a{min-width:0;}

/* ===== Контакты ===== */
.contacts-list{max-width:700px;margin:0 auto;}
.contact-row{padding:16px 0;border-top:1px solid var(--rule);line-height:1.5;}
.contact-row:first-child{border-top:none;padding-top:2px;}
.contact-label{font-family:"Golos Text",sans-serif;font-size:.72rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:4px;}
.contact-row .what{color:var(--soft);}
.contacts-note{max-width:700px;margin:26px auto 0;color:var(--muted);font-size:.95rem;line-height:1.6;}

/* ===== media ===== */
@media (max-width:600px){
  :root{--gutter:18px;}
  body{font-size:16.5px;line-height:1.62;}
  .topbar-inner{padding:13px var(--gutter);gap:12px;}
  .menu{gap:15px;}
  .menu a,.menu-sep{font-size:.88rem;}
  .bc a,.bc-sep,.bc .current{font-size:.82rem;}
  .breadcrumbs-inner{padding:24px var(--gutter) 24px;}
  .article{padding:24px var(--gutter) 0;}
  h1.title{font-size:2.05rem;line-height:1.08;}
  .standfirst{font-size:1.1rem;}
  .wrap{padding:26px var(--gutter) 0;}
  .avatar{width:84px;height:84px;margin-bottom:20px;}
  .home h1{font-size:2.1rem;line-height:1.06;margin-bottom:14px;}
  .lede{font-size:1.12rem;line-height:1.34;margin-bottom:16px;}
  .intro{font-size:1rem;line-height:1.6;margin-bottom:22px;}
  .quick{line-height:2.1;}
  .home section{padding-top:32px;margin-top:32px;}
  .tag{margin-bottom:12px;}
  .home h2{font-size:1.32rem;margin-bottom:8px;}
  .sec-lede{font-size:1rem;margin-bottom:18px;}
  ul.list li{font-size:1rem;margin-bottom:15px;}
  ul.posts li{margin-bottom:18px;}
  .post-title{font-size:1.02rem;}
  .seo-tags-inner{padding:26px var(--gutter) 2px;}
  .prose p,.prose li{font-size:1.02rem;line-height:1.68;}
  .prose h2{font-size:1.3rem;margin-top:1.7em;}
  .prose blockquote{font-size:1.12rem;}
  .prose .expert-quote{grid-template-columns:56px minmax(0,1fr);padding:14px 16px;}
  .prose .expert-quote-photo-box{width:56px;height:56px;}
  .cta-ava{width:118px;}
  .cta-body{padding:16px;}
  .site-footer{margin-top:48px;}
  .footer-inner{padding:36px var(--gutter) 44px;}
  .footer-inner p{margin-bottom:11px;}
  .soc{width:44px;height:44px;}
  .requisites{font-size:.7rem;}
}
@media (max-width:360px){
  .cta-ava{width:90px;}
  .cta-body{padding:13px 12px;}
  .article-cta .btn{padding:8px 12px;font-size:.86rem;}
}
