/* PDF p15 #2; Figma 20:9852, 1920px-wide reference.
 * The 428px bottom dimension belongs to the full 1331px frame.
 * Fit the map and instruction into the initial 1080px viewport together.
 * Shorter desktop windows retain the same composition and bottom clearance.
 */
@media (min-width: 701px) {
  body:has(.floorplan-layout) {
    --floorplan-unit: min(.052083333333vw, .092592592593vh, 1px);
    --floorplan-unit: min(.052083333333vw, .092592592593dvh, 1px);
  }
  .floorplan-layout {
    width: calc(1515 * var(--floorplan-unit));
    max-width: none;
    margin: 0;
    margin-left: calc((100vw - 1920 * var(--floorplan-unit)) / 2 + 201 * var(--floorplan-unit));
    padding: calc(207 * var(--floorplan-unit)) 0 0;
  }
  .floorplan-layout .designer-tabs {
    height: calc(36 * var(--floorplan-unit));
    font-size: calc(30 * var(--floorplan-unit));
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: 0;
    margin-bottom: calc(14 * var(--floorplan-unit));
  }
  .floorplan-stage {
    display: block;
    height: calc(656.9974365234375 * var(--floorplan-unit));
    padding: 0;
  }
  .floorplan-map {
    position: absolute;
    top: 0;
    left: calc(464 * var(--floorplan-unit));
    width: calc(506.5090026855469 * var(--floorplan-unit));
    max-width: none;
    margin: 0;
    transform: none;
  }
  .floorplan-map .booth > span:first-child {
    font-family: SUITE, sans-serif;
    font-size: calc(18 * var(--floorplan-unit));
    font-weight: 700;
    line-height: 1.248;
    letter-spacing: -.04em;
  }
  .floorplan-legend {
    display: block;
    top: calc(547 * var(--floorplan-unit));
    left: calc(1176 * var(--floorplan-unit));
    bottom: auto;
    width: calc(171 * var(--floorplan-unit));
    height: calc(108 * var(--floorplan-unit));
    margin: 0;
    padding: 0;
  }
  .floorplan-legend > span {
    position: absolute;
    display: block;
    left: 0;
    width: 100%;
  }
  .floorplan-legend > span:first-child { top: 0; }
  .floorplan-legend > span:last-child { top: calc(65.01715 * var(--floorplan-unit)); }
  .floorplan-legend img {
    position: absolute;
    top: 0;
    left: 0;
    height: auto;
    margin: 0;
  }
  .floorplan-legend .legend-theater-image { width: calc(69.788208 * var(--floorplan-unit)); }
  .floorplan-legend .legend-photo-image {
    left: calc(11.9895 * var(--floorplan-unit));
    width: calc(46.0007 * var(--floorplan-unit));
  }
  .floorplan-legend .legend-label {
    position: absolute;
    left: calc(103 * var(--floorplan-unit));
    top: calc(4 * var(--floorplan-unit));
    font-family: Inter, var(--hangul-font), sans-serif;
    font-size: calc(26 * var(--floorplan-unit));
    font-weight: 500;
    line-height: calc(31 * var(--floorplan-unit));
    letter-spacing: -.08em;
  }
  .floorplan-legend > span:last-child .legend-label {
    top: calc(11.98285 * var(--floorplan-unit));
  }
  .floorplan-layout .booth-info {
    min-height: 0;
    margin: 0;
    padding: calc(69.0025634765625 * var(--floorplan-unit)) 0 0;
    font-family: Inter, var(--hangul-font), sans-serif;
    font-size: calc(32 * var(--floorplan-unit));
    font-weight: 600;
    line-height: calc(39 * var(--floorplan-unit));
    letter-spacing: -.08em;
  }
  .floorplan-layout .booth-info p {
    width: calc(342 * var(--floorplan-unit));
    margin: 0 0 0 calc(588 * var(--floorplan-unit));
    white-space: nowrap;
  }
  body:has(.floorplan-layout:not(.is-detail)) .site-footer {
    margin-top: calc(55 * var(--floorplan-unit));
  }
}

/* PDF pp17–18; Figma 20:10016–10019.
 * Preserve the source hover ratio (515 : 425.5), 16:9 images and 18px gaps.
 * The three cards share the full profile width, keeping both outer edges fixed.
 * Reserve the largest image and caption height to prevent a hover scroll jump.
 */
.floorplan-profile .interview-grid > div:first-child { min-width: 0; }
.floorplan-profile .interview-grid > div:first-child h3 { line-height: 1.210227; }
.floorplan-profile .interview-grid > div:first-child p { box-sizing: border-box; }
.floorplan-profile .profile-works a,
.floorplan-profile .profile-works a:hover,
.floorplan-profile .profile-works a:focus-visible { transform: none; }

@media (min-width: 701px) {
  /* Figma 20:9995 / 20:10010: photo bottom 1642, title top 1703.
   * The title's 47px line box ends 30px before the enlarged image. */
  .floorplan-profile .profile-works-section {
    margin-top: calc(61 * var(--floorplan-unit));
  }
  .floorplan-profile .profile-works-section h2 {
    font-size: calc(38 * var(--floorplan-unit));
    line-height: calc(47 * var(--floorplan-unit));
  }
  .floorplan-profile .profile-works {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: calc(18 * var(--floorplan-unit));
    width: 100%;
    height: calc(374 * var(--floorplan-unit));
    margin: calc(30 * var(--floorplan-unit)) 0 0;
    padding: 0 0 calc(60 * var(--floorplan-unit));
    overflow: visible;
    scroll-snap-type: none;
  }
  .floorplan-profile .profile-works a {
    position: relative;
    flex: 1 1 0px;
    min-width: 0;
    transition: flex-grow .35s cubic-bezier(.2, .65, .3, 1);
  }
  .floorplan-profile .profile-works a:hover,
  .floorplan-profile .profile-works a:focus-visible {
    flex-grow: 1.21034077556;
  }
  .floorplan-profile .profile-works:has(a:hover) a:focus-visible:not(:hover) {
    flex-grow: 1;
  }
  .floorplan-profile .profile-works img { aspect-ratio: 16 / 9; object-fit: cover; }
  .floorplan-profile .profile-works strong {
    position: absolute;
    top: calc(100% + 30 * var(--floorplan-unit));
    left: 0;
    width: 100%;
    margin: 0;
    font-family: Inter, var(--hangul-font), sans-serif;
    font-size: calc(25 * var(--floorplan-unit));
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: -.08em;
    text-align: center;
  }
  .floorplan-profile .profile-works:has(a:hover) a:focus-visible:not(:hover) strong {
    opacity: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .floorplan-profile .profile-works a { transition: none; }
}
@media (max-width: 700px) {
  .floorplan-profile .interview-grid > div:first-child h3 { line-height: 1.214286; }
}
