@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Roboto:wght@400;500;700&display=swap");

/* GrandEscape landing — Tailwind 4 build of the ui-demo theme (scans *.html + app.js). */
/*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: Inter, Roboto, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-red-50: oklch(97.1% 0.013 17.38);
    --color-red-400: oklch(70.4% 0.191 22.216);
    --color-red-500: oklch(63.7% 0.237 25.331);
    --color-red-600: oklch(57.7% 0.245 27.325);
    --color-orange-500: oklch(70.5% 0.213 47.604);
    --color-amber-50: oklch(98.7% 0.022 95.277);
    --color-amber-300: oklch(87.9% 0.169 91.605);
    --color-amber-400: oklch(82.8% 0.189 84.429);
    --color-amber-500: oklch(76.9% 0.188 70.08);
    --color-amber-600: oklch(66.6% 0.179 58.318);
    --color-amber-700: oklch(55.5% 0.163 48.998);
    --color-amber-900: oklch(41.4% 0.112 45.904);
    --color-emerald-50: oklch(97.9% 0.021 166.113);
    --color-emerald-200: oklch(90.5% 0.093 164.15);
    --color-emerald-600: oklch(59.6% 0.145 163.225);
    --color-emerald-700: oklch(50.8% 0.118 165.612);
    --color-blue-50: oklch(97% 0.014 254.604);
    --color-blue-400: oklch(70.7% 0.165 254.624);
    --color-blue-500: oklch(62.3% 0.214 259.815);
    --color-blue-600: oklch(54.6% 0.245 262.881);
    --color-blue-700: oklch(48.8% 0.243 264.376);
    --color-violet-600: oklch(54.1% 0.281 293.009);
    --color-violet-700: oklch(49.1% 0.27 292.581);
    --color-stone-50: oklch(98.5% 0.001 106.423);
    --color-stone-100: oklch(97% 0.001 106.424);
    --color-stone-200: oklch(92.3% 0.003 48.717);
    --color-stone-300: oklch(86.9% 0.005 56.366);
    --color-stone-400: oklch(70.9% 0.01 56.259);
    --color-stone-500: oklch(55.3% 0.013 58.071);
    --color-stone-600: oklch(44.4% 0.011 73.639);
    --color-stone-700: oklch(37.4% 0.01 67.558);
    --color-stone-800: oklch(26.8% 0.007 34.298);
    --color-stone-900: oklch(21.6% 0.006 56.043);
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-5xl: 80rem; /* was 64rem */
    --container-6xl: 90rem; /* was 72rem */
    --container-7xl: 100rem; /* was 90rem — site content width */
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.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);
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --tracking-tight: -0.025em;
    --tracking-wide: 0.025em;
    --tracking-wider: 0.05em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --blur-sm: 8px;
    --blur-md: 12px;
    --aspect-video: 16 / 9;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, 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;
    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 {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :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)) {
        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, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-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"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }
  .visible {
    visibility: visible;
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }
  .inset-x-0 {
    inset-inline: calc(var(--spacing) * 0);
  }
  .inset-y-3 {
    inset-block: calc(var(--spacing) * 3);
  }
  .top-0 {
    top: calc(var(--spacing) * 0);
  }
  .top-1\/2 {
    top: calc(1/2 * 100%);
  }
  .top-3 {
    top: calc(var(--spacing) * 3);
  }
  .top-16 {
    top: calc(var(--spacing) * 16);
  }
  .top-32 {
    top: calc(var(--spacing) * 32);
  }
  .top-\[calc\(100\%\+8px\)\] {
    top: calc(100% + 8px);
  }
  .right-3 {
    right: calc(var(--spacing) * 3);
  }
  .right-4 {
    right: calc(var(--spacing) * 4);
  }
  .right-5 {
    right: calc(var(--spacing) * 5);
  }
  .bottom-0 {
    bottom: calc(var(--spacing) * 0);
  }
  .bottom-3 {
    bottom: calc(var(--spacing) * 3);
  }
  .bottom-5 {
    bottom: calc(var(--spacing) * 5);
  }
  .left-1\/2 {
    left: calc(1/2 * 100%);
  }
  .left-3 {
    left: calc(var(--spacing) * 3);
  }
  .left-4 {
    left: calc(var(--spacing) * 4);
  }
  .left-\[38\%\] {
    left: 38%;
  }
  .z-0 {
    z-index: 0;
  }
  .z-10 {
    z-index: 10;
  }
  .z-20 {
    z-index: 20;
  }
  .z-30 {
    z-index: 30;
  }
  .z-50 {
    z-index: 50;
  }
  .z-\[5\] {
    z-index: 5;
  }
  .z-\[80\] {
    z-index: 80;
  }
  .z-\[90\] {
    z-index: 90;
  }
  .mx-2 {
    margin-inline: calc(var(--spacing) * 2);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .mt-0\.5 {
    margin-top: calc(var(--spacing) * 0.5);
  }
  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }
  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }
  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }
  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }
  .mt-auto {
    margin-top: auto;
  }
  .mb-0 {
    margin-bottom: calc(var(--spacing) * 0);
  }
  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }
  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
  .mb-5 {
    margin-bottom: calc(var(--spacing) * 5);
  }
  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }
  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }
  .ml-0\.5 {
    margin-left: calc(var(--spacing) * 0.5);
  }
  .ml-auto {
    margin-left: auto;
  }
  .\!hidden {
    display: none !important;
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline-flex {
    display: inline-flex;
  }
  .aspect-\[4\/3\] {
    aspect-ratio: 4/3;
  }
  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }
  .h-1 {
    height: calc(var(--spacing) * 1);
  }
  .h-1\.5 {
    height: calc(var(--spacing) * 1.5);
  }
  .h-3 {
    height: calc(var(--spacing) * 3);
  }
  .h-3\.5 {
    height: calc(var(--spacing) * 3.5);
  }
  .h-4 {
    height: calc(var(--spacing) * 4);
  }
  .h-5 {
    height: calc(var(--spacing) * 5);
  }
  .h-6 {
    height: calc(var(--spacing) * 6);
  }
  .h-7 {
    height: calc(var(--spacing) * 7);
  }
  .h-8 {
    height: calc(var(--spacing) * 8);
  }
  .h-9 {
    height: calc(var(--spacing) * 9);
  }
  .h-10 {
    height: calc(var(--spacing) * 10);
  }
  .h-11 {
    height: calc(var(--spacing) * 11);
  }
  .h-12 {
    height: calc(var(--spacing) * 12);
  }
  .h-14 {
    height: calc(var(--spacing) * 14);
  }
  .h-16 {
    height: calc(var(--spacing) * 16);
  }
  .h-\[66vh\] {
    height: 66vh;
  }
  .h-\[calc\(100vh-4rem\)\] {
    height: calc(100vh - 4rem);
  }
  .h-full {
    height: 100%;
  }
  .max-h-64 {
    max-height: calc(var(--spacing) * 64);
  }
  .max-h-\[calc\(100vh-4rem\)\] {
    max-height: calc(100vh - 4rem);
  }
  .min-h-0 {
    min-height: calc(var(--spacing) * 0);
  }
  .min-h-\[58px\] {
    min-height: 58px;
  }
  .min-h-\[420px\] {
    min-height: 420px;
  }
  .min-h-screen {
    min-height: 100vh;
  }
  .w-1 {
    width: calc(var(--spacing) * 1);
  }
  .w-3 {
    width: calc(var(--spacing) * 3);
  }
  .w-3\.5 {
    width: calc(var(--spacing) * 3.5);
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-5 {
    width: calc(var(--spacing) * 5);
  }
  .w-6 {
    width: calc(var(--spacing) * 6);
  }
  .w-7 {
    width: calc(var(--spacing) * 7);
  }
  .w-8 {
    width: calc(var(--spacing) * 8);
  }
  .w-9 {
    width: calc(var(--spacing) * 9);
  }
  .w-10 {
    width: calc(var(--spacing) * 10);
  }
  .w-11 {
    width: calc(var(--spacing) * 11);
  }
  .w-12 {
    width: calc(var(--spacing) * 12);
  }
  .w-14 {
    width: calc(var(--spacing) * 14);
  }
  .w-\[11\.5rem\] {
    width: 11.5rem;
  }
  .w-\[42\%\] {
    width: 42%;
  }
  .w-\[min\(340px\,calc\(100vw-32px\)\)\] {
    width: min(340px, calc(100vw - 32px));
  }
  .w-\[min\(360px\,calc\(100vw-32px\)\)\] {
    width: min(360px, calc(100vw - 32px));
  }
  .w-\[min\(720px\,calc\(100vw-32px\)\)\] {
    width: min(720px, calc(100vw - 32px));
  }
  .w-full {
    width: 100%;
  }
  .max-w-2xl {
    max-width: var(--container-2xl);
  }
  .max-w-3xl {
    max-width: var(--container-3xl);
  }
  .max-w-4xl {
    max-width: var(--container-4xl);
  }
  .max-w-5xl {
    max-width: var(--container-5xl);
  }
  .max-w-6xl {
    max-width: var(--container-6xl);
  }
  .max-w-7xl {
    max-width: var(--container-7xl);
  }
  .max-w-md {
    max-width: var(--container-md);
  }
  .max-w-sm {
    max-width: var(--container-sm);
  }
  .max-w-xl {
    max-width: var(--container-xl);
  }
  .max-w-xs {
    max-width: var(--container-xs);
  }
  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }
  .flex-1 {
    flex: 1;
  }
  .flex-\[1\.2\] {
    flex: 1.2;
  }
  .flex-\[1\.15\] {
    flex: 1.15;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1/2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1/2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .cursor-not-allowed {
    cursor: not-allowed;
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .resize {
    resize: both;
  }
  .resize-y {
    resize: vertical;
  }
  .scroll-mt-24 {
    scroll-margin-top: calc(var(--spacing) * 24);
  }
  .scroll-mt-28 {
    scroll-margin-top: calc(var(--spacing) * 28);
  }
  .scroll-mt-32 {
    scroll-margin-top: calc(var(--spacing) * 32);
  }
  .scroll-mt-40 {
    scroll-margin-top: calc(var(--spacing) * 40);
  }
  .list-disc {
    list-style-type: disc;
  }
  .list-none {
    list-style-type: none;
  }
  .appearance-none {
    appearance: none;
  }
  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .place-items-center {
    place-items: center;
  }
  .items-center {
    align-items: center;
  }
  .items-start {
    align-items: flex-start;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .gap-0\.5 {
    gap: calc(var(--spacing) * 0.5);
  }
  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }
  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-2\.5 {
    gap: calc(var(--spacing) * 2.5);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }
  .gap-10 {
    gap: calc(var(--spacing) * 10);
  }
  .space-y-0\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 0.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 0.5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-1 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-1\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-2\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-3 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-4 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-6 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-10 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-12 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .gap-x-1\.5 {
    column-gap: calc(var(--spacing) * 1.5);
  }
  .gap-x-4 {
    column-gap: calc(var(--spacing) * 4);
  }
  .gap-y-0\.5 {
    row-gap: calc(var(--spacing) * 0.5);
  }
  .gap-y-1 {
    row-gap: calc(var(--spacing) * 1);
  }
  .gap-y-2 {
    row-gap: calc(var(--spacing) * 2);
  }
  .self-stretch {
    align-self: stretch;
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-visible {
    overflow: visible;
  }
  .overflow-y-auto {
    overflow-y: auto;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }
  .rounded-3xl {
    border-radius: var(--radius-3xl);
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-lg {
    border-radius: var(--radius);
  }
  .rounded-md {
    border-radius: calc(var(--radius) - 2px);
  }
  .rounded-xl {
    border-radius: calc(var(--radius) + 4px);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-b-2 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 2px;
  }
  .border-l {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }
  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }
  .border-amber-300 {
    border-color: var(--color-amber-300);
  }
  .border-blue-600 {
    border-color: var(--color-blue-600);
  }
  .border-emerald-200 {
    border-color: var(--color-emerald-200);
  }
  .border-stone-100 {
    border-color: var(--color-stone-100);
  }
  .border-stone-200 {
    border-color: var(--color-stone-200);
  }
  .border-stone-300 {
    border-color: var(--color-stone-300);
  }
  .border-stone-900 {
    border-color: var(--color-stone-900);
  }
  .border-transparent {
    border-color: transparent;
  }
  .border-white\/10 {
    border-color: color-mix(in srgb, #fff 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }
  .border-white\/20 {
    border-color: color-mix(in srgb, #fff 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-white) 20%, transparent);
    }
  }
  .border-white\/25 {
    border-color: color-mix(in srgb, #fff 25%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-white) 25%, transparent);
    }
  }
  .border-white\/30 {
    border-color: color-mix(in srgb, #fff 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-white) 30%, transparent);
    }
  }
  .border-white\/40 {
    border-color: color-mix(in srgb, #fff 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-white) 40%, transparent);
    }
  }
  .bg-\[\#1a3348\] {
    background-color: #1a3348;
  }
  .bg-\[\#244b68\] {
    background-color: #244b68;
  }
  .bg-\[\#244b68\]\/10 {
    background-color: color-mix(in oklab, #244b68 10%, transparent);
  }
  .bg-\[\#FF385C\] {
    background-color: #FF385C;
  }
  .bg-\[\#FF385C\]\/10 {
    background-color: color-mix(in oklab, #FF385C 10%, transparent);
  }
  .bg-\[\#e85d04\] {
    background-color: #e85d04;
  }
  .bg-amber-50 {
    background-color: var(--color-amber-50);
  }
  .bg-amber-500\/10 {
    background-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-amber-500) 10%, transparent);
    }
  }
  .bg-black {
    background-color: var(--color-black);
  }
  .bg-black\/35 {
    background-color: color-mix(in srgb, #000 35%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 35%, transparent);
    }
  }
  .bg-black\/45 {
    background-color: color-mix(in srgb, #000 45%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 45%, transparent);
    }
  }
  .bg-black\/55 {
    background-color: color-mix(in srgb, #000 55%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 55%, transparent);
    }
  }
  .bg-black\/60 {
    background-color: color-mix(in srgb, #000 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 60%, transparent);
    }
  }
  .bg-black\/80 {
    background-color: color-mix(in srgb, #000 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 80%, transparent);
    }
  }
  .bg-blue-600 {
    background-color: var(--color-blue-600);
  }
  .bg-blue-600\/10 {
    background-color: color-mix(in srgb, oklch(54.6% 0.245 262.881) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-blue-600) 10%, transparent);
    }
  }
  .bg-emerald-50 {
    background-color: var(--color-emerald-50);
  }
  .bg-emerald-600\/10 {
    background-color: color-mix(in srgb, oklch(59.6% 0.145 163.225) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-emerald-600) 10%, transparent);
    }
  }
  .bg-stone-50 {
    background-color: var(--color-stone-50);
  }
  .bg-stone-100 {
    background-color: var(--color-stone-100);
  }
  .bg-stone-200 {
    background-color: var(--color-stone-200);
  }
  .bg-stone-400 {
    background-color: var(--color-stone-400);
  }
  .bg-stone-900 {
    background-color: var(--color-stone-900);
  }
  .bg-transparent {
    background-color: transparent;
  }
  .bg-violet-600\/10 {
    background-color: color-mix(in srgb, oklch(54.1% 0.281 293.009) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-violet-600) 10%, transparent);
    }
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .bg-white\/10 {
    background-color: color-mix(in srgb, #fff 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }
  .bg-white\/15 {
    background-color: color-mix(in srgb, #fff 15%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 15%, transparent);
    }
  }
  .bg-white\/92 {
    background-color: color-mix(in srgb, #fff 92%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 92%, transparent);
    }
  }
  .bg-white\/95 {
    background-color: color-mix(in srgb, #fff 95%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 95%, transparent);
    }
  }
  .bg-gradient-to-b {
    --tw-gradient-position: to bottom in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .bg-gradient-to-br {
    --tw-gradient-position: to bottom right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .bg-gradient-to-r {
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .bg-gradient-to-t {
    --tw-gradient-position: to top in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .bg-\[radial-gradient\(ellipse_at_center\,transparent_15\%\,rgba\(26\,51\,72\,0\.35\)_100\%\)\] {
    background-image: radial-gradient(ellipse at center,transparent 15%,rgba(26,51,72,0.35) 100%);
  }
  .from-\[\#1a3348\]\/40 {
    --tw-gradient-from: color-mix(in oklab, #1a3348 40%, transparent);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-\[\#1a3348\]\/50 {
    --tw-gradient-from: color-mix(in oklab, #1a3348 50%, transparent);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-\[\#1a3348\]\/90 {
    --tw-gradient-from: color-mix(in oklab, #1a3348 90%, transparent);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-black\/75 {
    --tw-gradient-from: color-mix(in srgb, #000 75%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-from: color-mix(in oklab, var(--color-black) 75%, transparent);
    }
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-stone-100 {
    --tw-gradient-from: var(--color-stone-100);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-white {
    --tw-gradient-from: var(--color-white);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .via-\[\#1a3348\]\/25 {
    --tw-gradient-via: color-mix(in oklab, #1a3348 25%, transparent);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-\[\#1a3348\]\/55 {
    --tw-gradient-via: color-mix(in oklab, #1a3348 55%, transparent);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-\[\#1a3348\]\/70 {
    --tw-gradient-via: color-mix(in oklab, #1a3348 70%, transparent);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-black\/10 {
    --tw-gradient-via: color-mix(in srgb, #000 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-via: color-mix(in oklab, var(--color-black) 10%, transparent);
    }
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .to-\[\#1a3348\] {
    --tw-gradient-to: #1a3348;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-\[\#1a3348\]\/75 {
    --tw-gradient-to: color-mix(in oklab, #1a3348 75%, transparent);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-black\/35 {
    --tw-gradient-to: color-mix(in srgb, #000 35%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-to: color-mix(in oklab, var(--color-black) 35%, transparent);
    }
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-stone-50 {
    --tw-gradient-to: var(--color-stone-50);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-transparent {
    --tw-gradient-to: transparent;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .fill-amber-400 {
    fill: var(--color-amber-400);
  }
  .fill-red-500 {
    fill: var(--color-red-500);
  }
  .fill-white {
    fill: var(--color-white);
  }
  .object-contain {
    object-fit: contain;
  }
  .object-cover {
    object-fit: cover;
  }
  .object-\[20\%_center\] {
    object-position: 20% center;
  }
  .object-center {
    object-position: center;
  }
  .\!p-0 {
    padding: calc(var(--spacing) * 0) !important;
  }
  .\!p-6 {
    padding: calc(var(--spacing) * 6) !important;
  }
  .p-0 {
    padding: calc(var(--spacing) * 0);
  }
  .p-1 {
    padding: calc(var(--spacing) * 1);
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .p-3 {
    padding: calc(var(--spacing) * 3);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-5 {
    padding: calc(var(--spacing) * 5);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .p-8 {
    padding: calc(var(--spacing) * 8);
  }
  .px-1 {
    padding-inline: calc(var(--spacing) * 1);
  }
  .px-1\.5 {
    padding-inline: calc(var(--spacing) * 1.5);
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .px-3\.5 {
    padding-inline: calc(var(--spacing) * 3.5);
  }
  .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-0\.5 {
    padding-block: calc(var(--spacing) * 0.5);
  }
  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }
  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }
  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }
  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }
  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }
  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }
  .py-14 {
    padding-block: calc(var(--spacing) * 14);
  }
  .py-16 {
    padding-block: calc(var(--spacing) * 16);
  }
  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }
  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }
  .pt-8 {
    padding-top: calc(var(--spacing) * 8);
  }
  .pr-5 {
    padding-right: calc(var(--spacing) * 5);
  }
  .pr-11 {
    padding-right: calc(var(--spacing) * 11);
  }
  .pb-2 {
    padding-bottom: calc(var(--spacing) * 2);
  }
  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }
  .pb-5 {
    padding-bottom: calc(var(--spacing) * 5);
  }
  .pb-10 {
    padding-bottom: calc(var(--spacing) * 10);
  }
  .pl-5 {
    padding-left: calc(var(--spacing) * 5);
  }
  .pl-12 {
    padding-left: calc(var(--spacing) * 12);
  }
  .text-center {
    text-align: center;
  }
  .text-left {
    text-align: left;
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
  .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-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .text-\[9px\] {
    font-size: 9px;
  }
  .text-\[10px\] {
    font-size: 10px;
  }
  .text-\[11px\] {
    font-size: 11px;
  }
  .text-\[13px\] {
    font-size: 13px;
  }
  .text-\[15px\] {
    font-size: 15px;
  }
  .text-\[clamp\(1\.05rem\,2\.4vw\,1\.45rem\)\] {
    font-size: clamp(1.05rem, 2.4vw, 1.45rem);
  }
  .text-\[clamp\(1\.9rem\,4\.5vw\,3rem\)\] {
    font-size: clamp(1.9rem, 4.5vw, 3rem);
  }
  .text-\[clamp\(2\.15rem\,6vw\,4\.25rem\)\] {
    font-size: clamp(2.15rem, 6vw, 4.25rem);
  }
  .leading-\[0\.95\] {
    --tw-leading: 0.95;
    line-height: 0.95;
  }
  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }
  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }
  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }
  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-extrabold {
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }
  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }
  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }
  .break-words {
    overflow-wrap: break-word;
  }
  .whitespace-nowrap {
    white-space: nowrap;
  }
  .text-\[\#1a3348\] {
    color: #1a3348;
  }
  .text-\[\#244b68\] {
    color: #244b68;
  }
  .text-\[\#FF385C\] {
    color: #FF385C;
  }
  .text-\[\#e85d04\] {
    color: #e85d04;
  }
  .text-\[\#ffd28a\] {
    color: #ffd28a;
  }
  .text-amber-400 {
    color: var(--color-amber-400);
  }
  .text-amber-600 {
    color: var(--color-amber-600);
  }
  .text-amber-700 {
    color: var(--color-amber-700);
  }
  .text-amber-900 {
    color: var(--color-amber-900);
  }
  .text-blue-600 {
    color: var(--color-blue-600);
  }
  .text-emerald-600 {
    color: var(--color-emerald-600);
  }
  .text-emerald-700 {
    color: var(--color-emerald-700);
  }
  .text-orange-500 {
    color: var(--color-orange-500);
  }
  .text-red-500 {
    color: var(--color-red-500);
  }
  .text-red-600 {
    color: var(--color-red-600);
  }
  .text-stone-300 {
    color: var(--color-stone-300);
  }
  .text-stone-400 {
    color: var(--color-stone-400);
  }
  .text-stone-500 {
    color: var(--color-stone-500);
  }
  .text-stone-600 {
    color: var(--color-stone-600);
  }
  .text-stone-700 {
    color: var(--color-stone-700);
  }
  .text-stone-800 {
    color: var(--color-stone-800);
  }
  .text-stone-900 {
    color: var(--color-stone-900);
  }
  .text-violet-700 {
    color: var(--color-violet-700);
  }
  .text-white {
    color: var(--color-white);
  }
  .text-white\/50 {
    color: color-mix(in srgb, #fff 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 50%, transparent);
    }
  }
  .text-white\/60 {
    color: color-mix(in srgb, #fff 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 60%, transparent);
    }
  }
  .text-white\/70 {
    color: color-mix(in srgb, #fff 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 70%, transparent);
    }
  }
  .text-white\/75 {
    color: color-mix(in srgb, #fff 75%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 75%, transparent);
    }
  }
  .text-white\/80 {
    color: color-mix(in srgb, #fff 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 80%, transparent);
    }
  }
  .text-white\/85 {
    color: color-mix(in srgb, #fff 85%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 85%, transparent);
    }
  }
  .text-white\/90 {
    color: color-mix(in srgb, #fff 90%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 90%, transparent);
    }
  }
  .text-white\/95 {
    color: color-mix(in srgb, #fff 95%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 95%, transparent);
    }
  }
  .uppercase {
    text-transform: uppercase;
  }
  .underline {
    text-decoration-line: underline;
  }
  .underline-offset-2 {
    text-underline-offset: 2px;
  }
  .accent-stone-900 {
    accent-color: var(--color-stone-900);
  }
  .opacity-25 {
    opacity: 25%;
  }
  .opacity-55 {
    opacity: 55%;
  }
  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    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, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-xl {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .drop-shadow {
    --tw-drop-shadow-size: drop-shadow(0 1px 2px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.1))) drop-shadow(0 1px 1px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.06)));
    --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow( 0 1px 1px rgb(0 0 0 / 0.06));
    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,);
  }
  .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,);
  }
  .backdrop-blur-md {
    --tw-backdrop-blur: blur(var(--blur-md));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .backdrop-blur-sm {
    --tw-backdrop-blur: blur(var(--blur-sm));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .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, visibility, 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-\[min-height\] {
    transition-property: min-height;
    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-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-shadow {
    transition-property: box-shadow;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .duration-200 {
    --tw-duration: 200ms;
    transition-duration: 200ms;
  }
  .duration-300 {
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
  .duration-500 {
    --tw-duration: 500ms;
    transition-duration: 500ms;
  }
  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }
  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }
  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }
  .group-open\:rotate-180 {
    &:is(:where(.group):is([open], :popover-open, :open) *) {
      rotate: 180deg;
    }
  }
  .group-hover\:translate-x-0\.5 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        --tw-translate-x: calc(var(--spacing) * 0.5);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .group-hover\:scale-105 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        --tw-scale-x: 105%;
        --tw-scale-y: 105%;
        --tw-scale-z: 105%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
      }
    }
  }
  .group-hover\:scale-\[1\.03\] {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        scale: 1.03;
      }
    }
  }
  .group-hover\:bg-black\/70 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #000 70%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-black) 70%, transparent);
        }
      }
    }
  }
  .marker\:text-stone-400 {
    & *::marker {
      color: var(--color-stone-400);
    }
    &::marker {
      color: var(--color-stone-400);
    }
    & *::-webkit-details-marker {
      color: var(--color-stone-400);
    }
    &::-webkit-details-marker {
      color: var(--color-stone-400);
    }
  }
  .marker\:text-white\/50 {
    & *::marker {
      color: color-mix(in srgb, #fff 50%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, var(--color-white) 50%, transparent);
      }
    }
    &::marker {
      color: color-mix(in srgb, #fff 50%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, var(--color-white) 50%, transparent);
      }
    }
    & *::-webkit-details-marker {
      color: color-mix(in srgb, #fff 50%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, var(--color-white) 50%, transparent);
      }
    }
    &::-webkit-details-marker {
      color: color-mix(in srgb, #fff 50%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, var(--color-white) 50%, transparent);
      }
    }
  }
  .placeholder\:text-stone-400 {
    &::placeholder {
      color: var(--color-stone-400);
    }
  }
  .first\:pt-0 {
    &:first-child {
      padding-top: calc(var(--spacing) * 0);
    }
  }
  .last\:border-0 {
    &:last-child {
      border-style: var(--tw-border-style);
      border-width: 0px;
    }
  }
  .last\:pb-0 {
    &:last-child {
      padding-bottom: calc(var(--spacing) * 0);
    }
  }
  .open\:shadow-md {
    &:is([open], :popover-open, :open) {
      --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .hover\:-translate-y-0\.5 {
    &:hover {
      @media (hover: hover) {
        --tw-translate-y: calc(var(--spacing) * -0.5);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .hover\:-translate-y-1 {
    &:hover {
      @media (hover: hover) {
        --tw-translate-y: calc(var(--spacing) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .hover\:-translate-y-\[3px\] {
    &:hover {
      @media (hover: hover) {
        --tw-translate-y: calc(3px * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .hover\:border-stone-300 {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-stone-300);
      }
    }
  }
  .hover\:bg-\[\#E31C5F\] {
    &:hover {
      @media (hover: hover) {
        background-color: #E31C5F;
      }
    }
  }
  .hover\:bg-black\/45 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #000 45%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-black) 45%, transparent);
        }
      }
    }
  }
  .hover\:bg-black\/75 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #000 75%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-black) 75%, transparent);
        }
      }
    }
  }
  .hover\:bg-blue-50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-blue-50);
      }
    }
  }
  .hover\:bg-blue-700 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-blue-700);
      }
    }
  }
  .hover\:bg-red-50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-red-50);
      }
    }
  }
  .hover\:bg-stone-50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-stone-50);
      }
    }
  }
  .hover\:bg-stone-100 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-stone-100);
      }
    }
  }
  .hover\:bg-stone-800 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-stone-800);
      }
    }
  }
  .hover\:bg-white\/10 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #fff 10%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
        }
      }
    }
  }
  .hover\:bg-white\/20 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #fff 20%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-white) 20%, transparent);
        }
      }
    }
  }
  .hover\:text-red-600 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-red-600);
      }
    }
  }
  .hover\:text-stone-800 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-stone-800);
      }
    }
  }
  .hover\:text-stone-900 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-stone-900);
      }
    }
  }
  .hover\:text-white {
    &:hover {
      @media (hover: hover) {
        color: var(--color-white);
      }
    }
  }
  .hover\:underline {
    &:hover {
      @media (hover: hover) {
        text-decoration-line: underline;
      }
    }
  }
  .hover\:shadow-md {
    &:hover {
      @media (hover: hover) {
        --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
  .hover\:shadow-sm {
    &:hover {
      @media (hover: hover) {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
  .focus\:border-blue-500 {
    &:focus {
      border-color: var(--color-blue-500);
    }
  }
  .focus\:border-stone-400 {
    &:focus {
      border-color: var(--color-stone-400);
    }
  }
  .focus\:ring-2 {
    &:focus {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .focus\:ring-blue-400 {
    &:focus {
      --tw-ring-color: var(--color-blue-400);
    }
  }
  .focus\:ring-stone-200 {
    &:focus {
      --tw-ring-color: var(--color-stone-200);
    }
  }
  .focus\:ring-offset-2 {
    &:focus {
      --tw-ring-offset-width: 2px;
      --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    }
  }
  .focus\:outline-none {
    &:focus {
      --tw-outline-style: none;
      outline-style: none;
    }
  }
  .disabled\:opacity-30 {
    &:disabled {
      opacity: 30%;
    }
  }
  .aria-\[invalid\=true\]\:border-red-400 {
    &[aria-invalid="true"] {
      border-color: var(--color-red-400);
    }
  }
  .sm\:right-0 {
    @media (width >= 40rem) {
      right: calc(var(--spacing) * 0);
    }
  }
  .sm\:left-0 {
    @media (width >= 40rem) {
      left: calc(var(--spacing) * 0);
    }
  }
  .sm\:left-\[42\%\] {
    @media (width >= 40rem) {
      left: 42%;
    }
  }
  .sm\:left-auto {
    @media (width >= 40rem) {
      left: auto;
    }
  }
  .sm\:col-span-2 {
    @media (width >= 40rem) {
      grid-column: span 2 / span 2;
    }
  }
  .sm\:mr-1 {
    @media (width >= 40rem) {
      margin-right: calc(var(--spacing) * 1);
    }
  }
  .sm\:block {
    @media (width >= 40rem) {
      display: block;
    }
  }
  .sm\:flex {
    @media (width >= 40rem) {
      display: flex;
    }
  }
  .sm\:h-5 {
    @media (width >= 40rem) {
      height: calc(var(--spacing) * 5);
    }
  }
  .sm\:w-5 {
    @media (width >= 40rem) {
      width: calc(var(--spacing) * 5);
    }
  }
  .sm\:w-auto {
    @media (width >= 40rem) {
      width: auto;
    }
  }
  .sm\:translate-x-0 {
    @media (width >= 40rem) {
      --tw-translate-x: calc(var(--spacing) * 0);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .sm\:grid-cols-2 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .sm\:grid-cols-3 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .sm\:flex-row {
    @media (width >= 40rem) {
      flex-direction: row;
    }
  }
  .sm\:items-center {
    @media (width >= 40rem) {
      align-items: center;
    }
  }
  .sm\:justify-between {
    @media (width >= 40rem) {
      justify-content: space-between;
    }
  }
  .sm\:gap-0 {
    @media (width >= 40rem) {
      gap: calc(var(--spacing) * 0);
    }
  }
  .sm\:gap-2 {
    @media (width >= 40rem) {
      gap: calc(var(--spacing) * 2);
    }
  }
  .sm\:gap-3 {
    @media (width >= 40rem) {
      gap: calc(var(--spacing) * 3);
    }
  }
  .sm\:self-center {
    @media (width >= 40rem) {
      align-self: center;
    }
  }
  .sm\:justify-self-start {
    @media (width >= 40rem) {
      justify-self: flex-start;
    }
  }
  .sm\:rounded-full {
    @media (width >= 40rem) {
      border-radius: calc(infinity * 1px);
    }
  }
  .sm\:border-r {
    @media (width >= 40rem) {
      border-right-style: var(--tw-border-style);
      border-right-width: 1px;
    }
  }
  .sm\:border-stone-200 {
    @media (width >= 40rem) {
      border-color: var(--color-stone-200);
    }
  }
  .sm\:p-1 {
    @media (width >= 40rem) {
      padding: calc(var(--spacing) * 1);
    }
  }
  .sm\:p-4 {
    @media (width >= 40rem) {
      padding: calc(var(--spacing) * 4);
    }
  }
  .sm\:p-8 {
    @media (width >= 40rem) {
      padding: calc(var(--spacing) * 8);
    }
  }
  .sm\:px-4 {
    @media (width >= 40rem) {
      padding-inline: calc(var(--spacing) * 4);
    }
  }
  .sm\:px-6 {
    @media (width >= 40rem) {
      padding-inline: calc(var(--spacing) * 6);
    }
  }
  .sm\:px-8 {
    @media (width >= 40rem) {
      padding-inline: calc(var(--spacing) * 8);
    }
  }
  .sm\:px-10 {
    @media (width >= 40rem) {
      padding-inline: calc(var(--spacing) * 10);
    }
  }
  .sm\:py-14 {
    @media (width >= 40rem) {
      padding-block: calc(var(--spacing) * 14);
    }
  }
  .sm\:py-20 {
    @media (width >= 40rem) {
      padding-block: calc(var(--spacing) * 20);
    }
  }
  .sm\:text-2xl {
    @media (width >= 40rem) {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
    }
  }
  .sm\:text-base {
    @media (width >= 40rem) {
      font-size: var(--text-base);
      line-height: var(--tw-leading, var(--text-base--line-height));
    }
  }
  .sm\:text-lg {
    @media (width >= 40rem) {
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
    }
  }
  .sm\:text-xs {
    @media (width >= 40rem) {
      font-size: var(--text-xs);
      line-height: var(--tw-leading, var(--text-xs--line-height));
    }
  }
  .sm\:text-\[10px\] {
    @media (width >= 40rem) {
      font-size: 10px;
    }
  }
  .sm\:text-\[11px\] {
    @media (width >= 40rem) {
      font-size: 11px;
    }
  }
  .sm\:text-\[15px\] {
    @media (width >= 40rem) {
      font-size: 15px;
    }
  }
  .lg\:col-span-1 {
    @media (width >= 64rem) {
      grid-column: span 1 / span 1;
    }
  }
  .lg\:block {
    @media (width >= 64rem) {
      display: block;
    }
  }
  .lg\:flex {
    @media (width >= 64rem) {
      display: flex;
    }
  }
  .lg\:hidden {
    @media (width >= 64rem) {
      display: none;
    }
  }
  .lg\:w-\[58\%\] {
    @media (width >= 64rem) {
      width: 58%;
    }
  }
  .lg\:grid-cols-2 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-3 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-4 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-\[220px_minmax\(0\,1fr\)\] {
    @media (width >= 64rem) {
      grid-template-columns: 220px minmax(0,1fr);
    }
  }
  .lg\:grid-cols-\[minmax\(0\,1\.4fr\)_minmax\(0\,1fr\)\] {
    @media (width >= 64rem) {
      grid-template-columns: minmax(0,1.4fr) minmax(0,1fr);
    }
  }
  .lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.35fr\)\] {
    @media (width >= 64rem) {
      grid-template-columns: minmax(0,1fr) minmax(0,1.35fr);
    }
  }
  .lg\:flex-row {
    @media (width >= 64rem) {
      flex-direction: row;
    }
  }
  .lg\:items-end {
    @media (width >= 64rem) {
      align-items: flex-end;
    }
  }
  .lg\:justify-between {
    @media (width >= 64rem) {
      justify-content: space-between;
    }
  }
  .lg\:justify-end {
    @media (width >= 64rem) {
      justify-content: flex-end;
    }
  }
  .lg\:px-8 {
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 8);
    }
  }
  .xl\:w-\[45\%\] {
    @media (width >= 80rem) {
      width: 45%;
    }
  }
  .xl\:w-\[55\%\] {
    @media (width >= 80rem) {
      width: 55%;
    }
  }
  .xl\:grid-cols-4 {
    @media (width >= 80rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  .xl\:px-4 {
    @media (width >= 80rem) {
      padding-inline: calc(var(--spacing) * 4);
    }
  }
  .\[\&\:\:-webkit-details-marker\]\:hidden {
    &::-webkit-details-marker {
      display: none;
    }
  }
}
@property --tw-animation-delay {
  syntax: "*";
  inherits: false;
  initial-value: 0s;
}
@property --tw-animation-direction {
  syntax: "*";
  inherits: false;
  initial-value: normal;
}
@property --tw-animation-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-animation-fill-mode {
  syntax: "*";
  inherits: false;
  initial-value: none;
}
@property --tw-animation-iteration-count {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-enter-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-enter-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-enter-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-enter-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-enter-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-enter-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-exit-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-exit-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
:root {
  --font-size: 16px;
  --background: #FAFAF9;
  --foreground: #1C1917;
  --card: #FFFFFF;
  --card-foreground: #1C1917;
  --popover: #FFFFFF;
  --popover-foreground: #1C1917;
  --primary: #E8272B;
  --primary-foreground: #FFFFFF;
  --secondary: #F5F5F4;
  --secondary-foreground: #44403C;
  --muted: #F5F5F4;
  --muted-foreground: #78716C;
  --accent: #00897B;
  --accent-foreground: #FFFFFF;
  --destructive: #DC2626;
  --destructive-foreground: #FFFFFF;
  --border: rgba(0,0,0,0.09);
  --input: transparent;
  --input-background: #F5F5F4;
  --switch-background: #E8272B;
  --font-weight-medium: 600;
  --font-weight-normal: 400;
  --ring: #E8272B;
  --chart-1: #E8272B;
  --chart-2: #00897B;
  --chart-3: #F59E0B;
  --chart-4: #6366F1;
  --chart-5: #EC4899;
  --radius: 0.75rem;
  --sidebar: #FFFFFF;
  --sidebar-foreground: #1C1917;
  --sidebar-primary: #E8272B;
  --sidebar-primary-foreground: #FFFFFF;
  --sidebar-accent: #F5F5F4;
  --sidebar-accent-foreground: #1C1917;
  --sidebar-border: rgba(0,0,0,0.09);
  --sidebar-ring: #E8272B;
}
.dark {
  --background: oklch(0.145 0 0);
  --foreground: oklch(0.985 0 0);
  --card: oklch(0.145 0 0);
  --card-foreground: oklch(0.985 0 0);
  --popover: oklch(0.145 0 0);
  --popover-foreground: oklch(0.985 0 0);
  --primary: oklch(0.985 0 0);
  --primary-foreground: oklch(0.205 0 0);
  --secondary: oklch(0.269 0 0);
  --secondary-foreground: oklch(0.985 0 0);
  --muted: oklch(0.269 0 0);
  --muted-foreground: oklch(0.708 0 0);
  --accent: oklch(0.269 0 0);
  --accent-foreground: oklch(0.985 0 0);
  --destructive: oklch(0.396 0.141 25.723);
  --destructive-foreground: oklch(0.637 0.237 25.331);
  --border: oklch(0.269 0 0);
  --input: oklch(0.269 0 0);
  --ring: oklch(0.439 0 0);
  --font-weight-medium: 500;
  --font-weight-normal: 400;
  --chart-1: oklch(0.488 0.243 264.376);
  --chart-2: oklch(0.696 0.17 162.48);
  --chart-3: oklch(0.769 0.188 70.08);
  --chart-4: oklch(0.627 0.265 303.9);
  --chart-5: oklch(0.645 0.246 16.439);
  --sidebar: oklch(0.205 0 0);
  --sidebar-foreground: oklch(0.985 0 0);
  --sidebar-primary: oklch(0.488 0.243 264.376);
  --sidebar-primary-foreground: oklch(0.985 0 0);
  --sidebar-accent: oklch(0.269 0 0);
  --sidebar-accent-foreground: oklch(0.985 0 0);
  --sidebar-border: oklch(0.269 0 0);
  --sidebar-ring: oklch(0.439 0 0);
}
@layer base {
  * {
    border-color: var(--border);
    outline-color: var(--ring);
    @supports (color: color-mix(in lab, red, red)) {
      outline-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }
  body {
    background-color: var(--background);
    color: var(--foreground);
  }
  html {
    font-size: var(--font-size);
  }
  h1 {
    font-size: var(--text-2xl);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }
  h2 {
    font-size: var(--text-xl);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }
  h3 {
    font-size: var(--text-lg);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }
  h4 {
    font-size: var(--text-base);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }
  label {
    font-size: var(--text-base);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }
  button {
    font-size: var(--text-base);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }
  input {
    font-size: var(--text-base);
    font-weight: var(--font-weight-normal);
    line-height: 1.5;
  }
}
@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-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-gradient-position {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}
@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}
@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: 0px;
}
@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-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@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-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --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-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-animation-delay: 0s;
      --tw-animation-direction: normal;
      --tw-animation-duration: initial;
      --tw-animation-fill-mode: none;
      --tw-animation-iteration-count: 1;
      --tw-enter-blur: 0;
      --tw-enter-opacity: 1;
      --tw-enter-rotate: 0;
      --tw-enter-scale: 1;
      --tw-enter-translate-x: 0;
      --tw-enter-translate-y: 0;
      --tw-exit-blur: 0;
      --tw-exit-opacity: 1;
      --tw-exit-rotate: 0;
      --tw-exit-scale: 1;
      --tw-exit-translate-x: 0;
      --tw-exit-translate-y: 0;
    }
  }
}

/* ── Landing extras (ported from PriceRangeSelector.tsx / motion entrance) ── */
.price-range-thumb {
  pointer-events: none;
  height: 100%;
  background: transparent !important;
  -webkit-appearance: none;
  appearance: none;
}
.price-range-thumb::-webkit-slider-thumb {
  pointer-events: auto;
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 9999px;
  background: #fff;
  border: 2px solid #2563eb;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  margin-top: -6px;
}
.price-range-thumb::-moz-range-thumb {
  pointer-events: auto;
  width: 18px;
  height: 18px;
  border-radius: 9999px;
  background: #fff;
  border: 2px solid #2563eb;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  border: 2px solid #2563eb;
}
.price-range-thumb::-webkit-slider-runnable-track {
  background: transparent;
  height: 6px;
  border: none;
}
.price-range-thumb::-moz-range-track {
  background: transparent;
  height: 6px;
  border: none;
}
#heroSearch .ge-hero-price-pin {
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.10);
  color: #fff;
}
#heroSearch .ge-hero-price-pin:focus {
  border-color: rgba(147, 197, 253, 0.9);
}
#heroSearch .ge-hero-price-slider__track {
  background: rgba(255, 255, 255, 0.22);
}
#heroSearch .ge-hero-price-slider__fill {
  background: #3b82f6;
}
@keyframes ge-fade-up { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes ge-hero-zoom { from { transform: scale(1.06); } to { transform: none; } }
/* Zoom only after first paint window so search glass doesn't fight a transforming backdrop. */
.ge-hero-img { animation: ge-hero-zoom 1.2s cubic-bezier(0.22, 1, 0.36, 1) 0.35s both; }
.ge-fade-up { animation: ge-fade-up 0.7s cubic-bezier(0.22, 1, 0.36, 1) backwards; }
.ge-delay-1 { animation-delay: 0.1s; }
.ge-delay-2 { animation-delay: 0.2s; }
@media (prefers-reduced-motion: reduce) { .ge-hero-img, .ge-fade-up { animation: none; } }

/*
 * Hero search glass: tint is the stable look; blur is optional enhancement.
 * backdrop-filter alone flickers while the hero image/ancestors composite.
 */
/*
 * Frost layer is a sibling underlay (not an ancestor of dropdowns).
 * Nested backdrop-filter inside the bar was why DD looked much less blurred.
 */
#heroSearch .ge-hero-bar {
  position: relative;
  color: #fff;
}
#heroSearch .ge-hero-frost,
#heroSearch .ge-hero-dd {
  border: 1px solid rgba(255, 255, 255, 0.28);
  background-color: rgba(26, 51, 72, 0.52);
  background-image: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.30) 0%,
    rgba(255, 255, 255, 0.08) 100%
  );
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
}
#heroSearch .ge-hero-frost {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  pointer-events: none;
}
#heroSearch .ge-hero-bar__content {
  position: relative;
  z-index: 1;
  gap: 0.35rem;
}
@media (min-width: 640px) {
  #heroSearch .ge-hero-bar__content {
    gap: 0.4rem;
  }
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  #heroSearch .ge-hero-frost,
  #heroSearch .ge-hero-dd {
    background-color: rgba(26, 51, 72, 0.32);
    -webkit-backdrop-filter: blur(16px) saturate(1.15);
    backdrop-filter: blur(16px) saturate(1.15);
  }
}
#heroSearch .ge-hero-bar--tabs .ge-hero-frost {
  box-shadow: none;
}
#heroSearch .ge-hero-dd {
  color: #fff;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
  overflow: visible;
}
#heroSearch .ge-hero-dd__scroll {
  max-height: 16rem;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin; /* Firefox — quiet track, no chunky arrows */
  scrollbar-color: rgba(255, 255, 255, 0.28) transparent;
}
#heroSearch .ge-hero-dd__scroll::-webkit-scrollbar {
  width: 4px;
}
#heroSearch .ge-hero-dd__scroll::-webkit-scrollbar-track {
  background: transparent;
}
#heroSearch .ge-hero-dd__scroll::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.28);
  border-radius: 999px;
}
#heroSearch .ge-hero-dd__scroll::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.45);
}
#heroSearch .ge-hero-dd__scroll::-webkit-scrollbar-button {
  display: none;
  width: 0;
  height: 0;
}
/* Faint vertical rules between Country / City / Township / Type cells. */
#heroSearch .ge-hero-bar__content > .ge-hero-field + .ge-hero-field {
  position: relative;
}
#heroSearch .ge-hero-bar__content > .ge-hero-field + .ge-hero-field::before {
  content: "";
  position: absolute;
  left: 0;
  top: 22%;
  bottom: 22%;
  width: 1px;
  background: rgba(255, 255, 255, 0.28);
  pointer-events: none;
}
#heroSearch .ge-hero-dd__opt {
  color: rgba(255, 255, 255, 0.88);
  border-color: transparent;
}
#heroSearch .ge-hero-dd__opt:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}
#heroSearch .ge-hero-dd__opt.is-on {
  background: rgba(255, 255, 255, 0.92);
  border-color: transparent;
  color: #1a3348;
}
#heroSearch .ge-hero-dd__muted {
  color: rgba(255, 255, 255, 0.55);
}
#heroSearch .ge-hero-dd input[type="text"] {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.25);
  color: #fff;
}
#heroSearch .ge-hero-dd input[type="text"]::placeholder {
  color: rgba(255, 255, 255, 0.45);
}
#heroSearch .ge-hero-dd input[type="text"]:focus {
  border-color: rgba(96, 165, 250, 0.9);
  outline: none;
}
/* Bilingual page copy: <x data-lang="en"> / <x data-lang="mm"> pairs, switched by html[lang] (set by app.js). */
html[lang="my"] [data-lang="en"], html:not([lang="my"]) [data-lang="mm"] { display: none !important; }


