/* Integration styles; original OriginKit components are configured through props. */
/* Shiny Pill text sweep: one decorative copy, with the native label always readable. */
.origin-shiny-pill {
  position: relative; display: inline-block; min-width: 0; max-width: 100%;
  margin: 0; padding: 0; font: inherit; line-height: inherit;
  letter-spacing: inherit; white-space: inherit; text-align: inherit;
}
.origin-shiny-pill > .origin-shiny-ink {
  display: none; position: absolute; inset: 0; color: #fff;
  pointer-events: none; user-select: none; font: inherit;
  line-height: inherit; letter-spacing: inherit; white-space: inherit;
  -webkit-mask-image: linear-gradient(to right, transparent 30%, #000 50%, transparent 70%);
  mask-image: linear-gradient(to right, transparent 30%, #000 50%, transparent 70%);
  -webkit-mask-size: 150% auto; mask-size: 150% auto;
}
@keyframes shinyPillSweep {
  0% { -webkit-mask-position: 200%; mask-position: 200%; }
  100% { -webkit-mask-position: -100%; mask-position: -100%; }
}
@supports ((mask-image: linear-gradient(#000, transparent)) or (-webkit-mask-image: linear-gradient(#000, transparent))) {
  @media (prefers-reduced-motion: no-preference) {
    html:not([data-site-motion="paused"]) .origin-shiny-control[data-shiny-active="true"]:not(:disabled):not([aria-disabled="true"]) .origin-shiny-ink {
      display: block; animation: shinyPillSweep 1.5s ease-in-out infinite;
    }
  }
}

[data-originkit-mount] { min-width: 0; max-width: 100%; font-size: clamp(2rem, 3.7vw, 4.25rem); }
.introduction [data-originkit-mount] h2 { max-width: none; margin: 0; font-size: inherit; font-family: var(--sans); font-weight: 300 !important; line-height: 1.3 !important; letter-spacing: 0 !important; }
.origin-carousel-title { min-height: 2.6em; }
.origin-carousel-visual { display: block; margin-left: -2px; }
.origin-carousel-visual > span { max-width: 100%; }
.origin-carousel-visual > span > span > span[aria-hidden="true"] { flex-wrap: nowrap !important; flex-shrink: 0; }
.origin-motion-control { min-height: 44px; margin: .25rem 0 0; padding: .5rem 0; border: 0; border-bottom: 1px solid #bda774; background: transparent; color: #65502a; font: 400 .875rem/1.5 var(--sans); cursor: pointer; }
.origin-motion-control:hover { color: #292820; border-color: #65502a; }
.origin-motion-control:focus-visible, .origin-weight-link:focus-visible { outline: 2px solid #85652b; outline-offset: 5px; }
[data-originkit-mount="weight-hover"] { margin-top: .75rem; font-size: clamp(2rem, 4.5vw, 4.5rem); }
.origin-weight-title { margin: 0; font: 300 1em/1.35 var(--sans); }
.origin-weight-link { display: block; width: fit-content; max-width: 100%; padding-block: .125em; text-decoration: none; border-bottom: 1px solid #cdbb92; }
.origin-weight-link > div > span { white-space: nowrap; }
.origin-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; }
@media (max-width: 650px) {
  [data-originkit-mount], [data-originkit-mount="weight-hover"] { font-size: clamp(1.75rem, 7vw, 2.8rem); }
}

/* Whole words wrap naturally; letters rise inside unclipped, stable line boxes. */
.origin-sweep-run { display: contents; }
.origin-sweep-word { display: inline-block; max-width: 100%; white-space: normal; overflow-wrap: anywhere; vertical-align: baseline; }
.origin-sweep-word > div { display: inline-flex !important; width: auto !important; min-width: 0; max-width: 100%; vertical-align: baseline; }
.origin-sweep-word > div > span { max-width: 100%; white-space: normal !important; }
.origin-sweep-word .char { display: inline-block !important; will-change: auto !important; }
[data-originkit-sweep] { overflow: visible; }
.footer-stay-carousel[data-originkit-mount] { min-height: 2.4rem; margin: .65rem 0 .3rem; font-size: 18px; line-height: 1.5; }
.footer-stay-carousel > span[aria-hidden] { display: block; }
.footer-stay-carousel > span[aria-hidden] > span { max-width: 100%; }
.footer-stay-carousel p { margin: 0; }
.site-motion-control { display: inline-flex; min-height: 44px; max-width: 100%; padding: .5rem 0; border: 0; border-bottom: 1px solid #9a8968; background: transparent; color: #dfc58f; font: inherit; font-size: .875rem; cursor: pointer; }
.site-motion-control[hidden] { display: none; }
.site-motion-control:disabled { cursor: default; opacity: .8; }
.site-motion-control:focus-visible { outline: 2px solid #dfc58f; outline-offset: 4px; }

/* Keep motion controls accessible without visible pause/play text labels. */
body :is(.origin-motion-control,.site-motion-control) {
  display: inline-grid; place-items: center; width: 2.75rem; min-width: 2.75rem;
  height: 2.75rem; padding: .65rem; border: 1px solid rgb(156 172 162 / .5) !important;
  border-radius: .45rem; color: var(--adm-icon-ink,#65717a);
  background: linear-gradient(135deg,rgb(255 255 255 / .2),rgb(173 189 179 / .1));
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .3);
}
body .site-motion-control[hidden] { display: none; }
body :is(.origin-motion-control,.site-motion-control)::before {
  content: ''; display: block; width: .65rem; height: .85rem;
  background: linear-gradient(to right,currentColor 0 30%,transparent 30% 70%,currentColor 70% 100%);
}
body :is(.origin-motion-control,.site-motion-control)[aria-pressed="true"]::before {
  width: 0; height: 0; background: none; border-left: .65rem solid currentColor;
  border-top: .43rem solid transparent; border-bottom: .43rem solid transparent;
}

/* Visible entrance and hover movement without changing card dimensions or cropping photos. */
@media (prefers-reduced-motion: no-preference) {
  @keyframes adm-card-rise {
    from { opacity: .65; translate: 0 1.25rem; }
    to { opacity: 1; translate: 0 0; }
  }
  .js .motion-enter.is-visible { animation-name: adm-card-rise; animation-duration: 1s; }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .quadro-home .apartment-card, .unit-grid .unit-card, .related-apartment {
    transition: transform .4s cubic-bezier(.2,.7,.25,1), box-shadow .4s, border-color .4s;
  }
  .quadro-home .apartment-card:hover, .unit-grid .unit-card:hover, .related-apartment:hover {
    transform: translateY(-5px); box-shadow: 0 12px 26px #5945211a; border-color: #ab9057;
  }
}
html[data-site-motion="paused"] .motion-enter.is-visible { animation: none; translate: none; }
html[data-site-motion="paused"] :is(.apartment-card, .unit-card, .related-apartment) { transition: none; transform: none; }

/* OriginKit Light Glass: soft pointer light and a feathered highlight around the edge.
   Decorative layers leave native control sizes, labels and actions intact. */
body .origin-light-control {
  position: relative !important; isolation: isolate; overflow: hidden;
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  backdrop-filter: blur(20px) saturate(180%);
}
body .stay-assistant .origin-light-control { inset: auto; }
body .origin-light-control > .origin-light-layer {
  display: block; position: absolute; inset: 0; width: auto; height: auto;
  min-width: 0; min-height: 0; max-width: none; max-height: none;
  margin: 0; padding: 0; border: 0; border-radius: inherit;
  pointer-events: none; transform: none; translate: none; transition: none;
}
body .origin-light-control > .origin-light-glow {
  z-index: -1; opacity: var(--origin-light-on,0); mix-blend-mode: screen;
  background:
    radial-gradient(circle var(--origin-light-radius,0px) at var(--origin-light-x,50%) var(--origin-light-y,50%),
      rgba(255,255,255,.45) 0%, rgba(255,255,255,.428) 8%, rgba(255,255,255,.383) 18%,
      rgba(255,255,255,.315) 30%, rgba(255,255,255,.243) 42%, rgba(255,255,255,.171) 55%,
      rgba(255,255,255,.108) 68%, rgba(255,255,255,.059) 80%, rgba(255,255,255,.027) 90%,
      rgba(255,255,255,.009) 96%, rgba(255,255,255,0) 100%),
    radial-gradient(circle calc(var(--origin-light-radius,0px) * 1.9) at var(--origin-light-x,50%) var(--origin-light-y,50%),
      rgba(255,255,255,.153) 0%, rgba(255,255,255,.145) 8%, rgba(255,255,255,.13) 18%,
      rgba(255,255,255,.107) 30%, rgba(255,255,255,.083) 42%, rgba(255,255,255,.058) 55%,
      rgba(255,255,255,.037) 68%, rgba(255,255,255,.02) 80%, rgba(255,255,255,.009) 90%,
      rgba(255,255,255,.003) 96%, rgba(255,255,255,0) 100%);
}
body .origin-light-control > :is(.origin-light-border,.origin-light-edge) {
  z-index: 1; padding: 1.5px;
  mask-image: linear-gradient(#000 0 0),linear-gradient(#000 0 0);
  mask-clip: border-box,content-box; mask-composite: exclude;
  -webkit-mask-image: linear-gradient(#000 0 0),linear-gradient(#000 0 0);
  -webkit-mask-clip: border-box,content-box; -webkit-mask-composite: xor;
}
body .origin-light-control > .origin-light-border {
  background: linear-gradient(155deg,rgba(255,255,255,.6),rgba(223,197,143,.22));
}
body .origin-light-control > .origin-light-edge {
  opacity: var(--origin-light-edge,0); mix-blend-mode: screen;
  background: conic-gradient(from calc(var(--origin-light-angle,0deg) - var(--origin-light-spread,30deg)),
    transparent 0deg, #fff var(--origin-light-spread,30deg), transparent calc(var(--origin-light-spread,30deg) * 2));
}
body .origin-light-control:is(:disabled,[aria-disabled="true"]) > .origin-light-layer { display: none; }
html[data-site-motion="paused"] .origin-light-control > :is(.origin-light-glow,.origin-light-edge) { display: none; }
@media (prefers-reduced-motion: reduce) {
  body .origin-light-control > :is(.origin-light-glow,.origin-light-edge) { display: none; }
}
@supports not ((mask-composite: exclude) or (-webkit-mask-composite: xor)) {
  body .origin-light-control > :is(.origin-light-border,.origin-light-edge) { display: none; }
}
