/* ============================================================
   Калькулятор НВС и НССВ — единая дизайн-система сайта ii-yrist.ru
   Тёмная тема: warm-black + шампань, Playfair Display + Inter
   ============================================================ */
:root{
  --bg:#0c0a08;
  --bg-soft:#110e0a;
  --panel:#16120c;
  --panel-2:#1d1810;
  --cream:#f3eee4;
  --ink:#f4efe6;
  --muted:rgba(244,239,230,.62);
  --faint:rgba(244,239,230,.40);
  --accent:#c9a36b;
  --accent-2:#e3c79a;
  --line:rgba(201,163,107,.24);
  --line-soft:rgba(244,239,230,.10);
  --ok:#7fc8a0;
  --ok-bg:rgba(36,107,69,.16);
  --warn:#e3b873;
  --warn-bg:rgba(183,121,31,.15);
  --danger:#f0a3ae;
  --danger-bg:rgba(155,28,49,.18);
  --info:#9cc7e0;
  --info-bg:rgba(70,120,150,.16);
  --radius:18px;
  --max:1200px;
  --shadow:0 30px 90px rgba(0,0,0,.45);
  --serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:var(--sans);background:var(--bg);color:var(--ink);
  line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
.container{width:min(var(--max),calc(100% - 48px));margin:0 auto}

/* ---------- Topbar ---------- */
.topbar{background:#070605;border-bottom:1px solid var(--line-soft);font-size:13px}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px;color:var(--muted)}
.topbar-links a:hover{color:var(--accent-2)}
.topbar-cab{color:var(--accent-2);font-weight:600}
.topbar-cab:hover{color:var(--accent)}
.topbar .dot{margin:0 8px;opacity:.5}

/* ---------- Header / nav ---------- */
.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(12,10,8,.82);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line-soft);
}
.header-grid{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:74px}
.brand{display:flex;gap:13px;align-items:center}
.brand-mark{
  display:grid;place-items:center;width:42px;height:42px;border-radius:50%;
  border:1px solid var(--line);font-family:var(--serif);font-weight:700;font-size:16px;color:var(--accent-2);
}
.brand-text{display:flex;flex-direction:column;line-height:1.15}
.brand-text strong{font-size:16px}
.brand-text small{margin-top:3px;font-size:12px;color:var(--muted)}
.top-nav{display:flex;gap:26px;align-items:center;font-size:14px;color:var(--muted)}
.top-nav a:hover{color:var(--accent-2)}
.nav-cta{
  display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;
  border:1px solid var(--line);color:var(--accent-2)!important;font-weight:600;transition:background .2s,border-color .2s;
}
.nav-cta:hover{background:rgba(201,163,107,.12);border-color:var(--accent)}

