/*
 * ════════════════════════════════════════════════════════════
 *  WAVE DIGITAL — blog components
 *  Archivio · Categoria · Articolo singolo
 * ════════════════════════════════════════════════════════════
 */

/* ─── shared eyebrow row (top rule) ──────────────────── */
.bl-eyebrow-row{display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);border-top:1px solid var(--rule-2);padding-top:var(--s-4);margin-bottom:var(--s-8);font-family:var(--font-mono);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--ls-wider);color:var(--ink-3);}
.bl-eyebrow-row .num{color:var(--c-cobalt);font-weight:700;}
.bl-eyebrow-row a{color:var(--ink);border-bottom:1px solid var(--rule-2);transition:border-color var(--dur-2);}
.bl-eyebrow-row a:hover{border-color:var(--c-cobalt);}

/* ─── HERO ───────────────────────────────────────────── */
.bl-hero{position:relative;overflow:hidden;padding:var(--s-12) 0 var(--s-8);}
.bl-hero-blobs{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent);mask-image:linear-gradient(to bottom,#000 55%,transparent);}
.bl-hero-blobs i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.20;animation:blFloat 26s ease-in-out infinite;}
.bl-hero-blobs i:nth-child(1){width:30vw;height:30vw;left:-6vw;top:-8vw;background:var(--c-cobalt);}
.bl-hero-blobs i:nth-child(2){width:26vw;height:26vw;right:-5vw;top:2vw;background:var(--c-violet);animation-delay:-9s;}
.bl-hero-blobs i:nth-child(3){width:22vw;height:22vw;left:46vw;bottom:-12vw;background:var(--c-sky);animation-delay:-16s;}
html[data-theme="dark"] .bl-hero-blobs i{opacity:.36;}
@keyframes blFloat{0%,100%{transform:translate(0,0) scale(1);}33%{transform:translate(2vw,-3vw) scale(1.08);}66%{transform:translate(-3vw,2vw) scale(.93);}}
@media (prefers-reduced-motion:reduce){.bl-hero-blobs i{animation:none;}}
.bl-hero>.ds-container{position:relative;z-index:1;}
.bl-hero-title{font-family:var(--font-display);font-weight:800;font-size:clamp(2.9rem,7.5vw,6.4rem);line-height:.92;letter-spacing:var(--ls-tightest);color:var(--ink);margin:0 0 var(--s-6);max-width:16ch;}
.bl-hero-title em{font-style:italic;color:var(--c-cobalt);}
.bl-hero-lede{font-family:var(--font-body);font-size:var(--fs-lede);color:var(--ink-2);line-height:1.55;max-width:56ch;margin:0;}
.bl-hero-lede strong{color:var(--ink);font-weight:700;}

/* section heading */
.bl-sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-6);flex-wrap:wrap;margin-bottom:var(--s-8);}
.bl-sec-head h2{font-family:var(--font-display);font-weight:800;font-size:clamp(1.6rem,3.2vw,2.4rem);letter-spacing:var(--ls-tight);color:var(--ink);margin:0;}
.bl-sec-head h2 em{font-style:italic;color:var(--c-cobalt);}
.bl-sec-tag{font-family:var(--font-mono);font-size:var(--fs-12);text-transform:uppercase;letter-spacing:var(--ls-wider);color:var(--ink-3);display:flex;align-items:center;gap:9px;}
.bl-sec-tag::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--c-cobalt);}

/* ─── CATEGORY GRID (archive) ────────────────────────── */
.bl-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-4);}
@media (max-width:1040px){.bl-cats{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.bl-cats{grid-template-columns:1fr;}}
.bl-cat{--c:var(--c-cobalt);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:var(--s-8);min-height:170px;
  background:var(--bg-elev);border:1.5px solid var(--rule-2);border-radius:var(--r-16);padding:var(--s-5);text-decoration:none;
  transition:transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2),border-color var(--dur-2);}
