.library-content { width:min(1080px,100%); padding:0 1.5rem 4rem; margin:auto; }
.library-section { padding:2rem 0; border-bottom:1px solid var(--line); }
.library-section h2 { font-size:clamp(1.45rem,3vw,2rem); letter-spacing:-.025em; line-height:1.2; margin:0 0 1rem; }
.library-section p { max-width:76ch; font-size:1.1rem; color:var(--muted); line-height:1.75; }
.library-visual { margin:2rem 0; min-height:300px; }
.library-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.library-related { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.3rem; border:1px solid var(--line); border-radius:14px; text-decoration:none; background:white; }
.library-related:hover { background:var(--sky); }
.review-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.review-list article { padding:1.5rem; border:1px solid var(--line); border-radius:16px; }
.review-list code { display:block; margin-top:.7rem; overflow-wrap:anywhere; font-size:.8rem; }
.review-list p { font-size:.9rem; margin:.8rem 0; }
body[data-page-kind="library"] .hero,body[data-page-kind="review"] .hero { padding-top:3rem; padding-bottom:2rem; }
body[data-page-kind="library"] h1,body[data-page-kind="review"] h1 { max-width:23ch; }
.auth-demo-result { padding:1rem; border:1px solid var(--line); border-radius:12px; background:var(--sky); }
@media(max-width:650px) { .library-links,.review-list { grid-template-columns:1fr; } .library-visual { min-height:220px; } }

:root {
  --ink: #102033;
  --muted: #5b6b7c;
  --line: #dce5ed;
  --sky: #e9f7ff;
  --blue: #116b9a;
  --blue-dark: #08496c;
  --paper: #ffffff;
  --soft: #f4f7f9;
  --radius: 18px;
  --shadow: 0 18px 60px rgb(25 67 91 / 12%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--paper);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; min-height: 100svh; display: flex; flex-direction: column; line-height: 1.55; }
a { color: var(--blue-dark); text-underline-offset: .18em; }
a:hover { text-decoration-thickness: 2px; }
img { display: block; max-width: 100%; height: auto; }

.skip-link {
  position: fixed; left: 1rem; top: -6rem; z-index: 100;
  padding: .7rem 1rem; background: var(--ink); color: white; border-radius: 8px;
}
.skip-link:focus { top: 1rem; }

.site-header {
  min-height: 64px; display: flex; align-items: center; gap: 2rem;
  padding: .5rem clamp(1rem, 4vw, 4rem); border-bottom: 1px solid var(--line);
  background: rgb(255 255 255 / 94%);
}
.brand { font-size: 1.45rem; font-weight: 850; color: var(--ink); text-decoration: none; white-space: nowrap; }
.brand span { color: var(--blue); }
.main-nav { display: flex; align-items: center; gap: clamp(.8rem, 2vw, 1.5rem); flex: 1; }
.main-nav a, .header-login, .site-footer nav a { font-weight: 650; text-decoration: none; }
.header-login { padding: .55rem .9rem; border: 1px solid var(--line); border-radius: 10px; }

