/* Alpha Signature — generated from tokens.json */

:root, [data-theme="light"] {
  color-scheme: light;
  --white: #ffffff;
  --cream: #fefbec;
  --charcoal: #2c2c2c;
  --deep-charcoal: #1f1c1f;
  --black: #000000;
  --ink-black: #0e0e0e;
  --grey: #777777;
  --silver: #c9c9c9;
  --logo-ink: #231f20;
  --logo-grey: #878787;
  --logo: var(--logo-ink);
  --surface-page: var(--white);
  --surface-raised: var(--white);
  --surface-subtle: var(--cream);
  --surface-inverse: var(--ink-black);
  --text: var(--deep-charcoal);
  --text-muted: var(--grey);
  --text-inverse: var(--white);
  --rule: var(--deep-charcoal);
  --border: #dedede;
  --border-strong: var(--logo-grey);
  --action: var(--deep-charcoal);
  --action-hover: var(--charcoal);
  --on-action: var(--white);
  --focus-ring: var(--deep-charcoal);
  --success: #2d6a5e;
  --success-soft: #e3eeea;
  --warning: #8a6100;
  --warning-soft: #ffe9a8;
  --danger: #a13d2d;
  --danger-soft: #f7e4df;
  --data-1: var(--deep-charcoal);
  --data-2: #5e5e5e;
  --data-3: var(--logo-grey);
  --data-context: var(--silver);
  --data-highlight: #36597a;
  --shadow-none: none;
  --shadow-panel: 0 16px 42px rgba(0, 0, 0, 0.08);
}
[data-theme="dark"] {
  color-scheme: dark;
  --logo: var(--white);
  --surface-page: var(--ink-black);
  --surface-raised: var(--deep-charcoal);
  --surface-subtle: var(--charcoal);
  --surface-inverse: var(--white);
  --text: var(--white);
  --text-muted: #a8a8a8;
  --text-inverse: var(--deep-charcoal);
  --rule: var(--white);
  --border: rgba(255, 255, 255, 0.16);
  --action: var(--white);
  --action-hover: var(--cream);
  --on-action: var(--ink-black);
  --focus-ring: var(--white);
  --success: #7cc0ae;
  --success-soft: #1d2f2b;
  --warning: #e2bc55;
  --warning-soft: #342d1c;
  --danger: #e8927f;
  --danger-soft: #35211e;
  --data-1: var(--white);
  --data-2: var(--silver);
  --data-context: #3a3a3a;
  --data-highlight: #93b6d8;
  --shadow-panel: 0 24px 80px rgba(0, 0, 0, 0.28);
}
/* Opcional: <html data-theme-auto> sigue el tema del sistema operativo. */
@media (prefers-color-scheme: dark) {
  :root[data-theme-auto]:not([data-theme="light"]) {
    color-scheme: dark;
    --logo: var(--white);
    --surface-page: var(--ink-black);
    --surface-raised: var(--deep-charcoal);
    --surface-subtle: var(--charcoal);
    --surface-inverse: var(--white);
    --text: var(--white);
    --text-muted: #a8a8a8;
    --text-inverse: var(--deep-charcoal);
    --rule: var(--white);
    --border: rgba(255, 255, 255, 0.16);
    --action: var(--white);
    --action-hover: var(--cream);
    --on-action: var(--ink-black);
    --focus-ring: var(--white);
    --success: #7cc0ae;
    --success-soft: #1d2f2b;
    --warning: #e2bc55;
    --warning-soft: #342d1c;
    --danger: #e8927f;
    --danger-soft: #35211e;
    --data-1: var(--white);
    --data-2: var(--silver);
    --data-context: #3a3a3a;
    --data-highlight: #93b6d8;
    --shadow-panel: 0 24px 80px rgba(0, 0, 0, 0.28);
  }
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --space-24: 96px;
  --space-30: 120px;
  --radius-0: 0;
  --radius-tile: 22%;
  --radius-md: 18px;
  --radius-lg: 24px;
  --radius-xl: 28px;
  --radius-pill: 999px;
  --size-shell: 1160px;
  --size-measure: 68ch;
  --size-control: 48px;
  --size-chip: 30px;
  --size-rail: 32%;
  --font-sans: "Montserrat", "Segoe UI", system-ui, sans-serif;
}
.as-display { font-family: var(--font-sans); font-size: 56px; line-height: 1.05; font-weight: 400; }
.as-statement { font-family: var(--font-sans); font-size: 32px; line-height: 1.25; font-weight: 600; }
.as-metric { font-family: var(--font-sans); font-size: 48px; line-height: 1; font-weight: 300; }
.as-headline-1 { font-family: var(--font-sans); font-size: 40px; line-height: 1.1; font-weight: 400; }
.as-headline-2 { font-family: var(--font-sans); font-size: 28px; line-height: 1.2; font-weight: 400; }
.as-headline-3 { font-family: var(--font-sans); font-size: 20px; line-height: 1.3; font-weight: 400; }
.as-lede { font-family: var(--font-sans); font-size: 18px; line-height: 1.5; font-weight: 400; }
.as-body { font-family: var(--font-sans); font-size: 16px; line-height: 1.5; font-weight: 400; }
.as-body-secondary { font-family: var(--font-sans); font-size: 14px; line-height: 1.5; font-weight: 300; }
.as-body-small { font-family: var(--font-sans); font-size: 14px; line-height: 1.5; font-weight: 400; }
.as-caption { font-family: var(--font-sans); font-size: 12px; line-height: 1.5; font-weight: 400; }
.as-kicker { font-family: var(--font-sans); font-size: 14px; line-height: 1.4; font-weight: 400; }
.as-label { font-family: var(--font-sans); font-size: 12px; line-height: 1.4; font-weight: 400; letter-spacing: 0.02em; }
.as-label-strong { font-family: var(--font-sans); font-size: 12px; line-height: 1.4; font-weight: 600; letter-spacing: 0.02em; }