.bl-cat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--c);opacity:.9;}
.bl-cat:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--c);}
.bl-cat .top{display:flex;align-items:center;justify-content:space-between;}
.bl-cat .dot{width:32px;height:32px;border-radius:var(--r-8);display:grid;place-items:center;background:var(--c);color:#fff;}
.bl-cat .dot svg{width:18px;height:18px;}
.bl-cat .cnt{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--ink-3);}
.bl-cat h3{font-family:var(--font-display);font-weight:700;font-size:1.35rem;letter-spacing:var(--ls-tight);color:var(--ink);margin:0;line-height:1.05;}
.bl-cat .go{margin-top:6px;font-family:var(--font-mono);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--c);display:inline-flex;align-items:center;gap:6px;transition:gap var(--dur-2);}
.bl-cat:hover .go{gap:12px;}

/* ─── CATEGORY FILTER PILLS ──────────────────────────── */
.bl-pills{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-bottom:var(--s-10);}
.bl-pill{--c:var(--c-cobalt);display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:var(--r-full);border:1.5px solid var(--rule-2);
  font-family:var(--font-body);font-weight:600;font-size:var(--fs-14);color:var(--ink-2);background:var(--bg-elev);text-decoration:none;
  transition:all var(--dur-2) var(--ease-out);cursor:pointer;}
.bl-pill i{width:9px;height:9px;border-radius:50%;background:var(--c);}
.bl-pill:hover{border-color:var(--c);color:var(--ink);transform:translateY(-2px);}
.bl-pill.is-active{background:var(--ink);color:var(--bg);border-color:var(--ink);}
.bl-pill.is-active i{box-shadow:0 0 0 3px color-mix(in oklab,var(--c) 40%,transparent);}

/* ─── COVER PLACEHOLDER (mosaic duotone) ─────────────── */
.bl-cover{--c:var(--c-cobalt);position:relative;overflow:hidden;background:
  linear-gradient(140deg, color-mix(in oklab,var(--c) 92%,#000 6%) 0%, color-mix(in oklab,var(--c) 46%,#000 22%) 100%);}
.bl-cover::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.20) 1.3px,transparent 1.4px);background-size:16px 16px;mix-blend-mode:soft-light;}
.bl-cover::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 34px,rgba(255,255,255,.05) 34px 35px);}
.bl-cover .tag{position:absolute;left:14px;bottom:12px;z-index:2;font-family:var(--font-mono);font-size:var(--fs-11);letter-spacing:var(--ls-wide);color:rgba(255,255,255,.85);display:flex;align-items:center;gap:7px;}
.bl-cover .tag::before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;}
.bl-cover .glyph{position:absolute;right:-8px;top:-14px;z-index:1;font-family:var(--font-display);font-weight:800;font-size:8rem;line-height:1;color:rgba(255,255,255,.10);}

/* ─── ARTICLE CARD ───────────────────────────────────── */
.bl-card{--c:var(--c-cobalt);display:flex;flex-direction:column;background:var(--bg-elev);border:1.5px solid var(--rule-2);border-radius:var(--r-16);overflow:hidden;text-decoration:none;
  transition:transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2),border-color var(--dur-2);}
.bl-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--c);}
.bl-card .bl-cover{aspect-ratio:16/10;}
.bl-card .body{padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-3);flex:1;}
.bl-chip{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--c);}
.bl-chip::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--c);}
.bl-card h3{font-family:var(--font-display);font-weight:700;font-size:1.3rem;line-height:1.12;letter-spacing:var(--ls-tight);color:var(--ink);margin:0;text-wrap:balance;transition:color var(--dur-2);}
.bl-card:hover h3{color:var(--c);}
.bl-card p{font-size:var(--fs-14);color:var(--ink-2);line-height:1.5;margin:0;}
.bl-meta{margin-top:auto;display:flex;align-items:center;gap:var(--s-3);font-family:var(--font-mono);font-size:var(--fs-11);color:var(--ink-3);padding-top:var(--s-3);border-top:1px solid var(--rule);}
.bl-meta .sep{opacity:.5;}

