/* Стиль сайта «Гликемический индекс». Генерируется под каждый сайт со своей палитрой и
   типографикой: шесть одинаковых по вёрстке сайтов — распознаваемый паттерн сетки. */

:root{
  --bg:#ffffff;
  --panel:#f6f7f4;
  --rule:#e0e3da;
  --tx:#1a231b;
  --tx-2:#414b42;
  --muted:#6d766e;
  --accent:#2f6b46;
  --accent-bg:#eaf1ec;
  --maxw:1000px;
  --h:Georgia, 'Times New Roman', serif;
  --b:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--tx);font-family:var(--b);
  font-size:17px;line-height:1.65;-webkit-text-size-adjust:100%}
.in{max-width:var(--maxw);margin:0 auto;padding:0 22px}

.top{background:var(--panel);border-bottom:1px solid #e0e3da}
.top .in{padding-top:18px;padding-bottom:18px}
.brand{font-family:var(--h);font-size:19px;font-weight:700;color:var(--tx);
  text-decoration:none;letter-spacing:-.01em;display:inline-block}
.tag{margin:2px 0 12px;color:var(--muted);font-size:14px}
.top nav{display:flex;flex-wrap:wrap;gap:6px 20px}
.top nav a{font-size:14.5px;color:var(--tx-2);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px}
.top nav a:hover{color:var(--accent);border-bottom-color:var(--accent)}

.crumbs{font-size:13px;color:var(--muted);padding:14px 0 0}
.crumbs a{color:var(--muted)}
main{padding-bottom:64px}
h1{font-family:var(--h);font-size:clamp(27px,3.6vw,37px);line-height:1.15;letter-spacing:-.015em;
  margin:22px 0 14px;max-width:24ch;text-wrap:balance}
h2{font-family:var(--h);font-size:23px;line-height:1.25;margin:36px 0 10px;text-wrap:balance}
h3{font-size:17px;margin:22px 0 6px}
p{margin:0 0 14px;max-width:72ch}
.lead{font-size:19px;color:var(--tx-2);max-width:68ch;margin-bottom:22px}
ul{margin:0 0 16px;padding-left:1.2em;max-width:72ch}
li{margin-bottom:6px}
li::marker{color:var(--muted)}
a{color:var(--accent);text-underline-offset:2px}
.small{font-size:13px;color:var(--muted)}
.meta{font-size:13.5px;color:var(--muted);border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);padding:10px 0;margin-bottom:22px;max-width:none}
.meta b{color:var(--tx-2);font-weight:600}
.note{background:var(--accent-bg);border-left:4px solid var(--accent);padding:14px 18px;
  margin:26px 0;max-width:74ch;font-size:15px}
.ctx{background:var(--panel);border:1px solid var(--rule);padding:12px 16px;max-width:74ch;font-size:15px}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:20px 0}
.card{background:var(--panel);border:1px solid var(--rule);padding:18px}
.card h3{margin:0 0 8px;font-family:var(--h);font-size:18px}
.card h3 a{text-decoration:none;color:var(--tx)}
.card h3 a:hover{color:var(--accent)}
.card p{font-size:14.5px;color:var(--tx-2);margin:0 0 8px}

.faq{margin:18px 0}
.qa{border-top:1px solid var(--rule);padding:14px 0}
.qa h3{margin:0 0 6px;font-size:16.5px;font-family:var(--b);font-weight:650}
.qa p{margin:0;font-size:15.5px;color:var(--tx-2)}

.sources{margin-top:32px;padding-top:16px;border-top:1px solid var(--rule);max-width:74ch}
.sources h2{font-size:15px;margin:0 0 8px;font-family:var(--b);letter-spacing:.02em}
.sources ul{list-style:none;padding:0;font-size:14.5px}

.foot{border-top:1px solid var(--rule);background:var(--panel);padding:24px 0 36px;margin-top:20px}
.foot .warn{font-size:14px;font-weight:600;max-width:70ch}
.foot .small{margin:6px 0 0}

@media (max-width:640px){
  body{font-size:16px}
  .top nav{gap:4px 14px}
}

/* --- дисклеймер над текстом --- */
.disclaimer{font-size:14px;color:var(--tx-2);background:var(--panel);
  border:1px solid var(--rule);border-left:3px solid var(--accent);
  padding:11px 15px;margin:0 0 20px;max-width:74ch}

/* --- формула --- */
.formula{font-weight:650;text-align:center;background:var(--accent-bg);
  border-radius:4px;padding:14px 18px;margin:18px 0;max-width:64ch;font-size:16.5px}

/* --- таблицы в материалах --- */
.tw{overflow-x:auto;margin:20px 0;border:1px solid var(--rule)}
.tw table{border-collapse:collapse;width:100%;min-width:460px;font-size:15px}
.tw th,.tw td{text-align:left;vertical-align:top;padding:10px 14px;
  border-bottom:1px solid var(--rule);border-right:1px solid var(--rule)}
.tw th:last-child,.tw td:last-child{border-right:none}
.tw thead th{background:var(--panel);font-size:13px;font-weight:650;letter-spacing:.01em}
.tw tbody th{background:var(--bg);font-weight:600;color:var(--tx);width:34%}
.tw tbody tr:last-child th,.tw tbody tr:last-child td{border-bottom:none}

/* --- иллюстрации --- */
figure{margin:24px 0;max-width:74ch}
figure img{width:100%;height:auto;display:block;border:1px solid var(--rule);background:#fff}
figcaption{font-size:13.5px;color:var(--muted);margin-top:7px;line-height:1.45}

h3{margin:26px 0 7px;font-size:17.5px;font-weight:650}