/* Article pages (/writing/...). Builds on site.css tokens, type and buttons. */
.ar-top{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding-top:calc(22px + env(safe-area-inset-top,0px));padding-bottom:22px;border-bottom:1px solid var(--line)}
.ar-back{display:inline-flex;align-items:center;gap:8px;color:var(--muted);transition:color .35s var(--ease)}
.ar-back:hover,.ar-back:focus-visible{color:var(--redline)}

.ar-head{padding-top:clamp(56px,9vw,140px);padding-bottom:clamp(40px,5vw,72px);border-bottom:1px solid var(--line)}
.ar-kicker{margin:0 0 clamp(20px,2.4vw,32px);display:flex;gap:10px;flex-wrap:wrap;color:var(--redline)}
.ar-title{margin:0;font-family:var(--f-display);font-weight:800;font-stretch:112%;
  font-size:clamp(54px,9vw,148px);line-height:.9;letter-spacing:-.035em;text-wrap:balance;max-width:11ch}
.ar-title em{font-style:normal;color:var(--redline)}
.ar-dek{margin:clamp(20px,2.4vw,32px) 0 0;font-family:var(--f-display);font-weight:500;font-stretch:100%;
  font-size:clamp(22px,2.4vw,34px);line-height:1.2;letter-spacing:-.015em;color:var(--muted);max-width:28ch;text-wrap:balance}
.ar-meta{margin:clamp(32px,4vw,56px) 0 0;display:flex;flex-wrap:wrap;gap:8px 28px;color:var(--muted)}
.ar-meta b{font-weight:500;color:var(--ink)}

.ar-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,68ch) minmax(0,1fr);
  padding-top:clamp(48px,6vw,96px);padding-bottom:clamp(40px,5vw,80px)}
.ar-body>*{grid-column:2}
.ar-body p{margin:0 0 1.15em;font-size:clamp(17px,1.25vw,19px);line-height:1.72}
.ar-body p.ar-lede{font-size:clamp(20px,1.6vw,24px);line-height:1.5;letter-spacing:-.005em}
.ar-body em{font-style:italic}
.ar-body strong{font-weight:600}
.ar-body h2{margin:clamp(48px,5vw,80px) 0 22px;display:flex;align-items:baseline;gap:16px;
  font-family:var(--f-display);font-weight:800;font-stretch:108%;font-size:clamp(26px,2.6vw,40px);line-height:1.05;letter-spacing:-.025em;text-wrap:balance}
.ar-body h2 .mono{flex-shrink:0;color:var(--redline);font-size:12px;letter-spacing:.04em;transform:translateY(-.35em)}
.ar-steps{list-style:none;margin:8px 0 1.4em;padding:0;counter-reset:s;border-top:1px solid var(--line)}
.ar-steps li{counter-increment:s;display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;padding:16px 0;border-bottom:1px solid var(--line);
  font-size:clamp(17px,1.25vw,19px);line-height:1.6}
.ar-steps li::before{content:counter(s,decimal-leading-zero);font-family:var(--f-mono);font-size:12px;letter-spacing:.04em;color:var(--redline);padding-top:.45em}
.ar-quote{margin:clamp(40px,5vw,72px) 0;padding:clamp(24px,3vw,40px) 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.ar-quote p{margin:0;font-family:var(--f-display);font-weight:700;font-stretch:108%;font-size:clamp(28px,3.4vw,52px);line-height:1.02;letter-spacing:-.025em;text-wrap:balance}
.ar-quote p span{color:var(--redline)}

.ar-end{padding-top:clamp(56px,7vw,112px);border-top:1px solid var(--line)}
.ar-end .h2{font-size:clamp(38px,6vw,96px);max-width:14ch}
.ar-actions{margin-top:clamp(28px,3vw,44px);display:flex;flex-wrap:wrap;gap:12px}
.ar-end .foot{margin-top:clamp(72px,9vw,128px);padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}

@media (max-width:760px){
  .ar-body{display:block}
  .ar-body h2{flex-direction:column;gap:10px}
  .ar-body h2 .mono{transform:none}
  .ar-steps li{grid-template-columns:34px minmax(0,1fr)}
  .ar-actions .btn{width:100%;justify-content:center}
}
