/* blog-v3.1.css: blog article on the v3 shell (views/blog-v3.hbs) + deals-list components (.dl-*). Tokens from shell.2.css. */
.bv3-wrap{max-width:calc(820px + 2*var(--gutter))}
.bv3-hero{padding-bottom:clamp(20px,3vw,32px)}
.bv3-hero .wrap.bv3-wrap{gap:var(--sp-4);max-width:calc(820px + 2*var(--gutter))}
.bv3-hero h1{font-size:clamp(34px,5.4vw,64px);line-height:1.02;letter-spacing:-.035em;max-width:20ch;text-wrap:balance}
.bv3-hero .h3-sub{font-size:clamp(17px,1.6vw,20px);line-height:1.5}
.bv3-back{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--ink-2);text-decoration:none;font-size:15px;font-weight:500;justify-self:start}
.bv3-back:hover{color:var(--ink)}
.bv3-meta{font-size:15px;color:var(--ink-2)}
.bv3-body{font-size:17px;line-height:1.65;color:var(--ink);padding-bottom:var(--sp-7);min-width:0}
.bv3-body p{color:var(--ink-2);margin:0 0 var(--sp-4)}
.bv3-body strong{color:var(--ink);font-weight:600}
.bv3-body a{color:var(--ink);text-underline-offset:3px;text-decoration-thickness:1px}
.bv3-body a:hover{color:var(--accent)}
.bv3-body h2{font-size:clamp(26px,3.2vw,38px);letter-spacing:-.025em;line-height:1.1;margin:var(--sp-7) 0 var(--sp-3);scroll-margin-top:84px}
.bv3-body h3{font-size:20px;letter-spacing:-.015em;line-height:1.25;margin:var(--sp-5) 0 var(--sp-2);scroll-margin-top:84px}
.bv3-body ul,.bv3-body ol{margin:0 0 var(--sp-4)}
.bv3-share{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);border-top:1px solid var(--line);padding-block:var(--sp-5) var(--sp-7);color:var(--ink-2);font-size:15px}
.bv3-share span{margin-right:var(--sp-2)}

/* ---- deals list ---- */
.dl-updated{font:500 var(--fs-mono)/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)!important;margin-bottom:var(--sp-3)!important}
.dl-lede{font-size:clamp(18px,1.7vw,20px);line-height:1.5;color:var(--ink)!important}
.dl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bv3-body .dl-toc{border:1px solid var(--line);background:var(--panel);border-radius:var(--r-md);padding:var(--sp-5);margin:var(--sp-6) 0 var(--sp-4)}
.bv3-body .dl-toc h2{margin:0 0 var(--sp-2);font-size:clamp(22px,2.4vw,28px)}
.dl-toc-sec h3{margin:var(--sp-4) 0 var(--sp-1);font:500 var(--fs-mono)/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.08em}
.dl-toc-sec h3 a{color:var(--accent);text-decoration:none}
.bv3-body .dl-toc-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr)}
@media (min-width:720px){.bv3-body .dl-toc-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--sp-5)}}
.bv3-body .dl-toc-list a{margin:0;display:grid;grid-template-columns:2.2em minmax(0,1fr) auto;gap:var(--sp-2);align-items:baseline;min-height:44px;padding:10px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.dl-toc-list a:hover .dl-toc-name{color:var(--accent)}
.dl-toc-n{font:500 14px/1.4 var(--font-mono);color:var(--ink-3);font-variant-numeric:tabular-nums}
.dl-toc-name{font-weight:600;font-size:16px;min-width:0;overflow-wrap:anywhere}
.dl-toc-p{font-size:14px;color:var(--ink-2);text-align:right;white-space:nowrap}
.bv3-body .dl-sec h2{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-3)}
.dl-range{font:500 var(--fs-mono)/1 var(--font-mono);letter-spacing:.06em;color:var(--ink-2);border:1px solid var(--line-2);border-radius:var(--r-pill);padding:6px 10px}
.dl-intro{max-width:62ch}
.dl-list{display:grid;gap:var(--sp-3);margin-top:var(--sp-4)}
.dl-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--sp-4);border:1px solid var(--line);background:var(--panel);border-radius:var(--r-md);padding:var(--sp-5);scroll-margin-top:84px;min-width:0}
.dl-card:target{border-color:var(--accent);box-shadow:0 0 0 4px var(--glow)}
.dl-n{font:600 clamp(28px,3vw,36px)/1 var(--font-sans);letter-spacing:-.04em;color:var(--accent);font-variant-numeric:tabular-nums;min-width:1.4em}
.dl-main{min-width:0;display:grid;gap:var(--sp-2)}
.bv3-body .dl-card h3{margin:0;font-size:clamp(20px,2vw,24px);line-height:1.15}
.bv3-body .dl-what{margin:0;color:var(--ink-2)}
.dl-facts{margin:var(--sp-2) 0 0;display:grid;gap:var(--sp-2);border-top:1px solid var(--line);padding-top:var(--sp-3)}
.dl-facts div{display:grid;grid-template-columns:minmax(0,1fr);gap:2px}
@media (min-width:640px){.dl-facts div{grid-template-columns:8.5em minmax(0,1fr);gap:var(--sp-3)}}
.dl-facts dt{font:500 var(--fs-mono)/1.6 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}
.dl-facts dd{margin:0;color:var(--ink);font-size:16px;line-height:1.55;overflow-wrap:anywhere}
.bv3-body .dl-act{margin:var(--sp-2) 0 0}
.bv3-body .dl-btn{margin:0;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--sp-5);border-radius:var(--r-pill);background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);font-weight:600;font-size:15px;text-decoration:none;transition:transform var(--t-fast) var(--ease)}
.bv3-body .dl-btn:hover{color:var(--accent-ink);transform:translateY(-1px)}
.bv3-body .dl-btn::after{content:"\2197";margin-left:8px;font-size:14px}
@media (max-width:639px){.dl-card{grid-template-columns:minmax(0,1fr);gap:var(--sp-2);padding:var(--sp-4)}.bv3-body .dl-btn{width:100%}.dl-toc-p{font-size:13px}}
.dl-faq details{border-bottom:1px solid var(--line)}
.dl-faq details:first-of-type{border-top:1px solid var(--line-2)}
.dl-faq summary{list-style:none;cursor:pointer;display:flex;gap:var(--sp-4);align-items:baseline;min-height:56px;padding:var(--sp-4) 0;font-size:18px;font-weight:600;letter-spacing:-.01em}
.dl-faq summary::-webkit-details-marker{display:none}
.dl-faq summary::after{content:"+";margin-left:auto;font:400 22px/1 var(--font-mono);color:var(--ink-2)}
.dl-faq details[open] summary::after{content:"\2212"}
.bv3-body .dl-faq details p{max-width:62ch}
.dl-foot{margin-top:var(--sp-6);padding-top:var(--sp-4);border-top:1px solid var(--line)}
.bv3-body .dl-foot p{font-size:14px;line-height:1.55;color:var(--ink-3);margin-bottom:var(--sp-2)}
@media (forced-colors:active){.dl-card,.dl-toc{border-color:CanvasText}}
