/* Публичная оферта — builds on style.css tokens */
html{scroll-padding-top:96px}
.of-nav .nav__in{height:72px}
.of-home{display:inline-flex;align-items:center;gap:8px;color:var(--dmuted)!important;text-decoration:none;font-size:15px;font-weight:600;padding:10px 18px;border-radius:999px;border:1.5px solid var(--line-d);transition:color .2s,border-color .2s,background .2s}
.of-home:hover{color:var(--ink)!important;background:var(--lime);border-color:var(--lime)}
.of-progress{position:absolute;left:0;right:0;bottom:0;height:2px}
.of-progress i{display:block;height:100%;width:0;background:var(--lime)}

/* hero */
.of-hero{padding-top:calc(72px + clamp(56px,6vw,96px));padding-bottom:clamp(56px,6vw,88px);overflow:hidden}
.of-hero__in{position:relative;display:flex;flex-direction:column;gap:24px}
.of-hero__in>*{max-width:1100px}
.of-title{margin:0;font-family:var(--f-display);font-weight:800;font-size:clamp(28px,3.6vw,52px);line-height:1.06;letter-spacing:-.02em;text-wrap:balance;hyphens:manual}
.of-hero__sub{font-size:clamp(17px,1.4vw,20px)}
.of-hero__sub b{color:var(--paper)}
.of-meta{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:12px 48px;margin-top:16px;padding-top:28px;border-top:1px solid var(--line-d)}
.of-meta div{display:flex;flex-direction:column;gap:8px}
.of-meta b{font-size:17px;font-weight:600}

