/*
 * NEON Agency — site styles.
 * Original compiled stylesheet (assets/index-BiR3C91r.css) from the Replit deployment,
 * with rules used only by the admin CMS / sign-in screens removed, Google Fonts
 * self-hosted (see fonts.css) and the logo embedded as a Base64 data URI.
 */
@layer properties;
@layer theme, base, clerk, components, utilities;
@layer theme, base, components, utilities;

@layer theme {
  :root {
    --color-red-50: oklch(97.1% .013 17.38);
    --color-red-300: oklch(80.8% .114 19.571);
    --color-red-400: oklch(70.4% .191 22.216);
    --color-red-600: oklch(57.7% .245 27.325);
    --color-gray-50: oklch(98.5% .002 247.839);
    --color-gray-100: oklch(96.7% .003 264.542);
    --color-gray-600: oklch(44.6% .03 256.802);
    --color-gray-700: oklch(37.3% .034 259.733);
    --color-gray-800: oklch(27.8% .033 256.848);
    --color-gray-900: oklch(21% .034 264.665);
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --container-sm: 24rem;
    --container-lg: 32rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: 1.5;
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-tight: -.025em;
    --tracking-widest: .1em;
    --leading-snug: 1.375;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;
    --radius-2xl: 1rem;
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --animate-spin: spin 1s linear infinite;
    --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    --aspect-video: 16 / 9;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--app-font-sans);
    --default-mono-font-family: var(--app-font-mono);
    --color-border: hsl(var(--border))
  }
}

@layer base {

  *,
  :after,
  :before,
  ::backdrop,
  ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid
  }

  html {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent
  }

  h1,
  h2,
  h3 {
    font-size: inherit;
    font-weight: inherit
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit
  }

  b,
  strong {
    font-weight: bolder
  }

  ul,
  menu {
    list-style: none
  }

  img,
  svg,
  video,
  audio {
    display: block;
    vertical-align: middle
  }

  img,
  video {
    max-width: 100%;
    height: auto
  }

  button,
  input,
  select,
  textarea,
  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1
  }

  ::file-selector-button {
    margin-inline-end: 4px
  }

  ::placeholder {
    opacity: 1
  }

  @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent)
      }
    }
  }

  textarea {
    resize: vertical
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit
  }

  ::-webkit-datetime-edit {
    display: inline-flex
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0
  }

  ::-webkit-datetime-edit,
  ::-webkit-datetime-edit-year-field,
  ::-webkit-datetime-edit-month-field,
  ::-webkit-datetime-edit-day-field,
  ::-webkit-datetime-edit-hour-field,
  ::-webkit-datetime-edit-minute-field,
  ::-webkit-datetime-edit-second-field,
  ::-webkit-datetime-edit-millisecond-field,
  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1
  }

  button,
  input:where([type=button], [type=reset], [type=submit]),
  ::file-selector-button {
    appearance: button
  }

  ::-webkit-inner-spin-button,
  ::-webkit-outer-spin-button {
    height: auto
  }
}

@layer utilities {
  .visible {
    visibility: visible
  }

  .grid {
    display: grid
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )
  }

  .rtl\:rotate-180:where(:dir(rtl), [dir=rtl], [dir=rtl] *) {
    rotate: 180deg
  }

  @media(hover:hover) {}
}

@property --tw-animation-delay {
  syntax: "*";
  inherits: false;
  initial-value: 0s;
}

@property --tw-animation-direction {
  syntax: "*";
  inherits: false;
  initial-value: normal;
}

@property --tw-animation-duration {
  syntax: "*";
  inherits: false;
}

@property --tw-animation-fill-mode {
  syntax: "*";
  inherits: false;
  initial-value: none;
}

