/* v2.5 shared component adaptations layered over the preserved v2 baseline. */
.site-header {
  position: sticky;
  inset-block-start: 0;
  z-index: var(--nav-layer, 20);
  background: color-mix(in oklch, var(--bg) 96%, transparent);
  border-block-end: 1px solid var(--line);
  backdrop-filter: blur(12px);
}
.site-header__inner {
  min-height: 5.75rem;
  display: flex;
  align-items: center;
  gap: 2rem;
}
.shell {
  width: min(100% - 2rem, 82.5rem);
  margin-inline: auto;
}
.brand { display: inline-flex; align-items: center; }
.brand img { display: block; width: auto; height: 4.25rem; }
.brand--footer img { height: 4.5rem; }
@media (max-width: 50rem) { .brand img { height: 3.5rem; } }
.primary-nav { margin-inline-start: auto; display: flex; align-items: center; gap: 1.5rem; }
.primary-nav__list { list-style: none; display: flex; align-items: center; gap: 1.25rem; margin: 0; padding: 0; }
.primary-nav a { min-height: 2.75rem; display: inline-flex; align-items: center; font-weight: 650; font-size: .8125rem; }
.primary-nav a[aria-current="page"] { color: var(--blue); }
.language-switch { border-inline-start: 1px solid var(--line); padding-inline-start: 1.25rem; }
.menu-toggle { display: none; gap: .5rem; padding-inline: .875rem; border: 1px solid var(--line); border-radius: .375rem; background: transparent; color: inherit; font: inherit; font-weight: 650; font-size: .875rem; cursor: pointer; }
.menu-toggle:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.skip-link { position: fixed; inset-block-start: -10rem; inset-inline-start: 1rem; z-index: 100; padding: .875rem 1rem; background: var(--bg); }
.skip-link:focus { inset-block-start: 1rem; }
.page-hero { background: var(--surface); border-block-start: 1px solid var(--line); }
.page-hero__inner { padding-block: clamp(4rem, 8vw, 7rem); }
.page-hero h1 { max-width: 16ch; }
.page-hero__intro { max-width: 46rem; margin-block-start: 1.5rem; color: var(--muted); font-size: 1rem; line-height: 1.9; }
.eyebrow { color: var(--blue); font-size: .75rem; font-weight: 700; margin-block-end: 1.25rem; }
.content-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.5rem, 4vw, 4rem); }
.content-card { border-block-start: 1px solid var(--line); padding-block-start: 1.5rem; }
.content-card p { margin-block-start: 1rem; color: var(--muted); line-height: 1.9; }
.content-card ul { padding-inline-start: 1.2rem; color: var(--muted); line-height: 1.9; }
.section-stack { display: grid; gap: 3rem; }
.section-copy { max-width: 48rem; }
.section-copy p { color: var(--muted); line-height: 1.9; margin-block-start: 1rem; }
.section-copy ul { color: var(--muted); line-height: 1.9; padding-inline-start: 1.2rem; }
.closing-panel { background: var(--mint); border-radius: .5rem; padding: clamp(2rem, 5vw, 4rem); }
.closing-panel p { max-width: 48rem; margin-block-start: 1rem; line-height: 1.9; }
.direct-contact { display: grid; gap: .75rem; margin-block-start: 1.5rem; }
.direct-contact a { overflow-wrap: anywhere; }
.site-footer { border-block-start: 1px solid var(--line); }
.site-footer__inner { padding-block: 2rem; display: flex; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; color: var(--muted); }
.site-footer__contact, .site-footer__legal { display: grid; gap: .5rem; align-content: start; }
.site-footer__contact a, .site-footer__legal a { min-height: 2.75rem; display: inline-flex; align-items: center; }
.site-footer__legal a.staff-signin { justify-self: start; gap: .5rem; padding-block: .55rem; padding-inline: 1rem 1.15rem; margin-block: .25rem; border-radius: 999px; background: var(--blue); color: #fff; font-weight: 700; font-size: .9375rem; letter-spacing: .01em; text-decoration: none; box-shadow: 0 1px 2px oklch(.24 .025 255 / .18); transition: background-color .15s ease, transform .15s ease; }
.site-footer__legal a.staff-signin:hover { background: var(--ink); transform: translateY(-1px); }
.site-footer__legal a.staff-signin:focus-visible { outline: 2px solid var(--teal); outline-offset: 3px; }
.staff-signin__icon { flex: none; }
@media (prefers-reduced-motion: reduce) { .site-footer__legal a.staff-signin { transition: none; } .site-footer__legal a.staff-signin:hover { transform: none; } }
[dir="rtl"] .site-footer__contact a[dir="ltr"] { justify-content: flex-end; }
[dir="rtl"] .button span[aria-hidden="true"],
[dir="rtl"] .text-link span[aria-hidden="true"] { transform: scaleX(-1); }
@media (max-width: 56rem) {
  .site-header__inner { min-height: auto; flex-wrap: wrap; gap: .75rem 1rem; padding-block: .75rem; }
  .menu-toggle { display: inline-flex; margin-inline-start: auto; min-width: 2.75rem; min-height: 2.75rem; align-items: center; justify-content: center; }
  .js .primary-nav { display: none; position: absolute; inset-block-start: 100%; inset-inline: 0; background: var(--bg); padding: 1rem; border-block-end: 1px solid var(--line); }
  .js .primary-nav[data-open="true"] { display: grid; }
  .primary-nav { width: 100%; }
  .primary-nav__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: .25rem 1rem; }
  .primary-nav a { width: 100%; }
  .js .site-header__inner { flex-wrap: nowrap; padding-block: 0; }
  .js .primary-nav__list { display: grid; grid-template-columns: 1fr; gap: 0; }
  .js .primary-nav__list a { border-block-end: 1px solid var(--line); font-size: 1rem; }
  .language-switch { border-inline-start: 0; border-block-start: 1px solid var(--line); padding-inline-start: 0; padding-block-start: .75rem; }
  .content-grid { grid-template-columns: 1fr; }
}
.contact-form-card { border: 1px solid var(--line); border-radius: .75rem; padding: clamp(1.5rem, 3vw, 2.5rem); background: var(--bg); }
.contact-form-card__heading { margin-block-end: 1.75rem; }
.contact-form-card__heading p { margin-block-start: .75rem; color: var(--muted); line-height: 1.8; }
.contact-form { position: relative; }
.contact-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.contact-field { display: grid; gap: .5rem; font-weight: 650; font-size: .875rem; }
.contact-field small { color: var(--muted); font-weight: 500; }
.contact-field--wide { grid-column: 1 / -1; }
.contact-field input, .contact-field select, .contact-field textarea { inline-size: 100%; min-block-size: 3rem; border: 1px solid var(--line); border-radius: .375rem; background: var(--bg); color: inherit; font: inherit; padding-block: .75rem; padding-inline: .875rem; }
.contact-field textarea { resize: vertical; line-height: 1.6; }
.contact-field input:focus-visible, .contact-field select:focus-visible, .contact-field textarea:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.contact-form__honeypot { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; inset-inline-start: -10000px; }
.contact-form .cf-turnstile { margin-block-start: 1.5rem; min-block-size: 4rem; }
.contact-form__privacy, .contact-form__noscript { margin-block-start: 1rem; color: var(--muted); font-size: .875rem; line-height: 1.7; }
.contact-form__actions { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-block-start: 1.5rem; }
.contact-form__status { margin: 0; color: var(--muted); line-height: 1.5; }
.contact-form__status[data-state="success"] { color: var(--teal, var(--blue)); }
.contact-form__status[data-state="error"] { color: #9b2c2c; }
.contact-layout__side { display: grid; gap: 2.5rem; align-content: start; }
@media (max-width: 44rem) {
  .contact-form__grid { grid-template-columns: 1fr; }
  .contact-field--wide { grid-column: auto; }
}
.site-footer__contact a.site-footer__whatsapp { gap: .4rem; }
.site-footer__whatsapp span { color: var(--ink); font-weight: 600; }