/* Alpha Signature — componentes. Se carga después de los tokens; solo usa var(--token).
   Fuente visual: Alpha Signature Brand Style Guide.pdf (branding/). */

/* Base */
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--surface-page);
  color: var(--text);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
[data-theme] { color: var(--text); }
strong, b { font-weight: 600; }
:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }

/* Tipografía: complementos de los estilos generados desde tokens.json */
.as-display, .as-statement, .as-headline-1, .as-headline-2, .as-headline-3 { margin: 0; color: var(--text); text-wrap: balance; }
.as-statement { text-indent: 25%; text-wrap: pretty; }
.as-lede, .as-body, .as-body-small, .as-body-secondary { margin: 0; max-width: var(--size-measure); }
.as-body-secondary, .as-caption { color: var(--text-muted); }
.as-caption { margin: 0; }
.as-kicker { margin: 0; color: var(--text); }
.as-label, .as-label-strong { margin: 0; text-transform: uppercase; }
.as-label { color: var(--text-muted); }
.as-label-strong { color: var(--text); }
.as-upper { text-transform: uppercase; }
.as-metric { margin: 0; color: var(--text); font-variant-numeric: tabular-nums; }
.as-num { font-variant-numeric: tabular-nums; white-space: nowrap; }
.as-logo { display: block; height: auto; color: var(--logo); fill: currentColor; }
.as-arrow { width: 1em; height: 1em; flex: none; }
.as-fill { background: var(--warning-soft); color: var(--text); padding: 0 0.2em; }

/* Layout */
.as-shell {
  width: min(var(--size-shell), 100%);
  margin-inline: auto;
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
  box-sizing: border-box;
}
.as-section { padding-block: var(--space-24); }
.as-grid { display: grid; gap: var(--space-5); grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); }
.as-stack { display: grid; gap: var(--space-4); align-content: start; }
.as-rule { border: 0; border-top: 1px solid var(--rule); margin: 0; }

/* Lista de etiqueta y valor (guía p. 3) */
.as-meta { display: grid; gap: var(--space-4); margin: 0; }
.as-meta div { display: grid; gap: var(--space-1); }
.as-meta dt { color: var(--text-muted); font-size: 14px; }
.as-meta dd { margin: 0; color: var(--text); font-size: 15px; }

