:root {
  /* Authoritative Aura public palette. */
  --public-macaroon: #EDE9DC;
  --public-onyx: #121212;
  --public-fibre: #B6B0A6;
  --public-limelight: #EDECE9;
  --public-coconut: #FFFFFF;
  --public-grace: #CCC6BD;
  --aura-fg-on-light: var(--public-onyx);
  --aura-fg-muted-on-light: rgba(18, 18, 18, .78);
  --aura-fg-on-dark: var(--public-coconut);
  --aura-fg-muted-on-dark: rgba(255, 255, 255, .84);
  --aura-icon-on-light: var(--public-onyx);
  --aura-icon-on-dark: var(--public-coconut);
  --aura-icon-weight: 250;
  --aura-weight-body: 300;
  --aura-weight-ui: 400;
  --aura-weight-heading: 300;
  --public-ink: var(--aura-fg-on-light);
  --public-ink-strong: var(--aura-fg-on-light);
  --public-muted: var(--aura-fg-muted-on-light);
  --public-foreground-primary: var(--aura-fg-on-light);
  --public-foreground-muted: var(--aura-fg-muted-on-light);
  --public-glass-icon: rgba(18, 18, 18, .82);
  --public-glass-icon-strong: var(--aura-icon-on-light);
  --public-glass-highlight: rgba(255, 255, 255, .72);
  --public-bg: #f8f7f4;
  --public-bg-warm: var(--public-macaroon);
  --public-surface: var(--public-coconut);
  --public-accent: var(--public-fibre);
  --public-accent-soft: rgba(204, 198, 189, .34);
  --public-success: #526d5a;
  --public-danger: #9b4e4e;
  --public-scrollbar-track: rgba(237, 233, 220, .12);
  --public-scrollbar-thumb: rgba(18, 18, 18, .42);
  --public-scrollbar-thumb-hover: rgba(18, 18, 18, .58);

  /* One material family: navigation, surface, card, control and overlay. */
  --glass-navigation: rgba(255, 255, 255, .30);
  --glass-surface: rgba(255, 255, 255, .24);
  --glass-card: rgba(255, 255, 255, .32);
  --glass-control: rgba(255, 255, 255, .22);
  --glass-overlay: rgba(255, 255, 255, .50);
  --glass-border: rgba(255, 255, 255, .62);
  --glass-edge: inset 0 0 1px 1px rgba(255,255,255,.42), inset 0 8px 22px rgba(255,255,255,.10), inset 0 -8px 20px rgba(18,18,18,.025);
  --public-glass-blur: 5px;
  --glass-blur: blur(var(--public-glass-blur)) saturate(108%);
  --public-search-blur: 10px;
  --search-glass-blur: blur(var(--public-search-blur)) saturate(112%);
  --public-glass: var(--glass-surface);
  --public-glass-strong: var(--glass-overlay);
  --public-glass-soft: var(--glass-control);
  --public-line: rgba(18, 18, 18, .10);
  --public-line-bright: rgba(255, 255, 255, .66);
  --public-shadow: 0 22px 58px rgba(18, 18, 18, .12);
  --public-shadow-soft: 0 12px 32px rgba(18, 18, 18, .08);
  --public-radius-xl: 28px;
  --public-radius-lg: 22px;
  --public-radius-md: 16px;
  --public-radius-sm: 11px;
  --public-container: min(1400px, calc(100vw - 64px));
  --public-content-max: 1240px;
  --public-floating-width: min(var(--public-content-max), calc(100vw - 64px - (2 * clamp(26px, 5vw, 66px))));
  --public-content-width: var(--public-floating-width);
  --public-content-gutter: calc((100vw - var(--public-content-width)) / 2);
  --public-gutter: clamp(16px, 3.4vw, 48px);
  --public-section-space: clamp(54px, 6vw, 86px);
  --public-control-height: 44px;
  --public-nav-top: 30px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
html:has(> body.aura-public:not(.aura-auth):not(.guest-dashboard)) {
  scrollbar-width: thin;
  scrollbar-color: var(--public-scrollbar-thumb) var(--public-scrollbar-track);
}
html:has(> body.aura-public:not(.aura-auth):not(.guest-dashboard)) > body.aura-public { scrollbar-color: auto; }
html:has(> body.aura-public:not(.aura-auth):not(.guest-dashboard))::-webkit-scrollbar { width: 7px; height: 7px; }
html:has(> body.aura-public:not(.aura-auth):not(.guest-dashboard))::-webkit-scrollbar-track {
  background: var(--public-scrollbar-track);
  border-radius: 999px;
}
html:has(> body.aura-public:not(.aura-auth):not(.guest-dashboard))::-webkit-scrollbar-thumb {
  min-height: 38px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--public-scrollbar-thumb);
  background-clip: padding-box;
}
html:has(> body.aura-public:not(.aura-auth):not(.guest-dashboard))::-webkit-scrollbar-thumb:hover { background-color: var(--public-scrollbar-thumb-hover); }
html:has(> body.aura-public:not(.aura-auth):not(.guest-dashboard))::-webkit-scrollbar-corner { background: transparent; }
body.aura-public {
  margin: 0;
  min-width: 320px;
  color: var(--aura-fg-on-light);
  background: var(--public-bg);
  font-family: "Outfit", "Tajawal", system-ui, sans-serif;
  font-size: 15px;
  font-weight: var(--aura-weight-body);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
[dir="rtl"] body.aura-public { font-family: "Tajawal", "Outfit", system-ui, sans-serif; }
body.aura-public button,
body.aura-public input,
body.aura-public select,
body.aura-public textarea { font: inherit; }
body.aura-public img { max-width: 100%; }
body.aura-public a { color: inherit; }
body.aura-public [hidden] { display: none !important; }
body.aura-public :focus-visible { outline: 2px solid rgba(18, 18, 18, .42); outline-offset: 3px; }
body.aura-public .material-symbols-rounded {
  color: var(--aura-icon-on-light);
  font-weight: var(--aura-weight-body);
  font-variation-settings: 'FILL' 0, 'wght' var(--aura-icon-weight), 'GRAD' 0, 'opsz' 24;
  line-height: 1;
}
body.aura-public :where(button, input, select, textarea) { font-weight: var(--aura-weight-ui); }
body.aura-public :where(h1, h2, h3, h4, h5, h6) { font-weight: var(--aura-weight-heading); }
body.aura-public.public-menu-open { overflow: hidden; }

body.aura-public.aura-reveal-ready [data-aura-reveal] {
  --aura-reveal-distance: 22px;
  opacity: 0;
  transform: translate3d(0,var(--aura-reveal-distance),0);
  filter: blur(2px);
  transition:
    opacity 800ms cubic-bezier(.22,1,.36,1),
    transform 800ms cubic-bezier(.22,1,.36,1),
    filter 800ms cubic-bezier(.22,1,.36,1);
  transition-delay: var(--aura-reveal-delay,0ms);
  will-change: opacity, transform, filter;
}
body.aura-public.aura-reveal-ready [data-aura-reveal="heading"] { --aura-reveal-distance: 26px; }
body.aura-public.aura-reveal-ready [data-aura-reveal].is-aura-visible {
  opacity: 1;
  transform: translate3d(0,0,0);
  filter: blur(0);
  will-change: auto;
}

.aura-public--liquid {
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  background-color: transparent;
}
.public-background-stack {
  position: fixed;
  z-index: -2;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  background: var(--public-macaroon);
}
.public-background--site {
  position: absolute;
  inset: -7vh -4vw;
  opacity: 0;
  transform: translate3d(0,-1.2%,0) scale(1.075);
  transform-origin: center;
  will-change: transform;
  transition: opacity 1s ease;
}
.public-background--site.is-loaded { opacity: 1; }
.public-background--site img { width: 100%; height: 100%; display: block; object-fit: cover; }
.public-background-tint {
  position: absolute;
  inset: 0;
  background: rgba(237,233,220,.82);
  backdrop-filter: saturate(76%);
}

@media (max-width: 900px) {
  :root { --public-container: min(calc(100% - 28px), 760px); --public-floating-width: min(calc(100vw - 76px), 712px); --public-section-space: 58px; }
}
@media (max-width: 520px) {
  :root {
    --public-container: calc(100% - 40px);
    --public-gutter: 20px;
    --public-floating-width: calc(100vw - 48px);
    --public-radius-xl: 24px;
    --public-radius-lg: 19px;
    --public-section-space: 48px;
    --public-control-height: 42px;
    --public-nav-top: 24px;
  }
  html { scroll-padding-top: 78px; }
  body.aura-public { font-size: 14px; }
  body.aura-public.aura-reveal-ready [data-aura-reveal],
  body.aura-public.aura-reveal-ready [data-aura-reveal="heading"] { --aura-reveal-distance: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .public-background--site { transform: scale(1.06); will-change: auto; transition-duration: .01ms; }
  body.aura-public.aura-reveal-ready [data-aura-reveal] { opacity: 1; transform: none; filter: none; transition: none; will-change: auto; }
}
