/* v39: final readability, alignment, popup, and bridge-background refinements. */

/* Keep the outdoor fair photograph present while retaining readable copy. */
.bridge-page::before{
  filter:saturate(1.04) contrast(1.02) brightness(1.01)!important;
}
.bridge-page::after{
  background:
    linear-gradient(90deg,rgba(255,252,247,.67) 0%,rgba(255,249,243,.52) 38%,rgba(255,246,239,.2) 70%,rgba(255,242,234,.12) 100%),
    linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,248,241,.3) 58%,rgba(240,216,201,.4))!important;
}

@media(min-width:761px){
  .bridge-page .bridge-stage{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    gap:clamp(20px,2.8svh,34px)!important;
  }
  .bridge-page .bridge-intro{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:clamp(10px,1.35svh,16px)!important;
  }
  .bridge-page .bridge-date-center{margin:0 auto 5px!important}
  .bridge-page .bridge-intro .kicker{margin:0!important}
  .bridge-page .bridge-intro .bridge-event-name{margin:0!important}
  .bridge-page .bridge-intro #bridge-title{margin:1px auto 0!important}
  .bridge-page .bridge-stage .choice-grid{
    flex:0 0 auto!important;
    height:clamp(210px,28svh,270px)!important;
    align-self:center!important;
  }
  .bridge-page .bridge-stage .choice-card{
    background:rgba(255,252,247,.69)!important;
    border-color:rgba(255,255,255,.82)!important;
    -webkit-backdrop-filter:blur(3px)!important;
    backdrop-filter:blur(3px)!important;
  }
  .bridge-page .bridge-stage .choice-card:hover{
    background:rgba(255,252,247,.82)!important;
  }
}

/* Vertically center the copy in the caption box. */
.family-page .feature-image-stack figcaption{
  min-height:62px!important;
  align-items:center!important;
  padding:14px 20px!important;
}
.family-page .feature-image-stack figcaption b{font-size:1rem!important}
.family-page .feature-image-stack figcaption span{font-size:1rem!important;line-height:1.45!important}

/* Keep the entire station totem, icon and number on one clear center axis. */
.family-page .station-totem{
  width:80px!important;
  min-width:80px!important;
  min-height:124px!important;
  align-self:center!important;
  display:grid!important;
  grid-template-rows:minmax(64px,1fr) auto!important;
  align-items:stretch!important;
  justify-items:stretch!important;
  text-align:center!important;
}
.family-page .station-totem-icon{
  min-height:64px!important;
  display:grid!important;
  place-items:center!important;
}
.family-page .station-totem-icon .station-hero-icon{
  width:38px!important;
  height:38px!important;
  display:block!important;
  margin:auto!important;
}
.family-page .family-station-experience .station-totem .platform-code{
  min-height:36px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px 0 5px!important;
  font-size:1.08rem!important;
  line-height:1!important;
  text-align:center!important;
}
.family-page .platform-order{font-size:.92rem!important}
.family-page .family-station-experience .platform-sign h3{font-size:clamp(2.75rem,4.25vw,4.05rem)!important}
.family-page .platform-tags>span,
.family-page .platform-tags li{font-size:1.07rem!important}
.family-page .station-participants-head h4{font-size:1.28rem!important}
.family-page .station-participants-head span{font-size:.96rem!important}
.family-page .station-participant-button{min-height:50px!important;padding:12px 17px!important;font-size:1.04rem!important}

/* Equalize the three recommendation cards: tighter internal rhythm, clear bottom padding. */
.family-page #family .concern .concern-no{
  margin:18px 24px 0!important;
  font-size:1.42rem!important;
  line-height:1.1!important;
}
.family-page #family .concern h3{
  margin:12px 24px 0!important;
  font-size:1.55rem!important;
  line-height:1.38!important;
}
.family-page #family .concern p{
  margin:14px 24px 30px!important;
  font-size:1.1rem!important;
  line-height:1.66!important;
}

