/* LinuxBeast publication surfaces. Loaded after the existing theme/dashboard.
 * Palette: graphite, paper, steel; brand teal is reserved for links and focus.
 * All selectors are scoped so article tools and consent interfaces keep their UI. */
body.lb-publication {
  --pub-paper:#171a1b; --pub-panel:#1e2223; --pub-ink:#eef0ec;
  --pub-muted:#adb5b2; --pub-rule:#414948; --pub-accent:#8dc9bd;
  --lb-surface:var(--pub-paper); --lb-surface-2:var(--pub-panel);
  --lb-gray-50:var(--pub-paper); --lb-gray-100:var(--pub-panel);
  --lb-gray-200:var(--pub-rule); --lb-gray-300:var(--pub-rule);
  --lb-gray-400:var(--pub-muted); --lb-gray-500:var(--pub-muted);
  --lb-gray-600:var(--pub-muted); --lb-gray-700:var(--pub-ink);
  --lb-gray-800:var(--pub-ink); --lb-gray-900:var(--pub-ink);
  --lb-border:var(--pub-rule); --lb-border-dark:var(--pub-rule);
  --lb-blue:var(--pub-accent); --lb-blue-dark:var(--pub-accent);
  --lb-accent:var(--pub-accent); --lb-on-accent:var(--pub-paper);
  --lb-text-muted:var(--pub-muted); --lb-radius:0px; --lb-radius-sm:0px; --lb-radius-lg:0px;
  --lb-shadow:none; --lb-shadow-md:none; --lb-shadow-lg:none;
  --lb-font-body:'IBM Plex Sans',sans-serif;
  --lb-font-head:'IBM Plex Sans Condensed','Arial Narrow',sans-serif;
  --lb-font-mono:'IBM Plex Mono',monospace;
  background:var(--pub-paper); color:var(--pub-ink); font-family:var(--lb-font-body);
}
[data-theme="light"] body.lb-publication {
  --pub-paper:#f7f8f5; --pub-panel:#ecefeb; --pub-ink:#202725;
  --pub-muted:#535f59; --pub-rule:#bec7c1; --pub-accent:#286458;
}
.lb-publication :is(.site-header,.main-navigation,.site-footer,.footer-widgets,.site-info) {
  background:var(--pub-paper)!important; color:var(--pub-muted); box-shadow:none;
}
.lb-publication .site-header { border-bottom:1px solid var(--pub-rule); }
.lb-publication .inside-header { padding-top:20px; padding-bottom:20px; }
.lb-publication .main-navigation .main-nav ul li a { font-family:var(--lb-font-body); color:var(--pub-muted); }
.lb-publication .main-navigation .main-nav ul li[class*="current-menu-"] > a { color:var(--pub-ink); }
.lb-publication .main-navigation .main-nav ul li a:hover { color:var(--pub-accent); }
.lb-publication :is(.lb-subscribe-btn,.lb-newsletter-btn,.lb-affiliate-cta,.lb-affiliate-link,.lb-action) {
  border:1px solid var(--pub-ink)!important; border-radius:0!important;
  background:var(--pub-ink)!important; color:var(--pub-paper)!important;
  box-shadow:none!important; font-weight:500; text-decoration:none!important;
}
.lb-publication :is(.lb-subscribe-btn,.lb-newsletter-btn,.lb-affiliate-cta,.lb-affiliate-link,.lb-action):hover {
  background:var(--pub-paper)!important; color:var(--pub-ink)!important;
}
.lb-publication :is(.site-header,.site-main,.site-footer) :is(button,input,select,textarea,[role="button"]) { border-radius:0!important; }
.lb-publication :is(.site-header,.site-main,.site-footer) :is(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline:2px solid var(--pub-accent)!important; outline-offset:4px; box-shadow:none;
}
.lb-publication :is(.lb-cat-filter-item,.lb-cat-badge,.lb-card-cat,.lb-side-topics a,.lb-footer-socials a,.lb-reaction-trigger,.lb-tag,.lb-card-tags a,.page-numbers) { border-radius:0; }
.lb-publication :is(.lb-side-card,.lb-footer-newsletter) {
  border:0; border-top:1px solid var(--pub-rule); border-radius:0;
  background:transparent; padding:20px 0; box-shadow:none;
}
.lb-publication :is(.lb-side-card h3,.lb-footer-col h4,.lb-side-card .lb-side-label,.lb-affiliate-module__eyebrow) {
  font-family:var(--lb-font-mono); color:var(--pub-muted); font-weight:400; font-size:11px; letter-spacing:.04em;
}
.lb-publication .lb-newsletter-form input[type="email"] { background:var(--pub-paper); border:1px solid var(--pub-rule); color:var(--pub-ink); border-radius:0; }
.lb-publication .lb-side-card p { color:var(--pub-muted); }
.lb-publication .site-footer { border-top:1px solid var(--pub-rule); }
.lb-publication :is(.lb-footer-logo-image,.site-logo img) { max-width:155px; }
.lb-publication .lb-footer-bottom { border-color:var(--pub-rule); }

