@font-face { font-family: "GField Sans"; src: url("fonts/NotoSans-Regular.ttf") format("truetype"); font-display: swap; }
@font-face { font-family: "GField Sans"; src: url("fonts/NotoSans-Bold.ttf") format("truetype"); font-weight: 700; font-display: swap; }
@font-face { font-family: "GField Serif"; src: url("fonts/NotoSerif-Regular.ttf") format("truetype"); font-display: swap; }
@font-face { font-family: "GField Hebrew Sans"; src: url("fonts/NotoSansHebrew-Regular.ttf") format("truetype"); font-display: swap; }
@font-face { font-family: "GField Hebrew Sans"; src: url("fonts/NotoSansHebrew-Bold.ttf") format("truetype"); font-weight: 700; font-display: swap; }
@font-face { font-family: "GField Hebrew Serif"; src: url("fonts/NotoSerifHebrew-Regular.ttf") format("truetype"); font-display: swap; }

*, *::before, *::after { box-sizing: border-box; }
:root {
  --paper: #f2efe7;
  --surface: #fffdf8;
  --line: #c8c1b2;
  --forest: #123f38;
  --forest-dark: #082b27;
  --ochre: #b56e2b;
  --text: #16241f;
  --muted: #66716c;
  --sans: "GField Sans", sans-serif;
  --serif: "GField Serif", serif;
}

html { scroll-behavior: smooth; }
html.manual-document { scroll-behavior: auto; }
html[dir="rtl"] { --sans: "GField Hebrew Sans", sans-serif; --serif: "GField Hebrew Serif", serif; }
body { margin: 0; color: var(--text); background: var(--paper); font: 16px/1.7 var(--sans); }
a { color: var(--forest); }
img { display: block; max-width: 100%; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 1000; padding: 10px 14px; color: white; background: var(--forest-dark); transform: translateY(-160%); }
.skip-link:focus { transform: none; }