/* Replace the old abstract route graphic with familiar program-category icons. */
.family-page .check-intro{padding-bottom:160px!important}
.family-page .check-intro::after{
  content:"🧠  🩺  🏠  🤝"!important;
  left:2px!important;
  right:24px!important;
  bottom:18px!important;
  height:100px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  border:1px solid rgba(234,151,103,.28)!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,rgba(255,244,233,.82),rgba(255,255,255,.94),rgba(255,240,246,.82))!important;
  color:initial!important;
  font-size:clamp(2rem,3.1vw,2.7rem)!important;
  letter-spacing:.18em!important;
  opacity:1!important;
  filter:saturate(.88)!important;
}
.family-page .check-intro h3{font-size:clamp(2.25rem,4.25vw,3.45rem)!important}
.family-page .check-intro>p{font-size:1.06rem!important}
.family-page .check-count{font-size:.92rem!important;padding:10px 15px!important}
.family-page .check-item{grid-template-columns:34px 1fr!important;gap:15px!important;padding:19px 20px!important}
.family-page .check-box{width:34px!important;height:34px!important}
.family-page .check-label{font-size:1.06rem!important;line-height:1.5!important}
.family-page .check-item .recommendation{font-size:.96rem!important;line-height:1.65!important}
.family-page .check-item .recommendation b{font-weight:900!important;color:#a91e55!important}

/* Enlarge the lower controls and organizer credits requested in the previous pass. */
.family-page .apply-options span{font-size:1.02rem!important;padding:10px 16px!important}
.family-page .apply-actions .button{font-size:1.12rem!important;padding:14px 22px!important}
.family-page .location-panel .map-actions .button{font-size:1.04rem!important;min-height:50px!important}
.family-page .organizers span,
.family-page .organizers b{font-size:1.14rem!important}

/* The detailed institution dialog must sit above every route/card layer. */
.station-partner-dialog-v35{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  margin:auto!important;
  width:min(900px,calc(100% - 30px))!important;
  max-height:min(88svh,780px)!important;
  display:none;
  border:0!important;
  overflow:auto!important;
}
.station-partner-dialog-v35[open]{display:block!important}
.station-partner-dialog-v35::backdrop{
  background:rgba(38,24,20,.68)!important;
  -webkit-backdrop-filter:blur(5px);
  backdrop-filter:blur(5px);
}

@media(max-width:760px){
  .bridge-page::before{filter:saturate(1.02) contrast(1.02) brightness(1.02)!important}
  .bridge-page::after{
    background:linear-gradient(180deg,rgba(255,253,249,.36),rgba(255,249,244,.43) 54%,rgba(239,216,202,.55))!important;
  }
  .bridge-page .bridge-intro{gap:clamp(4px,.9svh,8px)!important}
  .bridge-page .bridge-stage{gap:clamp(5px,1svh,10px)!important}
  .bridge-page .bridge-stage .choice-card{
    background:rgba(255,252,247,.7)!important;
    -webkit-backdrop-filter:blur(2px)!important;
    backdrop-filter:blur(2px)!important;
  }
  .family-page .feature-image-stack figcaption{min-height:58px!important;padding:12px 14px!important}
  .family-page .feature-image-stack figcaption b,.family-page .feature-image-stack figcaption span{font-size:.9rem!important}
  .family-page .station-totem{width:62px!important;min-width:62px!important;min-height:98px!important;grid-template-rows:minmax(50px,1fr) auto!important}
  .family-page .station-totem-icon{min-height:50px!important}
  .family-page .station-totem-icon .station-hero-icon{width:30px!important;height:30px!important}
  .family-page .family-station-experience .station-totem .platform-code{min-height:30px!important;padding:6px 0 4px!important;font-size:.84rem!important}
  .family-page .family-station-experience .platform-sign{grid-template-columns:62px minmax(0,1fr)!important;gap:15px!important}
  .family-page .platform-order{font-size:.82rem!important}
  .family-page .family-station-experience .platform-sign h3{font-size:clamp(2.35rem,11vw,3.2rem)!important}
  .family-page .platform-tags>span,.family-page .platform-tags li{font-size:.98rem!important}
  .family-page .station-participant-button{min-height:46px!important;padding:11px 14px!important;font-size:.96rem!important}
  .family-page #family .concern .concern-no{margin-top:16px!important;font-size:1.32rem!important}
  .family-page #family .concern h3{margin-top:10px!important;font-size:1.42rem!important}
  .family-page #family .concern p{margin-top:12px!important;margin-bottom:26px!important;font-size:1.02rem!important}
  .family-page .check-intro{padding-bottom:116px!important}
  .family-page .check-intro::after{right:2px!important;bottom:8px!important;height:84px!important;border-radius:19px!important;font-size:1.72rem!important;letter-spacing:.12em!important}
  .family-page .check-label{font-size:1rem!important}
  .family-page .check-item .recommendation{font-size:.92rem!important}
  .family-page .organizers span,.family-page .organizers b{font-size:1.02rem!important}
  .station-partner-dialog-v35{width:calc(100% - 22px)!important;max-height:90svh!important;border-radius:24px!important}
}

@media(max-width:760px) and (max-height:680px){
  .bridge-page .bridge-intro{gap:3px!important}
  .bridge-page .bridge-stage{gap:4px!important}
}

/* v42: clearer bridge photograph, larger station details, tighter cards and
   normalized institution photography. */
.bridge-page::before{
  filter:saturate(1.03) contrast(1.08) brightness(.56)!important;
}
.bridge-page::after{display:none!important;background:none!important}
.bridge-page .bridge-intro::before{display:none!important;background:none!important;filter:none!important}
.bridge-page .bridge-brand,
.bridge-page .bridge-brand>span:last-child,
.bridge-page .bridge-date,
.bridge-page .bridge-date span,
.bridge-page .bridge-date strong,
.bridge-page .bridge-intro .kicker,
.bridge-page .bridge-intro .bridge-event-name,
.bridge-page .bridge-intro #bridge-title,
.bridge-page .bridge-foot,
.bridge-page .bridge-foot b{
  color:#fffaf5!important;
  text-shadow:0 2px 12px rgba(19,12,10,.62)!important;
}
.bridge-page .bridge-brand .brand-seal{
  border:2px solid rgba(255,255,255,.78)!important;
  background:rgba(36,24,21,.24)!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(18,10,8,.18)!important;
}
.bridge-page .bridge-date-center{
  border:2px solid rgba(255,255,255,.78)!important;
  background:rgba(29,20,18,.22)!important;
  box-shadow:0 10px 26px rgba(17,10,8,.16)!important;
}
.bridge-page .bridge-date-center .bridge-date-item + .bridge-date-item{
  border-left-color:rgba(255,255,255,.38)!important;
}
.bridge-page .bridge-stage .choice-card{
  border:3px solid rgba(255,255,255,.84)!important;
  background:rgba(27,20,19,.18)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  box-shadow:0 18px 38px rgba(16,10,8,.22)!important;
}
.bridge-page .bridge-stage .choice-card::before{background:transparent!important}
.bridge-page .bridge-stage .choice-card:hover{
  border-color:#fff!important;
  background:rgba(34,24,22,.28)!important;
  box-shadow:0 24px 52px rgba(13,8,7,.3)!important;
}
.bridge-page .choice-no{display:none!important}
.bridge-page .choice-label,
.bridge-page .choice-heading h2,
.bridge-page .choice-heading h2 small,
.bridge-page .choice-copy p,
.bridge-page .choice-icon{
  color:#fff!important;
  text-shadow:0 2px 12px rgba(14,8,7,.66)!important;
}
.bridge-page .choice-icon svg{filter:drop-shadow(0 2px 8px rgba(14,8,7,.35))}

/* Increase every label in the six-stop line without weakening its hierarchy. */
.family-page .metro-map-heading span{font-size:.96rem!important;letter-spacing:.09em!important}
.family-page .metro-map-heading strong{font-size:1.2rem!important;line-height:1.45!important}
.family-page .station-line-nav .metro-code{font-size:1.08rem!important;line-height:1.1!important}
.family-page .station-line-nav .metro-name{font-size:1.26rem!important;line-height:1.25!important}
.family-page .station-line-nav .metro-link{min-height:106px!important}

/* The totem's inner sign used to keep a fixed 48px width and sit left of axis. */
.family-page .station-totem{
  align-items:stretch!important;
  justify-items:stretch!important;
}
.family-page .station-totem-icon{
  width:100%!important;
  height:auto!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  align-self:stretch!important;
  justify-self:stretch!important;
}
.family-page .station-totem-icon .station-hero-icon{
  margin:auto!important;
  transform:none!important;
  transform-origin:center!important;
}
.family-page .family-station-experience .platform-sign{
  align-items:center!important;
}

/* Larger service labels and icons inside every station card. */
.family-page .platform-tags>span,
.family-page .platform-tags li{
  min-height:66px!important;
  padding:15px 17px!important;
  gap:12px!important;
  font-size:1.18rem!important;
  line-height:1.35!important;
}
.family-page .platform-tags .tag-icon{
  width:31px!important;
  height:31px!important;
  flex:0 0 31px!important;
}

/* Pull the number, title and body of the three recommendation cards together. */
.family-page #family .concern .concern-no{
  margin:17px 24px 0!important;
  line-height:1!important;
}
.family-page #family .concern h3{
  margin:8px 24px 0!important;
  line-height:1.28!important;
}
.family-page #family .concern p{
  margin:9px 24px 24px!important;
  line-height:1.52!important;
}

