/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :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-space-x-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: 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-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-content: "";
    }
  }
}

@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-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-red-50: oklch(97.1% .013 17.38);
    --color-red-100: oklch(93.6% .032 17.717);
    --color-red-200: oklch(88.5% .062 18.334);
    --color-red-300: oklch(80.8% .114 19.571);
    --color-red-400: oklch(70.4% .191 22.216);
    --color-red-500: oklch(63.7% .237 25.331);
    --color-red-600: oklch(57.7% .245 27.325);
    --color-red-700: oklch(50.5% .213 27.518);
    --color-red-800: oklch(44.4% .177 26.899);
    --color-red-900: oklch(39.6% .141 25.723);
    --color-red-950: oklch(25.8% .092 26.042);
    --color-orange-50: oklch(98% .016 73.684);
    --color-orange-100: oklch(95.4% .038 75.164);
    --color-orange-200: oklch(90.1% .076 70.697);
    --color-orange-300: oklch(83.7% .128 66.29);
    --color-orange-400: oklch(75% .183 55.934);
    --color-orange-500: oklch(70.5% .213 47.604);
    --color-orange-600: oklch(64.6% .222 41.116);
    --color-orange-700: oklch(55.3% .195 38.402);
    --color-orange-800: oklch(47% .157 37.304);
    --color-orange-900: oklch(40.8% .123 38.172);
    --color-orange-950: oklch(26.6% .079 36.259);
    --color-amber-50: oklch(98.7% .022 95.277);
    --color-amber-100: oklch(96.2% .059 95.617);
    --color-amber-200: oklch(92.4% .12 95.746);
    --color-amber-300: oklch(87.9% .169 91.605);
    --color-amber-400: oklch(82.8% .189 84.429);
    --color-amber-500: oklch(76.9% .188 70.08);
    --color-amber-600: oklch(66.6% .179 58.318);
    --color-amber-700: oklch(55.5% .163 48.998);
    --color-amber-800: oklch(47.3% .137 46.201);
    --color-amber-900: oklch(41.4% .112 45.904);
    --color-amber-950: oklch(27.9% .077 45.635);
    --color-yellow-50: oklch(98.7% .026 102.212);
    --color-yellow-100: oklch(97.3% .071 103.193);
    --color-yellow-200: oklch(94.5% .129 101.54);
    --color-yellow-300: oklch(90.5% .182 98.111);
    --color-yellow-400: oklch(85.2% .199 91.936);
    --color-yellow-500: oklch(79.5% .184 86.047);
    --color-yellow-600: oklch(68.1% .162 75.834);
    --color-yellow-700: oklch(55.4% .135 66.442);
    --color-yellow-800: oklch(47.6% .114 61.907);
    --color-yellow-900: oklch(42.1% .095 57.708);
    --color-yellow-950: oklch(28.6% .066 53.813);
    --color-lime-50: oklch(98.6% .031 120.757);
    --color-lime-100: oklch(96.7% .067 122.328);
    --color-lime-200: oklch(93.8% .127 124.321);
    --color-lime-300: oklch(89.7% .196 126.665);
    --color-lime-400: oklch(84.1% .238 128.85);
    --color-lime-500: oklch(76.8% .233 130.85);
    --color-lime-600: oklch(64.8% .2 131.684);
    --color-lime-700: oklch(53.2% .157 131.589);
    --color-lime-800: oklch(45.3% .124 130.933);
    --color-lime-900: oklch(40.5% .101 131.063);
    --color-lime-950: oklch(27.4% .072 132.109);
    --color-green-50: oklch(98.2% .018 155.826);
    --color-green-100: oklch(96.2% .044 156.743);
    --color-green-200: oklch(92.5% .084 155.995);
    --color-green-300: oklch(87.1% .15 154.449);
    --color-green-400: oklch(79.2% .209 151.711);
    --color-green-500: oklch(72.3% .219 149.579);
    --color-green-600: oklch(62.7% .194 149.214);
    --color-green-700: oklch(52.7% .154 150.069);
    --color-green-800: oklch(44.8% .119 151.328);
    --color-green-900: oklch(39.3% .095 152.535);
    --color-green-950: oklch(26.6% .065 152.934);
    --color-emerald-50: oklch(97.9% .021 166.113);
    --color-emerald-100: oklch(95% .052 163.051);
    --color-emerald-200: oklch(90.5% .093 164.15);
    --color-emerald-300: oklch(84.5% .143 164.978);
    --color-emerald-400: oklch(76.5% .177 163.223);
    --color-emerald-500: oklch(69.6% .17 162.48);
    --color-emerald-600: oklch(59.6% .145 163.225);
    --color-emerald-700: oklch(50.8% .118 165.612);
    --color-emerald-800: oklch(43.2% .095 166.913);
    --color-emerald-900: oklch(37.8% .077 168.94);
    --color-emerald-950: oklch(26.2% .051 172.552);
    --color-teal-50: oklch(98.4% .014 180.72);
    --color-teal-100: oklch(95.3% .051 180.801);
    --color-teal-200: oklch(91% .096 180.426);
    --color-teal-300: oklch(85.5% .138 181.071);
    --color-teal-400: oklch(77.7% .152 181.912);
    --color-teal-500: oklch(70.4% .14 182.503);
    --color-teal-600: oklch(60% .118 184.704);
    --color-teal-700: oklch(51.1% .096 186.391);
    --color-teal-800: oklch(43.7% .078 188.216);
    --color-teal-900: oklch(38.6% .063 188.416);
    --color-teal-950: oklch(27.7% .046 192.524);
    --color-cyan-50: oklch(98.4% .019 200.873);
    --color-cyan-100: oklch(95.6% .045 203.388);
    --color-cyan-200: oklch(91.7% .08 205.041);
    --color-cyan-300: oklch(86.5% .127 207.078);
    --color-cyan-400: oklch(78.9% .154 211.53);
    --color-cyan-500: oklch(71.5% .143 215.221);
    --color-cyan-600: oklch(60.9% .126 221.723);
    --color-cyan-700: oklch(52% .105 223.128);
    --color-cyan-800: oklch(45% .085 224.283);
    --color-cyan-900: oklch(39.8% .07 227.392);
    --color-cyan-950: oklch(30.2% .056 229.695);
    --color-sky-50: oklch(97.7% .013 236.62);
    --color-sky-100: oklch(95.1% .026 236.824);
    --color-sky-200: oklch(90.1% .058 230.902);
    --color-sky-300: oklch(82.8% .111 230.318);
    --color-sky-400: oklch(74.6% .16 232.661);
    --color-sky-500: oklch(68.5% .169 237.323);
    --color-sky-600: oklch(58.8% .158 241.966);
    --color-sky-700: oklch(50% .134 242.749);
    --color-sky-800: oklch(44.3% .11 240.79);
    --color-sky-900: oklch(39.1% .09 240.876);
    --color-sky-950: oklch(29.3% .066 243.157);
    --color-blue-50: oklch(97% .014 254.604);
    --color-blue-100: oklch(93.2% .032 255.585);
    --color-blue-200: oklch(88.2% .059 254.128);
    --color-blue-300: oklch(80.9% .105 251.813);
    --color-blue-400: oklch(70.7% .165 254.624);
    --color-blue-500: oklch(62.3% .214 259.815);
    --color-blue-600: oklch(54.6% .245 262.881);
    --color-blue-700: oklch(48.8% .243 264.376);
    --color-blue-800: oklch(42.4% .199 265.638);
    --color-blue-900: oklch(37.9% .146 265.522);
    --color-blue-950: oklch(28.2% .091 267.935);
    --color-indigo-50: oklch(96.2% .018 272.314);
    --color-indigo-100: oklch(93% .034 272.788);
    --color-indigo-200: oklch(87% .065 274.039);
    --color-indigo-300: oklch(78.5% .115 274.713);
    --color-indigo-400: oklch(67.3% .182 276.935);
    --color-indigo-500: oklch(58.5% .233 277.117);
    --color-indigo-600: oklch(51.1% .262 276.966);
    --color-indigo-700: oklch(45.7% .24 277.023);
    --color-indigo-800: oklch(39.8% .195 277.366);
    --color-indigo-900: oklch(35.9% .144 278.697);
    --color-indigo-950: oklch(25.7% .09 281.288);
    --color-violet-50: oklch(96.9% .016 293.756);
    --color-violet-100: oklch(94.3% .029 294.588);
    --color-violet-200: oklch(89.4% .057 293.283);
    --color-violet-300: oklch(81.1% .111 293.571);
    --color-violet-400: oklch(70.2% .183 293.541);
    --color-violet-500: oklch(60.6% .25 292.717);
    --color-violet-600: oklch(54.1% .281 293.009);
    --color-violet-700: oklch(49.1% .27 292.581);
    --color-violet-800: oklch(43.2% .232 292.759);
    --color-violet-900: oklch(38% .189 293.745);
    --color-violet-950: oklch(28.3% .141 291.089);
    --color-purple-50: oklch(97.7% .014 308.299);
    --color-purple-100: oklch(94.6% .033 307.174);
    --color-purple-200: oklch(90.2% .063 306.703);
    --color-purple-300: oklch(82.7% .119 306.383);
    --color-purple-400: oklch(71.4% .203 305.504);
    --color-purple-500: oklch(62.7% .265 303.9);
    --color-purple-600: oklch(55.8% .288 302.321);
    --color-purple-700: oklch(49.6% .265 301.924);
    --color-purple-800: oklch(43.8% .218 303.724);
    --color-purple-900: oklch(38.1% .176 304.987);
    --color-purple-950: oklch(29.1% .149 302.717);
    --color-fuchsia-50: oklch(97.7% .017 320.058);
    --color-fuchsia-100: oklch(95.2% .037 318.852);
    --color-fuchsia-200: oklch(90.3% .076 319.62);
    --color-fuchsia-300: oklch(83.3% .145 321.434);
    --color-fuchsia-400: oklch(74% .238 322.16);
    --color-fuchsia-500: oklch(66.7% .295 322.15);
    --color-fuchsia-600: oklch(59.1% .293 322.896);
    --color-fuchsia-700: oklch(51.8% .253 323.949);
    --color-fuchsia-800: oklch(45.2% .211 324.591);
    --color-fuchsia-900: oklch(40.1% .17 325.612);
    --color-fuchsia-950: oklch(29.3% .136 325.661);
    --color-pink-50: oklch(97.1% .014 343.198);
    --color-pink-100: oklch(94.8% .028 342.258);
    --color-pink-200: oklch(89.9% .061 343.231);
    --color-pink-300: oklch(82.3% .12 346.018);
    --color-pink-400: oklch(71.8% .202 349.761);
    --color-pink-500: oklch(65.6% .241 354.308);
    --color-pink-600: oklch(59.2% .249 .584);
    --color-pink-700: oklch(52.5% .223 3.958);
    --color-pink-800: oklch(45.9% .187 3.815);
    --color-pink-900: oklch(40.8% .153 2.432);
    --color-pink-950: oklch(28.4% .109 3.907);
    --color-rose-50: oklch(96.9% .015 12.422);
    --color-rose-100: oklch(94.1% .03 12.58);
    --color-rose-200: oklch(89.2% .058 10.001);
    --color-rose-300: oklch(81% .117 11.638);
    --color-rose-400: oklch(71.2% .194 13.428);
    --color-rose-500: oklch(64.5% .246 16.439);
    --color-rose-600: oklch(58.6% .253 17.585);
    --color-rose-700: oklch(51.4% .222 16.935);
    --color-rose-800: oklch(45.5% .188 13.697);
    --color-rose-900: oklch(41% .159 10.272);
    --color-rose-950: oklch(27.1% .105 12.094);
    --color-slate-50: oklch(98.4% .003 247.858);
    --color-slate-100: oklch(96.8% .007 247.896);
    --color-slate-200: oklch(92.9% .013 255.508);
    --color-slate-300: oklch(86.9% .022 252.894);
    --color-slate-400: oklch(70.4% .04 256.788);
    --color-slate-500: oklch(55.4% .046 257.417);
    --color-slate-600: oklch(44.6% .043 257.281);
    --color-slate-700: oklch(37.2% .044 257.287);
    --color-slate-800: oklch(27.9% .041 260.031);
    --color-slate-900: oklch(20.8% .042 265.755);
    --color-slate-950: oklch(12.9% .042 264.695);
    --color-gray-50: oklch(98.5% .002 247.839);
    --color-gray-100: oklch(96.7% .003 264.542);
    --color-gray-200: oklch(92.8% .006 264.531);
    --color-gray-300: oklch(87.2% .01 258.338);
    --color-gray-400: oklch(70.7% .022 261.325);
    --color-gray-500: oklch(55.1% .027 264.364);
    --color-gray-600: oklch(44.6% .03 256.802);
    --color-gray-700: oklch(37.3% .034 259.733);
    --color-gray-800: oklch(27.8% .033 256.848);
    --color-gray-900: oklch(21% .034 264.665);
    --color-gray-950: oklch(13% .028 261.692);
    --color-zinc-50: oklch(98.5% 0 none);
    --color-zinc-100: oklch(96.7% .001 286.375);
    --color-zinc-200: oklch(92% .004 286.32);
    --color-zinc-300: oklch(87.1% .006 286.286);
    --color-zinc-400: oklch(70.5% .015 286.067);
    --color-zinc-500: oklch(55.2% .016 285.938);
    --color-zinc-600: oklch(44.2% .017 285.786);
    --color-zinc-700: oklch(37% .013 285.805);
    --color-zinc-800: oklch(27.4% .006 286.033);
    --color-zinc-900: oklch(21% .006 285.885);
    --color-zinc-950: oklch(14.1% .005 285.823);
    --color-neutral-50: oklch(98.5% 0 none);
    --color-neutral-100: oklch(97% 0 none);
    --color-neutral-200: oklch(92.2% 0 none);
    --color-neutral-300: oklch(87% 0 none);
    --color-neutral-400: oklch(70.8% 0 none);
    --color-neutral-500: oklch(55.6% 0 none);
    --color-neutral-600: oklch(43.9% 0 none);
    --color-neutral-700: oklch(37.1% 0 none);
    --color-neutral-800: oklch(26.9% 0 none);
    --color-neutral-900: oklch(20.5% 0 none);
    --color-neutral-950: oklch(14.5% 0 none);
    --color-stone-50: oklch(98.5% .001 106.423);
    --color-stone-100: oklch(97% .001 106.424);
    --color-stone-200: oklch(92.3% .003 48.717);
    --color-stone-300: oklch(86.9% .005 56.366);
    --color-stone-400: oklch(70.9% .01 56.259);
    --color-stone-500: oklch(55.3% .013 58.071);
    --color-stone-600: oklch(44.4% .011 73.639);
    --color-stone-700: oklch(37.4% .01 67.558);
    --color-stone-800: oklch(26.8% .007 34.298);
    --color-stone-900: oklch(21.6% .006 56.043);
    --color-stone-950: oklch(14.7% .004 49.25);
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --breakpoint-sm: 40rem;
    --breakpoint-md: 48rem;
    --breakpoint-lg: 64rem;
    --breakpoint-xl: 80rem;
    --breakpoint-2xl: 96rem;
    --container-3xs: 16rem;
    --container-2xs: 18rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-5xl: 64rem;
    --container-6xl: 72rem;
    --container-7xl: 80rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .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);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --text-7xl: 4.5rem;
    --text-7xl--line-height: 1;
    --text-8xl: 6rem;
    --text-8xl--line-height: 1;
    --text-9xl: 8rem;
    --text-9xl--line-height: 1;
    --font-weight-thin: 100;
    --font-weight-extralight: 200;
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --font-weight-black: 900;
    --tracking-tighter: -.05em;
    --tracking-tight: -.025em;
    --tracking-normal: 0em;
    --tracking-wide: .025em;
    --tracking-wider: .05em;
    --tracking-widest: .1em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;
    --leading-loose: 2;
    --radius-xs: .125rem;
    --radius-sm: .25rem;
    --radius-md: .375rem;
    --radius-lg: .5rem;
    --radius-xl: .75rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --radius-4xl: 2rem;
    --shadow-2xs: 0 1px #0000000d;
    --shadow-xs: 0 1px 2px 0 #0000000d;
    --shadow-sm: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;
    --shadow-md: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;
    --shadow-lg: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;
    --shadow-xl: 0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;
    --shadow-2xl: 0 25px 50px -12px #00000040;
    --inset-shadow-2xs: inset 0 1px #0000000d;
    --inset-shadow-xs: inset 0 1px 1px #0000000d;
    --inset-shadow-sm: inset 0 2px 4px #0000000d;
    --drop-shadow-xs: 0 1px 1px #0000000d;
    --drop-shadow-sm: 0 1px 2px #00000026;
    --drop-shadow-md: 0 3px 3px #0000001f;
    --drop-shadow-lg: 0 4px 4px #00000026;
    --drop-shadow-xl: 0 9px 7px #0000001a;
    --drop-shadow-2xl: 0 25px 25px #00000026;
    --ease-in: cubic-bezier(.4, 0, 1, 1);
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --animate-spin: spin 1s linear infinite;
    --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite;
    --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    --animate-bounce: bounce 1s infinite;
    --blur-xs: 4px;
    --blur-sm: 8px;
    --blur-md: 12px;
    --blur-lg: 16px;
    --blur-xl: 24px;
    --blur-2xl: 40px;
    --blur-3xl: 64px;
    --perspective-dramatic: 100px;
    --perspective-near: 300px;
    --perspective-normal: 500px;
    --perspective-midrange: 800px;
    --perspective-distant: 1200px;
    --aspect-video: 16 / 9;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --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;
    -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;

