.venue-photo{overflow:hidden}.venue-photo img{display:block;width:100%;height:100%;object-fit:contain;background:#0b1320}.venue-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px;margin-top:24px}.venue-gallery a{display:block;background:#121e2e;border:1px solid #2b3849}.venue-gallery img{display:block;width:100%;height:auto}:root{color-scheme:dark;--bg:#0b1320;--panel:#121e2e;--line:#2b3849;--text:#eef1f6;--muted:#b0bccd;--gold:#dec08b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.75 system-ui,-apple-system,'Malgun Gothic',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}header{border-bottom:1px solid var(--line);background:#0b1320f5}header .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:20px;padding-bottom:20px}.brand{font-weight:750;letter-spacing:.08em}.brand span{color:var(--gold);margin-right:12px}nav{display:flex;flex-wrap:wrap;gap:22px;font-size:14px;color:var(--muted)}.wrap{max-width:1200px;margin:auto;padding:0 32px}.intro{padding:65px 0 35px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end}.eyebrow{font-size:13px;letter-spacing:.18em;color:var(--gold);margin:0 0 12px}h1{font-size:clamp(32px,4.8vw,58px);line-height:1.25;letter-spacing:-.055em;margin:0 0 20px}h2{font-size:29px;line-height:1.4;letter-spacing:-.04em;margin:0}h3{font-size:23px;line-height:1.4;margin:0 0 14px}.muted{color:var(--muted)}.intro p{max-width:680px}.count{border-left:1px solid var(--line);padding-left:30px;color:var(--muted)}.count strong{display:block;color:var(--gold);font-size:48px;line-height:1.2}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 36px}.tabs a{border:1px solid var(--line);padding:9px 20px;border-radius:30px}.tabs a:hover{color:var(--gold);border-color:var(--gold)}section{padding:28px 0 45px;scroll-margin-top:25px}.section-top{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px}.section-top p{margin:0;color:var(--muted);font-size:14px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:var(--panel);border:1px solid var(--line);transition:border-color .2s,transform .2s;overflow:hidden}.card:hover{border-color:var(--gold);transform:translateY(-3px)}.photo{aspect-ratio:16/10;background:#162234;display:flex;align-items:center;justify-content:center;flex-direction:column;border-bottom:1px solid var(--line);color:#91a0b4;gap:6px}.photo .symbol{font-size:25px;color:#64758d}.photo small{font-size:12px;letter-spacing:.13em}.photo span{font-size:14px}.card-body{padding:23px}.tag{font-size:13px;color:var(--gold);margin-bottom:7px}.card p{font-size:14px;margin:7px 0;color:var(--muted)}.card-end{border-top:1px solid var(--line);margin-top:20px;padding-top:15px;display:flex;justify-content:space-between;font-size:14px;gap:10px}.card-end b{color:var(--gold)}.notice{font-size:14px;color:var(--muted);border-left:2px solid var(--gold);padding-left:17px;margin:25px 0}.contact{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:25px}.contact a,.contact button{display:block;text-align:left;padding:18px;background:#172337;border:1px solid #34435a;color:var(--muted);cursor:pointer;font-size:14px}.contact b{display:block;color:var(--text);font-size:16px;margin-top:3px}.contact a:hover,.contact button:hover{border-color:var(--gold)}footer{border-top:1px solid var(--line);padding:30px 0 45px;color:var(--muted);font-size:13px}footer a{text-decoration:underline}.copy-status{font-size:14px;color:var(--gold);min-height:25px}.breadcrumb{color:var(--muted);font-size:14px;margin:25px 0}.detail-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:36px;align-items:start}.detail-grid .photo{border:1px solid var(--line);aspect-ratio:4/3}.facts{margin:15px 0}.facts div{display:grid;grid-template-columns:100px 1fr;padding:15px 0;border-bottom:1px solid var(--line)}dt{color:var(--muted)}dd{margin:0}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:25px}.price{background:var(--panel);border:1px solid var(--line);padding:23px}.price span{display:block;color:var(--muted);font-size:14px}.price strong{font-size:30px;color:var(--gold)}details{border-bottom:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-weight:650}details p{color:var(--muted)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:640px;margin-top:22px;font-size:14px}th,td{padding:15px 14px;border-bottom:1px solid var(--line);text-align:left}th{color:var(--gold)}.back{display:inline-block;border-bottom:1px solid var(--gold);color:var(--gold);margin:25px 0}.detail-intro{max-width:850px;color:var(--muted)}@media(max-width:850px){.grid{grid-template-columns:repeat(2,1fr)}.contact{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.intro{grid-template-columns:1fr}.count{display:none}nav{gap:14px}.section-top{align-items:start;flex-direction:column;gap:8px}}@media(max-width:540px){.wrap{padding:0 20px}header .wrap{align-items:start;flex-direction:column;gap:10px}.intro{padding-top:38px}.grid{grid-template-columns:1fr}.price-grid{grid-template-columns:1fr}.price{display:flex;justify-content:space-between;align-items:center}.contact{grid-template-columns:1fr 1fr;gap:8px}.contact a,.contact button{padding:12px;font-size:13px}.contact b{font-size:14px}.section-top h2{font-size:26px}.facts div{grid-template-columns:82px 1fr}h1{overflow-wrap:anywhere}}

.category-cta {
  margin-top: 1.5rem;
}

.category-cta .back {
  margin-top: .4rem;
}


/* Gangnam map hero */
.home-hero-map {
  position: relative;
  isolation: isolate;
  min-height: clamp(23rem, 36vw, 32rem);
  margin-top: 1.8rem;
  padding: clamp(2rem, 4vw, 4.6rem);
  overflow: hidden;
  border: 1px solid rgba(113, 239, 255, .45);
  background-color: #061225;
  background-image:
    radial-gradient(circle at 82% 18%, rgba(255, 67, 191, .28), transparent 26%),
    radial-gradient(circle at 64% 88%, rgba(23, 255, 180, .24), transparent 28%),
    linear-gradient(90deg, rgba(5, 12, 34, 1) 0%, rgba(5, 12, 34, .94) 34%, rgba(5, 12, 34, .46) 68%, rgba(5, 12, 34, .1) 100%),
    url("/manus-storage/gangnam-color-map-hero-a_3b4eafad.jpg");
  background-position: center;
  background-size: cover;
  box-shadow:
    0 1.8rem 4rem rgba(0, 0, 0, .3),
    0 0 0 1px rgba(255, 74, 199, .12) inset,
    0 0 4rem rgba(0, 189, 255, .13);
}

.home-hero-map::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(120deg, transparent 35%, rgba(255, 255, 255, .1) 48%, transparent 58%);
  mix-blend-mode: screen;
  opacity: .5;
}

