/* Figma 341:508 / 341:642. Existing editorial layout, 1440 / 390. */
.mihara-page { background:var(--sky); }
.mihara-page p,.mihara-page h1,.mihara-page h2,.mihara-page figure { margin:0; }
.mihara-header { display:flex; align-items:center; justify-content:space-between; min-height:104px; padding:16px 48px; gap:32px; }
.mihara-header p { width:550px; font-size:12px; line-height:1.5; }
.mihara-header p span { margin:0 16px; }
.mihara-header a { text-decoration:none; }
.mihara-hero { position:relative; }
.mihara-hero .inline-video-caption { padding:16px 80px; min-height:80px; }
.mihara-hero-type { position:absolute; top:12.5vw; left:6.6667%; color:rgba(255,255,255,.94); pointer-events:none; display:flex; flex-direction:column; gap:24px; }
.mihara-location { display:flex; align-items:center; gap:8px; font-size:20px; font-weight:900; letter-spacing:-1px; line-height:28px; }
.mihara-good { font:italic 900 clamp(54px,9.4444vw,180px)/.911765 var(--font-en); letter-spacing:-.01em; }
.mihara-good span,.mihara-time > span { color:var(--citrus); }
.mihara-time { display:flex; align-items:center; gap:6px; font-size:24px; font-weight:900; line-height:34px; letter-spacing:-1.2px; }
.mihara-time img { margin-left:10px; }
.mihara-padded { padding-right:max(40px,5.5556%); padding-left:max(40px,5.5556%); }
.mihara-intro { padding-top:64px; padding-bottom:64px; display:grid; gap:48px; }
.mihara-eyebrow { font:italic 900 36px/1.1 var(--font-en); }
.mihara-two-col { display:grid; grid-template-columns:minmax(0,560fr) minmax(0,656fr); align-items:start; gap:clamp(32px,4.4444vw,64px); }
.mihara-intro h1 { font-size:88px; font-weight:900; line-height:1.2; letter-spacing:-.05em; margin-bottom:24px; }
.mihara-intro-copy { font-size:18px; line-height:1.9; }
.mihara-intro-copy p + p { margin-top:1.9em; }
.mihara-map { display:block; min-width:0; }
.mihara-map-block { position:relative; min-width:0; }
.mihara-map-credit { position:absolute; bottom:0; left:0; width:85%; height:26px; }
.mihara-map img { width:100%; height:auto; }
.mihara-river { padding-top:96px; padding-bottom:48px; background:var(--paper); display:grid; gap:48px; }
.mihara-river h2 { font-size:48px; font-weight:900; letter-spacing:-.05em; line-height:1.4; margin-top:8px; }
.mihara-river-row { display:grid; grid-template-columns:minmax(0,320fr) minmax(0,928fr); gap:32px; align-items:start; }
.mihara-prose { font-size:18px; line-height:1.9; }
.mihara-prose p + p { margin-top:1.9em; }
.mihara-film-pair { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.mihara-page .inline-video[data-inline-video] { margin:0; min-width:0; }
.mihara-page .inline-video-caption { flex-wrap:nowrap; gap:12px 24px; }
.mihara-page .inline-video-caption > span { flex:1; min-width:0; line-height:1.5; }
.mihara-page .inline-video-controls { flex-wrap:wrap; }
.mihara-mobile-caption,.mihara-only-mobile { display:none; }
.mihara-photo-section { padding-top:64px; padding-bottom:64px; background:var(--paper); }
.mihara-photo-section img { width:100%; height:auto; }
.mihara-photo-section figcaption { margin-top:8px; font-size:12px; line-height:1.6; }
.mihara-departure { padding-top:32px; padding-bottom:96px; display:grid; gap:48px; }
.mihara-travel-copy { display:grid; gap:24px; font-size:18px; line-height:1.9; }
.mihara-departure h2 { font-size:56px; font-weight:900; line-height:1.4; letter-spacing:-.05em; }
.mihara-ticket { width:min(384px,100%); padding:24px; display:grid; gap:8px; background:var(--citrus); }
.mihara-ticket p:first-child { font-size:28px; font-weight:900; line-height:1.2; letter-spacing:-.05em; }
.mihara-ticket p:nth-child(2) { font-size:12px; line-height:1.6; }
.mihara-ticket p:last-child { font-size:18px; font-weight:700; line-height:1.5; }
.mihara-operators { display:grid; gap:8px; font-size:14px; line-height:24px; }
.mihara-operators a { display:flex; justify-content:space-between; align-items:center; min-height:48px; padding:8px; background:#f8f9f4; border-bottom:1px solid #194dd5; color:#194dd5; font-weight:700; text-decoration:none; }
.mihara-operators a:hover { background:var(--citrus); }
.mihara-operators a > span[aria-hidden] { font-size:24px; }
.mihara-fare-note { font-size:12px; line-height:1.7; }
.mihara-fare-note a { text-underline-offset:3px; }
.mihara-route { display:grid; gap:24px; min-width:0; }
.mihara-boat { width:min(480px,100%); height:auto; }
.mihara-ending { padding-top:64px; padding-bottom:64px; background:var(--paper); }
.mihara-ending > p { font-size:48px; font-weight:900; line-height:1.4; letter-spacing:-.04em; }
.page-mihara .toc-section { background:var(--sky); }
@media (max-width:1100px) and (min-width:900px) {
 .mihara-intro-copy,.mihara-travel-copy { font-size:16px; }
 .mihara-page .inline-video-caption { flex-wrap:wrap; }
 .mihara-page .inline-video-caption > span { flex-basis:100%; }
}
@media (max-width:899px) {
 .mihara-header { min-height:83px; padding:14px 24px; gap:16px; }
 .mihara-header .brand { width:76px; height:55px; }
 .mihara-header .brand-mark { width:76px; }
 .mihara-header p { width:160px; font-size:0; }
 .mihara-header p span { display:none; }
 .mihara-header p a { display:block; font-size:16px; font-weight:700; line-height:24px; max-width:130px; margin-left:auto; }
 .mihara-padded { padding-right:24px; padding-left:24px; }
 .mihara-hero-type { left:24px; top:24px; gap:10px; }
 .mihara-location { font-size:12px; line-height:20px; letter-spacing:-.6px; gap:8px; }
 .mihara-location img { width:20px; height:20px; }
 .mihara-good { font-size:clamp(44px,13.8462vw,54px); line-height:.925926; }
 .mihara-time { font-size:14px; line-height:22px; letter-spacing:-.7px; }
 .mihara-time img { width:45.3px; height:22px; margin-left:2px; }
 .mihara-hero .inline-video-caption { padding:16px 24px; min-height:80px; }
 .mihara-page .inline-video-caption { gap:12px; align-items:flex-start; }
 .mihara-page .inline-video-caption > span { flex-basis:auto; font-size:12px; }
 .mihara-intro { padding-top:40px; padding-bottom:40px; gap:24px; }
 .mihara-eyebrow { font-size:32px; }
 .mihara-two-col { grid-template-columns:1fr; gap:32px; }
 .mihara-intro h1 { font-size:64px; }
 .mihara-intro-copy { font-size:16px; }
 .mihara-map { width:100%; }
 .mihara-river { padding-top:56px; padding-bottom:56px; gap:32px; }
 .mihara-river h2 { font-size:36px; }
 .mihara-river > div:first-child .mihara-eyebrow { font-size:28px; }
 .mihara-river-row { grid-template-columns:1fr; gap:32px; }
 .mihara-prose { font-size:16px; }
 .mihara-film-pair { grid-template-columns:1fr; gap:24px; }
 .mihara-desktop-caption { display:none; }
 .mihara-mobile-caption { display:inline; }
 .mihara-only-mobile { display:initial; }
 .mihara-photo-section { padding-top:40px; padding-bottom:40px; }
 .mihara-departure { padding-top:24px; padding-bottom:56px; gap:32px; }
 .mihara-departure .mihara-eyebrow { font-size:30px; }
 .mihara-departure h2 { font-size:40px; }
 .mihara-travel-copy { font-size:16px; }
 .mihara-ticket { width:100%; }
 .mihara-ticket p:first-child { font-size:26px; }
 .mihara-ending { padding-top:48px; padding-bottom:48px; }
 .mihara-ending > p { font-size:32px; }
}