@property --tw-animation-iteration-count {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-enter-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-enter-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-enter-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-enter-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-enter-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-enter-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-exit-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-exit-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

:root {
  --button-outline: rgba(0, 0, 0, .1);
  --badge-outline: rgba(0, 0, 0, .05);
  --opaque-button-border-intensity: -8;
  --elevate-1: rgba(0, 0, 0, .03);
  --elevate-2: rgba(0, 0, 0, .08);
  --background: 270 100% 98%;
  --foreground: 250 82% 8%;
  --border: 266 30% 88%;
  --card: 270 100% 99%;
  --card-foreground: 250 82% 8%;
  --card-border: 266 30% 88%;
  --sidebar: 270 100% 98%;
  --sidebar-foreground: 250 82% 8%;
  --sidebar-border: 266 30% 88%;
  --sidebar-primary: 271 100% 36%;
  --sidebar-primary-foreground: 0 0% 100%;
  --sidebar-accent: 270 80% 94%;
  --sidebar-accent-foreground: 250 82% 8%;
  --sidebar-ring: 271 100% 55%;
  --popover: 270 100% 99%;
  --popover-foreground: 250 82% 8%;
  --popover-border: 266 30% 88%;
  --primary: 271 100% 36%;
  --primary-foreground: 0 0% 100%;
  --secondary: 270 80% 94%;
  --secondary-foreground: 250 82% 8%;
  --muted: 266 24% 91%;
  --muted-foreground: 257 21% 39%;
  --accent: 271 100% 72%;
  --accent-foreground: 250 82% 8%;
  --destructive: 0 72% 48%;
  --destructive-foreground: 0 0% 100%;
  --input: 266 30% 82%;
  --ring: 271 100% 55%;
  --chart-1: 271 100% 36%;
  --chart-2: 250 82% 8%;
  --chart-3: 271 100% 72%;
  --chart-4: 294 58% 67%;
  --chart-5: 30 90% 60%;
  --app-font-sans: "Manrope", "IBM Plex Sans Arabic", sans-serif;
  --app-font-serif: "Readex Pro", serif;
  --app-font-mono: "IBM Plex Sans Arabic", monospace;
  --radius: .5rem;
  --shadow-2xs: 0px 2px 0px 0px hsl(202.8169 89.1213% 53.1373% / 0);
  --shadow-xs: 0px 2px 0px 0px hsl(202.8169 89.1213% 53.1373% / 0);
  --shadow-sm: 0px 2px 0px 0px hsl(202.8169 89.1213% 53.1373% / 0), 0px 1px 2px -1px hsl(202.8169 89.1213% 53.1373% / 0);
  --shadow: 0px 2px 0px 0px hsl(202.8169 89.1213% 53.1373% / 0), 0px 1px 2px -1px hsl(202.8169 89.1213% 53.1373% / 0);
  --shadow-md: 0px 2px 0px 0px hsl(202.8169 89.1213% 53.1373% / 0), 0px 2px 4px -1px hsl(202.8169 89.1213% 53.1373% / 0);
  --shadow-lg: 0px 2px 0px 0px hsl(202.8169 89.1213% 53.1373% / 0), 0px 4px 6px -1px hsl(202.8169 89.1213% 53.1373% / 0);
  --shadow-xl: 0px 2px 0px 0px hsl(202.8169 89.1213% 53.1373% / 0), 0px 8px 10px -1px hsl(202.8169 89.1213% 53.1373% / 0);
  --shadow-2xl: 0px 2px 0px 0px hsl(202.8169 89.1213% 53.1373% / 0);
  --tracking-normal: 0em;
  --spacing: .25rem;
  --sidebar-primary-border: hsl(var(--sidebar-primary));
  --sidebar-primary-border: hsl(from hsl(var(--sidebar-primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --sidebar-accent-border: hsl(var(--sidebar-accent));
  --sidebar-accent-border: hsl(from hsl(var(--sidebar-accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --primary-border: hsl(var(--primary));
  --primary-border: hsl(from hsl(var(--primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --secondary-border: hsl(var(--secondary));
  --secondary-border: hsl(from hsl(var(--secondary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --muted-border: hsl(var(--muted));
  --muted-border: hsl(from hsl(var(--muted)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --accent-border: hsl(var(--accent));
  --accent-border: hsl(from hsl(var(--accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --destructive-border: hsl(var(--destructive));
  --destructive-border: hsl(from hsl(var(--destructive)) h s calc(l + var(--opaque-button-border-intensity)) / alpha)
}

@layer base {
  * {
    border-color: hsl(var(--border))
  }

  body {
    background-color: hsl(var(--background));
    font-family: var(--app-font-sans);
    color: hsl(var(--foreground));
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
  }
}

:root {
  --ink: #08051f;
  --violet: #4500b8;
  --lilac: #a670f5;
  --pale: #f5efff;
  --paper: #fbf9ff;
  --line: rgba(25, 14, 57, .16);
  --display: "Readex Pro", "IBM Plex Sans Arabic", sans-serif
}

html {
  scroll-behavior: smooth
}

body {
  background: var(--paper);
  color: var(--ink)
}

body,
button,
input,
textarea,
select {
  font-family: Manrope, IBM Plex Sans Arabic, sans-serif
}

button,
a {
  -webkit-tap-highlight-color: transparent
}

::selection {
  background: #a670f5;
  color: var(--ink)
}

.site-shell {
  min-height: 100dvh;
  overflow: hidden
}

.wrap {
  width: min(1240px, calc(100% - 72px));
  margin-inline: auto
}

.site-header {
  position: absolute;
  z-index: 20;
  inset: 0 0 auto;
  color: #fff
}

.header-inner {
  height: 92px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255, 255, 255, .2)
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: inherit;
  text-decoration: none;
  font-weight: 800;
  letter-spacing: .16em;
  font-size: 20px
}

.nav-links {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2.5vw, 34px)
}

.nav-links a,
.lang-button {
  color: inherit;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .02em;
  text-decoration: none;
  opacity: .82;
  transition: opacity .2s;
  background: none;
  border: 0;
  padding: 8px 0;
  cursor: pointer
}

.nav-links a:hover,
.nav-links a[aria-current=page],
.lang-button:hover {
  opacity: 1
}

.nav-cta {
  border: 1px solid rgba(255, 255, 255, .65) !important;
  border-radius: 99px;
  padding: 11px 18px !important;
  opacity: 1 !important
}

.header-controls {
  display: flex;
  align-items: center;
  gap: 20px
}

.menu-toggle {
  display: none;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .4);
  color: inherit;
  border-radius: 50%;
  width: 42px;
  height: 42px;
  cursor: pointer
}

.hero {
  min-height: 740px;
  height: min(850px, 100svh);
  position: relative;
  color: #fff;
  background: var(--ink);
  display: flex;
  align-items: center;
  isolation: isolate
}

.hero:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: radial-gradient(ellipse at 78% 46%, rgba(92, 21, 200, .68), transparent 39%), radial-gradient(ellipse at 21% 87%, rgba(115, 76, 190, .26), transparent 38%), linear-gradient(120deg, #08051f 16%, #10062d 70%, #1d0750)
}

.hero:after {
  content: "";
  position: absolute;
  z-index: -1;
  width: min(62vw, 760px);
  aspect-ratio: 1;
  border: 1px solid rgba(205, 177, 255, .3);
  border-radius: 50%;
  inset-inline-end: -11%;
  top: 11%;
  box-shadow: 0 0 0 38px #b18bff09, 0 0 0 96px #b18bff06;
  clip-path: inset(0 0 0 34%);
  transform: rotate(-22deg)
}

.hero-content {
  padding-top: 90px;
  position: relative;
  z-index: 1
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 700;
  color: #d8c3ff
}

.eyebrow:before {
  content: "";
  width: 27px;
  height: 1px;
  background: currentColor
}

.hero h1 {
  font-family: var(--display);
  font-size: clamp(72px, 13vw, 170px);
  line-height: .98;
  letter-spacing: -.075em;
  margin: 30px 0 22px;
  max-width: 900px
}

.hero h1 .accent {
  color: #b990ff
}

[dir=rtl] .hero h1 {
  line-height: 1.3;
  margin-bottom: 32px;
  letter-spacing: -.035em
}

.hero-copy {
  font-size: clamp(15px, 1.5vw, 19px);
  line-height: 1.9;
  color: #ffffffbf;
  max-width: 530px;
  margin: 0 0 35px
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px
}

.button {
  min-height: 50px;
  padding: 0 22px;
  border-radius: 99px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform .2s, background .2s, border-color .2s
}

.button:hover {
  transform: translateY(-2px)
}

.button-primary {
  color: #fff;
  background: var(--violet)
}

.button-primary:hover {
  background: #5e12d9
}

.button-light {
  color: var(--ink);
  background: #fff
}

.button-outline {
  color: inherit;
  background: transparent;
  border-color: #ffffff6b
}

.button-outline:hover {
  border-color: #fff
}

.hero-index {
  position: absolute;
  bottom: 38px;
  inset-inline-end: 0;
  color: #ffffff94;
  font: 11px IBM Plex Sans Arabic, sans-serif;
  letter-spacing: .14em
}

.section {
  padding: 110px 0
}

.section-dark {
  background: var(--ink);
  color: #fff
}

.section-lilac {
  background: #f0e6ff
}

.section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 35px;
  margin-bottom: 50px
}

.section-heading h2,
.page-title {
  white-space: pre-line;
  font-family: var(--display);
  font-size: clamp(38px, 6vw, 78px);
  letter-spacing: -.06em;
  line-height: 1.05;
  margin: 14px 0 0
}

.section-heading p {
  max-width: 390px;
  line-height: 1.8;
  color: #5d536f;
  margin: 0;
  font-size: 14px
}

.section-dark .section-heading p {
  color: #ffffffa6
}

.service-list {
  border-top: 1px solid var(--line)
}

.service-row {
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-template-columns: 70px minmax(220px, 1fr) minmax(250px, .8fr) 48px;
  align-items: center;
  gap: 22px;
  padding: 26px 0;
  color: inherit;
  text-decoration: none;
  transition: padding .25s
}

.service-row:hover {
  padding-inline: 12px
}

.service-num {
  font: 12px IBM Plex Sans Arabic, sans-serif;
  color: #8464b5
}

.service-row h3 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(20px, 2.3vw, 29px);
  letter-spacing: -.04em
}

.service-row p {
  margin: 0;
  max-width: 380px;
  font-size: 13px;
  line-height: 1.75;
  color: #645a74
}

.service-arrow {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid var(--line);
  display: grid;
  place-items: center;
  transition: transform .2s, background .2s
}

.service-row:hover .service-arrow {
  transform: rotate(-45deg);
  background: var(--ink);
  color: #fff
}

.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 22px
}

.project-card {
  display: block;
  min-width: 0;
  color: inherit;
  text-decoration: none
}

.project-card:nth-child(5n+1),
.project-card:nth-child(5n+4) {
  grid-column: span 7
}

.project-card:nth-child(5n+2),
.project-card:nth-child(5n+3),
.project-card:nth-child(5n+5) {
  grid-column: span 5
}

.project-visual {
  position: relative;
  overflow: hidden;
  background: #ddd2ef;
  aspect-ratio: 1.38
}

.project-card:nth-child(3n) .project-visual {
  aspect-ratio: 1.12
}

.project-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s cubic-bezier(.2, .7, .1, 1)
}

.project-card:hover .project-visual img {
  transform: scale(1.04)
}

.project-index {
  position: absolute;
  inset: 16px auto auto 16px;
  color: #fff;
  font: 11px IBM Plex Sans Arabic, sans-serif;
  letter-spacing: .1em;
  text-shadow: 0 1px 8px #08051f
}

.project-info {
  padding: 16px 0 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px
}

.project-info h3 {
  font-size: 16px;
  margin: 0;
  font-weight: 700
}

.project-info span {
  font-size: 11px;
  color: #756a86;
  white-space: nowrap
}

.project-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: -13px 0 30px
}

.filter-chip {
  border: 1px solid var(--line);
  border-radius: 99px;
  background: transparent;
  padding: 9px 15px;
  font-size: 11px;
  color: inherit;
  cursor: pointer
}

.filter-chip.active,
.filter-chip:hover {
  background: var(--ink);
  color: #fff;
  border-color: var(--ink)
}

.manifesto {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9vw;
  align-items: center
}

.manifesto-mark {
  width: min(32vw, 390px);
  aspect-ratio: 1;
  border: 30px solid var(--lilac);
  border-right-color: transparent;
  border-radius: 50%;
  transform: rotate(32deg);
  margin: auto;
  position: relative
}

.manifesto-mark:after {
  content: "";
  position: absolute;
  inset: 26px;
  border: 1px solid rgba(69, 0, 184, .36);
  border-radius: 50%;
  border-left-color: transparent;
  transform: rotate(180deg)
}

.manifesto h2 {
  font-family: var(--display);
  font-size: clamp(40px, 6vw, 76px);
  line-height: 1.1;
  letter-spacing: -.07em;
  margin: 15px 0 25px
}

.manifesto p {
  color: #635972;
  max-width: 500px;
  line-height: 1.95;
  font-size: 15px
}

.manifesto .button {
  margin-top: 14px
}

.process-strip {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-top: 1px solid rgba(255, 255, 255, .25)
}

.process-step {
  padding: 26px 16px 0 0;
  border-top: 2px solid transparent;
  margin-top: -1px
}

.process-step:first-child {
  border-color: #b990ff
}

.process-step span {
  color: #b990ff;
  font: 12px IBM Plex Sans Arabic, sans-serif
}

.process-step h3 {
  font-family: var(--display);
  font-size: 18px;
  margin: 19px 0 9px
}

.process-step p {
  color: #ffffff9e;
  font-size: 12px;
  line-height: 1.7;
  margin: 0
}

.cta-band {
  background: #4500b8;
  color: #fff;
  position: relative;
  overflow: hidden;
  padding: 82px 0
}

.cta-band:after {
  content: "";
  position: absolute;
  width: 420px;
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, .3);
  border-radius: 50%;
  inset-inline-end: -60px;
  top: -230px;
  box-shadow: 0 0 0 26px #ffffff0f, 0 0 0 70px #ffffff0b
}

.cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  position: relative;
  z-index: 1
}

.cta-inner h2 {
  font-family: var(--display);
  font-size: clamp(36px, 6vw, 68px);
  letter-spacing: -.06em;
  line-height: 1.1;
  margin: 0;
  max-width: 670px
}

.site-footer {
  background: var(--ink);
  color: #fff;
  padding: 62px 0 30px
}

.footer-top {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr;
  gap: 60px;
  padding-bottom: 55px
}

.footer-top p {
  color: #ffffff9c;
  font-size: 13px;
  line-height: 1.8;
  max-width: 300px
}

.footer-col {
  display: flex;
  flex-direction: column;
  gap: 13px;
  align-items: flex-start
}

.footer-col strong {
  color: #c6a6ff;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .14em;
  margin-bottom: 5px
}

.footer-col a {
  color: #ffffffc2;
  text-decoration: none;
  font-size: 13px
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, .17);
  padding-top: 21px;
  display: flex;
  justify-content: space-between;
  color: #ffffff7a;
  font-size: 11px
}

.page-hero {
  background: var(--ink);
  color: #fff;
  padding: 180px 0 90px;
  position: relative;
  overflow: hidden
}

.page-hero:after {
  content: "";
  position: absolute;
  width: 460px;
  height: 460px;
  border: 1px solid rgba(178, 139, 255, .4);
  border-radius: 50%;
  inset-inline-end: -100px;
  top: 50px;
  box-shadow: 0 0 0 35px #b28bff0a, 0 0 0 90px #b28bff08
}

.page-hero .wrap {
  position: relative;
  z-index: 1
}

.page-hero .page-title {
  max-width: 900px;
  margin: 22px 0
}

.page-hero p {
  max-width: 600px;
  color: #ffffffb0;
  font-size: 15px;
  line-height: 1.9
}

.content-columns {
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  gap: 70px
}

.content-columns h2 {
  font-family: var(--display);
  font-size: clamp(32px, 4vw, 52px);
  letter-spacing: -.06em;
  line-height: 1.1;
  margin: 0
}

.content-columns p {
  color: #625971;
  line-height: 1.95;
  font-size: 15px;
  margin: 0 0 20px
}

.capability-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line)
}

.capability {
  min-height: 180px;
  padding: 22px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line)
}

.capability span {
  color: #8b68bd;
  font: 11px IBM Plex Sans Arabic, sans-serif
}

.capability h3 {
  font-family: var(--display);
  font-size: 19px;
  margin: 30px 0 8px
}

.capability p {
  color: #6a6078;
  font-size: 12px;
  line-height: 1.65;
  margin: 0
}

.detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, .6fr);
  gap: 8vw
}

.detail-copy h2 {
  font-family: var(--display);
  font-size: 30px;
  margin: 0 0 18px;
  letter-spacing: -.04em
}

.detail-copy p {
  color: #625971;
  line-height: 1.9;
  font-size: 15px
}

.detail-aside {
  border-top: 1px solid var(--line);
  padding-top: 22px
}

.detail-aside h3 {
  font: 700 12px IBM Plex Sans Arabic, sans-serif;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: #7753a9;
  margin: 0 0 17px
}

.detail-aside ul {
  list-style: none;
  padding: 0;
  margin: 0
}

.detail-aside li {
  border-bottom: 1px solid var(--line);
  padding: 13px 0;
  font-size: 13px
}

.detail-visual {
  margin-top: 55px;
  aspect-ratio: 2.1;
  background: #e5d8f8;
  overflow: hidden
}

.detail-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.process-timeline {
  display: grid;
  grid-template-columns: 1fr
}

.timeline-row {
  display: grid;
  grid-template-columns: 100px 1fr 1fr;
  gap: 30px;
  padding: 29px 0;
  border-top: 1px solid var(--line);
  align-items: start
}

.timeline-row:last-child {
  border-bottom: 1px solid var(--line)
}

.timeline-row .num {
  font: 14px IBM Plex Sans Arabic, sans-serif;
  color: #885ebf
}

.timeline-row h2 {
  margin: 0;
  font: 600 27px var(--display);
  letter-spacing: -.04em
}

.timeline-row p {
  margin: 0;
  color: #625971;
  line-height: 1.8;
  font-size: 14px;
  max-width: 440px
}

.contact-layout {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 9vw
}

.contact-intro h2 {
  font: 600 clamp(38px, 5vw, 61px)/1.08 var(--display);
  letter-spacing: -.065em;
  margin: 0 0 20px
}

.contact-intro p {
  color: #625971;
  line-height: 1.8;
  max-width: 340px
}

.contact-email {
  color: var(--violet);
  font-weight: 700;
  text-decoration: none;
  display: inline-block;
  margin-top: 18px
}

.inquiry-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px
}

.field {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.field.full {
  grid-column: 1/-1
}

.field label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em
}

.field input,
.field select,
.field textarea {
  border: 0;
  border-bottom: 1px solid #b9abc9;
  border-radius: 0;
  background: transparent;
  padding: 12px 0;
  color: var(--ink);
  outline: none;
  font-size: 14px;
  min-width: 0
}

.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color: var(--violet);
  box-shadow: 0 1px var(--violet)
}

