:root {
  color-scheme: light;
  --black: #222;
  --header-grey: #666;
  --muted: #999;
  --quote-bg: rgb(40 40 40 / 56%);
  --quote-hover-bg: rgb(40 40 40 / 64%);
  --quote-active-bg: rgb(40 40 40 / 72%);
  --card-bg: rgb(40 40 40 / 72%);
  --quote-blur: 120px;
  --logo-green: #007e6a;
  --white: #fff;
  --card-text: rgb(255 255 255 / 56%);
  --card-copy: rgb(255 255 255 / 80%);
  --card-muted: rgb(255 255 255 / 56%);
  --card-dim: rgb(255 255 255 / 40%);
  --card-active: rgb(255 255 255 / 80%);
  --card-pill-text: rgb(255 255 255 / 56%);
  --card-button-bg: rgb(40 40 40 / 24%);
  --card-button-hover-bg: rgb(40 40 40 / 32%);
  --card-button-active-bg: rgb(40 40 40 / 40%);
  --card-button-secondary-bg: rgb(40 40 40 / 24%);
  --font: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --motion-fade-duration: 520ms;
  --motion-route-duration: 640ms;
  --motion-route-distance: 10px;
  --motion-card-duration: 620ms;
  --motion-card-distance: 4px;
  --motion-card-exit-scale: 0.94;
  --ct-interaction-duration: 280ms;
  --ct-interaction-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ct-interaction-hover-scale: 1.01;
  --ct-interaction-pressed-scale: 0.99;
  --rounded-action-hover-scale: var(--ct-interaction-hover-scale);
  --rounded-action-pressed-scale: var(--ct-interaction-pressed-scale);
  --rounded-action-duration: var(--ct-interaction-duration);
  --ct-rounded-control-height: 32px;
  --ct-content-top: 120px;
  --copy-expand-duration: 620ms;
  --card-base-opacity: 0.8;
  --viewport-bottom-gap: max(0px, calc(100lvh - 100dvh));
  --intro-duration: 560ms;
  --intro-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --intro-shift: 10px;
  --intro-header-delay: 80ms;
  --intro-image-delay: 200ms;
  --intro-card-delay: 320ms;
  --intro-dots-delay: 640ms;
  --figma-rule: rgb(0 0 0 / 4%);
  --figma-page-image-width: min(var(--ct-content-width), calc(100vw - 32px));
  --figma-card-reserved-height: 224px;
  --figma-page-image-size: clamp(
    96px,
    calc(
      (
        100dvh
        - var(--figma-bottom-height, 0px)
        - var(--viewport-bottom-gap)
        - 80px
      ) / 2
    ),
    calc(100dvh - 96px)
  );
}

@property --underline-opacity {
  syntax: "<number>";
  inherits: false;
  initial-value: 1;
}

@property --underline-scale {
  syntax: "<number>";
  inherits: false;
  initial-value: 1;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  font-family: inherit;
  font-weight: 400;
}

html,
body {
  width: 100%;
  height: 100%;
  min-height: 100dvh;
  min-width: 320px;
  margin: 0;
  overflow: hidden;
  background: var(--white);
  color: var(--black);
  font-family: var(--font);
  font-size: 14px;
  line-height: 18px;
  font-feature-settings: "dlig" 0;
  font-variant-ligatures: no-discretionary-ligatures;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-kerning: normal;
  font-synthesis: none;
}

button,
input,
a.quote-pill {
  border: 0;
  font: inherit;
}

button,
a.quote-pill {
  cursor: pointer;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  font-size: 12px;
  line-height: 16px;
}

.page {
  position: relative;
  width: 100%;
  height: 100svh;
  height: 100lvh;
  min-height: 100dvh;
  overflow: hidden;
  --card-blur-background: var(--white);
  background: var(--white);
}

.route-view[data-route-view="/"] {
  --card-blur-background:
    center max(72px, calc(50svh - 292px)) / 369px 570px no-repeat fixed
    url("./assets/images/figma-covertree-keychain.png"),
    var(--white);
  background: var(--white);
}

.route-view[data-route-view="/"],
.route-view[data-route-view="/agents"],
.route-view[data-route-view^="/claims/"] {
  background: var(--white);
}

.route-view[data-route-view^="/enterprise/"] {
  background: var(--white);
}

.route-view[data-route-view="/"]::before,
.route-view[data-route-view="/agents"]::before,
.route-view[data-route-view^="/claims/"]::before,
.route-view[data-route-view^="/enterprise/"]::before {
  display: none;
  position: absolute;
  top: var(--image-box-top, max(72px, calc(50svh - 292px)));
  left: 50%;
  width: min(var(--ct-content-width), calc(100% - 32px));
  height: var(--image-box-height, 240px);
  border-radius: 16px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  content: "";
  pointer-events: none;
  transform: translateX(-50%);
}

.route-view[data-route-view="/"]::before {
  border: 1px solid rgb(235 235 235 / 40%);
  background-image: url("./assets/images/mission-home.png");
}

.route-view[data-route-view="/agents"]::before {
  background-image: url("./assets/images/agents-newspaper.png");
}

.route-view[data-route-view^="/enterprise/"]::before {
  background-image: url("./assets/images/enterprise-cabin.jpg");
}

.route-view[data-route-view^="/claims/"]::before {
  background-image: url("./assets/images/claim-room.jpg");
}

.site-menu {
  position: fixed;
  top: 16px;
  left: 50%;
  z-index: 30;
  width: var(--ct-content-width);
  max-width: 100%;
  overflow: hidden;
  border-radius: 16px;
  background: rgb(235 235 235 / 40%);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  transform: translateX(-50%);
  scale: 1;
  transform-origin: center center;
  transition: scale 320ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: scale;
}

.site-menu.is-open {
  top: 0;
}

.site-menu.is-open:hover {
  scale: 1;
}

.site-menu.is-open:active {
  scale: 1;
}

.site-menu:not(.is-open) {
  overflow: hidden;
  border-radius: 16px;
  background: var(--ct-color-menu-row-open);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.site-menu__top {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  background: rgb(244 244 244 / 24%);
  backdrop-filter: blur(20px);
  cursor: pointer;
}

.site-menu:not(.is-open) .site-menu__top {
  height: auto;
  padding: 16px;
  background: rgb(244 244 244 / 24%);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}

.site-menu__home {
  display: block;
  width: 115.476px;
  height: 16px;
}

.site-menu__logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.site-menu__toggle {
  position: relative;
  display: grid;
  width: 16px;
  height: 16px;
  padding: 0;
  place-items: center;
  background: transparent;
  color: rgb(68 68 68 / 40%);
}

.site-menu__toggle::before {
  position: absolute;
  inset: -12px;
  content: "";
}

.site-menu__toggle-lines {
  position: relative;
  display: block;
  width: 16px;
  height: 7px;
}

.site-menu__toggle-line {
  position: absolute;
  left: 0;
  width: 16px;
  height: 1.5px;
  border-radius: 24px;
  background: currentColor;
  transform-origin: center;
  transition:
    left 260ms var(--motion-ease),
    top 260ms var(--motion-ease),
    width 260ms var(--motion-ease),
    transform 320ms var(--motion-ease),
    background-color 260ms var(--motion-ease);
}

.site-menu__toggle-line:first-child {
  top: 0;
}

.site-menu__toggle-line:last-child {
  top: 5.5px;
}

.site-menu.is-open .site-menu__toggle-line {
  top: 2.75px;
}

.site-menu.is-open .site-menu__toggle-line:first-child {
  transform: rotate(45deg);
}

.site-menu.is-open .site-menu__toggle-line:last-child {
  transform: rotate(-45deg);
}

.site-menu.is-open.is-submenu .site-menu__toggle-line {
  left: 3px;
  width: 11px;
  transform-origin: left center;
}

.site-menu.is-open.is-submenu .site-menu__toggle-line:first-child {
  transform: rotate(-45deg);
}

.site-menu.is-open.is-submenu .site-menu__toggle-line:last-child {
  transform: rotate(45deg);
}

.site-menu__toggle:hover,
.site-menu__toggle:focus-visible {
  color: rgb(68 68 68 / 70%);
}

.site-menu__toggle:focus-visible {
  outline: 2px solid rgb(0 126 106 / 40%);
  outline-offset: 4px;
}

.site-menu__levels {
  position: relative;
  width: 100%;
  max-height: 0;
  overflow: hidden;
  background: transparent;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-8px) scale(0.995);
  transform-origin: top center;
  transition:
    max-height 360ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 320ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 360ms cubic-bezier(0.22, 1, 0.36, 1);
}

.site-menu.is-open .site-menu__levels {
  max-height: 432px;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.site-menu.is-open.is-enterprise .site-menu__levels {
  max-height: 240px;
}

.site-menu.is-open.is-claims .site-menu__levels {
  max-height: 96px;
}

.site-menu.is-open.is-login .site-menu__levels {
  max-height: 144px;
}

.site-menu__list {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  width: 100%;
  flex-direction: column;
  background: var(--ct-color-menu-row-open);
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
  transition:
    opacity 360ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 560ms cubic-bezier(0.22, 1, 0.36, 1);
}

#site-menu-list {
  position: relative;
}

.site-menu__submenu {
  opacity: 0;
  pointer-events: none;
  transform: translateX(24px);
}

.site-menu.is-submenu #site-menu-list {
  opacity: 0;
  pointer-events: none;
  transform: translateX(-24px);
}

.site-menu.is-submenu .site-menu__submenu.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}