.doc-nav { position: sticky; top: 0; z-index: 100; display: grid; grid-template-columns: 1fr auto auto; gap: 24px; align-items: center; min-height: 68px; padding: 10px clamp(18px, 5vw, 72px); color: white; background: var(--forest-dark); border-bottom: 1px solid rgba(255,255,255,.14); }
.doc-brand { display: flex; gap: 10px; align-items: center; color: white; font-size: 15px; text-decoration: none; }
.doc-brand img { width: 38px; height: auto; }
.doc-brand b { color: #83c8b5; }
.doc-nav select { max-width: 170px; padding: 9px 34px 9px 11px; border: 1px solid rgba(255,255,255,.3); border-radius: 0; color: white; background: var(--forest-dark); font: inherit; font-size: 12px; }
.back-link { color: #e5b573; font-size: 12px; font-weight: 700; text-decoration: none; }

.doc-hero { padding: clamp(70px, 9vw, 130px) clamp(20px, 6vw, 90px) clamp(55px, 7vw, 95px); color: white; background: var(--forest); }
.doc-hero-inner { max-width: 1120px; margin: auto; }
.doc-tag { display: inline-block; margin-bottom: 20px; color: #e5b573; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.doc-hero h1 { max-width: 980px; margin: 0; font: 400 clamp(44px, 7vw, 88px)/1.02 var(--serif); letter-spacing: -.035em; }
.doc-lead { max-width: 760px; margin: 28px 0 0; color: rgba(255,255,255,.68); font-size: 17px; }

.manual-layout { display: grid; grid-template-columns: minmax(230px, 285px) minmax(0, 1fr); gap: clamp(40px, 6vw, 90px); max-width: 1320px; margin: auto; padding: 54px clamp(20px, 5vw, 72px) 90px; }
.manual-navigator { position: sticky; top: 92px; align-self: start; max-height: calc(100vh - 116px); border: 1px solid var(--line); background: var(--surface); box-shadow: 0 18px 45px rgba(18,63,56,.08); }
.manual-nav-toggle { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 18px 20px; border: 0; border-bottom: 1px solid var(--line); color: var(--text); background: transparent; text-align: start; pointer-events: none; }
.manual-nav-toggle span { display: grid; gap: 2px; }
.manual-nav-toggle small { color: var(--ochre); font: 700 9px/1.3 var(--sans); letter-spacing: .1em; text-transform: uppercase; }
.manual-nav-toggle strong { font: 400 23px/1.2 var(--serif); }
.manual-nav-toggle i { display: none; width: 12px; height: 12px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); transition: transform .2s ease; }
.manual-nav-panel { overflow-y: auto; max-height: calc(100vh - 190px); scrollbar-width: thin; scrollbar-color: var(--line) transparent; }
.manual-nav-summary { display: flex; justify-content: space-between; gap: 12px; padding: 12px 20px; color: var(--muted); background: var(--paper); font-size: 10px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.manual-nav-groups { padding: 8px 0 4px; }
.manual-nav-group { padding: 12px 12px 7px; }
.manual-nav-group + .manual-nav-group { border-top: 1px solid rgba(200,193,178,.55); }
.manual-nav-group h2 { margin: 0 8px 6px; color: var(--ochre); font: 700 10px/1.4 var(--sans); letter-spacing: .08em; text-transform: uppercase; }
.manual-nav-group ol { display: grid; gap: 1px; margin: 0; padding: 0; list-style: none; }
.manual-nav-group a { display: grid; grid-template-columns: 27px minmax(0, 1fr); gap: 7px; align-items: start; padding: 7px 8px; border-inline-start: 2px solid transparent; color: var(--muted); font-size: 11px; line-height: 1.35; text-decoration: none; transition: color .16s ease, background .16s ease, border-color .16s ease; }
.manual-nav-group a:hover { color: var(--forest); background: rgba(18,63,56,.055); }
.manual-nav-group a.is-active { border-inline-start-color: var(--ochre); color: var(--forest-dark); background: rgba(18,63,56,.09); font-weight: 700; }
.manual-nav-number { color: var(--ochre); font-size: 9px; line-height: 1.65; letter-spacing: .05em; }
.manual-nav-top { display: block; margin: 8px 20px 18px; padding-top: 13px; border-top: 1px solid var(--line); font-size: 11px; font-weight: 700; text-decoration: none; }

.manual-main { min-width: 0; margin: 0; padding: 0 0 40px; }
.manual-section { padding: 65px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 130px; }
.manual-section:first-child { padding-top: 10px; }
.section-kicker, .page-tag { margin-bottom: 10px; color: var(--ochre); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.manual-section h2 { max-width: 850px; margin: 0 0 24px; font: 400 clamp(31px, 4vw, 50px)/1.12 var(--serif); }
.manual-section h3 { max-width: 800px; margin: 34px 0 12px; font-size: 18px; line-height: 1.4; }
.manual-section p, .manual-section ul { max-width: 820px; color: var(--muted); }
.manual-section ul { padding-inline-start: 22px; }
.manual-section li { margin-bottom: 10px; }
.manual-figure { max-width: 880px; margin: 30px 0; border: 1px solid var(--line); background: var(--surface); }
.figure-images { display: grid; gap: 1px; justify-items: start; padding: 16px; background: var(--line); }
.figure-images img { max-height: 720px; width: auto; background: white; }
.manual-figure figcaption { padding: 13px 16px; color: var(--muted); font-size: 12px; }
.section-pagination { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; max-width: 880px; margin-top: 48px; }
.section-page { display: grid; gap: 5px; min-height: 84px; padding: 15px 17px; border: 1px solid var(--line); color: var(--forest); background: var(--surface); text-decoration: none; }
.section-page:hover { border-color: var(--forest); }
.section-page span { color: var(--ochre); font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.section-page strong { font-size: 12px; line-height: 1.45; }
.section-page-next { text-align: end; }
.section-page-empty { visibility: hidden; }

.privacy-main { max-width: 820px; margin: auto; padding: 75px 24px 100px; }
.privacy-main h1 { margin: 0 0 8px; overflow-wrap: normal; word-break: normal; font: 400 clamp(42px, 6vw, 68px)/1.05 var(--serif); }
.updated { margin: 0 0 35px; padding-bottom: 28px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.legal-notice, .callout { margin: 25px 0; padding: 20px 24px; border: 1px solid var(--line); border-inline-start: 3px solid var(--ochre); background: var(--surface); }
.legal-notice { color: var(--muted); font-size: 13px; }
.privacy-main h2 { margin: 42px 0 12px; font: 400 27px/1.25 var(--serif); }
.privacy-main p, .privacy-main ul { color: var(--muted); }
.privacy-main li { margin-bottom: 8px; }

.doc-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 20px; padding: 35px clamp(20px, 5vw, 72px); color: rgba(255,255,255,.6); background: var(--forest-dark); font-size: 12px; }
.doc-footer a { color: #e5b573; }

html[dir="rtl"] .skip-link { right: 10px; left: auto; }
html[dir="rtl"] .manual-figure { margin-right: 0; }

@media (max-width: 680px) {
  .doc-nav { grid-template-columns: 1fr auto; gap: 10px; }
  .back-link { grid-column: 1 / -1; padding-bottom: 6px; }
  .doc-nav select { max-width: 140px; }
  .doc-hero { padding-top: 65px; }
  .doc-hero h1 { font-size: 44px; }
  .manual-section { scroll-margin-top: 185px; }
  .manual-section { padding: 48px 0; }
  .figure-images { padding: 8px; }
  .section-pagination { grid-template-columns: 1fr; }
  .section-page-empty { display: none; }
  html[lang="ru"] .privacy-main h1 { font-size: clamp(24px, 7.5vw, 42px); }
  html[lang="ru"] .privacy-main h2 { font-size: 24px; }
}

@media (max-width: 920px) {
  .manual-layout { display: block; padding-top: 16px; }
  .manual-navigator { top: 68px; z-index: 80; max-height: calc(100vh - 86px); margin-bottom: 34px; background: var(--surface); }
  .manual-nav-toggle { padding: 13px 16px; pointer-events: auto; cursor: pointer; }
  .manual-nav-toggle strong { font-size: 20px; }
  .manual-nav-toggle i { display: block; }
  .manual-navigator.is-open .manual-nav-toggle i { transform: rotate(225deg); }
  .manual-nav-panel { display: none; max-height: min(58vh, 520px); }
  .manual-navigator.is-open .manual-nav-panel { display: block; }
  .manual-nav-group a { padding-block: 9px; font-size: 12px; }
  .manual-main { padding-bottom: 20px; }
  .manual-section:first-child { padding-top: 0; }
}

@media (max-width: 680px) {
  .manual-navigator { top: 104px; max-height: calc(100vh - 122px); }
}

@media print {
  .doc-nav, .manual-navigator, .skip-link, .section-pagination { display: none; }
  .doc-hero { padding: 30px 0; color: var(--text); background: white; }
  .doc-lead { color: var(--muted); }
  .manual-main, .privacy-main { padding: 0; }
  .manual-section { break-inside: avoid; }
}