.field textarea {
  min-height: 110px;
  resize: vertical
}

.field input::placeholder,
.field textarea::placeholder {
  color: #958aa2
}

.form-feedback {
  grid-column: 1/-1;
  padding: 14px 16px;
  background: #f1eaff;
  color: #3d1672;
  font-size: 13px;
  line-height: 1.6
}

.form-feedback.error {
  background: #fff0ef;
  color: #872b2b
}

.form-note {
  color: #81768c;
  font-size: 11px;
  line-height: 1.5;
  grid-column: 1/-1
}

.form-submit {
  grid-column: 1/-1;
  justify-self: start
}

.form-submit:disabled {
  opacity: .62;
  cursor: wait
}

.case-note {
  border-inline-start: 2px solid var(--lilac);
  padding: 16px 20px;
  background: #f2eaff;
  color: #594b70;
  font-size: 13px;
  line-height: 1.8
}

.not-found {
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 40px
}

.not-found h1 {
  font: 600 clamp(42px, 7vw, 90px) var(--display);
  letter-spacing: -.07em;
  margin: 0 0 14px
}

.reveal {
  animation: rise-in .7s both
}

@keyframes rise-in {
  0% {
    opacity: 0;
    transform: translateY(18px)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@media(max-width:760px) {
  .wrap {
    width: min(100% - 38px, 600px)
  }

  .header-inner {
    height: 74px
  }

  .menu-toggle {
    display: grid;
    place-items: center
  }

  .header-controls {
    gap: 12px
  }

  .nav-links {
    display: none;
    position: absolute;
    inset: 74px 0 auto;
    background: #10082b;
    padding: 18px 20px 24px;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    border-bottom: 1px solid rgba(255, 255, 255, .2)
  }

  .nav-links.open {
    display: flex
  }

  .nav-links a {
    padding: 12px 4px
  }

  .nav-cta {
    text-align: center
  }

  .hero {
    min-height: 720px;
    height: 94svh;
    max-height: 900px
  }

  .hero h1 {
    font-size: clamp(64px, 17vw, 105px)
  }

  .hero:after {
    width: 85vw;
    inset-inline-end: -35%;
    top: 27%
  }

  .hero-copy {
    max-width: 350px
  }

  .hero-index {
    bottom: 23px
  }

  .section {
    padding: 75px 0
  }

  .section-heading {
    align-items: flex-start;
    flex-direction: column;
    margin-bottom: 34px
  }

  .section-heading p {
    max-width: 500px
  }

  .service-row {
    grid-template-columns: 34px 1fr 42px;
    gap: 11px;
    padding: 20px 0
  }

  .service-row p {
    grid-column: 2;
    grid-row: 2;
    font-size: 12px
  }

  .service-arrow {
    grid-column: 3;
    grid-row: 1/3;
    width: 38px;
    height: 38px
  }

  .portfolio-grid {
    gap: 24px
  }

  .project-card:nth-child(n) {
    grid-column: span 12
  }

  .project-visual,
  .project-card:nth-child(3n) .project-visual {
    aspect-ratio: 1.26
  }

  .manifesto {
    grid-template-columns: 1fr;
    gap: 35px
  }

  .manifesto-mark {
    width: min(52vw, 240px);
    border-width: 18px
  }

  .process-strip {
    grid-template-columns: 1fr
  }

  .process-step {
    display: grid;
    grid-template-columns: 42px 1fr;
    column-gap: 12px;
    padding: 19px 0;
    border-top: 1px solid rgba(255, 255, 255, .2);
    margin: 0
  }

  .process-step span {
    grid-row: 1/3
  }

  .process-step h3 {
    margin: 0 0 6px
  }

  .cta-inner {
    align-items: flex-start;
    flex-direction: column
  }

  .footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 35px
  }

  .footer-top>:first-child {
    grid-column: 1/-1
  }

  .footer-bottom {
    flex-direction: column;
    gap: 10px
  }

  .page-hero {
    padding: 145px 0 70px
  }

  .page-hero:after {
    width: 250px;
    height: 250px;
    inset-inline-end: -150px
  }

  .content-columns,
  .detail-layout,
  .contact-layout {
    grid-template-columns: 1fr;
    gap: 38px
  }

  .capability-grid {
    grid-template-columns: 1fr 1fr
  }

  .capability {
    min-height: 165px;
    padding: 17px
  }

  .timeline-row {
    grid-template-columns: 48px 1fr;
    gap: 12px
  }

  .timeline-row p {
    grid-column: 2
  }

  .inquiry-form {
    grid-template-columns: 1fr;
    gap: 18px
  }

  .field.full,
  .form-feedback,
  .form-note,
  .form-submit {
    grid-column: 1
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior: auto
  }

  *,
  *:before,
  *:after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important
  }
}