/* Use a quiet QR-module pattern in place of the emoji strip. */
.family-page .check-intro{padding-bottom:160px!important}
.family-page .check-intro::after{
  content:""!important;
  left:2px!important;
  right:24px!important;
  bottom:18px!important;
  height:102px!important;
  border:1px solid rgba(224,132,82,.3)!important;
  border-radius:24px!important;
  background-color:rgba(255,250,245,.84)!important;
  background-image:
    linear-gradient(90deg,rgba(190,73,43,.22) 7px,transparent 7px),
    linear-gradient(rgba(190,73,43,.22) 7px,transparent 7px),
    repeating-conic-gradient(from 90deg,rgba(216,104,65,.16) 0 25%,transparent 0 50%)!important;
  background-position:center!important;
  background-size:28px 28px,28px 28px,18px 18px!important;
  box-shadow:inset 0 0 0 12px rgba(255,255,255,.7)!important;
  opacity:.76!important;
  filter:none!important;
}

/* The checklist column has room: increase both the question and its result. */
.family-page .check-item{
  grid-template-columns:40px minmax(0,1fr)!important;
  gap:18px!important;
  padding:22px 24px!important;
}
.family-page .check-box{
  width:40px!important;
  height:40px!important;
  font-size:1.08rem!important;
}
.family-page .check-label{
  font-size:1.24rem!important;
  line-height:1.45!important;
  letter-spacing:-.025em!important;
}
.family-page .check-item .recommendation{
  margin-top:6px!important;
  font-size:1.08rem!important;
  line-height:1.58!important;
}

