
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  min-width: 0;
  margin: 0;
  overflow-x: hidden;
  background: var(--ivory);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 2px solid var(--paper); outline-offset: 3px; box-shadow: 0 0 0 5px var(--ink); }
::selection { background: rgba(159, 79, 45, .23); }

.skip-link { position: absolute; z-index: 50; top: -5rem; left: 1rem; padding: .7rem .9rem; background: var(--ink); color: var(--paper); }
.skip-link:focus { top: 1rem; }
.shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.section { padding: clamp(4.8rem, 8vw, 8.5rem) 0; scroll-margin-top: 6rem; }
.section--paper { background: var(--paper); }
.section--ink { background: var(--ink); color: var(--paper); }
.section--ink h2, .section--ink h3 { color: var(--paper); }
.eyebrow, .label {
  margin: 0;
  color: var(--copper);
  font-family: var(--mono);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.section--ink .eyebrow { color: rgba(255, 253, 248, .78); }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--ink); text-wrap: balance; }
h1, h2 { font-family: var(--serif); font-weight: 700; letter-spacing: -.02em; }
h1 { max-width: 12ch; margin-bottom: 1.3rem; font-size: clamp(3.05rem, 5.3vw, 4.7rem); line-height: .96; }
h2 { max-width: 16ch; margin-bottom: 1rem; font-size: clamp(2.35rem, 4.2vw, 3.9rem); line-height: .99; }
h3 { margin-bottom: .5rem; font-size: clamp(1.08rem, 1.5vw, 1.42rem); line-height: 1.18; letter-spacing: -.01em; font-weight: 600; }
.lead { max-width: 60ch; color: var(--slate); font-size: clamp(1.06rem, 1vw + .72rem, 1.27rem); line-height: 1.5; }
.section-copy { max-width: 58ch; color: var(--slate); font-size: 1.03rem; }
.section--ink .section-copy, .section--ink .lead { color: rgba(255, 253, 248, .76); }
.section-head { display: grid; grid-template-columns: minmax(0, .95fr) minmax(250px, .65fr); gap: 2rem; align-items: end; margin-bottom: clamp(2rem, 4vw, 3.5rem); }

.site-header { position: sticky; z-index: 20; top: 0; border-bottom: 1px solid var(--line); background: var(--ivory); }
.nav { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { display: inline-flex; flex-direction: column; color: var(--ink); text-decoration: none; line-height: 1.05; }
.brand strong { font-family: var(--serif); font-size: 1.55rem; letter-spacing: -.04em; }
.brand span { margin-top: .25rem; color: var(--slate); font-family: var(--mono); font-size: .64rem; letter-spacing: .075em; text-transform: uppercase; }
.nav-toggle { display: none; border: 1px solid var(--line); background: transparent; color: var(--ink); padding: .52rem .7rem; font-size: .82rem; font-weight: 700; }
.nav-links { display: flex; align-items: center; gap: 1.35rem; }
.nav-links a { color: var(--ink); font-size: .91rem; font-weight: 700; text-decoration: none; }
.nav-links a:hover, .nav-links a[aria-current="page"] { text-decoration: underline; text-decoration-color: var(--copper); text-underline-offset: 5px; }

.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; border: 1px solid var(--ink); border-radius: 999px; padding: .76rem 1.1rem; font-size: .92rem; font-weight: 750; text-align: center; text-decoration: none; transition: transform .18s var(--ease), background .18s var(--ease), color .18s var(--ease); }
.button:hover { transform: translateY(-2px); }
.button.primary { border-color: var(--copper); background: var(--copper); color: var(--paper); }
.button.primary:hover { border-color: var(--ink); background: var(--ink); color: var(--paper); }
.button.secondary { background: transparent; color: var(--ink); }
.section--ink .button.secondary { border-color: var(--paper); color: var(--paper); }
.hero-actions, .button-row { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.8rem; }
.microproof { max-width: 45ch; margin: 1rem 0 0; color: var(--slate); font-size: .88rem; }
.microproof::before { color: var(--copper); content: "— "; }

.hero { padding: clamp(2.2rem, 5vw, 4rem) 0 clamp(4.1rem, 7vw, 7.5rem); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(350px, 5fr); gap: clamp(2.4rem, 6vw, 6.5rem); align-items: center; }










.state-pill { flex: none; padding: .28rem .45rem; background: var(--paper); color: var(--ink); font-family: var(--mono); font-size: .61rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }




.gate-mark { width: 9px; height: 9px; flex: none; border-radius: 50%; background: var(--paper); }