.brand-logo {
  display: block;
  width: 112px;
  height: 26px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MjQgOTgiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNMTIuMTIgNDguMzJDNi4wNyA0OC4zMiAxLjE3IDUzLjIyIDEuMTcgNTkuMjZMMS4xNyA4NS45MUMxLjE3IDkxLjk1IDYuMDcgOTYuODUgMTIuMTIgOTYuODVDMTguMTYgOTYuODUgMjMuMDYgOTEuOTUgMjMuMDYgODUuOTFMMjMuMDYgNTkuMjZDMjMuMDYgNTMuMjIgMTguMTYgNDguMzIgMTIuMTIgNDguMzIiLz48cGF0aCBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Ik05Mi44NCAxMi40NUM5Mi44NCA2LjQwIDg3Ljk0IDEuNTAgODEuOTAgMS41MEM3NS44NSAxLjUwIDcwLjk2IDYuNDAgNzAuOTYgMTIuNDVMNzAuOTYgNTkuMjZMMjAuNzAgNS4yOEMxNi44MSAwLjY1IDkuOTAgMC4wNiA1LjI4IDMuOTVDMC42NiA3Ljg0IDAuMDYgMTQuNzUgMy45NSAxOS4zN0w3My41MiA5Mi45NkM3My42MyA5My4wOCA3My43NCA5My4xOSA3My44NSA5My4zMUM3My45OCA5My40NSA3NC4xMCA5My41OSA3NC4yNCA5My43MkM3NC4zOSA5My44NyA3NC41NSA5NC4wMSA3NC43MSA5NC4xNEM3NC44MyA5NC4yNSA3NC45NSA5NC4zNiA3NS4wOCA5NC40NkM3NS4yNSA5NC42MCA3NS40MiA5NC43MiA3NS42MCA5NC44NUM3NS43MyA5NC45NCA3NS44NiA5NS4wMyA3Ni4wMCA5NS4xMkM3Ni4xNyA5NS4yMyA3Ni4zNSA5NS4zNCA3Ni41MyA5NS40NEM3Ni42OCA5NS41MyA3Ni44NCA5NS42MSA3Ny4wMCA5NS42OUM3Ny4xNyA5NS43NyA3Ny4zNCA5NS44NiA3Ny41MSA5NS45M0M3Ny43MCA5Ni4wMiA3Ny45MCA5Ni4wOSA3OC4xMCA5Ni4xNkM3OC4yNSA5Ni4yMiA3OC4zOSA5Ni4yOCA3OC41NCA5Ni4zMkM3OC43OCA5Ni40MCA3OS4wMyA5Ni40NiA3OS4yNyA5Ni41MkM3OS4zOSA5Ni41NSA3OS41MSA5Ni41OSA3OS42MyA5Ni42MUM3OS45MSA5Ni42NyA4MC4yMSA5Ni43MiA4MC41MCA5Ni43NUM4MC41OCA5Ni43NiA4MC42NyA5Ni43OCA4MC43NSA5Ni43OUM4MS4xMyA5Ni44MyA4MS41MSA5Ni44NSA4MS45MCA5Ni44NUM4Mi40OCA5Ni44NSA4My4wNCA5Ni43OSA4My42MCA5Ni43MUM4My42OCA5Ni42OSA4My43NyA5Ni42OCA4My44NiA5Ni42N0M4NC40MSA5Ni41NyA4NC45NSA5Ni40MiA4NS40NyA5Ni4yNEM4NS41NSA5Ni4yMiA4NS42MiA5Ni4xOSA4NS43MCA5Ni4xNkM4Ni4yNSA5NS45NiA4Ni43NyA5NS43MiA4Ny4yNyA5NS40NEM4Ny4zMiA5NS40MSA4Ny4zNiA5NS4zOCA4Ny40MCA5NS4zNkM4Ny45NCA5NS4wNCA4OC40NiA5NC42OSA4OC45MyA5NC4yOUM4OC45NCA5NC4yOSA4OC45NCA5NC4yOCA4OC45NCA5NC4yOEM4OC45NCA5NC4yOCA4OC45NSA5NC4yOCA4OC45NSA5NC4yN0M4OS41MCA5My44MSA5MC4wMCA5My4yOSA5MC40NSA5Mi43M0M5MC40OCA5Mi42OSA5MC41MCA5Mi42NiA5MC41MyA5Mi42MkM5MC45NCA5Mi4wOSA5MS4zMSA5MS41MiA5MS42MiA5MC45MkM5MS42NCA5MC44OSA5MS42NSA5MC44NSA5MS42NyA5MC44MkM5MS45NyA5MC4yMiA5Mi4yMiA4OS41OSA5Mi40MSA4OC45M0M5Mi40MSA4OC45MSA5Mi40MiA4OC44OSA5Mi40MiA4OC44N0M5Mi42MSA4OC4yMiA5Mi43MyA4Ny41NSA5Mi43OSA4Ni44NkM5Mi43OSA4Ni44NSA5Mi43OSA4Ni44NCA5Mi43OSA4Ni44MkM5Mi44MiA4Ni41MiA5Mi44NCA4Ni4yMiA5Mi44NCA4NS45MUw5Mi44NCAxMi40NSIvPjxwYXRoIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTM0Mi41NSA0OC4zMkMzMzYuNTEgNDguMzIgMzMxLjYxIDUzLjIyIDMzMS42MSA1OS4yNkwzMzEuNjEgODUuOTFDMzMxLjYxIDkxLjk1IDMzNi41MSA5Ni44NSAzNDIuNTUgOTYuODVDMzQ4LjU5IDk2Ljg1IDM1My40OSA5MS45NSAzNTMuNDkgODUuOTFMMzUzLjQ5IDU5LjI2QzM1My40OSA1My4yMiAzNDguNTkgNDguMzIgMzQyLjU1IDQ4LjMyIi8+PHBhdGggZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNNDIzLjI3IDEyLjQ1QzQyMy4yNyA2LjQwIDQxOC4zNyAxLjUwIDQxMi4zMyAxLjUwQzQwNi4yOSAxLjUwIDQwMS4zOSA2LjQwIDQwMS4zOSAxMi40NUw0MDEuMzkgNTkuMjZMMzUxLjEzIDUuMjhDMzQ3LjI0IDAuNjUgMzQwLjM0IDAuMDYgMzM1LjcxIDMuOTVDMzMxLjA5IDcuODQgMzMwLjUwIDE0Ljc1IDMzNC4zOSAxOS4zN0w0MDMuOTUgOTIuOTZDNDA0LjA2IDkzLjA4IDQwNC4xOCA5My4xOSA0MDQuMjkgOTMuMzFDNDA0LjQxIDkzLjQ1IDQwNC41NCA5My41OSA0MDQuNjcgOTMuNzJDNDA0LjgyIDkzLjg3IDQwNC45OCA5NC4wMSA0MDUuMTQgOTQuMTRDNDA1LjI2IDk0LjI1IDQwNS4zOSA5NC4zNiA0MDUuNTEgOTQuNDZDNDA1LjY4IDk0LjYwIDQwNS44NSA5NC43MiA0MDYuMDMgOTQuODVDNDA2LjE2IDk0Ljk0IDQwNi4zMCA5NS4wMyA0MDYuNDMgOTUuMTJDNDA2LjYxIDk1LjIzIDQwNi43OCA5NS4zNCA0MDYuOTYgOTUuNDRDNDA3LjEyIDk1LjUzIDQwNy4yOCA5NS42MSA0MDcuNDQgOTUuNjlDNDA3LjYwIDk1Ljc3IDQwNy43NyA5NS44NiA0MDcuOTQgOTUuOTNDNDA4LjE0IDk2LjAyIDQwOC4zMyA5Ni4wOSA0MDguNTMgOTYuMTZDNDA4LjY4IDk2LjIyIDQwOC44MyA5Ni4yOCA0MDguOTggOTYuMzJDNDA5LjIyIDk2LjQwIDQwOS40NiA5Ni40NiA0MDkuNzAgOTYuNTJDNDA5LjgyIDk2LjU1IDQwOS45NCA5Ni41OSA0MTAuMDYgOTYuNjFDNDEwLjM1IDk2LjY3IDQxMC42NCA5Ni43MiA0MTAuOTMgOTYuNzVDNDExLjAyIDk2Ljc2IDQxMS4xMCA5Ni43OCA0MTEuMTggOTYuNzlDNDExLjU2IDk2LjgzIDQxMS45NCA5Ni44NSA0MTIuMzMgOTYuODVDNDEyLjkxIDk2Ljg1IDQxMy40NyA5Ni43OSA0MTQuMDMgOTYuNzFDNDE0LjEyIDk2LjY5IDQxNC4yMCA5Ni42OCA0MTQuMjkgOTYuNjdDNDE0Ljg1IDk2LjU3IDQxNS4zOCA5Ni40MiA0MTUuOTAgOTYuMjRDNDE1Ljk4IDk2LjIyIDQxNi4wNiA5Ni4xOSA0MTYuMTQgOTYuMTZDNDE2LjY4IDk1Ljk2IDQxNy4yMSA5NS43MiA0MTcuNzEgOTUuNDRDNDE3Ljc1IDk1LjQxIDQxNy43OSA5NS4zOCA0MTcuODMgOTUuMzZDNDE4LjM3IDk1LjA0IDQxOC44OSA5NC42OSA0MTkuMzcgOTQuMjlDNDE5LjM3IDk0LjI5IDQxOS4zNyA5NC4yOCA0MTkuMzcgOTQuMjhDNDE5LjM4IDk0LjI4IDQxOS4zOCA5NC4yOCA0MTkuMzggOTQuMjdDNDE5LjkzIDkzLjgxIDQyMC40MyA5My4yOSA0MjAuODggOTIuNzNDNDIwLjkxIDkyLjY5IDQyMC45MyA5Mi42NiA0MjAuOTYgOTIuNjJDNDIxLjM4IDkyLjA5IDQyMS43NCA5MS41MiA0MjIuMDUgOTAuOTJDNDIyLjA3IDkwLjg5IDQyMi4wOSA5MC44NSA0MjIuMTAgOTAuODJDNDIyLjQwIDkwLjIyIDQyMi42NSA4OS41OSA0MjIuODQgODguOTNDNDIyLjg1IDg4LjkxIDQyMi44NSA4OC44OSA0MjIuODYgODguODdDNDIzLjA0IDg4LjIyIDQyMy4xNyA4Ny41NSA0MjMuMjMgODYuODZDNDIzLjIzIDg2Ljg1IDQyMy4yMyA4Ni44NCA0MjMuMjMgODYuODJDNDIzLjI1IDg2LjUyIDQyMy4yNyA4Ni4yMiA0MjMuMjcgODUuOTFMNDIzLjI3IDEyLjQ1Ii8+PHBhdGggZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNMTI4LjEzIDIzLjYzTDE4My4zMSAyMy42M0MxODkuMzUgMjMuNjMgMTk0LjI1IDE4LjczIDE5NC4yNSAxMi42OEMxOTQuMjUgNi42NCAxODkuMzUgMS43NCAxODMuMzEgMS43NEwxMjguMTMgMS43NEMxMjIuMDkgMS43NCAxMTcuMTkgNi42NCAxMTcuMTkgMTIuNjhDMTE3LjE5IDE4LjczIDEyMi4wOSAyMy42MyAxMjguMTMgMjMuNjMiLz48cGF0aCBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Ik0xODMuMzEgNzQuOTdMMTI4LjEzIDc0Ljk3QzEyMi4wOSA3NC45NyAxMTcuMTkgNzkuODcgMTE3LjE5IDg1LjkxQzExNy4xOSA5MS45NSAxMjIuMDkgOTYuODUgMTI4LjEzIDk2Ljg1TDE4My4zMSA5Ni44NUMxODkuMzUgOTYuODUgMTk0LjI1IDkxLjk1IDE5NC4yNSA4NS45MUMxOTQuMjUgNzkuODcgMTg5LjM1IDc0Ljk3IDE4My4zMSA3NC45NyIvPjxwYXRoIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTE4My4zMSAzOC4xNEwxMjguMTMgMzguMTRDMTIyLjA5IDM4LjE0IDExNy4xOSA0My4wNCAxMTcuMTkgNDkuMDhDMTE3LjE5IDU1LjEzIDEyMi4wOSA2MC4wMiAxMjguMTMgNjAuMDJMMTgzLjMxIDYwLjAyQzE4OS4zNSA2MC4wMiAxOTQuMjUgNTUuMTMgMTk0LjI1IDQ5LjA4QzE5NC4yNSA0My4wNCAxODkuMzUgMzguMTQgMTgzLjMxIDM4LjE0Ii8+PHBhdGggZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNMjk1LjQ2IDQ5LjE4TDI4OC43MSA0OS4xOEMyODguNzEgMzQuOTYgMjc3LjE1IDIzLjM5IDI2Mi45MyAyMy4zOUwyNjIuOTMgMTYuNjVDMjgwLjg3IDE2LjY1IDI5NS40NiAzMS4yNCAyOTUuNDYgNDkuMTgiLz48cGF0aCBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Ik0zMTAuNTkgNDkuMThMMzAzLjg0IDQ5LjE4QzMwMy44NCAyNi42MiAyODUuNDkgOC4yNyAyNjIuOTMgOC4yN0wyNjIuOTMgMS41MkMyODkuMjEgMS41MiAzMTAuNTkgMjIuOTAgMzEwLjU5IDQ5LjE4Ii8+PHBhdGggZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNMjg4LjcyIDQ5LjE4QzI4OC43MiA2My40MCAyNzcuMTUgNzQuOTcgMjYyLjkzIDc0Ljk3QzI0OC43MSA3NC45NyAyMzcuMTQgNjMuNDAgMjM3LjE0IDQ5LjE4QzIzNy4xNCAzNC45NiAyNDguNzEgMjMuMzkgMjYyLjkzIDIzLjM5TDI2Mi45MyAyMy4zOUwyNjIuOTMgMS41MEwyNjIuOTMgMS41MEMyMzYuNjQgMS41MCAyMTUuMjUgMjIuODkgMjE1LjI1IDQ5LjE4QzIxNS4yNSA3NS40NyAyMzYuNjQgOTYuODUgMjYyLjkzIDk2Ljg1QzI4OS4yMiA5Ni44NSAzMTAuNjAgNzUuNDcgMzEwLjYwIDQ5LjE4TDI4OC43MiA0OS4xOCIvPjwvc3ZnPg==") center/contain no-repeat;
  mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MjQgOTgiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNMTIuMTIgNDguMzJDNi4wNyA0OC4zMiAxLjE3IDUzLjIyIDEuMTcgNTkuMjZMMS4xNyA4NS45MUMxLjE3IDkxLjk1IDYuMDcgOTYuODUgMTIuMTIgOTYuODVDMTguMTYgOTYuODUgMjMuMDYgOTEuOTUgMjMuMDYgODUuOTFMMjMuMDYgNTkuMjZDMjMuMDYgNTMuMjIgMTguMTYgNDguMzIgMTIuMTIgNDguMzIiLz48cGF0aCBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Ik05Mi44NCAxMi40NUM5Mi44NCA2LjQwIDg3Ljk0IDEuNTAgODEuOTAgMS41MEM3NS44NSAxLjUwIDcwLjk2IDYuNDAgNzAuOTYgMTIuNDVMNzAuOTYgNTkuMjZMMjAuNzAgNS4yOEMxNi44MSAwLjY1IDkuOTAgMC4wNiA1LjI4IDMuOTVDMC42NiA3Ljg0IDAuMDYgMTQuNzUgMy45NSAxOS4zN0w3My41MiA5Mi45NkM3My42MyA5My4wOCA3My43NCA5My4xOSA3My44NSA5My4zMUM3My45OCA5My40NSA3NC4xMCA5My41OSA3NC4yNCA5My43MkM3NC4zOSA5My44NyA3NC41NSA5NC4wMSA3NC43MSA5NC4xNEM3NC44MyA5NC4yNSA3NC45NSA5NC4zNiA3NS4wOCA5NC40NkM3NS4yNSA5NC42MCA3NS40MiA5NC43MiA3NS42MCA5NC44NUM3NS43MyA5NC45NCA3NS44NiA5NS4wMyA3Ni4wMCA5NS4xMkM3Ni4xNyA5NS4yMyA3Ni4zNSA5NS4zNCA3Ni41MyA5NS40NEM3Ni42OCA5NS41MyA3Ni44NCA5NS42MSA3Ny4wMCA5NS42OUM3Ny4xNyA5NS43NyA3Ny4zNCA5NS44NiA3Ny41MSA5NS45M0M3Ny43MCA5Ni4wMiA3Ny45MCA5Ni4wOSA3OC4xMCA5Ni4xNkM3OC4yNSA5Ni4yMiA3OC4zOSA5Ni4yOCA3OC41NCA5Ni4zMkM3OC43OCA5Ni40MCA3OS4wMyA5Ni40NiA3OS4yNyA5Ni41MkM3OS4zOSA5Ni41NSA3OS41MSA5Ni41OSA3OS42MyA5Ni42MUM3OS45MSA5Ni42NyA4MC4yMSA5Ni43MiA4MC41MCA5Ni43NUM4MC41OCA5Ni43NiA4MC42NyA5Ni43OCA4MC43NSA5Ni43OUM4MS4xMyA5Ni44MyA4MS41MSA5Ni44NSA4MS45MCA5Ni44NUM4Mi40OCA5Ni44NSA4My4wNCA5Ni43OSA4My42MCA5Ni43MUM4My42OCA5Ni42OSA4My43NyA5Ni42OCA4My44NiA5Ni42N0M4NC40MSA5Ni41NyA4NC45NSA5Ni40MiA4NS40NyA5Ni4yNEM4NS41NSA5Ni4yMiA4NS42MiA5Ni4xOSA4NS43MCA5Ni4xNkM4Ni4yNSA5NS45NiA4Ni43NyA5NS43MiA4Ny4yNyA5NS40NEM4Ny4zMiA5NS40MSA4Ny4zNiA5NS4zOCA4Ny40MCA5NS4zNkM4Ny45NCA5NS4wNCA4OC40NiA5NC42OSA4OC45MyA5NC4yOUM4OC45NCA5NC4yOSA4OC45NCA5NC4yOCA4OC45NCA5NC4yOEM4OC45NCA5NC4yOCA4OC45NSA5NC4yOCA4OC45NSA5NC4yN0M4OS41MCA5My44MSA5MC4wMCA5My4yOSA5MC40NSA5Mi43M0M5MC40OCA5Mi42OSA5MC41MCA5Mi42NiA5MC41MyA5Mi42MkM5MC45NCA5Mi4wOSA5MS4zMSA5MS41MiA5MS42MiA5MC45MkM5MS42NCA5MC44OSA5MS42NSA5MC44NSA5MS42NyA5MC44MkM5MS45NyA5MC4yMiA5Mi4yMiA4OS41OSA5Mi40MSA4OC45M0M5Mi40MSA4OC45MSA5Mi40MiA4OC44OSA5Mi40MiA4OC44N0M5Mi42MSA4OC4yMiA5Mi43MyA4Ny41NSA5Mi43OSA4Ni44NkM5Mi43OSA4Ni44NSA5Mi43OSA4Ni44NCA5Mi43OSA4Ni44MkM5Mi44MiA4Ni41MiA5Mi44NCA4Ni4yMiA5Mi44NCA4NS45MUw5Mi44NCAxMi40NSIvPjxwYXRoIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTM0Mi41NSA0OC4zMkMzMzYuNTEgNDguMzIgMzMxLjYxIDUzLjIyIDMzMS42MSA1OS4yNkwzMzEuNjEgODUuOTFDMzMxLjYxIDkxLjk1IDMzNi41MSA5Ni44NSAzNDIuNTUgOTYuODVDMzQ4LjU5IDk2Ljg1IDM1My40OSA5MS45NSAzNTMuNDkgODUuOTFMMzUzLjQ5IDU5LjI2QzM1My40OSA1My4yMiAzNDguNTkgNDguMzIgMzQyLjU1IDQ4LjMyIi8+PHBhdGggZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNNDIzLjI3IDEyLjQ1QzQyMy4yNyA2LjQwIDQxOC4zNyAxLjUwIDQxMi4zMyAxLjUwQzQwNi4yOSAxLjUwIDQwMS4zOSA2LjQwIDQwMS4zOSAxMi40NUw0MDEuMzkgNTkuMjZMMzUxLjEzIDUuMjhDMzQ3LjI0IDAuNjUgMzQwLjM0IDAuMDYgMzM1LjcxIDMuOTVDMzMxLjA5IDcuODQgMzMwLjUwIDE0Ljc1IDMzNC4zOSAxOS4zN0w0MDMuOTUgOTIuOTZDNDA0LjA2IDkzLjA4IDQwNC4xOCA5My4xOSA0MDQuMjkgOTMuMzFDNDA0LjQxIDkzLjQ1IDQwNC41NCA5My41OSA0MDQuNjcgOTMuNzJDNDA0LjgyIDkzLjg3IDQwNC45OCA5NC4wMSA0MDUuMTQgOTQuMTRDNDA1LjI2IDk0LjI1IDQwNS4zOSA5NC4zNiA0MDUuNTEgOTQuNDZDNDA1LjY4IDk0LjYwIDQwNS44NSA5NC43MiA0MDYuMDMgOTQuODVDNDA2LjE2IDk0Ljk0IDQwNi4zMCA5NS4wMyA0MDYuNDMgOTUuMTJDNDA2LjYxIDk1LjIzIDQwNi43OCA5NS4zNCA0MDYuOTYgOTUuNDRDNDA3LjEyIDk1LjUzIDQwNy4yOCA5NS42MSA0MDcuNDQgOTUuNjlDNDA3LjYwIDk1Ljc3IDQwNy43NyA5NS44NiA0MDcuOTQgOTUuOTNDNDA4LjE0IDk2LjAyIDQwOC4zMyA5Ni4wOSA0MDguNTMgOTYuMTZDNDA4LjY4IDk2LjIyIDQwOC44MyA5Ni4yOCA0MDguOTggOTYuMzJDNDA5LjIyIDk2LjQwIDQwOS40NiA5Ni40NiA0MDkuNzAgOTYuNTJDNDA5LjgyIDk2LjU1IDQwOS45NCA5Ni41OSA0MTAuMDYgOTYuNjFDNDEwLjM1IDk2LjY3IDQxMC42NCA5Ni43MiA0MTAuOTMgOTYuNzVDNDExLjAyIDk2Ljc2IDQxMS4xMCA5Ni43OCA0MTEuMTggOTYuNzlDNDExLjU2IDk2LjgzIDQxMS45NCA5Ni44NSA0MTIuMzMgOTYuODVDNDEyLjkxIDk2Ljg1IDQxMy40NyA5Ni43OSA0MTQuMDMgOTYuNzFDNDE0LjEyIDk2LjY5IDQxNC4yMCA5Ni42OCA0MTQuMjkgOTYuNjdDNDE0Ljg1IDk2LjU3IDQxNS4zOCA5Ni40MiA0MTUuOTAgOTYuMjRDNDE1Ljk4IDk2LjIyIDQxNi4wNiA5Ni4xOSA0MTYuMTQgOTYuMTZDNDE2LjY4IDk1Ljk2IDQxNy4yMSA5NS43MiA0MTcuNzEgOTUuNDRDNDE3Ljc1IDk1LjQxIDQxNy43OSA5NS4zOCA0MTcuODMgOTUuMzZDNDE4LjM3IDk1LjA0IDQxOC44OSA5NC42OSA0MTkuMzcgOTQuMjlDNDE5LjM3IDk0LjI5IDQxOS4zNyA5NC4yOCA0MTkuMzcgOTQuMjhDNDE5LjM4IDk0LjI4IDQxOS4zOCA5NC4yOCA0MTkuMzggOTQuMjdDNDE5LjkzIDkzLjgxIDQyMC40MyA5My4yOSA0MjAuODggOTIuNzNDNDIwLjkxIDkyLjY5IDQyMC45MyA5Mi42NiA0MjAuOTYgOTIuNjJDNDIxLjM4IDkyLjA5IDQyMS43NCA5MS41MiA0MjIuMDUgOTAuOTJDNDIyLjA3IDkwLjg5IDQyMi4wOSA5MC44NSA0MjIuMTAgOTAuODJDNDIyLjQwIDkwLjIyIDQyMi42NSA4OS41OSA0MjIuODQgODguOTNDNDIyLjg1IDg4LjkxIDQyMi44NSA4OC44OSA0MjIuODYgODguODdDNDIzLjA0IDg4LjIyIDQyMy4xNyA4Ny41NSA0MjMuMjMgODYuODZDNDIzLjIzIDg2Ljg1IDQyMy4yMyA4Ni44NCA0MjMuMjMgODYuODJDNDIzLjI1IDg2LjUyIDQyMy4yNyA4Ni4yMiA0MjMuMjcgODUuOTFMNDIzLjI3IDEyLjQ1Ii8+PHBhdGggZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNMTI4LjEzIDIzLjYzTDE4My4zMSAyMy42M0MxODkuMzUgMjMuNjMgMTk0LjI1IDE4LjczIDE5NC4yNSAxMi42OEMxOTQuMjUgNi42NCAxODkuMzUgMS43NCAxODMuMzEgMS43NEwxMjguMTMgMS43NEMxMjIuMDkgMS43NCAxMTcuMTkgNi42NCAxMTcuMTkgMTIuNjhDMTE3LjE5IDE4LjczIDEyMi4wOSAyMy42MyAxMjguMTMgMjMuNjMiLz48cGF0aCBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Ik0xODMuMzEgNzQuOTdMMTI4LjEzIDc0Ljk3QzEyMi4wOSA3NC45NyAxMTcuMTkgNzkuODcgMTE3LjE5IDg1LjkxQzExNy4xOSA5MS45NSAxMjIuMDkgOTYuODUgMTI4LjEzIDk2Ljg1TDE4My4zMSA5Ni44NUMxODkuMzUgOTYuODUgMTk0LjI1IDkxLjk1IDE5NC4yNSA4NS45MUMxOTQuMjUgNzkuODcgMTg5LjM1IDc0Ljk3IDE4My4zMSA3NC45NyIvPjxwYXRoIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTE4My4zMSAzOC4xNEwxMjguMTMgMzguMTRDMTIyLjA5IDM4LjE0IDExNy4xOSA0My4wNCAxMTcuMTkgNDkuMDhDMTE3LjE5IDU1LjEzIDEyMi4wOSA2MC4wMiAxMjguMTMgNjAuMDJMMTgzLjMxIDYwLjAyQzE4OS4zNSA2MC4wMiAxOTQuMjUgNTUuMTMgMTk0LjI1IDQ5LjA4QzE5NC4yNSA0My4wNCAxODkuMzUgMzguMTQgMTgzLjMxIDM4LjE0Ii8+PHBhdGggZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNMjk1LjQ2IDQ5LjE4TDI4OC43MSA0OS4xOEMyODguNzEgMzQuOTYgMjc3LjE1IDIzLjM5IDI2Mi45MyAyMy4zOUwyNjIuOTMgMTYuNjVDMjgwLjg3IDE2LjY1IDI5NS40NiAzMS4yNCAyOTUuNDYgNDkuMTgiLz48cGF0aCBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Ik0zMTAuNTkgNDkuMThMMzAzLjg0IDQ5LjE4QzMwMy44NCAyNi42MiAyODUuNDkgOC4yNyAyNjIuOTMgOC4yN0wyNjIuOTMgMS41MkMyODkuMjEgMS41MiAzMTAuNTkgMjIuOTAgMzEwLjU5IDQ5LjE4Ii8+PHBhdGggZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNMjg4LjcyIDQ5LjE4QzI4OC43MiA2My40MCAyNzcuMTUgNzQuOTcgMjYyLjkzIDc0Ljk3QzI0OC43MSA3NC45NyAyMzcuMTQgNjMuNDAgMjM3LjE0IDQ5LjE4QzIzNy4xNCAzNC45NiAyNDguNzEgMjMuMzkgMjYyLjkzIDIzLjM5TDI2Mi45MyAyMy4zOUwyNjIuOTMgMS41MEwyNjIuOTMgMS41MEMyMzYuNjQgMS41MCAyMTUuMjUgMjIuODkgMjE1LjI1IDQ5LjE4QzIxNS4yNSA3NS40NyAyMzYuNjQgOTYuODUgMjYyLjkzIDk2Ljg1QzI4OS4yMiA5Ni44NSAzMTAuNjAgNzUuNDcgMzEwLjYwIDQ5LjE4TDI4OC43MiA0OS4xOCIvPjwvc3ZnPg==") center/contain no-repeat
}