/* Lista con filetes */
.as-list { list-style: none; margin: 0; padding: 0; }
.as-list > li { padding: 10px 0; border-top: 1px solid var(--border); }
.as-list > li:first-child { border-top: 0; padding-top: 0; }

/* Button */
.as-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: var(--size-control);
  padding: 0 20px;
  border: 1px solid transparent;
  border-radius: var(--radius-pill);
  font: 600 15px/1 var(--font-sans);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease;
}
.as-button:hover { transform: translateY(-1px); }
.as-button svg { width: 16px; height: 16px; flex: none; }
.as-button--primary { background: var(--action); color: var(--on-action); }
.as-button--primary:hover { background: var(--action-hover); }
.as-button--secondary { background: transparent; color: var(--text); border-color: var(--border-strong); }
.as-button--secondary:hover { border-color: var(--text); }
.as-button--text {
  min-height: auto;
  padding: 0 0 2px;
  border-radius: 0;
  background: none;
  color: var(--text);
  font-weight: 400;
  border-bottom: 1px solid var(--rule);
}
.as-button[disabled], .as-button[aria-disabled="true"] { opacity: 0.55; cursor: default; transform: none; }
@media (prefers-reduced-motion: reduce) { .as-button, .as-button:hover { transition: none; transform: none; } }

/* Tag */
.as-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: var(--size-chip);
  padding: 0 12px;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-pill);
  background: transparent;
  color: var(--text);
  font: 400 12px/1 var(--font-sans);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  white-space: nowrap;
}
.as-tag--success, .as-tag--warning, .as-tag--danger { border-color: transparent; }
.as-tag--success::before, .as-tag--warning::before, .as-tag--danger::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: var(--radius-pill);
  background: currentColor;
}
.as-tag--success { background: var(--success-soft); color: var(--success); }
.as-tag--warning { background: var(--warning-soft); color: var(--warning); }
.as-tag--danger { background: var(--danger-soft); color: var(--danger); }

/* SectionHeader */
.as-section-header { display: grid; gap: var(--space-3); max-width: var(--size-measure); }
.as-section-header .as-label { margin-bottom: var(--space-1); }

/* Card */
.as-card {
  display: grid;
  gap: var(--space-3);
  align-content: start;
  min-width: 0;
  padding: var(--space-6);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--surface-raised);
  color: var(--text);
}
.as-card p { margin: 0; color: var(--text-muted); font-size: 15px; line-height: 1.5; }
.as-card--panel { padding: var(--space-8); border-radius: var(--radius-xl); }
.as-card--floating { box-shadow: var(--shadow-panel); }
.as-card--print { border-radius: var(--radius-0); }

/* DataTable */
.as-table-wrap { overflow-x: auto; }
.as-table {
  width: 100%;
  border-collapse: collapse;
  color: var(--text);
  font: 400 14px/1.5 var(--font-sans);
  font-variant-numeric: tabular-nums;
}
.as-table caption { caption-side: bottom; padding-top: var(--space-2); text-align: left; color: var(--text-muted); font-size: 12px; }
.as-table th {
  padding: 10px 12px;
  border-bottom: 1px solid var(--rule);
  color: var(--text-muted);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.02em;
  text-align: left;
  text-transform: uppercase;
  white-space: nowrap;
}
.as-table td { padding: 12px; border-bottom: 1px solid var(--border); vertical-align: top; }
.as-table td small { display: block; color: var(--text-muted); font-size: 12px; }
.as-table .as-num, .as-table th.as-num { text-align: right; }
.as-table--zebra tbody tr:nth-child(even) { background: var(--surface-subtle); }
.as-table tfoot td { border-bottom: 0; }
.as-table tfoot tr:first-child td { border-top: 1px solid var(--rule); }
.as-table .as-total td { font-size: 16px; font-weight: 600; }

