/* AEXIS v2 · interior pages and articles (rendered by scripts/render-pagina.cjs). Same DATUM grammar as the home:
   obsidian and vault backgrounds alternate, labels in mono, display headings with one italic half, no shadows, radius 0. */

/* ---------- Hero ---------- */
.pg-hero { position: relative; padding: calc(var(--ax-nav-h) + 64px) 0 72px; border-bottom: 1px solid var(--ax-line); background: var(--ax-bg); }
.pg-hero__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--ax-gutter); align-items: end; }
.pg-hero__text { grid-column: 1 / span 9; min-width: 0; }
.pg-hero--foto .pg-hero__text { grid-column: 1 / span 6; }
.pg-hero__media { grid-column: 8 / span 5; min-width: 0; }
.pg-hero__media img { aspect-ratio: 3 / 2; }
.pg-crumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 40px; font: 400 10.5px/1.45 var(--ax-font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ax-text-muted); }
.pg-crumbs a { color: var(--ax-text-3); }
.pg-crumbs a:hover { color: var(--ax-text); text-decoration: underline; text-underline-offset: 4px; }
.pg-hero .ax-kicker { margin-bottom: 26px; }
.pg-h1 { max-width: 15em; }
.pg-hero--foto .pg-h1 { font-size: clamp(40px, 4.4vw, 64px); }
.pg-h1 em, .pg-h2 em { font-style: italic; }
.pg-lead { margin-top: 28px; max-width: 34em; }
.pg-meta { margin-top: 22px !important; font: 400 10.5px/1.6 var(--ax-font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ax-text-3); }

/* ---------- Sections and blocks ---------- */
.pg-s .pg-h2 { font-size: clamp(30px, 3.2vw, 44px); max-width: 20em; }
.pg-s__head { margin-bottom: 40px; }
.pg-s__body { display: grid; gap: 36px; }
.pg-s__body > .pg-text, .pg-s__body > .pg-faq, .pg-s__body > .pg-anexo, .pg-s__body > .hv-now { max-width: 760px; }
.pg-text .ax-body { max-width: 40em; }
.pg-text .ax-body + .ax-body { margin-top: 1em; }
.pg-text a, .pg-list a, .pg-ledger a, .pg-faq a, .hv-now a, .pg-sit a, .pg-src__upd a, .pg-final__note a { color: var(--ax-text); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--ax-line-control); }
.pg-ledger { max-width: 980px; }
.pg-ledger :where(dd) { font-size: 16px; line-height: 1.6; }
.pg-k { padding-bottom: 12px; margin-bottom: 4px !important; border-bottom: 1px solid var(--ax-line-strong); font: 400 10.5px/1.45 var(--ax-font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ax-text-3); }
.pg-list li { position: relative; padding: 14px 0 14px 22px; border-bottom: 1px solid var(--ax-line); font-size: 16px; line-height: 1.55; color: var(--ax-text-2); }
.pg-list li::before { content: ""; position: absolute; left: 0; top: 24px; width: 10px; height: 1px; background: var(--ax-text-3); }

/* Situations: the visitor's own words */
.pg-sit { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--ax-gutter); border-top: 1px solid var(--ax-line-strong); }
.pg-sit li { padding: 22px 0 24px; border-bottom: 1px solid var(--ax-line); }
.pg-sit__t { font: 400 22px/1.3 var(--ax-font-display); font-variation-settings: "opsz" 36; color: var(--ax-text); }
.pg-sit__d { margin-top: 8px !important; font-size: 15px; line-height: 1.6; color: var(--ax-text-2); }

/* Steps: same stations as the home method */
.pg-steps { margin-top: 0; }
.pg-steps--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pg-steps--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pg-steps--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pg-steps--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }

/* Cards */
.pg-cards { display: grid; gap: 0 var(--ax-gutter); border-top: 1px solid var(--ax-line-strong); }
.pg-cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pg-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pg-cards > li { display: flex; border-bottom: 1px solid var(--ax-line); }
.pg-card { display: flex; flex-direction: column; gap: 10px; width: 100%; padding: 24px 0 26px; }
.pg-card__t { font: 400 22px/1.25 var(--ax-font-display); font-variation-settings: "opsz" 36; color: var(--ax-text); }
.pg-card__d { font-size: 15px; line-height: 1.6; color: var(--ax-text-2); }
.pg-card__a { margin-top: auto; padding-top: 8px; font: 600 11.5px/1 var(--ax-font-text); font-stretch: 125%; letter-spacing: .18em; text-transform: uppercase; color: var(--ax-text-2); }
a.pg-card:hover .pg-card__t { font-style: italic; }
a.pg-card:hover .pg-card__a { color: var(--ax-text); }

/* Two columns: what you do / what we do */
.pg-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px var(--ax-gutter); }

