/* [next]/internal/font/google/geist_a71539c9.module.css [app-client] (css) */
@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/53b9e256198e5412-s.390ncx5urfkfu.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/7178b3e590c64307-s.21jp631_3pja2.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Geist Fallback;
  src: local(Arial);
  ascent-override: 95.94%;
  descent-override: 28.16%;
  line-gap-override: 0.0%;
  size-adjust: 104.76%;
}

.geist_a71539c9-module__T19VSG__className {
  font-family: Geist, Geist Fallback;
  font-style: normal;
}

.geist_a71539c9-module__T19VSG__variable {
  --font-geist-sans: "Geist", "Geist Fallback";
}

/* [next]/internal/font/google/geist_mono_8d43a2aa.module.css [app-client] (css) */
@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/5ce348bf30bf5439-s.31988l_ccedte.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2") format("woff2");
  unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;
}

@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Geist Mono Fallback;
  src: local(Arial);
  ascent-override: 74.67%;
  descent-override: 21.92%;
  line-gap-override: 0.0%;
  size-adjust: 134.59%;
}

.geist_mono_8d43a2aa-module__8Li5zG__className {
  font-family: Geist Mono, Geist Mono Fallback;
  font-style: normal;
}

.geist_mono_8d43a2aa-module__8Li5zG__variable {
  --font-geist-mono: "Geist Mono", "Geist Mono Fallback";
}