@layer utilities {
  .visible {
    visibility: visible;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .inset-0 {
    inset: 0;
  }

  .top-0 {
    top: 0;
  }

  .right-0 {
    right: 0;
  }

  .isolate {
    isolation: isolate;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .mx-auto {
    margin-inline: auto;
  }

  .-mt-\[6\.6rem\] {
    margin-top: -6.6rem;
  }

  .-mt-px {
    margin-top: -1px;
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }

  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }

  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }

  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }

  .mr-2 {
    margin-right: calc(var(--spacing) * 2);
  }

  .-mb-px {
    margin-bottom: -1px;
  }

  .mb-1 {
    margin-bottom: var(--spacing);
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }

  .-ml-8 {
    margin-left: calc(var(--spacing) * -8);
  }

  .-ml-px {
    margin-left: -1px;
  }

  .ml-1 {
    margin-left: var(--spacing);
  }

  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }

  .ml-4 {
    margin-left: calc(var(--spacing) * 4);
  }

  .ml-12 {
    margin-left: calc(var(--spacing) * 12);
  }

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

  .inline-block {
    display: inline-block;
  }

  .inline-flex {
    display: inline-flex;
  }

  .table {
    display: table;
  }

  .aspect-\[335\/364\] {
    aspect-ratio: 335 / 364;
  }

  .h-1 {
    height: var(--spacing);
  }

  .h-1\.5 {
    height: calc(var(--spacing) * 1.5);
  }

  .h-2 {
    height: calc(var(--spacing) * 2);
  }

  .h-2\.5 {
    height: calc(var(--spacing) * 2.5);
  }

  .h-3 {
    height: calc(var(--spacing) * 3);
  }

  .h-3\.5 {
    height: calc(var(--spacing) * 3.5);
  }

  .h-5 {
    height: calc(var(--spacing) * 5);
  }

  .h-8 {
    height: calc(var(--spacing) * 8);
  }

  .h-14 {
    height: calc(var(--spacing) * 14);
  }

  .h-14\.5 {
    height: calc(var(--spacing) * 14.5);
  }

  .h-16 {
    height: calc(var(--spacing) * 16);
  }

  .min-h-screen {
    min-height: 100vh;
  }

  .w-1 {
    width: var(--spacing);
  }

  .w-1\.5 {
    width: calc(var(--spacing) * 1.5);
  }

  .w-2 {
    width: calc(var(--spacing) * 2);
  }

  .w-2\.5 {
    width: calc(var(--spacing) * 2.5);
  }

  .w-3 {
    width: calc(var(--spacing) * 3);
  }

  .w-3\.5 {
    width: calc(var(--spacing) * 3.5);
  }

  .w-5 {
    width: calc(var(--spacing) * 5);
  }

  .w-8 {
    width: calc(var(--spacing) * 8);
  }

  .w-\[438px\] {
    width: 438px;
  }

  .w-auto {
    width: auto;
  }

  .w-full {
    width: 100%;
  }

  .max-w-6xl {
    max-width: var(--container-6xl);
  }

  .max-w-\[335px\] {
    max-width: 335px;
  }

  .max-w-none {
    max-width: none;
  }

  .max-w-xl {
    max-width: var(--container-xl);
  }

  .flex-1 {
    flex: 1;
  }

  .shrink-0 {
    flex-shrink: 0;
  }

  .grow {
    flex-grow: 1;
  }

  .translate-y-0 {
    --tw-translate-y: 0px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .cursor-default {
    cursor: default;
  }

  .cursor-not-allowed {
    cursor: not-allowed;
  }

  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-col-reverse {
    flex-direction: column-reverse;
  }

  .items-center {
    align-items: center;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .justify-end {
    justify-content: flex-end;
  }

  .justify-items-center {
    justify-items: center;
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }

  :where(.space-x-1 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(var(--spacing) * var(--tw-space-x-reverse));
    margin-inline-end: calc(var(--spacing) * calc(1 - var(--tw-space-x-reverse)));
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .rounded-full {
    border-radius: 3.40282e38px;
  }

  .rounded-md {
    border-radius: var(--radius-md);
  }

  .rounded-sm {
    border-radius: var(--radius-sm);
  }

  .rounded-t-lg {
    border-top-left-radius: var(--radius-lg);
    border-top-right-radius: var(--radius-lg);
  }

  .rounded-l-md {
    border-top-left-radius: var(--radius-md);
    border-bottom-left-radius: var(--radius-md);
  }

  .rounded-r-md {
    border-top-right-radius: var(--radius-md);
    border-bottom-right-radius: var(--radius-md);
  }

  .rounded-br-lg {
    border-bottom-right-radius: var(--radius-lg);
  }

  .rounded-bl-lg {
    border-bottom-left-radius: var(--radius-lg);
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

  .border-r {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }

  .border-\[\#19140035\] {
    border-color: #19140035;
  }

  .border-\[\#e3e3e0\] {
    border-color: #e3e3e0;
  }

  .border-black {
    border-color: var(--color-black);
  }

  .border-gray-200 {
    border-color: var(--color-gray-200);
  }

  .border-gray-300 {
    border-color: var(--color-gray-300);
  }

  .border-gray-400 {
    border-color: var(--color-gray-400);
  }

  .border-transparent {
    border-color: #0000;
  }

  .bg-\[\#1b1b18\] {
    background-color: #1b1b18;
  }

  .bg-\[\#FDFDFC\] {
    background-color: #fdfdfc;
  }

  .bg-\[\#dbdbd7\] {
    background-color: #dbdbd7;
  }

  .bg-\[\#fff2f2\] {
    background-color: #fff2f2;
  }

  .bg-blue-500 {
    background-color: var(--color-blue-500);
  }

  .bg-blue-500\/50 {
    background-color: #3080ff80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-blue-500\/50 {
      background-color: color-mix(in oklab, var(--color-blue-500) 50%, transparent);
    }
  }

  .bg-gray-100 {
    background-color: var(--color-gray-100);
  }

  .bg-gray-200 {
    background-color: var(--color-gray-200);
  }

  .bg-white {
    background-color: var(--color-white);
  }

  .box-decoration-clone {
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
  }

  .box-decoration-slice {
    -webkit-box-decoration-break: slice;
    box-decoration-break: slice;
  }

  .decoration-clone {
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
  }

  .decoration-slice {
    -webkit-box-decoration-break: slice;
    box-decoration-break: slice;
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .py-1 {
    padding-block: var(--spacing);
  }

  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }

  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }

  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }

  .pt-8 {
    padding-top: calc(var(--spacing) * 8);
  }

  .pb-6 {
    padding-bottom: calc(var(--spacing) * 6);
  }

  .pb-12 {
    padding-bottom: calc(var(--spacing) * 12);
  }

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

  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }

  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .text-\[13px\] {
    font-size: 13px;
  }

  .leading-5 {
    --tw-leading: calc(var(--spacing) * 5);
    line-height: calc(var(--spacing) * 5);
  }

  .leading-7 {
    --tw-leading: calc(var(--spacing) * 7);
    line-height: calc(var(--spacing) * 7);
  }

  .leading-\[20px\] {
    --tw-leading: 20px;
    line-height: 20px;
  }

  .leading-normal {
    --tw-leading: var(--leading-normal);
    line-height: var(--leading-normal);
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }

  .overflow-ellipsis, .text-ellipsis {
    text-overflow: ellipsis;
  }

  .text-\[\#1B1B18\], .text-\[\#1b1b18\] {
    color: #1b1b18;
  }

  .text-\[\#706f6c\] {
    color: #706f6c;
  }

  .text-\[\#F3BEC7\] {
    color: #f3bec7;
  }

  .text-\[\#F8B803\] {
    color: #f8b803;
  }

  .text-\[\#F53003\], .text-\[\#f53003\] {
    color: #f53003;
  }

  .text-gray-200 {
    color: var(--color-gray-200);
  }

  .text-gray-300 {
    color: var(--color-gray-300);
  }

  .text-gray-400 {
    color: var(--color-gray-400);
  }

  .text-gray-500 {
    color: var(--color-gray-500);
  }

  .text-gray-600 {
    color: var(--color-gray-600);
  }

  .text-gray-700 {
    color: var(--color-gray-700);
  }

  .text-gray-800 {
    color: var(--color-gray-800);
  }

  .text-gray-900 {
    color: var(--color-gray-900);
  }

  .text-white {
    color: var(--color-white);
  }

  .text-white\/75 {
    color: #ffffffbf;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/75 {
      color: color-mix(in oklab, var(--color-white) 75%, transparent);
    }
  }

  .lowercase {
    text-transform: lowercase;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .underline {
    text-decoration-line: underline;
  }

  .underline-offset-4 {
    text-underline-offset: 4px;
  }

  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .opacity-100 {
    opacity: 1;
  }

  .mix-blend-color {
    mix-blend-mode: color;
  }

  .mix-blend-darken {
    mix-blend-mode: darken;
  }

  .mix-blend-hard-light {
    mix-blend-mode: hard-light;
  }

  .mix-blend-multiply {
    mix-blend-mode: multiply;
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0px_0px_1px_0px_rgba\(0\,0\,0\,0\.03\)\,0px_1px_2px_0px_rgba\(0\,0\,0\,0\.06\)\] {
    --tw-shadow: 0px 0px 1px 0px var(--tw-shadow-color, #00000008), 0px 1px 2px 0px var(--tw-shadow-color, #0000000f);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[inset_0px_0px_0px_1px_rgba\(26\,26\,0\,0\.16\)\] {
    --tw-shadow: inset 0px 0px 0px 1px var(--tw-shadow-color, #1a1a0029);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-gray-300 {
    --tw-ring-color: var(--color-gray-300);
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .delay-200 {
    transition-delay: .2s;
  }

  .delay-300 {
    transition-delay: .3s;
  }

  .delay-400 {
    transition-delay: .4s;
  }

  .duration-150 {
    --tw-duration: .15s;
    transition-duration: .15s;
  }

  .duration-750 {
    --tw-duration: .75s;
    transition-duration: .75s;
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  .\[--stroke-color\:\#1B1B18\] {
    --stroke-color: #1b1b18;
  }

  .not-has-\[nav\]\:hidden:not(:has(:is(nav))) {
    display: none;
  }

  .before\:absolute:before {
    content: var(--tw-content);
    position: absolute;
  }

  .before\:top-0:before {
    content: var(--tw-content);
    top: 0;
  }

  .before\:top-1\/2:before {
    content: var(--tw-content);
    top: 50%;
  }

  .before\:bottom-0:before {
    content: var(--tw-content);
    bottom: 0;
  }

  .before\:bottom-1\/2:before {
    content: var(--tw-content);
    bottom: 50%;
  }

  .before\:left-\[0\.4rem\]:before {
    content: var(--tw-content);
    left: .4rem;
  }

  .before\:border-l:before {
    content: var(--tw-content);
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }

  .before\:border-\[\#e3e3e0\]:before {
    content: var(--tw-content);
    border-color: #e3e3e0;
  }

  @media (hover: hover) {
    .hover\:border-\[\#1915014a\]:hover {
      border-color: #1915014a;
    }

    .hover\:border-\[\#19140035\]:hover {
      border-color: #19140035;
    }

    .hover\:border-black:hover {
      border-color: var(--color-black);
    }

    .hover\:bg-black:hover {
      background-color: var(--color-black);
    }
  }

  @media (min-width: 64rem) {
    .lg\:mt-10 {
      margin-top: calc(var(--spacing) * 10);
    }

    .lg\:mb-0 {
      margin-bottom: 0;
    }

    .lg\:mb-6 {
      margin-bottom: calc(var(--spacing) * 6);
    }

    .lg\:-ml-px {
      margin-left: -1px;
    }

    .lg\:ml-0 {
      margin-left: 0;
    }

    .lg\:block {
      display: block;
    }

    .lg\:aspect-auto {
      aspect-ratio: auto;
    }

    .lg\:w-\[438px\] {
      width: 438px;
    }

    .lg\:max-w-4xl {
      max-width: var(--container-4xl);
    }

    .lg\:grow {
      flex-grow: 1;
    }

    .lg\:flex-row {
      flex-direction: row;
    }

    .lg\:justify-center {
      justify-content: center;
    }

    .lg\:rounded-t-none {
      border-top-left-radius: 0;
      border-top-right-radius: 0;
    }

    .lg\:rounded-tl-lg {
      border-top-left-radius: var(--radius-lg);
    }

    .lg\:rounded-r-lg {
      border-top-right-radius: var(--radius-lg);
      border-bottom-right-radius: var(--radius-lg);
    }

    .lg\:rounded-br-none {
      border-bottom-right-radius: 0;
    }

    .lg\:p-8 {
      padding: calc(var(--spacing) * 8);
    }

    .lg\:p-20 {
      padding: calc(var(--spacing) * 20);
    }

    .lg\:pb-10 {
      padding-bottom: calc(var(--spacing) * 10);
    }
  }

  @media (prefers-color-scheme: dark) {
    .dark\:border-\[\#3E3E3A\] {
      border-color: #3e3e3a;
    }

    .dark\:border-\[\#eeeeec\] {
      border-color: #eeeeec;
    }

    .dark\:bg-\[\#0a0a0a\] {
      background-color: #0a0a0a;
    }

    .dark\:bg-\[\#1D0002\] {
      background-color: #1d0002;
    }

    .dark\:bg-\[\#3E3E3A\] {
      background-color: #3e3e3a;
    }

    .dark\:bg-\[\#161615\] {
      background-color: #161615;
    }

    .dark\:bg-\[\#eeeeec\] {
      background-color: #eeeeec;
    }

    .dark\:bg-gray-900 {
      background-color: var(--color-gray-900);
    }

    .dark\:text-\[\#1C1C1A\] {
      color: #1c1c1a;
    }

    .dark\:text-\[\#4B0600\] {
      color: #4b0600;
    }

    .dark\:text-\[\#391800\] {
      color: #391800;
    }

    .dark\:text-\[\#733000\] {
      color: #733000;
    }

    .dark\:text-\[\#A1A09A\] {
      color: #a1a09a;
    }

    .dark\:text-\[\#EDEDEC\] {
      color: #ededec;
    }

    .dark\:text-\[\#F61500\] {
      color: #f61500;
    }

    .dark\:text-\[\#FF4433\] {
      color: #f43;
    }

    .dark\:text-black {
      color: var(--color-black);
    }

    .dark\:text-white {
      color: var(--color-white);
    }

    .dark\:mix-blend-hard-light {
      mix-blend-mode: hard-light;
    }

    .dark\:mix-blend-normal {
      mix-blend-mode: normal;
    }

    .dark\:shadow-\[inset_0px_0px_0px_1px_\#fffaed2d\] {
      --tw-shadow: inset 0px 0px 0px 1px var(--tw-shadow-color, #fffaed2d);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .dark\:\[--stroke-color\:\#FF750F\] {
      --stroke-color: #ff750f;
    }

    .dark\:before\:border-\[\#3E3E3A\]:before {
      content: var(--tw-content);
      border-color: #3e3e3a;
    }

    @media (hover: hover) {
      .dark\:hover\:border-\[\#3E3E3A\]:hover {
        border-color: #3e3e3a;
      }

      .dark\:hover\:border-\[\#62605b\]:hover {
        border-color: #62605b;
      }

      .dark\:hover\:border-white:hover {
        border-color: var(--color-white);
      }

      .dark\:hover\:bg-white:hover {
        background-color: var(--color-white);
      }
    }
  }

  @starting-style {
    .starting\:opacity-0 {
      opacity: 0;
    }
  }

  @media (prefers-reduced-motion: no-preference) {
    @starting-style {
      .motion-safe\:starting\:-translate-x-\[26px\] {
        --tw-translate-x: calc(26px * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }

      .motion-safe\:starting\:-translate-x-\[51px\] {
        --tw-translate-x: calc(51px * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }

      .motion-safe\:starting\:-translate-x-\[78px\] {
        --tw-translate-x: calc(78px * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }

      .motion-safe\:starting\:-translate-x-\[102px\] {
        --tw-translate-x: calc(102px * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }

      .motion-safe\:starting\:translate-y-6 {
        --tw-translate-y: calc(var(--spacing) * 6);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
}

:root {
  color-scheme: light;
  --ink: #18332c;
  --muted: #708079;
  --green: #16864f;
  --green-dark: #153f34;
  --green-strong: #28b765;
  --mint: #e7f2eb;
  --paper: #f7faf7;
  --paper-soft: #eef6f1;
  --panel: #ffffffe0;
  --white: #fff;
  --line: #e5ebe5;
  --font-sans: Inter, "Noto Sans Bengali", "Nirmala UI", system-ui, sans-serif;
  --font-serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 110px;
}

body {
  min-width: 320px;
  color: var(--ink);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  background: #f6f9f6;
  margin: 0;
}

body, button, a {
  font-family: var(--font-sans);
}

button, a {
  -webkit-tap-highlight-color: transparent;
}

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

button {
  color: inherit;
}

img, svg {
  display: block;
}

.lang-bn body, .lang-bn button, .lang-bn a {
  font-family: Noto Sans Bengali, Nirmala UI, system-ui, sans-serif;
}

.skip-link {
  z-index: 100;
  background: var(--green-dark);
  color: #fff;
  border-radius: 10px;
  padding: 12px 18px;
  position: fixed;
  top: 8px;
  left: 8px;
  transform: translateY(-150%);
}

.skip-link:focus {
  transform: translateY(0);
}

.site-header {
  z-index: 30;
  -webkit-backdrop-filter: blur(22px);
  backdrop-filter: blur(22px);
  background: #ffffffd1;
  border: 1px solid #ffffffdb;
  border-radius: 22px;
  width: min(1320px, 100% - 48px);
  margin: 12px auto 0;
  position: sticky;
  top: 12px;
  box-shadow: 0 9px 36px #27473714, inset 0 1px #ffffffe6;
}

.header-shell {
  justify-content: space-between;
  align-items: center;
  gap: 26px;
  min-height: 76px;
  padding: 10px 19px;
  display: flex;
}

.brand {
  align-items: center;
  gap: 10px;
  min-width: max-content;
  display: inline-flex;
}

.brand-mark {
  background: #020611;
  border: 1px solid #132d2714;
  border-radius: 14px;
  flex: 0 0 44px;
  place-items: center;
  width: 44px;
  height: 44px;
  display: grid;
  overflow: hidden;
  box-shadow: 0 3px 9px #0a16181f;
}

.brand-mark img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.brand-copy {
  gap: 2px;
  display: grid;
}

.brand-name {
  color: #163c31;
  letter-spacing: -.9px;
  font-size: 19px;
  font-weight: 800;
  line-height: 1;
}

.brand-name span {
  color: #2b9c6c;
}

.brand-caption {
  color: #839088;
  letter-spacing: .6px;
  font-size: 9px;
  font-weight: 600;
}

.desktop-nav {
  background: #f7faf7c7;
  border: 1px solid #eef1eb;
  border-radius: 999px;
  align-items: center;
  gap: 7px;
  padding: 5px;
  display: flex;
}

.desktop-nav a {
  color: #6c7a72;
  border-radius: 999px;
  padding: 11px 16px;
  font-size: 12px;
  font-weight: 600;
  transition: color .2s, background .2s;
}

.desktop-nav a:hover, .desktop-nav a.is-active {
  color: var(--green-dark);
  background: #fff;
  box-shadow: 0 2px 9px #22453112;
}

.header-actions {
  align-items: center;
  gap: 15px;
  display: flex;
}

.language-switch {
  white-space: nowrap;
  color: #b4beb6;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  display: inline-flex;
}

.language-switch button {
  color: #77847c;
  cursor: pointer;
  font-size: inherit;
  background: none;
  border: 0;
  padding: 6px 1px;
  font-weight: 600;
}

.language-switch button:hover, .language-switch button[aria-current="true"] {
  color: var(--green-dark);
}

.button {
  border: 1px solid #0000;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: 13px;
  min-height: 50px;
  padding: 0 23px;
  font-size: 13px;
  font-weight: 700;
  transition: transform .2s, background .2s, box-shadow .2s;
  display: inline-flex;
}

.button:hover {
  transform: translateY(-2px);
}

.button-dark {
  background: var(--green-dark);
  color: #fff;
  box-shadow: 0 8px 18px #153f341f;
}

.button-dark:hover {
  background: #205c48;
  box-shadow: 0 10px 22px #153f342e;
}

.button-dark svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8px;
  width: 17px;
}

.button-small {
  min-height: 43px;
  padding-inline: 17px;
  font-size: 11px;
}

.menu-toggle {
  border: 1px solid var(--line);
  cursor: pointer;
  background: #ffffffbd;
  border-radius: 14px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 6px;
  width: 42px;
  height: 42px;
  display: none;
}

.menu-toggle span {
  background: var(--green-dark);
  border-radius: 2px;
  width: 17px;
  height: 1.5px;
}

.mobile-menu {
  border-top: 1px solid #22453114;
  padding: 3px 20px 18px;
}

.mobile-menu:not([hidden]) {
  display: grid;
}

.mobile-menu a {
  color: #52665b;
  padding: 12px 4px;
  font-size: 14px;
  font-weight: 600;
}

.hero-section {
  isolation: isolate;
  background: linear-gradient(125deg, #102c22 0%, #316b47 58%, #b4caa7 100%);
  border: 1px solid #ffffff1a;
  border-radius: 36px;
  grid-template-columns: 1.06fr .94fr;
  align-items: center;
  gap: 40px;
  width: min(1290px, 100% - 38px);
  min-height: 680px;
  margin: 30px auto 0;
  padding: 70px 60px 64px 70px;
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 14px 40px #07100e24;
}

.hero-glow {
  z-index: -1;
  filter: blur(75px);
  pointer-events: none;
  border-radius: 50%;
  width: 260px;
  height: 260px;
  position: absolute;
}

.hero-glow-one {
  background: #09b67b38;
  bottom: -18%;
  right: 3%;
}

.hero-glow-two {
  background: #ffd67a2e;
  width: 130px;
  height: 130px;
  top: 2%;
  left: 33%;
}

.hero-content {
  z-index: 2;
  padding-bottom: 4px;
  position: relative;
}

.eyebrow {
  color: #daf7e5e6;
  letter-spacing: .05em;
  text-transform: uppercase;
  align-items: center;
  gap: 9px;
  font-size: 11px;
  font-weight: 700;
  display: inline-flex;
}

.eyebrow-dot {
  background: #35d98c;
  border-radius: 50%;
  width: 9px;
  height: 9px;
  box-shadow: 0 0 0 5px #35d98c1f;
}

.hero-content h1, .listing-hero h1 {
  color: #f6f9f7;
  max-width: 700px;
  font-family: var(--font-serif);
  letter-spacing: -4.5px;
  margin: 22px 0 19px;
  font-size: clamp(54px, 5vw, 84px);
  font-weight: 600;
  line-height: .96;
}

.hero-content h1 span {
  color: #41de97;
  font-style: italic;
}

.hero-content h1 em {
  color: #f3f9f3;
  font-weight: 500;
}

.hero-description {
  color: #e5f2ead1;
  max-width: 540px;
  margin: 0;
  font-size: 15px;
  line-height: 1.82;
}

.hero-actions {
  align-items: center;
  gap: 22px;
  margin-top: 29px;
  display: flex;
}

.text-link {
  color: #f1f8f2;
  align-items: center;
  gap: 9px;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
}

.text-link span {
  font-size: 16px;
  transition: transform .2s;
}

.text-link:hover span {
  transform: translate(2px, 2px);
}

.hero-proof {
  color: #e2ebe4cc;
  letter-spacing: .02em;
  align-items: center;
  gap: 10px;
  margin-top: 34px;
  font-size: 11px;
  font-weight: 700;
  display: flex;
}

.proof-icon {
  color: #4a986b;
  background: #ffffffb3;
  border: 1px solid #d5e6d8;
  border-radius: 50%;
  place-items: center;
  width: 27px;
  height: 27px;
  display: grid;
}

.proof-icon svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6px;
  width: 15px;
}

.hero-visual {
  justify-self: end;
  max-width: 540px;
  position: relative;
}

.hero-art-frame {
  background: #0a120f70;
  border: 8px solid #ffffff2e;
  border-radius: 220px 220px 28px 28px;
  width: min(100%, 510px);
  position: relative;
  overflow: hidden;
  transform: rotate(1deg);
  box-shadow: 0 26px 60px #0b110e47, 0 4px 14px #263c2c14;
}

.hero-art-frame > img {
  aspect-ratio: 1.03;
  object-fit: cover;
  filter: saturate(1.08) contrast(1.06);
  width: 100%;
}

.hero-image-label {
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  background: #ffffff1a;
  border: 1px solid #ffffff3d;
  border-radius: 18px;
  align-items: center;
  gap: 11px;
  padding: 14px;
  display: flex;
  position: absolute;
  bottom: 17px;
  left: 17px;
  right: 17px;
  box-shadow: 0 10px 32px #080f0c2e;
}

.hero-image-icon {
  color: #34865c;
  width: 38px;
  height: 38px;
  font-family: var(--font-serif);
  background: #e7f2e9;
  border-radius: 13px;
  flex: 0 0 38px;
  place-items: center;
  font-size: 17px;
  font-weight: 700;
  display: grid;
}

.hero-image-label > span:nth-child(2), .floating-note > span:nth-child(2) {
  gap: 4px;
  display: grid;
}

.hero-image-label strong, .floating-note strong {
  color: #243e32;
  font-size: 11px;
  font-weight: 700;
}

.hero-image-label small, .floating-note small {
  color: #839087;
  font-size: 9px;
  line-height: 1.45;
}

.hero-image-arrow {
  color: #6f8778;
  margin-left: auto;
  font-size: 20px;
}

.hero-image-caption {
  color: #788b7d;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  margin: 14px 3px 0;
  font-size: 10px;
  font-weight: 600;
  display: flex;
}

.hero-image-caption span {
  background: #559974;
  border-radius: 50%;
  width: 6px;
  height: 6px;
}

.floating-note {
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  background: #0a120f70;
  border: 1px solid #fff3;
  border-radius: 16px;
  align-items: center;
  gap: 10px;
  max-width: 202px;
  padding: 13px 15px;
  display: flex;
  position: absolute;
  top: 18%;
  left: -43px;
  box-shadow: 0 12px 34px #080f0c33;
}

.floating-note-icon {
  color: #548257;
  background: #edf5e9;
  border-radius: 11px;
  flex: 0 0 32px;
  place-items: center;
  width: 32px;
  height: 32px;
  display: grid;
}

.floating-note-icon svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5px;
  width: 17px;
}

.intro-strip {
  border-bottom: 1px solid var(--line);
  grid-template-columns: .82fr 1.18fr;
  align-items: center;
  gap: 44px;
  width: min(1220px, 100% - 76px);
  margin: 0 auto;
  padding: 51px 4px 58px;
  display: grid;
}

.eyebrow-muted {
  color: #51826b;
  letter-spacing: .07em;
  text-transform: uppercase;
  font-size: 10px;
}

.intro-copy p {
  color: #829087;
  max-width: 360px;
  margin: 10px 0 0;
  font-size: 12px;
  line-height: 1.8;
}

.intro-facts {
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  display: grid;
}

.intro-fact {
  color: #54695c;
  align-items: center;
  gap: 11px;
  min-height: 57px;
  padding: 10px;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.5;
  display: flex;
}

.fact-icon {
  background: #fff;
  border: 1px solid #e7ece5;
  border-radius: 13px;
  flex: 0 0 36px;
  place-items: center;
  width: 36px;
  height: 36px;
  font-size: 12px;
  font-weight: 700;
  display: grid;
}

.fact-icon-green {
  color: #558c69;
}

.fact-icon-blue {
  color: #50839a;
}

.fact-icon-lime {
  color: #8c9f4f;
}

.section {
  width: min(1220px, 100% - 76px);
  margin: 0 auto;
}

.section-projects {
  padding-top: 91px;
  padding-bottom: 92px;
  scroll-margin-top: 100px;
}

.section-heading {
  justify-content: space-between;
  align-items: end;
  gap: 30px;
  margin-bottom: 31px;
  display: flex;
}

.section-heading h2, .clarity-heading h2 {
  color: #213d31;
  font-family: var(--font-serif);
  letter-spacing: -1.8px;
  margin: 12px 0 8px;
  font-size: clamp(36px, 4vw, 47px);
  font-weight: 500;
  line-height: 1.12;
}

.section-heading p, .clarity-heading > p {
  color: #7c8a80;
  margin: 0;
  font-size: 13px;
  line-height: 1.75;
}

.button-outline {
  color: #315847;
  background: #ffffffa8;
  border-color: #dce6dc;
  min-height: 45px;
  font-size: 11px;
}

.button-outline:hover {
  background: #fff;
  border-color: #9fbea5;
}

.project-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 21px;
  display: grid;
}

.project-card {
  background: #fff;
  border: 1px solid #e6ece5;
  border-radius: 20px;
  transition: transform .25s, box-shadow .25s, border-color .25s;
  overflow: hidden;
  box-shadow: 0 5px 22px #26433009;
}

.project-card:hover {
  border-color: #d1e1d3;
  transform: translateY(-5px);
  box-shadow: 0 18px 40px #2643301a;
}

.project-card-image {
  background: #dbeae0;
  display: block;
  position: relative;
  overflow: hidden;
}

.project-card-image > img {
  aspect-ratio: 1.55;
  object-fit: cover;
  width: 100%;
  transition: transform .55s cubic-bezier(.2, .7, .2, 1);
}

.project-card:hover .project-card-image > img {
  transform: scale(1.045);
}

.project-tag {
  color: #375849;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #ffffffd6;
  border: 1px solid #ffffffc2;
  border-radius: 999px;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  font-size: 9px;
  font-weight: 700;
  display: inline-flex;
  position: absolute;
  top: 13px;
  left: 13px;
}

.image-arrow {
  color: #284c3a;
  background: #ffffffd6;
  border: 1px solid #ffffff8c;
  border-radius: 50%;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 15px;
  transition: transform .2s;
  display: grid;
  position: absolute;
  bottom: 13px;
  right: 13px;
}

.project-card:hover .image-arrow {
  transform: rotate(45deg);
}

.project-card-content {
  padding: 17px 18px;
}

.project-card-location, .detail-location {
  color: #829087;
  align-items: center;
  gap: 6px;
  font-size: 9px;
  font-weight: 600;
  display: flex;
}

.project-card-location svg, .detail-location svg {
  fill: none;
  stroke: #6a997a;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6px;
  flex: 0 0 13px;
  width: 13px;
}

.location-separator {
  color: #bdc6bf;
}

.project-card h3 {
  color: #253f33;
  font-family: var(--font-serif);
  letter-spacing: -.3px;
  margin: 10px 0 7px;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.25;
}

.project-card h3 a:hover {
  color: #35815b;
}

.project-card-summary {
  color: #7b8980;
  min-height: 40px;
  margin: 0;
  font-size: 10px;
  line-height: 1.7;
}

.project-sample-note {
  color: #8c7b4d;
  margin: 8px 0 0;
  font-size: 9px;
  line-height: 1.55;
}

.project-card-bottom {
  border-top: 1px solid #edf0ec;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 15px;
  padding-top: 13px;
  display: flex;
}

.project-card-bottom > div {
  gap: 5px;
  display: grid;
}

.field-label {
  color: #89958d;
  font-size: 9px;
  font-weight: 600;
}

.field-value {
  color: #26483a;
  font-size: 14px;
  font-weight: 700;
}

.field-value small {
  color: #839087;
  font-size: 9px;
  font-weight: 500;
}

.project-card-link {
  color: #437051;
  border: 1px solid #e3eae2;
  border-radius: 50%;
  flex: 0 0 35px;
  place-items: center;
  width: 35px;
  height: 35px;
  font-size: 16px;
  transition: color .2s, background .2s, border .2s;
  display: grid;
}

.project-card-link:hover {
  border-color: var(--green-dark);
  background: var(--green-dark);
  color: #fff;
}

.sample-disclaimer {
  color: #829087;
  align-items: flex-start;
  gap: 9px;
  margin: 24px 0 0;
  font-size: 10px;
  line-height: 1.7;
  display: flex;
}

.sample-disclaimer span {
  color: #53896a;
  font-size: 13px;
}

.empty-state {
  text-align: center;
  background: #ffffff94;
  border: 1px dashed #d6e3d8;
  border-radius: 20px;
  padding: 57px 20px;
}

.empty-state-icon {
  color: #68a27b;
  font-size: 32px;
}

.empty-state h2, .empty-state h3 {
  color: #294b39;
  font-family: var(--font-serif);
  margin: 13px 0 7px;
  font-size: 25px;
  font-weight: 500;
}

.empty-state p {
  color: #78877e;
  margin: 0;
  font-size: 12px;
}

.how-section {
  color: #fff;
  background: #183f34;
  border-radius: 28px;
  grid-template-columns: .86fr 1.14fr;
  width: min(1320px, 100% - 48px);
  min-height: 439px;
  margin: 0 auto;
  display: grid;
  overflow: hidden;
}

.how-intro {
  background: radial-gradient(circle at 4% 99%, #67a17852, #0000 47%), linear-gradient(139deg, #1d4a3a, #193e34 70%);
  flex-direction: column;
  align-items: flex-start;
  padding: 54px 49px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.eyebrow-light {
  color: #a9d2b4;
  letter-spacing: .07em;
  text-transform: uppercase;
  font-size: 10px;
}

.how-intro h2 {
  z-index: 1;
  max-width: 360px;
  font-family: var(--font-serif);
  letter-spacing: -1.2px;
  margin: 18px 0 13px;
  font-size: clamp(34px, 3.4vw, 43px);
  font-weight: 500;
  line-height: 1.14;
}

.how-intro > p {
  z-index: 1;
  color: #b8ccc1;
  max-width: 345px;
  margin: 0;
  font-size: 11px;
  line-height: 1.85;
}

.button-light {
  z-index: 1;
  color: #234836;
  background: #e6f0e7;
  min-height: 43px;
  margin-top: 24px;
  font-size: 11px;
}

.button-light:hover {
  background: #fff;
}

.how-decoration {
  opacity: .16;
  align-items: flex-end;
  gap: 7px;
  height: 168px;
  display: flex;
  position: absolute;
  bottom: -42px;
  right: -20px;
  transform: rotate(-29deg);
}

.how-decoration span {
  background: linear-gradient(#d5efcdcc, #44895d1f);
  border: 1px solid #c8e7cb;
  border-radius: 9px 9px 0 0;
  width: 29px;
}

.how-decoration span:first-child {
  height: 68px;
}

.how-decoration span:nth-child(2) {
  height: 99px;
}

.how-decoration span:nth-child(3) {
  height: 124px;
}

.how-decoration span:nth-child(4) {
  height: 148px;
}

.how-decoration span:nth-child(5) {
  height: 168px;
}

.steps-list {
  align-content: center;
  padding: 39px 50px;
  display: grid;
}

.step-card {
  border-bottom: 1px solid #ddefe024;
  grid-template-columns: 44px 1fr 22px;
  align-items: start;
  gap: 15px;
  padding: 25px 0;
  display: grid;
}

.step-card:last-child {
  border-bottom: 0;
}

.step-number {
  color: #b7d5bc;
  width: 38px;
  height: 38px;
  font-family: var(--font-serif);
  border: 1px solid #d4ead63d;
  border-radius: 13px;
  place-items: center;
  font-size: 13px;
  display: grid;
}

.step-card h3 {
  color: #f4f7ee;
  font-family: var(--font-serif);
  margin: 2px 0 7px;
  font-size: 20px;
  font-weight: 500;
}

.step-card p {
  color: #acc2b4;
  max-width: 370px;
  margin: 0;
  font-size: 10px;
  line-height: 1.75;
}

.step-arrow {
  color: #85b18e;
  font-size: 16px;
}

.clarity-section {
  width: min(1220px, 100% - 76px);
  margin: 0 auto;
  padding: 92px 0 106px;
  scroll-margin-top: 105px;
}

.clarity-heading {
  max-width: 620px;
  margin-bottom: 29px;
}

.clarity-heading h2 {
  max-width: 580px;
}

.clarity-heading > p {
  max-width: 550px;
}

.clarity-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 17px;
  display: grid;
}

.clarity-card {
  background: #ffffffc2;
  border: 1px solid #e6ece5;
  border-radius: 18px;
  min-height: 187px;
  padding: 21px 21px 19px;
}

.clarity-icon {
  border-radius: 13px;
  place-items: center;
  width: 37px;
  height: 37px;
  display: grid;
}

.clarity-icon svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5px;
  width: 20px;
}

.clarity-icon-green {
  color: #4c875d;
  background: #e8f3e7;
}

.clarity-icon-blue {
  color: #628792;
  background: #ebf1f3;
}

.clarity-icon-yellow {
  color: #9a8951;
  background: #f4f1e5;
}

.clarity-card h3 {
  color: #334c3e;
  font-family: var(--font-serif);
  margin: 15px 0 7px;
  font-size: 18px;
  font-weight: 500;
}

.clarity-card p {
  color: #839087;
  max-width: 300px;
  margin: 0;
  font-size: 10px;
  line-height: 1.75;
}

.site-footer {
  color: #1d362d;
  background: linear-gradient(#f4f8f3 0%, #edf4ef 100%);
  border-top: 1px solid #111a1514;
  padding: 43px max(38px, 50% - 610px) 22px;
}

.footer-main {
  grid-template-columns: 1.5fr .75fr .75fr .55fr;
  gap: 38px;
  padding-bottom: 31px;
  display: grid;
}

.footer-brand-column > p {
  color: #5b6f66;
  max-width: 255px;
  margin: 13px 0 0;
  font-size: 10px;
  line-height: 1.7;
}

.footer-link-group {
  flex-direction: column;
  align-items: flex-start;
  gap: 11px;
  display: flex;
}

.footer-link-group h2 {
  color: #284d40;
  margin: 4px 0 3px;
  font-size: 10px;
  font-weight: 700;
}

.footer-link-group a, .footer-language > span {
  color: #65756c;
  font-size: 10px;
}

.footer-link-group a:hover {
  color: #3d8059;
}

.footer-language {
  align-content: start;
  justify-items: end;
  gap: 9px;
  display: grid;
}

.footer-bottom {
  color: #65786f;
  border-top: 1px solid #1c3a2f1f;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  padding-top: 18px;
  font-size: 9px;
  display: flex;
}

.footer-bottom p {
  margin: 0;
  line-height: 1.7;
}

.footer-disclaimer {
  max-width: 610px;
}

.mobile-bottom-nav {
  display: none;
}

.listing-hero {
  background: radial-gradient(at 94% 5%, #d5e8cf8c, #0000 34%), linear-gradient(120deg, #fbfcf7 0%, #f3f8ef 100%);
  border: 1px solid #e8eee7;
  border-radius: 30px;
  width: min(1320px, 100% - 48px);
  margin: 30px auto 0;
  padding: 62px 65px 44px;
}

.listing-hero h1 {
  max-width: 850px;
  margin-top: 17px;
  font-size: clamp(46px, 5.1vw, 68px);
}

.listing-hero > p {
  color: #718077;
  max-width: 580px;
  margin: 0;
  font-size: 13px;
  line-height: 1.8;
}

.listing-breadcrumb, .detail-breadcrumb {
  color: #8a968e;
  align-items: center;
  gap: 9px;
  margin-top: 31px;
  font-size: 10px;
  display: flex;
}

.listing-breadcrumb a:hover, .detail-breadcrumb a:hover {
  color: #3a7754;
}

.listing-section {
  min-height: 400px;
  padding-top: 49px;
  padding-bottom: 86px;
}

.pagination-wrap {
  margin-top: 24px;
}

.pagination-wrap nav {
  justify-content: center;
  gap: 7px;
  display: flex;
}

.pagination-wrap nav a, .pagination-wrap nav span > span {
  color: #385844;
  background: #fff;
  border: 1px solid #e2eae2;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  min-width: 34px;
  min-height: 34px;
  padding: 0 9px;
  font-size: 11px;
  display: inline-flex;
}

.pagination-wrap nav span[aria-current="page"] span {
  color: #fff;
  background: #254b37;
}

.detail-hero {
  width: min(1200px, 100% - 64px);
  margin: 22px auto 0;
}

.detail-breadcrumb {
  margin: 0 0 29px;
}

.detail-heading {
  justify-content: space-between;
  align-items: end;
  gap: 20px;
  display: flex;
}

.detail-heading h1 {
  color: #18382f;
  font-family: var(--font-serif);
  letter-spacing: -2px;
  margin: 13px 0 9px;
  font-size: clamp(38px, 4vw, 54px);
  font-weight: 500;
  line-height: 1.1;
}

.detail-location {
  gap: 8px;
  font-size: 11px;
}

.detail-location svg {
  flex-basis: 15px;
  width: 15px;
}

.project-tag-static {
  margin-bottom: 6px;
  position: static;
}

.detail-layout {
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, .7fr);
  align-items: start;
  gap: 26px;
  width: min(1200px, 100% - 64px);
  margin: 30px auto 95px;
  display: grid;
}

.detail-main {
  min-width: 0;
}

.detail-gallery {
  gap: 13px;
  display: grid;
}

.gallery-stage {
  background: #e5efe4;
  border: 1px solid #e4ebe3;
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}

.gallery-image-trigger {
  cursor: zoom-in;
  background: none;
  border: 0;
  width: 100%;
  padding: 0;
  display: block;
}

.gallery-image-trigger img {
  object-fit: cover;
  background: #e5efe4;
  width: 100%;
  height: clamp(310px, 43vw, 500px);
}

.gallery-arrow {
  z-index: 2;
  color: #183f31;
  cursor: pointer;
  background: #ffffffe0;
  border: 1px solid #fffc;
  border-radius: 50%;
  place-items: center;
  width: 42px;
  height: 42px;
  font-size: 23px;
  line-height: 1;
  transition: background .18s, transform .18s;
  display: grid;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  box-shadow: 0 4px 18px #15312426;
}

.gallery-arrow:hover {
  background: #fff;
  transform: translateY(-50%) scale(1.06);
}

.gallery-arrow-previous {
  left: 16px;
}

.gallery-arrow-next {
  right: 16px;
}

.gallery-thumbnails {
  overscroll-behavior-inline: contain;
  scrollbar-color: #bdcfc1 transparent;
  scrollbar-width: thin;
  gap: 10px;
  padding: 1px 0 7px;
  display: flex;
  overflow-x: auto;
}

.gallery-thumbnail {
  cursor: pointer;
  opacity: .75;
  background: #e5efe4;
  border: 2px solid #0000;
  border-radius: 11px;
  flex: none;
  width: 96px;
  height: 76px;
  padding: 0;
  transition: border-color .18s, opacity .18s;
  overflow: hidden;
}

.gallery-thumbnail img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.gallery-thumbnail:hover, .gallery-thumbnail.is-active {
  opacity: 1;
  border-color: #27825f;
}

.gallery-thumbnail:focus-visible, .gallery-arrow:focus-visible, .gallery-image-trigger:focus-visible, .lightbox-close:focus-visible {
  outline-offset: 3px;
  outline: 3px solid #58a27b;
}

.image-lightbox {
  color: #fff;
  background: none;
  border: 0;
  width: min(1120px, 100vw - 38px);
  max-width: none;
  max-height: none;
  padding: 0 54px 37px;
  position: fixed;
  overflow: visible;
}

.image-lightbox::backdrop {
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  background: #07100ceb;
}

.image-lightbox > img {
  object-fit: contain;
  border-radius: 8px;
  width: 100%;
  height: min(78vh, 760px);
}

.lightbox-close {
  color: #fff;
  cursor: pointer;
  background: #ffffff21;
  border: 1px solid #ffffff52;
  border-radius: 50%;
  place-items: center;
  width: 42px;
  height: 42px;
  font-size: 29px;
  line-height: 1;
  display: grid;
  position: absolute;
  top: -9px;
  right: 1px;
}

.lightbox-arrow {
  background: #ffffffeb;
  width: 46px;
  height: 46px;
  top: 50%;
}

.lightbox-arrow-previous {
  left: 0;
}

.lightbox-arrow-next {
  right: 0;
}

.lightbox-counter {
  color: #ffffffc7;
  font-variant-numeric: tabular-nums;
  margin: 0;
  font-size: 12px;
  position: absolute;
  bottom: 0;
  right: 50%;
  transform: translateX(50%);
}

.sample-project-notice {
  color: #776b42;
  background: #fffdf4;
  border: 1px solid #eadfba;
  border-radius: 11px;
  margin-top: 12px;
  padding: 12px 14px;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.65;
}

.detail-copy, .detail-documents {
  background: #fffc;
  border: 1px solid #e6ece5;
  border-radius: 18px;
  margin-top: 24px;
  padding: 25px;
}

.detail-copy h2 {
  color: #2b4436;
  font-family: var(--font-serif);
  margin: 9px 0 10px;
  font-size: 24px;
  font-weight: 500;
}

.detail-copy p, .detail-documents p {
  color: #738177;
  margin: 0;
  font-size: 12px;
  line-height: 1.9;
}

.detail-documents p {
  margin-top: 10px;
}

.terms-card {
  background: #fff;
  border: 1px solid #e2eae1;
  border-radius: 21px;
  padding: 23px;
  position: sticky;
  top: 111px;
  box-shadow: 0 11px 32px #2b4b300f;
}

.terms-card h2 {
  color: #284234;
  font-family: var(--font-serif);
  margin: 9px 0 17px;
  font-size: 25px;
  font-weight: 500;
}

.terms-list {
  margin: 0 0 16px;
}

.terms-list > div {
  border-bottom: 1px solid #edf0ec;
  justify-content: space-between;
  gap: 14px;
  padding: 11px 0;
  display: flex;
}

.terms-list dt {
  color: #849188;
  font-size: 10px;
}

.terms-list dd {
  color: #365744;
  text-align: right;
  margin: 0;
  font-size: 10px;
  font-weight: 700;
}

.terms-notice {
  color: #797553;
  background: #faf9f1;
  border: 1px solid #e7ead8;
  border-radius: 11px;
  margin: 16px 0;
  padding: 11px 12px;
  font-size: 10px;
  line-height: 1.65;
}

.button-full {
  width: 100%;
  min-height: 45px;
  font-size: 11px;
}

.detail-risk-note {
  color: #849087;
  margin: 12px 3px 0;
  font-size: 9px;
  line-height: 1.75;
}

.mobile-project-link {
  display: none;
}

@media (max-width: 1030px) {
  .header-shell {
    gap: 16px;
  }

  .desktop-nav a {
    padding-inline: 12px;
  }

  .hero-section {
    grid-template-columns: 1fr .86fr;
    gap: 27px;
    padding-inline: 44px;
  }

  .hero-content h1 {
    letter-spacing: -3.7px;
    font-size: clamp(52px, 6vw, 67px);
  }

  .floating-note {
    left: -22px;
  }

  .intro-fact {
    flex-direction: column;
    align-items: flex-start;
  }

  .detail-layout {
    grid-template-columns: minmax(0, 1.3fr) minmax(250px, .8fr);
    gap: 18px;
  }
}

@media (max-width: 760px) {
  html {
    scroll-padding-top: 88px;
  }

  .site-header {
    border-radius: 18px;
    width: calc(100% - 28px);
    margin-top: 8px;
    top: 8px;
  }

  .header-shell {
    min-height: 64px;
    padding: 8px 11px;
  }

  .brand {
    gap: 8px;
  }

  .brand-mark {
    border-radius: 12px;
    flex-basis: 39px;
    width: 39px;
    height: 39px;
  }

  .brand-name {
    font-size: 17px;
  }

  .brand-caption {
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 145px;
    font-size: 8px;
    overflow: hidden;
  }

  .desktop-nav, .header-cta, .header-actions > form:not(.language-switch) {
    display: none;
  }

  .header-actions {
    gap: 11px;
  }

  .header-actions > .language-switch {
    gap: 6px;
  }

  .menu-toggle {
    border-radius: 13px;
    width: 39px;
    height: 39px;
    display: flex;
  }

  .hero-section {
    border-radius: 27px;
    grid-template-columns: 1fr;
    gap: 30px;
    width: calc(100% - 28px);
    min-height: auto;
    margin-top: 17px;
    padding: 43px 25px 33px;
  }

  .hero-content h1 {
    letter-spacing: -3.5px;
    max-width: 550px;
    margin: 17px 0 13px;
    font-size: clamp(47px, 11.8vw, 66px);
  }

  .hero-description {
    font-size: 12px;
    line-height: 1.8;
  }

  .hero-actions {
    gap: 16px;
    margin-top: 22px;
  }

  .button {
    gap: 9px;
    min-height: 46px;
    padding: 0 17px;
    font-size: 11px;
  }

  .text-link {
    gap: 6px;
    font-size: 10px;
  }

  .hero-proof {
    margin-top: 23px;
    font-size: 10px;
  }

  .hero-visual {
    justify-self: center;
    width: 100%;
    max-width: 470px;
    padding-inline: 15px;
  }

  .hero-art-frame {
    border-width: 6px;
    border-radius: 165px 165px 20px 20px;
    width: 100%;
  }

  .hero-art-frame > img {
    aspect-ratio: 1.12;
  }

  .hero-image-label {
    border-radius: 13px;
    gap: 8px;
    padding: 10px;
    bottom: 10px;
    left: 10px;
    right: 10px;
  }

  .hero-image-icon {
    border-radius: 10px;
    flex-basis: 32px;
    width: 32px;
    height: 32px;
    font-size: 14px;
  }

  .hero-image-label strong {
    font-size: 9px;
  }

  .hero-image-label small {
    font-size: 8px;
  }

  .floating-note {
    border-radius: 13px;
    gap: 7px;
    max-width: 174px;
    padding: 10px;
    top: 15%;
    left: -3px;
  }

  .floating-note-icon {
    flex-basis: 27px;
    width: 27px;
    height: 27px;
  }

  .floating-note-icon svg {
    width: 15px;
  }

  .floating-note strong {
    font-size: 9px;
  }

  .floating-note small {
    font-size: 8px;
  }

  .hero-image-caption {
    margin-top: 10px;
    font-size: 9px;
  }

  .intro-strip {
    grid-template-columns: 1fr;
    gap: 17px;
    width: calc(100% - 42px);
    padding: 31px 1px 33px;
  }

  .intro-copy p {
    max-width: 480px;
    font-size: 11px;
  }

  .intro-facts {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .intro-fact {
    flex-direction: row;
    align-items: center;
    min-height: 39px;
    padding: 3px 0;
    font-size: 10px;
  }

  .fact-icon {
    border-radius: 10px;
    flex-basis: 30px;
    width: 30px;
    height: 30px;
    font-size: 10px;
  }

  .section, .clarity-section {
    width: calc(100% - 42px);
  }

  .section-projects {
    padding-top: 55px;
    padding-bottom: 59px;
  }

  .section-heading {
    align-items: flex-start;
    margin-bottom: 20px;
  }

  .section-heading h2, .clarity-heading h2 {
    letter-spacing: -1.3px;
    margin-top: 10px;
    font-size: 35px;
  }

  .section-heading p, .clarity-heading > p {
    font-size: 11px;
  }

  .desktop-only {
    display: none;
  }

  .project-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .project-card {
    border-radius: 17px;
  }

  .project-card-image > img {
    aspect-ratio: 1.6;
  }

  .project-card-content {
    padding: 14px 15px;
  }

  .project-card h3 {
    margin-top: 8px;
    font-size: 20px;
  }

  .project-card-summary {
    min-height: initial;
    font-size: 10px;
  }

  .project-sample-note {
    font-size: 8px;
  }

  .mobile-project-link {
    justify-content: center;
    margin-top: 20px;
    display: flex;
  }

  .sample-disclaimer {
    margin-top: 19px;
    font-size: 9px;
  }

  .how-section {
    border-radius: 23px;
    grid-template-columns: 1fr;
    width: calc(100% - 28px);
  }

  .how-intro {
    padding: 36px 26px 35px;
  }

  .how-intro h2 {
    max-width: 450px;
    margin: 14px 0 10px;
    font-size: 35px;
  }

  .how-intro > p {
    font-size: 10px;
  }

  .button-light {
    margin-top: 18px;
  }

  .how-decoration {
    bottom: -67px;
    right: -45px;
    transform: scale(.8) rotate(-29deg);
  }

  .steps-list {
    padding: 11px 25px 17px;
  }

  .step-card {
    grid-template-columns: 37px 1fr 15px;
    gap: 11px;
    padding: 18px 0;
  }

  .step-number {
    border-radius: 11px;
    width: 34px;
    height: 34px;
    font-size: 11px;
  }

  .step-card h3 {
    font-size: 17px;
  }

  .step-card p {
    font-size: 9px;
  }

  .clarity-section {
    padding: 58px 0 64px;
  }

  .clarity-heading {
    margin-bottom: 19px;
  }

  .clarity-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .clarity-card {
    min-height: initial;
    border-radius: 15px;
    padding: 16px;
  }

  .clarity-icon {
    border-radius: 11px;
    width: 32px;
    height: 32px;
  }

  .clarity-icon svg {
    width: 17px;
  }

  .clarity-card h3 {
    margin: 11px 0 5px;
    font-size: 17px;
  }

  .clarity-card p {
    font-size: 9px;
  }

  .site-footer {
    padding: 29px 22px 94px;
  }

  .footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 18px;
    padding-bottom: 22px;
  }

  .footer-brand-column {
    grid-column: 1 / -1;
  }

  .footer-brand-column > p {
    max-width: 280px;
    font-size: 9px;
  }

  .footer-link-group {
    gap: 9px;
  }

  .footer-link-group h2, .footer-link-group a, .footer-language > span {
    font-size: 9px;
  }

  .footer-language {
    justify-items: start;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
    font-size: 8px;
  }

  .mobile-bottom-nav {
    z-index: 35;
    right: 12px;
    bottom: max(11px, env(safe-area-inset-bottom));
    -webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px);
    background: #ffffffc7;
    border: 1px solid #ffffffe0;
    border-radius: 21px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    min-height: 65px;
    padding: 6px 5px;
    display: grid;
    position: fixed;
    left: 12px;
    box-shadow: 0 8px 32px #1c392a26, 0 1px 4px #2036250f;
  }

  .mobile-bottom-nav > a, .mobile-bottom-nav form, .mobile-bottom-nav form button {
    color: #78867d;
    cursor: pointer;
    background: none;
    border: 0;
    border-radius: 15px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 4px;
    min-width: 0;
    display: flex;
  }

  .mobile-bottom-nav > a, .mobile-bottom-nav form button {
    min-height: 52px;
    padding: 2px 4px;
  }

  .mobile-bottom-nav form {
    height: 100%;
  }

  .mobile-bottom-nav form button {
    width: 100%;
  }

  .mobile-bottom-nav > a.is-active {
    color: #2b7750;
    background: #e4f1e5b8;
  }

  .mobile-bottom-nav svg {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7px;
    width: 19px;
    height: 19px;
  }

  .mobile-bottom-nav span {
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
    font-size: 8px;
    font-weight: 600;
    overflow: hidden;
  }

  .listing-hero {
    border-radius: 25px;
    width: calc(100% - 28px);
    margin-top: 17px;
    padding: 39px 24px 27px;
  }

  .listing-hero h1 {
    letter-spacing: -2.5px;
    margin: 15px 0 12px;
    font-size: clamp(40px, 9.5vw, 55px);
  }

  .listing-hero > p {
    font-size: 11px;
  }

  .listing-breadcrumb {
    margin-top: 23px;
  }

  .listing-section {
    padding-top: 25px;
    padding-bottom: 56px;
  }

  .detail-hero, .detail-layout {
    width: calc(100% - 32px);
  }

  .detail-hero {
    margin-top: 19px;
  }

  .detail-breadcrumb {
    gap: 6px;
    margin-bottom: 21px;
    font-size: 8px;
  }

  .detail-heading {
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
  }

  .detail-heading h1 {
    letter-spacing: -1.4px;
    margin: 10px 0 7px;
    font-size: 38px;
  }

  .detail-layout {
    grid-template-columns: 1fr;
    gap: 17px;
    margin-top: 22px;
    margin-bottom: 58px;
  }

  .gallery-image-trigger img {
    height: clamp(240px, 65vw, 390px);
  }

  .gallery-thumbnail {
    width: 78px;
    height: 64px;
  }

  .gallery-arrow {
    width: 36px;
    height: 36px;
    font-size: 20px;
  }

  .gallery-arrow-previous {
    left: 10px;
  }

  .gallery-arrow-next {
    right: 10px;
  }

  .image-lightbox {
    width: calc(100vw - 16px);
    padding: 0 35px 34px;
  }

  .image-lightbox > img {
    height: 74vh;
  }

  .lightbox-arrow {
    width: 30px;
    height: 30px;
    font-size: 17px;
  }

  .lightbox-arrow-previous {
    left: 0;
  }

  .lightbox-arrow-next {
    right: 0;
  }

  .detail-copy, .detail-documents {
    border-radius: 15px;
    margin-top: 15px;
    padding: 18px;
  }

  .detail-copy h2 {
    font-size: 21px;
  }

  .detail-copy p, .detail-documents p {
    font-size: 10px;
  }

  .terms-card {
    border-radius: 17px;
    padding: 19px;
    position: static;
  }

  .terms-card h2 {
    font-size: 22px;
  }

  .terms-list > div {
    padding: 10px 0;
  }

  .terms-list dt, .terms-list dd {
    font-size: 9px;
  }

  .detail-risk-note {
    font-size: 8px;
  }
}

@media (max-width: 390px) {
  .header-actions {
    gap: 7px;
  }

  .brand-caption {
    max-width: 124px;
  }

  .header-actions > .language-switch {
    font-size: 10px;
  }

  .hero-section {
    padding-inline: 19px;
  }

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

  .hero-actions {
    flex-direction: column;
    align-items: flex-start;
    gap: 13px;
  }

  .floating-note {
    left: -10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, :before, :after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

.auth-section, .portal-section {
  width: min(1080px, 100% - 48px);
  margin: 44px auto 90px;
}

.auth-section {
  place-items: center;
  min-height: 580px;
  display: grid;
}

.auth-card {
  background: #ffffffdb;
  border: 1px solid #e0e9e1e6;
  border-radius: 25px;
  width: min(100%, 470px);
  padding: clamp(26px, 5vw, 48px);
  box-shadow: 0 18px 55px #22453117;
}

.auth-card h1, .portal-heading h1 {
  color: var(--green-dark);
  font-family: var(--font-serif);
  letter-spacing: -1.5px;
  margin: 14px 0 10px;
  font-size: clamp(34px, 6vw, 46px);
  font-weight: 500;
}

.auth-description, .portal-heading > p, .portal-notice > p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.75;
}

.auth-form {
  gap: 10px;
  margin-top: 26px;
  display: grid;
}

.auth-form > label:not(.auth-remember) {
  color: #30483a;
  margin-top: 7px;
  font-size: 13px;
  font-weight: 700;
}

.auth-form > input {
  width: 100%;
  min-height: 48px;
  color: var(--ink);
  font: inherit;
  background: #fbfdfb;
  border: 1px solid #dfe8df;
  border-radius: 12px;
  outline: none;
  padding: 11px 14px;
}

.auth-form > input:focus {
  border-color: #62a27f;
  box-shadow: 0 0 0 3px #2d895c1f;
}

.auth-remember {
  color: var(--muted);
  align-items: center;
  gap: 9px;
  margin: 6px 0;
  font-size: 13px;
  display: flex;
}

.auth-remember input {
  width: 16px;
  height: 16px;
  accent-color: var(--green);
}

.auth-submit {
  cursor: pointer;
  border: 0;
  justify-content: space-between;
  width: 100%;
  margin-top: 8px;
  padding: 14px 17px;
  font-size: 14px;
}

.auth-error {
  color: #a43f34;
  font-size: 12px;
  line-height: 1.5;
}

.auth-switch {
  color: var(--muted);
  text-align: center;
  margin: 20px 0 0;
  font-size: 13px;
}

.auth-switch a {
  color: var(--green-dark);
  text-underline-offset: 3px;
  font-weight: 700;
  text-decoration: underline;
}

.portal-section {
  min-height: 520px;
  padding-top: 26px;
}

.portal-heading {
  margin-bottom: 30px;
}

.portal-notice, .portal-warning {
  background: #fff;
  border: 1px solid #e2ebe2;
  border-radius: 18px;
  padding: 24px;
}

.portal-notice h2 {
  color: var(--green-dark);
  font-family: var(--font-serif);
  margin: 0;
  font-size: 25px;
  font-weight: 500;
}

.portal-notice .button {
  margin-top: 10px;
}

.admin-summary-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 15px;
  display: grid;
}

.admin-summary-card {
  background: #fff;
  border: 1px solid #e2ebe2;
  border-radius: 17px;
  align-content: space-between;
  gap: 14px;
  min-height: 118px;
  padding: 20px;
  display: grid;
}

.admin-summary-card span {
  color: var(--muted);
  font-size: 13px;
}

.admin-summary-card strong {
  color: var(--green-dark);
  font-size: 25px;
  font-weight: 750;
}

.admin-summary-wide {
  grid-column: span 2;
}

.portal-warning {
  color: #716d4a;
  background: #faf9f1;
  margin-top: 20px;
  font-size: 13px;
  line-height: 1.7;
}

.portal-logout {
  margin-top: 20px;
}

.admin-body {
  color: #252d29;
  background: #f6f8f7;
  min-width: 320px;
  min-height: 100vh;
}

.admin-sidebar {
  z-index: 50;
  background: #fff;
  border-right: 1px solid #e8ece9;
  flex-direction: column;
  width: 264px;
  display: flex;
  position: fixed;
  inset: 0 auto 0 0;
}

.admin-brand {
  border-bottom: 1px solid #edf0ee;
  align-items: center;
  gap: 11px;
  min-height: 70px;
  padding: 12px 20px;
  display: flex;
}

.admin-brand-mark {
  background: #07100d;
  border: 1px solid #e9eeea;
  border-radius: 11px;
  flex: 0 0 39px;
  place-items: center;
  width: 39px;
  height: 39px;
  display: grid;
  overflow: hidden;
}

.admin-brand-mark img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.admin-brand-copy {
  gap: 3px;
  display: grid;
}

.admin-brand-copy strong {
  color: #173d31;
  letter-spacing: -.5px;
  font-size: 15px;
  font-weight: 800;
}

.admin-brand-copy strong span {
  color: #2b9c6c;
}

.admin-brand-copy small {
  color: #87938b;
  font-size: 10px;
}

.admin-navigation {
  flex: 1;
  align-content: start;
  gap: 20px;
  padding: 19px 13px 24px;
  display: grid;
  overflow-y: auto;
}

.admin-nav-group {
  gap: 4px;
  display: grid;
}

.admin-nav-group h2 {
  color: #8b958e;
  letter-spacing: .8px;
  text-transform: uppercase;
  margin: 0 0 5px;
  padding: 0 12px;
  font-size: 10px;
  font-weight: 750;
}

.admin-nav-link, .admin-sidebar-link {
  color: #526159;
  width: 100%;
  min-height: 42px;
  font: inherit;
  text-align: left;
  background: none;
  border: 0;
  border-radius: 9px;
  align-items: center;
  gap: 11px;
  padding: 9px 11px;
  font-size: 12px;
  font-weight: 600;
  display: flex;
}

.admin-nav-link > svg, .admin-sidebar-link > svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7px;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
}

a.admin-nav-link:hover, .admin-sidebar-link:hover {
  color: #1d6146;
  background: #f4f7f5;
}

.admin-nav-link.is-active {
  color: #1c6849;
  background: #eaf4ee;
  font-weight: 750;
}

.admin-nav-link.is-disabled {
  color: #6c7770;
  cursor: default;
}

.admin-nav-link > span {
  flex: 1;
  min-width: 0;
}

.admin-nav-link > small {
  color: #a0aaa3;
  flex: none;
  font-size: 9px;
  font-weight: 600;
}

.admin-nav-link > .admin-nav-count {
  color: #886b24;
  background: #fcf4df;
  border-radius: 999px;
  place-items: center;
  min-width: 21px;
  height: 21px;
  font-size: 10px;
  display: grid;
}

.admin-sidebar-bottom {
  border-top: 1px solid #edf0ee;
  gap: 3px;
  padding: 12px 13px 15px;
  display: grid;
}

.admin-sidebar-bottom form {
  margin: 0;
}

.admin-sidebar-bottom .admin-sidebar-link {
  cursor: pointer;
}

.admin-workspace {
  min-height: 100vh;
  margin-left: 264px;
}

.admin-topbar {
  z-index: 35;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  background: #fffffff5;
  border-bottom: 1px solid #e8ece9;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  min-height: 68px;
  padding: 10px 28px;
  display: flex;
  position: sticky;
  top: 0;
}

.admin-topbar-leading, .admin-topbar-actions, .admin-user {
  align-items: center;
  display: flex;
}

.admin-topbar-leading {
  gap: 13px;
}

.admin-breadcrumb {
  color: #88938c;
  align-items: center;
  gap: 9px;
  font-size: 11px;
  display: flex;
}

.admin-breadcrumb strong {
  color: #33453a;
  font-weight: 700;
}

.admin-topbar-actions {
  gap: 19px;
}

.admin-language-switch {
  color: #b1bab4;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  display: inline-flex;
}

.admin-language-switch button {
  color: #718078;
  cursor: pointer;
  font: inherit;
  background: none;
  border: 0;
  padding: 6px 2px;
}

.admin-language-switch button[aria-current="true"] {
  color: #205d43;
  font-weight: 750;
}

.admin-user {
  border-left: 1px solid #e9eeea;
  gap: 10px;
  padding-left: 17px;
}

.admin-avatar {
  color: #fff;
  background: #17251e;
  border-radius: 50%;
  flex: 0 0 36px;
  place-items: center;
  width: 36px;
  height: 36px;
  font-size: 13px;
  font-weight: 750;
  display: grid;
}

.admin-user-copy {
  gap: 2px;
  display: grid;
}

.admin-user-copy strong {
  color: #34443a;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 180px;
  font-size: 11px;
  overflow: hidden;
}

.admin-user-copy small {
  color: #89938c;
  font-size: 10px;
}

.admin-main {
  width: min(1500px, 100%);
  margin: 0 auto;
  padding: 29px 30px 48px;
}

.admin-dashboard {
  width: 100%;
}

.admin-dashboard .portal-heading {
  margin-bottom: 23px;
}

.admin-dashboard .portal-heading h1 {
  color: #252f29;
  font-family: var(--font-sans);
  letter-spacing: -.9px;
  margin-top: 8px;
  font-size: clamp(27px, 3vw, 34px);
  font-weight: 750;
}

.admin-dashboard .portal-heading > p {
  margin: 0;
  font-size: 12px;
}

.admin-dashboard .portal-stat-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 13px;
}

.admin-dashboard .portal-stat-card {
  background: #fff;
  border-color: #e7ece8;
  border-radius: 12px;
  min-height: 126px;
  box-shadow: 0 2px 4px #1d342706;
}

.admin-dashboard .portal-panel {
  border-color: #e7ece8;
  border-radius: 13px;
  box-shadow: 0 2px 4px #1d342706;
}

.admin-sidebar-toggle {
  color: #42554a;
  cursor: pointer;
  background: #fff;
  border: 1px solid #e4eae5;
  border-radius: 9px;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  display: none;
}

.admin-sidebar-toggle svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 1.8px;
  width: 19px;
  height: 19px;
}

.admin-sidebar-backdrop {
  display: none;
}

.portal-heading-row {
  justify-content: space-between;
  align-items: flex-end;
  gap: 22px;
  display: flex;
}

.portal-heading-actions {
  flex-wrap: wrap;
  flex: none;
  gap: 10px;
  display: flex;
}

.deposit-instructions {
  color: #40574a;
  overflow-wrap: anywhere;
  margin: 0;
  font-size: 13px;
  line-height: 1.8;
}

.payment-qr {
  justify-items: start;
  gap: .75rem;
  margin: 1.25rem 0 0;
  display: grid;
}

.payment-qr img {
  aspect-ratio: 1;
  object-fit: contain;
  background: #fff;
  border: 1px solid #e2e9e2;
  border-radius: 1rem;
  width: min(100%, 18rem);
  padding: .75rem;
}

.payment-qr figcaption {
  color: #627469;
  max-width: 34rem;
  font-size: .875rem;
}

.payment-qr-history img {
  width: min(100%, 10rem);
}

.deposit-status-tabs {
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px;
  display: flex;
}

.deposit-status-tabs a {
  color: #627469;
  background: #fff;
  border: 1px solid #e2e9e2;
  border-radius: 999px;
  align-items: center;
  gap: 7px;
  padding: 8px 13px;
  font-size: 11px;
  text-decoration: none;
  display: inline-flex;
}

.deposit-status-tabs a.is-active {
  color: #236a4e;
  background: #edf5ee;
  border-color: #b9d5c2;
}

.deposit-status-tabs a span {
  font-size: 10px;
  font-weight: 800;
}

.deposit-review-form {
  gap: 8px;
  min-width: 190px;
  display: grid;
}

.deposit-review-form textarea {
  min-height: 56px;
}

.deposit-review-actions {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.deposit-review-actions .button {
  white-space: nowrap;
}

.deposit-instruction-snapshot {
  color: #66776d;
  min-width: 180px;
  margin-top: 7px;
  font-size: 10px;
}

.deposit-instruction-snapshot summary {
  cursor: pointer;
  font-weight: 700;
}

.deposit-instruction-snapshot .deposit-instructions {
  background: #f5f8f5;
  border-radius: 7px;
  margin-top: 7px;
  padding: 8px;
  font-size: 10px;
}

.profit-allocation-details {
  color: #66776d;
  width: min(440px, 100vw - 72px);
  margin-top: 8px;
  font-size: 10px;
}

.profit-allocation-details summary {
  cursor: pointer;
  font-weight: 700;
}

.profit-allocation-details .portal-table-wrap {
  border: 1px solid #edf0ee;
  border-radius: 8px;
  margin-top: 8px;
}

.profit-allocation-details .portal-table {
  min-width: 520px;
}

.portal-stat-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  display: grid;
}

.portal-stat-card {
  background: linear-gradient(145deg, #fff, #fbfdfb);
  border: 1px solid #e2ebe2;
  border-radius: 17px;
  align-content: space-between;
  gap: 15px;
  min-height: 137px;
  padding: 20px;
  display: grid;
}

.portal-stat-card > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.5;
}

.portal-stat-card > strong {
  color: var(--green-dark);
  letter-spacing: -.7px;
  overflow-wrap: anywhere;
  font-size: clamp(20px, 2.4vw, 28px);
  font-weight: 750;
}

.portal-stat-card > small {
  color: #87938b;
  font-size: 11px;
  line-height: 1.5;
}

.portal-notice-warning {
  background: #fbfaf3;
  border-color: #ebe7d2;
  align-items: flex-start;
  gap: 16px;
  margin: 22px 0;
  display: flex;
}

.portal-notice-warning h2 {
  color: #58563d;
}

.portal-notice-warning p {
  color: #777354;
  margin-bottom: 0;
}

.portal-panel {
  background: #ffffffe6;
  border: 1px solid #e2ebe2;
  border-radius: 19px;
  min-width: 0;
  margin-top: 22px;
  padding: 22px;
  box-shadow: 0 8px 28px #22453109;
}

.portal-panel-heading {
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  margin-bottom: 17px;
  display: flex;
}

.portal-panel-heading h2 {
  color: var(--green-dark);
  font-family: var(--font-serif);
  margin: 6px 0 0;
  font-size: 25px;
  font-weight: 500;
}

.portal-panel .section-eyebrow {
  color: #8a9a8e;
  letter-spacing: 1.1px;
  font-size: 9px;
}

.portal-empty {
  color: var(--muted);
  background: #f8faf7;
  border-radius: 12px;
  margin: 0;
  padding: 18px;
  font-size: 13px;
  line-height: 1.7;
}

.portal-table-wrap {
  overscroll-behavior-inline: contain;
  width: 100%;
  overflow-x: auto;
}

.portal-table {
  border-collapse: collapse;
  text-align: left;
  white-space: nowrap;
  width: 100%;
}

.portal-table th {
  color: #87938b;
  letter-spacing: .45px;
  text-transform: uppercase;
  border-bottom: 1px solid #e8eee8;
  padding: 11px 12px;
  font-size: 10px;
  font-weight: 700;
}

.portal-table td {
  color: #4a5b50;
  border-bottom: 1px solid #f0f3ef;
  padding: 13px 12px;
  font-size: 12px;
}

.portal-table tbody tr:last-child td {
  border-bottom: 0;
}

.table-link {
  color: var(--green-dark);
  font-weight: 700;
}

.table-primary, .table-secondary {
  display: block;
}

.table-primary {
  color: #30483a;
  font-weight: 700;
}

.table-secondary {
  color: #8b968e;
  margin-top: 3px;
  font-size: 10px;
}

.status-pill {
  color: #657168;
  background: #f7f9f7;
  border: 1px solid #e8ece8;
  border-radius: 999px;
  align-items: center;
  min-height: 25px;
  padding: 4px 9px;
  font-size: 10px;
  font-weight: 700;
  display: inline-flex;
}

.status-confirmed, .status-approved, .status-published, .status-posted, .status-credited, .status-paid {
  color: #34724b;
  background: #eef8ef;
  border-color: #d6ead9;
}

.status-pending, .status-draft, .status-due {
  color: #82713d;
  background: #fcf8e9;
  border-color: #f0e6c8;
}

.status-rejected, .status-declined, .status-archived, .status-cancelled {
  color: #9d5042;
  background: #fcf0ed;
  border-color: #f1dcd7;
}

.admin-filter-form {
  flex-wrap: wrap;
  align-items: end;
  gap: 12px;
  margin-bottom: 20px;
  display: flex;
}

.admin-search-field, .admin-form-field, .referral-link-field {
  color: #5e6d62;
  gap: 7px;
  min-width: 0;
  font-size: 11px;
  font-weight: 700;
  display: grid;
}

.admin-search-field input, .admin-search-field select, .admin-form-field input, .admin-form-field select, .admin-form-field textarea, .referral-link-field input {
  color: #243a2e;
  width: 100%;
  min-height: 43px;
  font: inherit;
  background: #fff;
  border: 1px solid #dfe7df;
  border-radius: 9px;
  outline: 0;
  padding: 10px 12px;
  font-size: 13px;
}

.admin-search-field input:focus, .admin-search-field select:focus, .admin-form-field input:focus, .admin-form-field select:focus, .admin-form-field textarea:focus, .referral-link-field input:focus {
  border-color: #6aa586;
  box-shadow: 0 0 0 3px #2383601a;
}

.admin-search-field {
  width: min(280px, 100%);
}

.admin-form-field {
  gap: 8px;
}

.admin-form-field b {
  color: #bd5b48;
}

.admin-form-field textarea {
  resize: vertical;
  min-height: 105px;
  line-height: 1.7;
}

.admin-form-field small {
  color: #89958c;
  font-size: 10px;
  font-weight: 450;
  line-height: 1.6;
}

.admin-form-field .auth-error {
  color: #a43f32;
}

.admin-project-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  display: grid;
}

.admin-project-card {
  background: #fff;
  border: 1px solid #e5ebe5;
  border-radius: 14px;
  min-width: 0;
  overflow: hidden;
}

.admin-project-image {
  background: #edf2ed;
  place-items: center;
  min-height: 170px;
  display: grid;
  position: relative;
  overflow: hidden;
}

.admin-project-image img {
  object-fit: cover;
  width: 100%;
  height: 190px;
}

.admin-project-image .status-pill {
  position: absolute;
  top: 12px;
  right: 12px;
}

.admin-project-image .admin-sample-label {
  color: #756d48;
  background: #fffdf3;
  border-color: #e5dfc3;
  left: 12px;
  right: auto;
}

.admin-project-no-image {
  color: #849087;
  font-size: 12px;
}

.admin-project-card-content {
  align-content: space-between;
  gap: 20px;
  min-height: 210px;
  padding: 15px;
  display: grid;
}

.admin-project-category {
  color: #76857a;
  font-size: 10px;
  font-weight: 700;
}

.admin-project-card h2 {
  color: var(--green-dark);
  font-family: var(--font-serif);
  margin: 7px 0;
  font-size: 19px;
  font-weight: 500;
}

.admin-project-card p {
  color: #718077;
  margin: 0;
  font-size: 11px;
  line-height: 1.7;
}

.admin-project-card-footer {
  border-top: 1px solid #edf1ed;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding-top: 12px;
  display: flex;
}

.admin-project-card-footer small {
  color: #89958c;
  font-size: 10px;
}

.admin-empty-state {
  background: #f8faf7;
  border-radius: 12px;
  justify-items: start;
  gap: 10px;
  padding: 30px;
  display: grid;
}

.admin-empty-state h2, .admin-empty-state p {
  margin: 0;
}

.admin-empty-state h2 {
  color: var(--green-dark);
  font-family: var(--font-serif);
  font-size: 21px;
  font-weight: 500;
}

.admin-empty-state p, .admin-form-hint {
  color: #77847a;
  font-size: 12px;
  line-height: 1.7;
}

.admin-pagination {
  margin-top: 18px;
}

.admin-project-form {
  gap: 18px;
  display: grid;
}

.admin-form-section {
  background: #fff;
  border: 1px solid #e2ebe2;
  border-radius: 16px;
  padding: 22px;
}

.admin-form-heading {
  align-items: flex-start;
  gap: 13px;
  margin-bottom: 20px;
  display: flex;
}

.admin-form-heading > .section-eyebrow {
  color: #348160;
  background: #edf5ee;
  border-radius: 10px;
  flex: 0 0 34px;
  place-items: center;
  width: 34px;
  height: 34px;
  font-size: 10px;
  font-weight: 800;
  display: grid;
}

.admin-form-heading h2 {
  color: var(--green-dark);
  font-family: var(--font-serif);
  margin: 1px 0 4px;
  font-size: 21px;
  font-weight: 500;
}

.admin-form-heading p {
  color: #78857c;
  margin: 0;
  font-size: 11px;
  line-height: 1.6;
}

.admin-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  display: grid;
}

.admin-form-field-wide {
  grid-column: 1 / -1;
}

.admin-form-hint {
  margin: 14px 0 0;
}

.admin-form-actions {
  justify-content: flex-end;
  gap: 10px;
  padding-bottom: 20px;
  display: flex;
}

.admin-status-field {
  max-width: 360px;
}

.admin-existing-images {
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 17px;
  display: flex;
}

.admin-existing-images figure {
  background: #f7faf7;
  border: 1px solid #e4ebe4;
  border-radius: 10px;
  width: 150px;
  margin: 0;
  position: relative;
  overflow: hidden;
}

.admin-existing-images img {
  object-fit: cover;
  width: 100%;
  height: 95px;
}

.admin-existing-images figcaption {
  color: #708078;
  padding: 7px 9px;
  font-size: 9px;
}

.admin-image-remove {
  color: #fff;
  cursor: pointer;
  opacity: 0;
  background: #c93636;
  border: 1px solid #ffffffbf;
  border-radius: 50%;
  place-items: center;
  width: 29px;
  height: 29px;
  transition: opacity .16s, transform .16s, background .16s;
  display: grid;
  position: absolute;
  top: 7px;
  right: 7px;
  box-shadow: 0 2px 8px #00000040;
}

.admin-existing-images figure:hover .admin-image-remove, .admin-image-remove:focus-within, .admin-image-remove:has(input:checked) {
  opacity: 1;
}

.admin-image-remove:hover {
  background: #a91f1f;
  transform: scale(1.08);
}

.admin-image-remove input {
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}

.admin-image-remove span {
  font-size: 23px;
  font-weight: 500;
  line-height: 1;
}

.admin-image-remove:focus-within {
  outline-offset: 2px;
  outline: 3px solid #f2aaa3;
}

@media (hover: none) {
  .admin-image-remove {
    opacity: 1;
  }
}

.admin-back-link {
  color: #59836a;
  margin-bottom: 16px;
  font-size: 11px;
  font-weight: 700;
  display: inline-flex;
}

.admin-flash {
  color: #34724b;
  background: #eff8f0;
  border: 1px solid #d6ead9;
  border-radius: 10px;
  margin: 16px 0;
  padding: 13px 15px;
  font-size: 12px;
  font-weight: 650;
}

.referral-link-field {
  margin-bottom: 18px;
}

.referral-link-field input {
  color: #436d51;
}

.referral-stat-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.referral-commission-note {
  color: #617064;
  background: #f7f9f5;
  border-radius: 10px;
  margin: 14px 0;
  padding: 14px;
  font-size: 11px;
  font-weight: 700;
}

.referral-commission-note p {
  color: #7b877e;
  margin: 6px 0 0;
  font-weight: 450;
  line-height: 1.65;
}

.portal-two-column {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 18px;
  display: grid;
}

.portal-two-column .portal-panel {
  height: 100%;
}

.portal-jump-nav {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  display: flex;
}

.portal-jump-nav a {
  color: #52685a;
  background: #fff;
  border: 1px solid #e2ebe2;
  border-radius: 999px;
  padding: 9px 12px;
  font-size: 11px;
  font-weight: 650;
}

.portal-jump-nav a:hover, .text-link:hover, .table-link:hover {
  color: var(--green);
}

.text-link {
  color: var(--green-dark);
  white-space: nowrap;
  font-size: 12px;
  font-weight: 700;
}

.queue-count-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.queue-count-grid article {
  background: #fbfbf7;
  border: 1px solid #edf0e7;
  border-radius: 13px;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  min-height: 76px;
  padding: 14px;
  display: flex;
}

.queue-count-grid span {
  color: #707c72;
  font-size: 11px;
  line-height: 1.5;
}

.queue-count-grid strong {
  color: #6f6844;
  font-size: 22px;
}

.project-summary-list {
  display: grid;
}

.project-summary-row {
  border-bottom: 1px solid #edf1ed;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 13px 0;
  display: flex;
}

.project-summary-row:last-child {
  border-bottom: 0;
}

.project-summary-row > span {
  color: #30483a;
  font-size: 12px;
  font-weight: 700;
}

.project-summary-row small {
  color: #87938b;
  margin-top: 4px;
  font-size: 10px;
  font-weight: 500;
  display: block;
}

.project-summary-row > strong {
  color: var(--green-dark);
  white-space: nowrap;
  font-size: 12px;
}

@media (max-width: 760px) {
  .auth-section, .portal-section {
    width: calc(100% - 32px);
    margin-top: 28px;
    margin-bottom: 95px;
  }

  .auth-section {
    min-height: 500px;
  }

  .admin-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .admin-summary-card {
    min-height: 100px;
    padding: 15px;
  }

  .admin-summary-card strong {
    font-size: 21px;
  }

  .portal-heading-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .portal-heading-actions {
    width: 100%;
  }

  .admin-project-grid, .referral-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .portal-stat-grid, .admin-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .portal-stat-card {
    gap: 10px;
    min-height: 119px;
    padding: 14px;
  }

  .portal-stat-card > span {
    font-size: 10px;
  }

  .portal-stat-card > strong {
    font-size: clamp(17px, 5vw, 23px);
  }

  .portal-stat-card > small {
    font-size: 9px;
  }

  .portal-panel {
    border-radius: 16px;
    margin-top: 14px;
    padding: 15px 12px;
  }

  .portal-panel-heading h2 {
    font-size: 21px;
  }

  .portal-table th, .portal-table td {
    padding-inline: 9px;
  }

  .portal-two-column {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .portal-jump-nav {
    justify-content: flex-start;
  }

  .queue-count-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .queue-count-grid article {
    min-height: 68px;
    padding: 11px;
  }
}

@media (max-width: 1100px) {
  .admin-main {
    padding-inline: 21px;
  }

  .admin-dashboard .portal-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .admin-sidebar {
    z-index: 70;
    width: min(290px, 100vw - 56px);
    transition: transform .22s;
    transform: translateX(-105%);
    box-shadow: 14px 0 44px #14271d1f;
  }

  .admin-sidebar.is-open {
    transform: translateX(0);
  }

  .admin-workspace {
    margin-left: 0;
  }

  .admin-sidebar-toggle {
    display: inline-flex;
  }

  .admin-sidebar-backdrop:not([hidden]) {
    z-index: 65;
    background: #16211b5c;
    border: 0;
    display: block;
    position: fixed;
    inset: 0;
  }
}

@media (max-width: 600px) {
  .admin-topbar {
    gap: 10px;
    min-height: 60px;
    padding: 8px 13px;
  }

  .admin-topbar-actions {
    gap: 10px;
  }

  .admin-user {
    gap: 0;
    padding-left: 10px;
  }

  .admin-user-copy {
    display: none;
  }

  .admin-language-switch {
    gap: 4px;
    font-size: 10px;
  }

  .admin-main {
    padding: 22px 13px 35px;
  }

  .admin-dashboard .portal-heading-row {
    gap: 8px;
  }

  .admin-dashboard .portal-heading h1 {
    font-size: 27px;
  }

  .admin-dashboard .portal-stat-grid {
    gap: 8px;
  }

  .admin-dashboard .portal-stat-card {
    min-height: 112px;
    padding: 13px;
  }

  .admin-dashboard .portal-stat-card > strong {
    font-size: clamp(17px, 5vw, 22px);
  }

  .admin-project-grid, .admin-form-grid, .referral-stat-grid {
    grid-template-columns: 1fr;
  }

  .admin-form-field-wide {
    grid-column: auto;
  }

  .admin-filter-form > .button {
    flex: auto;
  }

  .admin-form-section {
    padding: 17px 13px;
  }
}

.site-header-home {
  z-index: 50;
  -webkit-backdrop-filter: blur(20px) saturate(1.35);
  backdrop-filter: blur(20px) saturate(1.35);
  background: #101c1a91;
  border-color: #fff3;
  border-radius: 20px;
  width: min(1200px, 100% - 40px);
  margin: 0;
  position: fixed;
  top: 14px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 12px 36px #060f0c2e, inset 0 1px #ffffff1f;
}

.site-header-home .header-shell {
  min-height: 66px;
  padding: 8px 14px;
}

.site-header-home .brand-name, .site-header-home .brand-caption, .site-header-home .desktop-nav a, .site-header-home .language-switch button, .site-header-home .language-switch {
  color: #f5faf6;
}

.site-header-home .brand-caption {
  display: none;
}

.site-header-home .desktop-nav {
  background: none;
  border: 0;
  gap: 2px;
  padding: 0;
}

.site-header-home .desktop-nav a {
  padding: 10px 12px;
  font-size: 11px;
}

.site-header-home .desktop-nav a:hover, .site-header-home .desktop-nav a.is-active {
  color: #fff;
  box-shadow: none;
  background: #ffffff24;
}

.site-header-home .button-outline {
  color: #fff;
  background: #ffffff14;
  border-color: #ffffff4d;
}

.site-header-home .menu-toggle {
  background: #ffffff1a;
  border-color: #ffffff47;
}

.site-header-home .menu-toggle span {
  background: #fff;
}

.site-header-home .mobile-menu {
  background: #0f1c18f5;
  border-color: #ffffff24;
}

.site-header-home .mobile-menu a {
  color: #f1f7f2;
}

.landing-page {
  color: #17241f;
  font-family: var(--font-sans);
  background: #fff;
  overflow: hidden;
}

.landing-page h1, .landing-page h2, .landing-page h3, .landing-page p {
  margin-top: 0;
}

.landing-page h2 {
  color: #18251f;
  letter-spacing: -.045em;
  font-size: clamp(29px, 3.5vw, 42px);
  font-weight: 750;
  line-height: 1.12;
}

.landing-page p {
  color: #68766f;
  font-size: 13px;
  line-height: 1.75;
}

.landing-page img {
  display: block;
}

.landing-hero {
  color: #fff;
  isolation: isolate;
  background: #17352d;
  flex-direction: column;
  justify-content: center;
  min-height: min(740px, 100svh);
  padding: 122px max(28px, 50% - 575px) 28px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.landing-hero-slides, .landing-hero-shade {
  z-index: -1;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.landing-hero-slides {
  z-index: -2;
}

.landing-hero-slide {
  opacity: 0;
  transition: opacity 1.1s;
  position: absolute;
  inset: 0;
}

.landing-hero-slide.is-active {
  opacity: 1;
}

.landing-hero-image {
  object-fit: cover;
  object-position: center 48%;
  position: absolute;
  inset: 0;
}

.landing-hero-shade {
  background: linear-gradient(90deg, #050d0bc7, #08130f75 48%, #07100d47), linear-gradient(0deg, #040c09a3, #0000 43%, #040c092e);
}

.landing-hero-content {
  text-align: center;
  width: min(100%, 760px);
  margin: 0 auto auto;
}

.landing-kicker, .landing-eyebrow {
  color: #138853;
  letter-spacing: .1em;
  text-transform: uppercase;
  align-items: center;
  gap: 7px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.4;
  display: inline-flex;
}

.landing-kicker {
  color: #dcf8e8;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #0e221b6b;
  border: 1px solid #ffffff40;
  border-radius: 999px;
  padding: 7px 12px;
}

.landing-kicker > span {
  background: #36d381;
  border-radius: 50%;
  width: 7px;
  height: 7px;
  box-shadow: 0 0 0 4px #36d38121;
}

.landing-hero h1 {
  color: #fff;
  letter-spacing: -.055em;
  text-wrap: balance;
  margin: 17px 0 14px;
  font-size: clamp(35px, 5.4vw, 66px);
  font-weight: 780;
  line-height: 1.08;
}

.landing-hero h1 span {
  color: #36d381;
}

.landing-hero-content > p {
  color: #f6faf7db;
  max-width: 610px;
  margin: 0 auto;
  font-size: 14px;
  line-height: 1.75;
}

.landing-hero-actions {
  justify-content: center;
  gap: 10px;
  margin-top: 22px;
  display: flex;
}

.landing-button {
  border: 1px solid #0000;
  border-radius: 9px;
  justify-content: center;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 0 17px;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.2;
  transition: transform .18s, background .18s, border-color .18s;
  display: inline-flex;
}

.landing-button:hover {
  transform: translateY(-2px);
}

.landing-button-primary {
  color: #fff;
  background: #0d9a55;
}

.landing-button-primary:hover {
  background: #087a43;
}

.landing-button-glass {
  color: #fff;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #ffffff1f;
  border-color: #ffffff57;
}

.landing-button-outline {
  color: #156a44;
  background: #fff;
  border-color: #cce5d7;
}

.landing-button-light {
  color: #155b3d;
  background: #fff;
}

.landing-hero-note {
  color: #f5faf6d4;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 15px;
  font-size: 10px;
  font-weight: 600;
  display: flex;
}

.landing-hero-controls {
  justify-content: center;
  align-items: center;
  gap: 9px;
  margin-top: 12px;
  display: flex;
}

.landing-hero-dots {
  align-items: center;
  gap: 6px;
  display: flex;
}

.landing-hero-dot, .landing-hero-toggle {
  color: #fff;
  cursor: pointer;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: #11201a6e;
  border: 1px solid #ffffff73;
  border-radius: 50%;
  place-items: center;
  width: 25px;
  height: 25px;
  padding: 0;
  display: grid;
}

.landing-hero-dot {
  background: #ffffff9e;
  border: 0;
  width: 8px;
  height: 8px;
  transition: width .2s, background .2s;
}

.landing-hero-dot.is-active {
  background: #39d27f;
  border-radius: 8px;
  width: 22px;
}

.landing-hero-toggle {
  font-size: 9px;
  line-height: 1;
}

.landing-hero-dot:focus-visible, .landing-hero-toggle:focus-visible {
  outline-offset: 3px;
  outline: 2px solid #fff;
}

.landing-check {
  color: #47e294;
  background: #147e4959;
  border: 1px solid #31d3828c;
  border-radius: 50%;
  place-items: center;
  width: 19px;
  height: 19px;
  display: grid;
}

.landing-hero-stats {
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  background: #0e19167a;
  border: 1px solid #ffffff42;
  border-radius: 19px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(800px, 100%);
  margin: auto auto 0;
  display: grid;
  box-shadow: 0 15px 50px #040c0933;
}

.landing-hero-stats > div {
  text-align: center;
  align-content: center;
  justify-items: center;
  gap: 4px;
  min-height: 88px;
  padding: 10px;
  display: grid;
}

.landing-hero-stats > div + div {
  border-left: 1px solid #ffffff2b;
}

.landing-stat-icon {
  color: #46df8d;
  font-size: 19px;
  font-weight: 800;
}

.landing-hero-stats strong {
  color: #fff;
  font-size: 14px;
  line-height: 1.3;
}

.landing-hero-stats small {
  color: #edf4efc7;
  max-width: 190px;
  font-size: 9px;
  line-height: 1.45;
}

.landing-hero-caption {
  color: #eef6f0a6;
  margin: 12px auto 0;
  font-size: 9px;
}

.landing-platform, .landing-process, .landing-about {
  align-items: center;
  gap: clamp(28px, 5vw, 64px);
  width: min(1120px, 100% - 56px);
  margin-inline: auto;
  display: grid;
}

.landing-spotlight {
  width: min(1120px, 100% - 56px);
  margin-inline: auto;
  padding-block: 48px 66px;
}

.landing-spotlight-heading {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 22px;
}

.landing-spotlight-heading h2 {
  margin: 8px 0 6px;
  font-size: clamp(26px, 3.2vw, 36px);
}

.landing-spotlight-heading p {
  margin: 0;
}

.landing-spotlight-card {
  background: #fff;
  border: 1px solid #e4ebe5;
  border-radius: 17px;
  grid-template-columns: .95fr 1.05fr;
  min-height: 330px;
  display: grid;
  overflow: hidden;
  box-shadow: 0 12px 35px #18362312;
}

.landing-spotlight-image {
  background: #e7f1e9;
  min-height: 330px;
  position: relative;
  overflow: hidden;
}

.landing-spotlight-image a, .landing-spotlight-image img {
  width: 100%;
  height: 100%;
}

.landing-spotlight-image img {
  object-fit: cover;
  min-height: 330px;
  transition: transform .5s;
}

.landing-spotlight-image a:hover img {
  transform: scale(1.035);
}

.landing-image-badge {
  color: #176b45;
  background: #ffffffe6;
  border: 1px solid #ffffffbf;
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 9px;
  font-weight: 800;
  position: absolute;
  top: 23px;
  left: 23px;
}

.landing-spotlight-copy {
  align-self: center;
  padding: 24px clamp(20px, 3vw, 37px);
}

.landing-spotlight-tags {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.landing-spotlight-tags span {
  color: #28704b;
  background: #f3faf5;
  border: 1px solid #d8ebdf;
  border-radius: 999px;
  padding: 5px 8px;
  font-size: 8px;
  font-weight: 750;
}

.landing-spotlight-copy h3 {
  color: #1e3026;
  letter-spacing: -.035em;
  margin: 11px 0 4px;
  font-size: clamp(21px, 2.5vw, 28px);
  font-weight: 750;
  line-height: 1.2;
}

.landing-spotlight-copy .landing-spotlight-location {
  color: #3e7158;
  margin: 0 0 11px;
  font-size: 9px;
  font-weight: 700;
}

.landing-spotlight-summary {
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  margin: 0 0 12px;
  display: -webkit-box;
  overflow: hidden;
  font-size: 10px !important;
}

.landing-spotlight-metrics {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin: 13px 0;
  display: grid;
}

.landing-spotlight-metrics > div {
  background: #f8fbf8;
  border: 1px solid #e5eee7;
  border-radius: 11px;
  align-content: center;
  gap: 4px;
  min-height: 54px;
  padding: 8px 10px;
  display: grid;
}

.landing-spotlight-metrics span {
  color: #77867c;
  font-size: 8px;
}

.landing-spotlight-metrics strong {
  color: #24513a;
  font-size: 10px;
  line-height: 1.35;
}

.landing-spotlight-return {
  color: #718078;
  margin: 0 0 12px;
  font-size: 8px !important;
}

.landing-spotlight-return strong {
  color: #176b43;
}

.landing-text-link {
  color: #087d49;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 800;
  display: inline-flex;
}

.landing-spotlight-action {
  color: #fff;
  background: #0f9653;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 13px;
  font-size: 9px;
  font-weight: 750;
  display: flex;
}

.landing-spotlight-action:hover {
  background: #087a43;
}

.landing-platform {
  border-top: 1px solid #edf1ed;
  grid-template-columns: 1fr .8fr;
  min-height: 485px;
  padding-block: 58px;
}

.landing-platform-copy h2, .landing-process-copy h2, .landing-about-copy h2 {
  margin: 10px 0 11px;
}

.landing-platform-copy > p {
  max-width: 490px;
  margin-bottom: 17px;
}

.landing-check-list {
  color: #3b5948;
  gap: 10px;
  margin: 0;
  padding: 0;
  font-size: 11px;
  font-weight: 650;
  list-style: none;
  display: grid;
}

.landing-check-list li {
  align-items: center;
  gap: 9px;
  display: flex;
}

.landing-check-list li span {
  color: #078c50;
  background: #e2f5e9;
  border-radius: 50%;
  place-items: center;
  width: 19px;
  height: 19px;
  font-size: 10px;
  display: grid;
}

.landing-mini-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin-top: 22px;
  display: grid;
}

.landing-mini-stats > div {
  background: #f8fbf8;
  border: 1px solid #e4eee7;
  border-radius: 10px;
  align-content: center;
  gap: 4px;
  min-height: 58px;
  padding: 9px 10px;
  display: grid;
}

.landing-mini-stats strong {
  color: #147246;
  font-size: 12px;
}

.landing-mini-stats span {
  color: #7c8981;
  font-size: 8px;
  line-height: 1.35;
}

.landing-device-scene {
  background: radial-gradient(#e4f4e8 0%, #f4faf4 48%, #0000 72%);
  border-radius: 50%;
  place-items: center;
  min-height: 370px;
  display: grid;
  position: relative;
  overflow: hidden;
}

.landing-device-orbit {
  border: 1px solid #cce6d4;
  border-radius: 50%;
  width: 270px;
  height: 270px;
  position: absolute;
}

.landing-device-orbit-two {
  border-color: #e0eee4;
  width: 335px;
  height: 335px;
}

.landing-device {
  z-index: 1;
  background: #14201b;
  border: 3px solid #24342d;
  border-radius: 30px;
  width: 202px;
  padding: 8px;
  position: relative;
  transform: rotate(7deg);
  box-shadow: 0 24px 55px #1f462f38;
}

.landing-device-notch {
  z-index: 2;
  background: #14201b;
  border-radius: 0 0 10px 10px;
  width: 66px;
  height: 14px;
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
}

.landing-device-screen {
  background: #fff;
  border-radius: 22px;
  min-height: 310px;
  padding: 19px 10px 12px;
  overflow: hidden;
}

.landing-device-top {
  color: #153c2b;
  justify-content: space-between;
  align-items: center;
  font-size: 9px;
  font-weight: 850;
  display: flex;
}

.landing-device-top > span > span {
  color: #118b50;
}

.landing-device-top i {
  background: #e4f3e8;
  border-radius: 50%;
  width: 18px;
  height: 18px;
}

.landing-device-welcome {
  color: #243c30;
  margin: 21px 0 9px;
  font-size: 11px;
  font-weight: 750;
}

.landing-device-property {
  color: #355c45;
  background: #fff;
  border: 1px solid #e8eee8;
  border-radius: 10px;
  font-size: 8px;
  font-weight: 700;
  overflow: hidden;
}

.landing-device-property img {
  object-fit: cover;
  width: 100%;
  height: 88px;
}

.landing-device-property span {
  padding: 7px;
  display: block;
}

.landing-device-lines {
  gap: 6px;
  margin: 14px 0;
  display: grid;
}

.landing-device-lines i {
  background: #edf2ee;
  border-radius: 8px;
  height: 6px;
}

.landing-device-lines i:nth-child(2) {
  width: 72%;
}

.landing-device-lines i:nth-child(3) {
  width: 48%;
}

.landing-device-action {
  color: #fff;
  background: #0e9653;
  border-radius: 7px;
  justify-content: space-between;
  padding: 8px;
  font-size: 8px;
  font-weight: 700;
  display: flex;
}

.landing-device-leaf {
  z-index: 2;
  color: #46b879;
  font-size: 31px;
  position: absolute;
}

.landing-device-leaf-one {
  top: 58px;
  left: 19%;
}

.landing-device-leaf-two {
  color: #9fcf98;
  font-size: 43px;
  bottom: 48px;
  right: 14%;
}

.landing-projects {
  background: #e9f7f0;
  padding: 56px max(28px, 50% - 580px) 49px;
}

.landing-section-heading {
  text-align: center;
  max-width: 660px;
  margin: 0 auto 26px;
}

.landing-section-heading h2 {
  margin: 8px 0 7px;
}

.landing-section-heading p {
  margin: 0;
}

.landing-project-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
  display: grid;
}

.landing-project-grid .project-card {
  border-color: #e0eae2;
  border-radius: 13px;
  box-shadow: 0 5px 15px #1f492f0f;
}

.landing-project-grid .project-card-image > img {
  aspect-ratio: 1.55;
}

.landing-project-grid .project-card-content {
  padding: 12px;
}

.landing-project-grid .project-card h3 {
  font-family: var(--font-sans);
  letter-spacing: -.02em;
  margin: 8px 0 5px;
  font-size: 14px;
  font-weight: 750;
}

.landing-project-grid .project-card-location, .landing-project-grid .project-card-summary, .landing-project-grid .field-label, .landing-project-grid .field-value small {
  font-size: 9px;
}

.landing-project-grid .project-card-summary {
  min-height: 32px;
}

.landing-project-grid .field-value {
  font-size: 12px;
}

.landing-projects-more {
  width: fit-content;
  min-height: 36px;
  margin: 23px auto 0;
  display: flex;
}

.landing-risk-note {
  color: #75837a;
  text-align: center;
  margin: 20px 0 0;
  font-size: 9px !important;
}

.landing-project-empty {
  text-align: center;
  background: #fff9;
  border: 1px dashed #c7dfcf;
  border-radius: 14px;
  padding: 30px 20px;
}

.landing-project-empty > span {
  color: #18814f;
  font-size: 24px;
}

.landing-project-empty h3 {
  color: #20392b;
  margin: 8px 0 4px;
  font-size: 16px;
}

.landing-project-empty p {
  margin: 0;
  font-size: 11px;
}

.landing-benefits {
  width: min(1120px, 100% - 56px);
  margin: 0 auto;
  padding: 69px 0 55px;
}

.landing-benefit-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.landing-benefit-card {
  background: #fff;
  border: 1px solid #e6eee8;
  border-radius: 13px;
  min-height: 173px;
  padding: 17px 15px;
  box-shadow: 0 6px 18px #1e3d2809;
}

.landing-benefit-icon {
  color: #0a9150;
  background: #e6f6ec;
  border-radius: 9px;
  place-items: center;
  width: 30px;
  height: 30px;
  font-size: 15px;
  font-weight: 800;
  display: grid;
}

.landing-benefit-card h3 {
  color: #213d2e;
  margin: 12px 0 6px;
  font-size: 12px;
  font-weight: 760;
}

.landing-benefit-card p {
  margin: 0;
  font-size: 10px;
  line-height: 1.65;
}

.landing-trust-strip {
  background: #f1fbf4;
  border: 1px solid #d7eee0;
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-top: 19px;
  padding: 16px 19px;
  display: flex;
}

.landing-trust-strip > div {
  gap: 4px;
  display: grid;
}

.landing-trust-strip strong {
  color: #1c6541;
  font-size: 11px;
}

.landing-trust-strip span {
  color: #66796e;
  font-size: 9px;
  line-height: 1.45;
}

.landing-process {
  border-top: 1px solid #edf1ed;
  grid-template-columns: .94fr 1.06fr;
  padding-block: 63px;
}

.landing-process-copy > p {
  max-width: 480px;
}

.landing-step-list {
  gap: 16px;
  margin: 21px 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.landing-step-list li {
  grid-template-columns: 30px 1fr;
  align-items: start;
  gap: 10px;
  display: grid;
}

.landing-step-number {
  color: #fff;
  background: #109553;
  border-radius: 7px;
  place-items: center;
  width: 26px;
  height: 26px;
  font-size: 9px;
  font-weight: 800;
  display: grid;
}

.landing-step-list h3 {
  color: #213c2d;
  margin: 0 0 3px;
  font-size: 11px;
}

.landing-step-list p {
  margin: 0;
  font-size: 9px;
}

.landing-process-art {
  background: #f0faf3;
  border-radius: 22px;
  place-items: center;
  min-height: 360px;
  padding: 24px;
  display: grid;
}

.landing-process-image {
  width: 100%;
  max-width: 420px;
  position: relative;
  transform: rotate(1deg);
}

.landing-process-image > img {
  aspect-ratio: 1.25;
  object-fit: cover;
  border: 9px solid #fff;
  border-radius: 20px;
  width: 100%;
  box-shadow: 0 17px 43px #1c4d2f1f;
}

.landing-process-card {
  background: #fffffff2;
  border: 1px solid #e5eee7;
  border-radius: 11px;
  align-items: center;
  gap: 9px;
  min-width: 195px;
  padding: 10px 12px;
  display: flex;
  position: absolute;
  bottom: -19px;
  right: 12px;
  box-shadow: 0 8px 24px #1e402a1a;
}

.landing-process-card > span {
  color: #15824d;
  background: #e3f5e9;
  border-radius: 50%;
  place-items: center;
  width: 26px;
  height: 26px;
  display: grid;
}

.landing-process-card > div {
  gap: 3px;
  display: grid;
}

.landing-process-card strong {
  color: #244332;
  font-size: 9px;
}

.landing-process-card small {
  color: #78867d;
  font-size: 8px;
}

.landing-account {
  color: #fff;
  background: radial-gradient(circle at 0 100%, #17935947, #0000 42%), linear-gradient(130deg, #143d2d, #0e3027);
  border: 1px solid #ffffff1a;
  border-radius: 19px;
  grid-template-columns: 1fr .86fr;
  align-items: center;
  gap: 30px;
  width: min(1120px, 100% - 56px);
  margin: 0 auto 64px;
  padding: 36px 42px;
  display: grid;
}

.landing-account .landing-eyebrow {
  color: #8de0ad;
}

.landing-account h2 {
  color: #fff;
  margin: 9px 0;
  font-size: clamp(28px, 3.5vw, 40px);
}

.landing-account-copy > p {
  color: #eef6f0c2;
  max-width: 510px;
  font-size: 11px;
}

.landing-account-list {
  color: #eef8f1;
  gap: 12px;
  margin: 0;
  padding: 0;
  font-size: 10px;
  font-weight: 650;
  list-style: none;
  display: grid;
}

.landing-account-list li {
  align-items: center;
  gap: 10px;
  display: flex;
}

.landing-account-list li span {
  color: #7de4a4;
  background: #82dea41c;
  border: 1px solid #82dea447;
  border-radius: 7px;
  place-items: center;
  width: 23px;
  height: 23px;
  display: grid;
}

.landing-about {
  grid-template-columns: .92fr 1.08fr;
  padding-block: 8px 72px;
}

.landing-about-visual {
  background: #eff7f1;
  border: 1px solid #e1ece4;
  border-radius: 16px;
  padding: 10px;
  position: relative;
}

.landing-about-visual > img {
  aspect-ratio: 1.3;
  object-fit: cover;
  border-radius: 11px;
  width: 100%;
}

.landing-about-mark {
  background: #0b1712;
  border: 3px solid #fff;
  border-radius: 50%;
  place-items: center;
  width: 48px;
  height: 48px;
  display: grid;
  position: absolute;
  bottom: -13px;
  right: -13px;
  overflow: hidden;
  box-shadow: 0 5px 16px #14321e26;
}

.landing-about-mark img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.landing-about-copy > p {
  max-width: 520px;
}

.landing-about-copy .landing-text-link {
  margin-top: 4px;
}

.landing-types {
  background: #f6f9f6;
  padding: 52px max(28px, 50% - 560px) 60px;
}

.landing-type-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 11px;
  display: grid;
}

.landing-type-card {
  background: #fff;
  border: 1px solid #e5ece6;
  border-radius: 12px;
  grid-template-columns: 36px 1fr 14px;
  align-items: center;
  gap: 9px;
  min-height: 105px;
  padding: 13px;
  transition: transform .18s, border-color .18s;
  display: grid;
}

.landing-type-card:hover {
  border-color: #afd6bd;
  transform: translateY(-3px);
}

.landing-type-icon {
  color: #18854e;
  background: #e9f6ed;
  border-radius: 10px;
  place-items: center;
  width: 34px;
  height: 34px;
  font-size: 17px;
  display: grid;
}

.landing-type-card strong {
  color: #2c4938;
  font-size: 10px;
}

.landing-type-card > span:last-child {
  color: #159052;
  font-size: 14px;
}

.landing-ready {
  background: linear-gradient(115deg, #eaf8ee, #f4fbf5);
  border-radius: 17px;
  justify-content: space-between;
  align-items: center;
  gap: 28px;
  width: min(1120px, 100% - 56px);
  margin: 56px auto;
  padding: 28px 32px;
  display: flex;
}

.landing-ready h2 {
  margin: 7px 0 4px;
  font-size: clamp(22px, 3vw, 30px);
}

.landing-ready p {
  margin: 0;
  font-size: 10px;
}

.landing-ready .landing-button {
  color: #fff;
  background: #0d9652;
  flex: none;
}

.mobile-bottom-nav {
  -webkit-backdrop-filter: blur(22px) saturate(1.5);
  backdrop-filter: blur(22px) saturate(1.5);
  background: #ffffffc7;
  border-color: #ffffffbf;
  box-shadow: 0 8px 34px #1b37271f, inset 0 1px #ffffffd9;
}

@media (min-width: 761px) {
  .landing-hero {
    min-height: max(690px, 100svh);
  }
}

@media (max-width: 900px) {
  .landing-hero {
    min-height: 650px;
  }

  .landing-spotlight, .landing-platform, .landing-process, .landing-about {
    gap: 28px;
  }

  .landing-account {
    padding: 30px;
  }
}

@media (max-width: 760px) {
  .site-header-home {
    border-radius: 999px;
    width: calc(100% - 32px);
    top: 13px;
  }

  .site-header-home .header-shell {
    min-height: 59px;
    padding: 6px 10px;
  }

  .site-header-home .brand-mark {
    border-radius: 50%;
    flex-basis: 36px;
    width: 36px;
    height: 36px;
  }

  .site-header-home .brand-name {
    letter-spacing: -.45px;
    font-size: 15px;
  }

  .site-header-home .header-actions {
    gap: 8px;
  }

  .site-header-home .header-actions > .language-switch {
    gap: 5px;
    font-size: 10px;
  }

  .site-header-home .menu-toggle {
    border-radius: 50%;
    width: 34px;
    height: 34px;
  }

  .landing-hero {
    justify-content: flex-start;
    min-height: max(690px, 100svh);
    padding: 112px 20px 19px;
  }

  .landing-hero-image {
    object-position: 56% center;
  }

  .landing-hero-shade {
    background: linear-gradient(#050d0b42, #050d0b6b 30%, #040c09b3), linear-gradient(90deg, #050d0b33, #050d0b1f);
  }

  .landing-hero-content {
    margin-top: 12px;
  }

  .landing-kicker {
    font-size: 8px;
  }

  .landing-hero h1 {
    letter-spacing: -.05em;
    margin: 13px 0 10px;
    font-size: clamp(32px, 8.3vw, 43px);
  }

  .landing-hero-content > p {
    font-size: 11px;
    line-height: 1.62;
  }

  .landing-hero-actions {
    margin-top: 16px;
  }

  .landing-button {
    min-height: 37px;
    padding-inline: 12px;
    font-size: 9px;
  }

  .landing-hero-note {
    text-align: left;
    align-items: flex-start;
    margin-top: 12px;
    font-size: 8px;
  }

  .landing-check {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
  }

  .landing-hero-stats {
    border-radius: 15px;
    margin-top: auto;
  }

  .landing-hero-stats > div {
    gap: 3px;
    min-height: 73px;
    padding: 7px 4px;
  }

  .landing-stat-icon {
    font-size: 15px;
  }

  .landing-hero-stats strong {
    font-size: 10px;
  }

  .landing-hero-stats small {
    font-size: 7px;
  }

  .landing-hero-caption {
    margin-top: 8px;
    font-size: 7px;
  }

  .landing-page h2 {
    font-size: clamp(25px, 7vw, 32px);
  }

  .landing-page p {
    font-size: 11px;
    line-height: 1.65;
  }

  .landing-spotlight, .landing-platform, .landing-process, .landing-about {
    grid-template-columns: 1fr;
    gap: 22px;
    width: calc(100% - 36px);
  }

  .landing-spotlight {
    padding-block: 32px 38px;
  }

  .landing-spotlight-heading {
    margin-bottom: 14px;
  }

  .landing-spotlight-heading h2 {
    font-size: 24px;
  }

  .landing-spotlight-heading p {
    font-size: 9px;
  }

  .landing-spotlight-card {
    border-radius: 12px;
    grid-template-columns: 1fr;
  }

  .landing-spotlight-image {
    min-height: 0;
  }

  .landing-spotlight-image img {
    aspect-ratio: 1.52;
    min-height: 0;
  }

  .landing-spotlight-copy {
    padding: 13px;
  }

  .landing-image-badge {
    padding: 6px 8px;
    font-size: 8px;
    top: 15px;
    left: 15px;
  }

  .landing-spotlight-copy h3 {
    margin: 8px 0 3px;
    font-size: 19px;
  }

  .landing-spotlight-copy .landing-spotlight-location {
    margin-bottom: 8px;
    font-size: 8px;
  }

  .landing-spotlight-summary {
    margin-bottom: 8px;
    font-size: 9px !important;
  }

  .landing-spotlight-metrics {
    gap: 5px;
    margin: 9px 0;
  }

  .landing-spotlight-metrics > div {
    min-height: 47px;
    padding: 7px;
  }

  .landing-spotlight-metrics span {
    font-size: 7px;
  }

  .landing-spotlight-metrics strong {
    font-size: 8px;
  }

  .landing-spotlight-return {
    font-size: 7px !important;
  }

  .landing-spotlight-action {
    min-height: 34px;
    font-size: 8px;
  }

  .landing-text-link {
    font-size: 9px;
  }

  .landing-platform {
    padding-block: 35px 24px;
  }

  .landing-platform-copy h2, .landing-process-copy h2, .landing-about-copy h2 {
    margin: 8px 0;
  }

  .landing-platform-copy > p {
    margin-bottom: 12px;
  }

  .landing-check-list {
    gap: 8px;
    font-size: 9px;
  }

  .landing-check-list li span {
    flex: 0 0 17px;
    width: 17px;
    height: 17px;
  }

  .landing-mini-stats {
    gap: 6px;
    margin-top: 14px;
  }

  .landing-mini-stats > div {
    min-height: 53px;
    padding: 7px;
  }

  .landing-mini-stats strong {
    font-size: 9px;
  }

  .landing-mini-stats span {
    font-size: 7px;
  }

  .landing-device-scene {
    min-height: 290px;
    margin-inline: 4px;
  }

  .landing-device {
    border-radius: 25px;
    width: 166px;
  }

  .landing-device-screen {
    border-radius: 18px;
    min-height: 253px;
  }

  .landing-device-property img {
    height: 70px;
  }

  .landing-device-orbit {
    width: 220px;
    height: 220px;
  }

  .landing-device-orbit-two {
    width: 280px;
    height: 280px;
  }

  .landing-projects {
    padding: 35px 14px 30px;
  }

  .landing-section-heading {
    margin-bottom: 18px;
    padding-inline: 5px;
  }

  .landing-section-heading h2 {
    margin: 7px 0 5px;
  }

  .landing-section-heading p {
    font-size: 9px;
  }

  .landing-eyebrow {
    font-size: 8px;
  }

  .landing-project-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  .landing-project-grid .project-card {
    border-radius: 9px;
  }

  .landing-project-grid .project-card-image > img {
    aspect-ratio: .95;
  }

  .landing-project-grid .project-tag {
    min-height: 17px;
    padding-inline: 5px;
    font-size: 6px;
    top: 5px;
    left: 5px;
  }

  .landing-project-grid .image-arrow {
    width: 21px;
    height: 21px;
    font-size: 10px;
    bottom: 5px;
    right: 5px;
  }

  .landing-project-grid .project-card-content {
    padding: 7px 6px;
  }

  .landing-project-grid .project-card-location {
    gap: 3px;
    font-size: 6px;
  }

  .landing-project-grid .project-card-location svg {
    flex-basis: 9px;
    width: 9px;
  }

  .landing-project-grid .project-card h3 {
    margin: 5px 0 3px;
    font-size: 8px;
    line-height: 1.3;
  }

  .landing-project-grid .project-card-summary {
    min-height: 30px;
    font-size: 6px;
    line-height: 1.4;
  }

  .landing-project-grid .project-card-bottom {
    gap: 3px;
    margin-top: 6px;
    padding-top: 6px;
  }

  .landing-project-grid .field-label {
    font-size: 6px;
  }

  .landing-project-grid .field-value {
    font-size: 7px;
    line-height: 1.25;
  }

  .landing-project-grid .field-value small {
    display: none;
  }

  .landing-project-grid .project-card-link {
    flex-basis: 20px;
    width: 20px;
    height: 20px;
    font-size: 10px;
  }

  .landing-projects-more {
    min-height: 31px;
    margin-top: 15px;
    font-size: 8px;
  }

  .landing-risk-note {
    margin-top: 12px;
    font-size: 7px !important;
  }

  .landing-benefits {
    width: calc(100% - 36px);
    padding: 39px 0 31px;
  }

  .landing-benefit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .landing-benefit-card {
    border-radius: 10px;
    min-height: 137px;
    padding: 11px;
  }

  .landing-benefit-icon {
    width: 26px;
    height: 26px;
    font-size: 13px;
  }

  .landing-benefit-card h3 {
    margin: 8px 0 4px;
    font-size: 9px;
    line-height: 1.4;
  }

  .landing-benefit-card p {
    font-size: 8px;
    line-height: 1.5;
  }

  .landing-trust-strip {
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
    margin-top: 11px;
    padding: 12px;
  }

  .landing-trust-strip strong {
    font-size: 9px;
  }

  .landing-trust-strip span {
    font-size: 7px;
  }

  .landing-trust-strip .landing-button {
    min-height: 31px;
  }

  .landing-process {
    padding-block: 36px;
  }

  .landing-step-list {
    gap: 12px;
    margin: 16px 0;
  }

  .landing-step-list li {
    grid-template-columns: 25px 1fr;
    gap: 8px;
  }

  .landing-step-number {
    width: 23px;
    height: 23px;
    font-size: 8px;
  }

  .landing-step-list h3 {
    font-size: 9px;
  }

  .landing-step-list p {
    font-size: 8px;
  }

  .landing-process-art {
    border-radius: 15px;
    min-height: 240px;
    padding: 16px;
  }

  .landing-process-image > img {
    border-width: 6px;
    border-radius: 13px;
  }

  .landing-process-card {
    gap: 6px;
    min-width: 155px;
    padding: 7px 8px;
    bottom: -12px;
    right: 7px;
  }

  .landing-process-card > span {
    width: 21px;
    height: 21px;
    font-size: 9px;
  }

  .landing-process-card strong {
    font-size: 7px;
  }

  .landing-process-card small {
    font-size: 6px;
  }

  .landing-account {
    border-radius: 15px;
    grid-template-columns: 1fr;
    gap: 18px;
    width: calc(100% - 28px);
    margin-bottom: 37px;
    padding: 23px 20px;
  }

  .landing-account h2 {
    font-size: 27px;
  }

  .landing-account-copy > p, .landing-account-list {
    font-size: 9px;
  }

  .landing-account-list {
    gap: 8px;
  }

  .landing-account-list li span {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    font-size: 9px;
  }

  .landing-about {
    gap: 20px;
    padding-block: 0 39px;
  }

  .landing-about-visual {
    border-radius: 12px;
    padding: 7px;
  }

  .landing-about-visual > img {
    aspect-ratio: 1.6;
    border-radius: 8px;
  }

  .landing-about-mark {
    width: 38px;
    height: 38px;
    bottom: -8px;
    right: -6px;
  }

  .landing-about-copy > p {
    font-size: 9px;
  }

  .landing-types {
    padding: 35px 15px 38px;
  }

  .landing-type-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  .landing-type-card {
    border-radius: 9px;
    grid-template-columns: 28px 1fr 11px;
    gap: 6px;
    min-height: 68px;
    padding: 8px;
  }

  .landing-type-icon {
    border-radius: 8px;
    width: 27px;
    height: 27px;
    font-size: 13px;
  }

  .landing-type-card strong {
    font-size: 8px;
  }

  .landing-ready {
    border-radius: 13px;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    width: calc(100% - 28px);
    margin: 29px auto 42px;
    padding: 20px;
  }

  .landing-ready h2 {
    font-size: 22px;
  }

  .landing-ready p {
    font-size: 9px;
  }

  .landing-ready .landing-button {
    min-height: 35px;
  }

  .site-footer {
    padding-bottom: 98px;
  }

  .mobile-bottom-nav {
    border-radius: 999px;
    width: calc(100% - 28px);
    bottom: 8px;
  }
}

@media (max-width: 390px) {
  .landing-hero {
    min-height: 660px;
  }

  .landing-project-grid .project-card-location {
    font-size: 5px;
  }

  .landing-project-grid .project-card h3 {
    font-size: 7px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .landing-page *, .site-header-home *, .mobile-bottom-nav * {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@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-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-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: 0;
}

@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-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-duration {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

@property --tw-content {
  syntax: "*";
  inherits: false;
  initial-value: "";
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes ping {
  75%, 100% {
    opacity: 0;
    transform: scale(2);
  }
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}

@keyframes bounce {
  0%, 100% {
    animation-timing-function: cubic-bezier(.8, 0, 1, 1);
    transform: translateY(-25%);
  }

  50% {
    animation-timing-function: cubic-bezier(0, 0, .2, 1);
    transform: none;
  }
}