/* Real popup photos all share a 4:3 frame and never stretch. */
.station-partner-dialog-v35 .partner-dialog-visual{
  width:100%!important;
  aspect-ratio:4/3!important;
  min-height:0!important;
  overflow:hidden!important;
  border-style:solid!important;
  background:#f4e7de!important;
}
.station-partner-dialog-v35 .partner-dialog-visual img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}

@media(max-width:760px){
  .bridge-page::before{filter:saturate(1.03) contrast(1.08) brightness(.54)!important}
  .bridge-page .bridge-stage .choice-card{background:rgba(27,20,19,.2)!important}
  .family-page .metro-map-heading span{font-size:.88rem!important}
  .family-page .metro-map-heading strong{font-size:1.08rem!important}
  .family-page .station-line-nav .metro-code{font-size:.94rem!important}
  .family-page .station-line-nav .metro-name{font-size:1.08rem!important}
  .family-page .station-line-nav .metro-link{min-height:86px!important}
  .family-page .station-totem-icon{width:100%!important;height:auto!important}
  .family-page .platform-tags>span,
  .family-page .platform-tags li{min-height:60px!important;padding:13px 14px!important;gap:10px!important;font-size:1.04rem!important}
  .family-page .platform-tags .tag-icon{width:28px!important;height:28px!important;flex-basis:28px!important}
  .family-page #family .concern .concern-no{margin-top:15px!important}
  .family-page #family .concern h3{margin-top:7px!important}
  .family-page #family .concern p{margin-top:8px!important;margin-bottom:22px!important;line-height:1.5!important}
  .family-page .check-intro{padding-bottom:120px!important}
  .family-page .check-intro::after{right:2px!important;bottom:8px!important;height:88px!important;border-radius:19px!important}
  .family-page .check-item{grid-template-columns:35px minmax(0,1fr)!important;gap:14px!important;padding:18px 16px!important}
  .family-page .check-box{width:35px!important;height:35px!important;font-size:.98rem!important}
  .family-page .check-label{font-size:1.07rem!important;line-height:1.42!important}
  .family-page .check-item .recommendation{font-size:.98rem!important;line-height:1.54!important}
  .station-partner-dialog-v35 .partner-dialog-visual{aspect-ratio:4/3!important;min-height:0!important}
}