.home-hero-map > * {
  position: relative;
  z-index: 1;
}

.home-hero-map .eyebrow {
  color: #7ceeff;
  text-shadow: 0 0 .9rem rgba(73, 222, 255, .6);
}

.home-hero-map h1 {
  max-width: 8ch;
  font-size: clamp(2.8rem, 5.4vw, 5.35rem);
  line-height: .98;
  word-break: keep-all;
  text-wrap: balance;
  text-shadow: 0 0 1.8rem rgba(91, 188, 255, .25);
}

.home-hero-map .muted {
  max-width: 36rem;
  color: rgba(244, 250, 255, .9);
}

.home-hero-map .count {
  align-self: end;
  padding: 1.1rem 1.35rem;
  border: 1px solid rgba(255, 190, 76, .68);
  background: linear-gradient(145deg, rgba(255, 72, 194, .34), rgba(11, 35, 90, .72) 55%, rgba(23, 229, 178, .22));
  backdrop-filter: blur(12px) saturate(150%);
  box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, .3), 0 0 1.8rem rgba(255, 183, 56, .16);
}

.home-hero-map .count strong {
  color: #ffe08a;
  text-shadow: 0 0 1rem rgba(255, 179, 61, .45);
}

main.wrap > .home-hero-map + .tabs {
  padding: .7rem;
  border: 1px solid rgba(107, 204, 255, .2);
  background: linear-gradient(90deg, rgba(0, 199, 255, .07), rgba(255, 37, 187, .09), rgba(30, 255, 173, .07));
  box-shadow: 0 .8rem 2.5rem rgba(5, 11, 29, .28);
}

main.wrap > .home-hero-map + .tabs a {
  transition: transform 160ms cubic-bezier(.23, 1, .32, 1), box-shadow 160ms cubic-bezier(.23, 1, .32, 1), border-color 160ms cubic-bezier(.23, 1, .32, 1);
}

main.wrap > .home-hero-map + .tabs a:hover,
main.wrap > .home-hero-map + .tabs a:focus-visible {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 .45rem 1.25rem rgba(0, 0, 0, .26);
}

main.wrap > .home-hero-map + .tabs a:nth-child(1) {
  border-color: rgba(0, 224, 255, .75);
  color: #b7f7ff;
  background: rgba(0, 177, 255, .13);
}

main.wrap > .home-hero-map + .tabs a:nth-child(2) {
  border-color: rgba(255, 82, 197, .75);
  color: #ffb5e8;
  background: rgba(255, 49, 178, .13);
}

main.wrap > .home-hero-map + .tabs a:nth-child(3) {
  border-color: rgba(127, 114, 255, .75);
  color: #d0caff;
  background: rgba(100, 82, 255, .13);
}

main.wrap > .home-hero-map + .tabs a:nth-child(4) {
  border-color: rgba(40, 245, 177, .75);
  color: #a9ffe1;
  background: rgba(25, 231, 162, .13);
}

main.wrap > .home-hero-map + .tabs a:nth-child(5) {
  border-color: rgba(255, 189, 77, .75);
  color: #ffe1a5;
  background: rgba(255, 167, 33, .13);
}