/* grids */
.bl-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-5);}
@media (max-width:980px){.bl-grid-3{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.bl-grid-3{grid-template-columns:1fr;}}
.bl-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-5);}
@media (max-width:760px){.bl-grid-2{grid-template-columns:1fr;}}

/* ─── FEATURED (hero article) ────────────────────────── */
.bl-feature{--c:var(--c-cobalt);display:grid;grid-template-columns:1.15fr .85fr;gap:0;background:var(--bg-elev);border:1.5px solid var(--rule-2);border-radius:var(--r-24);overflow:hidden;text-decoration:none;
  box-shadow:var(--shadow-md);transition:transform var(--dur-3) var(--ease-out),box-shadow var(--dur-3),border-color var(--dur-2);}
.bl-feature:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--c);}
.bl-feature .bl-cover{min-height:420px;}
@media (max-width:860px){.bl-feature{grid-template-columns:1fr;}.bl-feature .bl-cover{min-height:260px;}}
.bl-feature .body{padding:clamp(1.6rem,3.4vw,2.8rem);display:flex;flex-direction:column;gap:var(--s-5);justify-content:center;}
.bl-feature .flag{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--ls-wider);color:#fff;background:var(--c);padding:6px 12px;border-radius:var(--r-full);}
.bl-feature h2{font-family:var(--font-display);font-weight:800;font-size:clamp(1.7rem,3.6vw,2.7rem);line-height:1.02;letter-spacing:var(--ls-tight);color:var(--ink);margin:0;text-wrap:balance;transition:color var(--dur-2);}
.bl-feature:hover h2{color:var(--c);}
.bl-feature p{font-size:var(--fs-body-lg);color:var(--ink-2);line-height:1.55;margin:0;max-width:46ch;}
.bl-feature .bl-meta{border-top:0;padding-top:0;margin-top:var(--s-2);}

/* ─── COMPACT LIST (the "10 più lontani") ────────────── */
.bl-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 var(--s-10);}
@media (max-width:820px){.bl-list{grid-template-columns:1fr;}}
.bl-row{--c:var(--c-cobalt);display:grid;grid-template-columns:64px 1fr;gap:var(--s-4);align-items:center;padding:var(--s-4) 0;border-bottom:1px solid var(--rule);text-decoration:none;transition:padding var(--dur-2) var(--ease-out);}
.bl-row:hover{padding-left:8px;}
.bl-row .thumb{width:64px;height:64px;border-radius:var(--r-12);overflow:hidden;}
.bl-row .thumb .bl-cover{width:100%;height:100%;}
.bl-row .rbody{display:flex;flex-direction:column;gap:5px;min-width:0;}
.bl-row .rchip{font-family:var(--font-mono);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--c);}
.bl-row h4{font-family:var(--font-display);font-weight:600;font-size:1.02rem;line-height:1.15;letter-spacing:var(--ls-tight);color:var(--ink);margin:0;transition:color var(--dur-2);text-wrap:balance;}
.bl-row:hover h4{color:var(--c);}
.bl-row .rmeta{font-family:var(--font-mono);font-size:var(--fs-11);color:var(--ink-3);}

/* ─── PAGINATION ─────────────────────────────────────── */
.bl-pager{display:flex;align-items:center;justify-content:center;gap:var(--s-2);margin-top:var(--s-16);}
.bl-pager button,.bl-pager a{display:inline-grid;place-items:center;min-width:46px;height:46px;padding:0 14px;border-radius:var(--r-12);border:1.5px solid var(--rule-2);background:var(--bg-elev);
  font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--ink-2);text-decoration:none;cursor:pointer;transition:all var(--dur-2) var(--ease-out);}
.bl-pager button:hover:not(:disabled),.bl-pager a:hover{border-color:var(--c-cobalt);color:var(--ink);transform:translateY(-2px);}
.bl-pager .is-current{background:var(--ink);color:var(--bg);border-color:var(--ink);}
.bl-pager button:disabled{opacity:.4;cursor:not-allowed;}
.bl-pager .ellipsis{border:0;background:transparent;color:var(--ink-3);cursor:default;}
.bl-pager .nav{gap:8px;display:inline-flex;align-items:center;}
.bl-pager .nav svg{width:16px;height:16px;}