.ledger { border-top: 1px solid var(--ink); }
.ledger-row { display: grid; grid-template-columns: 3.1rem minmax(0, 1fr) minmax(215px, .65fr); gap: 1.2rem; align-items: baseline; border-bottom: 1px solid var(--line); padding: 1.2rem 0; }
.ledger-index { color: var(--copper); font-family: var(--serif); font-size: 1.6rem; line-height: 1; }
.ledger-row p { margin: 0; color: var(--slate); font-size: .94rem; }
.process-grid, .two-column { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(2rem, 5.5vw, 5rem); align-items: start; }
.process-intro { position: sticky; top: 1rem; }
.process-ledger, .method-list { display: grid; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.process-step, .method-list li { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 1rem; border-bottom: 1px solid var(--line); padding: 1.15rem 0; }
.process-step > span, .method-list > li > span { color: var(--copper); font-family: var(--mono); font-size: .68rem; font-weight: 700; letter-spacing: .08em; }
.process-step p, .method-list p { margin: .32rem 0 0; color: var(--slate); font-size: .94rem; }
.service-list { border-top: 1px solid var(--ink); }
.service-row { display: grid; grid-template-columns: minmax(200px, .7fr) minmax(0, 1fr) auto; gap: 1.5rem; align-items: start; border-bottom: 1px solid var(--line); padding: 1.35rem 0; }
.service-row p { margin: 0; color: var(--slate); }
.text-link { color: var(--ink); font-size: .9rem; font-weight: 700; white-space: nowrap; }
.callout { border-left: 3px solid var(--copper); padding: .25rem 0 .25rem 1.2rem; }
.callout p { max-width: 68ch; margin: 0; color: var(--slate); font-size: 1.02rem; }
.about-note { border-top: 2px solid var(--ink); padding-top: 1.2rem; }
.about-note p { max-width: 60ch; color: var(--slate); font-size: 1.04rem; }

.breadcrumbs { padding-top: 1.35rem; color: var(--slate); font-size: .84rem; scroll-margin-top: 5.5rem; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.breadcrumbs li + li::before { margin-right: .4rem; color: var(--copper); content: "/"; }
.page-hero { padding: clamp(2rem, 5vw, 4rem) 0 clamp(3.5rem, 7vw, 6.5rem); }
.page-hero .lead { margin-bottom: 0; }
.contact-grid { display: grid; grid-template-columns: .65fr 1.35fr; gap: clamp(1.5rem, 4vw, 4.3rem); align-items: start; }
.contact-aside { padding-top: .45rem; }
.contact-aside p { color: var(--slate); }
.contact-options { display: grid; gap: .8rem; margin-top: 1.5rem; }
.contact-options a { display: block; border-top: 1px solid var(--line); padding-top: .8rem; color: var(--ink); font-weight: 700; }
.site-footer { margin-top: clamp(4rem, 8vw, 7rem); border-top: 1px solid var(--line); padding: 1.75rem 0 2.3rem; color: var(--slate); font-size: .86rem; }
.footer-inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .85rem 1.5rem; }
.footer-inner p { margin: 0; }
.footer-inner a { color: var(--ink); }
.footer-grid { display: grid; grid-template-columns: minmax(160px, .8fr) minmax(0, 1.2fr) auto; gap: 1rem 2rem; align-items: end; }
.footer-grid .brand { width: fit-content; }
.footer-grid p { max-width: 42ch; margin: 0; }
.footer-links { display: flex; flex-wrap: wrap; gap: .65rem 1rem; }

.reveal { opacity: 1; transform: none; }
html.reveal-ready .reveal { opacity: 0; transform: translateY(16px); transition: opacity .48s var(--ease), transform .48s var(--ease); }
html.reveal-ready .reveal.in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .reveal, html.reveal-ready .reveal { opacity: 1 !important; transform: none !important; }
}
@media (max-width: 800px) {
  .shell { width: min(100% - 32px, 1180px); }
  .nav { min-height: 69px; position: relative; }
  .nav-toggle { display: inline-flex; align-items: center; }
  .nav-links { display: none; position: absolute; z-index: 10; top: calc(100% - 1px); right: 0; left: 0; flex-direction: column; align-items: stretch; gap: 0; border: 1px solid var(--line); background: var(--paper); box-shadow: var(--shadow); }
  .nav-links[data-open="true"] { display: flex; }
  .nav-links a { padding: .9rem 1rem; border-bottom: 1px solid var(--line); }.nav-links a:last-child { border-bottom: 0; }
  .hero-grid, .process-grid, .two-column, .contact-grid { grid-template-columns: 1fr; }
  .process-intro { position: static; }

  .section-head { grid-template-columns: 1fr; gap: 1rem; }
  .footer-grid { grid-template-columns: 1fr; align-items: start; }
}
@media (max-width: 560px) {
  .shell { width: min(100% - 28px, 1180px); }
  .brand span { display: none; }
  h1 { font-size: clamp(2.5rem, 12vw, 3.35rem); line-height: .99; }
  h2 { font-size: clamp(2.08rem, 10.5vw, 2.8rem); }
  .hero { padding-top: 2rem; }
  .site-header { position: relative; }
  .hero-actions, .button-row { display: grid; margin-top: 1.5rem; }
  .button { width: 100%; }

.state-pill { display: inline-block; margin-top: .65rem; }


  .ledger-row { grid-template-columns: 2.15rem minmax(0, 1fr); gap: .65rem; }.ledger-row p { grid-column: 2; }
  .service-row { grid-template-columns: 1fr; gap: .7rem; }.service-row .text-link { width: fit-content; }
}

