/* Alif public landing V2 — research-led editorial system. */
.alif-landing-v2 {
  --brand: #152238;
  --brand-soft: #eef1f4;
  --gold: #c0a064;
  --gold-ink: #87662f;
  --background: #fbf9f4;
  --foreground: #171b22;
  --surface: #ffffff;
  --surface-2: #f1f3f5;
  --card: #ffffff;
  --card-foreground: #171b22;
  --popover: #ffffff;
  --popover-foreground: #171b22;
  --primary: #152238;
  --primary-foreground: #fbf9f4;
  --secondary: #eef1f4;
  --secondary-foreground: #243650;
  --muted: #eef1f4;
  --muted-foreground: #626b78;
  --accent: #eef1f4;
  --accent-foreground: #243650;
  --border: #d9dee5;
  --input: #8a95a5;
  --ring: #87662f;
  font-family: "Manrope", Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  text-rendering: optimizeLegibility;
}

.alif-landing-v2 .font-serif {
  font-family: "Instrument Serif", Georgia, "Times New Roman", serif !important;
  font-weight: 400 !important;
  font-synthesis: none;
}

.alif-landing-v2 h1,
.alif-landing-v2 h2,
.alif-landing-v2 h3 { text-wrap: balance; }
.alif-landing-v2 p { text-wrap: pretty; }
.alif-landing-v2 button,
.alif-landing-v2 input,
.alif-landing-v2 select,
.alif-landing-v2 textarea { font-family: inherit; }
.alif-landing-v2 ::selection { background: rgb(192 160 100 / .25); }

.alif-landing-v2 .text-gold { color: var(--gold-ink) !important; }
.alif-landing-v2 .bg-foreground .text-gold,
.alif-landing-v2 section.bg-foreground .text-gold,
.alif-landing-v2 footer.bg-foreground .text-gold { color: var(--gold) !important; }

.alif-landing-v2 .field {
  border: 1px solid #8993a1;
  background: #fff;
  color: var(--foreground);
  outline: none;
  transition: border-color 150ms ease, box-shadow 150ms ease;
}
.alif-landing-v2 .field:hover { border-color: #6f7988; }
.alif-landing-v2 .field:focus,
.alif-landing-v2 .field:focus-visible,
.alif-landing-v2 .field:focus-within {
  border-color: var(--foreground);
  box-shadow: 0 0 0 3px rgb(135 102 47 / .15);
}
.alif-landing-v2 .field::placeholder { color: #88919d; }

.alif-landing-v2 a,
.alif-landing-v2 button,
.alif-landing-v2 summary,
.alif-landing-v2 input,
.alif-landing-v2 select,
.alif-landing-v2 textarea {
  -webkit-tap-highlight-color: transparent;
}
.alif-landing-v2 a:focus-visible,
.alif-landing-v2 button:focus-visible,
.alif-landing-v2 summary:focus-visible,
.alif-landing-v2 input:focus-visible,
.alif-landing-v2 select:focus-visible,
.alif-landing-v2 textarea:focus-visible,
.alif-landing-v2 .focus-ring:focus-visible {
  outline: 2px solid var(--gold-ink);
  outline-offset: 3px;
}
.alif-landing-v2 section.bg-foreground a:focus-visible,
.alif-landing-v2 footer.bg-foreground a:focus-visible {
  outline-color: var(--gold);
}

.alif-landing-v2 header {
  box-shadow: 0 1px 0 rgb(21 34 56 / .04);
}

.alif-landing-v2 details[open] {
  background: rgb(255 255 255 / .42);
}

@media (max-width: 639px) {
  .alif-landing-v2 main { overflow: clip; }
  .alif-landing-v2 figure.border-l { border-left: 0 !important; padding-left: 0 !important; }

  /* Mobile menu must form its own opaque viewport panel. Using absolute positioning
     avoids Chrome/Android fixed-position containing-block bugs caused by backdrop-filter. */
  .alif-landing-v2 header {
    background: #fbf9f4 !important;
    isolation: isolate;
  }
  .alif-landing-v2 #mobile-navigation {
    position: absolute !important;
    inset-inline: 0 !important;
    top: 100% !important;
    bottom: auto !important;
    width: 100% !important;
    height: calc(100dvh - 72px) !important;
    min-height: calc(100dvh - 72px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    background: #fbf9f4 !important;
    opacity: 1 !important;
    isolation: isolate;
    z-index: 60 !important;
    box-shadow: 0 1px 0 #d9dee5 inset;
  }
  .alif-landing-v2 #mobile-navigation nav {
    min-height: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .alif-landing-v2 *,
  .alif-landing-v2 *::before,
  .alif-landing-v2 *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}