@import url('https://fonts.googleapis.com/css2?family=Literata:ital,opsz,wght@0,7..72,400;0,7..72,600;1,7..72,400&family=Onest:wght@300;400;500&family=JetBrains+Mono:wght@400;500&display=swap');

:root{
  --ink:#131b24;
  --ink-2:#1b2530;
  --ink-3:#243040;
  --paper:#e9e4da;
  --paper-dim:#a8a79f;
  --iris:#7fb2cc;
  --iris-dim:#4d7f97;
  --rule:rgba(233,228,218,.14);
  --display:"Literata",Georgia,serif;
  --body:"Onest",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --pad:clamp(20px,5vw,40px);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--ink);color:var(--paper);
  font-family:var(--body);font-size:17px;line-height:1.7;font-weight:300;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1080px;margin:0 auto;padding:0 var(--pad)}
.narrow{max-width:680px}

.eyebrow{
  font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--iris-dim);margin:0 0 18px;
}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.16;margin:0}
p{margin:0 0 18px}
.lede{font-size:20px;color:#cfc9be;font-weight:300}
.dim{color:var(--paper-dim)}

header.site{position:sticky;top:0;z-index:20;background:rgba(19,27,36,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{font-family:var(--display);font-size:17px;font-weight:600}
.brand em{font-style:italic;color:var(--iris)}
header nav{display:flex;gap:22px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--paper-dim)}
header nav a:hover{color:var(--paper)}
@media (max-width:760px){header nav{display:none}}

.hero{border-bottom:1px solid var(--rule)}
.hero-grid{display:grid;grid-template-columns:1fr}
.hero-figure{position:relative}
.hero-figure img{width:100%;aspect-ratio:16/11;object-fit:cover;object-position:center 20%;filter:saturate(.86)}
.hero-figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,27,36,.1) 0%,rgba(19,27,36,.78) 74%,var(--ink) 100%)}
.hero-text{padding:0 var(--pad) 56px;margin-top:-76px;position:relative;z-index:2}
.hero-text h1{font-size:clamp(32px,7.4vw,56px);letter-spacing:-.015em}
.hero-text h1 em{font-style:italic;color:var(--iris)}
.hero-text .lede{margin-top:20px;max-width:560px}
@media (min-width:900px){
  .hero-grid{grid-template-columns:1.02fr .98fr;align-items:center;gap:clamp(28px,4vw,60px);padding:0 var(--pad)}
  .hero-text{margin:0;padding:96px 0}
  .hero-figure img{aspect-ratio:4/5;border-radius:2px}
  .hero-figure::after{background:linear-gradient(90deg,var(--ink) 0%,rgba(19,27,36,.22) 44%,rgba(19,27,36,0) 100%)}
}