/* small section label */
.bl-block-label{font-family:var(--font-mono);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--ls-wider);color:var(--ink-3);display:flex;align-items:center;gap:10px;margin:var(--s-16) 0 var(--s-6);}
.bl-block-label::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--c-cobalt);}
.bl-block-label::after{content:"";flex:1;height:1px;background:var(--rule);}

/* ══════════════════════════════════════════════════════
   ARTICLE SINGLE
   ══════════════════════════════════════════════════════ */
.bl-art{padding:var(--s-8) 0 var(--section-y);}
.bl-art-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--s-16);align-items:start;}
@media (max-width:1000px){.bl-art-grid{grid-template-columns:1fr;gap:var(--s-12);}}

.bl-art-head{margin-bottom:var(--s-8);}
.bl-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--font-mono);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--ink-3);margin-bottom:var(--s-6);}
.bl-crumbs a{color:var(--ink-3);transition:color var(--dur-2);}
.bl-crumbs a:hover{color:var(--c-cobalt);}
.bl-crumbs .chev{opacity:.5;}
.bl-art-flag{--c:var(--c-cobalt);display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--ls-wider);color:#fff;background:var(--c);padding:6px 13px;border-radius:var(--r-full);margin-bottom:var(--s-5);}
.bl-art-title{font-family:var(--font-display);font-weight:800;font-size:clamp(2.1rem,4.6vw,3.6rem);line-height:1.0;letter-spacing:var(--ls-tightest);color:var(--ink);margin:0 0 var(--s-5);text-wrap:balance;}
.bl-art-dek{font-family:var(--font-body);font-size:var(--fs-lede);line-height:1.5;color:var(--ink-2);margin:0 0 var(--s-6);max-width:60ch;}
.bl-art-byline{display:flex;align-items:center;gap:var(--s-4);flex-wrap:wrap;padding:var(--s-4) 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);}
.bl-art-byline .av{width:42px;height:42px;border-radius:50%;background:var(--c-cobalt);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:1rem;flex-shrink:0;}
.bl-art-byline .who{display:flex;flex-direction:column;line-height:1.2;}
.bl-art-byline .who b{color:var(--ink);font-family:var(--font-body);font-weight:700;font-size:var(--fs-14);}
.bl-art-byline .who span{font-family:var(--font-mono);font-size:var(--fs-11);color:var(--ink-3);}
.bl-art-byline .dot{width:4px;height:4px;border-radius:50%;background:var(--rule-strong);}
.bl-art-byline .mi{font-family:var(--font-mono);font-size:var(--fs-11);color:var(--ink-3);}
.bl-art-byline .share{margin-left:auto;display:flex;gap:8px;}
.bl-art-byline .share a{width:38px;height:38px;border-radius:var(--r-8);display:grid;place-items:center;border:1.5px solid var(--rule-2);color:var(--ink);transition:all var(--dur-2) var(--ease-out);}
.bl-art-byline .share a:hover{background:var(--ink);color:var(--bg);border-color:var(--ink);}
.bl-art-byline .share svg{width:16px;height:16px;}

.bl-art-hero{aspect-ratio:16/8;border-radius:var(--r-24);overflow:hidden;margin:var(--s-8) 0;box-shadow:var(--shadow-md);}
.bl-art-hero .bl-cover{width:100%;height:100%;}