@media (max-width: 720px) {
  .home-hero-map {
    min-height: 28rem;
    padding: 2rem 1.25rem;
    background-position: 61% center;
    background-image:
      radial-gradient(circle at 90% 38%, rgba(255, 46, 186, .22), transparent 28%),
      linear-gradient(180deg, rgba(5, 12, 34, .96) 0%, rgba(5, 12, 34, .77) 55%, rgba(5, 12, 34, .4) 100%),
      url("/manus-storage/gangnam-color-map-hero-a_3b4eafad.jpg");
  }

  .home-hero-map .count {
    align-self: flex-start;
    margin-top: 1rem;
  }
}

/* Partner link sections */
.partners {
  margin-top: clamp(4rem, 8vw, 7rem);
}

.partner-feature {
  display: inline-flex;
  align-items: center;
  margin: 1.25rem 0 1rem;
  padding: .9rem 1.1rem;
  border: 1px solid rgba(222, 192, 139, .48);
  color: #f2d49b;
  background: rgba(222, 192, 139, .08);
  text-decoration: none;
  transition: transform 160ms cubic-bezier(.23, 1, .32, 1), background 160ms cubic-bezier(.23, 1, .32, 1);
}

.partner-feature:hover,
.partner-feature:focus-visible {
  transform: translateY(-2px);
  background: rgba(222, 192, 139, .15);
}

.partner-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: .75rem;
}

.partner-card {
  padding: 1.05rem;
  border: 1px solid rgba(236, 240, 245, .13);
  background: rgba(255, 255, 255, .025);
}

.partner-card h3 {
  margin: 0 0 .65rem;
  font-size: 1rem;
}

.partner-link,
.detail-partner-actions .back {
  display: block;
  width: max-content;
  max-width: 100%;
  margin-top: .45rem;
  color: #dec08b;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.partner-link:hover,
.partner-link:focus-visible,
.detail-partner-actions .back:hover,
.detail-partner-actions .back:focus-visible {
  color: #fff0c6;
  text-decoration: underline;
  text-underline-offset: .2em;
}

.detail-partner-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1rem;
}

.detail-partner-actions .back {
  margin-top: .35rem;
}


/* Simplified partner links */
.partners-single {
  margin-top: clamp(4rem, 8vw, 7rem);
}

.partners-single .partner-feature {
  margin: 0;
  overflow-wrap: anywhere;
}

.detail-partner-links {
  margin: 2.5rem 0;
}

.detail-partner-actions {
  gap: .5rem 1rem;
}

.detail-partner-actions .partner-venue-link {
  margin: 0;
}


/* Colorful homepage accents */
#ten-cafe .section-top h2,
#ten-cafe .category-cta .back { color: #7ceeff; }
#point-five .section-top h2,
#point-five .category-cta .back { color: #ff9cdb; }
#one-percent .section-top h2,
#one-percent .category-cta .back { color: #c2b7ff; }
#hyper-public .section-top h2,
#hyper-public .category-cta .back { color: #9cf5d3; }

#ten-cafe .category-cta .back,
#point-five .category-cta .back,
#one-percent .category-cta .back,
#hyper-public .category-cta .back {
  transition: color 160ms cubic-bezier(.23, 1, .32, 1), text-shadow 160ms cubic-bezier(.23, 1, .32, 1);
}

#ten-cafe .category-cta .back:hover,
#point-five .category-cta .back:hover,
#one-percent .category-cta .back:hover,
#hyper-public .category-cta .back:hover {
  text-shadow: 0 0 1rem currentColor;
}

/* Mobile venue image reliability */
.venue-photo img,
.venue-gallery img,
.card .photo img {
  max-width: 100%;
  background: #081421;
}

.detail-grid .photo.venue-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 540px) {
  .detail-grid .photo.venue-photo {
    min-height: 14rem;
    background: #081421;
  }
}


/* Mobile image loading feedback */
@media (max-width: 540px) and (prefers-reduced-motion: no-preference) {
  .image-loading {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: #081421;
  }

  .image-loading::after {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    pointer-events: none;
    opacity: .55;
    background: linear-gradient(105deg, transparent 28%, rgba(120, 240, 255, .15) 44%, rgba(255, 92, 201, .3) 50%, rgba(45, 255, 188, .15) 56%, transparent 72%);
    transform: translateX(-115%);
    animation: image-neon-shimmer 1.2s cubic-bezier(.23, 1, .32, 1) infinite;
    transition: opacity 180ms cubic-bezier(.23, 1, .32, 1);
  }

  .image-loading:not(.image-loaded):not(.image-error) img {
    filter: saturate(.78) brightness(.88);
  }

  .image-loading.image-loaded::after,
  .image-loading.image-error::after {
    opacity: 0;
    animation: none;
  }

  .image-loading img {
    transition: filter 180ms cubic-bezier(.23, 1, .32, 1);
  }

  .image-loading.image-loaded img {
    filter: none;
  }

  @keyframes image-neon-shimmer {
    from { transform: translateX(-115%); }
    to { transform: translateX(115%); }
  }
}

@media (max-width: 540px) and (prefers-reduced-motion: reduce) {
  .image-loading::after { display: none; }
}