/* [project]/src/app/globals.css [app-client] (css) */
@layer theme {
  :root, :host {
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
      "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
      "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

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

  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;
    -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 {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

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

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

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :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)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

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

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

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

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

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-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"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer components, utilities;

:root {
  --background: #f4f6f9;
  --foreground: #101827;
  --navy: #07111f;
  --navy-light: #0c1d33;
  --blue: #347fff;
  --muted: #687486;
  --line: #dbe1e9;
  --white: #fff;
  --content-width: 1440px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--background);
  color: var(--foreground);
  font-family: var(--font-geist-sans),
    "Pretendard",
    "Noto Sans KR",
    Arial,
    sans-serif;
  margin: 0;
}

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

.content-width {
  width: min(calc(100% - 64px), var(--content-width));
  margin: 0 auto;
}

.site-header {
  z-index: 100;
  color: var(--white);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  background: #07111ff0;
  border-bottom: 1px solid #ffffff14;
  position: sticky;
  top: 0;
}

.site-header-inner {
  width: min(calc(100% - 64px), var(--content-width));
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  min-height: 80px;
  margin: 0 auto;
  display: flex;
}

.site-logo {
  letter-spacing: -.04em;
  align-items: baseline;
  gap: 8px;
  display: inline-flex;
}

.site-logo strong {
  font-size: 23px;
}

.site-logo span {
  color: #75a8ff;
  letter-spacing: .18em;
  font-size: 12px;
  font-weight: 800;
}

.desktop-navigation {
  color: #ffffffb8;
  align-items: center;
  gap: 31px;
  font-size: 14px;
  font-weight: 650;
  display: flex;
}

.desktop-navigation a:hover {
  color: var(--white);
}

.header-contact {
  border: 1px solid #ffffff42;
  align-items: center;
  min-height: 42px;
  padding: 0 18px;
  font-size: 13px;
  font-weight: 750;
  display: inline-flex;
}

.hero-section {
  min-height: calc(100vh - 80px);
  color: var(--white);
  background: radial-gradient(circle at 78% 42%, #2e71df47, #0000 33%), linear-gradient(135deg, #07111f, #0a192c 62%, #102b4c);
  display: grid;
  position: relative;
  overflow: hidden;
}

.hero-grid {
  background-image: linear-gradient(#ffffff09 1px, #0000 1px), linear-gradient(90deg, #ffffff09 1px, #0000 1px);
  background-size: 72px 72px;
  position: absolute;
  inset: 0;
  -webkit-mask-image: linear-gradient(#000, #0000 95%);
  mask-image: linear-gradient(#000, #0000 95%);
}

.hero-content {
  z-index: 2;
  width: min(calc(100% - 64px), var(--content-width));
  margin: auto;
  padding: 120px 0 150px;
  position: relative;
}

.eyebrow {
  color: #4e91ff;
  letter-spacing: .19em;
  margin: 0 0 27px;
  font-size: 12px;
  font-weight: 850;
}

.hero-content h1 {
  letter-spacing: -.075em;
  margin: 0;
  font-size: clamp(62px, 7.5vw, 122px);
  font-weight: 730;
  line-height: .93;
}

.hero-content h1 span {
  color: #0000;
  -webkit-text-stroke: 1px #ffffffad;
}

.hero-description {
  color: #ffffffa6;
  margin: 43px 0 0;
  font-size: clamp(16px, 1.45vw, 21px);
  line-height: 1.8;
}

.hero-actions {
  gap: 12px;
  margin-top: 44px;
  display: flex;
}

.primary-button, .outline-button, .light-button {
  justify-content: center;
  align-items: center;
  min-height: 54px;
  padding: 0 28px;
  font-size: 14px;
  font-weight: 780;
  transition: transform .18s;
  display: inline-flex;
}

.primary-button {
  background: var(--blue);
  color: var(--white);
}

.outline-button {
  color: var(--white);
  border: 1px solid #ffffff40;
}

.light-button {
  background: var(--white);
  color: var(--navy);
}

.primary-button:hover, .outline-button:hover, .light-button:hover {
  transform: translateY(-2px);
}

.hero-graphic {
  width: min(36vw, 520px);
  height: min(39vw, 570px);
  position: absolute;
  bottom: 12%;
  right: max(5vw, 60px);
}

.server {
  background: linear-gradient(155deg, #28528e73, #050e1ad1);
  border: 1px solid #5b97ff7a;
  position: absolute;
  box-shadow: 0 30px 100px #00000059;
}

.server-large {
  width: 49%;
  height: 79%;
  bottom: 0;
  right: 12%;
}

.server-small {
  width: 31%;
  height: 55%;
  bottom: 7%;
  right: 55%;
}

.server span {
  background: radial-gradient(circle at 10%, #4c9aff 0 2px, #0000 3px), linear-gradient(90deg, #347fff36, #ffffff05);
  border: 1px solid #649eff45;
  height: 18%;
  margin: 8% 10%;
  display: block;
}

.network-node {
  background: var(--navy);
  border: 2px solid #5b9bff;
  border-radius: 50%;
  width: 10px;
  height: 10px;
  position: absolute;
  box-shadow: 0 0 20px #4c91ff;
}

.node-one {
  top: 20%;
  left: 4%;
}

.node-two {
  top: 45%;
  left: 0;
}

.node-three {
  top: 34%;
  left: 48%;
}

.intro-section {
  padding: 145px 0 75px;
}

.intro-grid {
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .7fr);
  align-items: end;
  gap: 80px;
  display: grid;
}

.intro-grid h2, .experience-copy h2, .process-section h2, .digital-copy h2, .media-section h2, .contact-section h2 {
  letter-spacing: -.065em;
  margin: 0;
  font-size: clamp(42px, 5vw, 76px);
  font-weight: 690;
  line-height: 1.06;
}

.intro-grid p, .experience-copy > p, .digital-copy > p, .contact-section > p {
  color: var(--muted);
  margin: 0;
  font-size: 17px;
  line-height: 1.85;
}

.services-section {
  padding-bottom: 145px;
}

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

.service-card {
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--white);
  flex-direction: column;
  justify-content: space-between;
  min-height: 315px;
  padding: 34px;
  transition: background .2s, color .2s, transform .2s;
  display: flex;
  position: relative;
}

.service-card:hover {
  z-index: 2;
  background: var(--navy);
  color: var(--white);
  transform: translateY(-5px);
}

.service-number {
  color: #7b8797;
  font-family: var(--font-geist-mono), monospace;
  font-size: 11px;
}

.service-card h3 {
  letter-spacing: -.04em;
  margin: 0 0 17px;
  font-size: 24px;
}

.service-card p {
  color: var(--muted);
  margin: 0;
  line-height: 1.75;
}

.service-card:hover p {
  color: #ffffffa1;
}

.service-arrow {
  position: absolute;
  top: 29px;
  right: 32px;
}

.experience-section {
  border-top: 1px solid var(--line);
  grid-template-columns: 1fr 1fr;
  gap: 100px;
  padding: 145px 0;
  display: grid;
}

.experience-copy > p {
  max-width: 600px;
  margin-top: 35px;
}

.text-link {
  border-bottom: 1px solid var(--foreground);
  margin-top: 40px;
  padding-bottom: 5px;
  font-weight: 750;
  display: inline-flex;
}

.experience-stats {
  border-top: 1px solid var(--line);
}

.experience-stats div {
  border-bottom: 1px solid var(--line);
  justify-content: space-between;
  align-items: baseline;
  padding: 34px 0;
  display: flex;
}

.experience-stats strong {
  letter-spacing: -.06em;
  font-size: clamp(42px, 5vw, 74px);
}

.experience-stats span {
  color: var(--muted);
  font-size: 13px;
}

.process-section {
  border-top: 1px solid var(--line);
  padding: 115px 0 145px;
}

.process-section h2 {
  margin-bottom: 65px;
  font-size: clamp(40px, 4vw, 60px);
}

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

.process-item {
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--white);
  flex-direction: column;
  justify-content: space-between;
  min-height: 170px;
  padding: 23px;
  display: flex;
}

.process-item span {
  color: var(--blue);
  font-family: var(--font-geist-mono), monospace;
  font-size: 11px;
}

.process-item strong {
  font-size: 17px;
}

.digital-section {
  background: var(--navy);
  min-height: 700px;
  color: var(--white);
  grid-template-columns: .9fr 1.1fr;
  display: grid;
  overflow: hidden;
}

.digital-copy {
  padding: 105px max(5vw, 56px);
}

.digital-copy > p {
  color: #ffffff94;
  max-width: 560px;
  margin-top: 34px;
}

.digital-tags {
  flex-wrap: wrap;
  gap: 8px;
  margin: 35px 0 43px;
  display: flex;
}

.digital-tags span {
  color: #ffffffb8;
  border: 1px solid #ffffff29;
  padding: 9px 13px;
  font-size: 12px;
}

.browser-preview {
  background: #e9eff6;
  border: 1px solid #ffffff2e;
  align-self: center;
  width: 82%;
  min-height: 470px;
  box-shadow: 0 50px 130px #00000073;
}

.browser-bar {
  background: var(--white);
  align-items: center;
  gap: 7px;
  height: 44px;
  padding: 0 16px;
  display: flex;
}

.browser-bar span {
  background: #aeb9c7;
  border-radius: 50%;
  width: 8px;
  height: 8px;
}

.browser-body {
  grid-template-columns: 22% 1fr;
  min-height: 426px;
  display: grid;
}

.browser-body aside {
  background: #101c2d;
}

.browser-body > div {
  padding: 60px 46px;
}

.preview-line {
  background: #bbc7d4;
  height: 17px;
  margin-bottom: 13px;
  display: block;
}

.preview-line-long {
  width: 70%;
}

.preview-line-short {
  width: 42%;
}

.preview-cards {
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
  margin-top: 68px;
  display: grid;
}

.preview-cards span {
  background: var(--white);
  min-height: 145px;
  box-shadow: 0 12px 28px #10233c14;
}

.media-section {
  justify-content: space-between;
  align-items: flex-end;
  gap: 60px;
  padding: 135px 0;
  display: flex;
}

.media-section h2 {
  font-size: clamp(38px, 4vw, 62px);
}

.media-link {
  border-bottom: 1px solid var(--foreground);
  justify-content: space-between;
  align-items: center;
  min-width: 310px;
  padding: 19px 0;
  font-weight: 750;
  display: flex;
}

.contact-section {
  background: #e5eaf1;
  margin-bottom: 75px;
  padding: 105px max(5vw, 70px);
}

.contact-section > p {
  max-width: 640px;
  margin: 33px 0 40px;
}

.site-footer {
  color: var(--white);
  padding: 74px max(32px, calc((100vw - var(--content-width)) / 2));
  background: #050b13;
}

.footer-main {
  justify-content: space-between;
  align-items: flex-start;
  gap: 60px;
  display: flex;
}

.footer-logo {
  letter-spacing: -.04em;
  margin: 0;
  font-size: 23px;
  font-weight: 850;
}

.footer-description {
  color: #ffffff7a;
  max-width: 430px;
  margin: 20px 0 0;
  line-height: 1.8;
}

.footer-socials {
  flex-wrap: wrap;
  gap: 26px;
  font-size: 13px;
  font-weight: 700;
  display: flex;
}

.footer-bottom {
  color: #ffffff6e;
  border-top: 1px solid #ffffff1a;
  justify-content: space-between;
  align-items: center;
  margin-top: 85px;
  padding-top: 27px;
  font-size: 12px;
  display: flex;
}

.footer-bottom > div {
  gap: 25px;
  display: flex;
}

.locale-placeholder {
  text-align: center;
  place-content: center;
  min-height: 70vh;
  display: grid;
}

.locale-placeholder p {
  color: var(--blue);
  letter-spacing: .16em;
  font-weight: 800;
}

@media (max-width: 1100px) {
  .desktop-navigation {
    display: none;
  }

  .hero-graphic {
    opacity: .52;
    right: -6%;
  }

  .intro-grid, .experience-section {
    grid-template-columns: 1fr;
  }

  .service-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .process-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .digital-section {
    grid-template-columns: 1fr;
  }

  .browser-preview {
    width: calc(100% - 110px);
    margin: 0 auto 80px;
  }
}

@media (max-width: 700px) {
  .content-width, .site-header-inner, .hero-content {
    width: calc(100% - 36px);
  }

  .site-header-inner {
    min-height: 68px;
  }

  .site-logo strong {
    font-size: 18px;
  }

  .header-contact {
    min-height: 38px;
    padding: 0 12px;
    font-size: 11px;
  }

  .hero-section {
    min-height: 760px;
  }

  .hero-content {
    padding: 95px 0 160px;
  }

  .hero-content h1 {
    font-size: 53px;
  }

  .hero-description {
    font-size: 15px;
  }

  .hero-description br {
    display: none;
  }

  .hero-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .hero-graphic {
    width: 78vw;
    height: 82vw;
    bottom: 5%;
    right: -30%;
  }

  .intro-section {
    padding-top: 95px;
  }

  .intro-grid {
    gap: 32px;
  }

  .intro-grid h2, .experience-copy h2, .digital-copy h2, .contact-section h2 {
    font-size: 41px;
  }

  .service-grid, .process-grid {
    grid-template-columns: 1fr;
  }

  .service-card {
    min-height: 260px;
  }

  .experience-section {
    gap: 65px;
    padding: 95px 0;
  }

  .process-section {
    padding: 90px 0 100px;
  }

  .digital-copy {
    padding: 84px 23px;
  }

  .browser-preview {
    width: calc(100% - 32px);
    min-height: 325px;
  }

  .browser-body {
    min-height: 281px;
  }

  .browser-body > div {
    padding: 40px 21px;
  }

  .preview-cards {
    gap: 8px;
    margin-top: 38px;
  }

  .preview-cards span {
    min-height: 92px;
  }

  .media-section, .footer-main, .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  .media-section {
    padding: 95px 0;
  }

  .media-link {
    min-width: 100%;
  }

  .contact-section {
    margin-bottom: 34px;
    padding: 76px 25px;
  }

  .site-footer {
    padding: 60px 23px;
  }

  .footer-bottom {
    gap: 20px;
    margin-top: 58px;
  }

  .footer-bottom > div {
    flex-direction: column;
    gap: 9px;
  }
}

.subpage-hero {
  min-height: 580px;
  color: var(--white);
  background: radial-gradient(circle at 78% 45%, #377ff43d, #0000 32%), linear-gradient(135deg, #07111f, #0b1d34 70%, #12345c);
  position: relative;
  overflow: hidden;
}

.subpage-hero-grid {
  background-image: linear-gradient(#ffffff09 1px, #0000 1px), linear-gradient(90deg, #ffffff09 1px, #0000 1px);
  background-size: 72px 72px;
  position: absolute;
  inset: 0;
}

.subpage-hero-inner {
  z-index: 2;
  width: min(calc(100% - 64px), var(--content-width));
  margin: 0 auto;
  padding: 145px 0 110px;
  position: relative;
}

.subpage-hero-inner h1 {
  letter-spacing: -.07em;
  max-width: 940px;
  margin: 0;
  font-size: clamp(56px, 6vw, 92px);
  font-weight: 720;
  line-height: 1.02;
}

.subpage-hero-inner > p:last-child {
  color: #ffffff9e;
  margin: 38px 0 0;
  font-size: 17px;
  line-height: 1.85;
}

.company-intro, .ceo-message, .company-history {
  padding: 140px 0;
}

.company-section-label {
  color: var(--blue);
  font-family: var(--font-geist-mono), monospace;
  letter-spacing: .15em;
  align-items: center;
  gap: 18px;
  margin-bottom: 68px;
  font-size: 11px;
  font-weight: 800;
  display: flex;
}

.company-section-label span {
  color: #8c98a8;
}

.company-section-label p {
  margin: 0;
}

.company-intro-grid, .ceo-message-grid, .company-history-heading, .company-profile-grid {
  grid-template-columns: 1fr 1fr;
  gap: 100px;
  display: grid;
}

.company-intro-grid h2, .ceo-message-title h2, .company-values-heading h2, .company-history-heading h2, .company-profile-grid h2 {
  letter-spacing: -.065em;
  margin: 0;
  font-size: clamp(42px, 5vw, 72px);
  font-weight: 690;
  line-height: 1.08;
}

.company-intro-grid > div p, .ceo-message-copy > p, .company-history-heading > p {
  color: var(--muted);
  margin: 0 0 25px;
  font-size: 17px;
  line-height: 1.9;
}

.ceo-message {
  border-top: 1px solid var(--line);
}

.ceo-quote-mark {
  color: var(--blue);
  margin: 0 0 10px;
  font-size: 74px;
  line-height: .8;
}

.ceo-signature {
  justify-content: flex-end;
  align-items: baseline;
  gap: 20px;
  margin-top: 55px;
  display: flex;
}

.ceo-signature span {
  color: var(--muted);
  font-size: 13px;
}

.ceo-signature strong {
  font-size: 24px;
}

.company-values-section {
  background: var(--navy);
  color: var(--white);
  padding: 135px 0;
}

.company-section-label-light {
  color: #6ba3ff;
}

.company-values-heading {
  margin-bottom: 75px;
}

.company-values-grid {
  border-top: 1px solid #ffffff24;
  border-left: 1px solid #ffffff24;
  grid-template-columns: repeat(4, 1fr);
  display: grid;
}

.company-values-grid article {
  border-bottom: 1px solid #ffffff24;
  border-right: 1px solid #ffffff24;
  min-height: 330px;
  padding: 32px;
}

.company-values-grid article > span {
  color: #6ba3ff;
  font-family: var(--font-geist-mono), monospace;
  font-size: 11px;
}

.company-values-grid h3 {
  margin: 120px 0 20px;
  font-size: 24px;
}

.company-values-grid p {
  color: #ffffff8a;
  margin: 0;
  line-height: 1.8;
}

.company-history {
  border-bottom: 1px solid var(--line);
}

.company-history-heading {
  align-items: end;
  margin-bottom: 85px;
}

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

.history-item {
  border-bottom: 1px solid var(--line);
  grid-template-columns: .7fr 1.3fr;
  gap: 80px;
  padding: 42px 0;
  display: grid;
}

.history-item h3 {
  letter-spacing: -.04em;
  margin: 0;
  font-size: 28px;
}

.history-item ul {
  color: var(--muted);
  gap: 13px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.history-item li:before {
  background: var(--blue);
  content: "";
  vertical-align: middle;
  border-radius: 50%;
  width: 5px;
  height: 5px;
  margin-right: 14px;
  display: inline-block;
}

.company-profile-section {
  background: #e7ebf1;
  padding: 130px 0;
}

.company-profile-grid dl {
  border-top: 1px solid #cbd3de;
  margin: 0;
}

.company-profile-grid dl div {
  border-bottom: 1px solid #cbd3de;
  grid-template-columns: 160px 1fr;
  padding: 24px 0;
  display: grid;
}

.company-profile-grid dt {
  color: var(--muted);
  font-size: 13px;
}

.company-profile-grid dd {
  margin: 0;
  font-weight: 650;
  line-height: 1.65;
}

@media (max-width: 900px) {
  .company-intro-grid, .ceo-message-grid, .company-history-heading, .company-profile-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .company-values-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .history-item {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

@media (max-width: 700px) {
  .subpage-hero {
    min-height: 520px;
  }

  .subpage-hero-inner {
    width: calc(100% - 36px);
    padding: 110px 0 80px;
  }

  .subpage-hero-inner h1 {
    font-size: 50px;
  }

  .subpage-hero-inner > p:last-child br {
    display: none;
  }

  .company-intro, .ceo-message, .company-history {
    padding: 95px 0;
  }

  .company-section-label {
    margin-bottom: 45px;
  }

  .company-values-section, .company-profile-section {
    padding: 90px 0;
  }

  .company-values-grid {
    grid-template-columns: 1fr;
  }

  .company-values-grid article {
    min-height: 270px;
  }

  .company-values-grid h3 {
    margin-top: 85px;
  }

  .ceo-signature {
    flex-direction: column;
    align-items: flex-end;
  }

  .company-profile-grid dl div {
    grid-template-columns: 1fr;
    gap: 9px;
  }
}

.infrastructure-hero {
  min-height: 650px;
}

.infra-hero-diagram {
  width: 430px;
  height: 430px;
  position: absolute;
  top: 50%;
  right: max(6vw, 70px);
  transform: translateY(-48%);
}

.infra-center {
  z-index: 3;
  text-align: center;
  background: #0e284ac7;
  border: 1px solid #639eff94;
  border-radius: 50%;
  place-content: center;
  width: 148px;
  height: 148px;
  display: grid;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 80px #2c75ed47, inset 0 0 30px #5091ff26;
}

.infra-center span {
  color: #6ba3ff;
  letter-spacing: .18em;
  font-size: 13px;
  font-weight: 800;
}

.infra-center strong {
  margin-top: 3px;
  font-size: 25px;
}

.infra-orbit {
  border: 1px solid #5b97ff47;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.infra-orbit-one {
  width: 280px;
  height: 280px;
}

.infra-orbit-two {
  width: 410px;
  height: 410px;
}

.infra-node {
  z-index: 2;
  color: #ffffffbf;
  min-width: 112px;
  min-height: 43px;
  font-family: var(--font-geist-mono), monospace;
  letter-spacing: .13em;
  background: #081930e6;
  border: 1px solid #639eff6b;
  place-content: center;
  font-size: 9px;
  display: grid;
  position: absolute;
}

.infra-node-server {
  top: 48px;
  left: 0;
}

.infra-node-network {
  top: 74px;
  right: 0;
}

.infra-node-storage {
  bottom: 65px;
  left: 8px;
}

.infra-node-security {
  bottom: 42px;
  right: 4px;
}

.infra-intro, .infra-services, .infra-process {
  padding: 135px 0;
}

.infra-intro-grid, .infra-benefit-heading, .infra-contact {
  grid-template-columns: 1fr 1fr;
  gap: 100px;
  display: grid;
}

.infra-intro-grid h2, .infra-benefit-heading h2, .infra-process-heading h2, .infra-contact h2 {
  letter-spacing: -.065em;
  margin: 0;
  font-size: clamp(42px, 5vw, 72px);
  font-weight: 690;
  line-height: 1.08;
}

.infra-intro-grid > div p, .infra-benefit-heading > p, .infra-contact > div:last-child > p {
  color: var(--muted);
  margin: 0 0 25px;
  font-size: 17px;
  line-height: 1.9;
}

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

.infra-service-item {
  border-bottom: 1px solid var(--line);
  grid-template-columns: .85fr 1.15fr;
  gap: 90px;
  padding: 56px 0;
  display: grid;
}

.infra-service-heading {
  grid-template-columns: 58px 1fr;
  align-items: start;
  display: grid;
}

.infra-service-heading > span {
  color: var(--blue);
  font-family: var(--font-geist-mono), monospace;
  font-size: 11px;
}

.infra-service-heading h2 {
  letter-spacing: -.055em;
  margin: 0;
  font-size: clamp(30px, 3vw, 48px);
}

.infra-service-content > p {
  max-width: 680px;
  color: var(--muted);
  margin: 0 0 28px;
  font-size: 16px;
  line-height: 1.85;
}

.infra-service-content ul {
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.infra-service-content li {
  padding-left: 17px;
  font-size: 14px;
  position: relative;
}

.infra-service-content li:before {
  background: var(--blue);
  content: "";
  border-radius: 50%;
  width: 5px;
  height: 5px;
  position: absolute;
  top: 8px;
  left: 0;
}

.infra-benefit-section {
  background: var(--navy);
  color: var(--white);
  padding: 135px 0;
}

.infra-benefit-heading {
  align-items: end;
  margin-bottom: 75px;
}

.infra-benefit-heading > p {
  color: #ffffff8c;
}

.infra-benefit-grid {
  border-top: 1px solid #ffffff24;
  border-left: 1px solid #ffffff24;
  grid-template-columns: repeat(4, 1fr);
  display: grid;
}

.infra-benefit-grid article {
  border-bottom: 1px solid #ffffff24;
  border-right: 1px solid #ffffff24;
  min-height: 320px;
  padding: 31px;
}

.infra-benefit-grid strong {
  color: #6ba3ff;
  font-family: var(--font-geist-mono), monospace;
  font-size: 11px;
}

.infra-benefit-grid h3 {
  margin: 105px 0 19px;
  font-size: 23px;
}

.infra-benefit-grid p {
  color: #ffffff8a;
  margin: 0;
  line-height: 1.8;
}

.infra-process {
  border-bottom: 1px solid var(--line);
}

.infra-process-heading {
  margin-bottom: 70px;
}

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

.infra-process-grid article {
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--white);
  min-height: 255px;
  padding: 27px;
}

.infra-process-grid span {
  color: var(--blue);
  font-family: var(--font-geist-mono), monospace;
  font-size: 11px;
}

.infra-process-grid h3 {
  margin: 85px 0 18px;
  font-size: 20px;
}

.infra-process-grid p {
  color: var(--muted);
  margin: 0;
  font-size: 14px;
  line-height: 1.75;
}

.infra-contact {
  background: #e5eaf1;
  align-items: end;
  margin-top: 80px;
  margin-bottom: 80px;
  padding: 100px max(5vw, 70px);
}

.infra-contact > div:last-child > p {
  max-width: 570px;
}

.infra-contact .primary-button {
  margin-top: 15px;
}

@media (max-width: 1050px) {
  .infra-hero-diagram {
    opacity: .5;
    right: -70px;
  }

  .infra-benefit-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .infra-process-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 900px) {
  .infra-intro-grid, .infra-benefit-heading, .infra-contact, .infra-service-item {
    grid-template-columns: 1fr;
    gap: 45px;
  }
}

@media (max-width: 700px) {
  .infrastructure-hero {
    min-height: 560px;
  }

  .infra-hero-diagram {
    width: 360px;
    height: 360px;
    top: auto;
    bottom: -80px;
    right: -155px;
    transform: none;
  }

  .infra-orbit-one {
    width: 235px;
    height: 235px;
  }

  .infra-orbit-two {
    width: 350px;
    height: 350px;
  }

  .infra-intro, .infra-services, .infra-process, .infra-benefit-section {
    padding: 90px 0;
  }

  .infra-service-heading {
    grid-template-columns: 42px 1fr;
  }

  .infra-service-content ul, .infra-benefit-grid, .infra-process-grid {
    grid-template-columns: 1fr;
  }

  .infra-contact {
    margin: 34px auto;
    padding: 76px 25px;
  }
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__04kpziu._.css.map*/