/* Hero search submit button — perfect icon centering */
#heroSearch [data-act="submit"] {
  line-height: 0;
}
#heroSearch [data-act="submit"] svg {
  display: block;
  margin: 0;
  flex-shrink: 0;
}
#heroSearch input[data-q]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

/* Yellow highlighter for fake/placeholder contact & legal data — easy to find later */
.ge-placeholder {
  background-color: #FFE500;
  color: inherit;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  padding: 0 0.12em;
  border-radius: 2px;
}
a.ge-placeholder,
button.ge-placeholder {
  background-color: #FFE500 !important;
  color: #1c1917 !important;
  border-color: rgba(28, 25, 23, 0.25) !important;
}
a.ge-placeholder svg,
button.ge-placeholder svg {
  color: #1c1917;
  fill: currentColor;
}
/* Hero title: width + font fitted in JS to the keyword tip / store-badge row. */
.ge-hero-title {
  margin-inline: auto;
  max-width: min(36rem, calc(100vw - 32px));
  width: min(36rem, calc(100vw - 32px));
  font-size: clamp(1.9rem, 6.2vw, 3.85rem);
  white-space: nowrap;
  text-align: center;
  overflow: hidden;
}

/* Keep tip slot height even when closed so store badges don't jump up.
 * pointer-events:none while closed — empty tip box sat over the filter DD
 * and stole clicks on the first option. */
