/* Shared visual language with Osaka; Nagoya content and data remain separate. */
.bdn-wrap { width:min(1200px,calc(100% - 48px)); }
.bdn-topnav { padding:18px 0; background:#080808; }
.bdn-topnav .bdn-wrap { width:min(1560px,calc(100% - 48px)); gap:36px; }
.bdn-logo { flex:0 0 190px; }
.bdn-logo img { width:190px; height:66px; object-fit:contain; }
.bdn-menu { flex:1; }
.bdn-menu summary { cursor:pointer; color:white; }
.bdn-menu nav { justify-content:space-between; gap:16px; }
.bdn-menu nav a { text-align:center; font-weight:700; font-size:15px; padding:12px 0; }
.bdn-menu nav small { display:block; font-size:11px; font-weight:400; margin-top:4px; color:#bbb; }
.bdn { --green:#00884b; }
.bdn section { padding:64px 0; }
.bdn .bdn-hero { min-height:560px; text-align:center; padding:90px 0; }
.bdn-hero > img { opacity:.48; }
.bdn-hero .bdn-wrap { max-width:1000px; }
.bdn h1 { font-size:clamp(28px,3.2vw,44px); font-weight:500; line-height:1.55; margin:20px auto 30px; }
.bdn-hero p { margin:18px auto; max-width:740px; }
.bdn-hero .bdn-kicker { color:#eee; font-size:11px; }
.bdn-kicker { text-align:center; color:#666; }
.bdn section > .bdn-wrap > h2 { text-align:center; font-weight:500; font-size:clamp(25px,3vw,38px); margin:12px 0 28px; }
.bdn section > .bdn-wrap > p:not(.bdn-kicker) { max-width:760px; margin:0 auto 32px; text-align:center; color:#555; }
.bdn section.bdn-hero > .bdn-wrap > p,.bdn section.bdn-booking > .bdn-wrap > p { color:#eee; }
.bdn-actions { justify-content:center; margin-top:32px; }
.bdn .bdn-button { min-width:210px; border-radius:2px; padding:14px 24px; transition:background .15s; }
.bdn .bdn-button:hover { background:#3b3b3b; }
.bdn .bdn-button--primary:hover { background:#006e3d; }
.bdn-hero .bdn-button:not(.bdn-button--primary) { border-color:#aaa; background:transparent; }
.bdn-attendance { margin-top:32px; }
.bdn .staffbox_text { padding:22px 10px; }
.bdn .staffbox_text_name { font-size:22px; font-weight:700; margin-bottom:10px; }
.bdn .staffbox_text a { text-decoration:none; }
.bdn .staffbox_text .btn { border:0; background:#080808; padding:10px 18px; margin:10px auto 0; }
.bdn .bdn-campaign { padding-top:36px; border-top:1px solid #e5e5e5; }
.bdn-campaign h2 { text-align:center; margin-bottom:28px; font-weight:500; }
.bdn-muted { background:#fafafa; }
.bdn-grid { gap:32px; }
.bdn-card { border-top:1px solid #d8d8d8; padding-top:16px; }
.bdn-card h3 { font-weight:700; font-size:19px; }
.bdn-card p { color:#555; margin-bottom:0; }
.bdn-number { color:#fff; background:#151515; width:48px; height:48px; display:grid; place-items:center; border-radius:50%; font-size:18px; margin-bottom:18px; }
.bdn-news h3 { font-weight:700; line-height:1.65; }
.bdn-news img { aspect-ratio:16/9; }
.bdn section.bdn-booking { padding:80px 0; }
.bdn-booking .bdn-kicker { color:#bbb; }
.bdn-group a { background:#f5f5f5; border:0; border-left:3px solid #777; font-weight:700; }
.bdn-footer { padding:40px 0; text-align:center; }
@media(min-width:1000px) {
  .bdn-menu > summary { display:none; }
  .bdn-menu:not([open]) > nav { display:flex; }
}
@media(max-width:999px) {
  .bdn-topnav .bdn-wrap { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
  .bdn-logo { flex:1; }
  .bdn-logo img { width:155px; height:52px; }
  .bdn-menu { flex:0 0 auto; }
  .bdn-menu summary { list-style:none; border:1px solid #555; padding:8px 12px; font-size:13px; }
  .bdn-menu[open] { flex-basis:100%; }
  .bdn-menu[open] nav { display:grid; grid-template-columns:repeat(2,1fr); margin-top:16px; }
}
@media(max-width:767px) {
  .bdn-wrap { width:calc(100% - 32px); }
  .bdn section { padding:42px 0; }
  .bdn .bdn-hero { min-height:460px; padding:48px 0; }
  .bdn h1 { font-size:27px; }
  .bdn-hero .bdn-kicker { font-size:9px; }
  .bdn section > .bdn-wrap > p:not(.bdn-kicker) { font-size:14px; margin-bottom:24px; }
  .bdn-hero .bdn-actions { display:grid; gap:12px; max-width:290px; margin:26px auto 0; }
  .bdn .staffbox_text_name { font-size:18px; }
  .bdn .staffbox_text { padding:14px 6px; }
  .bdn .bdn-button { min-width:0; font-size:14px; }
  .bdn-grid { gap:24px; }
  .bdn-group { grid-template-columns:1fr; }
}
