/* One reading system and native image proportions throughout the page. */
body{font-size:15px;line-height:1.9}
p{text-wrap:pretty}
h2,h3,h4{text-wrap:balance;overflow-wrap:break-word}
.keep{white-space:nowrap}
.chapter{width:88%;max-width:1160px}
.overline{font-size:10px;line-height:1.6;letter-spacing:.18em;margin-bottom:16px}
.footnote{font-size:11px;line-height:1.9;letter-spacing:0}
.header nav{font-size:13px;letter-spacing:.055em}
.brand{font-size:20px;letter-spacing:.08em}
.brand small{font-size:9px;letter-spacing:.2em}
.home-english{letter-spacing:.2em;line-height:1.7}
.home-caption{line-height:1.95;letter-spacing:.07em}
.home-hero-index{letter-spacing:.12em}
.chapter-heading{width:88%;max-width:1160px;margin:0 auto;padding:70px 0 34px;text-align:left}
.city>.chapter-heading{width:100%}
.chapter-heading>.overline{margin-bottom:15px}
.chapter-heading h2{font-size:clamp(31px,3.3vw,43px);line-height:1.6;letter-spacing:.045em}
.chapter-heading>p:last-child{font-family:var(--sans);font-size:14px;line-height:1.95;letter-spacing:.02em;max-width:40em;margin:18px 0 0}
.chapter-summary{display:flex;flex-wrap:wrap;gap:4px 24px}
.chapter-summary>span{display:block}
h3{font-size:clamp(26px,2.6vw,34px);line-height:1.65;letter-spacing:.035em}
.image-frame{background:transparent;cursor:default}
.image-frame>img{display:block;width:100%;height:auto;object-fit:contain;object-position:center;transform:none;transition:none}
.city-transit-grid .image-frame,.city-gallery .image-frame,.landscape-main,.museum-pair .image-frame,.landscape-river>.image-frame,.art-story-photo .image-frame,.architecture-photo .image-frame{height:auto;aspect-ratio:auto;background:transparent}

/* Transport, then shopping and leisure, in a consistent two-column gallery. */
.city{padding-bottom:58px}
.city-overview{display:grid;grid-template-columns:1fr 1fr;gap:0 6%;max-width:none;padding:26px 0 0;margin:0 0 34px;text-align:left;border-top:1px solid var(--line)}
.city-overview>.overline{grid-column:1/-1;font-size:10px;margin-bottom:15px}
.city-overview h3{font-size:28px;line-height:1.7;letter-spacing:.035em}
.copy-stack{max-width:34em}
.copy-stack p{font-size:14px;line-height:2;letter-spacing:0;color:var(--muted);margin:0}
.copy-stack p+p{margin-top:12px}
.city-transit-grid,.city-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 6%}
.city-transit-grid article,.city-gallery article{min-width:0;border-bottom:1px solid var(--line);padding-bottom:24px}
.city-card-copy{padding:20px 0 0}
.city-transit-grid h4,.city-gallery h4{font-size:23px;line-height:1.55;letter-spacing:.025em;text-align:left;margin:0;min-height:3.1em}
.city-card-copy h4>span{display:inline}
.city-card-copy h4>.place-subtitle{display:block;font-family:var(--sans);font-size:16px;line-height:1.7;letter-spacing:.02em;color:var(--muted);margin-top:3px}
.city-card-copy>p{font-size:14px;line-height:1.95;letter-spacing:0;color:var(--muted);max-width:35em;margin-top:14px}
.city-shopping-heading{text-align:left;border-top:1px solid var(--line);padding-top:28px;margin-top:38px}
.city-shopping-heading .overline{font-size:10px;margin-bottom:12px}
.city-shopping-heading h3{font-size:30px;line-height:1.65;letter-spacing:.04em}
.city-gallery{margin-top:28px}

/* The residence photo stays compact and retains its full original 3:2 image. */
.architecture{padding-bottom:44px}
.architecture-intro{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center}
.architecture-photo{margin:0;width:100%;max-width:530px;min-width:0}
.architecture-photo img{height:auto;aspect-ratio:auto;object-fit:contain}
.architecture-photo figcaption{position:static;text-align:left;margin-top:10px;font-size:11px;line-height:1.8;letter-spacing:.035em;color:var(--muted)}
.architecture-intro .architecture-story{display:block;width:100%;max-width:32em;margin:0;padding:0;min-width:0}
.architecture-intro .architecture-story h3{font-size:32px;line-height:1.65;letter-spacing:.035em}
.architecture-copy{margin-top:22px}
.architecture-intro .architecture-story .architecture-copy>p{font-size:14px;line-height:2;letter-spacing:0;color:var(--muted);margin:0}
.architecture-intro .architecture-story .architecture-copy>p+p{margin-top:18px}
.architecture .stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:850px;margin:36px auto 0;padding:27px 0;gap:0}
.architecture .stats>div:first-child{border-right:1px solid var(--line)}
.architecture .stats>div:last-child{border:0}
.stats strong{font-size:47px;line-height:1.35}
.stats small{font-size:12px;margin-left:6px}
.stats .number-prefix{margin:0 5px 0 0;font-size:12px;vertical-align:middle;font-family:var(--sans)}
.stats span{display:block;margin-top:8px;font-size:12px;line-height:1.7;letter-spacing:.035em}