/* Service detail extensions: editorial documents and compact flows. */
.service-index-hero { border-bottom: 1px solid var(--line); }
.service-index-hero strong { color: var(--ink); }
.service-list--ink { border-color: var(--line-dark); }
.service-list--ink .service-row { border-color: var(--line-dark); }
.service-list--ink .service-row p, .service-list--ink .text-link { color: rgba(255, 253, 248, .8); }
.service-list--ink .label { color: rgba(255, 253, 248, .62); }
.service-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .83fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.report-preview { border: 1px solid var(--ink); padding: 1.35rem; background: var(--paper); box-shadow: var(--shadow); }
.report-kicker, .strip-kicker { margin: 0 0 .9rem; color: var(--copper); font-family: var(--mono); font-size: .66rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.report-header { display: flex; justify-content: space-between; gap: .8rem; border-bottom: 1px solid var(--line); padding-bottom: .75rem; color: var(--slate); font-family: var(--mono); font-size: .68rem; }
.report-preview h2 { margin: 1.6rem 0 1rem; font-size: 2.15rem; }
.report-preview dl { display: grid; gap: .85rem; margin: 0; }
.report-preview dl div { border-top: 1px solid var(--line); padding-top: .75rem; }
.report-preview dt { margin-bottom: .23rem; color: var(--copper); font-family: var(--mono); font-size: .64rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.report-preview dd { margin: 0; color: var(--ink-soft); font-size: .9rem; line-height: 1.45; }
.report-note, .strip-note { margin: 1rem 0 0; color: var(--slate); font-size: .77rem; line-height: 1.45; }
.scope-ledger { display: grid; gap: 0; border-top: 1px solid var(--line); }
.scope-ledger article { border-bottom: 1px solid var(--line); padding: 1rem 0; }
.scope-ledger h3 { margin: 0 0 .35rem; }
.scope-ledger p, .fit-grid p { margin: 0; color: var(--slate); font-size: .94rem; }
.fit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.fit-grid article { min-height: 178px; border-bottom: 1px solid var(--line); padding: 1.25rem 1.25rem 1.25rem 0; }
.fit-grid article:nth-child(even) { border-left: 1px solid var(--line); padding-left: 1.25rem; }
.fit-grid h3 { margin-bottom: .45rem; }
.section--ink .method-list { border-color: var(--line-dark); }
.section--ink .method-list li { border-color: var(--line-dark); }
.section--ink .method-list li > span { color: rgba(255, 253, 248, .64); }
.section--ink .method-list p { color: rgba(255, 253, 248, .76); }
.faq { display: grid; gap: .65rem; max-width: 780px; }
.faq details { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 1rem 0; }
.faq summary { color: var(--ink); cursor: pointer; font-weight: 750; line-height: 1.4; }
.faq summary::marker { color: var(--copper); }
.faq details p { margin: .7rem 1.5rem 0 0; color: var(--slate); }
.automation-strip { padding: 1.25rem; background: var(--ink); color: var(--paper); box-shadow: var(--shadow); }
.automation-strip .strip-kicker { color: rgba(255, 253, 248, .7); }
.strip-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.strip-flow div { min-height: 155px; border-right: 1px solid var(--line-dark); padding: 1rem .8rem; }
.strip-flow div:last-child { border-right: 0; }
.strip-flow span { display: block; margin-bottom: 1.7rem; color: rgba(255, 253, 248, .6); font-family: var(--mono); font-size: .66rem; }
.strip-flow strong { display: block; color: var(--paper); font-size: 1.1rem; }
.strip-flow p { margin: .45rem 0 0; color: rgba(255, 253, 248, .72); font-size: .78rem; line-height: 1.42; }
.automation-strip .strip-note { color: rgba(255, 253, 248, .62); }
.price-reference { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--ink); }
.price-reference article { display: grid; gap: .55rem; min-height: 185px; border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); padding: 1.3rem; }
.price-reference article:first-child { padding-left: 0; }.price-reference article:last-child { border-right: 0; }
.price-reference p { margin: 0; color: var(--slate); font-size: .86rem; }
.price-clarification { max-width: 70ch; margin: 1rem 0 0; color: var(--ink-soft); font-size: .84rem; line-height: 1.5; }
.price-reference strong { color: var(--ink); font-family: var(--serif); font-size: clamp(1.65rem, 3vw, 2.4rem); letter-spacing: -.04em; line-height: 1; }
.price-reference span { color: var(--slate); font-size: .85rem; line-height: 1.45; }
@media (max-width: 800px) {
  .service-hero-grid { grid-template-columns: 1fr; }
  .fit-grid { grid-template-columns: 1fr; }
  .fit-grid article, .fit-grid article:nth-child(even) { min-height: 0; border-left: 0; padding: 1rem 0; }
  .price-reference { grid-template-columns: 1fr; }
  .price-reference article, .price-reference article:first-child { min-height: 0; border-right: 0; padding: 1.1rem 0; }
}
@media (max-width: 560px) {
  .report-preview, .automation-strip { margin-inline: -2px; padding: 1rem; }
  .report-header { display: grid; }
  .strip-flow div { min-height: 132px; padding: .85rem .55rem; }
  .strip-flow span { margin-bottom: 1rem; }
  .strip-flow strong { font-size: .95rem; }
  .strip-flow p { font-size: .72rem; }
}