/* Home: a readable lead guide followed by illustrated article rows. */
.lb-publication:is(.blog,.category,.tag,.search) .site-main { grid-template-columns:repeat(2,minmax(0,1fr)) 280px; column-gap:40px; }
.lb-publication:is(.blog,.category,.tag,.search) .site-main > :is(.lb-cat-filter,.lb-hero,.lb-trending-now,.lb-affiliate-module,.lb-latest-articles-heading,.page-header,nav,.lb-ad-feed,article) { grid-column:1 / 3; }
/* The rail must span the list rows; otherwise its full height becomes an
   empty first row ahead of the category filter and articles. As on the home
   grid, row-gap stays zero so the reserved implicit rows add no whitespace. */
.lb-publication:is(.blog,.category,.tag,.search) .site-main > .lb-sidebar { grid-column:3; grid-row:1 / 1000; order:0; margin-bottom:0; }
.lb-publication:is(.blog,.category,.tag,.search) .site-main > .lb-hero { order:1; }
.lb-publication:is(.blog,.category,.tag,.search) .site-main > .lb-cat-filter { order:2; }
.lb-publication:is(.blog,.category,.tag,.search) .site-main > .lb-latest-articles-heading { order:3; margin:32px 0 0; padding-bottom:16px; border-bottom:1px solid var(--pub-rule); font-size:26px; }
.lb-publication:is(.blog,.category,.tag,.search) .site-main > :is(article,.lb-ad-feed,.lb-trending-now) { order:4; }
.lb-publication:is(.blog,.category,.tag,.search) .site-main > .lb-affiliate-module { order:8; }
.lb-publication:is(.blog,.category,.tag,.search) .site-main > nav { order:9; }
.lb-publication .lb-hero { animation:none; }
.lb-publication .lb-hero-link {
  grid-template-columns:1.15fr 1fr; gap:28px; min-height:0;
  border:0; border-bottom:1px solid var(--pub-rule); padding:20px 0 32px;
  background:transparent; border-radius:0; box-shadow:none;
}
.lb-publication .lb-hero-content { padding:0; }
.lb-publication .lb-hero-overlay { display:none; }
.lb-publication .lb-hero-media { align-self:start; }
.lb-publication .lb-hero-media img { height:auto; min-height:0; aspect-ratio:4/3; object-fit:cover; border-radius:0; }
.lb-publication .lb-hero-link:hover .lb-hero-media img { transform:none; }
.lb-publication .lb-hero-title { font-size:clamp(30px,3vw,42px)!important; font-weight:600; line-height:1.1; letter-spacing:-.025em; display:block; overflow:visible; -webkit-line-clamp:unset; margin:18px 0!important; }
.lb-publication .lb-hero-excerpt { font-size:16px; line-height:1.65; display:block; overflow:visible; -webkit-line-clamp:unset; }
.lb-publication :is(.lb-hero-badge,.lb-cat-badge) { background:transparent; color:var(--pub-muted); padding:0; font-family:var(--lb-font-mono); font-size:10px; font-weight:400; letter-spacing:.02em; }
.lb-publication .lb-hero-badge { margin-right:16px; }
.lb-publication .lb-hero-meta { font-size:11px; gap:8px; color:var(--pub-muted); }
.lb-publication .lb-cat-filter { display:flex; flex-wrap:nowrap; gap:18px; overflow-x:auto; padding:12px 0; margin:0; border-bottom:1px solid var(--pub-rule); scrollbar-width:thin; }
.lb-publication .lb-cat-filter-item { flex:none; border:0; border-bottom:2px solid transparent; padding:10px 0; font-size:13px; color:var(--pub-muted); background:transparent; }
.lb-publication .lb-cat-filter-item:is(.active,:hover) { background:transparent; color:var(--pub-ink); border-color:var(--pub-ink); }
.lb-publication:is(.blog,.category,.tag,.search) article .inside-article {
  display:grid; grid-template-columns:clamp(240px, 32%, 320px) minmax(0,1fr); column-gap:28px;
  height:auto; border:0; border-bottom:1px solid var(--pub-rule);
  padding:24px 0; background:transparent!important; box-shadow:none; overflow:visible; border-radius:0;
}
.lb-publication:is(.blog,.category,.tag,.search) article .inside-article:hover { transform:none; box-shadow:none; border-color:var(--pub-rule); }
.lb-publication:is(.blog,.category,.tag,.search) article .inside-article > * { grid-column:2; min-width:0; }
.lb-publication:is(.blog,.category,.tag,.search) article .inside-article > .post-image { grid-column:1; grid-row:1 / span 8; align-self:start; overflow:hidden; }
.lb-publication:is(.blog,.category,.tag,.search) :is(.entry-header,.entry-summary) { padding:0; }
.lb-publication:is(.blog,.category,.tag,.search) .post-image img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; transform:none!important; }
.lb-publication:is(.blog,.category,.tag,.search) .entry-title { display:block; overflow:visible; -webkit-line-clamp:unset; font-size:25px!important; line-height:1.2; margin:8px 0!important; }
.lb-publication:is(.blog,.category,.tag,.search) .entry-summary { font-size:15px; line-height:1.6; }
.lb-publication:is(.blog,.category,.tag,.search) .entry-summary p { margin-bottom:12px; }
.lb-publication:is(.blog,.category,.tag,.search) .lb-card-meta { font-family:var(--lb-font-mono); font-size:10px; color:var(--pub-muted); }
.lb-publication:is(.blog,.category,.tag,.search) :is(.lb-card-footer,.lb-card-bottom,.lb-card-tags) { padding-left:0; padding-right:0; }
.lb-publication .lb-affiliate-module { border-radius:0; border:0; border-top:1px solid var(--pub-rule); border-bottom:1px solid var(--pub-rule); padding:24px 0; background:transparent; }
.lb-publication .lb-affiliate-module__offers { gap:20px; }
.lb-publication .lb-affiliate-offer { border-radius:0; border:0; border-left:1px solid var(--pub-rule); padding:0 0 0 16px; background:transparent; }
.lb-publication .lb-affiliate-offer__title { font-size:20px; }
.lb-publication .lb-affiliate-banner { margin-top:20px; }
.lb-publication .lb-affiliate-banner img { border-radius:0; }
.lb-publication .lb-ad-feed { border-radius:0; border:1px solid var(--pub-rule); background:transparent; }