/* Metric */
.as-metric-block { display: grid; gap: var(--space-2); align-content: start; min-width: 0; padding-top: var(--space-4); border-top: 1px solid var(--rule); }
.as-metric-delta { display: inline-flex; gap: 6px; align-items: baseline; font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; }
.as-metric-delta--up { color: var(--success); }
.as-metric-delta--down { color: var(--danger); }

/* Callout */
.as-callout {
  display: grid;
  gap: var(--space-2);
  padding: 20px 24px;
  border-top: 1px solid var(--rule);
  background: var(--surface-subtle);
  color: var(--text);
}
.as-callout .as-label { color: var(--text); }
.as-callout p { margin: 0; max-width: var(--size-measure); }
.as-callout--risk { border-top-color: var(--danger); background: var(--danger-soft); }
.as-callout--risk .as-label { color: var(--danger); }
.as-callout--pending { border-top-color: var(--warning); background: var(--warning-soft); }
.as-callout--pending .as-label { color: var(--warning); }

/* DeliveryClose: What we changed / What we measure / Next actions */
.as-delivery-close {
  display: grid;
  gap: var(--space-8);
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  padding-top: var(--space-6);
  border-top: 1px solid var(--rule);
}
.as-delivery-close > div { display: grid; gap: var(--space-3); align-content: start; min-width: 0; }
.as-delivery-close .as-label { color: var(--text); }
.as-delivery-close .as-list { font-size: 15px; line-height: 1.5; }

/* Marco editorial: encabezado corrido + ↗ y pie "Consulting Firm" / "© año — Alpha Signature" (guía pp. 16–30) */
.as-frame-top, .as-frame-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1em;
  color: var(--text);
}

/* Piezas de formato fijo (portada, membrete, tarjeta, slide): el elemento es el contenedor
   y su hijo __in mide relleno, espacios y tipografía en cqw contra la pieza. */
.as-cover, .as-letterhead, .as-bcard, .as-slide {
  container-type: inline-size;
  position: relative;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
  color: var(--text);
}
.as-cover__in, .as-letterhead__in, .as-bcard__in, .as-slide__in {
  position: relative;
  display: grid;
  height: 100%;
  box-sizing: border-box;
}

/* DocumentCover: portada carta (8.5 × 11), composición de los carteles de la guía p. 11 */
.as-cover { aspect-ratio: 8.5 / 11; background: var(--surface-page); }
.as-cover__in { grid-template-rows: auto 1fr auto; padding: 5cqw 5.5cqw; }
.as-cover__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05); opacity: 0.55; }
.as-cover .as-frame-top { font-size: max(9px, 2cqw); font-weight: 600; }
.as-cover__mark { width: 4.2cqw; min-width: 18px; }
.as-cover .as-arrow { width: 4cqw; height: 4cqw; min-width: 16px; min-height: 16px; }
.as-cover__body { display: grid; gap: 3.2cqw; align-content: end; }
.as-cover__type { margin: 0; font-size: max(9px, 2cqw); letter-spacing: 0.02em; text-transform: uppercase; color: var(--text); }
.as-cover__title { margin: 0; font-size: 6.4cqw; line-height: 1.1; font-weight: 400; text-wrap: balance; }
.as-cover__meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3cqw; margin: 0; padding-top: 3cqw; border-top: 1px solid var(--rule); }
.as-cover__meta dt { color: var(--text-muted); font-size: max(8px, 1.7cqw); text-transform: uppercase; letter-spacing: 0.02em; }
.as-cover__meta dd { margin: 0.8cqw 0 0; font-size: max(10px, 2.2cqw); text-transform: uppercase; letter-spacing: 0.02em; }
.as-cover__logo { width: 52cqw; min-width: 140px; margin-top: 6cqw; }

