/* CONTACTO */
.contact-hero{padding:140px 0 80px;background:var(--color-cream);border-bottom:1px solid var(--color-cream-dark)}
.contact-hero .container{max-width:1280px;margin:0 auto;padding:0 40px}
.contact-hero h1{font-family:var(--font-serif);font-weight:400;font-size:clamp(48px,7vw,96px);line-height:1.04;letter-spacing:-.014em;margin:24px 0 40px;color:var(--color-ink);max-width:14ch}
.contact-hero h1 em{font-style:italic;color:var(--color-primary)}
.contact-hero .lead{font-family:var(--font-sans);font-size:18px;line-height:1.6;color:var(--color-ink-soft);font-weight:300;max-width:60ch;margin:0}

.contact-section{padding:96px 0;background:var(--color-cream)}
.contact-section .container{max-width:1280px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:start}

/* form */
.contact-form{background:#fff;border:1px solid var(--color-cream-dark);border-radius:8px;padding:48px}
.contact-form h2{font-family:var(--font-serif);font-weight:500;font-size:32px;line-height:1.15;letter-spacing:-.008em;margin:0 0 12px;color:var(--color-ink);max-width:18ch}
.contact-form h2 em{font-style:italic;color:var(--color-primary)}
.contact-form .form-intro{font-family:var(--font-sans);font-size:14.5px;line-height:1.6;color:var(--color-ink-soft);font-weight:300;margin:0 0 32px}

.field{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:0}
.field-row .field{margin-bottom:24px}
.field label{font-family:var(--font-sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--color-stone);font-weight:700;display:flex;justify-content:space-between;align-items:baseline}
.field label .req{color:var(--color-primary);font-weight:600;font-size:11px}
.field label .opt{color:var(--color-stone);font-style:italic;text-transform:none;letter-spacing:.02em;font-weight:400;font-size:11px}
.field input,.field select,.field textarea{font-family:var(--font-sans);font-size:15.5px;color:var(--color-ink);background:var(--color-cream);border:1px solid var(--color-cream-dark);border-radius:4px;padding:14px 16px;width:100%;font-weight:400;transition:all 200ms ease;line-height:1.4}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;background:#fff;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(184,92,56,.12)}
.field input::placeholder,.field textarea::placeholder{color:var(--color-stone);font-weight:300;font-style:italic}
.field textarea{min-height:140px;resize:vertical;font-family:var(--font-sans)}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23B85C38' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:42px}

.field .help{font-family:var(--font-sans);font-size:12.5px;color:var(--color-ink-soft);font-weight:300;line-height:1.5;font-style:italic}
.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:#C0392B;background:#FFF5F4}
.field .err-msg{display:none;font-family:var(--font-sans);font-size:12.5px;color:#C0392B;font-weight:500}
.field.has-error .err-msg{display:block}

.consent-row{display:flex;gap:16px;align-items:flex-start;padding:20px;background:var(--color-cream);border-radius:4px;margin:8px 0 32px;cursor:pointer}
.consent-row input{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:var(--color-primary);cursor:pointer}
.consent-row span{font-family:var(--font-sans);font-size:13px;line-height:1.55;color:var(--color-ink);font-weight:300}
.consent-row span a{color:var(--color-primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

.contact-form .submit-row{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid var(--color-cream-dark);gap:24px;flex-wrap:wrap}
.contact-form .submit-row .req-note{font-family:var(--font-sans);font-size:12px;color:var(--color-ink-soft);font-weight:300}
.contact-form button.submit-btn{font-family:var(--font-sans);font-size:13px;letter-spacing:.06em;color:var(--color-cream);background:var(--color-primary);border:none;padding:16px 32px;border-radius:4px;cursor:pointer;font-weight:600;transition:all 200ms ease}
.contact-form button.submit-btn:hover{background:var(--color-accent);transform:translateY(-1px)}

/* success state */
.contact-form.is-sent .form-body{display:none}
.contact-form .success-block{display:none}
.contact-form.is-sent .success-block{display:block;padding:48px 24px;text-align:center}
.contact-form .success-block .check{width:80px;height:80px;border-radius:50%;background:var(--color-primary);color:var(--color-cream);font-family:var(--font-serif);font-size:44px;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-weight:500;font-style:italic}
.contact-form .success-block h3{font-family:var(--font-serif);font-size:32px;font-weight:500;color:var(--color-ink);letter-spacing:-.005em;margin:0 0 12px}
.contact-form .success-block h3 em{font-style:italic;color:var(--color-primary)}
.contact-form .success-block p{font-family:var(--font-sans);font-size:15.5px;line-height:1.6;color:var(--color-ink-soft);font-weight:300;margin:0 auto;max-width:42ch}

/* sidebar */
.contact-sidebar{display:flex;flex-direction:column;gap:0;position:sticky;top:120px}
.sb-block{background:#fff;border:1px solid var(--color-cream-dark);border-radius:8px;padding:32px;margin-bottom:16px}
.sb-block h3{font-family:var(--font-serif);font-weight:500;font-size:22px;letter-spacing:-.005em;margin:0 0 16px;color:var(--color-ink);line-height:1.2}
.sb-block .label{font-family:var(--font-sans);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--color-stone);font-weight:700;margin-bottom:8px;display:block}

.sb-block dl{margin:0;display:grid;gap:14px;font-family:var(--font-sans);font-size:14px}
.sb-block dl > div{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:baseline;padding:14px 0;border-top:1px solid var(--color-cream-dark)}
.sb-block dl > div:first-of-type{border-top:none;padding-top:0}
.sb-block dt{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--color-stone);font-weight:700;padding-top:3px}
.sb-block dd{margin:0;color:var(--color-ink);line-height:1.5;font-weight:400}
.sb-block dd a{color:var(--color-primary);text-decoration:none;border-bottom:1px solid var(--color-primary)}

.country-contacts{padding:0}
.country-contacts h3{padding:32px 32px 16px}
.cc-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:16px 32px;border-top:1px solid var(--color-cream-dark);font-family:var(--font-sans);font-size:13.5px;text-decoration:none;color:var(--color-ink);transition:background 200ms ease}
.cc-row:hover{background:var(--color-cream)}
.cc-row .flag{font-size:22px}
.cc-row .info strong{font-family:var(--font-serif);font-size:16px;font-weight:500;color:var(--color-ink);letter-spacing:-.005em;display:block;line-height:1.2}
.cc-row .info span{font-size:12px;color:var(--color-ink-soft);font-style:italic;display:block;margin-top:2px}
.cc-row .arrow{font-family:var(--font-serif);font-size:18px;color:var(--color-primary);font-style:italic;font-weight:500}

@media (max-width:1080px){
  .contact-section .container{grid-template-columns:1fr;gap:32px}
  .contact-sidebar{position:static}
  .field-row{grid-template-columns:1fr;gap:0}
  .contact-form{padding:32px}
}