/* Personal pages: one shared typographic system, three task-specific layouts. */
.lb-publication.page:not(.page-today-in-tech) .inside-article { padding:0!important; background:transparent!important; }
.lb-publication.page:not(.page-today-in-tech) .entry-header { display:none; }
.lb-publication .lb-publication-page { max-width:1120px; margin:0 auto; padding:64px 24px 80px; font-size:17px; line-height:1.7; color:var(--pub-ink); }
.lb-publication .lb-publication-page * { box-sizing:border-box; }
.lb-publication .lb-publication-page :is(h1,h2,h3,p,ul,dl,figure) { margin-top:0; }
.lb-publication .lb-publication-page :is(h1,h2,h3) { color:var(--pub-ink)!important; font-family:var(--lb-font-head); font-weight:600; border:0; background:none; padding:0; }
.lb-publication .lb-publication-page h1 { font-size:clamp(44px,5.2vw,72px); line-height:1.02; letter-spacing:-.035em; margin-bottom:24px; }
.lb-publication .lb-publication-page h2 { font-size:30px; line-height:1.12; letter-spacing:-.015em; }
.lb-publication .lb-publication-page h3 { font-size:25px; line-height:1.2; margin-bottom:12px; }
.lb-publication .lb-publication-page a { color:var(--pub-accent)!important; text-underline-offset:5px; overflow-wrap:anywhere; }
.lb-publication .lb-publication-page a:hover { text-decoration:underline; }
.lb-publication .lb-eyebrow { font:400 11px/1.5 var(--lb-font-mono); letter-spacing:.045em; text-transform:uppercase; color:var(--pub-muted); margin-bottom:22px; }
.lb-publication .lb-lede { max-width:660px; font-size:clamp(20px,2.2vw,28px); line-height:1.4; letter-spacing:-.01em; }
.lb-publication .lb-page-intro { max-width:800px; padding-bottom:56px; }
.lb-publication .lb-person-intro { display:grid; grid-template-columns:minmax(0,1fr) 300px; align-items:center; gap:80px; padding-bottom:64px; }
.lb-publication .lb-person-intro p:not(.lb-eyebrow):not(.lb-lede) { max-width:580px; color:var(--pub-muted); }
.lb-publication .lb-portrait { margin:0; width:100%; justify-self:end; }
.lb-publication .lb-portrait img { display:block; width:100%; height:360px; object-fit:cover; object-position:50% 30%; border-radius:0; filter:none; }
.lb-publication .lb-portrait figcaption { padding-top:14px; font:11px/1.6 var(--lb-font-mono); color:var(--pub-muted); }
.lb-publication .lb-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; padding-top:12px; }
.lb-publication .lb-action { display:inline-flex; justify-content:space-between; align-items:center; gap:32px; padding:13px 20px; min-height:48px; font-size:15px; line-height:1.4; }
.lb-publication .lb-publication-page .lb-action { color:var(--pub-paper)!important; }
.lb-publication .lb-publication-page .lb-action:hover { color:var(--pub-ink)!important; }
.lb-publication .lb-split-section { display:grid; grid-template-columns:230px minmax(0,1fr); gap:64px; padding:40px 0; border-top:1px solid var(--pub-rule); }
.lb-publication .lb-prose { max-width:680px; }
.lb-publication .lb-publication-page p { margin-bottom:20px; }
.lb-publication .lb-expertise-list > div { display:grid; grid-template-columns:210px minmax(0,1fr); gap:24px; padding:20px 0; border-bottom:1px solid var(--pub-rule); }
.lb-publication .lb-expertise-list > div:first-child { padding-top:0; }
.lb-publication .lb-expertise-list h3 { font-size:21px; }
.lb-publication .lb-expertise-list p { font-size:15px; color:var(--pub-muted); margin:0; }
.lb-publication .lb-text-links { display:flex; flex-wrap:wrap; gap:24px; margin-top:24px; }
.lb-publication .lb-text-links a { display:inline-flex; align-items:center; min-height:44px; font-size:15px; }
.lb-publication .lb-service-list > section { border-bottom:1px solid var(--pub-rule); padding:28px 0; }
.lb-publication .lb-service-list > section:first-child { padding-top:0; }
.lb-publication .lb-service-list > section p { color:var(--pub-muted); }
.lb-publication .lb-service-list ul { padding-left:20px; margin-bottom:0; font-size:15px; }
.lb-publication .lb-service-list li { margin:7px 0; padding-left:5px; }
.lb-publication .lb-definition-list { margin:0; }
.lb-publication .lb-definition-list > div { display:grid; grid-template-columns:180px minmax(0,1fr); gap:24px; border-bottom:1px solid var(--pub-rule); padding:18px 0; }
.lb-publication .lb-definition-list > div:first-child { padding-top:0; }
.lb-publication .lb-definition-list dt { font-weight:500; font-size:16px; }
.lb-publication .lb-definition-list dd { margin:0; color:var(--pub-muted); font-size:15px; }
.lb-publication .lb-stack-notes p { color:var(--pub-muted); font-size:15px; }
.lb-publication .lb-stack-notes strong { display:block; color:var(--pub-ink); margin-bottom:8px; font-weight:500; }
.lb-publication .lb-project-inquiry { padding:40px; background:var(--pub-panel); border-left:3px solid var(--pub-accent); }
.lb-publication .lb-project-inquiry h2 { font-size:40px; }
.lb-publication .lb-project-inquiry p { max-width:620px; }
.lb-publication .lb-sponsor-note { display:grid; grid-template-columns:230px minmax(0,1fr); gap:64px; margin-top:40px; padding-top:24px; border-top:1px solid var(--pub-rule); }
.lb-publication .lb-sponsor-note h2 { font-size:21px; }
.lb-publication .lb-sponsor-note p { color:var(--pub-muted); font-size:14px; }
.lb-publication .lb-contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:72px; padding:40px 0 64px; border-top:1px solid var(--pub-rule); }
.lb-publication .lb-contact-layout h2 { font-size:26px; }
.lb-publication .lb-contact-primary { padding-right:32px; border-right:1px solid var(--pub-rule); }
.lb-publication .lb-contact-address { display:inline-block; max-width:100%; font-size:clamp(18px,2vw,25px); margin:12px 0 24px; }
.lb-publication .lb-contact-primary p { color:var(--pub-muted); font-size:15px; }
.lb-publication .lb-contact-guidance .lb-definition-list > div { grid-template-columns:1fr; gap:6px; }