/* prose */
.bl-prose{max-width:68ch;}
.bl-prose > *{margin:0 0 var(--s-5);}
.bl-prose p{font-family:var(--font-body);font-size:var(--fs-body-lg);line-height:1.7;color:var(--ink-2);}
.bl-prose h2{font-family:var(--font-display);font-weight:800;font-size:clamp(1.5rem,3vw,2rem);letter-spacing:var(--ls-tight);color:var(--ink);margin:var(--s-10) 0 var(--s-4);line-height:1.1;}
.bl-prose h3{font-family:var(--font-display);font-weight:700;font-size:1.35rem;letter-spacing:var(--ls-tight);color:var(--ink);margin:var(--s-8) 0 var(--s-3);}
.bl-prose a{color:var(--c-blue);border-bottom:1px solid color-mix(in oklab,var(--c-blue) 40%,transparent);transition:border-color var(--dur-2);}
.bl-prose a:hover{border-color:var(--c-blue);}
.bl-prose strong{color:var(--ink);font-weight:700;}
.bl-prose ul,.bl-prose ol{padding-left:1.3em;display:flex;flex-direction:column;gap:var(--s-2);}
.bl-prose li{font-size:var(--fs-body-lg);line-height:1.6;color:var(--ink-2);}
.bl-prose li::marker{color:var(--c-cobalt);}
.bl-prose blockquote{margin:var(--s-8) 0;padding:var(--s-4) var(--s-6);border-left:4px solid var(--c-cobalt);background:var(--bg-2);border-radius:0 var(--r-12) var(--r-12) 0;}
.bl-prose blockquote p{font-family:var(--font-display);font-weight:500;font-style:italic;font-size:1.4rem;line-height:1.35;color:var(--ink);margin:0;}
.bl-prose figure{margin:var(--s-8) 0;}
.bl-prose figure .bl-cover{aspect-ratio:16/9;border-radius:var(--r-16);}
.bl-prose figcaption{font-family:var(--font-mono);font-size:var(--fs-11);color:var(--ink-3);margin-top:var(--s-2);text-align:center;}
.bl-prose hr{border:0;height:1px;background:var(--rule);margin:var(--s-10) 0;}

/* tags + author card after prose */
.bl-tags{display:flex;flex-wrap:wrap;gap:var(--s-2);margin:var(--s-10) 0;}
.bl-tags a{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--ink-2);padding:6px 12px;border-radius:var(--r-full);border:1px solid var(--rule-2);transition:all var(--dur-2);}
.bl-tags a:hover{border-color:var(--c-cobalt);color:var(--ink);}
.bl-author{display:flex;gap:var(--s-5);padding:var(--s-6);border:1.5px solid var(--rule-2);border-radius:var(--r-24);background:var(--bg-elev);margin-top:var(--s-8);}
.bl-author .av{width:64px;height:64px;border-radius:50%;background:var(--c-cobalt);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:1.5rem;flex-shrink:0;}
.bl-author .ab b{font-family:var(--font-display);font-weight:700;font-size:1.2rem;color:var(--ink);display:block;}
.bl-author .ab .role{font-family:var(--font-mono);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--c-cobalt);margin:2px 0 8px;}
.bl-author .ab p{font-size:var(--fs-14);color:var(--ink-2);line-height:1.5;margin:0;}

/* ─── SIDEBAR ────────────────────────────────────────── */
.bl-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:var(--s-8);}
@media (max-width:1000px){.bl-side{position:static;}}
.bl-widget{border:1.5px solid var(--rule-2);border-radius:var(--r-16);background:var(--bg-elev);padding:var(--s-5);}
.bl-widget-head{font-family:var(--font-mono);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--ls-wider);color:var(--ink-3);display:flex;align-items:center;gap:9px;margin:0 0 var(--s-4);}
.bl-widget-head::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--c-cobalt);}

/* categories widget */
.bl-catlist{display:flex;flex-direction:column;}
.bl-catlist a{--c:var(--c-cobalt);display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:11px 0;border-bottom:1px solid var(--rule);text-decoration:none;transition:padding var(--dur-2) var(--ease-out);}
.bl-catlist a:last-child{border-bottom:0;}
.bl-catlist a:hover{padding-left:6px;}
.bl-catlist .cn{display:flex;align-items:center;gap:10px;font-family:var(--font-body);font-weight:600;font-size:var(--fs-14);color:var(--ink);}
.bl-catlist .cn i{width:9px;height:9px;border-radius:2px;background:var(--c);}
.bl-catlist a:hover .cn{color:var(--c);}
.bl-catlist .cc{font-family:var(--font-mono);font-size:var(--fs-11);color:var(--ink-3);}