body.auth-open { overflow: hidden; }
.auth-dialog[hidden] { display: none; }
.auth-dialog { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 1rem; }
.auth-dialog__backdrop { position: absolute; inset: 0; background: rgba(13, 28, 42, .62); backdrop-filter: blur(5px); }
.auth-panel { position: relative; z-index: 1; width: min(100%, 430px); max-height: calc(100dvh - 2rem); overflow: auto; padding: 1.6rem; border: 1px solid rgba(255,255,255,.68); border-radius: 24px; background: rgba(255,255,255,.97); box-shadow: 0 26px 80px rgba(13,28,42,.28); color: var(--ink); }
.auth-panel--wide { width: min(100%, 680px); }
.auth-panel h2 { margin: 0 2rem .4rem 0; font-size: clamp(1.5rem, 4vw, 2rem); }
.auth-panel > p { margin: 0 0 1rem; color: var(--muted); }
.auth-close { position: absolute; top: .9rem; right: .9rem; width: 2.3rem; height: 2.3rem; border: 0; border-radius: 50%; background: #eef3f6; color: var(--ink); font: inherit; font-size: 1.5rem; cursor: pointer; }
.auth-form { display: grid; gap: .75rem; }
.auth-form--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.auth-form label, .auth-field { display: grid; gap: .35rem; font-size: .88rem; font-weight: 700; }
.auth-field--wide { grid-column: 1 / -1; }
.auth-form input { width: 100%; min-height: 44px; padding: .7rem .8rem; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink); font: inherit; }
.auth-form input:focus-visible, .auth-close:focus-visible, .auth-switch button:focus-visible { outline: 3px solid rgba(0,124,146,.23); outline-offset: 2px; }
.auth-label-row { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; }
.auth-label-row a { color: var(--brand); font-size: .82rem; }
.auth-switch, .auth-consent, .auth-integration-note { text-align: center; font-size: .78rem; }
.auth-switch button { border: 0; padding: 0; background: none; color: var(--brand); font: inherit; font-weight: 750; cursor: pointer; }
.auth-integration-note { margin-top: .8rem !important; padding-top: .8rem; border-top: 1px solid var(--line); color: #667784 !important; }
@media (max-width: 620px) { .auth-form--grid { grid-template-columns: 1fr; } .auth-field--wide { grid-column: auto; } .auth-panel { padding: 1.25rem; border-radius: 18px; } }

main { min-height: 65vh; flex: 1; }
body[data-page-kind="home"] main { display: flex; min-height: 0; }
.breadcrumbs { max-width: 1180px; margin: 1.25rem auto 0; padding: 0 1.25rem; display: flex; gap: .55rem; color: var(--muted); font-size: .92rem; }
.breadcrumbs span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.hero {
  max-width: 1180px; margin: 0 auto; padding: clamp(3rem, 8vw, 7rem) 1.25rem clamp(2rem, 5vw, 4rem);
}
.hero-home {
  max-width: none; width: 100%; flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 680px) 1fr;
  gap: 1.5rem; align-items: center; padding: clamp(1rem, 2.5vh, 1.5rem) clamp(2rem, 4vw, 4rem);
  background-image: linear-gradient(90deg, #f8fafc 0%, #f8fafc 34%, rgb(248 250 252 / 88%) 52%, rgb(248 250 252 / 14%) 78%), url("../images/ritmik-full-bg.webp");
  background-repeat: no-repeat; background-size: cover; background-position: center right;
}
.hero-home .hero-copy { max-width: 680px; }
.hero-copy { position: relative; z-index: 1; }
.eyebrow { color: var(--blue); font-size: .82rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
h1 { max-width: 18ch; margin: .5rem 0 1.2rem; font-size: clamp(2.3rem, 5vw, 5.1rem); line-height: 1.02; letter-spacing: -.045em; }
.hero-home h1 { max-width: 20ch; margin-bottom: .8rem; font-size: clamp(2.35rem, 3.3vw, 3.3rem); }
.hero-home .lede { margin: 0; font-size: clamp(1rem, 1.35vw, 1.12rem); }
.hero-home .actions { margin-top: 1rem; }
.hero:not(.hero-home) h1 { font-size: clamp(2.2rem, 4.5vw, 4.25rem); }
.lede { max-width: 64ch; color: var(--muted); font-size: clamp(1.05rem, 1.7vw, 1.3rem); }
.actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.8rem; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .75rem 1rem; border-radius: 12px; font-weight: 800; text-decoration: none; }
.button-primary { background: var(--blue); color: white; border: 1px solid var(--blue); }
.button-primary:hover { background: var(--blue-dark); }
.button-secondary { background: white; color: var(--ink); border: 1px solid var(--line); }
.marketplace-link { display: inline-block; margin-top: .65rem; font-weight: 750; }
.home-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: .65rem; margin-top: 1rem; }
.home-features article { min-height: 96px; padding: .8rem; border: 1px solid rgb(220 229 237 / 90%); border-radius: 12px; background: rgb(255 255 255 / 78%); backdrop-filter: blur(8px); }
.home-features h2 { margin: 0 0 .4rem; font-size: 1rem; }
.home-features p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.4; }
.prototype-note { max-width: 62ch; margin-top: 1.5rem; padding: .8rem 1rem; border-left: 4px solid #d28a13; background: #fff8e7; }

body[data-page-kind="platform"] { background: #f7f9fc; }
body[data-page-kind="platform"] main { min-height: 0; flex: 1; display: flex; flex-direction: column; }
body[data-page-kind="platform"] .breadcrumbs { width: 100%; margin-top: .85rem; }
.hero-platform {
  width: 100%; max-width: 1380px; min-height: min(760px, calc(100svh - 190px));
  display: grid; grid-template-columns: minmax(0, .88fr) minmax(560px, 1.12fr);
  align-items: center; gap: clamp(2rem, 5vw, 5rem);
  padding-top: clamp(2rem, 5vw, 4.75rem); padding-bottom: clamp(3rem, 6vw, 5rem);
}
.hero-platform .hero-copy { max-width: 640px; }
.hero-platform h1 { max-width: 12ch; font-size: clamp(3rem, 5.2vw, 5.25rem); }
.hero-platform .lede { max-width: 58ch; font-size: clamp(1.05rem, 1.45vw, 1.22rem); }
.hero-support { margin: 1rem 0 0; color: #6c7b8c; font-size: .94rem; }
.sync-board {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: 570px; padding: 1.25rem; border: 1px solid #263b55; border-radius: 28px;
  background:
    radial-gradient(circle at 50% 48%, rgb(30 130 255 / 20%), transparent 28%),
    linear-gradient(145deg, #13253b, #081321 76%);
  box-shadow: 0 34px 80px rgb(10 31 55 / 24%); color: #f5f9ff;
}
.sync-board::before, .sync-board::after {
  content: ""; position: absolute; z-index: -1; left: 50%; top: 51%; translate: -50% -50%;
  border: 1px solid rgb(75 142 212 / 20%); border-radius: 50%;
}
.sync-board::before { width: 72%; aspect-ratio: 1; }
.sync-board::after { width: 48%; aspect-ratio: 1; border-color: rgb(64 190 255 / 24%); }
.sync-board__header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .2rem .2rem 1rem; border-bottom: 1px solid rgb(158 193 226 / 18%); }
.sync-board__title { font-weight: 800; }
.sync-board__title > span { color: #4cb9ff; font-size: 1.4rem; }
.sync-board__status { display: inline-flex; align-items: center; gap: .5rem; color: #55e2ab; font-size: .86rem; font-weight: 750; }
.sync-board__status > span { width: .55rem; height: .55rem; border-radius: 50%; background: #2bd98f; box-shadow: 0 0 0 5px rgb(43 217 143 / 10%); }
.sync-board__body { position: relative; min-height: 440px; margin-top: .6rem; }
.sync-core, .sync-node { position: absolute; display: flex; flex-direction: column; justify-content: center; }
.sync-core {
  left: 50%; top: 50%; translate: -50% -50%; width: 180px; aspect-ratio: 1;
  align-items: center; text-align: center; border: 1px solid rgb(103 190 255 / 55%); border-radius: 50%;
  background: radial-gradient(circle at 36% 28%, #287bc0, #102d4c 55%, #091a2b);
  box-shadow: 0 0 0 16px rgb(28 121 197 / 8%), 0 20px 50px rgb(0 0 0 / 30%);
}
.sync-core__mark { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: .55rem; border-radius: 14px; background: #fff; color: #0d6ea9; font-size: 1.55rem; font-weight: 950; }
.sync-core strong { font-size: 1.35rem; }
.sync-core small { max-width: 13ch; margin-top: .2rem; color: #b8cce0; font-size: .78rem; line-height: 1.35; }
.sync-node {
  width: 170px; min-height: 86px; padding: .8rem .9rem .8rem 3.25rem;
  border: 1px solid rgb(142 177 211 / 22%); border-radius: 16px;
  background: linear-gradient(145deg, rgb(31 53 78 / 94%), rgb(18 35 55 / 96%));
  box-shadow: 0 12px 30px rgb(0 0 0 / 18%);
}
.sync-node__icon { position: absolute; left: .8rem; top: 50%; translate: 0 -50%; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: rgb(37 142 230 / 18%); color: #63c0ff; font-weight: 900; }
.sync-node strong { font-size: .92rem; }
.sync-node small { margin-top: .15rem; color: #9fb3c7; font-size: .72rem; line-height: 1.25; }
.sync-node--rules { left: 2%; top: 7%; }
.sync-node--chat { right: 2%; top: 7%; }
.sync-node--tasks { left: 0; top: 41%; }
.sync-node--calendar { right: 0; top: 41%; }
.sync-node--ai { left: 5%; bottom: 3%; }
.sync-node--control { right: 5%; bottom: 3%; }
.sync-board__caption { display: flex; justify-content: center; align-items: center; gap: .55rem; margin: .1rem 0 0; padding: .75rem 1rem; border: 1px dashed rgb(123 166 207 / 28%); border-radius: 14px; color: #c7d8e8; font-size: .82rem; text-align: center; }
.sync-board__caption span { color: #55e2ab; font-size: 1.15rem; }

.cards, .context, .notice {
  max-width: 1180px; margin: 0 auto clamp(3rem, 7vw, 6rem); padding: 0 1.25rem;
}
.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.card { padding: 1.35rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--soft); }
.card h2 { margin: 0 0 .55rem; font-size: 1.2rem; }
.card p { margin: 0; color: var(--muted); }
.context, .notice { padding: clamp(1.5rem, 4vw, 3rem); border-radius: var(--radius); background: var(--sky); }
.context h2, .notice h2 { margin-top: 0; font-size: clamp(1.5rem, 3vw, 2.35rem); }

.site-footer {
  display: grid; grid-template-columns: 1fr 2fr auto; gap: 2rem; align-items: start;
  padding: 2.5rem clamp(1rem, 4vw, 4rem); background: var(--ink); color: #dce7ef;
}
body[data-page-kind="home"] .site-footer { min-height: 52px; display: flex; align-items: center; justify-content: space-between; padding-top: .55rem; padding-bottom: .55rem; font-size: .76rem; }
body[data-page-kind="home"] .site-footer > div { display: none; }
body[data-page-kind="home"] .site-footer nav { display: flex; gap: 1rem; }
body[data-page-kind="home"] .site-footer p { margin: 0; white-space: nowrap; }
.site-footer a { color: white; }
.site-footer nav { display: grid; grid-template-columns: repeat(3, minmax(120px, 1fr)); gap: .8rem 1.5rem; }
.brand-footer { display: inline-block; }
.error-page { max-width: 760px; margin: 15vh auto; padding: 2rem; }
.error-page h1 { font-size: clamp(2.4rem, 7vw, 5rem); }

@media (max-width: 900px) {
  .site-header { flex-wrap: wrap; gap: .8rem; }
  .main-nav { order: 3; flex-basis: 100%; overflow-x: auto; padding-bottom: .25rem; }
  .hero-home { min-height: auto; grid-template-columns: 1fr; }
  body[data-page-kind="home"] main { display: block; }
  .hero-home { padding-top: 17rem; background-image: linear-gradient(180deg, rgb(248 250 252 / 2%) 0, rgb(248 250 252 / 35%) 27%, #f8fafc 42%), url("../images/ritmik-full-bg.webp"); background-position: top right; background-size: auto 330px; }
  .cards { grid-template-columns: 1fr; }
  .site-footer { grid-template-columns: 1fr; }
  .hero-platform { grid-template-columns: 1fr; min-height: auto; }
  .hero-platform .hero-copy { max-width: 760px; }
  .hero-platform h1 { max-width: 14ch; }
  .sync-board { width: 100%; max-width: 760px; margin-inline: auto; }
  body[data-page-kind="home"] .site-footer { display: grid; }
  body[data-page-kind="home"] .site-footer > div { display: block; }
  body[data-page-kind="home"] .site-footer nav { display: grid; }
}

@media (max-width: 560px) {
  .site-header { min-height: 64px; padding-inline: 1rem; }
  .main-nav { gap: 1rem; }
  .main-nav a { white-space: nowrap; }
  h1 { font-size: clamp(2.1rem, 11vw, 3.15rem); }
  .hero { padding-top: 2.25rem; }
  .actions .button { width: 100%; }
  .home-features { grid-template-columns: 1fr; }
  .site-footer nav { grid-template-columns: 1fr 1fr; }
  .hero-platform { padding-top: 1.5rem; }
  .hero-platform h1 { font-size: clamp(2.5rem, 12vw, 3.5rem); }
  .sync-board { min-height: auto; padding: .9rem; border-radius: 20px; }
  .sync-board__body { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; min-height: 0; padding: 1rem 0; }
  .sync-core, .sync-node { position: relative; inset: auto; translate: none; width: auto; min-height: 90px; }
  .sync-core { grid-column: 1 / -1; order: -1; width: 150px; margin: 0 auto .35rem; }
  .sync-node { padding-left: 2.9rem; }
  .sync-node__icon { left: .65rem; }
  .sync-board__status { font-size: .75rem; }
}

.platform-jump { display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem 1.5rem; padding:1.3rem; border-block:1px solid var(--line); background:white; }
.platform-jump a { padding:.4rem 0; font-weight:650; text-decoration:none; }
.platform-section { width:min(1180px, 100%); margin:0 auto; padding:clamp(3rem,7vw,6rem) 1.5rem; scroll-margin-top:1rem; border-bottom:1px solid var(--line); }
.platform-section h2 { max-width:25ch; margin:.6rem 0 1.5rem; font-size:clamp(1.9rem,3.3vw,3rem); line-height:1.12; letter-spacing:-.03em; }
.platform-section p,.platform-section li { color:var(--muted); }
.platform-intro { max-width:78ch; font-size:1.15rem; }
.platform-split { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(2rem,5vw,5rem); }
.platform-split--reverse > div { order:2; }
.platform-split p { font-size:1.05rem; }
.platform-split li { margin-bottom:.6rem; }
.platform-placeholder { margin:0; min-width:0; min-height:340px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:1.25rem; padding:2rem; text-align:center; border:1px dashed #aab2ba; border-radius:20px; background:#e4e7ea; color:#505b66; }
.placeholder-glyph { font-size:3.2rem; color:#89939c; line-height:1; }
.platform-placeholder small { display:block; margin-top:.4rem; }
.platform-placeholder--wide { min-height:260px; margin-top:2rem; }
.platform-steps { list-style:none; padding:0; margin:2rem 0; display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; counter-reset:steps; }
.platform-steps li { padding:1.25rem; border-radius:16px; background:white; border:1px solid var(--line); counter-increment:steps; }
.platform-steps li::before { content:counter(steps,decimal-leading-zero); display:block; color:var(--blue); font-size:.85rem; margin-bottom:1rem; }
.platform-steps strong,.platform-steps span { display:block; }
.platform-steps strong { color:var(--ink); margin-bottom:.5rem; }
.platform-caption { font-size:.95rem; }
.platform-trio { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.3rem; margin-top:2rem; }
.platform-trio article { padding:1.5rem; border:1px solid var(--line); border-radius:18px; background:white; }
.platform-trio h3 { font-size:1.2rem; line-height:1.3; }
.platform-mini-placeholder { aspect-ratio:4/3; display:grid; place-items:center; border-radius:10px; border:1px dashed #aab2ba; background:#e4e7ea; color:#505b66; text-align:center; padding:1rem; }
.platform-number { color:var(--blue)!important; font-weight:800; }
.platform-start { margin-block:3rem; padding:3rem; border:1px solid var(--line); border-radius:24px; background:var(--sky); }
.platform-start p { max-width:65ch; font-size:1.1rem; }
a:focus-visible,button:focus-visible { outline:3px solid #268db8; outline-offset:4px; }
@media(max-width:760px) {
  .platform-split,.platform-trio { grid-template-columns:1fr; }
  .platform-split--reverse > div { order:0; }
  .platform-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .platform-placeholder { min-height:250px; }
  .platform-start { width:calc(100% - 2rem); padding:2rem 1.25rem; }
}
@media(max-width:400px) { .platform-steps { grid-template-columns:1fr; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* Единый компактный подвал объединённого пилота */
.site-footer{
  display:flex;
  min-height:58px;
  align-items:center;
  justify-content:space-between;
  gap:.75rem 1.25rem;
  padding:.65rem max(1.25rem,calc((100vw - 1180px)/2));
  background:#eef4f7;
  color:var(--muted);
  font-size:.76rem;
}
.site-footer>div{display:flex;align-items:center;gap:.45rem;white-space:nowrap}
.site-footer>div p,.site-footer>p{margin:0}
.site-footer .brand-footer{font-size:.8rem;color:var(--ink)}
.site-footer nav{display:flex;flex:1;justify-content:center;gap:.4rem 1rem}
.site-footer a,.site-footer nav a{color:var(--ink);font-size:.76rem;white-space:nowrap;text-decoration:none}
.site-footer a:hover{text-decoration:underline;text-underline-offset:.18em}
.site-footer>p{white-space:nowrap}
@media(max-width:900px){
  .site-footer{flex-wrap:wrap;justify-content:flex-start;padding:.8rem 1rem}
  .site-footer nav{order:3;flex-basis:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:.15rem}
}
@media(max-width:560px){
  .site-footer>div{white-space:normal}
  .site-footer nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}
}

/* Единое меню по образцу главной объединённого пилота */
.site-header{
  position:sticky;
  z-index:20;
  top:0;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:2rem;
  min-height:68px;
  padding:.75rem max(1.25rem,calc((100vw - 1180px)/2));
  border-bottom:1px solid rgba(220,229,234,.92);
  background:rgba(255,255,255,.94);
}
.site-header .brand{font-size:1.32rem;font-weight:850;color:var(--ink);text-decoration:none;white-space:nowrap}
.site-header .main-nav{display:flex;align-items:center;gap:1.35rem}
.site-header .main-nav a,.site-header .header-action,.site-header .header-login{font-size:.9rem;font-weight:700;color:var(--ink);text-decoration:none;white-space:nowrap}
.site-header .header-action,.site-header .header-login{padding:.55rem .85rem;border:1px solid var(--line);border-radius:.7rem;background:#fff}
@media(max-width:850px){
  .site-header{grid-template-columns:1fr auto;gap:.75rem}
  .site-header .main-nav{grid-column:1/-1;order:3;overflow-x:auto;padding-bottom:.25rem;white-space:nowrap}
}
@media(max-width:600px){.site-header{position:static;padding:.8rem 1rem}.site-header .main-nav{gap:1rem}}

/* Типографика и ритм базы знаний и журнала по образцу платформы */
:root{--ink:#152937;--muted:#667883;--line:#dce5ea;--sky:#dff5fb;--blue:#3565e8;--blue-dark:#244cb8;--soft:#f2f6f9}
body{font-size:16px;line-height:1.6;background:linear-gradient(125deg,#fff 0,#f4f8fb 55%,#edf4fa 100%)}
.breadcrumbs{max-width:1180px;margin:1.15rem auto 0;padding:0 1.25rem;gap:.45rem;font-size:.87rem}
body[data-page-kind="library"] .hero,
body[data-page-kind="review"] .hero{
  max-width:1180px;
  margin:0 auto;
  padding:2.25rem 1.25rem 3.5rem;
}
body[data-page-kind="library"] .hero .eyebrow,
body[data-page-kind="review"] .hero .eyebrow{margin:0 0 .7rem;color:var(--blue-dark);font-size:.76rem;letter-spacing:.1em}
body[data-page-kind="library"] .hero h1,
body[data-page-kind="review"] .hero h1{
  max-width:19ch;
  margin:0;
  font-size:clamp(2.35rem,4vw,3.5rem);
  line-height:1.08;
  letter-spacing:-.035em;
}
body[data-page-kind="library"] .hero .lede,
body[data-page-kind="review"] .hero .lede{max-width:66ch;margin:1rem 0 0;color:var(--muted);font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.65}
body[data-page-kind="library"] .hero .actions,
body[data-page-kind="review"] .hero .actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
body[data-page-kind="library"] .hero .button,
body[data-page-kind="review"] .hero .button{width:auto;min-width:170px;min-height:48px;padding:.7rem 1rem;border-radius:.72rem;background:var(--blue);border-color:var(--blue);color:#fff}
.library-content{width:min(1180px,100%);padding:0 1.25rem 5rem}
.library-section{padding:2.25rem 0 3.5rem;border-bottom:1px solid var(--line)}
.library-section h2{max-width:26ch;margin:.5rem 0 1.2rem;font-size:clamp(1.9rem,3vw,2.65rem);line-height:1.14;letter-spacing:-.03em}
.library-section p{max-width:72ch;margin:.5rem 0;color:var(--muted);font-size:1.08rem;line-height:1.7}
.library-links{gap:.8rem}
.library-related{padding:1rem;border-radius:.85rem;font-weight:700}
@media(max-width:600px){
  body[data-page-kind="library"] .hero,body[data-page-kind="review"] .hero{padding:2rem 1rem 2.5rem}
  .library-content{padding-inline:1rem}
  .library-section{padding:2rem 0 2.75rem}
  body[data-page-kind="library"] .hero .button,body[data-page-kind="review"] .hero .button{width:100%}
}