#heroKeywordTip {
  min-height: 3.25rem; /* matches open keyword tip (py-2 + h-8 input + border) */
  pointer-events: none;
}
#heroKeywordTip[aria-hidden="false"] {
  pointer-events: auto;
}
#heroSearch {
  /* Keep dropdowns above the tip/badge row stacking context. */
  z-index: 40;
}

/* Hero store badges — same frost + rounded language as the search bar. */
#search .ge-store-badge {
  border-radius: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background-color: rgba(26, 51, 72, 0.52);
  background-image: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.28) 0%,
    rgba(255, 255, 255, 0.08) 100%
  );
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
  color: #fff;
}
/* Coming-soon links still use ge-placeholder globally — keep frost here, not yellow. */
#search a.ge-store-badge.ge-placeholder,
#search button.ge-store-badge.ge-placeholder {
  background-color: rgba(26, 51, 72, 0.52) !important;
  background-image: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.28) 0%,
    rgba(255, 255, 255, 0.08) 100%
  ) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
}
#search a.ge-store-badge.ge-placeholder svg,
#search button.ge-store-badge.ge-placeholder svg {
  color: inherit;
  fill: unset;
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  #search .ge-store-badge,
  #search a.ge-store-badge.ge-placeholder,
  #search button.ge-store-badge.ge-placeholder {
    background-color: rgba(26, 51, 72, 0.32) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.15);
    backdrop-filter: blur(16px) saturate(1.15);
  }
}