/* recent widget */
.bl-recent{display:flex;flex-direction:column;gap:var(--s-4);}
.bl-recent a{--c:var(--c-cobalt);display:grid;grid-template-columns:56px 1fr;gap:var(--s-3);align-items:center;text-decoration:none;}
.bl-recent .thumb{width:56px;height:56px;border-radius:var(--r-8);overflow:hidden;}
.bl-recent .thumb .bl-cover{width:100%;height:100%;}
.bl-recent .rb{display:flex;flex-direction:column;gap:3px;min-width:0;}
.bl-recent .rb .rc{font-family:var(--font-mono);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--c);}
.bl-recent .rb h5{font-family:var(--font-display);font-weight:600;font-size:.94rem;line-height:1.15;letter-spacing:var(--ls-tight);color:var(--ink);margin:0;transition:color var(--dur-2);text-wrap:balance;}
.bl-recent a:hover h5{color:var(--c);}

/* services widget */
.bl-svc{display:flex;flex-direction:column;gap:var(--s-3);}
.bl-svc a{--c:var(--c-cobalt);position:relative;overflow:hidden;display:flex;align-items:center;gap:var(--s-3);padding:var(--s-4);border-radius:var(--r-12);border:1.5px solid var(--rule-2);text-decoration:none;transition:all var(--dur-2) var(--ease-out);}
.bl-svc a::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c);opacity:0;transition:opacity var(--dur-2);}
.bl-svc a:hover{border-color:var(--c);transform:translateX(3px);}
.bl-svc a:hover::before{opacity:1;}
.bl-svc .si{flex:0 0 40px;width:40px;height:40px;border-radius:var(--r-8);display:grid;place-items:center;background:var(--c);color:#fff;}
.bl-svc .si svg{width:20px;height:20px;}
.bl-svc .sb{display:flex;flex-direction:column;min-width:0;}
.bl-svc .sb b{font-family:var(--font-display);font-weight:700;font-size:1rem;letter-spacing:var(--ls-tight);color:var(--ink);line-height:1.05;}
.bl-svc .sb span{font-family:var(--font-mono);font-size:var(--fs-11);color:var(--ink-3);}
.bl-svc .go{margin-left:auto;color:var(--ink-3);transition:transform var(--dur-2),color var(--dur-2);flex-shrink:0;}
.bl-svc a:hover .go{transform:translateX(3px);color:var(--c);}

/* sticky newsletter widget */
.bl-nl{--c:var(--c-cobalt);border:1.5px solid var(--rule-2);border-radius:var(--r-16);padding:var(--s-5);background:
  linear-gradient(140deg, color-mix(in oklab,var(--c-cobalt) 12%,var(--bg-elev)) 0%, var(--bg-elev) 60%);}
.bl-nl h4{font-family:var(--font-display);font-weight:800;font-size:1.3rem;letter-spacing:var(--ls-tight);color:var(--ink);margin:0 0 6px;}
.bl-nl p{font-size:var(--fs-13);color:var(--ink-2);line-height:1.45;margin:0 0 var(--s-4);}
.bl-nl form{display:flex;flex-direction:column;gap:var(--s-2);}
.bl-nl input{width:100%;padding:11px 14px;border-radius:var(--r-8);border:1.5px solid var(--rule-2);background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-14);}
.bl-nl input:focus{outline:none;border-color:var(--c-cobalt);box-shadow:0 0 0 3px color-mix(in oklab,var(--c-cobalt) 30%,transparent);}
.bl-nl button{padding:11px 14px;border-radius:var(--r-8);border:0;background:var(--ink);color:var(--bg);font-family:var(--font-body);font-weight:700;font-size:var(--fs-14);display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:opacity var(--dur-2);}
.bl-nl button:hover{opacity:.88;}
.bl-nl.is-sent form{display:none;}
.bl-nl .done{display:none;font-family:var(--font-mono);font-size:var(--fs-12);color:var(--c-lime);}
.bl-nl.is-sent .done{display:block;}