/* ---------- Hero ---------- */
.hero{
  position:relative;padding:78px 0 56px;
  background:
    radial-gradient(60% 50% at 82% 8%,rgba(201,163,107,.20),transparent 70%),
    radial-gradient(50% 50% at 0% 100%,rgba(201,163,107,.08),transparent 70%),
    linear-gradient(160deg,#0e0b08,#0a0807 70%);
  border-bottom:1px solid var(--line-soft);
}
.hero-grid{display:grid;grid-template-columns:1fr 360px;gap:52px;align-items:center}
.eyebrow{margin:0 0 14px;color:var(--accent);font-weight:600;letter-spacing:.22em;text-transform:uppercase;font-size:12px}
.hero h1{
  font-family:var(--serif);font-weight:700;font-size:clamp(40px,5.4vw,72px);
  line-height:1.02;letter-spacing:-.01em;margin:0 0 22px;
}
.hero h1 span{color:var(--accent-2);font-style:italic}
.lead{font-size:18px;max-width:640px;color:var(--muted);margin:0 0 30px;line-height:1.65}
.hero-actions,.form-actions{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- Buttons ---------- */
.btn{
  border:0;border-radius:999px;padding:0 26px;min-height:52px;font-weight:600;font-size:15px;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;font-family:var(--sans);
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#1a140c;box-shadow:0 18px 44px rgba(201,163,107,.28)}
.btn-light{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn-light:hover{background:rgba(201,163,107,.10);border-color:var(--accent)}
.btn-mini{min-height:0;padding:9px 14px;font-size:12px;background:rgba(201,163,107,.08);border:1px solid var(--line);color:var(--accent-2)}
.btn-mini:hover{background:rgba(201,163,107,.16);transform:none}
.form-actions{
  display:grid;grid-template-columns:minmax(170px,.8fr) repeat(2,minmax(190px,1fr));gap:12px;
  margin-top:18px;padding:18px;border:1px solid var(--line-soft);border-radius:18px;
  background:linear-gradient(180deg,rgba(201,163,107,.06),rgba(201,163,107,.025));
}
.form-actions .btn{width:100%;min-height:48px;padding:0 18px;text-align:center;white-space:normal;line-height:1.2}
.form-actions .btn-primary{box-shadow:0 14px 32px rgba(201,163,107,.22)}
.form-actions #clearBtn,
.form-actions #clearAllBtn{
  justify-self:start;width:auto;min-width:160px;color:var(--muted);
  background:rgba(255,255,255,.02);border-color:var(--line-soft);
}
.form-actions #clearBtn:hover,
.form-actions #clearAllBtn:hover{color:var(--cream);border-color:var(--line);background:rgba(201,163,107,.06)}

/* ---------- Hero card ---------- */
.hero-card{
  background:linear-gradient(180deg,var(--panel-2),var(--panel));
  border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:var(--shadow);
}
.hero-card strong{display:block;font-size:18px;color:var(--accent-2);margin-bottom:10px}
.hero-card p{color:var(--muted);margin:0 0 16px}
.privacy-badge{display:inline-flex;padding:7px 12px;background:var(--ok-bg);color:var(--ok);border-radius:999px;font-size:12px;font-weight:600;border:1px solid rgba(127,200,160,.22)}

/* ---------- Sections ---------- */
.section{padding:60px 0}
.muted{background:var(--bg-soft)}
.section-title{max-width:800px;margin-bottom:30px}
.section-title h2{font-family:var(--serif);font-weight:600;font-size:clamp(28px,3.4vw,42px);line-height:1.1;letter-spacing:-.01em;margin:0 0 10px}
.section-title p:last-child{margin:0;color:var(--muted)}

/* ---------- Calculator layout ---------- */
.calc-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}
.calc-layout>*{min-width:0}
.card{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow)}
.form-card{padding:28px}
.sticky-card{position:sticky;top:96px;padding:26px;border:1px solid var(--line)}
.step-block{padding:0 0 28px;margin:0 0 26px;border-bottom:1px solid var(--line-soft)}
.step-block:last-of-type{border-bottom:0;margin-bottom:0}
.step-block h3{font-family:var(--serif);font-weight:600;margin:0 0 14px;font-size:22px;color:var(--cream)}
.block-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.block-head p{margin:-6px 0 14px;color:var(--muted);font-size:14px}

/* ---------- Fields ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 18px}
.field{display:flex;flex-direction:column;gap:7px;font-size:13px;color:var(--muted);font-weight:600}
/* Подпись поля одной строкой (текст + «?») с резервом высоты: контролы соседних
   колонок начинаются на одном уровне (перенос фикса с surface-water, 2026-07-10) */
.field .fl{display:flex;align-items:flex-end;flex-wrap:wrap;gap:4px 6px;min-height:44px}
.field .fl .hint{margin-bottom:1px}
input,select{
  width:100%;border:1px solid var(--line-soft);background:var(--panel-2);border-radius:12px;
  padding:12px;font-size:15px;color:var(--ink);outline:none;font-family:var(--sans);transition:border-color .18s,box-shadow .18s;
}
input::placeholder{color:var(--faint)}
input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(201,163,107,.16)}
select option{background:#16120c;color:var(--ink)}
.checks label{display:block;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:12px;padding:13px;color:var(--cream);font-size:14px;cursor:pointer;transition:border-color .18s}
.checks label:hover{border-color:var(--line)}
.checks input{width:auto;margin-right:9px;accent-color:var(--accent)}
.hint{position:relative;display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:rgba(201,163,107,.18);color:var(--accent-2);font-weight:700;font-size:12px;cursor:help;border:1px solid var(--line)}
/* Бабл подсказки (порт из калькулятора стоков): текст берётся из data-tooltip */
.hint[data-tooltip]::after{
  content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 10px);z-index:120;
  width:320px;max-width:min(320px,calc(100vw - 32px));transform:translateX(-50%) translateY(4px);
  padding:12px 14px;border-radius:12px;background:#090705;border:1px solid var(--line);
  color:var(--cream);box-shadow:var(--shadow);font-size:12.5px;font-weight:500;line-height:1.45;
  text-align:left;white-space:normal;opacity:0;pointer-events:none;transition:opacity .16s,transform .16s;
}
.hint[data-tooltip]::before{
  content:"";position:absolute;left:50%;bottom:calc(100% + 4px);z-index:121;transform:translateX(-50%) rotate(45deg);
  width:10px;height:10px;background:#090705;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  opacity:0;pointer-events:none;transition:opacity .16s;
}
.hint[data-tooltip]:hover::after,.hint[data-tooltip]:focus::after,.hint[data-tooltip].is-open::after{opacity:1;transform:translateX(-50%) translateY(0)}
.hint[data-tooltip]:hover::before,.hint[data-tooltip]:focus::before,.hint[data-tooltip].is-open::before{opacity:1}

