/* Readability pass, 2026-10-29. Preserve original travel content and palette. */
@media screen {
  :root { --muted:#637164; }
  body {font-size:16px;line-height:1.75;text-size-adjust:100%;-webkit-text-size-adjust:100%;}
  h1,h2,h3 {text-wrap:balance;}
  p {overflow-wrap:break-word;}
  .container {max-width:1200px;}
  .section-kicker,.card-topline,.attention-tag {font-size:12px;letter-spacing:.14em;line-height:1.6;}
  .section-kicker {color:#80674c;}
  .section-head {gap:24px;margin-bottom:30px;align-items:flex-end;}
  .section-head h2 {font-size:clamp(30px,3vw,38px);line-height:1.4;letter-spacing:0;margin-top:10px;}
  .section-head p,.section-small {font-size:14px;line-height:1.85;color:#637164;max-width:430px;letter-spacing:0;}
  .nav-links a,.nav-share {font-size:14px;}
  .nav-share {min-height:44px;}
  .hero {min-height:660px;}
  .hero h1 {font-size:clamp(52px,6vw,84px);line-height:1.3;letter-spacing:-.02em;margin-bottom:24px;}
  .hero-subtitle {font-size:17px;line-height:1.9;letter-spacing:.02em;}
  .hero-topline,.hero-bottom {font-size:11px;letter-spacing:.16em;}
  .pill-button,.hero-text-link {font-size:14px;}
  .pill-button {min-height:48px;padding:14px 24px;}
  .intro-wrap {gap:64px;padding-top:80px;padding-bottom:70px;}
  .intro-left h2 {font-size:clamp(30px,3vw,40px);line-height:1.5;}
  .intro-left p {font-size:16px;line-height:1.9;color:#5f6d61;letter-spacing:0;}
  .intro-count span,.ribbon-label {font-size:12px;color:#756c5e;}
  .date-ribbon strong {font-size:20px;}
  .countdown {font-size:14px;color:#526a58;}
  .route-section {padding-bottom:76px;}
  .route-stop strong {font-size:15px;}
  .route-stop small,.route-foot {font-size:12px;line-height:1.7;}
  .journey-section {padding:76px 0 84px;}
  .days-switcher {gap:10px;margin-bottom:24px;}
  .day-tab {padding:16px 14px;gap:6px;min-height:124px;}
  .day-tab-label {font-size:11px;}
  .day-tab-date {font-size:28px;line-height:1.2;}
  .day-tab-place {font-size:13px;line-height:1.5;white-space:normal;overflow:visible;}
  .day-panel {grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);min-height:0;align-items:start;}
  .day-scene {position:sticky;top:100px;min-height:560px;height:560px;}
  .day-scene-top {font-size:13px;letter-spacing:.1em;}
  .day-scene-bottom {padding:28px;}
  .day-scene h3 {font-size:30px;line-height:1.5;}
  .day-scene p {font-size:15px;line-height:1.85;letter-spacing:0;}
  .day-scene-bottom .day-en,.scene-location {font-size:12px;}
  .scene-location {margin-top:24px;}
  .day-agenda {padding:24px 30px 30px;}
  .day-agenda-head {align-items:flex-start;gap:16px;padding:8px 0 20px;}
  .day-agenda-head strong {font-size:17px;line-height:1.6;}
  .day-agenda-head small {font-size:13px;color:#667267;}
  .agenda-link {font-size:13px;line-height:1.8;padding:4px 0;}
  .timeline {padding-top:8px;}
  .timeline-item {grid-template-columns:84px 18px minmax(0,1fr);gap:10px;}
  .timeline-item:not(:last-child):before {left:103px;top:29px;}
  .timeline-time {font-family:var(--sans);font-size:13px;font-weight:600;line-height:1.65;padding-top:18px;font-variant-numeric:tabular-nums;word-break:normal;}
  .timeline-time .time-start,.timeline-time .time-end {display:block;white-space:nowrap;}
  .timeline-time .time-end {font-weight:400;color:#63776b;font-size:12px;}
  .timeline-pin {padding-top:24px;}
  .timeline-content {padding:14px 0 20px;}
  .timeline-row {gap:8px;}
  .timeline-text {font-size:16px;line-height:1.85;letter-spacing:0;overflow-wrap:break-word;min-width:0;}
  .type-emoji {width:18px;font-size:15px;line-height:1.85;}
  .item-detail {font-size:13px;color:#647267;line-height:1.85;margin-left:26px;}
  .timeline-cost {font-size:12px;color:#806039;line-height:1.7;margin-left:26px;}
  .day-hotel {padding:18px;align-items:flex-start;}
  .day-hotel small {font-size:11px;color:#5f7563;letter-spacing:.08em;}
  .day-hotel strong {font-size:16px;line-height:1.6;}
  .day-hotel a,.day-footnote {font-size:13px;line-height:1.85;}
  .day-footnote {color:#756f61;}
  .moments-section {padding:76px 0 84px;}
  .moment-info span {font-size:12px;}
  .moment-info p {font-size:14px;line-height:1.8;}
  .moment-info h3,.moment-tall .moment-info h3 {font-size:30px;}
  .practical-section {padding:76px 0 84px;}
  .practical-layout {grid-template-columns:1fr 1.1fr;gap:24px;align-items:start;}
  .lodging-card,.flight-card,.budget-card {padding:30px;min-width:0;}
  .lodging-card h3 {font-size:28px;margin:20px 0 24px;}
  .hotel-entry {grid-template-columns:88px minmax(0,1fr);gap:16px;padding:22px 0;}
  .hotel-entry strong {font-size:16px;line-height:1.7;}
  .hotel-entry p,.hotel-price {font-size:13px;line-height:1.8;color:#617063;}
  .flight-route strong {font-size:23px;}
  .flight-route span,.flight-dash small {font-size:12px;line-height:1.7;}
  .fine-print,.budget-card>p {font-size:13px;line-height:1.85;color:#677264;}
  .cost-big {font-size:48px;line-height:1.3;margin:20px 0 10px;}
  .cost-box {padding:16px;min-width:0;}
  .cost-box span {font-size:13px;line-height:1.7;color:#617163;}
  .cost-box strong {font-size:24px;line-height:1.3;}
  .notes-section {padding:76px 0 84px;}
  .notes-grid {grid-template-columns:1.1fr 1fr;gap:24px;align-items:start;}
  .attention-card,.checklist-card {padding:30px;min-width:0;}
  .attention-list article {grid-template-columns:26px minmax(0,1fr);gap:14px;padding:22px 0;}
  .attention-list h3 {font-size:17px;line-height:1.6;}
  .attention-list p {font-size:15px;line-height:1.9;color:#5d6b60;}
  .attention-list a {font-size:13px;line-height:1.8;display:inline-block;padding:4px 0;}
  .checklist-card h3 {font-size:28px;line-height:1.5;}
  .checklist-card>p {font-size:14px;line-height:1.85;}
  .progress-wrap>span {font-size:13px;}
  .check-item {font-size:15px;line-height:1.8;gap:12px;padding:15px 0;min-height:52px;}
  .check-item input {width:21px;height:21px;flex-basis:21px;margin-top:3px;}
  .check-item input:focus-visible {outline:3px solid #dfc496;outline-offset:4px;}
  .reset-list {font-size:14px;min-height:44px;margin-top:12px;}
  .resources {padding:72px 0 80px;}
  .bookmark {padding:18px;min-height:64px;}
  .bookmark span {font-size:14px;line-height:1.7;}
  .alternative-hotels summary {font-size:15px;line-height:1.8;gap:16px;}
  .alternatives a {font-size:14px;line-height:1.8;flex-wrap:wrap;}
  .closing {padding:72px 20px 80px;}
  .closing h2 {font-size:clamp(32px,4vw,48px);line-height:1.6;}
  .closing>p {font-size:11px;}
  .print-action {font-size:14px;min-height:44px;}
  .footer p,.footer-end a {font-size:12px;line-height:1.9;}
  .toast {font-size:14px;line-height:1.7;}
}
@media screen and (min-width:721px) and (max-width:1050px) {
  .day-panel {grid-template-columns:1fr;}
  .day-scene {position:relative;top:auto;min-height:320px;height:320px;}
  .day-scene-bottom {padding:24px 30px;}
  .day-scene h3 {margin:4px 0 8px;}
  .day-scene p {max-width:560px;margin-bottom:0;}
  .scene-location {margin-top:12px;padding-top:10px;}
  .notes-grid {grid-template-columns:1fr;}
  .practical-layout {grid-template-columns:1fr;}
}
@media screen and (max-width:720px) {
  html {scroll-padding-top:88px;}
  .site-header {height:72px;padding:0 18px;gap:12px;}
  .brand-label strong {font-size:10px;letter-spacing:.08em;}
  .brand-label small {font-size:10px;letter-spacing:.08em;}
  .nav-share {font-size:13px;padding:10px 13px;min-height:44px;white-space:nowrap;}
  .container {padding-left:20px;padding-right:20px;}
  .hero {min-height:620px;max-height:800px;height:calc(100svh - 72px);}
  .hero-topline {font-size:9px;letter-spacing:.08em;margin-top:28px;flex-wrap:wrap;row-gap:4px;}
  .hero-content {padding:0 24px;}
  .hero-jp {font-size:13px;}
  .hero h1 {font-size:clamp(38px,10.3vw,58px);line-height:1.4;margin-bottom:22px;}
  .hero-subtitle {font-size:15px;line-height:1.95;}
  .hero-actions {gap:18px;}
  .hero-bottom {font-size:10px;margin:36px 24px 24px;}
  .hero-scroll {font-size:9px;}
  .intro-wrap {gap:28px;padding-top:56px;padding-bottom:56px;}
  .intro-left h2 {font-size:30px;}
  .intro-left p {font-size:15px;line-height:1.9;}
  .intro-count strong {font-size:48px;}
  .intro-count span {font-size:11px;}
  .date-ribbon {padding:18px;}
  .date-ribbon strong {font-size:19px;}
  .route-section {padding-bottom:56px;}
  .route-map {padding:24px 16px;}
  .route-stop strong {font-size:14px;}
  .route-stop small {font-size:10px;}
  .route-foot {font-size:12px;}
  .section-head {align-items:flex-start;gap:12px;margin-bottom:24px;}
  .section-head h2 {font-size:29px;line-height:1.45;}
  .section-head p {font-size:14px;line-height:1.85;}
  .journey-section {padding:56px 0 60px;}
  .days-switcher {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;margin:0 0 20px;padding:0;gap:8px;}
  .day-tab {min-width:0;min-height:126px;padding:12px 10px;gap:6px;}
  .day-tab-label {font-size:11px;letter-spacing:.08em;}
  .day-tab-date {font-size:25px;}
  .day-tab-place {font-size:12px;line-height:1.45;min-height:2.9em;}
  .day-panel {display:flex;flex-direction:column;}
  .day-scene {position:relative;top:auto;min-height:290px;height:auto;width:100%;}
  .day-scene-top {padding:18px 20px;font-size:12px;}
  .scene-num {font-size:52px;}
  .day-scene-bottom {padding:20px;}
  .day-scene h3 {font-size:26px;margin:8px 0 10px;}
  .day-scene p {font-size:14px;line-height:1.8;}
  .scene-location {font-size:12px;line-height:1.8;margin-top:18px;padding-top:12px;}
  .day-agenda {padding:18px 16px 22px;width:100%;}
  .day-agenda-head {display:block;padding:4px 0 16px;}
  .day-agenda-head strong {font-size:16px;}
  .agenda-link {display:inline-block;min-height:36px;margin-top:8px;font-size:14px;}
  .timeline-item {grid-template-columns:65px 12px minmax(0,1fr);gap:8px;}
  .timeline-item:not(:last-child):before {left:79px;top:28px;}
  .timeline-time {font-size:12px;padding-top:17px;line-height:1.7;}
  .timeline-time .time-end {font-size:12px;}
  .timeline-pin {padding-top:24px;}
  .timeline-pin i {width:8px;height:8px;}
  .timeline-content {padding:13px 0 20px;}
  .timeline-row {display:block;}
  .type-emoji {display:none;}
  .timeline-text {font-size:15px;line-height:1.85;}
  .item-detail,.timeline-cost {margin-left:0;font-size:12px;line-height:1.85;}
  .day-hotel {padding:16px 12px;}
  .day-hotel strong {font-size:15px;}
  .day-hotel small {font-size:10px;}
  .moments-section,.practical-section,.notes-section,.resources {padding-top:56px;padding-bottom:60px;}
  .moments-grid {grid-template-columns:1fr;grid-template-rows:300px 220px 220px;gap:12px;}
  .moment-tall {grid-column:auto;grid-row:auto;}
  .moment-info,.moment-tall .moment-info {padding:24px;}
  .moment-info h3,.moment-tall .moment-info h3 {font-size:26px;}
  .practical-layout,.notes-grid {grid-template-columns:1fr;gap:18px;}
  .lodging-card,.flight-card,.budget-card,.attention-card,.checklist-card {padding:24px 20px;}
  .lodging-card h3 {font-size:26px;}
  .hotel-entry {grid-template-columns:76px minmax(0,1fr);gap:12px;}
  .hotel-date {font-size:18px;}
  .hotel-entry strong {font-size:16px;}
  .hotel-entry p,.hotel-price {font-size:13px;}
  .flight-route {gap:8px;}
  .flight-route strong {font-size:21px;}
  .flight-route span,.flight-dash small {font-size:11px;letter-spacing:.02em;}
  .cost-big {font-size:44px;}
  .cost-box {padding:14px 12px;}
  .cost-box span {font-size:12px;}
  .cost-box strong {font-size:23px;}
  .attention-list article {grid-template-columns:24px minmax(0,1fr);gap:12px;}
  .attention-list h3 {font-size:16px;}
  .attention-list p,.check-item {font-size:15px;}
  .attention-list a {font-size:14px;}
  .checklist-card h3 {font-size:26px;}
  .bookmark-grid {grid-template-columns:1fr;gap:10px;}
  .bookmark {min-height:60px;padding:16px 18px;}
  .bookmark span {font-size:15px;}
  .alternative-hotels summary {font-size:14px;}
  .closing {padding:56px 20px 64px;}
  .closing h2 {font-size:30px;line-height:1.65;}
  .footer {padding:30px 24px;gap:18px;}
}
@media screen and (max-width:365px) {
  .container {padding-left:16px;padding-right:16px;}
  .hero h1 {font-size:36px;}
  .brand-label small {display:none;}
  .brand-label strong {font-size:9px;}
  .day-tab {padding:12px 8px;}
  .day-agenda {padding-left:12px;padding-right:12px;}
  .timeline-item {grid-template-columns:59px 10px minmax(0,1fr);gap:7px;}
  .timeline-item:not(:last-child):before {left:71px;}
  .cost-breakdown {grid-template-columns:1fr;}
  .hotel-entry {grid-template-columns:1fr;gap:6px;}
}
@media (prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto;}
  *,*:before,*:after {transition:none!important;animation:none!important;}
}
