/* Font self-hosted (open-source Inter, variable) — niente chiamate esterne (GDPR/consenso). */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/shared/assets/fonts/inter-variable.woff2") format("woff2");
}

/* Final executive-map remediation for PR #249 (domain-scoped). */
.layout-ext-brandprotection-global {
  --accent: #214b7b;
  --accent-2: #0b6f6a;
  --accent-3: #9a5a24;
  --ink: #142437;
  --soft: #eef5f5;
  --line: #ccd8df;
  --tier-hq: #183f68;
  --tier-strategic: #0b6f6a;
  --tier-emerging: #9a5a24;
  --tier-watch: #596a78;
}
.layout-ext-brandprotection-global .hero-premium {
  background:
    radial-gradient(circle at 88% 12%, rgba(11,111,106,.17), transparent 28%),
    linear-gradient(132deg, rgba(33,75,123,.13), transparent 46%),
    linear-gradient(180deg, #fff, #eef5f5);
}
.layout-ext-brandprotection-global .hero-grid { grid-template-columns: minmax(0,.88fr) minmax(500px,1.12fr); gap: clamp(32px,4vw,58px); }
.layout-ext-brandprotection-global h1 { max-width: 720px; font-size: clamp(2.6rem,4.7vw,4.35rem); text-wrap: balance; overflow-wrap: normal; word-break: normal; hyphens: none; }
.layout-ext-brandprotection-global .global-tier-map {
  display: grid;
  gap: 18px;
  min-height: 460px;
  padding: clamp(22px,3vw,32px);
  border: 1px solid #afc1cb;
  border-radius: 18px;
  background: radial-gradient(circle at 50% 48%, rgba(11,111,106,.12), transparent 34%), linear-gradient(145deg,#f9fbfc,#e7f0f1);
  box-shadow: 0 28px 68px -42px rgba(20,36,55,.58);
  overflow: hidden;
}
.layout-ext-brandprotection-global .global-tier-map::before {
  content: "";
  height: 5px;
  border-radius: 999px;
  background: linear-gradient(90deg,var(--tier-hq) 0 25%,var(--tier-strategic) 25% 50%,var(--tier-emerging) 50% 75%,var(--tier-watch) 75%);
}
.layout-ext-brandprotection-global .tier-map-heading { display: grid; gap: 4px; }
.layout-ext-brandprotection-global :is(.tier-map-heading span,.tier-card small,.tier-map-core small) { color: var(--accent); font-size: .9rem; line-height: 1.45; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.layout-ext-brandprotection-global .tier-map-heading strong { color: var(--ink); font-size: 1.16rem; line-height: 1.35; }
.layout-ext-brandprotection-global .tier-map-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(150px,.82fr) minmax(0,1fr);
  grid-template-areas: "hq core strategic" "emerging core watch";
  gap: 14px;
  align-items: stretch;
}
.layout-ext-brandprotection-global .tier-map-grid::before,
.layout-ext-brandprotection-global .tier-map-grid::after { content: ""; position: absolute; z-index: 0; background: #a8bdc5; }
.layout-ext-brandprotection-global .tier-map-grid::before { top: 50%; left: 8%; right: 8%; height: 2px; }
.layout-ext-brandprotection-global .tier-map-grid::after { top: 10%; bottom: 10%; left: 50%; width: 2px; }
.layout-ext-brandprotection-global :is(.tier-card,.tier-map-core) { position: relative; z-index: 1; display: grid; align-content: center; min-width: 0; }
.layout-ext-brandprotection-global .tier-card { min-height: 126px; gap: 6px; padding: 16px; border: 1px solid #c4d0d6; border-left: 5px solid var(--tier-hq); border-radius: 12px; background: #f2f6fa; box-shadow: 0 14px 30px -26px rgba(20,36,55,.72); }
.layout-ext-brandprotection-global .tier-card strong { color: var(--ink); font-size: 1rem; line-height: 1.3; }
.layout-ext-brandprotection-global .tier-card span { color: #405467; font-size: .95rem; line-height: 1.45; }
.layout-ext-brandprotection-global .tier-hq { grid-area: hq; }
.layout-ext-brandprotection-global .tier-strategic { grid-area: strategic; border-left-color: var(--tier-strategic); background: #edf7f5; }
.layout-ext-brandprotection-global .tier-emerging { grid-area: emerging; border-left-color: var(--tier-emerging); background: #fff7ed; }
.layout-ext-brandprotection-global .tier-watch { grid-area: watch; border-left-color: var(--tier-watch); background: #f3f6f8; }
.layout-ext-brandprotection-global .tier-strategic small { color: var(--tier-strategic); }
.layout-ext-brandprotection-global .tier-emerging small { color: #854818; }
.layout-ext-brandprotection-global .tier-watch small { color: #4e5e6d; }
.layout-ext-brandprotection-global .tier-map-core { grid-area: core; align-self: center; justify-items: center; gap: 6px; min-height: 236px; padding: 18px 14px; border: 5px solid #fff; border-radius: 999px; color: #fff; background: linear-gradient(145deg,var(--tier-hq),var(--tier-strategic)); box-shadow: 0 24px 48px -28px rgba(20,36,55,.82); text-align: center; }
.layout-ext-brandprotection-global .tier-map-core small { color: #dcefed; }
.layout-ext-brandprotection-global .tier-map-core strong { color: #fff; font-size: .96rem; line-height: 1.35; }
.layout-ext-brandprotection-global .tier-globe { display: block; width: min(126px,100%); height: auto; }
.layout-ext-brandprotection-global .tier-globe-ocean { fill: url(#globalTierOcean); stroke: rgba(255,255,255,.74); stroke-width: 2; }
.layout-ext-brandprotection-global .tier-globe-grid { fill: none; stroke: rgba(255,255,255,.28); stroke-width: 1.4; }
.layout-ext-brandprotection-global .tier-globe-land { fill: #d9e8e8; opacity: .92; }
.layout-ext-brandprotection-global .tier-globe-markers circle { stroke: #fff; stroke-width: 3; }
.layout-ext-brandprotection-global .tier-globe-markers .marker-hq { fill: var(--tier-hq); }
.layout-ext-brandprotection-global .tier-globe-markers .marker-strategic { fill: var(--tier-strategic); }
.layout-ext-brandprotection-global .tier-globe-markers .marker-emerging { fill: var(--tier-emerging); }
.layout-ext-brandprotection-global .tier-globe-markers .marker-watch { fill: var(--tier-watch); }
.layout-ext-brandprotection-global .advisory-depth { border-block: 1px solid var(--line); background: #edf7f5; }
.layout-ext-brandprotection-global .remediation-depth { background: #fff7ed; }
.layout-ext-brandprotection-global :is(.advisory-depth .depth-grid,.remediation-depth .wrap) { max-width: 980px; padding-left: clamp(24px,4vw,50px); border-left: 5px solid var(--tier-strategic); }
.layout-ext-brandprotection-global .remediation-depth .wrap { border-left-color: var(--tier-emerging); }
.layout-ext-brandprotection-global :is(.advisory-depth,.remediation-depth) p:not(.eyebrow) { max-width: 68ch; color: #33485b; font-size: 1.03rem; line-height: 1.78; text-align: left; }

.layout-ext-protezionemarchionline-it {
  --ink: #13283b;
  --accent: #1f5275;
  --accent-2: #1b7168;
  --accent-3: #b06d25;
  --soft: #edf5f3;
  --surface-domain: #234f7d;
  --surface-site: #9a4f36;
  --surface-social: #1d6f65;
  --surface-ads: #604c7a;
  --surface-line: #9db0bf;
}
.layout-ext-protezionemarchionline-it .hero-premium { background: radial-gradient(circle at 86% 18%,rgba(176,109,37,.16),transparent 29%), linear-gradient(132deg,rgba(31,82,117,.14),transparent 47%), linear-gradient(180deg,#fff,#edf5f3); }
.layout-ext-protezionemarchionline-it h1 { font-size: clamp(2.4rem,4.7vw,4.55rem); text-wrap: balance; overflow-wrap: normal; word-break: normal; hyphens: none; }
.layout-ext-protezionemarchionline-it .hero-visual.threat-surface-map { min-height: 500px; padding: clamp(22px,3vw,34px); border-color: #afc0cb; background: linear-gradient(145deg,#f8fbfc,#eaf2f3); box-shadow: 0 26px 60px rgba(19,40,59,.15); }
.layout-ext-protezionemarchionline-it .surface-threat-map { position: relative; display: grid; align-content: center; }
.layout-ext-protezionemarchionline-it .surface-map { display: grid; grid-template-columns: 118px minmax(0,1fr); gap: 30px; align-items: center; }
.layout-ext-protezionemarchionline-it .surface-core { position: relative; inset: auto; display: grid; align-content: center; width: auto; height: auto; min-height: 190px; padding: 18px; border: 0; border-radius: 16px; color: #fff; background: linear-gradient(155deg,#13283b,#1f5275); box-shadow: 0 18px 36px rgba(19,40,59,.22); text-align: left; transform: none; }
.layout-ext-protezionemarchionline-it .surface-core::after { content: ""; position: absolute; top: 50%; right: -30px; width: 30px; height: 2px; background: var(--surface-line); }
.layout-ext-protezionemarchionline-it .surface-core :is(span,small) { color: #dce9ee; font-size: .9rem; line-height: 1.45; }
.layout-ext-protezionemarchionline-it .surface-core strong { margin-block: 7px; color: #fff; font-size: 1.18rem; line-height: 1.15; }
.layout-ext-protezionemarchionline-it .surface-lanes { position: relative; grid-template-columns: 1fr; gap: 11px; }
.layout-ext-protezionemarchionline-it .surface-lanes::before { content: ""; position: absolute; top: 42px; bottom: 42px; left: -16px; width: 2px; background: var(--surface-line); }
.layout-ext-protezionemarchionline-it .surface-lanes li { --surface: var(--surface-domain); position: relative; grid-template-columns: 24px minmax(0,1fr) auto; gap: 12px; align-items: center; min-width: 0; min-height: 88px; padding: 14px; border: 1px solid #c5d2da; border-left: 6px solid var(--surface); border-top-width: 1px; border-radius: 12px; background: #fff; box-shadow: 0 10px 24px rgba(19,40,59,.08); }
.layout-ext-protezionemarchionline-it .surface-lanes li::before { content: ""; position: absolute; top: 50%; left: -22px; width: 16px; height: 2px; background: var(--surface-line); }
.layout-ext-protezionemarchionline-it .surface-lanes li:nth-child(2) { --surface: var(--surface-site); background: #fff8f4; }
.layout-ext-protezionemarchionline-it .surface-lanes li:nth-child(3) { --surface: var(--surface-social); background: #f1faf7; }
.layout-ext-protezionemarchionline-it .surface-lanes li:nth-child(4) { --surface: var(--surface-ads); background: #f6f3fa; }
.layout-ext-protezionemarchionline-it .surface-lanes .ic { color: var(--surface); }
.layout-ext-protezionemarchionline-it .surface-response { padding: 7px 9px; border-radius: 999px; color: #fff; background: var(--surface); font-size: .9rem; line-height: 1.2; }
.layout-ext-protezionemarchionline-it .surface-framework .visual-card { border-top: 5px solid var(--surface-domain); background: linear-gradient(155deg,#fff 0 82%,rgba(35,79,125,.07)); }
.layout-ext-protezionemarchionline-it .surface-framework .visual-card:nth-child(2) { border-top-color: var(--surface-site); background: linear-gradient(155deg,#fff 0 82%,rgba(154,79,54,.07)); }
.layout-ext-protezionemarchionline-it .surface-framework .visual-card:nth-child(3) { border-top-color: var(--surface-social); background: linear-gradient(155deg,#fff 0 82%,rgba(29,111,101,.07)); }
.layout-ext-protezionemarchionline-it .surface-framework h3::before { display: block; margin-bottom: 18px; color: var(--accent); font-size: .9rem; letter-spacing: .1em; }
.layout-ext-protezionemarchionline-it .surface-framework article:nth-child(1) h3::before { content: "01 · PROVA"; }
.layout-ext-protezionemarchionline-it .surface-framework article:nth-child(2) h3::before { content: "02 · RISPOSTA"; }
.layout-ext-protezionemarchionline-it .surface-framework article:nth-child(3) h3::before { content: "03 · RESPONSABILE"; }
.layout-ext-protezionemarchionline-it .model-panel { border-top: 6px solid var(--accent); background: linear-gradient(180deg,#fff,#f2f7f7); }
.layout-ext-protezionemarchionline-it .route-matrix-x thead th:nth-child(1) { background: var(--surface-domain); }
.layout-ext-protezionemarchionline-it .route-matrix-x thead th:nth-child(2) { background: var(--surface-site); }
.layout-ext-protezionemarchionline-it .route-matrix-x thead th:nth-child(3) { background: var(--surface-social); }
.layout-ext-protezionemarchionline-it .route-matrix-x thead th:nth-child(4) { background: var(--surface-ads); }
.layout-ext-protezionemarchionline-it .route-matrix-x td:nth-child(2) { color: #683725; background: #fff8f4; }
.layout-ext-protezionemarchionline-it .route-matrix-x td.rmx-time { color: #124f49; background: #eef9f6; }
.layout-ext-protezionemarchionline-it .route-matrix-x td.rmx-out { color: #55406e; background: #f5f2f8; }
.layout-ext-protezionemarchionline-it .advisory-depth { border-block: 1px solid var(--line); background: #eef5f7; }
.layout-ext-protezionemarchionline-it .remediation-depth { background: #f8f4ec; }

@media (min-width: 941px) {
  .layout-ext-protezionemarchionline-it .hero-grid { grid-template-columns: minmax(0,.88fr) minmax(500px,1.12fr); gap: clamp(32px,4vw,60px); }
  .layout-ext-protezionemarchionline-it .surface-framework { grid-template-columns: .9fr 1.12fr .92fr; gap: 22px; }
  .layout-ext-protezionemarchionline-it .route-matrix-x :is(th,td) { padding: 18px 20px; }
  .layout-ext-protezionemarchionline-it .model-summary { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .layout-ext-protezionemarchionline-it :is(.advisory-depth .depth-grid,.remediation-depth .wrap) { max-width: 980px; padding-left: clamp(24px,4vw,48px); border-left: 5px solid var(--accent-2); }
  .layout-ext-protezionemarchionline-it .remediation-depth .wrap { border-left-color: var(--accent-3); }
}
@media (max-width: 940px) {
  .layout-ext-brandprotection-global .hero-grid { grid-template-columns: 1fr; }
  .layout-ext-brandprotection-global .global-tier-map { width: 100%; max-width: 720px; min-height: 0; margin-inline: auto; }
  .layout-ext-brandprotection-global .model-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .layout-ext-protezionemarchionline-it .hero-visual.threat-surface-map { width: 100%; max-width: 720px; min-height: 0; margin-inline: auto; }
}
@media (max-width: 640px) {
  .layout-ext-brandprotection-global h1 { min-width: 0; max-width: 100%; font-size: clamp(2rem,9vw,2.65rem); line-height: 1.08; }
  .layout-ext-brandprotection-global .global-tier-map { padding: 16px; }
  .layout-ext-brandprotection-global .tier-map-grid { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-areas: "core core" "hq strategic" "emerging watch"; gap: 10px; }
  .layout-ext-brandprotection-global .tier-map-grid::before,
  .layout-ext-brandprotection-global .tier-map-grid::after { display: none; }
  .layout-ext-brandprotection-global .tier-map-core { grid-template-columns: 96px minmax(0,1fr); justify-items: start; align-items: center; min-height: 144px; padding: 16px; border-radius: 14px; text-align: left; }
  .layout-ext-brandprotection-global .tier-map-core .tier-globe { grid-row: 1 / span 2; width: 88px; }
  .layout-ext-brandprotection-global .tier-map-core :is(small,strong) { grid-column: 2; }
  .layout-ext-brandprotection-global .tier-card { min-height: 112px; padding: 13px; }
  .layout-ext-protezionemarchionline-it h1 { font-size: clamp(2rem,9vw,2.65rem); line-height: 1.08; }
  .layout-ext-protezionemarchionline-it .hero-visual.threat-surface-map { padding: 18px; }
  .layout-ext-protezionemarchionline-it .surface-map { grid-template-columns: 1fr; gap: 14px; }
  .layout-ext-protezionemarchionline-it .surface-core { min-height: 0; }
  .layout-ext-protezionemarchionline-it :is(.surface-core::after,.surface-lanes::before,.surface-lanes li::before) { display: none; }
  .layout-ext-protezionemarchionline-it .surface-lanes li { grid-template-columns: 24px minmax(0,1fr); }
  .layout-ext-protezionemarchionline-it .surface-response { grid-column: 2; justify-self: start; }
}

:root {
  --text: #111827;
  --muted: #5b6472;
  --line: #dbe3ee;
  --panel: #ffffff;
  --bg: #f6f8fb;
  --accent: #0a4c8a;
  --accent-2: #1793a6;
  --accent-3: #f0b429;
  --ink: #0d1726;
  --soft: #eef4f8;
  --radius: 8px;
  --shadow: 0 24px 70px -44px rgba(15, 23, 42, .45);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  min-height: 100%;
  margin: 0;
  color: var(--text);
  background:
    linear-gradient(180deg, rgba(255,255,255,.84), rgba(255,255,255,0) 360px),
    var(--bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  line-height: 1.66;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

p, li, strong, h1, h2, h3, a, label {
  overflow-wrap: anywhere;
}

a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
.wrap { width: min(1160px, calc(100% - 36px)); margin: 0 auto; }

.dn-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255,255,255,.9);
  border-bottom: 1px solid rgba(219, 227, 238, .78);
  backdrop-filter: blur(16px);
}
.header-inner, .footer-grid { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.brand {
  display: inline-flex;
  align-items: center;
  min-height: 58px;
  color: var(--ink);
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: 0;
}
.header-link {
  color: var(--text);
  font-size: .92rem;
  font-weight: 700;
}

.hero-premium {
  position: relative;
  overflow: clip;
  /* TASK-312 — Il respiro verticale dell'hero costava 192px prima ancora del
     titolo. Ridotto a 136px: e la seconda leva, dopo l'H1, che porta la CTA
     dentro la piega senza toccare il contenuto. */
  padding: clamp(40px, 5vw, 72px) 0 clamp(36px, 4.5vw, 64px);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--accent) 13%, transparent), transparent 42%),
    linear-gradient(180deg, #fff, color-mix(in srgb, var(--soft) 70%, #fff));
}
.hero-premium::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 34%, transparent), transparent);
}
.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(320px, .74fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
}
.hero-copy { max-width: 780px; }
.eyebrow {
  margin: 0 0 14px;
  color: var(--accent);
  font-size: .9rem;
  line-height: 1.45;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
h1, h2, h3 { margin: 0; line-height: 1.05; color: var(--ink); letter-spacing: 0; }
h1 {
  max-width: 820px;
  /* TASK-312 — `CONVENTIONS.md` richiede la CTA primaria above-the-fold, ma con
     il massimo precedente di 5.8rem l'H1 arrivava a 635px di altezza e la CTA
     finiva sotto la piega su 62 landing su 87 a 1440x900 e su 85 a 1366x768.
     Il tetto scende quindi a 3.6rem e il termine `vw` da 6 a 3.6. Misurato:
     i casi non conformi passano a 1 e a 9. Ridurre oltre non guadagna nulla,
     verificato a 3rem: i residui non dipendono dall'H1 e vanno trattati per
     dominio. */
  font-size: clamp(2.2rem, 3.6vw, 3.6rem);
  font-weight: 850;
}
h2 { font-size: clamp(1.75rem, 3.2vw, 3rem); font-weight: 820; }
h3 { font-size: 1.05rem; font-weight: 800; }
p { margin: 0; max-width: 78ch; }
/* Tipografia editoriale: paragrafi corposi più leggibili e ritmati (giustificato + sillabazione) */
.editorial p { line-height: 1.72; max-width: 72ch; }
.editorial p:not(.eyebrow):not(.sub):not(.form-ok):not(.form-err) { text-align: justify; text-justify: inter-word; hyphens: auto; }
.editorial p + p { margin-top: 14px; }
/* stacco titolo -> testo (il testo non deve essere appiccicato all'H2) */
.editorial h2 + p { margin-top: 14px; }
.editorial h2 + figure, .editorial h2 + .lead-form { margin-top: 16px; }
.sub {
  margin-top: 22px;
  max-width: 680px;
  color: #354052;
  font-size: clamp(1.08rem, 1.7vw, 1.34rem);
  line-height: 1.56;
}
.hero-actions, .final-grid { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin-top: 28px; }
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: .72rem 1.05rem;
  border: 1px solid transparent;
  border-radius: var(--radius);
  /* I <button> non ereditano famiglia e dimensione dal contenitore: senza
     queste due righe `.btn.submit` cadeva sul default dello user agent, 13.33px
     in Arial, mentre i link `.btn` resi da <a> stavano a 16px in Inter. Il
     bottone di invio era quindi sotto il floor tipografico `.9rem` e in un
     carattere diverso dal resto della pagina su tutte le landing (issue #304,
     O4/O9). Il peso 800 sotto resta esplicito e non viene toccato. */
  font-family: inherit;
  font-size: inherit;
  font-weight: 800;
  line-height: 1;
}
.btn:hover { text-decoration: none; }
.cta, .submit {
  color: #fff;
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  box-shadow: 0 16px 36px -24px var(--accent);
}
.btn-ghost {
  color: var(--ink);
  background: rgba(255,255,255,.72);
  border-color: var(--line);
}

.hero-visual {
  position: relative;
  min-height: 360px;
  border: 1px solid color-mix(in srgb, var(--accent) 22%, var(--line));
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(255,255,255,.9), rgba(255,255,255,.58)),
    repeating-linear-gradient(0deg, transparent 0 27px, color-mix(in srgb, var(--accent) 10%, transparent) 28px),
    repeating-linear-gradient(90deg, transparent 0 27px, color-mix(in srgb, var(--accent) 10%, transparent) 28px);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.hero-visual > span { position: absolute; display: block; border-radius: 999px; }
.hero-visual > span:nth-child(1) { inset: 18% auto auto 14%; width: 46%; aspect-ratio: 1; border: 2px solid color-mix(in srgb, var(--accent) 45%, transparent); }
.hero-visual > span:nth-child(2) { inset: auto 12% 18% auto; width: 38%; aspect-ratio: 1; background: color-mix(in srgb, var(--accent-2) 22%, transparent); }
.hero-visual > span:nth-child(3) { inset: 28% 20% auto auto; width: 42%; height: 9px; background: var(--accent); border-radius: 0; transform: rotate(-18deg); }
.hero-visual > span:nth-child(4) { inset: auto auto 24% 18%; width: 52%; height: 1px; background: color-mix(in srgb, var(--accent-3) 80%, transparent); border-radius: 0; transform: rotate(18deg); }
.motif-envelope span:nth-child(1) { border-radius: var(--radius); transform: rotate(-7deg); }
.motif-envelope span:nth-child(3) { transform: rotate(24deg); }
.motif-workbench span:nth-child(1), .motif-ledger span:nth-child(1) { border-radius: var(--radius); }
.motif-stamp span:nth-child(2), .motif-signature span:nth-child(2) { border-radius: 40% 60% 55% 45%; }
.motif-bridge span:nth-child(3), .motif-infrastructure span:nth-child(3) { height: 14px; transform: rotate(0); }
.motif-watchtower span:nth-child(1), .motif-registry span:nth-child(1) { border-radius: 0; clip-path: polygon(50% 0, 100% 100%, 0 100%); }

.identity-strip { background: var(--ink); color: #fff; }
.strip-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
}
.strip-grid div {
  min-height: 118px;
  padding: 18px;
  background: color-mix(in srgb, var(--accent) 22%, #111827);
}
.strip-grid span {
  display: block;
  margin-bottom: 8px;
  color: color-mix(in srgb, #fff 64%, var(--accent-3));
  font-size: .9rem;
  line-height: 1.45;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.strip-grid strong { display: block; line-height: 1.22; }

.editorial { padding: clamp(48px, 7vw, 82px) 0; }
.section-heading {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(260px, .55fr);
  gap: 28px;
  align-items: end;
  margin-bottom: 26px;
}
.section-heading p, .split-section p, .evidence-section p, .route-section p, .contact p, .final-cta p { color: #3f4b5d; }
.card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.visual-card, .callout, .checklist, .lead-form {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow);
}
.visual-card {
  min-height: 285px;
  padding: clamp(20px, 3vw, 30px);
  position: relative;
  overflow: hidden;
}
.visual-card::before {
  content: "";
  display: block;
  width: 44px;
  height: 6px;
  margin-bottom: 24px;
  background: linear-gradient(90deg, var(--accent), var(--accent-3));
}
.visual-card p { margin-top: 16px; color: #3f4b5d; }
.card-risk { transform: translateY(18px); }
.card-approach { transform: translateY(36px); }

.split-section { background: color-mix(in srgb, var(--soft) 74%, #fff); border-block: 1px solid var(--line); }
.split-grid {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(320px, .74fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: start;
}
.split-grid p + p { margin-top: 16px; }
.process-steps {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
}
.process-steps li {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 10px 14px;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--accent) 18%, var(--line));
  border-radius: var(--radius);
  background: #fff;
}
.process-steps span {
  grid-row: span 2;
  color: var(--accent);
  font-weight: 900;
  font-size: 1.25rem;
}
.process-steps p { color: #566173; font-size: .94rem; }
.process-steps.process-specific li {
  position: relative;
  border-left: 6px solid var(--accent);
  box-shadow: 0 14px 32px -30px color-mix(in srgb, var(--accent) 48%, #111827);
}
.process-steps.process-specific strong {
  letter-spacing: .01em;
}
.process-steps.process-specific li::after {
  content: "";
  position: absolute;
  inset: 12px 12px auto auto;
  width: 42px;
  height: 2px;
  background: color-mix(in srgb, var(--accent-3) 70%, #fff);
}

.evidence-grid, .route-grid, .contact-grid {
  display: grid;
  grid-template-columns: minmax(300px, .7fr) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
}
.risk-matrix {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.cell {
  min-height: 132px;
  display: flex;
  align-items: end;
  padding: 18px;
  border-radius: var(--radius);
  color: #fff;
  font-weight: 900;
}
.cell.high { background: var(--accent); }
.cell.med { background: color-mix(in srgb, var(--accent-2) 72%, #111827); }
.cell.low { color: var(--ink); background: color-mix(in srgb, var(--accent-3) 65%, #fff); }
.evidence-grid h2 + p, .route-grid h2 + p, .contact-grid h2 + p { margin-top: 18px; }
.evidence-grid p + p { margin-top: 16px; }

.route-section { background: #fff; }
.route-grid { grid-template-columns: minmax(0, 1fr) minmax(280px, .46fr); }
.callout { padding: clamp(22px, 4vw, 40px); border-left: 8px solid var(--accent); }
.checklist { padding: 24px; }
.checklist ul { display: grid; gap: 12px; padding: 0; margin: 18px 0 0; list-style: none; }
.checklist li { position: relative; padding-left: 28px; color: #3f4b5d; }
.checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .43em;
  width: 12px;
  height: 12px;
  border: 3px solid var(--accent);
  border-radius: 50%;
}
.language-panel {
  border-block: 1px solid var(--line);
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--accent) 10%, transparent), transparent),
    color-mix(in srgb, var(--soft) 82%, #fff);
}
.language-panel .wrap { display: grid; gap: 14px; }

.trust-panel {
  border-block: 1px solid var(--line);
  background: #fff;
}
.trust-grid {
  display: grid;
  grid-template-columns: minmax(280px, .52fr) minmax(0, 1fr);
  gap: clamp(24px, 5vw, 64px);
  align-items: start;
}
.trust-grid ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.trust-grid li {
  min-height: 96px;
  padding: 18px 18px 18px 46px;
  border: 1px solid color-mix(in srgb, var(--accent) 20%, var(--line));
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--accent) 8%, transparent), transparent),
    var(--panel);
  color: #3f4b5d;
  position: relative;
  font-weight: 700;
}
.trust-grid li::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 22px;
  width: 12px;
  height: 12px;
  border: 3px solid var(--accent);
  border-radius: 50%;
}

/* layout-brand-global: hero "exposure radar" enterprise motif (CSS-only, pilota visual:audit #42) */
.layout-brand-global .hero-visual {
  border-radius: 50%;
  aspect-ratio: 1;
  min-height: 0;
  max-width: 380px;
  margin-inline: auto;
  border: 1px solid color-mix(in srgb, var(--accent) 32%, var(--line));
  background:
    conic-gradient(from 218deg at 50% 50%, color-mix(in srgb, var(--accent-2) 36%, transparent), transparent 72deg),
    repeating-radial-gradient(circle at 50% 50%, transparent 0 32px, color-mix(in srgb, var(--accent) 17%, transparent) 33px 34px),
    radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--accent) 10%, #fff) 0 58%, var(--soft) 100%);
}
.layout-brand-global .hero-visual::before {
  content: ""; position: absolute; inset: 0; margin: auto; width: 9px; height: 9px;
  border-radius: 999px; background: var(--accent);
  box-shadow: 0 0 0 7px color-mix(in srgb, var(--accent) 16%, transparent);
}
.layout-brand-global .hero-visual span {
  width: 12px; height: 12px; aspect-ratio: auto; border-radius: 999px;
  background: var(--accent); border: 0; transform: none;
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--accent) 15%, transparent);
}
.layout-brand-global .hero-visual span:nth-child(1) { inset: 25% auto auto 31%; }
.layout-brand-global .hero-visual span:nth-child(2) { inset: auto 27% 31% auto; background: var(--accent-2); }
.layout-brand-global .hero-visual span:nth-child(3) { inset: 35% 29% auto auto; width: 9px; height: 9px; background: var(--accent-3); }
.layout-brand-global .hero-visual span:nth-child(4) {
  inset: 0; margin: auto; width: 48%; height: 2px; border-radius: 0; box-shadow: none;
  background: linear-gradient(90deg, transparent, var(--accent));
  transform-origin: left center; transform: rotate(-26deg);
}
.layout-brand-global .lead-form { border-top: 3px solid var(--accent); }
/* il nome dominio (token lungo senza spazi) non deve andare a capo a metà parola */
.strip-grid strong { overflow-wrap: break-word; }
/* Pannello hero credibility-led (riusabile su tutto il cluster #47) */
.hero-visual.hero-illustration {
  display: grid;
  place-items: center;
  padding: 22px;
  background: linear-gradient(155deg, #fff, var(--soft));
  border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--line));
}
.hero-illustration svg { width: 100%; height: auto; max-height: 360px; }

/* Icone Lucide inline (currentColor) */
.ic { width: 20px; height: 20px; flex: 0 0 auto; }

/* Hero "at a glance" snapshot (credibility-led) */
.hero-snapshot { width: 100%; }
.hero-snapshot .hs-kicker { margin: 0 0 16px; font-size: .9rem; line-height: 1.45; letter-spacing: .12em; text-transform: uppercase; font-weight: 800; color: var(--accent); }
.hs-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.hs-list li { display: grid; grid-template-columns: 24px 1fr; align-items: start; gap: 13px; }
.hs-list li .ic { width: 22px; height: 22px; color: var(--accent); margin-top: 2px; }
.hs-list strong { display: block; font-weight: 800; color: var(--ink); font-size: 1.02rem; }
.hs-list span { color: #405467; font-size: .95rem; line-height: 1.5; }

/* Route-comparison matrix (tabella nativa, livello executive) */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.route-matrix-wrap { width: 100%; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; box-shadow: var(--shadow); }
.route-matrix-x { width: 100%; border-collapse: collapse; }
.route-matrix-x thead th { background: var(--ink); color: #fff; text-align: left; font-size: .9rem; line-height: 1.45; letter-spacing: .08em; text-transform: uppercase; font-weight: 800; padding: 14px 18px; }
.route-matrix-x td { padding: 15px 18px; border-top: 1px solid var(--line); font-size: 1rem; line-height: 1.65; color: var(--muted); vertical-align: middle; }
.route-matrix-x tbody tr:nth-child(even) { background: var(--soft); }
.rmx-route { display: flex; align-items: center; gap: 10px; }
.rmx-route .ic { color: var(--accent); }
.rmx-route strong { color: var(--ink); font-weight: 800; word-break: keep-all; overflow-wrap: normal; hyphens: none; }
.route-matrix-x thead th:first-child, .route-matrix-x td.rmx-route { white-space: normal; min-width: 120px; }
.route-matrix-x td.rmx-time { font-weight: 700; color: var(--ink); }
.route-matrix-x td.rmx-out { font-weight: 800; color: var(--accent); }
@media (max-width: 720px) {
  .route-matrix-x, .route-matrix-x tbody, .route-matrix-x tr, .route-matrix-x td { display: block; width: 100%; }
  .route-matrix-x thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .route-matrix-x tr { border-top: 1px solid var(--line); padding: 8px 0; }
  .route-matrix-x tbody tr:first-child { border-top: 0; }
  .route-matrix-x td { border: 0; padding: 4px 16px; }
  .rmx-route { font-size: 1.04rem; margin-bottom: 2px; }
  .route-matrix-x td[data-label]::before { content: attr(data-label) " — "; font-weight: 800; color: var(--ink); }
}
.layout-brand-global .risk-matrix { transform: rotate(-1deg); }
.layout-dns-dmarc-eu .process-steps li { border-left: 6px solid var(--accent-2); }
.layout-dns-dmarc-eu .hero-visual span:nth-child(4) { height: 5px; transform: rotate(0); }
.layout-gov-govit .hero-visual { border-radius: 0; }
.layout-gov-govit .card-grid { grid-template-columns: .9fr 1.1fr 1fr; }
.layout-gov-govit .trust-grid li { background: #fff; }
.layout-trademark-watch .route-grid { grid-template-columns: minmax(0, .72fr) minmax(300px, .6fr); }
.layout-trademark-watch .process-steps li { border-style: dashed; }
.layout-trademark-watch .risk-matrix { gap: 6px; }

.enterprise-visual {
  border-block: 1px solid var(--line);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--accent) 8%, transparent), transparent 58%),
    #fff;
}
.visual-model {
  display: grid;
  grid-template-columns: minmax(260px, .42fr) minmax(0, 1fr);
  gap: clamp(22px, 4vw, 54px);
  align-items: center;
}
.visual-model h2 + p { margin-top: 14px; color: #3f4b5d; }
.model-panel {
  border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--line));
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.72)),
    color-mix(in srgb, var(--soft) 70%, #fff);
  box-shadow: var(--shadow);
  padding: clamp(18px, 3vw, 28px);
}
.model-svg {
  display: grid;
  gap: 16px;
}
.cluster-diagram {
  margin: 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--accent) 18%, var(--line));
  border-radius: var(--radius);
  background: #fff;
}
.cluster-diagram svg {
  display: block;
  width: 100%;
  height: auto;
}
.model-summary {
  margin-top: 0;
}
.model-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
}
.flow-node {
  min-height: 92px;
  display: grid;
  align-content: center;
  gap: 6px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--accent) 22%, var(--line));
  border-radius: var(--radius);
  background: #fff;
  position: relative;
}
.flow-node:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -12px;
  top: 50%;
  width: 14px;
  height: 2px;
  background: var(--accent);
}
.flow-node strong { color: var(--ink); line-height: 1.15; }
.flow-node span { color: #405467; font-size: .95rem; line-height: 1.5; }
.model-matrix {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.matrix-cell {
  min-height: 88px;
  padding: 14px;
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--accent) 10%, #fff);
  border: 1px solid color-mix(in srgb, var(--accent) 20%, var(--line));
}
.matrix-cell strong { display: block; color: var(--ink); line-height: 1.15; }
.matrix-cell span { display: block; margin-top: 6px; color: #405467; font-size: .95rem; line-height: 1.5; }
.severity-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}
.severity-strip span {
  min-height: 70px;
  display: grid;
  place-items: center;
  padding: 10px;
  border-radius: var(--radius);
  color: #fff;
  background: var(--accent);
  font-weight: 900;
  text-align: center;
  font-size: .9rem;
  line-height: 1.45;
}
.severity-strip span:nth-child(2) { background: color-mix(in srgb, var(--accent) 80%, var(--accent-2)); }
.severity-strip span:nth-child(3) { background: var(--accent-2); }
.severity-strip span:nth-child(4) { background: color-mix(in srgb, var(--accent-2) 62%, #4b5563); }
.severity-strip span:nth-child(5) { color: var(--ink); background: color-mix(in srgb, var(--accent-3) 70%, #fff); }

.final-cta { color: #fff; background: var(--ink); }
.final-grid {
  justify-content: space-between;
  align-items: center;
  margin-top: 0;
}
.final-cta h2, .final-cta p { color: #fff; }
.final-cta p { opacity: .78; margin-top: 10px; }

.contact { background: linear-gradient(180deg, #fff, var(--soft)); }
.contact-grid { align-items: start; }
.lead-form {
  display: grid;
  gap: 14px;
  padding: clamp(20px, 3vw, 30px);
}
.lead-form .row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lead-form label { display: grid; gap: 7px; font-weight: 800; }
input, textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: .76rem .82rem;
  color: var(--text);
  background: #fff;
  font: inherit;
}
textarea { resize: vertical; }
.submit { width: fit-content; cursor: pointer; }
.submit:disabled { opacity: .62; cursor: progress; }
.form-ok, .form-err { font-weight: 800; }
.form-ok { color: #0f766e; }
.form-err { color: #b42318; }
.contact .form-ok { color: #0f766e; }
.contact .form-err { color: #b42318; }
.privacy-consent { display: flex !important; grid-template-columns: none !important; align-items: flex-start; gap: 10px !important; color: #405467; font-size: .95rem; font-weight: 500 !important; line-height: 1.5; }
.privacy-consent input { width: 18px; height: 18px; margin-top: 2px; flex: 0 0 auto; }
.privacy-consent a { color: currentColor; text-decoration: underline; text-underline-offset: 2px; }

.dn-footer { padding: 28px 0; border-top: 1px solid var(--line); background: #fff; }
.dn-footer nav { display: flex; gap: 16px; flex-wrap: wrap; }
.dn-footer small { color: #405467; font-size: .95rem; line-height: 1.5; }

.layout-brand-global { --accent:#103f91; --accent-2:#0f9ca8; --accent-3:#f4b43f; --soft:#edf5ff; }
.layout-brand-services { --accent:#2458a6; --accent-2:#6574c6; --accent-3:#34c7a7; --soft:#f1f4ff; }
.layout-brand-italia { --accent:#0f6b4f; --accent-2:#c43d4b; --accent-3:#f2c166; --soft:#f3faf6; }
.layout-dns-dmarc-eu { --accent:#0e5f73; --accent-2:#2854a3; --accent-3:#f08c35; --soft:#edf9fb; }
.layout-dns-brand { --accent:#143d66; --accent-2:#0a8f8f; --accent-3:#d8b44a; --soft:#eff7fb; }
.layout-dns-enterprise-it { --accent:#254b7b; --accent-2:#589068; --accent-3:#e0ad39; --soft:#f2f7f4; }
.layout-dns-enterprise-it .archetype-operating-model { background: linear-gradient(145deg,#f3f8f6 0%,#e7f1ec 52%,#dce9e3 100%); border-color: #8eb5a1; box-shadow: 0 24px 54px rgba(37,75,123,.16); }
.layout-dns-enterprise-it .archetype-operating-model::before { content: "RESPONSABILE  →  MODIFICA  →  VERIFICA"; position: absolute; inset: 18px 18px auto; padding: 9px 12px; border: 1px solid #a9c5b5; border-radius: 8px; color: #254b7b; background: rgba(255,255,255,.72); font: 800 11px/1.2 system-ui,sans-serif; letter-spacing: .12em; text-align: center; }
.layout-dns-enterprise-it .archetype-operating-model .hero-snapshot { margin-top: 30px; }
.layout-batch2-dnsgovernance .archetype-decision-tree { background: linear-gradient(160deg,#f4f9fb 0%,#e5f0f3 55%,#d9e7ed 100%); border-color: #7fa9b7; box-shadow: 0 24px 54px rgba(23,79,107,.16); }
.layout-batch2-dnsgovernance .archetype-decision-tree::before { content: "DECIDI  /  ESEGUI  /  VERIFICA"; position: absolute; inset: 18px 18px auto; padding: 9px 12px; border-left: 4px solid #2d7d73; color: #174f6b; background: rgba(255,255,255,.78); font: 800 11px/1.2 system-ui,sans-serif; letter-spacing: .1em; text-align: center; }
.layout-batch2-dnsgovernance .archetype-decision-tree .hero-snapshot { margin-top: 30px; }
.layout-batch3-domini-govit-it .archetype-lifecycle { background: conic-gradient(from 215deg at 50% 48%,#e7f1ef,#f8f4e9,#e6f0f3,#e7f1ef); border-color: #86aeb0; box-shadow: 0 24px 54px rgba(23,79,107,.14); }
.layout-batch3-domini-govit-it .archetype-lifecycle::before { content: "REGISTRA  →  ATTIVA  →  GESTISCI  →  RINNOVA"; position: absolute; inset: 18px 18px auto; padding: 9px 10px; border-bottom: 2px solid #d2a84a; color: #174f6b; background: rgba(255,255,255,.75); font: 800 10px/1.2 system-ui,sans-serif; letter-spacing: .08em; text-align: center; }
.layout-batch3-domini-govit-it .archetype-lifecycle .hero-snapshot { margin-top: 30px; }

/* TASK-232 — preserve pilot archetypes against later cluster overrides. */
.layout-dns-enterprise-it .hero-visual.hero-illustration.archetype-operating-model::before {
  content: "RESPONSABILE  →  MODIFICA  →  VERIFICA";
  font-size: .9rem;
}
.layout-batch2-dnsgovernance .hero-visual.hero-illustration.archetype-decision-tree {
  background: linear-gradient(160deg,#f4f9fb 0%,#e5f0f3 55%,#d9e7ed 100%);
  border-color: #7fa9b7;
  box-shadow: 0 24px 54px rgba(23,79,107,.16);
}
.layout-batch2-dnsgovernance .hero-visual.hero-illustration.archetype-decision-tree::before {
  content: "DECIDI  /  ESEGUI  /  VERIFICA";
  font-size: .9rem;
}
.layout-batch3-domini-govit-it .hero-visual.hero-illustration.archetype-lifecycle::before {
  font-size: .9rem;
  overflow-wrap: anywhere;
}
@media (max-width: 640px) {
  .layout-dns-enterprise-it .hero-visual.hero-illustration.archetype-operating-model::before,
  .layout-batch2-dnsgovernance .hero-visual.hero-illustration.archetype-decision-tree::before,
  .layout-batch3-domini-govit-it .hero-visual.hero-illustration.archetype-lifecycle::before {
    inset-inline: 12px;
    padding-inline: 8px;
    line-height: 1.35;
    letter-spacing: .04em;
    white-space: normal;
  }
}

/* TASK-232/TASK-311 — L'intestazione di fase sta nel flusso a ogni larghezza.
   Era `position: absolute` da `top: 18px` mentre il riquadro sotto compensava
   con un `margin-top` di 30px: un offset costante non puo compensare un
   elemento di altezza variabile. Su una sola riga il badge arriva a 53-55px,
   quindi copriva l'etichetta della card gia a 1440px, e sotto i 1100px andava
   anche a capo peggiorando la sovrapposizione. Il rimedio era stato applicato
   solo sotto i 640px: qui vale ovunque, cosi un ritorno a capo spinge il
   riquadro invece di coprirlo. Coppie colore deterministiche, minimo 10.10:1
   sulle tre bande del gradiente. */
.layout-dns-enterprise-it .hero-visual.hero-illustration.archetype-operating-model::before,
.layout-batch2-dnsgovernance .hero-visual.hero-illustration.archetype-decision-tree::before,
.layout-batch3-domini-govit-it .hero-visual.hero-illustration.archetype-lifecycle::before {
  position: static;
  display: block;
  inset: auto;
  margin: 0 0 14px;
  padding: 8px 10px;
  color: #123c52;
  background: #fff;
}
.layout-dns-enterprise-it .hero-visual.hero-illustration.archetype-operating-model .hero-snapshot,
.layout-batch2-dnsgovernance .hero-visual.hero-illustration.archetype-decision-tree .hero-snapshot,
.layout-batch3-domini-govit-it .hero-visual.hero-illustration.archetype-lifecycle .hero-snapshot {
  margin-top: 0;
}
.layout-batch3-domini-govit-it .hero-visual.hero-illustration.archetype-lifecycle :is(.hs-kicker, .hs-list span) {
  color: #123c52;
}

.layout-gov-dns {
  --ink: #1e252b;
  --muted: #40505a;
  --line: #ddd4c7;
  --accent: #4a376e;
  --accent-2: #8f3f3d;
  --accent-3: #8a6518;
  --soft: #f7f3e9;
}
.layout-gov-dns .hero-premium {
  background:
    radial-gradient(circle at 86% 14%, rgba(143,63,61,.15), transparent 30%),
    linear-gradient(135deg, rgba(74,55,110,.13), transparent 46%),
    linear-gradient(180deg, #fff, #f7f3e9);
}
.layout-gov-dns h1 {
  color: #1e252b;
  background: none;
  background-image: none;
  text-shadow: none;
  filter: none;
  -webkit-text-fill-color: #1e252b;
  -webkit-text-stroke: 0 transparent;
  paint-order: normal;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.layout-gov-dns .editorial p:not(.eyebrow):not(.sub):not(.form-ok):not(.form-err) {
  max-width: 68ch;
  color: #35444c;
  font-size: 1.03rem;
  line-height: 1.76;
  text-align: left;
}
.layout-gov-dns .editorial p + p { margin-top: 20px; }
.layout-gov-dns :is(.eyebrow, .hero-snapshot .hs-kicker, .strip-grid span, .route-matrix-x thead th) {
  font-size: .9rem;
  line-height: 1.45;
}
.layout-gov-dns :is(.hs-list span, .matrix-cell span, footer small) {
  color: #40505a;
  font-size: .95rem;
  line-height: 1.5;
}
.layout-gov-dns .route-matrix-x td { font-size: 1rem; line-height: 1.65; }
.layout-gov-dns .route-matrix-x td:not(.rmx-time):not(.rmx-out) { color: #40505a; }
.layout-gov-dns .lead-form label { color: #29373f; font-size: 1rem; line-height: 1.45; }
.layout-gov-dns :is(.lead-form input:not([type="checkbox"]):not([name="website"]), .lead-form textarea) {
  min-height: 48px;
  font-size: 1rem;
  line-height: 1.5;
}
.layout-gov-dns textarea { min-height: 144px; }
.layout-ext-protezionedns-it h1 {
  color: #0d1726;
  background: none;
  background-image: none;
  text-shadow: none;
  filter: none;
  -webkit-text-fill-color: #0d1726;
  -webkit-text-stroke: 0 transparent;
  paint-order: normal;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.layout-ext-protezionedns-it :is(.eyebrow, .hero-snapshot .hs-kicker, .strip-grid span, .route-matrix-x thead th) {
  font-size: .9rem;
  line-height: 1.45;
}
.layout-ext-protezionedns-it :is(.hs-list span, .matrix-cell span, footer small) {
  color: #405467;
  font-size: .95rem;
  line-height: 1.5;
}
.layout-ext-protezionedns-it .route-matrix-x td { font-size: 1rem; line-height: 1.65; }
.layout-ext-protezionedns-it .lead-form label { color: #263b4e; font-size: 1rem; line-height: 1.45; }
.layout-ext-protezionedns-it :is(.lead-form input:not([type="checkbox"]):not([name="website"]), .lead-form textarea) {
  min-height: 48px;
  font-size: 1rem;
  line-height: 1.5;
}
.layout-gov-govit { --accent:#174f6b; --accent-2:#2d7d73; --accent-3:#d2a84a; --soft:#eef7f7; }
.layout-gov-management { --accent:#38506f; --accent-2:#7d6b43; --accent-3:#71a0a5; --soft:#f6f4ef; }
.layout-recovery-expert { --accent:#663399; --accent-2:#b04a6f; --accent-3:#f2b84b; --soft:#fbf2fb; }
.layout-recovery-solutions { --accent:#455a96; --accent-2:#148c84; --accent-3:#e6a33b; --soft:#f1f5fb; }
.layout-trademark-expert { --accent:#0f766e; --accent-2:#536a3f; --accent-3:#e0b04d; --soft:#eff8f4; }
.layout-trademark-watch { --accent:#335c67; --accent-2:#9b5b52; --accent-3:#e3b04b; --soft:#f7f2ef; }
.layout-trademark-italia { --accent:#5c376d; --accent-2:#b64956; --accent-3:#e6bd57; --soft:#faf2f7; }
.layout-batch2-brandgovernance { --accent:#4b2747; --accent-2:#235e57; --accent-3:#a15c2f; --ink:#172029; --soft:#f7f2ec; }
.layout-batch2-dmarcadvisory { --accent:#0d5e72; --accent-2:#314c9d; --accent-3:#e58a3a; --soft:#eef9fb; }
.layout-batch2-emailauth { --accent:#244f7a; --accent-2:#0d827d; --accent-3:#d6a23f; --soft:#f0f7fb; }
.layout-batch2-trademarkmonitoring { --accent:#315f67; --accent-2:#8c5656; --accent-3:#dfb047; --soft:#f7f2ef; }
.layout-batch2-brandexposure { --accent:#16457f; --accent-2:#0b6f74; --accent-3:#9a611a; --ink:#14243a; --soft:#edf5f7; --line:#cad8e2; }
.layout-batch2-dnsgovernance { --accent:#294d6f; --accent-2:#6c7f50; --accent-3:#c9a84a; --soft:#f4f7f2; }
.layout-batch2-dominiistituzionali { --accent:#39536e; --accent-2:#73808a; --accent-3:#c5a24b; --soft:#f5f6f8; }
.layout-batch2-trademarktriage { --accent:#4f5f66; --accent-2:#8f5a50; --accent-3:#e2ae48; --soft:#f7f3ef; }
[class*="layout-ext-"] { --accent:#234c8f; --accent-2:#2f7f75; --accent-3:#d8a544; --soft:#f4f8fb; }
[class*="layout-ext-"] .hero-visual > span:nth-child(2) { background: var(--accent-2); }
[class*="layout-ext-"] .model-panel { border-color: color-mix(in srgb, var(--accent) 20%, var(--line)); }

/* brandexposure.global — inventory-to-owner exposure control map, TASK-249 follow-up */
.layout-batch2-brandexposure .hero-premium {
  background:
    radial-gradient(circle at 86% 14%, rgba(11,111,116,.17), transparent 29%),
    linear-gradient(132deg, rgba(22,69,127,.14), transparent 46%),
    linear-gradient(180deg, #fff, #edf5f7);
}
.layout-batch2-brandexposure .hero-grid { grid-template-columns: minmax(0,.9fr) minmax(480px,1.1fr); gap: clamp(30px,4vw,58px); }
.layout-batch2-brandexposure h1 { max-width: 720px; font-size: clamp(2.5rem,4.6vw,4.3rem); text-wrap: balance; overflow-wrap: normal; word-break: normal; hyphens: none; }
.layout-batch2-brandexposure :is(.cta,.submit) { color: #fff; background: linear-gradient(135deg,var(--accent),var(--accent-2)); }
.layout-batch2-brandexposure .exposure-control-map {
  min-height: 450px;
  padding: clamp(22px,3vw,32px);
  border-color: #afc2ce;
  background: radial-gradient(circle at 50% 50%,rgba(11,111,116,.12),transparent 32%), linear-gradient(145deg,#f9fbfd,#e7f0f3);
  box-shadow: 0 26px 58px rgba(20,36,58,.15);
}
.layout-batch2-brandexposure .exposure-map-stage {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr) 148px minmax(0,1fr);
  grid-template-areas: "inventory core priority" "owner core output";
  gap: 16px;
  min-height: 330px;
  align-items: stretch;
}
.layout-batch2-brandexposure .exposure-map-routes { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; overflow: visible; }
.layout-batch2-brandexposure .exposure-map-routes path { fill: none; stroke: #9eb4c1; stroke-width: 2; vector-effect: non-scaling-stroke; }
.layout-batch2-brandexposure .exposure-map-routes circle { fill: var(--accent-3); stroke: #fff; stroke-width: 3; vector-effect: non-scaling-stroke; }
.layout-batch2-brandexposure .exposure-map-stage .hs-list { display: contents; }
.layout-batch2-brandexposure .exposure-map-stage .hs-list li {
  position: relative;
  z-index: 1;
  min-width: 0;
  min-height: 124px;
  padding: 16px;
  border: 1px solid #bdccd5;
  border-top: 5px solid var(--accent);
  border-radius: 12px;
  background: #f2f6fb;
  box-shadow: 0 12px 28px rgba(20,36,58,.09);
}
.layout-batch2-brandexposure .exposure-map-stage .hs-list li:nth-child(1) { grid-area: inventory; }
.layout-batch2-brandexposure .exposure-map-stage .hs-list li:nth-child(2) { grid-area: priority; border-top-color: var(--accent-3); background: #fff7ec; }
.layout-batch2-brandexposure .exposure-map-stage .hs-list li:nth-child(3) { grid-area: owner; border-top-color: var(--accent-2); background: #edf8f6; }
.layout-batch2-brandexposure .exposure-map-stage .hs-list li:nth-child(4) { grid-area: output; border-top-color: #40566f; background: #f2f4f8; }
.layout-batch2-brandexposure .exposure-map-core {
  position: relative;
  z-index: 2;
  grid-area: core;
  align-self: center;
  display: grid;
  place-items: center;
  gap: 7px;
  min-height: 186px;
  padding: 18px 14px;
  border: 5px solid #fff;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(145deg,var(--accent),var(--accent-2));
  box-shadow: 0 22px 44px -24px rgba(20,36,58,.78);
  text-align: center;
}
.layout-batch2-brandexposure .exposure-map-core strong { color: #fff; font-size: 1rem; line-height: 1.3; }
.layout-batch2-brandexposure .exposure-map-core span { color: #e4f1f2; font-size: .95rem; line-height: 1.45; }
.layout-batch2-brandexposure :is(.eyebrow,.hs-kicker,.strip-grid span,.route-matrix-x thead th) { font-size: .9rem; line-height: 1.45; }
.layout-batch2-brandexposure :is(.hs-list span,.matrix-cell span,footer small) { color: #405467; font-size: .95rem; line-height: 1.5; }
.layout-batch2-brandexposure .route-matrix-x tbody tr:nth-child(1),
.layout-batch2-brandexposure .route-matrix-x tbody tr:nth-child(2) { background: #f2f6fb; }
.layout-batch2-brandexposure .route-matrix-x tbody tr:nth-child(3) { background: #fff7ec; }
.layout-batch2-brandexposure .route-matrix-x tbody tr:nth-child(4) { background: #f2f4f8; }
.layout-batch2-brandexposure .route-matrix-x tbody tr:nth-child(1) .rmx-route,
.layout-batch2-brandexposure .route-matrix-x tbody tr:nth-child(2) .rmx-route { border-left: 6px solid var(--accent); }
.layout-batch2-brandexposure .route-matrix-x tbody tr:nth-child(3) .rmx-route { border-left: 6px solid var(--accent-3); }
.layout-batch2-brandexposure .route-matrix-x tbody tr:nth-child(4) .rmx-route { border-left: 6px solid #40566f; }
.layout-batch2-brandexposure .model-summary { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.layout-batch2-brandexposure .model-summary .matrix-cell { position: relative; border-top: 4px solid var(--accent); background: #f2f6fb; }
.layout-batch2-brandexposure .model-summary .matrix-cell:nth-child(2) { border-top-color: var(--accent-3); background: #fff7ec; }
.layout-batch2-brandexposure .model-summary .matrix-cell:nth-child(3) { border-top-color: var(--accent-2); background: #edf8f6; }
.layout-batch2-brandexposure .model-summary .matrix-cell:nth-child(4) { border-top-color: #40566f; background: #f2f4f8; }
.layout-batch2-brandexposure .advisory-depth { border-block: 1px solid var(--line); background: #edf8f6; }
.layout-batch2-brandexposure .remediation-depth { background: #fff7ec; }
.layout-batch2-brandexposure :is(.advisory-depth .depth-grid,.remediation-depth .wrap) { max-width: 980px; padding-left: clamp(24px,4vw,48px); border-left: 5px solid var(--accent-2); }
.layout-batch2-brandexposure .remediation-depth .wrap { border-left-color: var(--accent-3); }
.layout-batch2-brandexposure :is(.advisory-depth,.remediation-depth) p:not(.eyebrow) { max-width: 68ch; color: #33485b; font-size: 1.03rem; line-height: 1.78; text-align: left; }
.layout-batch2-brandexposure :is(.advisory-depth,.remediation-depth) p + p { margin-top: 20px; }

/* brandfrauddefense.com — AA-safe action gradient and desktop decision rhythm */
.layout-batch3-brandfrauddefense-com :is(.btn.cta,.btn.submit) { color: #fff; background: linear-gradient(135deg,#0a4c8a,#0b6f74); }

@media (min-width: 941px) {
  .layout-batch2-brandexposure .model-summary .matrix-cell:not(:last-child)::after { content: "→"; position: absolute; z-index: 2; right: -18px; top: 50%; color: var(--accent); font-size: 1.05rem; font-weight: 900; transform: translateY(-50%); }
  .layout-batch3-brandfrauddefense-com .hero-snapshot .hs-kicker { margin-bottom: 20px; }
  .layout-batch3-brandfrauddefense-com .hs-list { gap: 20px; }
  .layout-batch3-brandfrauddefense-com .strip-grid div { padding: 22px 20px; }
  .layout-batch3-brandfrauddefense-com .route-matrix-x :is(th,td) { padding: 18px 20px; }
}
@media (max-width: 940px) {
  .layout-batch2-brandexposure .hero-grid { grid-template-columns: 1fr; gap: 32px; }
  .layout-batch2-brandexposure .exposure-control-map { width: 100%; max-width: 720px; min-height: 0; margin-inline: auto; padding: 18px; }
  .layout-batch2-brandexposure .exposure-map-stage { min-height: 310px; }
  .layout-batch2-brandexposure .model-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .layout-batch2-brandexposure h1 { min-width: 0; max-width: 100%; font-size: clamp(2rem,9vw,2.6rem); line-height: 1.08; }
  .layout-batch2-brandexposure .exposure-map-stage { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-areas: "core core" "inventory priority" "owner output"; gap: 10px; min-height: 0; }
  .layout-batch2-brandexposure .exposure-map-routes { display: none; }
  .layout-batch2-brandexposure .exposure-map-core { min-height: 112px; border-radius: 14px; }
  .layout-batch2-brandexposure .exposure-map-stage .hs-list li { min-height: 118px; padding: 13px; }
  .layout-batch2-brandexposure :is(.advisory-depth .depth-grid,.remediation-depth .wrap) { padding-left: 18px; border-left-width: 4px; }
}

/* brandgovernance.global — owned-decision control map, TASK-192 */
.layout-batch2-brandgovernance .hero-premium {
  background:
    radial-gradient(circle at 84% 16%, rgba(161,92,47,.18), transparent 30%),
    linear-gradient(132deg, rgba(75,39,71,.14), transparent 46%),
    linear-gradient(180deg, #fff, #f7f2ec);
}
.layout-batch2-brandgovernance .hero-grid { grid-template-columns: minmax(0, .92fr) minmax(460px, 1.08fr); gap: clamp(30px, 4vw, 58px); }
.layout-batch2-brandgovernance h1 { font-size: clamp(2.45rem, 4.5vw, 4.3rem); text-wrap: balance; overflow-wrap: normal; word-break: normal; hyphens: none; }
.governance-decision-map { padding: 16px; background: linear-gradient(150deg, #fff, #f7f2ec); border-color: #cdb9aa; }
.governance-decision-map figure { width: 100%; margin: 0; }
.governance-decision-map svg { display: block; width: 100%; max-height: none; }
.governance-decision-map .governance-frame { fill: #fcfaf7; stroke: #d4c1b2; }
.governance-decision-map text { fill: #172029; font: 800 15px Inter, system-ui, sans-serif; }
.governance-decision-map .governance-overline { fill: #4b2747; font-size: 14px; letter-spacing: 1.5px; }
.governance-decision-map .governance-node rect { fill: #fff; stroke: #cdb9aa; }
.governance-decision-map .governance-node.risk rect { fill: #f2e7dd; stroke: #a15c2f; }
.governance-decision-map .governance-node.policy rect { fill: #4b2747; stroke: #4b2747; }
.governance-decision-map .governance-node.policy text { fill: #fff; }
.governance-decision-map .node-detail { fill: #4e5d65; font-size: 12px; font-weight: 650; }
.governance-decision-map .node-detail.inverse { fill: #f7edf4; }
.governance-decision-map .governance-line { fill: none; stroke: url(#governance-route); stroke-width: 4; stroke-linecap: round; }
.governance-decision-map .governance-owner rect { fill: #235e57; stroke: #174840; }
.governance-decision-map .governance-owner text { fill: #fff; }
.governance-decision-map .governance-owner .node-detail { fill: #dceee9; }
.governance-decision-map .owner-kicker { font-size: 11px; letter-spacing: .65px; }
.governance-decision-map .governance-escalation rect { fill: #fff7ee; stroke: #a15c2f; stroke-width: 2; }
.governance-decision-map .governance-escalation .escalation-main { font-size: 14px; }
.governance-decision-map .governance-record rect { fill: #172029; stroke: #172029; }
.governance-decision-map .governance-record text { fill: #fff; }
.governance-decision-map .governance-record .node-detail { fill: #dce3e6; font-size: 12px; }
.governance-decision-map .governance-record circle { fill: #c47a43; }
.governance-decision-map .governance-cadence rect { fill: #f2e7dd; stroke: #a15c2f; }
.governance-decision-map .governance-cadence text { fill: #4b2747; font-size: 11px; letter-spacing: .35px; }
.governance-decision-map .governance-proof { fill: #4b2747; font-size: 14px; letter-spacing: 1px; }
.governance-decision-map figcaption { margin: 10px 8px 2px; color: #344b50; font-size: 1rem; line-height: 1.55; }
.mobile-governance-map { display: none; }
.layout-batch2-brandgovernance .governance-charter { border-top: 5px solid var(--accent-3); background: linear-gradient(180deg, #fff, #fbf7f2); }
.layout-batch2-brandgovernance .governance-charter .route-matrix-wrap { border-color: #cdb9aa; }
.layout-batch2-brandgovernance .governance-charter .route-matrix-x thead th { background: var(--accent); }
.layout-batch2-brandgovernance .governance-charter .route-matrix-x tbody tr:nth-child(even) { background: #f7f2ec; }
.layout-batch2-brandgovernance .contact-grid { grid-template-columns: minmax(0, .84fr) minmax(380px, 1fr); gap: clamp(32px, 6vw, 76px); }
.layout-batch2-brandgovernance .lead-form { border-top: 4px solid var(--accent-3); box-shadow: 0 24px 60px -38px #172029; }
.layout-batch2-brandgovernance .form-heading { display: grid; gap: 5px; margin-bottom: 4px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.layout-batch2-brandgovernance .form-heading span, .layout-batch2-brandgovernance .assurance-label { color: var(--accent); font-size: .9rem; line-height: 1.45; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.layout-batch2-brandgovernance .form-heading strong { color: var(--ink); font-size: 1.08rem; line-height: 1.4; }
.layout-batch2-brandgovernance .contact-assurance { margin-top: 24px; padding: 22px; border-left: 4px solid var(--accent-3); background: #fff; box-shadow: var(--shadow); }
.layout-batch2-brandgovernance .contact-assurance ul { display: grid; gap: 10px; margin: 14px 0 0; padding: 0; list-style: none; }
.layout-batch2-brandgovernance .contact-assurance li { position: relative; padding-left: 24px; color: #30464c; line-height: 1.55; }
.layout-batch2-brandgovernance .contact-assurance li::before { content: "✓"; position: absolute; left: 0; color: var(--accent-2); font-weight: 900; }
.layout-batch2-brandgovernance .contact-assurance .privacy-note { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); color: #455960; font-size: .95rem; text-align: left !important; }
.layout-batch2-brandgovernance .contact-assurance .privacy-note a { color: var(--accent); text-decoration: underline; text-underline-offset: 2px; }

/* socialimpersonation.com — deterministic mobile words and AA CTA, TASK-192 */
.layout-batch3-socialimpersonation-com .hero-copy h1 { text-wrap: balance; overflow-wrap: normal; word-break: normal; hyphens: none; }
.layout-batch3-socialimpersonation-com :is(.cta, .submit) { color: #fff; background: linear-gradient(135deg, #0a4c8a, #0b6f74); }

/* brandprotectionitalia.it — Italian legal-levers decision map, TASK-196 */
.layout-brandprotectionitalia-it {
  --ink: #211a22;
  --accent: #5a274f;
  --accent-2: #17624f;
  --accent-3: #a35436;
  --soft: #f7f1e8;
  --muted: #4d4650;
  --line: #ddd0c3;
}
.layout-brandprotectionitalia-it .hero-premium {
  background:
    radial-gradient(circle at 86% 14%, rgba(163,84,54,.17), transparent 29%),
    linear-gradient(132deg, rgba(90,39,79,.14), transparent 46%),
    linear-gradient(180deg, #fff, #f7f1e8);
}
.layout-brandprotectionitalia-it .hero-grid {
  grid-template-columns: minmax(0, .9fr) minmax(460px, 1.1fr);
  gap: clamp(30px, 4vw, 58px);
}
.layout-brandprotectionitalia-it h1 {
  font-size: clamp(2.45rem, 4.45vw, 4.25rem);
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.layout-brandprotectionitalia-it :is(.cta, .submit) {
  color: #fff;
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
}
.italia-levers-map {
  display: grid;
  gap: 18px;
  min-height: 420px;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid #cdbbab;
  border-radius: 18px;
  background: linear-gradient(150deg, #fff, #f7f1e8);
  box-shadow: 0 28px 70px -42px rgba(33,26,34,.58);
}
.italia-levers-map::before {
  content: "";
  height: 5px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent) 0 34%, var(--accent-2) 34% 67%, var(--accent-3) 67%);
}
.italia-map-heading { display: grid; gap: 4px; }
.italia-map-heading span {
  color: var(--accent);
  font-size: .9rem;
  line-height: 1.45;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.italia-map-heading strong { color: var(--ink); font-size: 1.16rem; line-height: 1.35; }
.italia-map-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(130px, .9fr) minmax(0, 1fr);
  grid-template-areas: "uibm core nic" "adm core court";
  gap: 14px;
  align-items: stretch;
}
.italia-map-grid::before,
.italia-map-grid::after {
  content: "";
  position: absolute;
  z-index: 0;
  background: color-mix(in srgb, var(--accent-3) 52%, #fff);
}
.italia-map-grid::before { top: 50%; left: 10%; right: 10%; height: 2px; }
.italia-map-grid::after { top: 10%; bottom: 10%; left: 50%; width: 2px; }
.italia-lever,
.italia-map-core {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  gap: 7px;
  min-width: 0;
}
.italia-lever {
  min-height: 122px;
  padding: 17px;
  border: 1px solid #d7c8bb;
  border-left: 5px solid var(--accent-3);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 16px 34px -30px rgba(33,26,34,.62);
}
.italia-lever.uibm { grid-area: uibm; border-left-color: var(--accent); }
.italia-lever.nic { grid-area: nic; border-left-color: var(--accent-2); }
.italia-lever.adm { grid-area: adm; border-left-color: var(--accent-3); }
.italia-lever.court { grid-area: court; border-left-color: var(--ink); }
.italia-lever small,
.italia-map-core small {
  color: var(--accent);
  font-size: .9rem;
  line-height: 1.45;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.italia-lever strong { color: var(--ink); font-size: 1rem; line-height: 1.25; }
.italia-lever span { color: #4d4650; font-size: .95rem; line-height: 1.4; }
.italia-map-core {
  grid-area: core;
  align-self: center;
  min-height: 172px;
  padding: 22px 16px;
  border: 5px solid #fff;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(145deg, var(--accent), var(--accent-2));
  box-shadow: 0 20px 44px -26px rgba(33,26,34,.72);
  text-align: center;
}
.italia-map-core small { color: #f6e8ef; }
.italia-map-core strong { color: #fff; font-size: 1rem; line-height: 1.35; }
.layout-brandprotectionitalia-it
  :is(.eyebrow, .strip-grid span, .route-matrix-x thead th) {
  font-size: .9rem;
  line-height: 1.45;
}
.layout-brandprotectionitalia-it :is(.matrix-cell span, footer small) {
  color: #4d4650;
  font-size: .95rem;
  line-height: 1.5;
}
.layout-brandprotectionitalia-it
  .editorial p:not(.eyebrow):not(.sub):not(.form-ok):not(.form-err) {
  max-width: 68ch;
  color: #3f3942;
  font-size: 1.03rem;
  line-height: 1.76;
}
.layout-brandprotectionitalia-it .editorial p + p { margin-top: 20px; }
.layout-brandprotectionitalia-it :is(.visual-card p, .route-matrix-x td) {
  color: #3f3942;
  font-size: 1rem;
  line-height: 1.65;
}
.layout-brandprotectionitalia-it .lead-form {
  gap: 18px;
  border-top: 4px solid var(--accent-3);
  box-shadow: 0 24px 60px -38px #211a22;
}
.layout-brandprotectionitalia-it .lead-form label {
  color: #312b32;
  font-size: 1rem;
  line-height: 1.45;
}
.layout-brandprotectionitalia-it .privacy-consent { color: #4d4650; font-size: .95rem; line-height: 1.5; }
.layout-brandprotectionitalia-it
  :is(.lead-form input:not([type="checkbox"]):not([name="website"]), .lead-form textarea) {
  min-height: 48px;
  font-size: 1rem;
  line-height: 1.5;
}
.layout-brandprotectionitalia-it textarea { min-height: 144px; }

/* TASK-196 — scoped AA/readability assurance for final production findings */
:is(.layout-batch3-domini-aziendali-it, .layout-batch3-lineeguida-govit-it) { --accent-2: #0b6f74; }
:is(.layout-batch3-domini-aziendali-it, .layout-batch3-lineeguida-govit-it, .layout-batch2-dmarcadvisory)
  :is(.eyebrow, .hero-snapshot .hs-kicker, .strip-grid span, .route-matrix-x thead th) {
  font-size: .9rem;
  line-height: 1.45;
}
:is(.layout-batch3-domini-aziendali-it, .layout-batch3-lineeguida-govit-it, .layout-batch2-dmarcadvisory)
  :is(.hs-list span, .matrix-cell span, footer small) {
  color: #405467;
  font-size: .95rem;
  line-height: 1.5;
}
:is(.layout-batch3-domini-aziendali-it, .layout-batch3-lineeguida-govit-it, .layout-batch2-dmarcadvisory) .route-matrix-x td {
  color: #33485b;
  font-size: 1rem;
  line-height: 1.6;
}
:is(.layout-batch3-domini-aziendali-it, .layout-batch3-lineeguida-govit-it, .layout-batch2-dmarcadvisory) .lead-form label {
  color: #263b4e;
  font-size: 1rem;
  line-height: 1.45;
}
:is(.layout-batch3-domini-aziendali-it, .layout-batch3-lineeguida-govit-it, .layout-batch2-dmarcadvisory) .privacy-consent {
  color: #405467;
  font-size: .95rem;
  line-height: 1.5;
}
:is(.layout-batch3-domini-aziendali-it, .layout-batch3-lineeguida-govit-it, .layout-batch2-dmarcadvisory)
  :is(.lead-form input:not([type="checkbox"]):not([name="website"]), .lead-form textarea) {
  min-height: 48px;
  font-size: 1rem;
  line-height: 1.5;
}
:is(.layout-batch3-domini-aziendali-it, .layout-batch3-lineeguida-govit-it, .layout-batch2-dmarcadvisory) textarea { min-height: 144px; }
.layout-batch3-lineeguida-govit-it h1 {
  color: #102a3a;
  background: none;
  background-image: none;
  text-shadow: none;
  filter: none;
  -webkit-text-fill-color: #102a3a;
  -webkit-text-stroke: 0 transparent;
  paint-order: normal;
}

/* dmarcadvisory.eu — H1 clarity and dense-copy assurance, TASK-196 follow-up */
.layout-batch2-dmarcadvisory h1 {
  color: #0d1726;
  background: none;
  background-image: none;
  text-shadow: none;
  filter: none;
  -webkit-text-fill-color: #0d1726;
  -webkit-text-stroke: 0 transparent;
  paint-order: normal;
}
.layout-batch2-dmarcadvisory :is(.form-ok, .form-err) { font-size: 1rem; line-height: 1.5; }
.layout-batch2-dmarcadvisory .editorial p:not(.eyebrow):not(.sub):not(.form-ok):not(.form-err) {
  color: #33485b;
  font-size: 1.03rem;
  line-height: 1.78;
}
.layout-batch2-dmarcadvisory .editorial p + p { margin-top: 20px; }
.layout-batch2-dmarcadvisory :is(.visual-card p, .route-matrix-x td) {
  color: #33485b;
  font-size: 1rem;
  line-height: 1.65;
}

/* nftbrandprotection.eu — accessible microcopy and dense-copy rhythm, TASK-216 */
.layout-batch3-nftbrandprotection-eu
  :is(.eyebrow, .hero-snapshot .hs-kicker, .strip-grid span, .route-matrix-x thead th) {
  font-size: .9rem;
  line-height: 1.45;
}
.layout-batch3-nftbrandprotection-eu :is(.hs-list span, .matrix-cell span, footer small) {
  color: #405467;
  font-size: .95rem;
  line-height: 1.5;
}
.layout-batch3-nftbrandprotection-eu :is(.visual-card p, .route-matrix-x td) {
  font-size: 1rem;
  line-height: 1.65;
}
.layout-batch3-nftbrandprotection-eu
  :is(.visual-card p, .route-matrix-x td:not(.rmx-time):not(.rmx-out)) {
  color: #33485b;
}
.layout-batch3-nftbrandprotection-eu .lead-form label {
  color: #263b4e;
  font-size: 1rem;
  line-height: 1.45;
}
.layout-batch3-nftbrandprotection-eu .privacy-consent {
  color: #405467;
  font-size: .95rem;
  line-height: 1.5;
}
.layout-batch3-nftbrandprotection-eu
  :is(.lead-form input:not([type="checkbox"]):not([name="website"]), .lead-form textarea) {
  min-height: 48px;
  font-size: 1rem;
  line-height: 1.5;
}
.layout-batch3-nftbrandprotection-eu textarea { min-height: 144px; }
/* nftbrandprotection.eu — AA-safe CTA and section rhythm (TASK-170, PR #263). */
.layout-batch3-nftbrandprotection-eu :is(.cta, .submit) {
  color: #fff;
  background: linear-gradient(135deg, #0a4c8a, #0b6f74);
}
.layout-batch3-nftbrandprotection-eu
  .editorial p:not(.eyebrow):not(.sub):not(.form-ok):not(.form-err) {
  max-width: 68ch;
  color: #33485b;
  font-size: 1.03rem;
  line-height: 1.78;
}
.layout-batch3-nftbrandprotection-eu .advisory-depth {
  border-block: 1px solid var(--line);
  background: #eef7f6;
}
.layout-batch3-nftbrandprotection-eu .remediation-depth { background: #f8f4ec; }
.layout-batch3-nftbrandprotection-eu .advisory-depth .depth-grid,
.layout-batch3-nftbrandprotection-eu .remediation-depth .wrap {
  max-width: 980px;
  padding-left: clamp(22px, 4vw, 48px);
  border-left: 5px solid #0b6f74;
}
.layout-batch3-nftbrandprotection-eu .remediation-depth .wrap { border-left-color: #9a611a; }
.layout-batch3-nftbrandprotection-eu :is(.advisory-depth, .remediation-depth) p + p { margin-top: 22px; }

/* trademarkprotection.expert — clean mobile H1 and readable microcopy, TASK-218 */
.layout-ext-trademarkprotection-expert h1 {
  color: #0d1726;
  background: none;
  background-image: none;
  text-shadow: none;
  filter: none;
  -webkit-text-fill-color: #0d1726;
  -webkit-text-stroke: 0 transparent;
  paint-order: normal;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.layout-ext-trademarkprotection-expert
  :is(.eyebrow, .hero-snapshot .hs-kicker, .strip-grid span, .route-matrix-x thead th) {
  font-size: .9rem;
  line-height: 1.45;
}
.layout-ext-trademarkprotection-expert :is(.hs-list span, .matrix-cell span, footer small) {
  color: #405467;
  font-size: .95rem;
  line-height: 1.5;
}
.layout-ext-trademarkprotection-expert :is(.visual-card p, .route-matrix-x td) {
  font-size: 1rem;
  line-height: 1.65;
}
.layout-ext-trademarkprotection-expert
  :is(.visual-card p, .route-matrix-x td:not(.rmx-time):not(.rmx-out)) {
  color: #33485b;
}
.layout-ext-trademarkprotection-expert .lead-form label {
  color: #263b4e;
  font-size: 1rem;
  line-height: 1.45;
}
.layout-ext-trademarkprotection-expert .privacy-consent {
  color: #405467;
  font-size: .95rem;
  line-height: 1.5;
}
.layout-ext-trademarkprotection-expert
  :is(.lead-form input:not([type="checkbox"]):not([name="website"]), .lead-form textarea) {
  min-height: 48px;
  font-size: 1rem;
  line-height: 1.5;
}
.layout-ext-trademarkprotection-expert textarea { min-height: 144px; }

/* digitalbranddefense.com — layered defence system and readable detail, TASK-219 */
.layout-ext-digitalbranddefense-com {
  --accent: #155e75;
  --accent-2: #0f766e;
  --accent-3: #a95722;
  --soft: #edf6f7;
}
.layout-ext-digitalbranddefense-com .hero-visual.hero-illustration {
  min-height: 480px;
  padding: clamp(22px, 3vw, 36px);
  border-color: #abc5cc;
  background:
    radial-gradient(circle at 90% 8%, rgba(15, 118, 110, .18), transparent 30%),
    linear-gradient(145deg, #f7fbfc 0 48%, #e2f0f2 100%);
  box-shadow: 0 24px 55px rgba(16, 36, 56, .14);
}
.layout-ext-digitalbranddefense-com .defence-stack { position: relative; }
.layout-ext-digitalbranddefense-com .defence-stack::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 54px;
  bottom: 30px;
  left: 17px;
  width: 2px;
  background: linear-gradient(var(--accent), var(--accent-2), var(--accent-3));
  opacity: .5;
}
.layout-ext-digitalbranddefense-com .defence-stack .hs-kicker {
  position: relative;
  z-index: 1;
  margin-bottom: 22px;
}
.layout-ext-digitalbranddefense-com .defence-stack .hs-list { gap: 10px; }
.layout-ext-digitalbranddefense-com .defence-stack .hs-list li {
  position: relative;
  z-index: 1;
  grid-template-columns: 34px 24px minmax(0, 1fr);
  gap: 11px;
  min-height: 76px;
  padding: 14px 16px;
  border: 1px solid #bfd2d7;
  border-left: 5px solid var(--accent);
  border-radius: 12px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 10px 24px rgba(16, 36, 56, .09);
}
.layout-ext-digitalbranddefense-com .defence-stack .hs-list li::before {
  content: attr(data-layer);
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  color: #fff;
  background: var(--accent);
  font-size: .9rem;
  font-weight: 900;
  letter-spacing: .04em;
}
.layout-ext-digitalbranddefense-com .defence-stack .hs-list li:nth-child(2) {
  width: calc(100% - 16px);
  margin-left: 16px;
  border-left-color: #267b88;
}
.layout-ext-digitalbranddefense-com .defence-stack .hs-list li:nth-child(2)::before { background: #267b88; }
.layout-ext-digitalbranddefense-com .defence-stack .hs-list li:nth-child(3) {
  width: calc(100% - 32px);
  margin-left: 32px;
  border-left-color: var(--accent-2);
}
.layout-ext-digitalbranddefense-com .defence-stack .hs-list li:nth-child(3)::before { background: var(--accent-2); }
.layout-ext-digitalbranddefense-com .defence-stack .hs-list li:nth-child(4) {
  width: calc(100% - 48px);
  margin-left: 48px;
  border-left-color: var(--accent-3);
}
.layout-ext-digitalbranddefense-com .defence-stack .hs-list li:nth-child(4)::before { background: var(--accent-3); }
.layout-ext-digitalbranddefense-com .defence-stack .hs-list li .ic {
  width: 22px;
  height: 22px;
  margin-top: 5px;
  color: #155e75;
}
.layout-ext-digitalbranddefense-com
  :is(.eyebrow, .hero-snapshot .hs-kicker, .strip-grid span, .route-matrix-x thead th) {
  font-size: .9rem;
  line-height: 1.45;
}
.layout-ext-digitalbranddefense-com :is(.hs-list span, .matrix-cell span, footer small) {
  color: #405467;
  font-size: .95rem;
  line-height: 1.5;
}
.layout-ext-digitalbranddefense-com :is(.visual-card p, .route-matrix-x td) {
  font-size: 1rem;
  line-height: 1.68;
}
.layout-ext-digitalbranddefense-com
  :is(.visual-card p, .route-matrix-x td:not(.rmx-time):not(.rmx-out)) {
  color: #33485b;
}
.layout-ext-digitalbranddefense-com .editorial-cards .visual-card {
  border-top: 5px solid var(--accent);
  background: linear-gradient(155deg, #fff 0 76%, rgba(21, 94, 117, .09));
}
.layout-ext-digitalbranddefense-com .editorial-cards .visual-card:nth-child(2) {
  border-top-color: var(--accent-2);
  background: linear-gradient(155deg, #fff 0 76%, rgba(15, 118, 110, .09));
}
.layout-ext-digitalbranddefense-com .editorial-cards .visual-card:nth-child(3) {
  border-top-color: var(--accent-3);
  background: linear-gradient(155deg, #fff 0 76%, rgba(169, 87, 34, .09));
}
.layout-ext-digitalbranddefense-com .lead-form label {
  color: #263b4e;
  font-size: 1rem;
  line-height: 1.45;
}
.layout-ext-digitalbranddefense-com .privacy-consent {
  color: #405467;
  font-size: .95rem;
  line-height: 1.5;
}
.layout-ext-digitalbranddefense-com
  :is(.lead-form input:not([type="checkbox"]):not([name="website"]), .lead-form textarea) {
  min-height: 48px;
  font-size: 1rem;
  line-height: 1.5;
}
.layout-ext-digitalbranddefense-com textarea { min-height: 144px; }

/* emailbrandprotection.it — authentication control plane, TASK-174 */
.layout-emailbrand-stack {
  --accent: #512f73;
  --accent-2: #0b7d6e;
  --accent-3: #d5683e;
  --soft: #f7f3fa;
}
.layout-emailbrand-stack .hero-premium {
  background:
    radial-gradient(circle at 82% 18%, rgba(213,104,62,.14), transparent 28%),
    linear-gradient(132deg, rgba(81,47,115,.14), transparent 44%),
    linear-gradient(180deg, #fff, #f7f3fa);
}
.layout-emailbrand-stack h1 {
  max-width: 760px;
  font-size: clamp(2.5rem, 5.1vw, 4.9rem);
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.layout-emailbrand-stack .email-control-map { padding: 16px; }
.email-control-map figure { width: 100%; margin: 0; }
.email-control-map svg { display: block; width: 100%; min-height: 330px; }
.email-control-map figcaption {
  margin: 10px 8px 2px;
  color: #334e68;
  font-size: 1rem;
  line-height: 1.55;
}
.email-control-map .stack-frame { fill: #f8fbfc; stroke: #b8d7d2; }
.email-control-map .stack-overline { fill: #512f73; font-size: 18px; font-weight: 800; letter-spacing: 1.6px; }
.email-control-map .mail-source rect, .email-control-map .mail-outcome rect { fill: #fff; stroke: #b8d7d2; }
.email-control-map .mail-source path { fill: none; stroke: #512f73; stroke-width: 3; stroke-linejoin: round; }
.email-control-map .mail-outcome path { fill: none; stroke: #0b7d6e; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.email-control-map text { fill: #21162d; font: 700 18px system-ui, sans-serif; }
.email-control-map .stack-muted { fill: #5d5264; font-size: 18px; font-weight: 650; }
.email-control-map .route-line { fill: none; stroke: url(#mail-route); stroke-width: 4; stroke-linecap: round; }
.email-control-map .control-stack > rect { fill: #102a43; }
.email-control-map .control-stack g rect { fill: #fff; stroke: #d6e4e8; }
.email-control-map .control-stack circle { fill: #0b7d6e; }
.email-control-map .control-stack g:nth-of-type(3) circle { fill: #d5683e; }
.email-control-map .enforcement-bar rect { fill: #e7f3f1; stroke: #9ccbc3; }
.email-control-map .enforcement-bar path { stroke: #628a95; stroke-width: 3; }
.email-control-map .enforcement-bar circle { fill: #0b7d6e; }
.email-control-map .risk-chip circle { fill: #0b7d6e; }
.email-control-map .risk-chip text { fill: #245b56; }
.mobile-control-stack { display: none; }
.layout-emailbrand-stack .editorial p { font-size: 1.03rem; }
.layout-emailbrand-stack .visual-model { font-size: .95rem; }
.layout-emailbrand-stack .route-matrix-x td { font-size: 1rem; }
.layout-emailbrand-stack .visual-card { min-height: 250px; }
.layout-emailbrand-stack .visual-card p { color: #334e68; font-size: 1rem; line-height: 1.72; }
.layout-emailbrand-stack .contact-grid { grid-template-columns: minmax(0, .82fr) minmax(380px, 1fr); gap: clamp(32px, 6vw, 76px); }
.layout-emailbrand-stack .lead-form { border-top: 4px solid var(--accent-2); box-shadow: 0 24px 60px -38px #102a43; }
.layout-emailbrand-stack .form-heading { display: grid; gap: 5px; margin-bottom: 4px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.layout-emailbrand-stack :is(.eyebrow, .strip-grid span, .route-matrix-x thead th) { font-size: .9rem; }
.layout-emailbrand-stack footer small { color: #405467; font-size: .94rem; line-height: 1.45; }
.layout-emailbrand-stack .form-heading span, .layout-emailbrand-stack .assurance-label { color: var(--accent); font-size: .9rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.layout-emailbrand-stack .form-heading strong { color: var(--ink); font-size: 1.08rem; line-height: 1.35; }
.layout-emailbrand-stack .contact-assurance { margin-top: 24px; padding: 22px; border-left: 4px solid var(--accent-2); background: #fff; box-shadow: var(--shadow); }
.layout-emailbrand-stack .contact-assurance ul { display: grid; gap: 10px; margin: 14px 0 0; padding: 0; list-style: none; }
.layout-emailbrand-stack .contact-assurance li { position: relative; padding-left: 24px; color: #243b53; line-height: 1.5; }
.layout-emailbrand-stack .contact-assurance li::before { content: "✓"; position: absolute; left: 0; color: var(--accent-2); font-weight: 900; }
.layout-emailbrand-stack .contact-assurance .privacy-note { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); color: #526777; font-size: .95rem; line-height: 1.55; text-align: left !important; }
.layout-emailbrand-stack .contact-assurance .privacy-note a { color: var(--accent); text-decoration: underline; text-underline-offset: 2px; }

/* markenschutzb2b.de — evidence-to-action decision chain, TASK-180 */
.layout-markenschutz-b2b {
  --accent: #5b243a;
  --accent-2: #1b3a57;
  --accent-3: #9a611a;
  --soft: #f8f3ef;
}
.layout-markenschutz-b2b .hero-premium {
  background:
    radial-gradient(circle at 86% 12%, rgba(197,139,53,.17), transparent 27%),
    linear-gradient(132deg, rgba(91,36,58,.14), transparent 45%),
    linear-gradient(180deg, #fff, #f8f3ef);
}
.layout-markenschutz-b2b h1 {
  max-width: 790px;
  font-size: clamp(2.55rem, 5.25vw, 5rem);
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.layout-markenschutz-b2b .protection-route-map { padding: 14px; }
.protection-route-map figure { width: 100%; margin: 0; }
.protection-route-map svg { display: block; width: 100%; min-height: 330px; }
.protection-route-map figcaption { margin: 12px 10px 2px; color: #33485b; font-size: 1rem; line-height: 1.55; }
.protection-route-map .route-frame { fill: #fbfaf8; stroke: #dac9c1; }
.protection-route-map .route-overline { fill: #5b243a; font: 800 21px system-ui, sans-serif; letter-spacing: 1.2px; }
.protection-route-map .route-axis { fill: none; stroke: url(#brand-route); stroke-width: 7; stroke-linecap: round; }
.protection-route-map .route-node { stroke: #fff; stroke-width: 6; }
.protection-route-map .node-signal, .protection-route-map .node-proof { fill: #5b243a; }
.protection-route-map .node-severity { fill: #1b3a57; }
.protection-route-map .node-action { fill: #9a611a; }
.protection-route-map .route-icons { fill: none; stroke: #fff; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.protection-route-map .route-copy text { fill: #172536; font: 800 21px system-ui, sans-serif; letter-spacing: .25px; }
.protection-route-map text.route-muted, .protection-route-map .route-muted { fill: #405467; font: 650 20px system-ui, sans-serif; letter-spacing: 0; }
.protection-route-map .route-decision rect { fill: #172536; }
.protection-route-map .route-decision path { fill: none; stroke: #e0b766; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.protection-route-map .route-decision text { fill: #fff; font: 800 22px system-ui, sans-serif; }
.protection-route-map .route-decision text.route-muted { fill: #e7edf1; font-size: 20px; font-weight: 650; }
/* TASK-304 — Il percorso di protezione era nascosto di default e reso visibile
   solo sotto i 940px, perche in origine su desktop c'era un SVG. La PR #287 ha
   sostituito quell'SVG con queste stesse card senza toccare il CSS: sopra i
   940px il riquadro hero restava quindi completamente vuoto, 447x360px senza
   alcun contenuto, mentre tablet e mobile mostravano le quattro fasi.
   La regressione e stata in produzione una settimana senza che alcun gate
   deterministico la vedesse: un riquadro vuoto non ha overflow, contrasto
   insufficiente, testo troppo piccolo ne violazioni axe. L'ha trovata il visual
   audit percettivo. Il nome della classe resta per continuita storica, ma il
   blocco non e piu solo per mobile. */
.mobile-protection-route { display: grid; gap: 10px; }
.mobile-protection-route div { display: grid; gap: 4px; padding: 14px 16px; border: 1px solid #dccbc4; border-radius: 10px; background: #fff; }
.mobile-protection-route strong { color: var(--accent); font-size: 1rem; }
.mobile-protection-route span { color: #33485b; font-size: 1rem; line-height: 1.45; }
.mobile-protection-route p { padding: 15px 16px; border-radius: 10px; color: #fff; background: linear-gradient(135deg, var(--accent), var(--accent-2)); font-size: 1rem; font-weight: 800; line-height: 1.45; }
.layout-markenschutz-b2b .eyebrow { font-size: .9rem; }
.layout-markenschutz-b2b .strip-grid span { color: #f0e3da; font-size: .9rem; }
.layout-markenschutz-b2b .visual-card p, .layout-markenschutz-b2b .route-matrix-x td { color: #33485b; font-size: 1rem; line-height: 1.65; }
.layout-markenschutz-b2b .route-matrix-x thead th { font-size: .9rem; }
.layout-markenschutz-b2b .contact-grid { grid-template-columns: minmax(0, .82fr) minmax(380px, 1fr); gap: clamp(32px, 6vw, 76px); }
.layout-markenschutz-b2b .lead-form { border-top: 4px solid var(--accent-3); box-shadow: 0 24px 60px -38px #172536; }
.layout-markenschutz-b2b .form-heading { display: grid; gap: 5px; margin-bottom: 4px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.layout-markenschutz-b2b .form-heading span, .layout-markenschutz-b2b .assurance-label { color: var(--accent); font-size: .9rem; line-height: 1.45; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.layout-markenschutz-b2b .form-heading strong { color: var(--ink); font-size: 1.08rem; line-height: 1.4; }
.layout-markenschutz-b2b .lead-form label { color: #24384a; font-size: 1rem; }
.layout-markenschutz-b2b .contact-assurance { margin-top: 24px; padding: 22px; border-left: 4px solid var(--accent-3); background: #fff; box-shadow: var(--shadow); }
.layout-markenschutz-b2b .contact-assurance ul { display: grid; gap: 10px; margin: 14px 0 0; padding: 0; list-style: none; }
.layout-markenschutz-b2b .contact-assurance li { position: relative; padding-left: 24px; color: #2e4356; line-height: 1.55; }
.layout-markenschutz-b2b .contact-assurance li::before { content: "✓"; position: absolute; left: 0; color: var(--accent); font-weight: 900; }
.layout-markenschutz-b2b .contact-assurance .privacy-note { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); color: #465a6d; font-size: .95rem; text-align: left !important; }
.layout-markenschutz-b2b .contact-assurance .privacy-note a { color: var(--accent); text-decoration: underline; text-underline-offset: 2px; }

/* TASK-183 — scoped readability uplift for production visual REVIEW findings */
:is(
  .layout-batch2-brandgovernance,
  .layout-batch3-compliancegov-it,
  .layout-batch3-online-markenschutzdeutschland-de,
  .layout-batch3-rinnovidomini-gov-it,
  .layout-batch3-socialimpersonation-com
) .editorial p:not(.eyebrow):not(.sub):not(.form-ok):not(.form-err) { color: #33485b; font-size: 1.03rem; line-height: 1.75; }
:is(
  .layout-batch2-brandgovernance,
  .layout-batch3-compliancegov-it,
  .layout-batch3-online-markenschutzdeutschland-de,
  .layout-batch3-rinnovidomini-gov-it,
  .layout-batch3-socialimpersonation-com
) :is(.visual-card p, .route-matrix-x td) { color: #33485b; font-size: 1rem; line-height: 1.65; }
:is(
  .layout-batch2-brandgovernance,
  .layout-batch3-compliancegov-it,
  .layout-batch3-online-markenschutzdeutschland-de,
  .layout-batch3-rinnovidomini-gov-it,
  .layout-batch3-socialimpersonation-com
) :is(.eyebrow, .hero-snapshot .hs-kicker, .strip-grid span, .route-matrix-x thead th) { font-size: .9rem; line-height: 1.45; }
:is(
  .layout-batch2-brandgovernance,
  .layout-batch3-compliancegov-it,
  .layout-batch3-online-markenschutzdeutschland-de,
  .layout-batch3-rinnovidomini-gov-it,
  .layout-batch3-socialimpersonation-com
) :is(.hs-list span, .matrix-cell span, footer small) { color: #405467; font-size: .94rem; line-height: 1.45; }
:is(
  .layout-batch2-brandgovernance,
  .layout-batch3-compliancegov-it,
  .layout-batch3-online-markenschutzdeutschland-de,
  .layout-batch3-rinnovidomini-gov-it,
  .layout-batch3-socialimpersonation-com
) .lead-form label { color: #263b4e; font-size: 1rem; }

/* TASK-235 — brandgovernance responsive topology and final readability */
.layout-batch2-brandgovernance
  :is(.eyebrow, .form-heading span, .assurance-label, .strip-grid span, .route-matrix-x thead th) {
  font-size: .9rem;
  line-height: 1.45;
}
.layout-batch2-brandgovernance
  .editorial p:not(.eyebrow):not(.sub):not(.form-ok):not(.form-err) {
  max-width: 68ch;
  color: #33484f;
  font-size: 1.03rem;
  line-height: 1.72;
}
.layout-batch2-brandgovernance :is(.visual-card p, .route-matrix-x td) {
  font-size: 1rem;
  line-height: 1.65;
}
.layout-batch2-brandgovernance
  :is(.visual-card p, .route-matrix-x td:not(.rmx-time):not(.rmx-out)) { color: #2f434a; }
.layout-batch2-brandgovernance .lead-form label {
  gap: 9px;
  color: #263a40;
  font-size: 1rem;
  line-height: 1.45;
}
.layout-batch2-brandgovernance
  :is(.lead-form input:not([type="checkbox"]):not([name="website"]), .lead-form textarea) {
  min-height: 48px;
  font-size: 1rem;
  line-height: 1.5;
}
.layout-batch2-brandgovernance .lead-form textarea { min-height: 144px; }
.layout-batch2-brandgovernance .lead-form ::placeholder { color: #52606d; opacity: 1; }
.layout-batch2-brandgovernance :is(.governance-decision-map .owner-kicker, .governance-decision-map .governance-cadence text) { font-size: 14px; }
.layout-batch2-brandgovernance .governance-decision-map :is(.node-detail, .governance-record .node-detail) { font-size: 14px; }

/* TASK-237 — dnsaziendale continuity control map and semantic readability */
.layout-ext-dnsaziendale-it {
  --dns-event: #7a3e35;
  --dns-availability: #234c8f;
  --dns-control: #155e57;
  --dns-coverage: #444b78;
  --dns-line: #9eb2bf;
}
.layout-ext-dnsaziendale-it .hero-visual.hero-illustration {
  min-height: 470px;
  padding: clamp(22px, 3vw, 34px);
  border-color: #afc2cc;
  background:
    radial-gradient(circle at 50% 52%, rgba(35,76,143,.12), transparent 22%),
    linear-gradient(145deg, #f8fbfd, #edf4f6);
  box-shadow: 0 24px 55px rgba(20,45,65,.14);
}
.layout-ext-dnsaziendale-it .hero-snapshot { position: relative; }
.layout-ext-dnsaziendale-it .hero-snapshot .hs-list {
  position: relative;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 52px 20px;
}
.layout-ext-dnsaziendale-it .hero-snapshot .hs-list::before {
  content: "";
  position: absolute;
  inset: 20px;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(var(--dns-line), var(--dns-line)) center / 2px calc(100% - 24px) no-repeat,
    linear-gradient(var(--dns-line), var(--dns-line)) center / calc(100% - 24px) 2px no-repeat;
}
.layout-ext-dnsaziendale-it .hero-snapshot .hs-list::after {
  content: "DNS";
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border: 5px solid #fff;
  border-radius: 50%;
  color: #fff;
  background: #172f46;
  box-shadow: 0 12px 26px rgba(23,47,70,.25);
  font-size: .95rem;
  font-weight: 900;
  transform: translate(-50%, -50%);
}
.layout-ext-dnsaziendale-it .hero-snapshot .hs-list li {
  position: relative;
  z-index: 1;
  min-width: 0;
  min-height: 116px;
  padding: 16px;
  border: 1px solid #c6d3da;
  border-top: 5px solid var(--dns-event);
  border-radius: 12px;
  background: #fff8f5;
  box-shadow: 0 10px 24px rgba(20,45,65,.08);
}
.layout-ext-dnsaziendale-it .hero-snapshot .hs-list li:nth-child(2) { border-top-color: var(--dns-availability); background: #f3f7fc; }
.layout-ext-dnsaziendale-it .hero-snapshot .hs-list li:nth-child(3) { border-top-color: var(--dns-control); background: #f1faf7; }
.layout-ext-dnsaziendale-it .hero-snapshot .hs-list li:nth-child(4) { border-top-color: var(--dns-coverage); background: #f5f5fb; }
.layout-ext-dnsaziendale-it .hero-snapshot .hs-list li:nth-child(1) .ic { color: var(--dns-event); }
.layout-ext-dnsaziendale-it .hero-snapshot .hs-list li:nth-child(2) .ic { color: var(--dns-availability); }
.layout-ext-dnsaziendale-it .hero-snapshot .hs-list li:nth-child(3) .ic { color: var(--dns-control); }
.layout-ext-dnsaziendale-it .hero-snapshot .hs-list li:nth-child(4) .ic { color: var(--dns-coverage); }
.layout-ext-dnsaziendale-it
  :is(.eyebrow, .hero-snapshot .hs-kicker, .strip-grid span, .route-matrix-x thead th) {
  font-size: .9rem;
  line-height: 1.45;
}
.layout-ext-dnsaziendale-it :is(.hs-list span, .matrix-cell span, footer small) {
  color: #405467;
  font-size: .95rem;
  line-height: 1.5;
}
.layout-ext-dnsaziendale-it :is(.visual-card p, .route-matrix-x td) {
  font-size: 1rem;
  line-height: 1.68;
}
.layout-ext-dnsaziendale-it .route-matrix-x td:not(.rmx-time):not(.rmx-out) { color: #33485b; }
.layout-ext-dnsaziendale-it .privacy-consent { color: #405467; font-size: .95rem; line-height: 1.5; }
.layout-ext-dnsaziendale-it .lead-form label { color: #263b4e; font-size: 1rem; line-height: 1.45; }
.layout-ext-dnsaziendale-it
  :is(.lead-form input:not([type="checkbox"]):not([name="website"]), .lead-form textarea) {
  min-height: 48px;
  font-size: 1rem;
  line-height: 1.5;
}
.layout-ext-dnsaziendale-it .lead-form textarea { min-height: 144px; }
.layout-ext-dnsaziendale-it .route-matrix-x thead th:nth-child(1) { background: #17324d; }
.layout-ext-dnsaziendale-it .route-matrix-x thead th:nth-child(2) { background: var(--dns-event); }
.layout-ext-dnsaziendale-it .route-matrix-x thead th:nth-child(3) { background: var(--dns-control); }
.layout-ext-dnsaziendale-it .route-matrix-x thead th:nth-child(4) { background: var(--dns-coverage); }
.layout-ext-dnsaziendale-it .route-matrix-x td:nth-child(2) { color: #613a35; background: #fff8f5; }
.layout-ext-dnsaziendale-it .route-matrix-x td.rmx-time { color: #124f4a; background: #edf8f5; }
.layout-ext-dnsaziendale-it .route-matrix-x td.rmx-out { color: #363d69; background: #f2f2fa; }
.layout-ext-dnsaziendale-it .route-matrix-x tbody tr:nth-child(1) .rmx-route { border-left: 6px solid var(--dns-event); }
.layout-ext-dnsaziendale-it .route-matrix-x tbody tr:nth-child(2) .rmx-route { border-left: 6px solid var(--dns-availability); }
.layout-ext-dnsaziendale-it .route-matrix-x tbody tr:nth-child(3) .rmx-route { border-left: 6px solid var(--dns-control); }
.layout-ext-dnsaziendale-it .route-matrix-x tbody tr:nth-child(4) .rmx-route { border-left: 6px solid var(--dns-coverage); }
.layout-ext-dnsaziendale-it .model-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.layout-ext-dnsaziendale-it .model-summary .matrix-cell { border-top: 4px solid var(--dns-availability); background: #f3f7fc; }
.layout-ext-dnsaziendale-it .model-summary .matrix-cell:nth-child(2) { border-top-color: var(--dns-control); background: #f1faf7; }
.layout-ext-dnsaziendale-it .model-summary .matrix-cell:nth-child(3) { border-top-color: var(--dns-event); background: #fff8f5; }
.layout-ext-dnsaziendale-it .model-summary .matrix-cell:nth-child(4) { border-top-color: var(--dns-coverage); background: #f5f5fb; }
.layout-ext-dnsaziendale-it .editorial-cards .visual-card { border-top: 5px solid var(--dns-event); }
.layout-ext-dnsaziendale-it .editorial-cards .visual-card:nth-child(2) { border-top-color: var(--dns-control); }
.layout-ext-dnsaziendale-it .editorial-cards .visual-card:nth-child(3) { border-top-color: var(--dns-coverage); }

/* TASK-238 — registrazione-domini-gov.it crisp heading and readable details */
.layout-ext-registrazione-domini-gov-it
  :is(.eyebrow, .hero-snapshot .hs-kicker, .strip-grid span, .route-matrix-x thead th) {
  font-size: .9rem;
  line-height: 1.45;
}
.layout-ext-registrazione-domini-gov-it :is(.hs-list span, .matrix-cell span, footer small) {
  color: #405467;
  font-size: .95rem;
  line-height: 1.5;
}
.layout-ext-registrazione-domini-gov-it .route-matrix-x td { font-size: 1rem; line-height: 1.65; }
.layout-ext-registrazione-domini-gov-it .route-matrix-x td:not(.rmx-time):not(.rmx-out) { color: #33485b; }
.layout-ext-registrazione-domini-gov-it .lead-form label { gap: 9px; color: #263b4e; font-size: 1rem; line-height: 1.45; }
.layout-ext-registrazione-domini-gov-it .lead-form .privacy-consent { color: #405467; font-size: .95rem; line-height: 1.5; }
.layout-ext-registrazione-domini-gov-it
  :is(.lead-form input:not([type="checkbox"]):not([name="website"]), .lead-form textarea) {
  min-height: 48px;
  font-size: 1rem;
  line-height: 1.5;
}
.layout-ext-registrazione-domini-gov-it .lead-form textarea { min-height: 144px; }
.layout-ext-registrazione-domini-gov-it .lead-form ::placeholder { color: #52606d; opacity: 1; }
.layout-ext-registrazione-domini-gov-it .lead-form :is(.form-ok, .form-err) { font-size: 1rem; line-height: 1.5; }

/* TASK-239 — domainrecovery.expert readable purple-grey support text */
.layout-recovery-expert
  :is(.eyebrow, .hero-snapshot .hs-kicker, .strip-grid span, .route-matrix-x thead th) {
  font-size: .9rem;
  line-height: 1.45;
}
.layout-recovery-expert :is(.hs-list span, .matrix-cell span, footer small) {
  color: #51465e;
  font-size: .95rem;
  line-height: 1.5;
}
.layout-recovery-expert .route-matrix-x td:not(.rmx-time):not(.rmx-out) { color: #4b4057; }
.layout-recovery-expert .lead-form .privacy-consent { color: #51465e; font-size: .95rem; line-height: 1.5; }

/* TASK-240 — takedownmarchi.it readable microcopy and secondary contrast */
.layout-ext-takedownmarchi-it
  :is(.eyebrow, .hero-snapshot .hs-kicker, .strip-grid span, .route-matrix-x thead th) {
  font-size: .9rem;
  line-height: 1.45;
}
.layout-ext-takedownmarchi-it :is(.hs-list span, .matrix-cell span, footer small) {
  color: #405467;
  font-size: .95rem;
  line-height: 1.5;
}
.layout-ext-takedownmarchi-it .route-matrix-x td { font-size: 1rem; line-height: 1.65; }
.layout-ext-takedownmarchi-it .route-matrix-x td:not(.rmx-time):not(.rmx-out) { color: #33485b; }
.layout-ext-takedownmarchi-it .privacy-consent { color: #405467; font-size: .95rem; line-height: 1.5; }
.layout-ext-takedownmarchi-it .lead-form label { gap: 9px; color: #263b4e; font-size: 1rem; line-height: 1.45; }
.layout-ext-takedownmarchi-it
  :is(.lead-form input:not([type="checkbox"]):not([name="website"]), .lead-form textarea) {
  min-height: 48px;
  font-size: 1rem;
  line-height: 1.5;
}
.layout-ext-takedownmarchi-it .lead-form textarea { min-height: 144px; }
.layout-ext-takedownmarchi-it .lead-form ::placeholder { color: #52606d; opacity: 1; }
.layout-ext-takedownmarchi-it .lead-form :is(.form-ok, .form-err) { font-size: 1rem; line-height: 1.5; }

/* TASK-241 — migrazione-govit.it cutover route and executive reading rhythm */
.layout-batch3-migrazione-govit-it {
  --ink: #112938;
  --muted: #405664;
  --line: #c9d7dc;
  --accent: #003c74;
  --accent-2: #0f6f68;
  --accent-3: #9a5a1e;
  --soft: #eef6f5;
}
.layout-batch3-migrazione-govit-it .hero-visual.hero-illustration {
  min-height: 470px;
  padding: clamp(22px, 3vw, 34px);
  border-color: #b8cbd1;
  background:
    linear-gradient(145deg, rgba(0,60,116,.08), transparent 48%),
    linear-gradient(180deg, #fff, #eef6f5);
  box-shadow: 0 26px 62px rgba(17,41,56,.15);
}
.layout-batch3-migrazione-govit-it .hero-snapshot .hs-list {
  position: relative;
  gap: 10px;
  counter-reset: migration-control;
}
.layout-batch3-migrazione-govit-it .hero-snapshot .hs-list li {
  position: relative;
  counter-increment: migration-control;
  grid-template-columns: 36px 24px minmax(0, 1fr);
  align-items: center;
  min-width: 0;
  min-height: 76px;
  padding: 13px 14px;
  border: 1px solid #c8d6dc;
  border-left: 6px solid var(--accent);
  border-radius: 11px;
  background: #f2f6fb;
  box-shadow: 0 9px 22px rgba(17,41,56,.07);
}
.layout-batch3-migrazione-govit-it .hero-snapshot .hs-list li::before {
  content: counter(migration-control, decimal-leading-zero);
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: #fff;
  background: var(--accent);
  font-size: .9rem;
  font-weight: 900;
}
.layout-batch3-migrazione-govit-it .hero-snapshot .hs-list li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 30px;
  width: 2px;
  height: 10px;
  background: #8da9b5;
}
.layout-batch3-migrazione-govit-it .hero-snapshot .hs-list li:nth-child(2) { border-left-color: var(--accent-2); background: #eef8f6; }
.layout-batch3-migrazione-govit-it .hero-snapshot .hs-list li:nth-child(3) { border-left-color: var(--accent-3); background: #fff7ed; }
.layout-batch3-migrazione-govit-it .hero-snapshot .hs-list li:nth-child(4) { border-left-color: var(--ink); background: #f2f4f6; }
.layout-batch3-migrazione-govit-it .hero-snapshot .hs-list li:nth-child(2)::before { background: var(--accent-2); }
.layout-batch3-migrazione-govit-it .hero-snapshot .hs-list li:nth-child(3)::before { background: var(--accent-3); }
.layout-batch3-migrazione-govit-it .hero-snapshot .hs-list li:nth-child(4)::before { background: var(--ink); }
.layout-batch3-migrazione-govit-it .hero-snapshot .hs-list li:nth-child(2) .ic { color: var(--accent-2); }
.layout-batch3-migrazione-govit-it .hero-snapshot .hs-list li:nth-child(3) .ic { color: var(--accent-3); }
.layout-batch3-migrazione-govit-it .hero-snapshot .hs-list li:nth-child(4) .ic { color: var(--ink); }
.layout-batch3-migrazione-govit-it .hero-snapshot .hs-list li .ic { margin-top: 0; }
.layout-batch3-migrazione-govit-it .hero-snapshot .hs-list li > div { min-width: 0; }
.layout-batch3-migrazione-govit-it
  :is(.eyebrow, .hero-snapshot .hs-kicker, .strip-grid span, .route-matrix-x thead th) {
  font-size: .9rem;
  line-height: 1.45;
}
.layout-batch3-migrazione-govit-it :is(.hs-list span, .matrix-cell span, footer small) {
  color: #405664;
  font-size: .95rem;
  line-height: 1.5;
}
.layout-batch3-migrazione-govit-it .editorial p:not(.eyebrow):not(.sub):not(.form-ok):not(.form-err) {
  max-width: 68ch;
  color: #334a56;
  font-size: 1.03rem;
  line-height: 1.78;
  text-align: left;
}
.layout-batch3-migrazione-govit-it .editorial p + p { margin-top: 20px; }
.layout-batch3-migrazione-govit-it :is(.visual-card p, .route-matrix-x td) { font-size: 1rem; line-height: 1.68; }
.layout-batch3-migrazione-govit-it
  :is(.visual-card p, .route-matrix-x td:not(.rmx-time):not(.rmx-out)) { color: #334a56; }
.layout-batch3-migrazione-govit-it .editorial-cards .visual-card {
  border-top: 5px solid var(--accent);
  background: linear-gradient(155deg, #fff 0 82%, rgba(0,60,116,.07));
}
.layout-batch3-migrazione-govit-it .editorial-cards .visual-card:nth-child(2) {
  border-top-color: var(--accent-2);
  background: linear-gradient(155deg, #fff 0 82%, rgba(15,111,104,.07));
}
.layout-batch3-migrazione-govit-it .editorial-cards .visual-card:nth-child(3) {
  border-top-color: var(--accent-3);
  background: linear-gradient(155deg, #fff 0 82%, rgba(154,90,30,.07));
}
.layout-batch3-migrazione-govit-it .advisory-depth { border-block: 1px solid var(--line); background: #eef6f5; }
.layout-batch3-migrazione-govit-it .remediation-depth { background: #f8f4ec; }
.layout-batch3-migrazione-govit-it .advisory-depth .depth-grid,
.layout-batch3-migrazione-govit-it .remediation-depth .wrap {
  max-width: 980px;
  padding-left: clamp(22px, 4vw, 48px);
  border-left: 5px solid var(--accent-2);
}
.layout-batch3-migrazione-govit-it .remediation-depth .wrap { border-left-color: var(--accent-3); }
.layout-batch3-migrazione-govit-it .privacy-consent { color: #405664; font-size: .95rem; line-height: 1.5; }
.layout-batch3-migrazione-govit-it .lead-form label { gap: 9px; color: #263b46; font-size: 1rem; line-height: 1.45; }
.layout-batch3-migrazione-govit-it
  :is(.lead-form input:not([type="checkbox"]):not([name="website"]), .lead-form textarea) {
  min-height: 48px;
  font-size: 1rem;
  line-height: 1.5;
}
.layout-batch3-migrazione-govit-it .lead-form textarea { min-height: 144px; }
.layout-batch3-migrazione-govit-it .lead-form ::placeholder { color: #52606d; opacity: 1; }
.layout-batch3-migrazione-govit-it .lead-form :is(.form-ok, .form-err) { font-size: 1rem; line-height: 1.5; }

/* TASK-242 — brandprotectionplatform.com connected operating control plane */
.layout-ext-brandprotectionplatform-com {
  --platform-core: #183b66;
  --platform-tools: #7a4538;
  --platform-owner: #155e57;
  --platform-report: #343f6a;
}
.layout-ext-brandprotectionplatform-com .hero-visual.hero-illustration {
  min-height: 450px;
  padding: clamp(22px, 3vw, 34px);
  border-color: #afbecd;
  background:
    radial-gradient(circle at 68% 38%, rgba(24,59,102,.15), transparent 27%),
    linear-gradient(145deg, #f8fafc, #edf3f7);
  box-shadow: 0 24px 55px rgba(18,40,64,.14);
}
.layout-ext-brandprotectionplatform-com .hero-snapshot .hs-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-areas: "tools core" "owners core" "report report";
  gap: 14px 18px;
}
.layout-ext-brandprotectionplatform-com .hero-snapshot .hs-list li {
  position: relative;
  min-width: 0;
  min-height: 104px;
  padding: 16px;
  border: 1px solid #c7d2dc;
  border-left: 5px solid var(--platform-tools);
  border-radius: 12px;
  background: #fff8f5;
  box-shadow: 0 10px 24px rgba(18,40,64,.08);
}
.layout-ext-brandprotectionplatform-com .hero-snapshot .hs-list li:nth-child(1) {
  grid-area: core;
  align-content: center;
  border-color: var(--platform-core);
  background: linear-gradient(145deg, #183b66, #234c8f);
}
.layout-ext-brandprotectionplatform-com .hero-snapshot .hs-list li:nth-child(2) { grid-area: tools; }
.layout-ext-brandprotectionplatform-com .hero-snapshot .hs-list li:nth-child(3) {
  grid-area: owners;
  border-left-color: var(--platform-owner);
  background: #f1faf7;
}
.layout-ext-brandprotectionplatform-com .hero-snapshot .hs-list li:nth-child(4) {
  grid-area: report;
  border-color: var(--platform-report);
  background: linear-gradient(135deg, #343f6a, #26334f);
}
.layout-ext-brandprotectionplatform-com .hero-snapshot .hs-list li:nth-child(1) :is(.ic, strong, span),
.layout-ext-brandprotectionplatform-com .hero-snapshot .hs-list li:nth-child(4) :is(.ic, strong, span) { color: #fff; }
.layout-ext-brandprotectionplatform-com .model-panel {
  border-top: 5px solid var(--platform-core);
  background: linear-gradient(180deg, #fff, #f5f8fa);
}
.layout-ext-brandprotectionplatform-com .route-matrix-x thead th:nth-child(1) { background: var(--platform-core); }
.layout-ext-brandprotectionplatform-com .route-matrix-x thead th:nth-child(2) { background: var(--platform-tools); }
.layout-ext-brandprotectionplatform-com .route-matrix-x thead th:nth-child(3) { background: var(--platform-owner); }
.layout-ext-brandprotectionplatform-com .route-matrix-x thead th:nth-child(4) { background: var(--platform-report); }
.layout-ext-brandprotectionplatform-com .route-matrix-x td:nth-child(2) { color: #603a32; background: #fff8f5; }
.layout-ext-brandprotectionplatform-com .route-matrix-x td.rmx-time { color: #124f4a; background: #edf8f5; }
.layout-ext-brandprotectionplatform-com .route-matrix-x td.rmx-out { color: #343b65; background: #f1f2fa; }
.layout-ext-brandprotectionplatform-com .model-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.layout-ext-brandprotectionplatform-com .model-summary .matrix-cell {
  position: relative;
  border-top: 5px solid var(--platform-core);
  background: #f4f7fb;
}
.layout-ext-brandprotectionplatform-com .model-summary .matrix-cell:nth-child(2) { border-top-color: #2f7180; }
.layout-ext-brandprotectionplatform-com .model-summary .matrix-cell:nth-child(3) { border-top-color: var(--platform-owner); }
.layout-ext-brandprotectionplatform-com .model-summary .matrix-cell:nth-child(4) { border-top-color: var(--platform-report); }
.layout-ext-brandprotectionplatform-com .editorial-cards .visual-card {
  border-top: 5px solid var(--accent);
  background: linear-gradient(155deg, #fff 0 82%, rgba(41,77,111,.06));
}
.layout-ext-brandprotectionplatform-com .editorial-cards .visual-card:nth-child(2) { border-top-color: var(--accent-2); }
.layout-ext-brandprotectionplatform-com .editorial-cards .visual-card:nth-child(3) { border-top-color: var(--accent-3); }

/* TASK-243 — dnsgovernance.it executive rhythm and decision checkpoints */
.layout-batch2-dnsgovernance .editorial p:not(.eyebrow):not(.sub):not(.form-ok):not(.form-err) {
  max-width: 68ch;
  color: #33485b;
  font-size: 1.03rem;
  line-height: 1.78;
  text-align: left;
}
.layout-batch2-dnsgovernance .editorial p + p { margin-top: 20px; }
.layout-batch2-dnsgovernance .editorial-cards .visual-card {
  border-top: 5px solid var(--accent);
  background: linear-gradient(155deg, #fff 0 82%, rgba(41,77,111,.07));
}
.layout-batch2-dnsgovernance .editorial-cards .visual-card:nth-child(2) {
  border-top-color: var(--accent-2);
  background: linear-gradient(155deg, #fff 0 82%, rgba(108,127,80,.08));
}
.layout-batch2-dnsgovernance .editorial-cards .visual-card:nth-child(3) {
  border-top-color: var(--accent-3);
  background: linear-gradient(155deg, #fff 0 82%, rgba(201,168,74,.10));
}
.layout-batch2-dnsgovernance .advisory-depth { border-block: 1px solid var(--line); background: #eef4f1; }
.layout-batch2-dnsgovernance .remediation-depth { background: #f8f4ec; }
.layout-batch2-dnsgovernance .advisory-depth .depth-grid,
.layout-batch2-dnsgovernance .remediation-depth .wrap {
  max-width: 980px;
  padding-left: clamp(22px, 4vw, 48px);
  border-left: 5px solid var(--accent-2);
}
.layout-batch2-dnsgovernance .remediation-depth .wrap { border-left-color: var(--accent-3); }
.layout-batch2-dnsgovernance :is(.advisory-depth, .remediation-depth) .eyebrow {
  display: inline-flex;
  padding: .3rem .55rem;
  border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--line));
  border-radius: 999px;
  background: #fff;
}
.layout-batch2-dnsgovernance .lead-form label { gap: 9px; color: #294d6f; font-size: 1rem; line-height: 1.45; }
.layout-batch2-dnsgovernance
  :is(.lead-form input:not([type="checkbox"]):not([name="website"]), .lead-form textarea) {
  min-height: 48px;
  font-size: 1rem;
  line-height: 1.5;
}
.layout-batch2-dnsgovernance .lead-form textarea { min-height: 144px; }

/* TASK-244 — domini-istituzionali.it readable evidence matrix and modules */
.layout-batch3-domini-istituzionali-it {
  --ink: #112938;
  --muted: #405664;
  --line: #c9d7dc;
  --accent: #003c74;
  --accent-2: #0f6f68;
  --accent-3: #9a5a1e;
  --soft: #eef6f5;
}
.layout-batch3-domini-istituzionali-it .route-matrix-x thead th { padding: 16px 20px; }
.layout-batch3-domini-istituzionali-it .route-matrix-x td { padding: 19px 20px; }
.layout-batch3-domini-istituzionali-it .route-matrix-x td:not(.rmx-time):not(.rmx-out) { color: #334a56; }
.layout-batch3-domini-istituzionali-it .route-matrix-x thead th:nth-child(1) { background: var(--ink); }
.layout-batch3-domini-istituzionali-it .route-matrix-x thead th:nth-child(2) { background: var(--accent); }
.layout-batch3-domini-istituzionali-it .route-matrix-x thead th:nth-child(3) { background: var(--accent-2); }
.layout-batch3-domini-istituzionali-it .route-matrix-x thead th:nth-child(4) { background: var(--accent-3); }
.layout-batch3-domini-istituzionali-it .route-matrix-x td:nth-child(2) { color: #183f5c; background: #f1f6fa; }
.layout-batch3-domini-istituzionali-it .route-matrix-x td.rmx-time { color: #124f4a; background: #edf8f5; }
.layout-batch3-domini-istituzionali-it .route-matrix-x td.rmx-out { color: #714214; background: #fff7ed; }
.layout-batch3-domini-istituzionali-it .editorial-cards .visual-card {
  border-top: 5px solid var(--accent);
  background: linear-gradient(155deg, #fff 0 82%, rgba(0,60,116,.07));
}
.layout-batch3-domini-istituzionali-it .editorial-cards .visual-card:nth-child(2) {
  border-top-color: var(--accent-2);
  background: linear-gradient(155deg, #fff 0 82%, rgba(15,111,104,.07));
}
.layout-batch3-domini-istituzionali-it .editorial-cards .visual-card:nth-child(3) {
  border-top-color: var(--accent-3);
  background: linear-gradient(155deg, #fff 0 82%, rgba(154,90,30,.07));
}
.layout-batch3-domini-istituzionali-it .advisory-depth { border-block: 1px solid var(--line); background: #eef6f5; }
.layout-batch3-domini-istituzionali-it .remediation-depth { background: #f8f4ec; }
.layout-batch3-domini-istituzionali-it .advisory-depth .depth-grid,
.layout-batch3-domini-istituzionali-it .remediation-depth .wrap {
  max-width: 980px;
  padding-left: clamp(22px, 4vw, 48px);
  border-left: 5px solid var(--accent-2);
}
.layout-batch3-domini-istituzionali-it .remediation-depth .wrap { border-left-color: var(--accent-3); }
.layout-batch3-domini-istituzionali-it .model-matrix.model-summary { gap: 16px; }
.layout-batch3-domini-istituzionali-it .matrix-cell { padding: 18px; }
.layout-batch3-domini-istituzionali-it .lead-form { gap: 18px; }
.layout-batch3-domini-istituzionali-it .lead-form label { gap: 9px; color: #29373f; font-size: 1rem; line-height: 1.45; }
.layout-batch3-domini-istituzionali-it
  :is(.lead-form input:not([type="checkbox"]):not([name="website"]), .lead-form textarea) {
  min-height: 48px;
  font-size: 1rem;
  line-height: 1.5;
}
.layout-batch3-domini-istituzionali-it .lead-form textarea { min-height: 144px; }

.layout-batch3-compliancegov-it h1 {
  color: #0d1726;
  background: none;
  text-shadow: none;
  filter: none;
  -webkit-text-fill-color: #0d1726;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.layout-batch3-compliancegov-it
  :is(.eyebrow, .hero-snapshot .hs-kicker, .strip-grid span, .route-matrix-x thead th) {
  font-size: .9rem;
  line-height: 1.45;
}
.layout-batch3-compliancegov-it :is(.hs-list span, .matrix-cell span, footer small) {
  color: #405467;
  font-size: .95rem;
  line-height: 1.5;
}
.layout-batch3-compliancegov-it .route-matrix-x td { font-size: 1rem; line-height: 1.68; }
.layout-batch3-compliancegov-it .route-matrix-x td:not(.rmx-time):not(.rmx-out) { color: #33485b; }
.layout-batch3-compliancegov-it .route-matrix-x td.rmx-time { color: var(--ink); }
.layout-batch3-compliancegov-it .route-matrix-x td.rmx-out { color: var(--accent); }
.layout-batch3-compliancegov-it .lead-form label {
  color: #263b4e;
  font-size: 1rem;
  line-height: 1.45;
}
.layout-batch3-compliancegov-it .privacy-consent {
  color: #405467;
  font-size: .95rem;
  line-height: 1.5;
}
.layout-batch3-compliancegov-it
  :is(.lead-form input:not([type="checkbox"]):not([name="website"]), .lead-form textarea) {
  min-height: 48px;
  font-size: 1rem;
  line-height: 1.5;
}
.layout-batch3-compliancegov-it textarea { min-height: 144px; }

/* domini-govit.it — clean mobile H1 and executive-readable lifecycle detail, TASK-222 */
.layout-batch3-domini-govit-it h1 {
  color: #0d1726;
  background: none;
  background-image: none;
  text-shadow: none;
  filter: none;
  -webkit-text-fill-color: #0d1726;
  -webkit-text-stroke: 0 transparent;
  paint-order: normal;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.layout-batch3-domini-govit-it
  :is(.eyebrow, .hero-snapshot .hs-kicker, .strip-grid span, .route-matrix-x thead th) {
  font-size: .9rem;
  line-height: 1.45;
}
.layout-batch3-domini-govit-it :is(.hs-list span, .matrix-cell span, footer small) {
  color: #405467;
  font-size: .95rem;
  line-height: 1.5;
}
.layout-batch3-domini-govit-it
  .editorial p:not(.eyebrow):not(.sub):not(.form-ok):not(.form-err) {
  max-width: 68ch;
  color: #33485b;
  font-size: 1.03rem;
  line-height: 1.78;
  text-align: left;
}
.layout-batch3-domini-govit-it .editorial p + p { margin-top: 20px; }
.layout-batch3-domini-govit-it :is(.visual-card p, .route-matrix-x td) {
  font-size: 1rem;
  line-height: 1.68;
}
.layout-batch3-domini-govit-it
  :is(.visual-card p, .route-matrix-x td:not(.rmx-time):not(.rmx-out)) {
  color: #33485b;
}
.layout-batch3-domini-govit-it .lead-form label {
  color: #263b4e;
  font-size: 1rem;
  line-height: 1.45;
}
.layout-batch3-domini-govit-it .privacy-consent {
  color: #405467;
  font-size: .95rem;
  line-height: 1.5;
}
.layout-batch3-domini-govit-it
  :is(.lead-form input:not([type="checkbox"]):not([name="website"]), .lead-form textarea) {
  min-height: 48px;
  font-size: 1rem;
  line-height: 1.5;
}
.layout-batch3-domini-govit-it textarea { min-height: 144px; }

/* domini-governativi.it — government identity threat intelligence, TASK-225 */
.layout-ext-domini-governativi-it {
  --ink: #202435;
  --muted: #4d5264;
  --accent: #5b2341;
  --accent-2: #13685f;
  --accent-3: #9a5a16;
  --soft: #f6f1ec;
  --line: #d8ced3;
}
.layout-ext-domini-governativi-it .hero-premium {
  background:
    radial-gradient(circle at 88% 8%, rgba(154, 90, 22, .17), transparent 27%),
    linear-gradient(137deg, rgba(91, 35, 65, .14), transparent 43%),
    linear-gradient(180deg, #fff, #f6f1ec);
}
.layout-ext-domini-governativi-it .government-threat-map {
  min-height: 500px;
  padding: clamp(22px, 3vw, 34px);
  border-color: #cbb8c2;
  background: linear-gradient(155deg, #fff 0 56%, #f2e8e1 100%);
  box-shadow: 0 24px 58px rgba(50, 25, 39, .16);
}
.layout-ext-domini-governativi-it .threat-map-heading {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: baseline;
  margin-bottom: 13px;
}
.layout-ext-domini-governativi-it .threat-map-heading .hs-kicker { margin: 0; }
.layout-ext-domini-governativi-it .threat-map-heading span {
  color: #5d4653;
  font-size: .9rem;
  font-weight: 800;
}
.layout-ext-domini-governativi-it .threat-map-core {
  position: relative;
  display: grid;
  gap: 3px;
  margin-bottom: 13px;
  padding: 14px 18px;
  border: 1px solid #c9b2bd;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(105deg, var(--accent), #3e3e63);
}
.layout-ext-domini-governativi-it .threat-map-core::after {
  content: "";
  position: absolute;
  left: 28px;
  bottom: -14px;
  width: 2px;
  height: 14px;
  background: #a68896;
}
.layout-ext-domini-governativi-it .threat-map-core strong { font-size: 1rem; letter-spacing: .06em; }
.layout-ext-domini-governativi-it .threat-map-core span { color: #f4e9ef; font-size: .95rem; }
.layout-ext-domini-governativi-it .threat-map-lanes {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.layout-ext-domini-governativi-it .threat-map-lanes li {
  display: grid;
  grid-template-columns: 1.05fr 1.25fr .8fr .8fr;
  gap: 9px;
  align-items: center;
  min-height: 64px;
  padding: 12px 13px;
  border: 1px solid #dacfd4;
  border-left: 7px solid var(--accent);
  border-radius: 10px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 8px 20px rgba(50,25,39,.07);
}
.layout-ext-domini-governativi-it .threat-map-lanes li:nth-child(2) { border-left-color: #5b5980; }
.layout-ext-domini-governativi-it .threat-map-lanes li:nth-child(3) { border-left-color: var(--accent-3); }
.layout-ext-domini-governativi-it .threat-map-lanes li:nth-child(4) { border-left-color: #9c3f3b; }
.layout-ext-domini-governativi-it .threat-map-lanes :is(strong, span, b, em) {
  min-width: 0;
  font-size: .95rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.layout-ext-domini-governativi-it .threat-map-lanes strong { color: var(--ink); }
.layout-ext-domini-governativi-it .threat-map-lanes span { color: #48566a; }
.layout-ext-domini-governativi-it .threat-map-lanes b { color: var(--accent); }
.layout-ext-domini-governativi-it .threat-map-lanes em { color: var(--accent-2); font-style: normal; font-weight: 800; }
.layout-ext-domini-governativi-it .threat-map-owner {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 12px;
  margin-top: 13px;
  padding: 12px 14px;
  border-radius: 9px;
  background: #e9f3f1;
}
.layout-ext-domini-governativi-it .threat-map-owner span {
  grid-row: 1 / 3;
  align-self: center;
  color: var(--accent-2);
  font-size: .9rem;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.layout-ext-domini-governativi-it .threat-map-owner strong { color: var(--ink); font-size: .98rem; }
.layout-ext-domini-governativi-it .threat-map-owner b { color: #405467; font-size: .95rem; }
.layout-ext-domini-governativi-it
  :is(.eyebrow, .hero-snapshot .hs-kicker, .strip-grid span, .route-matrix-x thead th) {
  font-size: .9rem;
  line-height: 1.45;
}
.layout-ext-domini-governativi-it :is(.hs-list span, .matrix-cell span, footer small) {
  color: #405467;
  font-size: .95rem;
  line-height: 1.5;
}
.layout-ext-domini-governativi-it
  .editorial p:not(.eyebrow):not(.sub):not(.form-ok):not(.form-err) {
  max-width: 68ch;
  color: #33485b;
  font-size: 1.03rem;
  line-height: 1.78;
  text-align: left;
}
.layout-ext-domini-governativi-it .editorial p + p { margin-top: 20px; }
.layout-ext-domini-governativi-it :is(.visual-card p, .route-matrix-x td) {
  font-size: 1rem;
  line-height: 1.68;
}
.layout-ext-domini-governativi-it
  :is(.visual-card p, .route-matrix-x td:not(.rmx-time):not(.rmx-out)) { color: #33485b; }
.layout-ext-domini-governativi-it .editorial-cards .visual-card {
  min-height: 265px;
  border-top: 5px solid var(--accent);
  background: linear-gradient(155deg, #fff 0 76%, rgba(91,35,65,.09));
}
.layout-ext-domini-governativi-it .editorial-cards .visual-card::before {
  width: auto;
  height: auto;
  color: var(--accent);
  background: none;
  font-size: .9rem;
  font-weight: 900;
  letter-spacing: .08em;
}
.layout-ext-domini-governativi-it .editorial-cards .visual-card:nth-child(1)::before { content: "01 / SEGNALI"; }
.layout-ext-domini-governativi-it .editorial-cards .visual-card:nth-child(2) {
  border-top-color: var(--accent-3);
  background: linear-gradient(155deg, #fff 0 76%, rgba(154,90,22,.09));
}
.layout-ext-domini-governativi-it .editorial-cards .visual-card:nth-child(2)::before { content: "02 / GRAVITÀ"; color: var(--accent-3); }
.layout-ext-domini-governativi-it .editorial-cards .visual-card:nth-child(3) {
  border-top-color: var(--accent-2);
  background: linear-gradient(155deg, #fff 0 76%, rgba(19,104,95,.09));
}
.layout-ext-domini-governativi-it .editorial-cards .visual-card:nth-child(3)::before { content: "03 / PRESIDIO"; color: var(--accent-2); }
.layout-ext-domini-governativi-it .route-matrix-x thead th {
  background: linear-gradient(100deg, var(--accent), #3e3e63);
}
.layout-ext-domini-governativi-it .route-matrix-x tbody tr:nth-child(1) { background: #fbf5f8; }
.layout-ext-domini-governativi-it .route-matrix-x tbody tr:nth-child(2) { background: #f3f3f8; }
.layout-ext-domini-governativi-it .route-matrix-x tbody tr:nth-child(3) { background: #fbf5ed; }
.layout-ext-domini-governativi-it .route-matrix-x tbody tr:nth-child(4) { background: #f8eeee; }
.layout-ext-domini-governativi-it .lead-form label {
  color: #263b4e;
  font-size: 1rem;
  line-height: 1.45;
}
.layout-ext-domini-governativi-it
  :is(.lead-form input:not([type="checkbox"]):not([name="website"]), .lead-form textarea) {
  min-height: 48px;
  font-size: 1rem;
  line-height: 1.5;
}
.layout-ext-domini-governativi-it textarea { min-height: 144px; }
.layout-ext-domini-governativi-it .gov-proof-list {
  display: grid;
  gap: 10px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}
.layout-ext-domini-governativi-it .gov-proof-list li {
  display: grid;
  grid-template-columns: 98px minmax(0,1fr);
  gap: 12px;
  padding: 12px 14px;
  border-left: 5px solid var(--accent);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(50,25,39,.07);
}
.layout-ext-domini-governativi-it .gov-proof-list li:nth-child(2) { border-left-color: var(--accent-3); }
.layout-ext-domini-governativi-it .gov-proof-list li:nth-child(3) { border-left-color: var(--accent-2); }
.layout-ext-domini-governativi-it .gov-proof-list strong { color: var(--ink); font-size: .95rem; }
.layout-ext-domini-governativi-it .gov-proof-list span { color: #405467; font-size: .95rem; line-height: 1.45; }
.layout-batch3-online-markenschutzdeutschland-de {
  --accent: #563049;
  --accent-2: #254967;
  --accent-3: #a36b24;
  --soft: #f8f3f5;
}
.layout-batch3-online-markenschutzdeutschland-de h1 {
  font-size: clamp(2.45rem, 4.8vw, 4.6rem);
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.layout-batch3-rinnovidomini-gov-it .hero-grid {
  grid-template-columns: minmax(0, 1.15fr) minmax(310px, .68fr);
  gap: clamp(32px, 4vw, 56px);
}
.layout-batch3-rinnovidomini-gov-it h1 {
  font-size: clamp(2.6rem, 4.2vw, 4rem);
  line-height: 1.08;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.layout-batch3-rinnovidomini-gov-it .remediation-depth { background: color-mix(in srgb, var(--soft) 76%, #fff); }
.layout-batch3-rinnovidomini-gov-it .remediation-depth .wrap { display: grid; gap: 16px; }
.layout-batch3-rinnovidomini-gov-it .remediation-depth .wrap > p:not(.eyebrow) {
  max-width: 68ch;
  margin-top: 0;
  padding: 18px 22px;
  border-left: 4px solid var(--accent);
  background: #fff;
  text-align: left;
  box-shadow: var(--shadow);
}

/* TASK-186 — final portfolio overflow and EU Markenschutz legibility */
.layout-batch3-online-markenschutz-eu h1 {
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.layout-batch3-online-markenschutz-eu { --accent-2: #0b6f74; }
.layout-batch3-online-markenschutz-eu :is(.eyebrow, .hero-snapshot .hs-kicker, .strip-grid span, .route-matrix-x thead th) {
  font-size: .9rem;
  line-height: 1.45;
}
.layout-batch3-online-markenschutz-eu :is(.hs-list span, .matrix-cell span, footer small) {
  color: #405467;
  font-size: .94rem;
  line-height: 1.45;
}
.layout-batch3-online-markenschutz-eu .lead-form label { color: #263b4e; font-size: 1rem; }

/* TASK-246 — brandimpersonation.com CTA contrast across the full gradient */
.layout-batch3-brandimpersonation-com :is(.cta, .submit) {
  color: #fff;
  background: linear-gradient(135deg, #0a4c8a, #0b6f74);
}

/* tutela-dei-marchi.it — solid mobile type and executive-readable form, TASK-196 */
.layout-ext-tutela-dei-marchi-it h1 {
  color: #0d1726;
  background: none;
  background-image: none;
  text-shadow: none;
  filter: none;
  -webkit-text-fill-color: #0d1726;
  -webkit-text-stroke: 0 transparent;
  paint-order: normal;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.layout-ext-tutela-dei-marchi-it
  :is(.eyebrow, .hero-snapshot .hs-kicker, .strip-grid span, .route-matrix-x thead th) {
  font-size: .9rem;
  line-height: 1.45;
}
.layout-ext-tutela-dei-marchi-it :is(.hs-list span, .matrix-cell span, footer small) {
  color: #405467;
  font-size: .95rem;
  line-height: 1.5;
}
.layout-ext-tutela-dei-marchi-it
  .editorial p:not(.eyebrow):not(.sub):not(.form-ok):not(.form-err) {
  color: #33485b;
  font-size: 1.03rem;
  line-height: 1.75;
}
.layout-ext-tutela-dei-marchi-it :is(.visual-card p, .route-matrix-x td) {
  color: #33485b;
  font-size: 1rem;
  line-height: 1.65;
}
.layout-ext-tutela-dei-marchi-it .lead-form {
  gap: 18px;
  border-top: 4px solid var(--accent);
  box-shadow: 0 24px 60px -38px #0d1726;
}
.layout-ext-tutela-dei-marchi-it .lead-form .row { gap: 16px; }
.layout-ext-tutela-dei-marchi-it .lead-form label {
  color: #263b4e;
  font-size: 1rem;
  line-height: 1.45;
  gap: 9px;
}
.layout-ext-tutela-dei-marchi-it .lead-form .privacy-consent {
  margin-top: 4px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
  color: #405467;
  font-size: 1rem;
  line-height: 1.55;
  gap: 12px !important;
}
.layout-ext-tutela-dei-marchi-it .lead-form .privacy-consent input { width: 20px; height: 20px; }
.layout-ext-tutela-dei-marchi-it
  :is(.lead-form input:not([type="checkbox"]):not([name="website"]), .lead-form textarea) {
  min-height: 48px;
  font-size: 1rem;
  line-height: 1.5;
}
.layout-ext-tutela-dei-marchi-it textarea { min-height: 144px; }
.layout-ext-tutela-dei-marchi-it .lead-form :is(.form-ok, .form-err) {
  font-size: 1rem;
  line-height: 1.5;
}

/* TASK-200 — trademark watch coverage control plane and executive readability */
.layout-ext-trademarkwatch-services {
  --ink: #1b2436;
  --muted: #465269;
  --accent: #5d2a58;
  --accent-2: #17685d;
  --accent-3: #a35b2d;
  --soft: #f6f2ec;
  --line: #d8d1c8;
}
.layout-ext-trademarkwatch-services .hero-premium {
  background:
    radial-gradient(circle at 88% 16%, rgba(23,104,93,.14), transparent 31%),
    linear-gradient(145deg, #fbf8f3 0%, #f5efe8 56%, #eef4f1 100%);
}
.layout-ext-trademarkwatch-services .hero-grid {
  grid-template-columns: minmax(0, .94fr) minmax(430px, 1.06fr);
  gap: clamp(32px, 4.5vw, 64px);
}
.layout-ext-trademarkwatch-services h1 {
  max-width: 13ch;
  font-size: clamp(2.45rem, 4.55vw, 4.45rem);
  text-wrap: balance;
}
.layout-ext-trademarkwatch-services .hero-visual.hero-illustration {
  min-height: 480px;
  padding: clamp(20px, 3vw, 34px);
  border-color: #cdbfb4;
  background: linear-gradient(155deg, rgba(255,255,255,.94), rgba(246,240,234,.9));
  box-shadow: 0 28px 70px rgba(55,31,53,.16);
}
.layout-ext-trademarkwatch-services .watch-coverage-map { width: 100%; display: grid; gap: 17px; }
.layout-ext-trademarkwatch-services .watch-map-heading { display: flex; justify-content: space-between; gap: 20px; align-items: end; padding-bottom: 16px; border-bottom: 1px solid #cdbfb4; }
.layout-ext-trademarkwatch-services :is(.watch-map-heading span, .watch-map-decision span) { color: var(--accent); font-size: .9rem; line-height: 1.45; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.layout-ext-trademarkwatch-services .watch-map-heading strong { color: var(--ink); font-size: 1.16rem; line-height: 1.3; text-align: right; }
.layout-ext-trademarkwatch-services .watch-map-lanes { display: grid; gap: 10px; }
.layout-ext-trademarkwatch-services .watch-map-lane { position: relative; display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 13px; align-items: center; padding: 14px 15px; border: 1px solid #d8d1c8; border-left: 5px solid var(--accent); border-radius: 12px; background: rgba(255,255,255,.94); box-shadow: 0 8px 20px rgba(34,31,45,.06); }
.layout-ext-trademarkwatch-services .watch-map-lane:nth-child(2) { border-left-color: var(--accent-2); }
.layout-ext-trademarkwatch-services .watch-map-lane:nth-child(3) { border-left-color: var(--accent-3); }
.layout-ext-trademarkwatch-services .watch-map-lane:nth-child(4) { border-left-color: #274f78; }
.layout-ext-trademarkwatch-services .watch-map-lane > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: #fff; background: var(--accent); font-size: .9rem; font-weight: 900; }
.layout-ext-trademarkwatch-services .watch-map-lane:nth-child(2) > span { background: var(--accent-2); }
.layout-ext-trademarkwatch-services .watch-map-lane:nth-child(3) > span { background: var(--accent-3); }
.layout-ext-trademarkwatch-services .watch-map-lane:nth-child(4) > span { background: #274f78; }
.layout-ext-trademarkwatch-services .watch-map-lane strong { display: block; color: var(--ink); font-size: 1rem; line-height: 1.25; }
.layout-ext-trademarkwatch-services .watch-map-lane small { display: block; margin-top: 3px; color: #4b5568; font-size: .92rem; line-height: 1.35; }
.layout-ext-trademarkwatch-services .watch-map-lane b { color: #fff; background: #273248; border-radius: 999px; padding: 7px 10px; font-size: .9rem; line-height: 1.45; white-space: nowrap; }
.layout-ext-trademarkwatch-services .watch-map-decision { display: grid; gap: 7px; padding: 16px 18px; border-radius: 12px; color: #fff; background: linear-gradient(135deg, var(--accent), #38213e 58%, var(--accent-2)); }
.layout-ext-trademarkwatch-services .watch-map-decision span { color: #f2dfe8; }
.layout-ext-trademarkwatch-services .watch-map-decision strong { font-size: 1.02rem; line-height: 1.4; }
.layout-ext-trademarkwatch-services :is(.eyebrow, .strip-grid span, .route-matrix-x thead th) { font-size: .9rem; }
.layout-ext-trademarkwatch-services :is(.matrix-cell span, footer small) { color: #405067; font-size: .95rem; line-height: 1.45; }
.layout-ext-trademarkwatch-services .editorial p:not(.eyebrow):not(.sub):not(.form-ok):not(.form-err) { max-width: 68ch; color: #33445a; font-size: 1.03rem; line-height: 1.78; }
.layout-ext-trademarkwatch-services :is(.visual-card p, .route-matrix-x td) { color: #33445a; font-size: 1rem; line-height: 1.68; }
.layout-ext-trademarkwatch-services .route-matrix-x td { padding-block: 17px; }
.layout-ext-trademarkwatch-services .model-summary { grid-template-columns: repeat(4, minmax(0,1fr)); }
.layout-ext-trademarkwatch-services .model-summary .matrix-cell { border-top: 4px solid var(--accent); background: #fff; }
.layout-ext-trademarkwatch-services .model-summary .matrix-cell:nth-child(2) { border-top-color: var(--accent-2); }
.layout-ext-trademarkwatch-services .model-summary .matrix-cell:nth-child(3) { border-top-color: var(--accent-3); }
.layout-ext-trademarkwatch-services .model-summary .matrix-cell:nth-child(4) { border-top-color: #274f78; }
.layout-ext-trademarkwatch-services .editorial-cards { background: #fff; }
.layout-ext-trademarkwatch-services .editorial-cards .visual-card { border-top: 5px solid var(--accent); }
.layout-ext-trademarkwatch-services .editorial-cards .visual-card:nth-child(2) { border-top-color: var(--accent-2); }
.layout-ext-trademarkwatch-services .editorial-cards .visual-card:nth-child(3) { border-top-color: var(--accent-3); }
.layout-ext-trademarkwatch-services .enterprise-visual { background: linear-gradient(180deg, #f6f2ec, #fff); }
.layout-ext-trademarkwatch-services .advisory-depth { border-block: 1px solid #d8d1c8; background: #eef4f1; }
.layout-ext-trademarkwatch-services .remediation-depth { background: #f7f3f8; }
.layout-ext-trademarkwatch-services .advisory-depth .depth-grid,
.layout-ext-trademarkwatch-services .remediation-depth .wrap { border-left: 5px solid var(--accent-2); padding-left: clamp(22px, 4vw, 48px); }
.layout-ext-trademarkwatch-services .remediation-depth .wrap { border-left-color: var(--accent); }
.layout-ext-trademarkwatch-services :is(.watch-context-panels, .watch-decision-cards) { display: grid; gap: 16px; margin-top: 24px; }
.layout-ext-trademarkwatch-services .watch-context-panels { grid-template-columns: repeat(2, minmax(0,1fr)); }
.layout-ext-trademarkwatch-services .watch-decision-cards { grid-template-columns: repeat(3, minmax(0,1fr)); }
.layout-ext-trademarkwatch-services :is(.watch-context-panels article, .watch-decision-cards article) { padding: 22px; border: 1px solid #d8d1c8; border-radius: 14px; background: rgba(255,255,255,.88); box-shadow: 0 10px 24px rgba(34,31,45,.05); }
.layout-ext-trademarkwatch-services :is(.watch-context-panels h3, .watch-decision-cards h3) { margin-bottom: 10px; color: var(--accent); font-size: 1.08rem; }
.layout-ext-trademarkwatch-services .lead-form label { color: #26364d; font-size: 1rem; line-height: 1.45; gap: 9px; }
.layout-ext-trademarkwatch-services :is(.lead-form input:not([type="checkbox"]):not([name="website"]), .lead-form textarea) { min-height: 48px; font-size: 1rem; line-height: 1.5; }
.layout-ext-trademarkwatch-services .lead-form textarea { min-height: 144px; }
.layout-ext-trademarkwatch-services .lead-form :is(.form-ok, .form-err) { font-size: 1rem; line-height: 1.5; }

/* Marketplace coverage: owned routing map and executive-readable rhythm, TASK-220. */
.layout-ext-brandprotectionmarketplaces-com {
  --ink: #1d2636;
  --muted: #465269;
  --accent: #6d2847;
  --accent-2: #006a6a;
  --accent-3: #a85118;
  --soft: #f7f0e9;
  --line: #d8cdd1;
}
.layout-ext-brandprotectionmarketplaces-com .hero-premium {
  background:
    radial-gradient(circle at 88% 10%, rgba(168, 81, 24, .16), transparent 27%),
    linear-gradient(138deg, rgba(109, 40, 71, .13), transparent 43%),
    linear-gradient(180deg, #fff, #f7f0e9);
}
.layout-ext-brandprotectionmarketplaces-com .marketplace-routing-map {
  min-height: 480px;
  padding: clamp(22px, 3vw, 34px);
  border-color: #cbb7c0;
  background: linear-gradient(155deg, #fff 0 58%, #f4e9e1 100%);
  box-shadow: 0 24px 58px rgba(55, 27, 43, .15);
}
.layout-ext-brandprotectionmarketplaces-com .marketplace-map-head,
.layout-ext-brandprotectionmarketplaces-com .marketplace-lanes li {
  display: grid;
  grid-template-columns: 1.08fr .9fr 1.18fr .84fr;
  gap: 10px;
  align-items: center;
}
.layout-ext-brandprotectionmarketplaces-com .marketplace-map-head {
  padding: 0 14px 9px 18px;
  color: #5a4250;
  font-size: .9rem;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.layout-ext-brandprotectionmarketplaces-com .marketplace-lanes {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.layout-ext-brandprotectionmarketplaces-com .marketplace-lanes li {
  min-height: 70px;
  padding: 13px 14px;
  border: 1px solid #dacbd1;
  border-left: 7px solid var(--accent);
  border-radius: 11px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 9px 22px rgba(55, 27, 43, .08);
}
.layout-ext-brandprotectionmarketplaces-com .marketplace-lanes li:nth-child(2) { border-left-color: #3d4f7c; }
.layout-ext-brandprotectionmarketplaces-com .marketplace-lanes li:nth-child(3) { border-left-color: var(--accent-2); }
.layout-ext-brandprotectionmarketplaces-com .marketplace-lanes li:nth-child(4) { border-left-color: var(--accent-3); }
.layout-ext-brandprotectionmarketplaces-com .marketplace-lanes :is(strong, span, b) {
  min-width: 0;
  color: #37485d;
  font-size: .95rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.layout-ext-brandprotectionmarketplaces-com .marketplace-lanes strong { color: var(--ink); font-size: 1rem; }
.layout-ext-brandprotectionmarketplaces-com .marketplace-lanes b { color: var(--accent); }
.layout-ext-brandprotectionmarketplaces-com .marketplace-map-note {
  margin: 16px 0 0;
  padding: 11px 14px;
  border-radius: 9px;
  color: #fff;
  background: linear-gradient(90deg, var(--accent), #3d4f7c, var(--accent-2));
  font-size: .95rem;
  font-weight: 800;
  line-height: 1.4;
  text-align: center;
}
.layout-ext-brandprotectionmarketplaces-com :is(.eyebrow, .hero-snapshot .hs-kicker, .strip-grid span, .route-matrix-x thead th) {
  font-size: .9rem;
  line-height: 1.45;
}
.layout-ext-brandprotectionmarketplaces-com :is(.hs-list span, .matrix-cell span, footer small) {
  color: #405067;
  font-size: .95rem;
  line-height: 1.5;
}
.layout-ext-brandprotectionmarketplaces-com .editorial p:not(.eyebrow):not(.sub):not(.form-ok):not(.form-err) {
  max-width: 68ch;
  color: #33445a;
  font-size: 1.03rem;
  line-height: 1.78;
  text-align: left;
}
.layout-ext-brandprotectionmarketplaces-com .editorial p + p { margin-top: 20px; }
.layout-ext-brandprotectionmarketplaces-com .visual-card p,
.layout-ext-brandprotectionmarketplaces-com .route-matrix-x td:not(.rmx-time):not(.rmx-out) {
  color: #33445a;
  font-size: 1rem;
  line-height: 1.68;
}
.layout-ext-brandprotectionmarketplaces-com .route-matrix-x td { font-size: 1rem; line-height: 1.68; }
.layout-ext-brandprotectionmarketplaces-com .editorial-cards .card-grid { gap: clamp(20px, 2.5vw, 30px); }
.layout-ext-brandprotectionmarketplaces-com .editorial-cards .visual-card {
  min-height: 265px;
  padding: clamp(24px, 3vw, 32px);
  border-top: 5px solid var(--accent);
  background: linear-gradient(155deg, #fff 0 76%, rgba(109, 40, 71, .09));
}
.layout-ext-brandprotectionmarketplaces-com .editorial-cards .visual-card::before {
  width: auto;
  height: auto;
  color: var(--accent);
  background: none;
  font-size: .9rem;
  font-weight: 900;
  letter-spacing: .08em;
}
.layout-ext-brandprotectionmarketplaces-com .editorial-cards .visual-card:nth-child(1)::before { content: "01 / EXPOSURE"; }
.layout-ext-brandprotectionmarketplaces-com .editorial-cards .visual-card:nth-child(2) {
  border-top-color: var(--accent-2);
  background: linear-gradient(155deg, #fff 0 76%, rgba(0, 106, 106, .09));
}
.layout-ext-brandprotectionmarketplaces-com .editorial-cards .visual-card:nth-child(2)::before {
  content: "02 / ROUTE";
  color: var(--accent-2);
}
.layout-ext-brandprotectionmarketplaces-com .editorial-cards .visual-card:nth-child(3) {
  border-top-color: var(--accent-3);
  background: linear-gradient(155deg, #fff 0 76%, rgba(168, 81, 24, .09));
}
.layout-ext-brandprotectionmarketplaces-com .editorial-cards .visual-card:nth-child(3)::before {
  content: "03 / OWNER";
  color: var(--accent-3);
}
.layout-ext-brandprotectionmarketplaces-com .route-matrix-x thead th {
  background: linear-gradient(100deg, var(--accent), #3d4f7c);
}
.layout-ext-brandprotectionmarketplaces-com .route-matrix-x tbody tr:nth-child(1) { background: #fbf6f8; }
.layout-ext-brandprotectionmarketplaces-com .route-matrix-x tbody tr:nth-child(2) { background: #f2f4fa; }
.layout-ext-brandprotectionmarketplaces-com .route-matrix-x tbody tr:nth-child(3) { background: #eef8f7; }
.layout-ext-brandprotectionmarketplaces-com .route-matrix-x tbody tr:nth-child(4) { background: #fbf3ed; }
.layout-ext-brandprotectionmarketplaces-com .route-matrix-x tbody tr:nth-child(1) .rmx-route { border-left: 6px solid var(--accent); }
.layout-ext-brandprotectionmarketplaces-com .route-matrix-x tbody tr:nth-child(2) .rmx-route { border-left: 6px solid #3d4f7c; }
.layout-ext-brandprotectionmarketplaces-com .route-matrix-x tbody tr:nth-child(3) .rmx-route { border-left: 6px solid var(--accent-2); }
.layout-ext-brandprotectionmarketplaces-com .route-matrix-x tbody tr:nth-child(4) .rmx-route { border-left: 6px solid var(--accent-3); }
.layout-ext-brandprotectionmarketplaces-com .lead-form label {
  color: #26364d;
  font-size: 1rem;
  line-height: 1.45;
  gap: 9px;
}
.layout-ext-brandprotectionmarketplaces-com :is(.lead-form input:not([type="checkbox"]):not([name="website"]), .lead-form textarea) {
  min-height: 48px;
  font-size: 1rem;
  line-height: 1.5;
}
.layout-ext-brandprotectionmarketplaces-com .lead-form textarea { min-height: 144px; }
.layout-ext-brandprotectionmarketplaces-com .lead-form :is(.form-ok, .form-err) { font-size: 1rem; line-height: 1.5; }
@media (min-width: 941px) {
  .layout-ext-brandprotectionmarketplaces-com :is(.advisory-depth .depth-grid, .remediation-depth .wrap) { max-width: 980px; }
  .layout-ext-brandprotectionmarketplaces-com .section-heading { align-items: start; }
}
@media (min-width: 721px) {
  .layout-ext-brandprotectionmarketplaces-com .route-matrix-x td { padding-block: 17px; }
}

/* antiimpersonation.com — surface control plane and desktop decision rhythm, TASK-224 */
.layout-ext-antiimpersonation-com {
  --imp-risk: #9b4f2c;
  --imp-prevent: #183c72;
  --imp-detect: #1d655f;
  --imp-own: #0d1726;
}
.layout-ext-antiimpersonation-com .hero-grid {
  grid-template-columns: minmax(0, .88fr) minmax(500px, 1.12fr);
  gap: clamp(30px, 4vw, 58px);
}
.layout-ext-antiimpersonation-com h1 {
  font-size: clamp(2.45rem, 4.5vw, 4.55rem);
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.layout-ext-antiimpersonation-com .impersonation-control-map {
  min-height: 500px;
  padding: clamp(22px, 3vw, 34px);
  border-color: #bec9d9;
  background:
    linear-gradient(90deg, transparent 24.5%, rgba(24,60,114,.08) 24.5% 50%, rgba(29,101,95,.08) 50% 75%, rgba(13,23,38,.08) 75%),
    #fff;
  box-shadow: 0 26px 64px rgba(13,23,38,.16);
}
.layout-ext-antiimpersonation-com .impersonation-control-map figure { width: 100%; margin: 0; }
.layout-ext-antiimpersonation-com .imp-map-heading {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: end;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid #bbc7d5;
}
.layout-ext-antiimpersonation-com .imp-map-heading span {
  color: var(--imp-risk);
  font-size: .9rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.layout-ext-antiimpersonation-com .imp-map-heading strong { color: var(--imp-own); font-size: 1.08rem; }
.layout-ext-antiimpersonation-com .imp-map-columns,
.layout-ext-antiimpersonation-com .imp-map-lane {
  display: grid;
  grid-template-columns: .78fr 1.22fr 1.22fr .9fr;
  gap: 9px;
  align-items: center;
}
.layout-ext-antiimpersonation-com .imp-map-columns {
  padding: 0 11px 8px;
  color: #4a596c;
  font-size: .9rem;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.layout-ext-antiimpersonation-com .imp-map-columns span:nth-child(2) { color: var(--imp-prevent); }
.layout-ext-antiimpersonation-com .imp-map-columns span:nth-child(3) { color: var(--imp-detect); }
.layout-ext-antiimpersonation-com .imp-map-columns span:nth-child(4) { color: var(--imp-own); }
.layout-ext-antiimpersonation-com .imp-map-lanes { display: grid; gap: 10px; }
.layout-ext-antiimpersonation-com .imp-map-lane {
  position: relative;
  min-height: 70px;
  padding: 11px;
  border: 1px solid #cbd4df;
  border-left: 7px solid var(--imp-risk);
  border-radius: 11px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 9px 22px rgba(13,23,38,.07);
}
.layout-ext-antiimpersonation-com .imp-map-lane:nth-child(2) { border-left-color: #445a87; }
.layout-ext-antiimpersonation-com .imp-map-lane:nth-child(3) { border-left-color: #6a4f80; }
.layout-ext-antiimpersonation-com .imp-map-lane:nth-child(4) { border-left-color: #9b6c2c; }
.layout-ext-antiimpersonation-com .imp-map-lane :is(strong, span, b) {
  min-width: 0;
  font-size: .92rem;
  line-height: 1.32;
  overflow-wrap: anywhere;
}
.layout-ext-antiimpersonation-com .imp-map-lane strong { color: var(--imp-own); }
.layout-ext-antiimpersonation-com .imp-map-lane span {
  position: relative;
  padding: 10px 9px;
  border-radius: 7px;
  color: #fff;
  background: var(--imp-prevent);
}
.layout-ext-antiimpersonation-com .imp-map-lane span:nth-of-type(2) { background: var(--imp-detect); }
.layout-ext-antiimpersonation-com .imp-map-lane span::after {
  content: "→";
  position: absolute;
  right: -10px;
  top: 50%;
  z-index: 1;
  color: #68778a;
  font-weight: 900;
  transform: translate(50%, -50%);
}
.layout-ext-antiimpersonation-com .imp-map-lane b {
  padding: 10px 8px;
  border-radius: 7px;
  color: #fff;
  background: var(--imp-own);
  text-align: center;
}
.layout-ext-antiimpersonation-com .impersonation-control-map figcaption {
  margin-top: 15px;
  padding: 12px 14px;
  border-left: 5px solid #d8a544;
  color: #34475c;
  background: #f6f2e8;
  font-size: .95rem;
  font-weight: 750;
  line-height: 1.45;
}
.layout-ext-antiimpersonation-com .control-chain .visual-card {
  position: relative;
  min-height: 0;
  padding: 28px 25px 24px;
  border-top: 5px solid var(--imp-risk);
}
.layout-ext-antiimpersonation-com .control-chain .visual-card:nth-child(2) { border-top-color: var(--imp-prevent); }
.layout-ext-antiimpersonation-com .control-chain .visual-card:nth-child(3) { border-top-color: var(--imp-detect); }
.layout-ext-antiimpersonation-com .control-chain .visual-card::before {
  content: attr(data-stage);
  width: auto;
  height: auto;
  color: var(--imp-risk);
  background: none;
  font-size: .9rem;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.layout-ext-antiimpersonation-com .control-chain .visual-card:nth-child(2)::before { color: var(--imp-prevent); }
.layout-ext-antiimpersonation-com .control-chain .visual-card:nth-child(3)::before { color: var(--imp-detect); }
.layout-ext-antiimpersonation-com .decision-briefs { background: linear-gradient(180deg, #f2f5f8, #fff); }
.layout-ext-antiimpersonation-com .decision-brief-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 24px;
}
.layout-ext-antiimpersonation-com .decision-brief {
  padding: clamp(24px, 3vw, 38px);
  border: 1px solid #cbd4df;
  border-left: 6px solid var(--imp-prevent);
  border-radius: 14px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 16px 34px rgba(13,23,38,.07);
}
.layout-ext-antiimpersonation-com .decision-brief:nth-child(2) { border-left-color: var(--imp-detect); }
.layout-ext-antiimpersonation-com .decision-brief p + p { margin-top: 18px; }
.layout-ext-antiimpersonation-com
  :is(.eyebrow, .strip-grid span, .route-matrix-x thead th) { font-size: .9rem; line-height: 1.45; }
.layout-ext-antiimpersonation-com :is(.matrix-cell span, footer small) { color: #405467; font-size: .95rem; line-height: 1.5; }
.layout-ext-antiimpersonation-com .editorial p:not(.eyebrow):not(.sub):not(.form-ok):not(.form-err) { color: #33485b; font-size: 1.03rem; line-height: 1.72; }
.layout-ext-antiimpersonation-com :is(.visual-card p, .route-matrix-x td) { font-size: 1rem; line-height: 1.65; }
.layout-ext-antiimpersonation-com .route-matrix-x td:not(.rmx-time):not(.rmx-out) { color: #33485b; }
.layout-ext-antiimpersonation-com .lead-form label { color: #263b4e; font-size: 1rem; line-height: 1.45; gap: 9px; }
.layout-ext-antiimpersonation-com :is(.lead-form input:not([type="checkbox"]):not([name="website"]), .lead-form textarea) { min-height: 48px; font-size: 1rem; line-height: 1.5; }
.layout-ext-antiimpersonation-com .lead-form textarea { min-height: 144px; }

/* emailauthentication.eu — solid mobile heading and readable support text, TASK-226 */
.layout-batch2-emailauth h1 {
  color: #0d1726;
  background: none;
  background-image: none;
  text-shadow: none;
  filter: none;
  -webkit-text-fill-color: #0d1726;
  -webkit-text-stroke: 0 transparent;
  paint-order: normal;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.layout-batch2-emailauth :is(.eyebrow, .hero-snapshot .hs-kicker, .strip-grid span, .route-matrix-x thead th) { font-size: .9rem; line-height: 1.45; }
.layout-batch2-emailauth :is(.hs-list span, .matrix-cell span, footer small) { color: #405467; font-size: .95rem; line-height: 1.5; }
.layout-batch2-emailauth .privacy-consent { color: #405467; font-size: .95rem; line-height: 1.5; }
.layout-batch2-emailauth .lead-form label { color: #263b4e; font-size: 1rem; line-height: 1.45; gap: 9px; }
.layout-batch2-emailauth :is(.lead-form input:not([type="checkbox"]):not([name="website"]), .lead-form textarea) { min-height: 48px; font-size: 1rem; line-height: 1.5; }
.layout-batch2-emailauth .lead-form textarea { min-height: 144px; }

/* protezionemarchionline.it — tablet density and readable support text, TASK-227 */
.layout-ext-protezionemarchionline-it :is(.eyebrow, .hero-snapshot .hs-kicker, .strip-grid span, .route-matrix-x thead th) { font-size: .9rem; line-height: 1.45; }
.layout-ext-protezionemarchionline-it :is(.hs-list span, .matrix-cell span, footer small) { color: #405467; font-size: .95rem; line-height: 1.5; }
.layout-ext-protezionemarchionline-it .route-matrix-x td { font-size: 1rem; line-height: 1.65; }
.layout-ext-protezionemarchionline-it .route-matrix-x td:not(.rmx-time):not(.rmx-out) { color: #33485b; }
.layout-ext-protezionemarchionline-it .lead-form label { color: #263b4e; font-size: 1rem; line-height: 1.45; gap: 9px; }
.layout-ext-protezionemarchionline-it :is(.lead-form input:not([type="checkbox"]):not([name="website"]), .lead-form textarea) { min-height: 48px; font-size: 1rem; line-height: 1.5; }
.layout-ext-protezionemarchionline-it .lead-form textarea { min-height: 144px; }
.layout-ext-protezionemarchionline-it .lead-form :is(.form-ok, .form-err) { font-size: 1rem; line-height: 1.5; }

@media (min-width: 941px) {
  .layout-ext-antiimpersonation-com .control-chain .visual-card:not(:last-child)::after {
    content: "→";
    position: absolute;
    right: -24px;
    top: 50%;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    color: #fff;
    background: var(--imp-own);
    font-weight: 900;
    transform: translateY(-50%);
  }
}
@media (min-width: 641px) and (max-width: 940px) {
  .layout-batch3-migrazione-govit-it .hero-visual.hero-illustration {
    width: 100%;
    max-width: 720px;
    min-height: 0;
    margin-inline: auto;
  }
  .layout-batch3-migrazione-govit-it .hero-snapshot .hs-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .layout-batch3-migrazione-govit-it .hero-snapshot .hs-list li:not(:last-child)::after { display: none; }
  .layout-ext-protezionemarchionline-it .hero-visual.hero-illustration {
    width: 100%;
    max-width: 720px;
    min-height: 0;
    margin-inline: auto;
    padding: 18px;
  }
  .layout-ext-protezionemarchionline-it .hero-snapshot .hs-kicker { margin-bottom: 12px; }
  .layout-ext-protezionemarchionline-it .hs-list { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px 18px; }
  .layout-ext-protezionemarchionline-it .hs-list li { min-width: 0; }
}

@media (max-width: 940px) {
  .hero-grid, .section-heading, .split-grid, .evidence-grid, .route-grid, .contact-grid { grid-template-columns: 1fr; }
  .visual-model, .model-flow, .model-matrix { grid-template-columns: 1fr; }
  .flow-node:not(:last-child)::after { display: none; }
  .trust-grid, .trust-grid ul { grid-template-columns: 1fr; }
  .hero-visual { min-height: 280px; }
  .layout-ext-brandprotectionplatform-com .hero-visual.hero-illustration {
    width: 100%;
    max-width: 720px;
    min-height: 0;
    margin-inline: auto;
    padding: 18px;
  }
  .layout-ext-brandprotectionplatform-com .model-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .layout-ext-dnsaziendale-it .hero-visual.hero-illustration {
    width: 100%;
    max-width: 720px;
    min-height: 0;
    margin-inline: auto;
    padding: 18px;
  }
  .layout-ext-dnsaziendale-it .model-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .layout-ext-antiimpersonation-com .hero-grid { grid-template-columns: 1fr; }
  .layout-ext-antiimpersonation-com .impersonation-control-map { width: 100%; max-width: 720px; min-height: 0; margin-inline: auto; }
  .layout-ext-antiimpersonation-com .decision-brief-grid { grid-template-columns: 1fr; }
  .card-grid { grid-template-columns: 1fr; }
  .card-risk, .card-approach { transform: none; }
  .strip-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .layout-emailbrand-stack .contact-grid { grid-template-columns: 1fr; }
  .layout-batch2-brandgovernance .hero-grid, .layout-batch2-brandgovernance .contact-grid { grid-template-columns: 1fr; }
  .layout-brandprotectionitalia-it .hero-grid { grid-template-columns: 1fr; }
  .layout-ext-trademarkwatch-services .hero-grid { grid-template-columns: 1fr; }
  .layout-ext-trademarkwatch-services .hero-visual.hero-illustration { width: 100%; max-width: 720px; min-height: 0; margin-inline: auto; }
  .layout-ext-trademarkwatch-services :is(.watch-context-panels, .watch-decision-cards) { grid-template-columns: 1fr; }
  .layout-brandprotectionitalia-it .italia-levers-map {
    width: 100%;
    max-width: 720px;
    min-height: 0;
    margin-inline: auto;
  }
  .layout-batch2-brandgovernance .governance-decision-map { min-height: 0; width: 100%; max-width: 720px; margin-inline: auto; padding: 14px; }
  .layout-batch2-brandgovernance .governance-decision-map svg { display: block; }
  .layout-batch2-brandgovernance .mobile-governance-map { display: none; }
  .layout-emailbrand-stack .email-control-map { min-height: 0; width: 100%; max-width: 720px; margin-inline: auto; padding: 14px; }
  .layout-emailbrand-stack .email-control-map svg { display: none; }
  .layout-emailbrand-stack .mobile-control-stack { display: grid; gap: 10px; }
  .layout-emailbrand-stack .mobile-control-stack div { display: grid; grid-template-columns: 72px 1fr; gap: 14px; align-items: center; padding: 15px 16px; border: 1px solid #d9cfe2; border-radius: 10px; background: #fff; }
  .layout-emailbrand-stack .mobile-control-stack strong { color: var(--accent); font-size: 1.04rem; }
  .layout-emailbrand-stack .mobile-control-stack span { color: #3e3346; font-size: 1rem; line-height: 1.45; }
  .layout-emailbrand-stack .mobile-control-stack p { padding: 15px 16px; border-radius: 10px; color: #fff; background: linear-gradient(135deg, var(--accent), var(--accent-2)); font-size: 1rem; font-weight: 800; line-height: 1.45; }
  .layout-markenschutz-b2b .contact-grid { grid-template-columns: 1fr; }
  .layout-batch3-rinnovidomini-gov-it .hero-grid { grid-template-columns: 1fr; }
  :is(
    .layout-batch2-brandgovernance,
    .layout-batch3-compliancegov-it,
    .layout-batch3-online-markenschutzdeutschland-de,
    .layout-batch3-rinnovidomini-gov-it,
    .layout-batch3-socialimpersonation-com
  ) .hero-visual { min-height: 0; width: 100%; max-width: 720px; margin-inline: auto; padding: 18px; }
  :is(
    .layout-batch2-brandgovernance,
    .layout-batch3-compliancegov-it,
    .layout-batch3-online-markenschutzdeutschland-de,
    .layout-batch3-rinnovidomini-gov-it,
    .layout-batch3-socialimpersonation-com
  ) .hs-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 18px; }
  :is(
    .layout-batch2-brandgovernance,
    .layout-batch3-compliancegov-it,
    .layout-batch3-online-markenschutzdeutschland-de,
    .layout-batch3-rinnovidomini-gov-it,
    .layout-batch3-socialimpersonation-com
  ) .hs-list li { min-width: 0; }
  .layout-markenschutz-b2b .hero-grid,
  .layout-markenschutz-b2b .contact-grid,
  .layout-markenschutz-b2b .visual-model { min-width: 0; max-width: 100%; }
  .layout-markenschutz-b2b .hero-copy,
  .layout-markenschutz-b2b .hero-visual,
  .layout-markenschutz-b2b .protection-route-map,
  .layout-markenschutz-b2b .mobile-protection-route,
  .layout-markenschutz-b2b .contact-grid > *,
  .layout-markenschutz-b2b .model-panel { min-width: 0; width: 100%; max-width: 100%; }
  .layout-markenschutz-b2b .protection-route-map { min-height: 0; padding: 12px; }
  .protection-route-map svg, .protection-route-map figcaption { display: none; }
  .layout-markenschutz-b2b .route-matrix-wrap { min-width: 0; width: 100%; max-width: 100%; }
  .layout-markenschutz-b2b .route-matrix-x,
  .layout-markenschutz-b2b .route-matrix-x tbody,
  .layout-markenschutz-b2b .route-matrix-x tr,
  .layout-markenschutz-b2b .route-matrix-x td { display: block; min-width: 0; width: 100%; max-width: 100%; }
  .layout-markenschutz-b2b .route-matrix-x thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .layout-markenschutz-b2b .route-matrix-x tr { border-top: 1px solid var(--line); padding: 8px 0; }
  .layout-markenschutz-b2b .route-matrix-x tbody tr:first-child { border-top: 0; }
  .layout-markenschutz-b2b .route-matrix-x td { border: 0; padding: 4px 16px; }
  .layout-markenschutz-b2b .route-matrix-x td.rmx-route { display: flex; width: 100%; margin-bottom: 2px; font-size: 1.04rem; }
  .layout-markenschutz-b2b .route-matrix-x td[data-label]::before { content: attr(data-label) " — "; font-weight: 800; color: var(--ink); }

  /* TASK-235 — online-markenschutz.eu tablet overflow: long DE compound words
     keep the route matrix as a real table too wide for the tablet viewport;
     stack it like the mobile breakpoint already does for every domain. */
  .layout-batch3-online-markenschutz-eu .model-panel,
  .layout-batch3-online-markenschutz-eu .route-matrix-wrap { min-width: 0; width: 100%; max-width: 100%; }
  .layout-batch3-online-markenschutz-eu .route-matrix-x,
  .layout-batch3-online-markenschutz-eu .route-matrix-x tbody,
  .layout-batch3-online-markenschutz-eu .route-matrix-x tr,
  .layout-batch3-online-markenschutz-eu .route-matrix-x td { display: block; min-width: 0; width: 100%; max-width: 100%; }
  .layout-batch3-online-markenschutz-eu .route-matrix-x thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .layout-batch3-online-markenschutz-eu .route-matrix-x tr { border-top: 1px solid var(--line); padding: 8px 0; }
  .layout-batch3-online-markenschutz-eu .route-matrix-x tbody tr:first-child { border-top: 0; }
  .layout-batch3-online-markenschutz-eu .route-matrix-x td { border: 0; padding: 4px 16px; }
  .layout-batch3-online-markenschutz-eu .route-matrix-x td.rmx-route { display: flex; width: 100%; margin-bottom: 2px; font-size: 1.04rem; }
  .layout-batch3-online-markenschutz-eu .route-matrix-x td[data-label]::before { content: attr(data-label) " — "; font-weight: 800; color: var(--ink); }
}

@media (max-width: 640px) {
  .wrap { width: min(100% - 28px, 1160px); }
  .header-link { display: none; }
  .hero-premium { padding-top: 44px; }
  .hero-actions, .final-grid { align-items: stretch; }
  .hero-actions .btn, .final-grid .btn { width: 100%; }
  .layout-ext-brandprotectionplatform-com .hero-visual.hero-illustration { padding: 14px; }
  .layout-ext-brandprotectionplatform-com .hero-snapshot .hs-list { gap: 10px; }
  .layout-ext-brandprotectionplatform-com .hero-snapshot .hs-list li {
    grid-template-columns: 1fr;
    align-content: start;
    gap: 8px;
    min-height: 126px;
    padding: 12px;
  }
  .layout-ext-brandprotectionplatform-com .hero-snapshot .hs-list li:nth-child(4) { min-height: 0; }
  .layout-ext-brandprotectionplatform-com .route-matrix-x td { padding: 9px 16px; }
  .layout-batch2-dnsgovernance :is(.advisory-depth .depth-grid, .remediation-depth .wrap) {
    padding-left: 18px;
    border-left-width: 4px;
  }
  .layout-batch3-migrazione-govit-it .hero-visual.hero-illustration { min-height: 0; padding: 16px; }
  .layout-batch3-migrazione-govit-it .hero-snapshot .hs-list li {
    grid-template-columns: 34px 22px minmax(0, 1fr);
    min-height: 0;
    padding: 12px;
  }
  .layout-ext-dnsaziendale-it .hero-visual.hero-illustration { padding: 14px; }
  .layout-ext-dnsaziendale-it .hero-snapshot .hs-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 42px 10px;
  }
  .layout-ext-dnsaziendale-it .hero-snapshot .hs-list li {
    grid-template-columns: 1fr;
    align-content: start;
    gap: 6px;
    min-width: 0;
    min-height: 154px;
    padding: 12px 10px;
  }
  .layout-ext-dnsaziendale-it .hero-snapshot .hs-list::after {
    width: 48px;
    height: 48px;
    border-width: 4px;
    font-size: .9rem;
  }
  .layout-ext-dnsaziendale-it .route-matrix-x td { padding: 9px 16px; }
  .layout-ext-registrazione-domini-gov-it h1 {
    min-width: 0;
    max-width: 100%;
    color: #0d1726;
    background: none;
    background-image: none;
    text-shadow: none;
    filter: none;
    -webkit-text-fill-color: #0d1726;
    -webkit-text-stroke: 0 transparent;
    paint-order: normal;
    font-size: clamp(1.95rem, 8.6vw, 2.5rem);
    line-height: 1.08;
    text-wrap: balance;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
  .layout-batch2-brandgovernance .hero-grid {
    grid-template-areas: "eyebrow" "heading" "summary" "actions" "governance-map";
    gap: 18px;
  }
  .layout-batch2-brandgovernance .hero-copy { display: contents; }
  .layout-batch2-brandgovernance .hero-copy > .eyebrow { grid-area: eyebrow; margin-bottom: 0; }
  .layout-batch2-brandgovernance .hero-copy > h1 {
    grid-area: heading;
    margin: 0;
    font-size: clamp(2rem, 9.2vw, 2.6rem);
    line-height: 1.08;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
  .layout-batch2-brandgovernance .hero-copy > .sub { grid-area: summary; margin: 0; }
  .layout-batch2-brandgovernance .hero-copy > .hero-actions { grid-area: actions; margin-top: 0; }
  .layout-batch2-brandgovernance .hero-copy > .hero-actions .btn {
    min-height: 50px;
    padding: .85rem 1rem;
    line-height: 1.25;
    white-space: normal;
  }
  .layout-batch2-brandgovernance .governance-decision-map {
    grid-area: governance-map;
    padding: 14px;
    border-color: #bda494;
    background:
      linear-gradient(145deg, rgba(75,39,71,.08), transparent 48%),
      #fff;
    box-shadow: 0 20px 44px rgba(49,27,43,.14);
  }
  .layout-batch2-brandgovernance .governance-decision-map svg { display: none; }
  .layout-batch2-brandgovernance .mobile-governance-map {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas: "signal" "policy" "owner" "escalation" "record";
    gap: 12px;
    padding: 2px;
    background: none;
  }
  .layout-batch2-brandgovernance .mobile-governance-map > div:nth-of-type(1) { grid-area: signal; }
  .layout-batch2-brandgovernance .mobile-governance-map > div:nth-of-type(2) { grid-area: policy; }
  .layout-batch2-brandgovernance .mobile-governance-map > div:nth-of-type(3) { grid-area: owner; }
  .layout-batch2-brandgovernance .mobile-governance-map > div:nth-of-type(4) { grid-area: escalation; }
  .layout-batch2-brandgovernance .mobile-governance-map div {
    position: relative;
    z-index: 1;
    display: grid;
    align-content: start;
    gap: 8px;
    min-height: 0;
    padding: 16px;
    border: 1px solid #cdb7a8;
    border-left: 5px solid var(--accent);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 9px 22px rgba(49,27,43,.09);
  }
  .layout-batch2-brandgovernance .mobile-governance-map div:nth-child(2) { border-left-color: var(--accent-3); }
  .layout-batch2-brandgovernance .mobile-governance-map div:nth-child(3) { border-left-color: var(--accent-2); }
  .layout-batch2-brandgovernance .mobile-governance-map div:nth-child(4) { border-left-color: #172029; }
  .layout-batch2-brandgovernance .mobile-governance-map strong { color: var(--accent); font-size: 1rem; line-height: 1.35; }
  .layout-batch2-brandgovernance .mobile-governance-map span { color: #34484f; font-size: 1rem; line-height: 1.5; }
  .layout-batch2-brandgovernance .mobile-governance-map p {
    position: relative;
    z-index: 1;
    grid-area: record;
    margin: 0;
    padding: 14px 16px;
    border-radius: 10px;
    color: #fff;
    background: linear-gradient(135deg, var(--accent), var(--accent-2));
    font-size: 1rem;
    font-weight: 850;
    line-height: 1.5;
    text-align: left;
  }
  .layout-batch2-brandgovernance .governance-decision-map figcaption {
    margin: 12px 2px 0;
    padding-top: 12px;
    border-top: 1px solid #d7c5b8;
    font-size: 1rem;
    line-height: 1.55;
    text-align: left;
  }
  .layout-ext-dnssec-govit-it .hero-copy h1 {
    color: #102a3a;
    background: none;
    background-image: none;
    text-shadow: none;
    filter: none;
    -webkit-text-fill-color: #102a3a;
    -webkit-text-stroke: 0 transparent;
    paint-order: normal;
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
  }
  .strip-grid { grid-template-columns: 1fr; }
  .strip-grid div { min-height: auto; }
  .lead-form .row { grid-template-columns: 1fr; }
  .process-steps li { grid-template-columns: 44px minmax(0, 1fr); }
  .severity-strip { grid-template-columns: 1fr; }
  .cell { min-height: 96px; }
  .footer-grid { align-items: flex-start; flex-direction: column; }
  .layout-emailbrand-stack h1 { font-size: clamp(2.15rem, 11vw, 3.15rem); }
  .layout-ext-trademarkprotection-expert h1 { font-size: clamp(2rem, 9vw, 2.55rem); }
  .layout-ext-antiimpersonation-com h1,
  .layout-batch2-emailauth h1 {
    min-width: 0;
    max-width: 100%;
    font-size: clamp(1.95rem, 8.6vw, 2.5rem);
    line-height: 1.08;
    text-wrap: balance;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
  .layout-ext-antiimpersonation-com .impersonation-control-map { padding: 16px; background: #fff; }
  .layout-ext-antiimpersonation-com .imp-map-heading { align-items: flex-start; flex-direction: column; gap: 5px; }
  .layout-ext-antiimpersonation-com .imp-map-columns { display: none; }
  .layout-ext-antiimpersonation-com .imp-map-lane {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 13px;
  }
  .layout-ext-antiimpersonation-com .imp-map-lane :is(strong, span, b) { width: 100%; }
  .layout-ext-antiimpersonation-com .imp-map-lane span::before {
    content: "Prevent";
    display: block;
    margin-bottom: 2px;
    color: #dbe7fa;
    font-size: .9rem;
    font-weight: 850;
    letter-spacing: .05em;
    text-transform: uppercase;
  }
  .layout-ext-antiimpersonation-com .imp-map-lane span:nth-of-type(2)::before { content: "Detect"; color: #d7efec; }
  .layout-ext-antiimpersonation-com .imp-map-lane b::before {
    content: "Owner";
    display: block;
    margin-bottom: 2px;
    color: #d8e0ea;
    font-size: .9rem;
    letter-spacing: .05em;
    text-transform: uppercase;
  }
  .layout-ext-antiimpersonation-com .imp-map-lane span::after { display: none; }
  .layout-ext-digitalbranddefense-com .hero-visual.hero-illustration {
    min-height: 0;
    padding: 16px;
  }
  .layout-ext-digitalbranddefense-com .defence-stack::after { display: none; }
  .layout-ext-digitalbranddefense-com .defence-stack .hs-list li,
  .layout-ext-digitalbranddefense-com .defence-stack .hs-list li:nth-child(2),
  .layout-ext-digitalbranddefense-com .defence-stack .hs-list li:nth-child(3),
  .layout-ext-digitalbranddefense-com .defence-stack .hs-list li:nth-child(4) {
    width: 100%;
    margin-left: 0;
    grid-template-columns: 32px 22px minmax(0, 1fr);
    padding: 13px 12px;
  }
  .layout-ext-trademarkwatch-services h1 { max-width: none; font-size: clamp(2rem, 9vw, 2.65rem); }
  .layout-gov-dns h1 {
    min-width: 0;
    max-width: 100%;
    font-size: clamp(1.95rem, 8.6vw, 2.5rem);
    line-height: 1.08;
  }
  .layout-gov-dns :is(.hero-grid, .hero-copy, .hero-visual, .hero-actions, .hero-actions .btn, .card-grid, .visual-card, .route-matrix-wrap, .model-matrix, .lead-form) {
    min-width: 0;
    max-width: 100%;
  }
  .layout-ext-protezionedns-it h1 {
    min-width: 0;
    max-width: 100%;
    font-size: clamp(1.95rem, 8.6vw, 2.5rem);
    line-height: 1.08;
  }
  .layout-ext-protezionedns-it :is(.hero-grid, .hero-copy, .hero-visual, .hero-actions, .hero-actions .btn, .route-matrix-wrap, .lead-form) {
    min-width: 0;
    max-width: 100%;
  }
  .layout-ext-trademarkwatch-services .hero-visual.hero-illustration { padding: 16px; }
  .layout-ext-trademarkwatch-services .watch-map-heading { align-items: start; flex-direction: column; gap: 5px; }
  .layout-ext-trademarkwatch-services .watch-map-heading strong { text-align: left; }
  .layout-ext-trademarkwatch-services .watch-map-lane { grid-template-columns: 38px minmax(0,1fr); padding: 13px 12px; }
  .layout-ext-trademarkwatch-services .watch-map-lane b { grid-column: 2; justify-self: start; white-space: normal; }
  .layout-ext-trademarkwatch-services .model-summary { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .layout-ext-trademarkwatch-services .route-matrix-x tr { padding-block: 12px; }
  .layout-ext-trademarkwatch-services .route-matrix-x td { padding-block: 7px; }
  .layout-brandprotectionitalia-it h1 {
    min-width: 0;
    max-width: 100%;
    font-size: clamp(2rem, 9vw, 2.6rem);
    line-height: 1.08;
  }
  .layout-brandprotectionitalia-it .italia-levers-map { padding: 16px; }
  .layout-brandprotectionitalia-it .italia-map-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "core core" "uibm nic" "adm court";
    gap: 10px;
  }
  .layout-brandprotectionitalia-it .italia-map-grid::before,
  .layout-brandprotectionitalia-it .italia-map-grid::after { display: none; }
  .layout-brandprotectionitalia-it .italia-map-core {
    min-height: 0;
    padding: 18px;
    border-radius: 14px;
  }
  .layout-brandprotectionitalia-it .italia-lever { min-height: 116px; padding: 14px; }
  .layout-emailbrand-stack .email-control-map { min-height: 0; padding: 10px; }
  .layout-markenschutz-b2b h1 {
    min-width: 0;
    max-width: 100%;
    font-size: clamp(1.82rem, 8.8vw, 2.35rem);
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: auto;
  }
  .layout-markenschutz-b2b .hero-actions,
  .layout-markenschutz-b2b .hero-actions .btn,
  .layout-markenschutz-b2b .mobile-protection-route > *,
  .layout-markenschutz-b2b .model-matrix,
  .layout-markenschutz-b2b .matrix-cell,
  .layout-markenschutz-b2b .route-matrix-wrap,
  .layout-markenschutz-b2b .lead-form { min-width: 0; width: 100%; max-width: 100%; }
  .layout-markenschutz-b2b .hero-actions .btn { padding-inline: .85rem; line-height: 1.25; white-space: normal; }
  .layout-batch3-online-markenschutz-eu h1 { min-width: 0; max-width: 100%; font-size: clamp(1.9rem, 8.4vw, 2.45rem); line-height: 1.08; }
  .layout-ext-tutela-dei-marchi-it h1 {
    min-width: 0;
    max-width: 100%;
    font-size: clamp(1.95rem, 8.7vw, 2.5rem);
    line-height: 1.08;
  }
  .layout-batch3-lineeguida-govit-it h1 {
    min-width: 0;
    max-width: 100%;
    font-size: clamp(2rem, 9vw, 2.6rem);
    line-height: 1.08;
    text-wrap: balance;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
  .layout-batch2-dmarcadvisory h1 {
    min-width: 0;
    max-width: 100%;
    font-size: clamp(1.95rem, 8.6vw, 2.5rem);
    line-height: 1.09;
    text-wrap: balance;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
  :is(
    .layout-batch2-brandgovernance,
    .layout-batch3-compliancegov-it,
    .layout-batch3-online-markenschutzdeutschland-de,
    .layout-batch3-rinnovidomini-gov-it,
    .layout-batch3-socialimpersonation-com
  ) h1 { min-width: 0; max-width: 100%; font-size: clamp(1.95rem, 8.8vw, 2.55rem); line-height: 1.07; overflow-wrap: break-word; hyphens: auto; }
  .layout-batch3-compliancegov-it h1 {
    font-size: clamp(1.82rem, 8vw, 2.38rem);
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
  .layout-batch3-domini-govit-it h1 {
    min-width: 0;
    max-width: 100%;
    font-size: clamp(1.9rem, 8.3vw, 2.45rem);
    line-height: 1.08;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
  .layout-ext-domini-governativi-it .government-threat-map {
    min-height: 0;
    padding: 16px;
  }
  .layout-ext-domini-governativi-it .threat-map-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
  .layout-ext-domini-governativi-it .threat-map-lanes {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .layout-ext-domini-governativi-it .threat-map-lanes li {
    display: flex;
    min-width: 0;
    min-height: 0;
    padding: 12px;
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }
  .layout-ext-domini-governativi-it .threat-map-owner { grid-template-columns: 1fr; }
  .layout-ext-domini-governativi-it .threat-map-owner span { grid-row: auto; }
  .layout-ext-brandprotectionmarketplaces-com .marketplace-routing-map {
    min-height: 0;
    padding: 16px;
  }
  .layout-ext-brandprotectionmarketplaces-com .marketplace-map-head { display: none; }
  .layout-ext-brandprotectionmarketplaces-com .marketplace-lanes li {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 16px;
    padding: 14px;
  }
  .layout-ext-brandprotectionmarketplaces-com .marketplace-lanes :is(strong, span, b)::before {
    content: attr(data-key);
    display: block;
    margin-bottom: 3px;
    color: #65515d;
    font-size: .9rem;
    font-weight: 850;
    letter-spacing: .05em;
    text-transform: uppercase;
  }
  :is(
    .layout-batch2-brandgovernance,
    .layout-batch3-compliancegov-it,
    .layout-batch3-online-markenschutzdeutschland-de,
    .layout-batch3-rinnovidomini-gov-it,
    .layout-batch3-socialimpersonation-com
  ) .hs-list { grid-template-columns: 1fr; gap: 10px; }
  :is(
    .layout-batch2-brandgovernance,
    .layout-batch3-compliancegov-it,
    .layout-batch3-online-markenschutzdeutschland-de,
    .layout-batch3-rinnovidomini-gov-it,
    .layout-batch3-socialimpersonation-com
  ) :is(.hero-grid, .hero-copy, .hero-visual, .hero-actions, .hero-actions .btn, .card-grid, .visual-card, .route-matrix-wrap, .model-matrix, .lead-form) { min-width: 0; max-width: 100%; }
}

/* TASK-170 — final production visual findings: exact CTA contrast + DNS decision register. */
.layout-batch3-compliancegov-it :is(.cta, .submit) {
  color: #fff;
  background: linear-gradient(135deg, #0a4c8a, #0b6f74);
}

.layout-batch2-dnsgovernance .hero-premium {
  background:
    radial-gradient(circle at 86% 16%, rgba(108,127,80,.16), transparent 28%),
    linear-gradient(132deg, rgba(41,77,111,.14), transparent 48%),
    linear-gradient(180deg, #fff, #f4f7f2);
}
.layout-batch2-dnsgovernance .hero-visual.hero-illustration {
  min-height: 430px;
  padding: 18px;
  place-items: stretch;
  border-color: #aebcc5;
  background: linear-gradient(145deg, #dfe8ea, #f4f7f2 58%, #e8eadf);
  box-shadow: 0 28px 64px -38px rgba(13,23,38,.48);
}
.layout-batch2-dnsgovernance .hero-snapshot {
  display: grid;
  grid-template-rows: auto minmax(0,1fr);
  min-width: 0;
  padding: 20px;
  border: 1px solid #bdc9cf;
  border-left: 7px solid var(--accent);
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 18px 38px -28px rgba(13,23,38,.5);
}
.layout-batch2-dnsgovernance .hero-snapshot .hs-kicker {
  margin: 0;
  padding: 0 0 15px;
  border-bottom: 2px solid var(--accent);
}
.layout-batch2-dnsgovernance .hero-snapshot .hs-list {
  grid-template-rows: repeat(4,minmax(0,1fr));
  gap: 1px;
  padding: 1px;
  background: #ced8dd;
}
.layout-batch2-dnsgovernance .hero-snapshot .hs-list li {
  min-width: 0;
  min-height: 76px;
  grid-template-columns: 28px minmax(0,1fr);
  align-content: center;
  padding: 14px 16px;
  background: #fff;
  box-shadow: inset 4px 0 0 var(--accent);
}
.layout-batch2-dnsgovernance .hero-snapshot .hs-list li:nth-child(2) { box-shadow: inset 4px 0 0 var(--accent-2); }
.layout-batch2-dnsgovernance .hero-snapshot .hs-list li:nth-child(3) { box-shadow: inset 4px 0 0 #80691f; }
.layout-batch2-dnsgovernance .hero-snapshot .hs-list li:nth-child(4) { box-shadow: inset 4px 0 0 var(--ink); }
.layout-batch2-dnsgovernance .hero-snapshot :is(.hs-list strong, .hs-list span) {
  overflow-wrap: normal;
  word-break: normal;
}
.layout-batch2-dnsgovernance .model-panel {
  border-top: 6px solid var(--accent);
  background: linear-gradient(180deg,#fff,#f3f6f3);
}
.layout-batch2-dnsgovernance .route-matrix-x thead th:nth-child(1) { box-shadow: inset 0 5px 0 var(--accent); }
.layout-batch2-dnsgovernance .route-matrix-x thead th:nth-child(2) { box-shadow: inset 0 5px 0 #52738c; }
.layout-batch2-dnsgovernance .route-matrix-x thead th:nth-child(3) { box-shadow: inset 0 5px 0 var(--accent-2); }
.layout-batch2-dnsgovernance .route-matrix-x thead th:nth-child(4) { box-shadow: inset 0 5px 0 var(--accent-3); }
.layout-batch2-dnsgovernance .route-matrix-x td:nth-child(2) { background: color-mix(in srgb,var(--accent) 6%,#fff); }
.layout-batch2-dnsgovernance .route-matrix-x td:nth-child(3) { background: color-mix(in srgb,var(--accent-2) 7%,#fff); }
.layout-batch2-dnsgovernance .route-matrix-x td:nth-child(4) { background: color-mix(in srgb,var(--accent-3) 10%,#fff); }
.layout-batch2-dnsgovernance .model-matrix.model-summary {
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
}
.layout-batch2-dnsgovernance .model-summary .matrix-cell { border-top: 4px solid var(--accent); }
.layout-batch2-dnsgovernance .model-summary .matrix-cell:nth-child(2) { border-top-color: #52738c; }
.layout-batch2-dnsgovernance .model-summary .matrix-cell:nth-child(3) { border-top-color: var(--accent-2); }
.layout-batch2-dnsgovernance .model-summary .matrix-cell:nth-child(4) { border-top-color: var(--accent-3); }
.layout-batch2-dnsgovernance .editorial p:not(.eyebrow):not(.sub):not(.form-ok):not(.form-err) {
  max-width: 64ch;
  font-size: clamp(1.05rem,1.02rem + .16vw,1.1rem);
  line-height: 1.82;
}
.layout-batch2-dnsgovernance .editorial h2 + p { margin-top: 20px; }
.layout-batch2-dnsgovernance :is(.advisory-depth,.remediation-depth) p + p { margin-top: 24px; }
.layout-batch2-dnsgovernance :is(.hs-list span,.matrix-cell span) { font-size: 1rem; line-height: 1.58; }
.layout-batch2-dnsgovernance .route-matrix-x td { font-size: 1.025rem; line-height: 1.7; }

@media (min-width: 641px) and (max-width: 940px) {
  .layout-batch2-dnsgovernance .hero-visual.hero-illustration {
    width: 100%;
    max-width: 720px;
    min-height: 0;
    margin-inline: auto;
  }
  .layout-batch2-dnsgovernance .hero-snapshot .hs-list {
    grid-template-columns: repeat(2,minmax(0,1fr));
    grid-template-rows: none;
  }
  .layout-batch2-dnsgovernance .hero-snapshot .hs-list li { min-height: 112px; }
  .layout-batch2-dnsgovernance .model-matrix.model-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .layout-batch2-dnsgovernance .hero-visual.hero-illustration { min-height: 0; padding: 12px; }
  .layout-batch2-dnsgovernance .hero-snapshot { padding: 14px; border-left-width: 5px; }
  .layout-batch2-dnsgovernance .hero-snapshot .hs-list {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }
  .layout-batch2-dnsgovernance .hero-snapshot .hs-list li { min-height: 0; padding: 12px; }
  .layout-batch2-dnsgovernance .model-matrix.model-summary { grid-template-columns: 1fr; }
  .layout-batch2-dnsgovernance .route-matrix-x td { padding-block: 7px; }
}

/* Cascade anchors for the two domain maps; intentionally last in the stylesheet. */
body.layout-ext-brandprotection-global .global-tier-map {
  display: grid;
  gap: 18px;
  min-height: 460px;
  padding: clamp(22px,3vw,32px);
  border: 1px solid #afc1cb;
  border-radius: 18px;
  background: radial-gradient(circle at 50% 48%, rgba(11,111,106,.12), transparent 34%), linear-gradient(145deg,#f9fbfc,#e7f0f1);
  box-shadow: 0 28px 68px -42px rgba(20,36,55,.58);
  overflow: hidden;
}
body.layout-ext-protezionemarchionline-it .surface-core {
  position: relative;
  inset: auto;
  display: grid;
  align-content: center;
  width: auto;
  height: auto;
  min-height: 190px;
  margin: 0;
  padding: 18px;
  border: 0;
  border-radius: 16px;
  background: linear-gradient(155deg,#13283b,#1f5275);
  text-align: left;
  transform: none;
}
@media (max-width: 940px) {
  body.layout-ext-brandprotection-global .global-tier-map { width: 100%; max-width: 720px; min-height: 0; margin-inline: auto; }
}
@media (max-width: 640px) {
  body.layout-ext-brandprotection-global .global-tier-map { padding: 16px; }
  body.layout-ext-protezionemarchionline-it .surface-core { min-height: 0; }
}

/* watchmarchi.it — four-channel coverage aperture and semantic watch states */
.layout-ext-watchmarchi-it {
  --ink: #1b2436;
  --muted: #465269;
  --accent: #5d2a58;
  --accent-2: #17685d;
  --accent-3: #a35b2d;
  --soft: #f6f2ec;
  --line: #d8d1c8;
  --watch-identical: #5d2a58;
  --watch-similar: #17685d;
  --watch-phonetic: #a35b2d;
  --watch-domain: #274f78;
}
.layout-ext-watchmarchi-it .hero-premium {
  background:
    radial-gradient(circle at 86% 16%, rgba(23,104,93,.15), transparent 30%),
    linear-gradient(145deg, #fbf8f3 0%, #f6efe9 58%, #edf4f2 100%);
}
.layout-ext-watchmarchi-it .hero-grid {
  grid-template-columns: minmax(0,.92fr) minmax(500px,1.08fr);
  gap: clamp(32px,4.5vw,64px);
}
.layout-ext-watchmarchi-it h1 {
  max-width: 13ch;
  font-size: clamp(2.45rem,4.5vw,4.5rem);
  text-wrap: balance;
}
.layout-ext-watchmarchi-it :is(.cta,.submit) {
  color: #fff;
  background: linear-gradient(135deg,#5d2a58,#17685d);
}
.layout-ext-watchmarchi-it .watch-aperture {
  min-height: 500px;
  padding: clamp(20px,3vw,34px);
  border-color: #cdbfb4;
  background: rgba(255,255,255,.9);
  box-shadow: 0 28px 70px rgba(55,31,53,.16);
}
.layout-ext-watchmarchi-it .watch-aperture-figure { width: 100%; margin: 0; }
.layout-ext-watchmarchi-it .watch-aperture-figure figcaption {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 18px;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid #cdbfb4;
}
.layout-ext-watchmarchi-it .watch-aperture-figure figcaption span {
  color: var(--watch-identical);
  font-size: .9rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.layout-ext-watchmarchi-it .watch-aperture-figure figcaption strong {
  color: var(--ink);
  font-size: 1.12rem;
}
.layout-ext-watchmarchi-it .watch-aperture-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(140px,.7fr) minmax(0,1fr);
  grid-template-areas:
    "identical core similar"
    "phonetic core domain";
  gap: 14px;
}
.layout-ext-watchmarchi-it .watch-aperture-core {
  grid-area: core;
  display: grid;
  place-content: center;
  gap: 10px;
  min-height: 270px;
  padding: 20px 16px;
  border-radius: 18px;
  color: #fff;
  text-align: center;
  background: linear-gradient(155deg,#5d2a58,#274f78);
  box-shadow: 0 18px 38px rgba(39,50,72,.22);
}
.layout-ext-watchmarchi-it .watch-aperture-core small,
.layout-ext-watchmarchi-it .watch-aperture-core span {
  color: #f2e9ef;
  font-size: .9rem;
  line-height: 1.45;
}
.layout-ext-watchmarchi-it .watch-aperture-core strong {
  color: #fff;
  font-size: 1.06rem;
  line-height: 1.45;
}
.layout-ext-watchmarchi-it .watch-type {
  --watch-tone: var(--watch-identical);
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 36px minmax(0,1fr);
  gap: 10px;
  align-content: center;
  min-height: 128px;
  padding: 15px;
  border: 1px solid #d8d1c8;
  border-top: 5px solid var(--watch-tone);
  border-radius: 12px;
  background: #fbf6f9;
}
.layout-ext-watchmarchi-it .watch-type::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 15px;
  height: 2px;
  background: var(--watch-tone);
  opacity: .45;
}
.layout-ext-watchmarchi-it .watch-identical { grid-area: identical; }
.layout-ext-watchmarchi-it .watch-phonetic {
  grid-area: phonetic;
  --watch-tone: var(--watch-phonetic);
  background: #fff7ef;
}
.layout-ext-watchmarchi-it .watch-similar {
  grid-area: similar;
  --watch-tone: var(--watch-similar);
  background: #f0f8f6;
}
.layout-ext-watchmarchi-it .watch-domain {
  grid-area: domain;
  --watch-tone: var(--watch-domain);
  background: #f1f5f9;
}
.layout-ext-watchmarchi-it :is(.watch-identical,.watch-phonetic)::after { right: -15px; }
.layout-ext-watchmarchi-it :is(.watch-similar,.watch-domain)::after { left: -15px; }
.layout-ext-watchmarchi-it .watch-index {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: #fff;
  background: var(--watch-tone);
  font-size: .9rem;
  font-weight: 900;
}
.layout-ext-watchmarchi-it .watch-type strong { color: var(--ink); line-height: 1.25; }
.layout-ext-watchmarchi-it .watch-type small {
  display: block;
  margin-top: 4px;
  color: #465269;
  font-size: .92rem;
  line-height: 1.4;
}
.layout-ext-watchmarchi-it .watch-type b {
  grid-column: 2;
  justify-self: start;
  padding: 5px 8px;
  border-radius: 999px;
  color: #fff;
  background: #273248;
  font-size: .9rem;
  line-height: 1.35;
}
.layout-ext-watchmarchi-it .watch-aperture-outcome {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-top: 14px;
  padding: 14px 16px;
  border-radius: 12px;
  color: #fff;
  background: #273248;
}
.layout-ext-watchmarchi-it .watch-aperture-outcome span {
  color: #f2dfe8;
  font-size: .9rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.layout-ext-watchmarchi-it .strip-grid div:nth-child(1) { background: #4b2347; }
.layout-ext-watchmarchi-it .strip-grid div:nth-child(2) { background: #155b52; }
.layout-ext-watchmarchi-it .strip-grid div:nth-child(3) { background: #7a431f; }
.layout-ext-watchmarchi-it .strip-grid div:nth-child(4) { background: #23496e; }
.layout-ext-watchmarchi-it .strip-grid span { color: #eef2f5; }
.layout-ext-watchmarchi-it .editorial-cards .visual-card {
  min-height: 0;
  border-top: 5px solid var(--watch-identical);
  background: #fbf6f9;
}
.layout-ext-watchmarchi-it .editorial-cards .visual-card:nth-child(2) {
  border-top-color: var(--watch-similar);
  background: #f0f8f6;
}
.layout-ext-watchmarchi-it .editorial-cards .visual-card:nth-child(3) {
  border-top-color: var(--watch-phonetic);
  background: #fff7ef;
}
.layout-ext-watchmarchi-it .editorial-cards .visual-card::before {
  content: "01";
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: #fff;
  background: var(--watch-identical);
  font-size: .9rem;
  font-weight: 900;
}
.layout-ext-watchmarchi-it .editorial-cards .visual-card:nth-child(2)::before {
  content: "02";
  background: var(--watch-similar);
}
.layout-ext-watchmarchi-it .editorial-cards .visual-card:nth-child(3)::before {
  content: "03";
  background: var(--watch-phonetic);
}
.layout-ext-watchmarchi-it .editorial p:not(.eyebrow):not(.sub):not(.form-ok):not(.form-err) {
  max-width: 68ch;
  color: #33445a;
  font-size: 1.02rem;
  line-height: 1.76;
  text-align: left;
}
.layout-ext-watchmarchi-it .route-matrix-x tbody tr {
  --watch-tone: var(--watch-identical);
  background: #fbf6f9;
}
.layout-ext-watchmarchi-it .route-matrix-x tbody tr:nth-child(2) {
  --watch-tone: var(--watch-similar);
  background: #f0f8f6;
}
.layout-ext-watchmarchi-it .route-matrix-x tbody tr:nth-child(3) {
  --watch-tone: var(--watch-phonetic);
  background: #fff7ef;
}
.layout-ext-watchmarchi-it .route-matrix-x tbody tr:nth-child(4) {
  --watch-tone: var(--watch-domain);
  background: #f1f5f9;
}
.layout-ext-watchmarchi-it .route-matrix-x td {
  padding-block: 17px;
  color: #33445a;
  font-size: 1rem;
  line-height: 1.6;
}
.layout-ext-watchmarchi-it .route-matrix-x .rmx-route { border-left: 6px solid var(--watch-tone); }
.layout-ext-watchmarchi-it .route-matrix-x .rmx-route .ic { color: var(--watch-tone); }
.layout-ext-watchmarchi-it .model-summary { grid-template-columns: repeat(4,minmax(0,1fr)); }
.layout-ext-watchmarchi-it .model-summary .matrix-cell {
  border-top: 4px solid var(--watch-identical);
  background: #fbf6f9;
}
.layout-ext-watchmarchi-it .model-summary .matrix-cell:nth-child(2) {
  border-top-color: var(--watch-similar);
  background: #f0f8f6;
}
.layout-ext-watchmarchi-it .model-summary .matrix-cell:nth-child(3) {
  border-top-color: var(--watch-phonetic);
  background: #fff7ef;
}
.layout-ext-watchmarchi-it .model-summary .matrix-cell:nth-child(4) {
  border-top-color: var(--watch-domain);
  background: #f1f5f9;
}
.layout-ext-watchmarchi-it .enterprise-visual { background: linear-gradient(180deg,#f6f2ec,#fff); }
.layout-ext-watchmarchi-it .advisory-depth {
  border-block: 1px solid #d8d1c8;
  background: #eef6f4;
}
.layout-ext-watchmarchi-it .remediation-depth { background: #f8f2f7; }
.layout-ext-watchmarchi-it :is(.advisory-depth .depth-grid,.remediation-depth .wrap) {
  max-width: 980px;
  padding-left: clamp(22px,4vw,48px);
  border-left: 5px solid var(--watch-similar);
}
.layout-ext-watchmarchi-it .remediation-depth .wrap { border-left-color: var(--watch-identical); }

/* sorveglianzamarchi.it — deterministic AA microcopy and clean mobile heading */
.layout-ext-sorveglianzamarchi-it :is(.hs-list span, .matrix-cell span, footer small) {
  color: #405067;
  font-size: 1rem;
  line-height: 1.55;
}
.layout-ext-sorveglianzamarchi-it :is(.visual-card p, .route-matrix-x td:not(.rmx-time):not(.rmx-out)) {
  color: #33445a;
  font-size: 1rem;
  line-height: 1.68;
}
.layout-ext-sorveglianzamarchi-it .lead-form { gap: 18px; }
.layout-ext-sorveglianzamarchi-it .lead-form label {
  gap: 9px;
  color: #26364d;
  font-size: 1rem;
  line-height: 1.45;
}
.layout-ext-sorveglianzamarchi-it :is(.lead-form input:not([type="checkbox"]):not([name="website"]), .lead-form textarea) {
  min-height: 48px;
  font-size: 1rem;
  line-height: 1.5;
}
.layout-ext-sorveglianzamarchi-it .lead-form textarea { min-height: 144px; }
.layout-ext-sorveglianzamarchi-it .lead-form ::placeholder { color: #52606d; opacity: 1; }
.layout-ext-sorveglianzamarchi-it .lead-form .privacy-consent {
  gap: 12px !important;
  color: #405067;
  font-size: 1rem;
  line-height: 1.55;
}
.layout-ext-sorveglianzamarchi-it .lead-form :is(.form-ok, .form-err) {
  font-size: 1rem;
  line-height: 1.5;
}

@media (max-width: 940px) {
  .layout-ext-watchmarchi-it .hero-grid { grid-template-columns: 1fr; }
  .layout-ext-watchmarchi-it .watch-aperture {
    width: 100%;
    max-width: 720px;
    min-height: 0;
    margin-inline: auto;
  }
  .layout-ext-watchmarchi-it .watch-aperture-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    grid-template-areas:
      "core core"
      "identical similar"
      "phonetic domain";
  }
  .layout-ext-watchmarchi-it .watch-aperture-core { min-height: 160px; }
  .layout-ext-watchmarchi-it .watch-type::after { display: none; }
  .layout-ext-watchmarchi-it .model-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 640px) {
  .layout-ext-watchmarchi-it h1 {
    max-width: none;
    font-size: clamp(1.95rem,8.8vw,2.55rem);
    line-height: 1.08;
  }
  .layout-ext-watchmarchi-it .watch-aperture { padding: 14px; }
  .layout-ext-watchmarchi-it .watch-aperture-figure figcaption,
  .layout-ext-watchmarchi-it .watch-aperture-outcome {
    align-items: flex-start;
    flex-direction: column;
  }
  .layout-ext-watchmarchi-it .hero-actions .btn {
    white-space: normal;
    text-align: center;
    line-height: 1.25;
  }
  .layout-ext-watchmarchi-it .route-matrix-x tr { padding-block: 10px; }
  .layout-ext-watchmarchi-it .route-matrix-x td { padding-block: 6px; }
  .layout-ext-sorveglianzamarchi-it .hero-copy h1 {
    min-width: 0;
    max-width: 100%;
    color: #0d1726;
    background: none;
    background-image: none;
    text-shadow: none;
    filter: none;
    -webkit-text-fill-color: #0d1726;
    -webkit-text-stroke: 0 transparent;
    paint-order: normal;
    font-size: clamp(2rem,9vw,2.55rem);
    font-weight: 800;
    line-height: 1.08;
    text-wrap: balance;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
  }
}

@media (max-width: 520px) {
  .layout-ext-watchmarchi-it .watch-aperture-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "core"
      "identical"
      "similar"
      "phonetic"
      "domain";
  }
  .layout-ext-watchmarchi-it .watch-type { min-height: 0; }
}

/* TASK-304 — La CTA finale e sempre su fondo scuro (`.final-cta { background:
   var(--ink) }`), ma la sezione porta anche la classe `.editorial`. Le regole
   tipografiche scoped per dominio `.layout-* .editorial p:not(...)` hanno
   specificita maggiore di `.final-cta p` e vi imponevano il colore scuro del
   corpo editoriale, producendo scuro su scuro: contrasto misurato 1.37-1.90:1
   su 19 domini, sotto il minimo WCAG 2.2 SC 1.4.3 di 4.5:1.
   Il prefisso `.dn-body`, presente su tutte le 87 landing, porta la specificita
   a (0,7,1) contro (0,6,1) delle regole scoped. Serve perche una landing
   (`web3brandprotection.com`) porta la stessa regola in un blocco `<style>`
   inline, che sull'ordine sorgente vincerebbe comunque su questo foglio: a pari
   specificita l'inline e sempre posteriore. Cosi il blocco vale anche per gli
   override inline presenti e futuri, senza dover modificare le regole per
   dominio una per una. */
.dn-body .final-cta.editorial p:not(.eyebrow):not(.sub):not(.form-ok):not(.form-err) {
  color: #fff;
}

/* TASK-304 O6 — Focus da tastiera.
   Prima non esisteva alcuna regola `:focus` nel foglio: la navigazione da
   tastiera dipendeva interamente dal ring di default del browser, che cambia
   fra browser e puo risultare quasi invisibile sui fondi scuri come la CTA
   finale o l'header dei diagrammi. WCAG 2.2 SC 2.4.7 chiede un indicatore
   visibile; qui e reso deterministico e con contrasto sufficiente su fondo
   chiaro e scuro grazie al doppio anello: uno scuro e uno bianco esterno, cosi
   almeno uno dei due stacca sempre.
   Si usa `:focus-visible` e non `:focus` per non mostrare l'anello al clic del
   mouse, dove sarebbe rumore senza aggiungere informazione. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #0a4c8a;
  outline-offset: 2px;
  border-radius: 4px;
  box-shadow: 0 0 0 6px rgba(255, 255, 255, .95);
}
/* Sui fondi scuri l'anello scuro sparirebbe: li si invertono i due colori. */
.final-cta :where(a, button, input, select, textarea, [tabindex]):focus-visible,
.dn-footer :where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline-color: #fff;
  box-shadow: 0 0 0 6px rgba(10, 76, 138, .95);
}

/* WCAG 2.2 SC 2.4.11 — Focus non oscurato.
   `.dn-header` e `position: sticky` alto 59px: senza questo margine un elemento
   raggiunto col tab finirebbe sotto l'header, tecnicamente a fuoco ma non
   visibile. Il margine vale un po' piu dell'altezza per lasciare respiro. */
:where(a, button, input, select, textarea, summary, [tabindex]) {
  scroll-margin-top: 72px;
}