/* layout */
.of-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:clamp(40px,5.5vw,80px);padding-block:clamp(56px,6vw,96px)}
.of-aside{position:relative}
.of-toc{position:sticky;top:96px;background:var(--white);border-radius:24px;padding:24px 20px 20px}
.of-toc summary{list-style:none;cursor:default;padding:0 8px 14px;border-bottom:1px solid var(--line-card);margin-bottom:10px}
.of-toc summary::-webkit-details-marker{display:none}
.of-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.of-toc a{display:flex;gap:12px;align-items:baseline;padding:9px 10px;border-radius:12px;text-decoration:none;font-size:14px;font-weight:600;line-height:1.35;color:var(--muted);transition:background .2s,color .2s}
.of-toc a span{font-weight:700;font-size:12px;font-variant-numeric:tabular-nums;min-width:20px;color:#9a968c}
.of-toc a:hover{background:var(--paper);color:var(--ink)}
.of-toc a.is-active{background:var(--ink);color:var(--paper)}
.of-toc a.is-active span{color:var(--lime)}

/* document */
.of-doc{max-width:780px;font-size:17px;line-height:1.68;color:#2b2a27;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
.of-doc a{color:var(--ink);text-decoration-thickness:1.5px;text-underline-offset:3px}
.of-doc a:hover{background:var(--lime)}
.of-p{margin:0 0 18px;font-weight:500}
.of-p:first-child{font-size:19px;line-height:1.6;color:var(--ink)}
.of-h3{font-family:var(--f-display);font-weight:700;font-size:22px;margin:40px 0 16px}

.of-list{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:10px;font-weight:500}
.of-list li{position:relative;padding-left:28px}
.of-list li::before{content:"";position:absolute;left:4px;top:.82em;width:12px;height:2px;border-radius:2px;background:var(--ink)}
.of-list--0{background:var(--white);border-radius:20px;padding:24px 24px 24px 20px}
.of-list--0 li::before{background:var(--lime);height:3px;box-shadow:0 0 0 1px rgba(18,18,18,.08)}
.of-list--1{margin:-4px 0 20px 64px}
.of-list--2{margin:-4px 0 20px 88px}
.of-list--1 li::before,.of-list--2 li::before{background:#a8a397}

.of-terms{margin:0 0 8px;background:var(--white);border-radius:20px;overflow:hidden}
.of-term{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;padding:20px 24px;border-top:1px solid var(--line-card)}
.of-term:first-child{border-top:0}
.of-term dt{font-weight:700;color:var(--ink);line-height:1.45}
.of-term dd{margin:0;color:var(--muted);font-size:16px;line-height:1.6;font-weight:500}

.of-sec{margin-top:clamp(48px,5vw,72px);padding-top:clamp(32px,3vw,44px);border-top:1px solid var(--line-l)}
.of-h2{display:flex;align-items:flex-start;gap:18px;margin:0 0 24px;font-family:var(--f-display);font-weight:700;font-size:clamp(24px,2.2vw,32px);line-height:1.15;letter-spacing:-.01em;color:var(--ink);hyphens:manual}
.of-n{flex:none;display:grid;place-items:center;min-width:48px;height:48px;padding:0 10px;border-radius:14px;background:var(--ink);color:var(--lime);font-size:20px;font-weight:700;margin-top:-6px}

.of-cl{display:grid;grid-template-columns:56px minmax(0,1fr);gap:8px;margin:0 0 16px;padding:6px 0;border-radius:12px;transition:background .6s}
.of-cl p{margin:0;font-weight:500}
.of-num{font-size:14px;font-weight:700;color:var(--muted);padding-top:.2em;font-variant-numeric:tabular-nums}
.of-cl--sub{margin-left:24px;grid-template-columns:64px minmax(0,1fr)}
.of-cl--sub .of-num{color:#9a968c}
.of-cl:target,.of-sec:target .of-h2{background:#E6F7A8;box-shadow:0 0 0 10px #E6F7A8}

/* requisites */
.of-req{background:var(--ink);color:var(--paper);border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:22px;position:relative;overflow:hidden}
.of-req__who{display:flex;flex-direction:column;gap:8px;position:relative}
.of-req__who .lbl{color:var(--dmuted)}
.of-req__who b{font-family:var(--f-display);font-size:24px;font-weight:700}
.of-req dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line-d);border-radius:16px;overflow:hidden;position:relative}
.of-req dl div{background:var(--dcard);padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.of-req dt{font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dmuted)}
.of-req dd{margin:0;font-weight:600;font-size:16px;hyphens:none;word-break:break-word}
.of-req dd a{color:var(--lime)}
.of-req dd a:hover{background:none;color:var(--paper)}
.of-req__note{margin:0;color:var(--dmuted);font-size:15px;position:relative}

.of-foot{padding-top:48px}

@media (max-width:1000px){
  .of-layout{grid-template-columns:minmax(0,1fr);gap:32px}
  .of-toc{position:static}
  .of-toc summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center}
  .of-toc summary::after{content:"+";font-size:20px;line-height:1;transition:transform .3s}
  .of-toc[open] summary::after{transform:rotate(45deg)}
  .of-toc:not([open]) summary{border-bottom:0;margin-bottom:0;padding-bottom:0}
}
@media (max-width:640px){
  .of-meta{grid-template-columns:1fr;gap:16px}
  .of-doc{font-size:16px}
  .of-p:first-child{font-size:17px}
  .of-term{grid-template-columns:1fr;gap:6px;padding:18px}
  .of-cl{grid-template-columns:44px minmax(0,1fr)}
  .of-cl--sub{margin-left:0;grid-template-columns:52px minmax(0,1fr)}
  .of-list--0{padding:18px 16px}
  .of-list--1{margin-left:44px}
  .of-list--2{margin-left:52px}
  .of-n{min-width:40px;height:40px;font-size:17px;border-radius:12px;margin-top:-4px}
  .of-h2{gap:14px}
  .of-req{padding:24px 20px}
  .of-req dl{grid-template-columns:1fr}
  .of-toc{border-radius:20px}
}
@media print{
  .of-nav,.of-aside,.of-foot,.hero__glow{display:none}
  .of-hero{background:none;color:#000;padding:0}
  .of-layout{display:block;padding:0}
  .of-req{background:none;color:#000;border:1px solid #000}
}
