/* Mirko Ledda — editorial design foundations */
:root {
  /* Neutral surfaces: deliberately cool, never beige. */
  --paper: #f5f6f5;
  --light: #ffffff;
  --ink: #17191c;
  --dark: #17191c;
  --muted: #5e646b;
  --rule: #d9dcd9;
  --soft: #eceeeb;

  /* Editorial taxonomy. */
  --seo: #ae3f47;
  --ai: #6d5f92;
  --news: #8a5677;
  --tech: #4f7185;
  --writing: #657b65;
  --accent: var(--ink);
  --accent-text-light: var(--ink);
  --accent-text-dark: var(--paper);
  --glossary: var(--ink);
  --seo-text: #ae3f47;
  --ai-text: #6d5f92;
  --news-text: #815a73;
  --tech-text: #4f7185;
  --writing-text: #526952;
  /* Layout and rhythm. */
  --wide: 1200px;
  --narrow: 1000px;
  --reading: 720px;
  --gutter: clamp(20px, 4vw, 48px);
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;
}

html { scroll-behavior: auto; scroll-padding-top: 72px; text-size-adjust: 100%; }
body { overflow-x: clip; background: var(--paper); color: var(--ink); font-size: 17px; line-height: 1.62; text-rendering: optimizeLegibility; }
body, button, input, textarea, select { font-family: Manrope, system-ui, sans-serif; }
h1, h2, h3, h4, h5, h6, em, i, blockquote { font-family: Manrope, system-ui, sans-serif !important; }
h1, h2, h3, h4, h5, h6 { text-wrap: balance; }
p, li { text-wrap: pretty; }
a, button { transition: none !important; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}
button, input, textarea, select { color: inherit; font-size: 1rem; }
input, textarea, select { min-height: 44px; border: 1px solid var(--rule); border-radius: 0; background: var(--light); }
textarea { min-height: 128px; resize: vertical; }
img, video, iframe { max-width: 100%; }
.prose { overflow-wrap: break-word; }
::selection { background: var(--ink); color: var(--light); }
.shell { width: min(calc(100% - (var(--gutter) * 2)), var(--wide)); }
.shell-narrow { width: min(calc(100% - (var(--gutter) * 2)), var(--narrow)); }
.reading { width: min(calc(100% - (var(--gutter) * 2)), var(--reading)); }

