/* --- reset.css --- */
*,:before,:after {  --tw-border-spacing-x: 0;  --tw-border-spacing-y: 0;  --tw-translate-x: 0;  --tw-translate-y: 0;  --tw-rotate: 0;  --tw-skew-x: 0;  --tw-skew-y: 0;  --tw-scale-x: 1;  --tw-scale-y: 1;  --tw-pan-x: ;  --tw-pan-y: ;  --tw-pinch-zoom: ;  --tw-scroll-snap-strictness: proximity;  --tw-gradient-from-position: ;  --tw-gradient-via-position: ;  --tw-gradient-to-position: ;  --tw-ordinal: ;  --tw-slashed-zero: ;  --tw-numeric-figure: ;  --tw-numeric-spacing: ;  --tw-numeric-fraction: ;  --tw-ring-inset: ;  --tw-ring-offset-width: 0px;  --tw-ring-offset-color: #fff;  --tw-ring-color: rgb(59 130 246 / 0.5);  --tw-ring-offset-shadow: 0 0 #0000;  --tw-ring-shadow: 0 0 #0000;  --tw-shadow: 0 0 #0000;  --tw-shadow-colored: 0 0 #0000;  --tw-blur: ;  --tw-brightness: ;  --tw-contrast: ;  --tw-grayscale: ;  --tw-hue-rotate: ;  --tw-invert: ;  --tw-saturate: ;  --tw-sepia: ;  --tw-drop-shadow: ;  --tw-backdrop-blur: ;  --tw-backdrop-brightness: ;  --tw-backdrop-contrast: ;  --tw-backdrop-grayscale: ;  --tw-backdrop-hue-rotate: ;  --tw-backdrop-invert: ;  --tw-backdrop-opacity: ;  --tw-backdrop-saturate: ;  --tw-backdrop-sepia: ;  --tw-contain-size: ;  --tw-contain-layout: ;  --tw-contain-paint: ;  --tw-contain-style: ;}::backdrop {  --tw-border-spacing-x: 0;  --tw-border-spacing-y: 0;  --tw-translate-x: 0;  --tw-translate-y: 0;  --tw-rotate: 0;  --tw-skew-x: 0;  --tw-skew-y: 0;  --tw-scale-x: 1;  --tw-scale-y: 1;  --tw-pan-x: ;  --tw-pan-y: ;  --tw-pinch-zoom: ;  --tw-scroll-snap-strictness: proximity;  --tw-gradient-from-position: ;  --tw-gradient-via-position: ;  --tw-gradient-to-position: ;  --tw-ordinal: ;  --tw-slashed-zero: ;  --tw-numeric-figure: ;  --tw-numeric-spacing: ;  --tw-numeric-fraction: ;  --tw-ring-inset: ;  --tw-ring-offset-width: 0px;  --tw-ring-offset-color: #fff;  --tw-ring-color: rgb(59 130 246 / 0.5);  --tw-ring-offset-shadow: 0 0 #0000;  --tw-ring-shadow: 0 0 #0000;  --tw-shadow: 0 0 #0000;  --tw-shadow-colored: 0 0 #0000;  --tw-blur: ;  --tw-brightness: ;  --tw-contrast: ;  --tw-grayscale: ;  --tw-hue-rotate: ;  --tw-invert: ;  --tw-saturate: ;  --tw-sepia: ;  --tw-drop-shadow: ;  --tw-backdrop-blur: ;  --tw-backdrop-brightness: ;  --tw-backdrop-contrast: ;  --tw-backdrop-grayscale: ;  --tw-backdrop-hue-rotate: ;  --tw-backdrop-invert: ;  --tw-backdrop-opacity: ;  --tw-backdrop-saturate: ;  --tw-backdrop-sepia: ;  --tw-contain-size: ;  --tw-contain-layout: ;  --tw-contain-paint: ;  --tw-contain-style: ;}*,:before,:after {  box-sizing: border-box;  border-width: 0;  border-style: solid;  border-color: #e5e7eb;}:before,:after {  --tw-content: "";}html,:host {  line-height: 1.5;  -webkit-text-size-adjust: 100%;  -moz-tab-size: 4;  -o-tab-size: 4;  tab-size: 4;  font-family:    ui-sans-serif,    system-ui,    sans-serif,    "Apple Color Emoji",    "Segoe UI Emoji",    Segoe UI Symbol,    "Noto Color Emoji";  font-feature-settings: normal;  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;}a {  color: inherit;  text-decoration: inherit;}b,strong {  font-weight: bolder;}code,kbd,samp,pre {  font-family:    ui-monospace,    SFMono-Regular,    Menlo,    Monaco,    Consolas,    Liberation Mono,    Courier New,    monospace;  font-feature-settings: normal;  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;}button,input,optgroup,select,textarea {  font-family: inherit;  font-feature-settings: inherit;  font-variation-settings: inherit;  font-size: 100%;  font-weight: inherit;  line-height: inherit;  letter-spacing: inherit;  color: inherit;  margin: 0;  padding: 0;}button,select {  text-transform: none;}button,input:where([type="button"]),input:where([type="reset"]),input:where([type="submit"]) {  -webkit-appearance: button;  background-color: transparent;  background-image: none;}:-moz-focusring {  outline: auto;}:-moz-ui-invalid {  box-shadow: none;}progress {  vertical-align: baseline;}::-webkit-inner-spin-button,::-webkit-outer-spin-button {  height: auto;}[type="search"] {  -webkit-appearance: textfield;  outline-offset: -2px;}::-webkit-search-decoration {  -webkit-appearance: none;}::-webkit-file-upload-button {  -webkit-appearance: button;  font: inherit;}summary {  display: list-item;}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre {  margin: 0;}fieldset {  margin: 0;  padding: 0;}legend {  padding: 0;}ol,ul,menu {  list-style: none;  margin: 0;  padding: 0;}dialog {  padding: 0;}textarea {  resize: vertical;}input::-moz-placeholder,textarea::-moz-placeholder {  opacity: 1;  color: #9ca3af;}input::placeholder,textarea::placeholder {  opacity: 1;  color: #9ca3af;}button,[role="button"] {  cursor: pointer;}:disabled {  cursor: default;}img,svg,video,canvas,audio,iframe,embed,object {  display: block;  vertical-align: middle;}img,video {  max-width: 100%;  height: auto;}[hidden]:where(:not([hidden="until-found"])) {  display: none;}* {  border-color: hsl(var(--border));}@media (min-width: 1400px) {}@media (min-width: 768px) {}@media (min-width: 1024px) {}/* ── Custom Global Scrollbar ─────────────────────────────── */::-webkit-scrollbar-thumb:hover {  background: hsl(var(--muted-foreground) / 0.5);}/* Firefox scrollbar support */* {  scrollbar-width: thin;  scrollbar-color: hsl(var(--muted-foreground) / 0.3) hsl(var(--background));}

/* --- theme.css --- */
@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,700;1,400&family=Syne:wght@400;500;600;700;800&display=swap";

@font-face {
  font-family: 'Inter';
  src: url(/fonts/Inter-VariableFont_opsz\,wght.ttf) format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Tan Nimbus';
  src: url(/fonts/TAN-NIMBUS.woff) format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Segoe UI';
  src: url(/fonts/segoeui.ttf) format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --background: 0 0% 100%;
  --foreground: 220 20% 10%;
  --card: 0 0% 98%;
  --card-foreground: 220 20% 10%;
  --popover: 0 0% 100%;
  --popover-foreground: 220 20% 10%;
  --primary: 217 91% 60%;
  --primary-foreground: 0 0% 100%;
  --secondary: 220 10% 95%;
  --secondary-foreground: 220 20% 10%;
  --muted: 220 10% 96%;
  --muted-foreground: 220 10% 45%;
  --accent: 217 91% 60%;
  --accent-foreground: 0 0% 100%;
  --destructive: 0 84.2% 60.2%;
  --destructive-foreground: 210 40% 98%;
  --border: 220 10% 90%;
  --input: 220 10% 90%;
  --ring: 217 91% 60%;
  --radius: 0.75rem;
  --font-display: "Inter", sans-serif;
  --font-body: "Inter", sans-serif;
  --sidebar-background: 0 0% 98%;
  --sidebar-foreground: 240 5.3% 26.1%;
  --sidebar-primary: 240 5.9% 10%;
  --sidebar-primary-foreground: 0 0% 98%;
  --sidebar-accent: 240 4.8% 95.9%;
  --sidebar-accent-foreground: 240 5.9% 10%;
  --sidebar-border: 220 13% 91%;
  --sidebar-ring: 217.2 91.2% 59.8%;
}

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

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
}


/* --- layout.css --- */
html { scroll-behavior: smooth; }

.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 2rem;
  padding-left: 2rem;
}
@media (min-width: 1400px) { .container { max-width: 1400px; } }

.section-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 72rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 768px) { .section-container { padding-left: 3rem; padding-right: 3rem; } }
@media (min-width: 1024px) { .section-container { padding-left: 4rem; padding-right: 4rem; } }

.hidden { display: none !important; }

.gradient-text {
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  background-image: linear-gradient(135deg, #3c83f6, #304fe8);
}

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: hsl(var(--background)); }
::-webkit-scrollbar-thumb { background: hsl(var(--muted-foreground) / 0.3); border-radius: 9999px; }
::-webkit-scrollbar-thumb:hover { background: hsl(var(--muted-foreground) / 0.5); }
* {
  scrollbar-width: thin;
  scrollbar-color: hsl(var(--muted-foreground) / 0.3) hsl(var(--background));
}


