/* =============================================
   FONT FACES
   ============================================= */

@font-face {
  font-family: Inter Display;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../InterDisplay-SemiBold_EZjylir0CF0aFqquaJVBA.woff2) format("woff2");
}

@font-face {
  font-family: DM Sans;
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url(../DMSans-VariableFont_opsz_wght_024TU8xKTl_JWSQ8iEN-W.ttf) format("truetype");
}


/* =============================================
   PRESETS LAYER — BASE / RESET STYLES
   ============================================= */

@layer presets {

  :root {
    display: block;
    font-family: Arial, Roboto, sans-serif;
    font-size: 16px;
    line-height: 1.2;
    white-space: pre-wrap;
    white-space-collapse: preserve;
  }

  a.w-element {
    box-sizing: border-box;
  }

  body.w-element {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin: 0;
  }

  div.w-element,
  h3.w-element,
  h4.w-element,
  p.w-element,
  span.w-element {
    box-sizing: border-box;
  }

  a.w-link {
    box-sizing: border-box;
    display: inline-block;
  }

  div.w-html-embed {
    display: contents;
    white-space: normal;
    white-space-collapse: collapse;
  }

  body.w-body {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin: 0;
  }

  div.w-box {
    box-sizing: border-box;
  }

  img.w-image {
    box-sizing: border-box;
    max-width: 100%;
    display: block;
    height: auto;
  }

  h1.w-heading,
  h2.w-heading,
  h3.w-heading {
    box-sizing: border-box;
  }

  div.w-text {
    box-sizing: border-box;
    min-height: 1em;
  }

  p.w-paragraph {
    box-sizing: border-box;
  }

}


/* =============================================
   ALL MEDIA — COMPONENT STYLES
   ============================================= */

