@layer properties;@layer theme, base, components, utilities;@layer  theme {:root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-lg: 32rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --tracking-tight: -0.025em;
    --tracking-widest: 0.1em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;
    --radius-xs: 0.125rem;
    --radius-sm: 0.25rem;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --animate-spin: spin 1s linear infinite;
    --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    --aspect-video: 16 / 9;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }}@layer  base {*,
  ::after,
  ::before,
  ::backdrop,
  ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }html,
  :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, 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;
  }hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: inherit;
    font-weight: inherit;
  }a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }b,
  strong {
    font-weight: bolder;
  }code,
  kbd,
  samp,
  pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }small {
    font-size: 80%;
  }sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }sub {
    bottom: -0.25em;
  }sup {
    top: -0.5em;
  }table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }:-moz-focusring {
    outline: auto;
  }progress {
    vertical-align: baseline;
  }summary {
    display: list-item;
  }ol,
  ul,
  menu {
    list-style: none;
  }img,
  svg,
  video,
  canvas,
  audio,
  iframe,
  embed,
  object {
    display: block;
    vertical-align: middle;
  }img,
  video {
    max-width: 100%;
    height: auto;
  }button,
  input,
  select,
  optgroup,
  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;
  }:where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }:where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }::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)) {
        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;
  }:-moz-ui-invalid {
    box-shadow: none;
  }button,
  input:where([type="button"], [type="reset"], [type="submit"]),
  ::file-selector-button {
    appearance: button;
  }::-webkit-inner-spin-button,
  ::-webkit-outer-spin-button {
    height: auto;
  }[hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }}@layer  utilities {.\@container\/card-header {
    container-type: inline-size;
    container-name: card-header;
  }.\@container\/field-group {
    container-type: inline-size;
    container-name: field-group;
  }.-top-12 {
    top: calc(var(--spacing) * -12);
  }.-right-12 {
    right: calc(var(--spacing) * -12);
  }.-bottom-12 {
    bottom: calc(var(--spacing) * -12);
  }.-left-12 {
    left: calc(var(--spacing) * -12);
  }.-mx-1 {
    margin-inline: calc(var(--spacing) * -1);
  }.-my-2 {
    margin-block: calc(var(--spacing) * -2);
  }.-mt-4 {
    margin-top: calc(var(--spacing) * -4);
  }.-ml-1 {
    margin-left: calc(var(--spacing) * -1);
  }.-ml-4 {
    margin-left: calc(var(--spacing) * -4);
  }calc\(var\(--available-height\)---spacing\(9\)\)\)\] {
    max-height: min(calc(calc(var(--spacing) * 96) - calc(var(--spacing) * 9)), calc(var(--available-height) - calc(var(--spacing) * 9)));
  }.-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }.-translate-x-px {
    --tw-translate-x: -1px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }.-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }.-translate-y-3\/4 {
    --tw-translate-y: calc(calc(3 / 4 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }.-space-x-2 {
    :where(& > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * -2) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * -2) * calc(1 - var(--tw-space-x-reverse)));
    }
  }box-shadow\] {
    transition-property: color,box-shadow;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }right\,width\] {
    transition-property: left,right,width;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }opacity\] {
    transition-property: margin,opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }scale\,opacity\] {
    transition-property: translate,scale,opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }height\,padding\] {
    transition-property: width,height,padding;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }.\[--cell-size\:--spacing\(8\)\] {
    --cell-size: calc(var(--spacing) * 8);
  }.\[contain-intrinsic-size\:auto_10rem\] {
    contain-intrinsic-size: auto 10rem;
  }.\[content-visibility\:auto\] {
    content-visibility: auto;
  }0\,0\.84\,0\)\] {
    &[data-active="false"] {
      --tw-ease: cubic-bezier(0.7,0,0.84,0);
      transition-timing-function: cubic-bezier(0.7,0,0.84,0);
    }
  }1\,0\.32\,1\)\] {
    &[data-active="true"] {
      --tw-ease: cubic-bezier(0.23,1,0.32,1);
      transition-timing-function: cubic-bezier(0.23,1,0.32,1);
    }
  }.\*\:data-\[slot\=attachment\]\:flex-none {
    :is(& > *) {
      &[data-slot="attachment"] {
        flex: none;
      }
    }
  }.\*\:data-\[slot\=attachment\]\:snap-start {
    :is(& > *) {
      &[data-slot="attachment"] {
        scroll-snap-align: start;
      }
    }
  }.\*\:data-\[slot\=avatar\]\:ring-2 {
    :is(& > *) {
      &[data-slot="avatar"] {
        --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }.\*\:data-\[slot\=bubble-content\]\:rounded-none {
    :is(& > *) {
      &[data-slot="bubble-content"] {
        border-radius: 0;
      }
    }
  }.\*\:data-\[slot\=bubble-content\]\:bg-\[oklch\(from_var\(--primary\)_0\.93_calc\(c\*0\.4\)_h\)\] {
    :is(& > *) {
      &[data-slot="bubble-content"] {
        background-color: oklch(from var(--primary) 0.93 calc(c * 0.4) h);
      }
    }
  }.\*\:data-\[slot\=bubble-content\]\:bg-transparent {
    :is(& > *) {
      &[data-slot="bubble-content"] {
        background-color: transparent;
      }
    }
  }.\*\:data-\[slot\=bubble-content\]\:p-0 {
    :is(& > *) {
      &[data-slot="bubble-content"] {
        padding: calc(var(--spacing) * 0);
      }
    }
  }.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 {
    :is(& *) {
      &[data-slot="command-input-wrapper"] {
        height: calc(var(--spacing) * 12);
      }
    }
  }.\*\:data-\[slot\=input-group\]\:m-1 {
    :is(& > *) {
      &[data-slot="input-group"] {
        margin: calc(var(--spacing) * 1);
      }
    }
  }.\*\:data-\[slot\=input-group\]\:mb-0 {
    :is(& > *) {
      &[data-slot="input-group"] {
        margin-bottom: calc(var(--spacing) * 0);
      }
    }
  }.\*\:data-\[slot\=input-group\]\:h-8 {
    :is(& > *) {
      &[data-slot="input-group"] {
        height: calc(var(--spacing) * 8);
      }
    }
  }.\*\:data-\[slot\=input-group\]\:shadow-none {
    :is(& > *) {
      &[data-slot="input-group"] {
        --tw-shadow: 0 0 #0000;
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:ring-0 {
    :is(& *) {
      &[data-slot="navigation-menu-link"] {
        &:focus {
          --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
          box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
        }
      }
    }
  }.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:outline-none {
    :is(& *) {
      &[data-slot="navigation-menu-link"] {
        &:focus {
          --tw-outline-style: none;
          outline-style: none;
        }
      }
    }
  }.\*\:data-\[slot\=select-value\]\:line-clamp-1 {
    :is(& > *) {
      &[data-slot="select-value"] {
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
      }
    }
  }.\*\:data-\[slot\=select-value\]\:flex {
    :is(& > *) {
      &[data-slot="select-value"] {
        display: flex;
      }
    }
  }.\*\:data-\[slot\=select-value\]\:items-center {
    :is(& > *) {
      &[data-slot="select-value"] {
        align-items: center;
      }
    }
  }.\*\:data-\[slot\=select-value\]\:gap-2 {
    :is(& > *) {
      &[data-slot="select-value"] {
        gap: calc(var(--spacing) * 2);
      }
    }
  }.\@md\/field-group\:flex-row {
    @container field-group (width >= 28rem) {
      flex-direction: row;
    }
  }.\@md\/field-group\:items-center {
    @container field-group (width >= 28rem) {
      align-items: center;
    }
  }.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:items-start {
    @container field-group (width >= 28rem) {
      &:has(>[data-slot=field-content]) {
        align-items: flex-start;
      }
    }
  }.\[\&_\[cmdk-group-heading\]\]\:px-2 {
    & [cmdk-group-heading] {
      padding-inline: calc(var(--spacing) * 2);
    }
  }.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 {
    & [cmdk-group-heading] {
      padding-block: calc(var(--spacing) * 1.5);
    }
  }.\[\&_\[cmdk-group-heading\]\]\:text-xs {
    & [cmdk-group-heading] {
      font-size: var(--text-xs);
      line-height: var(--tw-leading, var(--text-xs--line-height));
    }
  }.\[\&_\[cmdk-group-heading\]\]\:font-medium {
    & [cmdk-group-heading] {
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
    }
  }.\[\&_\[cmdk-group\]\]\:px-2 {
    & [cmdk-group] {
      padding-inline: calc(var(--spacing) * 2);
    }
  }.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 {
    & [cmdk-group]:not([hidden]) ~[cmdk-group] {
      padding-top: calc(var(--spacing) * 0);
    }
  }.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 {
    & [cmdk-input-wrapper] svg {
      height: calc(var(--spacing) * 5);
    }
  }.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 {
    & [cmdk-input-wrapper] svg {
      width: calc(var(--spacing) * 5);
    }
  }.\[\&_\[cmdk-input\]\]\:h-12 {
    & [cmdk-input] {
      height: calc(var(--spacing) * 12);
    }
  }.\[\&_\[cmdk-item\]\]\:px-2 {
    & [cmdk-item] {
      padding-inline: calc(var(--spacing) * 2);
    }
  }.\[\&_\[cmdk-item\]\]\:py-3 {
    & [cmdk-item] {
      padding-block: calc(var(--spacing) * 3);
    }
  }.\[\&_\[cmdk-item\]_svg\]\:h-5 {
    & [cmdk-item] svg {
      height: calc(var(--spacing) * 5);
    }
  }.\[\&_\[cmdk-item\]_svg\]\:w-5 {
    & [cmdk-item] svg {
      width: calc(var(--spacing) * 5);
    }
  }.\[\&_img\]\:size-full {
    & img {
      width: 100%;
      height: 100%;
    }
  }.\[\&_img\]\:object-cover {
    & img {
      object-fit: cover;
    }
  }.\[\&_p\]\:leading-relaxed {
    & p {
      --tw-leading: var(--leading-relaxed);
      line-height: var(--leading-relaxed);
    }
  }.\[\&_svg\]\:pointer-events-none {
    & svg {
      pointer-events: none;
    }
  }.\[\&_svg\]\:shrink-0 {
    & svg {
      flex-shrink: 0;
    }
  }.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 {
    & svg:not([class*="size-"]) {
      width: calc(var(--spacing) * 3);
      height: calc(var(--spacing) * 3);
    }
  }.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 {
    & svg:not([class*="size-"]) {
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
    }
  }.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6 {
    & svg:not([class*="size-"]) {
      width: calc(var(--spacing) * 6);
      height: calc(var(--spacing) * 6);
    }
  }.\[\&_tr\]\:border-b {
    & tr {
      border-bottom-style: var(--tw-border-style);
      border-bottom-width: 1px;
    }
  }.\[\&_tr\:last-child\]\:border-0 {
    & tr:last-child {
      border-style: var(--tw-border-style);
      border-width: 0px;
    }
  }.\[\&\+\[data-slot\=item-content\]\]\:flex-none {
    &+[data-slot=item-content] {
      flex: none;
    }
  }.\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md {
    &:first-child[data-selected=true] button {
      border-top-left-radius: var(--radius-md);
      border-bottom-left-radius: var(--radius-md);
    }
  }.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0 {
    &:has([role=checkbox]) {
      padding-right: calc(var(--spacing) * 0);
    }
  }.\[a\]\:underline {
    &:is(a) {
      text-decoration-line: underline;
    }
  }.\[a\]\:underline-offset-3 {
    &:is(a) {
      text-underline-offset: 3px;
    }
  }.\[a\]\:transition-colors {
    &:is(a) {
      transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
    }
  }.\*\:\[a\]\:underline {
    :is(& > *) {
      &:is(a) {
        text-decoration-line: underline;
      }
    }
  }.\*\:\[a\]\:underline-offset-3 {
    :is(& > *) {
      &:is(a) {
        text-underline-offset: 3px;
      }
    }
  }.\[button\]\:text-left {
    &:is(button) {
      text-align: left;
    }
  }.\[button\,a\]\:transition-colors {
    &:is(button,a) {
      transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
    }
  }.\[button\,a\]\:outline-none {
    &:is(button,a) {
      --tw-outline-style: none;
      outline-style: none;
    }
  }.\[button\,a\]\:focus-visible\:ring-3 {
    &:is(button,a) {
      &:focus-visible {
        --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }.\*\:\[img\]\:aspect-square {
    :is(& > *) {
      &:is(img) {
        aspect-ratio: 1 / 1;
      }
    }
  }.\*\:\[img\]\:w-full {
    :is(& > *) {
      &:is(img) {
        width: 100%;
      }
    }
  }.\*\:\[img\]\:object-cover {
    :is(& > *) {
      &:is(img) {
        object-fit: cover;
      }
    }
  }.\*\:\[span\]\:last\:flex {
    :is(& > *) {
      &:is(span) {
        &:last-child {
          display: flex;
        }
      }
    }
  }.\*\:\[span\]\:last\:items-center {
    :is(& > *) {
      &:is(span) {
        &:last-child {
          align-items: center;
        }
      }
    }
  }.\*\:\[span\]\:last\:gap-2 {
    :is(& > *) {
      &:is(span) {
        &:last-child {
          gap: calc(var(--spacing) * 2);
        }
      }
    }
  }.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-8 {
    :is(& > *) {
      &:is(svg:not([class*="size-"])) {
        width: calc(var(--spacing) * 8);
        height: calc(var(--spacing) * 8);
      }
    }
  }.\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md {
    &:last-child[data-selected=true] button {
      border-top-right-radius: var(--radius-md);
      border-bottom-right-radius: var(--radius-md);
    }
  }.\[\&\:nth-child\(2\)\[data-selected\=true\]_button\]\:rounded-l-md {
    &:nth-child(2)[data-selected=true] button {
      border-top-left-radius: var(--radius-md);
      border-bottom-left-radius: var(--radius-md);
    }
  }.\[\&\>\*\]\:w-full {
    &>* {
      width: 100%;
    }
  }.\[\&\>\*\]\:focus-visible\:relative {
    &>* {
      &:focus-visible {
        position: relative;
      }
    }
  }.\[\&\>\*\]\:focus-visible\:z-10 {
    &>* {
      &:focus-visible {
        z-index: 10;
      }
    }
  }.\[\&\>\*\]\:data-\[slot\=field\]\:p-4 {
    &>* {
      &[data-slot="field"] {
        padding: calc(var(--spacing) * 4);
      }
    }
  }.\@md\/field-group\:\[\&\>\*\]\:w-auto {
    @container field-group (width >= 28rem) {
      &>* {
        width: auto;
      }
    }
  }.\[\&\>\*\:not\(\:first-child\)\]\:rounded-t-none {
    &>*:not(:first-child) {
      border-top-left-radius: 0;
      border-top-right-radius: 0;
    }
  }.\[\&\>\*\:not\(\:first-child\)\]\:rounded-l-none {
    &>*:not(:first-child) {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
    }
  }.\[\&\>\*\:not\(\:first-child\)\]\:border-t-0 {
    &>*:not(:first-child) {
      border-top-style: var(--tw-border-style);
      border-top-width: 0px;
    }
  }.\[\&\>\*\:not\(\:first-child\)\]\:border-l-0 {
    &>*:not(:first-child) {
      border-left-style: var(--tw-border-style);
      border-left-width: 0px;
    }
  }.\[\&\>\*\:not\(\:last-child\)\]\:rounded-r-none {
    &>*:not(:last-child) {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
    }
  }.\[\&\>\*\:not\(\:last-child\)\]\:rounded-b-none {
    &>*:not(:last-child) {
      border-bottom-right-radius: 0;
      border-bottom-left-radius: 0;
    }
  }.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[color-mix\(in_oklch\,var\(--muted\)\,var\(--foreground\)_5\%\)\] {
    &>[data-slot=bubble-content]:is(button,a):hover {
      background-color: var(--muted);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklch,var(--muted),var(--foreground) 5%);
      }
    }
  }.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\] {
    &>[data-slot=bubble-content]:is(button,a):hover {
      background-color: var(--secondary);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklch,var(--secondary),var(--foreground) 5%);
      }
    }
  }.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[oklch\(from_var\(--primary\)_0\.88_calc\(c\*0\.5\)_h\)\] {
    &>[data-slot=bubble-content]:is(button,a):hover {
      background-color: oklch(from var(--primary) 0.88 calc(c * 0.5) h);
    }
  }a\)\:hover\]\:bg-\[oklch\(from_var\(--primary\)_0\.35_calc\(c\*0\.5\)_h\)\] {
    @media (prefers-color-scheme: dark) {
      &>[data-slot=bubble-content]:is(button,a):hover {
        background-color: oklch(from var(--primary) 0.35 calc(c * 0.5) h);
      }
    }
  }.\[\&\>\[data-slot\=field-group\]\]\:gap-4 {
    &>[data-slot=field-group] {
      gap: calc(var(--spacing) * 4);
    }
  }.\[\&\>\[data-slot\=field-label\]\]\:flex-auto {
    &>[data-slot=field-label] {
      flex: auto;
    }
  }.\@md\/field-group\:\[\&\>\[data-slot\=field-label\]\]\:flex-auto {
    @container field-group (width >= 28rem) {
      &>[data-slot=field-label] {
        flex: auto;
      }
    }
  }.\[\&\>\[data-slot\=select-trigger\]\:not\(\[class\*\=\'w-\'\]\)\]\:w-fit {
    &>[data-slot=select-trigger]:not([class*="w-"]) {
      width: fit-content;
    }
  }.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\] {
    &>[role=checkbox] {
      --tw-translate-y: 2px;
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }\[role\=radio\]\]\:mt-px {
    &:has(>[data-slot=field-content]) {
      &>[role=checkbox],[role=radio] {
        margin-top: 1px;
      }
    }
  }.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px {
    @container field-group (width >= 28rem) {
      &:has(>[data-slot=field-content]) {
        &>[role=checkbox],[role=radio] {
          margin-top: 1px;
        }
      }
    }
  }.\[\&\>a\]\:underline {
    &>a {
      text-decoration-line: underline;
    }
  }.\[\&\>a\]\:underline-offset-4 {
    &>a {
      text-underline-offset: 4px;
    }
  }.\[\&\>button\]\:hidden {
    &>button {
      display: none;
    }
  }.\[\&\>input\]\:flex-1 {
    &>input {
      flex: 1;
    }
  }.\[\&\>kbd\]\:rounded-\[calc\(var\(--radius\)-5px\)\] {
    &>kbd {
      border-radius: calc(var(--radius) - 5px);
    }
  }.\[\&\>span\]\:text-xs {
    &>span {
      font-size: var(--text-xs);
      line-height: var(--tw-leading, var(--text-xs--line-height));
    }
  }.\[\&\>span\]\:opacity-70 {
    &>span {
      opacity: 70%;
    }
  }.\[\&\>span\:last-child\]\:truncate {
    &>span:last-child {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
  }.\[\&\>svg\]\:pointer-events-none {
    &>svg {
      pointer-events: none;
    }
  }.\[\&\>svg\]\:size-3 {
    &>svg {
      width: calc(var(--spacing) * 3);
      height: calc(var(--spacing) * 3);
    }
  }.\[\&\>svg\]\:size-3\.5 {
    &>svg {
      width: calc(var(--spacing) * 3.5);
      height: calc(var(--spacing) * 3.5);
    }
  }.\[\&\>svg\]\:size-4 {
    &>svg {
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
    }
  }.\[\&\>svg\]\:h-2\.5 {
    &>svg {
      height: calc(var(--spacing) * 2.5);
    }
  }.\[\&\>svg\]\:h-3 {
    &>svg {
      height: calc(var(--spacing) * 3);
    }
  }.\[\&\>svg\]\:w-2\.5 {
    &>svg {
      width: calc(var(--spacing) * 2.5);
    }
  }.\[\&\>svg\]\:w-3 {
    &>svg {
      width: calc(var(--spacing) * 3);
    }
  }.\[\&\>svg\]\:shrink-0 {
    &>svg {
      flex-shrink: 0;
    }
  }.\[\&\>svg\]\:translate-y-0\.5 {
    &>svg {
      --tw-translate-y: calc(var(--spacing) * 0.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }.\[\&\>svg\]\:text-current {
    &>svg {
      color: currentcolor;
    }
  }.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 {
    &>svg:not([class*="size-"]) {
      width: calc(var(--spacing) * 3.5);
      height: calc(var(--spacing) * 3.5);
    }
  }.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 {
    &>svg:not([class*="size-"]) {
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
    }
  }.\[\&\>tr\]\:last\:border-b-0 {
    &>tr {
      &:last-child {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 0px;
      }
    }
  }.\[\&\[aria-orientation\=horizontal\]\>div\]\:rotate-90 {
    &[aria-orientation=horizontal]>div {
      rotate: 90deg;
    }
  }.\[\&\[data-state\=open\]\>svg\]\:rotate-180 {
    &[data-state=open]>svg {
      rotate: 180deg;
    }
  }.\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2 {
    [data-side=left][data-collapsible=offcanvas] & {
      right: calc(var(--spacing) * -2);
    }
  }.\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize {
    [data-side=left][data-state=collapsed] & {
      cursor: e-resize;
    }
  }.\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2 {
    [data-side=right][data-collapsible=offcanvas] & {
      left: calc(var(--spacing) * -2);
    }
  }.\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize {
    [data-side=right][data-state=collapsed] & {
      cursor: w-resize;
    }
  }.\[\[data-slot\=card-content\]_\&\]\:bg-transparent {
    [data-slot=card-content] & {
      background-color: transparent;
    }
  }.\[\[data-slot\=popover-content\]_\&\]\:bg-transparent {
    [data-slot=popover-content] & {
      background-color: transparent;
    }
  }.\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5 {
    [data-variant=legend]+& {
      margin-top: calc(var(--spacing) * -1.5);
    }
  }.\[a\&\]\:hover\:underline {
    a& {
      &:hover {
        @media (hover: hover) {
          text-decoration-line: underline;
        }
      }
    }
  }}@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;
}@property --scroll-fade-t {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0px;
}@property --scroll-fade-b {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0px;
}@property --scroll-fade-s {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0px;
}@property --scroll-fade-e {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0px;
}@property --scroll-fade-mask {
  syntax: "*";
  inherits: false;
}@property --shimmer-angle {
  syntax: "<angle>";
  inherits: true;
  initial-value: 20deg;
}@property --shimmer-image {
  syntax: "*";
  inherits: false;
}@property --shimmer-text-fill {
  syntax: "*";
  inherits: false;
}:root {
  --deep: #020b15;
  --navy: #061829;
  --ice: #e5f8ff;
  --neon: #08d9ff;
  --blue: #168fff;
  --muted: #9bb4c7;
  --line: #48bff02b;
  --content: max(22px,calc((100vw - 1280px)/2));
}* {
  box-sizing: border-box;
}html {
  scroll-behavior: smooth;
}body {
  margin: 0;
  background: var(--deep);
  color: #fff;
  font-family: Arial,Helvetica,sans-serif;
}a {
  text-decoration: none;
  color: inherit;
}img {
  max-width: 100%;
  height: auto;
}h1,h2,h3,p {
  margin-top: 0;
}.premiumSite {
  width: 100%;
  overflow: hidden;
}.nav {
  position: absolute;
  z-index: 40;
  width: 100%;
  height: 82px;
  padding: 0 var(--content);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
}.brandLogo {
  display: flex;
}.brandLogo img {
  width: 190px;
}.navlinks {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 30px;
  font-size: 13px;
  font-weight: 700;
}.navlinks>a,.servicesDropdown>summary {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 6px;
  list-style: none;
  cursor: pointer;
}.navlinks>a:hover,.servicesDropdown>summary:hover {
  color: var(--neon);
}.servicesDropdown {
  height: 100%;
  position: relative;
}.servicesDropdown summary::-webkit-details-marker {
  display: none;
}.servicesDropdown summary svg {
  width: 14px;
  transition: .2s;
}.servicesDropdown[open] summary svg {
  transform: rotate(180deg);
}.servicesDropdown>div {
  position: absolute;
  right: -120px;
  top: 72px;
  width: 330px;
  padding: 12px;
  background: #06192ef5;
  border: 1px solid #2faee863;
  box-shadow: 0 25px 70px #000c;
  backdrop-filter: blur(16px);
}.servicesDropdown>div a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 12px;
  border-bottom: 1px solid var(--line);
  color: #c7dce9;
}.servicesDropdown>div a:last-child {
  border: 0;
}.servicesDropdown>div a:hover {
  background: #0b2942;
  color: var(--neon);
  padding-left: 17px;
}.servicesDropdown>div svg {
  width: 15px;
}.navCta {
  height: auto !important;
  padding: 12px 17px;
  border: 1px solid #37c5ff;
  border-radius: 40px;
}.navCta svg {
  width: 16px;
}.mobileMenu {
  display: none;
}.hero {
  min-height: 850px;
  height: 100vh;
  max-height: 980px;
  padding: 145px var(--content) 80px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at 75% 38%,#084d92 0,transparent 34%),linear-gradient(120deg,#020a13,#071b31 60%,#04111d);
}.hero:before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(#2eb9ff0b 1px,transparent 1px),linear-gradient(90deg,#2eb9ff0b 1px,transparent 1px);
  background-size: 62px 62px;
}.heroCopy{
  position: relative;
  z-index: 2;
}.eyebrow,.kicker {
  font-size: 11px;
  letter-spacing: .21em;
  text-transform: uppercase;
  font-weight: 800;
  color: #74daff;
}.eyebrow {
  display: flex;
  gap: 10px;
  align-items: center;
}.eyebrow i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--neon);
  box-shadow: 0 0 14px var(--neon);
}h1 {
  font-size: clamp(60px,7.2vw,112px);
  line-height: .87;
  letter-spacing: -.075em;
  margin: 28px 0;
  font-weight: 800;
}h1 em,h2 em {
  font-style: normal;
  color: transparent;
  -webkit-text-stroke: 1.5px #6edcff;
  text-shadow: 0 0 35px #00bfff22;
}.heroCopy>p {
  max-width: 590px;
  font-size: 18px;
  line-height: 1.7;
  color: #b1c8d8;
}.heroActions {
  display: flex;
  align-items: center;
  gap: 27px;
  margin-top: 35px;
}.button {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  padding: 18px 23px;
  font-size: 13px;
  font-weight: 800;
  border-radius: 5px;
}.button svg {
  width: 17px;
}.primary {
  background: linear-gradient(100deg,#078bea,var(--neon));
  box-shadow: 0 16px 50px #009dff38;
}.playLink {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  font-weight: 700;
}.playLink span {
  width: 46px;
  height: 46px;
  border: 1px solid #43c8ff;
  border-radius: 50%;
  display: grid;
  place-items: center;
}.playLink svg {
  width: 13px;
}.trust {
  display: flex;
  gap: 32px;
  margin-top: 55px;
}.trust div {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 9px;
  align-items: center;
}.trust strong {
  font-size: 16px;
  color: #c9f5ff;
}.trust span {
  max-width: 90px;
  font-size: 9px;
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #7998ad;
}.scroll {
  position: absolute;
  bottom: 32px;
  left: 50%;
  font-size: 8px;
  letter-spacing: .23em;
  color: #668aa4;
}.proofStrip {
  height: 74px;
  padding: 0 20px;
  background: var(--neon);
  color: #03101c;
  display: flex;
  align-items: center;
  justify-content: space-around;
  white-space: nowrap;
  overflow: hidden;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .11em;
}.services {
  padding: 115px var(--content);
  background: #f3fbfe;
  color: #071a2d;
}.sectionHead {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 80px;
  align-items: end;
  margin-bottom: 62px;
}.sectionHead h2,.work h2,.about h2,.cta h2,.visualServices h2 {
  font-size: clamp(44px,5vw,75px);
  line-height: .95;
  letter-spacing: -.06em;
  margin: 17px 0 0;
}.sectionHead h2 em,.work h2 em,.about h2 em {
  color: #0c65a0;
  -webkit-text-stroke: 0;
  text-shadow: none;
}.sectionHead>p,.about p {
  line-height: 1.8;
  color: #526c7d;
}.serviceGrid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 14px;
}.serviceCard {
  min-height: 385px;
  padding: 30px;
  background: #fff;
  border: 1px solid #dceef6;
  display: flex;
  flex-direction: column;
  transition: .25s;
}.serviceCard:hover {
  transform: translateY(-8px);
  border-color: #48caff;
  box-shadow: 0 30px 60px #043f671d;
}.serviceTop {
  display: flex;
  justify-content: space-between;
}.serviceIcon {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #e7f8ff;
  color: #098ed7;
  font-size: 9px;
  font-weight: 900;
}.serviceTop>b {
  font-size: 10px;
  color: #8eb0c4;
}.serviceCard h3 {
  font-size: 23px;
  letter-spacing: -.03em;
  margin: 32px 0 13px;
}.serviceCard p {
  font-size: 13px;
  line-height: 1.7;
  color: #607687;
}.tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 15px 0;
}.tags span {
  padding: 7px 9px;
  background: #eff9fd;
  color: #3980a7;
  font-size: 8px;
  text-transform: uppercase;
}.serviceCard>a,.textLink {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  color: #087fbd;
  font-size: 11px;
  font-weight: 800;
}.serviceCard>a svg,.textLink svg {
  width: 15px;
}.work {
  padding: 115px var(--content);
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 100px;
  align-items: center;
  background: #061524;
}.workCopy>p {
  color: #9bb3c7;
  line-height: 1.8;
}.work ul {
  list-style: none;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 34px 0;
}.work li {
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: 12px;
  color: #c3d5e2;
}.work li svg {
  width: 15px;
  color: var(--neon);
}.workStage {
  position: relative;
  min-height: 520px;
}.stageWindow {
  width: 90%;
  margin-left: auto;
  border: 1px solid #2072a5;
  box-shadow: 0 45px 90px #0008;
}.stageBar {
  height: 38px;
  background: #0d2940;
  padding: 15px;
  display: flex;
  gap: 6px;
}.stageBar i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #315a78;
}.stageBody {
  height: 400px;
  padding: 70px;
  background: radial-gradient(circle at 85% 20%,#057fce,transparent 36%),linear-gradient(140deg,#052748,#06121e);
}.stageBody>span {
  font-size: 8px;
  letter-spacing: .25em;
  color: #89e3ff;
}.stageBody>b {
  display: block;
  font-size: 50px;
  line-height: .95;
  margin: 15px 0;
}.stageBody b em {
  font-style: normal;
  color: #57d9ff;
}.stageBody p {
  font-size: 11px;
  color: #94b6cc;
}.stageBody>a {
  display: inline-block;
  margin-top: 26px;
  padding: 12px 20px;
  background: var(--neon);
  color: #03101c;
  font-size: 8px;
  font-weight: 900;
}.stageBadge {
  position: absolute;
  left: 0;
  bottom: 10px;
  width: 145px;
  padding: 22px;
  background: #eafaff;
  color: #082036;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 50px #0008;
}.stageBadge b {
  font-size: 11px;
}.stageBadge span {
  font-size: 8px;
  color: #608096;
  margin-top: 5px;
}.homeProjects {
  padding: 110px var(--content);
  background: linear-gradient(180deg,#f3fbfe 0%,#eef9fd 100%);
  color: #071a2d;
  border-top: 1px solid #d7edf6;
  border-bottom: 1px solid #d7edf6;
}.homeProjectsHead {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 80px;
  align-items: end;
  margin-bottom: 46px;
}.homeProjectsHead h2 {
  font-size: clamp(42px,4.8vw,72px);
  line-height: .96;
  letter-spacing: -.055em;
  margin: 17px 0 0;
}.homeProjectsHead h2 em {
  color: #0c65a0;
  font-style: normal;
}.homeProjectsHead>div:last-child>p {
  margin: 0 0 20px;
  color: #526c7d;
  line-height: 1.8;
  font-size: 14px;
}.homeProjectsAll {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #087fbd;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}.homeProjectsAll svg { width: 15px; }.homeProjectGrid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
}.homeProjectCard {
  min-width: 0;
  background: #fff;
  border: 1px solid #d8ebf3;
  color: #071a2d;
  box-shadow: 0 18px 45px rgba(4,63,103,.07);
  transition: transform .28s ease,border-color .28s ease,box-shadow .28s ease;
  overflow: hidden;
}.homeProjectCard:hover {
  transform: translateY(-8px);
  border-color: #45c9ff;
  box-shadow: 0 28px 60px rgba(4,63,103,.14);
}.homeProjectBrowser {
  margin: 14px 14px 0;
  border: 1px solid #d7e7ee;
  background: #eaf4f8;
  overflow: hidden;
}.homeProjectBar {
  height: 34px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 11px;
  background: #eef7fa;
  border-bottom: 1px solid #d7e7ee;
}.homeProjectBar>span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #8db4c7;
}.homeProjectBar b {
  margin-left: 7px;
  font-size: 7px;
  letter-spacing: .06em;
  color: #648397;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}.homeProjectImage {
  aspect-ratio: 1.48 / 1;
  overflow: hidden;
  background: #071a2d;
}.homeProjectImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  transition: transform .45s ease;
}.homeProjectCard:hover .homeProjectImage img { transform: scale(1.025); }.homeProjectContent { padding: 27px 27px 29px; }.homeProjectType {
  display: block;
  color: #0797da;
  font-size: 8px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .18em;
  margin-bottom: 11px;
}.homeProjectTitle {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}.homeProjectTitle h3 {
  margin: 0;
  font-size: 25px;
  line-height: 1.05;
  letter-spacing: -.035em;
}.homeProjectTitle>span {
  font-size: 9px;
  color: #9ab6c5;
  font-weight: 900;
}.homeProjectContent>p {
  color: #5c7485;
  font-size: 12px;
  line-height: 1.72;
  margin: 15px 0 18px;
}.homeProjectTags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 31px;
  margin-bottom: 20px;
}.homeProjectTags span {
  padding: 7px 9px;
  background: #eef8fc;
  color: #367d9f;
  font-size: 7px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}.homeProjectContent>strong {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #087fbd;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .08em;
}.homeProjectContent>strong svg { width: 14px; }.homeProjectsFoot {
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid #cae5ef;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}.homeProjectsFoot>span {
  color: #5c7485;
  font-size: 11px;
  line-height: 1.6;
}.homeProjectsFoot>a {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 19px;
  background: #08c9f2;
  color: #03101c;
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .07em;
  box-shadow: 0 12px 26px rgba(8,201,242,.2);
}.homeProjectsFoot>a svg { width: 14px; }.visualServices {
  padding: 105px var(--content);
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  gap: 90px;
  align-items: center;
  background: #03101d;
}.visualServices>div>p {
  color: #9bb3c7;
  line-height: 1.8;
}.about {
  padding: 105px var(--content);
  display: grid;
  grid-template-columns: .6fr 1.4fr;
  gap: 80px;
  align-items: center;
  background: var(--ice);
  color: #071a2d;
}.aboutMark {
  font-size: clamp(110px,18vw,250px);
  font-weight: 900;
  letter-spacing: -.12em;
  color: transparent;
  -webkit-text-stroke: 2px #9ad9ee;
}.aboutPoints {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  margin-top: 38px;
  padding-top: 20px;
  border-top: 1px solid #b9dfed;
}.aboutPoints span {
  display: flex;
  flex-direction: column;
  font-size: 11px;
  font-weight: 700;
}.aboutPoints b {
  color: #1298d1;
  font-size: 9px;
  margin-bottom: 9px;
}.cta {
  text-align: center;
  padding: 115px 20px;
  background: radial-gradient(circle at 50% 100%,#07518e,transparent 48%),#020b15;
}.cta p {
  color: #99b2c4;
}.ctaActions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
  margin-top: 35px;
}.light {
  background: #fff;
  color: #071525;
}.ctaActions>a:last-child {
  font-size: 13px;
  font-weight: 800;
  border-bottom: 1px solid #30bcff;
  padding-bottom: 4px;
}footer {
  padding: 46px var(--content);
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 40px;
  align-items: center;
  background: #020811;
  border-top: 1px solid var(--line);
}footer .brandLogo img {
  width: 150px;
}footer p {
  text-align: center;
  font-size: 10px;
  color: #718da2;
}footer div {
  display: flex;
  gap: 20px;
  font-size: 10px;
}footer small {
  grid-column: 1/-1;
  text-align: center;
  color: #4f6778;
  font-size: 8px;
}@keyframes float {
  50% {
    transform: rotateY(-5deg) translateY(-10px);
  }
}@keyframes phoneFloat {
  50% {
    transform: translateY(9px);
  }
}@media  (max-width:1000px) {.hero {
    grid-template-columns: 1fr;
    height: auto;
    max-height: none;
  }.serviceGrid {
    grid-template-columns: 1fr 1fr;
  }.sectionHead,.work,.visualServices {
    grid-template-columns: 1fr;
  }.homeProjectsHead {
    grid-template-columns: 1fr;
    gap: 24px;
  }.homeProjectGrid {
    grid-template-columns: 1fr 1fr;
  }.homeProjectCard:first-child {
    grid-column: 1 / -1;
  }.homeProjectCard:first-child {
    display: grid;
    grid-template-columns: 1.12fr .88fr;
    align-items: stretch;
  }.homeProjectCard:first-child .homeProjectBrowser {
    margin: 14px 0 14px 14px;
  }.homeProjectCard:first-child .homeProjectContent {
    align-self: center;
  }.work {
    gap: 60px;
  }.about {
    grid-template-columns: 1fr;
  }.aboutMark {
    display: none;
  }.mobileMenu {
    display: block;
  }}@media  (max-width:700px) {.nav {
    height: 72px;
  }.navlinks {
    display: none;
  }.mobileMenu {
    display: block;
    position: relative;
  }.mobileMenu>summary{
    list-style: none;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid var(--line);
  }.mobileMenu>div{
    position: absolute;
    right: 0;
    top: 52px;
    width: min(340px,88vw);
    padding: 18px;
    background: #051423;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px #000b;
  }.mobileMenu>div a,.mobileMenu>div strong{
    padding: 8px;
    border-bottom: 1px solid var(--line);
    font-size: 12px;
  }.hero {
    padding: 122px 22px 65px;
    min-height: 0;
  }.heroCopy>p {
    font-size: 15px;
  }.heroActions {
    flex-direction: column;
    align-items: stretch;
  }.playLink {
    justify-content: center;
  }.trust {
    gap: 13px;
    justify-content: space-between;
  }.trust div {
    display: block;
  }.trust span {
    display: block;
    margin-top: 4px;
  }.proofStrip {
    justify-content: flex-start;
    gap: 32px;
    height: 60px;
  }.services,.work,.visualServices,.about,.cta,.homeProjects {
    padding: 78px 22px;
  }.homeProjectsHead {
    margin-bottom: 30px;
  }.homeProjectsHead h2 {
    font-size: clamp(38px,12vw,54px);
  }.homeProjectGrid {
    grid-template-columns: 1fr;
  }.homeProjectCard:first-child {
    grid-column: auto;
    display: block;
  }.homeProjectCard:first-child .homeProjectBrowser {
    margin: 14px 14px 0;
  }.homeProjectsFoot {
    align-items: flex-start;
    flex-direction: column;
  }.homeProjectsFoot>a {
    width: 100%;
    justify-content: center;
  }.sectionHead {
    grid-template-columns: 1fr;
    gap: 22px;
    margin-bottom: 38px;
  }.serviceGrid {
    grid-template-columns: 1fr;
  }.serviceCard {
    min-height: 340px;
  }.work ul {
    grid-template-columns: 1fr;
  }.workStage {
    min-height: 380px;
  }.stageBody {
    height: 320px;
    padding: 45px 30px;
  }.stageBody>b {
    font-size: 36px;
  }.aboutPoints {
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }.ctaActions {
    flex-direction: column;
  }footer {
    grid-template-columns: 1fr;
    text-align: center;
  }footer .brandLogo {
    justify-content: center;
  }footer div {
    justify-content: center;
  }footer small {
    grid-column: 1;
  }}@media  (prefers-reduced-motion:reduce) {* {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }}.heroServices {
  background-color: #020b15;
  background-image: linear-gradient(90deg,#020a15f7 0%,#020b15ed 28%,#020b15ad 49%,#020b1540 70%,#020b1514 100%),linear-gradient(180deg,#020b1517 55%,#020b15dc 100%),url("/assets/images/heyjames-hero.jpg");
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
}.heroServices:before {
  background-image: linear-gradient(#2eb9ff08 1px,transparent 1px),linear-gradient(90deg,#2eb9ff08 1px,transparent 1px);
  background-size: 62px 62px;
  mask-image: linear-gradient(90deg,#000 0%,#0008 43%,transparent 72%);
}.heroServices .heroCopy {
  max-width: 690px;
  text-shadow: 0 3px 28px #000;
}.heroServices .heroCopy>p {
  color: #d2e5ef;
  text-shadow: 0 2px 16px #000;
}.heroServices {
  gap: clamp(35px,5vw,85px);
}.heroServices h1 {
  font-size: clamp(56px,5.8vw,88px);
}.heroEnquiry {
  position: relative;
  z-index: 3;
  width: min(100%,470px);
  justify-self: end;
  padding: 34px;
  background: linear-gradient(145deg,#f9fdffff,#e9f9ffff);
  color: #071a2d;
  border: 1px solid #83dcfa;
  box-shadow: 0 35px 90px #000a;
}.heroEnquiry:before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg,#078bea,var(--neon));
}.heroEnquiry h2 {
  font-size: 34px;
  line-height: 1;
  letter-spacing: -.045em;
  margin: 12px 0;
}.heroEnquiry>p {
  font-size: 12px;
  line-height: 1.6;
  color: #557283;
  margin-bottom: 22px;
}.heroEnquiry form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
}.heroEnquiry label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #35586c;
}.heroEnquiry input,.heroEnquiry select,.heroEnquiry textarea {
  width: 100%;
  padding: 12px 13px;
  border: 1px solid #c6e3ed;
  background: #fff;
  color: #071a2d;
  font: inherit;
  font-size: 12px;
  text-transform: none;
  resize: vertical;
}.heroEnquiry input:focus,.heroEnquiry select:focus,.heroEnquiry textarea:focus {
  outline: 2px solid #15c9f344;
  border-color: #08aedd;
}.heroFormWide {
  grid-column: 1/-1;
}.heroEnquiry button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 17px;
  border: 0;
  background: linear-gradient(100deg,#078bea,var(--neon));
  color: #03101c;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}.heroEnquiry button svg {
  width: 17px;
}.heroEnquiry small {
  color: #708b99;
  font-size: 8px;
  line-height: 1.4;
}@media  (max-width:1000px) {.heroServices {
    grid-template-columns: 1fr .8fr;
    background-position: 62% center;
  }.heroEnquiry {
    padding: 26px;
  }.heroEnquiry form {
    grid-template-columns: 1fr;
  }.heroEnquiry label,.heroEnquiry .heroFormWide {
    grid-column: 1;
  }.heroEnquiry h2 {
    font-size: 29px;
  }}@media  (max-width:700px) {.heroServices {
    display: block;
    background-position: 68% center;
    background-image: linear-gradient(90deg,#020a15fa 0%,#020b15e8 72%,#020b1599 100%),linear-gradient(180deg,#020b153d 40%,#020b15f5 100%),url("/assets/images/heyjames-hero.jpg");
  }.heroServices .heroCopy {
    max-width: 100%;
  }.heroServices h1 {
    font-size: clamp(48px,14vw,66px);
  }.heroServices .trust {
    margin-top: 45px;
  }.heroEnquiry {
    width: 100%;
    margin-top: 45px;
    padding: 25px;
  }.heroEnquiry h2 {
    font-size: 30px;
  }.scroll {
    display: none;
  }}.servicesDropdown>div {
  max-height: min(720px,calc(100vh - 95px));
  overflow-y: auto;
}@media  (max-width:700px) {.servicesDropdown>div {
    max-height: none;
  }}.siteNav .navlinks {
  gap: clamp(14px,1.5vw,26px);
}.siteNav .navCta {
  padding: 13px 19px;
  background: linear-gradient(100deg,#078bea,var(--neon));
  color: #03101c;
  border: 0;
  box-shadow: 0 10px 35px #08cfff35;
}.siteNav .navCta:hover {
  color: #03101c;
  transform: translateY(-2px);
}.mobileProjectCta {
  margin-top: 12px !important;
  padding: 14px !important;
  background: linear-gradient(100deg,#078bea,var(--neon));
  color: #03101c !important;
  text-align: center;
  font-weight: 900 !important;
}.contactBar {
  height: 42px;
  padding: 0 var(--content);
  background: linear-gradient(90deg,#020812,#061b2e);
  border-bottom: 1px solid #38bce52b;
  color: #bcd4e2;
}.contactBarInner {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}.contactDetails,.topActions,.contactDetails>a,.openingHours,.socialLinks {
  display: flex;
  align-items: center;
}.contactDetails {
  height: 100%;
  gap: 27px;
  font-size: 11px;
}.contactDetails>a,.openingHours {
  gap: 8px;
}.contactDetails svg {
  width: 14px;
  color: #3fdcff;
}.contactDetails strong {
  color: #fff;
}.topActions {
  height: 100%;
  gap: 15px;
}.socialLinks {
  gap: 6px;
}.social {
  width: 27px;
  height: 27px;
  border: 1px solid #ffffff17;
  display: grid;
  place-items: center;
  background: #0a1e30;
  color: #b9d2df;
  transition: .2s;
}.social span {
  font: 900 13px/1 Arial;
}.social:hover {
  transform: translateY(-2px);
  color: #fff;
}.socialFacebook:hover {
  background: #1877f2;
  border-color: #1877f2;
}.socialInstagram:hover {
  background: linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);
  border-color: #ef476f;
}.socialPinterest:hover {
  background: #e60023;
  border-color: #e60023;
}.socialTikTok:hover {
  background: #111;
  border-color: #25f4ee;
  box-shadow: 2px 2px #fe2c55;
}.socialYouTube:hover {
  background: #ff0000;
  border-color: #ff0000;
}.hero {
  padding-top: 187px;
}@media  (max-width:1100px) {.openingHours {
    display: none;
  }.siteNav .navlinks {
    gap: 12px;
    font-size: 12px;
  }.siteNav .navCta {
    padding: 11px 14px;
  }}@media  (max-width:700px) {.contactBar {
    height: 40px;
    padding: 0 14px;
  }.contactDetails {
    font-size: 10px;
  }.contactDetails>a span {
    font-size: 0;
  }.contactDetails>a span strong {
    font-size: 10px;
  }.contactDetails>a span strong:before {
    content: "Call: ";
  }.topActions {
    gap: 8px;
  }.socialLinks {
    display: none;
  }.hero {
    padding-top: 162px;
  }}.siteNav .navlinks {
  font-size: 15px;
  gap: clamp(16px,1.65vw,26px);
}.siteNav .servicesDropdown>div a {
  font-size: 13.5px;
  line-height: 1.25;
}.siteNav .navCta {
  font-size: 13px;
  white-space: nowrap;
}.mobileMenu>div a,.mobileMenu>div strong {
  font-size: 14px;
  line-height: 1.35;
  padding: 10px 8px;
}@media  (max-width:1180px) {.siteNav .navlinks {
    font-size: 13.5px;
    gap: 16px;
  }.siteNav .navCta {
    font-size: 12px;
    padding-left: 12px;
    padding-right: 12px;
  }}.contactBar {
  height: 52px;
}.contactDetails {
  gap: 34px;
  font-size: 15px;
}.contactDetails svg {
  width: 19px;
  height: 19px;
}.socialLinks {
  gap: 8px;
}.social {
  width: 34px;
  height: 34px;
}.social span {
  font-size: 16px;
}.hero {
  padding-top: 197px;
}@media  (max-width:700px) {.contactBar {
    height: 46px;
  }.contactDetails {
    font-size: 13px;
  }.contactDetails>a span strong {
    font-size: 13px;
  }.hero {
    padding-top: 168px;
  }}.contactBar {
  position: relative;
  z-index: 42;
}.siteNav{
  position: sticky;
  top: 0;
  z-index: 41;
  background: #04111ef2;
  backdrop-filter: blur(18px);
  box-shadow: 0 10px 35px #0000;
  transition: box-shadow .25s;
}.siteNav {
  width: 100%;
}.siteNav:hover {
  box-shadow: 0 14px 40px #0005;
}.hero {
  padding-top: 80px;
}.heroEnquiry {
  width: min(100%,490px);
  padding: 36px;
  background: #f8fdff;
  border: 2px solid #73d9f7;
}.heroEnquiry:before {
  height: 5px;
}.heroEnquiry h2 {
  font-size: 36px;
}.heroEnquiry>p {
  font-size: 15px;
  color: #365568;
  margin-bottom: 24px;
}.heroEnquiry form {
  gap: 17px;
}.heroEnquiry label {
  gap: 8px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: none;
  color: #16384d;
}.heroEnquiry input,.heroEnquiry select,.heroEnquiry textarea {
  min-height: 48px;
  padding: 13px 14px;
  border: 2px solid #a9cedd;
  border-radius: 4px;
  font-size: 15px;
  line-height: 1.35;
}.heroEnquiry textarea {
  min-height: 96px;
}.heroEnquiry input::placeholder,.heroEnquiry textarea::placeholder {
  color: #617d8d;
  opacity: 1;
}.heroEnquiry input:focus,.heroEnquiry select:focus,.heroEnquiry textarea:focus {
  outline: 3px solid #08d9ff55;
  border-color: #087fbd;
}.heroEnquiry button {
  min-height: 50px;
  font-size: 14px;
}.heroEnquiry small {
  font-size: 11px;
  line-height: 1.5;
  color: #4f6c7c;
}@media  (max-width:1000px) {.heroEnquiry {
    padding: 28px;
  }.heroEnquiry h2 {
    font-size: 32px;
  }}@media  (max-width:700px) {.heroEnquiry {
    padding: 24px;
  }.heroEnquiry label {
    font-size: 13px;
  }}@media  (max-width:700px) {.siteNav{
    top: 0;
  }.hero {
    padding-top: 62px;
  }}.premiumSite {
  overflow: visible;
  overflow-x: clip;
}.heroCopy .eyebrow {
  flex-wrap: wrap;
  row-gap: 5px;
}.heroCopy .eyebrow span {
  font-size: 11px;
}.heroCopy .eyebrow b {
  font-size: 18px;
  line-height: 1;
  color: #08d9ff;
  text-shadow: 0 0 12px #08d9ff88;
}.heroEnquiry>.kicker {
  color: #061829;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .15em;
}.siteFooter {
  padding: 75px var(--content) 0;
  display: grid;
  grid-template-columns: 1.4fr .7fr .9fr 1fr;
  gap: 58px 48px;
  align-items: start;
  background: linear-gradient(145deg,#020811,#061829);
  border-top: 1px solid #1d5676;
  color: #fff;
}.siteFooter .footerLead,.siteFooter .footerColumn {
  display: block;
}.siteFooter .footerLead .brandLogo {
  display: inline-flex;
  margin-bottom: 25px;
}.siteFooter .footerLead .brandLogo img {
  width: 190px;
}.siteFooter .footerLead>p {
  max-width: 370px;
  margin: 0 0 26px;
  text-align: left;
  font-size: 14px;
  line-height: 1.75;
  color: #9fb8c8;
}.footerCta {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  padding: 14px 18px;
  background: linear-gradient(100deg,#078bea,var(--neon));
  color: #03101c;
  font-size: 12px;
  font-weight: 900;
  border-radius: 4px;
  transition: .2s;
}.footerCta svg {
  width: 16px;
}.footerCta:hover {
  background: #fff;
  transform: translateY(-2px);
}.footerColumn h3 {
  margin: 4px 0 24px;
  color: #fff;
  font-size: 15px;
  letter-spacing: .03em;
}.footerColumn nav {
  display: grid;
  gap: 14px;
}.footerColumn nav a {
  font-size: 12px;
  color: #91adbd;
  transition: .2s;
}.footerColumn nav a:hover {
  color: var(--neon);
  transform: translateX(4px);
}.footerContact>a {
  display: block;
  padding: 0 0 17px;
  margin-bottom: 17px;
  border-bottom: 1px solid #ffffff17;
}.footerContact small,.footerContact strong {
  display: block;
}.footerContact small {
  margin-bottom: 6px;
  color: #6f95aa;
  font-size: 9px;
  letter-spacing: .12em;
  text-transform: uppercase;
}.footerContact strong {
  color: #dff8ff;
  font-size: 14px;
}.footerWhatsApp strong,.directWhatsApp,.directWhatsApp b {
  color: #7cf5a5 !important;
}.footerWhatsApp strong {
  display: flex;
  align-items: center;
  gap: 8px;
}.footerWhatsApp svg {
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
}.footerContact>p {
  margin: 0;
  text-align: left;
  color: #7899ab;
  font-size: 11px;
  line-height: 1.7;
}.footerBottom {
  grid-column: 1/-1;
  padding: 24px 0;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 30px;
  align-items: center;
  border-top: 1px solid #ffffff17;
  color: #6f8d9d;
  font-size: 10px;
}.footerBottom nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}.footerBottom nav a,.footerBottom>span:last-child a {
  color: #9db9c8;
}.footerBottom>span:last-child {
  text-align: right;
}.footerBottom a:hover {
  color: var(--neon);
}@media  (max-width:700px) {.mobileMenu>div a,.heroActions a,.heroEnquiry button,.siteFooter a {
    -webkit-tap-highlight-color: #08d9ff55;
  }.mobileMenu>div a:active,.mobileMenu>div a:focus-visible {
    background: var(--neon);
    color: #03101c;
  }.heroActions a:active,.heroActions a:focus-visible,.heroEnquiry button:active,.heroEnquiry button:focus-visible,.footerCta:active,.footerCta:focus-visible {
    background: #fff;
    color: #03101c;
    transform: scale(.98);
  }.siteFooter {
    padding: 58px 22px 0;
    grid-template-columns: 1fr;
    gap: 42px;
  }.siteFooter .footerLead>p {
    font-size: 14px;
  }.footerColumn h3 {
    font-size: 17px;
  }.footerColumn nav a {
    padding: 5px 0;
    font-size: 14px;
  }.footerColumn nav a:active,.footerColumn nav a:focus-visible {
    color: var(--neon);
  }.footerContact strong {
    font-size: 16px;
  }.footerBottom {
    grid-template-columns: 1fr;
    gap: 18px;
    text-align: left;
  }.footerBottom nav {
    justify-content: flex-start;
    gap: 12px 18px;
  }.footerBottom>span:last-child {
    text-align: left;
  }}@media  (min-width:701px) and (max-width:1050px) {.siteFooter {
    grid-template-columns: 1.2fr 1fr 1fr;
  }.footerContact {
    grid-column: 2/4;
  }.footerBottom {
    grid-template-columns: 1fr auto;
  }}.siteFooter,.siteFooter * {
  box-sizing: border-box;
}.siteFooter .footerLead,.siteFooter .footerColumn,.siteFooter .footerBottom {
  justify-content: initial;
}.siteFooter .footerBottom {
  width: 100%;
  justify-content: stretch;
}@media  (max-width:700px) {.siteFooter {
    text-align: left !important;
  }.siteFooter .footerLead .brandLogo {
    justify-content: flex-start !important;
  }.siteFooter .footerLead,.siteFooter .footerColumn,.siteFooter .footerBottom {
    width: 100%;
    justify-content: stretch !important;
  }.siteFooter .footerColumn nav {
    width: 100%;
    gap: 7px;
  }.siteFooter .footerColumn nav a {
    display: block;
    width: 100%;
    padding: 10px 0;
    border-bottom: 1px solid #ffffff12;
  }.mobileMenu>div a {
    display: block;
    transition: background-color .18s,color .18s,padding-left .18s;
    touch-action: manipulation;
  }.mobileMenu>div a:hover,.mobileMenu>div a:active,.mobileMenu>div a:focus,.mobileMenu>div a:focus-visible {
    padding-left: 15px !important;
    background: var(--neon) !important;
    color: #03101c !important;
    outline: none;
  }}@media  (min-width:701px) and (max-width:1050px) {.siteFooter {
    grid-template-columns: 1fr 1fr;
    gap: 45px;
  }.siteFooter .footerContact {
    grid-column: auto;
  }.siteFooter .footerBottom {
    grid-template-columns: 1fr;
    gap: 16px;
  }.siteFooter .footerBottom nav {
    justify-content: flex-start;
  }.siteFooter .footerBottom>span:last-child {
    text-align: left;
  }}.siteFooter .footerColumn h3 {
  font-size: 18px;
  line-height: 1.25;
}.siteFooter .footerColumn nav {
  gap: 16px;
}.siteFooter .footerColumn nav a {
  font-size: 15px;
  line-height: 1.4;
}.siteFooter .footerContact>a {
  width: 100%;
  display: block;
  text-align: left;
}.siteFooter .footerContact small {
  grid-column: auto !important;
  margin: 0 0 7px;
  text-align: left !important;
  font-size: 11px;
  line-height: 1.2;
  color: #70a9c3;
}.siteFooter .footerContact strong {
  display: block;
  text-align: left;
  font-size: 17px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}.siteFooter .footerContact>p {
  text-align: left !important;
  font-size: 14px;
  line-height: 1.65;
}.siteFooter .footerBottom,.siteFooter .footerBottom span,.siteFooter .footerBottom a {
  font-size: 13px;
  line-height: 1.5;
}.siteFooter .footerBottom>span:first-child,.siteFooter .footerBottom>span:last-child {
  color: #91adbd;
}@media  (max-width:700px) {.siteFooter .footerColumn nav a {
    font-size: 16px;
  }.siteFooter .footerContact small {
    font-size: 12px;
  }.siteFooter .footerContact strong {
    font-size: 18px;
  }.siteFooter .footerContact>p {
    font-size: 15px;
  }.siteFooter .footerBottom,.siteFooter .footerBottom span,.siteFooter .footerBottom a {
    font-size: 14px;
  }}.siteFooter .footerWhatsApp strong {
  display: flex;
  align-items: center;
  gap: 9px;
  white-space: nowrap;
  color: #7cf5a5;
}.siteNav .navCta {
  border-radius: 3px;
  border: 1px solid #24d5f5;
  background: linear-gradient(135deg,#159ee8 0%,#22d3ee 100%);
  color: #031525;
  box-shadow: 0 8px 24px rgba(24,190,235,.24);
}.siteNav .navCta:hover,
.siteNav .navCta:focus-visible {
  background: linear-gradient(135deg,#22d3ee 0%,#7cf5e9 100%);
  color: #031525;
  border-color: #7cf5e9;
  box-shadow: 0 10px 30px rgba(34,211,238,.34);
}.mobileProjectCta {
  border-radius: 3px !important;
  background: linear-gradient(135deg,#159ee8 0%,#22d3ee 100%) !important;
  color: #031525 !important;
}.siteFooter .footerWhatsApp strong span {
  display: inline;
}.homeEnquirySuccess { grid-column:1/-1;padding:34px 30px;border:1px solid #27627d;background:linear-gradient(145deg,#061829,#092b43);color:#fff;text-align:center;outline:none; }.homeEnquirySuccess>span { color:var(--neon);font-size:10px;font-weight:900;letter-spacing:.18em; }.successTick { display:grid;width:58px;height:58px;margin:20px auto;place-items:center;border:1px solid #36d399;border-radius:50%;background:#0b3a2d;color:#66efb8;font-size:25px;font-weight:900; }.homeEnquirySuccess h3 { margin:0 0 15px;font-size:clamp(28px,3vw,40px);line-height:1.05; }.homeEnquirySuccess h3 em { color:var(--neon);font-style:normal; }.homeEnquirySuccess p { max-width:520px;margin:0 auto 22px;color:#a9c3d3;line-height:1.7; }.homeEnquirySuccess>div:not(.successTick) { display:flex;max-width:440px;margin:0 auto 20px;padding:16px 18px;align-items:center;justify-content:space-between;gap:20px;border:1px solid #204c64;background:#041322;text-align:left; }.homeEnquirySuccess>div strong { color:#9bb8c9;font-size:11px;text-transform:uppercase;letter-spacing:.08em; }.homeEnquirySuccess>div b { color:#fff;font-size:13px;line-height:1.5;text-align:right; }.homeEnquirySuccess small { color:#7e9dad;line-height:1.5; }@media (max-width:420px){.homeEnquirySuccess{padding:28px 20px}.homeEnquirySuccess>div:not(.successTick){align-items:flex-start;flex-direction:column}.homeEnquirySuccess>div b{text-align:left}}@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}.form-honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}.form-alert {
  padding: 12px 14px;
  border: 1px solid #ff8e8e;
  background: #481b28;
  color: #fff;
  font-size: 13px;
  line-height: 1.5;
}.freeCheckNav { white-space:nowrap; }.siteNav .navlinks > a[aria-current="page"] {
  color:var(--neon);
  position:relative;
}.siteNav .navlinks > a[aria-current="page"]::after {
  background:var(--neon);
  bottom:-8px;
  content:"";
  height:2px;
  left:0;
  position:absolute;
  right:0;
}.mobileMenu a[aria-current="page"] { color:var(--neon); }.servicesDropdown a[aria-current="page"] { color:var(--neon); }.contactDetails .whatsappContact { color:#7cf5a5;white-space:nowrap; }.contactDetails .whatsappContact svg,.contactDetails .whatsappContact strong { color:#7cf5a5; }.contactDetails .whatsappContact:hover { color:#a5ffc3; }@media (max-width:700px){.contactDetails>a.whatsappContact span,.contactDetails>a.whatsappContact span strong { font-size:10px; }.contactDetails>a.whatsappContact span strong:before { content:none; }}@keyframes checkerPulse { 50% { transform:scale(1.08);box-shadow:0 0 35px #36c5f055; } }@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-scroll-snap-strictness {
  syntax: "*";
  inherits: false;
  initial-value: proximity;
}@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-duration {
  syntax: "*";
  inherits: false;
}@property --tw-ease {
  syntax: "*";
  inherits: false;
}@property --tw-content {
  syntax: "*";
  initial-value: "";
  inherits: false;
}@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}@keyframes pulse {
  50% {
    opacity: 0.5;
  }
}@keyframes enter {
  from {
    opacity: var(--tw-enter-opacity,1);
    transform: translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));
    filter: blur(var(--tw-enter-blur,0));
  }
}@keyframes exit {
  to {
    opacity: var(--tw-exit-opacity,1);
    transform: translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));
    filter: blur(var(--tw-exit-blur,0));
  }
}@keyframes accordion-down {
  from {
    height: 0;
  }
  to {
    height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))));
  }
}@keyframes accordion-up {
  from {
    height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))));
  }
  to {
    height: 0;
  }
}@keyframes caret-blink {
  0%,70%,100% {
    opacity: 1;
  }
  20%,50% {
    opacity: 0;
  }
}@keyframes accordion-down {
  from {
    height: 0;
  }
  to {
    height: var(
        --radix-accordion-content-height,
        var(--accordion-panel-height, auto)
      );
  }
}@keyframes accordion-up {
  from {
    height: var(
        --radix-accordion-content-height,
        var(--accordion-panel-height, auto)
      );
  }
  to {
    height: 0;
  }
}@keyframes scroll-fade-reveal-b {
  from {
    --scroll-fade-b: var(--_scroll-fade-size-b, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))));
  }
  to {
    --scroll-fade-b: 0px;
  }
}@keyframes scroll-fade-reveal-s {
  from {
    --scroll-fade-s: 0px;
  }
  to {
    --scroll-fade-s: var(--_scroll-fade-size-s, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))));
  }
}@keyframes scroll-fade-reveal-e {
  from {
    --scroll-fade-e: var(--_scroll-fade-size-e, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))));
  }
  to {
    --scroll-fade-e: 0px;
  }
}@keyframes tw-shimmer {
  from {
    background-position: 100% 0;
  }
  to {
    background-position: 0 0;
  }
}@layer  properties {@supports  ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {:root, :host {
      --shimmer-angle: 20deg;
    }*, ::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-scroll-snap-strictness: proximity;
      --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-duration: initial;
      --tw-ease: initial;
      --tw-content: "";
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --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;
      --scroll-fade-t: 0px;
      --scroll-fade-b: 0px;
      --scroll-fade-s: 0px;
      --scroll-fade-e: 0px;
      --scroll-fade-mask: initial;
      --shimmer-image: initial;
      --shimmer-text-fill: initial;
    }}}@keyframes webPlanReveal {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}.footerGoogleRating {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 26px;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.25;
}.footerStars {
  color: #fbbc04;
  font-size: 21px;
  letter-spacing: 1.4px;
  line-height: 1;
  text-shadow: 0 1px 8px rgba(251,188,4,.16);
}.footerGoogleWord {
  display: inline-flex;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -.2px;
}.footerGoogleWord .gBlue { color: #4285f4; }.footerGoogleWord .gRed { color: #ea4335; }.footerGoogleWord .gYellow { color: #fbbc05; }.footerGoogleWord .gGreen { color: #34a853; }.footerRatingText { color: #d7e6ee; font-size: 15px; font-weight: 700; }@media  (max-width:700px) {.footerGoogleRating { margin-top: 24px; gap: 8px; }.footerStars { font-size: 20px; }.footerGoogleWord { font-size: 15px; }.footerRatingText { font-size: 14px; }}.visualServices {
  padding: 112px var(--content);
  display: grid;
  grid-template-columns: .56fr 1.44fr;
  gap: clamp(54px,7vw,105px);
  align-items: start;
  background:
    radial-gradient(circle at 76% 30%,rgba(3,151,218,.14),transparent 34%),
    linear-gradient(135deg,#03101d 0%,#041522 54%,#02101c 100%);
  color: #fff;
  overflow: hidden;
}.visualIntro {
  position: sticky;
  top: 108px;
  padding-top: 12px;
}.visualServices .visualIntro h2 {
  margin-bottom: 24px;
}.visualServices .visualIntro h2 em {
  color: transparent;
  -webkit-text-stroke: 1px #45d8fb;
  font-style: normal;
}.visualServices .visualIntro>p {
  max-width: 470px;
  margin: 0;
  color: #9bb7c9;
  font-size: 14px;
  line-height: 1.85;
}.visualIntroLink {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 28px;
  color: #52ddff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}.visualIntroLink svg { width: 15px; }.visualShowcase {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0,1.22fr) minmax(280px,.78fr);
  gap: 14px;
}.visualFeature {
  position: relative;
  min-height: 590px;
  overflow: hidden;
  border: 1px solid rgba(91,217,255,.32);
  background: #0b2437;
  box-shadow: 0 28px 70px rgba(0,0,0,.25);
  isolation: isolate;
}.visualFeature>img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .65s ease,filter .65s ease;
  z-index: -3;
}.visualFeatureShade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,rgba(1,11,19,.08) 15%,rgba(2,13,23,.20) 40%,rgba(2,11,20,.94) 100%);
  z-index: -2;
}.visualFeature:after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,255,255,.08);
  pointer-events: none;
}.visualFeature:hover>img {
  transform: scale(1.035);
  filter: saturate(1.08) contrast(1.02);
}.visualFeatureTop {
  position: absolute;
  left: 24px;
  right: 24px;
  top: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}.visualFeatureTop>span {
  padding: 8px 11px;
  background: rgba(3,16,29,.72);
  border: 1px solid rgba(255,255,255,.19);
  backdrop-filter: blur(8px);
  color: #d7edf7;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}.visualFeatureTop>b {
  font-size: 43px;
  line-height: 1;
  letter-spacing: -.06em;
  color: #fff;
  text-shadow: 0 8px 30px rgba(0,0,0,.3);
}.visualFeatureCopy {
  position: absolute;
  left: 30px;
  right: 30px;
  bottom: 30px;
}.visualFeatureCopy small {
  color: #52ddff;
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .18em;
}.visualFeatureCopy h3 {
  max-width: 540px;
  margin: 10px 0 14px;
  font-size: clamp(31px,3.25vw,52px);
  line-height: .97;
  letter-spacing: -.045em;
}.visualFeatureCopy p {
  max-width: 520px;
  margin: 0 0 22px;
  color: #c5d8e2;
  font-size: 12px;
  line-height: 1.7;
}.visualFeatureCopy strong {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}.visualFeatureCopy strong svg { width: 14px; color: #51dcff; }.visualHotspot {
  position: absolute;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 8px rgba(82,221,255,.16),0 0 28px rgba(82,221,255,.45);
}.visualHotspot:after {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: 50%;
  background: #26c9ec;
}.visualHotspotA { left: 44%; top: 43%; }.visualHotspotB { right: 18%; top: 57%; transform: scale(.72); }.visualMiniGrid {
  display: grid;
  grid-template-rows: repeat(3,1fr);
  gap: 14px;
}.visualMini {
  position: relative;
  min-width: 0;
  padding: 25px 24px;
  display: grid;
  grid-template-columns: 66px 1fr auto;
  gap: 18px;
  align-items: center;
  background: linear-gradient(145deg,rgba(10,39,61,.97),rgba(5,26,43,.98));
  border: 1px solid #174a65;
  color: #fff;
  overflow: hidden;
  transition: transform .28s ease,border-color .28s ease,background .28s ease;
}.visualMini:before {
  content: "";
  position: absolute;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  right: -55px;
  top: -65px;
  background: rgba(38,201,236,.08);
}.visualMini:hover {
  transform: translateX(6px);
  border-color: #4bdcff;
  background: linear-gradient(145deg,#0b3150,#06243a);
}.visualMiniIcon {
  width: 66px;
  height: 66px;
  display: grid;
  place-items: center;
  border: 1px solid #237aa3;
  background: #082940;
  color: #52ddff;
  font-size: 23px;
  font-weight: 950;
  letter-spacing: -.04em;
}.visualMiniIcon.visualPlay { font-size: 19px; padding-left: 3px; }.visualMiniIcon.visualSpark { font-size: 26px; }.visualMini small {
  display: block;
  color: #55dfff;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .16em;
  margin-bottom: 7px;
}.visualMini h3 {
  margin: 0 0 7px;
  font-size: 20px;
  line-height: 1.08;
  letter-spacing: -.025em;
}.visualMini p {
  margin: 0;
  color: #93afc0;
  font-size: 10px;
  line-height: 1.58;
}.visualMiniArrow {
  position: relative;
  z-index: 2;
  color: #5edfff;
  font-size: 17px;
  transition: transform .25s ease;
}.visualMini:hover .visualMiniArrow { transform: translate(3px,-3px); }@media  (max-width:1100px) {.visualServices {
    grid-template-columns: 1fr;
    gap: 42px;
  }.visualIntro { position: static; max-width: 760px; }.visualShowcase { grid-template-columns: 1.15fr .85fr; }.visualFeature { min-height: 540px; }}@media  (max-width:820px) {.visualShowcase { grid-template-columns: 1fr; }.visualFeature { min-height: 510px; }.visualMiniGrid { grid-template-columns: repeat(3,1fr); grid-template-rows: auto; }.visualMini {
    min-height: 235px;
    grid-template-columns: 1fr;
    align-content: start;
  }.visualMiniArrow { position: absolute; right: 22px; top: 22px; }}@media  (max-width:700px) {.visualServices { padding: 82px 22px; }.visualServices .visualIntro h2 { font-size: clamp(43px,13vw,62px); }.visualFeature { min-height: 455px; }.visualFeatureTop { left: 18px; right: 18px; top: 18px; }.visualFeatureTop>b { font-size: 34px; }.visualFeatureCopy { left: 21px; right: 21px; bottom: 22px; }.visualFeatureCopy h3 { font-size: clamp(32px,10vw,45px); }.visualHotspotB { display: none; }.visualMiniGrid { grid-template-columns: 1fr; }.visualMini { min-height: 0; grid-template-columns: 58px 1fr auto; padding: 22px; }.visualMiniIcon { width: 58px; height: 58px; }.visualMiniArrow { position: static; }}.homeServicesVideo {
  width: 100%;
  max-width: 590px;
  justify-self: end;
  align-self: end;
  padding: 10px;
  background: #071a2d;
  border: 1px solid rgba(12, 101, 160, .28);
  border-radius: 22px;
  box-shadow: 0 24px 55px rgba(7, 26, 45, .18);
}.homeServicesVideoTop {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 4px 7px 11px;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
}.homeServicesVideoTop span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}.homeServicesVideoTop i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #48caff;
  box-shadow: 0 0 0 5px rgba(72, 202, 255, .12);
}.homeServicesVideoTop b {
  color: #48caff;
  font-size: 9px;
  letter-spacing: .18em;
}.homeServicesVideoFrame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #020a15;
  border-radius: 14px;
}.homeServicesVideoFrame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}@media  (max-width: 1000px) {.homeServicesVideo {
    max-width: 760px;
    justify-self: start;
  }}@media  (max-width: 600px) {.homeServicesVideo {
    padding: 7px;
    border-radius: 17px;
  }.homeServicesVideoTop {
    padding: 3px 5px 9px;
  }.homeServicesVideoFrame {
    border-radius: 11px;
  }}.homeServicesVideoFrame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #020a15;
  border-radius: 14px;
  isolation: auto;
}.homeServicesVideoFrame iframe {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  display: block !important;
  pointer-events: auto !important;
  z-index: 10 !important;
}@media  (max-width: 600px) {.homeServicesVideoFrame { border-radius: 11px; }}.field-error {
  display: block;
  margin-top: 1px;
  color: #b4233a;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.45;
  letter-spacing: 0;
  text-transform: none;
}.heroEnquiry .form-field-invalid input,
.heroEnquiry .form-field-invalid select,
.heroEnquiry .form-field-invalid textarea{
  border-color: #d64057 !important;
  background: #fff8f9 !important;
  box-shadow: 0 0 0 3px rgba(214,64,87,.10) !important;
}.heroEnquiry .form-alert{
  padding: 13px 15px;
  border: 1px solid #ef9aa8;
  border-radius: 10px;
  background: #fff1f3;
  color: #7a1f30;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
}.heroEnquiry .form-alert[hidden]{
  display: none !important;
}
/* Search-service copy now sits over the shared dark hero, not its old light background. */
.premiumSite .serviceHero--search > div:first-child > h1 {
  color: #ffffff;
}
.premiumSite .serviceHero--search > div:first-child > p {
  color: #d5e7f3;
}
.premiumSite .serviceHero--search > div:first-child .servicePhone {
  color: #8cddff;
}