/* ---------- Tables ---------- */
.table-wrap{overflow:auto;border:1px solid var(--line-soft);border-radius:14px;background:var(--panel)}
.input-table{width:100%;border-collapse:collapse;min-width:760px}
.input-table th{background:rgba(201,163,107,.06);color:var(--accent);text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:12px;border-bottom:1px solid var(--line-soft);font-weight:600}
.input-table td{padding:10px 12px;border-bottom:1px solid var(--line-soft);vertical-align:middle;color:var(--cream)}
#nssvTable td{vertical-align:top}
#nssvTable th:nth-child(1),#nssvTable td:nth-child(1){width:32%}
#nssvTable th:nth-child(2),#nssvTable td:nth-child(2){width:18%}
#nssvTable th:nth-child(3),#nssvTable td:nth-child(3){width:26%}
#nssvTable th:nth-child(4),#nssvTable td:nth-child(4){width:14%}
#nssvTable th:nth-child(5),#nssvTable td:nth-child(5){width:10%}
.input-table tr:last-child td{border-bottom:0}
.input-table td small{color:var(--muted)}
.input-table td input,.input-table td select{padding:9px 10px;border-radius:10px;font-size:14px}
.input-table .pollutant-name{min-width:260px}
.pollutant-source{display:block;margin-top:6px;color:var(--muted);font-size:11.5px;line-height:1.35;max-width:360px}
.pollutant-source.is-ok{color:var(--ok)}
.pollutant-source.is-warn{color:var(--warn)}
.pollutant-sync{display:block;margin-top:4px;color:var(--info);font-size:11.5px;line-height:1.35;max-width:360px}
.pollutant-norm-note{display:block;margin-top:6px;color:var(--muted);font-size:11.5px;line-height:1.35;max-width:300px}
.pollutant-norm-note.is-warn{color:var(--warn)}
.pollutant-rate-cell{font-size:12px;white-space:nowrap}
.input-table td input[readonly]{border-color:rgba(156,199,224,.35);background:rgba(156,199,224,.08);color:var(--cream)}
.input-table .ki-cell{font-variant-numeric:tabular-nums;color:var(--accent-2);white-space:nowrap}
.input-table .money-cell{font-weight:700;color:var(--accent-2);white-space:nowrap;font-variant-numeric:tabular-nums}
.input-table .remove-row{border:1px solid var(--line-soft);background:var(--danger-bg);color:var(--danger);border-radius:9px;padding:7px 11px;cursor:pointer;font-size:14px;transition:border-color .18s}
.input-table .remove-row:hover{border-color:var(--danger)}
.narrow-row{margin-top:16px}