/* Today in Tech: topic navigation and source-first reading lists. */
body.lb-publication #tit-dash { font-family:var(--lb-font-body); color:var(--pub-ink); padding:30px 0; }
.lb-publication #tit-dash .tit-top { align-items:end; gap:24px; margin-bottom:24px; }
.lb-publication #tit-dash .tit-top h1 { font:600 clamp(38px,4vw,56px)/1.05 var(--lb-font-head); letter-spacing:-.03em; color:var(--pub-ink); margin:0 0 14px!important; }
.lb-publication #tit-dash .lb-eyebrow { margin-bottom:14px; }
.lb-publication #tit-dash .tit-sub { color:var(--pub-muted); font-size:16px; max-width:520px; }
.lb-publication #tit-dash .tit-top-right { flex:1 1 280px; max-width:440px; }
.lb-publication #tit-dash .tit-search-wrap { width:auto; min-width:0; flex:1; }
.lb-publication #tit-dash :is(.tit-search,.tit-refresh-btn) { border-radius:0; background:var(--pub-paper)!important; color:var(--pub-ink)!important; border-color:var(--pub-rule)!important; min-height:44px; }
.lb-publication #tit-dash .tit-search::placeholder { color:var(--pub-muted); }
.lb-publication #tit-dash .tit-tabs { display:flex; flex-wrap:nowrap; overflow-x:auto; gap:20px; padding:0 0 4px; margin-bottom:32px; border-bottom:1px solid var(--pub-rule); scrollbar-width:thin; }
.lb-publication #tit-dash .tit-tab { flex:none; min-height:48px; padding:10px 0; border:0!important; border-bottom:2px solid transparent!important; border-radius:0; font-size:13px; color:var(--pub-muted)!important; background:transparent!important; box-shadow:none; }
.lb-publication #tit-dash .tit-tab.active { color:var(--pub-ink)!important; border-bottom-color:var(--pub-ink)!important; }
.lb-publication #tit-dash .tit-tab .tit-icon-slot { display:none; }
.lb-publication #tit-dash .tit-hero { min-height:0; border:0; border-top:2px solid var(--pub-ink); border-bottom:1px solid var(--pub-rule); border-radius:0; padding:30px 0; background:transparent!important; margin-bottom:32px; }
.lb-publication #tit-dash .tit-hero-inner { max-width:100%; }
.lb-publication #tit-dash .tit-hero h3 { font:600 clamp(28px,3vw,40px)/1.12 var(--lb-font-head)!important; color:var(--pub-ink)!important; max-width:720px; }
.lb-publication #tit-dash .tit-hero h3 a { color:var(--pub-ink)!important; }
.lb-publication #tit-dash :is(.tit-idesc,.tit-imeta,.tit-side,.tit-num,.tit-hero-desc,.tit-hero-meta,.tit-sec-sub,.tit-meta,.tit-item-meta,.tit-item-desc,.tit-row-meta,.tit-panel-sub) { color:var(--pub-muted)!important; }
.lb-publication #tit-dash .tit-hero-desc { font-size:17px; margin:16px 0; max-width:650px; }
.lb-publication #tit-dash :is(.tit-hero-badge,.tit-src,.tit-viewall,.tit-foot-link) { color:var(--pub-accent)!important; }
.lb-publication #tit-dash .tit-hero-meta { font:11px/1.7 var(--lb-font-mono); }
.lb-publication #tit-dash .tit-hero-btn { border-radius:0; background:transparent!important; color:var(--pub-ink)!important; border-color:var(--pub-rule)!important; min-height:44px; }
.lb-publication #tit-dash :is(.tit-panel,.tit-cloud-group,.tit-group,.tit-down-strip) { background:transparent!important; border:0; border-top:1px solid var(--pub-rule)!important; border-radius:0; box-shadow:none; padding:20px 0; }
.lb-publication #tit-dash :is(.tit-ititle a,.tit-panel-title,.tit-sec-head h3,.tit-item-title,.tit-item-title a,.tit-row-title,.tit-row-title a,.tit-mini-title,.tit-mini-title a) { color:var(--pub-ink)!important; }
.lb-publication #tit-dash :is(.tit-panel-title,.tit-sec-head h3) { font-family:var(--lb-font-head); font-weight:600!important; }
.lb-publication #tit-dash :is(.tit-picon,.tit-mini-icon,.tit-story-icon,.tit-kbd,.tit-range-btn) { border-radius:0; }
.lb-publication #tit-dash .tit-cols-3 { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.lb-publication #tit-dash .tit-cols-3 > :last-child:nth-child(odd) { grid-column:1 / -1; }
.lb-publication #tit-dash .tit-sec { margin-bottom:36px; }
.lb-publication #tit-dash .tit-sec-head { margin-bottom:18px; }

