/* Fonts */

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      font-family: 'DM Sans', system-ui, sans-serif;
      background: oklch(97.5% 0.008 247);
      color: oklch(13% 0.02 250);
      -webkit-font-smoothing: antialiased;
      text-wrap: pretty;
    }
    a { color: oklch(33% 0.11 254); }
    a:hover { color: oklch(22% 0.11 254); text-decoration: underline; }
    ::placeholder { color: oklch(68% 0.01 247); }
    input, textarea, button { font-family: inherit; }
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(22px); }
      to { opacity: 1; transform: translateY(0); }
    }
    @keyframes marquee {
      0% { transform: translateX(0); }
      100% { transform: translateX(-50%); }
    }
    .cursor-blink {
      display: inline-block;
      width: 2px;
      height: 1.1em;
      background: oklch(33% 0.11 254);
      margin-left: 3px;
      vertical-align: text-bottom;
      animation: cursorBlink 0.55s step-end infinite;
    }
    @keyframes cursorBlink {
      0%, 100% { opacity: 1; }
      50% { opacity: 0; }
    }
  

/* Generated component styles */
.s1 { position: fixed; top: 0; left: 0; right: 0; z-index: 100; background: transparent; box-shadow: none; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); transition: background 0.3s, box-shadow 0.3s; padding: 0 48px; }
.s2 { max-width: 1240px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; height: 70px; }
.s3 { font-size: 15px; font-weight: 600; letter-spacing: -0.02em; color: oklch(13% 0.02 250); text-decoration: none; }
.s4 { display: flex; gap: 36px; align-items: center; }
.s5 { font-size: 14px; font-weight: 400; color: oklch(44% 0.015 248); text-decoration: none; }
.s5:hover { color: oklch(13% 0.02 250) }
.s6 { font-size: 14px; font-weight: 500; color: oklch(33% 0.11 254); border: 1.5px solid oklch(33% 0.11 254); padding: 8px 20px; border-radius: 4px; text-decoration: none; transition: background 0.18s, color 0.18s; }
.s6:hover { background: oklch(33% 0.11 254); color: white; }
.s7 { min-height: 100vh; display: flex; align-items: center; padding: 130px 48px 100px; }
.s8 { max-width: 1240px; margin: 0 auto; width: 100%; display: grid; grid-template-columns: 1fr 420px; gap: 100px; align-items: center; }
.s9 { font-size: 44px; font-weight: 300; line-height: 1.1; letter-spacing: -0.02em; color: oklch(13% 0.02 250); margin-bottom: 24px; margin-top: -8px; height: 54px; white-space: nowrap; }
.s10 { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 36px; animation: fadeUp 0.7s 0.5s ease both; }
.s11 { font-size: 12px; font-weight: 500; letter-spacing: 0.07em; text-transform: uppercase; color: oklch(33% 0.11 254); background: oklch(93% 0.04 254); padding: 5px 13px; border-radius: 3px; }
.s12 { animation: fadeUp 0.7s 0.6s ease both; }
.s13 { font-size: 40px; font-weight: 300; line-height: 1.0; letter-spacing: -0.025em; color: oklch(13% 0.02 250); }
.s14 { font-size: 40px; font-weight: 600; line-height: 1.0; letter-spacing: -0.025em; color: oklch(13% 0.02 250); margin-bottom: 6px; }
.s15 { font-size: 18px; font-weight: 400; color: oklch(33% 0.11 254); letter-spacing: 0.01em; margin-bottom: 36px; }
.s16 { font-size: 17px; font-weight: 300; line-height: 1.78; color: oklch(34% 0.015 248); max-width: 560px; margin-bottom: 52px; animation: fadeUp 0.7s 0.7s ease both; }
.s17 { display: flex; gap: 14px; flex-wrap: wrap; animation: fadeUp 0.7s 0.24s ease both; }
.s18 { font-size: 15px; font-weight: 500; background: oklch(33% 0.11 254); color: white; padding: 15px 32px; border-radius: 4px; text-decoration: none; transition: background 0.18s; }
.s18:hover { background: oklch(25% 0.11 254); text-decoration: none; }
.s19 { font-size: 15px; font-weight: 500; color: oklch(33% 0.11 254); border: 1.5px solid oklch(75% 0.06 254); padding: 15px 32px; border-radius: 4px; text-decoration: none; transition: border-color 0.18s; }
.s19:hover { border-color: oklch(33% 0.11 254); text-decoration: none; }
.s20 { animation: fadeUp 0.7s 0.12s ease both; position: relative; max-width: 480px; margin: 0 auto; padding: 70px; }
.s21 { position: absolute; inset: 0; background: radial-gradient(circle at 50% 46%, oklch(85% 0.006 247) 0%, oklch(85% 0.006 247) 34%, oklch(85% 0.006 247 / 0.65) 50%, oklch(85% 0.006 247 / 0.22) 68%, transparent 85%); pointer-events: none; }
.s22 { position: absolute; left: 8%; right: 8%; top: 18%; height: 1px; background: oklch(60% 0.008 247 / 0.35); pointer-events: none; }
.s23 { position: absolute; left: 4%; right: 4%; top: 82%; height: 1px; background: oklch(60% 0.008 247 / 0.35); pointer-events: none; }
.s24 { position: absolute; left: 10%; top: 18%; width: 4px; height: 4px; border-radius: 50%; background: oklch(60% 0.008 247 / 0.4); pointer-events: none; }
.s25 { position: absolute; right: 9%; top: 18%; width: 4px; height: 4px; border-radius: 50%; background: oklch(60% 0.008 247 / 0.4); pointer-events: none; }
.s26 { position: absolute; left: 6%; top: 82%; width: 4px; height: 4px; border-radius: 50%; background: oklch(60% 0.008 247 / 0.4); pointer-events: none; }
.s27 { position: absolute; right: 5%; top: 82%; width: 4px; height: 4px; border-radius: 50%; background: oklch(60% 0.008 247 / 0.4); pointer-events: none; }
.s28 { position: relative; max-width: 340px; margin: 0 auto; }
.s29 { position: relative; padding: 26px 22px; background: linear-gradient(150deg, oklch(93% 0.004 247) 0%, oklch(86% 0.006 247) 45%, oklch(80% 0.008 247) 100%); border-radius: 34px; box-shadow: 0 28px 60px oklch(13% 0.04 252 / 0.2), inset 0 1px 2px oklch(100% 0 0 / 0.7); }
.s30 { position: relative; padding: 10px; background: linear-gradient(155deg, oklch(55% 0.01 247) 0%, oklch(38% 0.012 247) 50%, oklch(28% 0.012 247) 100%); border-radius: 90px / 68px; box-shadow: inset 0 4px 10px oklch(0% 0 0 / 0.55), inset 0 -2px 4px oklch(100% 0 0 / 0.08); }
.s31 { position: relative; padding: 5px; background: oklch(15% 0.01 247); border-radius: 82px / 60px; box-shadow: inset 0 3px 10px oklch(0% 0 0 / 0.7); }
.s32 { width: 100%; height: 380px; object-fit: cover; object-position: center 15%; border-radius: 76px / 55px; display: block; }
.s33 { position: absolute; top: 5px; left: 5px; right: 5px; bottom: 5px; border-radius: 76px / 55px; background: linear-gradient(125deg, oklch(100% 0 0 / 0.22) 0%, oklch(100% 0 0 / 0.06) 18%, transparent 38%), linear-gradient(-60deg, transparent 70%, oklch(100% 0 0 / 0.08) 88%, transparent 100%); pointer-events: none; }
.s34 { position: absolute; top: 8px; left: 50%; transform: translateX(-50%); width: 46px; height: 6px; background: oklch(65% 0.008 247); border-radius: 3px; box-shadow: 0 1px 1px oklch(0% 0 0 / 0.25); }
.s35 { background: white; padding: 64px 48px; }
.s36 { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: 300px 1fr; gap: 100px; }
.s37 { font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: oklch(33% 0.11 254); margin-bottom: 24px; }
.s38 { font-size: 34px; font-weight: 300; line-height: 1.25; letter-spacing: -0.02em; color: oklch(13% 0.02 250); margin-bottom: 32px; }
.s39 { position: relative; }
.s40 { width: 100%; height: 320px; object-fit: cover; object-position: center 20%; border-radius: 4px; box-shadow: 0 20px 44px oklch(13% 0.04 252 / 0.16); position: relative; z-index: 2; }
.s41 { font-size: 17px; font-weight: 400; line-height: 1.82; color: oklch(24% 0.018 248); margin-bottom: 26px; }
.s42 { font-size: 17px; font-weight: 400; line-height: 1.82; color: oklch(24% 0.018 248); }
.s43 { background: oklch(95.5% 0.015 250); padding: 64px 48px; }
.s44 { max-width: 1240px; margin: 0 auto; }
.s45 { font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: oklch(33% 0.11 254); margin-bottom: 36px; }
.s46 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 48px; }
.s47 { background: white; padding: 40px 36px; border-radius: 5px; border-top: 3px solid oklch(33% 0.11 254); }
.s48 { height: 32px; width: auto; object-fit: contain; margin-bottom: 20px; display: block; }
.s49 { font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: oklch(33% 0.11 254); margin-bottom: 16px; }
.s50 { font-size: 19px; font-weight: 500; line-height: 1.3; color: oklch(13% 0.02 250); margin-bottom: 10px; }
.s51 { font-size: 14px; color: oklch(48% 0.015 248); line-height: 1.5; }
.s52 { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; }
.s53 { height: 32px; width: auto; object-fit: contain; display: block; }
.s54 { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid oklch(87% 0.012 247); }
.s55 { padding: 28px 0 28px 40px; border-bottom: 1px solid oklch(87% 0.012 247); border-left: 1px solid oklch(87% 0.012 247); display: flex; gap: 18px; align-items: flex-start; }
.s56 { height: 28px; width: auto; object-fit: contain; flex-shrink: 0; margin-top: 2px; }
.s57 { font-size: 15.5px; font-weight: 500; color: oklch(13% 0.02 250); margin-bottom: 3px; }
.s58 { font-size: 13.5px; color: oklch(48% 0.015 248); }
.s59 { padding: 28px 40px 28px 0; border-bottom: 1px solid oklch(87% 0.012 247); display: flex; gap: 18px; align-items: flex-start; }
.s60 { padding: 28px 0 28px 40px; border-left: 1px solid oklch(87% 0.012 247); border-bottom: 1px solid oklch(87% 0.012 247); display: flex; gap: 18px; align-items: flex-start; }
.s61 { padding: 28px 40px 28px 0; display: flex; gap: 18px; align-items: flex-start; }
.s62 { padding: 28px 0 28px 40px; border-left: 1px solid oklch(87% 0.012 247); display: flex; gap: 18px; align-items: flex-start; }
.s63 { background: white; padding: 32px 0; overflow: hidden; border-top: 1px solid oklch(92% 0.01 247); border-bottom: 1px solid oklch(92% 0.01 247); }
.s64 { display: flex; animation: marquee 32s linear infinite; width: max-content; }
.s65 { display: flex; gap: 80px; align-items: center; padding: 0 40px; flex-shrink: 0; }
.s66 { height: 56px; width: auto; object-fit: contain; }
.s67 { height: 36px; width: auto; object-fit: contain; }
.s68 { height: 44px; width: auto; object-fit: contain; }
.s69 { height: 52px; width: auto; object-fit: contain; }
.s70 { background: white; padding: 64px 48px 0; }
.s71 { display: grid; grid-template-columns: 300px 1fr; gap: 100px; margin-bottom: 36px; }
.s72 { font-size: 34px; font-weight: 300; line-height: 1.25; letter-spacing: -0.02em; color: oklch(13% 0.02 250); }
.s73 { font-size: 17px; font-weight: 300; line-height: 1.82; color: oklch(34% 0.015 248); margin-bottom: 36px; }
.s74 { font-size: 14px; font-weight: 500; color: oklch(33% 0.11 254); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.s74:hover { text-decoration: underline; }
.s75 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-bottom: 48px; }
.s76 { padding: 40px; background: oklch(97.5% 0.008 247); border-radius: 5px; border-left: 3px solid oklch(33% 0.11 254); }
.s77 { font-size: 17px; font-weight: 600; color: oklch(13% 0.02 250); margin-bottom: 12px; }
.s78 { font-size: 15px; font-weight: 300; line-height: 1.72; color: oklch(38% 0.015 248); }
.s79 { background: oklch(95.5% 0.015 250); border-radius: 5px; padding: 40px 48px; position: relative; }
.s80 { position: absolute; top: 40px; right: 48px; height: 64px; width: auto; object-fit: contain; }
.s81 { font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: oklch(33% 0.11 254); margin-bottom: 16px; }
.s82 { font-size: 26px; font-weight: 400; letter-spacing: -0.02em; color: oklch(13% 0.02 250); margin-bottom: 16px; line-height: 1.25; max-width: 85%; }
.s83 { font-size: 15px; font-weight: 300; line-height: 1.8; color: oklch(34% 0.015 248); margin-bottom: 20px; max-width: 780px; }
.s84 { color: oklch(33% 0.11 254); font-weight: 500; text-decoration: none; }
.s84:hover { text-decoration: underline; }
.s85 { display: flex; gap: 28px; flex-wrap: wrap; }
.s86 { background: white; padding: 40px 48px 64px; }
.s87 { font-size: 15px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: oklch(33% 0.11 254); margin-bottom: 60px; }
.s88 { display: grid; grid-template-columns: 300px 1fr; gap: 60px; margin-bottom: 36px; align-items: start; }
.s89 { font-size: 22px; font-weight: 400; letter-spacing: -0.01em; color: oklch(13% 0.02 250); line-height: 1.3; margin-bottom: 12px; }
.s90 { font-size: 14px; color: oklch(48% 0.015 248); line-height: 1.6; }
.s91 { padding: 28px 0; border-bottom: 1px solid oklch(91% 0.01 247); display: grid; grid-template-columns: 52px 1fr; gap: 20px; align-items: start; }
.s92 { font-size: 12px; font-weight: 600; color: oklch(33% 0.11 254); padding-top: 2px; }
.s93 { font-size: 15px; font-weight: 400; line-height: 1.65; color: oklch(24% 0.018 248); margin-bottom: 8px; }
.s94 { font-weight: 600; }
.s95 { font-size: 13px; color: oklch(33% 0.11 254); text-decoration: none; }
.s95:hover { text-decoration: underline; }
.s96 { padding: 28px 0; display: grid; grid-template-columns: 52px 1fr; gap: 20px; align-items: start; }
.s97 { border-top: 1px solid oklch(91% 0.01 247); margin-bottom: 36px; }
.s98 { display: grid; grid-template-columns: 300px 1fr; gap: 100px; margin-bottom: 36px; align-items: start; }
.s99 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.s100 { background: oklch(95.5% 0.015 250); border-radius: 5px; padding: 28px; text-decoration: none; display: block; }
.s100:hover { background: oklch(93% 0.02 250); }
.s101 { font-size: 12px; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; color: oklch(33% 0.11 254); margin-bottom: 10px; }
.s102 { font-size: 15px; font-weight: 500; color: oklch(13% 0.02 250); line-height: 1.4; margin-bottom: 8px; }
.s103 { font-size: 13px; color: oklch(52% 0.015 248); }
.s104 { display: grid; grid-template-columns: 300px 1fr; gap: 100px; align-items: start; }
.s105 { padding: 28px 0; border-bottom: 1px solid oklch(91% 0.01 247); text-decoration: none; display: block; }
.s105:hover { opacity: 0.7; }
.s106 { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.s107 { font-size: 12px; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; color: oklch(33% 0.11 254); }
.s108 { height: 30px; width: auto; object-fit: contain; }
.s109 { font-size: 16px; font-weight: 500; color: oklch(13% 0.02 250); line-height: 1.4; margin-bottom: 8px; }
.s110 { font-size: 14px; font-weight: 300; color: oklch(48% 0.015 248); line-height: 1.65; }
.s111 { padding: 28px 0; text-decoration: none; display: block; }
.s111:hover { opacity: 0.7; }
.s112 { background: white; padding: 0 48px 100px; }
.s113 { background: oklch(13% 0.04 252); border-radius: 5px; padding: 56px 60px; }
.s114 { font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: white; margin-bottom: 20px; }
.s115 { font-size: 28px; font-weight: 500; letter-spacing: -0.02em; color: white; margin-bottom: 20px; line-height: 1.2; }
.s116 { font-size: 16px; font-weight: 300; line-height: 1.78; color: white; max-width: 780px; margin-bottom: 28px; }
.s117 { font-size: 14px; font-weight: 500; color: white; text-decoration: none; }
.s117:hover { text-decoration: underline; }
.s118 { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 40px; }
.s119 { font-size: 34px; font-weight: 300; line-height: 1.25; letter-spacing: -0.02em; color: oklch(13% 0.02 250); max-width: 480px; }
.s120 { font-size: 14px; font-weight: 500; color: oklch(33% 0.11 254); text-decoration: none; white-space: nowrap; }
.s120:hover { text-decoration: underline; }
.s121 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.s122 { background: white; border-radius: 5px; overflow: hidden; display: flex; flex-direction: column; }
.s123 { width: 100%; height: 280px; object-fit: cover; object-position: center top; display: block; }
.s124 { padding: 28px 28px 32px; flex: 1; }
.s125 { font-size: 16px; font-weight: 500; color: oklch(13% 0.02 250); line-height: 1.35; margin-bottom: 8px; }
.s126 { font-size: 14px; color: oklch(52% 0.015 248); }
.s127 { width: 100%; height: 280px; object-fit: cover; object-position: center 20%; display: block; }
.s128 { width: 100%; height: 280px; object-fit: cover; object-position: center; display: block; }
.s129 { display: block; text-decoration: none; }
.s130 { background: white; border-radius: 5px; overflow: hidden; display: flex; flex-direction: column; text-decoration: none; }
.s130:hover { opacity: 0.85; }
.s131 { width: 100%; height: 280px; object-fit: contain; object-position: center top; background: oklch(97% 0.005 247); display: block; }
.s132 { width: 100%; height: 280px; object-fit: cover; object-position: center 30%; display: block; }
.s133 { max-width: 1240px; margin: 0 auto; display: flex; flex-direction: column; gap: 0; }
.s134 { display: grid; grid-template-columns: 300px 1fr; gap: 100px; padding-bottom: 44px; border-bottom: 1px solid oklch(91% 0.01 247); align-items: start; margin-bottom: 44px; }
.s135 { font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: oklch(33% 0.11 254); margin-bottom: 12px; }
.s136 { font-size: 22px; font-weight: 400; letter-spacing: -0.01em; color: oklch(13% 0.02 250); line-height: 1.3; }
.s137 { padding: 14px 0; border-bottom: 1px solid oklch(93% 0.01 247); display: grid; grid-template-columns: 1fr 180px; gap: 16px; align-items: baseline; }
.s138 { font-size: 15px; font-weight: 500; color: oklch(18% 0.02 250); }
.s139 { font-size: 13px; color: oklch(52% 0.015 248); text-align: right; }
.s140 { padding: 14px 0; display: grid; grid-template-columns: 1fr 180px; gap: 16px; align-items: baseline; }
.s141 { font-size: 15px; font-weight: 500; color: oklch(18% 0.02 250); text-decoration: none; }
.s141:hover { color: oklch(33% 0.11 254); }
.s142 { font-size: 12px; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; color: oklch(52% 0.015 248); margin-bottom: 4px; padding-top: 4px; }
.s143 { margin-bottom: 32px; }
.s144 { padding: 14px 0; border-bottom: 1px solid oklch(93% 0.01 247); display: grid; grid-template-columns: 1fr 200px; gap: 16px; align-items: baseline; }
.s145 { padding: 14px 0; display: grid; grid-template-columns: 1fr 200px; gap: 16px; align-items: baseline; }
.s146 { font-size: 12px; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; color: oklch(52% 0.015 248); margin-bottom: 4px; }
.s147 { background: oklch(14% 0.04 252); padding: 64px 48px; }
.s148 { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 120px; align-items: start; }
.s149 { font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: white; margin-bottom: 28px; }
.s150 { font-size: 44px; font-weight: 300; line-height: 1.1; letter-spacing: -0.025em; color: white; margin-bottom: 32px; }
.s151 { font-size: 17px; font-weight: 300; line-height: 1.78; color: white; margin-bottom: 36px; }
.s152 { display: flex; flex-direction: column; gap: 20px; }
.s153 { font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: white; margin-bottom: 6px; }
.s154 { font-size: 15px; color: white; }
.s155 { padding: 60px 48px; background: oklch(0.2 0.04 252); border-radius: 5px; text-align: center; display: none; }
.s156 { font-size: 32px; font-weight: 300; color: white; margin-bottom: 16px; }
.s157 { font-size: 16px; font-weight: 300; color: white; line-height: 1.7; }
.s158 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.s159 { display: flex; flex-direction: column; gap: 8px; }
.s160 { font-size: 12px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: white; }
.s161 { background: oklch(20% 0.04 252); border: 1px solid oklch(28% 0.04 252); border-radius: 4px; padding: 13px 16px; font-size: 15px; color: white; outline: none; }
.s161:focus { border-color: oklch(60% 0.07 254); }
.s162 { background: oklch(20% 0.04 252); border: 1px solid oklch(28% 0.04 252); border-radius: 4px; padding: 13px 16px; font-size: 15px; color: white; outline: none; resize: vertical; }
.s162:focus { border-color: oklch(60% 0.07 254); }
.s163 { font-size: 15px; font-weight: 500; background: oklch(33% 0.11 254); color: white; border: none; border-radius: 4px; padding: 16px 32px; cursor: pointer; text-align: left; transition: background 0.18s; }
.s163:hover { background: oklch(25% 0.11 254); }
.s164 { background: oklch(9% 0.025 252); padding: 40px 48px; }
.s165 { max-width: 1240px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; }
.s166 { font-size: 14px; color: white; }
.s167 { display: flex; gap: 32px; }
.s168 { font-size: 13px; color: white; text-decoration: none; }
.s168:hover { text-decoration: underline; }