.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.btn{display:inline-block;padding:13px 22px;border-radius:2px;font-size:15px;border:1px solid var(--iris-dim);color:var(--paper);transition:.18s}
.btn:hover{border-color:var(--iris);background:rgba(127,178,204,.09)}
.btn.primary{background:var(--iris);border-color:var(--iris);color:#0f1720;font-weight:500}
.btn.primary:hover{background:var(--iris-dim);border-color:var(--iris-dim);color:#f0ece4}

section{padding:clamp(56px,9vw,100px) 0;border-bottom:1px solid var(--rule)}
section h2{font-size:clamp(26px,4.4vw,38px);letter-spacing:-.01em;margin-bottom:24px}
.two{display:grid;gap:clamp(28px,5vw,56px)}
@media (min-width:880px){.two{grid-template-columns:1fr 1fr;align-items:center}}
.portrait{border-radius:2px;filter:saturate(.9)}

.layers{display:grid;gap:14px;margin-top:32px}
.layer{border:1px solid var(--rule);border-radius:2px;background:var(--ink-2);padding:22px 24px;transition:.22s}
.layer:hover,.layer[open]{border-color:var(--iris-dim);background:var(--ink-3)}
.layer summary{list-style:none;cursor:pointer}
.layer summary::-webkit-details-marker{display:none}
.said{font-family:var(--display);font-size:19px;font-style:italic;display:flex;gap:14px;align-items:baseline}
.said::before{content:"сказано";font-family:var(--mono);font-style:normal;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-dim);flex:none}
.meant{margin:16px 0 0;padding-top:16px;border-top:1px solid var(--rule);color:#cfc9be;display:flex;gap:14px;align-items:baseline}
.meant::before{content:"под этим";font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--iris-dim);flex:none}

.spec{margin-top:30px;border-top:1px solid var(--rule)}
.spec-row{display:grid;grid-template-columns:1fr;gap:6px;padding:22px 0;border-bottom:1px solid var(--rule)}
.spec-row dt{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--iris)}
.spec-row dd{margin:0;color:#cfc9be}
@media (min-width:760px){.spec-row{grid-template-columns:250px 1fr;gap:32px;align-items:baseline}}

.cards{display:grid;gap:18px;margin-top:28px}
@media (min-width:760px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{border:1px solid var(--rule);border-radius:2px;background:var(--ink-2);overflow:hidden;transition:.2s}
.card:hover{border-color:var(--iris-dim)}
.card img{aspect-ratio:16/9;object-fit:cover;width:100%}
.card .body{padding:18px 20px 22px}
.card h3{font-size:18px;margin-bottom:8px}
.card .meta{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--paper-dim)}
.card p{margin:10px 0 0;font-size:15px;color:#b9b4ab}

.pull{font-family:var(--display);font-size:clamp(22px,3.6vw,32px);line-height:1.35;font-style:italic;max-width:760px}

article.post{padding:clamp(40px,7vw,72px) 0}
article.post h1{font-size:clamp(28px,5vw,44px);margin-bottom:14px}
article.post .meta{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--paper-dim);margin-bottom:26px}
article.post .cover{width:100%;border-radius:2px;margin-bottom:30px}
article.post p{font-size:18px;margin:0 0 22px}

footer.site{padding:44px 0 64px;color:var(--paper-dim);font-size:14px}
footer.site .wrap{display:flex;flex-wrap:wrap;gap:14px 26px;justify-content:space-between}
footer.site a:hover{color:var(--paper)}
footer .mono{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}

:focus-visible{outline:2px solid var(--iris);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}}

/* long-form prose (мудрости, статьи) */
.prose{max-width:680px}
.prose h2{font-size:clamp(21px,3.4vw,26px);margin:38px 0 14px}
.prose h3{font-size:19px;margin:30px 0 12px}
.prose h4{font-size:17px;margin:26px 0 10px;font-family:var(--body);font-weight:500;color:var(--iris)}
.prose p{margin:0 0 18px;color:#cfc9be}
.prose strong{font-weight:500;color:var(--paper)}
.prose .li{position:relative;padding-left:24px;margin-bottom:12px}
.prose .li::before{content:"—";position:absolute;left:0;color:var(--iris-dim)}
.prose blockquote{margin:26px 0;padding-left:20px;border-left:2px solid var(--iris-dim);font-family:var(--display);font-style:italic;color:var(--paper)}

/* списки и таблицы в длинных текстах */
.prose ul,.prose ol{margin:0 0 20px;padding-left:26px;color:#cfc9be}
.prose li{margin-bottom:10px}
.prose ol li::marker,.prose ul li::marker{color:var(--iris-dim)}
.prose hr{border:0;border-top:1px solid var(--rule);margin:34px 0}
.prose .tablewrap{overflow-x:auto;margin:26px 0}
.prose table{border-collapse:collapse;width:100%;font-size:15px}
.prose th,.prose td{border:1px solid var(--rule);padding:10px 12px;text-align:left;vertical-align:top}
.prose th{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--iris)}
.prose a{color:var(--iris);text-decoration:underline;text-underline-offset:3px}

/* хештеги и иллюстрации внутри текста */
.prose .tag{color:var(--iris-dim);font-size:15px;white-space:nowrap}
.prose figure{margin:28px 0}
.prose figure img{width:100%;border-radius:2px}
.prose blockquote a{color:var(--iris)}