/* Notes and warnings */
.pg-s .hv-now { margin-top: 0; }
.pg-aviso { border-left-color: var(--ax-text); background: var(--ax-surface-2); }
.hv-tone-boveda .pg-aviso { background: var(--ax-bg); }

/* Example sheet */
.pg-sheet { margin-top: 0; max-width: 760px; }
.pg-sheet__ledger :where(dd) { font-size: 15px; line-height: 1.55; }

/* FAQ and technical annex */
.pg-faq { border-top: 1px solid var(--ax-line-strong); }
.pg-faq__i { border-bottom: 1px solid var(--ax-line); }
.pg-faq__i summary, .pg-anexo summary { position: relative; display: block; padding: 20px 40px 20px 0; cursor: pointer; list-style: none; font: 400 20px/1.35 var(--ax-font-display); font-variation-settings: "opsz" 36; color: var(--ax-text); }
.pg-faq__i summary::-webkit-details-marker, .pg-anexo summary::-webkit-details-marker { display: none; }
.pg-faq__i summary::after, .pg-anexo summary::after { content: "+"; position: absolute; right: 4px; top: 18px; font: 400 20px/1 var(--ax-font-mono); color: var(--ax-text-3); }
.pg-faq__i[open] summary::after, .pg-anexo[open] summary::after { content: "−"; }
.pg-faq__i summary:focus-visible, .pg-anexo summary:focus-visible { outline: 2px solid var(--ax-focus, var(--ax-text)); outline-offset: 4px; }
.pg-faq__a { padding: 0 0 22px; }
.pg-faq__a .ax-body + .ax-body { margin-top: .8em; }
.pg-anexo { border-top: 1px solid var(--ax-line-strong); border-bottom: 1px solid var(--ax-line); }
.pg-anexo summary { font: 400 11.5px/1.5 var(--ax-font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ax-text-2); }
.pg-anexo ul { padding-bottom: 20px; }
.pg-anexo li { padding: 8px 0; border-top: 1px solid var(--ax-line); font: 400 13px/1.6 var(--ax-font-mono); color: var(--ax-text-2); }

/* Photos inside a section */
.pg-foto { max-width: 1100px; }
.pg-foto img { aspect-ratio: 16 / 9; }

/* ---------- Closing: related pages, final call, sources ---------- */
.pg-final__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--ax-gutter); row-gap: 40px; align-items: end; }
.pg-final__grid > :first-child { grid-column: 1 / span 7; }
.pg-final__aside { grid-column: 9 / span 4; }
.pg-final .ax-kicker { margin-bottom: 26px; }
.pg-final .sh-mail { margin-top: 14px; }
.pg-final__note { margin-top: 16px !important; font-size: 14px; line-height: 1.6; color: var(--ax-text-3); }
.pg-src { padding: 48px 0 56px; background: var(--ax-bg); border-top: 1px solid var(--ax-line); }
.pg-src__list { counter-reset: src; }
.pg-src__list li { counter-increment: src; display: grid; grid-template-columns: 34px minmax(0, 1fr); padding: 10px 0; border-bottom: 1px solid var(--ax-line); font-size: 14px; line-height: 1.55; color: var(--ax-text-2); }
.pg-src__list li::before { content: counter(src, decimal-leading-zero); font: 400 10.5px/2 var(--ax-font-mono); color: var(--ax-text-muted); }
.pg-src__list a { color: var(--ax-text-2); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--ax-line-control); overflow-wrap: anywhere; }
.pg-src__list a:hover { color: var(--ax-text); }
.pg-src__upd { margin-top: 18px !important; font: 400 10.5px/1.6 var(--ax-font-mono); letter-spacing: .05em; text-transform: uppercase; color: var(--ax-text-muted); }

/* ---------- Contact ---------- */
.pg-contact .hv-split__media { position: sticky; top: calc(var(--ax-nav-h-solid) + 24px); }

/* ---------- Articles index ---------- */
.pg-posts { border-top: 1px solid var(--ax-line-strong); }
.pg-posts li { border-bottom: 1px solid var(--ax-line); }
.pg-post { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--ax-gutter); row-gap: 10px; padding: 28px 0 30px; }
.pg-post__m { grid-column: 1 / span 3; font: 400 10.5px/1.6 var(--ax-font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ax-text-3); }
.pg-post__t { grid-column: 4 / span 7; font: 400 28px/1.2 var(--ax-font-display); font-variation-settings: "opsz" 48; color: var(--ax-text); }
.pg-post__d { grid-column: 4 / span 7; font-size: 15px; line-height: 1.6; color: var(--ax-text-2); }
.pg-post .pg-card__a { grid-column: 4 / span 7; }
.pg-post:hover .pg-post__t { font-style: italic; }

