/* Izakaya field guide: warm evening palette, compact information layers and landscape-only imagery. */
.izakaya-page { --iz-ink: #183c45; --iz-red: #9e4937; --iz-amber: #d59b45; --iz-cream: #f6efe2; --iz-paper: #fffdfa; --iz-line: #d8d0c3; --iz-muted: #53666b; }
.izakaya-page .network-main { max-width: 1120px; }
.izakaya-page .network-hero { padding: clamp(24px, 5vw, 56px); border-radius: 24px; background: linear-gradient(135deg, #fffdfa 0 72%, #ead9bd 72%); }
.izakaya-page .network-hero h1 { max-width: 24ch; font-size: clamp(2rem, 4.5vw, 3.7rem); line-height: 1.12; text-wrap: balance; }
.izakaya-page:lang(ja) .network-hero h1 { max-width: 20em; font-size: clamp(1.85rem, 3.8vw, 3rem); line-height: 1.48; }
.izakaya-page .network-hero > p:not(.eyebrow) { max-width: 68ch; font-size: 1.08rem; line-height: 1.82; }
.izakaya-feature { font-size: 1.04rem; line-height: 1.84; }
.izakaya-feature *, [data-izakaya-primer] * { min-width: 0; }
.izakaya-feature p { margin: 0 0 1.1em; }
.izakaya-feature h2 { margin: 0 0 24px; font-size: clamp(1.65rem, 3.1vw, 2.6rem); line-height: 1.25; text-wrap: balance; }
.izakaya-feature:lang(ja) h2 { font-size: clamp(1.5rem, 2.8vw, 2.15rem); line-height: 1.48; }
.izakaya-feature h3 { margin: 0 0 10px; font-size: 1.14rem; line-height: 1.52; }
.izakaya-feature [id] { scroll-margin-top: 28px; }
.izakaya-feature :is(a, button, summary), [data-izakaya-primer] :is(a, summary) { text-underline-offset: .2em; }
.izakaya-feature :is(a, button, summary):focus-visible, [data-izakaya-primer] :is(a, summary):focus-visible { outline: 3px solid var(--iz-ink); outline-offset: 4px; border-radius: 4px; }

[data-izakaya-primer] { display: block; padding: 24px clamp(18px, 4vw, 40px); margin: 28px 0 36px; }
[data-izakaya-primer] h2 { font-size: 1.45rem; }
[data-izakaya-primer] .article-primer__scene { max-width: 78ch; }
.izakaya-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 24px 0; }
.izakaya-tabs a { display: grid; grid-template-columns: auto 1fr; gap: 0 10px; align-content: center; min-height: 64px; padding: 10px 14px; border: 1px solid var(--iz-line); border-radius: 12px; background: var(--iz-paper); text-decoration: none; line-height: 1.35; }
.izakaya-tabs a[aria-current="page"] { border: 2px solid var(--iz-ink); background: #ebd5ae; }
.izakaya-tabs a > span { grid-row: span 2; color: var(--iz-red); font-size: .75rem; font-weight: 700; }
.izakaya-tabs small { color: var(--iz-muted); font-size: .73rem; }

.izakaya-section { margin: clamp(44px, 7vw, 80px) 0; }
.izakaya-section > p { max-width: 76ch; }
.izakaya-citations { max-width: 94ch !important; color: var(--iz-muted); font-size: .78rem; line-height: 1.7; }
.izakaya-citations a { display: inline; }
.izakaya-lead { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(24px, 4vw, 42px); align-items: center; }
.izakaya-lead figure { margin: 0; }
.izakaya-lead picture, .izakaya-lead img { display: block; width: 100%; }
.izakaya-lead img { height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 20px; }
.izakaya-lead figcaption { margin-top: 8px; color: var(--iz-muted); font-size: .77rem; line-height: 1.6; }
.izakaya-feature-figure { max-width: 900px; margin: 0 auto clamp(42px, 7vw, 72px); }
.izakaya-feature-figure picture, .izakaya-feature-figure img { display: block; width: 100%; }
.izakaya-feature-figure img { height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 18px; }
.izakaya-feature-figure figcaption { margin-top: 8px; color: var(--iz-muted); font-size: .77rem; line-height: 1.6; }
.izakaya-lead h2 { font-size: clamp(1.8rem, 3.5vw, 3rem); }
.izakaya-action { display: inline-flex; align-items: center; min-height: 48px; padding: 10px 18px; border-radius: 10px; background: var(--iz-ink); color: #fff; font-weight: 700; text-decoration: none; }

.izakaya-route-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.izakaya-route-grid > a { display: grid; grid-template-columns: auto 1fr; gap: 14px; padding: 22px; border: 1px solid var(--iz-line); border-radius: 16px; background: var(--iz-paper); color: inherit; text-decoration: none; }
.izakaya-route-grid > a:hover { border-color: var(--iz-ink); background: #fbf3e3; }
.izakaya-route-grid > a > span { color: var(--iz-red); font-weight: 700; }
.izakaya-route-grid p { color: var(--iz-muted); font-size: .92rem; }
.izakaya-route-grid b { color: var(--iz-ink); font-size: .9rem; }
.izakaya-situation-grid, .izakaya-plan-check, .izakaya-recovery, .izakaya-room-map, .izakaya-region-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.izakaya-situation-grid article, .izakaya-plan-check article, .izakaya-recovery article, .izakaya-room-map article, .izakaya-region-grid article { padding: 20px 22px; border: 1px solid var(--iz-line); border-radius: 14px; background: var(--iz-paper); }
.izakaya-situation-grid article > span { display: block; margin-bottom: 8px; color: var(--iz-red); font-weight: 700; }
.izakaya-situation-grid p, .izakaya-plan-check p, .izakaya-recovery p, .izakaya-room-map p, .izakaya-region-grid p { margin: 0; font-size: .94rem; }
.izakaya-table-plan { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); padding: 0; list-style: none; counter-reset: table-step; }
.izakaya-table-plan li { position: relative; min-height: 150px; padding: 24px 18px; border-top: 3px solid var(--iz-red); background: var(--iz-paper); }
.izakaya-table-plan li + li { margin-left: 10px; }
.izakaya-table-plan li + li::before { content: '→'; position: absolute; left: -15px; top: 58px; color: var(--iz-red); font-weight: 700; }
.izakaya-table-plan strong, .izakaya-table-plan span { display: block; }
.izakaya-table-plan span { margin-top: 12px; color: var(--iz-muted); font-size: .87rem; line-height: 1.6; }

.izakaya-safety { display: grid; grid-template-columns: 64px 1fr; gap: 22px; margin: clamp(40px, 6vw, 68px) 0; padding: clamp(22px, 4vw, 34px); border: 1px solid #9e745f; border-left: 6px solid var(--iz-red); border-radius: 16px; background: #f4e7dc; }
.izakaya-safety > div { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--iz-red); color: #fff; font-size: 1.2rem; font-weight: 700; }
.izakaya-safety h2 { font-family: inherit; font-size: 1.35rem; line-height: 1.5; }
.izakaya-safety p { max-width: 86ch; font-size: .95rem; }

.izakaya-threshold { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 0; list-style: none; counter-reset: threshold; }
.izakaya-threshold li { display: grid; grid-template-columns: 38px 1fr; gap: 12px; padding: 18px; border: 1px solid var(--iz-line); border-top: 4px solid var(--iz-amber); border-radius: 12px; background: var(--iz-paper); }
.izakaya-threshold li > span { color: var(--iz-red); font-size: .76rem; font-weight: 800; }
.izakaya-threshold p { margin: 0; color: var(--iz-muted); font-size: .88rem; line-height: 1.65; }
.izakaya-venue-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.izakaya-venue-grid article { display: grid; grid-template-columns: 50px 1fr; gap: 16px; padding: 20px; border: 1px solid var(--iz-line); border-radius: 14px; background: var(--iz-paper); }
.izakaya-venue-grid article > span { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #ead8b9; color: var(--iz-ink); font-weight: 800; }
.izakaya-venue-grid p { margin-bottom: 8px; font-size: .9rem; }
.izakaya-clue-table { border-top: 2px solid var(--iz-ink); }
.izakaya-clue-table article { display: grid; grid-template-columns: minmax(170px, .7fr) 1fr 1.35fr; gap: 18px; padding: 18px 12px; border-bottom: 1px solid var(--iz-line); }
.izakaya-clue-table article > div strong, .izakaya-clue-table article > div span { display: block; }
.izakaya-clue-table article > div strong { font-size: 1.03rem; }
.izakaya-clue-table article > div span { color: var(--iz-muted); font-size: .75rem; }
.izakaya-clue-table p { margin: 0; font-size: .9rem; }
.izakaya-clue-table article > p:last-child { padding-left: 16px; border-left: 3px solid #e5d2b3; }
.izakaya-needs-grid, .izakaya-exit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.izakaya-needs-grid article, .izakaya-exit-grid article { padding: 18px 20px; border: 1px solid var(--iz-line); border-radius: 12px; background: var(--iz-paper); }
.izakaya-needs-grid p, .izakaya-exit-grid p { margin: 0; font-size: .91rem; }

.izakaya-steps { padding: 0; list-style: none; }
.izakaya-steps li { display: grid; grid-template-columns: 64px 1fr; gap: 22px; max-width: 850px; padding: 24px 0; border-top: 1px solid var(--iz-line); }
.izakaya-steps li > span { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--iz-amber); color: var(--iz-ink); font-weight: 800; }
.izakaya-steps p { max-width: 72ch; }
.izakaya-bill { max-width: 760px; padding: 22px; border: 1px solid var(--iz-line); border-radius: 16px; background: var(--iz-paper); }
.izakaya-bill > div { display: grid; grid-template-columns: 30px minmax(120px, .55fr) 1fr; gap: 12px; padding: 14px 0; border-bottom: 1px dashed var(--iz-line); }
.izakaya-bill > div > span { color: var(--iz-red); }
.izakaya-bill small { color: var(--iz-muted); font-size: .88rem; }
.izakaya-bill > p { display: flex; justify-content: space-between; gap: 18px; margin: 18px 0 0; padding-top: 4px; }
.izakaya-bill > p span { color: var(--iz-muted); font-size: .88rem; }
.izakaya-phrase-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.izakaya-phrase-grid--single { grid-template-columns: minmax(0, 560px); margin-top: 24px; }
.izakaya-phrase { padding: 22px; border: 1px solid var(--iz-line); border-radius: 14px; background: var(--iz-paper); }
.izakaya-phrase__ja { margin-bottom: 6px !important; font-size: 1.1rem; font-weight: 700; }
.izakaya-phrase__reading { color: var(--iz-muted); font-size: .8rem; }
.izakaya-phrase button { min-height: 44px; padding: 8px 14px; border: 2px solid var(--iz-ink); border-radius: 8px; background: var(--iz-ink); color: #fff; font: inherit; font-size: .9rem; font-weight: 700; cursor: pointer; }
.izakaya-phrase [role="status"] { display: block; min-height: 1.6em; margin-top: 6px; font-size: .8rem; }
.izakaya-group-patterns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.izakaya-group-patterns article { padding: 22px; border: 1px solid var(--iz-line); border-top: 4px solid var(--iz-amber); border-radius: 14px; background: var(--iz-paper); }
.izakaya-group-patterns p { margin: 0; font-size: .91rem; }
.izakaya-confirm-loop { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 0; list-style: none; }
.izakaya-confirm-loop li { display: grid; grid-template-columns: 30px 1fr; gap: 10px; min-height: 150px; padding: 20px 16px; border-top: 3px solid var(--iz-red); background: var(--iz-paper); }
.izakaya-confirm-loop li + li { margin-left: 10px; }
.izakaya-confirm-loop li > span { color: var(--iz-red); font-size: .75rem; font-weight: 800; }
.izakaya-confirm-loop p { margin: 0; color: var(--iz-muted); font-size: .86rem; }
.izakaya-decision-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.izakaya-decision-list details { border: 1px solid var(--iz-line); border-radius: 14px; background: var(--iz-paper); }
.izakaya-decision-list summary { display: grid; grid-template-columns: 32px 1fr; gap: 10px; align-items: center; min-height: 64px; padding: 14px 18px; cursor: pointer; }
.izakaya-decision-list summary span { color: var(--iz-red); font-size: .75rem; font-weight: 800; }
.izakaya-decision-list details[open] summary { border-bottom: 1px solid var(--iz-line); background: #fbf3e3; }
.izakaya-decision-list details > div { padding: 16px 18px; }
.izakaya-decision-list details p { margin: 0; font-size: .9rem; }
.izakaya-decision-list details p + p { margin-top: 10px; color: var(--iz-muted); }

.izakaya-family-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 26px; }
.izakaya-family-nav a { display: flex; align-items: center; gap: 10px; min-height: 54px; padding: 10px 14px; border: 1px solid var(--iz-line); border-radius: 12px; background: var(--iz-paper); color: inherit; font-size: .92rem; font-weight: 700; text-decoration: none; }
.izakaya-family-nav span { display: grid; flex: 0 0 auto; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #ead8b9; }
.izakaya-family { margin: clamp(54px, 8vw, 92px) 0; }
.izakaya-family > header { display: grid; grid-template-columns: 76px 1fr; gap: 22px; margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid var(--iz-line); }
.izakaya-family > header > span { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 20px; background: var(--iz-red); color: #fff; font-size: 1.45rem; font-weight: 700; }
.izakaya-family > header h2 { margin-bottom: 8px; }
.izakaya-family > header p { max-width: 72ch; color: var(--iz-muted); }
.izakaya-dish-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.izakaya-dish-grid > article { display: flex; flex-direction: column; padding: 20px; border: 1px solid var(--iz-line); border-radius: 14px; background: var(--iz-paper); }
.izakaya-dish-grid > article > div:first-child { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.izakaya-dish-grid > article > div:first-child p { margin: 0; font-size: 1.12rem; font-weight: 800; }
.izakaya-dish-grid > article > div:first-child span { color: var(--iz-muted); font-size: .74rem; }
.izakaya-dish-grid h3 { margin-top: 6px; color: var(--iz-red); font-size: .83rem; text-transform: uppercase; letter-spacing: .05em; }
.izakaya-dish-grid > article > p { font-size: .92rem; }
.izakaya-dish-observation { margin: 6px 0 14px; border-top: 1px solid var(--iz-line); border-bottom: 1px solid var(--iz-line); }
.izakaya-dish-observation summary { min-height: 44px; padding: 9px 2px; cursor: pointer; color: var(--iz-ink); font-size: .78rem; font-weight: 700; }
.izakaya-dish-observation p { margin: 0 0 12px; color: var(--iz-muted); font-size: .82rem; line-height: 1.6; }
.izakaya-dish-grid aside { margin-top: auto; padding: 14px; border-radius: 9px; background: var(--iz-cream); }
.izakaya-dish-grid aside strong { color: var(--iz-red); font-size: .69rem; letter-spacing: .08em; }
.izakaya-dish-grid aside p { margin: 4px 0 0; font-size: .8rem; line-height: 1.55; }
.izakaya-dish-grid > article > a, .izakaya-back { display: inline-block; margin-top: 12px; padding-block: 8px; font-size: .85rem; }
.izakaya-depth-list { max-width: 850px; }
.izakaya-depth { display: grid; grid-template-columns: 52px 1fr; gap: 22px; padding: 30px 0; border-top: 1px solid var(--iz-line); }
.izakaya-depth > span, .izakaya-chapter-number { color: var(--iz-red); font-weight: 800; letter-spacing: .08em; }
.izakaya-depth h3 { font-family: Fraunces, Georgia, serif; font-size: clamp(1.4rem, 2.4vw, 1.9rem); }
.izakaya-depth > div > p { max-width: 70ch; }
.izakaya-path-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.izakaya-path-grid article { display: grid; grid-template-columns: 38px 1fr; padding: 20px; border: 1px solid var(--iz-line); border-radius: 14px; background: var(--iz-paper); }
.izakaya-path-grid article > span { grid-row: 1 / span 3; color: var(--iz-red); font-size: .75rem; font-weight: 800; }
.izakaya-path-grid h3, .izakaya-path-grid p { grid-column: 2; }
.izakaya-path-grid .izakaya-path-dishes { margin: 0 0 10px; color: var(--iz-red); font-weight: 700; }
.izakaya-path-grid article > p:last-child { margin: 0; font-size: .9rem; }
.izakaya-season-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.izakaya-season-grid article { padding: 18px; border: 1px solid var(--iz-line); border-radius: 40px 40px 12px 12px; background: var(--iz-paper); }
.izakaya-season-grid article > span { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 14px; border-radius: 50%; background: #e7d2ad; font-weight: 800; }
.izakaya-season-grid [data-season="spring"] { border-top: 5px solid #c68f93; }
.izakaya-season-grid [data-season="summer"] { border-top: 5px solid #63957e; }
.izakaya-season-grid [data-season="autumn"] { border-top: 5px solid #b96b42; }
.izakaya-season-grid [data-season="winter"] { border-top: 5px solid #76909b; }
.izakaya-season-grid p { margin: 0; font-size: .88rem; }
.izakaya-menu-words { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.izakaya-menu-words details { border: 1px solid var(--iz-line); border-radius: 12px; background: var(--iz-paper); }
.izakaya-menu-words summary { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; min-height: 58px; padding: 12px 16px; cursor: pointer; }
.izakaya-menu-words summary span { font-weight: 800; }
.izakaya-menu-words summary small { color: var(--iz-muted); font-size: .72rem; }
.izakaya-menu-words details[open] summary { border-bottom: 1px solid var(--iz-line); background: #fbf3e3; }
.izakaya-menu-words details > div { padding: 14px 16px; }
.izakaya-menu-words p { margin: 0; font-size: .84rem; }
.izakaya-menu-words p + p { margin-top: 8px; }

.izakaya-prose { position: relative; max-width: 72ch; margin-right: auto; margin-left: auto; padding-top: 36px; border-top: 1px solid var(--iz-line); }
.izakaya-prose > p:not(.izakaya-chapter-number, .izakaya-citations) { max-width: 68ch; }
.izakaya-room-map { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.izakaya-room-map article { border-top: 4px solid var(--iz-amber); }
.izakaya-rhythm { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 0; list-style: none; }
.izakaya-rhythm li { display: grid; grid-template-columns: 34px 1fr; gap: 10px; padding: 18px; border-top: 3px solid var(--iz-red); background: var(--iz-paper); }
.izakaya-rhythm li + li { margin-left: 10px; }
.izakaya-rhythm li > span { color: var(--iz-red); font-size: .78rem; font-weight: 700; }
.izakaya-rhythm p { margin: 0; color: var(--iz-muted); font-size: .87rem; }
.izakaya-history { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; padding: 0; list-style: none; }
.izakaya-history::before { content: ''; position: absolute; top: 35px; right: 8%; left: 8%; height: 2px; background: var(--iz-line); }
.izakaya-history li { position: relative; padding: 18px 16px; border: 1px solid var(--iz-line); border-radius: 14px; background: var(--iz-paper); }
.izakaya-history li > div { position: relative; display: flex; justify-content: space-between; align-items: center; min-height: 34px; margin-bottom: 14px; color: var(--iz-red); font-size: .77rem; font-weight: 800; }
.izakaya-history li > div::before { content: ''; position: absolute; top: 7px; right: -2px; width: 12px; height: 12px; border: 3px solid var(--iz-paper); border-radius: 50%; background: var(--iz-red); }
.izakaya-history li > div b { font-size: .7rem; }
.izakaya-history p { margin: 0; color: var(--iz-muted); font-size: .87rem; }
.izakaya-observation-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.izakaya-observation-grid article { display: grid; grid-template-columns: 44px 1fr; gap: 12px; padding: 18px; border: 1px solid var(--iz-line); border-radius: 14px; background: var(--iz-paper); }
.izakaya-observation-grid article > span { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--iz-red); color: #fff; font-weight: 800; }
.izakaya-observation-grid p { margin: 0; font-size: .87rem; }
.izakaya-region-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.izakaya-region-grid article { border-top: 4px solid var(--iz-red); }
.izakaya-faq details, .izakaya-source-list { padding: 17px 0; border-bottom: 1px solid var(--iz-line); }
.izakaya-faq summary, .izakaya-source-list summary { min-height: 44px; cursor: pointer; align-content: center; font-weight: 700; }
.izakaya-faq p { max-width: 74ch; margin: 14px 0 4px; }
.izakaya-related { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.izakaya-related a { display: inline-flex; align-items: center; min-height: 44px; }
.izakaya-review { padding-top: 28px; border-top: 1px solid var(--iz-line); color: var(--iz-muted); font-size: .84rem; overflow-wrap: anywhere; }
.izakaya-review h2 { font-family: inherit; font-size: 1.2rem; }
.izakaya-source-list ul { padding-left: 22px; }
.izakaya-source-list li { margin: 8px 0; }

@media (max-width: 960px) {
  .izakaya-lead { grid-template-columns: 1fr; }
  .izakaya-lead figure { max-width: 760px; }
  .izakaya-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .izakaya-route-grid, .izakaya-dish-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .izakaya-table-plan { grid-template-columns: 1fr; gap: 10px; }
  .izakaya-table-plan li { min-height: auto; }
  .izakaya-table-plan li + li { margin-left: 0; }
  .izakaya-table-plan li + li::before { content: '↓'; left: 30px; top: -20px; }
  .izakaya-room-map, .izakaya-rhythm { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .izakaya-threshold, .izakaya-season-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .izakaya-confirm-loop, .izakaya-history, .izakaya-observation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .izakaya-menu-words { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .izakaya-confirm-loop li + li { margin-left: 0; }
  .izakaya-history::before { display: none; }
  .izakaya-rhythm li + li { margin-left: 0; }
}

@media (max-width: 700px) {
  .izakaya-page .network-main { width: calc(100% - 32px); }
  .izakaya-page .network-hero { padding: 24px 20px; background: var(--iz-paper); }
  .izakaya-page .network-hero h1 { overflow-wrap: anywhere; }
  .izakaya-feature { font-size: 1rem; }
  .izakaya-section { margin: 48px 0; }
  .izakaya-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .izakaya-tabs a { min-height: 66px; padding: 10px; }
  .izakaya-route-grid, .izakaya-situation-grid, .izakaya-plan-check, .izakaya-recovery, .izakaya-phrase-grid, .izakaya-family-nav, .izakaya-dish-grid, .izakaya-room-map, .izakaya-rhythm, .izakaya-region-grid, .izakaya-threshold, .izakaya-venue-grid, .izakaya-needs-grid, .izakaya-exit-grid, .izakaya-group-patterns, .izakaya-confirm-loop, .izakaya-decision-list, .izakaya-path-grid, .izakaya-season-grid, .izakaya-menu-words, .izakaya-history, .izakaya-observation-grid { grid-template-columns: 1fr; }
  .izakaya-route-grid > a, .izakaya-situation-grid article, .izakaya-plan-check article, .izakaya-recovery article, .izakaya-room-map article, .izakaya-region-grid article, .izakaya-phrase, .izakaya-dish-grid > article { padding: 18px; }
  .izakaya-lead img, .izakaya-feature-figure img { border-radius: 12px; }
  .izakaya-safety { grid-template-columns: 1fr; gap: 14px; border-left-width: 4px; }
  .izakaya-safety > div { width: 46px; height: 46px; }
  .izakaya-steps li { grid-template-columns: 46px 1fr; gap: 14px; padding: 20px 0; }
  .izakaya-steps li > span { width: 42px; height: 42px; }
  .izakaya-bill { padding: 16px; }
  .izakaya-bill > div { grid-template-columns: 22px 1fr; }
  .izakaya-bill small { grid-column: 2; }
  .izakaya-bill > p { display: block; }
  .izakaya-bill > p span { display: block; margin-top: 6px; }
  .izakaya-family > header { grid-template-columns: 52px 1fr; gap: 14px; }
  .izakaya-family > header > span { width: 48px; height: 48px; border-radius: 14px; font-size: 1.1rem; }
  .izakaya-dish-grid > article > div:first-child { display: block; }
  .izakaya-dish-grid > article > div:first-child span { display: block; }
  .izakaya-depth { grid-template-columns: 38px 1fr; gap: 10px; }
  .izakaya-clue-table article { grid-template-columns: 1fr; gap: 10px; padding: 18px 4px; }
  .izakaya-clue-table article > p:last-child { padding: 10px 12px; border-top: 1px solid var(--iz-line); border-left: 3px solid #e5d2b3; }
  .izakaya-venue-grid article { grid-template-columns: 44px 1fr; gap: 12px; padding: 18px; }
  .izakaya-confirm-loop li { min-height: auto; }
}

@media print {
  .izakaya-page .site-header, .izakaya-page .utility-bar, .izakaya-page .site-footer, .izakaya-page .support-appeal, .izakaya-tabs, .izakaya-family-nav, .izakaya-related, .izakaya-phrase button, .izakaya-back { display: none !important; }
  .izakaya-page .network-main { width: 100%; max-width: none; }
  .izakaya-feature { font-size: 10pt; }
  .izakaya-lead img { max-height: 210px; object-fit: contain; }
  .izakaya-section, .izakaya-family { margin: 24px 0; }
  .izakaya-feature :is(h2, h3) { break-after: avoid; }
  .izakaya-dish-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .izakaya-dish-grid > article, .izakaya-depth { break-inside: avoid; }
}