.site-menu__list a,
.site-menu__list button {
  position: relative;
  display: flex;
  width: 100%;
  height: 48px;
  align-items: center;
  padding: 12px 16px;
  border-top: 1px solid #ebebeb;
  background:
    linear-gradient(rgb(244 244 244 / 24%), rgb(244 244 244 / 24%)),
    rgb(235 235 235 / 40%);
  backdrop-filter: blur(20px);
  color: var(--header-grey);
  font-size: 16px;
  letter-spacing: -0.16px;
  line-height: 20px;
  text-decoration: none;
  text-align: left;
  transition: background-color 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

.site-menu__list button[data-header-submenu] {
  padding-right: 48px;
}

.site-menu__list button[data-header-submenu]::before,
.site-menu__list button[data-header-submenu]::after {
  position: absolute;
  right: 16px;
  top: calc(50% - 0.75px);
  display: block;
  width: 11px;
  height: 1.5px;
  border-radius: 24px;
  background: currentColor;
  opacity: 0.32;
  content: "";
  transform-origin: right center;
  transition:
    opacity 280ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

.site-menu__list button[data-header-submenu]::before {
  transform: rotate(45deg);
}

.site-menu__list button[data-header-submenu]::after {
  transform: rotate(-45deg);
}

.site-menu__list button[data-header-submenu]:hover::before,
.site-menu__list button[data-header-submenu].is-active::before,
.site-menu__list button[data-header-submenu]:hover::after,
.site-menu__list button[data-header-submenu].is-active::after {
  opacity: 0.48;
}

.site-menu__list a:hover,
.site-menu__list button:hover {
  background: rgb(235 235 235 / 64%);
}

.site-menu__list a.is-active,
.site-menu__list button.is-active,
.site-menu__list a.is-active:hover,
.site-menu__list button.is-active:hover {
  background: rgb(235 235 235 / 40%);
}

.site-menu__quote {
  display: flex;
  width: 100%;
  max-height: 0;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 8px 0 16px;
  overflow: hidden;
  background: rgb(235 235 235 / 40%);
  backdrop-filter: blur(20px);
  opacity: 0;
  pointer-events: none;
  transition:
    background-color 260ms cubic-bezier(0.22, 1, 0.36, 1),
    backdrop-filter 260ms cubic-bezier(0.22, 1, 0.36, 1),
    max-height 360ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 280ms cubic-bezier(0.22, 1, 0.36, 1),
    padding 360ms cubic-bezier(0.22, 1, 0.36, 1);
}

.site-menu.is-open .site-menu__quote {
  max-height: 48px;
  padding: 8px 8px 8px 16px;
  background: rgb(235 235 235 / 40%);
  backdrop-filter: blur(40px);
  opacity: 1;
  pointer-events: auto;
}

.site-menu:not(.is-open) .site-menu__quote--closed {
  max-height: 48px;
  padding: 8px 8px 8px 16px;
  opacity: 1;
  pointer-events: auto;
}

.site-menu.is-open .site-menu__quote--closed {
  display: none;
}

.site-menu .site-menu__quote:hover,
.site-menu .site-menu__quote:focus-within,
.site-menu .site-menu__quote:active,
.site-menu__quote.is-active {
  background: rgb(222 222 222 / 72%);
}

.site-menu__quote input {
  width: 100%;
  min-width: 0;
  padding: 0;
  outline: 0;
  background: transparent;
  color: var(--muted);
  font-size: 16px;
  letter-spacing: -0.16px;
  line-height: 20px;
}

.site-menu__quote input::placeholder {
  color: var(--muted);
  opacity: 1;
}

.quote-pill {
  appearance: none;
  display: flex;
  flex: 0 0 auto;
  min-height: 32px;
  align-items: center;
  justify-content: center;
  padding: 4px 16px;
  border-radius: 40px;
  background: var(--quote-bg);
  -webkit-backdrop-filter: blur(var(--quote-blur));
  backdrop-filter: blur(var(--quote-blur));
  color: var(--white);
  font-family: var(--font);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 18px;
  text-decoration: none;
  text-align: center;
  white-space: nowrap;
  transition:
    background-color 280ms cubic-bezier(0.22, 1, 0.36, 1),
    color 280ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.quote-pill:hover {
  background: var(--quote-hover-bg);
  transform: scale(1.021);
}

.quote-pill:active {
  background: var(--quote-active-bg);
  transform: scale(0.97);
}

.quote-pill--card {
  background-color: var(--card-button-bg);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  color: var(--card-pill-text);
}

.quote-pill--card:hover {
  background-color: var(--card-button-hover-bg);
  color: var(--card-copy);
  transform: scale(1.021);
}

.quote-pill--card-secondary {
  background-color: var(--card-button-secondary-bg);
  color: var(--card-pill-text);
}

.quote-pill--card-secondary:hover {
  background-color: var(--card-button-hover-bg);
  color: var(--card-copy);
}

.quote-pill.quote-pill--card:active,
.quote-pill.quote-pill--card-secondary:active {
  background-color: var(--card-button-active-bg);
  transform: scale(0.97);
}

.keychain {
  position: absolute;
  top: max(72px, calc(50svh - 292px));
  left: 50%;
  z-index: 1;
  display: block;
  width: 369px;
  height: 570px;
  transform: translateX(-50%);
  object-fit: contain;
  pointer-events: none;
  user-select: none;
}

.route-shell,
.route-view {
  position: absolute;
  inset: 0;
  min-height: 100dvh;
}

body:not(.is-route-ready) :is(.route-shell, .route-image-stage) {
  visibility: hidden;
}

.route-view {
  background: var(--white);
  opacity: 0;
  pointer-events: none;
  transform: translate3d(
    calc(var(--slide-x, 0) * var(--motion-route-distance)),
    calc(var(--slide-y, 0) * var(--motion-route-distance)),
    0
  ) scale(0.998);
  transition:
    opacity var(--motion-fade-duration) var(--motion-ease),
    transform var(--motion-route-duration) var(--motion-ease);
  will-change: opacity, transform;
}

.route-view.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: translate3d(0, 0, 0) scale(1);
}

.route-view:not(.is-active) * {
  pointer-events: none !important;
}

body.route-leaving .route-view.is-active {
  opacity: 1;
}

.copy {
  position: absolute;
  top: calc(48px + var(--figma-page-image-size) + 8px);
  bottom: auto !important;
  left: 50%;
  z-index: 2;
  isolation: isolate;
  display: flex;
  width: var(--ct-content-width);
  max-width: calc(100% - 32px);
  min-height: 0;
  height: auto;
  flex-direction: column;
  justify-content: flex-start;
  padding: 16px;
  overflow: hidden;
  overflow: visible;
  border-radius: 16px;
  background: var(--ct-color-card, var(--card-bg));
  -webkit-backdrop-filter: blur(var(--ct-blur-card, 60px));
  backdrop-filter: blur(var(--ct-blur-card, 60px));
  color: var(--card-copy);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 18px;
  opacity: 0;
  text-align: left;
  transform-origin: center bottom;
  transform:
    translateX(-50%)
    translate3d(
      calc(var(--slide-x, 0) * var(--motion-card-distance)),
      calc(var(--slide-y, 0) * var(--motion-card-distance)),
      0
    )
    scale(var(--motion-card-exit-scale));
  transition:
    opacity var(--motion-card-duration) var(--motion-ease) 40ms,
    bottom 280ms var(--motion-ease),
    transform var(--motion-card-duration) var(--motion-ease) 40ms;
  white-space: normal;
  will-change: opacity, transform;
}

.route-view.is-active .copy {
  opacity: 1;
  transform: translateX(-50%) translate3d(0, 0, 0) scale(1);
}

.route-view.is-active .copy:hover {
  transform: translateX(-50%) translate3d(0, 0, 0) scale(1);
}

.route-view.is-active .copy:active {
  transform: translateX(-50%) translate3d(0, 0, 0) scale(1);
}

.copy > p {
  margin: 0;
}

.copy > p:nth-of-type(n + 3),
.copy__details,
.copy__read-more-row,
.copy__cta-row,
.copy .sub-slide-controls {
  display: none !important;
}

.copy[data-full-copy="true"] > p:not([aria-hidden="true"]) {
  display: block !important;
}

.copy[data-full-copy="true"] > p[aria-hidden="true"],
.copy[data-full-copy="true"] .copy__read-more-row,
.copy[data-full-copy="true"] .copy__details {
  display: none !important;
}

.route-view[data-route-view^="/claims/"] .copy__cta-row {
  display: flex !important;
  margin-top: 24px;
}

.route-view[data-route-view^="/login/"] .copy__cta-row {
  display: flex !important;
  margin-top: 24px;
}

.route-view[data-route-view^="/enterprise/"] .copy__main-title,
.route-view[data-route-view^="/claims/"] .copy__main-title,
.route-view[data-route-view^="/login/"] .copy__main-title {
  display: block !important;
}

.route-view[data-route-view^="/enterprise/"] .copy__cta-row,
.route-view[data-route-view^="/claims/"] .copy__cta-row,
.route-view[data-route-view^="/login/"] .copy__cta-row,
.route-view[data-route-view="/agents"] .copy__cta-row {
  display: flex !important;
  margin-top: 24px;
}

.copy > p:nth-of-type(2) {
  margin-top: 40px;
  color: rgb(255 255 255 / 64%);
  font-size: 14px;
  line-height: 18px;
}

.copy__section-title {
  color: var(--white);
  font-size: 16px;
  line-height: 20px;
}

.copy__main-title {
  display: none;
}

.copy__sub-title {
  display: block;
}

.figma-bottom {
  position: absolute;
  bottom: calc(8px + var(--viewport-bottom-gap));
  left: 50%;
  z-index: 2;
  width: min(368px, calc(100% - 64px));
  color: var(--black);
  font-size: 12px;
  line-height: 16px;
  transform: translateX(-50%);
}

.figma-bottom__row {
  display: grid;
  min-height: 32px;
  grid-template-columns: minmax(48px, auto) minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  padding: 8px 0;
  border-bottom: 1px solid var(--figma-rule);
}

.figma-bottom__row:last-child {
  border-bottom: 0;
}

.figma-bottom__label {
  color: var(--black);
}

.figma-bottom__value {
  color: var(--header-grey);
  text-align: right;
}

.figma-bottom__row--split {
  grid-template-columns: minmax(104px, 40%) minmax(0, 1fr);
  gap: 0;
}

.figma-bottom__row--split .figma-bottom__label,
.figma-bottom__row--split .figma-bottom__value {
  white-space: nowrap;
}

.figma-bottom__row--split .figma-bottom__value {
  overflow: hidden;
  text-align: right;
  text-overflow: ellipsis;
}

.figma-bottom__row--detail {
  min-height: 0;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 40px;
}

.figma-bottom__row--detail .figma-bottom__value {
  text-align: left;
  width: 100%;
}

.figma-bottom__row--agent {
  min-height: 64px;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
}

.figma-bottom__row--agent .figma-bottom__label {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
}

.figma-bottom__row--agent .figma-bottom__value {
  grid-column: 2;
  grid-row: 2;
  text-align: left;
}

.figma-bottom__avatar {
  position: relative;
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 48px;
  height: 48px;
  overflow: hidden;
  border-radius: 8px;
  background: var(--white);
}

.figma-bottom__avatar img {
  position: absolute;
  width: 111.467px;
  height: 111.467px;
  max-width: none;
  object-fit: cover;
}

.figma-bottom__avatar--natashia img {
  top: -57.246px;
  left: -59.112px;
}

.figma-bottom__avatar--ryan img {
  top: -1.956px;
  left: -3.642px;
}

.figma-bottom__avatar--april img {
  top: -1.956px;
  left: -60.714px;
}

.figma-bottom__avatar--darrin img {
  top: -57.78px;
  left: -3.288px;
}

.figma-bottom__agent-email {
  grid-column: 3;
  grid-row: 1 / span 2;
  align-self: center;
  color: var(--header-grey);
  text-decoration: none;
}

.figma-bottom__row--columns {
  min-height: 32px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding: 0;
  border-bottom: 0;
}

.figma-bottom__cell {
  display: block;
  min-width: 0;
  padding: 8px 0;
  border-bottom: 1px solid var(--figma-rule);
  color: var(--black);
  white-space: nowrap;
}

.route-view[data-route-view="/agents"] .figma-bottom__row--detail {
  grid-template-columns: 128px 200px;
}

.agents-contact-slider {
  display: none;
}

.agents-contact-slider {
  position: absolute;
  top: var(--agents-slider-top, calc(var(--image-box-top, 136px) + var(--image-box-height, 240px) + 8px));
  left: 50%;
  z-index: 2;
  display: flex;
  width: var(--ct-content-width);
  max-width: calc(100% - 32px);
  flex-direction: column;
  gap: 8px;
  opacity: 0;
  pointer-events: none;
  transform:
    translateX(-50%)
    translate3d(
      calc(var(--slide-x, 0) * var(--motion-card-distance)),
      calc(var(--slide-y, 0) * var(--motion-card-distance)),
      0
    )
    scale(var(--motion-card-exit-scale));
  transform-origin: center center;
  transition:
    opacity var(--motion-card-duration) var(--motion-ease) 40ms,
    transform var(--motion-card-duration) var(--motion-ease) 40ms;
  touch-action: none;
  will-change: opacity, transform;
}

.route-view.is-active .agents-contact-slider {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translate3d(0, 0, 0) scale(1);
}

.route-view.is-active .agents-contact-slider:hover {
  transform: translateX(-50%) translate3d(0, 0, 0) scale(1.008);
}

.route-view.is-active .agents-contact-slider:active {
  transform: translateX(-50%) translate3d(0, 0, 0) scale(0.992);
}

.copy .agents-contact-slider {
  position: relative;
  top: auto;
  left: auto;
  z-index: 1;
  width: 100%;
  max-width: 100%;
  margin-top: 8px;
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

.route-view.is-active .copy .agents-contact-slider {
  opacity: 1;
  transform: none;
}

.route-view.is-active .copy .agents-contact-slider:hover {
  transform: scale(1.008);
}

.route-view.is-active .copy .agents-contact-slider:active {
  transform: scale(0.992);
}

.agents-contact-slider__viewport {
  width: 100%;
  height: 120px;
  overflow: hidden;
  border-radius: 16px;
}

.agents-contact-slider__track {
  position: relative;
  display: block;
  width: 100%;
  height: 120px;
  overflow: visible;
  overscroll-behavior-x: contain;
  outline: 0;
}

.agents-contact-card {
  position: absolute;
  inset: 0;
  display: flex;
  width: 100%;
  height: 120px;
  align-items: flex-start;
  flex-direction: row;
  gap: 16px;
  padding: 16px;
  overflow: hidden;
  border-radius: 16px;
  background: var(--quote-bg);
  -webkit-backdrop-filter: blur(var(--quote-blur));
  backdrop-filter: blur(var(--quote-blur));
  opacity: 0;
  pointer-events: none;
  transform:
    translate3d(calc(var(--agents-card-x, 0) * var(--motion-card-distance)), 0, 0)
    scale(var(--motion-card-exit-scale));
  transition:
    opacity var(--motion-card-duration) var(--motion-ease) 40ms,
    transform var(--motion-card-duration) var(--motion-ease) 40ms;
  user-select: none;
  will-change: opacity, transform;
}

.agents-contact-card.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: translate3d(0, 0, 0) scale(1);
}

.agents-contact-card__photo {
  position: relative;
  flex: 0 0 88px;
  width: 88px;
  height: 88px;
  overflow: hidden;
  border-radius: 8px;
  background: var(--white);
}

.agents-contact-card__photo img {
  position: absolute;
  width: 204.356px;
  height: 204.356px;
  max-width: none;
  object-fit: cover;
  pointer-events: none;
  user-select: none;
}

.agents-contact-card__photo--natashia img {
  top: -104.951px;
  left: -108.372px;
}

.agents-contact-card__photo--ryan img {
  top: -3.586px;
  left: -6.677px;
}

.agents-contact-card__photo--april img {
  top: -3.586px;
  left: -111.309px;
}

.agents-contact-card__photo--darrin img {
  top: -105.93px;
  left: -6.028px;
}

.agents-contact-card__content {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  height: 88px;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  gap: 0;
}

.agents-contact-card__text {
  display: flex;
  min-width: 0;
  max-width: 100%;
  width: 100%;
  flex-direction: column;
  justify-content: flex-start;
  height: auto;
}

.agents-contact-card__name,
.agents-contact-card__location {
  max-width: 100%;
  margin: 0;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.copy .agents-contact-card p::after {
  content: none;
}

.agents-contact-card__name {
  color: rgb(255 255 255 / 80%);
  font-size: 16px;
  line-height: 20px;
}

.agents-contact-card__location {
  color: rgb(255 255 255 / 56%);
  font-size: 14px;
  line-height: 18px;
}

.review-rating-meta {
  display: flex;
  gap: 8px;
  align-items: center;
}

.agents-contact-card__email {
  margin-top: auto;
  background-color: var(--card-button-bg);
  color: var(--card-pill-text);
}

.agents-contact-card__email:hover {
  background-color: var(--card-button-hover-bg);
}

.agents-contact-card__email:active {
  background-color: var(--card-button-active-bg);
}

.agents-contact-slider__controls {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
}

.agents-contact-slider__dots {
  display: flex;
  height: 4px;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
}

.agents-contact-slider__dots button {
  position: relative;
  display: block;
  width: 4px;
  height: 4px;
  padding: 0;
  border-radius: 8px;
  background: rgb(255 255 255 / 24%);
  opacity: 0.56;
  transform: scale(1);
  transition:
    background-color var(--motion-card-duration) var(--motion-ease) 40ms,
    opacity var(--motion-card-duration) var(--motion-ease) 40ms,
    transform var(--motion-card-duration) var(--motion-ease) 40ms;
}

.agents-contact-slider__dots button::after {
  position: absolute;
  inset: -6px;
  content: "";
}

.agents-contact-slider__dots button[aria-current="true"] {
  background: var(--white);
  opacity: 1;
  transform: scale(1.18);
}

.agents-contact-slider__dots button:hover {
  transform: scale(1.8);
}

.agents-contact-slider__dots button:active {
  transform: scale(1.35);
}

.reviews-contact-slider .agents-contact-slider__viewport,
.reviews-contact-slider .agents-contact-slider__track {
  min-height: 0;
  height: var(--review-slider-height, auto);
}

.reviews-contact-slider .agents-contact-card {
  inset: 0 0 auto;
  display: block;
  min-height: 0;
  height: auto;
  gap: 0;
  padding: 16px;
  background: var(--quote-bg);
}

.reviews-contact-slider .agents-contact-card__name {
  color: var(--card-muted);
  font-size: 14px;
  line-height: 18px;
}

.review-contact-card__content {
  display: block;
  flex: none;
  width: 100%;
  min-height: 0;
  height: auto;
}

.review-contact-card__text {
  display: block;
  width: 100%;
  min-height: 0;
  height: auto;
  padding-right: 4px;
}

.review-contact-card__quote {
  display: -webkit-box;
  max-width: 100%;
  margin: 6px 0 0;
  overflow: hidden;
  color: rgb(255 255 255 / 80%);
  font-size: 16px;
  line-height: 20px;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.reviews-contact-slider .agents-contact-slider__controls {
  top: 16px;
  right: 16px;
  bottom: auto;
  left: auto;
}

.copy > .copy__surface {
  position: absolute;
  display: none;
  border-radius: inherit;
  background: transparent;
  overflow: hidden;
  pointer-events: none;
}

.copy__surface::before,
.copy__surface::after {
  position: absolute;
  content: "";
  pointer-events: none;
}

.copy__surface::before {
  content: none;
}

.copy__surface::after {
  inset: 0;
  background: transparent;
}

.copy > .copy__surface {
  inset: 0;
  z-index: 0;
  --card-layer-opacity: 0.8;
}


.copy > :not(.copy__surface) {
  position: relative;
  z-index: 1;
}

.copy .copy__section-title {
  position: relative;
  z-index: 1;
  transition: opacity 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

.copy .copy__section-title > *:not(.sub-slide-controls) {
  position: relative;
  z-index: 2;
}

.copy p {
  margin: 0;
  color: inherit;
  transition: color 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

.copy.is-copy-collapsible {
  cursor: pointer;
}

.copy__read-more-row {
  display: flex;
  justify-content: flex-start;
  margin: 24px -8px -8px;
  padding: 0 8px 8px;
  max-height: 40px;
  opacity: 1;
  overflow: visible;
  transform: translateY(0);
  transition:
    max-height var(--copy-expand-duration) var(--motion-ease),
    margin-top var(--copy-expand-duration) var(--motion-ease),
    opacity var(--copy-expand-duration) var(--motion-ease),
    transform var(--copy-expand-duration) var(--motion-ease);
}

.copy__details {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  pointer-events: none;
  transition:
    grid-template-rows var(--copy-expand-duration) var(--motion-ease);
}

.copy.is-copy-expanded .copy__read-more-row {
  max-height: 0;
  margin-top: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-4px);
}

.copy.is-copy-expanded .copy__details {
  grid-template-rows: 1fr;
  overflow: hidden;
  pointer-events: auto;
}

.copy__details-inner {
  min-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(4px);
  transition:
    opacity var(--copy-expand-duration) var(--motion-ease),
    transform var(--copy-expand-duration) var(--motion-ease);
}

.copy.is-copy-expanded .copy__details-inner {
  opacity: 1;
  transform: translateY(0);
}

.copy__cta-row {
  display: flex;
  gap: 8px;
  justify-content: flex-start;
  margin: 40px -8px -8px !important;
  padding: 0 8px 8px;
  overflow: visible;
}

.copy__read-more,
.copy__cta-row .quote-pill {
  transform-origin: left center;
}

.copy .copy__section-title {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  list-style: none;
  margin-bottom: 8px !important;
  color: var(--card-muted);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 18px;
}

.copy__main-title,
.copy__sub-title {
  transition: color 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

.copy__section-title.has-main-title .copy__sub-title {
  order: 2;
}

.copy__section-title.has-main-title {
  width: 100%;
  padding-right: 104px;
  align-items: center;
  flex-direction: row;
  gap: 8px;
}

.copy__section-title.has-main-title .copy__main-title {
  order: 1;
  color: var(--card-muted);
}

.copy--figma-card .copy__section-title {
  color: var(--card-muted);
}

.copy--figma-card .copy__cta-row {
  margin-top: 40px !important;
}

.main-slide-dots {
  position: absolute;
  top: 50%;
  left: calc((100% - min(var(--ct-content-width), calc(100% - 32px))) / 2 - 12px);
  z-index: 24;
  display: flex;
  flex-direction: column;
  gap: 4px;
  transform: translateY(-50%);
}

.main-slide-dots button,
.sub-slide-dots button {
  --dot-rest-opacity: 0.42;
  position: relative;
  display: block;
  width: 4px;
  height: 4px;
  padding: 0;
  border-radius: 50%;
  background: transparent;
  opacity: 1;
}

.main-slide-dots button::after,
.sub-slide-dots button::after {
  position: absolute;
  inset: -4px;
  content: "";
}

.main-slide-dots button::before,
.sub-slide-dots button::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--header-grey);
  content: "";
  opacity: var(--dot-rest-opacity);
  transform: translate(-50%, -50%) scale(1);
  transition:
    background-color 260ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 260ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
}

.main-slide-dots button.is-active,
.sub-slide-dots button.is-active {
  --dot-rest-opacity: 1;
}

.main-slide-dots button.is-active::before,
.sub-slide-dots button.is-active::before {
  background: var(--quote-bg);
}


.copy .sub-slide-dots button.is-active::before {
  background: var(--white);
}

.main-slide-dots button:hover::before,
.sub-slide-dots button:hover::before {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1.8);
}

.main-slide-dots button:active::before,
.sub-slide-dots button:active::before {
  transform: translate(-50%, -50%) scale(1.35);
}

.sub-slide-controls {
  position: absolute;
  top: 50%;
  right: 0;
  display: inline-flex;
  align-items: center;
  gap: 16px;
  order: 3;
  margin: 0;
  transform: translateY(-50%);
}

.sub-slide-dots {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0;
}

.slide-nav-group {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

.slide-nav-button {
  position: relative;
  display: grid;
  width: 24px;
  height: 16px;
  padding: 0;
  border-radius: 40px;
  background: var(--card-button-bg);
  color: var(--card-pill-text);
  place-items: center;
  transition:
    background-color 280ms cubic-bezier(0.22, 1, 0.36, 1),
    color 280ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

.slide-nav-button::before {
  width: 5px;
  height: 5px;
  border-top: 1.25px solid currentColor;
  border-right: 1.25px solid currentColor;
  content: "";
}

.slide-nav-button[data-slide-direction="-1"]::before {
  transform: translateX(1px) rotate(225deg);
}

.slide-nav-button[data-slide-direction="1"]::before {
  transform: translateX(-1px) rotate(45deg);
}

.slide-nav-button:hover {
  background: var(--card-button-hover-bg);
  color: var(--card-copy);
  transform: scale(1.021);
}

.slide-nav-button:active {
  background: var(--card-button-active-bg);
  transform: scale(0.97);
}

.copy-text {
  transition: color 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

.copy-nowrap {
  white-space: nowrap;
}

.copy:has(span.is-card-open) .copy-text {
  color: var(--card-dim);
}

.copy .copy-text,
.copy .copy-nowrap,
.copy__main-title,
.copy__sub-title,
.copy span[data-card] {
  --card-left: 50vw;
  --card-top: 50vh;
  position: relative;
  color: var(--card-copy);
  transition: color 280ms cubic-bezier(0.22, 1, 0.36, 1);
  text-decoration: none;
}

.copy .copy__section-title,
.copy .copy__section-title > *:not(.sub-slide-controls),
.copy__section-title.has-main-title .copy__main-title,
.copy--figma-card .copy__section-title {
  color: var(--card-muted);
}

.copy__section-title.has-main-title .copy__sub-title {
  color: var(--card-dim);
}

.copy .agents-contact-card__name {
  color: rgb(255 255 255 / 80%);
}

.copy .agents-contact-card__location {
  color: rgb(255 255 255 / 56%);
}

.copy .quote-pill--card:hover,
.copy .quote-pill--card-secondary:hover,
.copy .agents-contact-card__email:hover {
  color: var(--card-copy);
}

.copy span[data-card] {
  --underline-opacity: 0.4;
  --underline-scale: 1;
  cursor: pointer;
  background-image:
    linear-gradient(
      rgb(255 255 255 / var(--underline-opacity)),
      rgb(255 255 255 / var(--underline-opacity))
    );
  background-repeat: no-repeat;
  background-position: center calc(100% - 1px);
  background-size: calc(100% * var(--underline-scale)) 1px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  margin-bottom: -5px;
  padding-bottom: 5px;
  transition:
    color 280ms cubic-bezier(0.22, 1, 0.36, 1),
    background-position 280ms cubic-bezier(0.22, 1, 0.36, 1),
    --underline-opacity 280ms cubic-bezier(0.22, 1, 0.36, 1),
    --underline-scale 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

.copy:has(span.is-card-open) span.is-card-open {
  color: var(--card-active);
}

.copy span[data-card]::before {
  content: none;
}

.copy span[data-card].is-card-open {
  --underline-opacity: 0;
  --underline-scale: 0;
  background-position: center calc(100% + 5px);
}

.copy:has(span.is-card-open) span[data-card]:not(.is-card-open) {
  --underline-opacity: 0.08;
  color: var(--card-dim);
}

.copy span[data-card]::after {
  content: none;
}

.copy-card {
  position: fixed;
  top: var(--card-top, 0);
  left: var(--card-left, 24px);
  z-index: 50;
  width: min(280px, calc(100vw - 48px));
  padding: 9px 12px;
  border-radius: 12px;
  background: rgb(235 235 235 / 40%);
  backdrop-filter: blur(20px);
  color: var(--header-grey);
  font-size: 14px;
  letter-spacing: normal !important;
  line-height: 18px;
  opacity: 0;
  pointer-events: none;
  text-align: center;
  transform: translateY(calc(-100% + 8px)) scale(0.98);
  transition:
    opacity 280ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 280ms cubic-bezier(0.22, 1, 0.36, 1);
  white-space: normal;
}

.copy-card.is-open {
  opacity: 1;
  transform: translateY(-100%) scale(1);
}

.footer-links {
  position: absolute;
  bottom: 8px;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  transform: translateX(-50%);
  color: var(--muted);
  font-size: 14px;
  letter-spacing: -0.14px;
  line-height: 18px;
  text-align: center;
  white-space: nowrap;
}

.footer-links a {
  color: inherit;
  text-decoration: none;
  transition: color 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

.footer-link {
  padding: 0;
  background: transparent;
  color: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  transition: color 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

.footer-links a:hover,
.footer-link:hover,
.footer-link[aria-expanded="true"] {
  color: var(--black);
}

.pill-menu {
  position: absolute;
  bottom: 40px;
  left: var(--pill-menu-left, 50%);
  z-index: 20;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 0;
  transform: translateX(-50%);
  background: transparent;
}

.pill-menu button {
  display: flex;
  width: auto;
  align-items: center;
  justify-content: center;
  padding: 4px 16px;
  border-radius: 40px;
  background: rgb(0 0 0 / 64%);
  backdrop-filter: blur(20px);
  color: var(--white);
  font-size: 14px;
  letter-spacing: -0.14px;
  line-height: 18px;
  text-align: center;
  white-space: nowrap;
  transition:
    background-color 200ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
  opacity: 0;
  transform: translateY(8px) scale(0.98);
  will-change: opacity, transform;
}

.pill-menu button:hover {
  background: rgb(34 34 34 / 88%);
  transform: scale(1.021);
}

.pill-menu button:active {
  transform: scale(0.97);
}

.drawer-overlay {
  position: fixed;
  inset: 0;
  z-index: 40;
  background: rgb(34 34 34 / 40%);
  opacity: 0;
  transition: opacity 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

.drawer {
  position: fixed;
  bottom: 0;
  left: 50%;
  z-index: 50;
  width: var(--ct-content-width);
  max-width: calc(100% - 32px);
  min-height: 240px;
  height: auto;
  max-height: calc(100svh - 8px);
  overflow: hidden;
  border-radius: 40px 40px 0 0;
  background: var(--white);
  outline: 0;
  transform: translateX(-50%) translateY(100%) scale(0.995);
  transform-origin: bottom center;
  transition:
    transform 340ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 280ms cubic-bezier(0.22, 1, 0.36, 1);
  touch-action: none;
  will-change: transform;
}

.drawer.is-dragging {
  transition: none;
}

.drawer:has(.contact-drawer),
.drawer:has(.market-drawer),
.drawer:has(.claim-form) {
  border-radius: 16px 16px 0 0;
  background: var(--quote-bg);
  -webkit-backdrop-filter: blur(var(--quote-blur));
  backdrop-filter: blur(var(--quote-blur));
  color: var(--card-copy);
}

.drawer-content {
  display: flex;
  min-height: 216px;
  align-items: center;
  justify-content: center;
  padding: 40px 24px 136px;
  user-select: none;
  -webkit-user-select: none;
}

.drawer-content p {
  margin: 0;
  color: var(--black);
  font-size: 16px;
  letter-spacing: -0.16px;
  line-height: 20px;
  text-align: center;
}

.drawer-content:has(.reviews-drawer-list) {
  display: block;
  min-height: min(720px, calc(100svh - 8px));
  max-height: calc(100svh - 8px);
  padding: 32px 16px 112px;
  overflow-y: auto;
  user-select: text;
  -webkit-overflow-scrolling: touch;
  -webkit-user-select: text;
}

.reviews-drawer-list {
  display: flex;
  width: min(720px, 100%);
  margin: 0 auto;
  flex-direction: column;
  gap: 8px;
}

.drawer-content .reviews-drawer-title {
  margin: 0 0 8px;
  color: var(--black);
  font-size: 16px;
  line-height: 20px;
  text-align: left;
}

.reviews-drawer-card {
  display: block;
  padding: 16px;
  border-radius: 16px;
  background: rgb(40 40 40 / 8%);
}

.reviews-drawer-card__body {
  min-width: 0;
}

.drawer-content .reviews-drawer-name,
.drawer-content .reviews-drawer-meta,
.drawer-content .reviews-drawer-text {
  text-align: left;
}

.drawer-content .reviews-drawer-name {
  color: var(--black);
  font-size: 16px;
  line-height: 20px;
}

.drawer-content .reviews-drawer-meta {
  margin-top: 2px;
  color: rgb(0 0 0 / 56%);
  font-size: 14px;
  line-height: 18px;
}

.drawer-content .reviews-drawer-text {
  margin-top: 8px;
  color: rgb(0 0 0 / 80%);
  font-size: 14px;
  line-height: 18px;
}

.drawer-content:has(.contact-drawer),
.drawer-content:has(.market-drawer) {
  display: block;
  min-height: min(760px, calc(100svh - 8px));
  max-height: calc(100svh - 8px);
  padding: 40px 16px 112px;
  overflow-y: auto;
  user-select: text;
  -webkit-overflow-scrolling: touch;
  -webkit-user-select: text;
}

.contact-drawer {
  display: flex;
  width: min(var(--ct-content-width), 100%);
  margin: 0 auto;
  flex-direction: column;
  gap: 56px;
  color: var(--card-copy);
}

.contact-drawer__section {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: 16px;
  padding: 0;
}

.contact-drawer__section--wide {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.contact-drawer h2 {
  margin: 0;
  padding: 0 16px;
  color: var(--card-muted);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 18px;
}

.contact-drawer__section > h2 {
  margin-bottom: 8px;
}

.contact-drawer p {
  margin: 0;
  padding: 0 16px;
  color: var(--card-copy);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 18px;
  text-align: left;
}

.contact-drawer strong {
  color: var(--card-copy);
  font-weight: 400;
}

.contact-drawer a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.market-drawer {
  display: flex;
  width: min(var(--ct-content-width), 100%);
  margin: 0 auto;
  flex-direction: column;
  gap: 40px;
  color: var(--card-copy);
}

.market-drawer__header,
.market-drawer__section {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 8px;
  padding: 0 16px;
}

.market-drawer__eyebrow,
.market-drawer__subtitle,
.market-drawer h3 {
  margin: 0;
  color: var(--card-muted);
  font-size: 14px;
  font-weight: 400;
  line-height: 18px;
}

.market-drawer h2 {
  margin: 0;
  color: var(--card-copy);
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
}

.market-drawer p {
  margin: 0;
  color: var(--card-copy);
  font-size: 14px;
  line-height: 18px;
  text-align: left;
}

.drawer-content:has(.claim-form) {
  display: block;
  min-height: min(760px, calc(100svh - 8px));
  max-height: calc(100svh - 8px);
  padding: 40px 16px 112px;
  overflow-y: auto;
  user-select: text;
  -webkit-overflow-scrolling: touch;
  -webkit-user-select: text;
}

.claim-form {
  display: flex;
  width: min(var(--ct-content-width), 100%);
  margin: 0 auto;
  flex-direction: column;
  gap: 56px;
  color: var(--card-copy);
}

.claim-form h3,
.claim-form label,
.claim-form legend {
  margin: 0;
}

.claim-form h3 {
  padding: 0 16px;
  color: var(--card-muted);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 18px;
}

.claim-form__section {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 16px;
  padding: 0;
}

.claim-form__section > h3 {
  margin-bottom: 8px;
}

.claim-form__field {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 8px;
  color: var(--card-copy);
  font-size: 14px;
  line-height: 18px;
}

.claim-form__field > span:first-child,
.claim-form__choices legend {
  padding: 0 16px;
  color: var(--card-muted);
  font-size: 14px;
  line-height: 18px;
}

.claim-form input,
.claim-form textarea {
  width: 100%;
  min-height: 40px;
  padding: 8px 12px;
  border: 0;
  border-radius: 24px;
  background: rgb(239 239 239 / 80%);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  color: #222;
  font-family: var(--font);
  font-size: 14px;
  letter-spacing: -0.14px;
  line-height: 18px;
  transition:
    background-color 280ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.claim-form input:hover,
.claim-form textarea:hover,
.claim-form__choices label:hover,
.claim-form__file:hover {
  background-color: rgb(226 226 226 / 88%);
  transform: scale(1.021);
}

.claim-form input:active,
.claim-form textarea:active,
.claim-form__choices label:active,
.claim-form__file:active {
  background-color: rgb(210 210 210 / 92%);
  transform: scale(0.97);
}

.claim-form input::placeholder,
.claim-form textarea::placeholder {
  color: #999;
  opacity: 1;
}

.claim-form input {
  padding-right: 8px;
  padding-left: 16px;
}

.claim-form textarea {
  min-height: 80px;
  border-radius: 16px;
  resize: vertical;
}

.claim-form__choices {
  display: flex;
  border: 0;
  padding: 0;
  gap: 8px;
  flex-direction: column;
}

.claim-form__choices label {
  display: flex;
  min-height: 40px;
  align-items: center;
  gap: 11px;
  padding: 8px 8px 8px 16px;
  overflow: hidden;
  border-radius: 24px;
  background: rgb(239 239 239 / 80%);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  color: #666;
  font-size: 14px;
  line-height: 18px;
  transition:
    background-color 280ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.claim-form__choices input {
  appearance: none;
  width: 16px;
  min-height: 16px;
  padding: 0;
  border: 1px solid rgb(0 0 0 / 8%);
  border-radius: 8px;
  background: var(--white);
  backdrop-filter: none;
}

.claim-form__choices input:checked {
  background: #222;
}

.claim-form-required {
  color: #d62424;
}

.claim-form__file {
  position: relative;
  display: flex;
  min-height: 40px;
  align-items: center;
  padding: 8px 8px 8px 16px;
  overflow: hidden;
  border-radius: 24px;
  background: rgb(239 239 239 / 80%);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  color: #666;
  font-size: 14px;
  line-height: 18px;
  transition:
    background-color 280ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.claim-form__file input {
  position: absolute;
  inset: 0;
  min-height: 0;
  opacity: 0;
  cursor: pointer;
}

.claim-form__file span {
  pointer-events: none;
}

.claim-form__hint {
  padding: 0 16px;
  color: var(--card-muted);
  font-size: 14px;
  line-height: 18px;
}

.claim-form__submit {
  align-self: stretch;
  width: 100%;
  min-height: 40px;
  padding: 8px 24px;
  border-radius: 24px;
  background: var(--quote-bg);
  -webkit-backdrop-filter: blur(var(--quote-blur));
  backdrop-filter: blur(var(--quote-blur));
  color: var(--white);
  font-size: 14px;
  font-weight: 400;
  line-height: 18px;
  transition:
    background-color 280ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.claim-form__submit:hover {
  background: var(--quote-hover-bg);
  transform: scale(1.021);
}

.claim-form__submit:active {
  background: var(--quote-active-bg);
  transform: scale(0.97);
}

.drawer-footer-shell {
  position: absolute;
  bottom: 24px;
  left: 50%;
  z-index: 2;
  transform: translateX(-50%);
  pointer-events: none;
}

.drawer-footer {
  height: 56px;
  transition: all 200ms ease-out;
  will-change: transform;
  pointer-events: auto;
}

.drawer-footer:hover {
  transform: scale(1.021);
}

.drawer-footer:active {
  transform: scale(0.97);
}

.drawer-close {
  display: flex;
  width: 80px;
  min-width: 80px;
  height: 56px;
  align-items: center;
  justify-content: center;
  padding: 10px 32px;
  border-radius: 1000px;
  background: #fafafa;
  color: var(--header-grey);
  backdrop-filter: blur(24px) saturate(150%);
  transition: background-color 200ms ease-out;
}

.drawer-close:hover {
  background: #f0f0f0;
}

.drawer-close:active {
  background: #dedede;
}

.icon-down {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  color: inherit;
  transform: scale(0.75);
}

.drawer-item {
  opacity: 0;
  transform: translateY(18px) scale(0.995);
  transition:
    opacity 340ms cubic-bezier(0.65, 0, 0.35, 1),
    transform 340ms cubic-bezier(0.65, 0, 0.35, 1);
}

body.menu-open .pill-menu:not([hidden]) {
  pointer-events: auto;
}

body.menu-open .pill-menu:not([hidden]) button {
  opacity: 1;
  transform: translateY(0) scale(1);
  animation: enterprise-item-in 260ms cubic-bezier(0.22, 1, 0.36, 1) backwards;
  animation-delay: var(--open-delay, 0ms);
}

body.menu-closing .pill-menu:not([hidden]) button {
  animation: enterprise-item-out 220ms cubic-bezier(0.65, 0, 0.35, 1) both;
  animation-delay: var(--close-delay, 0ms);
}

body.menu-open .pill-menu:not([hidden]) button:hover {
  transform: translateY(0) scale(1.021);
}

body.menu-open .pill-menu:not([hidden]) button:active {
  transform: translateY(0) scale(0.97);
}

body.drawer-open {
  overflow: hidden;
}

body.drawer-open .drawer-overlay {
  opacity: 1;
}

body.drawer-open .drawer {
  transform: translateX(-50%) translateY(0) scale(1);
}

body.drawer-open .drawer-item {
  opacity: 1;
  transform: translateY(0) scale(1);
}

[hidden] {
  display: none !important;
}

@keyframes enterprise-item-in {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.98);
  }

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

@keyframes enterprise-item-out {
  from {
    opacity: 1;
    transform: translateY(0) scale(1);
  }

  to {
    opacity: 0;
    transform: translateY(8px) scale(0.98);
  }
}

@keyframes content-intro {
  from {
    opacity: 0;
    translate: var(--intro-shift) var(--intro-shift);
    scale: 0.96;
  }

  to {
    opacity: 1;
    translate: 0 0;
    scale: 1;
  }
}

.site-menu:not(.is-open) .site-menu__quote--closed:hover,
.site-menu:not(.is-open) .site-menu__quote--closed:focus-within,
.site-menu:not(.is-open) .site-menu__quote--closed:active,
.site-menu:not(.is-open) .site-menu__quote--closed.is-active {
  background: var(--ct-color-header-control);
  -webkit-backdrop-filter: blur(var(--ct-blur-header));
  backdrop-filter: blur(var(--ct-blur-header));
}

@keyframes main-dot-intro {
  from {
    opacity: 0;
    transform: translateY(var(--intro-shift));
  }

  to {
    opacity: var(--dot-rest-opacity);
    transform: translateY(0);
  }
}


@media (prefers-reduced-motion: reduce) {
  .site-menu,
  .keychain,
  .copy,
  .agents-contact-slider,
  .agents-contact-slider__track,
  .agents-contact-slider__dots button,
  .route-view,
  .main-slide-dots,
  .main-slide-dots button,
  .sub-slide-dots button,
  .site-menu__toggle-line {
    animation: none;
    transition: none;
  }

  .route-view[data-route-view="/"]::before,
  .route-view[data-route-view="/agents"]::before,
  .route-view[data-route-view^="/claims/"]::before,
  .route-view[data-route-view^="/enterprise/"]::before {
    animation: none;
  }
}

/* Figma node 116:2962 route treatment. Kept at the end to override the restored card system. */
.site-menu {
  position: fixed;
}

.site-menu.is-open {
  top: 0;
}

.site-menu:not(.is-open) {
  overflow: visible;
  border-radius: 0;
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.site-menu:not(.is-open) .site-menu__top {
  height: 16px;
  padding: 0 16px;
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.site-menu:not(.is-open):hover,
.site-menu:not(.is-open):active {
  scale: 1;
}

.route-view::before,
.keychain,
.route-view:not([data-route-view="/agents"]) > .agents-contact-slider {
  display: none !important;
}

.figma-page-image {
  position: absolute;
  top: 48px;
  bottom: auto;
  left: 50%;
  z-index: 2;
  display: block;
  width: var(--figma-page-image-width);
  height: var(--figma-page-image-size);
  border-radius: 16px;
  object-fit: cover;
  pointer-events: none;
  transform:
    translateX(-50%)
    translate3d(
      calc(var(--slide-x, 0) * var(--motion-card-distance)),
      calc(var(--slide-y, 0) * var(--motion-card-distance)),
      0
    );
  transition:
    width var(--motion-card-duration) var(--motion-ease),
    height var(--motion-card-duration) var(--motion-ease),
    opacity var(--motion-card-duration) var(--motion-ease) 40ms,
    transform var(--motion-card-duration) var(--motion-ease) 40ms;
  user-select: none;
}

.route-view[data-route-view="/intelligence"] {
  --figma-page-image-size: clamp(
    96px,
    calc(100dvh - var(--figma-bottom-height, 0px) - 300px - var(--viewport-bottom-gap)),
    min(var(--ct-content-width), calc(100vw - 32px))
  );
}

.route-view[data-route-view="/intelligence"] .figma-page-image,
.route-view[data-route-view="/4"] .figma-page-image,
.route-view[data-route-view="/5"] .figma-page-image,
.route-view[data-route-view="/markets"] .figma-page-image {
  transition:
    width 280ms var(--motion-ease),
    height 280ms var(--motion-ease),
    opacity var(--motion-card-duration) var(--motion-ease) 40ms,
    transform var(--motion-card-duration) var(--motion-ease) 40ms;
}

.route-view[data-figma-no-image="true"] .figma-page-image {
  display: none !important;
}

.route-view[data-figma-no-image="true"] .copy {
  top: 48px !important;
}

.route-view[data-route-view="/agents"] .copy {
  bottom: calc(var(--figma-bottom-height, 0px) + 16px + var(--viewport-bottom-gap)) !important;
  justify-content: space-between;
}

.route-view[data-route-view="/agents"] .copy > p:nth-of-type(2) {
  margin-top: 0;
}

.route-view[data-route-view="/"] .copy {
  bottom: auto !important;
  height: auto;
}

.route-view:not(.is-active) .figma-page-image {
  opacity: 0;
}

.route-view.is-active .figma-page-image {
  opacity: 1;
  transform: translateX(-50%) translate3d(0, 0, 0);
}

.copy {
  top: calc(48px + var(--figma-page-image-size) + 8px) !important;
  bottom: auto !important;
  display: flex !important;
  min-height: 0;
  height: auto;
  flex-direction: column;
  justify-content: flex-start;
  width: var(--ct-content-width);
  max-width: calc(100% - 32px);
  color: rgb(255 255 255 / 64%);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 18px;
}

.route-view[data-route-view="/agents"] > .agents-contact-slider {
  display: none !important;
}

.route-view.is-active .copy:hover,
.route-view.is-active .copy:active {
  transform: translateX(-50%) translate3d(0, 0, 0) scale(1);
}

.copy p,
.copy .copy__section-title,
.copy .copy__section-title + p {
  display: block;
}

.copy > p:nth-of-type(n + 3),
.copy__details,
.copy__read-more-row,
.copy__cta-row,
.copy .sub-slide-controls {
  display: none !important;
}

.copy[data-full-copy="true"] > p:not([aria-hidden="true"]) {
  display: block !important;
}

.copy[data-full-copy="true"] > p[aria-hidden="true"],
.copy[data-full-copy="true"] .copy__read-more-row,
.copy[data-full-copy="true"] .copy__details {
  display: none !important;
}

.route-view[data-route-view^="/claims/"] .copy__cta-row {
  display: flex !important;
  margin-top: 24px;
}

.route-view[data-route-view^="/enterprise/"] .copy__cta-row,
.route-view[data-route-view^="/claims/"] .copy__cta-row,
.route-view[data-route-view="/agents"] .copy__cta-row {
  display: flex !important;
  width: 100%;
  gap: 8px;
  margin: 24px 0 0 !important;
  padding: 0;
}

.route-view[data-route-view^="/enterprise/"] .copy__cta-row .quote-pill,
.route-view[data-route-view^="/claims/"] .copy__cta-row .quote-pill,
.route-view[data-route-view="/agents"] .copy__cta-row .quote-pill {
  flex: 1 1 0;
  min-width: 0;
  width: 100%;
  min-height: 40px;
  transform-origin: center center;
}

.copy .copy__section-title,
.copy .copy__section-title > *:not(.sub-slide-controls),
.copy__section-title.has-main-title .copy__main-title,
.copy--figma-card .copy__section-title,
.copy__section-title.has-main-title .copy__sub-title {
  margin: 0 !important;
  padding: 0;
  color: var(--white);
  font-size: 16px;
  line-height: 20px;
}

.copy .copy__section-title {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}

.copy .copy__eyebrow {
  color: rgb(255 255 255 / 64%) !important;
  font-size: 14px !important;
  line-height: 18px !important;
}

.copy .copy__title-text {
  color: var(--white) !important;
  font-size: 16px !important;
  line-height: 20px !important;
}

.copy--login {
  gap: 24px;
  justify-content: flex-start !important;
}

.login-card-stack {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 0;
}

.login-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 12px 0;
  border-top: 1px solid rgb(255 255 255 / 16%);
  color: var(--white);
  text-decoration: none;
}

.login-card:first-child {
  border-top: 0;
  padding-top: 0;
}

.login-card > span:first-child {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0;
}

.login-card strong {
  color: var(--white);
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
}

.login-card strong + span {
  color: rgb(255 255 255 / 64%);
  font-size: 14px;
  line-height: 18px;
}

.login-card__button {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  justify-content: center;
  padding: 6px 16px;
  border-radius: 999px;
  background: var(--card-button-bg);
  color: var(--white);
  font-size: 14px;
  line-height: 18px;
  white-space: nowrap;
}

.page-card-stack {
  position: absolute;
  top: 48px;
  bottom: auto;
  left: 50%;
  z-index: 2;
  display: flex;
  width: var(--ct-content-width);
  max-width: calc(100% - 32px);
  min-height: 0;
  flex-direction: column;
  gap: 8px;
  overflow: auto;
  transform: translateX(-50%);
  scrollbar-width: none;
}

.page-card-stack::-webkit-scrollbar {
  display: none;
}

.route-view[data-route-view="/about"] .page-card-stack {
  top: calc(48px + var(--figma-page-image-size) + 8px);
}

.route-view[data-route-view="/login"] .page-card-stack {
  bottom: calc(16px + var(--viewport-bottom-gap));
}

.route-view[data-route-view="/login"] .page-card {
  flex: 1 1 0;
  gap: 0;
}

.route-view[data-route-view="/login"] .page-card__description {
  margin-top: auto;
}

.route-view[data-route-view="/login"] .page-card__button {
  margin-top: 40px;
}

.route-view[data-route-view="/login"] .login-portal-stack {
  top: 48px;
  bottom: 8px;
  gap: 8px;
  width: var(--ct-content-width);
  max-width: calc(100% - 32px);
  overflow: hidden;
}

.route-view[data-route-view="/login"] .login-portal-card {
  flex: 1 1 0;
  justify-content: space-between;
  gap: 16px;
  padding: 16px;
  overflow: hidden;
}

.route-view[data-route-view="/login"] .login-portal-card--bonsai {
  background: #6d3400;
}

.route-view[data-route-view="/login"] .login-portal-card--maple {
  background: #5a0c0c;
}

.route-view[data-route-view="/login"] .login-portal-card--billing {
  background: #003a31;
}

.login-portal-card__brand {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: 8px;
}

.route-view[data-route-view="/login"] .login-portal-card .page-card__title {
  color: rgb(255 255 255 / 40%);
  font-size: 12px;
  line-height: 16px;
}

.login-portal-card__logo {
  display: block;
  width: 160px;
  max-width: 100%;
  object-fit: fill;
}

.login-portal-card__logo--bonsai {
  height: 48.645px;
}

.login-portal-card__logo--maple {
  height: 54.41px;
}

.login-portal-card__logo--covertree {
  height: 22.17px;
}

.route-view[data-route-view="/login"] .login-portal-card .page-card__button {
  min-height: 40px;
  margin-top: 0;
  background: var(--card-button-bg);
  color: rgb(255 255 255 / 80%);
}

.route-view[data-route-view="/login"] .login-portal-card .page-card__button:hover {
  background: var(--card-button-hover-bg);
  color: var(--white);
}

.page-card {
  display: flex;
  flex: 0 0 auto;
  min-height: 0;
  flex-direction: column;
  gap: 40px;
  padding: 16px;
  border-radius: 16px;
  background: var(--ct-color-card, var(--card-bg));
  -webkit-backdrop-filter: blur(var(--ct-blur-card, 60px));
  backdrop-filter: blur(var(--ct-blur-card, 60px));
  color: rgb(255 255 255 / 64%);
  font-size: 14px;
  line-height: 18px;
}

.page-card__title,
.page-card__description {
  margin: 0;
}

.page-card__title {
  color: rgb(255 255 255 / 64%);
  font-size: 14px;
  line-height: 18px;
}

.page-card__description {
  color: var(--white);
  font-size: 16px;
  line-height: 20px;
}

.page-card__button {
  display: inline-flex;
  width: 100%;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  margin-top: auto;
  padding: 4px 16px;
  border: 0;
  border-radius: 40px;
  background: var(--card-button-bg);
  color: var(--card-pill-text);
  font-family: var(--font);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 18px;
  text-decoration: none;
  text-align: center;
  white-space: nowrap;
  transition:
    background-color 280ms cubic-bezier(0.22, 1, 0.36, 1),
    color 280ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
  cursor: pointer;
}

.page-card__button:hover {
  background-color: var(--card-button-hover-bg);
  color: var(--card-copy);
  transform: scale(1.021);
}

.page-card__button:active {
  background-color: var(--card-button-active-bg);
  transform: scale(0.97);
}

.copy__section-title.has-main-title {
  width: 100%;
  padding-right: 0;
}

.copy__main-title {
  display: none !important;
}

.copy__sub-title {
  display: block;
}

.copy > p:nth-of-type(2) {
  margin-top: 40px;
  color: rgb(255 255 255 / 64%);
  font-size: 14px;
  line-height: 18px;
}

.copy p:not([aria-hidden])::after {
  content: none;
}

.figma-bottom {
  position: absolute;
  bottom: calc(8px + var(--viewport-bottom-gap));
  left: 50%;
  z-index: 2;
  width: min(368px, calc(100% - 64px));
  color: var(--black);
  font-size: 12px;
  letter-spacing: 0;
  line-height: 16px;
  transform: translateX(-50%);
}

.figma-bottom__row {
  display: grid;
  min-height: 32px;
  grid-template-columns: minmax(48px, auto) minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  padding: 8px 0;
  border-bottom: 1px solid var(--figma-rule);
}

.figma-bottom__row:last-child {
  border-bottom: 0;
}

.figma-bottom__label {
  color: var(--black);
}

.figma-bottom__value {
  color: var(--header-grey);
  text-align: right;
}

.figma-bottom__row--split {
  grid-template-columns: minmax(104px, 40%) minmax(0, 1fr);
  gap: 0;
}

.figma-bottom__row--split .figma-bottom__label,
.figma-bottom__row--split .figma-bottom__value {
  white-space: nowrap;
}

.figma-bottom__row--split .figma-bottom__value {
  overflow: hidden;
  text-align: right;
  text-overflow: ellipsis;
}

.figma-bottom__row--detail {
  min-height: 0;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 40px;
}

.figma-bottom__row--detail .figma-bottom__value {
  text-align: left;
  width: 100%;
}

.figma-bottom__row--columns {
  min-height: 32px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding: 0;
  border-bottom: 0;
}

.figma-bottom__cell {
  display: block;
  min-width: 0;
  padding: 8px 0;
  border-bottom: 1px solid var(--figma-rule);
  color: var(--black);
  white-space: nowrap;
}

.figma-bottom__section-title {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 8px 0;
  border-bottom: 0;
  color: var(--black);
  font-size: 12px;
  line-height: 16px;
}

.figma-bottom__section-subtitle {
  color: var(--header-grey);
}

.route-view[data-route-view="/3"] .figma-bottom__section-title {
  margin-bottom: 16px;
}

.route-view[data-route-view="/agents"] {
  --figma-page-image-size: clamp(96px, calc(100dvh - var(--figma-bottom-height, 0px) - 320px), min(240px, calc(100vw - 32px)));
}

.figma-bottom__row--agent {
  min-height: 0;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  column-gap: 16px;
  row-gap: 0;
  align-items: center;
  align-content: center;
}

.figma-bottom__row--agent .figma-bottom__label {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
}

.figma-bottom__row--agent .figma-bottom__value {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  text-align: left;
}

.figma-bottom__row--agent .figma-bottom__label,
.figma-bottom__row--agent .figma-bottom__value {
  line-height: 16px;
}

.figma-bottom__row--agent .figma-bottom__avatar {
  grid-column: 1;
  grid-row: 1 / span 2;
}

.figma-bottom__row--agent .figma-bottom__agent-email {
  grid-column: 3;
  grid-row: 1 / span 2;
  align-self: center;
}

.figma-bottom__accordion {
  border-bottom: 1px solid var(--figma-rule);
  cursor: pointer;
}

.figma-bottom__drawer-row {
  border-bottom: 1px solid var(--figma-rule);
  cursor: pointer;
}

.figma-bottom__accordion:last-child {
  border-bottom: 0;
}

.figma-bottom__drawer-row:last-child {
  border-bottom: 0;
}

.figma-bottom__accordion-trigger {
  display: flex;
  width: 100%;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.figma-bottom__drawer-trigger {
  display: flex;
  width: 100%;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.figma-bottom__accordion-trigger::after {
  content: "";
  display: block;
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  margin-top: 4px;
  border-right: 1px solid var(--header-grey);
  border-bottom: 1px solid var(--header-grey);
  opacity: 0.72;
  transform: rotate(45deg);
  transition:
    opacity 220ms var(--motion-ease),
    transform 280ms var(--motion-ease);
}

.figma-bottom__drawer-trigger::after {
  content: "";
  display: block;
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  margin-top: 5px;
  border-right: 1px solid var(--header-grey);
  border-bottom: 1px solid var(--header-grey);
  opacity: 0.72;
  transform: rotate(-45deg);
  transition:
    opacity 220ms var(--motion-ease),
    transform 220ms var(--motion-ease);
}

.figma-bottom__drawer-row:hover .figma-bottom__drawer-trigger::after,
.figma-bottom__drawer-row:focus-within .figma-bottom__drawer-trigger::after {
  opacity: 1;
  transform: translateX(2px) rotate(-45deg);
}

.figma-bottom__accordion.is-open .figma-bottom__accordion-trigger::after {
  opacity: 1;
  transform: rotate(-135deg) translate(-1px, -1px);
}

.figma-bottom__accordion-label {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  color: var(--black);
  font-size: 12px;
  line-height: 16px;
  white-space: nowrap;
}

.figma-bottom__accordion-eyebrow {
  color: var(--header-grey);
}

.figma-bottom__accordion-title {
  color: var(--black);
}

.figma-bottom__accordion-subtitle {
  color: var(--header-grey);
}

.figma-bottom__accordion-panel {
  width: 200px;
  max-height: 0;
  margin-left: auto;
  overflow: hidden;
  color: var(--header-grey);
  font-size: 12px;
  line-height: 16px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
  transition:
    max-height 280ms var(--motion-ease),
    opacity 220ms var(--motion-ease),
    transform 280ms var(--motion-ease);
}

.figma-bottom__accordion.is-open .figma-bottom__accordion-panel {
  max-height: 360px;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.figma-bottom__accordion-detail {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 2px;
  padding: 8px 0;
  border-bottom: 1px solid var(--figma-rule);
}

.figma-bottom__accordion-detail:last-child {
  border-bottom: 0;
}

.figma-bottom__accordion-detail-title {
  color: var(--black);
  white-space: nowrap;
}

.figma-bottom__accordion-detail-text {
  color: var(--header-grey);
}

@media (max-width: 520px) {
  .site-menu {
    width: min(var(--ct-content-width), calc(100% - 32px));
  }

  .keychain {
    top: max(72px, calc(50svh - 252px));
    width: 320px;
    height: 495px;
  }

  .route-view[data-route-view="/"] {
    background-size: 320px 495px, auto;
    background-position: center max(72px, calc(50svh - 252px)), center;
  }

  .copy {
    width: min(var(--ct-content-width), calc(100% - 32px));
    max-width: calc(100% - 32px);
  }

  .agents-contact-slider {
    width: min(var(--ct-content-width), calc(100% - 32px));
  }

  .copy p {
    display: inline;
  }

  .copy .copy__section-title {
    display: flex;
    margin-bottom: 0 !important;
  }

  .copy .copy__section-title::after {
    content: none !important;
  }

  .copy .copy__section-title + p {
    display: block;
  }

  .copy p:not([aria-hidden])::after {
    content: " ";
  }

  .copy p[aria-hidden] {
    display: block;
    height: 24px;
  }

  .footer-links {
    gap: 16px;
  }

  .pill-menu {
    max-width: calc(100% - 48px);
  }

  .drawer-content:has(.claim-form) {
    padding-right: 16px;
    padding-left: 16px;
  }

  .drawer-content:has(.contact-drawer) {
    padding-right: 16px;
    padding-left: 16px;
  }

}

.copy .copy__section-title[data-title-prepared="true"] {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}

.copy .copy__section-title[data-title-prepared="true"] > span {
  display: block;
}

.route-view[data-route-view] .copy {
  bottom: auto !important;
  height: auto !important;
  justify-content: flex-start !important;
}

.route-view[data-route-view] .copy > p:nth-of-type(2) {
  margin-top: 0 !important;
  padding-top: 40px;
}

.site-menu__footer {
  display: none;
}

.site-menu.is-open {
  top: 0;
  left: 0;
  display: flex;
  width: 100%;
  max-width: none;
  height: 100dvh;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 16px 0 8px;
  overflow: hidden;
  border-radius: 0;
  background: var(--white);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transform: none;
}

.site-menu.is-open .site-menu__top {
  flex: 0 0 auto;
  width: min(var(--ct-content-width), calc(100% - 32px));
  height: 16px;
  padding: 0 16px;
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.site-menu.is-open .site-menu__toggle {
  color: #999;
}

.site-menu.is-open .site-menu__toggle:hover,
.site-menu.is-open .site-menu__toggle:focus-visible {
  color: #666;
}

.site-menu.is-open .site-menu__levels {
  display: flex;
  width: min(var(--ct-content-width), calc(100% - 32px));
  min-height: 0;
  max-height: none;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: space-between;
  padding: 8px 0;
  overflow: hidden;
  border-radius: 16px;
  background: #065044;
  opacity: 1;
  pointer-events: auto;
  transform: none;
  transition:
    opacity 320ms var(--motion-ease),
    transform 360ms var(--motion-ease);
}

.site-menu.is-open #site-menu-list {
  position: relative;
  display: flex;
  min-height: 0;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: space-between;
  background: transparent;
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

.site-menu.is-open .site-menu__submenu {
  display: none;
}

.site-menu.is-open .site-menu__list a,
.site-menu.is-open .site-menu__list button {
  height: auto;
  min-height: 32px;
  padding: 8px 16px;
  border: 0;
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  color: rgb(255 255 255 / 40%);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 18px;
  transition:
    background-color 220ms var(--motion-ease),
    color 220ms var(--motion-ease);
}

.site-menu__link-group {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
}

.site-menu.is-open .site-menu__link-group--primary a {
  min-height: 40px;
  color: var(--white);
  font-size: 16px;
  line-height: 20px;
}

.site-menu.is-open .site-menu__list a:hover,
.site-menu.is-open .site-menu__list button:hover,
.site-menu.is-open .site-menu__list a:focus-visible,
.site-menu.is-open .site-menu__list button:focus-visible {
  background: rgb(255 255 255 / 4%);
  color: rgb(255 255 255 / 80%);
}

.site-menu.is-open .site-menu__list a.is-active,
.site-menu.is-open .site-menu__list a.is-active:hover,
.site-menu.is-open .site-menu__list button.is-active,
.site-menu.is-open .site-menu__list button.is-active:hover {
  background: transparent;
  color: var(--white);
}

.site-menu.is-open .site-menu__quote {
  display: flex;
  width: 100%;
  max-height: none;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  padding: 4px 16px 8px;
  overflow: visible;
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  opacity: 1;
  pointer-events: auto;
}

.site-menu.is-open .site-menu__quote:hover,
.site-menu.is-open .site-menu__quote:focus-within,
.site-menu.is-open .site-menu__quote:active,
.site-menu.is-open .site-menu__quote.is-active {
  background: transparent;
}

.site-menu.is-open .site-menu__quote .quote-pill {
  min-height: 40px;
  padding: 8px 16px;
  border-radius: 40px;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  color: var(--white);
  font-size: 14px;
  line-height: 18px;
  transform-origin: center center;
}

.site-menu.is-open .site-menu__quote-primary {
  flex: 1 1 auto;
  background: rgb(255 255 255 / 8%);
}

.site-menu.is-open .site-menu__quote-primary:hover {
  background: rgb(255 255 255 / 14%);
  transform: scale(1.021);
}

.site-menu.is-open .site-menu__quote-secondary {
  flex: 0 0 auto;
  min-width: 88px;
  border: 1px solid rgb(255 255 255 / 8%);
  background: transparent;
}

.site-menu.is-open .site-menu__quote-secondary:hover {
  border-color: transparent;
  background: rgb(255 255 255 / 4%);
  transform: scale(1.021);
}

.site-menu.is-open .site-menu__quote-primary:active,
.site-menu.is-open .site-menu__quote-secondary:active {
  transform: scale(0.97);
}

/* Restore the pre-mirror closed header while keeping the full-screen menu intact. */
.site-menu:not(.is-open) {
  overflow: hidden;
  border-radius: 16px;
  background: rgb(235 235 235 / 40%);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}

.site-menu:not(.is-open) .site-menu__top {
  height: auto;
  padding: 16px;
  background: var(--ct-color-header-open);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.site-menu:not(.is-open) .site-menu__quote--closed {
  display: flex;
  max-height: 48px;
  padding: 8px 8px 8px 16px;
  opacity: 1;
  pointer-events: auto;
}

.site-menu.is-open .site-menu__quote--closed {
  display: none;
}

.site-menu.is-open .site-menu__footer {
  display: flex;
  width: min(var(--ct-content-width), calc(100% - 32px));
  flex: 0 0 auto;
  flex-direction: column;
  gap: 16px;
  padding: 8px 16px 0;
  color: #999;
  font-size: 12px;
  line-height: 16px;
}

.site-menu.is-open .site-menu__footer p {
  margin: 0;
}

.site-menu.is-open .site-menu__footer p::first-line {
  color: var(--black);
}

.site-menu__legal {
  display: flex;
  flex-wrap: wrap;
  gap: 0 16px;
}

.site-menu__legal a {
  color: #999;
  text-decoration: none;
  transition: color 220ms var(--motion-ease);
}

.site-menu__legal a:hover,
.site-menu__legal a:focus-visible {
  color: #666;
}

/* Figma 187:5273 — five-slide homepage deck. */
body.is-homepage-figma .main-slide-dots,
.route-view[data-homepage-figma="true"] > .figma-bottom {
  display: none !important;
}

.site-menu:not(.is-open) {
  top: 16px;
  width: var(--ct-content-width);
  max-width: calc(100% - 32px);
  border-radius: 16px;
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.site-menu:not(.is-open) .site-menu__top {
  width: 100%;
  height: 48px;
  padding: 16px;
  background: rgb(247 247 247 / 80%);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.site-menu:not(.is-open) .site-menu__quote--closed {
  width: 100%;
  height: 48px;
  max-height: 48px;
  padding: 8px 8px 8px 16px;
  background: rgb(239 239 239 / 80%);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.site-menu:not(.is-open) .site-menu__quote--closed input {
  color: #999;
  font-size: 14px;
  letter-spacing: -0.14px;
  line-height: 18px;
}

.site-menu__context-label {
  display: none;
  min-width: 0;
  overflow: hidden;
  color: #999;
  font-size: 14px;
  line-height: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.site-menu:not(.is-open) .site-menu__quote--closed.is-contextual input {
  display: none;
}

.site-menu:not(.is-open) .site-menu__quote--closed.is-contextual .site-menu__context-label {
  display: block;
}

.site-menu:not(.is-open) .site-menu__quote--closed .quote-pill {
  min-height: 32px;
  padding: 4px 16px;
  background: #447970;
  -webkit-backdrop-filter: blur(40px);
  backdrop-filter: blur(40px);
  font-size: 14px;
  letter-spacing: -0.14px;
  line-height: 18px;
}

.route-view[data-homepage-figma="true"] .homepage-card {
  top: auto !important;
  bottom: calc(var(--ct-page-bottom) + var(--viewport-bottom-gap)) !important;
  display: flex !important;
  width: var(--ct-content-width);
  max-width: calc(100% - 32px);
  min-height: 0;
  height: auto !important;
  flex-direction: column;
  gap: 40px;
  justify-content: flex-start !important;
  padding: 16px;
  overflow: visible;
  border-radius: 16px;
  background: rgb(40 40 40 / 72%);
  -webkit-backdrop-filter: blur(60px);
  backdrop-filter: blur(60px);
  color: var(--white);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-feature-settings: "dlig" 0;
  font-variant-ligatures: no-discretionary-ligatures;
  font-size: 12px;
  line-height: 16px;
  word-break: break-word;
}

.homepage-card__intro {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 80px;
}

.route-view[data-homepage-figma="true"] .homepage-card {
  gap: 0 !important;
}

.homepage-card__content + .homepage-card__panels {
  margin-top: var(--ct-space-4);
}

.homepage-card .homepage-card__eyebrow,
.homepage-card .homepage-card__title {
  display: block;
  margin: 0;
  padding: 0;
}

.homepage-card .homepage-card__eyebrow {
  color: rgb(255 255 255 / 64%);
  font-size: 12px;
  line-height: 16px;
}

.homepage-card .homepage-card__title {
  color: var(--white);
  font-size: 16px;
  line-height: 20px;
}

.homepage-card__content {
  display: flex;
  width: 100%;
  flex-direction: column;
  justify-content: center;
}

.homepage-card__row {
  display: flex;
  width: 100%;
  min-height: 32px;
  height: auto;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 0;
  border-bottom: 1px solid rgb(255 255 255 / 4%);
  color: var(--white);
  white-space: normal;
}

.homepage-card__row:last-child {
  border-bottom: 0;
}

.homepage-card__row > span:first-child {
  flex: 0 0 auto;
  min-width: 64px;
  white-space: nowrap;
}

.homepage-card__row > span:last-child {
  color: rgb(255 255 255 / 64%);
  text-align: right;
}

.homepage-card__trait {
  appearance: none;
  display: flex;
  width: 100%;
  min-height: 0;
  align-items: flex-start;
  flex-direction: column;
  gap: 0;
  padding: 8px 0;
  border-inline: 0;
  border-top: 0;
  border-bottom: 1px solid rgb(255 255 255 / 4%);
  background: transparent;
  color: var(--white);
  font-family: inherit;
  text-align: left;
  cursor: default;
}

.route-view[data-homepage-figma="true"] .homepage-card__trait .ct-disclosure__description {
  grid-template-rows: 1fr;
  opacity: 1;
}

.homepage-card__trait:last-child {
  border-bottom: 0;
}

.homepage-card__trait > span:first-child {
  color: var(--white);
  font-size: 12px;
  line-height: 16px;
}

.homepage-card__trait > span:last-child {
  color: rgb(255 255 255 / 64%);
  font-size: 12px;
  line-height: 16px;
}

.homepage-card__panels {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: var(--ct-panel-stack-gap);
}

.homepage-card__panel {
  -webkit-appearance: none;
  appearance: none;
  display: flex;
  width: 100%;
  min-height: 66px;
  flex-direction: column;
  gap: var(--ct-panel-gap);
  justify-content: center;
  padding: var(--ct-panel-padding);
  border-radius: var(--ct-panel-radius);
  border: none;
  outline: none;
  background: var(--ct-color-panel);
  background-image: none;
  box-shadow: none;
  color: inherit;
  font: inherit;
  text-align: left;
  text-decoration: none;
  transform-origin: center;
  transition:
    background-color var(--ct-interaction-duration) var(--ct-interaction-ease),
    transform var(--ct-interaction-duration) var(--ct-interaction-ease);
}

a.homepage-card__panel,
button.homepage-card__panel {
  cursor: pointer;
}

.homepage-card__panel:hover,
.homepage-card__panel:focus-visible {
  background: var(--ct-color-panel-hover);
  transform: scale(var(--ct-interaction-hover-scale));
}

.homepage-card__panel:active {
  transform: scale(var(--ct-interaction-pressed-scale));
}

.homepage-card__panel > span:first-child {
  color: rgb(255 255 255 / 64%);
  font-size: 12px;
  line-height: 16px;
}

.homepage-card__panel > span:last-child {
  color: var(--white);
  font-size: 14px;
  line-height: 18px;
}

.today-detail-card {
  position: absolute;
  right: auto;
  bottom: var(--ct-page-bottom);
  left: 50%;
  z-index: 4;
  display: flex;
  width: var(--ct-content-width);
  max-width: calc(100% - 32px);
  min-height: 0;
  flex-direction: column;
  gap: 40px;
  padding: 16px;
  border-radius: 16px;
  background: rgb(40 40 40 / 72%);
  -webkit-backdrop-filter: blur(40px);
  backdrop-filter: blur(40px);
  color: var(--white);
  font-family: var(--ct-font-family);
  font-size: 12px;
  line-height: 16px;
  transform: translateX(-50%);
  cursor: pointer;
  outline: none;
  transform-origin: center center;
  will-change: top, left, width, height, border-radius;
  word-break: break-word;
}

.today-detail-card[hidden] {
  display: none;
}

.today-detail-card__header {
  gap: 2px;
}

.today-detail-card__eyebrow,
.today-detail-card__title {
  margin: 0;
}

.today-detail-card__eyebrow {
  font-size: 12px;
  line-height: 16px;
}

.today-detail-card__title {
  font-size: 14px;
  line-height: 18px;
}

.today-detail-card__row {
  gap: 4px;
  padding: 8px 0;
  font-size: 12px;
  line-height: 16px;
}

.today-detail-card__row:last-child {
  border-bottom: 1px solid rgb(255 255 255 / 4%);
}

.route-view[data-route-view="/4"].is-today-detail-open .homepage-card--compact {
  opacity: 0.76;
  pointer-events: none;
  transform: translateX(-50%) translateY(var(--today-card-shift, 0px)) scale(0.96);
}

@media (prefers-reduced-motion: reduce) {
  .route-view[data-route-view="/4"] .homepage-card--compact {
    transition-duration: 1ms !important;
  }
}

.route-view[data-route-view="/5"] .homepage-card {
  top: auto !important;
  bottom: calc(var(--ct-page-bottom) + var(--viewport-bottom-gap)) !important;
}

@media (max-height: 639px) {
  .route-view[data-homepage-figma="true"] .homepage-card {
    transform: translateX(-50%) scale(0.9);
    transform-origin: center bottom;
  }

  .route-view[data-route-view="/5"] .homepage-card {
    top: auto !important;
    bottom: calc(var(--ct-page-bottom) + var(--viewport-bottom-gap)) !important;
    transform-origin: center top;
  }
}

/* Agents page — Figma 187:5274 */
.route-view[data-product-figma="true"] .agents-figma-card {
  top: auto !important;
  right: auto;
  bottom: calc(var(--ct-page-bottom) + var(--viewport-bottom-gap)) !important;
  left: 50%;
  display: flex !important;
  width: var(--ct-content-width);
  height: auto;
  max-width: calc(100% - 32px);
  flex-direction: column;
  gap: var(--ct-space-6);
  padding: var(--ct-space-4);
  overflow: visible;
  border-radius: var(--ct-radius-card);
  background: var(--ct-color-card);
  -webkit-backdrop-filter: blur(var(--ct-blur-card));
  backdrop-filter: blur(var(--ct-blur-card));
  color: var(--ct-color-text);
  transform: translateX(-50%) translate3d(
    calc(var(--slide-x, 0) * var(--motion-card-distance)),
    calc(var(--slide-y, 0) * var(--motion-card-distance)),
    0
  );
}

.route-view.is-active[data-product-figma="true"] .agents-figma-card {
  transform: translateX(-50%) translate3d(0, 0, 0);
}

.route-view[data-about-system="true"] .figma-page-image {
  top: 120px;
  height: max(
    96px,
    calc(
      100dvh
      - var(--viewport-bottom-gap)
      - 120px
      - var(--ct-space-3)
      - var(--about-card-height, 156px)
      - var(--ct-page-bottom)
    )
  );
}

.route-view[data-about-system="true"] .about-system-card {
  top: auto !important;
  bottom: calc(var(--ct-page-bottom) + var(--viewport-bottom-gap)) !important;
}

body.is-about-stage :is(.route-image-stage, .product-story-media) {
  box-sizing: border-box;
  border: 1px solid rgb(0 0 0 / 4%);
  background: var(--white);
}

body.is-about-stage :is(.route-image-stage__image, .product-story-media img) {
  object-fit: cover !important;
  object-position: center;
}

.contact-system-card__body {
  gap: 0;
}

.contact-system-card__list {
  display: flex;
  width: 100%;
  flex-direction: column;
}

.contact-system-card__section {
  padding: var(--ct-space-3) 0;
  border-bottom: 1px solid var(--ct-color-rule);
}

.contact-system-card__section:last-child {
  border-bottom: 0;
}

.contact-system-card__toggle {
  appearance: none;
  display: block;
  width: 100%;
  min-height: var(--ct-type-caption-leading);
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ct-color-text);
  font: inherit;
  font-size: 12px;
  line-height: 16px;
  text-align: left;
  cursor: pointer;
}

.contact-system-card__panel {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition:
    grid-template-rows 320ms var(--motion-ease),
    opacity 220ms var(--motion-ease);
}

.contact-system-card__panel-inner {
  min-height: 0;
  padding-top: var(--ct-space-3);
  overflow: hidden;
  color: var(--ct-color-text-muted);
  font-size: 12px;
  line-height: 16px;
}

.contact-system-card__section.is-open .contact-system-card__panel {
  grid-template-rows: 1fr;
  opacity: 1;
}

.contact-system-card__panel-inner :is(p, address) {
  margin: 0 0 var(--ct-space-3);
}

.contact-system-card__panel-inner > :last-child {
  margin-bottom: 0;
}

.contact-system-card__panel-inner address {
  font-style: normal;
}

.contact-system-card__panel-inner a {
  color: var(--ct-color-text);
  text-decoration-color: rgb(255 255 255 / 40%);
  text-underline-offset: 2px;
}

.contact-system-card__panel-inner a:is(:hover, :focus-visible) {
  text-decoration-color: currentColor;
}

.agents-figma-card__intro,
.agents-figma-card__body,
.agents-figma-card__content,
.agents-figma-card__section,
.agents-figma-card__steps {
  display: flex;
  width: 100%;
  flex-direction: column;
}

.agents-figma-card__intro { gap: 8px; }
.agents-figma-card__body {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: var(--ct-space-6);
}
.agents-figma-card__section { gap: 24px; }
.agents-figma-card__eyebrow,
.agents-figma-card__title { margin: 0; }

.agents-figma-card__eyebrow {
  color: var(--ct-color-text-muted);
  font-size: 12px;
  line-height: 16px;
}

.agents-figma-card__title {
  color: var(--ct-color-text);
  font-size: 16px;
  line-height: 20px;
}

.route-view[data-homepage-figma="true"] .ct-card-eyebrow,
.route-view[data-product-figma="true"] .ct-card-eyebrow {
  color: var(--ct-color-text-muted);
  font-size: var(--ct-type-caption-size);
  line-height: 16px;
}

.route-view[data-homepage-figma="true"] .ct-card-title,
.route-view[data-product-figma="true"] .ct-card-title {
  color: var(--ct-color-text);
  font-size: var(--ct-type-title-size);
  line-height: 20px;
}

.agents-figma-card__actions {
  display: flex;
  width: 100%;
  gap: 8px;
}

.agents-figma-card__actions :is(a, button) {
  appearance: none;
  display: flex;
  min-width: 0;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  padding: 4px 16px;
  border: 0;
  border-radius: 40px;
  background: var(--card-button-bg);
  color: var(--ct-color-text);
  font-family: inherit;
  font-size: var(--ct-type-control-size);
  letter-spacing: -0.12px;
  line-height: 18px;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}

.agents-figma-card__actions :is(a, button):last-child:not(:only-child) {
  flex: 0 0 auto;
  padding-inline: 24px;
}

.agents-figma-card__row,
.agents-figma-card__detail {
  flex: none;
  font-size: 12px;
  line-height: 16px;
}

.agents-figma-card__row { min-height: 32px; gap: 16px; }
.agents-figma-card__row > span { white-space: nowrap; }
.agents-figma-card__row > :first-child { flex: 0 0 auto; }
.agents-figma-card__row > :last-child {
  min-width: 0;
  flex: 1 1 auto;
  text-align: right;
}

.agents-figma-card__detail {
  appearance: none;
  gap: 0;
  padding: 8px 0;
  border-inline: 0;
  border-top: 0;
  background: transparent;
  color: inherit;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}

.agents-figma-card__detail-description {
  display: grid;
  width: 100%;
  grid-template-rows: 0fr;
  opacity: 0;
  transition:
    grid-template-rows 360ms var(--motion-ease),
    margin-top 360ms var(--motion-ease),
    opacity 240ms var(--motion-ease);
}

.agents-figma-card__detail-description-inner {
  display: block;
  min-height: 0;
  overflow: hidden;
}

.agents-figma-card__detail.is-open .agents-figma-card__detail-description {
  grid-template-rows: 1fr;
  margin-top: 2px;
  opacity: 1;
}

/* Figma 165:483 — compact global navigation card. */
.site-menu.is-open {
  top: 16px;
  left: 50%;
  display: block;
  width: var(--ct-content-width);
  max-width: calc(100% - 32px);
  height: 360px;
  padding: 0;
  overflow: hidden;
  border-radius: 16px;
  background: #065044;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transform: translateX(-50%);
}

.site-menu.is-open .site-menu__top,
.site-menu.is-open .site-menu__footer,
.site-menu.is-open .site-menu__submenu {
  display: none;
}

.site-menu.is-open .site-menu__levels {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: none;
  flex-direction: column;
  justify-content: flex-start;
  gap: 48px;
  padding: 16px;
  overflow: hidden;
  border-radius: 16px;
  background: #065044;
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

.site-menu.is-open #site-menu-list {
  position: relative;
  display: flex;
  min-height: 0;
  flex: 0 0 auto;
  flex-direction: column;
  justify-content: flex-start;
  gap: 48px;
  background: transparent;
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

.site-menu.is-open .site-menu__link-group {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.site-menu.is-open .site-menu__list a,
.site-menu.is-open .site-menu__list button {
  display: block;
  width: 100%;
  height: 16px;
  min-height: 16px;
  padding: 0;
  border: 0;
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  color: #fff;
  font-size: 16px;
  letter-spacing: 0;
  line-height: 20px;
  text-align: left;
}

.site-menu.is-open .site-menu__link-group--secondary button {
  color: rgb(255 255 255 / 80%);
  font-size: 14px;
}

.site-menu.is-open .site-menu__list a:hover,
.site-menu.is-open .site-menu__list button:hover,
.site-menu.is-open .site-menu__list a:focus-visible,
.site-menu.is-open .site-menu__list button:focus-visible,
.site-menu.is-open .site-menu__list a.is-active,
.site-menu.is-open .site-menu__list a.is-active:hover {
  background: transparent;
  color: #fff;
}

.site-menu.is-open .site-menu__link-group--secondary button:hover,
.site-menu.is-open .site-menu__link-group--secondary button:focus-visible {
  color: #fff;
}

.site-menu.is-open .site-menu__quote {
  display: flex;
  width: 100%;
  height: 40px;
  min-height: 40px;
  max-height: 40px;
  flex: 0 0 40px;
  padding: 0;
  overflow: visible;
  border: 1px solid rgb(255 255 255 / 8%);
  border-radius: 40px;
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  opacity: 1;
  pointer-events: auto;
}

.site-menu.is-open .site-menu__quote .site-menu__quote-secondary {
  display: flex;
  width: 100%;
  height: 38px;
  min-height: 38px;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  padding: 7px 32px;
  border: 0;
  border-radius: 40px;
  background: transparent;
  color: #fff;
  font-size: 14px;
  letter-spacing: -0.14px;
  line-height: 18px;
}

.agents-team-stack {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  outline: none;
  cursor: pointer;
}

.agents-team-card {
  position: relative;
  z-index: 1;
  display: grid;
  width: 100%;
  height: auto;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto 88px;
  column-gap: 0;
  row-gap: 8px;
  align-items: stretch;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transition: width 320ms var(--motion-ease), margin-bottom 320ms var(--motion-ease), transform 320ms var(--motion-ease);
}

.agents-team-card::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  height: 88px;
  border-radius: var(--ct-radius-card);
  background: var(--ct-color-panel);
  content: "";
  pointer-events: none;
}

.agents-team-card:nth-child(1) { width: calc(100% - 32px); }
.agents-team-card:nth-child(2) { z-index: 2; width: calc(100% - 16px); }
.agents-team-card:nth-child(3) { z-index: 3; width: calc(100% - 8px); }
.agents-team-card:nth-child(4) { z-index: 4; margin-bottom: 0; }

.agents-team-stack.is-expanded .agents-team-card {
  width: 100%;
  margin-bottom: 8px;
}

.agents-team-stack.is-expanded .agents-team-card:nth-child(3) { margin-bottom: 0; }
.agents-team-stack.is-expanded .agents-team-card:nth-child(4) { order: 1; }
.agents-team-stack.is-expanded .agents-team-card:nth-child(1) { order: 2; }
.agents-team-stack.is-expanded .agents-team-card:nth-child(2) { order: 3; }
.agents-team-stack.is-expanded .agents-team-card:nth-child(3) { order: 4; }

.agents-team-card__avatar {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  grid-column: 1 / -1;
  grid-row: 1;
  overflow: hidden;
  border-radius: var(--ct-radius-card);
}

.agents-team-card__avatar img {
  position: absolute;
  width: 211.11%;
  height: 211.11%;
  max-width: none;
  pointer-events: none;
  user-select: none;
}

.agents-team-card__avatar--ryan img { top: -3.4%; left: -3.4%; }
.agents-team-card__avatar--april img { top: -3.4%; left: -107.95%; }
.agents-team-card__avatar--darrin img { top: -107.95%; left: -3.4%; }
.agents-team-card__avatar--natashia img { top: -107.95%; left: -107.95%; }

@media (max-width: 767px), (orientation: portrait) and (min-width: 768px) and (max-width: 1199px) {
  .agents-team-card__avatar {
    width: 120px;
    height: 120px;
    aspect-ratio: auto;
    justify-self: start;
  }
}

.agents-team-card__content {
  display: flex;
  position: relative;
  z-index: 1;
  min-width: 0;
  height: 88px;
  grid-column: 1;
  grid-row: 2;
  flex-direction: column;
  justify-content: space-between;
  padding: 12px 0 12px 12px;
}

.agents-team-card__heading {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0;
}

.agents-team-card__name,
.agents-team-card__location,
.agents-team-card__territory {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.agents-team-card__name { color: var(--ct-color-text); font-size: 14px; line-height: 18px; }
.agents-team-card__location { color: var(--ct-color-text-muted); font-size: 12px; line-height: 16px; }
.agents-team-card__territory { color: rgb(255 255 255 / 40%); font-size: 12px; line-height: 16px; }
.agents-team-card__territory-divider { color: rgb(255 255 255 / 24%); }

.agents-team-card__email {
  position: relative;
  z-index: 1;
  display: flex;
  width: auto;
  min-height: 24px;
  flex: 0 0 24px;
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  align-items: center;
  justify-content: center;
  margin: 12px 12px 0 0;
  padding: 4px 12px;
  border-radius: 40px;
  background: var(--card-button-bg);
  color: var(--ct-color-text-muted);
  font-size: 12px;
  line-height: 16px;
  text-decoration: none;
}

.agents-team-card:not(:last-child) .agents-team-card__email {
  background: var(--card-button-bg);
  color: var(--ct-color-text-muted);
}

.agents-team-stack.is-expanded .agents-team-card .agents-team-card__email {
  background: var(--card-button-bg);
  color: var(--ct-color-text-muted);
}

.agents-figma-card__steps { margin-top: 0; }

/* Move Your Book keeps its metrics directly below the heading. */
.route-view[data-route-view="/agents/book"][data-product-figma="true"] .agents-figma-card {
  gap: 40px;
  justify-content: flex-start !important;
}

.route-view[data-route-view="/agents/book"][data-product-figma="true"] .agents-figma-card__body {
  flex: 1 1 auto;
  min-height: 0;
}

.route-view[data-route-view="/agents/book"][data-product-figma="true"] .agents-figma-card__steps {
  margin-top: auto;
}

.agents-figma-card__step {
  appearance: none;
  display: grid;
  width: 100%;
  grid-template-columns: 8px minmax(0, 1fr);
  gap: 8px;
  padding: 8px 0;
  border-inline: 0;
  border-top: 0;
  border-bottom: 1px solid var(--ct-color-rule);
  background: transparent;
  color: inherit;
  font-family: inherit;
  font-size: 12px;
  line-height: 16px;
  text-align: left;
  cursor: pointer;
}

.agents-figma-card__step:last-child { border-bottom: 0; }

.agents-figma-card__step-number { color: rgb(255 255 255 / 40%); }

.agents-figma-card__step-text {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0;
}

.agents-figma-card__step-text > :first-child { color: var(--ct-color-text); }

.agents-figma-card__step-description {
  display: grid;
  min-width: 0;
  grid-template-rows: 0fr;
  color: var(--ct-color-text-muted);
  opacity: 0;
  transition:
    grid-template-rows 360ms var(--motion-ease),
    margin-top 360ms var(--motion-ease),
    opacity 240ms var(--motion-ease);
}

.agents-figma-card__step-description-inner {
  display: block;
  min-height: 0;
  overflow: hidden;
}

.agents-figma-card__step.is-open .agents-figma-card__step-description {
  grid-template-rows: 1fr;
  margin-top: 2px;
  opacity: 1;
}

@media (max-height: 620px) {
  .route-view[data-product-figma="true"] .agents-figma-card {
    max-height: calc(100dvh - 96px);
    overflow-y: auto;
  }
}

/* Shared interaction system for rounded action controls. */
:is(
  .quote-pill,
  .page-card__button,
  .login-card__button,
  .agents-figma-card__actions :is(a, button),
  .agents-team-card__email,
  .claim-form__submit,
  .slide-nav-button,
  .pill-menu button
) {
  font-size: 14px;
  line-height: 18px;
  transform-origin: center;
  transition:
    background-color var(--ct-interaction-duration) var(--ct-interaction-ease),
    border-color var(--ct-interaction-duration) var(--ct-interaction-ease),
    color var(--ct-interaction-duration) var(--ct-interaction-ease),
    transform var(--ct-interaction-duration) var(--ct-interaction-ease);
  will-change: transform;
}

:is(
  .quote-pill,
  .page-card__button,
  .login-card__button,
  .agents-figma-card__actions :is(a, button),
  .agents-team-card__email,
  .claim-form__submit,
  .slide-nav-button,
  .pill-menu button
):is(:hover, :focus-visible) {
  transform: scale(var(--rounded-action-hover-scale));
}

:is(
  .quote-pill,
  .page-card__button,
  .login-card__button,
  .agents-figma-card__actions :is(a, button),
  .agents-team-card__email,
  .claim-form__submit,
  .slide-nav-button,
  .pill-menu button
):active {
  transform: scale(var(--rounded-action-pressed-scale));
}

/* Card actions keep their base treatment, then darken consistently. */
:is(.quote-pill--card, .quote-pill--card-secondary, .page-card__button, .login-card__button):is(:hover, :focus-visible) {
  background: var(--card-button-hover-bg);
  color: var(--white);
}

:is(.quote-pill--card, .quote-pill--card-secondary, .page-card__button, .login-card__button):active {
  background: var(--card-button-active-bg);
}

.route-view[data-route-view="/login"] .login-portal-card .page-card__button:is(:hover, :focus-visible) {
  background: var(--card-button-hover-bg);
  color: var(--white);
}

.route-view[data-route-view="/login"] .login-portal-card .page-card__button:active {
  background: var(--card-button-active-bg);
}

.agents-figma-card__actions :is(a, button):is(:hover, :focus-visible),
.agents-team-card__email:is(:hover, :focus-visible) {
  background: var(--card-button-hover-bg);
}

.agents-figma-card__actions :is(a, button):active,
.agents-team-card__email:active {
  background: var(--card-button-active-bg);
}

.agents-team-stack:not(.is-expanded) .agents-team-card:not(:last-child) .agents-team-card__email:is(:hover, :focus-visible) {
  background: var(--card-button-hover-bg);
}

.agents-team-stack:not(.is-expanded) .agents-team-card:not(:last-child) .agents-team-card__email:active {
  background: var(--card-button-active-bg);
}

.agents-team-stack.is-expanded .agents-team-card .agents-team-card__email:is(:hover, :focus-visible) {
  background: var(--card-button-hover-bg);
}

.agents-team-stack.is-expanded .agents-team-card .agents-team-card__email:active {
  background: var(--card-button-active-bg);
}

/* Header actions use darker variants of their own surfaces. */
.site-menu:not(.is-open) .site-menu__quote--closed .quote-pill:is(:hover, :focus-visible) {
  background: #386b63;
}

.site-menu:not(.is-open) .site-menu__quote--closed .quote-pill:active {
  background: #315f58;
}

.site-menu.is-open .site-menu__quote :is(.site-menu__quote-primary, .site-menu__quote-secondary):is(:hover, :focus-visible) {
  border-color: transparent;
  background: rgb(0 0 0 / 12%);
}

.site-menu.is-open .site-menu__quote :is(.site-menu__quote-primary, .site-menu__quote-secondary):active {
  background: rgb(0 0 0 / 20%);
}

@media (prefers-reduced-motion: reduce) {
  :is(
    .quote-pill,
    .page-card__button,
    .login-card__button,
    .agents-figma-card__actions :is(a, button),
    .agents-team-card__email,
    .claim-form__submit,
    .slide-nav-button,
    .pill-menu button
  ) {
    transition-duration: 0.01ms;
  }

  :is(
    .quote-pill,
    .page-card__button,
    .login-card__button,
    .agents-figma-card__actions :is(a, button),
    .agents-team-card__email,
    .claim-form__submit,
    .slide-nav-button,
    .pill-menu button
  ):is(:hover, :focus-visible, :active) {
    transform: none;
  }
}

/* Repository-history interaction: the header card grows in place. */
.site-menu {
  max-height: 96px;
  transition:
    max-height 420ms var(--motion-ease),
    background-color 280ms var(--motion-ease),
    scale 320ms var(--motion-ease);
}

.site-menu.is-open {
  top: 16px;
  left: 50%;
  display: block;
  width: var(--ct-content-width);
  max-width: calc(100% - 32px);
  height: auto;
  max-height: 528px;
  padding: 0;
  overflow: hidden;
  border-radius: 16px;
  background: var(--ct-color-header-open);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transform: translateX(-50%);
}

.site-menu.is-open.is-resources { max-height: 384px; }
.site-menu.is-open.is-social { max-height: 288px; }

.site-menu.is-open.is-closing {
  max-height: 96px;
  background: var(--ct-color-header-open);
}

.site-menu.is-open .site-menu__top {
  display: flex;
  width: 100%;
  height: 48px;
  padding: 16px;
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.site-menu.is-open .site-menu__toggle { color: rgb(68 68 68 / 40%); }
.site-menu.is-open .site-menu__footer { display: none; }

.site-menu.is-open .site-menu__levels {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: 432px;
  padding: 0;
  overflow: hidden;
  border-radius: 0;
  background: transparent;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
  transition:
    max-height 420ms var(--motion-ease),
    opacity 280ms var(--motion-ease),
    transform 360ms var(--motion-ease);
}

.site-menu.is-open.is-resources .site-menu__levels { max-height: 288px; }
.site-menu.is-open.is-social .site-menu__levels { max-height: 192px; }

.site-menu.is-open.is-closing .site-menu__levels {
  max-height: 0;
  opacity: 0;
  pointer-events: none;
  transform: none;
}

.site-menu:not(.is-open) {
  overflow: hidden;
  border-radius: 16px;
  background: var(--ct-color-header-open);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.site-menu:not(.is-open) .site-menu__top {
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.site-menu:not(.is-open) .site-menu__quote--closed {
  background: var(--ct-color-header-control);
  -webkit-backdrop-filter: blur(var(--ct-blur-header));
  backdrop-filter: blur(var(--ct-blur-header));
}

.site-menu:not(.is-open) .site-menu__levels {
  transform: none;
}

/* Split the header's top row into two equal interaction areas. */
.site-menu__home {
  display: flex;
  width: calc(50% + 16px);
  height: auto;
  margin: -16px 0 -16px -16px;
  padding: 16px;
  align-self: stretch;
  align-items: center;
  cursor: pointer;
}

.site-menu__toggle {
  display: flex;
  width: calc(50% + 16px);
  height: auto;
  margin: -16px -16px -16px 0;
  padding: 16px;
  align-self: stretch;
  align-items: center;
  justify-content: flex-end;
  cursor: pointer;
}

.site-menu__home .site-menu__logo {
  width: 115.476px;
  height: 16px;
  flex: 0 0 auto;
}

.site-menu.is-open #site-menu-list,
.site-menu.is-open .site-menu__submenu {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  width: 100%;
  min-height: 0;
  flex: none;
  flex-direction: column;
  gap: 0;
  background: transparent;
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
  transition:
    opacity 300ms var(--motion-ease),
    transform 420ms var(--motion-ease);
}

.site-menu.is-open #site-menu-list { position: relative; }

.site-menu.is-open .site-menu__submenu {
  opacity: 0;
  pointer-events: none;
  transform: translateX(24px);
}

.site-menu.is-open.is-submenu #site-menu-list {
  opacity: 0;
  pointer-events: none;
  transform: translateX(-24px);
}

.site-menu.is-open.is-submenu .site-menu__submenu.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}

.site-menu.is-open .site-menu__link-group { display: contents; }

.site-menu.is-open .site-menu__list a,
.site-menu.is-open .site-menu__list button {
  position: relative;
  display: flex;
  width: 100%;
  height: 48px;
  min-height: 48px;
  align-items: center;
  padding: 12px 16px;
  border: 0;
  border-top: 0;
  border-bottom: 1px solid rgb(0 0 0 / 4%);
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  color: #666;
  font-size: 14px;
  letter-spacing: -0.14px;
  line-height: 18px;
  text-align: left;
  text-decoration: none;
}

.site-menu.is-open .site-menu__link-group--secondary button {
  color: #666;
  font-size: 14px;
}

.site-menu.is-open .site-menu__list a:hover,
.site-menu.is-open .site-menu__list button:hover,
.site-menu.is-open .site-menu__list a:focus-visible,
.site-menu.is-open .site-menu__list button:focus-visible {
  background: var(--ct-color-menu-row-open-hover);
  color: #444;
}

.site-menu.is-open .site-menu__list a.is-active,
.site-menu.is-open .site-menu__list a.is-active:hover,
.site-menu.is-open .site-menu__list button.is-active,
.site-menu.is-open .site-menu__list button.is-active:hover {
  background: var(--ct-color-menu-row-open-hover);
  color: #444;
}

.site-menu.is-open .site-menu__list button[data-header-submenu] { padding-right: 48px; }

.site-menu.is-open .site-menu__quote--menu {
  display: flex;
  width: 100%;
  height: 48px;
  min-height: 48px;
  max-height: 48px;
  padding: 8px;
  border: 0;
  border-top: 0;
  border-radius: 0;
  background: rgb(235 235 235 / 40%);
  opacity: 1;
  pointer-events: auto;
}

.site-menu.is-open .site-menu__quote--menu .site-menu__quote-secondary {
  width: 100%;
  height: 32px;
  min-height: 32px;
  padding: 4px 16px;
  border: 0;
  border-radius: 40px;
  background: rgb(40 40 40 / 56%);
  color: #fff;
  font-size: 14px;
  line-height: 18px;
}

@media (prefers-reduced-motion: reduce) {
  .site-menu,
  .site-menu.is-open .site-menu__levels,
  .site-menu.is-open #site-menu-list,
  .site-menu.is-open .site-menu__submenu {
    transition-duration: 0.01ms;
  }
}

/* Keep the current address/quote control unchanged while the menu expands. */
.site-menu.is-open .site-menu__quote--menu {
  display: none;
}

.site-menu.is-open .site-menu__quote--closed {
  display: flex;
  width: 100%;
  height: 48px;
  min-height: 48px;
  max-height: 48px;
  padding: 8px 8px 8px 16px;
  border: 0;
  border-top: 0;
  border-radius: 0;
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  opacity: 1;
  pointer-events: auto;
}

.site-menu.is-open .site-menu__quote--closed input {
  display: block;
  color: #999;
  font-size: 14px;
  letter-spacing: -0.14px;
  line-height: 18px;
}

.site-menu.is-open .site-menu__quote--closed.is-contextual input {
  display: none;
}

.site-menu.is-open .site-menu__quote--closed.is-contextual .site-menu__context-label {
  display: block;
}

.site-menu.is-open .site-menu__quote--closed .quote-pill {
  min-height: 32px;
  padding: 4px 16px;
  background: var(--ct-color-action);
  -webkit-backdrop-filter: blur(var(--ct-blur-card));
  backdrop-filter: blur(var(--ct-blur-card));
  font-size: 14px;
  letter-spacing: -0.14px;
  line-height: 18px;
}

/* Keep the footer transparent so the open menu reads as one continuous card. */
.site-menu.is-open .site-menu__quote--closed:is(:hover, :focus-within, .is-active) {
  background: transparent !important;
}

.site-menu.is-open .site-menu__quote--closed:active {
  background: transparent !important;
}

/* Figma 331:332 — shared mobile/desktop route composition. */
.route-image-stage {
  position: absolute;
  z-index: 1;
  overflow: hidden;
  border-radius: var(--ct-radius-card);
  opacity: 1;
  pointer-events: none;
  transform: translateZ(0);
  transition: opacity 240ms var(--motion-ease);
  will-change: opacity;
}

.route-image-stage.is-hidden {
  opacity: 0;
}

.route-image-stage__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transform: translateZ(0);
  transform-origin: center center;
  transition: opacity 420ms var(--motion-ease);
  will-change: opacity, transform;
}

.route-image-stage__image.is-visible {
  opacity: 1;
}

.route-image-stage__video {
  position: absolute;
  inset: 0;
  display: none;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  background: var(--ct-surface-card);
}

.route-image-stage.is-shared-video-stage .route-image-stage__image {
  display: none !important;
}

.route-image-stage.is-shared-video-stage .route-image-stage__video {
  display: block;
}

.homepage-route-media {
  display: none;
}

@media (max-width: 767px), (orientation: portrait) and (min-width: 768px) and (max-width: 1199px) {
  .route-view[data-route-view="/agents/book"] .agents-book-summary {
    display: none;
  }

  .route-image-stage {
    top: var(--ct-content-top);
    right: auto;
    bottom: calc(var(--ct-mobile-route-card-height) + 32px + var(--viewport-bottom-gap));
    left: 50%;
    width: min(var(--ct-content-width), calc(100% - 32px));
    height: max(
      0px,
      calc(100dvh - var(--ct-mobile-route-card-height) - var(--ct-content-top) - 32px - var(--viewport-bottom-gap))
    );
    transform: translateX(-50%) translateZ(0);
    transition: opacity 240ms var(--motion-ease);
  }

  .route-view:not([data-figma-no-image="true"]) > .figma-page-image {
    top: 0 !important;
    right: auto !important;
    bottom: calc(var(--ct-mobile-route-card-height) + 32px + var(--viewport-bottom-gap)) !important;
    left: 50% !important;
    display: block !important;
    width: min(var(--ct-content-width), calc(100% - 32px)) !important;
    height: max(
      0px,
      calc(100dvh - var(--ct-mobile-route-card-height) - var(--ct-content-top) - 32px - var(--viewport-bottom-gap))
    ) !important;
    min-height: 0;
    border-radius: var(--ct-radius-card);
    object-fit: cover;
    transform: translateX(-50%) translate3d(
      calc(var(--slide-x, 0) * var(--motion-card-distance)),
      calc(var(--slide-y, 0) * var(--motion-card-distance)),
      0
    );
  }

  .route-view.is-active:not([data-figma-no-image="true"]) > .figma-page-image {
    transform: translateX(-50%) translate3d(0, 0, 0);
  }

  .route-view[data-route-view] > .copy {
    top: auto !important;
    bottom: calc(var(--ct-page-bottom) + var(--viewport-bottom-gap)) !important;
    height: var(--ct-mobile-route-card-height) !important;
    min-height: var(--ct-mobile-route-card-height) !important;
    max-height: var(--ct-mobile-route-card-height) !important;
    justify-content: space-between !important;
    overflow-x: hidden;
    overflow-y: auto;
    transform: translateX(-50%) !important;
  }

  .route-view[data-product-figma="true"] .agents-figma-card,
  .route-view[data-homepage-figma="true"] .homepage-card {
    gap: var(--ct-space-4);
    justify-content: space-between !important;
  }

  .route-view[data-product-figma="true"] .agents-figma-card__body {
    flex: 0 0 auto;
  }

  /* Today and Scale use the same compact, touch-first panel carousel. */
  .route-view[data-route-view="/4"] .homepage-card__panels,
  .route-view[data-route-view="/5"] .homepage-card__panels {
    width: calc(100% + (var(--ct-space-4) * 2));
    margin-inline: calc(var(--ct-space-4) * -1);
    padding-inline: var(--ct-space-4);
    flex-direction: row;
    gap: 8px;
    justify-content: flex-start;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: var(--ct-space-4);
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .route-view[data-route-view="/4"] .homepage-card__panels::-webkit-scrollbar,
  .route-view[data-route-view="/5"] .homepage-card__panels::-webkit-scrollbar {
    display: none;
  }

  .route-view[data-route-view="/4"] .homepage-card__panel,
  .route-view[data-route-view="/5"] .homepage-card__panel {
    width: max-content;
    min-width: 0;
    flex: 0 0 auto;
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }

  .route-view[data-route-view="/4"] .homepage-card__panel > span,
  .route-view[data-route-view="/5"] .homepage-card__panel > span {
    white-space: nowrap;
  }

  .agents-team-stack,
  .agents-team-stack.is-expanded {
    width: calc(100% + (var(--ct-space-4) * 2));
    margin-inline: calc(var(--ct-space-4) * -1);
    padding-inline: var(--ct-space-4);
    flex-direction: row;
    align-items: stretch;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: var(--ct-space-4);
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
    cursor: grab;
    -webkit-overflow-scrolling: touch;
  }

  .agents-team-stack::-webkit-scrollbar {
    display: none;
  }

  .agents-team-stack .agents-team-card,
  .agents-team-stack.is-expanded .agents-team-card,
  .agents-team-stack.is-expanded .agents-team-card:nth-child(n) {
    order: initial;
    width: auto;
    min-width: 0;
    flex: 0 0 calc(100% - 32px);
    margin: 0;
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }

  .route-view.is-active[data-route-view] > .copy,
  .route-view.is-active[data-route-view] > .copy:hover,
  .route-view.is-active[data-route-view] > .copy:active,
  .route-view.is-route-outgoing[data-route-view] > .copy {
    transform: translateX(-50%) !important;
  }
}

@media (min-width: 768px) and (orientation: landscape), (min-width: 1200px) {
  .contact-system-card__toggle {
    padding: 0;
    cursor: default;
  }

  .contact-system-card__panel,
  .contact-system-card__section.is-open .contact-system-card__panel {
    grid-template-rows: 1fr;
    opacity: 1;
  }

  .route-image-stage {
    top: 16px;
    right: 16px;
    bottom: 16px;
    left: calc(var(--ct-content-width) + 32px);
    width: calc(100vw - var(--ct-content-width) - 48px);
    height: calc(100dvh - 32px);
  }

  .site-menu,
  .site-menu:not(.is-open),
  .site-menu.is-open {
    right: auto !important;
    left: 16px !important;
    width: var(--ct-content-width) !important;
    max-width: var(--ct-content-width) !important;
    transform: none !important;
  }

  .route-view:not([data-figma-no-image="true"]) > .figma-page-image {
    top: 16px !important;
    right: 16px !important;
    bottom: 16px !important;
    left: calc(var(--ct-content-width) + 32px) !important;
    display: block !important;
    width: calc(100vw - var(--ct-content-width) - 48px) !important;
    height: calc(100dvh - 32px) !important;
    min-height: 0;
    border-radius: var(--ct-radius-card);
    object-fit: cover;
    transform: translate3d(
      calc(var(--slide-x, 0) * var(--motion-card-distance)),
      calc(var(--slide-y, 0) * var(--motion-card-distance)),
      0
    );
  }

  .route-view.is-active:not([data-figma-no-image="true"]) > .figma-page-image {
    transform: translate3d(0, 0, 0);
  }

  .route-view[data-route-view] > .copy {
    top: var(--ct-content-top) !important;
    right: auto !important;
    bottom: 16px !important;
    left: 16px !important;
    width: var(--ct-content-width) !important;
    max-width: var(--ct-content-width) !important;
    height: auto !important;
    min-height: 0;
    max-height: none;
    justify-content: space-between !important;
    overflow-x: hidden;
    overflow-y: auto;
    transform: translate3d(
      calc(var(--slide-x, 0) * var(--motion-card-distance)),
      calc(var(--slide-y, 0) * var(--motion-card-distance)),
      0
    ) scale(var(--motion-card-exit-scale));
    scrollbar-width: none;
  }

  .route-view[data-route-view] > .copy::-webkit-scrollbar {
    display: none;
  }

  .route-view.is-active[data-route-view] > .copy,
  .route-view.is-active[data-route-view] > .copy:hover,
  .route-view.is-active[data-route-view] > .copy:active {
    transform: translate3d(0, 0, 0) scale(1);
  }

  .route-view[data-product-figma="true"] .agents-figma-card,
  .route-view[data-homepage-figma="true"] .homepage-card {
    gap: var(--ct-space-4);
    justify-content: space-between !important;
  }

  .route-view[data-product-figma="true"] .agents-figma-card__body {
    flex: 0 0 auto;
  }

  .route-view[data-route-view="/4"] .homepage-card__panels,
  .route-view[data-route-view="/5"] .homepage-card__panels,
  .agents-team-stack,
  .agents-team-stack.is-expanded {
    width: calc(100% + (var(--ct-space-4) * 2));
    margin-inline: calc(var(--ct-space-4) * -1);
    padding-inline: var(--ct-space-4);
    flex-direction: row;
    align-items: stretch;
    gap: 8px;
    justify-content: flex-start;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: var(--ct-space-4);
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .route-view[data-route-view="/4"] .homepage-card__panels::-webkit-scrollbar,
  .route-view[data-route-view="/5"] .homepage-card__panels::-webkit-scrollbar,
  .agents-team-stack::-webkit-scrollbar {
    display: none;
  }

  .route-view[data-route-view="/4"] .homepage-card__panel,
  .route-view[data-route-view="/5"] .homepage-card__panel,
  .agents-team-stack .agents-team-card,
  .agents-team-stack.is-expanded .agents-team-card,
  .agents-team-stack.is-expanded .agents-team-card:nth-child(n) {
    order: initial;
    width: auto;
    min-width: 0;
    flex: 0 0 calc(100% - 32px);
    margin: 0;
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }

  .route-view[data-route-view="/4"] .homepage-card__panel,
  .route-view[data-route-view="/5"] .homepage-card__panel {
    width: max-content;
    flex: 0 0 auto;
  }

  .route-view[data-route-view="/4"] .homepage-card__panel > span,
  .route-view[data-route-view="/5"] .homepage-card__panel > span {
    white-space: nowrap;
  }

  .route-view[data-route-view="/4"].is-today-detail-open .homepage-card--compact {
    transform: translateY(var(--today-card-shift, 0px)) scale(0.96);
  }

  .route-view[data-route-view="/4"] > .today-detail-card {
    top: var(--ct-content-top);
    right: auto;
    bottom: 16px;
    left: 16px;
    width: var(--ct-content-width);
    max-width: var(--ct-content-width);
    height: auto;
    transform: none;
  }
}

/* Mobile product stories use the same native focused-card scroll motion. */
@media (max-width: 767px), (orientation: portrait) and (min-width: 768px) and (max-width: 1199px) {
  body.is-product-scroll-story .route-shell {
    box-sizing: border-box;
    display: block;
    padding: var(--ct-content-top) 16px 16px;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: none;
    overscroll-behavior-y: contain;
    scroll-snap-type: y mandatory;
    scroll-padding: var(--ct-content-top) 0 16px;
    -webkit-overflow-scrolling: touch;
  }

  body.is-product-scroll-story .route-shell::-webkit-scrollbar {
    display: none;
  }

  body.is-product-scroll-story .route-image-stage {
    display: none !important;
  }

  body.is-product-scroll-story .product-story-media {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    margin: 0 0 16px;
    overflow: hidden;
    border-radius: var(--ct-radius-card);
    clip-path: inset(0 round var(--ct-radius-card));
    background: var(--ct-surface-card);
    isolation: isolate;
    transform: translateZ(0);
    scroll-snap-align: start;
  }

  body.is-product-scroll-story .product-story-media img,
  body.is-product-scroll-story .product-story-media video {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: cover;
    clip-path: inset(0 round var(--ct-radius-card));
    transform: translateZ(0);
    -webkit-mask-image: -webkit-radial-gradient(white, black);
  }

  body.is-product-scroll-story .route-view[data-product-story="true"] {
    position: relative !important;
    inset: auto !important;
    z-index: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-end !important;
    gap: 0 !important;
    width: 100%;
    min-height: calc(100dvh - var(--ct-content-top) - 16px);
    height: auto;
    margin: 0 0 16px;
    background: transparent !important;
    opacity: var(--homepage-card-opacity, 0) !important;
    transform: scale(var(--homepage-card-scale, 0.9)) !important;
    transform-origin: center bottom !important;
    transition: none !important;
    will-change: opacity, transform;
    visibility: visible !important;
    pointer-events: auto !important;
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }

  body.is-product-scroll-story .route-view[data-product-story="true"] > * {
    visibility: visible !important;
  }

  body.is-product-scroll-story .route-view[data-product-story="true"] :is(button, a, [role="button"]) {
    pointer-events: auto !important;
  }

  body.is-product-scroll-story .route-view[data-product-story="true"] > .agents-figma-card {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: visible !important;
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.is-product-scroll-story .route-view:is(
    [data-route-view="/agents/book"],
    [data-route-view="/housing/brokers"],
    [data-route-view="/lenders/tracking"],
    [data-route-view="/builders/carrier-choice"]
  )[data-product-story="true"] {
    margin-bottom: 0;
  }
}

/* Product cards use the homepage's title-to-content rhythm. */
.route-view[data-product-figma="true"] .agents-figma-card {
  gap: 0 !important;
}

.route-view[data-product-figma="true"] .agents-figma-card__intro {
  margin-bottom: 80px;
}

/* Keep team portraits compact on every viewport, matching mobile. */
.agents-team-card__avatar {
  width: 120px;
  height: 120px;
  aspect-ratio: auto;
  justify-self: start;
}

@media (max-width: 767px), (orientation: portrait) and (min-width: 768px) and (max-width: 1199px) {
  body.is-homepage-figma .route-view[data-homepage-figma="true"] > .homepage-card,
  body.is-homepage-figma .route-view[data-homepage-figma="true"] > .homepage-card:hover,
  body.is-homepage-figma .route-view[data-homepage-figma="true"] > .homepage-card:active {
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    transform: none !important;
  }

}

/* Desktop homepage: one independently scrolling, content-height card column. */
@media (min-width: 768px) and (orientation: landscape), (min-width: 1200px) {
  body.is-homepage-figma .route-shell {
    box-sizing: border-box;
    display: block;
    right: auto;
    width: calc(var(--ct-content-width) + 32px);
    padding: var(--ct-content-top) 16px 16px;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: none;
    overscroll-behavior-y: contain;
    scroll-snap-type: y mandatory;
    scroll-padding: var(--ct-content-top) 0 16px;
  }

  body.is-homepage-figma .route-shell::-webkit-scrollbar {
    display: none;
  }

  body.is-homepage-figma .route-shell.is-forwarded-story-scroll {
    scroll-snap-type: none !important;
  }

  body.is-homepage-figma .route-image-stage {
    position: fixed;
    top: 16px;
    right: 16px;
    bottom: 16px;
    left: calc(var(--ct-content-width) + 32px);
    width: calc(100vw - var(--ct-content-width) - 48px);
    height: calc(100dvh - 32px);
    overflow: hidden;
    contain: paint;
    isolation: isolate;
    overscroll-behavior: none;
  }

  body.is-homepage-figma .route-image-stage__image {
    transform: none !important;
    transition: none !important;
    will-change: auto;
  }

  body.is-homepage-figma .route-image-stage__image:not(.is-visible) {
    display: block;
  }

  body.is-homepage-figma .route-view[data-homepage-figma="true"] {
    position: relative !important;
    inset: auto !important;
    display: flex;
    align-items: flex-end;
    width: var(--ct-content-width);
    min-height: max(
      calc(100dvh - var(--ct-content-top) - 16px),
      var(--route-card-height, 0px)
    );
    height: auto;
    margin: 0 0 16px;
    background: transparent !important;
    opacity: var(--homepage-card-opacity, 0) !important;
    transform: scale(var(--homepage-card-scale, 0.9)) !important;
    transform-origin: center bottom;
    transition: none;
    will-change: opacity, transform;
    scroll-snap-align: end;
    scroll-snap-stop: always;
    pointer-events: auto !important;
    visibility: visible !important;
  }

  body.is-homepage-figma .route-view[data-route-view="/5"][data-homepage-figma="true"] {
    margin-bottom: 0;
  }

  body.is-homepage-figma .route-view[data-homepage-figma="true"] > :not(.figma-page-image) {
    visibility: visible !important;
  }

  body.is-homepage-figma .route-view[data-homepage-figma="true"] button,
  body.is-homepage-figma .route-view[data-homepage-figma="true"] a,
  body.is-homepage-figma .route-view[data-homepage-figma="true"] [role="button"] {
    pointer-events: auto !important;
  }

  body.is-homepage-figma .route-view[data-homepage-figma="true"] .homepage-card {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0;
    justify-content: flex-start !important;
    transform: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body.is-homepage-figma .route-view[data-homepage-figma="true"]:not(.is-homepage-focused) {
    pointer-events: none !important;
  }
}

/* Mobile homepage: the image and all cards share one natural scroll column. */
@media (max-width: 767px), (orientation: portrait) and (min-width: 768px) and (max-width: 1199px) {
  body.is-homepage-figma .route-shell {
    box-sizing: border-box;
    display: block;
    padding: var(--ct-content-top) 16px 16px;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: none;
    overscroll-behavior-y: contain;
    scroll-snap-type: y mandatory;
    scroll-padding: var(--ct-content-top) 0 16px;
    -webkit-overflow-scrolling: touch;
  }

  body.is-homepage-figma .route-shell::-webkit-scrollbar {
    display: none;
  }

  body.is-homepage-figma .route-image-stage {
    display: none !important;
  }

  body.is-homepage-figma .homepage-route-media {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    margin: 0 0 16px;
    overflow: hidden;
    border-radius: var(--ct-radius-card);
    background: var(--ct-surface-card);
  }

  body.is-homepage-figma .homepage-route-media img,
  body.is-homepage-figma .homepage-route-media video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  body.is-homepage-figma .route-view[data-homepage-figma="true"] {
    position: relative !important;
    inset: auto !important;
    display: block;
    width: 100%;
    min-height: 0;
    height: auto;
    margin: 0 0 16px;
    background: transparent !important;
    opacity: var(--homepage-card-opacity, 0) !important;
    transform: scale(var(--homepage-card-scale, 0.9)) !important;
    transform-origin: center center !important;
    transition: none !important;
    will-change: opacity, transform;
    pointer-events: auto !important;
    visibility: visible !important;
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }

  body.is-homepage-figma .route-view[data-route-view="/5"][data-homepage-figma="true"] {
    margin-bottom: 0;
  }

  body.is-homepage-figma .route-view[data-homepage-figma="true"] > :not(.figma-page-image) {
    visibility: visible !important;
  }

  body.is-homepage-figma .route-view[data-homepage-figma="true"] button,
  body.is-homepage-figma .route-view[data-homepage-figma="true"] a,
  body.is-homepage-figma .route-view[data-homepage-figma="true"] [role="button"] {
    pointer-events: auto !important;
  }

  body.is-homepage-figma .route-view[data-homepage-figma="true"] .homepage-card {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0;
    justify-content: flex-start !important;
    overflow: visible;
    transform: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

body.is-homepage-figma .route-view[data-route-view="/4"] .homepage-card__panels,
body.is-homepage-figma .route-view[data-route-view="/5"] .homepage-card__panels {
    touch-action: pan-y;
  }
}

.route-view[data-route-view="/4"] .homepage-card__panels,
.route-view[data-route-view="/5"] .homepage-card__panels {
  touch-action: none;
}

.agents-team-stack {
  overflow-x: auto !important;
  touch-action: pan-y pinch-zoom;
}

body.is-product-scroll-story .route-view[data-product-story="true"].is-homepage-focused :is(
  .agents-team-stack,
  .agents-team-card,
  .agents-team-card__email
) {
  pointer-events: auto !important;
}


/* Portrait tablets use the one-column flow, whose cards are already positioned
   inside the route. The phone-only centering transform would move the entire
   interactive carousel half a column off-screen and leave its painted overflow
   impossible to click or swipe. */
@media (orientation: portrait) and (min-width: 768px) and (max-width: 1199px) {
  .route-view.is-active[data-route-view] > .copy,
  .route-view.is-active[data-route-view] > .copy:hover,
  .route-view.is-active[data-route-view] > .copy:active,
  .route-view.is-route-outgoing[data-route-view] > .copy {
    transform: none !important;
  }
}

@media (max-width: 767px), (orientation: portrait) and (min-width: 768px) and (max-width: 1199px) {
  body.is-homepage-figma .route-view[data-route-view="/4"] .homepage-card__panels,
  body.is-homepage-figma .route-view[data-route-view="/5"] .homepage-card__panels {
    display: flex;
    width: calc(100% + 32px);
    margin-inline: -16px;
    padding-inline: 16px;
    flex-direction: row;
    align-items: stretch;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: 16px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    touch-action: pan-y pinch-zoom;
    -webkit-overflow-scrolling: touch;
  }

  body.is-homepage-figma .route-view[data-route-view="/4"] .homepage-card__panels::-webkit-scrollbar,
  body.is-homepage-figma .route-view[data-route-view="/5"] .homepage-card__panels::-webkit-scrollbar {
    display: none;
  }

  body.is-homepage-figma .route-view[data-route-view="/4"] .homepage-card__panel,
  body.is-homepage-figma .route-view[data-route-view="/5"] .homepage-card__panel {
    width: calc(100% - 32px);
    min-width: calc(100% - 32px);
    flex: 0 0 calc(100% - 32px);
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }

  body.is-homepage-figma .route-view[data-route-view="/4"] .homepage-card__panel > span,
  body.is-homepage-figma .route-view[data-route-view="/5"] .homepage-card__panel > span {
    white-space: normal;
  }

  body.is-homepage-figma .route-view[data-route-view="/4"] .homepage-card__trait {
    width: 100%;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
  }

  body.is-homepage-figma .route-view[data-route-view="/4"] .homepage-card__trait .ct-disclosure__description {
    display: grid;
    width: 100%;
    grid-template-rows: 0fr;
    margin-top: 0;
    opacity: 0;
    transition:
      grid-template-rows 360ms var(--motion-ease),
      margin-top 360ms var(--motion-ease),
      opacity 240ms var(--motion-ease);
  }

  body.is-homepage-figma .route-view[data-route-view="/4"] .homepage-card__trait.is-open .ct-disclosure__description {
    grid-template-rows: 1fr;
    margin-top: 2px;
    opacity: 1;
  }

  body.is-homepage-figma .route-view[data-route-view="/4"] .homepage-card__trait .ct-disclosure__description-inner {
    min-height: 0;
    overflow: hidden;
  }
}

/* When the compact viewport is tall enough, Today and Scale have room for
   their complete desktop-style panel lists and do not need a carousel. */
@media (max-width: 767px) and (min-height: 760px),
  (orientation: portrait) and (min-width: 768px) and (max-width: 1199px) and (min-height: 760px) {
  body.is-homepage-figma .route-view[data-route-view="/4"] .homepage-card__panels,
  body.is-homepage-figma .route-view[data-route-view="/5"] .homepage-card__panels {
    width: 100%;
    margin: 0;
    padding: 0;
    flex-direction: column;
    align-items: stretch;
    overflow: visible;
    scroll-padding: 0;
    scroll-snap-type: none;
    touch-action: pan-y;
  }

  body.is-homepage-figma .route-view[data-route-view="/4"] .homepage-card__panel,
  body.is-homepage-figma .route-view[data-route-view="/5"] .homepage-card__panel {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
    scroll-snap-align: none;
    scroll-snap-stop: normal;
  }
}

.route-view[data-route-view="/4"] .homepage-card__panels.is-pointer-dragging,
.route-view[data-route-view="/5"] .homepage-card__panels.is-pointer-dragging,
.agents-team-stack.is-pointer-dragging {
  cursor: grabbing;
  scroll-snap-type: none !important;
  user-select: none;
}

@media (min-width: 768px) and (orientation: landscape), (min-width: 1200px) {
  .route-view[data-route-view="/4"] .homepage-card__panels {
    display: flex;
    width: 100%;
    margin: 0;
    padding: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    overflow: visible;
    scroll-padding: 0;
    scroll-snap-type: none;
    touch-action: auto;
    cursor: default;
  }

  .route-view[data-route-view="/4"] .homepage-card__panel {
    width: 100%;
    min-width: 100%;
    flex: none;
    scroll-snap-align: none;
    scroll-snap-stop: normal;
  }

  .route-view[data-route-view="/5"] .homepage-card__panels {
    width: 100%;
    margin: 0;
    padding: 0;
    flex-direction: column;
    align-items: stretch;
    gap: var(--ct-panel-stack-gap);
    overflow: visible;
    scroll-padding: 0;
    scroll-snap-type: none;
    touch-action: auto;
    cursor: default;
  }

  .route-view[data-route-view="/5"] .homepage-card__panel {
    width: 100%;
    min-width: 100%;
    flex: 0 0 auto;
    scroll-snap-align: none;
    scroll-snap-stop: normal;
  }

  .route-view[data-route-view="/5"] .homepage-card__panel > span {
    white-space: normal;
  }
}

/* Keep the card shell stable; route changes animate only its contents. */
.route-view,
.route-view.is-active {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

.route-view:not(.is-active) {
  z-index: 0;
  background: transparent !important;
  pointer-events: none;
}

.route-view.is-active {
  z-index: 2;
  background: transparent !important;
}

.route-view.is-route-outgoing {
  z-index: 3;
  background: transparent !important;
  pointer-events: none;
}

.route-view .figma-page-image {
  transition:
    width var(--motion-card-duration) var(--motion-ease),
    height var(--motion-card-duration) var(--motion-ease),
    opacity 320ms var(--motion-ease),
    transform var(--motion-card-duration) var(--motion-ease) !important;
}

.route-view:not(.is-active) > :not(.figma-page-image) {
  visibility: hidden;
}

.route-view.is-active > :not(.figma-page-image),
.route-view.is-route-outgoing > :not(.figma-page-image) {
  visibility: visible;
}

.route-view[data-route-view] > .copy,
.route-view.is-active[data-route-view] > .copy {
  opacity: 1 !important;
  transition:
    bottom 320ms var(--motion-ease),
    height 320ms var(--motion-ease) !important;
}

@media (min-width: 768px) and (orientation: landscape), (min-width: 1200px) {
  .route-view[data-route-view] > .copy,
  .route-view.is-active[data-route-view] > .copy {
    transform: none !important;
  }

  .route-view.is-route-outgoing[data-route-view] > .copy {
    transform: none !important;
  }
}

/* Today detail grows inside the Today card with a clear 8px reveal around it. */
.route-view[data-route-view="/4"] > .today-detail-card {
  /* Rendered equivalent of the panel hover color over the Today surface. */
  background: rgb(81 81 81);
  -webkit-backdrop-filter: blur(40px);
  backdrop-filter: blur(40px);
  box-shadow: none;
}

.route-view[data-route-view="/4"].is-today-detail-open .homepage-card--compact {
  opacity: 1;
  pointer-events: none;
}

@media (max-width: 767px), (orientation: portrait) and (min-width: 768px) and (max-width: 1199px) {
  .route-view[data-route-view="/4"].is-today-detail-open .homepage-card--compact {
    transform: translateX(-50%) !important;
  }
}

@media (min-width: 768px) and (orientation: landscape), (min-width: 1200px) {
  .route-view[data-route-view="/4"].is-today-detail-open .homepage-card--compact {
    transform: none !important;
  }
}

/* Keep Today's disclosure rows and action panels as one lower content group. */
.route-view[data-route-view="/4"] .homepage-card--compact {
  gap: var(--ct-space-4) !important;
}

.route-view[data-route-view="/4"] .homepage-card__content {
  margin-top: auto;
}

/* Login uses the shared viewport composition: fixed portal rail and desktop media. */
.route-view[data-route-view="/login"] .login-portal-stack {
  top: var(--ct-content-top);
  right: auto;
  bottom: calc(16px + var(--viewport-bottom-gap));
  left: 50%;
  width: min(var(--ct-content-width), calc(100% - 32px));
  height: auto;
  max-width: var(--ct-content-width);
  max-height: none;
  overflow: hidden;
  transform: translateX(-50%);
}

.route-view[data-route-view="/login"] .login-portal-card {
  min-height: 0;
}

/* Login portals use the same card and control surfaces as the homepage. */
.route-view[data-route-view="/login"] .login-portal-stack {
  width: var(--ct-content-width);
  max-width: calc(100% - (var(--ct-page-edge) * 2));
  gap: var(--ct-space-4);
}

.route-view[data-route-view="/login"] .login-portal-card,
.route-view[data-route-view="/login"] .login-portal-card--bonsai,
.route-view[data-route-view="/login"] .login-portal-card--maple,
.route-view[data-route-view="/login"] .login-portal-card--billing {
  padding: var(--ct-space-4);
  border-radius: var(--ct-radius-card);
  background: var(--ct-color-card);
  -webkit-backdrop-filter: blur(var(--ct-blur-card));
  backdrop-filter: blur(var(--ct-blur-card));
}

.route-view[data-route-view="/login"] .login-portal-card .page-card__button {
  min-height: 40px;
  border-radius: var(--ct-radius-pill);
  background: var(--ct-color-panel);
  color: var(--ct-color-text-muted);
}

.route-view[data-route-view="/login"] .login-portal-card .page-card__button:is(:hover, :focus-visible) {
  background: var(--ct-color-panel-hover);
  color: var(--ct-color-text);
}

@media (min-width: 768px) and (orientation: landscape), (min-width: 1200px) {
  .route-view[data-route-view="/login"]::after {
    position: absolute;
    top: 16px;
    right: 16px;
    bottom: 16px;
    left: calc(var(--ct-content-width) + 32px);
    z-index: 1;
    display: block;
    border-radius: var(--ct-radius-card);
    background: url("./assets/images/login-desert-trailer.png") center / cover no-repeat;
    content: "";
    pointer-events: none;
  }

  .route-view[data-route-view="/login"] .login-portal-stack {
    top: var(--ct-content-top);
    right: auto;
    bottom: 16px;
    left: 16px;
    width: var(--ct-content-width);
    max-width: var(--ct-content-width);
    transform: none;
  }
}

/* Product pages share the homepage's focused vertical story on desktop.
   Each product family keeps one fixed image while its text cards move. */
@media (min-width: 768px) and (orientation: landscape), (min-width: 1200px) {
  body.is-product-scroll-story .route-shell {
    box-sizing: border-box;
    display: block;
    right: auto;
    width: calc(var(--ct-content-width) + 32px);
    padding: var(--ct-content-top) 16px 16px;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: none;
    overscroll-behavior-y: contain;
    scroll-snap-type: y mandatory;
    scroll-padding: var(--ct-content-top) 0 16px;
  }

  body.is-product-scroll-story .route-shell::-webkit-scrollbar {
    display: none;
  }

  body.is-product-scroll-story .route-shell.is-forwarded-story-scroll {
    scroll-snap-type: none !important;
  }

  body.is-product-scroll-story .route-image-stage {
    position: fixed;
    top: 16px;
    right: 16px;
    bottom: 16px;
    left: calc(var(--ct-content-width) + 32px);
    width: calc(100vw - var(--ct-content-width) - 48px);
    height: calc(100dvh - 32px);
    overflow: hidden;
    contain: paint;
    isolation: isolate;
    overscroll-behavior: none;
  }

  body.is-product-scroll-story .route-image-stage__image {
    transform: none !important;
    transition: none !important;
    will-change: auto;
  }

  body.is-product-scroll-story .route-view[data-product-story="true"] {
    position: relative !important;
    inset: auto !important;
    z-index: 1 !important;
    display: flex !important;
    align-items: flex-end;
    width: var(--ct-content-width);
    min-height: max(
      calc(100dvh - var(--ct-content-top) - 16px),
      var(--route-card-height, 0px)
    );
    height: auto;
    margin: 0 0 16px;
    background: transparent !important;
    opacity: var(--homepage-card-opacity, 0) !important;
    transform: scale(var(--homepage-card-scale, 0.9)) !important;
    transform-origin: center bottom !important;
    transition: none !important;
    will-change: opacity, transform;
    visibility: visible !important;
    pointer-events: auto !important;
    scroll-snap-align: end;
    scroll-snap-stop: always;
  }

  body.is-product-scroll-story .route-view[data-product-story="true"] > * {
    visibility: visible !important;
  }

  body.is-product-scroll-story .route-view[data-product-story="true"] :is(button, a, [role="button"]) {
    pointer-events: auto !important;
  }

  body.is-product-scroll-story .route-view[data-product-story="true"] > .agents-figma-card {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: visible !important;
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.is-product-scroll-story .route-view[data-product-story="true"]:not(.is-homepage-focused) {
    pointer-events: none !important;
  }

  body.is-product-scroll-story .route-view:is(
    [data-route-view="/agents/book"],
    [data-route-view="/housing/brokers"],
    [data-route-view="/lenders/tracking"],
    [data-route-view="/builders/carrier-choice"]
  )[data-product-story="true"] {
    margin-bottom: 0;
  }
}

/* Mobile homepage: keep media and cards in a predictable 16px flow.
   Only the card receives the focus motion so media never shifts under the header. */
@media (max-width: 767px), (orientation: portrait) and (min-width: 768px) and (max-width: 1199px) {
  body.is-homepage-figma .route-view[data-route-view="/1"][data-homepage-figma="true"] {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }

  body.is-homepage-figma .route-view[data-route-view="/1"] > .homepage-route-media {
    position: relative;
    z-index: 0;
    flex: 0 0 auto;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9;
    margin: 0 !important;
    overflow: hidden;
    border-radius: var(--ct-radius-card);
    clip-path: inset(0 round var(--ct-radius-card));
    isolation: isolate;
    transform: translateZ(0);
  }

  body.is-homepage-figma .route-view[data-route-view="/1"] > .homepage-route-media :is(video, img) {
    border-radius: inherit;
    clip-path: inset(0 round var(--ct-radius-card));
    transform: translateZ(0);
    -webkit-mask-image: -webkit-radial-gradient(white, black);
  }

  body.is-homepage-figma .route-view[data-route-view="/1"] > .homepage-card {
    position: relative !important;
    z-index: 1;
    flex: 0 0 auto;
  }

  body.is-homepage-figma .route-shell {
    padding: var(--ct-content-top) 16px 16px;
    scroll-snap-type: none;
    scroll-padding: 0;
  }

  body.is-homepage-figma .route-view[data-homepage-figma="true"],
  body.is-homepage-figma .route-view[data-route-view="/5"][data-homepage-figma="true"] {
    width: 100%;
    min-height: 0;
    height: auto;
    margin: 0 0 16px;
    opacity: 1 !important;
    transform: none !important;
    scroll-snap-align: none;
    scroll-snap-stop: normal;
  }

  body.is-homepage-figma .homepage-route-media {
    width: 100%;
    height: min(calc(100vw - 32px), calc(100dvh - var(--ct-content-top) - 32px));
    min-height: min(240px, calc(100dvh - var(--ct-content-top) - 32px));
    aspect-ratio: auto;
    margin: 0 0 16px;
  }

  body.is-homepage-figma .route-view[data-homepage-figma="true"] .homepage-card,
  body.is-homepage-figma .route-view[data-homepage-figma="true"] .homepage-card:hover,
  body.is-homepage-figma .route-view[data-homepage-figma="true"] .homepage-card:active {
    box-sizing: border-box;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 16px !important;
    overflow: visible !important;
    isolation: isolate;
    background: var(--ct-color-card) !important;
    -webkit-backdrop-filter: blur(var(--ct-blur-card)) !important;
    backdrop-filter: blur(var(--ct-blur-card)) !important;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity: var(--homepage-card-opacity, 1) !important;
    transform: scale(var(--homepage-card-scale, 1)) !important;
    transform-origin: center center !important;
  }

  body.is-homepage-figma .homepage-card__row {
    height: auto;
    min-height: 32px;
    white-space: normal;
  }
}

@media (max-width: 767px), (orientation: portrait) and (min-width: 768px) and (max-width: 1199px) {
  body.is-homepage-figma .route-view[data-homepage-figma="true"],
  body.is-product-scroll-story .route-view[data-product-story="true"] {
    transform: none !important;
  }

  body.is-homepage-figma .route-view[data-homepage-figma="true"] > .homepage-card,
  body.is-homepage-figma .route-view[data-homepage-figma="true"] > .homepage-card:hover,
  body.is-homepage-figma .route-view[data-homepage-figma="true"] > .homepage-card:active {
    transform: none !important;
  }

  .route-view[data-about-system="true"] .figma-page-image {
    top: var(--ct-content-top) !important;
    bottom: auto !important;
    height: max(
      96px,
      calc(
        100dvh
        - var(--viewport-bottom-gap)
        - var(--ct-content-top)
        - 16px
        - var(--about-card-height, 156px)
        - var(--ct-page-bottom)
      )
    ) !important;
  }
}

/* Canonical one-column story system for every main page. A single sticky
   video stage fills the mobile frame while one card at a time moves over it. */
@media (max-width: 767px), (orientation: portrait) and (min-width: 768px) and (max-width: 1199px) {
  body:is(.is-homepage-figma, .is-product-scroll-story) .route-shell {
    --ct-mobile-story-height: calc(100dvh - var(--ct-content-top) - var(--ct-page-bottom));
    --ct-mobile-story-step: min(var(--ct-mobile-story-height), max(420px, 56dvh));
    box-sizing: border-box;
    display: block !important;
    bottom: auto;
    height: 100dvh;
    min-height: 0;
    padding: var(--ct-content-top) 16px var(--ct-page-bottom) !important;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: none;
    overscroll-behavior-y: contain;
    scroll-padding: var(--ct-content-top) 0 var(--ct-page-bottom) !important;
    scroll-snap-type: y mandatory !important;
    -webkit-overflow-scrolling: touch;
  }

  body:is(.is-homepage-figma, .is-product-scroll-story) .route-shell::-webkit-scrollbar {
    display: none;
  }

  body:is(.is-homepage-figma, .is-product-scroll-story) .route-image-stage {
    display: none !important;
  }

  body.is-homepage-figma .homepage-route-media,
  body.is-product-scroll-story .product-story-media {
    position: sticky !important;
    top: 0 !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 0;
    display: block !important;
    width: 100% !important;
    min-height: var(--ct-mobile-story-height) !important;
    height: var(--ct-mobile-story-height) !important;
    max-height: var(--ct-mobile-story-height) !important;
    aspect-ratio: auto !important;
    flex: 0 0 auto;
    margin: 0 !important;
    overflow: hidden;
    border-radius: var(--ct-radius-card);
    scroll-snap-align: none !important;
    transform: none !important;
  }

  body.is-homepage-figma .homepage-route-media :is(video, img),
  body.is-product-scroll-story .product-story-media :is(video, img) {
    width: 100%;
    min-height: 100%;
    height: 100%;
    max-height: 100%;
    object-fit: cover;
  }

  body.is-homepage-figma .route-view[data-homepage-figma="true"],
  body.is-product-scroll-story .route-view[data-product-story="true"] {
    position: relative !important;
    inset: auto !important;
    z-index: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-end !important;
    gap: 0 !important;
    width: 100% !important;
    min-height: max(var(--ct-mobile-story-step), var(--route-card-height, 0px)) !important;
    height: auto !important;
    margin: 0 0 16px !important;
    background: transparent !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    transition: none !important;
    will-change: auto;
    scroll-snap-align: end !important;
    scroll-snap-stop: always !important;
  }

  body.is-homepage-figma .route-view[data-route-view="/1"][data-homepage-figma="true"],
  body.is-product-scroll-story .route-view:is(
    [data-route-view="/about"],
    [data-route-view="/claims/policyholder"],
    [data-route-view="/agents"],
    [data-route-view="/housing"],
    [data-route-view="/lenders"],
    [data-route-view="/builders"]
  )[data-product-story="true"] {
    min-height: var(--ct-mobile-story-height) !important;
    margin-top: calc(-1 * var(--ct-mobile-story-height)) !important;
  }

  body.is-homepage-figma .route-view[data-homepage-figma="true"] > .homepage-card,
  body.is-homepage-figma .route-view[data-homepage-figma="true"] > .homepage-card:hover,
  body.is-homepage-figma .route-view[data-homepage-figma="true"] > .homepage-card:active,
  body.is-product-scroll-story .route-view[data-product-story="true"] > .agents-figma-card,
  body.is-product-scroll-story .route-view[data-product-story="true"] > .agents-figma-card:hover,
  body.is-product-scroll-story .route-view[data-product-story="true"] > .agents-figma-card:active {
    position: relative !important;
    inset: auto !important;
    box-sizing: border-box;
    width: calc(100% - 16px) !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 8px 8px !important;
    overflow: hidden !important;
    isolation: isolate;
    background: var(--ct-color-card) !important;
    -webkit-backdrop-filter: blur(var(--ct-blur-card)) !important;
    backdrop-filter: blur(var(--ct-blur-card)) !important;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity: var(--homepage-card-opacity, 1) !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateZ(0) scale(var(--homepage-card-scale, 1)) !important;
    transform-origin: center bottom !important;
    will-change: opacity, transform, backdrop-filter;
  }

  body.is-homepage-figma .route-view[data-route-view="/5"][data-homepage-figma="true"],
  body.is-product-scroll-story .route-view:is(
    [data-route-view="/agents/book"],
    [data-route-view="/housing/brokers"],
    [data-route-view="/lenders/tracking"],
    [data-route-view="/builders/carrier-choice"]
  )[data-product-story="true"] {
    margin-bottom: 0 !important;
  }

  body.is-homepage-figma .homepage-card__panel,
  body.is-product-scroll-story .agents-figma-card :is(.homepage-card__panel, .agents-figma-card__action) {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
  }

  body.is-homepage-figma .homepage-card__row {
    gap: 4px;
  }

  body.is-homepage-figma .homepage-card__row > span:first-child {
    min-width: 0;
  }

  body.is-homepage-figma .homepage-card__row > span:last-child {
    font-size: 12px;
    line-height: 16px;
    letter-spacing: normal;
    white-space: nowrap;
  }
}

/* Login portals use the same light resource-card surface as Blog and Reviews.
   Mobile keeps compact cards; desktop distributes them across the card rail. */
.route-view[data-route-view="/login"] .login-portal-stack {
  top: auto !important;
  bottom: calc(var(--ct-page-bottom) + var(--viewport-bottom-gap)) !important;
  height: auto !important;
  gap: var(--ct-space-3);
  overflow: visible;
}

.route-view[data-route-view="/login"] .login-portal-card,
.route-view[data-route-view="/login"] .login-portal-card--bonsai,
.route-view[data-route-view="/login"] .login-portal-card--maple,
.route-view[data-route-view="/login"] .login-portal-card--billing {
  flex: 0 0 180px;
  width: 100%;
  height: 180px;
  min-height: 180px;
  max-height: 180px;
  background: var(--ct-color-header-open);
  color: #666;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.route-view[data-route-view="/login"] .login-portal-card .page-card__title {
  color: #999;
}

.route-view[data-route-view="/login"] .login-portal-card__logo,
.route-view[data-route-view="/login"] .login-portal-card__logo--bonsai,
.route-view[data-route-view="/login"] .login-portal-card__logo--maple,
.route-view[data-route-view="/login"] .login-portal-card__logo--covertree {
  width: 120px;
}

.route-view[data-route-view="/login"] .login-portal-card__logo--bonsai {
  height: 36.484px;
}

.route-view[data-route-view="/login"] .login-portal-card__logo--maple {
  height: 40.807px;
}

.route-view[data-route-view="/login"] .login-portal-card__logo--covertree {
  height: 16.627px;
}

.route-view[data-route-view="/login"] .login-portal-card .page-card__button {
  background: var(--ct-color-header-control);
  color: #666;
}

.route-view[data-route-view="/login"] .login-portal-card .page-card__button:is(:hover, :focus-visible) {
  background: var(--ct-color-menu-row-open-hover);
  color: #666;
}

.route-view[data-route-view="/login"] .login-portal-card .page-card__button:active {
  background: var(--ct-color-menu-row-open-active);
  color: #666;
}

/* Fill the desktop login rail exactly like the other full-height left columns. */
@media (min-width: 768px) and (orientation: landscape), (min-width: 1200px) {
  .route-view[data-route-view="/login"] .login-portal-stack {
    top: var(--ct-content-top) !important;
    bottom: var(--ct-page-bottom) !important;
    height: auto !important;
    gap: var(--ct-space-3);
  }

  .route-view[data-route-view="/login"] .login-portal-card,
  .route-view[data-route-view="/login"] .login-portal-card--bonsai,
  .route-view[data-route-view="/login"] .login-portal-card--maple,
  .route-view[data-route-view="/login"] .login-portal-card--billing {
    flex: 1 1 0;
    height: auto;
    min-height: 0;
    max-height: none;
  }
}

/* One control height for every rounded CT action, regardless of context. */
:is(
  .quote-pill,
  .page-card__button,
  .login-card__button,
  .agents-team-card__email,
  .pill-menu button,
  .agents-figma-card__actions a,
  .agents-figma-card__actions button
) {
  height: var(--ct-rounded-control-height) !important;
  min-height: var(--ct-rounded-control-height) !important;
  max-height: var(--ct-rounded-control-height) !important;
}

/* Shared hover/press motion for non-pill controls and clickable card rows. */
:is(
  .contact-system-card__toggle,
  .today-detail-card__row,
  .claim-form input,
  .claim-form textarea,
  .claim-form select,
  .quote-state-trigger,
  .claim-form__choices label,
  .claim-form__file,
  .contact-system-card__panel-inner a,
  .drawer-footer,
  .drawer-close,
  .main-slide-dots button,
  .sub-slide-dots button,
  .agents-contact-slider__dots button,
  .figma-bottom__drawer-trigger
) {
  transform-origin: center;
  transition:
    background-color var(--ct-interaction-duration) var(--ct-interaction-ease),
    border-color var(--ct-interaction-duration) var(--ct-interaction-ease),
    color var(--ct-interaction-duration) var(--ct-interaction-ease),
    transform var(--ct-interaction-duration) var(--ct-interaction-ease);
}

:is(
  .contact-system-card__toggle,
  .today-detail-card__row,
  .claim-form input,
  .claim-form textarea,
  .claim-form select,
  .quote-state-trigger,
  .claim-form__choices label,
  .claim-form__file,
  .contact-system-card__panel-inner a,
  .drawer-footer,
  .drawer-close,
  .main-slide-dots button,
  .sub-slide-dots button,
  .agents-contact-slider__dots button,
  .figma-bottom__drawer-trigger
):is(:hover, :focus-visible) {
  transform: scale(var(--ct-interaction-hover-scale));
}

:is(
  .contact-system-card__toggle,
  .today-detail-card__row,
  .claim-form input,
  .claim-form textarea,
  .claim-form select,
  .quote-state-trigger,
  .claim-form__choices label,
  .claim-form__file,
  .contact-system-card__panel-inner a,
  .drawer-footer,
  .drawer-close,
  .main-slide-dots button,
  .sub-slide-dots button,
  .agents-contact-slider__dots button,
  .figma-bottom__drawer-trigger
):active {
  transform: scale(var(--ct-interaction-pressed-scale));
}

@media (prefers-reduced-motion: reduce) {
  :is(
    .contact-system-card__toggle,
    .today-detail-card__row,
    .claim-form input,
    .claim-form textarea,
    .claim-form select,
    .quote-state-trigger,
    .claim-form__choices label,
    .claim-form__file,
    .contact-system-card__panel-inner a,
    .drawer-footer,
    .drawer-close,
    .main-slide-dots button,
    .sub-slide-dots button,
    .agents-contact-slider__dots button,
    .figma-bottom__drawer-trigger
  ) {
    transition-duration: 0.01ms;
  }

  :is(
    .contact-system-card__toggle,
    .today-detail-card__row,
    .claim-form input,
    .claim-form textarea,
    .claim-form select,
    .quote-state-trigger,
    .claim-form__choices label,
    .claim-form__file,
    .contact-system-card__panel-inner a,
    .drawer-footer,
    .drawer-close,
    .main-slide-dots button,
    .sub-slide-dots button,
    .agents-contact-slider__dots button,
    .figma-bottom__drawer-trigger
  ):is(:hover, :focus-visible, :active) {
    transform: none;
  }
}

/* Desktop main stories share one full-height card rail. Content-sized cards
   grow by distributing the available space between their upper and lower groups. */
@media (min-width: 768px) and (orientation: landscape), (min-width: 1200px) {
  body.is-homepage-figma .route-view[data-homepage-figma="true"] > .homepage-card,
  body.is-product-scroll-story .route-view[data-product-story="true"] > .agents-figma-card {
    display: flex !important;
    min-height: calc(100dvh - var(--ct-content-top) - var(--ct-page-bottom)) !important;
    height: auto !important;
    flex-direction: column;
    justify-content: space-between !important;
    gap: 0 !important;
  }

  body.is-product-scroll-story .route-view[data-product-story="true"] > .agents-figma-card > .agents-figma-card__intro {
    margin-bottom: 0;
  }
}

/* Keep 24px between Today's text disclosures and its action-box section. */
.route-view[data-route-view="/4"] .homepage-card__content + .homepage-card__panels {
  margin-top: var(--ct-space-5);
}

/* Give the homepage action cards and agent profiles more separation from
   their dark parent cards without changing the shared interaction motion. */
body.is-homepage-figma .homepage-card__panel,
.agents-team-card::after {
  background: rgb(255 255 255 / 8%);
}

body.is-homepage-figma .homepage-card__panel {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

body.is-homepage-figma .homepage-card__panel:hover,
body.is-homepage-figma .homepage-card__panel:focus-visible {
  background: rgb(255 255 255 / 14%);
}

/* Move Your Book: keep the heading and metric sections 40px apart. */
.route-view[data-route-view="/agents/book"] .agents-figma-card__intro {
  margin-bottom: 40px !important;
}
