/* [next]/internal/font/google/bebas_neue_3fba93a6.module.css [app-client] (css) */
@font-face {
  font-family: Bebas Neue;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/2039e8342bda6056-s.0h2amv7e1wlhq.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Bebas Neue;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/fabcf92ba1ccea36-s.p.0lwj123ije5i..woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Bebas Neue Fallback;
  src: local(Arial);
  ascent-override: 117.32%;
  descent-override: 39.11%;
  line-gap-override: 0.0%;
  size-adjust: 76.72%;
}

.bebas_neue_3fba93a6-module__flghoW__className {
  font-family: Bebas Neue, Bebas Neue Fallback;
  font-style: normal;
  font-weight: 400;
}

.bebas_neue_3fba93a6-module__flghoW__variable {
  --font-display: "Bebas Neue", "Bebas Neue Fallback";
}

/* [next]/internal/font/google/roboto_condensed_a89f8e7c.module.css [app-client] (css) */
@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/9c282a6db290773d-s.12aru~tnao-l3.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/537f068cf010a382-s.0yaejf~~fqghh.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/c300beac511639d2-s.0utl6m0teb.k-.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/a01ece5cbe79cced-s.0g23aeesqt~zo.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/825d4e07c4597d86-s.05l7hn0r~4rr9.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/65645b6ef686c6a1-s.0uqkhmfuijbtt.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/ef1484efef1c9752-s.p.09utjot42e~ja.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/9c282a6db290773d-s.12aru~tnao-l3.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/537f068cf010a382-s.0yaejf~~fqghh.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/c300beac511639d2-s.0utl6m0teb.k-.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/a01ece5cbe79cced-s.0g23aeesqt~zo.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/825d4e07c4597d86-s.05l7hn0r~4rr9.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/65645b6ef686c6a1-s.0uqkhmfuijbtt.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/ef1484efef1c9752-s.p.09utjot42e~ja.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Roboto Condensed Fallback;
  src: local(Arial);
  ascent-override: 104.44%;
  descent-override: 27.48%;
  line-gap-override: 0.0%;
  size-adjust: 88.83%;
}

.roboto_condensed_a89f8e7c-module__C9UMMq__className {
  font-family: Roboto Condensed, Roboto Condensed Fallback;
  font-style: normal;
}

.roboto_condensed_a89f8e7c-module__C9UMMq__variable {
  --font-button: "Roboto Condensed", "Roboto Condensed Fallback";
}

/* [next]/internal/font/google/outfit_94e70755.module.css [app-client] (css) */
@font-face {
  font-family: Outfit;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Outfit;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Outfit;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Outfit;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Outfit;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Outfit;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Outfit;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Outfit;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Outfit Fallback;
  src: local(Arial);
  ascent-override: 100.18%;
  descent-override: 26.05%;
  line-gap-override: 0.0%;
  size-adjust: 99.82%;
}

.outfit_94e70755-module__pe8jQq__className {
  font-family: Outfit, Outfit Fallback;
  font-style: normal;
}

.outfit_94e70755-module__pe8jQq__variable {
  --font-body: "Outfit", "Outfit Fallback";
}

