/* Readable phone typography and a vertical project table. Desktop presentation stays unchanged. */
@media (max-width:760px) {
    .fes-experience { font-size:16px; }
    .fes-experience .fes-masthead { padding:0 12px; gap:8px; }
    .fes-experience .fes-school { font-size:12px; gap:6px; }
    .fes-experience .fes-school img { width:24px; height:24px; }
    .fes-experience .fes-quick-nav { gap:8px; }
    .fes-experience .fes-quick-nav a { font-size:12px; gap:4px; white-space:nowrap; }
    .fes-experience .fes-hero-intro { font-size:15px; line-height:1.8; }
    .fes-experience .fes-action { font-size:14px; gap:8px; }
    .fes-experience .fes-ticket-date span, .fes-experience .fes-ticket-time span { font-size:12px; line-height:1.6; }
    /* Keep the event ticket readable when text zoom reduces the effective viewport. */
    .fes-experience .fes-date-ticket { grid-template-columns:repeat(2,minmax(0,1fr)); min-width:0; }
    .fes-experience .fes-ticket-date, .fes-experience .fes-ticket-time { min-width:0; overflow-wrap:anywhere; }
    .fes-experience .fes-ticket-date span, .fes-experience .fes-ticket-time strong, .fes-experience .fes-ticket-time span { white-space:normal; overflow-wrap:anywhere; }
    .fes-experience .fes-ticket-time strong { line-height:1.4; }
    .fes-experience .fes-hero-stamp span { font-size:11px; }
    .fes-experience .fes-date-ticket > a { font-size:14px; min-width:0; flex-wrap:wrap; overflow-wrap:anywhere; }
    .fes-experience .fes-date-ticket > a span { padding-left:0; }
    .fes-experience .fes-section-heading > p { font-size:15px; line-height:1.8; }
    .fes-experience .fes-discover-filters button { font-size:14px; padding:8px 12px; border-radius:22px; }
    .fes-experience .fes-discover-count, .fes-experience .fes-motion-toggle { font-size:13px; }
    .fes-experience .fes-discover-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
    .fes-experience .fes-discover-card { display:grid; grid-template-columns:clamp(72px,22vw,96px) minmax(0,1fr); min-height:180px; }
    .fes-experience .fes-card-art { height:100%; min-height:180px; border-bottom:0; border-right:2px solid #22134c; }
    .fes-experience .fes-card-art svg { width:90%; height:auto; }
    .fes-experience .fes-art-tag { display:none; }
    .fes-experience .fes-discover-badge { width:32px; height:32px; font-size:14px; }
    .fes-experience .fes-card-copy { padding:14px 12px; gap:7px; min-width:0; }
    .fes-experience .fes-card-copy strong { font-size:17px; line-height:1.6; word-break:normal; overflow-wrap:anywhere; }
    .fes-experience .fes-card-description { font-size:14px; line-height:1.75; }
    .fes-experience .fes-card-group, .fes-experience .fes-card-place { font-size:13px; line-height:1.7; }
    .fes-experience .fes-card-link { font-size:14px; }
    .fes-experience .fes-discover-status { flex-wrap:wrap; padding-block:8px; }
    .fes-experience .fes-discover-controls { justify-content:flex-start; }
    .fes-experience .fes-flow-toggle, .fes-experience .fes-flow-hint { font-size:14px; }
    .fes-experience .fes-card-place { padding-top:2px; }
    .fes-experience .fes-card-copy span { overflow-wrap:anywhere; }
    .fes-experience .fes-map .fes-chips { flex-wrap:wrap; overflow:visible; }
    .fes-experience .fes-map .fes-chips button { font-size:14px; }
    .fes-experience .fes-search input, .fes-experience select { font-size:16px; }
    .fes-experience .fes-map p.fes-filter-count, .fes-experience .fes-map .fes-map-note { font-size:13px; line-height:1.75; }
    .fes-experience .fes-map .fes-floor-tabs { flex-wrap:wrap; overflow:visible; }
    .fes-experience .fes-map .fes-floor-tabs button { font-size:14px; }
    .fes-experience .fes-map .fes-map-tabs:not(.fes-floor-tabs) button { font-size:15px; }
    .fes-experience .fes-project-panel summary { font-size:16px; }
    .fes-experience .fes-project-text strong { font-size:16px; line-height:1.6; }
    .fes-experience .fes-project-text small { font-size:14px; line-height:1.7; }
    .fes-experience .fes-map p.fes-card-no { font-size:13px; }
    .fes-experience .fes-map p.fes-card-name { font-size:18px; line-height:1.6; overflow-wrap:anywhere; }
    .fes-experience .fes-map p.fes-card-desc { font-size:15px; line-height:1.75; }
    .fes-experience .fes-map p.fes-card-guide { font-size:14px; line-height:1.75; }
    .fes-experience .fes-toilet-context, .fes-experience .fes-toilet-note { font-size:14px; }
    .fes-experience .fes-toilet-building { font-size:14px; flex-wrap:wrap; }
    .fes-experience .fes-toilet-place { padding:12px 10px; }
    .fes-experience .fes-toilet-place strong { font-size:16px; }
    .fes-experience .fes-toilet-place span { font-size:14px; line-height:1.7; }
    .fes-experience .fes-toilet-place small { font-size:12px; }
    .fes-experience .fes-toilet-destination p { font-size:15px; line-height:1.75; }
    .fes-experience .fes-toilet-destination small { font-size:13px; }
    .fes-experience .fes-toilet-destination button { font-size:14px; }
    .fes-experience .fes-location-copy p { font-size:14px; line-height:1.75; }
    .fes-experience .fes-location-copy small { font-size:13px; }
    .fes-experience .fes-location-actions button { font-size:14px; }
    .fes-experience .fes-location-copy strong { overflow-wrap:anywhere; }
    .fes-experience .fes-rally-intro > p:last-of-type { font-size:15px; line-height:1.8; max-width:none; }
    .fes-experience .fes-rally-art { opacity:.15; }
    .fes-experience .fes-rally-qr-note, .fes-experience .fes-rally-pending { font-size:14px; line-height:1.8; }
    .fes-experience .fes-rally-place-copy strong { font-size:16px; }
    .fes-experience .fes-rally-place-copy small, .fes-experience .fes-rally-destination p { font-size:14px; }
    .fes-experience .fes-rally-destination button { font-size:14px; }
    .fes-experience .outline-list { font-size:16px; line-height:1.8; }
    .fes-experience .outline-list dt { font-size:14px; }
    .fes-experience .outline-list dd { overflow-wrap:anywhere; }
    .fes-experience .notice-box { font-size:16px; line-height:1.8; }
    /* Keep the source table and its interactions, but remove five-column scrolling on phones. */
    .fes-experience #venue-guide .table-scroll { overflow:visible; contain-intrinsic-size:auto 1800px; }
    .fes-experience #venue-guide .guide-table { display:block; width:100%; min-width:0; font-size:15px; border-spacing:0; }
    .fes-experience .guide-table thead { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
    .fes-experience .guide-table tbody { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
    .fes-experience .guide-table tbody tr { display:grid; grid-template-columns:36px minmax(0,1fr); gap:7px 10px; padding:14px; border:1px solid #cfb7ca; border-radius:12px; background:#fffaf5; scroll-margin-top:84px; }
    .fes-experience .guide-table tbody td { display:block; padding:0; border:0; width:auto; min-width:0; line-height:1.75; text-align:left; white-space:normal; word-break:normal; overflow-wrap:anywhere; background:transparent; }
    .fes-experience .guide-table td.col-no { display:grid; place-items:center; width:36px; min-height:32px; align-self:start; border-radius:8px; background:#c5df36; color:#22134c; font-size:14px; font-weight:800; grid-column:1; grid-row:1; }
    .fes-experience .guide-table tr.is-linked .col-no::after { content:none; }
    .fes-experience .guide-table td:nth-child(2) { grid-column:2; grid-row:1; align-self:center; color:#655374; font-size:14px; }
    .fes-experience .guide-table td:nth-child(3) { grid-column:1/-1; font-size:18px; font-weight:800; line-height:1.65; color:#22134c; }
    .fes-experience .guide-table td:nth-child(4) { grid-column:1/-1; font-size:15px; color:#655374; }
    .fes-experience .guide-table td:nth-child(5) { grid-column:1/-1; border-top:1px solid #eadce6; padding-top:9px; font-size:14px; color:#22134c; }
    .fes-experience .guide-table td:nth-child(5)::before { content:'会場'; display:inline-block; margin-right:6px; padding:1px 6px; border-radius:4px; background:#f3d5df; font-size:12px; }
    .fes-experience .guide-table tr.is-linked td:nth-child(5)::after { content:'地図で見る ↗'; display:block; margin-top:7px; color:#603190; font-size:14px; font-weight:700; }
    .fes-experience .guide-table tr.is-active { background:#eef6c8; }
    .fes-experience .guide-table tr.is-linked:focus-visible { outline:3px solid #6934ac; outline-offset:3px; }
    .fes-experience #fes-project-table { scroll-margin-top:84px; }
}
@media (max-width:360px) {
    .fes-experience .fes-map-navigation { grid-template-columns:minmax(0,1fr); }
    .fes-experience .fes-map-head { justify-content:flex-end; }
    .fes-experience .fes-toilet-list { grid-template-columns:minmax(0,1fr); }
}
