/* Спільні стилі внутрішніх сторінок: документи, блог, 404 */
:root{
  --blue:#1B15CB; --blue-bright:#4A42FF; --blue-pale:#8B85FF;
  --black:#000; --white:#fff; --gray-light:#B7B8C6; --line:rgba(255,255,255,0.1);
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  background:var(--black); color:var(--white); font-family:'Montserrat',sans-serif;
  -webkit-font-smoothing:antialiased; line-height:1.7;
}
a{ color:inherit; }

/* ---- header ---- */
.p-header{
  position:sticky; top:0; z-index:50;
  background:rgba(0,0,0,0.85); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.p-header-in{ max-width:1100px; margin:0 auto; padding:14px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.p-logo{ font-family:'Unbounded',sans-serif; font-weight:800; font-size:15px; text-decoration:none; letter-spacing:0.01em; }
.p-nav{ display:flex; align-items:center; gap:22px; font-size:13px; font-weight:600; color:var(--gray-light); }
.p-nav a{ text-decoration:none; }
.p-nav a:hover{ color:var(--white); }
.p-cta{
  background:var(--blue-bright); color:var(--white) !important; padding:10px 16px; border-radius:999px;
  font-weight:700; font-size:12.5px; text-decoration:none; white-space:nowrap;
}
@media(max-width:640px){ .p-nav .p-hide-m{ display:none; } .p-header-in{ padding:12px 16px; } }

/* ---- main ---- */
.p-main{ max-width:820px; margin:0 auto; padding:56px 24px 90px; }
@media(max-width:640px){ .p-main{ padding:36px 16px 70px; } }
.p-crumbs{ font-size:12.5px; color:var(--gray-light); margin-bottom:22px; }
.p-crumbs a{ text-decoration:none; } .p-crumbs a:hover{ color:var(--white); }
.p-eyebrow{
  font-size:12px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--blue-bright);
  display:inline-flex; align-items:center; gap:10px;
}
.p-eyebrow::before{ content:''; width:16px; height:1px; background:var(--blue-bright); }
.p-title{
  font-family:'Unbounded',sans-serif; font-weight:800; letter-spacing:-0.01em;
  font-size:clamp(28px,5vw,44px); line-height:1.15; margin-top:14px;
}
.p-meta{ margin-top:14px; font-size:13px; color:var(--gray-light); }

/* ---- document typography ---- */
.doc{ margin-top:40px; font-size:15.5px; color:#DADBE5; }
.doc h2{
  font-family:'Unbounded',sans-serif; font-weight:700; font-size:clamp(18px,2.6vw,22px);
  color:var(--white); margin:44px 0 14px; line-height:1.3; scroll-margin-top:90px;
}
.doc h3{ font-size:16.5px; font-weight:700; color:var(--white); margin:28px 0 10px; }
.doc p{ margin:0 0 14px; }
.doc ul, .doc ol{ margin:0 0 16px 22px; }
.doc li{ margin-bottom:8px; }
.doc a{ color:var(--blue-pale); text-decoration:underline; text-underline-offset:3px; }
.doc strong{ color:var(--white); }
.doc .box{
  border:1px solid var(--line); border-radius:16px; padding:20px 22px; margin:20px 0;
  background:rgba(255,255,255,0.03);
}
.doc .box p:last-child{ margin-bottom:0; }
.doc table{ width:100%; border-collapse:collapse; margin:16px 0 22px; font-size:14px; }
.doc th, .doc td{ text-align:left; padding:12px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
.doc th{ color:var(--white); font-weight:700; font-size:12.5px; text-transform:uppercase; letter-spacing:0.5px; }
@media(max-width:640px){
  .doc table, .doc thead, .doc tbody, .doc tr, .doc th, .doc td{ display:block; }
  .doc thead{ display:none; }
  .doc tr{ border:1px solid var(--line); border-radius:12px; padding:8px 12px; margin-bottom:12px; }
  .doc td{ border:none; padding:6px 0; }
  .doc td::before{ content:attr(data-label); display:block; font-size:11px; text-transform:uppercase; letter-spacing:0.8px; color:var(--gray-light); font-weight:700; }
}
.toc{ border:1px solid var(--line); border-radius:16px; padding:18px 22px; margin-top:32px; background:rgba(255,255,255,0.02); }
.toc b{ display:block; font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--gray-light); margin-bottom:10px; }
.toc ol{ margin-left:20px; font-size:14px; }
.toc a{ color:var(--white); text-decoration:none; } .toc a:hover{ color:var(--blue-pale); }

/* ---- CTA block ---- */
.p-cta-block{
  margin-top:56px; border-radius:20px; padding:30px 28px;
  background:radial-gradient(800px 300px at 100% 0%, rgba(27,21,203,0.45), transparent 60%), #0A0A0D;
  border:1px solid var(--line);
}
.p-cta-block h2{ font-family:'Unbounded',sans-serif; font-weight:800; font-size:clamp(20px,3vw,26px); line-height:1.25; }
.p-cta-block p{ margin-top:10px; color:var(--gray-light); font-size:14.5px; }
.p-btn{
  display:inline-flex; margin-top:20px; background:var(--blue-bright); color:var(--white); text-decoration:none;
  font-weight:700; font-size:14px; padding:15px 26px; border-radius:999px;
}
.p-btn:hover{ background:var(--blue); }
.p-btn.ghost{ background:transparent; border:1px solid rgba(255,255,255,0.25); margin-left:8px; }

/* ---- blog ---- */
.blog-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:18px; margin-top:40px; }
.post-card{
  display:flex; flex-direction:column; border:1px solid var(--line); border-radius:18px; overflow:hidden;
  background:#0A0A0D; text-decoration:none; transition:border-color .2s, transform .2s;
}
.post-card:hover{ border-color:rgba(74,66,255,0.6); transform:translateY(-2px); }
.post-card .pc-body{ padding:20px; }
.post-card .pc-tag{ font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--blue-bright); }
.post-card h3{ margin-top:8px; font-size:17px; line-height:1.35; }
.post-card p{ margin-top:8px; font-size:13.5px; color:var(--gray-light); }
.post-card .pc-date{ margin-top:12px; font-size:12px; color:#7d7e8c; }
.blog-empty{
  margin-top:40px; border:1px dashed rgba(255,255,255,0.18); border-radius:18px; padding:36px 26px; text-align:center;
}
.blog-empty h2{ font-family:'Unbounded',sans-serif; font-size:20px; font-weight:700; }
.blog-empty p{ margin-top:10px; color:var(--gray-light); font-size:14.5px; }

/* ---- 404 ---- */
.p-404{ min-height:70vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:60px 20px; }
.p-404 .big{ font-family:'Unbounded',sans-serif; font-weight:800; font-size:clamp(80px,18vw,160px); line-height:1; color:var(--blue-bright); }
.p-404 h1{ font-family:'Unbounded',sans-serif; font-size:clamp(20px,3.4vw,28px); margin-top:14px; }
.p-404 p{ margin-top:10px; color:var(--gray-light); max-width:440px; }

/* ---- footer ---- */
.p-footer{ border-top:1px solid var(--line); padding:36px 0 30px; font-size:13px; color:var(--gray-light); }
.p-footer-in{ max-width:1100px; margin:0 auto; padding:0 24px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:18px 30px; }
.p-footer nav{ display:flex; flex-wrap:wrap; gap:10px 20px; }
.p-footer a{ text-decoration:none; } .p-footer a:hover{ color:var(--white); }