/* Letterhead: hoja membretada carta (guía p. 37) */
.as-letterhead { aspect-ratio: 8.5 / 11; background: var(--surface-raised); }
.as-letterhead__in {
  grid-template-columns: 35% 8.5% 22.2% 15.3% 1fr;
  grid-template-rows: auto auto 1fr auto;
  row-gap: 6cqw;
  padding: 7cqw 4cqw 6cqw;
  font-size: max(6px, 1.65cqw);
  line-height: 1.25;
}
.as-letterhead .as-up { text-transform: uppercase; letter-spacing: 0.02em; }
.as-letterhead__contact { grid-column: 3 / 5; grid-row: 1; }
.as-letterhead__handle { grid-column: 5; grid-row: 1; }
.as-letterhead__logo { grid-column: 1; grid-row: 2; width: 29cqw; min-width: 90px; align-self: start; }
.as-letterhead__field { grid-row: 2; }
.as-letterhead__field--recipient { grid-column: 3; }
.as-letterhead__field--date { grid-column: 4; }
.as-letterhead__field--ref { grid-column: 5; }
.as-letterhead__office { grid-column: 1; grid-row: 3; }
.as-letterhead__body { grid-column: 2 / 6; grid-row: 3; display: grid; gap: 1.25em; align-content: start; max-width: 62cqw; }
.as-letterhead__body p { margin: 0; }
.as-letterhead__sign { display: grid; justify-items: start; gap: 0.2em; margin-top: 2em; }
.as-letterhead__foot { grid-column: 1 / -1; grid-row: 4; text-align: center; }

/* BusinessCard: tarjeta de presentación 3.5 × 2 in (guía pp. 32–36) */
.as-bcard { aspect-ratio: 3.5 / 2; background: var(--surface-subtle); }
.as-bcard__in { padding: 6cqw 6.5cqw; font-size: max(6px, 2.5cqw); line-height: 1.3; }
.as-bcard--front .as-bcard__in { grid-template-rows: auto 1fr auto; }
.as-bcard--front .as-frame-top { font-size: max(6px, 2.8cqw); }
.as-bcard--front .as-arrow { width: 5cqw; height: 5cqw; }
.as-bcard__logo { width: 64cqw; align-self: end; }
.as-bcard--back .as-bcard__in { grid-template-columns: 1fr 30%; grid-template-rows: auto 1fr auto; column-gap: 4cqw; font-size: max(5px, 1.6cqw); }
/* Monograma recortado: travesaño a un tercio de la altura, pierna derecha arriba al centro (guía p. 34) */
.as-bcard__super { position: absolute; width: 90cqw; left: -24cqw; top: -52.5cqw; color: var(--text); fill: currentColor; }
.as-bcard__logotype { position: absolute; top: 10.5cqw; left: 8cqw; width: 40cqw; }
.as-bcard__aside { grid-column: 2; grid-row: 1 / 3; display: grid; gap: 1.2em; align-content: start; text-transform: uppercase; letter-spacing: 0.02em; }
.as-bcard__contact { grid-column: 1; grid-row: 3; text-transform: uppercase; letter-spacing: 0.02em; }
.as-bcard__contact strong { display: block; font-weight: 600; font-size: 1.15em; }
.as-bcard__web { grid-column: 2; grid-row: 3; align-self: end; text-transform: uppercase; letter-spacing: 0.02em; }

/* PageFooter: folio de documento, en tipo oración como el pie de la guía */
.as-page-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-2) var(--space-6);
  padding-top: 10px;
  border-top: 1px solid var(--border);
  color: var(--text-muted);
  font: 400 10px/1.4 var(--font-sans);
  font-variant-numeric: tabular-nums;
}