/* Header */
.masthead { background: rgba(255,255,255,.98); border-color: var(--rule); backdrop-filter: none; }
.admin-bar .masthead { top: 32px; }
.masthead-inner { height: 68px; }
.wordmark { font-size: 1.05rem; font-weight: 650; letter-spacing: -.035em; }
.sections, .tools { gap: clamp(16px, 1.7vw, 24px); }
.sections a, .tools a, .tools button { display: inline-flex; min-height: 44px; align-items: center; font-size: .82rem; font-weight: 650; letter-spacing: .055em; }
.sections a { position: relative; color: var(--ink) !important; }
.sections .cat-seo { --nav-accent: var(--seo-text); }
.sections .cat-intelligenza-artificiale { --nav-accent: var(--ai-text); }
.sections .cat-news { --nav-accent: var(--news-text); }
.sections .cat-tecnologia { --nav-accent: var(--tech-text); }
.sections .cat-scrittura { --nav-accent: var(--writing-text); }
.sections a:hover, .sections a:focus-visible, .sections a.is-current { color: var(--nav-accent) !important; }
.sections a::after { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: var(--nav-accent); content: ""; transform: scaleX(0); transform-origin: left; }
.sections a:hover::after, .sections a:focus-visible::after, .sections a.is-current::after { transform: scaleX(1); }
.collab { color: var(--accent-text-light) !important; }
.search-panel, .mobile-menu { position: absolute; top: 100%; right: 0; left: 0; background: #fff; border-color: var(--rule); box-shadow: 0 16px 30px rgba(23,25,28,.08); }
.search-panel { padding: 18px 0; }
.search-field { min-height: 48px; background: var(--paper); border: 1px solid var(--rule); }
.search-submit { min-width: 104px; min-height: 48px; background: var(--accent); color: #fff; cursor: pointer; }

/* Shared labels and media */
.editorial-label, .kicker, .about-kicker, .collab-kicker, .category-label, .meta {
  font-family: Manrope, system-ui, sans-serif;
  font-weight: 600;
  letter-spacing: .085em;
  text-transform: uppercase;
}
.editorial-label { margin-bottom: 20px; color: var(--accent-text-light); font-size: .82rem; }
.category-label { color: var(--term-text-light); font-size: .82rem; }
.meta { color: var(--muted); font-size: .76rem; }
.preview-media { position: relative; display: block; overflow: hidden; background: var(--soft); }
.preview-media img { display: block; width: 100%; height: 100%; object-fit: cover; filter: none; mix-blend-mode: normal; opacity: 1; }

/* Home: editorial opening, one lead story, three quick entries, archive. */
.home-page { padding: 0 0 var(--space-9); }
.home-page .shell { width: min(calc(100% - (var(--gutter) * 2)), var(--wide)); }
.home-page .opening { display: grid; min-height: 0; grid-template-columns: minmax(0, 1.55fr) minmax(260px, .55fr); gap: var(--space-6) clamp(48px, 7vw, 96px); align-items: end; padding: var(--space-8) 0 var(--space-7); background: transparent; border: 0; }
.statement { max-width: 24ch; margin: 0; font-size: clamp(2.4rem, 4.3vw, 4.3rem); font-weight: 500; letter-spacing: -.058em; line-height: .98; text-wrap: balance; }
.statement em { color: var(--ink); font-size: inherit; font-style: normal; font-weight: inherit; }
.opening-note { max-width: 31ch; margin: 0 0 .2em; color: var(--muted); font-size: 1rem; font-weight: 400; line-height: 1.6; }
.home-page .featured-section { padding: 0 0 var(--space-9); background: transparent; }
.home-page .featured-section > .shell { padding: 0; background: transparent; }
.home-featured { display: grid; grid-template-columns: minmax(0, 7fr) minmax(320px, 5fr); gap: clamp(36px, 5vw, 72px); align-items: center; }
.featured-media { aspect-ratio: 16/10; }
.home-featured-copy { min-width: 0; }
.home-featured h2 { max-width: 14ch; margin: .35em 0 .28em; font-size: clamp(2.4rem, 4vw, 4.15rem); font-weight: 500; letter-spacing: -.06em; line-height: .96; }
.home-featured p { max-width: 40ch; margin: 0 0 var(--space-4); color: var(--muted); font-size: 1rem; line-height: 1.6; }
.home-page .latest-section { padding: var(--space-8) 0 0; background: var(--light); color: var(--ink); border: 0; }
.home-page .latest-section > .shell { padding: 0 0 var(--space-8); background: transparent; }
.latest-section .editorial-label { color: var(--accent-text-light); }
.latest-section .category-label { color: var(--term-text-light); }
.home-archive-title { max-width: 14ch; margin: 0 0 var(--space-7); font-size: clamp(2.5rem, 5vw, 5rem); font-weight: 500; letter-spacing: -.06em; line-height: .95; }
.home-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(22px, 3vw, 36px); margin-bottom: var(--space-8); }
.home-card { min-width: 0; }
.home-card-media { aspect-ratio: 3/2; margin-bottom: var(--space-4); }
.home-card h3 { max-width: 20ch; margin: .38em 0 .55em; font-size: clamp(1.35rem, 2vw, 1.85rem); font-weight: 550; letter-spacing: -.045em; line-height: 1.08; }
.home-card h3 a, .home-featured h2 a { text-decoration: none; }
.latest-list { border-top: 1px solid var(--rule); }
.home-page .navigation.pagination { margin-top: var(--space-7); }

/* Article/feed rows */
.article-row { display: grid; grid-template-columns: minmax(190px, 280px) minmax(0, 1fr); gap: clamp(24px, 4vw, 52px); align-items: center; padding: 28px 0; border-top: 0; border-bottom: 1px solid var(--rule); }
.article-row-media { aspect-ratio: 3/2; }
.article-row-copy { min-width: 0; }
.article-row h2, .article-row h3 { max-width: 23ch; margin: .28em 0 .25em; font-size: clamp(1.55rem, 2.8vw, 3rem); font-weight: 500; letter-spacing: -.052em; line-height: 1; }
.article-row h3 a { text-decoration: none; }
.article-row p { max-width: 64ch; margin: 0 0 15px; color: var(--muted); font-size: .92rem; line-height: 1.55; }
.article-row > .meta { text-align: left; }
.latest-section .article-row p, .latest-section .article-row .meta { color: var(--muted); }
.home-page .article-row { grid-template-columns: minmax(180px, 240px) minmax(0, 1fr); gap: clamp(28px, 4vw, 52px); padding: var(--space-6) 0; }
.home-page .article-row h2, .home-page .article-row h3 { max-width: 25ch; margin: .28em 0 .25em; font-size: clamp(1.55rem, 2.35vw, 2.5rem); font-weight: 500; letter-spacing: -.052em; line-height: 1.04; }
.home-page .article-row h3 a { text-decoration: none; }
.home-page .article-row p { max-width: 58ch; font-size: .94rem; }

/* Category and generic archives */
.category-page { padding: 0 0 var(--space-9); }
.category-page .archive-head { width: 100%; min-height: 0; padding: 0; background: var(--category-color); color: #fff; }
.archive-head-inner { display: grid; grid-template-columns: minmax(320px, .62fr) minmax(0, 1.38fr); grid-template-rows: auto auto; gap: var(--space-5) clamp(40px, 5vw, 72px); align-items: end; width: calc(100% - (var(--gutter) * 2)); max-width: none; margin: auto; padding: 54px 0 60px; }
.category-page .archive-head .kicker { grid-column: 1/-1; color: #fff; opacity: .82; }
.category-page .archive-head h1 { grid-column: 1; grid-row: 2; margin: 0; color: #fff; font-size: clamp(3.8rem, 7vw, 6.75rem); font-weight: 500; letter-spacing: -.068em; line-height: .88; }
.category-page .archive-summary { grid-column: 2; grid-row: 2; width: 100%; max-width: none; color: #fff; }
.category-page .archive-summary > span { display: block; margin-bottom: var(--space-3); color: inherit; font-size: .82rem; font-weight: 650; letter-spacing: .075em; text-transform: uppercase; opacity: .82; }
.archive-description { width: 100%; max-width: none; font-size: clamp(1rem, 1.2vw, 1.15rem); line-height: 1.6; }
.archive-description p { margin: 0; }
.category-page .archive-featured { padding: 56px 0 72px; background: transparent; }
.category-page .archive-featured > .shell { padding: 0; background: transparent; }
.archive-featured article { display: grid; grid-template-columns: minmax(0, 7fr) minmax(320px, 5fr); gap: clamp(36px, 5vw, 72px); align-items: center; }
.archive-featured-media { aspect-ratio: 16/10; }
.category-page .archive-featured article h2 { max-width: 15ch; margin: .2em 0 .28em; font-size: clamp(2.3rem, 4vw, 4.1rem); font-weight: 500; letter-spacing: -.06em; line-height: .97; }
.archive-featured article p { max-width: 40ch; margin: 0 0 var(--space-4); color: var(--muted); font-size: 1rem; line-height: 1.6; }
.category-page .archive-list, .glossary-page .archive-list, .generic-archive .archive-list { width: min(calc(100% - (var(--gutter) * 2)), var(--wide)); margin: 0 auto; padding: 64px 0 80px; background: transparent; }
.category-page .archive-featured + .archive-list { padding-top: 0; }
.archive-list-head { display: flex; justify-content: space-between; gap: var(--space-4); align-items: baseline; margin-bottom: var(--space-5); }
.archive-list-head h2 { margin: 0; font-size: 1.15rem; font-weight: 650; letter-spacing: -.025em; }
.archive-list-head span { color: var(--muted); font-size: .82rem; }
.archive-list .article-row { grid-template-columns: minmax(180px, 240px) minmax(0, 1fr); gap: clamp(28px, 4vw, 52px); padding: var(--space-6) 0; }
.archive-list .article-row h2, .archive-list .article-row h3 { max-width: 26ch; font-size: clamp(1.55rem, 2.35vw, 2.5rem); line-height: 1.04; }
.archive-list .article-row p { max-width: 58ch; font-size: .94rem; }
.category-page .archive-list .category-label { display: none; }
.navigation.pagination { margin-top: var(--space-7); }
.nav-links { flex-wrap: wrap; }
.page-numbers { min-width: 44px; height: 44px; background: #fff; border: 1px solid var(--rule); }
.page-numbers.current { background: var(--ink); color: #fff; border-color: var(--ink); }

/* Single article: a calm reading hierarchy with visible editorial context. */
.single-article { padding: 0 0 var(--space-8); }
.article-head { width: min(calc(100% - (var(--gutter) * 2)), var(--wide)); padding: clamp(42px, 6vw, 78px) 0 0; }
.article-head-panel { position: static; inset: auto; display: block; width: auto; max-width: 1040px; padding: 0; background: none; color: var(--ink); backdrop-filter: none; }
.article-head-panel .category-label { margin-bottom: var(--space-3); color: var(--category-text-color); }
.article-head h1 { max-width: 17ch; margin: 0; background: none; color: var(--category-text-color); font-size: clamp(2.8rem, 5.6vw, 5.9rem); font-weight: 520; letter-spacing: -.067em; line-height: .94; text-wrap: balance; }
.article-head .article-meta { margin: var(--space-4) 0 var(--space-6); color: var(--muted); font-size: .75rem; font-weight: 600; letter-spacing: .055em; line-height: 1.4; text-transform: uppercase; }
.article-hero-media { position: static; display: block; width: 100%; aspect-ratio: 16/9; overflow: hidden; background: var(--soft); }
.article-hero-media img { position: static; display: block; width: 100%; height: 100%; object-fit: cover; filter: none; }

/* 4.3.1 — static, immediately visible media loading indicator.
   The hourglass is scoped only to media containers and is present before JS runs. */
.preview-media, .article-hero-media, .about-collage { position: relative; }
.preview-media:not(.is-media-loaded)::before,
.article-hero-media:not(.is-media-loaded)::before,
.about-collage:not(.is-media-loaded)::before {
  content: "\231B\FE0E" !important;
  position: absolute;
  z-index: 4;
  top: 50%;
  left: 50%;
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  transform: translate(-50%, -50%);
  color: var(--category-color, var(--accent));
  font-family: system-ui, sans-serif;
  font-size: 1.65rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  text-indent: 0;
  pointer-events: none;
}
.preview-media.is-media-loaded::before,
.article-hero-media.is-media-loaded::before,
.about-collage.is-media-loaded::before { content: none !important; }
.article-caption { width: 100%; max-width: none; margin: 9px 0 0; color: var(--muted); font-size: .76rem; font-style: normal; line-height: 1.5; text-align: left; }
.article-layout { width: min(calc(100% - (var(--gutter) * 2)), 1060px); grid-template-columns: minmax(0, var(--reading)) minmax(230px, 260px); gap: clamp(48px, 7vw, 84px); justify-content: center; }
.article-body, .article-author, .article-toc, .article-glossary { background: transparent; }
.article-body { min-width: 0; padding: var(--space-7) 0 0; }
.article-sidebar { top: 88px; padding-top: var(--space-7); }
.article-author, .article-toc, .article-glossary { padding: var(--space-4) 0; border-top: 1px solid var(--rule); }
.article-toc, .article-glossary { margin-top: var(--space-3); }
.article-author h2, .article-toc strong, .article-glossary h2 { font-size: .75rem; letter-spacing: .075em; }
.article-author-profile { grid-template-columns: 48px minmax(0, 1fr); gap: 13px; margin-top: var(--space-3); align-items: center; }
.article-author-profile img { width: 48px; height: 48px; filter: grayscale(100%) contrast(1.04); }
.article-author-identity { min-width: 0; }
.article-author-role { display: block; margin-top: 2px; color: var(--muted); font-size: .75rem; font-weight: 500; line-height: 1.35; }
.article-author-description { margin: 12px 0 0; color: var(--muted); font-size: .82rem; line-height: 1.55; }
.article-toc ol { margin: var(--space-3) 0 0; }
.article-toc a { padding: 8px 0; color: #4c5157; font-size: .875rem; line-height: 1.42; }
.article-toc li.sub { padding-left: 14px; }
.article-glossary-terms { gap: 6px; margin-top: var(--space-3); }
.article-glossary-terms a { min-height: 38px; padding: 7px 10px; background: #fff; border-color: var(--rule); font-size: .8rem; }
.prose { color: #292c30; font-size: 18px; line-height: 1.76; }
.prose > :first-child { margin-top: 0; }
.prose p { margin: 0 0 1.25em; }
.prose h2 { margin: 1.8em 0 .58em; color: var(--category-text-color); font-size: clamp(1.9rem, 3vw, 2.65rem); font-weight: 650; letter-spacing: -.045em; line-height: 1.08; }
.prose h3 { margin: 1.65em 0 .55em; color: var(--category-text-color); font-size: 1.42rem; font-weight: 650; letter-spacing: -.03em; line-height: 1.2; }
.prose h2, .prose h3 { scroll-margin-top: 96px; }
.prose a { text-decoration-color: var(--category-color); text-decoration-thickness: 2px; text-underline-offset: .18em; }
.prose strong, .prose b { color: var(--category-text-color); font-family: Lora, serif; font-weight: 600; }
.prose blockquote {
  position: relative;
  isolation: isolate;
  overflow: visible;
  margin: 2.7em 0;
  padding: 2.15em 2.2em 2.05em;
  border: 0;
  border-radius: 16px;
  background: color-mix(in srgb, var(--category-color, var(--accent)) 10%, var(--light));
  color: var(--ink);
  font-family: inherit;
  font-size: 1em;
  font-style: normal;
  font-weight: 400;
  line-height: inherit;
}
.prose blockquote::before,
.prose blockquote::after {
  position: absolute;
  z-index: 2;
  color: var(--category-color, var(--accent));
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(6.5rem, 12vw, 9rem);
  font-weight: 700;
  line-height: .72;
  opacity: 1;
  pointer-events: none;
}
.prose blockquote::before { content: '\201C'; top: -.18em; left: -.18em; }
.prose blockquote::after { content: '\201D'; right: -.14em; bottom: -.38em; }
.prose blockquote > :first-child { margin-top: 0; }
.prose blockquote > :last-child { margin-bottom: 0; }
.prose blockquote:empty { display: none !important; }

.prose pre { overflow-x: auto; padding: var(--space-4); background: #e8eae7; }
.prose img { height: auto; }
.prose figure { margin: 2em 0; }
.prose figcaption { margin-top: 8px; color: var(--muted); font-size: .76rem; line-height: 1.5; }
.prose table { display: block; width: 100%; overflow-x: auto; border-collapse: collapse; font-size: .9rem; }
.prose th, .prose td { min-width: 9rem; padding: 10px 12px; border: 1px solid var(--rule); text-align: left; vertical-align: top; }
.article-notes { margin-top: var(--space-8); padding: var(--space-5) 0 0; background: transparent; border: 0; border-top: 1px solid var(--rule); }
.article-notes section + section { margin-top: var(--space-5); }
.article-notes h2 { margin: 0 0 var(--space-3); color: var(--category-text-color); font-family: Manrope, sans-serif; font-size: .75rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.article-notes p { margin: 0 0 .85em; color: #41464c; font-size: .9rem; line-height: 1.6; }
.article-notes details { padding: 14px 0; border-top: 1px solid var(--rule); }
.article-notes summary { cursor: pointer; font-weight: 650; }
.source-link:hover, .source-link:focus-visible { transform: none; }
.share { margin: var(--space-6) 0 var(--space-7); }
.share a, .share button { width: 44px; height: 44px; border-color: var(--rule); }
.share a:hover, .share a:focus-visible, .share button:hover, .share button:focus-visible, .share button.is-copied { background: var(--category-text-color); border-color: var(--category-text-color); color: #fff; transform: none; }
.next-article { margin: 0; padding: var(--space-6) 0 0; border: 0; border-top: 1px solid var(--rule); background: transparent; }
.next-article span { color: var(--category-text-color); font-weight: 650; letter-spacing: .07em; }
.next-article h2 { max-width: 20ch; margin-top: var(--space-3); color: var(--ink); font-size: clamp(1.8rem, 3.1vw, 3rem); font-weight: 550; line-height: 1.02; }
.next-article:hover h2, .next-article:focus-visible h2 { color: var(--category-text-color); }

/* About: personal, editorial, and deliberately free of card-like sections. */
.about-page { padding: 0 0 var(--space-8); }
.about-page > section + section { margin-top: 0; }
.about-hero, .about-portfolio, .about-cta { width: min(calc(100% - (var(--gutter) * 2)), var(--wide)); padding: clamp(48px, 7vw, 88px) 0; background: transparent; }
.about-hero { border: 0; }
.about-kicker { margin-bottom: var(--space-4); color: var(--accent-text-light); font-size: .76rem; }
.about-opening { grid-template-columns: minmax(300px, .82fr) minmax(420px, 1.18fr); gap: clamp(48px, 8vw, 112px); align-items: start; }
.about-opening h1 { max-width: 8.5em; font-size: clamp(3rem, 5.3vw, 5.25rem); font-weight: 520; letter-spacing: -.064em; line-height: .94; }
.about-lead { max-width: 65ch; padding: 5px 0 0; color: #30343a; font-size: clamp(1.04rem, 1.25vw, 1.16rem); line-height: 1.72; }
.about-lead p { margin-bottom: 1.15em; }
.about-collage { margin-top: clamp(40px, 6vw, 72px); aspect-ratio: 16/9; background: var(--soft); }
.about-collage img { width: 100%; height: 100%; object-fit: cover; }
.about-method { grid-template-columns: minmax(150px, 220px) minmax(0, 720px); gap: clamp(44px, 8vw, 104px); justify-content: start; margin-top: clamp(48px, 7vw, 80px); padding-top: 0; border: 0; }
.about-method .about-kicker { margin: 5px 0 0; }
.about-method-copy { max-width: 720px; }
.about-method-copy p, .about-method-copy p:first-child { margin-bottom: 1.2em; color: #30343a; font-size: clamp(1.04rem, 1.25vw, 1.16rem); letter-spacing: 0; line-height: 1.72; }
.about-method-copy p:last-child { margin-bottom: 0; }
.about-portfolio { padding-top: clamp(52px, 7vw, 88px); border: 0; border-top: 1px solid var(--rule); }
.about-portfolio h2, .about-cta h2 { max-width: 14ch; font-size: clamp(2.5rem, 4.4vw, 4.25rem); font-weight: 520; letter-spacing: -.058em; line-height: .96; }
.portfolio-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(20px, 3vw, 42px) clamp(24px, 4vw, 60px); margin-top: clamp(36px, 5vw, 56px); border: 0; }
.portfolio-item { min-height: 84px; padding: 10px 0; border: 0; background: transparent; }
.portfolio-logo-art { width: min(100%, var(--logo-width)); background: var(--muted); }
.portfolio-item:hover .portfolio-logo-art, .portfolio-item:focus-visible .portfolio-logo-art, .portfolio-item:active .portfolio-logo-art { background: var(--ink); }
.about-cta { grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); gap: clamp(44px, 7vw, 88px); align-items: end; padding-top: clamp(48px, 6vw, 72px); border-top: 1px solid var(--rule); }
.about-cta p { max-width: 35ch; margin-bottom: .3em; color: var(--muted); font-size: 1.05rem; line-height: 1.65; }
.about-cta a { color: var(--glossary); font-weight: 600; }

/* Collaboriamo and booking host */
.collab-page { padding: 0 0 var(--space-8); }
.collab-intro, .collab-booking { width: min(calc(100% - (var(--gutter) * 2)), var(--wide)); padding: clamp(48px, 7vw, 84px) 0; background: transparent; }
.collab-kicker { margin-bottom: 0; color: var(--accent-text-light); font-size: .76rem; }
.collab-copy > h1 { max-width: 16ch; margin: 20px 0 28px; font-size: clamp(3rem, 5.2vw, 5.2rem); font-weight: 520; letter-spacing: -.064em; line-height: .95; }
.collab-copy > .collab-lead { max-width: 64ch; color: var(--muted); font-size: clamp(1.05rem, 1.35vw, 1.22rem); line-height: 1.68; }
.collab-primary-action .collab-jump { border-color: var(--accent); background: var(--accent); color: #fff; }
.collab-primary-action .collab-jump:hover, .collab-primary-action .collab-jump:focus-visible { background: var(--ink); border-color: var(--ink); color: #fff; }
.collab-work, .collab-start { margin-top: clamp(64px, 8vw, 96px); padding-top: clamp(36px, 5vw, 56px); border-color: var(--rule); }
.collab-work > h2, .collab-start > h2 { font-size: clamp(2.15rem, 3.5vw, 3.35rem); }
.collab-work > h2 { max-width: none; white-space: nowrap; }
.collab-work-list article { grid-template-columns: minmax(260px, .8fr) minmax(340px, 1.2fr); gap: clamp(40px, 7vw, 88px); padding: 28px 0; border-color: var(--rule); }
.collab-work-list h3 { font-size: clamp(1.4rem, 2vw, 1.9rem); }
.collab-booking { padding-top: clamp(52px, 7vw, 84px); border-top: 1px solid var(--rule); }
.collab-booking-head { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(340px, 1.2fr); gap: clamp(44px, 7vw, 88px); align-items: start; padding-top: 0; border: 0; }
.collab-booking h2 { max-width: 15ch; font-size: clamp(2.4rem, 4.1vw, 4rem); font-weight: 550; letter-spacing: -.055em; line-height: 1.02; }

/* Generic pages and glossary */
.simple-head, .page-head { padding: 64px 0 52px; }
.simple-head h1, .page-head h1, .error-page h1 { max-width: 18ch; margin: var(--space-4) 0 0; font-size: clamp(3rem, 5.5vw, 5.5rem); font-weight: 500; letter-spacing: -.065em; line-height: .94; }
.simple-head .archive-description { max-width: 62ch; margin-top: var(--space-5); color: var(--muted); }
.generic-archive { padding-bottom: var(--space-9); }
.generic-archive .archive-list { padding-top: 0; }
.empty { padding: 64px 0 96px; }
.empty h2 { margin: 0 0 var(--space-3); font-size: clamp(2rem, 4vw, 3.5rem); font-weight: 500; letter-spacing: -.05em; line-height: 1; }
.empty p { margin: 0; color: var(--muted); }
.page-main { padding-bottom: 76px; }
.glossary-page { padding: 0 0 var(--space-9); }
.glossary-page .term-box { width: min(calc(100% - (var(--gutter) * 2)), var(--wide)); padding: 64px 0 0; background: transparent; }
.glossary-page .term-head { max-width: 900px; padding: 0 0 42px; border-bottom: 1px solid var(--rule); }
.glossary-page .term-head .kicker { color: var(--glossary); }
.glossary-page .term-head h1 { max-width: 14ch; margin: var(--space-4) 0 0; font-size: clamp(3.3rem, 6.5vw, 6.5rem); font-weight: 500; letter-spacing: -.068em; line-height: .9; }
.pronunciation { margin: var(--space-4) 0 0; font-size: .9rem; }
.glossary-page .term-content { padding: 48px 0 0; background: transparent; }
.glossary-page .reading { width: min(100%, var(--reading)); margin: 0; }
.term-section + .term-section, .related { margin-top: var(--space-7); }
.glossary-page .reading h2 { margin: 0 0 var(--space-4); color: var(--glossary); font-size: clamp(1.9rem, 3.2vw, 2.8rem); font-weight: 550; letter-spacing: -.045em; line-height: 1.05; }
.term-copy { font-size: 1.05rem; line-height: 1.72; }
.term-copy > :first-child { margin-top: 0; }
.term-copy > :last-child { margin-bottom: 0; }
.related ul { display: flex; flex-wrap: wrap; gap: 10px 20px; margin: 0; padding: 0; list-style: none; }
.related li { margin: 0; }
.related a { display: inline; padding: 0; border: 0; background: transparent; color: var(--glossary); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.glossary-page .archive-list { margin-top: 72px; border-top: 1px solid var(--rule); }
.glossary-page .page-numbers.current { background: var(--glossary); border-color: var(--glossary); }

/* Footer: compact, informational */
.site-footer { padding: 52px 0 24px; background: var(--ink); color: #fff; }
.footer-grid { grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr); gap: clamp(48px, 8vw, 112px); align-items: start; }
.site-footer h2 { max-width: 20ch; font-size: clamp(2rem, 3.15vw, 3.25rem); font-weight: 500; letter-spacing: -.055em; line-height: 1; }
.site-footer h2 em { color: #fff; font-size: inherit; font-style: normal; font-weight: inherit; }
.footer-copy { max-width: 52ch; margin: 16px 0 0; color: #c6cace; font-size: .94rem; line-height: 1.65; }
.footer-links { display: block; }
.footer-menu { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px 28px; margin: 0; padding: 0; list-style: none; }
.footer-menu li { margin: 0; }
.footer-links a { color: #fff; font-size: .84rem; line-height: 1.45; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.disclosure { grid-template-columns: minmax(0,1.35fr) minmax(360px,.85fr); gap: 40px; margin-top: 44px; padding-top: 18px; border-color: #3b3f44; color: #adb2b8; font-size: .75rem; line-height: 1.55; }
.footer-legal { justify-content: flex-end; }
.footer-legal a { text-underline-offset: .2em; }
.site-footer a:focus-visible, .site-footer button:focus-visible { outline-color: var(--light); }

@media (max-width: 960px) {
  :root { --gutter: 20px; }
  .shell { width: min(calc(100% - (var(--gutter) * 2)), var(--wide)); }
  .shell-narrow { width: min(calc(100% - (var(--gutter) * 2)), var(--narrow)); }
  .reading { width: min(calc(100% - (var(--gutter) * 2)), var(--reading)); }
  .home-page .shell, .category-page .archive-list, .glossary-page .archive-list, .about-hero, .about-portfolio, .about-cta, .collab-intro, .collab-booking, .article-head { width: min(calc(100% - (var(--gutter) * 2)), var(--wide)); }
  .home-page .opening { grid-template-columns: 1fr; gap: var(--space-5); }
  .home-featured, .archive-featured article { grid-template-columns: minmax(0,1.15fr) minmax(280px,.85fr); }
  .archive-head-inner { grid-template-columns: 1fr; grid-template-rows: auto auto auto; gap: 20px; padding: 44px 0 48px; }
  .category-page .archive-head h1, .category-page .archive-summary { grid-column: 1; }
  .category-page .archive-head h1 { grid-row: 2; }
  .category-page .archive-summary { grid-row: 3; max-width: 720px; }
  .article-layout { grid-template-columns: minmax(0,760px); }
  .article-sidebar { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding-top: 0; }
  .article-author, .article-toc, .article-glossary { margin: 0; }
  .article-toc button { display: none; }
  .article-toc ol { display: block; }
  .about-opening, .about-cta { grid-template-columns: 1fr; }
  .footer-grid { gap: 48px; }
  .disclosure { grid-template-columns: minmax(0,1fr) minmax(320px,.8fr); }
}

@media (max-width: 720px) {
  :root { --gutter: 16px; }
  body { font-size: 16px; }
  .shell { width: min(calc(100% - (var(--gutter) * 2)), var(--wide)); }
  .shell-narrow { width: min(calc(100% - (var(--gutter) * 2)), var(--narrow)); }
  .reading { width: min(calc(100% - (var(--gutter) * 2)), var(--reading)); }
  .admin-bar .masthead { top: 46px; }
  .masthead-inner { height: 60px; }
  .wordmark { font-size: 1rem; }
  .menu-toggle { min-height: 44px; padding: 0 0 0 16px !important; font-size: .82rem !important; }
  .mobile-menu { max-height: calc(100dvh - 60px); overflow: auto; padding: 10px 0 20px; }
  .mobile-menu a { padding: 14px 0; border-bottom: 1px solid var(--rule); font-size: 1rem; font-weight: 550; }
  .mobile-menu .current-menu-item > a, .mobile-menu .current-cat > a { color: var(--accent-text-light); font-weight: 700; }
  .mobile-menu-actions { border-top: 0; }
  .mobile-menu-actions .collab { display: inline-flex; }
  .home-page, .category-page, .glossary-page, .about-page, .collab-page { padding: 0 0 56px; }
  .home-page .shell, .category-page .archive-list, .glossary-page .archive-list, .about-hero, .about-portfolio, .about-cta, .collab-intro, .collab-booking, .article-head { width: calc(100% - (var(--gutter) * 2)); }
  .home-page .opening { width: calc(100% - (var(--gutter) * 2)); gap: var(--space-4); padding: 38px 0 46px; }
  .statement { font-size: clamp(2.1rem, 10vw, 3rem); line-height: .98; }
  .opening-note { max-width: 35ch; font-size: 1rem; line-height: 1.55; }
  .home-page .featured-section { padding: 0 0 56px; }
  .home-featured, .archive-featured article { grid-template-columns: 1fr; gap: 20px; }
  .featured-media { aspect-ratio: 3/2; }
  .home-featured h2 { font-size: clamp(2rem, 9.5vw, 2.8rem); }
  .home-featured p { display: block; font-size: 1rem; }
  .home-page .latest-section { padding-top: 46px; }
  .home-page .latest-section > .shell { padding: 0 0 48px; }
  .home-grid { grid-template-columns: 1fr; gap: 24px; margin-bottom: 48px; }
  .home-card { display: grid; grid-template-columns: minmax(116px, 38vw) minmax(0, 1fr); gap: 16px; align-items: start; }
  .home-card-media { aspect-ratio: 3/2; margin: 0; }
  .home-card h3 { margin: .25em 0 .55em; font-size: clamp(1.12rem, 5vw, 1.4rem); line-height: 1.08; }
  .home-card .category-label { font-size: .875rem; }
  .home-card .meta { font-size: .75rem; }
  .home-page .article-row { grid-template-columns: minmax(116px, 38vw) minmax(0,1fr); gap: 16px; align-items: start; padding: 20px 0; }
  .home-page .article-row h2, .home-page .article-row h3 { margin: .2em 0 .45em; font-size: clamp(1.12rem, 5vw, 1.55rem); line-height: 1.05; }
  .home-page .article-row p { display: none; }
  .home-page .article-row .category-label { font-size: .875rem; }
  .home-page .article-row .meta { font-size: .75rem; }
  .archive-head-inner { width: calc(100% - (var(--gutter) * 2)); gap: 16px; padding: 36px 0 42px; }
  .category-page .archive-head h1 { font-size: clamp(3.1rem, 15vw, 4.75rem); }
  .category-page .archive-summary > span { font-size: .875rem; }
  .archive-description { font-size: 1rem; }
  .category-page .archive-featured { padding: 36px 0 54px; }
  .category-page .archive-featured > .shell { width: calc(100% - (var(--gutter) * 2)); }
  .archive-featured-media { aspect-ratio: 3/2; }
  .category-page .archive-featured article h2 { font-size: clamp(2rem, 9.5vw, 2.8rem); }
  .category-page .archive-list, .glossary-page .archive-list, .generic-archive .archive-list { width: calc(100% - (var(--gutter) * 2)); padding: 48px 0 64px; }
  .category-page .archive-featured + .archive-list { padding-top: 0; }
  .archive-list .article-row { grid-template-columns: minmax(116px, 38vw) minmax(0,1fr); gap: 16px; align-items: start; padding: 20px 0; }
  .archive-list .article-row h2, .archive-list .article-row h3 { margin: .2em 0 .45em; font-size: clamp(1.12rem, 5vw, 1.55rem); line-height: 1.05; }
  .archive-list .article-row p { display: none; }
  .archive-list .article-row .category-label { font-size: .875rem; }
  .archive-list .article-row .meta { font-size: .75rem; }
  .simple-head, .page-head { padding: 42px 0 38px; }
  .simple-head h1, .page-head h1, .error-page h1 { font-size: clamp(2.5rem, 12vw, 3.8rem); line-height: .96; }
  .glossary-page .term-box { width: calc(100% - (var(--gutter) * 2)); padding-top: 42px; }
  .glossary-page .term-head { padding-bottom: 32px; }
  .glossary-page .term-head h1 { font-size: clamp(3rem, 14vw, 4.5rem); }
  .glossary-page .term-content { padding-top: 36px; }
  .term-copy { font-size: 1rem; line-height: 1.7; }
  .glossary-page .archive-list { margin-top: 54px; }
  .archive-list .empty { width: 100%; padding: 32px 0 0; }
  .article-head { padding: 34px 0 0; }
  .article-head h1 { margin: 0; font-size: clamp(2.45rem, 12.2vw, 4.15rem); letter-spacing: -.06em; line-height: .95; }
  .article-head .article-meta { margin: 18px 0 24px; font-size: .75rem; }
  .article-hero-media { display: block; aspect-ratio: 3/2; }
  .article-caption { display: block; }
  .article-layout { width: calc(100% - (var(--gutter) * 2)); }
  .article-body { padding: var(--space-5) 0 0; }
  .prose { font-size: 17px; line-height: 1.74; }
  .prose h2 { margin-top: 1.65em; font-size: 1.9rem; }
  .prose h3 { font-size: 1.35rem; }
  .article-sidebar { grid-template-columns: 1fr; }
  .article-sidebar .article-toc { display: none; }
  .mobile-toc-slot { display: block; padding-top: var(--space-5); }
  .mobile-toc-slot:empty { display: none; }
  .mobile-toc-slot .article-toc { display: block; margin: 0; padding: var(--space-4) 0; }
  .mobile-toc-slot .article-toc button { display: block; min-height: 44px; padding: 0; }
  .mobile-toc-slot .article-toc ol { display: none; }
  .mobile-toc-slot .article-toc.open ol { display: block; }
  .article-author, .article-glossary { padding: var(--space-4) 0; }
  .article-notes { padding: var(--space-5) 0 0; }
  .next-article { padding: var(--space-6) 0 0; }
  .about-hero, .about-portfolio, .about-cta { padding: 36px 0; }
  .about-opening { gap: 24px; }
  .about-opening h1 { max-width: 9em; font-size: clamp(2.55rem, 12vw, 3.8rem); line-height: .96; }
  .about-lead, .about-method-copy p, .about-method-copy p:first-child { font-size: 1rem; line-height: 1.68; }
  .about-collage { margin-top: 32px; aspect-ratio: 16/9; }
  .about-method { grid-template-columns: 1fr; gap: 16px; margin-top: 42px; padding-top: 0; }
  .about-method .about-kicker { margin: 0; }
  .about-portfolio { padding-top: 48px; }
  .about-portfolio h2, .about-cta h2 { font-size: clamp(2.35rem, 11vw, 3.4rem); }
  .portfolio-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 24px; margin-top: 30px; }
  .portfolio-item { min-height: 74px; padding: 8px 0; }
  .about-cta { gap: 22px; padding-top: 44px; }
  .about-cta p { font-size: 1rem; }
  .collab-intro, .collab-booking { padding: 36px 0; }
  .collab-copy > h1 { font-size: clamp(2.5rem, 12.5vw, 4rem); }
  .collab-work-list article, .collab-start { grid-template-columns: 1fr; gap: 14px; }
  .collab-work > h2 { white-space: normal; }
  .collab-booking-head { grid-template-columns: 1fr; gap: 18px; }
  .footer-grid, .disclosure { grid-template-columns: 1fr; gap: 28px; }
  .site-footer { padding: 40px 0 20px; }
  .site-footer h2 { font-size: clamp(1.9rem, 9vw, 2.65rem); }
  .footer-copy { font-size: .9rem; }
  .footer-links { border-top: 1px solid #3b3f44; padding-top: 22px; }
  .footer-links a { min-height: 40px; display: inline-flex; align-items: center; font-size: .88rem; }
  .disclosure { margin-top: 30px; font-size: .75rem; }
  .footer-legal { justify-content: flex-start; }
}

@media (max-width: 390px) {
  .home-card, .home-page .article-row { grid-template-columns: 108px minmax(0,1fr); gap: 13px; }
  .home-card h3, .home-page .article-row h2, .home-page .article-row h3 { font-size: 1.08rem; }
  .portfolio-grid { grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}

@supports (content-visibility: auto) {
  .latest-list .article-row:nth-child(n + 5),
  .archive-list .article-row:nth-child(n + 5) {
    content-visibility: auto;
    contain-intrinsic-size: 260px;
  }
}

/* 4.2.6 — simplified header and complete mobile topic menu */
.desktop-about { color: var(--ink) !important; }
.menu-toggle { width: 44px; height: 44px; padding: 0 !important; align-items: center; justify-content: center; }
.menu-toggle-icon { position: relative; display: block; width: 24px; height: 18px; }
.menu-toggle-icon i { position: absolute; left: 0; width: 24px; height: 2px; background: currentColor; transform-origin: center; }
.menu-toggle-icon i:nth-child(1) { top: 1px; }
.menu-toggle-icon i:nth-child(2) { top: 8px; }
.menu-toggle-icon i:nth-child(3) { top: 15px; }
.menu-toggle[aria-expanded="true"] .menu-toggle-icon i:nth-child(1) { top: 8px; transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle-icon i:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] .menu-toggle-icon i:nth-child(3) { top: 8px; transform: rotate(-45deg); }
.mobile-menu-inner { padding-top: 8px; padding-bottom: 18px; }
.mobile-menu-heading { margin: 28px 0 8px; color: var(--muted); font-size: .75rem; font-weight: 650; letter-spacing: .09em; text-transform: uppercase; }
.mobile-primary-links, .mobile-topics ul { margin: 0; padding: 0; list-style: none; }
.mobile-topics li:last-child a { border-bottom: 0; }

@media (min-width: 961px) {
  .menu-toggle { display: none !important; }
}

@media (max-width: 960px) {
  .masthead-inner { grid-template-columns: 1fr auto; }
  .sections, .desktop-about, .desktop-collab { display: none !important; }
  .tools { display: flex; justify-content: flex-end; }
  .menu-toggle { display: inline-flex; }
  .mobile-menu { padding: 0; }
  .mobile-menu a { display: block; padding: 14px 0; border-bottom: 1px solid var(--rule); font-size: 1rem; font-weight: 550; text-decoration: none; }
  .mobile-primary-links a { font-size: 1.15rem; font-weight: 650; }
}

/* 4.2.7 — blockquote, booking alignment, mobile category cleanup */
@media (min-width: 701px) {
  .collab-booking-head { display: grid !important; grid-template-columns: minmax(260px,.8fr) minmax(340px,1.2fr) !important; grid-template-areas: 'title copy'; align-items: start !important; }
  .collab-booking-head > h2 { grid-area: title !important; margin: 0 !important; justify-self: start !important; }
  .collab-booking-head > .collab-booking-copy { grid-area: copy !important; margin: 0 !important; justify-self: stretch !important; align-self: start !important; }
}

/* 4.2.8 — dedicated media loader and 404 copy refresh */


/* 4.3.0 — category hero full-width fix
 * main.css leaves .archive-head as a two-column grid. The inner wrapper was
 * therefore being auto-placed in the first (7fr) column, constraining the
 * entire redesigned hero. Reset the outer header and let .archive-head-inner
 * own the desktop grid. */
.category-page .archive-head {
  display: block;
  grid-template-columns: none;
  grid-template-rows: none;
}
.category-page .archive-head-inner {
  width: calc(100% - (var(--gutter) * 2));
  max-width: none;
}


/* 4.3.2 — neutral paper, rounded media, author link, desktop page-link motion, mobile sticky TOC */
img { border-radius: 16px; }
.article-author-profile img { border-radius: 50%; }
.article-author-link { color: var(--ink); text-decoration: none; }
.article-author-link:hover,
.article-author-link:focus-visible { color: var(--category-text-color, var(--accent)); }

.site-footer a,
.site-footer a:hover,
.site-footer a:focus-visible { text-decoration: none !important; }

@media (min-width: 721px) {
  .about-page { --accent: var(--ink); --accent-text-light: var(--ink); }
  .collab-page { --accent: var(--ink); --accent-text-light: var(--ink); }

  .about-page .about-lead a,
  .about-page .about-method-copy a,
  .about-page .about-cta a,
  .collab-page .collab-lead a,
  .collab-page .collab-work-list a,
  .collab-page .collab-booking-copy a {
    color: var(--ink);
    text-decoration: none;
    background-image: linear-gradient(var(--ink), var(--ink));
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 2px;
    transition: color 180ms ease, background-size 220ms ease !important;
  }
  .about-page .about-lead a:hover,
  .about-page .about-lead a:focus-visible,
  .about-page .about-method-copy a:hover,
  .about-page .about-method-copy a:focus-visible,
  .about-page .about-cta a:hover,
  .about-page .about-cta a:focus-visible,
  .collab-page .collab-lead a:hover,
  .collab-page .collab-lead a:focus-visible,
  .collab-page .collab-work-list a:hover,
  .collab-page .collab-work-list a:focus-visible,
  .collab-page .collab-booking-copy a:hover,
  .collab-page .collab-booking-copy a:focus-visible {
    color: var(--ink);
    background-size: 100% 2px;
  }
}

@media (max-width: 720px) {
  .mobile-toc-slot {
    position: sticky;
    z-index: 30;
    top: 68px;
    padding-top: 0;
    background: var(--paper);
    border-bottom: 1px solid var(--rule);
  }
  .admin-bar .mobile-toc-slot { top: 114px; }
  .mobile-toc-slot .article-toc {
    margin: 0;
    padding: 0;
    border-top: 0;
    background: var(--paper);
  }
  .mobile-toc-slot .article-toc > div {
    min-height: 48px;
    align-items: center;
  }
  .mobile-toc-slot .article-toc button {
    display: grid;
    min-width: 44px;
    min-height: 44px;
    place-items: center;
    padding: 0;
    color: var(--category-text-color, var(--accent));
    font-size: 1.15rem;
    line-height: 1;
  }
  .mobile-toc-slot .article-toc ol {
    max-height: min(52vh, 420px);
    overflow-y: auto;
    margin: 0;
    padding: 4px 0 14px;
  }
}


/* 4.3.3 — media loading indicator: keep it perceptible even for cached media. */
.preview-media:not(.is-media-loaded)::before,
.article-hero-media:not(.is-media-loaded)::before,
.about-collage:not(.is-media-loaded)::before {
  visibility: visible !important;
  opacity: 1 !important;
}


/* 4.3.4 — media surfaces, consent embed loader, navigation motion, compact article hero, back to top */
:where(.preview-media,.featured-media,.home-card-media,.article-row-media,.archive-featured-media,.article-hero-media,.about-collage) {
  border-radius: 16px;
  background: transparent !important;
  overflow: hidden;
}
:where(.preview-media,.featured-media,.home-card-media,.article-row-media,.archive-featured-media,.article-hero-media,.about-collage) img {
  border-radius: inherit;
}
/* The old image loader is intentionally disabled: loading feedback belongs only to consented embeds. */
.preview-media::before,
.article-hero-media::before,
.about-collage::before { content: none !important; display: none !important; }

.prose figure,
.prose .wp-caption { background: transparent; }
.prose img { border-radius: 16px; }

.embed-loading-host { position: relative !important; min-height: 120px; }
.embed-loading-host .embed-loader {
  position: absolute;
  z-index: 8;
  inset: 0;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: color-mix(in srgb, var(--category-color, var(--accent)) 7%, var(--paper));
  color: var(--category-color, var(--accent));
  pointer-events: none;
  opacity: 1;
  transition: opacity 180ms ease;
}
.embed-loading-host.is-embed-loaded .embed-loader { opacity: 0; }
.embed-loader svg { width: 34px; height: 34px; }

@media (min-width: 961px) {
  .desktop-about,
  .desktop-collab {
    position: relative;
    color: var(--ink) !important;
  }
  .desktop-about::after,
  .desktop-collab::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2px;
    background: var(--ink);
    content: "";
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 220ms ease;
  }
  .desktop-about:hover::after,
  .desktop-about:focus-visible::after,
  .desktop-collab:hover::after,
  .desktop-collab:focus-visible::after { transform: scaleX(1); }

  .single-article .article-head { padding-top: 32px; }
  .single-article .article-head-panel { max-width: 960px; }
  .single-article .article-head h1 {
    max-width: 18ch;
    font-size: clamp(2.8rem, 4.55vw, 4.8rem);
    line-height: .96;
  }
  .single-article .article-head .article-meta { margin: 18px 0 28px; }
  .single-article .article-hero-media {
    height: clamp(340px, 36vw, 520px);
    aspect-ratio: auto;
  }
}

.back-to-top {
  position: fixed;
  z-index: 45;
  right: clamp(16px, 2vw, 28px);
  bottom: clamp(16px, 2vw, 28px);
  display: grid;
  width: 48px;
  height: 48px;
  min-height: 0;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: var(--category-color, var(--accent));
  color: #fff;
  box-shadow: 0 8px 24px rgba(23,25,28,.18);
  font: inherit;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity 180ms ease, transform 180ms ease, background-color 180ms ease;
}
.back-to-top.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.back-to-top:hover { background: var(--ink); }
.back-to-top:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }

@media (max-width: 720px) {
  .mobile-toc-slot { top: 60px; }
  .admin-bar .mobile-toc-slot { top: 106px; }
  .back-to-top { width: 44px; height: 44px; right: 14px; bottom: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .back-to-top,
  .desktop-about::after,
  .desktop-collab::after,
  .embed-loading-host .embed-loader { transition: none; }
}

/* 4.3.5 — desktop article hero fits category, H1, meta and the complete featured
   image within the first viewport when geometry allows it. The image keeps its
   intrinsic ratio: no aspect-ratio forcing and no crop. */
@media (min-width: 961px) {
  .single-article .article-head {
    padding-top: clamp(18px, 2.4vh, 30px);
  }

  .single-article .article-head-panel {
    max-width: 960px;
  }

  .single-article .article-head h1 {
    max-width: 18ch;
    font-size: clamp(2.45rem, min(4.25vw, 6.7vh), 4.65rem);
    line-height: .95;
  }

  .single-article .article-head .article-meta {
    margin: clamp(10px, 1.6vh, 16px) 0 clamp(14px, 2vh, 22px);
  }

  .single-article .article-hero-media {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    overflow: visible;
    background: transparent;
  }

  .single-article .article-hero-media img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: var(--article-hero-max-height, none);
    object-fit: contain;
    object-position: left top;
  }
}

/* 4.3.6 — Home: clearer editorial sequence and content-led section heights. */
.home-page { padding-bottom: 0; }
.home-page .opening {
  grid-template-columns: minmax(0, 1.65fr) minmax(250px, .55fr);
  align-items: end;
  padding-top: clamp(52px, 6vw, 82px);
  padding-bottom: clamp(42px, 5vw, 64px);
}
.home-page .statement { max-width: 20ch; }
.home-page .featured-section { padding-bottom: clamp(64px, 7vw, 88px); }
.home-page .featured-section .editorial-label { margin-bottom: clamp(22px, 2.5vw, 32px); }
.home-page .latest-section {
  padding: clamp(56px, 6vw, 76px) 0;
  background: var(--light);
}
.home-page .latest-section > .shell { padding-bottom: 0; }
.home-page .latest-section .editorial-label { margin-bottom: clamp(26px, 3vw, 38px); }
.home-page .home-grid {
  align-items: start;
  margin-bottom: 0;
}
.home-page .home-grid + .latest-list { margin-top: var(--space-7); }
.home-page .home-card { align-self: start; }
.home-page .latest-list:last-child { margin-bottom: 0; }

.home-topics {
  padding: clamp(58px, 7vw, 92px) 0 clamp(70px, 8vw, 108px);
  background: var(--paper);
}
.home-topics .editorial-label { margin-bottom: clamp(26px, 3vw, 38px); }
.home-topics-nav {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(12px, 1.7vw, 24px) clamp(24px, 3.6vw, 52px);
  align-items: baseline;
}
.home-topics-nav a {
  position: relative;
  display: inline-block;
  color: var(--ink);
  font-size: clamp(2rem, 4.2vw, 4.5rem);
  font-weight: 500;
  letter-spacing: -.055em;
  line-height: 1;
  text-decoration: none;
}
.home-topics-nav a::after {
  position: absolute;
  right: 0;
  bottom: -.12em;
  left: 0;
  height: 3px;
  background: var(--topic-accent, var(--accent));
  content: "";
  transform: scaleX(0);
  transform-origin: left;
}
.home-topics-nav a:hover,
.home-topics-nav a:focus-visible { color: var(--topic-accent, var(--accent)); }
.home-topics-nav a:hover::after,
.home-topics-nav a:focus-visible::after { transform: scaleX(1); }

@media (max-width: 720px) {
  .home-page .opening { padding-top: 38px; padding-bottom: 38px; }
  .home-page .featured-section { padding-bottom: 54px; }
  .home-page .latest-section { padding: 48px 0 54px; }
  .home-topics { padding: 50px 0 66px; }
  .home-topics-nav { gap: 16px 28px; }
  .home-topics-nav a { font-size: clamp(1.8rem, 10vw, 3rem); }
}

/* 4.3.7 — Home: compact manifesto, unified featured card, no redundant metadata. */
.home-page .opening {
  min-height: 0;
  grid-template-columns: minmax(0, 1.45fr) minmax(220px, .55fr);
  align-items: end;
  gap: clamp(36px, 6vw, 88px);
  padding-top: clamp(34px, 4vw, 52px);
  padding-bottom: clamp(34px, 4vw, 52px);
}
.home-page .statement {
  max-width: 18ch;
  margin: 0;
  font-size: clamp(2.7rem, 4.8vw, 5.2rem);
  line-height: .94;
  letter-spacing: -.06em;
}
.home-page .opening-note {
  max-width: 30ch;
  margin-bottom: .15em;
}
.home-page .featured-section {
  padding-top: clamp(34px, 4vw, 50px);
  padding-bottom: clamp(48px, 5.5vw, 72px);
}
.home-page .home-featured {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  gap: 0;
  overflow: hidden;
  border-radius: var(--radius, 16px);
  background: var(--paper);
}
.home-page .featured-media {
  min-height: 100%;
  border-radius: 0;
}
.home-page .featured-media img {
  width: 100%;
  height: 100%;
  min-height: 100%;
  border-radius: 0;
  object-fit: cover;
}
.home-page .home-featured-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(30px, 4vw, 56px);
}
.home-page .home-featured h2 {
  margin: 0;
  font-size: clamp(2.35rem, 3.6vw, 4.35rem);
  line-height: .96;
}
.home-page .home-featured p {
  max-width: 38ch;
  margin: clamp(20px, 2.2vw, 28px) 0 0;
}
.home-page .home-card-copy { padding-top: 14px; }
.home-page .home-card-copy h3 { margin-top: 0; }
.home-page .home-latest-row .article-row-copy > p { margin-bottom: 0; }
.home-page .home-card .category-label,
.home-page .home-card .meta,
.home-page .home-featured .category-label,
.home-page .home-featured .meta,
.home-page .home-latest-row .category-label,
.home-page .home-latest-row .meta { display: none !important; }
.home-topics { display: none !important; }

@media (max-width: 820px) {
  .home-page .opening {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .home-page .statement { max-width: 16ch; font-size: clamp(2.45rem, 10vw, 4.6rem); }
  .home-page .opening-note { max-width: 34ch; }
  .home-page .home-featured { grid-template-columns: 1fr; }
  .home-page .featured-media img { height: auto; min-height: 0; object-fit: contain; }
  .home-page .home-featured-copy { padding: 26px 24px 30px; }
}

/* 4.6.3 — priorità dell'header e uscita contestuale del Sommario mobile. */
@media (max-width: 720px) {
  .masthead { z-index: 50; }
  .single-article .mobile-toc-slot {
    z-index: 20;
    transition: opacity 180ms ease, transform 180ms ease, visibility 180ms;
  }
  .single-article .mobile-toc-slot.is-after-share {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-10px);
  }
  .mobile-menu-open .single-article .mobile-toc-slot { z-index: 20; }
}

/* 4.6.3 — Collaboriamo adotta il sistema di box editoriali del sito. */
.collab-page .collab-primary-action .collab-jump {
  min-height: 50px;
  padding: 13px 22px;
  border-radius: 12px;
  background: var(--ink);
  color: #fff;
}
.collab-page .collab-work,
.collab-page .collab-start,
.collab-page .collab-booking {
  border-top: 0;
}
.collab-page .collab-work-list {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
}
.collab-page .collab-work-list article {
  display: block;
  min-width: 0;
  padding: clamp(24px,3vw,34px);
  border: 1px solid var(--rule);
  border-radius: 16px;
  background: var(--light);
}
.collab-page .collab-work-list h3 {
  max-width: none;
  margin-bottom: 18px;
}
.collab-page .collab-start {
  padding: clamp(28px,4vw,42px);
  border: 1px solid var(--rule);
  border-radius: 16px;
  background: var(--light);
}
.collab-page .collab-booking {
  margin-top: clamp(54px,7vw,84px);
  padding: clamp(32px,5vw,52px);
  border: 1px solid var(--rule);
  border-radius: 16px;
  background: var(--light);
}
@media (max-width: 900px) {
  .collab-page .collab-work-list { grid-template-columns: 1fr; }
  .collab-page .collab-work-list article { padding: 24px; }
}
@media (max-width: 700px) {
  .collab-page .collab-booking { padding: 28px 20px; }
  .collab-page .collab-start { padding: 24px 20px; }
  .collab-page .collab-primary-action .collab-jump { width: 100%; justify-content: center; }
}

/* 4.3.9 — Home manifesto separated from editorial feed; desktop article starts in two columns. */
.home-page .home-manifesto {
  background: var(--paper);
  border-bottom: 1px solid var(--rule);
}
.home-page .home-manifesto .opening {
  padding-top: clamp(32px, 4vw, 54px);
  padding-bottom: clamp(34px, 4.5vw, 60px);
}
.home-page .home-manifesto .statement {
  max-width: 17ch;
  font-size: clamp(2.45rem, 4.25vw, 4.65rem);
  line-height: .95;
}
.home-page .featured-section {
  padding-top: clamp(54px, 6vw, 78px);
  background: var(--light);
}
.home-page .home-featured {
  border: 1px solid var(--rule);
  background: var(--paper);
  box-shadow: none;
}
.home-page .featured-media,
.home-page .featured-media img {
  border-radius: 0 !important;
}
.home-page .latest-section {
  border-top: 1px solid var(--rule);
}

@media (min-width: 961px) {
  .single-article .single-desktop-grid {
    display: grid;
    width: min(calc(100% - (var(--gutter) * 2)), var(--wide));
    grid-template-columns: minmax(0, 3fr) minmax(250px, 1fr);
    gap: clamp(42px, 5.5vw, 76px);
    align-items: start;
    padding-top: clamp(28px, 3.5vw, 46px);
  }
  .single-article .article-main { min-width: 0; }
  .single-article .article-head {
    width: 100%;
    padding: 0;
  }
  .single-article .article-head-panel { max-width: 100%; }
  .single-article .article-head h1 {
    max-width: 16ch;
    font-size: clamp(2.55rem, 4vw, 4.4rem);
  }
  .single-article .article-hero-media {
    width: 100%;
    height: auto;
    margin: 0;
    overflow: hidden;
    border-radius: 16px;
  }
  .single-article .article-hero-media img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: none !important;
    object-fit: contain;
    border-radius: 16px;
  }
  .single-article .article-caption { width: 100%; }
  .single-article .article-body {
    width: min(100%, var(--reading));
    padding-top: var(--space-7);
  }
  .single-article .article-sidebar {
    display: block;
    position: static;
    top: auto;
    padding-top: 0;
  }
  .single-article .article-author {
    padding-top: 0;
    border-top: 0;
  }
  .single-article .article-sidebar-sticky {
    position: sticky;
    top: 92px;
    margin-top: var(--space-4);
  }
  .admin-bar .single-article .article-sidebar-sticky { top: 124px; }
  .single-article .article-toc,
  .single-article .article-glossary { margin-top: var(--space-3); }
}

@media (max-width: 960px) {
  .single-article .single-desktop-grid {
    display: block;
    width: calc(100% - (var(--gutter) * 2));
    padding-top: 0;
  }
  .single-article .article-head { width: 100%; }
  .single-article .article-sidebar-sticky { position: static; }
}

@media (max-width: 720px) {
  .home-page .home-manifesto .opening {
    padding-top: 30px;
    padding-bottom: 34px;
  }
  .home-page .home-manifesto .statement {
    font-size: clamp(2.25rem, 9.5vw, 3.8rem);
  }
  .home-page .featured-section { padding-top: 46px; }
}

/* 4.4.0 — Separate latest articles with manifesto paper tone; keep full desktop article sidebar sticky. */
.home-page .latest-section {
  background: var(--paper);
}

@media (min-width: 961px) {
  .single-article .article-sidebar {
    position: sticky;
    top: 92px;
    align-self: start;
  }
  .admin-bar .single-article .article-sidebar { top: 124px; }
  .single-article .article-sidebar-sticky {
    position: static;
    top: auto;
  }
}

/* 4.4.1 — Align sticky article sidebar flush beneath the fixed header to avoid the small vertical jump. */
@media (min-width: 961px) {
  .single-article .article-sidebar {
    top: 62px;
  }
  .admin-bar .single-article .article-sidebar {
    top: 94px;
  }
}

/* 4.4.2 — Mobile TOC spans the full viewport while keeping its contents aligned to the article gutter. */
@media (max-width: 720px) {
  .single-article .mobile-toc-slot {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
  .single-article .mobile-toc-slot .article-toc {
    width: 100%;
    max-width: none;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
    box-sizing: border-box;
  }
}

/* 4.4.3 — Exact sticky offset: sidebar locks to the true bottom edge of the desktop masthead with no jump or overlap. */
@media (min-width: 961px) {
  .single-article .article-sidebar {
    top: 68px;
  }
  .admin-bar .single-article .article-sidebar {
    top: 100px;
  }
}

/* 4.4.4 — More breathing room for the desktop article sidebar. */
@media (min-width: 961px) {
  .single-article .article-sidebar {
    top: 68px;
    padding-top: 28px;
    box-sizing: border-box;
  }
  .admin-bar .single-article .article-sidebar {
    top: 100px;
  }
}

/* 4.4.8 — box aggiornamento editoriale */
.single-article .article-updates {
  display: grid;
  gap: 14px;
  margin: 0 0 clamp(28px, 3.2vw, 38px);
}
.single-article .article-update {
  position: relative;
  display: block;
  width: 100%;
  box-sizing: border-box;
  isolation: isolate;
  overflow: visible;
  margin: 0;
  padding: clamp(34px, 3.3vw, 42px) clamp(22px, 3vw, 30px) clamp(22px, 2.8vw, 30px);
  border: 0;
  border-radius: 16px;
  background-color: var(--update-accent, var(--category-color, #17191c)) !important;
  color: #fff !important;
}
.single-article .article-update::before {
  content: "!";
  position: absolute;
  z-index: 2;
  top: -21px;
  left: clamp(20px, 3vw, 30px);
  display: grid;
  place-items: end center;
  width: 48px;
  height: 44px;
  box-sizing: border-box;
  padding-bottom: 6px;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  background: #fff;
  color: var(--update-accent, var(--category-color, #17191c));
  font: 800 1.18rem/1 Manrope, system-ui, sans-serif;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,.12));
  pointer-events: none;
}
.single-article .article-update-heading {
  margin: 0 0 10px;
  color: #fff !important;
  font: 650 clamp(.9rem, 1.1vw, 1rem)/1.35 Manrope, system-ui, sans-serif;
}
.single-article .article-update-date {
  font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .96em;
  font-weight: 600;
  letter-spacing: .015em;
}
.single-article .article-update-description {
  max-width: 68ch;
  margin: 0;
  color: #fff !important;
  font: 500 clamp(1rem, 1.2vw, 1.08rem)/1.58 Manrope, system-ui, sans-serif;
}
@media (max-width: 720px) {
  .single-article .article-updates { margin-bottom: 28px; }
  .single-article .article-update { padding: 32px 18px 20px; }
  .single-article .article-update::before {
    top: -18px;
    left: 18px;
    width: 42px;
    height: 39px;
    font-size: 1.05rem;
  }
}


/* 4.4.9 — spacing del box aggiornamento */
.single-article .article-updates {
  margin-top: 24px;
  margin-bottom: 22px;
}
.single-article .article-updates + .article-body {
  padding-top: 0;
}
@media (max-width: 720px) {
  .single-article .article-updates {
    margin-top: 22px;
    margin-bottom: 20px;
  }
}

/* 4.5.0 — Tighten desktop article columns: reduce the dead zone between copy and sidebar. */
@media (min-width: 961px) {
  .single-article .single-desktop-grid {
    width: min(calc(100% - (var(--gutter) * 2)), 1120px);
    grid-template-columns: minmax(0, 800px) minmax(260px, 292px);
    gap: 28px;
    justify-content: center;
  }
}

/* 4.5.1 — aggiornamento: box a misura di contenuto, non a tutta colonna. */
.single-article .article-updates {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.single-article .article-update {
  width: auto;
  max-width: min(100%, 72ch);
}
.single-article .article-update-description {
  max-width: none;
}
@media (max-width: 720px) {
  .single-article .article-update {
    width: 100%;
    max-width: 100%;
  }
}

/* 4.5.6 — Complianz media embeds aligned with editorial quote/update language. */
.single-article .prose .cmplz-blocked-content-container {
  position: relative;
  isolation: isolate;
  overflow: visible !important;
  box-sizing: border-box;
  width: 100%;
  margin: 2.7em 0;
  padding: clamp(30px, 3.2vw, 38px) clamp(22px, 3vw, 30px) clamp(22px, 2.8vw, 30px) !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: color-mix(in srgb, var(--category-color, var(--accent)) 10%, var(--light)) !important;
  color: var(--ink) !important;
  box-shadow: none !important;
}

/* Accent media marker: same visual role as quote marks and update warning. */
.single-article .prose .cmplz-blocked-content-container::before {
  content: "▶";
  position: absolute;
  z-index: 3;
  top: -22px;
  left: clamp(20px, 3vw, 30px);
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--category-color, var(--accent));
  color: #fff;
  font: 700 1rem/1 Manrope, system-ui, sans-serif;
  text-indent: 2px;
  box-shadow: 0 6px 14px rgba(0,0,0,.10);
  pointer-events: none;
}

.single-article .prose .cmplz-blocked-content-container .cmplz-blocked-content-notice {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px 22px !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ink) !important;
  box-shadow: none !important;
  text-align: left !important;
}

.single-article .prose .cmplz-blocked-content-container .cmplz-blocked-content-notice > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.single-article .prose .cmplz-blocked-content-container .cmplz-blocked-content-notice h1,
.single-article .prose .cmplz-blocked-content-container .cmplz-blocked-content-notice h2,
.single-article .prose .cmplz-blocked-content-container .cmplz-blocked-content-notice h3,
.single-article .prose .cmplz-blocked-content-container .cmplz-blocked-content-notice strong {
  color: var(--category-text-color, var(--category-color, var(--accent))) !important;
}

.single-article .prose .cmplz-blocked-content-container .cmplz-blocked-content-notice p {
  color: #5f646a !important;
  line-height: 1.5 !important;
}

.single-article .prose .cmplz-blocked-content-container button.cmplz-accept-service,
.single-article .prose .cmplz-blocked-content-container .cmplz-blocked-content-notice button {
  min-height: 46px !important;
  margin: 0 !important;
  padding: 10px 18px !important;
  border: 1px solid var(--category-color, var(--accent)) !important;
  border-radius: 12px !important;
  background: var(--category-color, var(--accent)) !important;
  color: #fff !important;
  font: 700 .9rem/1.2 Manrope, system-ui, sans-serif !important;
  box-shadow: none !important;
  cursor: pointer;
}

.single-article .prose .cmplz-blocked-content-container a {
  color: var(--category-text-color, var(--category-color, var(--accent))) !important;
  text-decoration-color: var(--category-color, var(--accent)) !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: .18em !important;
}

/* Once the real embed is present, keep the media surface clean and rounded. */
.single-article .prose .wp-block-embed iframe,
.single-article .prose .wp-block-video video,
.single-article .prose .responsive-embed iframe,
.single-article .prose .embed-container iframe {
  display: block;
  width: 100%;
  border: 0;
  border-radius: 16px;
  overflow: hidden;
}

@media (max-width: 720px) {
  .single-article .prose .cmplz-blocked-content-container {
    margin: 2.2em 0;
    padding: 32px 18px 20px !important;
  }

  .single-article .prose .cmplz-blocked-content-container::before {
    top: -19px;
    left: 18px;
    width: 44px;
    height: 44px;
    font-size: .9rem;
  }

  .single-article .prose .cmplz-blocked-content-container .cmplz-blocked-content-notice {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .single-article .prose .cmplz-blocked-content-container button.cmplz-accept-service,
  .single-article .prose .cmplz-blocked-content-container .cmplz-blocked-content-notice button {
    width: 100% !important;
  }
}

/* 4.6.0 — nuovo manifesto e modulo newsletter proporzionato alla sua colonna. */
@media (min-width: 821px) {
  .home-page .home-manifesto .opening {
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    align-items: stretch;
    gap: clamp(34px, 5vw, 70px);
  }
  .home-page .home-manifesto .statement {
    display: flex;
    align-items: center;
    max-width: 13ch;
  }
  .home-page .home-newsletter-slot {
    align-self: stretch;
    width: 100%;
    max-width: none;
    margin: 0;
  }
  .home-page .home-newsletter-slot .mn-signup-form { height: 100%; }
}

@media (max-width: 820px) {
  .home-page .home-newsletter-slot {
    width: 100%;
    max-width: none;
    margin: 10px 0 0;
  }
}

/* 4.6.1 — gerarchia del manifesto e moto uniforme della navigazione desktop. */
.home-page .home-manifesto .statement {
  display: block;
  align-self: center;
  max-width: 15ch;
  font-weight: 600;
  line-height: .92;
  letter-spacing: -.065em;
}
.home-page .home-manifesto .statement em {
  display: inline-block;
  margin-top: .08em;
  font-family: Lora, serif;
  font-size: .92em;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -.055em;
}

@media (min-width: 961px) {
  .sections a::after {
    transition: transform 220ms ease;
  }
}

/* 4.6.2 — larghezza completa dei controlli newsletter nella Home mobile. */
@media (max-width: 820px) {
  .home-page .home-newsletter-slot .mn-source-home .mn-signup-fields {
    width: 100%;
    min-width: 0;
  }

  .home-page .home-newsletter-slot .mn-source-home .mn-signup-fields label,
  .home-page .home-newsletter-slot .mn-source-home .mn-signup-fields input,
  .home-page .home-newsletter-slot .mn-source-home .mn-signup-fields button {
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: none;
  }
}