/* v44: enlarge the event-information and FAQ copy shown beside the map. */
.family-page .visit-info,
.family-page .faq-box{
  padding:32px!important;
}
.family-page .visit-info h3,
.family-page .faq-box h3{
  font-size:1.68rem!important;
  line-height:1.3!important;
  letter-spacing:-.03em!important;
}
.family-page .visit-info dl{
  margin-top:19px!important;
}
.family-page .visit-info dl div{
  grid-template-columns:88px minmax(0,1fr)!important;
  gap:16px!important;
  padding:15px 0!important;
}
.family-page .visit-info dt{
  font-size:1rem!important;
  line-height:1.5!important;
}
.family-page .visit-info dd{
  font-size:1.1rem!important;
  line-height:1.55!important;
}
.family-page .faq-box details:first-of-type{
  margin-top:18px!important;
}
.family-page .faq-box summary{
  padding:19px 0!important;
  font-size:1.1rem!important;
  line-height:1.5!important;
}
.family-page .faq-box summary::after{
  font-size:1.7rem!important;
  line-height:1!important;
}
.family-page .faq-box details p{
  padding-bottom:19px!important;
  font-size:1.02rem!important;
  line-height:1.7!important;
}

@media(max-width:760px){
  .family-page .visit-info,
  .family-page .faq-box{padding:25px 22px!important}
  .family-page .visit-info h3,
  .family-page .faq-box h3{font-size:1.48rem!important}
  .family-page .visit-info dl div{grid-template-columns:70px minmax(0,1fr)!important;gap:12px!important;padding:13px 0!important}
  .family-page .visit-info dt{font-size:.94rem!important}
  .family-page .visit-info dd{font-size:1rem!important}
  .family-page .faq-box summary{padding:17px 0!important;font-size:1.02rem!important}
  .family-page .faq-box summary::after{font-size:1.5rem!important}
  .family-page .faq-box details p{font-size:.96rem!important}
}

/* v45: replace the checklist pattern with a PC-only Gwanghwamun fair scene. */
.family-page .check-intro::after{
  content:none!important;
  display:none!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
}
@media(min-width:761px){
  .family-page .check-intro::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    top:clamp(340px,25vw,380px)!important;
    right:20px!important;
    bottom:14px!important;
    left:2px!important;
    width:auto!important;
    height:auto!important;
    border:1px solid rgba(224,132,82,.34)!important;
    border-radius:28px!important;
    background:url('assets/checklist-gwanghwamun-fair-v45.webp') center 48%/cover no-repeat!important;
    box-shadow:0 18px 38px rgba(87,52,37,.13)!important;
    opacity:1!important;
    filter:none!important;
  }
}
@media(max-width:760px){
  .family-page .check-intro{padding-bottom:0!important}
  .family-page .check-intro::after{content:none!important;display:none!important}
}

/* Recompose institution popups: full-width title, copy left, photo right. */
.station-partner-dialog-v35 .partner-dialog-inner{
  grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr)!important;
  grid-template-areas:
    "header header"
    "copy visual"!important;
  align-items:stretch!important;
  gap:24px 30px!important;
}
.station-partner-dialog-v35 .partner-dialog-header{
  grid-area:header!important;
  min-width:0!important;
  padding-right:62px!important;
  text-align:left!important;
}
.station-partner-dialog-v35 .partner-dialog-header h3{
  margin:9px 0 0!important;
  font-size:clamp(2rem,4vw,2.85rem)!important;
}
.station-partner-dialog-v35 .partner-dialog-copy{
  grid-area:copy!important;
  min-width:0!important;
}
.station-partner-dialog-v35 .partner-dialog-copy .partner-dialog-sections{
  margin-top:0!important;
}
.station-partner-dialog-v35 .partner-dialog-visual{
  grid-area:visual!important;
  align-self:stretch!important;
  aspect-ratio:auto!important;
  min-height:360px!important;
  height:100%!important;
}

