/* =========================================================
   mind·routine — общие стили
   Палитра и шрифты — единый источник правды для всех страниц.
   ========================================================= */

:root{
  --paper:#f7f5f1;
  --ink:#2c2b28;
  --ink-soft:#615f59;
  --ink-faint:#8d8a82;
  --rule:#e3dfd7;
  --accent:#6b7257;
  --maxw:680px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:"Newsreader",Georgia,"Times New Roman",serif;
  font-size:19px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  animation:fade .6s ease both;
}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){body{animation:none}}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* header */
header{padding:64px 0 40px}
.brand{
  font-family:"Fraunces",Georgia,serif;
  font-weight:600;
  font-size:26px;
  letter-spacing:-.01em;
  color:var(--ink);
  text-decoration:none;
  display:inline-block;
}
.brand span{color:var(--accent)}
.tagline{
  color:var(--ink-soft);
  font-size:17px;
  margin-top:8px;
  max-width:46ch;
}
nav{margin-top:26px;display:flex;align-items:baseline;gap:22px;flex-wrap:wrap}
nav a{
  color:var(--ink-soft);
  text-decoration:none;
  font-size:15px;
  letter-spacing:.02em;
  padding-bottom:2px;
  border-bottom:1px solid transparent;
  transition:color .18s ease,border-color .18s ease;
}
nav a:hover{color:var(--ink);border-color:var(--accent)}
nav a[aria-current="page"]{color:var(--ink);border-color:var(--accent)}

/* language switch (EN · RU) */
.lang{
  margin-left:auto;
  font-size:13px;
  letter-spacing:.08em;
  color:var(--ink-faint);
}
.lang a{
  color:var(--ink-soft);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .18s ease,border-color .18s ease;
}
.lang a:hover{color:var(--ink);border-color:var(--accent)}
.lang [aria-current="true"]{color:var(--ink);font-weight:500}

.divider{height:1px;background:var(--rule);border:0;margin:0 0 48px}

/* greeting (главная / home) */
.greeting{margin-bottom:44px}
.greeting p{color:var(--ink-soft);margin-bottom:14px}
.greeting p strong{color:var(--ink);font-weight:500}

/* article list */
section{margin-bottom:8px}
.section-label{
  font-family:"Fraunces",Georgia,serif;
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink-faint);
  margin-bottom:34px;
}
article{margin-bottom:56px}
.meta{
  font-size:13.5px;
  letter-spacing:.04em;
  color:var(--ink-faint);
  margin-bottom:10px;
  text-transform:uppercase;
}
h2{
  font-family:"Fraunces",Georgia,serif;
  font-weight:500;
  font-size:30px;
  line-height:1.2;
  letter-spacing:-.015em;
  margin-bottom:18px;
}
article p{color:var(--ink-soft);margin-bottom:16px}
article p strong{color:var(--ink);font-weight:500}
ol,ul{color:var(--ink-soft);margin:0 0 16px 1.2em}
li{margin-bottom:10px}
li strong{color:var(--ink);font-weight:500}

.more{
  display:inline-block;
  font-size:15px;
  color:var(--accent);
  text-decoration:none;
  border-bottom:1px solid var(--rule);
  padding-bottom:1px;
  transition:border-color .18s ease;
}
.more:hover{border-color:var(--accent)}

/* personal aside / note */
aside.note{
  border-left:2px solid var(--accent);
  padding:2px 0 2px 18px;
  margin:24px 0;
  color:var(--ink-soft);
  font-style:italic;
  font-size:18px;
}

/* about */
.about-body{margin:8px 0 12px}
.about-body p{color:var(--ink-soft);margin-bottom:16px}
.about-body p strong{color:var(--ink);font-weight:500}
.about-body ul{margin:0 0 22px 1.2em}

/* footer */
footer{
  border-top:1px solid var(--rule);
  margin-top:40px;
  padding:36px 0 72px;
  color:var(--ink-faint);
  font-size:14.5px;
}
footer .row{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer a{color:var(--ink-faint);text-decoration:none;transition:color .18s ease}
footer a:hover{color:var(--ink-soft)}
.footnote{margin-top:14px;color:var(--ink-faint);font-size:13.5px}
.totop{
  display:inline-block;
  margin-top:14px;
  font-size:13.5px;
  color:var(--ink-faint);
  text-decoration:none;
  transition:color .18s ease;
}
.totop:hover{color:var(--accent)}

@media (max-width:560px){
  body{font-size:18px}
  header{padding:48px 0 32px}
  h2{font-size:25px}
  .lang{margin-left:0;width:100%;margin-top:4px}
}
