@import url('/_abb/assets/fonts/fonts.css');
:root { --font-sans: Montserrat, Alexandria, sans-serif; }
body { font-family: Montserrat, Alexandria, sans-serif; }
h1, h2, h3, button, [role="button"], nav { font-family: Poppins, Alexandria, sans-serif; }
html[dir="rtl"] body, html[dir="rtl"] h1, html[dir="rtl"] h2,
html[dir="rtl"] h3, html[dir="rtl"] button, html[dir="rtl"] nav,
:lang(ar) { font-family: Alexandria, sans-serif; }
html[dir="rtl"] { text-align: start; }
.dark { --accent-foreground: #230447; --accent-ink: #00FFC6; }
:root:not(.dark) { --accent-foreground: #230447; --accent-ink: #087553; }
::selection { background: #7E04D5; color: white; }
input, textarea { caret-color: #7E04D5; }
main input::placeholder, main textarea::placeholder { color: var(--muted-foreground, #625370) !important; opacity: 1; }
.dark input, .dark textarea { caret-color: #00FFC6; }
:focus-visible { outline: 2px solid var(--ring, #7E04D5); outline-offset: 3px; }
a { text-underline-offset: 0.2em; }
html { scrollbar-color: #8B6D9F transparent; }
[dir="rtl"] .prose { text-align: start; }
.prose { overflow-wrap: anywhere; }
aside nav button { min-height: 2.75rem; border-radius: .5rem !important; text-align: start !important; }
aside nav button .truncate { white-space: normal; overflow: visible; line-height: 1.5; }
[dir="rtl"] .text-left { text-align: start; }
.portal-header img { object-fit: contain; }
.dark .portal-header img[src*="logos/abb"] { filter: brightness(0) invert(1); }
.abb-strip { display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: .55rem max(1rem, calc((100vw - 72rem) / 2)); font-size: .75rem;
  background: var(--card, white); color: var(--foreground, #230447); border-bottom: 1px solid var(--border, #E6E6E6); }
.abb-strip a { color: inherit; text-decoration: underline; }
.abb-strip select { font: inherit; font-size: .8rem; min-height: 2.75rem; max-width: 9rem;
  padding: .45rem .65rem; color: inherit; border: 1px solid var(--border, #E6E6E6);
  border-radius: .5rem; background: var(--background, #FAF8FC); }
.abb-footer { max-width: 72rem; margin: 3rem auto 0; padding: 1.5rem 1rem;
  display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap;
  border-top: 1px solid var(--border, #E6E6E6); color: var(--muted-foreground, #625370); font-size: .8rem; }
.abb-footer a { color: inherit; text-decoration: underline; }
.abb-footer nav { display: flex; gap: 1.25rem; flex-wrap: wrap; }
.abb-intake { width: min(100% - 2rem, 42rem); margin: 2rem auto; }
.abb-intake .abb-logo { width: 3rem; height: 3rem; object-fit: contain; }
.dark .abb-intake .abb-logo { filter: brightness(0) invert(1); }
.abb-intake h1 { font-size: clamp(1.7rem, 4vw, 2.25rem); line-height: 1.3; margin: 1.25rem 0 .75rem; }
.abb-intake p { line-height: 1.7; max-width: 65ch; }
.abb-intake form { display: grid; gap: 1.25rem; margin-top: 2rem; }
.abb-intake label { display: grid; gap: .5rem; font-weight: 500; line-height: 1.5; }
.abb-intake input, .abb-intake textarea, .abb-intake select { width: 100%; box-sizing: border-box;
  min-height: 2.75rem; padding: .8rem; font: inherit; font-weight: 400; color: inherit;
  border: 1px solid var(--border, #DDD3E6); border-radius: .5rem; background: var(--card, white); }
.abb-intake textarea { resize: vertical; min-height: 10rem; }
.abb-intake button { min-height: 3rem; border: 0; border-radius: .5rem; padding: .8rem 1.5rem;
  background: var(--primary, #7E04D5); color: var(--primary-foreground, white); cursor: pointer; }
.abb-intake button:hover { filter: brightness(.92); }
.abb-intake button:disabled { opacity: .65; cursor: wait; }
.abb-intake .abb-error { color: var(--destructive, #B71942); }
.abb-intake .abb-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.abb-welcome h2 { font-size: clamp(1.55rem, 3vw, 2.1rem); line-height: 1.3; max-width: 24ch; text-wrap: balance; }
.abb-welcome p { max-width: 65ch; line-height: 1.7; }
.abb-hero-actions { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 1.25rem; }
.abb-hero-actions a { display: inline-flex; align-items: center; justify-content: center;
  min-height: 2.75rem; padding: .65rem 1rem; border-radius: .5rem; font-family: Poppins, Alexandria, sans-serif;
  font-size: .875rem; font-weight: 500; text-decoration: none; }
.abb-hero-actions a:first-child { color: var(--primary-foreground, white); background: var(--primary, #7E04D5); }
.abb-hero-actions a:last-child { border: 1px solid var(--border, #DDD3E6); color: var(--foreground, #230447); }
@media (max-width: 639px) { .abb-footer { margin-top: 2rem; } .abb-welcome h2 { max-width: none; }
  .abb-strip { gap: .5rem; } .abb-strip a { max-width: 18ch; line-height: 1.4; }
  .abb-hero-actions a { flex: 1 1 auto; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; } }