/* ---------- Result panel ---------- */
.sticky-card .eyebrow{margin-bottom:10px}
#statusTitle{font-family:var(--serif);font-weight:600;font-size:24px;margin:0 0 8px;color:var(--accent-2);line-height:1.15}
#statusText{color:var(--muted);font-size:14px;margin:0}
.kpi-grid{display:grid;gap:10px;margin:20px 0}
.kpi-grid div{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:14px;padding:14px}
.kpi-grid span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.kpi-grid strong{display:block;font-family:var(--serif);font-size:24px;margin-top:5px;color:var(--cream);font-variant-numeric:tabular-nums}
.result-details{font-size:14px;color:var(--muted)}
.result-details table{width:100%;border-collapse:collapse;margin:14px 0}
.result-details td{padding:9px 0;border-bottom:1px solid var(--line-soft)}
.result-details td:last-child{text-align:right;font-weight:700;color:var(--cream);font-variant-numeric:tabular-nums}
.warnings{display:grid;gap:8px;margin-top:14px}
.warning{padding:11px 13px;border-radius:12px;background:var(--warn-bg);color:var(--warn);font-size:13px;border:1px solid rgba(227,184,115,.20)}
.warning.danger{background:var(--danger-bg);color:var(--danger);border-color:rgba(240,163,174,.22)}
.warning.ok{background:var(--ok-bg);color:var(--ok);border-color:rgba(127,200,160,.22)}
.warning.info{background:var(--info-bg);color:var(--info);border-color:rgba(156,199,224,.22)}

/* ---------- Methodology / docs ---------- */
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.info-grid .card{padding:28px}
.info-grid h2{font-family:var(--serif);font-weight:600;color:var(--cream);margin:0 0 14px;font-size:26px}
.info-grid p{color:var(--muted);margin:14px 0 6px}
.info-grid p strong{color:var(--cream)}
/* Списки коэффициентов и примера расчёта в блоке «Методика» */
.coef-list{margin:0;padding-left:18px;color:var(--muted);font-size:14px;display:grid;gap:6px}
.coef-list li{line-height:1.55}
.coef-list b{color:var(--accent-2)}
.src{margin:14px 0 0;color:var(--faint);font-size:12px}
code{display:block;background:#0a0807;color:var(--accent-2);border:1px solid var(--line-soft);border-radius:12px;padding:12px 14px;margin:8px 0;font-family:"SFMono-Regular",Consolas,monospace;font-size:14px;white-space:normal}
.docs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.doc-card{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:16px;padding:20px;transition:border-color .2s,transform .2s}
.doc-card:hover{border-color:var(--line);transform:translateY(-3px)}
.doc-card strong{color:var(--accent-2);display:block;margin-bottom:8px}
.doc-card p{color:var(--muted);font-size:14px;margin:0}

/* ---------- Footer ---------- */
.site-footer{padding:48px 0;background:#070605;border-top:1px solid var(--line-soft)}
.footer-grid{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap}
.footer-brand strong{display:block;font-family:var(--serif);font-size:18px;color:var(--accent-2)}
.footer-brand span{color:var(--muted);font-size:14px}
.footer-meta{display:flex;flex-direction:column;gap:6px;text-align:right}
.footer-meta span{color:var(--muted);font-size:14px}
.footer-note{max-width:520px;color:var(--faint);font-size:13px;margin-top:6px}
.footer-legal{display:flex;gap:8px 14px;flex-wrap:wrap;margin-top:10px}
.footer-legal a{color:var(--muted);font-size:13px}.footer-legal a:hover{color:var(--accent-2)}

/* ---------- Float call ---------- */
.float-call{
  position:fixed;right:22px;bottom:22px;z-index:70;width:58px;height:58px;border-radius:50%;
  display:grid;place-items:center;font-size:22px;color:#1a140c;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  box-shadow:0 16px 40px rgba(201,163,107,.4);transition:transform .2s;
}
.float-call:hover{transform:translateY(-3px) scale(1.04)}

/* ---------- Responsive ---------- */
@media(max-width:980px){
  .hero-grid,.calc-layout,.info-grid{grid-template-columns:1fr}
  .top-nav{display:none}
  .sticky-card{position:static}
  .docs-grid{grid-template-columns:1fr 1fr}
  .form-actions{grid-template-columns:1fr 1fr}
  .grid-3,.grid-2{grid-template-columns:1fr}
  .footer-grid{flex-direction:column}
  .footer-meta{text-align:left}
}
@media(max-width:560px){
  .container{width:min(var(--max),calc(100% - 32px))}
  .docs-grid{grid-template-columns:1fr}
  .hero{padding-top:52px}
  .form-card{padding:18px}
  .form-actions{grid-template-columns:1fr;padding:14px}
  .form-actions #clearBtn,
  .form-actions #clearAllBtn{width:100%}
  .topbar-loc{display:none}
}

/* ---------- Режим расчёта / рекомендации в панели ---------- */
.mode-badge{display:inline-block;margin:0 0 12px;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--line-soft)}
.mode-badge.ok{background:var(--ok-bg);color:var(--ok);border-color:rgba(127,200,160,.25)}
.mode-badge.warn{background:var(--warn-bg);color:var(--warn);border-color:rgba(227,184,115,.25)}
.mode-badge.danger{background:var(--danger-bg);color:var(--danger);border-color:rgba(240,163,174,.25)}
.mode-badge.info{background:var(--info-bg);color:var(--info);border-color:rgba(156,199,224,.25)}
.reco:empty{display:none}
.freemium-cta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--line-soft)}
.freemium-cta .empty-note{margin:0;color:var(--muted);font-size:13px}
.reco{margin-top:16px;padding-top:16px;border-top:1px solid var(--line-soft)}
.reco-title{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}
.reco ul{margin:0;padding-left:18px;color:var(--muted);font-size:13px;display:grid;gap:6px}
.reco li{line-height:1.5}