@media (max-width:1050px) {
  .lb-publication:is(.blog,.category,.tag,.search) article .inside-article { grid-template-columns:240px minmax(0,1fr); column-gap:24px; }
  .lb-publication:is(.blog,.category,.tag,.search) .site-main { grid-template-columns:repeat(2,minmax(0,1fr)) 240px; column-gap:28px; }
  .lb-publication .lb-hero-link { grid-template-columns:1fr; }
  .lb-publication .lb-hero-media { grid-column:1; grid-row:2; }
  .lb-publication .lb-hero-media img { aspect-ratio:16/8; }
  .lb-publication .lb-person-intro { gap:40px; grid-template-columns:minmax(0,1fr) 240px; }
  .lb-publication .lb-split-section,.lb-publication .lb-sponsor-note { grid-template-columns:180px minmax(0,1fr); gap:32px; }
  .lb-publication .lb-expertise-list > div { grid-template-columns:1fr; gap:8px; }
  .lb-publication .lb-contact-layout { gap:36px; }
}
@media (max-width:800px) {
  /* Explicit reading order fixes the old sidebar-before-content grid placement. */
  .lb-publication:is(.blog,.category,.tag,.search) .site-main,.lb-publication.page-today-in-tech .site-main,.lb-publication.page-find-jobs .site-main { display:flex; flex-direction:column; }
  .lb-publication:is(.blog,.category,.tag,.search) .site-main > *, .lb-publication.page-today-in-tech .site-main > *,.lb-publication.page-find-jobs .site-main > * { width:100%; min-width:0; }
  .lb-publication:is(.blog,.category,.tag,.search) .site-main > .lb-sidebar,.lb-publication.page-today-in-tech .site-main > .lb-sidebar,.lb-publication.page-find-jobs .site-main > .lb-sidebar { order:90; width:100%; }
  .lb-publication .lb-sidebar-sticky { position:static; display:block; }
  .lb-publication .lb-hero-link { grid-template-columns:minmax(0,1fr); }
  .lb-publication .lb-hero-media { grid-column:1; grid-row:1; width:100%; min-width:0; }
  .lb-publication .lb-hero-content { grid-column:1; grid-row:2; min-width:0; }
  .lb-publication .lb-hero-media img { width:100%; aspect-ratio:16/9; }
  .lb-publication .inside-header { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px; padding:14px 20px; }
  .lb-publication .site-logo img { max-width:120px; }
  .lb-publication .main-navigation { margin:0; }
  .lb-publication .lb-publication-page { padding:40px 20px 56px; }
  .lb-publication .lb-person-intro { grid-template-columns:1fr 200px; gap:28px; }
  .lb-publication .lb-person-intro h1 { font-size:52px; }
  .lb-publication .lb-portrait img { height:260px; }
  .lb-publication .lb-split-section,.lb-publication .lb-sponsor-note { grid-template-columns:1fr; gap:20px; padding:32px 0; }
  .lb-publication .lb-split-section h2 br { display:none; }
  .lb-publication .lb-contact-layout { grid-template-columns:1fr; gap:36px; }
  .lb-publication .lb-contact-primary { border:0; padding:0; }
}
@media (max-width:540px) {
  .lb-publication .lb-hero-link { grid-template-columns:1fr; gap:22px; padding-top:8px; }
  .lb-publication .lb-hero-content { grid-column:1; grid-row:2; }
  .lb-publication .lb-hero-media { grid-column:1; grid-row:1; }
  .lb-publication .lb-hero-media img { aspect-ratio:16/9; }
  .lb-publication:is(.blog,.category,.tag,.search) article .inside-article { grid-template-columns:1fr; gap:16px; }
  .lb-publication:is(.blog,.category,.tag,.search) article .inside-article > * { grid-column:1; }
  .lb-publication:is(.blog,.category,.tag,.search) article .inside-article > .post-image { grid-column:1; grid-row:auto; }
  .lb-publication:is(.blog,.category,.tag,.search) .post-image img { aspect-ratio:16/9; }
  .lb-publication:is(.blog,.category,.tag,.search) .entry-title { font-size:29px!important; }
  .lb-publication .lb-person-intro { grid-template-columns:1fr; padding-bottom:36px; }
  .lb-publication .lb-portrait { max-width:280px; justify-self:start; }
  .lb-publication .lb-portrait img { height:300px; }
  .lb-publication .lb-definition-list > div { grid-template-columns:1fr; gap:6px; }
  .lb-publication .lb-project-inquiry { padding:26px 20px; }
  .lb-publication .lb-project-inquiry h2 { font-size:34px; }
  .lb-publication .lb-contact-address { font-size:18px; }
  .lb-publication #tit-dash .tit-top { gap:18px; }
  .lb-publication #tit-dash .tit-top-right { flex-basis:100%; max-width:none; }
  .lb-publication #tit-dash .tit-kbd { display:none; }
  .lb-publication #tit-dash .tit-search { padding-right:12px; }
  .lb-publication #tit-dash .tit-tabs { margin-bottom:22px; }
  .lb-publication #tit-dash .tit-cols-3,.lb-publication #tit-dash .tit-cols-2 { grid-template-columns:1fr; gap:20px; }
  .lb-publication #tit-dash .tit-hero { padding:24px 0; }
}
@media (prefers-reduced-motion:reduce) {
  .lb-publication :is(.site-header,.site-main,.site-footer) * { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

/* Source metadata is quiet, but remains readable in either theme. */
.lb-publication #tit-dash .tit-ititle { font-size:16px; font-weight:500; line-height:1.45; }
.lb-publication #tit-dash .tit-imeta { font:11px/1.7 var(--lb-font-mono); }
.lb-publication #tit-dash .tit-imeta a { color:var(--pub-muted)!important; }
.lb-publication #tit-dash :is(.tit-ititle a,.tit-imeta a):hover { color:var(--pub-accent)!important; text-decoration:underline!important; text-underline-offset:3px; }
.lb-publication #tit-dash :is(.tit-tag,.tit-mini-tab) { border-radius:0; background:transparent!important; color:var(--pub-muted)!important; border:1px solid var(--pub-rule); }
.lb-publication #tit-dash .tit-mini-tab { min-width:44px; min-height:36px; }
.lb-publication #tit-dash .tit-mini-tab.active { background:var(--pub-ink)!important; color:var(--pub-paper)!important; border-color:var(--pub-ink); }
.lb-publication #tit-dash .tit-dn-chip { background:var(--pub-panel)!important; border-radius:0; border-color:var(--pub-rule)!important; }
.lb-publication #tit-dash .tit-item { border-bottom-color:var(--pub-rule)!important; }
.lb-publication:is(.blog,.category,.tag,.search) article .inside-article:not(:has(.post-image)) { grid-template-columns:1fr; }
.lb-publication:is(.blog,.category,.tag,.search) article .inside-article:not(:has(.post-image)) > * { grid-column:1; }
.lb-publication .lb-publication-page .lb-inline-link { display:inline-flex; align-items:center; min-height:44px; }
@container (max-width:620px) {
  .lb-publication #tit-dash .tit-cols-3,.lb-publication #tit-dash .tit-cols-2 { grid-template-columns:1fr; }
}
@media (max-width:800px) {
  .lb-publication .main-navigation { width:auto; flex-basis:auto; }
}

/* Keep the mobile masthead aligned; let the expanded navigation use its own row. */
@media (max-width:768px) {
  .lb-publication .site-header .inside-header { gap:8px; padding:12px; text-align:left; }
  .lb-publication .inside-header .site-logo { flex:0 0 auto; margin:0; }
  .lb-publication .inside-header .site-logo img { width:clamp(76px,22vw,120px); height:auto; display:block; }
  .lb-publication .inside-header #mobile-menu-control-wrapper { flex:0 0 auto; margin:0 0 0 auto; align-items:center; }
  .lb-publication #mobile-menu-control-wrapper .menu-bar-items { align-items:center; gap:0; }
  .lb-publication #mobile-menu-control-wrapper :is(.lb-search-toggle,.lb-theme-toggle,.menu-toggle) { display:inline-flex; align-items:center; justify-content:center; width:44px; min-height:44px; padding:0; margin:0; background:transparent; color:var(--pub-ink); }
  .lb-publication #mobile-menu-control-wrapper .lb-subscribe-btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; margin:0; padding:0 8px; font-size:12px; line-height:1; }
  .lb-publication .inside-header #site-navigation { flex:1 0 100%; width:100%; margin:0; }
  .lb-publication #site-navigation .main-nav { margin:0; }
}

/* Topic archives retain their query and pagination, with a clear reading heading. */
.lb-publication.category .site-main > .page-header { order:3; padding:32px 0 20px; margin:0; background:transparent; border-bottom:1px solid var(--pub-rule); }
.lb-publication.category .page-header h1 { font:600 clamp(32px,5vw,48px)/1.1 var(--lb-font-head); color:var(--pub-ink); margin:0; }
.lb-publication.category .taxonomy-description { max-width:65ch; color:var(--pub-muted); font-size:16px; line-height:1.7; margin-top:16px; }
.lb-publication.category .paging-navigation { border-top:1px solid var(--pub-rule); padding:24px 0; background:transparent; }
.lb-publication.category .paging-navigation .page-numbers { border-radius:0; }

/* Inline sponsor offers and pagination share the publication control palette. */
.lb-publication .lb-affiliate-link { min-height:44px; justify-content:center; }
.lb-publication .lb-affiliate-link:hover { transform:none; }
.lb-publication .lb-affiliate-offer__label { font-family:var(--lb-font-mono); font-weight:400; }
.lb-publication .lb-affiliate-offer:hover { box-shadow:none; border-color:var(--pub-rule); }
.lb-publication .paging-navigation .nav-links .page-numbers.current { background:var(--pub-ink); border-color:var(--pub-ink); color:var(--pub-paper); }
.lb-publication .paging-navigation .nav-links .page-numbers { min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; border-radius:0; }
@media(max-width:640px) {
 .lb-publication .lb-affiliate-module__offers { grid-template-columns:minmax(0,1fr); gap:24px; }
 .lb-publication .lb-affiliate-offer { padding-left:16px; }
 .lb-publication .lb-affiliate-link { width:100%; box-sizing:border-box; }
 .lb-publication .lb-affiliate-trustpilot { justify-content:flex-start; text-align:left; }
}

/* Shared discovery pages and overlays belong to the same publication. */
.lb-publication:is(.tag,.search) .site-main { display:block; max-width:920px; margin-inline:auto; }
.lb-publication:is(.tag,.search) .page-header { background:transparent; padding:24px 0; border-bottom:1px solid var(--pub-rule); }
.lb-publication:is(.tag,.search) .page-title { font:600 clamp(32px,5vw,48px)/1.1 var(--lb-font-head); color:var(--pub-ink); }
.lb-publication :is(.lb-search-dialog,.lb-newsletter-modal__dialog) { background:var(--pub-paper); color:var(--pub-ink); border:1px solid var(--pub-rule); border-radius:0; box-shadow:none; }
.lb-publication :is(.lb-search-input,.lb-newsletter-modal__title) { color:var(--pub-ink); }
.lb-publication :is(.lb-search-hint,.lb-newsletter-modal__message) { color:var(--pub-muted); }
.lb-publication .lb-newsletter-modal__button { background:var(--pub-ink); color:var(--pub-paper); border:1px solid var(--pub-ink); border-radius:0; }
.lb-publication .lb-newsletter-modal__icon { border-radius:0; background:var(--pub-panel); color:var(--pub-accent); }
.lb-publication :is(.lb-404-search,.lb-404-card) { border:1px solid var(--pub-rule); border-radius:0; background:var(--pub-paper); box-shadow:none; color:var(--pub-ink); }
.lb-publication .lb-404-heading { font-family:var(--lb-font-head); color:var(--pub-ink); }
.lb-publication .lb-404-card:hover { transform:none; box-shadow:none; }
.lb-publication :is(.lb-404-search button,.lb-tag-network-btn) { background:var(--pub-ink); color:var(--pub-paper); border:1px solid var(--pub-rule); border-radius:0; }
/* Preserve calculator behavior and semantic warnings; normalize their shells. */
.lb-publication :is(#vpc-plan,#pib-calc,#lb-onboard) { color:var(--pub-ink); font-family:var(--lb-font-body); }
.lb-publication :is(#vpc-plan,#pib-calc) :is(.vpc-header,.pib-header) { text-align:left; }
.lb-publication :is(#vpc-plan,#pib-calc) h1 { color:var(--pub-ink)!important; font:600 clamp(32px,5vw,48px)/1.1 var(--lb-font-head)!important; }
.lb-publication :is(#vpc-plan,#pib-calc) .card { background:var(--pub-paper); border:1px solid var(--pub-rule); border-radius:0; box-shadow:none; }
.lb-publication :is(#vpc-plan,#pib-calc) .card h2 { color:var(--pub-ink)!important; border-color:var(--pub-rule)!important; font-family:var(--lb-font-head); }
.lb-publication :is(#vpc-plan,#pib-calc) .input-group :is(input,select) { color:var(--pub-ink); background:var(--pub-panel); border-color:var(--pub-rule); border-radius:0; }
.lb-publication :is(#vpc-plan,#pib-calc) .input-group label { color:var(--pub-ink); }
.lb-publication :is(#vpc-plan,#pib-calc) :is(.hint,.vpc-header p,.pib-header p) { color:var(--pub-muted); }
.lb-publication #lb-tools .lb-definition-list h2 { font-size:26px; }
.lb-publication .lb-newsletter-modal__button:hover { background:var(--pub-paper); color:var(--pub-ink); transform:none; }
.lb-publication #lb-onboard .lbo-header { text-align:left; }
.lb-publication #lb-onboard .lbo-header h1 { font:600 clamp(32px,5vw,48px)/1.1 var(--lb-font-head)!important; color:var(--pub-ink)!important; }
.lb-publication #lb-onboard .lbo-header p { margin-inline:0; color:var(--pub-muted); }
.lb-publication #lb-onboard .lbo-card { background:var(--pub-paper); border:0; border-top:1px solid var(--pub-rule); padding:24px 0; border-radius:0; box-shadow:none; }
.lb-publication #lb-onboard .lbo-card h2 { color:var(--pub-ink)!important; font-family:var(--lb-font-head); border-color:var(--pub-rule)!important; }
.lb-publication #lb-onboard :is(.lbo-desc,.lbo-table td) { color:var(--pub-muted); }
.lb-publication #lb-onboard :is(.lbo-step,.lbo-check,.lbo-info,.lbo-next) { border-radius:0; }
.lb-publication #lb-onboard .lbo-step { background:var(--pub-ink); color:var(--pub-paper); }
.lb-publication :is(#vpc-plan,#pib-calc) .summary-item { background:var(--pub-panel); border-radius:0; }
.lb-publication :is(#vpc-plan,#pib-calc) .summary-item :is(label,.value) { color:var(--pub-ink); }
.lb-publication .lb-tag-network-title { font-family:var(--lb-font-head); color:var(--pub-ink); }
.lb-publication .lb-tag-network-canvas-wrap { border-radius:0; border-color:var(--pub-rule); }

/* Mobile footer: comfortable controls and a compact, single-column signup. */
@media(max-width:860px) {
 .lb-publication .lb-footer-grid { row-gap:20px; }
 .lb-publication .lb-footer-col li { margin-bottom:0; }
 .lb-publication .lb-footer-col :is(a,.lb-footer-privacy-link) { display:inline-flex; align-items:center; min-height:44px; max-width:100%; font-size:14px; line-height:1.4; padding-block:6px; box-sizing:border-box; }
 .lb-publication .lb-footer-social { gap:10px; }
 .lb-publication .lb-footer-social a { width:44px; height:44px; border-radius:0; background:transparent; }
 .lb-publication .lb-footer-social svg { width:18px; height:18px; }
 .lb-publication .lb-footer-newsletter { margin-top:0; padding-top:20px; }
 .lb-publication .lb-footer-newsletter h4 { font-size:16px; }
 .lb-publication .lb-footer-newsletter-text { font-size:14px; line-height:1.6; }
 .lb-publication .lb-footer-newsletter .lb-newsletter-form { grid-template-columns:minmax(0,1fr); gap:10px; }
 .lb-publication .lb-footer-newsletter .lb-newsletter-form input[type="email"] { grid-column:1; grid-row:1; width:100%; min-height:44px; height:auto; font-size:16px; box-sizing:border-box; }
 .lb-publication .lb-footer-newsletter .lb-newsletter-btn { grid-column:1; grid-row:2; width:100%; min-height:44px; font-size:14px; }
 .lb-publication .lb-footer-newsletter .lb-newsletter-turnstile { grid-column:1; grid-row:3; }
 .lb-publication .lb-footer-bottom { flex-direction:column; align-items:flex-start; gap:8px; margin-top:20px; padding:16px 0; font-size:12px; text-align:left; }
}
