/* contacto.css - especifico de la pagina (generado) */

.nav a.current {
    color: var(--ink); border-bottom: 1px solid var(--ink); padding-bottom: 2px;
  }

.nav a.current:hover { color: var(--accent); border-bottom-color: var(--accent); }

@media (max-width: 720px) { .nav.compact a:not(.current) { display: none; } }

.hero h1 {
    font-size: var(--fs-display);
    max-width: 18ch; text-wrap: balance;
  }

.talk-grid {
    display: grid; grid-template-columns: 1fr;
    gap: clamp(3rem, 5vw, 5rem);
  }

@media (min-width: 900px) {
    .talk-grid { grid-template-columns: 1fr 1fr; gap: clamp(3rem, 6vw, 6rem); align-items: start; }
  }

.guide .lbl {
    font-family: var(--font-mono); font-size: 0.75rem;
    letter-spacing: 0.18em; text-transform: uppercase;
    color: var(--ink-muted); display: block; margin-bottom: 1.5rem;
  }

.guide h3 {
    font-family: var(--font-heading);
    font-size: clamp(1.5rem, 2.4vw, 1.875rem);
    line-height: 1.18; letter-spacing: -0.012em;
    margin-bottom: 1.75rem;
    max-width: 22ch;
  }

.guide h3 em { font-style: italic; color: var(--accent); }

.guide ol {
    list-style: none; padding: 0; margin: 0;
    counter-reset: g;
    border-top: 1px solid var(--ink);
  }

.guide ol li {
    counter-increment: g;
    padding: 1.25rem 0 1.4rem;
    border-bottom: 1px solid var(--rule);
    display: grid;
    grid-template-columns: 3.5rem 1fr;
    gap: 1rem;
    align-items: baseline;
  }

.guide ol li:last-child { border-bottom: 1px solid var(--ink); }

.guide ol li::before {
    content: counter(g, decimal-leading-zero);
    font-family: var(--font-mono);
    font-size: 0.875rem;
    letter-spacing: 0.18em;
    color: var(--accent);
  }

.guide ol li p {
    font-family: var(--font-heading);
    font-style: italic;
    font-size: 1.0625rem;
    line-height: 1.45;
    color: var(--ink);
    max-width: 32ch;
  }

.guide .note {
    margin-top: 1.5rem;
    font-size: 0.875rem;
    color: var(--ink-muted);
    line-height: 1.55;
    max-width: 34ch;
  }

.form .lbl {
    font-family: var(--font-mono); font-size: 0.75rem;
    letter-spacing: 0.18em; text-transform: uppercase;
    color: var(--ink-muted); display: block; margin-bottom: 1.5rem;
  }

.form h3 {
    font-family: var(--font-heading);
    font-size: clamp(1.5rem, 2.4vw, 1.875rem);
    line-height: 1.18; letter-spacing: -0.012em;
    margin-bottom: 2rem;
    max-width: 22ch;
  }

.field {
    margin-bottom: clamp(1.5rem, 2.5vw, 2rem);
    border-bottom: 1px solid var(--rule);
    padding-bottom: 0.6rem;
    transition: border-color var(--t-fast) ease;
  }

.field:focus-within { border-bottom-color: var(--accent); }

.field label {
    display: block;
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--ink-muted);
    margin-bottom: 0.4rem;
    transition: color var(--t-fast) ease;
  }

.field:focus-within label { color: var(--accent); }

.field input, .field textarea {
    width: 100%;
    border: none;
    background: transparent;
    padding: 0.2rem 0 0.25rem;
    font-family: var(--font-body);
    font-size: 1.0625rem;
    color: var(--ink);
    line-height: 1.5;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
  }

.field input:focus, .field textarea:focus { outline: none; }

.field input::placeholder, .field textarea::placeholder {
    color: #B5B5AC;
    font-family: var(--font-heading);
    font-style: italic;
  }

.field textarea {
    resize: vertical;
    min-height: 8rem;
    line-height: 1.55;
  }

.submit-row {
    margin-top: clamp(2.5rem, 4vw, 3rem);
    display: grid; gap: 0.85rem;
  }

.submit-row button {
    justify-self: start;
    background: var(--ink);
    color: var(--paper);
    border: none;
    padding: 1rem 2rem;
    border-radius: var(--radius);
    font-family: var(--font-body);
    font-size: 1rem;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: background var(--t-cta) ease;
    -webkit-appearance: none;
    appearance: none;
  }

.submit-row button:hover { background: var(--accent); }

.submit-row button:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

.submit-row .micro {
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    color: var(--ink-muted);
    letter-spacing: 0.04em;
    max-width: 42ch;
    line-height: 1.5;
  }

.trust {
    margin-top: clamp(3rem, 6vw, 5rem);
    padding-top: 1.25rem;
    border-top: 1px solid var(--rule);
    font-family: var(--font-mono);
    font-size: 0.75rem;
    line-height: 1.55;
    color: var(--ink-muted);
    letter-spacing: 0.04em;
    max-width: 60rem;
  }

.trust a {
    text-decoration: underline;
    text-decoration-color: var(--accent);
    text-underline-offset: 0.2em;
  }

.trust a:hover { color: var(--accent); }

.dark .prose-block em { font-style: italic; color: var(--ink-inverse); }

.dark .stmt {
    font-family: var(--font-heading);
    font-weight: 300;
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    line-height: 1.22;
    letter-spacing: -0.012em;
    max-width: 36rem;
    color: var(--ink-inverse);
    margin-top: clamp(2rem, 4vw, 3rem);
  }

.dark .stmt em {
    font-style: italic; color: var(--ink-inverse);
    border-bottom: 1px solid var(--ink-inverse-muted); padding-bottom: 1px;
  }
