@font-face {
  font-family: "Venue Serif";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("guide-serif-jp.woff2") format("woff2");
}
@font-face {
  font-family: "Venue Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("guide-sans-jp.woff2") format("woff2");
}
.venue-guide {
  --heading-typeface: "Venue Serif", "Yu Mincho", "Hiragino Mincho ProN", serif;
  min-height: 100svh;
  padding-bottom: clamp(26px, 7vw, 52px);
  font-family: "Venue Sans", "Hiragino Sans", "Yu Gothic", sans-serif;
}
.guide-intro {
  padding-block: clamp(30px, 7vw, 58px) 28px;
  background:
    radial-gradient(ellipse at 100% 4%, #49256f8c, transparent 57%),
    radial-gradient(ellipse at 0% 21%, #17326f80, transparent 62%);
}
.guide-intro > .brand { margin-bottom: 20px; }
.guide-intro h1 {
  margin-bottom: 0;
  font-size: clamp(34px, 9.2vw, 60px);
  line-height: 1.18;
  text-wrap: initial;
}
.guide-intro h1 > span { color: #e4d8ff; }
.guide-intro > p, .guide-section > p {
  max-width: 27em;
  margin-top: 16px;
  color: var(--muted);
}
.guide-intro > p strong { color: var(--ivory); }
.guide-facts {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 12px;
  margin-block: 20px 14px;
}
.guide-facts > div { align-content: start; }
.guide-address { grid-column: 1 / -1; }
.guide-facts small { display: block; color: var(--muted); }
.guide-section { padding-block: 28px; }
.guide-section h2 { font-size: clamp(28px, 7vw, 42px); }
.guide-section > p a, .guide-instagram a {
  color: #e7defa;
  text-underline-offset: .22em;
}
.guide-cast { padding-block: 12px 32px; }
.cast-link {
  position: relative;
  isolation: isolate;
  display: grid;
  align-content: center;
  min-height: clamp(185px, 49vw, 260px);
  overflow: clip;
  padding: clamp(16px, 4.5vw, 32px);
  border: 1px solid #c6b5f255;
  border-radius: 14px;
  background: linear-gradient(120deg, #211a39, #0d1221);
  color: var(--ivory);
  text-decoration: none;
}
.cast-link:hover { border-color: var(--accent); }
.cast-link img {
  position: absolute;
  inset: 0 0 0 auto;
  z-index: -1;
  width: 62%;
  height: 100%;
  object-fit: cover;
  object-position: center 10%;
  mask-image: linear-gradient(90deg, transparent, #000 45%);
}
.cast-copy { width: 66%; text-shadow: 0 2px 10px #090a14; }
.cast-copy p { color: var(--accent); font-size: clamp(12px, 3.4vw, 16px); font-weight: 700; }
.cast-copy h2 { margin-block: 5px 12px; font-size: clamp(38px, 10vw, 62px); }
.cast-action { font-size: clamp(13px, 3.6vw, 16px); text-underline-offset: .24em; text-decoration: underline; }
.cast-action span { display: inline-block; margin-inline-start: .25em; color: var(--accent); }
.guide-instagram { max-width: 440px; margin-top: 24px; container-type: inline-size; }
.guide-instagram figcaption { margin-bottom: 10px; color: var(--muted); font-size: .9375rem; font-weight: 600; }
.guide-instagram iframe {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 2;
  height: calc(100cqw * 4 / 3 + 212px);
  border: 0;
  border-radius: 10px;
  background: #141528;
}
.guide-instagram a { display: inline-block; margin-top: 10px; font-size: .9375rem; }