/* ---------- Детализация результата ---------- */
#result-detail{opacity:.5;transition:opacity .3s}
#result-detail.is-active{opacity:1}
.meaning{border:1px solid var(--line-soft);border-left-width:4px;border-radius:14px;padding:18px 20px;margin-bottom:24px;background:var(--panel-2)}
.meaning strong{display:block;font-family:var(--serif);font-size:20px;margin-bottom:6px}
.meaning p{margin:0;color:var(--muted);font-size:15px;line-height:1.6}
.meaning.ok{border-left-color:var(--ok)}.meaning.ok strong{color:var(--ok)}
.meaning.warn{border-left-color:var(--warn)}.meaning.warn strong{color:var(--warn)}
.meaning.danger{border-left-color:var(--danger)}.meaning.danger strong{color:var(--danger)}
.meaning.info{border-left-color:var(--info)}.meaning.info strong{color:var(--info)}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;align-items:start}
.detail-card{padding:24px;margin-bottom:20px}
.detail-card h3{font-family:var(--serif);font-weight:600;margin:0 0 16px;font-size:20px;color:var(--cream)}
.data-table{width:100%;border-collapse:collapse;font-size:13px;min-width:520px}
.data-table th{background:rgba(201,163,107,.06);color:var(--accent);text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:10px;border-bottom:1px solid var(--line-soft);white-space:nowrap}
.data-table td{padding:9px 10px;border-bottom:1px solid var(--line-soft);color:var(--cream);font-variant-numeric:tabular-nums}
.data-table tbody tr:last-child td{border-bottom:0}
.data-table td:first-child{font-variant-numeric:normal}
.data-table td:last-child{text-align:right;white-space:nowrap}
#summaryTable .data-table{min-width:0}
#summaryTable td:first-child{color:var(--muted);font-variant-numeric:normal}
.data-table .row-strong td{font-weight:700;color:var(--cream)}
.data-table .row-accent td{color:var(--accent-2);font-weight:700;border-top:1px solid var(--line)}
.data-table .row-muted td{color:var(--faint)}
.data-table .flag{display:inline-block;font-size:10px;padding:1px 6px;border-radius:6px;background:var(--danger-bg);color:var(--danger);vertical-align:middle}
.empty-note{color:var(--muted);font-size:14px;margin:0;padding:8px 0}