/* ═══════════ Header icon buttons: language flag + theme (sun / moon) ═══════════ */
.ge-icon-btn {
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
  width: 40px; height: 40px; padding: 0; cursor: pointer;
  border-radius: 0.75rem; border: 1px solid #e7e5e4; background: #fff; color: #44403c;
  box-shadow: 0 1px 2px rgba(28, 25, 23, 0.06), 0 1px 3px rgba(28, 25, 23, 0.04);
  transition: background-color .15s, border-color .15s, box-shadow .15s, transform .15s, color .15s;
}
.ge-icon-btn:hover { border-color: #d6d3d1; background: #fafaf9; color: #1c1917; box-shadow: 0 2px 6px rgba(28, 25, 23, 0.08); }
.ge-icon-btn:active { transform: scale(0.96); }
.ge-icon-btn:focus-visible { outline: 2px solid #60a5fa; outline-offset: 2px; }
.ge-flag { display: block; width: 24px; height: 16px; overflow: hidden; border-radius: 3px; box-shadow: 0 0 0 1px rgba(28, 25, 23, 0.12); }
.ge-flag svg { display: block; width: 100%; height: 100%; }
html.dark .ge-icon-btn { background: #1c1917; border-color: #3a3532; color: #e7e5e4; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4); }
html.dark .ge-icon-btn:hover { background: #292524; border-color: #57534e; color: #fff; }
html.dark .ge-flag { box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.15); }

/* ═══════════ Dark theme (html.dark — toggled by app.js, pre-applied in <head>) ═══════════ */
html.dark { color-scheme: dark; background-color: #0c0a09; }
html.dark body { background-color: #0c0a09; color: #e7e5e4; }

/* Surfaces */
html.dark .bg-stone-50 { background-color: #0c0a09; }
html.dark .bg-white { background-color: #1c1917; }
html.dark .bg-white\/95, html.dark .bg-white\/92 { background-color: rgb(28 25 23 / 0.94); }
html.dark .bg-stone-100 { background-color: #292524; }
html.dark .bg-stone-200 { background-color: #3a3532; }
html.dark .bg-stone-400 { background-color: #78716c; }
html.dark .bg-stone-900.text-white { background-color: #f5f5f4; color: #1c1917; }
html.dark .bg-blue-600\/10 { background-color: rgb(59 130 246 / 0.18); }
html.dark .bg-\[\#244b68\]\/10 { background-color: rgb(127 176 214 / 0.14); }
html.dark .bg-amber-50 { background-color: rgb(245 158 11 / 0.12); }
html.dark .bg-emerald-50 { background-color: rgb(16 185 129 / 0.12); }
html.dark .from-white { --tw-gradient-from: #1c1917; }
html.dark .from-stone-100 { --tw-gradient-from: #292524; }
html.dark .to-stone-50 { --tw-gradient-to: #1c1917; }

/* Brand navy sections (hero, subpage heroes, footer) + overlays */
html.dark .bg-\[\#1a3348\] { background-color: #0d1822; }
html.dark .ge-hero-img { filter: brightness(0.92) saturate(1); }
html.dark .from-\[\#1a3348\]\/40 { --tw-gradient-from: rgb(9 17 25 / 0.5); }
html.dark .from-\[\#1a3348\]\/50 { --tw-gradient-from: rgb(9 17 25 / 0.6); }
html.dark .from-\[\#1a3348\]\/90 { --tw-gradient-from: rgb(9 17 25 / 0.92); }
html.dark .via-\[\#1a3348\]\/25 { --tw-gradient-via: rgb(9 17 25 / 0.38); }
html.dark .via-\[\#1a3348\]\/55 { --tw-gradient-via: rgb(9 17 25 / 0.65); }
html.dark .via-\[\#1a3348\]\/70 { --tw-gradient-via: rgb(9 17 25 / 0.8); }
html.dark .to-\[\#1a3348\]\/75 { --tw-gradient-to: rgb(9 17 25 / 0.88); }
html.dark .to-\[\#1a3348\] { --tw-gradient-to: #0d1822; }
html.dark footer.bg-\[\#1a3348\] { background-color: #0b141c; border-top-color: #1f2a33; }

/* Borders */
html.dark .border-stone-100 { border-color: #292524; }
html.dark .border-stone-200, html.dark .sm\:border-stone-200 { border-color: #33302d; }
html.dark .border-stone-300 { border-color: #44403c; }
html.dark .border-stone-900 { border-color: #d6d3d1; }
html.dark .border-amber-300 { border-color: rgb(252 211 77 / 0.35); }
html.dark .border-emerald-200 { border-color: rgb(110 231 183 / 0.3); }
html.dark #topnav { border-bottom-color: #292524; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.5); }

/* Text */
html.dark .text-stone-900 { color: #f5f5f4; }
html.dark .text-stone-800 { color: #e7e5e4; }
html.dark .text-stone-700 { color: #d6d3d1; }
html.dark .text-stone-600 { color: #b8b2ad; }
html.dark .text-stone-500 { color: #a8a29e; }
html.dark .text-stone-400, html.dark .marker\:text-stone-400 *::marker, html.dark .marker\:text-stone-400::marker { color: #8a837e; }
html.dark .text-\[\#244b68\] { color: #8dbbe0; }
html.dark .text-\[\#1a3348\] { color: #b3d0e8; }
html.dark .text-blue-600 { color: #60a5fa; }
html.dark .text-amber-900 { color: #fde68a; }
html.dark .text-amber-700 { color: #fcd34d; }
html.dark .text-emerald-700 { color: #6ee7b7; }
html.dark .text-red-600 { color: #f87171; }
html.dark .placeholder\:text-stone-400::placeholder { color: #78716c; }

/* Hover / focus states */
@media (hover: hover) {
  html.dark .hover\:bg-stone-50:hover { background-color: #292524; }
  html.dark .hover\:bg-stone-100:hover { background-color: #33302d; }
  html.dark .bg-stone-900.text-white.hover\:bg-stone-800:hover { background-color: #e7e5e4; }
  html.dark .hover\:bg-blue-50:hover { background-color: rgb(59 130 246 / 0.16); }
  html.dark .hover\:bg-red-50:hover { background-color: rgb(239 68 68 / 0.14); }
  html.dark .hover\:border-stone-300:hover { border-color: #57534e; }
  html.dark .hover\:text-stone-800:hover, html.dark .hover\:text-stone-900:hover { color: #fafaf9; }
}
html.dark #siteNav [aria-current="page"] { border-color: #f5f5f4; }
html.dark .focus\:border-stone-400:focus { border-color: #78716c; }
html.dark .focus\:ring-stone-200:focus { --tw-ring-color: #44403c; }
html.dark :is(input, textarea, select).bg-white { background-color: #141210; }
html.dark select option { background-color: #1c1917; color: #e7e5e4; }
html.dark .shadow-sm, html.dark .shadow-md { --tw-shadow-color: rgb(0 0 0 / 0.5); }

/* Keep the yellow placeholder highlighter readable in dark mode (dark ink on yellow) */
html.dark span.ge-placeholder, html.dark span.ge-placeholder * { color: #1c1917; }
html.dark .ge-placeholder { background-color: #FFE500; }

/* Marketplace Leaflet — match ui-demo SearchResultsMap / index.css */
.price-marker-icon {
  background: transparent !important;
  border: none !important;
  overflow: visible !important;
}
.price-marker-icon span {
  box-sizing: border-box;
  max-width: none;
}
.leaflet-container {
  width: 100% !important;
  height: 100% !important;
  background: #e7e5e4;
  font: inherit;
  z-index: 0;
}
html.dark .leaflet-container { background: #1c1917; }
/* Tailwind preflight sets img{max-width:100%} which breaks OSM/Esri tiles */
.leaflet-container img.leaflet-tile {
  max-width: none !important;
  max-height: none !important;
  width: 256px !important;
  height: 256px !important;
}
.ge-mkt-basemap-toggle {
  pointer-events: auto;
  position: absolute;
  right: 0.75rem;
  top: 0.75rem;
  z-index: 1100;
  height: 3rem;
  width: 3rem;
  overflow: hidden;
  border-radius: 0.5rem;
  border: 1px solid #e7e5e4;
  background: #fff;
  padding: 0;
  box-shadow: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -2px rgba(0,0,0,.1);
  transition: transform .15s ease, border-color .15s ease;
}
.ge-mkt-basemap-toggle:hover { transform: scale(1.05); border-color: #d6d3d1; }
.ge-mkt-basemap-toggle img { height: 100%; width: 100%; object-fit: cover; display: block; }
html.dark .ge-mkt-basemap-toggle { border-color: #44403c; background: #1c1917; }
html.dark .ge-map-panel .leaflet-control-attribution {
  background: rgba(28,25,23,.85); color: #a8a29e;
}
html.dark .ge-map-panel .leaflet-control-attribution a { color: #e7e5e4; }
.ge-mkt-map-col {
  height: calc(100vh - 4rem);
}
.ge-mkt-map-box {
  height: 100%;
  min-height: 0;
  overflow: hidden;
  border: 1px solid #e7e5e4;
  border-radius: 1rem;
  background: #e7e5e4;
  box-shadow: 0 1px 2px rgba(28, 25, 23, 0.06);
}
html.dark .ge-mkt-map-box {
  border-color: #44403c;
  background: #292524;
  box-shadow: none;
}

/* Unpublished store badges + social: visible, disabled on hover */
a.ge-disabled,
a.ge-disabled:visited {
  cursor: not-allowed !important;
  opacity: 0.72;
  filter: grayscale(0.35);
  pointer-events: auto;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: opacity .15s ease, filter .15s ease, transform .15s ease;
}
a.ge-disabled:hover,
a.ge-disabled:focus {
  opacity: 0.48;
  filter: grayscale(0.85) brightness(0.92);
  transform: none !important;
  cursor: not-allowed !important;
}
a.ge-disabled:active {
  transform: none !important;
}
#playBadge.ge-disabled:hover,
#appStoreBadge.ge-disabled:hover {
  filter: grayscale(0.9) brightness(0.9);
  opacity: 0.45;
}
a[data-social].ge-disabled:hover {
  background-color: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
}

/* Soft marketing page hero — muted sky blue (clearly sky, not navy) */
.ge-page-hero--sky {
  background: #6eb8d6;
}
.ge-page-hero--sky .ge-page-hero__veil {
  background: linear-gradient(
    to bottom,
    rgba(110, 184, 214, 0.55),
    rgba(95, 170, 200, 0.68),
    rgba(78, 152, 184, 0.80)
  );
}

/* Properties page — listing-style header (no photo hero). */
.ge-prop-page-head__current {
  color: #38bdf8; /* sky-400 */
}
html.dark .ge-prop-page-head__current {
  color: #7dd3fc; /* sky-300 */
}
.ge-prop-page-head__chip {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #244b68;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 0.35rem 0.85rem;
  line-height: 1.2;
}
.ge-mkt-view-icons {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
}
.ge-mkt-view-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: #64748b;
  cursor: pointer;
  transition: color 0.15s ease;
}
.ge-mkt-view-icon:hover {
  color: #334155;
}
.ge-mkt-view-icon.is-active {
  color: #c47a5a;
}
.ge-mkt-view-icon svg {
  display: block;
  width: 1.2rem;
  height: 1.2rem;
}
html.dark .ge-mkt-view-icon {
  color: #94a3b8;
}
html.dark .ge-mkt-view-icon:hover {
  color: #e2e8f0;
}
html.dark .ge-mkt-view-icon.is-active {
  color: #d4a08a;
}
/* Shared rounded dropdowns (native <select> popups can't be rounded). */
.ge-round-dd {
  position: relative;
  min-width: 0;
}
.ge-round-dd__trigger {
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin: 0;
  padding: 0.7rem 1rem 0.7rem 1.1rem;
  border: 1px solid #d6d3d1;
  border-radius: 1.25rem;
  background: #f5f5f4;
  color: #57534e;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: left;
  cursor: pointer;
  outline: none;
  transition: border-color 0.15s ease, color 0.15s ease, background-color 0.15s ease;
}
.ge-round-dd--sm .ge-round-dd__trigger {
  min-height: 2.25rem;
  padding: 0.4rem 0.85rem 0.4rem 0.95rem;
  border-radius: 999px;
  border-color: #e7e5e4;
  background: #fff;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #44403c;
  box-shadow: 0 1px 2px rgba(28, 25, 23, 0.04);
}
.ge-round-dd__value {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ge-round-dd__chevron {
  flex-shrink: 0;
  color: #78716c;
  transition: transform 0.15s ease;
}
.ge-round-dd.is-open .ge-round-dd__trigger {
  color: #1c1917;
  border-color: #a8a29e;
  background: #fff;
}
.ge-round-dd.is-open .ge-round-dd__chevron {
  transform: rotate(180deg);
}
.ge-round-dd__trigger:hover,
.ge-round-dd__trigger:focus {
  color: #1c1917;
  border-color: #a8a29e;
}
.ge-round-dd__menu {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px);
  z-index: 60;
  min-width: 12rem;
  border-radius: 1.5rem;
  border: 1px solid rgba(28, 25, 23, 0.08);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 40px rgba(28, 25, 23, 0.16);
  padding: 0.75rem;
  overflow: hidden;
}
.ge-round-dd--sm .ge-round-dd__menu {
  left: auto;
  right: 0;
  width: max(12rem, 100%);
}
.ge-round-dd__scroll {
  max-height: 16rem;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(120, 113, 108, 0.35) transparent;
}
.ge-round-dd__scroll::-webkit-scrollbar {
  width: 4px;
}
.ge-round-dd__scroll::-webkit-scrollbar-track {
  background: transparent;
}
.ge-round-dd__scroll::-webkit-scrollbar-thumb {
  background: rgba(120, 113, 108, 0.35);
  border-radius: 999px;
}
.ge-round-dd__scroll::-webkit-scrollbar-button {
  display: none;
  width: 0;
  height: 0;
}
.ge-round-dd__opt {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 0 0 0.25rem;
  padding: 0.75rem 1rem;
  border: 1px solid transparent;
  border-radius: 1rem;
  background: transparent;
  color: #44403c;
  font-size: 0.875rem;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.12s ease, color 0.12s ease;
}
.ge-round-dd--sm .ge-round-dd__opt {
  padding: 0.55rem 0.85rem;
  font-size: 0.8125rem;
}
.ge-round-dd__opt:last-child {
  margin-bottom: 0;
}
.ge-round-dd__opt:hover {
  background: #f5f5f4;
  color: #1c1917;
}
.ge-round-dd__opt.is-on {
  background: #e7e5e4;
  color: #44403c;
}
.ge-prop-page-filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  align-items: stretch;
  gap: 0.65rem;
  width: 100%;
}
.ge-mkt-chips {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.15rem;
}
.ge-mkt-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0;
  padding: 0.35rem 0.75rem;
  border: 1px solid #d6d3d1;
  border-radius: 999px;
  background: #fff;
  color: #44403c;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.3;
  cursor: pointer;
  text-decoration: none;
}
.ge-mkt-chip:hover {
  border-color: #a8a29e;
  color: #1c1917;
}
.ge-mkt-chip--clear {
  background: #1c1917;
  border-color: #1c1917;
  color: #fff;
}
.ge-mkt-chip--clear:hover {
  background: #44403c;
  border-color: #44403c;
  color: #fff;
}
.ge-mkt-chip--link {
  background: #f5f5f4;
}
html.dark .ge-mkt-chip {
  background: #292524;
  border-color: #44403c;
  color: #e7e5e4;
}
html.dark .ge-mkt-chip--clear {
  background: #e7e5e4;
  border-color: #e7e5e4;
  color: #1c1917;
}
html.dark .ge-round-dd__trigger {
  color: #e7e5e4;
  background-color: #292524;
  border-color: #44403c;
}
html.dark .ge-round-dd--sm .ge-round-dd__trigger {
  background: #292524;
  border-color: #44403c;
  box-shadow: none;
}
html.dark .ge-round-dd__chevron {
  color: #a8a29e;
}
html.dark .ge-round-dd__trigger:hover,
html.dark .ge-round-dd__trigger:focus,
html.dark .ge-round-dd.is-open .ge-round-dd__trigger {
  color: #fafaf9;
  border-color: #78716c;
  background: #1c1917;
}
html.dark .ge-round-dd__menu {
  border-color: rgba(255, 255, 255, 0.1);
  background: rgba(41, 37, 36, 0.98);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
}
html.dark .ge-round-dd__opt {
  color: rgba(255, 255, 255, 0.88);
}
html.dark .ge-round-dd__opt:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}
html.dark .ge-round-dd__opt.is-on {
  background: #44403c;
  color: #e7e5e4;
}
html.dark .ge-prop-page-head {
  background: #1c1917 !important;
  border-bottom-color: #292524;
}
html.dark .ge-prop-page-head h1 { color: #fafaf9; }
html.dark .ge-prop-page-head__loc { color: #a8a29e; }
html.dark .ge-prop-page-head__count { color: #93c5fd; }
html.dark .ge-prop-page-head__btn {
  background: #292524;
  border-color: #44403c;
  color: #e7e5e4;
}
html.dark .ge-prop-page-head__btn:hover {
  background: #44403c;
  border-color: #57534e;
}
/* Bottom CTA band (was navy #244b68) */
.ge-cta-band {
  background: #5aa8c8;
}
.ge-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.5rem 0.75rem;
}
.ge-form-action {
  display: inline-flex;
  margin-left: auto;
  margin-right: auto;
  justify-self: center;
}
.ge-card-action {
  margin-left: auto;
  margin-right: auto;
}

/* Desktop center nav: softer / dimmer link color */
#siteNav a[data-nav] {
  color: #a8a29e; /* stone-400 — dimmer than stone-500 */
}
#siteNav a[data-nav]:hover {
  color: #57534e;
}
#siteNav a[data-nav][aria-current="page"] {
  color: #38bdf8;
  border-color: #7dd3fc;
  background: color-mix(in oklab, #e0f2fe 70%, transparent);
}

/* Logged-in: primary header sits above portal secondary bar (Flutter parity). */
#topnav.ge-logged-in {
  border-bottom-color: transparent;
  box-shadow: none;
}

/* Home: hero bleeds under header until scroll (or mobile menu open). */
body[data-page="home"] #topnav {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  width: 100%;
  transition:
    background-color 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease,
    min-height 0.5s ease-in-out;
}
body[data-page="home"] #topnav:not(.is-scrolled):not(.ge-nav-menu-open) {
  background: transparent;
  border-bottom-color: transparent;
  box-shadow: none;
}
body[data-page="home"] #topnav:not(.is-scrolled):not(.ge-nav-menu-open) a[data-action="top"] span {
  color: #fff;
}
body[data-page="home"] #topnav:not(.is-scrolled):not(.ge-nav-menu-open) #siteNav a {
  color: rgba(255, 255, 255, 0.88);
}
body[data-page="home"] #topnav:not(.is-scrolled):not(.ge-nav-menu-open) #siteNav a:hover {
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}
body[data-page="home"] #topnav:not(.is-scrolled):not(.ge-nav-menu-open) #siteNav a[aria-current="page"] {
  border-color: rgba(255, 255, 255, 0.45);
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}
body[data-page="home"] #topnav:not(.is-scrolled):not(.ge-nav-menu-open) .ge-icon-btn {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.35);
  color: #fff;
  box-shadow: none;
}
body[data-page="home"] #topnav:not(.is-scrolled):not(.ge-nav-menu-open) .ge-icon-btn:hover {
  background: rgba(255, 255, 255, 0.22);
  border-color: rgba(255, 255, 255, 0.55);
  color: #fff;
}
body[data-page="home"] #topnav:not(.is-scrolled):not(.ge-nav-menu-open) #loginBtn {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.75);
  color: #fff;
}
body[data-page="home"] #topnav:not(.is-scrolled):not(.ge-nav-menu-open) #loginBtn:hover {
  background: rgba(255, 255, 255, 0.22);
  color: #fff;
}
body[data-page="home"] #topnav:not(.is-scrolled):not(.ge-nav-menu-open) #menuBtn {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.4);
  color: #fff;
}
body[data-page="home"] #topnav.is-scrolled,
body[data-page="home"] #topnav.ge-nav-menu-open {
  background: #fff;
  border-bottom-color: #f5f5f4;
  box-shadow: 0 1px 2px rgba(28, 25, 23, 0.06);
}
html.dark body[data-page="home"] #topnav.is-scrolled,
html.dark body[data-page="home"] #topnav.ge-nav-menu-open {
  background: #1c1917;
  border-bottom-color: #292524;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
}

/* Portal secondary bar — guest sky / host brown gradients */
.ge-sec-bar {
  width: 100%;
  height: 44px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
.ge-sec-bar--guest {
  background: linear-gradient(90deg, #38bdf8 0%, #0ea5e9 50%, #0284c7 100%);
}
.ge-sec-bar--host {
  background: linear-gradient(90deg, #5a2d22 0%, #7c3a2d 50%, #9a3412 100%);
}
.ge-sec-bar-inner {
  display: flex;
  min-width: 100%;
  height: 44px;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 0 8px;
}
.ge-sec-link {
  display: inline-flex;
  height: 44px;
  align-items: center;
  padding: 0 16px;
  border-bottom: 2.5px solid transparent;
  color: rgba(255, 255, 255, 0.88);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  text-decoration: none;
  transition: color .15s ease, border-color .15s ease;
}
.ge-sec-link:hover {
  color: #fff;
  border-bottom-color: rgba(255, 255, 255, 0.45);
}

/* Logged-in profile chip — matches Flutter GuestTopBar (sky-500) */
.ge-profile { display: inline-flex; align-items: center; }
.ge-profile.hidden { display: none !important; }
.ge-profile-btn {
  display: inline-flex;
  height: 36px;
  align-items: center;
  gap: 6px;
  border-radius: 8px;
  background: #0ea5e9;
  color: #fff;
  padding: 0 10px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  border: none;
  box-shadow: 0 1px 2px rgba(0,0,0,.12);
  cursor: pointer;
  transition: background .15s ease, box-shadow .15s ease;
}
.ge-profile-btn:hover { background: #0284c7; box-shadow: 0 2px 6px rgba(14,165,233,.35); }
.ge-profile-ico, .ge-profile-chev { width: 16px; height: 16px; flex-shrink: 0; }
.ge-profile-name {
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ge-profile-panel {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 80;
  min-width: 180px;
  border-radius: 8px;
  border: 1px solid #f5f5f4;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  padding: 4px 0;
}
.ge-profile-item {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 600;
  color: #44403c;
  background: transparent;
  border: none;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.ge-profile-item:hover { background: #f5f5f4; }
.ge-profile-item svg { width: 18px; height: 18px; color: #0ea5e9; flex-shrink: 0; }
.ge-profile-item[data-logout] svg { color: #78716c; }
html.dark .ge-profile-panel { background: #1c1917; border-color: #44403c; }
html.dark .ge-profile-item { color: #e7e5e4; }
html.dark .ge-profile-item:hover { background: #292524; }

/* Floating Viber chat + scroll-to-top */
.ge-float-actions {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 90;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.55rem;
}
.ge-float-btn {
  display: inline-flex;
  height: 3rem;
  width: 3rem;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  color: #fff;
  box-shadow: 0 10px 24px rgba(28, 25, 23, 0.22);
  transition: transform 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease;
  border: none;
  text-decoration: none;
  cursor: pointer;
  position: relative;
}
.ge-float-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(28, 25, 23, 0.28);
}
.ge-float-btn:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.35), 0 10px 24px rgba(28, 25, 23, 0.22);
}
.ge-float-viber { background: #229ED9; }
.ge-float-viber:hover { background: #1b8fc5; }
.ge-float-actions.is-viber-open .ge-float-viber { background: #1b8fc5; }
.ge-float-icon-close { display: none; }
.ge-float-actions.is-viber-open .ge-float-icon-viber { display: none; }
.ge-float-actions.is-viber-open .ge-float-icon-close { display: block; }
.ge-float-top { background: #2563eb; }
.ge-float-top:hover { background: #1d4ed8; }
.ge-float-top[hidden] { display: none !important; }

.ge-viber-chat {
  width: min(320px, calc(100vw - 2rem));
  overflow: hidden;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 40px rgba(26, 51, 72, 0.28);
  border: 1px solid rgba(36, 75, 104, 0.12);
  transform-origin: bottom right;
  animation: ge-viber-in 0.22s ease;
}
.ge-viber-chat[hidden] { display: none !important; }
@keyframes ge-viber-in {
  from { opacity: 0; transform: translateY(10px) scale(0.96); }
  to { opacity: 1; transform: none; }
}
.ge-viber-chat-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  background: #38bdf8;
  color: #fff;
}
.ge-viber-avatar {
  position: relative;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.22);
  display: grid;
  place-items: center;
  overflow: hidden;
}
.ge-viber-avatar img {
  width: 36px;
  height: 36px;
  object-fit: contain;
}
.ge-viber-online {
  position: absolute;
  right: 2px;
  bottom: 2px;
  width: 10px;
  height: 10px;
  border-radius: 9999px;
  background: #22c55e;
  border: 2px solid #38bdf8;
}
.ge-viber-name {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
}
.ge-viber-role {
  margin: 2px 0 0;
  font-size: 12px;
  opacity: 0.85;
}
.ge-viber-chat-body {
  padding: 14px 14px 8px;
  background: #fff;
}
.ge-viber-bubble {
  position: relative;
  max-width: 100%;
  padding: 12px 14px 22px;
  border-radius: 4px 14px 14px 14px;
  background: #eef1f4;
  color: #334155;
  font-size: 13px;
  line-height: 1.45;
}
.ge-viber-bubble p { margin: 0; }
.ge-viber-time {
  position: absolute;
  right: 10px;
  bottom: 6px;
  font-size: 10px;
  color: #94a3b8;
  font-variant-numeric: tabular-nums;
}
.ge-viber-input {
  display: block;
  width: 100%;
  margin-top: 10px;
  min-height: 72px;
  resize: vertical;
  border: 1px solid #e7e5e4;
  border-radius: 12px;
  padding: 10px 12px;
  font: inherit;
  font-size: 13px;
  color: #1c1917;
  background: #fafaf9;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.ge-viber-input:focus {
  border-color: #38bdf8;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.25);
  background: #fff;
}
.ge-viber-input.is-invalid {
  border-color: #ef4444;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15);
}
.ge-viber-chat-foot {
  padding: 8px 14px 14px;
  background: #fff;
}
.ge-viber-send {
  display: inline-flex;
  width: 100%;
  height: 44px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: none;
  border-radius: 9999px;
  background: #38bdf8;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.15s ease, transform 0.15s ease;
}
.ge-viber-send:hover { background: #229ED9; }
.ge-viber-send:active { transform: scale(0.98); background: #1b8fc5; }

@media (max-width: 480px) {
  .ge-float-actions { right: 0.85rem; bottom: 0.85rem; gap: 0.45rem; }
  .ge-float-btn { height: 2.75rem; width: 2.75rem; }
  .ge-viber-chat { width: min(300px, calc(100vw - 1.5rem)); }
}

/* ── Property grid card (reference marketplace style) ── */
.ge-prop-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid #e7e5e4;
  background: #fff;
  box-shadow: 0 1px 2px rgba(28, 25, 23, 0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.ge-prop-card:hover {
  transform: translateY(-3px);
  border-color: #d6d3d1;
  box-shadow: 0 12px 28px rgba(28, 25, 23, 0.1);
}

/* ── Editorial trial card (first grid card only) ── */
.ge-prop-card--edit {
  border: none;
  background: transparent;
  box-shadow: none;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
.ge-prop-card--edit .ge-prop-card__title {
  font-family: inherit;
  font-weight: 800;
  letter-spacing: -0.03em;
}
.ge-prop-card--edit .ge-prop-card__meta {
  font-family: inherit;
  font-weight: 500;
  letter-spacing: 0.01em;
}
.ge-prop-card--edit .ge-prop-card__price,
.ge-prop-card--edit .ge-prop-card__value {
  font-family: inherit;
  letter-spacing: -0.025em;
}
.ge-prop-card--edit .ge-prop-card__badge {
  font-family: inherit;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.ge-prop-card--edit:hover {
  transform: none;
  border-color: transparent;
  box-shadow: none;
}
.ge-prop-card--edit .ge-prop-card__media {
  aspect-ratio: 4 / 3;
  border-radius: 1.1rem;
}
.ge-prop-card--edit:hover .ge-prop-card__media img {
  transform: scale(1.03);
}
.ge-prop-card--edit .ge-prop-card__badge--purpose {
  left: 0.75rem;
  right: auto;
  background: #a67c52;
  color: #fff;
  box-shadow: 0 1px 4px rgba(28, 25, 23, 0.2);
}
.ge-prop-card--edit .ge-prop-card__badge--status {
  left: auto;
  right: 0.75rem;
  color: #fff;
  box-shadow: 0 1px 4px rgba(28, 25, 23, 0.2);
}
.ge-prop-card--edit .ge-prop-card__badge--active {
  background: #16a34a;
}
.ge-prop-card--edit .ge-prop-card__badge--pending {
  background: #eab308;
  color: #1c1917;
}
.ge-prop-card--edit .ge-prop-card__badge--rented {
  background: #dc2626;
}
.ge-prop-card--edit .ge-prop-card__media-actions {
  position: absolute;
  right: 0.65rem;
  bottom: 0.65rem;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.ge-prop-card--edit .ge-prop-card__media-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: #44403c;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
  cursor: pointer;
}
.ge-prop-card--edit .ge-prop-card__media-btn:hover,
.ge-prop-card--edit .ge-prop-card__media-btn.is-on {
  background: #fff;
  color: #1c1917;
  transform: scale(1.06);
}
.ge-prop-card--edit .ge-prop-card__media-btn.ge-prop-card__fav {
  background: transparent;
  box-shadow: none;
  color: #fff;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.45));
}
.ge-prop-card--edit .ge-prop-card__media-btn.ge-prop-card__fav:hover {
  background: transparent;
  color: #fff;
}
.ge-prop-card--edit .ge-prop-card__agent-float {
  position: absolute;
  left: 0.9rem;
  bottom: 0;
  z-index: 4;
  width: 2.75rem;
  height: 2.75rem;
  border: 2.5px solid #fff;
  border-radius: 999px;
  object-fit: cover;
  background: #e7e5e4;
  box-shadow: 0 2px 8px rgba(28, 25, 23, 0.18);
  transform: translateY(50%);
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.18s ease, visibility 0.18s ease;
}
.ge-prop-card--edit:hover .ge-prop-card__agent-float,
.ge-prop-card--edit:focus-within .ge-prop-card__agent-float {
  opacity: 1;
  visibility: visible;
}
.ge-prop-card--edit .ge-prop-card__body {
  gap: 0.35rem;
  padding: 0.85rem 0.35rem 0.35rem;
}
.ge-prop-card--edit .ge-prop-card__title {
  font-size: 1.12rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  -webkit-line-clamp: 1;
}
.ge-prop-card--edit .ge-prop-card__meta {
  margin: 0;
  color: #8a8580;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.4;
}
.ge-prop-card--edit .ge-prop-card__meta--detail {
  margin-top: 0.1rem;
}
.ge-prop-card--edit .ge-prop-card__price {
  margin-top: 0.55rem;
  font-size: 1.2rem;
}
.ge-prop-card--edit .ge-prop-card__value {
  color: #a67c52;
  font-weight: 800;
  letter-spacing: -0.015em;
}
html.dark .ge-prop-card--edit {
  background: transparent;
}
html.dark .ge-prop-card--edit .ge-prop-card__meta {
  color: #a8a29e;
}
html.dark .ge-prop-card--edit .ge-prop-card__value {
  color: #c4a574;
}

/* ── Properties List View: image left / text right (layout only) ── */
.ge-prop-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.ge-prop-card.ge-prop-card--list {
  flex-direction: row;
  align-items: stretch;
  min-height: 11.5rem;
}
.ge-prop-card.ge-prop-card--list > .ge-prop-card__media {
  flex: 0 0 clamp(10.5rem, 28vw, 17rem);
  width: clamp(10.5rem, 28vw, 17rem);
  max-width: 42%;
  aspect-ratio: auto;
  align-self: stretch;
  min-height: 11.5rem;
}
.ge-prop-card.ge-prop-card--list > .ge-prop-card__main {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-direction: column;
}
.ge-prop-card.ge-prop-card--list .ge-prop-card__body {
  flex: 1 1 auto;
  justify-content: center;
  padding: 1rem 1.1rem;
}
.ge-prop-card.ge-prop-card--list.ge-prop-card--edit .ge-prop-card__media {
  border-radius: 1.1rem 0 0 1.1rem;
}
.ge-prop-card.ge-prop-card--list .ge-prop-card__foot {
  margin-top: auto;
}
@media (max-width: 640px) {
  .ge-prop-card.ge-prop-card--list.ge-prop-card--edit .ge-prop-card__media {
    border-radius: 1.1rem 1.1rem 0 0;
  }
}
@media (max-width: 640px) {
  .ge-prop-card.ge-prop-card--list {
    flex-direction: column;
    min-height: 0;
  }
  .ge-prop-card.ge-prop-card--list > .ge-prop-card__media {
    flex-basis: auto;
    width: 100%;
    max-width: none;
    min-height: 0;
    aspect-ratio: 16 / 10;
  }
}
.ge-prop-card__media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #e7e5e4;
}
.ge-prop-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.ge-prop-card:hover .ge-prop-card__media img {
  transform: scale(1.04);
}
.ge-prop-card__shade {
  pointer-events: none;
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.08) 42%, transparent 68%);
}
.ge-prop-card__badge,
.ge-prop-card__rating {
  position: absolute;
  top: 0.75rem;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  box-sizing: border-box;
  border-radius: 9999px;
  padding: 0.28rem 0.7rem;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
}
.ge-prop-card__badge {
  left: 0.75rem;
  background: #fff;
  color: #111827;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}
.ge-prop-card__rating {
  right: 0.75rem;
  gap: 0.25rem;
  border: 1.5px solid rgba(255, 255, 255, 0.95);
  background: rgba(255, 255, 255, 0.65);
  color: #111827;
  text-shadow: none;
  box-shadow: none;
  backdrop-filter: blur(2px);
}
.ge-prop-card__rating svg {
  flex-shrink: 0;
  fill: #FBBF24;
  stroke: #F59E0B;
  color: #FBBF24;
}
.ge-prop-card__rate {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  color: inherit;
  white-space: nowrap;
  vertical-align: middle;
}
.ge-prop-card__new {
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.02em;
  color: #a67c52;
}
.ge-prop-card__rate .ge-star,
.ge-star {
  display: inline-block;
  width: 0.85rem;
  height: 0.85rem;
  flex-shrink: 0;
  fill: #FBBF24;
  stroke: #F59E0B;
  color: #FBBF24;
  vertical-align: -0.12em;
}
.ge-prop-card__nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: flex;
  height: 2rem;
  width: 2rem;
  translate: 0 -50%;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.88);
  color: #1c1917;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
  opacity: 0;
  cursor: pointer;
  transition: opacity 0.15s ease, background-color 0.15s ease, transform 0.15s ease;
}
.ge-prop-card:hover .ge-prop-card__nav,
.ge-prop-card:focus-within .ge-prop-card__nav {
  opacity: 1;
}
.ge-prop-card__nav:hover { background: #fff; transform: scale(1.05); }
.ge-prop-card__nav--prev { left: 0.65rem; }
.ge-prop-card__nav--next { right: 0.65rem; }
.ge-prop-card__media-meta {
  position: absolute;
  inset-inline: 0.75rem;
  bottom: 0.7rem;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.5rem;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
.ge-prop-card__loc {
  display: inline-flex;
  min-width: 0;
  max-width: 70%;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.2;
}
.ge-prop-card__shots {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.72rem;
  font-weight: 700;
}
.ge-prop-card__shots > svg + span {
  margin-left: 0.15rem;
}
.ge-prop-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.95rem 1rem 0.75rem;
}
.ge-prop-card__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.25;
  color: #1c1917;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ge-prop-card__price {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.4rem;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.01em;
}
.ge-prop-card__value {
  color: #2563eb;
}
.ge-prop-card__sep {
  color: #d6d3d1;
  font-weight: 600;
  font-size: 0.95rem;
}
.ge-prop-card__type {
  color: #57534e;
  font-size: 0.8125rem;
  font-weight: 600;
}
.ge-prop-card__desc {
  margin: 0.15rem 0 0;
  font-size: 0.8rem;
  line-height: 1.45;
  color: #78716c;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ge-prop-card__stats {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.85rem;
  margin-top: 0.55rem;
  color: #78716c;
  font-size: 0.8rem;
}
.ge-prop-card__stats span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.ge-prop-card__stats b {
  font-weight: 600;
  color: #57534e;
}
.ge-prop-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  margin-top: auto;
  padding: 0.75rem 1rem 0.9rem;
  border-top: 1px solid #f0eeeb;
}
.ge-prop-card__agent {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 0.55rem;
  font-size: 0.84rem;
  font-weight: 700;
  color: #1c1917;
}
.ge-prop-card__agent img {
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
  object-fit: cover;
  background: #e7e5e4;
  flex-shrink: 0;
}
.ge-prop-card__actions {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 0.35rem;
}
.ge-prop-card__iconbtn {
  position: relative;
  display: inline-flex;
  height: 2.05rem;
  width: 2.05rem;
  align-items: center;
  justify-content: center;
  border: 1px solid #e8e8e8;
  border-radius: 4px;
  background: #f5f5f5;
  color: #9ca3af;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.ge-prop-card__iconbtn svg {
  color: inherit;
}
.ge-prop-card__iconbtn:hover,
.ge-prop-card__iconbtn:focus-visible {
  border-color: #93c5fd;
  background: #eff6ff;
  color: #2563eb;
}
.ge-prop-card__iconbtn.is-on {
  border-color: #93c5fd;
  background: #eff6ff;
  color: #2563eb;
}
/* Dark tooltip above icon boxes (reference style) */
.ge-prop-card__iconbtn[data-tip]::after,
.ge-prop-card__media-btn[data-tip]::after {
  content: attr(data-tip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 8px);
  z-index: 6;
  translate: -50% 4px;
  opacity: 0;
  pointer-events: none;
  white-space: nowrap;
  border-radius: 4px;
  background: #4b5563;
  color: #fff;
  padding: 0.28rem 0.55rem;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-transform: lowercase;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
  transition: opacity 0.12s ease, translate 0.12s ease;
}
.ge-prop-card__iconbtn[data-tip]::before,
.ge-prop-card__media-btn[data-tip]::before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: calc(100% + 4px);
  z-index: 6;
  translate: -50% 4px;
  opacity: 0;
  pointer-events: none;
  border: 5px solid transparent;
  border-top-color: #4b5563;
  transition: opacity 0.12s ease, translate 0.12s ease;
}
.ge-prop-card__iconbtn[data-tip]:hover::after,
.ge-prop-card__iconbtn[data-tip]:focus-visible::after,
.ge-prop-card__iconbtn[data-tip]:hover::before,
.ge-prop-card__iconbtn[data-tip]:focus-visible::before,
.ge-prop-card__media-btn[data-tip]:hover::after,
.ge-prop-card__media-btn[data-tip]:focus-visible::after,
.ge-prop-card__media-btn[data-tip]:hover::before,
.ge-prop-card__media-btn[data-tip]:focus-visible::before {
  opacity: 1;
  translate: -50% 0;
}
.ge-share-pop {
  position: absolute;
  z-index: 95;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  width: 12.25rem;
  padding: 0.4rem;
  border: 1px solid #e7e5e4;
  border-radius: 0.95rem;
  background: #fff;
  box-shadow: 0 16px 40px rgba(28, 25, 23, 0.16);
  animation: ge-share-in 0.16s ease-out;
}
.ge-share-pop__btn {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  height: 2.2rem;
  padding: 0 0.45rem;
  border-radius: 0.65rem;
  color: #1c1917;
  font-size: 0.8125rem;
  font-weight: 700;
  text-decoration: none;
  transition: background-color 0.12s ease;
}
.ge-share-pop__btn:hover { background: #f5f5f4; color: #1c1917; }
.ge-share-pop__ico {
  display: inline-flex;
  width: 1.65rem;
  height: 1.65rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #fff;
}
.ge-share-pop__btn[data-share-net="facebook"] .ge-share-pop__ico { background: #1877f2; }
.ge-share-pop__btn[data-share-net="telegram"] .ge-share-pop__ico { background: #229ed9; }
.ge-share-pop__btn[data-share-net="viber"] .ge-share-pop__ico { background: #7360f2; }
.ge-share-pop__btn[data-share-net="instagram"] .ge-share-pop__ico { background: #e1306c; }
.ge-share-pop__btn[data-share-net="messenger"] .ge-share-pop__ico { background: #0084ff; }
.ge-share-pop__btn[data-share-net="gmail"] .ge-share-pop__ico { background: #ea4335; }
.ge-share-pop__btn svg {
  width: 0.95rem;
  height: 0.95rem;
  display: block;
}
@keyframes ge-share-in {
  from { opacity: 0; transform: translateY(6px) scale(0.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.ge-toast {
  position: fixed;
  left: 50%;
  bottom: 5.5rem;
  z-index: 90;
  max-width: min(92vw, 360px);
  translate: -50% 12px;
  opacity: 0;
  pointer-events: none;
  border-radius: 9999px;
  background: #1c1917;
  color: #fff;
  padding: 0.65rem 1.1rem;
  font-size: 0.8125rem;
  font-weight: 600;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
  transition: opacity 0.2s ease, translate 0.2s ease;
}
.ge-toast.is-show {
  opacity: 1;
  translate: -50% 0;
}
.ge-compare-panel {
  position: fixed;
  inset: 0;
  z-index: 96;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(28, 25, 23, 0.35);
  backdrop-filter: blur(2px);
}
.ge-compare-panel__card {
  width: min(100%, 24rem);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 40px rgba(28, 25, 23, 0.2);
  padding: 1rem 1rem 1.1rem;
  animation: ge-share-in 0.16s ease-out;
}
.ge-compare-panel__card--wide,
.ge-compare-panel--wide .ge-compare-panel__card {
  width: min(100%, 52rem);
  max-height: min(92vh, 44rem);
  overflow: auto;
}
.ge-compare-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.9rem;
}
.ge-compare-panel__head--result {
  display: grid;
  grid-template-columns: 2rem 1fr 2rem;
  align-items: center;
}
.ge-compare-panel__head--result .ge-compare-panel__title {
  grid-column: 2;
  text-align: center;
}
.ge-compare-panel__head--result .ge-compare-panel__close {
  grid-column: 3;
  justify-self: end;
}
.ge-compare-panel__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  color: #1c1917;
}
.ge-compare-panel__close {
  display: inline-flex;
  height: 2rem;
  width: 2rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 6px;
  background: #2563eb;
  color: #fff;
  cursor: pointer;
}
.ge-compare-panel__close:hover { background: #1d4ed8; }
.ge-compare-panel__type {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-bottom: 0.65rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #57534e;
}
.ge-compare-panel__type select {
  height: 2.35rem;
  border: 1px solid #e7e5e4;
  border-radius: 8px;
  background: #fff;
  padding: 0 0.75rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #1c1917;
  outline: none;
}
.ge-compare-panel__type select:focus {
  border-color: #93c5fd;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}
.ge-compare-panel__hint {
  margin: 0 0 0.65rem;
  font-size: 0.75rem;
  color: #78716c;
}
.ge-compare-panel__body {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.9rem;
}
.ge-compare-panel__slots {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  min-width: 0;
}
.ge-compare-panel__slot {
  display: flex;
  min-width: 0;
}
.ge-compare-panel__slot-add {
  display: flex;
  width: 4.75rem;
  height: 3.5rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.1rem;
  padding: 0.25rem;
  border: 1.5px dashed #d6d3d1;
  border-radius: 8px;
  background: #fafaf9;
  color: #78716c;
  cursor: pointer;
}
.ge-compare-panel__slot-add:hover {
  border-color: #2563eb;
  background: #eff6ff;
  color: #1d4ed8;
}
.ge-compare-panel__slot-add.is-static {
  cursor: default;
  pointer-events: none;
  opacity: 0.85;
}
.ge-compare-panel__slot-plus {
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1;
}
.ge-compare-panel__slot-hint {
  font-size: 0.58rem;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
}
.ge-compare-panel__thumb {
  position: relative;
  display: block;
  width: 4.75rem;
  height: 3.5rem;
  padding: 0;
  overflow: hidden;
  border: 2px solid #e5e7eb;
  border-radius: 8px;
  background: #f3f4f6;
  cursor: pointer;
}
.ge-compare-panel__thumb.is-picked {
  border-color: #2563eb;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2);
}
.ge-compare-panel__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ge-compare-panel__thumb-x {
  position: absolute;
  right: 2px;
  top: 2px;
  display: none;
  height: 1.1rem;
  width: 1.1rem;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-size: 0.75rem;
  line-height: 1;
  z-index: 1;
}
.ge-compare-panel__thumb:hover .ge-compare-panel__thumb-x {
  display: inline-flex;
}
.ge-compare-panel__empty {
  margin: 0;
  padding: 0.75rem;
  font-size: 0.8125rem;
  color: #78716c;
}
.ge-compare-picker {
  margin-top: 0.85rem;
  border: 1px solid #e7e5e4;
  border-radius: 10px;
  background: #fafaf9;
  overflow: hidden;
}
.ge-compare-picker__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.55rem 0.7rem;
  border-bottom: 1px solid #e7e5e4;
  background: #fff;
}
.ge-compare-picker__title-line {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 700;
  color: #44403c;
}
.ge-compare-picker__cancel {
  border: none;
  background: transparent;
  color: #2563eb;
  font-size: 0.75rem;
  font-weight: 700;
  cursor: pointer;
}
.ge-compare-picker__list {
  max-height: 14rem;
  overflow: auto;
}
.ge-compare-picker__row {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 0.65rem;
  padding: 0.5rem 0.7rem;
  border: none;
  border-bottom: 1px solid #f0eee9;
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.ge-compare-picker__row:hover { background: #eff6ff; }
.ge-compare-picker__row.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.ge-compare-picker__row img {
  width: 3rem;
  height: 2.25rem;
  flex-shrink: 0;
  object-fit: cover;
  border-radius: 6px;
  background: #e7e5e4;
}
.ge-compare-picker__meta {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.1rem;
}
.ge-compare-picker__title {
  font-size: 0.8rem;
  font-weight: 700;
  color: #1c1917;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ge-compare-picker__sub {
  font-size: 0.7rem;
  font-weight: 600;
  color: #78716c;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ge-compare-panel__go {
  align-self: center;
  flex-shrink: 0;
  min-width: 6.5rem;
  border: none;
  border-radius: 8px;
  background: #2563eb;
  color: #fff;
  padding: 0.85rem 1.15rem;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
}
.ge-compare-panel__go:hover { background: #1d4ed8; }
.ge-compare-panel__go:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.ge-compare-panel__result {
  margin-top: 0.25rem;
}
.ge-compare-table__tops {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  align-items: start;
  margin-bottom: 0.75rem;
  width: 100%;
}
.ge-compare-table__col {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  width: 100%;
  text-align: center;
}
.ge-compare-table__media {
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: 10px;
  background: #f3f4f6;
  border: 1px solid #e7e5e4;
}
.ge-compare-table__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ge-compare-table__name {
  margin: 0.55rem 0 0.45rem;
  width: 100%;
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.3;
  color: #1c1917;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ge-compare-table__open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background: #eff6ff;
  color: #1d4ed8;
  padding: 0.4rem 0.7rem;
  font-size: 0.75rem;
  font-weight: 700;
  cursor: pointer;
}
.ge-compare-table__open:hover { background: #dbeafe; }
.ge-compare-table__rows {
  border: 1px solid #e7e5e4;
  border-radius: 10px;
  overflow: hidden;
}
.ge-compare-table__row {
  display: grid;
  grid-template-columns: minmax(5.5rem, 7rem) minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.75rem;
  align-items: center;
  padding: 0.65rem 0.75rem;
  border-top: 1px solid #f0eee9;
  font-size: 0.8125rem;
}
.ge-compare-table__row:first-child { border-top: none; }
.ge-compare-table__row:nth-child(odd) { background: #fafaf9; }
.ge-compare-table__label {
  font-weight: 700;
  color: #78716c;
}
.ge-compare-table__cell {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 600;
  color: #1c1917;
  min-width: 0;
  word-break: break-word;
}
.ge-compare-mark {
  display: inline-flex;
  height: 1.5rem;
  width: 1.5rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  font-size: 0.85rem;
  font-weight: 800;
  line-height: 1;
}
.ge-compare-mark--yes {
  background: #ecfdf5;
  color: #059669;
  border: 1px solid #a7f3d0;
}
.ge-compare-mark--no {
  background: #fef2f2;
  color: #dc2626;
  border: 1px solid #fecaca;
}
@media (max-width: 640px) {
  .ge-compare-table__tops {
    grid-template-columns: 1fr 1fr;
    gap: 0.45rem;
  }
  .ge-compare-table__row {
    grid-template-columns: minmax(4.75rem, 5.5rem) minmax(0, 1fr) minmax(0, 1fr);
    gap: 0.45rem;
    font-size: 0.75rem;
    padding: 0.5rem;
  }
  .ge-compare-table__name { font-size: 0.8rem; }
}

html.dark .ge-prop-card {
  border-color: #44403c;
  background: #1c1917;
  box-shadow: none;
}
html.dark .ge-prop-card:hover {
  border-color: #57534e;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
}
html.dark .ge-prop-card__title,
html.dark .ge-prop-card__agent { color: #fafaf9; }
html.dark .ge-prop-card__desc,
html.dark .ge-prop-card__stats { color: #a8a29e; }
html.dark .ge-prop-card__stats b { color: #d6d3d1; }
html.dark .ge-prop-card__sep { color: #57534e; }
html.dark .ge-prop-card__type { color: #a8a29e; }
html.dark .ge-prop-card__foot { border-top-color: #292524; }
html.dark .ge-prop-card__iconbtn {
  border-color: #44403c;
  background: #292524;
  color: #d6d3d1;
}
html.dark .ge-prop-card__iconbtn:hover {
  border-color: #57534e;
  background: #3f3a36;
  color: #fff;
}

@media (max-width: 640px) {
  .ge-prop-card__nav { opacity: 1; }
}

/* -- About (no hero) -------------------------------------------- */
.ge-about { color: #1c1917; }
.ge-about__title {
  margin: 0 0 1.75rem;
  text-align: center;
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: -0.03em;
}
.ge-about__story {
  display: grid;
  gap: 1.75rem;
  align-items: center;
  margin-bottom: 0.5rem;
}
@media (min-width: 900px) {
  .ge-about__story { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 2.5rem; }
}
.ge-about__photo {
  margin: 0;
  overflow: hidden;
  border-radius: 1.15rem;
  background: #e7e5e4;
}
.ge-about__photo img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 16rem;
  object-fit: cover;
  aspect-ratio: 4 / 3;
}
.ge-about__photo figcaption {
  padding: 0.7rem 1rem 0.85rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: #78716c;
  background: #fff;
}
.ge-about__story-copy p {
  margin: 0 0 0.9rem;
  font-size: 0.95rem;
  line-height: 1.65;
  color: #57534e;
}
.ge-about__lead {
  max-width: 46rem;
  margin: 0 auto 1rem;
  text-align: center;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: -0.02em;
  color: #1c1917;
}
.ge-about__lead--left {
  max-width: none;
  margin: 0 0 1rem;
  text-align: left;
  font-size: 1.2rem;
}
.ge-about__grid4 {
  display: grid;
  gap: 1.25rem;
  margin-top: 2.5rem;
}
@media (min-width: 900px) {
  .ge-about__grid4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.ge-about__card {
  padding: 1.25rem 1.15rem 1.35rem;
  border: 1px solid #e7e5e4;
  border-radius: 1rem;
  background: #fff;
}
.ge-about__card h2 { margin: 0.75rem 0 0.4rem; font-size: 1.05rem; font-weight: 800; }
.ge-about__card p { margin: 0; font-size: 0.9rem; line-height: 1.55; color: #57534e; }
.ge-about__icon {
  display: inline-flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  background: #eff6ff;
  color: #2563eb;
}
.ge-about__h {
  margin: 3.25rem 0 0.4rem;
  text-align: center;
  font-size: 1.45rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}
.ge-about__sub {
  max-width: 40rem;
  margin: 0 auto;
  text-align: center;
  font-size: 0.95rem;
  line-height: 1.55;
  color: #78716c;
}
.ge-about__team, .ge-about__quotes, .ge-about__stats {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
}
@media (min-width: 720px) {
  .ge-about__team, .ge-about__quotes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 700px) {
  .ge-about__stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.ge-about__quote {
  padding: 1.2rem 1rem;
  border: 1px solid #e7e5e4;
  border-radius: 1rem;
  background: #fff;
}
.ge-about__person {
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
}
.ge-about__person img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center 20%;
  border-radius: 0.85rem;
  background: #e8e8e8;
}
.ge-about__person-mark {
  object-fit: contain;
  object-position: center;
  padding: 22%;
  box-sizing: border-box;
  background: #ececec;
}
.ge-about__person h3 {
  margin: 0.85rem 0 0.2rem;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.ge-about__person p {
  margin: 0;
  font-size: 0.88rem;
  font-weight: 500;
  color: #64748b;
}
.ge-about__quote p { margin: 0; font-size: 0.9rem; line-height: 1.55; color: #44403c; }
.ge-about__quote footer { margin-top: 0.85rem; font-size: 0.8rem; font-weight: 700; }
.ge-about__quote footer span { display: block; font-weight: 500; color: #78716c; }
.ge-about__faq { max-width: 46rem; margin: 1.25rem auto 0; border-radius: 0.85rem; overflow: hidden; }
.ge-about__faq details { border-bottom: 1px solid #e7e5e4; background: #fff; }
.ge-about__faq details:first-child { border-top: 1px solid #e7e5e4; }
.ge-about__faq summary {
  cursor: pointer;
  list-style: none;
  padding: 0.95rem 1rem;
  font-weight: 700;
  font-size: 0.95rem;
}
.ge-about__faq summary::-webkit-details-marker { display: none; }
.ge-about__faq details p { margin: 0; padding: 0 1rem 1rem; font-size: 0.9rem; line-height: 1.55; color: #57534e; }
.ge-about__stats {
  overflow: hidden;
  border: 1px solid #e7e5e4;
  border-radius: 1.15rem;
  background: #fff;
  gap: 0;
}
.ge-about__stat {
  padding: 1.35rem 1rem 1.4rem;
  text-align: center;
  color: #1c1917;
}
@media (min-width: 700px) {
  .ge-about__stat + .ge-about__stat { border-left: 1px solid #e7e5e4; }
}
@media (max-width: 699px) {
  .ge-about__stat + .ge-about__stat { border-top: 1px solid #e7e5e4; }
}
.ge-about__stat b {
  display: block;
  font-size: 1.85rem;
  font-weight: 800;
  letter-spacing: -0.04em;
  color: #1e3a5f;
  line-height: 1.1;
}
.ge-about__stat span {
  display: block;
  margin-top: 0.4rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #78716c;
}
html.dark .ge-about__card,
html.dark .ge-about__quote,
html.dark .ge-about__faq details { background: #1c1917; border-color: #44403c; }
html.dark .ge-about__person p { color: #a8a29e; }
html.dark .ge-about__person-mark { background: #292524; }
html.dark .ge-about,
html.dark .ge-about__title,
html.dark .ge-about__lead,
html.dark .ge-about__card h2,
html.dark .ge-about__person h3,
html.dark .ge-about__h { color: #fafaf9; }
html.dark .ge-about__photo figcaption { background: #1c1917; color: #a8a29e; }
html.dark .ge-about__stats { background: #1c1917; border-color: #44403c; }
html.dark .ge-about__stat { color: #fafaf9; }
html.dark .ge-about__stat b { color: #93c5fd; }
html.dark .ge-about__stat span { color: #a8a29e; }
@media (min-width: 700px) {
  html.dark .ge-about__stat + .ge-about__stat { border-left-color: #44403c; }
}
@media (max-width: 699px) {
  html.dark .ge-about__stat + .ge-about__stat { border-top-color: #44403c; }
}
html.dark .ge-about__card p, html.dark .ge-about__faq details p, html.dark .ge-about__quote p { color: #d6d3d1; }

/* ── Blog list (WPResidence blog-list adapted) ── */
.ge-blog { color: #1c1917; }
.ge-blog__title {
  margin: 0 0 0.5rem;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #1c1917;
}
.ge-article__hero {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 0.5rem;
  margin-bottom: 1.25rem;
  background: #e7e5e4;
}
.ge-article__body p {
  margin: 0 0 1rem;
  font-size: 1.02rem;
  line-height: 1.7;
  color: #44403c;
}
html.dark .ge-article__body p { color: #d6d3d1; }
.ge-article__actions { margin-top: 1.5rem; gap: 1.25rem; }
.ge-blog__lead {
  margin: 0 0 2rem;
  max-width: 40rem;
  font-size: 1.02rem;
  line-height: 1.65;
  color: #57534e;
}
.ge-blog__layout {
  display: grid;
  gap: 2.25rem;
}
@media (min-width: 1024px) {
  .ge-blog__layout { grid-template-columns: minmax(0, 1.7fr) minmax(16rem, 0.7fr); align-items: start; }
}
.ge-blog__list { display: flex; flex-direction: column; }
.ge-blog__item {
  display: grid;
  gap: 1.15rem;
  padding: 1.5rem 0;
  border-bottom: 1px solid #e7e5e4;
}
.ge-blog__item:first-child { padding-top: 0; }
@media (min-width: 700px) {
  .ge-blog__item { grid-template-columns: minmax(12rem, 0.85fr) minmax(0, 1.15fr); gap: 1.5rem; align-items: start; }
}
.ge-blog__thumb {
  display: block;
  overflow: hidden;
  border-radius: 0.35rem;
  background: #f5f5f4;
}
.ge-blog__thumb img,
.ge-blog__thumb .ge-blog__ph {
  aspect-ratio: 16 / 10;
  width: 100%;
  object-fit: cover;
  display: block;
}
.ge-blog__ph { background: linear-gradient(135deg, #e7e5e4, #fafaf9); }
.ge-blog__cat {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #1e3a5f;
}
.ge-blog__item h2 {
  margin: 0.35rem 0 0.55rem;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.25;
}
.ge-blog__item h2 a { color: inherit; text-decoration: none; }
.ge-blog__item h2 a:hover { color: #1e3a5f; }
.ge-blog__excerpt {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.65;
  color: #57534e;
}
.ge-blog__meta {
  margin: 0.85rem 0 0;
  font-size: 0.78rem;
  font-weight: 600;
  color: #a8a29e;
}
.ge-blog__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.75rem;
  font-size: 0.88rem;
  font-weight: 700;
  color: #1e3a5f;
  text-decoration: none;
}
.ge-blog__cta:hover { text-decoration: underline; }
.ge-blog__empty { padding: 2rem 0; text-align: center; color: #78716c; }
.ge-blog__widget {
  margin-bottom: 1.15rem;
  padding: 1.15rem 1.2rem 1.25rem;
  border: 1px solid #e7e5e4;
  border-radius: 0.5rem;
  background: #fff;
}
.ge-blog__widget h2 {
  margin: 0 0 0.85rem;
  font-size: 0.95rem;
  font-weight: 800;
}
.ge-blog__widget input[type="search"] {
  width: 100%;
  height: 2.5rem;
  padding: 0 0.75rem;
  border: 1px solid #e7e5e4;
  border-radius: 0.35rem;
  background: #fafaf9;
  font-size: 0.9rem;
}
.ge-blog__cats { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.ge-blog__chip {
  border: 1px solid #e7e5e4;
  background: #fff;
  border-radius: 999px;
  padding: 0.28rem 0.75rem;
  font-size: 0.78rem;
  font-weight: 700;
  color: #44403c;
  cursor: pointer;
}
.ge-blog__chip.is-on, .ge-blog__chip:hover {
  border-color: #1e3a5f;
  color: #1e3a5f;
  background: #eff6ff;
}
.ge-blog__contact { text-align: center; }
.ge-blog__contact p { margin: 0 0 0.45rem; font-size: 0.88rem; line-height: 1.5; color: #57534e; }
.ge-blog__contact a { color: #1e3a5f; }
.ge-blog__aside-cta {
  display: inline-flex;
  margin: 0.55rem auto 0;
  height: 2.35rem;
  align-items: center;
  padding: 0 0.95rem;
  border-radius: 0.35rem;
  background: #1e3a5f;
  color: #fff !important;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
}
html.dark .ge-blog, html.dark .ge-blog__title, html.dark .ge-blog__item h2 { color: #fafaf9; }
html.dark .ge-blog__lead, html.dark .ge-blog__excerpt, html.dark .ge-blog__contact p { color: #d6d3d1; }
html.dark .ge-blog__item { border-bottom-color: #44403c; }
html.dark .ge-blog__widget { background: #1c1917; border-color: #44403c; }
html.dark .ge-blog__widget input[type="search"] { background: #292524; border-color: #44403c; color: #fafaf9; }
html.dark .ge-blog__chip { background: #292524; border-color: #44403c; color: #e7e5e4; }
html.dark .ge-blog__chip.is-on, html.dark .ge-blog__chip:hover { background: #1e3a5f; color: #fff; border-color: #1e3a5f; }
.ge-blog__adv label {
  display: block;
  margin: 0 0 0.7rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: #78716c;
}
.ge-blog__adv select,
.ge-blog__adv input[type="search"] {
  display: block;
  width: 100%;
  height: 2.55rem;
  margin-top: 0.28rem;
  padding: 0 0.7rem;
  border: 1px solid #e7e5e4;
  border-radius: 0.4rem;
  background: #fff;
  font-size: 0.88rem;
  font-weight: 600;
  color: #1c1917;
}
.ge-blog__adv button[type="submit"] {
  display: flex;
  width: 100%;
  height: 2.7rem;
  margin-top: 0.35rem;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 0.4rem;
  background: #1e3a5f;
  color: #fff;
  font-size: 0.92rem;
  font-weight: 800;
  cursor: pointer;
}
.ge-blog__adv button[type="submit"]:hover { background: #16304d; }
.ge-blog__latest { display: flex; flex-direction: column; gap: 0.85rem; }
.ge-blog__latest-row {
  display: grid;
  grid-template-columns: 4.25rem minmax(0, 1fr);
  gap: 0.7rem;
  align-items: center;
  text-decoration: none;
  color: inherit;
}
.ge-blog__latest-row img,
.ge-blog__latest-ph {
  width: 4.25rem;
  height: 3.35rem;
  object-fit: cover;
  border-radius: 0.3rem;
  background: #e7e5e4;
}
.ge-blog__latest-row strong {
  display: block;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.3;
  color: #1c1917;
}
.ge-blog__latest-row span {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.78rem;
  font-weight: 700;
  color: #b45309;
}
.ge-blog__latest-empty { margin: 0; font-size: 0.85rem; color: #78716c; }
html.dark .ge-blog__adv select,
html.dark .ge-blog__adv input[type="search"] { background: #292524; border-color: #44403c; color: #fafaf9; }
html.dark .ge-blog__latest-row strong { color: #fafaf9; }