/* Slide: lienzo 16:9 con el marco y la retícula de las páginas de la guía */
.as-slide { aspect-ratio: 16 / 9; background: var(--surface-page); }
.as-slide__in {
  grid-template-rows: auto 1fr auto;
  gap: 2.4cqw;
  padding: 2.6cqw 3.5cqw 2.8cqw;
  font-size: 1.25cqw;
  line-height: 1.35;
}
.as-slide .as-frame-top, .as-slide .as-frame-bottom { font-size: 1.3cqw; }
.as-slide .as-arrow { width: 2.2cqw; height: 2.2cqw; }
.as-slide__grid {
  display: grid;
  grid-template-columns: var(--size-rail) 1fr;
  grid-template-rows: 9.4cqw 1fr;
  margin-top: 2.4cqw;
  margin-bottom: 1.6cqw;
}
.as-slide__grid > * { min-width: 0; }
.as-slide__rail-title {
  display: flex;
  align-items: center;
  margin: 0;
  padding-right: 2cqw;
  border-right: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  font-size: 3cqw;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
}
.as-slide__grid-top { border-bottom: 1px solid var(--rule); }
.as-slide__rail { padding: 3.6cqw 2.2cqw 0 0; border-right: 1px solid var(--rule); }
.as-slide__rail p { margin: 0; max-width: 26ch; }
.as-slide__content { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; gap: 0 2.2cqw; padding: 2.8cqw 0 0 2.2cqw; }
.as-slide__content > div { display: grid; gap: 1cqw; align-content: start; padding-bottom: 2.4cqw; }
.as-slide__content > div:nth-child(n+3) { padding-top: 2.4cqw; border-top: 1px solid var(--rule); }
.as-slide__content p { margin: 0; }
.as-slide__muted { color: var(--text-muted); }
.as-slide__logo { width: 46cqw; }
.as-slide__statement { margin: 0; align-self: center; max-width: 30ch; font-size: 3.6cqw; line-height: 1.2; font-weight: 600; text-wrap: balance; }
.as-slide__statement--indent { text-indent: 25%; }
.as-slide__center { align-self: center; justify-self: center; }

/* TextField */
.as-field { display: grid; gap: var(--space-2); min-width: 0; }
.as-field__label { font-size: 14px; font-weight: 600; color: var(--text); }
.as-field__hint { font-size: 13px; line-height: 1.5; color: var(--text-muted); }
.as-input {
  min-height: var(--size-control);
  padding: 0 16px;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-md);
  background: var(--surface-raised);
  color: var(--text);
  font: 400 16px/1.4 var(--font-sans);
  box-sizing: border-box;
  width: 100%;
}
textarea.as-input { min-height: 120px; padding-block: 14px; resize: vertical; }
.as-input::placeholder { color: var(--text-muted); }
.as-input:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
.as-field--error .as-input { border-color: var(--danger); }
.as-field--error .as-field__hint { color: var(--danger); }

/* MonogramPattern: textura de monogramas repetidos que se desvanece (guía pp. 11, 25, 29) */
.as-monogram-pattern {
  --as-pattern-size: 22px;
  background-color: var(--text-muted);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-470 -520 940 1040'%3E%3Cpath transform='scale(1,-1)' d='M359.543-437.923l-142.88-2.435l-33.189,93.565c-22.126,62.061-79.128,91.876-142.88,91.313l-146.255-0.938h-253.884l261.009,694.336l127.878,2.44L209.163-39.284L75.471-38.721L-34.783,277.604l-143.629-409.327l276.196-5.626C256.415-140.536,319.792-306.856,359.543-437.923z'/%3E%3C/svg%3E"), linear-gradient(to bottom, #000, transparent);
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-470 -520 940 1040'%3E%3Cpath transform='scale(1,-1)' d='M359.543-437.923l-142.88-2.435l-33.189,93.565c-22.126,62.061-79.128,91.876-142.88,91.313l-146.255-0.938h-253.884l261.009,694.336l127.878,2.44L209.163-39.284L75.471-38.721L-34.783,277.604l-143.629-409.327l276.196-5.626C256.415-140.536,319.792-306.856,359.543-437.923z'/%3E%3C/svg%3E"), linear-gradient(to bottom, #000, transparent);
  -webkit-mask-size: var(--as-pattern-size) auto, 100% 100%;
  mask-size: var(--as-pattern-size) auto, 100% 100%;
  -webkit-mask-repeat: repeat, no-repeat;
  mask-repeat: repeat, no-repeat;
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}

/* Impresión */
@media print {
  body { background: var(--white); }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .as-cover, .as-slide, .as-letterhead { break-after: page; }
  .as-table tr, .as-callout, .as-metric-block, .as-delivery-close { break-inside: avoid; }
}
