:root { --navy:#001c4c; --gold:#755618; --ice:#edf5ec; --paper:#e3dbcd; --mist:#dfeee9; --frost:#e7edf2; --pearl:#efeade; --font-serif-jp:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif; --font-serif-display:"minion-pro-subhead",Georgia,"Times New Roman",var(--font-serif-jp); --font-sans:"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; --schedule-type-size:clamp(21px,2.5vw,35px); --display-number-scale:1.5em; --display-meta-scale:.8em; --display-paren-before:-.24em; --display-paren-after:-.1em; }
* { box-sizing:border-box; }
html,body { margin:0; min-height:100%; }
body { background:#071527; color:var(--navy); font-family:var(--font-serif-jp); }
img { display:block; max-width:100%; }
a[x-apple-data-detectors],
.venue p a,
.contact-section p a,
a[href^="tel:"],
a[href^="maps:"] { border:0 !important; box-shadow:none !important; color:inherit !important; text-decoration:none !important; -webkit-text-decoration:none !important; }
.site-shell { display:flex; justify-content:center; min-height:100vh; background:radial-gradient(circle at 50% 4%,#ccaa682e,#0000 24rem),#ebead8; }
.poster { position:relative; width:min(100%,1400px); overflow:clip; background:var(--ice); box-shadow:0 0 70px #9b95958c; }
.intro-scroll { --photo-reveal:0; --photo-scale:1.045; --photo-blur:7px; --photo-veil:1; --head-offset:0px; --title-rise:100vh; --title-reveal:0; }
.scenery { position:relative; height:clamp(620px,80vw,1120px); overflow:hidden; background:#fff; background-size:cover; background-position:50% 62%; }
.scenery::before,
.scenery::after { content:''; position:absolute; z-index:0; inset:0; pointer-events:none; }
.scenery::before { background-image:url('../images/yumingexpress-0912-pc.webp'); background-size:cover; background-position:inherit; opacity:var(--photo-reveal); filter:blur(var(--photo-blur)); transform:scale(var(--photo-scale)); transform-origin:50% 42%; will-change:opacity,filter,transform; }
.scenery::after { background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.18) 0,rgba(255,255,255,.76) 46%,#fff 82%); opacity:var(--photo-veil); will-change:opacity; }
.headmark { position:absolute; z-index:2; top:clamp(24px,3.8vw,56px); left:50%; width:clamp(145px,19vw,270px); transform:translateX(-50%); filter:drop-shadow(0 4px 6px rgba(0,13,35,.32)); }

.title-panel { position:absolute; z-index:1; right:0; bottom:0; left:0; display:flex; flex-direction:column; align-items:center; padding:clamp(34px,1.8vw,68px) clamp(28px,7vw,100px) clamp(32px,.4vw,62px); background:rgba(243,244,224,.84); border-bottom:5px solid rgba(255,255,255,.9); backdrop-filter:blur(1.2px); }
.title-art { width:min(92%,885px); }
.event { padding:clamp(26px,3.3vw,44px) clamp(48px,8vw,112px); text-align:center; background:#edf6eb; font-family:var(--font-serif-display); font-weight:500; font-style:normal; }
.theme-notice { padding:11px clamp(42px,5vw,70px) 17px; background:var(--navy); color:#fff; text-align:center; font-feature-settings:"palt"; }
.theme-notice-message { margin:0; color:#d6b875; font-size:clamp(12px,1.595vw,22px); font-weight:500; line-height:1.3; letter-spacing:.1em; }
.theme-notice-note { margin:2px 0 0; color:#dce3ed; font-family:var(--font-serif-jp); font-size:clamp(12px,1vw,14px); line-height:1.3; }
.theme-notice-note small { font-size:inherit; }
.theme-notice-message > span { display:inline-block; max-width:100%; }
.theme-notice-mobile-break { display:none; }
.event-heading { --event-heading-size:clamp(28px,3.8vw,58px); position:relative; padding-block:clamp(30px,4.6vw,68px); background:#dfe9dc; }
.event-schedule { padding-block:clamp(22px,2.8vw,38px); }
.artist-lockup { display:grid; grid-template-columns:1fr; align-items:center; margin:0 auto calc(var(--event-heading-size) * .16); max-width:1040px; }
.artist-name { justify-self:center; width:calc(var(--event-heading-size) * 6.7); max-width:86%; aspect-ratio:83/13; background:var(--navy); -webkit-mask:url('../images/matsutoyayumi.svg') center/contain no-repeat; mask:url('../images/matsutoyayumi.svg') center/contain no-repeat; }
.artist-monogram { position:absolute; top:50%; width:clamp(38px,7vw,90px); transform:translateY(-50%); }
.artist-monogram-left { left:clamp(48px,9vw,126px); }
.artist-monogram-right { right:clamp(48px,9vw,126px); }
.event h1 { margin:.3em 0 0; color:var(--navy); font-size:var(--event-heading-size); font-weight:500; line-height:.94; letter-spacing:.1em; }
.event h1 span { display:block; margin-top:.06em; }
.year { margin:0 0 .22em; color:var(--gold); font-size:clamp(24px,2.7vw,37px); letter-spacing:.16em; }
.dates { margin:0; display:flex; flex-wrap:wrap; justify-content:center; column-gap:.5em; color:var(--gold); font-size:var(--schedule-type-size); font-weight:500; line-height:1.7; letter-spacing:.04em; }
.date-row { display:contents; }
.date-item { display:inline-flex; align-items:baseline; white-space:nowrap; }
.date-item b { font-size:var(--display-number-scale); font-weight:500; line-height:1; }
.weekday { margin-inline:var(--display-paren-before) var(--display-paren-after); font-size:var(--display-meta-scale); font-weight:700; }
.middle-dot { display:inline-block; margin-inline:-.18em; }
.performance-count { margin:.45em 0 0; color:#526071; font-size:clamp(13px,1.2vw,17px); font-weight:600; letter-spacing:.18em; }
.performance-count strong { font-size:1.38em; font-weight:500; }
.show-time { margin:.8em 0 0; color:var(--navy); font-size:clamp(15px,1.6vw,22px); font-weight:600; letter-spacing:.1em; }
.show-time strong { font-size:1.44em; font-weight:500; }
.show-time span { margin-inline:.35em; color:var(--gold); }
.info-section { padding:clamp(28px,4vw,52px) clamp(42px,13vw,190px); background:#edf6eb; font-family:var(--font-serif-jp); }
.info-section h2 { margin:0 0 .75em; color:var(--navy); font-size:clamp(25px,3vw,40px); font-weight:600; font-feature-settings:"palt"; line-height:1.4; letter-spacing:.04em; }
.info-section h3 { margin:2.1em 0 .65em; color:var(--navy); font-size:clamp(15px,1.55vw,21px); font-weight:600; }
.price { margin:0 0 1.4em; color:var(--gold); font-size:var(--schedule-type-size); font-family:var(--font-serif-display); font-weight:500; line-height:1.5; letter-spacing:.04em; text-align:center; }
.price-number { font-size:var(--display-number-scale); font-weight:500; line-height:1; }
.price-meta { font-family:var(--font-serif-jp); font-size:var(--display-meta-scale); font-weight:700; }
.price-paren { margin-inline:var(--display-paren-before) var(--display-paren-after); }
.price small { display:block; margin:.4em 0 0; color:var(--navy); font-family:var(--font-serif-jp); font-size:.48em; font-weight:600; letter-spacing:.02em; }
.notes,.brief-notes { margin:0; padding:0; list-style:none; }
.notes { color:#26374a; font-family:var(--font-sans); font-size:clamp(11px,1vw,14px); line-height:1.85; }
.notes li { padding-left:0; text-indent:0; }
.block-label { width:fit-content; margin:0 auto .65em !important; color:var(--navy); font-size:clamp(13px,1.25vw,17px) !important; font-weight:600 !important; line-height:1.2 !important; letter-spacing:.18em !important; text-align:center; }
.block-label::after,
.reception .reception-label::after { content:''; display:block; width:calc(100% + 12px); margin:.4em -6px 0; border-top:1px solid var(--gold); }
.venue { text-align:center; }
.venue-name { margin:0 0 .35em !important; color:var(--navy) !important; font-family:var(--font-serif-jp) !important; font-size:clamp(25px,3vw,40px) !important; font-weight:600; font-feature-settings:"palt"; line-height:1.4; letter-spacing:.04em; }
.venue-name span { white-space:nowrap; }
.venue p { margin:0; color:#354357; font-family:var(--font-sans); font-size:clamp(11px,1.2vw,16px); }
.contact-section { text-align:center; }
.contact-section p { margin:0; color:#26374a; font-size:clamp(20px,2.15vw,29px); line-height:1.7; }
.contact-name,.contact-phone,.section-plan-tour h2 span { display:inline-block; white-space:nowrap; }
.contact-hours { display:block; margin-top:.15em; font-size:.6em; line-height:1.4; white-space:nowrap; }
.contact-section :is(h3,b,strong),
:is(.ticket-section,.tour-section,.credits) :is(h3,b,strong) { font-weight:400; }
.reception { margin:0 0 1em; color:var(--gold); font-size:clamp(16px,1.8vw,24px); line-height:1.7; }
.reception .reception-label { display:inline-block; margin-right:1.3em; color:var(--navy); font-size:.72em; font-weight:600 !important; line-height:1.05; letter-spacing:.18em; text-align:center; vertical-align:middle; }
.reception-period { display:inline-flex; flex-wrap:wrap; align-items:baseline; font-family:var(--font-serif-display); }
.reception-endpoint { display:inline-flex; align-items:baseline; white-space:nowrap; }
.reception .reception-endpoint strong { font-size:var(--display-number-scale); font-weight:500; line-height:1; letter-spacing:.01em; }
.reception-endpoint small { font-family:var(--font-serif-jp); font-size:var(--display-meta-scale); font-weight:700; }
.reception-weekday { margin-inline:var(--display-paren-before) var(--display-paren-after); font-family:var(--font-serif-jp); font-size:var(--display-meta-scale); font-weight:700; }
.reception-range-end { display:inline-flex; align-items:baseline; white-space:nowrap; }
.reception-range { display:inline-block; margin-inline:.42em; font-family:var(--font-serif-jp); font-size:1.28em; line-height:1; transform:translateY(.08em); }
.reception em { display:inline-block; margin-left:.7em; color:#8d3f35; font-size:.7em; font-style:normal; }
.brief-notes { display:flex; flex-wrap:wrap; align-items:center; margin-bottom:1.6em; color:#344354; font-family:var(--font-sans); font-size:clamp(14px,1.35vw,18px); line-height:1.6; }
.brief-notes li { padding-inline:1.1em; }
.brief-notes li:first-child { padding-left:0; }
.brief-notes li + li { border-left:1px solid rgba(117,86,24,.38); }
.tour-section .brief-notes { margin-bottom:1em; }
.tour-announcement { margin:0 0 1.6em; text-indent:-.5em; color:#344354; font-family:var(--font-sans); font-size:clamp(14px,1.35vw,18px); line-height:1.6; }
.body-copy { color:#26374a; font-size:clamp(12px,1.15vw,16px); line-height:1.9; }
.body-copy p { margin:0 0 1em; }
.body-copy a,.document-link { color:var(--gold); text-decoration-thickness:1px; text-underline-offset:.22em; }
.trade-period { margin-top:1.7em !important; color:var(--gold); font-weight:600; }
.eyebrow { display:inline-block; margin:0 0 .25em; padding:.3em .65em .34em; border:1px solid var(--gold); color:var(--gold); font-size:clamp(13px,1.4vw,19px); font-weight:700; line-height:1.1; letter-spacing:.06em; }
.section-plan { display:grid; grid-template-columns:clamp(74px,9vw,116px) minmax(0,1fr); align-items:start; gap:clamp(22px,3.2vw,46px); }
.section-plan > img { justify-self:center; width:100%; object-fit:contain; }
.section-plan-ticket > img { width:clamp(66px,8vw,104px); }
.section-plan-copy { min-width:0; }
.document-link { margin:1.4em 0 2em; font-size:clamp(15px,1.5vw,20px); font-weight:600; text-decoration:underline; }
.compact-copy { font-size:clamp(11px,1vw,14px); line-height:1.85; }
.important { color:#7a3e30; font-weight:600; }
.shared-notice { color:var(--navy); font-size:clamp(13px,1.35vw,18px); line-height:1.9; text-align:center; }
.shared-notice p { margin:.4em 0; }
.credits dl { margin:0 auto; max-width:880px; font-family:var(--font-sans); }
.credits dl div { display:grid; grid-template-columns:9em 1fr; align-items:baseline; gap:1.5em; padding:.22em 0; font-size:clamp(12px,1.15vw,16px); line-height:1.2; }
.credits dt { color:var(--gold); font-weight:400; text-align:right; }
.credits dd { margin:0; color:#26374a; line-height:1.25; }
.history { min-height:clamp(87px,22vw,217px); display:grid; place-items:center; padding:clamp(18px,2vw,28px) clamp(52px,9vw,126px) clamp(0px,4vw,72px); background:var(--paper); }
.history img { width:100%; max-width:690px; }
.copyright { position:relative; z-index:6; margin:-18px 0 0; padding:3px 20px 24px; background:var(--paper); color:#655943; font-family:var(--font-serif-display); font-size:11px; letter-spacing:.08em; text-align:center; }
.event-schedule,.contact-section,.shared-notice { background:var(--mist); }
.price-section,.ticket-section,.credits { background:var(--frost); }
.venue,.tour-section { background:var(--pearl); }
.price-section,.venue,.contact-section { padding-block:clamp(22px,2.8vw,38px); }
.lower-frame { position:relative; }
.content-frame { border-top:5px solid rgba(255,255,255,.9); border-bottom:5px solid rgba(255,255,255,.9); }
.content-section + .content-section { border-top:5px solid rgba(255,255,255,.9); }
.frame-header { --corner-size:70px; position:absolute; z-index:5; top:20px; right:20px; bottom:-3px; left:20px; pointer-events:none; }
.ornamental-frame { --corner-size:70px; position:absolute; z-index:5; inset:0 20px 20px; pointer-events:none; }
.frame-corner { position:absolute; z-index:2; width:var(--corner-size); aspect-ratio:1; background:url('../images/corner-r.svg') center/contain no-repeat; }
.frame-corner-top-left { top:0; left:0; transform:scaleY(-1); }
.frame-corner-top-right { top:0; right:0; transform:rotate(180deg); }
.frame-corner-bottom-left { bottom:0; left:0; }
.frame-corner-bottom-right { right:0; bottom:0; transform:scaleX(-1); }
.frame-edge { position:absolute; z-index:1; }
.frame-edge-top,
.frame-edge-bottom { right:calc(var(--corner-size) - 3px); left:calc(var(--corner-size) - 3px); height:11px; background:linear-gradient(to bottom,transparent 0 5px,#695120 5px 7px,transparent 7px 10px,#695120 10px 11px); }
.frame-edge-top { top:0; }
.frame-edge-bottom { bottom:0; transform:scaleY(-1); }
.frame-edge-bottom-left,
.frame-edge-bottom-right { top:calc(var(--corner-size) - 3px); bottom:calc(var(--corner-size) - 3px); width:11px; background:linear-gradient(to right,transparent 0 6px,#695120 6px 8px,transparent 8px 10px,#695120 10px 11px); }
.frame-edge-bottom-left { left:0; }
.frame-edge-bottom-right { right:0; transform:scaleX(-1); }
.frame-header .frame-edge-bottom-left,
.frame-header .frame-edge-bottom-right { top:calc(var(--corner-size) - 3px); bottom:0; }
.ornamental-frame .frame-edge-bottom-left,
.ornamental-frame .frame-edge-bottom-right { top:0; bottom:calc(var(--corner-size) - 3px); }
@media (min-width:641px) {
  .theme-notice-message,.theme-notice-note { line-height:1.6; }
  .intro-scroll {
    --head-top:clamp(62px,5.2vw,76px);
    --head-size:clamp(170px,16vw,220px);
    --title-gap:24px;
    height:200vh;
  }
  .scenery { position:sticky; top:0; height:100vh; min-height:620px; }
  .headmark {
    top:var(--head-top);
    width:var(--head-size);
    transform:translate(-50%,var(--head-offset));
    will-change:transform;
  }
  .title-panel {
    top:calc(var(--head-top) + var(--head-size) + var(--title-gap));
    bottom:auto;
    padding:0 clamp(28px,7vw,100px);
    background:transparent;
    border:0;
    backdrop-filter:none;
    opacity:var(--title-reveal);
    transform:translateY(var(--title-rise));
    will-change:transform,opacity;
  }
  .title-art { width:885px; max-width:84vw; }
  .dates { flex-direction:column; align-items:center; gap:0; }
  .date-row { display:flex; justify-content:center; gap:.5em; }
}
@media (max-width:640px) {
  .theme-notice { padding:11px 42px 17px; }
  .theme-notice-message { font-size:14px; line-height:1.3; }
  .theme-notice-message > span { display:inline; }
  .theme-notice-message > wbr { display:none; }
  .theme-notice-mobile-break { display:initial; }
  .theme-notice-note { margin-top:6px; font-size:10px; line-height:1.3; }
  :root { --schedule-type-size:19px; }
  .intro-scroll { height:200vh; }
  .poster { width:100%; }
  .scenery { position:sticky; top:0; height:100vh; min-height:590px; background-position:100% 0%; }
  .scenery::before { background-image:url('../images/yumingexpress-0912-sp.webp'); background-size:auto 108%; }
  .headmark { top:11vw; width:31vw; transform:translate(-50%,var(--head-offset)); will-change:transform; }
  .title-panel { top:56vw; bottom:auto; padding:0 34px; background:transparent; border:0; backdrop-filter:none; opacity:var(--title-reveal); transform:translateY(var(--title-rise)); will-change:transform,opacity; }
  .title-art { content:url('../images/yx-title-sp.svg'); }
  .event { padding:26px 42px 30px; }
  .event-heading { --event-heading-size:clamp(21px,7.45vw,28px); padding-block:28px 31px; }
  .artist-lockup { position:static; display:grid; grid-template-columns:1fr; width:100%; min-height:0; gap:0; margin-bottom:5px; }
  .artist-name { position:relative; z-index:2; max-width:72%; }
  .artist-monogram { position:absolute; z-index:1; top:50%; width:62px; opacity:1; transform:translateY(-50%); }
  .artist-monogram-left { left:44px; }
  .artist-monogram-right { right:44px; left:auto; display:block; }
  .event h1 { position:relative; z-index:2; line-height:.9; letter-spacing:.06em; }
  .event h1 span { margin-top:.03em; }
  .year { font-size:23px; }
  .dates { column-gap:.45em; line-height:1.7; }
  .show-time { margin-top:.8em; font-size:14px; }
  .info-section { padding:28px 42px; }
  .price-section,.venue,.contact-section { padding-block:26px 30px; }
  .price small { font-size:14px; }
  .notes { font-size:13px; line-height:1.75; }
  .notes li + li { margin-top:.8em; }
  .reception { font-size:18px; }
  .reception .reception-label { display:block; width:fit-content; margin:0 0 .85em; text-align:left; }
  .reception-period { display:flex; }
  .brief-notes { display:block; width:max-content; max-width:100%; font-size:15px; line-height:1.55; }
  .tour-announcement { font-size:15px; line-height:1.55; }
  .brief-notes li { padding:.2em 0; }
  .brief-notes li + li { border-left:0; }
  .brief-notes li + li::before { content:''; display:block; width:1.6em; margin:0 0 .2em; border-top:1px solid rgba(117,86,24,.38); }
  .section-plan { grid-template-columns:54px minmax(0,1fr); gap:14px; }
  .section-plan-ticket > img { width:48px; }
  .section-plan-tour h2 { font-size:clamp(20px,6vw,25px); }
  .venue-name span { display:block; }
  .contact-section p { line-height:1.18; }
  .credits dl div { grid-template-columns:7em 1fr; gap:1em; padding:.28em 0; line-height:1.45; text-align:left; }
  .credits dt { text-align:right; }
  .credits dd { line-height:1.45; }
  .copyright { margin-top:-8px; padding:0 16px 18px; }
  .history { min-height:0; padding:18px 42px 42px; }
  .content-frame { border-top-width:2px; border-bottom-width:2px; }
  .content-section + .content-section { border-top-width:2px; }
  .ornamental-frame {
    --corner-size:50px;
    top:0;
    right:14px;
    bottom:14px;
    left:14px;
  }
  .frame-header { --corner-size:50px; top:14px; right:14px; bottom:-2px; left:14px; }
  .frame-edge-top,
  .frame-edge-bottom {
    right:calc(var(--corner-size) - 2px);
    left:calc(var(--corner-size) - 2px);
    height:8px;
    background:linear-gradient(to bottom,transparent 0 3px,#695120 3px 4px,transparent 4px 6px,#695120 6px 8px);
  }
  .frame-edge-bottom-left,
  .frame-edge-bottom-right {
    width:8px;
    background:linear-gradient(to right,transparent 0 3px,#695120 3px 4px,transparent 4px 6px,#695120 6px 8px);
  }
  .frame-header .frame-edge-bottom-left,
  .frame-header .frame-edge-bottom-right { top:calc(var(--corner-size) - 2px); }
  .ornamental-frame .frame-edge-bottom-left,
  .ornamental-frame .frame-edge-bottom-right { bottom:calc(var(--corner-size) - 2px); }
}

/* September layout: a separate concert title above the train theme. */
.intro-scroll { --hero-height:max(100vh, 620px, min(77.1875vw, 1080.625px)); height:calc(var(--hero-height) + 100vh); }
.scenery { height:var(--hero-height); min-height:0; background-position:center top; }
.headmark { top:8.6%; width:15.8%; }
.main-title-panel { position:absolute; z-index:1; top:32%; left:50%; width:46%; opacity:var(--title-reveal); transform:translate(-50%, var(--title-rise)); will-change:transform,opacity; }
.main-title-art { width:100%; height:auto; }
.title-panel { top:63%; right:auto; bottom:auto; left:50%; width:46%; padding:0; transform:translate(-50%, var(--title-rise)); }
.title-art { width:100%; max-width:100%; height:auto; content:normal; }
@media (max-width:640px) {
  .intro-scroll { --hero-height:max(100vh, 590px, 179.2vw); }
  .scenery { background-position:100% 0%; }
  .headmark { top:11.7%; width:23%; }
  .main-title-panel { top:26.8%; width:80%; }
  .title-panel { top:47%; width:62%; }
}

@media (min-width:641px) {
  .scenery::before { background-position:right 50%; transform:scale(calc(var(--photo-scale) * 1.08)); transform-origin:right 71%; }
}

.credits dl .credits-contact { margin-top:1.5em; }

/* Repeat the existing three background colors through the information blocks. */
.content-frame > .content-section:nth-child(3n + 1) { background:var(--mist); }
.content-frame > .content-section:nth-child(3n + 2) { background:var(--frost); }
.content-frame > .content-section:nth-child(3n) { background:var(--pearl); }

/* Experimental staggered entrance; each SVG keeps its original coordinates. */
.title-panel.theme-motion { display:block; aspect-ratio:270 / 121; opacity:1; transform:translateX(-50%); will-change:auto; }
.theme-line { position:absolute; left:0; width:100%; max-width:none; opacity:0; will-change:transform,opacity; }
.theme-line-1 { top:0.000000%; height:13.731723%; }
.theme-line-2 { top:13.731723%; height:20.597584%; }
.theme-line-3 { top:34.329307%; height:18.881119%; }
.theme-line-4 { top:53.210426%; height:25.746980%; }
.theme-line-5 { top:78.957406%; height:21.042594%; }

/* One continuous announcement, entering only after the last theme line. */
.information-ticker { position:absolute; z-index:4; bottom:32px; left:0; right:0; overflow:hidden; padding:10.5px 0; background:var(--navy); color:#c5cbd3; visibility:hidden; transform:translateX(calc(100% + 40px)); transition:transform 1s cubic-bezier(.22,.61,.36,1),visibility 0s 1s; }
.information-ready .information-ticker { visibility:visible; transform:translateX(0); transition-delay:0s; }
.information-window { margin-inline:44px; overflow:hidden; mask-image:linear-gradient(to right,transparent,#000 12px,#000 calc(100% - 12px),transparent); }
.information-track { display:flex; width:max-content; animation:information-flow var(--ticker-duration,24s) linear infinite; animation-play-state:paused; }
.information-ready .information-track { animation-play-state:running; animation-delay:1s; }
.information-copy { flex:none; display:flex; align-items:baseline; gap:1.6em; min-width:calc(100vw - 64px); padding:0 3em; white-space:nowrap; font-size:clamp(14px,1.3vw,18px); line-height:1.6; letter-spacing:.045em; }
.information-label { color:#d6bd86; font-family:var(--font-serif-display); font-size:1.12em; letter-spacing:.08em; }
.information-link { display:inline-flex; align-items:center; gap:1em; color:inherit; text-decoration:none; }
.information-link:hover { text-decoration:underline; text-underline-offset:.25em; }
.information-ticker:hover .information-track,.information-ticker:focus-within .information-track { animation-play-state:paused; }
.information-link:focus-visible { outline:1px solid currentColor; outline-offset:4px; }
@keyframes information-flow { to { transform:translateX(-50%); } }
@media (max-width:640px) { .information-ticker { bottom:26px; padding:8.4px 0; } .information-window { margin-inline:34px; } .information-copy { padding-inline:2em; } }
.information-link::after { content:''; flex:none; width:6px; height:6px; margin-right:3px; border-top:2px solid currentColor; border-right:2px solid currentColor; transform:rotate(45deg); }
/* A taller tap target for mobile announcements. */
@media (max-width:640px) {
  .information-link { min-height:44px; margin-block:-8.4px; padding-block:8.4px; }
}
@media (prefers-reduced-motion:reduce) { .information-ticker { transition:none; } .information-window { overflow-x:auto; } .information-track { animation:none; } .information-copy[aria-hidden="true"] { display:none; } }

/* Ticket reception and supplementary guidance */
.ticket-reception-button { display:inline-flex; align-items:center; gap:.45em; padding:1em 1.2em; border:1px solid var(--gold); border-radius:16px; background:var(--navy); color:#fff; text-decoration:none; line-height:1.5; transition:background .2s; }
.ticket-reception-button:hover { background:#344354; }
.ticket-reception-button:focus-visible,.ticket-admission-link a:focus-visible,.ticket-trade-notice a:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.ticket-section .brief-notes { margin-bottom:1.1em; }
.ticket-admission-link { text-align:center; margin:0 0 1.6em; font-family:var(--font-sans); font-size:clamp(14px,1.35vw,18px); line-height:1.8; }
.ticket-admission-link a,.ticket-trade-notice a { color:var(--navy); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.22em; }
.ticket-trade-notice { padding-block:.35em; border-block:1px solid rgba(117,86,24,.45); color:#344354; font-family:var(--font-sans); font-size:clamp(12px,1.05vw,14px); line-height:1.85; overflow-wrap:anywhere; }
 .ticket-trade-notice summary { display:flex; align-items:center; justify-content:space-between; gap:.8em; min-height:44px; color:var(--navy); font-size:clamp(15px,1.4vw,18px); cursor:pointer; list-style:none; }
.ticket-trade-notice summary::-webkit-details-marker { display:none; }
.ticket-trade-notice summary::after { content:''; flex:none; width:9px; height:9px; margin-right:4px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); }
.ticket-trade-notice[open] summary { margin-bottom:.8em; }
.ticket-trade-notice[open] summary::after { transform:rotate(225deg); }
.ticket-trade-notice summary:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.ticket-trade-notice p { margin:0 0 .8em; }
.ticket-trade-notice p:last-child { margin-bottom:0; }
@media (max-width:640px) {
  .ticket-section .brief-notes { width:100%; }
  .ticket-reception-button { width:100%; min-height:58px; padding:1.1em 1.2em; box-sizing:border-box; }
  .ticket-section .brief-notes li + li::before { display:none; }
  .ticket-section .brief-notes li + li { margin-top:0; padding-block:0; line-height:1.5; }
  .ticket-section .brief-notes li:first-child { margin-bottom:.65em; }
  .ticket-admission-link { margin-left:-68px; font-size:14px; line-height:1.9; }
  .ticket-trade-notice { margin-left:-68px; margin-top:1.8em; font-size:13px; line-height:1.75; }
}

.ticket-button-chevron { flex:none; width:.65em; height:.65em; margin-left:auto; border-top:2px solid currentColor; border-right:2px solid currentColor; transform:rotate(45deg); }
.ticket-admission-link a { display:inline-flex; align-items:flex-start; justify-content:center; gap:.5em; }
.ticket-warning-icon { width:20px; height:20px; flex:none; margin-top:.2em; }
.ticket-trade-notice[open] { padding-bottom:1em; }
@media (max-width:640px) {
  .ticket-section .brief-notes li:first-child { width:calc(100% + 68px); margin-left:-68px; }
  .ticket-reception-button { display:flex; width:calc(100% - 136px); min-width:min(100%,165px); margin-inline:auto; }
}

@media (min-width:641px) {
  .ticket-reception-button { min-width:240px; box-sizing:border-box; }
  .ticket-section .brief-notes li:nth-child(2) { border-left:0; }
  .ticket-admission-link { text-align:left; }
}
.price-notice { padding:.8em 1.15em; border:0; border-radius:2px; background:#faf9f5; color:var(--navy); font-family:var(--font-sans); }
.price-notice summary { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.65em; text-align:center; min-height:44px; font-family:var(--font-serif-jp); font-weight:600; font-size:clamp(14px,1.35vw,18px); line-height:1.7; cursor:pointer; list-style:none; }
.price-notice summary::-webkit-details-marker { display:none; }
.price-notice summary::after { content:''; flex:none; width:9px; height:9px; margin:0 0 3px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); }
.price-notice[open] summary::after { transform:rotate(225deg); }
.price-notice summary:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.price-notice[open] .notes { margin-top:.9em; margin-bottom:.45em; }

@media (min-width:641px) {
  .price-notice { max-width:clamp(400px,48vw,640px); margin-inline:auto; box-sizing:border-box; }
}

/* Keep spacing between guidance items consistent in both accordions. */
.price-notice .notes li + li { margin-top:.8em; }
.ticket-trade-notice p { margin:0; }
.ticket-trade-notice p + p { margin-top:.8em; }
@media (min-width:641px) {
  .ticket-trade-notice { margin-left:0; margin-right:calc(clamp(74px,9vw,116px) + clamp(22px,3.2vw,46px)); }
}