.cta-inner h2,
.manifesto h2 {
  white-space: pre-line
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}

@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-space-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-leading {
  syntax: "*";
  inherits: false;
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}

@property --tw-tracking {
  syntax: "*";
  inherits: false;
}

@property --tw-ordinal {
  syntax: "*";
  inherits: false;
}

@property --tw-slashed-zero {
  syntax: "*";
  inherits: false;
}

@property --tw-numeric-figure {
  syntax: "*";
  inherits: false;
}

@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false;
}

@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false;
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-blur {
  syntax: "*";
  inherits: false;
}

@property --tw-brightness {
  syntax: "*";
  inherits: false;
}

@property --tw-contrast {
  syntax: "*";
  inherits: false;
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}

@property --tw-invert {
  syntax: "*";
  inherits: false;
}

@property --tw-opacity {
  syntax: "*";
  inherits: false;
}

@property --tw-saturate {
  syntax: "*";
  inherits: false;
}

@property --tw-sepia {
  syntax: "*";
  inherits: false;
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}

@property --tw-duration {
  syntax: "*";
  inherits: false;
}

@property --tw-ease {
  syntax: "*";
  inherits: false;
}

@property --tw-content {
  syntax: "*";
  initial-value: "";
  inherits: false;
}

@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {

    *,
    :before,
    :after,
    ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-space-x-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-content: "";
      --tw-animation-delay: 0s;
      --tw-animation-direction: normal;
      --tw-animation-duration: initial;
      --tw-animation-fill-mode: none;
      --tw-animation-iteration-count: 1;
      --tw-enter-blur: 0;
      --tw-enter-opacity: 1;
      --tw-enter-rotate: 0;
      --tw-enter-scale: 1;
      --tw-enter-translate-x: 0;
      --tw-enter-translate-y: 0;
      --tw-exit-blur: 0;
      --tw-exit-opacity: 1;
      --tw-exit-rotate: 0;
      --tw-exit-scale: 1;
      --tw-exit-translate-x: 0;
      --tw-exit-translate-y: 0
    }
  }
}