/* One shared hero image across every public page. Layouts remain unchanged. */
.premiumSite .hero,
.premiumSite .serviceHero,
.premiumSite .editorialHero,
.premiumSite .faqHero,
.premiumSite .pricingHero,
.premiumSite .portfolioHero,
.premiumSite .testimonialHero,
.premiumSite .freeCheckHero,
.premiumSite .blogHero,
.premiumSite .blogArticleHero {
  background: #02070d url('/assets/images/heyjames-hero.jpg') center center / cover no-repeat !important;
}

/* Remove the old decorative grids without darkening the supplied image. */
.premiumSite .hero::before,
.premiumSite .serviceHero::before,
.premiumSite .editorialHero::before,
.premiumSite .faqHero::before,
.premiumSite .pricingHero::before,
.premiumSite .portfolioHero::before,
.premiumSite .testimonialHero::before,
.premiumSite .freeCheckHero::before,
.premiumSite .blogHero::before,
.premiumSite .blogArticleHero::before {
  display: none !important;
}

.aboutReviews{width:min(1200px,calc(100% - 48px));margin:0 auto;padding:64px 0 80px;color:#eaf7ff}
.aboutReviewsHeading{display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:end;gap:48px;margin-bottom:36px}
.aboutReviewsHeading h2{font-size:clamp(32px,4vw,52px);line-height:1.12;letter-spacing:-.035em;color:#edf9ff;margin:18px 0 22px}
.aboutReviewsHeading p{max-width:720px;font-size:17px;line-height:1.8;color:#b3ccde;margin:0}
.aboutReviewsLink{display:flex;flex-direction:column;gap:15px;padding:26px;border-left:3px solid #70d7ff;background:#102b44;border-radius:0 12px 12px 0;text-decoration:none;color:#d4edfc}
.aboutReviewsLink strong{font-size:17px;color:#8cddff;line-height:1.5}
.aboutRatingRow{display:flex;align-items:center;gap:18px;padding:8px 0 10px}.aboutRatingScore{font-size:60px;font-weight:800;line-height:1;letter-spacing:-.04em;color:#edf9ff}.aboutRatingDetails{display:flex;flex-direction:column;gap:8px}.aboutRatingStars{font-size:23px;line-height:1;letter-spacing:1px;white-space:nowrap;color:#ffe28a}.aboutRatingCount{font-size:15px;font-weight:600;color:#c5dce9;white-space:nowrap}
.aboutReviewsGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.aboutReviewCard{display:flex;flex-direction:column;min-width:0;padding:30px;background:linear-gradient(145deg,#122f4b,#0a1e33);border:1px solid #2b4a63;border-radius:16px}
.aboutReviewCard header{display:flex;align-items:center;gap:14px}.aboutReviewAvatar{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;background:#ccefff;color:#102b44;border-radius:50%;font-weight:800;font-size:16px}
.aboutReviewCard h3{font-size:18px;line-height:1.35;margin:0 0 6px;color:#f3fbff}.aboutReviewStars{font-size:19px;color:#ffe28a;letter-spacing:2px}
.aboutReviewCard blockquote{margin:26px 0 30px;padding:0;border:0;font-size:17px;line-height:1.85;color:#c7dce9;font-style:normal}
.aboutReviewSource{font-size:11px;font-weight:700;letter-spacing:.14em;color:#8bdaff;margin:auto 0 0;padding-top:18px;border-top:1px solid #294860}
.aboutReviewsLink:hover{background:#173a57}.aboutReviews a:focus-visible{outline:3px solid #8cddff;outline-offset:5px}
@media(max-width:1000px){.aboutReviewsHeading{grid-template-columns:1fr;gap:24px}.aboutReviewsLink{max-width:350px}.aboutReviewsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.aboutReviews{width:calc(100% - 36px);padding:44px 0 52px}.aboutReviewsGrid{grid-template-columns:1fr;gap:16px}.aboutReviewCard{padding:24px}.aboutReviewsHeading{margin-bottom:26px}.aboutReviewsHeading p,.aboutReviewCard blockquote{font-size:16px}}
@media(max-width:380px){.aboutReviewsLink{padding:20px}.aboutRatingRow{gap:14px}.aboutRatingScore{font-size:52px}.aboutRatingStars{font-size:21px}}

/* A compact, scrollable main menu with a separate services accordion. */
.siteNav .mobileMenu > div {
  max-height: 70vh;
  max-height: 70dvh;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.siteNav .mobileServices { display:block; width:100%; min-width:0; }
.siteNav .mobileServices > summary {
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  min-height:48px; padding:12px 8px; border-bottom:1px solid var(--line);
  list-style:none; cursor:pointer; color:#eaf7ff; font-size:14px;
  font-weight:700; line-height:1.35; touch-action:manipulation;
}
.siteNav .mobileServices > summary::-webkit-details-marker { display:none; }
.siteNav .mobileServices > summary svg { width:18px; height:18px; flex:none; }
.siteNav .mobileServices[open] > summary { background:#93edf4; color:#03101c; }
.siteNav .mobileServices[open] > summary svg { transform:rotate(180deg); }
.siteNav .mobileServices:not([open]) > div { display:none; }
.siteNav .mobileServices > div { padding:4px 0 8px 12px; background:#071a2d; }
.siteNav .mobileServices > div a {
  display:block; min-height:44px; padding:12px 10px; font-size:14px;
  line-height:1.45; overflow-wrap:anywhere;
}
.siteNav .mobileServices > summary:focus-visible { outline:2px solid #93edf4; outline-offset:-2px; }
.siteNav .mobileMenu > div > a { min-height:44px; }

/* ===== 2026-09-03 performance + accessibility pass ===== */
.homeHero {
  background-color:#020b15;
  background-image:none !important;
  isolation:isolate;
}
.homeHeroMedia,
.homeHeroShade {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.homeHeroMedia {
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}
.homeHeroMedia img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.homeHeroShade {
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(2,10,21,.82) 0%,rgba(2,10,21,.58) 45%,rgba(2,10,21,.20) 100%),
    linear-gradient(180deg,rgba(2,11,21,.05) 55%,rgba(2,11,21,.78) 100%);
}
.homeHero > .heroCopy,
.homeHero > .heroEnquiry,
.homeHero > .scroll {
  position:relative;
  z-index:3;
}
.homeHero::before {
  z-index:2;
}
@media (max-width:1000px) {
  .homeHeroMedia img { object-position:62% center; }
}
@media (max-width:700px) {
  .homeHeroMedia img { object-position:68% center; }
  .homeHeroShade {
    background:
      linear-gradient(90deg,rgba(2,10,21,.98) 0%,rgba(2,11,21,.91) 72%,rgba(2,11,21,.63) 100%),
      linear-gradient(180deg,rgba(2,11,21,.24) 40%,rgba(2,11,21,.96) 100%);
  }
}

/* Lightweight video facade: no YouTube CSS/JS runs until the visitor presses play. */
.homeServicesVideoFrame {
  position:relative;
  overflow:hidden;
}
.videoFacade {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  cursor:pointer;
  overflow:hidden;
  background:#020b15;
  color:#fff;
}
.videoFacade img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  filter:saturate(.88) brightness(.7);
}
.videoFacadeShade {
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(2,11,21,.35),rgba(2,11,21,.72));
}
.videoFacadePlay {
  position:absolute;
  left:50%;
  top:50%;
  width:64px;
  height:64px;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.55);
  border-radius:50%;
  background:rgba(3,19,33,.78);
  box-shadow:0 14px 38px rgba(0,0,0,.38),0 0 0 8px rgba(8,217,255,.12);
  font-size:22px;
  line-height:1;
}
.videoFacadeLabel {
  position:absolute;
  left:18px;
  bottom:16px;
  padding:8px 11px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(2,11,21,.78);
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.videoFacade:hover .videoFacadePlay,
.videoFacade:focus-visible .videoFacadePlay {
  border-color:#08d9ff;
  box-shadow:0 14px 38px rgba(0,0,0,.38),0 0 0 9px rgba(8,217,255,.20);
}
.videoFacade:focus-visible {
  outline:3px solid #08d9ff;
  outline-offset:-3px;
}

/* Lighthouse contrast fixes on light homepage sections. */
.services .kicker,
.homeProjects .kicker,
.about .kicker,
.homeReviewsBand .kicker {
  color:#075f88;
}
.serviceIcon { color:#04648f; }
.serviceTop>b { color:#526f80; }
.serviceCard p { color:#4d6676; }
.tags span { color:#1b6287; }
.serviceCard>a,
.services .textLink { color:#056b99; }
.homeProjectsAll { color:#056b99; }
.homeProjectBar b { color:#536f80; }
.homeProjectType { color:#056f9f; }
.homeProjectTitle>span { color:#5d7888; }
.homeProjectContent>p,
.homeProjectsFoot>span { color:#506a7a; }
.homeProjectTags span { color:#1c6385; }
.homeProjectContent>strong { color:#056b99; }
.aboutPoints b { color:#0677a6; }
.stageBadge span { color:#4d6c7e; }

/* Keep dark-section microcopy bright enough for small text. */
.work .kicker,
.visualServices .kicker,
.cta .kicker { color:#7de7ff; }
.workCopy>p,
.visualServices>div>p,
.cta p { color:#b5cad7; }
.stageBody p { color:#b4cad8; }

/* Skip costly below-the-fold rendering until it approaches the viewport. */
@supports (content-visibility:auto) {
  .homeProjects,
  .work,
  .visualServices,
  .about,
  .homeReviewsBand,
  .cta,
  .siteFooter {
    content-visibility:auto;
    contain-intrinsic-size:auto 900px;
  }
}

/* Tablet optimisation: avoid squeezing the hero copy and enquiry form side-by-side. */
@media (min-width:701px) and (max-width:1000px) {
  .homeHero {
    grid-template-columns:1fr !important;
    gap:44px;
    padding-left:clamp(34px,6vw,64px);
    padding-right:clamp(34px,6vw,64px);
  }
  .homeHero .heroCopy {
    max-width:760px;
  }
  .homeHero .heroEnquiry {
    width:min(100%,720px);
    justify-self:start;
    margin-top:0;
  }
  .homeHero .heroEnquiry form {
    grid-template-columns:1fr 1fr;
  }
  .homeHero .heroEnquiry .heroFormWide {
    grid-column:1 / -1;
  }
}