/* [project]/app/globals.css [app-client] (css) */
@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-scroll-snap-strictness: proximity;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-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-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-content: "";
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-outline-style: solid;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
      "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
      "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-blue-950: #162456;
    --color-white: #fff;
    --spacing: .25rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --radius-2xl: 1rem;
    --blur-xl: 24px;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-brand-accent: #f97316;
    --color-brand-glow: #475569;
    --color-bg: #f8fafc;
    --color-surface: #fff;
    --color-text: #0f172a;
    --font-display: var(--font-display);
    --font-body: var(--font-body);
    --font-button: var(--font-button);
  }

  @supports (color: lab(0% 0 0)) {
    :root, :host {
      --color-blue-950: lab(15.6723% 8.86232 -32.2945);
    }
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

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

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer components;

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

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .inset-x-0 {
    inset-inline: 0;
  }

  .inset-x-5 {
    inset-inline: calc(var(--spacing) * 5);
  }

  .top-0 {
    top: 0;
  }

  .top-20 {
    top: calc(var(--spacing) * 20);
  }

  .bottom-0 {
    bottom: 0;
  }

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

  .isolate {
    isolation: isolate;
  }

  .z-10 {
    z-index: 10;
  }

  .z-20 {
    z-index: 20;
  }

  .z-50 {
    z-index: 50;
  }

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

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

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

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

  .ml-auto {
    margin-left: auto;
  }

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

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

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

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

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

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

  .h-auto {
    height: auto;
  }

  .h-px {
    height: 1px;
  }

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

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

  .min-h-\[4\.25rem\] {
    min-height: 4.25rem;
  }

  .min-h-\[100svh\] {
    min-height: 100svh;
  }

  .min-h-dvh {
    min-height: 100dvh;
  }

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

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

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

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

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

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

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

  .w-\[10rem\] {
    width: 10rem;
  }

  .w-full {
    width: 100%;
  }

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

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

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

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

  .cursor-pointer {
    cursor: pointer;
  }

  .resize {
    resize: both;
  }

  .snap-y {
    scroll-snap-type: y var(--tw-scroll-snap-strictness);
  }

  .snap-mandatory {
    --tw-scroll-snap-strictness: mandatory;
  }

  .snap-start {
    scroll-snap-align: start;
  }

  .\[scroll-snap-stop\:always\] {
    scroll-snap-stop: always;
  }

  .list-none {
    list-style-type: none;
  }

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

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

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

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

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

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

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

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

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

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

  .gap-\[clamp\(2\.25rem\,3vw\,4rem\)\] {
    gap: clamp(2.25rem, 3vw, 4rem);
  }

  .overflow-hidden {
    overflow: hidden;
  }

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

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

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

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

  .border-\[\#0A2D73\]\/12 {
    border-color: #0a2d731f;
    border-color: lab(19.9958% 11.8931 -44.5607 / .12);
  }

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

  .border-white\/60 {
    border-color: #fff9;
  }

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

  .border-white\/70 {
    border-color: #ffffffb3;
  }

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

  .border-white\/80 {
    border-color: #fffc;
  }

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

  .bg-\[\#0A2D73\] {
    background-color: #0a2d73;
  }

  .bg-\[\#082D73\] {
    background-color: #082d73;
  }

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

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

  .bg-current {
    background-color: currentColor;
  }

  .bg-transparent {
    background-color: #0000;
  }

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

  .bg-white\/35 {
    background-color: #ffffff59;
  }

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

  .bg-white\/90 {
    background-color: #ffffffe6;
  }

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

  .bg-white\/94 {
    background-color: #fffffff0;
  }

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

  .bg-\[linear-gradient\(155deg\,rgba\(229\,242\,255\,0\.98\)_0\%\,rgba\(181\,214\,244\,0\.97\)_52\%\,rgba\(255\,237\,218\,0\.97\)_100\%\)\] {
    background-image: linear-gradient(155deg, #e5f2fffa 0%, #b5d6f4f7 52%, #ffeddaf7 100%);
  }

  .object-contain {
    object-fit: contain;
  }

  .object-cover {
    object-fit: cover;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .font-body {
    font-family: var(--font-body);
  }

  .font-button {
    font-family: var(--font-button);
  }

  .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-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-\[clamp\(1rem\,1\.15vw\,1\.25rem\)\] {
    font-size: clamp(1rem, 1.15vw, 1.25rem);
  }

  .text-\[clamp\(3\.7rem\,5\.2vw\,6rem\)\] {
    font-size: clamp(3.7rem, 5.2vw, 6rem);
  }

  .leading-\[0\.86\] {
    --tw-leading: .86;
    line-height: .86;
  }

  .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-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

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

  .tracking-\[-0\.035em\] {
    --tw-tracking: -.035em;
    letter-spacing: -.035em;
  }

  .tracking-\[0\.34em\] {
    --tw-tracking: .34em;
    letter-spacing: .34em;
  }

  .text-\[\#0A2D73\] {
    color: #0a2d73;
  }

  .text-\[\#5A6270\] {
    color: #5a6270;
  }

  .text-\[\#082D73\] {
    color: #082d73;
  }

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

  .text-\[\#FF7900\] {
    color: #ff7900;
  }

  .text-brand-text {
    color: #0f172a;
  }

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

  .uppercase {
    text-transform: uppercase;
  }

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

  .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #00000040);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_12px_32px_rgba\(10\,45\,115\,0\.10\)\] {
    --tw-shadow: 0 12px 32px var(--tw-shadow-color, #0a2d731a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_14px_35px_rgba\(8\,45\,115\,0\.18\)\] {
    --tw-shadow: 0 14px 35px var(--tw-shadow-color, #082d732e);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_22px_60px_rgba\(10\,45\,115\,0\.14\)\] {
    --tw-shadow: 0 22px 60px var(--tw-shadow-color, #0a2d7324);
    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, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

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

  .shadow-blue-950\/20 {
    --tw-shadow-color: #16245633;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-blue-950\/20 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-blue-950) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .blur {
    --tw-blur: blur(8px);
    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-xl {
    --tw-backdrop-blur: blur(var(--blur-xl));
    -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-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-opacity {
    transition-property: opacity;
    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-300 {
    --tw-duration: .3s;
    transition-duration: .3s;
  }

  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }

  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }

  .\[text-shadow\:0_1px_10px_rgba\(0\,0\,0\,0\.35\)\] {
    text-shadow: 0 1px 10px #00000059;
  }

  .group-open\:-translate-y-\[7px\]:is(:where(.group):is([open], :popover-open, :open) *) {
    --tw-translate-y: calc(7px * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .group-open\:translate-y-\[7px\]:is(:where(.group):is([open], :popover-open, :open) *) {
    --tw-translate-y: 7px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .group-open\:-rotate-45:is(:where(.group):is([open], :popover-open, :open) *) {
    rotate: -45deg;
  }

  .group-open\:rotate-45:is(:where(.group):is([open], :popover-open, :open) *) {
    rotate: 45deg;
  }

  .group-open\:opacity-0:is(:where(.group):is([open], :popover-open, :open) *) {
    opacity: 0;
  }

  @media (hover: hover) {
    .group-hover\:translate-x-1:is(:where(.group):hover *) {
      --tw-translate-x: var(--spacing);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }

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

  .after\:inset-x-0:after {
    content: var(--tw-content);
    inset-inline: 0;
  }

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

  .after\:h-0\.5:after {
    content: var(--tw-content);
    height: calc(var(--spacing) * .5);
  }

  .after\:origin-left:after {
    content: var(--tw-content);
    transform-origin: 0;
  }

  .after\:scale-x-0:after {
    content: var(--tw-content);
    --tw-scale-x: 0%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .after\:rounded-full:after {
    content: var(--tw-content);
    border-radius: 3.40282e38px;
  }

  .after\:bg-\[\#FF7900\]:after {
    content: var(--tw-content);
    background-color: #ff7900;
  }

  .after\:transition-transform:after {
    content: var(--tw-content);
    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));
  }

  .first\:text-\[\#FF7900\]:first-child {
    color: #ff7900;
  }

  .first\:after\:scale-x-100:first-child:after {
    content: var(--tw-content);
    --tw-scale-x: 100%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  @media (hover: hover) {
    .hover\:-translate-y-0\.5:hover {
      --tw-translate-y: calc(var(--spacing) * -.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .hover\:-translate-y-1:hover {
      --tw-translate-y: calc(var(--spacing) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .hover\:bg-\[\#0E428F\]:hover {
      background-color: #0e428f;
    }

    .hover\:bg-white\/60:hover {
      background-color: #fff9;
    }

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

    .hover\:text-\[\#FF7900\]:hover {
      color: #ff7900;
    }

    .hover\:after\:scale-x-100:hover:after {
      content: var(--tw-content);
      --tw-scale-x: 100%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }

  .focus-visible\:outline:focus-visible {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .focus-visible\:outline-2:focus-visible {
    outline-style: var(--tw-outline-style);
    outline-width: 2px;
  }

  .focus-visible\:outline-offset-4:focus-visible {
    outline-offset: 4px;
  }

  .focus-visible\:outline-\[\#082D73\]:focus-visible {
    outline-color: #082d73;
  }

  @media (min-width: 40rem) {
    .sm\:h-14 {
      height: calc(var(--spacing) * 14);
    }

    .sm\:w-14 {
      width: calc(var(--spacing) * 14);
    }

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

    .sm\:border-t-0 {
      border-top-style: var(--tw-border-style);
      border-top-width: 0;
    }

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

    .sm\:p-3 {
      padding: calc(var(--spacing) * 3);
    }

    .sm\:px-0 {
      padding-inline: 0;
    }

    .sm\:px-7 {
      padding-inline: calc(var(--spacing) * 7);
    }

    .sm\:px-10 {
      padding-inline: calc(var(--spacing) * 10);
    }

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

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

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

  @media (min-width: 48rem) {
    .md\:absolute {
      position: absolute;
    }

    .md\:inset-auto {
      inset: auto;
    }

    .md\:top-14 {
      top: calc(var(--spacing) * 14);
    }

    .md\:right-0 {
      right: 0;
    }

    .md\:ml-auto {
      margin-left: auto;
    }

    .md\:flex {
      display: flex;
    }

    .md\:hidden {
      display: none;
    }

    .md\:min-h-0 {
      min-height: 0;
    }

    .md\:w-64 {
      width: calc(var(--spacing) * 64);
    }

    .md\:w-\[14rem\] {
      width: 14rem;
    }

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

    .md\:justify-start {
      justify-content: flex-start;
    }

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

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

    .md\:border-white\/60 {
      border-color: #fff9;
    }

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

    .md\:p-3 {
      padding: calc(var(--spacing) * 3);
    }

    .md\:py-3 {
      padding-block: calc(var(--spacing) * 3);
    }

    .md\:pt-32 {
      padding-top: calc(var(--spacing) * 32);
    }

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

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

    .md\:text-\[1\.35rem\] {
      font-size: 1.35rem;
    }
  }

  @media (min-width: 64rem) {
    .lg\:block {
      display: block;
    }

    .lg\:h-\[5\.5rem\] {
      height: 5.5rem;
    }

    .lg\:w-\[5\.5rem\] {
      width: 5.5rem;
    }

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

    .lg\:px-11 {
      padding-inline: calc(var(--spacing) * 11);
    }

    .lg\:px-12 {
      padding-inline: calc(var(--spacing) * 12);
    }

    .lg\:text-\[1\.55rem\] {
      font-size: 1.55rem;
    }
  }

  .\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker {
    display: none;
  }

  .\[\&\>svg\]\:h-full > svg {
    height: 100%;
  }

  .\[\&\>svg\]\:w-full > svg {
    width: 100%;
  }

  .\[\&\>svg\]\:fill-none > svg {
    fill: none;
  }

  .\[\&\>svg\]\:stroke-current > svg {
    stroke: currentColor;
  }

  .\[\&\>svg\]\:stroke-\[1\.6\] > svg {
    stroke-width: 1.6px;
  }
}

*, :before, :after {
  box-sizing: border-box;
}

body {
  background-color: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body), Georgia, serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

.hero-reference-photo {
  object-position: 60% center;
}

.hero-reference-panel {
  z-index: 1;
  pointer-events: none;
  -webkit-backdrop-filter: blur(7px) saturate(115%);
  backdrop-filter: blur(7px) saturate(115%);
  background: #fff3;
  position: absolute;
  inset: 0;
  -webkit-mask-image: linear-gradient(90deg, #000 0% 24%, #0000 40%);
  mask-image: linear-gradient(90deg, #000 0% 24%, #0000 40%);
}

.hero-reference-content {
  padding-left: clamp(3rem, 5.2vw, 5rem);
}

.hero-reference:after {
  content: "";
  z-index: 3;
  background: #082d73;
  border-top: 4px solid #ff7900;
  border-top-right-radius: 8rem;
  width: 60%;
  height: 6rem;
  position: absolute;
  bottom: -5.15rem;
  left: 0;
}

.hero-reference-benefits {
  width: 83vw;
  min-height: clamp(10rem, 19vh, 12.5rem);
  bottom: 6.2vh;
  left: 5.2vw;
  right: auto;
}

@media (min-width: 768px) {
  .hero-reference {
    height: 100dvh;
    min-height: 0;
  }

  .hero-reference-content {
    height: 100%;
    min-height: 0;
  }
}

@media (min-width: 768px) and (max-height: 780px) {
  .hero-reference-content {
    padding-top: 6dvh;
    padding-bottom: 31dvh;
  }

  .hero-reference-content > div {
    transform: translateY(clamp(1.5rem, 5dvh, 2.5rem));
  }

  .hero-reference-content > div > div:first-child {
    margin-bottom: 1dvh;
  }

  .hero-reference-content h1 {
    font-size: min(5.2vw, 9.5dvh);
  }

  .hero-reference-content h1 + p, .hero-reference-content a {
    margin-top: 2dvh;
  }

  .hero-reference-content a {
    min-height: 7dvh;
  }

  .hero-reference-benefits {
    min-height: 21.5dvh;
    bottom: 3.5dvh;
  }
}

.benefit-icon {
  position: relative;
}

.benefit-icon:after {
  content: "";
  background: #ff7900;
  width: 2rem;
  height: 2px;
  position: absolute;
  bottom: -.55rem;
  left: 50%;
  transform: translateX(-50%);
}

@media (max-width: 767px) {
  .hero-reference-photo {
    object-position: 66% center;
    -webkit-mask-image: none;
    mask-image: none;
  }

  .hero-reference-panel {
    z-index: 1;
    background: #ffffffd6;
    display: block;
    position: absolute;
    inset: 0;
  }

  .hero-reference-benefits {
    inset-inline: 1.25rem;
    width: auto;
    min-height: 0;
    max-height: none;
    bottom: 1.25rem;
  }

  .hero-reference-benefits > div {
    min-height: 3.5rem;
    padding-top: .35rem;
    padding-bottom: .35rem;
  }

  .benefit-icon:after {
    display: none;
  }
}

.gateway-heading {
  z-index: 20;
  color: var(--color-surface);
  font-family: var(--font-display), Georgia, serif;
  text-transform: uppercase;
  text-align: center;
  text-shadow: 0 2px 12px var(--color-gateway-shadow);
  white-space: nowrap;
  padding: 0 1rem;
  font-size: clamp(2rem, 6.5vw, 4rem);
  font-weight: 400;
  position: absolute;
  top: 5%;
  left: 50%;
  transform: translateX(-50%);
}

@media (max-width: 767px) {
  .gateway-heading {
    white-space: normal;
    z-index: 20;
    top: 50%;
    transform: translate(-50%, -50%);
  }
}

.gateway-half {
  flex: 1;
  min-height: 50dvh;
  display: block;
  position: relative;
  overflow: hidden;
}

@media (min-width: 768px) {
  .gateway-half {
    min-height: 100dvh;
  }
}

.gateway-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: filter .4s;
  position: absolute;
  inset: 0;
}

.gateway-content {
  z-index: 10;
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: .75rem;
  padding: 0 1.5rem;
  transition: opacity .4s;
  display: flex;
  position: absolute;
  top: 63%;
  left: 0;
  right: 0;
}

.gateway-brand {
  color: var(--color-surface);
  font-family: var(--font-display), Georgia, serif;
  text-transform: uppercase;
  text-shadow: 0 2px 10px var(--color-gateway-shadow-2);
  flex-direction: column;
  display: flex;
}

.gateway-brand-line {
  letter-spacing: .01em;
  font-size: clamp(2.75rem, 7vw, 4.25rem);
  font-weight: 400;
  line-height: 1.1;
}

.gateway-brand-line:first-child {
  margin-bottom: .5rem;
  font-size: clamp(1.3rem, 3.2vw, 1.85rem);
}

.gateway-button {
  background: linear-gradient(135deg, var(--color-gateway-bg), var(--color-brand-accent) 55%);
  color: var(--color-surface);
  font-family: var(--font-button), Georgia, serif;
  text-transform: uppercase;
  letter-spacing: .04em;
  white-space: nowrap;
  box-shadow: 0 0 16px 2px var(--color-gateway-shadow-3),
    0 0 42px var(--color-gateway-shadow-4),
    0 4px 14px var(--color-gateway-shadow-5);
  border-radius: 9999px;
  align-items: center;
  margin-top: .75rem;
  padding: .85rem 3.75rem;
  font-size: clamp(1.1rem, 2.2vw, 1.4rem);
  font-weight: 700;
  display: inline-flex;
}

@media (hover: hover) {
  .gateway:has(.gateway-half:hover) .gateway-half:not(:hover) .gateway-image {
    filter: grayscale(.6) brightness(.45);
  }

  .gateway:has(.gateway-half:hover) .gateway-half:not(:hover) .gateway-content {
    opacity: .6;
  }
}

.gateway-mobile {
  display: none;
}

@media (max-width: 767px) {
  .gateway-content {
    display: none;
  }

  .gateway-mobile {
    z-index: 10;
    flex-direction: column;
    justify-content: flex-start;
    padding: 1.25rem 1rem 1rem;
    display: flex;
    position: absolute;
    inset: 0;
  }

  .gateway-half:last-of-type .gateway-mobile {
    padding-top: 3.5rem;
  }

  .gateway-mobile:before {
    content: "";
    z-index: -1;
    background: linear-gradient(to bottom,
      var(--color-gateway-bg-2) 0%,
      var(--color-gateway-bg-3) 28%,
      var(--color-gateway-bg-4) 55%,
      var(--color-gateway-shadow-5) 78%,
      var(--color-gateway-bg-5) 100%);
    position: absolute;
    inset: 0;
  }

  .gateway-half:first-of-type {
    animation: 7s ease-in-out infinite gateway-spotlight-dim;
  }

  .gateway-half:last-of-type {
    animation: 7s ease-in-out 3.5s infinite gateway-spotlight-dim;
  }

  @keyframes gateway-spotlight-dim {
    0%, 42% {
      filter: brightness(.68) saturate(.6);
    }

    50%, 92% {
      filter: brightness() saturate();
    }

    100% {
      filter: brightness(.68) saturate(.6);
    }
  }

  .gateway-highlight {
    color: var(--color-brand-accent);
  }
}

.gateway-divider-row {
  justify-content: center;
  align-items: center;
  gap: .5rem;
  margin-bottom: .15rem;
  display: flex;
}

.gateway-divider-line {
  background-color: var(--color-brand-accent);
  opacity: .85;
  width: 1.5rem;
  height: 1px;
}

.gateway-divider-label {
  color: var(--color-surface);
  font-family: var(--font-display), Georgia, serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .7rem;
}

.gateway-mobile-brand {
  color: var(--color-surface);
  text-align: center;
  font-family: var(--font-display), Georgia, serif;
  text-transform: uppercase;
  text-shadow: 0 2px 10px var(--color-gateway-shadow-6);
  margin-bottom: .2rem;
  font-size: clamp(1.55rem, 7.2vw, 2.15rem);
  font-weight: 400;
  line-height: 1.05;
}

.gateway-tagline {
  color: var(--color-surface);
  text-align: center;
  font-family: var(--font-body), sans-serif;
  opacity: .94;
  text-shadow: 0 1px 6px var(--color-gateway-shadow-6);
  margin-bottom: .7rem;
  font-size: .8rem;
  font-weight: 500;
}

.gateway-features {
  flex-direction: column;
  gap: .5rem;
  margin-bottom: .75rem;
  display: flex;
}

.gateway-feature {
  background-color: var(--color-gateway-bg-6);
  border: 1px solid var(--color-gateway-border);
  box-shadow: 0 2px 10px var(--color-gateway-shadow-7);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  border-radius: .6rem;
  align-items: center;
  gap: .6rem;
  padding: .5rem .75rem;
  display: flex;
}

.gateway-feature-icon-badge {
  background: var(--color-gateway-bg-7);
  border: 1px solid var(--color-gateway-border-2);
  width: 1.9rem;
  height: 1.9rem;
  color: var(--color-brand-accent);
  border-radius: 9999px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.gateway-feature-icon-badge svg {
  width: 1rem;
  height: 1rem;
}

.gateway-feature-text {
  flex-direction: column;
  gap: .05rem;
  line-height: 1.15;
  display: flex;
}

.gateway-feature-title {
  color: var(--color-gateway-bg-6-ink);
  font-family: var(--font-display), Georgia, serif;
  letter-spacing: .02em;
  font-size: .76rem;
}

.gateway-feature-subtitle {
  color: var(--color-gateway-text);
  font-size: .66rem;
}

.gateway-button-mobile {
  background: linear-gradient(135deg, var(--color-gateway-bg), var(--color-brand-accent) 55%);
  width: auto;
  color: var(--color-surface);
  font-family: var(--font-button), Georgia, serif;
  text-transform: uppercase;
  letter-spacing: .04em;
  box-shadow: 0 0 12px 2px var(--color-gateway-shadow-3),
    0 0 30px var(--color-gateway-shadow-4),
    0 4px 10px var(--color-gateway-shadow-5);
  border-radius: 9999px;
  justify-content: center;
  align-self: center;
  align-items: center;
  gap: .5rem;
  padding: .7rem 2rem;
  font-size: .9rem;
  font-weight: 700;
  display: flex;
}

.gateway-button-mobile svg {
  flex-shrink: 0;
  width: 1.05rem;
  height: 1.05rem;
}

.gateway-trust-badges {
  border-top: 1px solid var(--color-gateway-border-3);
  justify-content: space-between;
  gap: .3rem;
  margin-top: .7rem;
  padding-top: .6rem;
  display: flex;
}

.gateway-trust-badge {
  text-align: center;
  flex-direction: column;
  flex: 1 1 0;
  align-items: center;
  gap: .2rem;
  min-width: 0;
  display: flex;
}

.gateway-trust-badge-icon {
  width: 1.2rem;
  height: 1.2rem;
  color: var(--color-brand-accent);
}

.gateway-trust-badge-icon svg {
  width: 100%;
  height: 100%;
}

.gateway-trust-badge-text {
  flex-direction: column;
  line-height: 1.15;
  display: flex;
}

.gateway-trust-badge-label {
  color: var(--color-surface);
  font-family: var(--font-display), Georgia, serif;
  letter-spacing: .02em;
  font-size: .6rem;
}

.gateway-trust-badge-sublabel {
  color: var(--color-gateway-text-2);
  font-size: .54rem;
}

.about-inmuebles {
  isolation: isolate;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  width: 100%;
  height: 100dvh;
  min-height: 0;
  color: var(--color-about-bg-ink);
  background: var(--color-about-bg);
  position: relative;
  overflow: hidden;
}

.about-background, .about-city-layer, .about-shade, .about-left-shell, .about-energy-line, .about-grid-pattern {
  position: absolute;
  inset: 0;
}

.about-background {
  z-index: -6;
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
}

.about-city-layer {
  z-index: -4;
  object-fit: cover;
  object-position: center;
  clip-path: polygon(0 51%, 38% 51%, 38% 100%, 0 100%);
  filter: brightness(1.38) saturate(1.55) contrast(1.08);
  width: 100%;
  height: 100%;
}

.about-shade {
  z-index: -5;
  background: linear-gradient(to bottom, transparent 0 43%, var(--color-about-bg-2) 52%, var(--color-about-bg-3) 82%, var(--color-about-bg-4) 100%),
    linear-gradient(90deg, var(--color-about-bg-5), transparent 62%, var(--color-about-bg-6));
}

.about-left-shell {
  z-index: -2;
  width: 43%;
  height: 100%;
  overflow: visible;
}

.about-inmuebles:before {
  content: "";
  z-index: 1;
  opacity: .35;
  background-image: radial-gradient(circle, var(--color-about-bg-7) 1.5px, transparent 1.8px);
  pointer-events: none;
  background-size: 12px 12px;
  width: 8%;
  height: 5.6%;
  position: absolute;
  top: 2.6%;
  left: .8%;
}

.about-grid-pattern {
  z-index: -1;
  opacity: .22;
  background-image: linear-gradient(var(--color-about-bg-8) 1px, transparent 1px),
    linear-gradient(90deg,var(--color-about-bg-8) 1px, transparent 1px);
  -webkit-mask-image: linear-gradient(to top, var(--color-about-mask), transparent 42%);
  mask-image: linear-gradient(to top, var(--color-about-mask), transparent 42%);
  background-size: 38px 38px;
}

.about-energy-line {
  z-index: -1;
  border-top: 3px solid var(--color-about-border);
  border-bottom: 4px solid var(--color-about-border-2);
  width: 43%;
  height: 24%;
  filter: drop-shadow(0 0 4px var(--color-surface)) drop-shadow(0 0 10px var(--color-about-glow));
  box-shadow: inset 0 8px 0 -6px var(--color-about-shadow), inset 0 -12px 0 -9px var(--color-about-shadow-2);
  border-radius: 44% 56% 54% 46%;
  inset: 69% auto auto -5%;
  transform: rotate(-3deg);
}

.about-energy-line:after {
  content: "";
  background: linear-gradient(90deg, transparent, var(--color-about-bg-9) 14%, var(--color-surface) 72%, var(--color-about-bg-9) 88%, transparent);
  height: 3px;
  box-shadow: 0 0 10px var(--color-about-shadow-3);
  border-radius: 50%;
  position: absolute;
  bottom: 13%;
  left: 8%;
  right: -5%;
}

.about-content {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.about-intro {
  z-index: 2;
  width: 31%;
  max-width: none;
  position: absolute;
  top: 9.2%;
  left: 5.05%;
}

.about-eyebrow {
  display: none;
}

.about-intro h2 {
  width: 100%;
  font-family: var(--font-body), sans-serif;
  letter-spacing: -.045em;
  text-shadow: 0 3px 14px var(--color-about-shadow-4);
  padding-bottom: 1.35vw;
  font-size: 5.05vw;
  font-weight: 700;
  line-height: .91;
  position: relative;
}

.about-title-highlight {
  color: var(--color-about-text);
  display: block;
}

.about-intro h2:after {
  content: "";
  background: linear-gradient(90deg, var(--color-about-bg-10), var(--color-about-bg-11) 74%, var(--color-surface) 94%, transparent);
  width: 69%;
  height: 2px;
  box-shadow: 0 0 8px var(--color-about-shadow-5);
  position: absolute;
  bottom: 0;
  left: 0;
}

.about-intro > p {
  width: 100%;
  max-width: none;
  color: var(--color-about-text-2);
  margin-top: 1.4vw;
  font-size: 1.53vw;
  font-weight: 300;
  line-height: 1.52;
}

.about-copy-highlight, .about-focus-highlight, .about-service--orange .about-service-highlight {
  color: var(--color-about-text);
}

.about-copy-highlight {
  font-weight: 600;
}

.about-focus {
  z-index: 3;
  clip-path: polygon(5.5% 0, 100% 0, 93.6% 100%, 0 100%);
  background: linear-gradient(110deg, var(--color-about-bg-12) 0 1px, var(--color-about-bg-13) 1.2%, var(--color-about-bg-14) 78%, var(--color-about-bg-15) 100%);
  width: 54.5%;
  height: 16.5%;
  min-height: 0;
  filter: drop-shadow(0 0 7px var(--color-about-glow-2)) drop-shadow(0 7px 7px var(--color-gateway-shadow-2));
  align-items: center;
  padding: 1.2% 5% 1.2% 4.6%;
  display: flex;
  position: absolute;
  top: 37.1%;
  left: 40.1%;
}

.about-focus:before {
  content: "";
  z-index: -1;
  clip-path: inherit;
  background: linear-gradient(105deg, var(--color-about-bg-16), var(--color-about-bg-17));
  position: absolute;
  inset: 2px;
}

.about-focus:after {
  content: "";
  background: linear-gradient(90deg, transparent, var(--color-about-bg-18) 28%, var(--color-surface) 81%, var(--color-about-bg-18));
  width: 25%;
  height: 3px;
  box-shadow: 0 0 9px var(--color-about-text);
  position: absolute;
  bottom: 0;
  right: 5.5%;
}

.about-focus-mark {
  border: 1px solid var(--color-about-border-3);
  width: min(8vw, 14.1dvh);
  height: min(8vw, 14.1dvh);
  color: var(--color-about-text-3);
  background: radial-gradient(circle, var(--color-about-bg-19), var(--color-about-bg-20));
  box-shadow: 0 0 12px var(--color-about-shadow-5), inset 0 0 14px var(--color-about-shadow-6);
  border-radius: 50%;
  flex: 0 0 min(8vw, 14.1dvh);
  place-items: center;
  margin-right: 1.7vw;
  display: grid;
  position: relative;
}

.about-focus-mark:before, .about-service-icon:before {
  content: "";
  opacity: .72;
  filter: drop-shadow(0 0 5px);
  border: 1px solid;
  border-left-color: #0000;
  border-radius: 50%;
  position: absolute;
  inset: -.75vw;
  transform: rotate(-22deg);
}

.about-focus p {
  font-family: var(--font-button), sans-serif;
  font-size: 2.55vw;
  font-weight: 700;
  line-height: 1.08;
}

.about-services {
  z-index: 2;
  width: 58.2%;
  position: absolute;
  top: 59.3%;
  left: 36.6%;
}

.about-services-heading {
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1vw;
  height: min(4.8vw, 7.8dvh);
  display: grid;
}

.about-services-heading > span {
  background: linear-gradient(90deg, transparent, var(--color-about-bg-11));
  height: 1px;
  box-shadow: 0 0 5px var(--color-about-shadow-5);
}

.about-services-heading > span:last-child {
  background: linear-gradient(90deg, var(--color-about-bg-11), transparent);
}

.about-services-heading p {
  font-family: var(--font-button), sans-serif;
  letter-spacing: .025em;
  white-space: nowrap;
  font-size: 1.55vw;
  font-weight: 600;
}

.about-services-grid {
  grid-template-columns: 1fr 1.07fr;
  gap: 1.8vw;
  display: grid;
}

.about-service {
  border: 1px solid var(--color-about-border-4);
  background: linear-gradient(135deg, var(--color-about-bg-21), var(--color-about-bg-22));
  height: 28dvh;
  min-height: 0;
  box-shadow: 0 0 12px var(--color-about-shadow-7), inset 0 0 17px var(--color-about-shadow-8);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-radius: 1.25vw;
  align-items: center;
  padding: 1.2vw 1.35vw;
  display: flex;
  position: relative;
  overflow: hidden;
}

.about-service:after {
  content: "";
  opacity: .2;
  background-image: radial-gradient(var(--color-about-bg-23) 1px, transparent 1px);
  -webkit-mask-image: linear-gradient(120deg, var(--color-about-mask), transparent 34%, transparent 72%, var(--color-about-mask));
  mask-image: linear-gradient(120deg, var(--color-about-mask), transparent 34%, transparent 72%, var(--color-about-mask));
  pointer-events: none;
  background-size: 7px 7px;
  position: absolute;
  inset: 0;
}

.about-service-icon {
  z-index: 1;
  width: min(10.5vw, 19.4dvh);
  height: min(10.5vw, 19.4dvh);
  color: var(--color-about-text-5);
  background: radial-gradient(circle at 35% 30%, var(--color-about-bg-24), var(--color-about-bg-25) 73%);
  border: 2px solid;
  border-radius: 50%;
  flex: 0 0 min(10.5vw, 19.4dvh);
  place-items: center;
  margin: 0 2.1vw 0 .5vw;
  display: grid;
  position: relative;
  box-shadow: 0 0 15px, inset 0 0 18px;
}

@supports (color: color-mix(in lab, red, red)) {
  .about-service-icon {
    box-shadow: 0 0 15px currentColor, inset 0 0 18px color-mix(in srgb,currentColor 44%,transparent);
  }
}

.about-service-icon:before {
  opacity: .9;
  border-width: .45vw 1px;
  inset: -.9vw;
}

.about-service-icon:after {
  content: "";
  border: 2px solid;
  border-top-color: var(--color-surface);
  filter: drop-shadow(0 0 6px);
  border-bottom-color: #0000;
  border-right-color: #0000;
  border-radius: 50%;
  position: absolute;
  inset: -1.35vw;
  transform: rotate(24deg);
}

.about-service--orange .about-service-icon {
  color: var(--color-about-bg-18);
  background: radial-gradient(circle at 35% 30%, var(--color-about-bg-26), var(--color-about-bg-27) 74%);
}

.about-service-copy {
  z-index: 1;
  min-width: 0;
  position: relative;
}

.about-service-copy h3 {
  font-family: var(--font-button), sans-serif;
  font-size: 1.72vw;
  font-weight: 700;
  line-height: 1.08;
}

.about-service-rule {
  background: var(--color-about-bg-28);
  width: 3.2vw;
  height: 2px;
  box-shadow: 0 0 4px var(--color-about-bg-28);
  margin: 1.05vw 0;
  display: block;
}

@media (min-width: 1600px) {
  .about-intro h2 {
    font-size: 80px;
  }

  .about-intro > p {
    font-size: 24px;
  }

  .about-focus p {
    font-size: 41px;
  }

  .about-services-heading p {
    font-size: 25px;
  }

  .about-service-copy h3 {
    font-size: 27px;
  }

  .about-service-copy p {
    font-size: 20px;
  }
}

@media (max-width: 850px) {
  .about-inmuebles {
    height: auto;
    min-height: 0;
  }

  .about-content {
    flex-direction: column;
    gap: 1.4rem;
    width: min(100% - 1.5rem, 620px);
    height: auto;
    margin: 0 auto;
    padding: 3.5rem 0 2.5rem;
    display: flex;
    position: relative;
    inset: auto;
  }

  .about-background {
    object-position: 64% center;
  }

  .about-city-layer {
    clip-path: polygon(0 26%, 100% 26%, 100% 58%, 0 58%);
  }

  .about-shade {
    background: linear-gradient(180deg,var(--color-about-bg-29),var(--color-about-bg-30) 38%,var(--color-about-bg-31) 68%,var(--color-about-bg-32));
  }

  .about-left-shell {
    opacity: .8;
    width: 100%;
    height: 60%;
  }

  .about-energy-line {
    width: 82%;
    height: 12%;
    inset: 48% auto auto -8%;
  }

  .about-intro, .about-focus, .about-services {
    width: auto;
    max-width: none;
    position: relative;
    inset: auto;
  }

  .about-intro h2 {
    padding-bottom: 1rem;
    font-size: clamp(3.4rem, 14vw, 5rem);
  }

  .about-intro > p {
    margin-top: 1rem;
    font-size: 1rem;
  }

  .about-focus {
    height: auto;
    min-height: 106px;
    padding: 1rem 2rem 1rem 2.6rem;
  }

  .about-focus-mark {
    flex-basis: 68px;
    width: 68px;
    height: 68px;
    margin-right: 1rem;
  }

  .about-focus-mark:before {
    inset: -7px;
  }

  .about-focus-mark svg {
    width: 36px;
  }

  .about-focus p {
    font-size: 1.25rem;
  }

  .about-services-heading {
    height: auto;
    margin-bottom: 1rem;
  }

  .about-services-heading p {
    font-size: .72rem;
  }

  .about-services-grid {
    grid-template-columns: 1fr;
    gap: .8rem;
  }

  .about-service {
    border-radius: .8rem;
    height: auto;
    min-height: 132px;
    padding: 1rem;
  }

  .about-service-icon {
    flex-basis: 72px;
    width: 72px;
    height: 72px;
    margin: 0 1.2rem 0 .3rem;
  }

  .about-service-icon:before {
    border-width: 3px 1px;
    inset: -7px;
  }

  .about-service-icon:after {
    inset: -11px;
  }

  .about-service-icon svg {
    width: 40px;
  }

  .about-service-copy h3 {
    font-size: 1.1rem;
  }

  .about-service-copy p {
    font-size: .8rem;
  }

  .about-service-rule {
    width: 2rem;
    margin: .7rem 0;
  }
}

.about-inmuebles {
  color: #0a285d;
  background: linear-gradient(135deg, #dfe9f7 0%, #eef2f8 45%, #f6ede1 100%);
}

.about-team-photo, .about-city-photo {
  z-index: -2;
  object-fit: cover;
  filter: brightness(.98) contrast(.96) saturate(.88);
  display: block;
  position: absolute;
}

.about-team-photo {
  object-position: center;
  -webkit-mask-composite: source-in;
  width: 78%;
  height: 60%;
  top: 0;
  right: 0;
  -webkit-mask-image: linear-gradient(#000 0 80%, #0000 100%), linear-gradient(to right, #0000 0, #000 14% 100%);
  mask-image: linear-gradient(#000 0 80%, #0000 100%), linear-gradient(to right, #0000 0, #000 14% 100%);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}

.about-city-photo {
  object-position: 42% center;
  -webkit-mask-composite: source-in;
  width: 39%;
  height: 38%;
  bottom: 0;
  left: 0;
  -webkit-mask-image: linear-gradient(#0000 0, #000 35% 100%), linear-gradient(to right, #000 0 78%, #0000 100%);
  mask-image: linear-gradient(#0000 0, #000 35% 100%), linear-gradient(to right, #000 0 78%, #0000 100%);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}

.about-inmuebles:before {
  opacity: .52;
  background-image: radial-gradient(circle, #168eff 1.5px, #0000 1.8px);
  background-size: 12px 12px;
  width: 9.5rem;
  height: 3.5rem;
  top: 3.2%;
  left: 2.5%;
}

.about-intro {
  width: 29%;
  top: 16.2%;
  left: 6.1%;
}

.about-intro h2 {
  color: #08285f;
  font-family: var(--font-body), sans-serif;
  letter-spacing: -.045em;
  text-shadow: none;
  padding-bottom: 1.7vw;
  font-size: min(4.45vw, 76px);
  font-weight: 700;
  line-height: .88;
}

.about-title-highlight, .about-copy-highlight, .about-focus-highlight, .about-service--orange .about-service-highlight {
  color: #f67808;
}

.about-intro h2:after {
  width: 76%;
  height: 2px;
  box-shadow: none;
  background: #2a9df4;
}

.about-intro > p {
  color: #08285f;
  margin-top: 1.45vw;
  font-size: min(1.35vw, 22px);
  font-weight: 500;
  line-height: 1.55;
}

.about-copy-highlight {
  color: #248fe0;
  font-weight: 600;
}

.about-focus {
  clip-path: polygon(5.8% 0, 100% 0, 93.6% 100%, 0 100%);
  filter: drop-shadow(0 9px #082d731f) drop-shadow(0 24px 22px #082d733d);
  background: linear-gradient(110deg, #2b9df3 0%, #d9e5ef 42%, #f67808 100%);
  width: 55%;
  height: 17%;
  padding: 1.2% 5% 1.2% 4.7%;
  top: 36.2%;
  left: 38%;
  transform: translateY(-5px);
}

.about-focus:before {
  z-index: -1;
  clip-path: inherit;
  background: #fafcfff5;
  display: block;
  position: absolute;
  inset: 2px;
}

.about-focus:after {
  width: 18%;
  height: 3px;
  box-shadow: none;
  background: #f67808;
  right: 6.4%;
}

.about-focus-mark {
  color: #2b9df3;
  background: #fff;
  border: 1px solid #55aeef;
  flex-basis: min(7.6vw, 13.4dvh);
  width: min(7.6vw, 13.4dvh);
  height: min(7.6vw, 13.4dvh);
  margin-right: 2.2vw;
  box-shadow: 0 8px 20px #195a961c;
}

.about-focus-mark:before {
  display: none;
}

.about-focus-mark svg {
  width: min(3.8vw, 6.7dvh);
}

.about-focus p {
  color: #0a285d;
  font-size: min(2.3vw, 39px);
  line-height: 1.15;
}

.about-services {
  width: 58.2%;
  top: 58%;
  left: 36.7%;
}

.about-services-heading {
  gap: 1.3vw;
  height: min(4.6vw, 7.4dvh);
}

.about-services-heading > span, .about-services-heading > span:last-child {
  box-shadow: none;
  background: #9ecff2;
}

.about-services-heading p {
  color: #32425e;
  letter-spacing: .01em;
  font-size: min(1.45vw, 24px);
}

.about-services-highlight, .about-service--blue .about-service-highlight {
  color: #248fe0;
}

.about-services-grid {
  grid-template-columns: 1fr 1.03fr;
  gap: 1.25vw;
}

.about-service {
  isolation: isolate;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  background: linear-gradient(#fff, #eef4f9) padding-box padding-box, linear-gradient(135deg, #2b9df3b8, #082d732e 52%, #f6780894) border-box;
  border: 1.5px solid #0000;
  border-radius: 1.15vw;
  height: 28.5dvh;
  padding: 1.5vw 1.8vw;
  overflow: visible;
  transform: translateY(-6px);
  box-shadow: 0 30px 42px -16px #082d736b, 0 14px 20px -10px #082d734d, inset 0 2px #fff, inset 0 -8px 18px #082d730f;
}

.about-service:before {
  display: none;
}

.about-service--blue {
  background: linear-gradient(#fff, #edf5fb) padding-box padding-box, linear-gradient(135deg, #2b9df3, #2b9df329 58%, #0a3978) border-box;
}

.about-service--orange {
  background: linear-gradient(#fff, #f8f3ef) padding-box padding-box, linear-gradient(135deg, #f67808, #f6780829 58%, #0a3978) border-box;
}

.about-service:after {
  display: none;
}

.about-service-icon {
  color: #2b9df3;
  background: #fff;
  border-width: 1px;
  flex-basis: min(9.5vw, 17.5dvh);
  width: min(9.5vw, 17.5dvh);
  height: min(9.5vw, 17.5dvh);
  margin: 0 2.2vw 0 .25vw;
  box-shadow: 0 8px 22px #207ec821;
}

.about-service-icon:before {
  opacity: .75;
  filter: none;
  border-width: 2px 1px;
  inset: -.8vw;
}

.about-service-icon:after {
  display: none;
}

.about-service--orange .about-service-icon {
  color: #f67808;
  background: #fff;
  box-shadow: 0 8px 22px #e1711621;
}

.about-service-icon svg {
  width: min(4.4vw, 7.8dvh);
}

.about-service-copy h3 {
  color: #0a285d;
  font-size: min(1.55vw, 26px);
}

.about-service-rule {
  width: 2.8vw;
  box-shadow: none;
  background: #f67808;
  margin: 1vw 0;
}

.about-service-copy p {
  color: #43536c;
  font-size: min(1.15vw, 19px);
  line-height: 1.45;
}

@media (max-width: 850px) {
  .about-inmuebles {
    min-height: 100dvh;
    padding: 0;
  }

  .about-team-photo {
    opacity: .3;
    object-position: 62% center;
    width: 100%;
    height: 22rem;
    -webkit-mask-image: linear-gradient(#000 0 55%, #0000 100%);
    mask-image: linear-gradient(#000 0 55%, #0000 100%);
  }

  .about-city-photo {
    opacity: .18;
    width: 100%;
    height: 23rem;
    -webkit-mask-image: linear-gradient(to top, #000 0, #0000 100%);
    mask-image: linear-gradient(to top, #000 0, #0000 100%);
  }

  .about-content {
    gap: 1.25rem;
    width: min(100% - 2rem, 620px);
    padding: 5rem 0 3rem;
  }

  .about-intro, .about-focus, .about-services {
    width: 100%;
    max-width: none;
    position: relative;
    inset: auto;
  }

  .about-intro h2 {
    font-size: clamp(3.2rem, 14vw, 4.75rem);
  }

  .about-intro > p {
    font-size: 1rem;
  }

  .about-focus {
    clip-path: none;
    border-radius: 1rem;
    min-height: 104px;
    padding: 1rem 1.5rem;
  }

  .about-focus-mark {
    flex-basis: 64px;
    width: 64px;
    height: 64px;
    margin-right: 1rem;
  }

  .about-focus p {
    font-size: 1.2rem;
  }

  .about-services-grid {
    grid-template-columns: 1fr;
  }

  .about-service {
    border-radius: 1rem;
    min-height: 132px;
    padding: 1rem;
  }

  .about-service-icon {
    flex-basis: 72px;
    width: 72px;
    height: 72px;
    margin: 0 1.25rem 0 .25rem;
  }

  .about-service-copy h3 {
    font-size: 1.1rem;
  }

  .about-service-copy p {
    font-size: .85rem;
  }
}

.patrimony {
  isolation: isolate;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  width: 100%;
  height: 100dvh;
  min-height: 0;
  color: var(--color-patrimony-text);
  background: radial-gradient(circle at 18% 74%, var(--color-patrimony-bg), transparent 33%),
    linear-gradient(112deg, var(--color-surface) 0%, var(--color-patrimony-bg-2) 45%, var(--color-patrimony-bg-3) 45.2%, var(--color-surface) 100%);
  position: relative;
  overflow: hidden;
}

.patrimony-blue-corner {
  z-index: -1;
  background: linear-gradient(145deg, var(--color-patrimony-bg-4), var(--color-patrimony-bg-5) 58%, var(--color-patrimony-bg-6));
  clip-path: polygon(16% 0, 100% 0, 100% 100%, 0 100%, 6% 84%, 0 70%, 11% 45%);
  width: 49%;
  height: 100%;
  position: absolute;
  inset: 0 0 auto auto;
}

.patrimony-intro {
  width: 39%;
  position: absolute;
  inset: 5.7% auto auto 2.8%;
}

.patrimony-eyebrow {
  color: var(--color-patrimony-text-2);
  font-family: var(--font-button), sans-serif;
  letter-spacing: .025em;
  font-size: min(1.08vw, 1.9dvh);
  font-weight: 700;
}

.patrimony-accent-line {
  background: var(--color-patrimony-bg-7);
  width: 3vw;
  height: 2px;
  margin: min(1.25vw, 2.2dvh) 0 min(1.5vw, 2.65dvh);
  display: block;
}

.patrimony-intro h2 {
  font-family: var(--font-body), sans-serif;
  letter-spacing: -.035em;
  font-size: min(3.45vw, 6.1dvh);
  font-weight: 700;
  line-height: 1.04;
}

.patrimony-intro h2 span, .patrimony-intro h2 strong {
  display: block;
}

.patrimony-intro h2 strong {
  color: var(--color-patrimony-text-3);
}

.patrimony-services-label {
  color: var(--color-brand-glow);
  letter-spacing: .05em;
  margin: min(2.2vw, 3.9dvh) 0 min(1.35vw, 2.4dvh);
  font-size: min(1.45vw, 2.55dvh);
}

.patrimony-services {
  flex-direction: column;
  gap: min(.85vw, 1.5dvh);
  display: flex;
}

.patrimony-service {
  border: 1px solid var(--color-patrimony-border);
  background: var(--color-patrimony-bg-8);
  width: 100%;
  height: 17.45dvh;
  box-shadow: 0 .45vw 1.4vw var(--color-patrimony-shadow), inset 0 0 1vw var(--color-patrimony-shadow-2);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border-radius: min(2.2vw, 3.9dvh);
  grid-template-columns: 7.3vw 1fr 1.3vw;
  align-items: center;
  gap: 1vw;
  padding: 1vw 1.2vw;
  display: grid;
  position: relative;
}

.patrimony-service-icon {
  border: 1.5px solid var(--color-patrimony-border-2);
  width: min(6.4vw, 11.3dvh);
  height: min(6.4vw, 11.3dvh);
  color: var(--color-patrimony-text-4);
  background: var(--color-patrimony-bg-9);
  box-shadow: 0 .35vw .9vw var(--color-patrimony-shadow-3), inset 0 0 .75vw var(--color-patrimony-shadow-4);
  border-radius: 50%;
  place-items: center;
  display: grid;
}

.patrimony-service-icon svg {
  width: min(3.8vw, 6.7dvh);
  height: min(3.8vw, 6.7dvh);
}

.patrimony-service h3 {
  font-family: var(--font-button), sans-serif;
  font-size: min(1.65vw, 2.9dvh);
  font-weight: 700;
  line-height: 1.05;
}

.patrimony-service p {
  color: var(--color-brand-glow);
  margin-top: .65vw;
  font-size: min(1.23vw, 2.17dvh);
  line-height: 1.35;
}

.patrimony-arrow {
  color: var(--color-patrimony-text-5);
  font-family: Arial, sans-serif;
  font-size: 3vw;
  font-weight: 300;
  line-height: 1;
}

.patrimony-visuals {
  position: absolute;
  inset: 0;
}

.patrimony-photo {
  background: var(--color-patrimony-bg-10);
  height: 63.5%;
  position: absolute;
  top: 5.5%;
  overflow: hidden;
}

.patrimony-photo img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.patrimony-photo--completed {
  clip-path: polygon(7% 0, 100% 0, 82% 100%, 0 100%);
  border-radius: 3.5vw 3.5vw 0 0;
  width: 28.7%;
  left: 46.7%;
}

.patrimony-photo--completed img {
  object-position: 53% center;
}

.patrimony-photo--construction {
  clip-path: polygon(15% 0, 100% 0, 100% 100%, 0 100%);
  border-radius: 3.5vw 0 0;
  width: 31%;
  left: 70.5%;
}

.patrimony-photo--construction img {
  object-position: 57% center;
}

.patrimony-seal {
  z-index: 5;
  background: var(--color-surface);
  width: min(11.3vw, 19.4dvh);
  height: min(11.3vw, 19.4dvh);
  box-shadow: 0 .7vw 1.5vw var(--color-patrimony-shadow-5), inset 0 0 0 1px var(--color-patrimony-shadow-6);
  border-radius: 50%;
  place-items: center;
  display: grid;
  position: absolute;
  top: 46.5%;
  left: 64.2%;
}

.patrimony-seal > span {
  border: .55vw solid var(--color-patrimony-border-3);
  border-right-color: var(--color-about-text);
  border-bottom-color: var(--color-about-text);
  width: min(7.8vw, 13.4dvh);
  height: min(7.8vw, 13.4dvh);
  color: var(--color-patrimony-border-3);
  border-radius: 50%;
  place-items: center;
  display: grid;
  transform: rotate(-18deg);
}

.patrimony-seal svg {
  width: min(4.7vw, 8.1dvh);
  transform: rotate(18deg);
}

.patrimony-commitment-panel {
  z-index: 4;
  width: 56.2%;
  height: 30%;
  color: var(--color-patrimony-bg-12-ink);
  background: linear-gradient(125deg, var(--color-patrimony-bg-11), var(--color-patrimony-bg-12) 55%, var(--color-patrimony-bg-13));
  box-shadow: 0 .6vw 1.6vw var(--color-patrimony-shadow-7), inset 0 0 0 1px var(--color-patrimony-shadow-8);
  border-radius: 2.3vw 2.3vw 0;
  padding: 1.7vw 2.1vw 1.5vw;
  position: absolute;
  top: 66%;
  left: 43.8%;
}

.patrimony-commitment-panel header {
  text-align: center;
}

.patrimony-commitment-panel header small {
  letter-spacing: .22em;
  font-size: .95vw;
}

.patrimony-commitment-panel header p {
  margin-top: .55vw;
  font-size: min(1.75vw, 3.1dvh);
  line-height: 1.1;
}

.patrimony-commitment-panel header strong {
  color: var(--color-patrimony-text-6);
}

.patrimony-commitments {
  grid-template-columns: repeat(3, 1fr);
  margin-top: 2vw;
  display: grid;
}

.patrimony-commitment {
  border-right: 1px solid var(--color-patrimony-border-4);
  grid-template-columns: 4.7vw 1fr;
  align-items: center;
  gap: .85vw;
  min-width: 0;
  padding: 0 1.25vw;
  display: grid;
}

.patrimony-commitment:first-child {
  padding-left: 0;
}

.patrimony-commitment:last-child {
  border-right: 0;
  padding-right: 0;
}

.patrimony-commitment-icon {
  color: var(--color-patrimony-text-7);
}

.patrimony-commitment-icon svg {
  width: 4.3vw;
  height: 4.3vw;
}

.patrimony-commitment h3 {
  font-family: var(--font-button), sans-serif;
  font-size: min(1.23vw, 2.17dvh);
  font-weight: 700;
  line-height: 1.03;
}

.patrimony-commitment p {
  color: var(--color-patrimony-text-6);
  margin-top: .35vw;
  font-size: min(.9vw, 1.6dvh);
  line-height: 1.3;
}

@media (min-width: 1600px) {
  .patrimony-eyebrow {
    font-size: 17px;
  }

  .patrimony-intro h2 {
    font-size: 55px;
  }

  .patrimony-services-label {
    font-size: 23px;
  }

  .patrimony-service h3 {
    font-size: 26px;
  }

  .patrimony-service p {
    font-size: 19px;
  }

  .patrimony-commitment-panel header p {
    font-size: 28px;
  }

  .patrimony-commitment h3 {
    font-size: 19px;
  }

  .patrimony-commitment p {
    font-size: 14px;
  }
}

@media (max-width: 850px) {
  .patrimony {
    height: auto;
    min-height: 0;
    padding: 3.5rem 1rem 2rem;
  }

  .patrimony-blue-corner {
    clip-path: polygon(0 12%, 100% 0, 100% 100%, 0 100%);
    width: 100%;
    height: 46%;
    top: 54%;
  }

  .patrimony-intro, .patrimony-visuals, .patrimony-seal, .patrimony-commitment-panel {
    width: min(100%, 620px);
    height: auto;
    margin: 0 auto;
    position: relative;
    inset: auto;
  }

  .patrimony-eyebrow {
    font-size: .68rem;
  }

  .patrimony-accent-line {
    width: 2rem;
    margin: .8rem 0 1rem;
  }

  .patrimony-intro h2 {
    font-size: clamp(2.2rem, 10vw, 3.6rem);
  }

  .patrimony-services-label {
    margin: 1.5rem 0 1rem;
    font-size: .85rem;
  }

  .patrimony-services {
    gap: .7rem;
  }

  .patrimony-service {
    border-radius: 1.3rem;
    grid-template-columns: 64px 1fr 18px;
    gap: .8rem;
    height: auto;
    min-height: 112px;
    padding: .8rem;
  }

  .patrimony-service-icon {
    width: 58px;
    height: 58px;
  }

  .patrimony-service-icon svg {
    width: 34px;
    height: 34px;
  }

  .patrimony-service h3 {
    font-size: 1rem;
  }

  .patrimony-service p {
    margin-top: .35rem;
    font-size: .78rem;
  }

  .patrimony-arrow {
    font-size: 2rem;
  }

  .patrimony-visuals {
    height: 340px;
    margin-top: 1.5rem;
  }

  .patrimony-photo {
    height: 100%;
    top: 0;
  }

  .patrimony-photo--completed {
    border-radius: 1.5rem 0 0 1.5rem;
    width: 56%;
    left: 0;
  }

  .patrimony-photo--construction {
    border-radius: 0 1.5rem 1.5rem 0;
    width: 52%;
    left: 48%;
  }

  .patrimony-seal {
    z-index: 6;
    width: 86px;
    height: 86px;
    margin-top: -48px;
  }

  .patrimony-seal > span {
    border-width: 4px;
    width: 62px;
    height: 62px;
  }

  .patrimony-seal svg {
    width: 38px;
  }

  .patrimony-commitment-panel {
    border-radius: 1.5rem;
    margin-top: -38px;
    padding: 4.5rem 1rem 1.2rem;
  }

  .patrimony-commitment-panel header small {
    font-size: .64rem;
  }

  .patrimony-commitment-panel header p {
    font-size: 1.25rem;
  }

  .patrimony-commitments {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-top: 1.5rem;
  }

  .patrimony-commitment {
    border-right: 0;
    border-bottom: 1px solid var(--color-patrimony-border-5);
    grid-template-columns: 52px 1fr;
    gap: .8rem;
    padding: 0 0 1rem;
  }

  .patrimony-commitment:last-child {
    border-bottom: 0;
    padding-bottom: 0;
  }

  .patrimony-commitment-icon svg {
    width: 46px;
    height: 46px;
  }

  .patrimony-commitment h3 {
    font-size: 1rem;
  }

  .patrimony-commitment p {
    font-size: .75rem;
  }
}

.property-search {
  --color-search-stop: #f9fcff;
  --color-search-stop-2: #e9f3ff;
  --color-search-stop-3: #c7e0fb;
  --color-search-stop-4: #d9eaff;
  --color-search-stop-5: #eef6ff;
  --color-search-stop-6: #bedbfa;
  --color-search-stop-7: #1677e8;
  --color-search-stop-8: #3aa0ff;
  --color-search-stop-9: #0a5fc8;
  --color-search-fill: #6eafea;
  isolation: isolate;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  color: #08265e;
  background: #eaf4ff;
  width: 100%;
  height: 100dvh;
  min-height: 0;
  position: relative;
  overflow: hidden;
}

.property-search-background {
  z-index: -5;
  object-fit: cover;
  object-position: center;
  filter: saturate(.94) contrast(.98) brightness(1.015);
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.property-search:after {
  content: "";
  z-index: -4;
  background: linear-gradient(90deg,var(--color-search-bg-2) 0%,var(--color-search-bg-3) 42%,transparent 67%),linear-gradient(0deg,var(--color-search-bg-4),transparent 38%);
  position: absolute;
  inset: 0;
}

.property-search-arc {
  z-index: -2;
  background: linear-gradient(120deg,var(--color-search-bg-5) 7%,var(--color-search-bg-6) 61%,var(--color-search-bg-7));
  width: 88%;
  height: 110%;
  box-shadow: inset -2px -1px 0 var(--color-about-text),12px 8px 26px var(--color-search-shadow);
  border-radius: 0 0 100%;
  position: absolute;
  top: -38%;
  left: -23%;
}

.property-search-ribbon {
  z-index: -1;
  border-top: 3px solid var(--color-search-border);
  background: linear-gradient(168deg,var(--color-search-bg-8),var(--color-search-bg-9));
  height: 45%;
  box-shadow: inset 0 3px 0 -1px var(--color-about-text),0 -8px 24px var(--color-search-shadow-2);
  border-radius: 50% 50% 0 0;
  position: absolute;
  inset: auto -5% -25% -8%;
  transform: rotate(2deg);
}

.property-search-ribbon:after {
  content: "";
  background: linear-gradient(90deg,transparent,var(--color-about-bg-11) 55%,var(--color-surface) 85%,var(--color-about-text) 94%,transparent);
  width: 50%;
  height: 2px;
  box-shadow: 0 0 10px var(--color-about-shadow-5);
  position: absolute;
  top: 9%;
  left: 44%;
}

.property-search-dots {
  opacity: .34;
  background-image: radial-gradient(circle,var(--color-about-bg-11) 1.3px,transparent 1.6px);
  background-size: 11px 11px;
  width: 8%;
  height: 9%;
  position: absolute;
  bottom: 2.5%;
  left: 1.5%;
}

.property-search-copy {
  z-index: 2;
  width: 44%;
  position: absolute;
  top: 18.8%;
  left: 7.5%;
}

.property-search-copy > p {
  color: #000;
  font-family: var(--font-button),sans-serif;
  letter-spacing: .08em;
  font-size: min(1.35vw, 2.4dvh);
  font-weight: 700;
}

.property-search-copy > span {
  background: var(--color-about-text);
  width: 4.2%;
  min-width: 42px;
  height: 2px;
  margin: min(1.2vw, 2.1dvh) 0 min(1.45vw, 2.55dvh);
  display: block;
}

.property-search-copy h2 {
  max-width: 88%;
  font-family: var(--font-body),sans-serif;
  letter-spacing: -.04em;
  text-wrap: balance;
  color: #06265f;
  text-shadow: 0 2px 18px #ffffffd1;
  font-size: min(5.25vw, 9.25dvh);
  font-weight: 700;
  line-height: .94;
}

.property-search-copy small {
  color: #29496d;
  margin-top: min(1.45vw, 2.55dvh);
  font-size: min(1.45vw, 2.55dvh);
  display: block;
}

.property-search-form {
  z-index: 5;
  isolation: isolate;
  outline-offset: -2px;
  -webkit-backdrop-filter: blur(22px) saturate(128%);
  backdrop-filter: blur(22px) saturate(128%);
  background: linear-gradient(105deg, #f6fbffb0, #d7e9ff8f 68%, #ffece194), linear-gradient(#ffffff5c, #ffffff14);
  border: 1px solid #ffffffd1;
  border-radius: min(2.1vw, 3.7dvh);
  outline: 1px solid #185ba814;
  grid-template-columns: 1.25fr 1fr 1.08fr .9fr .9fr 1.08fr 1.08fr;
  gap: 0;
  width: 92.8%;
  height: 27.8%;
  padding: min(1.9vw, 3.35dvh) min(1.25vw, 2.2dvh);
  display: grid;
  position: absolute;
  top: 59.2%;
  left: 3.7%;
  box-shadow: 0 min(1.05vw, 1.85dvh) min(2.4vw, 4.25dvh) #00245c38, inset 0 1px #ffffffeb, inset 0 -1px #ffffff4d;
}

.property-search-form:before {
  content: "";
  z-index: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(#ffffff70, #ffffff1a 58%, #0000);
  height: 45%;
  position: absolute;
  inset: 1px 1px auto;
}

.property-search-form > * {
  z-index: 1;
  position: relative;
}

.property-search-field {
  border-right: 1px solid var(--color-search-border-2);
  min-width: 0;
  color: var(--color-search-text);
  flex-direction: column;
  align-items: center;
  padding: 0 min(.65vw, 1.15dvh);
  display: flex;
}

.property-search-icon {
  width: min(4.7vw, 8.3dvh);
  height: min(4.7vw, 8.3dvh);
  color: var(--color-search-bg-13-ink);
  background: linear-gradient(145deg,var(--color-search-bg-13),var(--color-search-bg-14));
  box-shadow: 0 4px 10px var(--color-search-shadow-6);
  border-radius: 50%;
  flex: 0 0 min(4.7vw, 8.3dvh);
  place-items: center;
  display: grid;
}

.property-search-icon svg {
  width: 55%;
  height: 55%;
}

.property-search-label {
  text-align: center;
  height: min(3.6vw, 6.3dvh);
  font-family: var(--font-button),sans-serif;
  align-items: center;
  font-size: min(1.06vw, 1.86dvh);
  font-weight: 700;
  line-height: 1.05;
  display: flex;
}

.property-search-field input, .property-search-select-trigger {
  border: 1px solid var(--color-search-border-3);
  width: 100%;
  height: min(3.3vw, 5.8dvh);
  color: var(--color-search-text-2);
  font-family: var(--font-body),sans-serif;
  box-shadow: 0 3px 8px var(--color-search-shadow-7);
  background: #ffffffd6;
  border-radius: min(.75vw, 1.3dvh);
  outline: none;
  padding: 0 min(.8vw, 1.4dvh) 0 min(2.6vw, 4.6dvh);
  font-size: min(.95vw, 1.68dvh);
}

.property-search-input-wrap {
  width: 100%;
  position: relative;
}

.property-search-input-icon {
  width: min(1.3vw, 2.3dvh);
  height: min(1.3vw, 2.3dvh);
  color: var(--color-search-border-4);
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: min(.85vw, 1.5dvh);
  transform: translateY(-50%);
}

.property-search-input-icon svg {
  width: 100%;
  height: 100%;
}

.property-search-select-trigger-icon {
  width: min(1.3vw, 2.3dvh);
  height: min(1.3vw, 2.3dvh);
  color: var(--color-search-border-4);
  flex: none;
  margin-right: min(.6vw, 1.05dvh);
}

.property-search-select-trigger-icon svg {
  width: 100%;
  height: 100%;
}

.property-search-field input:focus, .property-search-select-trigger:focus-visible {
  border-color: var(--color-search-border-4);
  box-shadow: 0 0 0 3px var(--color-search-shadow-8);
}

.property-search-select {
  width: 100%;
  position: relative;
}

.property-search-select-trigger {
  appearance: none;
  cursor: pointer;
  text-align: left;
  align-items: center;
  margin: 0;
  padding-left: min(.8vw, 1.4dvh);
  padding-right: min(2.1vw, 3.7dvh);
  line-height: 1;
  display: flex;
}

.property-search-select-trigger span.is-placeholder {
  color: var(--color-search-text-3);
}

.property-search-field input::placeholder, .property-search-select-trigger span.is-placeholder {
  color: #1c2d4aad;
}

.property-search-select[data-open] .property-search-select-trigger {
  border-color: var(--color-search-border-4);
  box-shadow: 0 0 0 3px var(--color-search-shadow-8);
}

.property-search-select[data-open] .property-search-select-caret {
  transform: translateY(-50%)rotate(180deg);
}

.property-search-select-caret {
  width: min(1vw, 1.77dvh);
  height: min(1vw, 1.77dvh);
  color: var(--color-search-border-4);
  pointer-events: none;
  transition: transform .18s;
  position: absolute;
  top: 50%;
  right: min(.8vw, 1.4dvh);
  transform: translateY(-50%);
}

.property-search-select-panel {
  z-index: 9999;
  border: 1px solid var(--color-search-border-5);
  max-height: 15rem;
  box-shadow: 0 14px 32px var(--color-search-shadow-9),inset 0 1px 0 #fffffff0;
  -webkit-backdrop-filter: blur(14px) saturate(125%);
  backdrop-filter: blur(14px) saturate(125%);
  background: #fffffff0;
  border-radius: min(.75vw, 1.3dvh);
  margin: 0;
  padding: .4rem;
  list-style: none;
  animation: .14s property-search-select-pop;
  position: fixed;
  overflow-y: auto;
}

@keyframes property-search-select-pop {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.property-search-select-panel li {
  color: var(--color-search-text-2);
  cursor: pointer;
  border-radius: .5rem;
  align-items: center;
  gap: .55rem;
  padding: .55rem .7rem;
  font-size: min(.92vw, 1.62dvh);
  line-height: 1.3;
  transition: background .12s, color .12s;
  display: flex;
}

.property-search-select-option-icon {
  width: 1.1em;
  height: 1.1em;
  color: var(--color-search-border-4);
  flex: none;
}

.property-search-select-option-icon svg {
  width: 100%;
  height: 100%;
}

.property-search-select-panel li.is-selected .property-search-select-option-icon, .property-search-select-panel li:hover .property-search-select-option-icon, .property-search-select-panel li.is-active .property-search-select-option-icon {
  color: inherit;
}

.property-search-select-panel li.is-active, .property-search-select-panel li:hover {
  background: var(--color-search-bg-15);
}

.property-search-select-panel li.is-selected {
  background: linear-gradient(145deg,var(--color-search-bg-13),var(--color-search-bg-14));
  color: var(--color-search-bg-13-ink);
}

.property-search-form > button {
  height: min(3.3vw, 5.8dvh);
  color: var(--color-search-bg-16-ink);
  background: linear-gradient(145deg,var(--color-search-bg-16),var(--color-search-bg-17));
  font-family: var(--font-button),sans-serif;
  cursor: pointer;
  box-shadow: 0 5px 13px var(--color-search-shadow-10);
  border: 0;
  border-radius: min(.75vw, 1.3dvh);
  justify-content: center;
  align-self: end;
  align-items: center;
  gap: min(.85vw, 1.5dvh);
  margin: 0 min(.55vw, 1dvh) 0 min(.85vw, 1.5dvh);
  font-size: min(1.35vw, 2.38dvh);
  font-weight: 700;
  transition: transform .18s, box-shadow .18s, background .18s;
  display: flex;
}

.property-search-form > button svg {
  width: min(2.5vw, 4.4dvh);
  color: var(--color-about-text);
}

.property-search-form > button:hover {
  background: linear-gradient(145deg,var(--color-search-bg-18),var(--color-search-bg-19));
  transform: translateY(-2px);
  box-shadow: 0 10px 22px #0024714d;
}

.property-search-form > button:focus-visible {
  outline-offset: 3px;
  outline: 3px solid #ff7900;
}

@media (min-width: 1600px) {
  .property-search-copy > p {
    font-size: 21px;
  }

  .property-search-copy h2 {
    font-size: 84px;
  }

  .property-search-copy small {
    font-size: 23px;
  }

  .property-search-label {
    font-size: 17px;
  }

  .property-search-field input, .property-search-select-trigger, .property-search-select-panel li {
    font-size: 15px;
  }

  .property-search-form > button {
    font-size: 22px;
  }
}

@media (max-width: 850px) {
  .property-search {
    height: auto;
    min-height: 100dvh;
    padding: 3.5rem 1rem 2rem;
  }

  .property-search-background {
    object-position: 65% center;
  }

  .property-search-arc {
    width: 150%;
    height: 58%;
    top: -12%;
    left: -58%;
  }

  .property-search-ribbon {
    height: 20%;
    bottom: -5%;
  }

  .property-search-copy, .property-search-form {
    width: min(100%, 620px);
    height: auto;
    margin: 0 auto;
    position: relative;
    inset: auto;
  }

  .property-search-copy {
    padding-bottom: 2rem;
  }

  .property-search-copy > p {
    font-size: .72rem;
  }

  .property-search-copy > span {
    min-width: 34px;
    margin: .8rem 0 1rem;
  }

  .property-search-copy h2 {
    max-width: 440px;
    font-size: clamp(2.8rem, 13vw, 4.8rem);
  }

  .property-search-copy small {
    margin-top: 1rem;
    font-size: .95rem;
  }

  .property-search-form {
    border-radius: 1.4rem;
    grid-template-columns: 1fr 1fr;
    gap: .8rem;
    padding: 1rem;
  }

  .property-search-field {
    border-right: 0;
    padding: .3rem;
  }

  .property-search-icon {
    flex-basis: 52px;
    width: 52px;
    height: 52px;
  }

  .property-search-label {
    height: 38px;
    font-size: .78rem;
  }

  .property-search-field input, .property-search-select-trigger {
    border-radius: .55rem;
    height: 40px;
    font-size: .78rem;
  }

  .property-search-select-panel li {
    font-size: .78rem;
  }

  .property-search-form > button {
    border-radius: .65rem;
    grid-column: 1 / -1;
    height: 56px;
    margin: .5rem 0 0;
    font-size: 1rem;
  }

  .property-search-form > button svg {
    width: 26px;
  }
}

@media (min-width: 851px) and (max-width: 1100px) {
  .property-search {
    height: auto;
    min-height: 100dvh;
    padding: 3.75rem 1rem 2.25rem;
  }

  .property-search-background {
    object-position: 68% center;
  }

  .property-search-copy, .property-search-form {
    width: min(100%, 900px);
    height: auto;
    min-height: 0;
    margin-inline: auto;
    position: relative;
    inset: auto;
  }

  .property-search-copy {
    padding: 0 .5rem 2rem;
  }

  .property-search-copy h2 {
    max-width: 650px;
    font-size: clamp(3rem, 8vw, 4.8rem);
  }

  .property-search-copy small {
    margin-top: 1rem;
    font-size: 1rem;
  }

  .property-search-form {
    border-radius: 1.5rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    padding: 1rem;
  }

  .property-search-field {
    border-right: 0;
    padding: .4rem;
  }

  .property-search-field:not(:nth-of-type(3n)) {
    border-right: 1px solid #09438f21;
  }

  .property-search-icon {
    flex-basis: 52px;
    width: 52px;
    height: 52px;
  }

  .property-search-label {
    height: 38px;
    font-size: .8rem;
  }

  .property-search-field input, .property-search-select-trigger {
    border-radius: .6rem;
    height: 40px;
    font-size: .8rem;
  }

  .property-search-form > button {
    grid-column: 1 / -1;
    height: 56px;
    margin: .5rem 0 0;
    font-size: 1rem;
  }

  .property-search-waves {
    width: 145%;
    transform: translateX(-18%);
  }
}

.property-search {
  background: #eaf4ff;
}

.property-search-background {
  opacity: 1;
}

.property-search:after, .property-search-arc, .property-search-ribbon {
  display: none;
}

.property-search-waves {
  z-index: -2;
  filter: drop-shadow(0 12px 26px #194c8514);
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  overflow: visible;
}

@media (max-width: 850px) {
  .property-search:after {
    background: linear-gradient(#f8fcffc7 0%, #ebf6ff75 28%, #0000 55%);
    display: block;
  }

  .property-search-waves {
    width: 180%;
    transform: translateX(-28%);
  }
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .property-search-form {
    background: #edf6fff0;
  }
}

@property --tw-scroll-snap-strictness {
  syntax: "*";
  inherits: false;
  initial-value: proximity;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-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-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-content {
  syntax: "*";
  inherits: false;
  initial-value: "";
}

@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;
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

/* [project]/app/featured-properties.css [app-client] (css) */
.featured-properties {
  isolation: isolate;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  width: 100%;
  height: 100dvh;
  min-height: 0;
  color: var(--color-featured-bg-24-ink);
  background: var(--color-featured-bg-23);
  position: relative;
  overflow: hidden;
}

.featured-background, .featured-overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.featured-background {
  z-index: -4;
  object-fit: cover;
  object-position: 74% 42%;
}

.featured-overlay {
  z-index: -3;
  background: linear-gradient(180deg, var(--color-featured-bg-24), var(--color-featured-bg-25) 65%, var(--color-featured-bg-26) 100%),
    linear-gradient(90deg, var(--color-featured-bg-27), var(--color-featured-bg-28) 55%, var(--color-featured-bg-29));
}

.featured-properties:before, .featured-properties:after {
  content: "";
  z-index: -1;
  pointer-events: none;
  border: 1px solid var(--color-featured-border-7);
  border-radius: 50%;
  position: absolute;
}

.featured-properties:before {
  width: 91%;
  height: 122%;
  top: -68%;
  left: -29%;
}

.featured-properties:after {
  width: 72%;
  height: 104%;
  bottom: -55%;
  right: -18%;
}

.featured-stage {
  width: min(100%, 177.4dvh);
  height: 100%;
  position: absolute;
  inset: 0 auto 0 50%;
  transform: translateX(-50%);
}

.featured-heading {
  text-align: center;
  width: 80%;
  position: absolute;
  top: 3.8%;
  left: 10%;
}

.featured-heading > p {
  color: var(--color-featured-text-8);
  font-family: var(--font-button), sans-serif;
  letter-spacing: .035em;
  font-size: min(1.28vw, 2.25dvh);
  font-weight: 700;
}

.featured-heading h2 {
  font-family: var(--font-button), sans-serif;
  letter-spacing: -.025em;
  margin-top: min(.45vw, .8dvh);
  font-size: min(4.15vw, 7.3dvh);
  font-weight: 700;
  line-height: .92;
}

.featured-heading h2 span, .featured-heading h2 strong {
  display: block;
}

.featured-heading h2 strong {
  color: var(--color-featured-text-9);
}

.featured-heading small {
  max-width: none;
  color: var(--color-featured-text-10);
  margin-top: min(.75vw, 1.32dvh);
  font-size: min(1.18vw, 2.08dvh);
  line-height: 1.2;
  display: block;
}

.featured-tabs {
  z-index: 4;
  border: 1px solid var(--color-featured-border-8);
  background: var(--color-featured-bg-30);
  border-radius: 99px;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  width: min(18vw, 31.7dvh);
  height: min(3.05vw, 5.4dvh);
  padding: 2px;
  display: grid;
  position: absolute;
  top: 25.5%;
  left: 50%;
  overflow: hidden;
  transform: translateX(-50%);
  box-shadow: 0 8px 22px #062b6524, inset 0 1px #ffffff24;
}

.featured-tabs button {
  appearance: none;
  color: #fff;
  min-width: 0;
  font-family: var(--font-button),sans-serif;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 99px;
  outline: none;
  justify-content: center;
  align-items: center;
  gap: .42em;
  font-size: min(.95vw, 1.68dvh);
  font-weight: 700;
  transition: color .2s, background .2s, box-shadow .2s, transform .2s;
  display: inline-flex;
}

.featured-tabs button svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9px;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: 0 0 1em;
  width: 1em;
  height: 1em;
}

.featured-tabs button:not(.featured-tab--active):hover {
  background: #ffffff1a;
}

.featured-tabs button:focus-visible {
  box-shadow: inset 0 -3px #fffffff2;
}

.featured-tabs .featured-tab--active {
  color: #fff;
  background: linear-gradient(135deg, #0b72d2, #0757b8);
  box-shadow: 0 5px 14px #063f8652, inset 0 1px #fff3;
}

.featured-tabs button:first-child.featured-tab--active {
  color: #fff;
  background: linear-gradient(135deg,var(--color-featured-bg-42),var(--color-featured-bg-43));
  box-shadow: 0 4px 12px #a8420033, inset 0 1px #ffffff47;
}

.featured-tabs button:last-child.featured-tab--active {
  box-shadow: 0 5px 14px #063f8652, inset 0 1px #fff3;
}

.featured-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: min(1.15vw, 2.03dvh);
  width: 90.4%;
  height: 41%;
  display: grid;
  position: absolute;
  top: 33.5%;
  left: 4.8%;
}

.featured-card, .featured-card--active {
  border: 1px solid var(--color-featured-border-9);
  background: linear-gradient(165deg,var(--color-featured-bg-33),var(--color-featured-bg-34));
  min-width: 0;
  height: 100%;
  box-shadow: 0 min(.4vw,.7dvh) min(1.2vw,2.1dvh) var(--color-featured-shadow-5);
  cursor: pointer;
  border-radius: min(1vw, 1.76dvh);
  transition: transform .24s, border-color .24s, box-shadow .24s;
  overflow: hidden;
}

.featured-card:hover {
  border-color: #0b5cab;
  transform: translateY(-1.5%);
  box-shadow: 0 0 min(1vw, 1.77dvh) #008eff80;
}

.featured-card:focus-visible {
  outline-offset: 3px;
  outline: 2px solid #0b5cab;
}

.featured-card--active {
  border-color: #0b5cab;
  transform: translateY(-2.5%);
  box-shadow: 0 0 min(1.1vw, 1.95dvh) #008effb3;
}

.featured-card--active:hover {
  transform: translateY(-2.5%);
}

.featured-card-photo {
  height: 47%;
  position: relative;
  overflow: hidden;
}

.featured-card-photo:after {
  content: "";
  background: linear-gradient(0deg,var(--color-featured-bg-35),transparent);
  position: absolute;
  inset: 55% 0 0;
}

.featured-card-photo img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.featured-status {
  z-index: 2;
  color: var(--color-surface);
  font-family: var(--font-button),sans-serif;
  border-radius: 99px;
  padding: min(.35vw, .62dvh) min(.72vw, 1.27dvh);
  font-size: min(.78vw, 1.38dvh);
  font-weight: 700;
  position: absolute;
  top: auto;
  bottom: 3.5%;
  left: 3.5%;
}

.featured-status--blue {
  color: #fff;
  background: var(--color-featured-bg-36);
}

.featured-status--orange {
  color: #fff;
  background: var(--color-featured-bg-37);
}

.featured-card-photo button {
  z-index: 2;
  border: 1px solid var(--color-featured-text-10);
  width: min(2.45vw, 4.32dvh);
  height: min(2.45vw, 4.32dvh);
  color: var(--color-featured-bg-38-ink);
  background: var(--color-featured-bg-38);
  cursor: pointer;
  border-radius: 50%;
  font-size: min(1.48vw, 2.62dvh);
  position: absolute;
  top: 4%;
  right: 4%;
}

.featured-card-photo button.featured-favorite--active {
  color: #a84200;
  background: var(--color-surface);
}

.featured-popular {
  z-index: 2;
  color: #fff;
  background: var(--color-featured-bg-36);
  font-family: var(--font-button),sans-serif;
  padding: min(.3vw, .53dvh) min(.58vw, 1.02dvh);
  font-size: min(.57vw, 1dvh);
  font-weight: 700;
  position: absolute;
  bottom: 4%;
  left: 4%;
}

.featured-card-body {
  height: 53%;
  padding: min(.96vw, 1.7dvh) min(.9vw, 1.59dvh) min(.78vw, 1.38dvh);
  position: relative;
}

.featured-price {
  color: var(--color-featured-text-11);
  font-family: var(--font-button),sans-serif;
  margin-top: 0;
  font-size: min(1.42vw, 2.5dvh);
  font-weight: 700;
  line-height: 1;
}

.featured-price span {
  color: var(--color-about-text-6);
  font-size: 43%;
  font-weight: 400;
}

.featured-card-body h3 {
  min-height: 2.35em;
  font-family: var(--font-button),sans-serif;
  text-transform: uppercase;
  margin-top: min(.48vw, .85dvh);
  font-size: min(1.15vw, 2.03dvh);
  font-weight: 700;
  line-height: 1.18;
}

.featured-address {
  min-height: 2.4em;
  color: var(--color-featured-text-14);
  align-items: flex-start;
  gap: min(.28vw, .5dvh);
  margin-top: min(.26vw, .46dvh);
  font-size: min(.86vw, 1.52dvh);
  font-weight: 500;
  line-height: 1.2;
  display: flex;
}

.featured-address svg {
  width: min(.9vw, 1.59dvh);
  height: min(.9vw, 1.59dvh);
  color: var(--color-featured-text-11);
  flex: 0 0 min(.9vw, 1.59dvh);
}

.featured-meta {
  border-top: 1px solid var(--color-featured-border-10);
  justify-content: space-between;
  gap: min(.24vw, .42dvh);
  padding-top: min(.45vw, .8dvh);
  font-size: min(.78vw, 1.38dvh);
  display: flex;
  position: absolute;
  bottom: min(.62vw, 1.1dvh);
  left: min(.72vw, 1.27dvh);
  right: min(.72vw, 1.27dvh);
}

.featured-meta span {
  white-space: nowrap;
  align-items: center;
  gap: min(.16vw, .28dvh);
  display: flex;
}

.featured-meta svg {
  width: min(.86vw, 1.52dvh);
  height: min(.86vw, 1.52dvh);
  color: var(--color-featured-text-12);
}

.featured-nav {
  z-index: 7;
  border: 1px solid var(--color-featured-border-11);
  width: min(3.2vw, 5.65dvh);
  height: min(3.2vw, 5.65dvh);
  color: var(--color-featured-bg-15-ink);
  background: var(--color-featured-bg-15);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  padding: 0;
  font-size: min(2.5vw, 4.4dvh);
  line-height: 1;
  display: flex;
  position: absolute;
  top: 50%;
}

.featured-nav--prev {
  left: 1%;
}

.featured-nav--next {
  right: 1%;
}

.featured-nav svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.5px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 42%;
  height: 42%;
  display: block;
}

.featured-nav:disabled {
  opacity: .35;
  cursor: not-allowed;
}

.featured-dots {
  gap: min(.38vw, .67dvh);
  display: flex;
  position: absolute;
  top: 76.8%;
  left: 50%;
  transform: translateX(-50%);
}

.featured-dots > button {
  background: var(--color-site-bg);
  cursor: pointer;
  border: 0;
  border-radius: 9px;
  width: min(1.35vw, 2.38dvh);
  height: min(.28vw, .5dvh);
  padding: 0;
}

.featured-dots button.is-active {
  background: var(--color-featured-bg-39);
}

.featured-empty {
  border: 1px solid var(--color-featured-border-9);
  color: #fff;
  background: var(--color-featured-bg-30);
  text-align: center;
  border-radius: 1rem;
  width: 70%;
  padding: 2rem;
  position: absolute;
  top: 42%;
  left: 50%;
  transform: translateX(-50%);
}

.featured-cta {
  height: min(3.25vw, 5.75dvh);
  color: var(--color-featured-bg-40-ink);
  background: linear-gradient(90deg,var(--color-featured-bg-40),var(--color-featured-bg-41));
  font-family: var(--font-button),sans-serif;
  box-shadow: 0 6px 15px var(--color-featured-shadow-4);
  border-radius: 99px;
  align-items: center;
  padding-left: min(2.5vw, 4.4dvh);
  font-size: min(.92vw, 1.62dvh);
  font-weight: 700;
  display: flex;
  position: absolute;
  top: 80.8%;
  left: 50%;
  transform: translateX(-50%);
}

.featured-cta b {
  color: #082d73;
  background: linear-gradient(145deg,var(--color-featured-bg-42),var(--color-featured-bg-43));
  border-radius: 50%;
  place-items: center;
  width: min(3.25vw, 5.75dvh);
  height: 100%;
  margin-left: min(2.1vw, 3.7dvh);
  font-size: min(1.8vw, 3.18dvh);
  display: grid;
}

.featured-trust {
  border: 1px solid var(--color-featured-border-12);
  background: linear-gradient(90deg,var(--color-featured-bg-44),var(--color-featured-bg-21));
  border-radius: min(1.7vw, 3dvh);
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
  width: 82.4%;
  height: 9.8%;
  padding: 0 min(1.5vw, 2.65dvh);
  display: grid;
  position: absolute;
  top: 88.2%;
  bottom: auto;
  left: 8.8%;
  box-shadow: 0 14px 36px #143a6424;
}

.featured-trust-item {
  border-right: 1px solid var(--color-featured-border-6);
  grid-template-columns: min(3.5vw, 6.18dvh) 1fr;
  align-items: center;
  gap: min(.65vw, 1.15dvh);
  padding: 0 min(1.1vw, 1.95dvh);
  display: grid;
}

.featured-trust-item:last-child {
  border-right: 0;
}

.featured-trust-item > span {
  width: min(3.2vw, 5.65dvh);
  height: min(3.2vw, 5.65dvh);
  color: var(--color-featured-text-13);
  background: var(--color-featured-bg-45);
  border-radius: 50%;
  place-items: center;
  display: grid;
}

.featured-trust-item svg {
  width: 53%;
  height: 53%;
}

.featured-trust-item strong, .featured-trust-item small {
  display: block;
}

.featured-trust-item strong {
  font-family: var(--font-button),sans-serif;
  font-size: clamp(1.1rem, min(1.05vw, 1.9dvh), 1.25rem);
  line-height: 1.12;
}

.featured-trust-item small {
  color: var(--color-featured-text-14);
  margin-top: clamp(.2rem, .35dvh, .3rem);
  font-size: clamp(.88rem, min(.84vw, 1.55dvh), 1rem);
  line-height: 1.25;
}

@media (max-width: 850px) {
  .featured-properties {
    height: auto;
    min-height: 100dvh;
    padding: 3.5rem 1rem 2rem;
  }

  .featured-stage {
    width: 100%;
    height: auto;
    position: relative;
    inset: auto;
    transform: none;
  }

  .featured-heading, .featured-tabs, .featured-grid, .featured-cta, .featured-trust, .featured-dots {
    width: min(100%, 620px);
    height: auto;
    margin: 0 auto;
    position: relative;
    inset: auto;
    transform: none;
  }

  .featured-heading {
    text-align: left;
    padding-bottom: 1rem;
  }

  .featured-heading > p {
    font-size: .72rem;
  }

  .featured-heading h2 {
    font-size: clamp(2.6rem, 12vw, 4.4rem);
  }

  .featured-heading small {
    font-size: .88rem;
  }

  .featured-tabs {
    width: 210px;
    height: 46px;
    margin-bottom: 1.25rem;
  }

  .featured-tabs button {
    font-size: .8rem;
  }

  .featured-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .featured-card {
    height: 430px;
  }

  .featured-card-photo {
    height: 55%;
  }

  .featured-card-body {
    height: 45%;
    padding: 1rem;
  }

  .featured-price {
    font-size: 1.4rem;
  }

  .featured-card-body h3 {
    font-size: .88rem;
  }

  .featured-address {
    font-size: .72rem;
  }

  .featured-address svg {
    flex-basis: 14px;
    width: 14px;
    height: 14px;
  }

  .featured-meta {
    font-size: .68rem;
    bottom: 1rem;
    left: 1rem;
    right: 1rem;
  }

  .featured-meta svg {
    width: 14px;
    height: 14px;
  }

  .featured-nav {
    display: none;
  }

  .featured-dots {
    justify-content: center;
    margin: 1rem auto;
  }

  .featured-dots > button {
    width: 24px;
    height: 4px;
  }

  .featured-cta {
    width: max-content;
    height: 56px;
    margin: 1rem auto;
    padding-left: 1.5rem;
    font-size: .85rem;
  }

  .featured-cta b {
    width: 56px;
    margin-left: 1rem;
  }

  .featured-trust {
    border-radius: 1.2rem;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    padding: 1rem;
  }

  .featured-trust-item {
    border-right: 0;
    grid-template-columns: 46px 1fr;
    padding: .4rem;
  }

  .featured-trust-item > span {
    width: 42px;
    height: 42px;
  }

  .featured-trust-item strong {
    font-size: .78rem;
  }

  .featured-trust-item small {
    font-size: .68rem;
  }
}

/* [project]/app/highlighted-properties.css [app-client] (css) */
.highlighted-properties {
  isolation: isolate;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  color: #082d73;
  background: #edf6ff;
  width: 100%;
  height: 100dvh;
  min-height: 0;
  position: relative;
  overflow: hidden;
}

.highlighted-background {
  z-index: -3;
  object-fit: cover;
  object-position: 75% 32%;
  filter: saturate(.98) contrast(1.01);
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.highlighted-wash {
  z-index: -2;
  background: linear-gradient(#f1f8ff2e 0%, #ebf6ff61 54%, #edf6ffdb 88%), linear-gradient(90deg, #f2f8ff 0%, #f0f8fff0 37%, #ecf6ff47 70%, #e0f0ff38);
  position: absolute;
  inset: 0;
}

.highlighted-stage {
  width: min(100%, 177.4dvh);
  height: 100%;
  position: absolute;
  inset: 0 auto 0 50%;
  transform: translateX(-50%);
}

.highlighted-heading {
  z-index: 2;
  text-align: left;
  width: 43%;
  position: absolute;
  top: 5.5%;
  left: 5.8%;
}

.highlighted-heading > p {
  color: #c55200;
  font-family: var(--font-button),sans-serif;
  letter-spacing: .035em;
  font-size: clamp(.85rem, .9vw, 1.05rem);
  font-weight: 800;
}

.highlighted-heading > p > span {
  font-family: Segoe UI Symbol, Arial Unicode MS, sans-serif;
}

.highlighted-heading h2 {
  font-family: var(--font-button),sans-serif;
  letter-spacing: -.035em;
  text-transform: none;
  color: #082d73;
  margin-top: min(.55vw, .97dvh);
  font-size: min(4.55vw, 8.05dvh);
  font-weight: 700;
  line-height: .9;
}

.highlighted-heading h2 span, .highlighted-heading h2 strong {
  display: block;
}

.highlighted-heading h2 strong {
  color: #0876d9;
}

.highlighted-heading small {
  color: #405775;
  margin-top: min(.72vw, 1.27dvh);
  font-size: clamp(1rem, 1.15vw, 1.3rem);
  line-height: 1.3;
  display: block;
}

.highlighted-counter {
  z-index: 3;
  align-items: center;
  gap: min(.48vw, .85dvh);
  display: flex;
  position: absolute;
  top: 6.8%;
  right: 9.4%;
}

.highlighted-counter span {
  color: #0b61b5;
  -webkit-backdrop-filter: blur(14px) saturate(125%);
  backdrop-filter: blur(14px) saturate(125%);
  font: 700 clamp(.85rem,1vw,1.05rem)/1 var(--font-button),sans-serif;
  background: #ffffffb8;
  border: 1px solid #1a7cda57;
  border-radius: 99px;
  padding: min(.4vw, .7dvh) min(.85vw, 1.5dvh);
  box-shadow: 0 8px 22px #0837711c, inset 0 1px #fffffff0;
}

.highlighted-counter > div {
  align-items: center;
  gap: min(.48vw, .85dvh);
  display: flex;
}

.highlighted-counter > div button {
  cursor: pointer;
  background: #0b61b573;
  border: 0;
  border-radius: 99px;
  width: min(1.6vw, 2.8dvh);
  height: min(.34vw, .6dvh);
  padding: 0;
}

.highlighted-counter > div button.is-active {
  background: #078cff;
}

.highlighted-grid {
  z-index: 2;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: min(1.2vw, 2.12dvh);
  width: 87.6%;
  height: 46%;
  display: grid;
  position: absolute;
  top: 34%;
  left: 6.2%;
}

.highlighted-card {
  color: #082d73;
  cursor: pointer;
  background: linear-gradient(165deg, #fffffffa, #eef7fff5);
  border: 1px solid #2b7ed252;
  border-radius: min(1.2vw, 2.12dvh);
  min-width: 0;
  height: 100%;
  transition: transform .24s, border-color .24s, box-shadow .24s;
  overflow: hidden;
  box-shadow: 0 min(.9vw, 1.59dvh) min(2.1vw, 3.71dvh) #08346833, 0 2px 6px #08346814, inset 0 1px #fffffff2;
}

.highlighted-card:hover {
  border-color: #147ce0b8;
  transform: translateY(-1.5%);
  box-shadow: 0 min(.9vw, 1.59dvh) min(2.1vw, 3.71dvh) #06458b3b, 0 0 min(.75vw, 1.32dvh) #2197f733;
}

.highlighted-card:focus-visible {
  outline-offset: 3px;
  outline: 2px solid #63c6ff;
}

.highlighted-card--active {
  border-color: #1688e8;
  transform: translateY(-2.5%);
  box-shadow: 0 min(.9vw, 1.59dvh) min(2.1vw, 3.71dvh) #06458b40, 0 0 min(.85vw, 1.5dvh) #1688e857;
}

.highlighted-card--active:hover {
  transform: translateY(-2.5%);
}

.highlighted-photo {
  height: 58%;
  position: relative;
  overflow: hidden;
}

.highlighted-photo:after {
  content: "";
  background: linear-gradient(0deg, #f9fcfffa, #f9fcff47 52%, #0000 100%);
  position: absolute;
  inset: 82% 0 0;
}

.highlighted-photo img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.highlighted-photo button {
  z-index: 3;
  color: #0b4b91;
  -webkit-backdrop-filter: blur(12px) saturate(125%);
  backdrop-filter: blur(12px) saturate(125%);
  background: #ffffffbd;
  border: 1px solid #3a83cf75;
  border-radius: 50%;
  place-items: center;
  width: min(2.05vw, 3.62dvh);
  height: min(2.05vw, 3.62dvh);
  padding: 0;
  font-size: min(1.28vw, 2.26dvh);
  line-height: 1;
  display: grid;
  position: absolute;
  top: 5%;
  right: 5%;
  box-shadow: 0 6px 18px #042a5c29, inset 0 1px #fffffff2;
}

.highlighted-photo button svg {
  fill: #ffffff2e;
  stroke: currentColor;
  stroke-width: 2px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 52%;
  height: 52%;
}

.highlighted-photo button.highlighted-favorite--active {
  color: #ff8a00;
  background: #fff;
}

.highlighted-photo button.highlighted-favorite--active svg {
  fill: currentColor;
}

.highlighted-status, .highlighted-popular {
  z-index: 3;
  color: #fff;
  font: 800 clamp(.7rem,.85vw,.9rem)/1 var(--font-button),sans-serif;
  border-radius: 99px;
  padding: min(.3vw, .53dvh) min(.72vw, 1.27dvh);
  position: absolute;
  left: 5%;
}

.highlighted-status {
  background: #137df0;
  top: 6%;
}

.highlighted-status--orange {
  background: #ff7d12;
}

.highlighted-popular {
  background: #078cff;
  border-radius: 2px;
  bottom: 5%;
}

.highlighted-body {
  background: linear-gradient(#f9fcfff5, #eff7fffa);
  flex-direction: column;
  height: 42%;
  padding: min(.7vw, 1.24dvh) min(.85vw, 1.5dvh);
  display: flex;
  position: relative;
}

.highlighted-location {
  min-width: 0;
  font: 700 clamp(1rem,1.2vw,1.35rem)/1.16 var(--font-button),sans-serif;
  align-items: flex-start;
  gap: min(.32vw, .56dvh);
  display: flex;
}

.highlighted-location > svg {
  color: #e86500;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8px;
  flex: 0 0 min(.92vw, 1.6dvh);
  width: min(.92vw, 1.6dvh);
  height: min(.92vw, 1.6dvh);
}

.highlighted-location span {
  min-width: 0;
}

.highlighted-location span > b {
  -webkit-line-clamp: 2;
  font-weight: inherit;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

.highlighted-location small {
  color: #5e7189;
  margin-top: min(.12vw, .21dvh);
  font-size: 88%;
  font-weight: 400;
  display: block;
}

.highlighted-price {
  color: #0693ff;
  font: 800 clamp(1.35rem,1.6vw,1.85rem)/1 var(--font-button),sans-serif;
  border-bottom: 1px solid #ff6f00cc;
  margin-top: min(.42vw, .74dvh);
  padding-bottom: min(.42vw, .74dvh);
}

.highlighted-price small {
  color: #5d7087;
  font-size: 43%;
  font-weight: 500;
}

.highlighted-meta {
  color: #435a76;
  justify-content: space-between;
  gap: min(.4vw, .7dvh);
  margin-top: auto;
  padding-top: min(.4vw, .7dvh);
  font-size: clamp(.82rem, .94vw, 1.05rem);
  display: flex;
}

.highlighted-meta span {
  white-space: nowrap;
  align-items: center;
  gap: min(.32vw, .56dvh);
  display: flex;
}

.highlighted-meta svg {
  fill: none;
  stroke: #25adff;
  stroke-width: 1.7px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: min(.86vw, 1.52dvh);
  height: min(.86vw, 1.52dvh);
}

.highlighted-nav {
  z-index: 5;
  color: #0b4b91;
  -webkit-backdrop-filter: blur(14px) saturate(125%);
  backdrop-filter: blur(14px) saturate(125%);
  cursor: pointer;
  background: #ffffffad;
  border: 1px solid #3481cc61;
  border-radius: 50%;
  place-items: center;
  width: min(3.1vw, 5.48dvh);
  height: min(3.1vw, 5.48dvh);
  padding: 0;
  transition: transform .18s, background .18s, box-shadow .18s;
  display: grid;
  position: absolute;
  top: 55.5%;
  box-shadow: 0 10px 26px #052d6224, inset 0 1px #fffffff2;
}

.highlighted-nav--prev {
  left: 1.55%;
}

.highlighted-nav--next {
  right: 1.55%;
}

.highlighted-nav svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.5px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 42%;
  height: 42%;
}

.highlighted-nav:not(:disabled):hover {
  background: #ffffffe6;
  transform: translateY(-2px);
  box-shadow: 0 12px 28px #052d6233;
}

.highlighted-nav:disabled {
  opacity: .35;
  cursor: not-allowed;
}

.highlighted-cta {
  color: #fff;
  height: min(3.25vw, 5.75dvh);
  font: 800 clamp(.95rem,1vw,1.15rem)/1 var(--font-button),sans-serif;
  background: linear-gradient(90deg, #0b5cab, #063f86);
  border-radius: 99px;
  align-items: center;
  padding-left: min(2.5vw, 4.42dvh);
  transition: transform .18s, box-shadow .18s;
  display: flex;
  position: absolute;
  top: 82%;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 10px 26px #063d7e30, inset 0 1px #ffffff5c;
}

.highlighted-cta:hover {
  transform: translateX(-50%)translateY(-2px);
  box-shadow: 0 14px 30px #063d7e45, inset 0 1px #ffffff6b;
}

.highlighted-cta b {
  color: #082d73;
  background: linear-gradient(145deg, #ffad21, #ff7608);
  border-radius: 50%;
  place-items: center;
  width: min(3.25vw, 5.75dvh);
  height: 100%;
  margin-left: min(2vw, 3.53dvh);
  font-size: min(1.7vw, 3dvh);
  display: grid;
}

.highlighted-trust {
  color: #082d73;
  -webkit-backdrop-filter: blur(18px) saturate(128%);
  backdrop-filter: blur(18px) saturate(128%);
  background: linear-gradient(105deg, #ffffffbd, #e0efff9e 70%, #ffefe294);
  border: 1px solid #ffffffd1;
  border-radius: min(1.8vw, 3.18dvh);
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
  width: 88.4%;
  height: 7%;
  padding: 0 min(2vw, 3.53dvh);
  display: grid;
  position: absolute;
  top: 91%;
  left: 5.8%;
  box-shadow: 0 12px 32px #06316826, inset 0 1px #fffffff5;
}

.highlighted-trust-item {
  border-right: 1px solid #2c6cae2e;
  grid-template-columns: min(3vw, 5.3dvh) 1fr;
  align-items: center;
  gap: min(.65vw, 1.15dvh);
  padding: 0 min(1.15vw, 2.03dvh);
  display: grid;
}

.highlighted-trust-item:last-child {
  border-right: 0;
}

.highlighted-trust-item > span {
  color: #e7f5ff;
  background: linear-gradient(145deg, #165fc4, #0c3c8d);
  border-radius: 50%;
  place-items: center;
  width: min(2.75vw, 4.86dvh);
  height: min(2.75vw, 4.86dvh);
  display: grid;
  box-shadow: 0 8px min(1vw, 1.77dvh) #0b56aa38, inset 0 1px 1px #ffffff3d;
}

.highlighted-trust-item svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 52%;
  height: 52%;
}

.highlighted-trust-item strong, .highlighted-trust-item small {
  display: block;
}

.highlighted-trust-item strong {
  font: 700 clamp(.9rem,.95vw,1.1rem)/1.15 var(--font-button),sans-serif;
}

.highlighted-trust-item small {
  color: #65778d;
  margin-top: min(.22vw, .39dvh);
  font-size: clamp(.78rem, .85vw, .95rem);
}

@media (min-width: 851px) and (max-width: 1180px) {
  .highlighted-properties {
    height: auto;
    min-height: 100dvh;
    padding: 3.5rem 2rem 2rem;
  }

  .highlighted-stage {
    width: 100%;
    height: auto;
    position: relative;
    inset: auto;
    transform: none;
  }

  .highlighted-heading {
    width: 72%;
    position: relative;
    inset: auto;
  }

  .highlighted-heading > p {
    font-size: .72rem;
  }

  .highlighted-heading h2 {
    font-size: clamp(3.8rem, 8vw, 5.2rem);
  }

  .highlighted-heading small {
    font-size: .95rem;
  }

  .highlighted-counter {
    top: .5rem;
    right: 0;
  }

  .highlighted-counter span {
    font-size: .68rem;
  }

  .highlighted-counter > div button {
    width: 18px;
    height: 4px;
  }

  .highlighted-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    width: 100%;
    height: auto;
    margin-top: 2.25rem;
    position: relative;
    inset: auto;
  }

  .highlighted-card {
    height: 410px;
  }

  .highlighted-card:nth-child(n+3) {
    display: none;
  }

  .highlighted-photo button {
    width: 38px;
    height: 38px;
    font-size: 1.25rem;
  }

  .highlighted-status, .highlighted-popular {
    padding: .35rem .7rem;
    font-size: .62rem;
  }

  .highlighted-body {
    padding: .8rem 1rem;
  }

  .highlighted-location {
    font-size: .82rem;
  }

  .highlighted-location > svg {
    flex-basis: 14px;
    width: 14px;
    height: 14px;
  }

  .highlighted-price {
    font-size: 1.45rem;
  }

  .highlighted-meta {
    font-size: .7rem;
    bottom: .8rem;
    left: 1rem;
    right: 1rem;
  }

  .highlighted-meta svg {
    width: 14px;
    height: 14px;
  }

  .highlighted-nav {
    display: none;
  }

  .highlighted-cta {
    width: max-content;
    height: 56px;
    margin: 1.25rem auto 0;
    padding-left: 1.5rem;
    font-size: .8rem;
    position: relative;
    inset: auto;
    transform: none;
  }

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

  .highlighted-cta b {
    width: 56px;
    margin-left: 1.15rem;
    font-size: 1.6rem;
  }

  .highlighted-trust {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    width: 100%;
    height: auto;
    margin: 1.5rem auto 0;
    padding: 1rem;
    position: relative;
    inset: auto;
  }

  .highlighted-trust-item {
    grid-template-columns: 46px 1fr;
    padding: 0 .75rem;
  }

  .highlighted-trust-item:nth-child(2) {
    border-right: 0;
  }

  .highlighted-trust-item > span {
    width: 44px;
    height: 44px;
  }

  .highlighted-trust-item strong {
    font-size: .7rem;
  }

  .highlighted-trust-item small {
    font-size: .6rem;
  }
}

@media (max-width: 850px) {
  .highlighted-properties {
    height: auto;
    min-height: 100dvh;
    padding: 3.5rem 1rem 2rem;
  }

  .highlighted-background {
    object-position: 72% top;
    opacity: .76;
  }

  .highlighted-wash {
    background: linear-gradient(#f4faffe0, #ebf6ffb3 32%, #edf6ffeb);
  }

  .highlighted-stage {
    width: 100%;
    height: auto;
    position: relative;
    inset: auto;
    transform: none;
  }

  .highlighted-heading, .highlighted-counter, .highlighted-grid, .highlighted-cta, .highlighted-trust {
    width: min(100%, 620px);
    height: auto;
    margin: 0 auto;
    position: relative;
    inset: auto;
    transform: none;
  }

  .highlighted-heading {
    padding-bottom: 1rem;
  }

  .highlighted-heading > p {
    font-size: .7rem;
  }

  .highlighted-heading h2 {
    font-size: clamp(3rem, 14vw, 4.8rem);
  }

  .highlighted-heading small {
    font-size: .85rem;
  }

  .highlighted-heading small br {
    display: none;
  }

  .highlighted-counter {
    justify-content: flex-end;
    margin-bottom: 1rem;
  }

  .highlighted-counter span {
    font-size: .68rem;
  }

  .highlighted-counter > div button {
    width: 18px;
    height: 4px;
  }

  .highlighted-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .highlighted-card {
    height: 390px;
  }

  .highlighted-card:nth-child(n+2) {
    display: none;
  }

  .highlighted-card--active {
    transform: none;
  }

  .highlighted-photo button {
    width: 36px;
    height: 36px;
    font-size: 1.2rem;
  }

  .highlighted-status, .highlighted-popular {
    padding: .35rem .7rem;
    font-size: .62rem;
  }

  .highlighted-body {
    padding: .75rem 1rem;
  }

  .highlighted-location {
    font-size: .76rem;
  }

  .highlighted-location > svg {
    flex-basis: 14px;
    width: 14px;
    height: 14px;
  }

  .highlighted-price {
    font-size: 1.3rem;
  }

  .highlighted-meta {
    font-size: .64rem;
    bottom: .75rem;
    left: 1rem;
    right: 1rem;
  }

  .highlighted-meta svg {
    width: 14px;
    height: 14px;
  }

  .highlighted-nav {
    display: none;
  }

  .highlighted-cta {
    width: max-content;
    height: 54px;
    margin: 1rem auto 0;
    padding-left: 1.4rem;
    font-size: .78rem;
  }

  .highlighted-cta b {
    width: 54px;
    margin-left: 1rem;
    font-size: 1.5rem;
  }

  .highlighted-trust {
    border-radius: 1rem;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-top: 1.5rem;
    padding: 1rem;
  }

  .highlighted-trust-item {
    border: 0;
    grid-template-columns: 44px 1fr;
    padding: .3rem;
  }

  .highlighted-trust-item > span {
    width: 42px;
    height: 42px;
  }

  .highlighted-trust-item strong {
    font-size: .72rem;
  }

  .highlighted-trust-item small {
    font-size: .62rem;
  }
}

/* [project]/app/catalog.css [app-client] (css) */
html:has(.catalog-section) {
  scroll-snap-type: none;
}

.catalog-section {
  background: var(--color-catalog-bg);
  flex-direction: column;
  width: min(100% - 2.5rem, 112rem);
  min-height: 100dvh;
  margin: 0 auto;
  padding-top: 1.25rem;
  padding-bottom: 6rem;
  display: flex;
  position: relative;
}

.catalog-hero {
  isolation: isolate;
  background: #f3f9ffc7;
  border: 1px solid #b9d9fb;
  border-radius: 1.75rem;
  min-height: 0;
  padding: 2rem 1.75rem 1.6rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 18px 40px #0d488b1a;
}

.catalog-hero-building {
  z-index: -1;
  object-fit: cover;
  object-position: 50% 42%;
  opacity: .16;
  filter: saturate(.65) brightness(1.32);
  border-bottom-left-radius: 15rem;
  width: 25%;
  height: 68%;
  position: absolute;
  top: 0;
  right: 0;
}

.catalog-header {
  align-items: center;
  gap: 2.75rem;
  padding: 0 1.25rem;
  display: flex;
}

.catalog-logo {
  flex-shrink: 0;
  align-items: center;
  display: flex;
}

.catalog-logo img {
  object-fit: contain;
  width: 15rem;
  height: auto;
  max-height: 6.5rem;
  display: block;
}

.catalog-logo {
  border-right: 1px solid #bad3ec;
  min-height: 5rem;
  padding-right: 2.75rem;
}

.catalog-heading {
  flex-direction: column;
  gap: .3rem;
  display: flex;
}

.catalog-title {
  color: var(--color-catalog-hero-text);
  font-family: var(--font-body), sans-serif;
  letter-spacing: -.01em;
  font-size: clamp(2.4rem, 3.4vw, 3.7rem);
  font-weight: 700;
  line-height: 1.15;
}

.catalog-description {
  color: var(--color-catalog-hero-subtext);
  font-family: var(--font-body), sans-serif;
  font-size: clamp(1rem, 1.15vw, 1.35rem);
}

.catalog-toolbar {
  z-index: 2;
  border: 1px solid var(--color-catalog-filter-border);
  -webkit-backdrop-filter: blur(16px) saturate(130%);
  backdrop-filter: blur(16px) saturate(130%);
  background: #ffffffeb;
  border-radius: 1.8rem;
  margin-top: 1.65rem;
  padding: 1.15rem 1.5rem;
  position: relative;
  box-shadow: 0 14px 34px #195ba01f;
}

.catalog-filters--desktop {
  display: none;
}

@media (min-width: 900px) {
  .catalog-filters--desktop {
    grid-template-columns: 1.2fr repeat(5, 1fr);
    align-items: flex-end;
    gap: 1.4rem;
    display: grid;
  }

  .catalog-filters--mobile {
    display: none;
  }
}

.catalog-filters-toggle {
  color: var(--color-catalog-filter-text);
  font-family: var(--font-button), sans-serif;
  cursor: pointer;
  align-items: center;
  gap: .6rem;
  font-weight: 700;
  list-style: none;
  display: flex;
}

.catalog-filters-toggle::-webkit-details-marker {
  display: none;
}

.catalog-filters-toggle svg {
  width: 1.1rem;
  height: 1.1rem;
}

.catalog-filters-badge {
  background: var(--color-brand-accent);
  border-radius: 50%;
  width: .5rem;
  height: .5rem;
}

.catalog-filters-panel {
  flex-direction: column;
  gap: 1rem;
  padding: .25rem 0 .5rem;
  display: flex;
}

.catalog-filter-field {
  flex-direction: column;
  flex: 9rem;
  gap: .4rem;
  min-width: 9rem;
  display: flex;
}

.catalog-filter-label {
  color: var(--color-catalog-filter-text);
  font-family: var(--font-button), sans-serif;
  letter-spacing: .01em;
  align-items: center;
  gap: .4rem;
  font-size: clamp(.78rem, .85vw, .95rem);
  font-weight: 700;
  display: flex;
}

.catalog-filter-label svg {
  color: #0877e8;
  width: 1.45rem;
  height: 1.45rem;
}

.catalog-filter-input-wrap {
  border: 1px solid var(--color-catalog-filter-border);
  background: var(--color-surface);
  border-radius: 1rem;
  align-items: center;
  gap: .5rem;
  height: 3.55rem;
  padding: 0 1.1rem;
  display: flex;
}

.catalog-filter-input-wrap svg {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--color-catalog-filter-text);
  opacity: .6;
  flex-shrink: 0;
}

.catalog-filter-input-wrap input {
  width: 100%;
  height: 100%;
  color: var(--color-catalog-filter-text);
  font-family: var(--font-body), sans-serif;
  background: none;
  border: 0;
  outline: none;
  font-size: 1rem;
}

.catalog-filter-field .property-search-select-trigger {
  border-color: var(--color-catalog-filter-border);
  border-radius: 1rem;
  height: 3.55rem;
}

.catalog-results-bar {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .75rem 1rem;
  margin-top: 3rem;
  padding: 0 .2rem;
  display: flex;
}

.catalog-results-right {
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  display: flex;
}

.catalog-results-info {
  align-items: center;
  gap: .75rem;
  display: flex;
}

.catalog-results-icon {
  border: 1px solid var(--color-catalog-filter-border);
  color: #075dbb;
  border-radius: 1.1rem;
  flex-shrink: 0;
  place-items: center;
  width: 4.2rem;
  height: 4.2rem;
  display: grid;
}

.catalog-results-icon svg {
  width: 1.8rem;
  height: 1.8rem;
}

.catalog-results-count {
  color: var(--color-catalog-results-text);
  font-family: var(--font-button), sans-serif;
  font-size: 1.35rem;
  font-weight: 700;
}

.catalog-results-info small {
  color: var(--color-catalog-meta-text);
  font-size: 1rem;
}

.catalog-sort {
  color: var(--color-catalog-meta-text);
  font-family: var(--font-button), sans-serif;
  align-items: center;
  gap: .5rem;
  font-size: 1rem;
  font-weight: 600;
  display: flex;
}

.catalog-sort-control {
  min-width: 16rem;
}

.catalog-sort-control .property-search-select-trigger {
  border: 1px solid var(--color-catalog-filter-border);
  background: var(--color-surface);
  height: 3.5rem;
  color: var(--color-catalog-filter-text);
  font-family: var(--font-body), sans-serif;
  border-radius: .9rem;
  padding: 0 1.25rem;
  font-size: 1rem;
}

.catalog-sort-control .property-search-select-caret {
  right: 1rem;
}

.catalog-active-filters {
  flex-wrap: wrap;
  gap: .5rem;
  display: flex;
}

.catalog-badge {
  border: 1px solid var(--color-catalog-filter-border);
  background: var(--color-catalog-badge-bg);
  color: var(--color-catalog-filter-text);
  font-family: var(--font-button), sans-serif;
  cursor: pointer;
  border-radius: 9999px;
  align-items: center;
  gap: .4rem;
  padding: .35rem .7rem;
  font-size: .78rem;
  font-weight: 600;
  transition: background .15s;
  display: inline-flex;
}

.catalog-badge:hover {
  background: var(--color-catalog-tab-bg);
}

.catalog-badge svg:first-child {
  width: .85rem;
  height: .85rem;
  color: var(--color-brand-accent);
}

.catalog-badge svg:last-child {
  opacity: .6;
  width: .7rem;
  height: .7rem;
}

.catalog-grid {
  grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr));
  gap: 1.25rem;
  margin-top: 1rem;
  display: grid;
}

.catalog-card {
  color: inherit;
  border: 1px solid var(--color-catalog-card-border);
  background: linear-gradient(165deg, var(--color-catalog-card-bg-1), var(--color-catalog-card-bg-2));
  box-shadow: 0 14px 30px var(--color-catalog-card-shadow);
  border-radius: 1.25rem;
  flex-direction: column;
  text-decoration: none;
  transition: transform .22s, border-color .22s, box-shadow .22s;
  display: flex;
  overflow: hidden;
}

.catalog-card:hover {
  border-color: var(--color-catalog-card-hover-border);
  box-shadow: 0 18px 38px var(--color-catalog-card-hover-shadow);
  transform: translateY(-4px);
}

.catalog-card-photo {
  aspect-ratio: 16 / 10;
  position: relative;
  overflow: hidden;
}

.catalog-card-photo img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform .4s;
}

.catalog-card:hover .catalog-card-photo img {
  transform: scale(1.05);
}

.catalog-status {
  color: var(--color-surface);
  font-family: var(--font-button), sans-serif;
  letter-spacing: .04em;
  border-radius: 9999px;
  padding: .3rem .75rem;
  font-size: .68rem;
  font-weight: 700;
  position: absolute;
  top: .85rem;
  left: .85rem;
}

.catalog-status--blue {
  background: var(--color-catalog-status-blue);
}

.catalog-status--orange {
  background: var(--color-catalog-status-orange);
}

.catalog-popular {
  background: var(--color-catalog-status-orange);
  color: var(--color-surface);
  letter-spacing: .02em;
  white-space: nowrap;
  border-radius: 9999px;
  padding: .3rem .65rem;
  font-size: .62rem;
  font-weight: 700;
  position: absolute;
  top: .85rem;
  right: 3.1rem;
}

.catalog-card-photo button {
  background: var(--color-catalog-favorite-bg);
  width: 2.15rem;
  height: 2.15rem;
  color: var(--color-catalog-hero-text);
  cursor: pointer;
  -webkit-backdrop-filter: blur(10px) saturate(130%);
  backdrop-filter: blur(10px) saturate(130%);
  border: 0;
  border-radius: 50%;
  place-items: center;
  transition: color .18s;
  display: grid;
  position: absolute;
  top: .7rem;
  right: .7rem;
}

.catalog-card-photo button svg {
  width: 1.05rem;
  height: 1.05rem;
}

.catalog-card-photo button.catalog-favorite--active {
  color: var(--color-catalog-favorite-active);
}

.catalog-card-photo button.catalog-favorite--active svg {
  fill: currentColor;
}

.catalog-card-body {
  flex-direction: column;
  gap: .3rem;
  padding: .9rem 1rem 1rem;
  display: flex;
}

.catalog-card-location {
  color: var(--color-catalog-meta-text);
  align-items: center;
  gap: .35rem;
  font-size: .78rem;
  display: flex;
}

.catalog-card-location svg {
  width: .85rem;
  height: .85rem;
  color: var(--color-brand-accent);
  flex-shrink: 0;
}

.catalog-card-body h3 {
  color: var(--color-catalog-hero-text);
  font-family: var(--font-button), sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
}

.catalog-price {
  border-bottom: 1px solid var(--color-brand-accent);
  color: var(--color-catalog-price);
  font-family: var(--font-button), sans-serif;
  width: fit-content;
  margin-top: .15rem;
  padding-bottom: .4rem;
  font-size: 1.15rem;
  font-weight: 700;
}

.catalog-price small {
  opacity: .75;
  margin-left: .25rem;
  font-size: .65rem;
  font-weight: 600;
}

.catalog-meta {
  border-top: 1px solid var(--color-catalog-card-border);
  grid-template-columns: repeat(4, 1fr);
  gap: .5rem;
  margin-top: .4rem;
  padding-top: .55rem;
  display: grid;
}

.catalog-meta-item {
  flex-direction: column;
  gap: .15rem;
  min-width: 0;
  display: flex;
}

.catalog-meta-item span {
  color: var(--color-catalog-meta-text);
  align-items: center;
  gap: .25rem;
  font-size: .8rem;
  font-weight: 700;
  display: flex;
}

.catalog-meta-item svg {
  width: .85rem;
  height: .85rem;
  color: var(--color-brand-accent);
  flex-shrink: 0;
}

.catalog-meta-item small {
  color: var(--color-catalog-tag-text);
  overflow-wrap: break-word;
  font-size: .62rem;
  line-height: 1.15;
}

.catalog-empty {
  border: 1px dashed var(--color-catalog-card-border);
  background: var(--color-catalog-tab-bg);
  color: var(--color-catalog-empty-text);
  font-family: var(--font-body), sans-serif;
  text-align: center;
  border-radius: 1.25rem;
  flex: 1;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-top: 3rem;
  padding: 3rem 1.5rem;
  font-size: 1.1rem;
  display: flex;
}

.catalog-empty-icon {
  border: 1px solid var(--color-catalog-card-border);
  width: 3.5rem;
  height: 3.5rem;
  color: var(--color-brand-accent);
  border-radius: 50%;
  place-items: center;
  display: grid;
}

.catalog-empty-icon svg {
  width: 1.6rem;
  height: 1.6rem;
}

@media (max-width: 899px) {
  .catalog-section {
    width: min(100% - 2rem, 46rem);
    padding-top: 1rem;
  }

  .catalog-hero {
    border-radius: 1.35rem;
    min-height: 0;
    padding: 1.5rem;
  }

  .catalog-hero-building {
    opacity: .09;
    width: 46%;
    height: 13rem;
  }

  .catalog-header {
    align-items: flex-start;
    gap: 1rem;
    padding: 0;
  }

  .catalog-logo {
    min-height: 0;
    padding-right: 1rem;
  }

  .catalog-logo img {
    width: 7rem;
    max-height: 4.5rem;
  }

  .catalog-title {
    font-size: clamp(1.65rem, 6vw, 2.4rem);
  }

  .catalog-description {
    font-size: .92rem;
  }

  .catalog-toolbar {
    border-radius: 1rem;
    margin-top: 1.5rem;
    padding: 1rem;
  }

  .catalog-results-bar {
    margin-top: 1.5rem;
  }

  .catalog-results-icon {
    width: 3.25rem;
    height: 3.25rem;
  }

  .catalog-results-count {
    font-size: 1rem;
  }

  .catalog-results-info small {
    font-size: .8rem;
  }

  .catalog-results-right, .catalog-sort {
    width: 100%;
  }

  .catalog-sort-control {
    flex: 1;
    min-width: 0;
  }
}

@media (max-width: 640px) {
  .catalog-header {
    flex-direction: column;
  }

  .catalog-logo {
    border-bottom: 1px solid #bad3ec;
    border-right: 0;
    padding: 0 0 .8rem;
  }

  .catalog-grid {
    grid-template-columns: 1fr;
  }

  .catalog-filter-field {
    flex-basis: 100%;
  }
}

@media (min-width: 900px) and (max-height: 820px) {
  .catalog-section {
    padding-top: .85rem;
  }

  .catalog-hero {
    padding: 1.25rem 1.5rem 1rem;
  }

  .catalog-header {
    gap: 1.5rem;
  }

  .catalog-logo {
    min-height: 0;
    padding-right: 1.5rem;
  }

  .catalog-logo img {
    width: 9rem;
    max-height: 4rem;
  }

  .catalog-title {
    font-size: clamp(1.7rem, 2.4vw, 2.3rem);
  }

  .catalog-description {
    font-size: .9rem;
  }

  .catalog-toolbar {
    margin-top: 1.1rem;
    padding: .9rem 1.1rem;
  }

  .catalog-filter-input-wrap, .catalog-filter-field .property-search-select-trigger, .catalog-sort-control .property-search-select-trigger {
    height: 2.6rem;
  }

  .catalog-filter-label {
    font-size: .72rem;
  }

  .catalog-results-bar {
    margin-top: 1.5rem;
  }

  .catalog-results-icon {
    width: 3rem;
    height: 3rem;
  }

  .catalog-results-count {
    font-size: 1rem;
  }

  .catalog-grid {
    gap: 1.1rem;
    margin-top: 1rem;
  }
}

/* [project]/app/property-detail.css [app-client] (css) */
html:has(.detail-section) {
  scroll-snap-type: none;
}

.detail-section {
  --detail-blue: #071f8e;
  --detail-bright: #0879ef;
  width: min(100%, 1700px);
  color: var(--detail-blue);
  margin: auto;
  padding-bottom: 5rem;
  position: relative;
}

.detail-masthead {
  border-bottom: 1px solid #cbd9ed;
  align-items: center;
  gap: 5rem;
  height: 126px;
  padding: 0 3rem;
  display: flex;
  position: relative;
  overflow: hidden;
}

.detail-logo {
  z-index: 1;
  flex: none;
}

.detail-logo img {
  object-fit: contain;
  width: 230px;
  max-height: 78px;
  display: block;
}

.detail-breadcrumb {
  z-index: 1;
  align-items: center;
  gap: 1.45rem;
  font-size: 1.05rem;
  font-weight: 500;
  display: flex;
}

.detail-breadcrumb a {
  align-items: center;
  gap: .6rem;
  display: flex;
}

.detail-breadcrumb svg {
  color: #111;
  width: 1.45rem;
  height: 1.45rem;
}

.detail-breadcrumb b {
  font-size: 1.55rem;
  font-weight: 400;
}

.detail-skyline {
  opacity: .55;
  filter: grayscale() brightness(1.55);
  background: url("/uploads/property-torre-white.webp") right 29% / 42% no-repeat;
  border-bottom: 2px solid #b9c8e8;
  width: 42%;
  height: 88%;
  position: absolute;
  bottom: 0;
  right: 0;
}

.detail-layout {
  grid-template-columns: minmax(0, 1.85fr) minmax(310px, 1fr) minmax(290px, .76fr);
  gap: 2.7rem;
  padding: 3rem 2.6rem 0;
  display: grid;
}

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

.detail-gallery-main {
  border-radius: 1.25rem;
  height: 600px;
  position: relative;
  overflow: hidden;
}

.detail-gallery-main > img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.detail-gallery-main .catalog-status {
  padding: .65rem 1.25rem;
  font-size: .95rem;
  top: 1.4rem;
  left: 1.2rem;
}

.detail-gallery-arrow {
  width: 50px;
  height: 50px;
  color: var(--color-catalog-hero-text, var(--detail-blue));
  background: var(--color-catalog-favorite-bg, #ffffffc7);
  -webkit-backdrop-filter: blur(10px) saturate(130%);
  backdrop-filter: blur(10px) saturate(130%);
  cursor: pointer;
  border: 0;
  border-radius: 50%;
  place-items: center;
  transition: background .15s;
  display: grid;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.detail-gallery-arrow:hover {
  background: #fff;
}

.detail-gallery-arrow--prev {
  left: 1.2rem;
}

.detail-gallery-arrow--next {
  right: 1.2rem;
}

.detail-photo-count {
  color: #fff;
  background: #0a0d14c2;
  border-radius: .7rem;
  align-items: center;
  gap: .6rem;
  padding: .8rem 1rem;
  font-size: 1rem;
  display: flex;
  position: absolute;
  bottom: 1rem;
  right: 1.2rem;
}

.detail-photo-count svg {
  width: 1.5rem;
  height: 1.5rem;
}

.detail-gallery-thumbs {
  grid-template-columns: repeat(5, 1fr);
  gap: .7rem;
  margin-top: 1.4rem;
  display: grid;
}

.detail-gallery-thumbs button {
  opacity: .8;
  cursor: pointer;
  border: 2px solid #0000;
  border-radius: 1rem;
  height: 126px;
  padding: 0;
  overflow: hidden;
}

.detail-gallery-thumbs button.is-active {
  opacity: 1;
  border-color: #ff4e11;
}

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

.detail-main {
  min-width: 0;
  padding-top: 1rem;
}

.detail-location {
  color: #092491;
  align-items: center;
  gap: .85rem;
  font-size: 1rem;
  display: flex;
}

.detail-location svg {
  color: #ff4e11;
  width: 1.75rem;
  height: 1.75rem;
}

.detail-title {
  font: 700 clamp(2.2rem,2.75vw,3.25rem)/1.15 var(--font-button),sans-serif;
  color: #071e8d;
  margin-top: 1.8rem;
}

.detail-price {
  width: max-content;
  color: var(--detail-bright);
  font: 700 clamp(2rem,2.5vw,2.8rem)/1 var(--font-button),sans-serif;
  border-bottom: 2px solid #ff4e11;
  margin-top: 1.8rem;
  padding-bottom: 1.4rem;
}

.detail-price small {
  font-size: .78rem;
}

.detail-tags-text {
  align-items: center;
  gap: .65rem;
  margin-top: 1.8rem;
  font-size: 1rem;
  display: flex;
}

.detail-tags-text i {
  background: currentColor;
  border-radius: 50%;
  width: 4px;
  height: 4px;
}

.detail-chips {
  flex-wrap: wrap;
  gap: .6rem;
  margin-top: 1.6rem;
  display: flex;
}

.detail-chips span {
  background: #f0f4ff;
  border-radius: 999px;
  align-items: center;
  gap: .55rem;
  padding: .7rem 1rem;
  font-size: .78rem;
  display: flex;
}

.detail-chips svg {
  width: 1.15rem;
  height: 1.15rem;
}

.detail-facts {
  grid-template-columns: repeat(2, 1fr);
  gap: .7rem;
  margin-top: 1.5rem;
  display: grid;
}

.detail-fact {
  border: 1px solid #d7e0f1;
  border-radius: 1rem;
  flex-direction: column;
  justify-content: center;
  min-height: 158px;
  padding: 1.2rem;
  display: flex;
}

.detail-fact > svg {
  width: 2rem;
  height: 2rem;
  margin-bottom: 1rem;
}

.detail-fact small {
  font-size: .9rem;
}

.detail-fact strong {
  margin-top: .55rem;
  font-size: 1rem;
  line-height: 1.3;
}

.detail-fact:last-child strong {
  color: var(--detail-bright);
}

.detail-cta {
  background: #ffffffb8;
  border: 1px solid #d5ddec;
  border-radius: 1.35rem;
  align-self: stretch;
  padding: 2.2rem 1.8rem;
}

.detail-cta-eyebrow {
  text-transform: uppercase;
  font: 500 1rem var(--font-button),sans-serif;
}

.detail-cta h2 {
  font: 700 2.35rem var(--font-button),sans-serif;
  margin-top: 1.6rem;
}

.detail-cta-intro {
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
  line-height: 1.75;
  display: flex;
}

.detail-cta-intro > span, .detail-cta-benefits > div > span {
  background: #f1f5ff;
  border-radius: 50%;
  flex: 0 0 64px;
  place-items: center;
  width: 64px;
  height: 64px;
  display: grid;
}

.detail-cta-intro svg {
  width: 2rem;
  height: 2rem;
}

.detail-cta-button {
  color: #fff;
  background: var(--color-brand-accent);
  height: 56px;
  font: 500 1.05rem var(--font-button),sans-serif;
  border-radius: .85rem;
  justify-content: center;
  align-items: center;
  gap: .7rem;
  margin-top: 4rem;
  transition: background .15s, transform .15s;
  display: flex;
  box-shadow: 0 10px 22px #f9731647;
}

.detail-cta-button:hover {
  background: #e05f0c;
  transform: translateY(-1px);
}

.detail-cta-button svg {
  width: 1.5rem;
  height: 1.5rem;
}

.detail-cta-benefits {
  flex-direction: column;
  gap: 2rem;
  margin-top: 3rem;
  display: flex;
}

.detail-cta-benefits > div {
  align-items: center;
  gap: 1rem;
  display: flex;
}

.detail-cta-benefits > div > span {
  flex-basis: 48px;
  width: 48px;
  height: 48px;
}

.detail-cta-benefits svg {
  width: 1.5rem;
  height: 1.5rem;
}

.detail-cta-benefits p {
  flex-direction: column;
  gap: .35rem;
  display: flex;
}

.detail-cta-benefits strong {
  font-size: .9rem;
}

.detail-cta-benefits small {
  font-size: .8rem;
}

.detail-info-card {
  background: #fff;
  border: 1px solid #e1e8f5;
  border-radius: 1.5rem;
  margin: 3rem 2.6rem 0;
  padding: 2.4rem 2.6rem;
  box-shadow: 0 20px 44px #081e5014;
}

.detail-info-grid {
  grid-template-columns: 1fr 1.35fr .95fr;
  gap: 2.6rem;
  display: grid;
}

.detail-info-grid h2 {
  font: 700 1.35rem var(--font-button),sans-serif;
  color: #071e8d;
}

.detail-info-rule {
  background: #ff4e11;
  border-radius: 2px;
  width: 2.2rem;
  height: 3px;
  margin-top: .55rem;
  display: block;
}

.detail-description-text {
  color: #50617c;
  white-space: pre-line;
  margin-top: 1.1rem;
  font-size: .95rem;
  line-height: 1.75;
}

.detail-contact-box {
  background: #f4f8ff;
  border: 1px solid #d7e0f1;
  border-radius: 1rem;
  align-items: flex-start;
  gap: .9rem;
  margin-top: 1.6rem;
  padding: 1.1rem 1.2rem;
  display: flex;
}

.detail-contact-icon {
  width: 46px;
  height: 46px;
  color: var(--detail-bright);
  background: #e4edff;
  border-radius: 50%;
  flex: 0 0 46px;
  place-items: center;
  display: grid;
}

.detail-contact-icon svg {
  width: 1.4rem;
  height: 1.4rem;
}

.detail-contact-body {
  flex-direction: column;
  gap: .55rem;
  display: flex;
}

.detail-contact-body > strong {
  color: #071e8d;
  font-size: .95rem;
}

.detail-contact-body a {
  color: #092491;
  align-items: center;
  gap: .5rem;
  font-size: .92rem;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
}

.detail-contact-body a:hover {
  color: var(--color-brand-accent);
}

.detail-contact-body a svg {
  color: #25a95a;
  width: 1.1rem;
  height: 1.1rem;
}

.detail-contact-button {
  color: #071e8d;
  background: #fff;
  border: 1px solid #d7e0f1;
  border-radius: .75rem;
  justify-content: space-between;
  margin-top: .4rem;
  padding: .75rem 1.1rem;
  font-weight: 600;
}

.detail-contact-button:hover {
  color: var(--color-brand-accent);
  border-color: var(--color-brand-accent);
}

.detail-contact-button svg {
  width: 1.1rem;
  height: 1.1rem;
}

.detail-feature-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: .9rem;
  margin-top: 1.1rem;
  display: grid;
}

.detail-feature {
  text-align: center;
  border: 1px solid #e1e8f5;
  border-radius: 1rem;
  flex-direction: column;
  align-items: center;
  gap: .5rem;
  padding: 1rem .5rem;
  display: flex;
}

.detail-feature-icon {
  width: 2.6rem;
  height: 2.6rem;
  color: var(--detail-bright);
  background: #eef3ff;
  border-radius: 50%;
  place-items: center;
  display: grid;
}

.detail-feature-icon svg {
  width: 1.35rem;
  height: 1.35rem;
}

.detail-feature small {
  color: #5c6b85;
  font-size: .78rem;
}

.detail-feature strong {
  color: #0c1e46;
  font-size: 1.05rem;
}

.detail-specs-list {
  grid-template-columns: 1fr 1fr;
  gap: 0 1.5rem;
  margin-top: 1.3rem;
  display: grid;
}

.detail-specs-list-col {
  flex-direction: column;
  display: flex;
}

.detail-spec {
  border-bottom: 1px solid #eef1f8;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: .6rem 0;
  font-size: .85rem;
  display: flex;
}

.detail-spec dt {
  color: #5c6b85;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.detail-spec dt svg {
  width: 1rem;
  height: 1rem;
  color: var(--detail-bright);
}

.detail-spec dd {
  color: #0c1e46;
  text-align: right;
  font-weight: 600;
}

.detail-location-eyebrow {
  color: #ff4e11;
  align-items: center;
  gap: .5rem;
  font-size: .85rem;
  font-weight: 600;
  display: flex;
}

.detail-location-eyebrow svg {
  width: 1.1rem;
  height: 1.1rem;
}

.detail-location-col h3 {
  font: 700 1.25rem/1.25 var(--font-button),sans-serif;
  color: #071e8d;
  margin-top: .4rem;
}

.detail-map-frame {
  border: 1px solid #d7e0f1;
  border-radius: 1.1rem;
  margin-top: 1.1rem;
  position: relative;
  overflow: hidden;
}

.detail-map-frame iframe {
  border: 0;
  width: 100%;
  height: 220px;
  display: block;
}

.detail-map-frame > img {
  object-fit: cover;
  filter: saturate(.72) brightness(1.08) contrast(.92);
  width: 100%;
  height: 220px;
  display: block;
}

.detail-map-link {
  color: #071e8d;
  border: 1px solid #d7e0f1;
  border-radius: .75rem;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  margin-top: .8rem;
  padding: .65rem 1rem;
  font-size: .88rem;
  font-weight: 600;
  display: flex;
}

.detail-map-link:hover {
  color: var(--color-brand-accent);
  border-color: var(--color-brand-accent);
}

.detail-map-link svg {
  width: 1.05rem;
  height: 1.05rem;
}

.detail-amenities-row {
  border-top: 1px solid #eef1f8;
  align-items: stretch;
  gap: 2rem;
  margin-top: 2.4rem;
  padding-top: 2.2rem;
  display: flex;
}

.detail-amenities-block {
  flex: 1;
  min-width: 0;
}

.detail-amenities-grid {
  flex-wrap: wrap;
  gap: .7rem;
  margin-top: 1.1rem;
  display: flex;
}

.detail-amenity {
  border: 1px solid #d7e0f1;
  border-radius: .8rem;
  align-items: center;
  gap: .55rem;
  padding: .7rem 1rem;
  display: flex;
}

.detail-amenity-icon {
  width: 1.4rem;
  height: 1.4rem;
  color: var(--detail-bright);
}

.detail-amenity-icon svg {
  width: 100%;
  height: 100%;
}

.detail-amenities-photo {
  object-fit: cover;
  border-radius: 1.1rem;
  flex: 0 0 clamp(220px, 22vw, 320px);
  width: clamp(220px, 22vw, 320px);
}

@media (max-width: 1200px) {
  .detail-layout {
    grid-template-columns: 1.55fr 1fr;
  }

  .detail-cta {
    grid-column: 1 / -1;
  }

  .detail-gallery-main {
    height: 500px;
  }

  .detail-cta-benefits {
    grid-template-columns: repeat(3, 1fr);
    display: grid;
  }

  .detail-info-grid {
    grid-template-columns: 1fr 1fr;
  }

  .detail-location-col {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .detail-masthead {
    flex-wrap: wrap;
    gap: 1rem;
    height: auto;
    min-height: 110px;
    padding: 1.2rem;
  }

  .detail-logo img {
    width: 160px;
  }

  .detail-breadcrumb {
    gap: .55rem;
    font-size: .78rem;
  }

  .detail-breadcrumb svg {
    width: 1rem;
    height: 1rem;
  }

  .detail-skyline {
    display: none;
  }

  .detail-layout {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding: 1.5rem 1rem 0;
  }

  .detail-gallery-main {
    aspect-ratio: 4 / 3;
    height: auto;
  }

  .detail-gallery-thumbs {
    display: flex;
    overflow-x: auto;
  }

  .detail-gallery-thumbs button {
    flex: 0 0 90px;
    height: 72px;
  }

  .detail-main {
    padding-top: 0;
  }

  .detail-title {
    margin-top: 1rem;
    font-size: 2rem;
  }

  .detail-price {
    font-size: 1.8rem;
  }

  .detail-fact {
    min-height: 125px;
  }

  .detail-cta {
    grid-column: auto;
  }

  .detail-cta-button {
    margin-top: 2rem;
  }

  .detail-cta-benefits {
    display: flex;
  }

  .detail-info-card {
    margin: 2rem 1rem 0;
    padding: 1.5rem;
  }

  .detail-info-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .detail-feature-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .detail-specs-list {
    grid-template-columns: 1fr;
  }

  .detail-photo-count {
    font-size: .8rem;
  }

  .detail-amenities-row {
    flex-direction: column;
  }

  .detail-amenities-photo {
    flex-basis: auto;
    width: 100%;
    height: 180px;
  }
}

@media (min-width: 1201px) {
  .detail-masthead {
    height: 13dvh;
    min-height: 0;
  }

  .detail-breadcrumb {
    font-size: min(1.05rem, 1.9dvh);
  }

  .detail-layout {
    gap: min(2.7rem, 2.8vw);
    height: 87dvh;
    padding: 4.2dvh 2.6rem 2.2dvh;
  }

  .detail-gallery {
    grid-template-rows: minmax(0, 1fr) 12.8dvh;
    gap: 1.4dvh;
    min-height: 0;
    display: grid;
  }

  .detail-gallery-main {
    height: auto;
    min-height: 0;
  }

  .detail-gallery-thumbs {
    min-height: 0;
    margin-top: 0;
  }

  .detail-gallery-thumbs button {
    height: 100%;
    min-height: 0;
  }

  .detail-gallery-arrow {
    width: 5.4dvh;
    height: 5.4dvh;
  }

  .detail-gallery-arrow svg {
    width: 2.3dvh;
    height: 2.3dvh;
  }

  .detail-photo-count {
    font-size: 1.8dvh;
  }

  .detail-photo-count svg {
    width: 2.5dvh;
    height: 2.5dvh;
  }

  .detail-main {
    min-height: 0;
    padding-top: 1dvh;
    overflow: hidden;
  }

  .detail-location {
    font-size: 1.8dvh;
  }

  .detail-location svg {
    width: 2.8dvh;
    height: 2.8dvh;
  }

  .detail-title {
    margin-top: 2.4dvh;
    font-size: min(2.75vw, 5.2dvh);
  }

  .detail-price {
    margin-top: 2.4dvh;
    padding-bottom: 1.8dvh;
    font-size: min(2.5vw, 4.6dvh);
  }

  .detail-tags-text {
    margin-top: 2.4dvh;
    font-size: 1.8dvh;
  }

  .detail-chips {
    margin-top: 2dvh;
  }

  .detail-chips span {
    padding-top: 1dvh;
    padding-bottom: 1dvh;
    font-size: 1.45dvh;
  }

  .detail-chips svg {
    width: 1.9dvh;
    height: 1.9dvh;
  }

  .detail-facts {
    grid-template-rows: repeat(2, minmax(0, 1fr));
    height: 32dvh;
    margin-top: 2dvh;
  }

  .detail-fact {
    min-height: 0;
    padding-top: 1.8dvh;
    padding-bottom: 1.8dvh;
  }

  .detail-fact > svg {
    width: 3.2dvh;
    height: 3.2dvh;
    margin-bottom: 1.2dvh;
  }

  .detail-fact small {
    font-size: 1.6dvh;
  }

  .detail-fact strong {
    margin-top: .7dvh;
    font-size: 1.75dvh;
  }

  .detail-cta {
    min-height: 0;
    padding-top: 3dvh;
    padding-bottom: 3dvh;
    overflow: hidden;
  }

  .detail-cta-eyebrow {
    font-size: 1.7dvh;
  }

  .detail-cta h2 {
    margin-top: 2dvh;
    font-size: 4dvh;
  }

  .detail-cta-intro {
    margin-top: 2.5dvh;
    font-size: 1.65dvh;
    line-height: 1.6;
  }

  .detail-cta-intro > span {
    flex-basis: 6.7dvh;
    width: 6.7dvh;
    height: 6.7dvh;
  }

  .detail-cta-button {
    height: 5.8dvh;
    margin-top: 4dvh;
    font-size: 1.75dvh;
  }

  .detail-cta-button svg {
    width: 2.1dvh;
    height: 2.1dvh;
  }

  .detail-whatsapp-button {
    height: 5.8dvh;
    font-size: 1.75dvh;
  }

  .detail-whatsapp-button svg {
    width: 2.1dvh;
    height: 2.1dvh;
  }

  .detail-cta-benefits {
    gap: 2.3dvh;
    margin-top: 3.5dvh;
  }

  .detail-cta-benefits > div > span {
    flex-basis: 5dvh;
    width: 5dvh;
    height: 5dvh;
  }

  .detail-cta-benefits strong {
    font-size: 1.55dvh;
  }

  .detail-cta-benefits small {
    font-size: 1.38dvh;
  }

  .detail-section {
    width: 100%;
    max-width: none;
  }

  .detail-masthead {
    background: #fbfcff;
    gap: 3rem;
    height: 10.5dvh;
    padding: 0 3rem;
  }

  .detail-logo img {
    width: min(200px, 21dvh);
    max-height: 7.5dvh;
  }

  .detail-breadcrumb {
    gap: 1.15rem;
    font-size: min(1rem, 1.75dvh);
  }

  .detail-breadcrumb svg {
    width: 2.1dvh;
    height: 2.1dvh;
  }

  .detail-breadcrumb b {
    font-size: 2.2dvh;
  }

  .detail-skyline {
    opacity: 1;
    filter: none;
    background: url("/uploads/property-detail-skyline-v1.png") 100% / cover no-repeat;
    border: 0;
    width: 52%;
    height: 100%;
    right: 0;
  }

  .detail-layout {
    height: 89.5dvh;
  }

  .detail-main {
    padding-top: 0;
    display: block;
  }

  .detail-facts {
    height: 34dvh;
    min-height: 0;
  }

  .detail-cta {
    flex-direction: column;
    display: flex;
  }

  .detail-cta-intro {
    flex: none;
  }

  .detail-cta-button {
    flex: none;
    margin-top: 3dvh;
  }

  .detail-cta-benefits {
    flex: none;
    justify-content: flex-start;
    gap: 2.2dvh;
    min-height: 0;
    margin-top: 3dvh;
  }
}

.detail-form-copy {
  color: #34466c;
  margin-top: 1rem;
  font-size: .9rem;
  line-height: 1.5;
}

.detail-lead-form {
  flex-direction: column;
  gap: .75rem;
  margin-top: 1.2rem;
  display: flex;
}

.detail-lead-form label {
  color: #092491;
  flex-direction: column;
  gap: .35rem;
  font-size: .75rem;
  font-weight: 600;
  display: flex;
}

.detail-lead-form label > span {
  align-items: center;
  gap: .4rem;
  display: flex;
}

.detail-lead-form label > span svg {
  color: #0879ef;
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
}

.detail-lead-form input, .detail-lead-form textarea {
  color: #102450;
  width: 100%;
  font: 400 .88rem var(--font-body),sans-serif;
  background: #fff;
  border: 1px solid #cfdaed;
  border-radius: .7rem;
  outline: 0;
  transition: border-color .15s, box-shadow .15s;
}

.detail-lead-form input {
  height: 2.8rem;
  padding: 0 .85rem;
}

.detail-lead-form textarea {
  resize: vertical;
  min-height: 4.8rem;
  padding: .7rem .85rem;
}

.detail-lead-form input:focus, .detail-lead-form textarea:focus {
  border-color: #0879ef;
  box-shadow: 0 0 0 3px #0879ef1f;
}

.detail-lead-form .detail-cta-button {
  cursor: pointer;
  border: 0;
  width: 100%;
}

.detail-lead-form .detail-cta-button:disabled {
  cursor: wait;
  opacity: .72;
}

.detail-form-status {
  min-height: 2.4em;
  font-size: .75rem;
  line-height: 1.25;
}

.detail-form-status--success {
  color: #087a42;
}

.detail-form-status--error {
  color: #c52c1d;
}

.detail-whatsapp-button {
  color: #fff;
  width: 100%;
  height: 56px;
  font: 500 1.05rem var(--font-button),sans-serif;
  background: #16a34a;
  border-radius: .85rem;
  justify-content: center;
  align-items: center;
  gap: .65rem;
  transition: background .15s, transform .15s;
  display: flex;
  box-shadow: 0 10px 22px #16a34a47;
}

.detail-whatsapp-button:hover {
  background: #12813c;
  transform: translateY(-1px);
}

.detail-whatsapp-button svg {
  width: 1.5rem;
  height: 1.5rem;
}

.detail-form-success {
  text-align: center;
  flex-direction: column;
  flex: 1;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  width: 100%;
  min-height: 280px;
  display: flex;
}

.detail-form-success-icon {
  background: var(--color-brand-accent, #f97316);
  color: #fff;
  border-radius: 50%;
  flex: 0 0 64px;
  place-items: center;
  width: 64px;
  height: 64px;
  margin-bottom: .5rem;
  display: grid;
}

.detail-form-success-icon svg {
  width: 1.9rem;
  height: 1.9rem;
}

.detail-form-success p {
  color: #34466c;
  max-width: 20rem;
  font: 500 .98rem var(--font-body),sans-serif;
  line-height: 1.55;
}

.detail-form-success-cta {
  color: var(--detail-blue, #071e8d);
  background: #f0f4ff;
  border-radius: 999px;
  align-items: center;
  gap: .55rem;
  margin-top: 1rem;
  padding: .7rem 1.15rem;
  font-size: .85rem;
  font-weight: 600;
  transition: background .15s;
  display: inline-flex;
}

@media (min-width: 1201px) {
  .detail-cta {
    align-self: start;
    height: auto;
    overflow: visible;
  }

  .detail-cta h2 {
    margin-top: 1.2dvh;
  }

  .detail-form-copy {
    margin-top: 1.2dvh;
    font-size: 1.45dvh;
  }

  .detail-lead-form {
    gap: 1dvh;
    margin-top: 1.5dvh;
  }

  .detail-lead-form label {
    gap: .35dvh;
    font-size: 1.28dvh;
  }

  .detail-lead-form input {
    height: 4.6dvh;
    font-size: 1.45dvh;
  }

  .detail-lead-form textarea {
    min-height: 7.2dvh;
    font-size: 1.4dvh;
  }

  .detail-lead-form .detail-cta-button {
    height: 5.2dvh;
    margin-top: .5dvh;
    font-size: 1.5dvh;
  }

  .detail-lead-form .detail-cta-button svg {
    width: 1.9dvh;
    height: 1.9dvh;
  }

  .detail-whatsapp-button {
    height: 5.2dvh;
    font-size: 1.5dvh;
  }

  .detail-whatsapp-button svg {
    width: 1.9dvh;
    height: 1.9dvh;
  }

  .detail-form-status {
    font-size: 1.25dvh;
  }

  .detail-main {
    align-self: start;
    height: calc(100% - 14.2dvh);
    max-height: calc(100% - 14.2dvh);
    overflow: hidden;
  }

  .detail-cta {
    align-self: start;
    height: auto;
    max-height: none;
  }

  .detail-facts {
    height: 27.5dvh;
  }
}

@media (min-width: 761px) {
  .detail-gallery-thumbs {
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  }
}

.detail-inline-description, .detail-inline-assurance {
  background: #ffffffb8;
  border: 1px solid #d5ddec;
  border-radius: 1rem;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.2rem;
  display: flex;
}

.detail-inline-description > div, .detail-inline-assurance > svg {
  color: #0879ef;
  flex: 0 0 2.5rem;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
}

.detail-inline-description > div svg {
  width: 1.5rem;
  height: 1.5rem;
}

.detail-inline-description p, .detail-inline-assurance p {
  flex-direction: column;
  gap: .3rem;
  min-width: 0;
  display: flex;
}

.detail-inline-description strong, .detail-inline-assurance strong {
  font-size: .82rem;
}

.detail-inline-description span, .detail-inline-assurance span {
  color: #52627d;
  font-size: .72rem;
  line-height: 1.35;
}

.detail-inline-description span {
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

@media (min-width: 1201px) {
  .detail-layout {
    grid-template-rows: minmax(0, 1fr) 12.8dvh;
    row-gap: 1.4dvh;
  }

  .detail-gallery {
    grid-area: 1 / 1 / 3;
  }

  .detail-main {
    grid-area: 1 / 2;
    height: 100%;
    max-height: 100%;
  }

  .detail-cta {
    grid-area: 1 / 3;
    align-self: start;
    height: auto;
    max-height: none;
  }

  .detail-inline-description {
    grid-area: 2 / 2;
    min-height: 0;
    padding-top: 1dvh;
    padding-bottom: 1dvh;
  }

  .detail-inline-assurance {
    grid-area: 2 / 3;
    min-height: 0;
    padding-top: 1dvh;
    padding-bottom: 1dvh;
  }

  .detail-secondary {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1200px) {
  .detail-inline-description, .detail-inline-assurance {
    margin-top: 0;
  }
}

.detail-inline-story {
  isolation: isolate;
  background: #f8fbff url("/uploads/property-detail-skyline-v1.png") right 47% / auto 230% no-repeat;
  border: 1px solid #cad9ef;
  border-left: 4px solid #ff5b22;
  border-radius: 1rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.1rem;
  padding: 1rem 1.35rem;
  display: grid;
  position: relative;
  overflow: hidden;
}

.detail-inline-story-icon {
  color: #0879ef;
  background: #fff;
  border-radius: 50%;
  place-items: center;
  width: 3rem;
  height: 3rem;
  display: grid;
  box-shadow: 0 7px 18px #0745911c;
}

.detail-inline-story-copy {
  flex-direction: column;
  gap: .18rem;
  min-width: 0;
  display: flex;
}

.detail-inline-story-copy small {
  color: #ff5b22;
  font: 700 .62rem var(--font-button),sans-serif;
  letter-spacing: .08em;
}

.detail-inline-story-copy > span {
  color: #53647e;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: .7rem;
  line-height: 1.35;
  display: -webkit-box;
  overflow: hidden;
}

.detail-inline-story-trust {
  background: #ffffffe0;
  border: 1px solid #c2d2ebcc;
  border-radius: .85rem;
  align-items: center;
  gap: .7rem;
  padding: .7rem 1rem;
  display: flex;
}

.detail-inline-story-trust > svg {
  color: #0879ef;
  width: 1.7rem;
  height: 1.7rem;
}

.detail-inline-story-trust > span {
  white-space: nowrap;
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.detail-inline-story-trust small {
  color: #60718b;
  font-size: .65rem;
}

@media (min-width: 1201px) {
  .detail-inline-description, .detail-inline-assurance {
    display: none;
  }

  .detail-inline-story {
    grid-area: 2 / 2 / auto / 4;
    min-height: 0;
    padding-top: 1dvh;
    padding-bottom: 1dvh;
  }
}

@media (max-width: 1200px) {
  .detail-inline-story {
    grid-template-columns: auto 1fr;
  }

  .detail-inline-story-trust {
    grid-column: 1 / -1;
  }

  .detail-inline-story-copy > span {
    -webkit-line-clamp: 3;
  }
}

.detail-inline-story {
  background: none;
  border: 0;
  border-radius: 0;
  padding: .35rem .5rem;
  overflow: visible;
}

.detail-inline-story-icon {
  width: 3.25rem;
  height: 3.25rem;
  box-shadow: none;
  background: none;
  border: 0;
  border-radius: 0;
}

.detail-inline-story-icon svg {
  width: 1.8rem;
  height: 1.8rem;
}

.detail-inline-story-copy {
  gap: .3rem;
}

.detail-inline-story-copy small {
  font-size: .72rem;
}

.detail-inline-story-copy strong {
  font-size: 1rem;
}

.detail-inline-story-copy > span {
  font-size: .82rem;
  line-height: 1.45;
}

.detail-inline-story-trust {
  background: none;
  border: 0;
  border-radius: 0;
  padding: .45rem .75rem;
}

.detail-inline-story-trust small {
  font-size: .76rem;
}

.detail-inline-story-icon {
  background: #eef5ff;
  border-radius: 50%;
  place-items: center;
  width: 3.4rem;
  height: 3.4rem;
  display: grid;
}

.detail-inline-story-copy small {
  border-bottom: 2px solid #ff5b22;
  width: max-content;
  padding-bottom: .2rem;
  position: relative;
}

.detail-inline-story-trust {
  background: #eff6ffe6;
  border-radius: 999px;
  justify-self: start;
  gap: .8rem;
  padding: .65rem 1rem;
}

.detail-inline-story-trust > svg {
  flex: none;
}

.detail-inline-story {
  background: none;
  grid-template-columns: auto minmax(0, 1fr) minmax(250px, .58fr);
  gap: 1.35rem;
  padding: .65rem 1.2rem;
}

.detail-inline-story-copy {
  max-width: none;
}

.detail-inline-story-copy small {
  letter-spacing: .09em;
  border: 0;
  padding: 0;
}

.detail-inline-story-trust {
  background: none;
  border-left: 1px solid #d6e1f1;
  border-radius: 0;
  place-self: stretch stretch;
  gap: .85rem;
  padding: .35rem 0 .35rem 1.5rem;
}

.detail-inline-story-trust > svg {
  width: 1.85rem;
  height: 1.85rem;
}

.detail-inline-story {
  border-bottom: 0;
  border-left: 1px solid #cbd9ed;
}

.detail-inline-story-copy > span {
  -webkit-line-clamp: 1;
}

.detail-inline-story-trust {
  align-self: stretch;
  min-height: 3.25rem;
}

.detail-inline-story-trust strong {
  font-size: .82rem;
}

.detail-inline-story-trust small {
  display: none;
}

.detail-gallery-arrow svg {
  width: 1.4rem;
  height: 1.4rem;
}

.detail-cta:has(.detail-form-success) {
  background: #fff;
  border: 2px solid #b8c9f3;
  padding: 0;
  box-shadow: inset 0 0 0 8px #fff, inset 0 0 0 9px #ff6f1f6b;
}

.detail-form-success {
  isolation: isolate;
  background: #fff url("/uploads/property-detail-skyline-v1.png") center bottom 4% / 94% no-repeat;
  border-radius: 1.15rem;
  justify-content: flex-start;
  gap: .45rem;
  height: 100%;
  min-height: 100%;
  padding: 8% 8% 34%;
  position: relative;
  overflow: hidden;
}

.detail-form-success-orbit {
  mix-blend-mode: multiply;
  width: min(88%, 280px);
  height: auto;
  margin: 0 auto -3%;
  display: block;
}

.detail-form-success h2 {
  color: #0b35b5;
  font: 700 clamp(2.4rem,4.3dvh,3.8rem)/1 var(--font-button),sans-serif;
  margin: 0;
}

.detail-form-success > i {
  background: #ff6b18;
  border-radius: 999px;
  width: 3rem;
  height: 3px;
  margin: .55rem 0 .75rem;
  display: block;
}

.detail-form-success-cta {
  color: #fff;
  background: #0739bd;
  border: 2px solid #3975ee;
  border-radius: 999px;
  justify-content: center;
  width: 100%;
  min-height: 3.7rem;
  margin-top: 1rem;
  padding: .8rem 1.1rem;
  font-size: .88rem;
  font-weight: 700;
  box-shadow: 0 9px 20px #0739bd38;
}

.detail-form-success-cta:hover {
  background: #052c97;
}

.detail-form-success-cta svg {
  width: 1.35rem;
  height: 1.35rem;
}

@media (min-width: 1201px) {
  .detail-form-success {
    padding-top: 2dvh;
    padding-bottom: 20dvh;
  }

  .detail-form-success-orbit {
    width: min(88%, 25dvh);
  }

  .detail-form-success h2 {
    font-size: 4.8dvh;
  }

  .detail-form-success p {
    font-size: 1.55dvh;
  }

  .detail-form-success-cta {
    min-height: 6.2dvh;
    font-size: 1.55dvh;
  }
}

.detail-cta:has(.detail-form-success) {
  border-color: #a9bef4;
  border-radius: 1.65rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 14px 34px #16439714, inset 0 0 0 5px #e7eeffeb;
}

.detail-cta:has(.detail-form-success):before {
  content: "";
  z-index: 3;
  pointer-events: none;
  border: 1px solid #ff711f8c;
  border-color: #ff711f8c #ff711f8c #0b36b5 #0b36b5;
  border-radius: 1.25rem;
  position: absolute;
  inset: 1.15rem;
}

.detail-cta:has(.detail-form-success):after {
  content: "";
  z-index: 4;
  width: 30%;
  height: 2px;
  box-shadow: calc(230% + 1rem) calc(100% + 0px) 0 #ff6b1800;
  pointer-events: none;
  background: linear-gradient(90deg, #ff6b18 0 35%, #87a9f7 35% 100%);
  position: absolute;
  top: 1.05rem;
  left: 1.15rem;
}

.detail-form-success {
  background-color: #fff;
  background-position: center bottom 3%;
  background-size: 112%;
  justify-content: flex-start;
  padding: 5% 9% 38%;
}

.detail-form-success:before {
  content: "";
  z-index: 0;
  opacity: .7;
  background-image: radial-gradient(circle, #3975ee 1.2px, #0000 1.4px);
  background-size: .72rem .72rem;
  width: 2.8rem;
  height: 2.8rem;
  position: absolute;
  top: 2.7rem;
  right: 2.3rem;
}

.detail-form-success > * {
  z-index: 1;
  position: relative;
}

.detail-form-success-orbit {
  width: min(96%, 300px);
  margin: 1% auto -4%;
}

.detail-form-success p {
  max-width: 19rem;
}

.detail-form-success-cta {
  border-color: #4d82f0;
  min-height: 4rem;
  margin-top: 1.2rem;
  box-shadow: 0 12px 24px #0739bd42, inset 0 0 0 1px #ffffff2e;
}

@media (min-width: 1201px) {
  .detail-form-success {
    background-size: 118%;
    padding: 1.5dvh 8% 21dvh;
  }

  .detail-form-success-orbit {
    width: min(94%, 27dvh);
    margin-top: 0;
  }

  .detail-form-success h2 {
    font-size: 5.2dvh;
  }

  .detail-form-success-cta {
    min-height: 6.4dvh;
  }
}

.detail-cta:has(.detail-form-success) {
  border-width: 2px;
  border-radius: 1.45rem;
  box-shadow: inset 0 0 0 5px #e9efffe0;
}

.detail-cta:has(.detail-form-success):before {
  border-top-color: #ff75287a;
  border-right-color: #ff75287a;
  border-radius: 1.05rem;
  inset: .85rem;
}

.detail-cta:has(.detail-form-success):after {
  width: 42%;
  top: .78rem;
  left: .9rem;
}

.detail-form-success {
  background-position: center bottom 2%;
  background-size: 150%;
  gap: .35rem;
  padding: 0 7% 34%;
}

.detail-form-success:before {
  top: 1.5rem;
  right: 1.25rem;
}

.detail-form-success:after {
  content: "";
  z-index: 4;
  background: #ff6b18;
  border-radius: 999px;
  width: 3.25rem;
  height: 2px;
  position: absolute;
  bottom: .86rem;
  right: 1.15rem;
}

.detail-form-success-orbit {
  mix-blend-mode: normal;
  filter: drop-shadow(0 10px 12px #ff6c1429);
  width: 58%;
  max-width: 210px;
  margin: 26% auto -2%;
}

.detail-form-success > i {
  margin: .45rem 0 .65rem;
}

.detail-form-success-cta {
  width: 88%;
  min-height: 3.35rem;
  margin-top: 1.15rem;
  padding: .7rem .9rem;
  font-size: .78rem;
}

@media (min-width: 1201px) {
  .detail-form-success {
    background-size: 150%;
    padding: 0 7% 20dvh;
  }

  .detail-form-success-orbit {
    width: 58%;
    max-width: none;
    margin-top: 11dvh;
  }

  .detail-form-success h2 {
    font-size: 4.8dvh;
  }

  .detail-form-success p {
    font-size: 1.42dvh;
  }

  .detail-form-success-cta {
    width: 88%;
    min-height: 5.4dvh;
    font-size: 1.35dvh;
  }
}

.detail-cta:has(.detail-form-success) {
  border: 1px solid #b8caf4;
  border-radius: 1.55rem;
  box-shadow: 0 0 0 5px #e6edffa6, 0 12px 28px #1e48960d;
}

.detail-cta:has(.detail-form-success):before {
  border: 1px solid #b7cbf1b8;
  border-radius: 1.05rem;
  inset: .9rem;
}

.detail-cta:has(.detail-form-success):after {
  width: 8.5rem;
  height: 2px;
  box-shadow: none;
  background: linear-gradient(90deg, #ff6b18 0 32%, #0000 32% 39%, #a8bdf4 39% 100%);
  border-radius: 999px;
  top: .84rem;
  left: 1.05rem;
}

.detail-cta:has(.detail-form-success) {
  box-shadow: none;
  background: none;
  border: 0;
  border-radius: 0;
  overflow: hidden;
}

.detail-form-success:before, .detail-form-success:after {
  display: none;
}

.detail-cta:has(.detail-form-success):before {
  display: none;
}

.detail-cta:has(.detail-form-success):after {
  display: none;
}

.detail-form-success {
  background: url("/uploads/property-confirmation-panel-transparent-v2.png") center / 100% 100% no-repeat;
  border-radius: 0;
  justify-content: flex-start;
  gap: .38rem;
  padding: 46% 10% 20%;
}

.detail-form-success-orbit {
  display: none;
}

.detail-form-success h2 {
  font-size: clamp(2.65rem, 5dvh, 4rem);
}

.detail-form-success > i {
  width: 3.4rem;
  margin: .55rem 0 .8rem;
}

.detail-form-success p {
  max-width: 18rem;
  font-size: .9rem;
  line-height: 1.5;
}

.detail-form-success-cta {
  width: 88%;
  min-height: 3.55rem;
  margin-top: 1.15rem;
  font-size: .8rem;
}

@media (min-width: 1201px) {
  .detail-form-success {
    background-size: 100% 100%;
    padding: 46% 10% 20%;
  }

  .detail-form-success h2 {
    font-size: 4.7dvh;
  }

  .detail-form-success p {
    font-size: 1.42dvh;
  }

  .detail-form-success-cta {
    width: 88%;
    min-height: 5.5dvh;
    font-size: 1.35dvh;
  }
}

.detail-cta:has(.detail-form-success) {
  width: 100%;
  min-height: min(645px, 100dvh - 2rem);
}

.detail-form-success {
  width: 100%;
  height: 100%;
  min-height: inherit;
}

@media (min-width: 1201px) {
  .detail-cta:has(.detail-form-success) {
    align-self: stretch;
    height: 100%;
    min-height: 0;
    max-height: 100%;
  }

  .detail-form-success {
    min-height: 0;
  }
}

.detail-form-success {
  justify-content: flex-start;
  padding: 82% 10% 18%;
}

@media (min-width: 1201px) {
  .detail-form-success {
    padding: 82% 10% 18%;
  }

  .detail-section {
    padding-bottom: 0;
  }

  .detail-info-stage {
    justify-content: center;
    align-items: center;
    min-height: 100dvh;
    padding: 4dvh 1.6vw;
    display: flex;
  }

  .detail-info-card {
    box-sizing: border-box;
    border-radius: 1.45rem;
    width: 100%;
    margin: 0;
    padding: 3dvh 2.6vw;
    box-shadow: 0 12px 36px #0e2b6717;
  }

  .detail-info-grid {
    grid-template-columns: minmax(0, 22%) minmax(0, 47%) minmax(0, 27%);
    gap: 2%;
  }

  .detail-description-col, .detail-specs-col, .detail-location-col {
    min-width: 0;
    min-height: 0;
  }

  .detail-description-col, .detail-specs-col {
    border-right: 1px solid #dce5f3;
    padding-right: 2.5vw;
  }

  .detail-info-grid h2 {
    font-size: 2.8dvh;
  }

  .detail-info-rule {
    width: 2.1rem;
    height: 2px;
    margin-top: 1.4dvh;
  }

  .detail-description-text {
    white-space: normal;
    -webkit-line-clamp: 7;
    -webkit-box-orient: vertical;
    margin-top: 2.6dvh;
    font-size: 1.55dvh;
    line-height: 1.75;
    display: -webkit-box;
    overflow: hidden;
  }

  .detail-contact-box {
    background: #fff;
    border-radius: 1rem;
    align-items: center;
    margin-top: 4dvh;
    padding: 2.2dvh 1.1vw 1.2dvh;
  }

  .detail-contact-icon {
    flex-basis: 6.5dvh;
    width: 6.5dvh;
    height: 6.5dvh;
  }

  .detail-contact-icon svg {
    width: 3.1dvh;
    height: 3.1dvh;
  }

  .detail-contact-body {
    flex: 1;
    gap: 1dvh;
  }

  .detail-contact-body > strong {
    font-size: 1.75dvh;
  }

  .detail-contact-body a {
    font-size: 1.55dvh;
  }

  .detail-contact-button {
    width: 100%;
    margin-top: .6dvh;
    padding: 1dvh .8vw;
    font-size: 1.4dvh;
  }

  .detail-feature-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .7vw;
    margin-top: 2.3dvh;
  }

  .detail-feature {
    border-radius: .9rem;
    justify-content: center;
    min-width: 0;
    height: 18dvh;
    padding: 1.2dvh .35vw;
  }

  .detail-feature-icon {
    width: 6dvh;
    height: 6dvh;
  }

  .detail-feature-icon svg {
    color: #092491;
    width: 3.5dvh;
    height: 3.5dvh;
  }

  .detail-feature small {
    white-space: nowrap;
    font-size: 1.25dvh;
  }

  .detail-feature strong {
    font-size: 2.2dvh;
  }

  .detail-specs-list {
    gap: 0 2vw;
    margin-top: 3.5dvh;
  }

  .detail-spec {
    padding: 1.25dvh 0;
    font-size: 1.38dvh;
  }

  .detail-spec dt svg {
    width: 1.8dvh;
    height: 1.8dvh;
  }

  .detail-location-eyebrow {
    font-size: 1.4dvh;
  }

  .detail-location-col h3 {
    max-width: 18ch;
    margin-top: 1.6dvh;
    font-size: 2.7dvh;
    line-height: 1.18;
  }

  .detail-map-frame {
    border-radius: 1rem;
    margin-top: 1.5dvh;
  }

  .detail-map-frame iframe, .detail-map-frame > img {
    height: 40dvh;
  }

  .detail-map-frame iframe {
    filter: saturate(.72) brightness(1.08) contrast(.92);
  }

  .detail-map-link {
    height: 5.3dvh;
    margin-top: .7dvh;
    padding: 0;
    font-size: 1.5dvh;
  }

  .detail-amenities-row {
    margin-top: 3dvh;
    padding-top: 2.5dvh;
  }

  .detail-amenities-block h2 {
    font: 700 2.4dvh var(--font-button),sans-serif;
    text-transform: none;
    letter-spacing: normal;
  }

  .detail-amenities-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) 1.35fr;
    gap: .8vw;
    margin-top: 2.3dvh;
    display: grid;
  }

  .detail-amenity {
    background: #ffffffeb;
    border-radius: .85rem;
    min-width: 0;
    height: 11.5dvh;
    padding: 1.2dvh .75vw;
  }

  .detail-amenity-icon {
    background: #f1f5ff;
    border-radius: 50%;
    flex: 0 0 5dvh;
    width: 5dvh;
    height: 5dvh;
    padding: 1dvh;
  }

  .detail-amenity p {
    font-size: 1.45dvh;
    line-height: 1.35;
  }

  .detail-amenity--highlight p {
    flex-direction: column;
    gap: .35dvh;
    display: flex;
  }

  .detail-amenity--highlight strong {
    font-size: 1.35dvh;
  }

  .detail-amenity--highlight small {
    color: #53647e;
    font-size: 1.05dvh;
  }

  .detail-amenities-photo {
    border-radius: 1.1rem;
  }
}

.detail-location-col {
  box-shadow: none;
  background: none;
  border: 0;
  border-radius: 0;
  align-self: start;
  padding: 0;
}

.detail-location-eyebrow {
  border-bottom: 0;
  padding-bottom: 0;
}

.detail-location-col h3 {
  margin-top: 1rem;
}

.detail-location-col .detail-map-frame {
  border-color: #ccd9ef;
  border-radius: 1rem 1rem 0 0;
  margin-top: 1.15rem;
  box-shadow: inset 0 0 0 5px #f4f8ff;
}

.detail-location-col .detail-map-link {
  background: #f4f8ff;
  border-color: currentColor #ccd9ef #ccd9ef;
  border-top-style: none;
  border-top-width: 0;
  border-radius: 0 0 1rem 1rem;
  min-height: 3.25rem;
  margin-top: 0;
  transition: background .18s, color .18s;
}

.detail-location-col .detail-map-link:hover {
  color: #075fc8;
  background: #eaf2ff;
}

@media (min-width: 1201px) {
  .detail-location-col {
    padding: 0;
  }

  .detail-location-eyebrow {
    padding-bottom: 0;
  }

  .detail-location-col h3 {
    margin-top: 1.5dvh;
  }

  .detail-location-col .detail-map-frame {
    margin-top: 2dvh;
  }

  .detail-location-col .detail-map-link {
    height: 5.3dvh;
    min-height: 0;
  }

  .detail-location-col h3 {
    white-space: nowrap;
    max-width: none;
    font-size: 2.25dvh;
  }
}

.detail-info-card {
  background: linear-gradient(135deg, #fffffffa 0%, #fafcfffa 58%, #f3f8fffa 100%);
}

.detail-info-grid h2, .detail-amenities-block h2 {
  width: max-content;
  position: relative;
}

.detail-info-grid h2:after, .detail-amenities-block h2:after {
  content: "";
  opacity: .9;
  background: #ff6324;
  border-radius: 50%;
  width: .42rem;
  height: .42rem;
  position: absolute;
  bottom: .12em;
  right: -1rem;
}

.detail-description-col, .detail-specs-col {
  border-right-color: #cbdaf0;
}

.detail-feature {
  background: linear-gradient(#fff 0%, #f5f8ff 100%);
  border-color: #d3dff2;
  position: relative;
  overflow: hidden;
}

.detail-feature:before {
  content: "";
  opacity: .72;
  background: #0a3ab7;
  border-radius: 0 0 999px 999px;
  width: 56%;
  height: 2px;
  position: absolute;
  top: 0;
  left: 22%;
}

.detail-feature:nth-child(2n):before {
  background: #ff6324;
}

.detail-spec {
  border-bottom-color: #dfe8f5;
}

.detail-contact-box {
  background: #f5f8ff;
  border-color: #cad8ef;
  position: relative;
  overflow: hidden;
}

.detail-contact-box:before {
  content: "";
  background: #ff6324;
  width: 3px;
  position: absolute;
  inset: 0 auto 0 0;
}

.detail-contact-button {
  color: #07369e;
  background: #fff;
  border-color: #c8d7ee;
}

.detail-contact-button:hover {
  color: #fff;
  background: #0a3ab7;
  border-color: #0a54c6;
}

.detail-location-eyebrow {
  color: #ff5b22;
}

.detail-location-col .detail-map-frame {
  border-color: #bfcfea;
  box-shadow: 0 0 0 5px #eef4ffbf;
}

.detail-location-col .detail-map-link {
  color: #07369e;
  background: #edf3ff;
}

.detail-amenities-row {
  background: linear-gradient(90deg, #fff 0% 48%, #f7faff4d 68%, #eef5ff1a 100%);
}

.detail-amenities-photo {
  opacity: .96;
  width: 50%;
  -webkit-mask-image: linear-gradient(90deg, #0000 0%, #00000014 10%, #000 44%);
  mask-image: linear-gradient(90deg, #0000 0%, #00000014 10%, #000 44%);
}

.detail-amenity {
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  background: #ffffffe6;
  border-color: #cbd9ef;
  position: relative;
  overflow: hidden;
}

.detail-amenity:after {
  content: "";
  background: #0b42bc;
  width: 2.3rem;
  height: 2px;
  position: absolute;
  bottom: 0;
  right: 0;
}

@media (min-width: 1201px) {
  .detail-info-stage {
    box-sizing: border-box;
    width: 100%;
    height: 100dvh;
    min-height: 100dvh;
    padding: 1.5dvh 1.6vw;
    overflow: hidden;
  }

  .detail-info-card {
    grid-template-rows: minmax(0, 1fr) 30.5dvh;
    height: 97dvh;
    min-height: 0;
    max-height: 97dvh;
    display: grid;
    overflow: hidden;
  }

  .detail-info-grid {
    min-height: 0;
    overflow: hidden;
  }

  .detail-amenities-row {
    min-height: 0;
    margin-top: 0;
  }
}

.detail-amenity--highlight {
  background: #fffaf7f0;
  border-color: #f1c8b5;
}

.detail-amenity--highlight:after {
  background: #ff6324;
  width: 3.5rem;
}

/* [project]/app/footer.css [app-client] (css) */
.site-footer {
  --navy: #073780;
  --blue: #0755b2;
  --orange: #ff7600;
  isolation: isolate;
  color: #142442;
  width: 100%;
  min-height: 100vh;
  font-family: var(--font-body),sans-serif;
  scroll-snap-align: start;
  background: #fff;
  position: relative;
  overflow: hidden;
}

.site-footer-background, .site-footer-overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.site-footer-background {
  z-index: -2;
  object-fit: cover;
  object-position: 72% center;
  filter: grayscale();
  opacity: .13;
}

.site-footer-overlay {
  z-index: -1;
  background: #ffffffd6;
}

.site-footer-stage {
  width: min(92.8%, 1650px);
  margin: auto;
  padding: clamp(2.4rem, 5vh, 4.6rem) 0 1.1rem;
}

.footer-top {
  grid-template-columns: 1.35fr 1.1fr 1.08fr .95fr 1.15fr;
  gap: clamp(1.5rem, 3.2vw, 4.2rem);
  display: grid;
}

.footer-brand {
  padding-right: 1rem;
}

.footer-brand-mark img {
  object-fit: contain;
  object-position: left center;
  width: 100%;
  max-width: 280px;
  max-height: 100px;
  display: block;
}

.footer-brand-lockup img {
  width: 240px;
  max-width: 100%;
  height: auto;
  display: block;
}

.footer-brand-lockup small {
  color: var(--orange);
  font: 700 .7rem var(--font-button),sans-serif;
  letter-spacing: .22em;
  margin: -5px 0 0 5.7rem;
  display: block;
}

.footer-brand > p {
  max-width: 300px;
  margin: 1.3rem 0 0;
  font-size: clamp(1rem, 1.08vw, 1.25rem);
  line-height: 1.52;
}

.footer-socials {
  gap: 1.25rem;
  margin-top: 1.35rem;
  display: flex;
}

.footer-socials a {
  width: 68px;
  height: 68px;
  color: var(--navy);
  background: #ffffff6b;
  border: 1px solid #c9d8ea;
  border-radius: 50%;
  place-items: center;
  transition: all .18s;
  display: grid;
}

.footer-socials a:hover {
  color: #fff;
  background: var(--blue);
  transform: translateY(-2px);
}

.footer-socials svg {
  width: 34%;
  height: 34%;
}

.footer-column header {
  align-items: center;
  gap: 1rem;
  min-height: 62px;
  display: flex;
}

.footer-column header > span, .footer-contact-icon {
  width: 62px;
  height: 62px;
  color: var(--blue);
  background: #f6fbff94;
  border: 1px solid #cadaed;
  border-radius: 50%;
  flex: 0 0 62px;
  place-items: center;
  display: grid;
}

.footer-column header svg {
  width: 42%;
  height: 42%;
}

.footer-column header div {
  min-width: 0;
}

.footer-column header strong {
  color: var(--navy);
  font: 700 clamp(1.1rem,1.18vw,1.38rem)/1 var(--font-button),sans-serif;
  white-space: nowrap;
  display: block;
}

.footer-column header i {
  background: #0d62c8;
  width: 39px;
  height: 2px;
  margin-top: 1rem;
  display: block;
}

.footer-column-links {
  margin-top: 1.35rem;
}

.footer-column-links a {
  color: #152543;
  align-items: flex-start;
  gap: .9rem;
  min-height: 50px;
  padding: .28rem 0;
  font-size: clamp(.98rem, 1.05vw, 1.18rem);
  line-height: 1.5;
  transition: all .16s;
  display: flex;
}

.footer-column-links a:hover {
  color: var(--blue);
  transform: translateX(3px);
}

.footer-column-links b {
  color: var(--blue);
  font-size: 1.75rem;
  line-height: .82;
}

.footer-column-4 .footer-column-links {
  margin-top: 1.1rem;
}

.footer-column-4 .footer-column-links a {
  gap: .95rem;
  margin-bottom: 1rem;
}

.footer-contact-row-icon {
  width: 26px;
  height: 26px;
  color: var(--blue);
  flex: 0 0 26px;
}

.footer-contact-row-icon svg {
  width: 100%;
  height: 100%;
}

.footer-contact-card {
  background: #ffffff61;
  border: 1px solid #c9d9ea;
  border-radius: 14px;
  grid-template-columns: 12% 28% 28% 1fr;
  align-items: center;
  min-height: 142px;
  margin-top: 2.1rem;
  padding: 1rem 4.2%;
  display: grid;
}

.footer-contact-icon {
  width: 96px;
  height: 96px;
}

.footer-contact-icon svg {
  width: 49%;
  height: 49%;
}

.footer-contact-card h2 {
  color: var(--navy);
  font: 700 clamp(1.8rem,2vw,2.35rem)/1.18 var(--font-button),sans-serif;
  border-left: 1px solid #cbd8e7;
  padding-left: 1.5rem;
}

.footer-contact-card h2 strong {
  color: #0573d6;
  display: block;
}

.footer-contact-card p {
  border-left: 1px solid #cbd8e7;
  border-right: 1px solid #cbd8e7;
  align-items: center;
  height: 72%;
  padding: 0 2.5rem;
  font-size: clamp(.98rem, 1.02vw, 1.15rem);
  line-height: 1.5;
  display: flex;
}

.footer-contact-card > a {
  color: #fff;
  background: var(--orange);
  width: 85%;
  height: 58px;
  font: 700 1.15rem var(--font-button),sans-serif;
  border-radius: 15px;
  justify-content: center;
  justify-self: center;
  align-items: center;
  gap: 2.6rem;
  display: flex;
  box-shadow: 0 8px 18px #ff76002e;
}

.footer-contact-card > a:hover {
  background: #ef6800;
}

.footer-contact-card > a b {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
}

.footer-trust {
  grid-template-columns: repeat(3, 1fr);
  margin-top: 1.45rem;
  padding: 0 4.6%;
  display: grid;
}

.footer-trust-item {
  border-right: 1px solid #cbd8e7;
  align-items: center;
  gap: 1.35rem;
  min-height: 92px;
  padding: 0 2.7rem;
  display: flex;
}

.footer-trust-item:first-child {
  padding-left: 0;
}

.footer-trust-item:last-child {
  border: 0;
}

.footer-trust-item > span {
  width: 74px;
  height: 74px;
  color: var(--blue);
  background: #eef5fcbf;
  border-radius: 50%;
  flex: 0 0 74px;
  place-items: center;
  display: grid;
}

.footer-trust-item svg {
  width: 50%;
  height: 50%;
}

.footer-trust-item p {
  margin: 0;
}

.footer-trust-item strong {
  color: var(--blue);
  font: 700 1rem var(--font-button),sans-serif;
  display: block;
}

.footer-trust-item small {
  margin-top: .45rem;
  font-size: .92rem;
  line-height: 1.45;
  display: block;
}

.footer-bottom {
  color: #64728b;
  border-top: 2px solid #1c5ca5;
  justify-content: space-between;
  align-items: center;
  margin-top: 1.1rem;
  padding: 1.25rem 4.7% 0;
  font-size: .9rem;
  display: flex;
}

.footer-bottom nav {
  color: var(--blue);
  align-items: center;
  gap: 1.6rem;
  font-weight: 500;
  display: flex;
}

.footer-bottom nav i {
  background: #1760b5;
  width: 1px;
  height: 18px;
}

.site-footer a:focus-visible {
  outline: 3px solid var(--orange);
  outline-offset: 3px;
}

@media (min-width: 1181px) {
  .site-footer {
    height: 100dvh;
    min-height: 0;
    overflow: hidden;
  }

  .site-footer-stage {
    flex-direction: column;
    height: 100%;
    padding: 6.2dvh 0 1.4dvh;
    display: flex;
  }

  .footer-top {
    flex: 0 0 46dvh;
    min-height: 0;
  }

  .footer-brand-mark img {
    max-height: 11.5dvh;
  }

  .footer-brand-lockup img {
    width: auto;
    height: 10.5dvh;
  }

  .footer-brand-lockup small {
    margin-top: -.5dvh;
  }

  .footer-brand > p {
    margin-top: 1.7dvh;
    font-size: min(1.08vw, 2.05dvh);
    line-height: 1.48;
  }

  .footer-socials {
    gap: min(1.25rem, 2.1dvh);
    margin-top: 1.7dvh;
  }

  .footer-socials a {
    width: min(68px, 7.2dvh);
    height: min(68px, 7.2dvh);
  }

  .footer-column header {
    min-height: 7.2dvh;
  }

  .footer-column header > span {
    flex-basis: 6.5dvh;
    width: 6.5dvh;
    height: 6.5dvh;
  }

  .footer-column header i {
    margin-top: 1.2dvh;
  }

  .footer-column header strong {
    font-size: min(1.18vw, 2.35dvh);
  }

  .footer-column-links {
    margin-top: 1.6dvh;
  }

  .footer-column-links a {
    min-height: 5.25dvh;
    padding: .25dvh 0;
    font-size: min(1.05vw, 2.08dvh);
  }

  .footer-column-4 .footer-column-links {
    margin-top: 1.4dvh;
  }

  .footer-column-4 .footer-column-links a {
    margin-bottom: 1.05dvh;
  }

  .footer-contact-card {
    flex: 0 0 15.2dvh;
    min-height: 0;
    margin-top: 2dvh;
    padding-top: 1dvh;
    padding-bottom: 1dvh;
  }

  .footer-contact-icon {
    width: 9.8dvh;
    height: 9.8dvh;
  }

  .footer-contact-card h2 {
    font-size: min(2vw, 3.9dvh);
  }

  .footer-contact-card p {
    font-size: min(1.02vw, 2.05dvh);
  }

  .footer-contact-card > a {
    height: 6.2dvh;
  }

  .footer-trust {
    flex: 0 0 11.5dvh;
    min-height: 0;
    margin-top: 1.5dvh;
  }

  .footer-trust-item {
    min-height: 0;
  }

  .footer-trust-item > span {
    flex-basis: 7.6dvh;
    width: 7.6dvh;
    height: 7.6dvh;
  }

  .footer-trust-item strong {
    font-size: min(1rem, 1.85dvh);
  }

  .footer-trust-item small {
    margin-top: .45dvh;
    font-size: min(.92rem, 1.7dvh);
    line-height: 1.35;
  }

  .footer-bottom {
    flex: auto;
    min-height: 5.5dvh;
    margin-top: 1.1dvh;
    padding-top: 1.2dvh;
    padding-bottom: .2dvh;
    font-size: min(.9rem, 1.65dvh);
  }
}

@media (min-width: 1181px) and (max-height: 820px) {
  .site-footer-stage {
    padding-top: 6.2dvh;
    padding-bottom: .8dvh;
  }

  .footer-top {
    flex-basis: 46dvh;
  }

  .footer-brand-mark img {
    max-height: 10dvh;
  }

  .footer-brand-lockup img {
    height: 9.5dvh;
  }

  .footer-brand > p {
    margin-top: 1dvh;
    font-size: min(1.02vw, 1.9dvh);
    line-height: 1.37;
  }

  .footer-socials {
    margin-top: 1dvh;
  }

  .footer-socials a {
    width: 6.5dvh;
    height: 6.5dvh;
  }

  .footer-column header {
    min-height: 6.6dvh;
  }

  .footer-column header > span {
    flex-basis: 6.2dvh;
    width: 6.2dvh;
    height: 6.2dvh;
  }

  .footer-column header i {
    margin-top: .8dvh;
  }

  .footer-column-links {
    margin-top: 1dvh;
  }

  .footer-column-links a {
    min-height: 5.4dvh;
    font-size: min(1vw, 1.92dvh);
    line-height: 1.35;
  }

  .footer-column-4 .footer-column-links a {
    margin-bottom: .6dvh;
  }

  .footer-contact-card {
    flex-basis: 14.8dvh;
    margin-top: 1.2dvh;
  }

  .footer-contact-icon {
    width: 9dvh;
    height: 9dvh;
  }

  .footer-contact-card h2 {
    font-size: min(1.9vw, 3.6dvh);
  }

  .footer-contact-card > a {
    height: 6.1dvh;
  }

  .footer-trust {
    flex-basis: 11.8dvh;
    margin-top: .8dvh;
  }

  .footer-trust-item > span {
    flex-basis: 7dvh;
    width: 7dvh;
    height: 7dvh;
  }

  .footer-trust-item small {
    font-size: min(.86rem, 1.65dvh);
  }

  .footer-bottom {
    min-height: 5.8dvh;
    margin-top: .6dvh;
    padding-top: .8dvh;
  }
}

@media (max-width: 1180px) {
  .site-footer-stage {
    width: min(94%, 1040px);
  }

  .footer-top {
    grid-template-columns: repeat(2, 1fr);
  }

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

  .footer-brand > p {
    max-width: 640px;
  }

  .footer-contact-card {
    grid-template-columns: 90px 1fr 1fr;
    gap: 1rem;
  }

  .footer-contact-card h2 {
    padding-left: 1rem;
  }

  .footer-contact-card p {
    padding: 0 1.2rem;
  }

  .footer-contact-card > a {
    grid-area: 1 / 3;
    width: 100%;
  }

  .footer-contact-icon {
    width: 76px;
    height: 76px;
  }

  .footer-trust {
    padding: 0;
  }

  .footer-trust-item {
    padding: 0 1.2rem;
  }

  .footer-bottom {
    padding-inline: 0;
  }
}

@media (max-width: 760px) {
  .site-footer-stage {
    width: min(92%, 620px);
    padding-top: 2.2rem;
  }

  .site-footer-background {
    object-position: 76% top;
  }

  .footer-top {
    grid-template-columns: 1fr;
    gap: 1.8rem;
  }

  .footer-brand {
    grid-column: auto;
  }

  .footer-socials a {
    width: 52px;
    height: 52px;
  }

  .footer-column header > span {
    flex-basis: 52px;
    width: 52px;
    height: 52px;
  }

  .footer-column-links {
    margin-top: .8rem;
    padding-left: .35rem;
  }

  .footer-column-links a {
    min-height: 44px;
  }

  .footer-contact-card {
    grid-template-columns: 64px 1fr;
    gap: 1rem;
    margin-top: 2rem;
    padding: 1.2rem;
  }

  .footer-contact-icon {
    width: 60px;
    height: 60px;
  }

  .footer-contact-card h2 {
    border: 0;
    padding: 0;
    font-size: 1.55rem;
  }

  .footer-contact-card p {
    border: 0;
    border-top: 1px solid #cbd8e7;
    grid-column: 1 / -1;
    height: auto;
    padding: 1rem 0;
  }

  .footer-contact-card > a {
    grid-area: auto / 1 / auto / -1;
    width: 100%;
  }

  .footer-trust {
    grid-template-columns: 1fr;
  }

  .footer-trust-item, .footer-trust-item:first-child {
    border-bottom: 1px solid #cbd8e7;
    border-right: 0;
    min-height: 92px;
    padding: .8rem 0;
  }

  .footer-trust-item > span {
    flex-basis: 62px;
    width: 62px;
    height: 62px;
  }

  .footer-bottom {
    text-align: center;
    flex-direction: column;
    gap: 1rem;
  }

  .footer-bottom nav {
    flex-wrap: wrap;
    justify-content: center;
    gap: .65rem 1rem;
  }

  .footer-bottom nav i {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-footer * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__0ot6r6p._.css.map*/