/* ---------- Responsive ---------- */
@media (max-width: 1023px) {
  .pg-hero__text, .pg-hero--foto .pg-hero__text, .pg-hero__media { grid-column: 1 / -1; }
  .pg-hero__media { margin-top: 48px; }
  .pg-cards--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pg-steps--4, .pg-steps--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 28px; }
  .pg-final__grid > :first-child, .pg-final__aside { grid-column: 1 / -1; }
  .pg-post__m, .pg-post__t, .pg-post__d, .pg-post .pg-card__a { grid-column: 1 / -1; }
  .pg-contact .hv-split__media { position: static; margin-top: 48px; }
}
@media (max-width: 767px) {
  .pg-hero { padding: calc(var(--ax-nav-h) + 36px) 0 56px; }
  .pg-crumbs { margin-bottom: 28px; }
  .pg-hero--foto .pg-h1 { font-size: 40px; }
  .pg-sit, .pg-cards--2, .pg-cards--3, .pg-cols, .pg-steps--2, .pg-steps--3, .pg-steps--4, .pg-steps--5 { grid-template-columns: minmax(0, 1fr); }
  .pg-sit__t, .pg-card__t { font-size: 20px; }
  .pg-faq__i summary { font-size: 18px; }
  .pg-post__t { font-size: 24px; }
}
@media print {
  .pg-faq__i, .pg-anexo { break-inside: avoid; }
  .pg-faq__i:not([open]) .pg-faq__a { display: block; }
}

/* Interior pages are read top to bottom: a tighter rhythm than the home keeps them scannable. */
.pg-page .hv-sec { padding-block: clamp(64px, 7.5vw, 104px); }
.pg-page .pg-s__head { margin-bottom: 32px; }

/* Articles: 30-second summary, numbered steps and data tables */
.pg-summary { max-width: 760px; padding: 24px 28px 22px; background: var(--ax-surface-1); border: 1px solid var(--ax-line-strong); border-left: 2px solid var(--ax-text); }
.hv-tone-boveda .pg-summary { background: var(--ax-bg); }
.pg-summary__k { margin-bottom: 10px !important; font: 400 10.5px/1.45 var(--ax-font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ax-text-3); }
.pg-summary li { position: relative; padding: 10px 0 10px 22px; border-top: 1px solid var(--ax-line); font-size: 16px; line-height: 1.55; color: var(--ax-text); }
.pg-summary li::before { content: ""; position: absolute; left: 0; top: 21px; width: 10px; height: 1px; background: var(--ax-text-3); }
.pg-num { counter-reset: num; max-width: 820px; border-top: 1px solid var(--ax-line-strong); }
.pg-num li { counter-increment: num; position: relative; padding: 20px 0 20px 56px; border-bottom: 1px solid var(--ax-line); }
.pg-num li::before { content: counter(num, decimal-leading-zero); position: absolute; left: 0; top: 18px; font: 300 26px/1 var(--ax-font-display); color: var(--ax-text-3); }
.pg-num__t { font: 400 20px/1.3 var(--ax-font-display); font-variation-settings: "opsz" 36; color: var(--ax-text); }
.pg-num__t + .pg-num__d { margin-top: 6px !important; }
.pg-num__d { font-size: 15.5px; line-height: 1.6; color: var(--ax-text-2); }
.pg-table { max-width: 1040px; margin: 0; }
.pg-table__wrap { overflow-x: auto; }
.pg-table table { width: 100%; border-collapse: collapse; border-top: 1px solid var(--ax-line-strong); font-size: 15px; line-height: 1.5; }
.pg-table thead th { padding: 12px 16px 12px 0; text-align: left; vertical-align: bottom; font: 400 10.5px/1.45 var(--ax-font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ax-text-3); border-bottom: 1px solid var(--ax-line-strong); }
.pg-table tbody th, .pg-table td { padding: 14px 16px 14px 0; text-align: left; vertical-align: top; border-bottom: 1px solid var(--ax-line); color: var(--ax-text-2); }
.pg-table tbody th { font-weight: 500; color: var(--ax-text); }
.pg-table__note { margin-top: 12px !important; font-size: 13.5px; line-height: 1.6; color: var(--ax-text-3); }
@media (max-width: 767px) {
  .pg-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .pg-table table, .pg-table tbody, .pg-table tr, .pg-table tbody th, .pg-table td { display: block; width: 100%; }
  .pg-table tr { padding: 14px 0; border-bottom: 1px solid var(--ax-line); }
  .pg-table tbody th, .pg-table td { padding: 4px 0; border: 0; }
  .pg-table td::before { content: attr(data-label); display: block; margin-bottom: 2px; font: 400 10.5px/1.45 var(--ax-font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ax-text-3); }
  .pg-num li { padding-left: 44px; }
  .pg-summary { padding: 20px 18px; }
}