@media all {

  /* --- 404 / Error Page --- */

  .w-element-1 {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
  }

  .w-element-2 {
    position: relative;
    text-align: center;
    font-weight: 900;
    font-size: 8rem;
    line-height: 1;
    letter-spacing: -0.05em;
  }

  .w-element-3 {
    position: absolute;
    top: 0;
    right: -0.125rem;
    bottom: 0;
    left: 0.125rem;
    opacity: 0.3;
  }

  .w-element-4 {
    position: absolute;
    top: 0;
    right: 0.125rem;
    bottom: 0;
    left: -0.125rem;
    opacity: 0.3;
  }

  .w-element-5 {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    background-color: #fff;
    height: 0.375rem;
  }

  .w-element-6 {
    margin-top: 1.5rem;
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 2rem;
    letter-spacing: 0.05em;
  }

  .w-logo {
    display: block;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
  }

  /* --- Layout Helpers --- */

  .w-guide-container {
    position: relative;
  }

  /* --- Typography & Content --- */

  .w-content {
    display: block;
    white-space: normal;
    font-family: DM Sans, sans-serif;
    color: #e7e5e4;
    font-size: 1.25rem;
    line-height: 1.375;
  }

  /* --- Hero Section --- */

  .w-hero {
    display: flex;
    flex-direction: column;
    column-gap: 2rem;
    row-gap: 2rem;
    height: auto;
    align-items: center;
    min-height: 80svw;
    padding: 2rem;
  }

  .w-img {
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 25%;
  }

  .w-image-1 {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .w-overlay {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 50%;
    background-attachment: scroll;
    -webkit-background-clip: border-box;
    background-clip: border-box;
    background-blend-mode: normal;
    background-image: linear-gradient(90deg, #1e293b 50%, #1e293b00);
    background-origin: padding-box;
    background-repeat: repeat;
    background-size: auto;
    background-position: 0% center;
  }

  /* --- Navigation / Home Link --- */

  .w-home {
    text-decoration-line: none;
    position: relative;
    color: #e7e5e4;
    width: 100%;
    max-width: 1216px;
  }

  /* --- Background Sections --- */

  .w-bg-1 {
    position: relative;
    margin-top: 0rem;
  }

  .w-content-1 {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 2;
  }

  /* --- Features Section --- */

  .w-features {
    display: flex;
    flex-direction: column;
    padding: 6rem 2rem;
    column-gap: 6em;
    row-gap: 6em;
  }

  .w-feature-2 {
    display: flex;
    align-items: center;
    column-gap: 4rem;
    row-gap: 4rem;
  }

  .w-img-1 {
    width: 100%;
    overflow-x: hidden;
    overflow-y: hidden;
    border-radius: 0.5rem;
  }

  .w-image-2 {
    width: 40%;
    aspect-ratio: 1.5;
    object-fit: cover;
  }

  .w-bg {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: #0f172a;
    margin-top: 0rem;
  }

  /* --- Dark Section --- */

  .w-bg-2 {
    background-color: #1e293b;
    position: relative;
  }

  .w-content-2 {
    margin-left: auto;
    margin-right: auto;
    max-width: 1280px;
    padding: 6rem 2rem;
    display: flex;
    flex-direction: column;
    column-gap: 6em;
    row-gap: 6em;
  }

  /* --- About Section --- */

  .w-about {
    max-width: 1024px;
    display: flex;
    flex-direction: column;
    column-gap: 1rem;
    row-gap: 1rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .w-heading-1 {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 2.25em;
    line-height: 1.25;
  }

  /* --- Testimonials Section --- */

  .w-testimonials {
    box-shadow: 0 25px 50px -12px #00000040;
    background-color: #334155;
    display: flex;
    flex-direction: column;
    column-gap: 2rem;
    row-gap: 2rem;
    border-radius: 0.5rem;
    padding: 4rem 2rem;
  }

  .w-heading-2 {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 2.25em;
    line-height: 1.25;
  }

  /* --- Columns Layout --- */

  .w-columns {
    display: flex;
    column-gap: 2rem;
    row-gap: 2rem;
  }

  .w-col-1,
  .w-col-2,
  .w-col-3 {
    width: 100%;
    display: flex;
    flex-direction: column;
    column-gap: 1rem;
    row-gap: 1rem;
  }

  .w-heading-3,
  .w-paragraph-1,
  .w-heading-4,
  .w-paragraph-2,
  .w-heading-5,
  .w-paragraph-3 {
    margin-top: 0;
    margin-bottom: 0;
  }

  /* --- Footer --- */

  .w-footer {
    background-color: #020617;
    position: relative;
  }

  .w-footer-inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 1280px;
    display: flex;
    flex-direction: column;
    align-items: center;
    column-gap: 1rem;
    row-gap: 1rem;
    padding: 2rem;
  }

  .w-social-icons {
    display: flex;
    column-gap: 1rem;
    row-gap: 1rem;
    justify-content: center;
    max-width: 100px;
  }

  .w-text-1 {
    text-align: center;
  }

  /* --- Secondary About Block --- */

  .w-about-1 {
    max-width: 1024px;
    display: flex;
    flex-direction: column;
    column-gap: 1rem;
    row-gap: 1rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .w-heading-6 {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 2.25em;
    line-height: 1.25;
  }

  /* --- Site Heading / Hero Text --- */

  .w-site-heading {
    column-gap: 1rem;
    row-gap: 1rem;
    position: relative;
    margin-top: auto;
    margin-bottom: auto;
    width: 100%;
    max-width: 1216px;
    padding-right: 30svw;
  }

  .w-heading-7 {
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1;
    width: 30svw;
    font-size: 1.5em;
  }

  :root {
    display: block;
  }

}


/* =============================================
   RESPONSIVE — TABLET (max-width: 767px)
   ============================================= */

@media all and (max-width: 767px) {

  .w-hero {
    height: auto;
    min-height: 100svw;
  }

  .w-img {
    left: 0%;
    right: 0;
  }

  .w-image-1 {
    height: 100%;
    object-fit: cover;
  }

  .w-overlay {
    right: 0%;
    bottom: 50%;
    background-attachment: scroll;
    -webkit-background-clip: border-box;
    background-clip: border-box;
    background-blend-mode: normal;
    background-image: linear-gradient(180deg, #1e293b, #1e293b00);
    background-origin: padding-box;
    background-repeat: repeat;
    background-size: auto;
    background-position: 0% center;
  }

  .w-feature-2 {
    flex-direction: column;
    column-gap: 3em;
    row-gap: 3em;
  }

  .w-img-1 {
    aspect-ratio: 1;
  }

  .w-image-2 {
    height: 100%;
    object-fit: cover;
    aspect-ratio: 0.6666666666666666;
  }

  .w-columns {
    flex-direction: column;
  }

  .w-site-heading {
    margin-top: 0;
    padding-right: 0svw;
  }

  .w-heading-7 {
    width: auto;
  }

}


/* =============================================
   RESPONSIVE — MOBILE (max-width: 479px)
   ============================================= */

@media all and (max-width: 479px) {

  .w-hero {
    padding-left: 0rem;
    padding-right: 0rem;
    background-color: #17171a;
    height: auto;
    min-height: 100svw;
  }

  .w-img {
    bottom: 10rem;
  }

  .w-home {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .w-feature-2 {
    flex-direction: column;
  }

  .w-content-2 {
    padding-left: 0rem;
    padding-right: 0rem;
  }

  .w-heading-1 {
    font-size: 1.5em;
  }

  .w-testimonials {
    border-radius: 0rem;
  }

  .w-heading-2,
  .w-heading-6 {
    font-size: 1.5em;
  }

  .w-site-heading {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .w-heading-7 {
    font-size: 2.25em;
  }

}