/* Park and museum overview, lake, two museums, then the riverside. */
.art-story,.landscape-stage,.landscape-river{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center}
.art-story{padding:0 0 42px;border:0}
.art-story-photo{margin:0;min-width:0;width:100%;max-width:530px}
.art-story-photo img{aspect-ratio:auto;height:auto}
.art-story-copy{min-width:0;max-width:32em}
.art-story-copy h3{font-size:32px;line-height:1.65;letter-spacing:.035em}
.art-story-description{font-size:14px;line-height:2;color:var(--muted);letter-spacing:0;max-width:33em;margin-top:19px}
.art-story-copy .scene-meta{font-size:13px;line-height:1.9;color:var(--orange);letter-spacing:.025em;margin-top:18px}
.landscape-stage{padding:38px 0 42px;border-top:1px solid var(--line)}
.landscape-main{grid-column:2;grid-row:1;min-width:0}
.landscape-text{grid-column:1;grid-row:1;padding:0;max-width:32em;text-align:left;min-width:0}
.landscape-text h3{font-size:32px;line-height:1.65;letter-spacing:.035em}
.landscape-text>p:not(.overline){font-size:14px;line-height:2;letter-spacing:0;color:var(--muted);margin-top:19px}
.landscape-text>p.scene-meta{font-size:13px;line-height:1.9;color:var(--orange);letter-spacing:.025em}
.landscape-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6%;padding:34px 0 40px;border-top:1px solid var(--line)}
.museum-pair article{min-width:0}
.museum-pair .overline{font-size:10px;line-height:1.6;letter-spacing:.16em;margin:22px 0 12px}
.museum-pair h3{font-size:27px;line-height:1.65;letter-spacing:.025em}
.museum-status{display:inline-block;border:0;border-left:2px solid #b46c4650;padding:0 0 0 10px;margin-top:12px;font-size:11px;line-height:1.8;letter-spacing:.015em;color:var(--orange)}
.landscape-pair.museum-pair article>.museum-description{font-size:14px;line-height:2;letter-spacing:0;color:var(--muted);max-width:34em;margin-top:17px}
.landscape-river{padding:38px 0 36px;border-top:1px solid var(--line);margin-top:0}
.landscape-river>.image-frame{width:100%;max-width:530px}
.landscape-river h3{font-size:30px;line-height:1.7;letter-spacing:.025em}
.landscape-river>div>p:not(.overline){font-size:14px;line-height:2;letter-spacing:0;color:var(--muted);margin-top:19px}
.landscape-river>div>p.scene-meta{font-size:13px;line-height:1.9;letter-spacing:.025em;color:var(--orange)}
.landscape-note{width:88%;max-width:1160px;margin:0 auto;padding:0 0 36px;text-align:left;font-size:11px;line-height:1.9;letter-spacing:0}
.landscape-note p+p{margin-top:5px}

/* The closing information has the same hierarchy as the main chapters. */
.visit{padding:66px 6%}
.visit .overline{font-size:10px;letter-spacing:.18em;margin-bottom:19px}
.visit h2{font-size:clamp(32px,3.3vw,43px);line-height:1.65;letter-spacing:.045em}
.visit>p:not(.overline){font-size:14px;line-height:2;letter-spacing:.015em;max-width:38em;margin:20px auto 0}
.visit>p.footnote{font-size:11px;line-height:1.9;letter-spacing:0;margin-top:12px}
.visit-status{display:block;max-width:100%;width:fit-content;font-size:13px;line-height:1.8;letter-spacing:.035em;margin:24px auto 0;padding:9px 20px}
.visit .text-link{font-size:12px;margin-top:24px}
footer{display:grid;grid-template-columns:1fr 1fr auto;gap:25px 35px;padding:32px 6%;align-items:center}
footer>p,footer>.footer-bottom{order:initial}
footer>p{font-size:12px;line-height:1.9;letter-spacing:.015em;max-width:32em;width:auto}
.footer-bottom{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;align-items:start;gap:20px 35px;font-size:11px;line-height:1.85}
.footer-bottom>p{max-width:65em;line-height:1.85;letter-spacing:0}

@media(max-width:900px){
 .chapter-heading{padding-top:58px;padding-bottom:30px}
 .city-overview h3{font-size:26px}
 .city-transit-grid h4,.city-gallery h4{font-size:21px}
 .architecture-intro .architecture-story h3,.art-story-copy h3,.landscape-text h3{font-size:28px}
 .museum-pair h3{font-size:24px}
 .landscape-river h3{font-size:26px}
 .art-story-copy .scene-meta,.landscape-text>p.scene-meta,.landscape-river>div>p.scene-meta{font-size:12px}
}
@media(max-width:760px){
 .chapter{width:86%}
 .chapter-heading{width:86%;padding:50px 0 28px}
 .chapter-heading h2{font-size:31px;line-height:1.65;letter-spacing:.035em}
 .chapter-heading>p:last-child{font-size:13px;line-height:1.9;margin-top:16px}
 .city-overview{grid-template-columns:1fr;padding-top:24px;margin-bottom:30px}
 .city-overview .copy-stack{margin-top:18px;max-width:40em}
 .architecture-intro,.art-story,.landscape-stage,.landscape-river{grid-template-columns:1fr;gap:26px;max-width:580px}
 .architecture-photo,.art-story-photo,.landscape-river>.image-frame{margin:0 auto;max-width:520px}
 .architecture-intro .architecture-story,.art-story-copy,.landscape-text{max-width:none;width:100%}
 .architecture-intro .architecture-story h3,.art-story-copy h3,.landscape-text h3{font-size:30px}
 .landscape-main,.landscape-text{grid-column:1;grid-row:auto}
 .landscape-text{padding:0;text-align:left}
 .art-story{padding-bottom:32px}
 .landscape-stage{padding:30px 0 32px}
 .landscape-river{padding:30px 0}
 .landscape-river h3{font-size:28px}
 .landscape-note{width:86%;font-size:10px;padding-bottom:30px}
 .architecture .stats{margin-top:30px}
 footer{grid-template-columns:1fr auto;padding:30px 7% 90px;gap:22px}
 footer>p{grid-column:1/-1;width:100%;max-width:none}
 .footer-bottom{grid-template-columns:1fr;gap:12px;font-size:10px}
}
@media(max-width:560px){
 .brand{font-size:17px;letter-spacing:.07em}
 .brand small{font-size:8px;letter-spacing:.16em}
 .header nav{font-size:14px}
 .chapter-heading h2{font-size:29px}
 .chapter-summary{gap:3px 18px}
 .city-transit-grid,.city-gallery,.landscape-pair{grid-template-columns:1fr;gap:30px}
 .city-card-copy{padding-top:18px}
 .city-transit-grid h4,.city-gallery h4{font-size:23px;min-height:0;line-height:1.55}
 .city-card-copy>p{margin-top:13px;font-size:14px}
 .city-shopping-heading{margin-top:30px;padding-top:24px}
 .city-shopping-heading h3{font-size:27px}
 .city-gallery{margin-top:25px}
 .architecture{padding-bottom:34px}
 .architecture-intro .architecture-story h3,.art-story-copy h3,.landscape-text h3{font-size:28px}
 .stats strong{font-size:43px}
 .stats span{font-size:11px;letter-spacing:.02em}
 .landscape-pair{padding:30px 0;gap:34px}
 .museum-pair h3{font-size:25px}
 .museum-pair .overline{font-size:9px;margin-top:19px}
 .landscape-pair.museum-pair article>.museum-description{margin-top:15px}
 .visit{padding:55px 7%}
 .visit h2{font-size:31px}
}

/* Confirmed viewing contact details. */
.visit-contact{display:grid;grid-template-columns:1fr 1.4fr;gap:32px;width:100%;max-width:900px;margin:32px auto 0;padding:27px 0 25px;border-block:1px solid var(--line);text-align:left}
.visit-contact>div{min-width:0}
.visit-contact dt{font-size:12px;line-height:1.8;letter-spacing:.08em;color:var(--muted);margin-bottom:10px}
.visit-contact dd{margin:0;font-family:var(--serif);font-size:20px;line-height:1.7;letter-spacing:.02em;text-wrap:pretty}
.visit-phone dd{font-family:Georgia,serif;font-size:31px;line-height:1.4;letter-spacing:.035em}
.visit-phone a{display:inline-block;color:var(--orange);text-decoration:none;white-space:nowrap;border-bottom:1px solid #b46c4650;padding-bottom:3px}
.visit-phone a:hover{border-bottom-color:var(--orange)}
@media(max-width:700px){.visit-contact{grid-template-columns:1fr;gap:25px;max-width:520px;margin-top:28px;padding:24px 0}.visit-contact dd{font-size:19px}.visit-phone dd{font-size:29px}.visit-contact dt{margin-bottom:8px}}