@media(max-width:760px){
  .station-partner-dialog-v35 .partner-dialog-inner{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "header"
      "visual"
      "copy"!important;
    gap:20px!important;
  }
  .station-partner-dialog-v35 .partner-dialog-header{padding-right:48px!important}
  .station-partner-dialog-v35 .partner-dialog-header h3{font-size:1.85rem!important}
  .station-partner-dialog-v35 .partner-dialog-visual{
    aspect-ratio:4/3!important;
    min-height:0!important;
    height:auto!important;
  }
}

/* v45: keep bridge information legible over the darker outdoor photograph. */
.bridge-page .bridge-date-center,
.bridge-page .bridge-date-center .bridge-date-item,
.bridge-page .bridge-date-center .bridge-date-item>span,
.bridge-page .bridge-date-center .bridge-date-item>strong,
.bridge-page .bridge-date-center svg{
  color:#fff!important;
  stroke:#fff!important;
  text-shadow:0 2px 10px rgba(10,7,5,.8)!important;
}
.bridge-page .bridge-intro #bridge-title,
.bridge-page .bridge-intro #bridge-title .bridge-slogan-line{
  color:#ffe9a9!important;
  text-shadow:0 3px 14px rgba(14,9,5,.86),0 0 2px rgba(67,40,14,.7)!important;
}

/* v46: stronger bridge icons, larger mobile guidance, numbered cards, and a
   frameless checklist photograph that dissolves into the section background. */
.bridge-page .choice-family .choice-icon{
  color:#ffb44f!important;
}
.bridge-page .choice-senior .choice-icon{
  color:#ff76aa!important;
}
.bridge-page .choice-icon svg{
  filter:drop-shadow(0 3px 8px rgba(8,5,4,.72)) drop-shadow(0 0 1px rgba(255,255,255,.95))!important;
}
.bridge-page .choice-icon .icon-soft{
  opacity:.86!important;
}

.family-page #family .concern .concern-no{
  width:52px!important;
  height:52px!important;
  display:grid!important;
  place-items:center!important;
  margin:20px auto 0!important;
  border:2px solid #e86a3f!important;
  border-radius:50%!important;
  background:#fff7f1!important;
  color:#b93e21!important;
  font-size:1.14rem!important;
  line-height:1!important;
  box-shadow:0 8px 18px rgba(191,77,41,.12)!important;
}

@media(min-width:761px){
  .family-page .check-intro::after{
    top:clamp(320px,23vw,365px)!important;
    right:-12px!important;
    bottom:-14px!important;
    left:-14px!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background-position:center 48%!important;
    opacity:.96!important;
    filter:saturate(.92) contrast(.96) brightness(1.03)!important;
    -webkit-mask-image:radial-gradient(ellipse at 50% 52%,#000 0 46%,rgba(0,0,0,.94) 61%,rgba(0,0,0,.55) 75%,transparent 94%)!important;
    mask-image:radial-gradient(ellipse at 50% 52%,#000 0 46%,rgba(0,0,0,.94) 61%,rgba(0,0,0,.55) 75%,transparent 94%)!important;
  }
}

@media(max-width:760px){
  .family-page .text-links{
    gap:0!important;
  }
  .family-page .text-link{
    min-height:76px!important;
    padding:18px 2px!important;
    font-size:1.23rem!important;
    line-height:1.42!important;
  }
  .family-page .text-link b{
    font-size:1.65rem!important;
  }
  .family-page .station-swipe-hint{
    gap:10px!important;
    font-size:1.05rem!important;
    line-height:1.5!important;
  }
  .family-page .station-swipe-hint svg{
    width:30px!important;
    height:30px!important;
    flex:0 0 30px!important;
  }
  .family-page .station-line-nav ol{
    row-gap:72px!important;
  }
  .family-page .station-line-nav .metro-link{
    min-height:90px!important;
  }
  .family-page #family .concern .concern-no{
    width:48px!important;
    height:48px!important;
    margin-top:17px!important;
    font-size:1.05rem!important;
  }
}

/* v48: default map marker and a fixed two-line venue label. */
.family-page .visit-info dd strong{
  display:block!important;
  margin-top:2px!important;
  font-weight:900!important;
}
@media(max-width:760px){
  .family-page #visit>.container>header,
  .family-page #visit>.container>header .section-title{
    text-align:left!important;
  }
  .family-page #visit>.container>header .eyebrow{
    justify-content:flex-start!important;
  }
}