/* Software de gestión: panel conceptual y secciones operativas. */
.service-hero { padding-top: clamp(2rem, 5vw, 4rem); }
.management-panel { overflow: hidden; border: 1px solid var(--ink); background: var(--paper); box-shadow: var(--shadow); }
.management-panel__bar { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--line); padding: .8rem 1rem; color: var(--ink); font-family: var(--mono); font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.management-panel__bar span:last-child { color: var(--slate); font-weight: 500; }
.management-panel__body { display: grid; grid-template-columns: 54px minmax(0, 1fr); min-height: 340px; }
.management-panel__rail { display: grid; align-content: start; justify-items: center; gap: 1.2rem; border-right: 1px solid var(--line); padding-top: 1.35rem; background: rgba(18, 45, 49, .035); }
.management-panel__rail i { width: 12px; height: 12px; border: 1px solid var(--ink); border-radius: 50%; }
.management-panel__rail i:first-child { background: var(--copper); border-color: var(--copper); }
.management-panel__content { padding: 1.2rem; }
.management-panel__title { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; border-bottom: 1px solid var(--line); padding-bottom: .85rem; color: var(--ink); font-family: var(--serif); font-size: 1.45rem; font-weight: 600; letter-spacing: -.035em; }
.management-panel__title small { color: var(--slate); font-family: var(--mono); font-size: .61rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.management-panel__modules { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 1rem; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.management-panel__modules section { display: grid; gap: .35rem; min-height: 100px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: .85rem; }
.management-panel__modules b { color: var(--ink); font-size: .83rem; line-height: 1.25; }
.management-panel__modules span { color: var(--slate); font-size: .72rem; line-height: 1.42; }
.management-panel__trace { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.management-panel__trace span { border: 1px solid var(--line); padding: .35rem .5rem; color: var(--ink-soft); font-family: var(--mono); font-size: .62rem; letter-spacing: .04em; }
.management-panel > p { margin: 0; border-top: 1px solid var(--line); padding: .75rem 1rem; color: var(--slate); font-size: .75rem; line-height: 1.4; }
.software-shift { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--ink); }
.software-shift article { min-height: 210px; border-bottom: 1px solid var(--line); padding: 1.35rem 1.35rem 1.35rem 0; }
.software-shift article + article { border-left: 1px solid var(--line); padding-left: 1.35rem; }
.software-shift span, .software-comparison span { color: var(--copper); font-family: var(--mono); font-size: .67rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.software-shift h3 { max-width: 17ch; margin: .8rem 0 .55rem; }
.software-shift p, .software-comparison p { max-width: 42ch; margin: 0; color: var(--slate); font-size: .94rem; }
.software-includes article:nth-child(3) .label, .software-includes article:nth-child(4) .label { color: var(--slate); }
.software-comparison { display: grid; gap: 1.25rem; border-top: 1px solid var(--line); padding-top: 1.25rem; }
.software-comparison > div { border-bottom: 1px solid var(--line); padding-bottom: 1.2rem; }
.software-comparison p { margin-top: .55rem; }
.software-comparison .text-link { width: fit-content; }
.software-cta { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.software-cta h2 { max-width: 15ch; }
@media (max-width: 800px) {
  .management-panel { max-width: 620px; }
  .software-cta { display: grid; align-items: start; }
  .software-cta .button { width: fit-content; }
}
@media (max-width: 560px) {
  .management-panel__body { grid-template-columns: 42px minmax(0, 1fr); min-height: 0; }
  .management-panel__rail { gap: 1rem; padding-top: 1rem; }
  .management-panel__content { padding: .9rem; }
  .management-panel__title { display: grid; gap: .3rem; font-size: 1.22rem; }
  .management-panel__modules { grid-template-columns: 1fr; }
  .management-panel__modules section { min-height: 0; padding: .7rem; }
  .management-panel__trace { gap: .35rem; }
  .software-shift { grid-template-columns: 1fr; }
  .software-shift article, .software-shift article + article { min-height: 0; border-left: 0; padding: 1rem 0; }
  .software-cta .button { width: 100%; }
}

/* Agente IA: flujo supervisado y límites operativos. */
.agent-hero { padding-bottom: clamp(3.5rem, 7vw, 6.5rem); }
.agent-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .95fr); gap: clamp(2.25rem, 6vw, 6rem); align-items: center; }
.agent-flow { margin: 0; border: 1px solid var(--ink); background: var(--paper); box-shadow: var(--shadow); }
.agent-flow > figcaption { padding: .9rem 1rem; border-bottom: 1px solid var(--line); }
.agent-flow__steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--line); }
.agent-flow__steps li { position: relative; min-height: 170px; padding: 1rem .8rem; border-right: 1px solid var(--line); }
.agent-flow__steps li:last-child { border-right: 0; }
.agent-flow__steps li:not(:last-child)::after { position: absolute; z-index: 1; top: 33px; right: -.31rem; width: .56rem; height: .56rem; border-top: 1px solid var(--copper); border-right: 1px solid var(--copper); background: var(--paper); content: ""; transform: rotate(45deg); }
.agent-flow__steps span, .agent-deliverables > article > span { display: block; margin-bottom: 1.55rem; color: var(--copper); font-family: var(--mono); font-size: .65rem; font-weight: 700; letter-spacing: .08em; }
.agent-flow__steps strong { display: block; color: var(--ink); font-size: 1rem; line-height: 1.2; }
.agent-flow__steps small { display: block; margin-top: .52rem; color: var(--slate); font-size: .73rem; line-height: 1.4; }
.agent-flow__steps .agent-flow__approval { background: rgba(159, 79, 45, .08); }
.agent-flow__checkpoint { display: grid; grid-template-columns: auto 1fr; column-gap: .65rem; align-items: baseline; padding: 1rem; background: var(--ink); color: var(--paper); }
.agent-flow__checkpoint span { color: var(--paper); font-size: .6rem; }
.agent-flow__checkpoint strong { font-size: .86rem; letter-spacing: .01em; }
.agent-flow__checkpoint p { grid-column: 2; margin: .22rem 0 0; color: rgba(255, 253, 248, .75); font-size: .76rem; line-height: 1.4; }
.agent-flow__limits { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0; padding: .85rem 1rem 1rem; list-style: none; }
.agent-flow__limits li { border: 1px solid var(--line); padding: .33rem .48rem; color: var(--ink-soft); font-family: var(--mono); font-size: .62rem; letter-spacing: .025em; }
.agent-shift, .agent-fit { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--ink); }
.agent-shift article, .agent-fit article { min-height: 205px; border-bottom: 1px solid var(--line); padding: 1.25rem 1.25rem 1.25rem 0; }
.agent-shift article + article, .agent-fit article + article { border-left: 1px solid var(--line); padding-left: 1.25rem; }
.agent-shift span, .agent-fit .label { color: var(--copper); font-family: var(--mono); font-size: .67rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.agent-shift h3, .agent-fit h3 { max-width: 20ch; margin: .75rem 0 .5rem; }
.agent-shift p, .agent-fit p { max-width: 46ch; margin: 0; color: var(--slate); font-size: .94rem; }
.agent-deliverables { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line-dark); }
.agent-deliverables article { min-height: 205px; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); padding: 1.15rem; }
.agent-deliverables article:last-child { border-right: 0; }
.agent-deliverables h3 { color: var(--paper); }
.agent-deliverables p { margin: 0; color: rgba(255, 253, 248, .74); font-size: .88rem; line-height: 1.48; }
.agent-deliverables > article > span { color: rgba(255, 253, 248, .62); }
.agent-scope article:nth-child(n+3) .label { color: var(--slate); }
.agent-related { margin-top: 1.5rem; border-left: 3px solid var(--copper); padding-left: 1rem; }
.agent-related p { max-width: 68ch; margin: 0; color: var(--slate); }
.agent-related a { color: var(--ink); font-weight: 700; }
.agent-next { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.agent-next h2 { max-width: 16ch; }
.agent-next .button { flex: none; }
@media (max-width: 800px) {
  .agent-hero__grid { grid-template-columns: 1fr; }
  .agent-flow { max-width: 640px; }
  .agent-deliverables { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .agent-deliverables article:nth-child(2) { border-right: 0; }
  .agent-next { display: grid; align-items: start; }
  .agent-next .button { width: fit-content; }
}
@media (max-width: 560px) {
  .agent-flow__steps { grid-template-columns: 1fr; }
  .agent-flow__steps li { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); padding: .85rem 1rem .85rem 3rem; }
  .agent-flow__steps li:last-child { border-bottom: 0; }
  .agent-flow__steps li:not(:last-child)::after { top: auto; right: auto; bottom: -.31rem; left: 1.27rem; }
  .agent-flow__steps span { position: absolute; top: .94rem; left: 1rem; margin: 0; }
  .agent-flow__checkpoint { grid-template-columns: auto 1fr; }
  .agent-deliverables { grid-template-columns: 1fr; }
  .agent-deliverables article, .agent-deliverables article:nth-child(2) { min-height: 0; border-right: 0; padding: 1rem 0; }
  .agent-shift, .agent-fit { grid-template-columns: 1fr; }
  .agent-shift article, .agent-shift article + article, .agent-fit article, .agent-fit article + article { min-height: 0; border-left: 0; padding: 1rem 0; }
  .agent-next .button { width: 100%; }
}



/* Web / landing: plano editorial de mensaje, prueba y siguiente paso. */
.breadcrumb { display: flex; flex-wrap: wrap; gap: .42rem; margin: 0 0 2.25rem; color: var(--slate); font-family: var(--mono); font-size: .72rem; }
.breadcrumb a { color: var(--ink); }
.web-hero { padding-top: clamp(2.5rem, 5vw, 4.5rem); border-bottom: 1px solid var(--line); }
.web-hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(300px, .75fr); gap: clamp(2.2rem, 6vw, 6rem); align-items: end; }
.web-page-map { margin: 0; border-top: 2px solid var(--ink); padding-top: .85rem; }
.web-page-map > p:last-child { margin: .9rem 0 0; color: var(--slate); font-size: .78rem; line-height: 1.45; }
.web-page-map__frame { margin-top: .7rem; border: 1px solid var(--line); background: var(--paper); }
.web-page-map__hero, .web-page-map__row, .web-page-map__cta { display: grid; grid-template-columns: 2.7rem 1fr; gap: .55rem; padding: 1rem; border-bottom: 1px solid var(--line); }
.web-page-map__hero { min-height: 8.4rem; align-content: center; background: rgba(159, 79, 45, .09); }
.web-page-map__cta { border-bottom: 0; background: var(--ink); color: var(--paper); }
.web-page-map__frame span, .web-sequence span, .web-deliverables span, .web-method li > span { color: var(--copper); font-family: var(--mono); font-size: .67rem; font-weight: 700; letter-spacing: .08em; }
.web-page-map__cta span { color: rgba(255, 253, 248, .72); }
.web-page-map__frame strong { font-size: .93rem; line-height: 1.2; }
.web-page-map__frame small { grid-column: 2; color: var(--slate); font-size: .72rem; line-height: 1.35; }
.web-page-map__cta small { color: rgba(255, 253, 248, .72); }
.web-split, .web-budget { display: grid; grid-template-columns: minmax(0, .92fr) minmax(280px, .8fr); gap: clamp(2rem, 8vw, 8rem); align-items: start; }
.web-prose p + p, .web-budget p + p { margin-top: 1rem; }
.web-prose, .web-budget > div:last-child { color: var(--slate); font-size: 1.02rem; }
.web-sequence { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ink); }
.web-sequence li { min-height: 12.5rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 1.1rem; }
.web-sequence li:last-child { border-right: 0; }
.web-sequence strong { display: block; margin: 2.1rem 0 .6rem; font-size: 1.05rem; }
.web-sequence p { margin: 0; color: var(--slate); font-size: .88rem; line-height: 1.46; }
.web-deliverables { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line-dark); }
.web-deliverables article { min-height: 13rem; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); padding: 1.2rem; }
.web-deliverables article:last-child { border-right: 0; }
.web-deliverables h3 { margin: 2rem 0 .6rem; color: var(--paper); }
.web-deliverables p { margin: 0; color: rgba(255, 253, 248, .76); font-size: .88rem; line-height: 1.5; }
.web-deliverables span { color: rgba(255, 253, 248, .65); }
.web-method { display: grid; grid-template-columns: minmax(0, .76fr) minmax(360px, 1fr); gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.web-method ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ink); }
.web-method li { display: grid; grid-template-columns: 3.1rem 1fr; gap: 1rem; border-bottom: 1px solid var(--line); padding: 1.1rem 0; }
.web-method h3 { margin: 0 0 .3rem; }
.web-method p { margin: 0; color: var(--slate); font-size: .91rem; }
.web-boundaries, .web-fit { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--ink); }
.web-boundaries article, .web-fit article { min-height: 16rem; border-bottom: 1px solid var(--line); padding: 1.4rem 1.4rem 1.4rem 0; }
.web-boundaries article + article, .web-fit article + article { border-left: 1px solid var(--line); padding-left: 1.4rem; }
.web-boundaries h3, .web-fit h3 { max-width: 24ch; margin: .8rem 0; }
.web-boundaries ul { display: grid; gap: .65rem; margin: 1rem 0 0; padding-left: 1.1rem; color: var(--slate); font-size: .92rem; }
.web-fit p { max-width: 42ch; margin: 0; color: var(--slate); }
.web-faq { display: grid; grid-template-columns: minmax(0, .65fr) minmax(360px, 1fr); gap: clamp(2rem, 8vw, 8rem); align-items: start; }
.web-faq details { border-top: 1px solid var(--line); padding: 1rem 0; }
.web-faq details:last-child { border-bottom: 1px solid var(--line); }
.web-faq summary { cursor: pointer; color: var(--ink); font-weight: 700; line-height: 1.35; }
.web-faq summary::marker { color: var(--copper); }
.web-faq details p { margin: .75rem 1.5rem 0 0; color: var(--slate); font-size: .93rem; }
.web-next { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.web-next .button { flex: none; }
@media (max-width: 800px) { .web-hero__grid, .web-split, .web-budget, .web-method, .web-faq { grid-template-columns: 1fr; } .web-sequence, .web-deliverables { grid-template-columns: repeat(2, minmax(0, 1fr)); } .web-sequence li:nth-child(2), .web-deliverables article:nth-child(2) { border-right: 0; } .web-next { display: grid; align-items: start; } .web-next .button { width: fit-content; } }
@media (max-width: 560px) { .web-sequence, .web-deliverables, .web-boundaries, .web-fit { grid-template-columns: 1fr; } .web-sequence li, .web-deliverables article, .web-sequence li:nth-child(2), .web-deliverables article:nth-child(2), .web-boundaries article, .web-boundaries article + article, .web-fit article, .web-fit article + article { min-height: 0; border-right: 0; border-left: 0; padding: 1rem 0; } .web-sequence strong { margin-top: 1rem; } .web-page-map__hero, .web-page-map__row, .web-page-map__cta { grid-template-columns: 2.25rem 1fr; } .web-next .button { width: 100%; } }

/* Contenido visual: tablero editorial y alcance verificable. */
.visual-hero { border-bottom: 1px solid var(--line); }
.visual-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .82fr); gap: clamp(2.25rem, 6vw, 6rem); align-items: center; }
.visual-board { margin: 0; border: 1px solid var(--ink); background: var(--paper); box-shadow: var(--shadow); }
.visual-board__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--line); padding: .9rem 1rem; }
.visual-board__head span, .visual-board__flow span, .application-ledger > article > span, .visual-deliverables span, .visual-method li > span { color: var(--copper); font-family: var(--mono); font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.visual-board__head strong { color: var(--ink); font-family: var(--serif); font-size: 1.25rem; letter-spacing: -.03em; }
.visual-board__flow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--line); }
.visual-board__flow li { min-height: 135px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 1rem; }
.visual-board__flow li:nth-child(even) { border-right: 0; }
.visual-board__flow li:nth-child(n + 3) { border-bottom: 0; }
.visual-board__flow span, .visual-deliverables span { display: block; }
.visual-board__flow strong { display: block; margin-top: 1.6rem; color: var(--ink); font-size: 1rem; line-height: 1.2; }
.visual-board__flow small { display: block; margin-top: .35rem; color: var(--slate); font-size: .76rem; line-height: 1.4; }
.visual-board > p { margin: 0; padding: .8rem 1rem; color: var(--slate); font-size: .76rem; line-height: 1.45; }
.visual-split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(300px, .75fr); gap: clamp(2rem, 8vw, 8rem); align-items: end; }
.visual-split__head { margin: 0; }
.visual-prose p { max-width: 56ch; color: var(--slate); font-size: 1.03rem; }
.visual-prose p + p { margin-top: 1rem; }
.application-ledger { border-top: 1px solid var(--ink); }
.application-ledger article { display: grid; grid-template-columns: 3.1rem minmax(0, 1fr) minmax(190px, .52fr); gap: 1.1rem; align-items: baseline; border-bottom: 1px solid var(--line); padding: 1.2rem 0; }
.application-ledger h3 { margin: 0 0 .35rem; }
.application-ledger p { margin: 0; color: var(--slate); font-size: .94rem; }
.application-ledger small { color: var(--slate); font-family: var(--mono); font-size: .68rem; line-height: 1.42; }
.visual-deliverables { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line-dark); }
.visual-deliverables article { min-height: 195px; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); padding: 1.15rem; }
.visual-deliverables article:last-child { border-right: 0; }
.visual-deliverables span { color: rgba(255, 253, 248, .64); }
.visual-deliverables h3 { margin: 2rem 0 .55rem; color: var(--paper); }
.visual-deliverables p { margin: 0; color: rgba(255, 253, 248, .76); font-size: .88rem; line-height: 1.48; }
.visual-method { display: grid; grid-template-columns: minmax(0, .76fr) minmax(360px, 1fr); gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.visual-method ol { display: grid; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ink); }
.visual-method li { display: grid; grid-template-columns: 3.1rem 1fr; gap: 1rem; border-bottom: 1px solid var(--line); padding: 1.1rem 0; }
.visual-method h3 { margin: 0 0 .35rem; }
.visual-method p { margin: 0; color: var(--slate); font-size: .92rem; }
.visual-boundaries, .visual-fit { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--ink); }
.visual-boundaries article, .visual-fit article { min-height: 232px; border-bottom: 1px solid var(--line); padding: 1.35rem 1.35rem 1.35rem 0; }
.visual-boundaries article + article, .visual-fit article + article { border-left: 1px solid var(--line); padding-left: 1.35rem; }
.visual-boundaries h3, .visual-fit h3 { max-width: 25ch; margin: .75rem 0; }
.visual-boundaries ul { display: grid; gap: .58rem; margin: 1rem 0 0; padding-left: 1.1rem; color: var(--slate); font-size: .92rem; }
.visual-fit p { max-width: 43ch; margin: 0; color: var(--slate); font-size: .94rem; }
.visual-limit, .visual-related { max-width: 72ch; margin: 1.5rem 0 0; border-left: 3px solid var(--copper); padding-left: 1rem; color: var(--slate); }
.visual-related a { color: var(--ink); font-weight: 700; }
.visual-budget { display: grid; grid-template-columns: minmax(0, .82fr) minmax(300px, .78fr); gap: clamp(2rem, 8vw, 8rem); align-items: end; }
.visual-budget > div:last-child > p { color: #4a504a; }
.visual-budget p + p { margin-top: 1rem; }
.visual-faq { display: grid; grid-template-columns: minmax(0, .65fr) minmax(360px, 1fr); gap: clamp(2rem, 8vw, 8rem); align-items: start; }
.visual-next { padding: clamp(3.4rem, 7vw, 6rem) 0; }
.visual-next__inner { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.visual-next__inner h2 { max-width: 17ch; }
.visual-next__inner .button { flex: none; }
@media (max-width: 800px) {
  .visual-hero__grid, .visual-split, .visual-method, .visual-budget, .visual-faq { grid-template-columns: 1fr; }
  .visual-board { max-width: 620px; }
  .visual-deliverables { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .visual-deliverables article:nth-child(2) { border-right: 0; }
  .visual-next__inner { display: grid; align-items: start; }
  .visual-next__inner .button { width: fit-content; }
}
@media (max-width: 560px) {
  .breadcrumb { flex-wrap: nowrap; overflow: hidden; }
  .breadcrumb > :last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .visual-board__flow { grid-template-columns: 1fr; }
  .visual-board__flow li, .visual-board__flow li:nth-child(even), .visual-board__flow li:nth-child(n + 3) { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .visual-board__flow li:last-child { border-bottom: 0; }
  .visual-board__flow strong { margin-top: .7rem; }
  .application-ledger article { grid-template-columns: 2.2rem minmax(0, 1fr); gap: .65rem; }
  .application-ledger small { grid-column: 2; }
  .visual-deliverables, .visual-boundaries, .visual-fit { grid-template-columns: 1fr; }
  .visual-deliverables article, .visual-deliverables article:nth-child(2), .visual-boundaries article, .visual-boundaries article + article, .visual-fit article, .visual-fit article + article { min-height: 0; border-right: 0; border-left: 0; padding: 1rem 0; }
  .visual-deliverables h3 { margin-top: 1rem; }
  .visual-next__inner .button { width: 100%; }
}

/* Semantic dark/light roles: each surface is assigned deliberately. */
:root {
  /* Typography and motion primitives. */
  --serif: "Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --sans: "Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --ease: cubic-bezier(.22, 1, .36, 1);
  /* sRGB semantic color roles. */
  --surface-dark: #090b0f;
  --surface-dark-soft: #0c1015;
  --surface-dark-raised: #10151c;
  --surface-dark-active: #141a22;
  --surface-light: #f3f0e8;
  --surface-light-paper: #fffdf8;
  --text-on-dark: #f2f0e9;
  --text-on-dark-soft: #c5c9cf;
  --text-on-dark-muted: #929aa5;
  --text-on-light: #122d31;
  --text-on-light-soft: #254248;
  --text-on-light-muted: #596562;
  --line-on-dark: rgba(205, 220, 235, .16);
  --line-on-light: rgba(18, 45, 49, .19);
  --accent-action: #2f81f7;
  --accent-status: #43d7e5;
  --ivory: var(--surface-light);
  --paper: var(--surface-light-paper);
  --ink: var(--text-on-light);
  --ink-soft: var(--text-on-light-soft);
  --slate: var(--text-on-light-muted);
  --copper: var(--accent-action);
  --moss: var(--accent-status);
  --line: var(--line-on-light);
  --line-dark: var(--line-on-dark);
  --shadow: 0 20px 48px rgba(0, 0, 0, .20);
}

html, body { background: var(--surface-dark); color: var(--text-on-dark); }
body { color: var(--text-on-dark); }
h1, h2, h3 { color: var(--text-on-dark); }
.lead, .section-copy, .about-note p, .callout p, .scope-ledger p, .fit-grid p, .process-step p, .method-list p, .service-row p, .ledger-row p, .contact-aside p { color: var(--text-on-dark-soft); }
.site-header { background: var(--surface-dark); border-bottom-color: var(--line-on-dark); backdrop-filter: none; }
.brand, .nav-links a, .text-link, .footer-inner a, .breadcrumb a { color: var(--text-on-dark); }
.brand span, .breadcrumbs, .breadcrumb { color: var(--text-on-dark-muted); }
.nav-links a:hover, .nav-links a[aria-current="page"] { text-decoration-color: var(--accent-action); }
.nav-toggle { border-color: var(--line-on-dark); color: var(--text-on-dark-soft); }
.nav-toggle:hover, .nav-toggle[aria-expanded="true"] { background: var(--surface-dark-active); border-color: var(--text-on-dark-muted); color: var(--text-on-dark); }
.button { border-color: var(--line-on-dark); color: var(--text-on-dark); border-radius: 4px; }
.button.primary { background: var(--accent-action); border-color: var(--accent-action); color: var(--surface-dark); }
.button.primary:hover { background: #4d97ff; border-color: #63a6ff; color: var(--surface-dark); }
.button.secondary, .section--ink .button.secondary { background: transparent; border-color: var(--line-on-dark); color: var(--text-on-dark-soft); }
.button.secondary:hover, .section--ink .button.secondary:hover { background: var(--surface-dark-active); color: var(--text-on-dark); }
.microproof, .brand span { color: var(--text-on-dark-muted); }
.microproof::before { color: var(--accent-action); }
.eyebrow, .label, .section--ink .eyebrow { color: var(--text-on-dark-muted); }

/* Light editorial rests are intentional, mineral and static. */
.section--mineral, .section--paper { background: linear-gradient(112deg, var(--surface-light), var(--surface-light-paper)); color: var(--text-on-light); }
.section--mineral h1, .section--mineral h2, .section--mineral h3, .section--paper h1, .section--paper h2, .section--paper h3 { color: var(--text-on-light); }
.section--mineral .lead, .section--mineral .section-copy, .section--mineral .about-note p, .section--mineral .callout p, .section--mineral .scope-ledger p, .section--mineral .fit-grid p, .section--mineral .process-step p, .section--mineral .method-list p, .section--mineral .service-row p, .section--mineral .ledger-row p,
.section--paper .lead, .section--paper .section-copy, .section--paper .about-note p, .section--paper .callout p, .section--paper .scope-ledger p, .section--paper .fit-grid p, .section--paper .process-step p, .section--paper .method-list p, .section--paper .service-row p, .section--paper .ledger-row p { color: var(--text-on-light-soft); }
.section--mineral .eyebrow, .section--mineral .label, .section--paper .eyebrow, .section--paper .label { color: var(--text-on-light-muted); }
.section--mineral .text-link, .section--paper .text-link { color: var(--text-on-light); }
.section--mineral .ledger, .section--mineral .process-ledger, .section--mineral .method-list, .section--mineral .service-list, .section--mineral .scope-ledger, .section--mineral .fit-grid,
.section--paper .ledger, .section--paper .process-ledger, .section--paper .method-list, .section--paper .service-list, .section--paper .scope-ledger, .section--paper .fit-grid { border-color: var(--line-on-light); }
.section--mineral .ledger-row, .section--mineral .process-step, .section--mineral .method-list li, .section--mineral .service-row, .section--mineral .scope-ledger article, .section--mineral .fit-grid article,
.section--paper .ledger-row, .section--paper .process-step, .section--paper .method-list li, .section--paper .service-row, .section--paper .scope-ledger article, .section--paper .fit-grid article { border-color: var(--line-on-light); }
.section--mineral .ledger-index, .section--mineral .process-step > span, .section--mineral .method-list > li > span,
.section--paper .ledger-index, .section--paper .process-step > span, .section--paper .method-list > li > span { color: var(--accent-action); }
.section--ink { background: var(--surface-dark-raised); color: var(--text-on-dark); border-block: 1px solid var(--line-on-dark); }
.section--ink h2, .section--ink h3 { color: var(--text-on-dark); }
.service-list--ink { border-color: var(--line-on-dark); }
.service-list--ink .service-row { border-color: var(--line-on-dark); }
.service-list--ink .service-row p, .service-list--ink .text-link { color: var(--text-on-dark-soft); }
.service-entry { margin: 1.4rem 0 0; color: var(--text-on-dark-soft); }
.service-entry a { color: var(--text-on-dark); font-weight: 700; }/* Operational panels remain dark product surfaces, never glossy cards. */ .automation-strip, .report-preview, .management-panel, .agent-flow, .section--paper .contact-options a { border-top-color: var(--line-on-light); }
/* Legal pages are documentary light surfaces; legal text itself is untouched. */
.section--paper .legal-card { background: var(--surface-light-paper); border-color: var(--line-on-light); box-shadow: 0 18px 44px rgba(18, 45, 49, .12); }
.section--paper .legal-card p, .section--paper .legal-card li { color: var(--text-on-light-soft); }
.section--paper .legal-card a, .section--paper .legal-card strong { color: var(--text-on-light); }
.site-footer { border-top-color: var(--line-on-dark); color: var(--text-on-dark-muted); }

@media (max-width: 800px) {
  .nav-links { background: var(--surface-dark); border-color: var(--line-on-dark); box-shadow: var(--shadow); }
  .nav-links a { border-bottom-color: var(--line-on-dark); }
  .proof-card--op { display: grid; align-items: start; }
}
@media (max-width: 560px) {
  h1 { font-size: clamp(2.35rem, 10.6vw, 2.95rem); line-height: 1.01; }
  .hero { padding-top: 1.55rem; padding-bottom: 3rem; }
  .hero .lead { font-size: 1rem; line-height: 1.43; }
  .hero .microproof { display: none; }
  .proof-gallery { grid-template-columns: minmax(0, 1fr) minmax(86px, .35fr); }
  .proof-gallery figure:nth-child(2) { grid-column: 1 / -1; }
  .proof-gallery__mobile { grid-column: 2; grid-row: 1; }
  .proof-gallery__mobile img { aspect-ratio: 390 / 844; }
  .agent-flow__steps li:not(:last-child)::after { background: var(--surface-dark-raised); }
}

/* Project presentation: compact operational ledger, not a service offer. */
.proof-card--vetstation { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; background: var(--surface-light-paper); }
.project-hero { padding-top: clamp(2rem, 5vw, 4rem); padding-bottom: clamp(3.5rem, 7vw, 6rem); }
.project-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.project-console { border: 1px solid var(--line-on-dark); background: var(--surface-dark-raised); padding: clamp(1rem, 3vw, 1.5rem); color: var(--text-on-dark); box-shadow: var(--shadow); }
.project-console__label { margin: 0 0 1rem; color: var(--text-on-dark-muted); font-family: var(--mono); font-size: .67rem; font-weight: 700; letter-spacing: .09em; }
.project-console > div { display: grid; grid-template-columns: 2.4rem minmax(0, 1fr); column-gap: .75rem; border-top: 1px solid var(--line-on-dark); padding: .8rem 0; }
.project-console > div span { grid-row: span 2; color: var(--accent-status); font-family: var(--mono); font-size: .68rem; font-weight: 700; }
.project-console > div strong { font-size: .92rem; }
.project-console > div p, .project-console__note { margin: .2rem 0 0; color: var(--text-on-dark-soft); font-size: .8rem; line-height: 1.45; }
.project-console__note { border-top: 1px solid var(--line-on-dark); padding-top: .85rem; }
.project-ledger { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line-on-light); }
.project-ledger article { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: .8rem; min-height: 150px; border-right: 1px solid var(--line-on-light); border-bottom: 1px solid var(--line-on-light); padding: 1.1rem; }
.project-ledger article:nth-child(even) { border-right: 0; }
.project-ledger span { color: var(--accent-action); font-family: var(--mono); font-size: .7rem; font-weight: 700; }
.project-ledger h3 { margin: 0 0 .35rem; color: var(--text-on-light); }
.project-ledger p, .project-boundaries p { margin: 0; color: var(--text-on-light-soft); font-size: .92rem; }
.project-boundaries { display: grid; grid-template-columns: minmax(0, .75fr) minmax(300px, 1fr); gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.project-boundaries p { max-width: 58ch; color: var(--text-on-dark-soft); font-size: 1rem; }
.project-boundaries p + p { margin-top: 1rem; }
@media (max-width: 800px) { .project-hero__grid, .project-boundaries { grid-template-columns: 1fr; } .proof-card--vetstation { display: grid; align-items: start; } }
@media (max-width: 560px) { .project-ledger { grid-template-columns: 1fr; } .project-ledger article, .project-ledger article:nth-child(even) { min-height: 0; border-right: 0; padding-inline: 0; } .project-console { margin-inline: -2px; } }

/* Editorial ink sections render on a light surface after editorial.css. */
.section--ink .section-head h2,
.section--ink .method-list h3,
.section--ink .agent-deliverables h3,
.section--ink .web-deliverables h3,
.section--ink .visual-deliverables h3 { color: #245e4c; }
.section--ink .section-copy,
.section--ink .method-list p,
.section--ink .agent-deliverables p,
.section--ink .web-deliverables p,
.section--ink .visual-deliverables p { color: #555b54; }
.section--ink .method-list > li > span,
.section--ink .agent-deliverables > article > span,
.section--ink .web-deliverables span,
.section--ink .visual-deliverables span { color: #245e4c; }
