/* Long-form article layout on top of wf.css (blog posts). */
.art-hero{background:var(--pink);margin-top:-76px;padding:132px 0 48px;border-bottom:2px solid var(--ink);overflow:hidden}
.art-hero h1{font-family:var(--display);font-weight:400;font-size:clamp(34px,6vw,84px);line-height:.92;letter-spacing:-.02em;text-transform:uppercase;margin:0 0 18px;max-width:18ch}
.art-hero .dek{max-width:62ch;font-size:16px;font-weight:500;margin:0 0 18px}
.byline{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;font-weight:700}
.byline span{background:var(--paper);border:1.5px solid var(--ink);padding:2px 8px}
.art{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:48px;align-items:start;padding:48px 0 80px}
.art main,.art article,.art aside{min-width:0}
.prose{font-size:16px;line-height:1.7}
.prose h2{font-family:var(--display);font-weight:400;font-size:clamp(28px,3.6vw,44px);line-height:.95;text-transform:uppercase;margin:56px 0 16px;scroll-margin-top:90px}
.prose h3{font-size:19px;margin:36px 0 10px;scroll-margin-top:90px}
.prose p,.prose ul,.prose ol{margin:0 0 16px}
.prose li{margin:4px 0}
.prose a{color:var(--deep);font-weight:700;text-underline-offset:3px}
.prose code{background:var(--panel);padding:1px 5px;font-size:.92em;border:1px solid var(--rule)}
.prose table{width:100%;border-collapse:collapse;font-size:14px;margin:0 0 18px}
.prose th,.prose td{text-align:left;padding:9px 12px;border-bottom:1.5px solid var(--rule);vertical-align:top}
.prose th{background:var(--ink);color:#fff;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.tablewrap{border:2px solid var(--ink);overflow-x:auto;margin:0 0 20px}
.tablewrap table{margin:0}
.callout{border:2px solid var(--ink);background:var(--pink);padding:14px 18px;margin:0 0 20px;font-weight:500}
.callout.dark{background:var(--ink);color:#fff}
.callout.dark a{color:var(--mint)}
.callout b.lab{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.tldr{border:2px solid var(--ink);background:var(--paper);box-shadow:6px 6px 0 var(--ink);margin:0 0 28px}
.tldr ul{margin:0;padding:14px 18px 14px 36px}
.prompt{border:2px solid var(--ink);margin:0 0 18px;background:var(--ink);box-shadow:5px 5px 0 var(--hot)}
.prompt .pbar{display:flex;align-items:center;gap:10px;background:var(--pink);color:var(--ink);height:38px;padding:0 6px 0 12px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-bottom:2px solid var(--ink)}
.prompt .pbar .t{flex:1}
.prompt button{font:700 12px var(--mono);border:2px solid var(--ink);background:var(--paper);padding:5px 10px;cursor:pointer}
.prompt button:hover{background:var(--ink);color:#fff}
.prompt pre{margin:0;padding:14px 16px;color:#f2f1f3;font:500 12.5px/1.6 var(--mono);white-space:pre-wrap;word-break:break-word;max-height:340px;overflow:auto}
.prompt.open pre{max-height:none}
.why-list{list-style:none;padding:0;margin:0 0 16px}
.why-list li{position:relative;padding:6px 0 6px 24px;border-bottom:1.5px solid var(--rule)}
.why-list li:last-child{border-bottom:0}
.why-list li:before{content:"";position:absolute;left:2px;top:15px;width:10px;height:10px;background:var(--hot)}
.check{border-left:6px solid var(--mint);background:#effcf6;padding:10px 14px;margin:0 0 16px;font-size:14px}
.stepcard{border-top:2px solid var(--ink);padding-top:6px;margin-top:44px}
.stepcard .no{font-family:var(--display);font-size:56px;line-height:1;color:var(--hot)}
.figure{border:2px solid var(--ink);background:var(--paper);margin:0 0 8px}
.figure img,.figure svg{display:block;width:100%;height:auto}
.figcap{font-size:12px;color:var(--mute);margin:0 0 22px}
.term2{border:2px solid var(--ink);background:#0b0b0d;margin:0 0 8px;overflow:auto}
.term2 pre{margin:0;padding:12px 14px;color:#e8e6ea;font:500 12px/1.55 var(--mono);white-space:pre-wrap;word-break:break-word}
.term2 .ps{color:var(--mint)}.term2 .ok{color:var(--mint);font-weight:700}.term2 .ev{color:#ffd27a;font-weight:700}.term2 .dim{color:#8f8c95}
/* side rail */
.rail{position:sticky;top:84px;display:flex;flex-direction:column;gap:16px}
.rail .win .body{padding:12px 14px}
.rail ol{margin:0;padding-left:20px;font-size:13px}
.rail ol a{text-decoration:none}
.rail ol a:hover{text-decoration:underline}
/* offer banner */
.offer{border:2px solid var(--ink);background:var(--ink);color:#fff;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:16px 18px;margin:0 0 28px;box-shadow:6px 6px 0 var(--hot)}
.offer .price{font-family:var(--display);font-size:44px;line-height:1;color:var(--mint)}
.offer p{margin:0;font-size:14px}
.offer p b{color:var(--pink)}
.offer .acts{display:flex;flex-wrap:wrap;gap:10px;grid-column:1/-1}
.offer .btn[aria-disabled="true"]{opacity:.75}
.offer .btn{box-shadow:none;min-height:44px;font-size:13px}
.offer .btn.light{border-color:#fff}
.soon{font-size:11px;color:#a9a6ad;margin-top:6px;grid-column:1/-1}
@media (max-width:980px){.art{grid-template-columns:minmax(0,1fr)}.rail{position:static}}
@media (max-width:640px){.offer{grid-template-columns:1fr}.prose{font-size:15px}}
