/* One flat, light brand background; live text has no baked-in outline or shadow. */
body.hipark-home > header,
body.hipark-home > #mobile-nav,
#top.supplied-opening { background: #40a469; }
body.hipark-home > header { border-bottom-color: #40a469; }

#top .opening-title,
#top .opening-desktop-title,
#top .opening-motion-copy li,
#top .opening-mascots figcaption,
#top .opening-mascots figcaption *,
#top .opening-support a,
#top .opening-support strong {
  text-shadow: none;
  -webkit-text-stroke: 0;
  filter: none;
}
#top .opening-support a:hover { box-shadow: none; }

@media (min-width: 901px) {
  #top.supplied-opening { padding: 34px 0 48px; }
  #top.supplied-opening .opening-layout {
    display: grid;
    width: min(1680px, calc(100% - 64px));
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas: "title title" "mascots copy";
    gap: 34px 36px;
    align-items: center;
  }
  #top .opening-desktop-title {
    display: grid; grid-area: title; position: static; clip-path: none;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 36px;
    width: auto; height: auto; min-width: 0; overflow: visible;
    margin: 0; padding: 0; color: #fff; text-align: left;
    font-size: var(--opening-heading-size, clamp(64px, 8.1vw, 142px)); font-weight: 900;
    line-height: 1.14; letter-spacing: -.055em; white-space: nowrap;
  }
  /* Match the visible club/head edges in the unchanged 1586px mascot asset. */
  #top .opening-desktop-brand { min-width: 0; margin-left: .9458%; margin-right: 1.261%; }
  #top .opening-desktop-startup { min-width: 0; }
  #top .opening-heading-word { position: relative; display: block; width: max-content; }
  #top .opening-brand, #top .opening-startup { display: none; }
  #top .opening-mascots { margin: 0; width: 100%; max-width: none; align-self: center; }
  #top .opening-mascots > img { width: 100%; height: auto; animation: none; }
  #top .opening-mascots figcaption {
    margin-top: 20px; gap: 2px 8px;
    font-size: clamp(18px, 2.15vw, 36px); line-height: 1.4;
  }
  #top .opening-copy { display: block; width: 100%; min-width: 0; padding: 0; }
  #top .opening-motion-copy {
    display: grid; width: 100%; gap: clamp(18px, 1.5vw, 28px);
    list-style: none; margin: 0; padding: 0;
    font-size: clamp(35.2px, 4.29vw, 72.6px); font-weight: 900;
    line-height: 1.35; letter-spacing: -.05em;
  }
  #top .opening-motion-copy li {
    position: relative; width: max-content; max-width: 100%; margin: 0; padding: 0;
    white-space: normal; word-break: keep-all; overflow-wrap: anywhere;
    color: #ffdf43; transform-origin: left center;
    animation: opening-copy-emphasis 12s ease-in-out infinite both;
    animation-delay: var(--opening-delay, 0s);
  }
  #top .opening-motion-copy .network { --opening-delay: 2s; color: #a5f4dc; }
  #top .opening-motion-copy .interior { --opening-delay: 4s; color: #e1e5e8; }
  #top .opening-motion-copy .operation { --opening-delay: 6s; color: #fff58c; }
  #top .opening-support { width: 100%; gap: 16px; margin-top: 34px; }
  #top .opening-support a { min-height: 62px; padding: 12px 8px; }
  #top .opening-support strong { font-size: clamp(15px, 1.65vw, 28px); }

  @supports ((background-clip: text) or (-webkit-background-clip: text)) {
    #top .opening-motion-copy li {
      background: linear-gradient(105deg, #ffdf43, #fff3a6 55%, #ffd633);
      -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
    }
    #top .opening-motion-copy .network { background-image: linear-gradient(105deg, #96f4d5, #e0fff4 55%, #83e6c7); }
    #top .opening-motion-copy .interior { background-image: linear-gradient(105deg, #d3d7db, #ffffff 55%, #e1e5e8); }
    #top .opening-motion-copy .operation { background-image: linear-gradient(105deg, #fff58c, #ffffd6 55%, #f4f78a); -webkit-text-fill-color: transparent; }
  }
}

@media (max-width: 900px) {
  #top .opening-desktop-title { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  #top .opening-motion-copy li { animation: none; }
}

/* Keep Korean words intact in the opening caption. */
#top .opening-mascots figcaption > span { word-break: keep-all; overflow-wrap: normal; }
#top .opening-mascots .opening-caption-word { white-space: nowrap; }
