/* ============ СТРАНИЦА ОФЕРТЫ (scoped .ofr-*) ============ */
.ofr, .ofr *{ box-sizing:border-box; }
.ofr{ font-family:'Montserrat',-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:#1c1c2e; background:#fff; --vio:#5b4ce6; --ink:#16162a; --mut:#6b6b80; --line:#ececf4; --soft:#f7f6fd; }
.ofr a{ color:var(--vio); text-decoration:none; }
.ofr a:hover{ text-decoration:underline; }
.ofr-wrap{ max-width:1180px; margin:0 auto; padding:0 24px; }
/* ── HERO ── */
	.ofr-hero{ background:linear-gradient(180deg,#f4f2fe,#fff); border-bottom:1px solid #f0eef8; padding:34px 0 44px; border-radius:30px;}
.ofr-eyebrow{ display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--vio); margin-bottom:16px; }
.ofr-eyebrow::before{ content:""; width:22px; height:2px; background:var(--vio); border-radius:2px; }
.ofr-hero h1{ font-size:clamp(30px,5vw,46px); font-weight:800; letter-spacing:-.02em; line-height:1.08; margin:0 0 14px; color:var(--ink); }
.ofr-hero p{ font-size:17px; line-height:1.6; color:var(--mut); max-width:760px; margin:0 0 22px; }
.ofr-meta{ display:flex; flex-wrap:wrap; gap:10px 22px; font-size:13px; color:#9a9ab0; }
.ofr-meta b{ color:var(--ink); font-weight:600; }
.ofr-callout{ margin-top:26px; display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px solid #e6e1fb; border-left:4px solid var(--vio); border-radius:14px; padding:18px 20px; max-width:820px; box-shadow:0 10px 30px rgba(91,76,230,.07); }
.ofr-callout svg{ width:24px; height:24px; flex-shrink:0; color:var(--vio); margin-top:1px; }
.ofr-callout p{ margin:0; font-size:14.5px; line-height:1.55; color:#3a3a52; }
.ofr-callout b{ color:var(--ink); }
/* ── BODY GRID ── */
.ofr-body{ display:grid; grid-template-columns:248px 1fr; gap:48px; padding:44px 0 72px; align-items:start; }
/* ── TOC ── */
.ofr-toc{ position:sticky; top:96px; }
.ofr-toc > summary{ display:none; }
.ofr-toc__title{ font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#9a9ab0; padding:0 0 12px; }
.ofr-toc nav{ display:flex; flex-direction:column; border-left:2px solid var(--line); }
.ofr-toc a{ position:relative; padding:9px 0 9px 18px; margin-left:-2px; border-left:2px solid transparent; color:#5a5a72; text-decoration:none; font-size:13.5px; font-weight:500; line-height:1.35; transition:color .15s, border-color .15s; }
.ofr-toc a:hover{ color:var(--vio); text-decoration:none; }
.ofr-toc a.active{ color:var(--vio); font-weight:700; border-left-color:var(--vio); }
/* ── CONTENT ── */
.ofr-content{ max-width:780px; }
.ofr-sec{ scroll-margin-top:100px; padding-bottom:34px; margin-bottom:34px; border-bottom:1px solid var(--line); }
.ofr-sec:last-child{ border-bottom:0; }
.ofr-sec__head{ display:flex; align-items:center; gap:14px; margin-bottom:20px; }
.ofr-sec__n{ flex-shrink:0; width:42px; height:42px; border-radius:12px; background:linear-gradient(145deg,#6a5bf0,#4a3bd0); color:#fff; font-weight:800; font-size:16px; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 18px rgba(91,76,230,.3); }
.ofr-sec__head h2{ font-size:21px; font-weight:700; letter-spacing:-.01em; color:var(--ink); margin:0; line-height:1.2; }
.ofr-sec > p{ font-size:15px; line-height:1.65; color:#3f3f57; margin:0 0 14px; }
.ofr-clause{ position:relative; padding-left:3.4em; margin:0 0 13px; font-size:15px; line-height:1.65; color:#3f3f57; }
.ofr-clause .n{ position:absolute; left:0; top:0; color:var(--vio); font-weight:700; }
.ofr-clause b{ color:var(--ink); }
.ofr-clause.sub{ padding-left:4.6em; font-size:14.5px; color:#55556e; }
.ofr-ilist{ margin:6px 0 0; padding-left:18px; }
.ofr-ilist li{ font-size:14.5px; line-height:1.6; color:#55556e; margin-bottom:8px; }
.ofr-flag{ background:var(--soft); border:1px solid #e9e6f8; border-radius:12px; padding:13px 16px; font-size:14px; color:#4a4a63; margin:14px 0; }
.ofr-flag b{ color:var(--vio); }
/* ── РЕКВИЗИТЫ ── */
.ofr-req{ scroll-margin-top:100px; background:linear-gradient(135deg,#1f1b3a,#332a66); border-radius:22px; padding:34px 32px; color:#fff; margin-top:8px; }
	.ofr-req h2{ font-size:20px; font-weight:700; margin:0 0 20px; color:#fff; }
.ofr-req__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px 28px; }
.ofr-req__i{ display:flex; flex-direction:column; gap:4px; }
.ofr-req__i span{ font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:#b0a8e0; }
.ofr-req__i b{ font-size:15.5px; font-weight:600; color:#fff; }
.ofr-req__i a{ color:#fff; }
/* ── анимации появления ── */
@media (prefers-reduced-motion: no-preference){
  .ofr-sec, .ofr-req{ opacity:0; transform:translateY(18px); transition:opacity .5s ease, transform .5s ease; }
  .ofr-sec.in, .ofr-req.in{ opacity:1; transform:none; }
}
/* ── адаптив ── */
@media (max-width:920px){
  .ofr-body{ grid-template-columns:1fr; gap:0; padding-top:24px; }
  .ofr-toc{ position:static; margin-bottom:24px; border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--soft); }
  .ofr-toc > summary{ display:flex; align-items:center; justify-content:space-between; cursor:pointer; list-style:none; padding:15px 18px; font-size:14px; font-weight:700; color:var(--ink); }
  .ofr-toc > summary::-webkit-details-marker{ display:none; }
  .ofr-toc > summary::after{ content:"▾"; color:var(--vio); transition:transform .2s; }
  .ofr-toc[open] > summary::after{ transform:rotate(180deg); }
  .ofr-toc__title{ display:none; }
  .ofr-toc nav{ border-left:0; padding:4px 18px 14px; }
  .ofr-toc a{ padding:8px 0 8px 14px; }
  .ofr-req__grid{ grid-template-columns:1fr; }
}
