/* База/сброс крайне сокращён */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--color-text);
  background:var(--color-bg);
  font-family:'Roboto', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
  font-size:16px;           /* базовая «единица» для rem */
  line-height:var(--lh-normal);
}

/* Заголовки фиксируем по твоей шкале */
h1,h2,h3,h4,h5,h6{margin:0 0 .5em;color:var(--color-text);font-weight:var(--fw-bold);line-height:var(--lh-tight)}
h1{font-size:var(--fs-h1)}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3)}
/* h4–h6 не заданы в макете — логично привязать к P1/P2/P3 */
h4{font-size:var(--fs-p1); font-weight:var(--fw-medium)}
h5{font-size:var(--fs-p2); font-weight:var(--fw-medium)}
h6{font-size:var(--fs-p3); font-weight:var(--fw-medium)}

/* Параграфы */
p{margin:0 0 1em}
.p1{font-size:var(--fs-p1)}
.p2{font-size:var(--fs-p2)}
.p3{font-size:var(--fs-p3); color:var(--color-muted)}

/* Утилиты для цвета текста (по желанию) */
.text-primary{color:var(--color-primary)}
.text-accent{color:var(--color-accent)}
.text-muted{color:var(--color-muted)}


/* New theme: reset heading font family to Roboto (override legacy Futura) */
body.theme-new h1,
body.theme-new h2,
body.theme-new h3,
body.theme-new h4,
body.theme-new h5,
body.theme-new h6{ font-family:'Roboto', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif !important; }

/* Reset legacy list paddings/margins in new theme */
body.theme-new ul,
body.theme-new ol{ margin:0; padding-left:0; }
body.theme-new ul li,
body.theme-new ol li{ padding-left:0 !important; margin-bottom:0; position: static; }

/* Sticky footer layout for new theme */
body.theme-new{ min-height:100vh; display:flex; flex-direction:column; }
.page-content{ flex:1 0 auto; }
.site-footer{ flex:0 0 auto; }