/* ---------- Чек-лист документов ---------- */
.doc-checklist{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.doc-checklist li{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line-soft);border-radius:12px;background:var(--panel-2);font-size:14px}
.doc-checklist .mark{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-weight:700;font-size:12px;flex:0 0 auto}
.doc-checklist .doc-text{flex:1;color:var(--cream)}
.doc-checklist em{font-style:normal;font-size:12px;white-space:nowrap}
.doc-checklist li.have .mark{background:var(--ok-bg);color:var(--ok)}
.doc-checklist li.have em{color:var(--ok)}
.doc-checklist li.need .mark{background:var(--warn-bg);color:var(--warn)}
.doc-checklist li.need em{color:var(--warn)}

/* ---------- Дисклеймеры ---------- */
.disclaimer-list{margin:0;padding-left:22px;display:grid;gap:12px;max-width:880px}
.disclaimer-list li{color:var(--muted);font-size:15px;line-height:1.6;padding-left:6px}
.disclaimer-list li::marker{color:var(--accent);font-weight:700}

/* ---------- Toast ---------- */
.toast{
  position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);
  z-index:90;max-width:min(520px,calc(100% - 32px));padding:14px 20px;border-radius:14px;
  background:var(--panel-2);border:1px solid var(--line);color:var(--cream);font-size:14px;
  box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:12px;max-width:880px}
.faq-item{border:1px solid var(--line-soft);border-radius:14px;background:var(--panel-2);overflow:hidden}
.faq-item summary{
  list-style:none;cursor:pointer;padding:18px 52px 18px 20px;position:relative;
  font-family:var(--serif);font-size:18px;color:var(--cream);font-weight:600;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);
  color:var(--accent);font-size:22px;font-weight:400;transition:transform .2s;
}
.faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-item summary:hover{color:var(--accent-2)}
.faq-item p{margin:0;padding:0 20px 18px;color:var(--muted);font-size:15px;line-height:1.65}

@media(max-width:980px){.detail-grid{grid-template-columns:1fr}}

/* ---------- Print (светлая версия для PDF/печати) ---------- */
@media print{
  :root{--bg:#fff;--ink:#111;--cream:#111;--muted:#444;--panel:#fff;--panel-2:#fff;--line:#ccc;--line-soft:#e3e3e3}
  body{background:#fff;color:#111}
  .topbar,.site-header,.hero-actions,.form-actions,.top-nav,.btn,.float-call,#documents,#methodology,.block-head .btn-mini{display:none!important}
  .hero,.section{padding:16px 0}
  .hero{background:none;border:0}
  .hero h1{color:#111}
  .calc-layout{display:block}
  .result-panel{page-break-before:always}
  .card{box-shadow:none;border:1px solid #ccc;background:#fff}
  .sticky-card{position:static}
  .container{width:100%}
  #statusTitle,.kpi-grid strong,.section-title h2,.step-block h3{color:#111}
  input,select{border:0;background:#fff;padding:0;color:#111}
  .table-wrap{overflow:visible;border:1px solid #ccc}
  .input-table{min-width:0;font-size:11px}
  .input-table th{background:#f2f2f2;color:#333}
  .input-table td,.input-table .ki-cell,.input-table .money-cell,.kpi-grid strong{color:#111}
  .warning{border:1px solid #ccc;color:#333;background:#fafafa}
  #result-detail{opacity:1!important}
  #result-detail .form-card,#calculator .form-card{box-shadow:none}
  .detail-grid{display:block}
  .data-table{min-width:0;font-size:10px;color:#111}
  .data-table th{background:#f2f2f2;color:#333}
  .data-table td{color:#111}
  .meaning{border:1px solid #ccc;background:#fff;page-break-inside:avoid}
  .meaning strong,.detail-card h3{color:#111}
  .doc-checklist li{border:1px solid #ccc;background:#fff;color:#111}
  .disclaimer-list li{color:#222}
  .toast,.reco,.mode-badge{display:none!important}
}
