/* DreamCode — Legend Three Floors. Scoped to this widget; no global overflow hacks. */
.dc-legend-three-floors {
  --dc-tfl-ink:#2E1E0F;
  --dc-tfl-duration:280ms;
  width:100%; max-width:100%; min-width:0;
  background:#E9DCCB; color:var(--dc-tfl-ink);
  box-sizing:border-box;
}
.dc-legend-three-floors *,
.dc-legend-three-floors *::before,
.dc-legend-three-floors *::after { box-sizing:border-box; }
.dc-legend-three-floors .dc-tfl__inner {
  max-width:1440px; margin-inline:auto; padding:66px 80px 64px;
  min-width:0; width:100%;
}
.dc-legend-three-floors .dc-tfl__heading,
.dc-legend-three-floors .dc-tfl__number,
.dc-legend-three-floors .dc-tfl__floor,
.dc-legend-three-floors .dc-tfl__item-heading,
.dc-legend-three-floors .dc-tfl__description { margin:0; padding:0; max-width:100%; }
.dc-legend-three-floors .dc-tfl__heading {
  position:relative; display:block; width:100%; color:var(--dc-tfl-ink);
  max-width:900px; font-family:Georgia,'Times New Roman',serif;
  font-weight:400; font-size:42px; line-height:1.2; letter-spacing:-.025em;
  white-space:normal; overflow-wrap:anywhere;
}
.dc-legend-three-floors .dc-tfl__heading-vector {
  display:block; width:min(100%,748px); aspect-ratio:748 / 51;
  background-color:currentColor;
  -webkit-mask:url('../vectors/heading.svg') left top/contain no-repeat;
  mask:url('../vectors/heading.svg') left top/contain no-repeat;
}
.dc-legend-three-floors .dc-tfl__heading--vector .dc-tfl__heading-text,
.dc-legend-three-floors .dc-tfl__item--vector .dc-tfl__copy {
  position:absolute!important; width:1px!important; height:1px!important;
  padding:0!important; margin:-1px!important; overflow:hidden!important;
  clip-path:inset(50%)!important; white-space:nowrap!important;
}
.dc-legend-three-floors .dc-tfl__grid {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:24px; row-gap:24px; margin-top:43px;
  min-width:0; width:100%; align-items:start;
}
.dc-legend-three-floors .dc-tfl__item {
  position:relative; min-width:0; max-width:100%; border-radius:0;
  color:var(--dc-tfl-ink); background-color:transparent;
  transition:transform var(--dc-tfl-duration) ease,
             box-shadow var(--dc-tfl-duration) ease,
             background-color var(--dc-tfl-duration) ease,
             color var(--dc-tfl-duration) ease;
}
.dc-legend-three-floors .dc-tfl__item--vector {
  min-height:232px;
}
.dc-legend-three-floors .dc-tfl__vector {
  display:block; width:100%; aspect-ratio:410.667/232;
  background-color:currentColor; pointer-events:none;
  -webkit-mask-position:left top;mask-position:left top;
  -webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
}
.dc-legend-three-floors .dc-tfl__item--1 .dc-tfl__vector { -webkit-mask-image:url('../vectors/floor-01.svg');mask-image:url('../vectors/floor-01.svg'); }
.dc-legend-three-floors .dc-tfl__item--2 .dc-tfl__vector { -webkit-mask-image:url('../vectors/floor-02.svg');mask-image:url('../vectors/floor-02.svg'); }
.dc-legend-three-floors .dc-tfl__item--3 .dc-tfl__vector { -webkit-mask-image:url('../vectors/floor-03.svg');mask-image:url('../vectors/floor-03.svg'); }
.dc-legend-three-floors .dc-tfl__copy {
  min-width:0; max-width:100%; padding:33px 0 0;
}
.dc-legend-three-floors .dc-tfl__number {
  font:400 44px/1 Georgia,'Times New Roman',serif;
  letter-spacing:-.04em;
}
.dc-legend-three-floors .dc-tfl__floor {
  margin-top:12px; font-family:Arial,Helvetica,sans-serif;
  font-size:13px; line-height:1.2; letter-spacing:0; font-weight:400;
}
.dc-legend-three-floors .dc-tfl__item-heading {
  display:flex; gap:12px; align-items:center;
  margin-top:28px;
  font:500 24px/1.3 Arial,Helvetica,sans-serif;
  letter-spacing:-.02em; color:inherit;
  overflow-wrap:anywhere;
}
.dc-legend-three-floors.dc-tfl--underline .dc-tfl__item-heading .dc-tfl__title-link,
.dc-legend-three-floors.dc-tfl--underline .dc-tfl__item-heading .dc-tfl__title-text { text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:4px; }
.dc-legend-three-floors .dc-tfl__title-link,
.dc-legend-three-floors .dc-tfl__title-link:is(:link,:visited,:hover,:focus,:active) {
  display:inline-flex; align-items:center; min-height:44px;
  color:inherit; background:transparent; border:0; box-shadow:none;
  font-family:inherit; font-size:inherit; font-weight:inherit; line-height:inherit;
  letter-spacing:inherit; text-transform:none; text-underline-offset:4px;
  padding:0; max-width:100%; min-width:0; overflow-wrap:anywhere;
}
.dc-legend-three-floors .dc-tfl__title-link:focus-visible,
.dc-legend-three-floors .dc-tfl__media:focus-visible {
  outline:2px solid var(--dc-tfl-ink); outline-offset:5px;
}
.dc-legend-three-floors .dc-tfl__description {
  margin-top:17px; font:400 16px/1.75 Arial,Helvetica,sans-serif;
  color:inherit; overflow-wrap:anywhere; white-space:normal;
}
.dc-legend-three-floors .dc-tfl__icon {
  display:inline-flex; justify-content:center; align-items:center;
  flex:0 0 auto; width:28px; height:28px; font-size:28px; color:inherit;
  transition:color var(--dc-tfl-duration) ease;
}
.dc-legend-three-floors .dc-tfl__icon--mask {
  display:inline-block; background-color:currentColor;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-position:center;mask-position:center;
}
.dc-legend-three-floors .dc-tfl__icon--elementor svg { width:100%; height:100%; display:block; fill:currentColor; }
.dc-legend-three-floors .dc-tfl__icon--image img {width:100%;height:100%;object-fit:contain;display:block;}
.dc-legend-three-floors .dc-tfl__media {
  display:block; position:relative; margin-top:24px;
  aspect-ratio:4 / 3; width:100%; max-width:100%; overflow:hidden;
  border-radius:0; background:transparent;
}
.dc-legend-three-floors .dc-tfl__media img {
  display:block; width:100%;height:100%;object-fit:cover;
  transition:transform var(--dc-tfl-duration) ease;
}
.dc-legend-three-floors.dc-tfl--hover .dc-tfl__item:is(:hover,:focus-within) {
  transform:translateY(-3px);
}
.dc-legend-three-floors.dc-tfl--hover .dc-tfl__item:is(:hover,:focus-within) .dc-tfl__media img { transform:scale(1.025); }
.dc-legend-three-floors.dc-tfl--entrance .dc-tfl__item { animation:dc-tfl-in .45s both; }
.dc-legend-three-floors.dc-tfl--entrance .dc-tfl__item:nth-child(2) { animation-delay:.07s; }
.dc-legend-three-floors.dc-tfl--entrance .dc-tfl__item:nth-child(3) { animation-delay:.14s; }
@keyframes dc-tfl-in { from { opacity:.65; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
/* Responsive structure: vector is only a source-faithful Desktop presentation.
   Semantic HTML remains in the DOM for accessibility and is the visual output below 1280px. */
@media (max-width:1279px) {
  .dc-legend-three-floors .dc-tfl__inner { padding:58px 36px; }
  .dc-legend-three-floors .dc-tfl__heading-vector,
  .dc-legend-three-floors .dc-tfl__item--vector .dc-tfl__vector { display:none; }
  .dc-legend-three-floors .dc-tfl__heading--vector .dc-tfl__heading-text,
  .dc-legend-three-floors .dc-tfl__item--vector .dc-tfl__copy {
    position:static!important; width:auto!important; height:auto!important; padding:0!important;
    margin:0!important; overflow:visible!important; clip-path:none!important;
    white-space:normal!important;
  }
  .dc-legend-three-floors .dc-tfl__item--vector { min-height:0; }
  .dc-legend-three-floors .dc-tfl__grid {grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px;row-gap:36px;margin-top:32px;}
  .dc-legend-three-floors .dc-tfl__heading {font-size:clamp(28px,3.5vw,42px);}
  .dc-legend-three-floors .dc-tfl__copy {padding:0;}
  .dc-legend-three-floors .dc-tfl__item-heading {font-size:clamp(20px,2.2vw,24px);margin-top:22px;}
}
@media (max-width:767px) {
  .dc-legend-three-floors .dc-tfl__inner {padding:44px 20px 52px;}
  .dc-legend-three-floors .dc-tfl__grid {grid-template-columns:minmax(0,1fr);gap:34px;margin-top:26px;}
  .dc-legend-three-floors .dc-tfl__heading {font-size:clamp(25px,7vw,34px);line-height:1.2;}
  .dc-legend-three-floors .dc-tfl__number {font-size:42px;}
  .dc-legend-three-floors .dc-tfl__floor {font-size:12px;}
  .dc-legend-three-floors .dc-tfl__item-heading {font-size:21px;margin-top:20px;}
  .dc-legend-three-floors .dc-tfl__description {font-size:16px;line-height:1.65;margin-top:12px;}
}
@media (max-width:359px) {
  .dc-legend-three-floors .dc-tfl__inner {padding-inline:16px;}
  .dc-legend-three-floors .dc-tfl__heading {font-size:24px;}
  .dc-legend-three-floors .dc-tfl__item-heading {font-size:20px;}
}
@media (prefers-reduced-motion:reduce) {
  .dc-legend-three-floors *, .dc-legend-three-floors *::before, .dc-legend-three-floors *::after {
    animation:none!important; transition:none!important; scroll-behavior:auto!important;
  }
  .dc-legend-three-floors.dc-tfl--hover .dc-tfl__item:is(:hover,:focus-within) {transform:none;}
}
.elementor-editor-active .dc-legend-three-floors.dc-tfl--entrance .dc-tfl__item {animation:none;}
