/* Reading scale: the display headings retain their established proportions. */
:root{--reading:18px;--reading-small:15px;--reading-note:13.5px;--reading-ui:15px}
html:lang(en){--reading:22px;--reading-small:18px;--reading-note:16px;--reading-ui:18px}
html:root body main :is(.cover-deck,.section-lead,.split-heading>p,.place-story p:not(.place-kicker),.literary-story p:not(.eyebrow),.culture-notes p:not(.eyebrow),.location-panel-intro>p:last-child,.local-note>p:not(.place-kicker),.design-manifesto>p:last-child,.design-detail>div>p:last-child,.architecture-aside>p,.editorial-intro p:not(.eyebrow),.room-story>p:not(.eyebrow):not(.room-size),.plan-details,.university-story>p:not(.eyebrow),.contact-intro>p:not(.fine-print),.thanks-page>p:not(.eyebrow)){font-size:var(--reading);line-height:2.05;letter-spacing:.025em}
html:lang(en):root body main :is(.cover-deck,.section-lead,.split-heading>p,.place-story p:not(.place-kicker),.literary-story p:not(.eyebrow),.culture-notes p:not(.eyebrow),.location-panel-intro>p:last-child,.local-note>p:not(.place-kicker),.design-manifesto>p:last-child,.design-detail>div>p:last-child,.architecture-aside>p,.editorial-intro p:not(.eyebrow),.room-story>p:not(.eyebrow):not(.room-size),.plan-details,.university-story>p:not(.eyebrow),.contact-intro>p:not(.fine-print),.thanks-page>p:not(.eyebrow)){line-height:1.75;letter-spacing:.005em}
html:root body main :is(.fine-print,.field-note,.university-footnote,.map-attribution){font-size:var(--reading-note);line-height:1.9;letter-spacing:.01em}
html:root body main :is(.daily-address,.daily-description p,.hours,.journey-route,.campaign p,.conditions p,.highlight-note){font-size:var(--reading-small);line-height:1.95}
html:root body main :is(.line-link,.daily-links a,.daily-controls button,.map-toolbar label,.map-toolbar select,.plan-info dt,.station-line,.route-legend>span,.form-field>label,.consent-check,.conditions summary){font-size:var(--reading-ui);line-height:1.75}
html:root body main :is(.outline>div,.rent-table th){font-size:var(--reading-small);line-height:1.9}
html:root body main .outline dd small{font-size:var(--reading-note);line-height:1.9}
html:root body main :is(figcaption,.room-tabs small,.plan-select small,.photography-line,.diagram-toolbar,.photo-credits,.form-status){font-size:var(--reading-note);line-height:1.8}
html:root body main :is(.radius-index a,.form-steps li,.privacy-consent){font-size:var(--reading-ui)}
html:root body .footer-property>p,html:root body .company-role,html:root body .company-name,html:root body .footer-links,html:root body .credits p,html:root body .brand-colophon>p{font-size:var(--reading-note);line-height:1.85}
html:root body .footer-index small{font-size:var(--reading-note)}
html:root body .header .desktop-nav small,html:root body .header .language button{font-size:13px}
html:root body .quick-nav a{font-size:var(--reading-ui)}
html:root body main .copy-phrase{display:inline-block;max-width:100%;white-space:normal;word-break:normal;line-break:strict;vertical-align:top}
html:root body main .radius-index b{font-family:var(--cjk);font-size:17px;min-width:22px}
html:root body main .radius-map .pin-number{font-family:var(--cjk);font-size:17px}
html:root body main .life-map .pin-number,html:root body main .daily-number{font-family:var(--latin);font-size:20px}
/* Original plan pixels remain intact; white paper blends into the page. */
html:root body main .plan-figure{background:transparent;display:grid;place-items:center;min-width:0}
html:root body main .plan-figure img{mix-blend-mode:multiply;object-position:center}
#image-dialog{position:fixed;inset:0;margin:auto}
#image-dialog>img{margin-inline:auto;object-position:center}
#image-dialog.plan-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(760px,94vw);height:min(1000px,94dvh);max-height:94dvh;align-items:stretch;padding:22px;background:var(--paper)}
#image-dialog.plan-dialog>img{height:100%;width:100%;max-height:100%;max-width:100%;min-height:0;object-fit:contain;object-position:center;mix-blend-mode:multiply}
#image-dialog.plan-dialog .dialog-bottom p{text-align:center;flex:1}
body[data-page=equipment] .chapter-image img{object-position:50% 53%}
@media(max-width:900px){:root{--reading:17px;--reading-small:15px}html:lang(en){--reading:21px;--reading-small:18px}}
@media(max-width:680px){
 :root{--reading:16.5px;--reading-small:14.5px;--reading-note:12.5px;--reading-ui:14.5px}
 html:lang(en){--reading:20px;--reading-small:17px;--reading-note:15px;--reading-ui:17px}
 html:root body .header .language button{font-size:12.5px}
 html:root body main .outline>div{grid-template-columns:minmax(80px,.7fr) minmax(0,2fr);gap:18px}
 html:root body main .plan-figure{padding:18px 0}
 #image-dialog.plan-dialog[open]{height:94dvh;padding:14px;max-width:94vw}
 html:root body main .radius-index b{font-size:17px}
}

/* Supporting labels and controls share the same reading scale. */
html:root body main .home-chapter div>p:last-child{font-size:var(--reading);line-height:1.95}
html:root body main :is(.equipment-item,.map-address,.highlight-label,.station-time,.source-inline,.campus-details summary,.university-distance p,.university-distance small,.university-links a,.journey-card>a,.route-sources,.offer-grid small,.offer-grid p span,.room-arrows button,.room-arrows>span,.contact-direct p,.contact-direct a){font-size:var(--reading-small);line-height:1.75}
html:root body main :is(.solid-button,.outline-button,.required,.optional){font-size:var(--reading-ui)}
html:root body main :is(.form-field input,.form-field select,.form-field textarea,#review-details>div){font-size:max(16px,var(--reading-ui));line-height:1.75}
html:root body .credits summary{font-size:var(--reading-note)}
html:root body .dialog-bottom p{font-size:var(--reading-note);line-height:1.8}
html:root body .dialog-bottom button{font-size:var(--reading-ui)}

html:root body .header .language button[lang^=en]{font-size:18px}
@media(max-width:680px){html:root body .header .language button[lang^=en]{font-size:17px}}

/* Number the four themes; distinguish the content heading from the page title. */
.location-tab-number{font-family:var(--latin);font-size:.85em;letter-spacing:.08em;margin-right:.65em;color:var(--muted);white-space:nowrap}
html:root body[data-page=outline] #outline .eyebrow{font-size:clamp(32px,3.4vw,44px);line-height:1.12;letter-spacing:.065em;margin-bottom:22px}
html:root body main .copy-keep{display:inline;white-space:nowrap;word-break:keep-all;overflow-wrap:normal}
html:lang(en):root body main .radius-index b,html:lang(en):root body main .radius-map .pin-number{font-family:'Map Roman',var(--latin);font-size:17px}

/* Architecture photographs establish an even visual rhythm across the cultural chapters. */
html:root body main .academic-note{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(30px,4.5vw,64px);align-items:start;padding-top:46px;margin-top:64px}
html:root body main .academic-note .university-image{width:100%;float:none;margin:0;min-width:0;align-self:start}
html:root body main .academic-note .university-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
html:root body main .academic-note .university-image>span{font-size:var(--reading-note);letter-spacing:.12em;line-height:1.8;margin-top:12px}
html:root body main .academic-note .university-story{min-width:0}
html:root body main #outline .eyebrow>span{display:block}
html:root body .konyo-logo{background:#000;border-color:#000}
@media(max-width:800px){html:root body main .academic-note{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:44px;padding-top:34px}html:root body main .academic-note .university-image{width:100%;float:none;margin:0}}

html:root body main .arts-features{display:grid;gap:72px;margin:48px 0 60px}
html:root body main .arts-feature{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(30px,4.5vw,64px);align-items:center}
html:root body main .arts-feature:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
html:root body main .arts-feature:nth-child(even)>figure{order:2}
html:root body main .arts-feature>figure{margin:0;min-width:0}
html:root body main .arts-feature>figure img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}
html:root body main .arts-feature figcaption{font-family:var(--latin);letter-spacing:.1em;margin-top:12px}
html:root body main .arts-feature .local-note{border:0;padding:0;min-width:0}
html:root body main .arts-notes{border-top:1px solid var(--line);padding-top:34px;gap:48px}
html:root body main .arts-notes .local-note{border:0;padding:0;min-width:0}
html:root body main .art-photo-credits{margin-top:8px}
@media(max-width:800px){html:root body main .arts-features{gap:44px;margin:34px 0 44px}html:root body main .arts-feature,html:root body main .arts-feature:nth-child(even){grid-template-columns:minmax(0,1fr);gap:24px}html:root body main .arts-feature:nth-child(even)>figure{order:0}html:root body main .arts-notes{gap:30px}}

html:root body .konyo-logo:hover{background:#000;border-color:#000;opacity:1}

/* A consistent photographic sequence through the four garden destinations. */
html:root body main .garden-features{display:grid;gap:clamp(48px,6vw,84px);margin:48px 0 64px}
html:root body main .garden-features>.garden-feature{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(30px,4.5vw,64px);align-items:center;margin:0}
html:root body main .garden-features>.garden-feature:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
html:root body main .garden-features>.garden-feature>figure{order:0;min-width:0;margin:0}
html:root body main .garden-features>.garden-feature:nth-child(even)>figure{order:2}
html:root body main .garden-features>.garden-feature>figure img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
html:root body main .garden-features>.garden-shrine>figure img{object-position:50% 61%}
html:root body main .garden-features .local-note{min-width:0;border:0;padding:0}
html:root body main .garden-features .local-note h3{margin-top:0;font-size:clamp(23px,2.15vw,28px);line-height:1.75}
html:root body main .garden-features .local-note p+p{margin-top:20px}
html:root body main .garden-features figcaption{font-family:var(--latin);letter-spacing:.1em;margin-top:12px}
html:lang(en):root body main .garden-features .local-note h3{font-size:clamp(28px,2.65vw,36px);line-height:1.3}
@media(max-width:800px){
 html:root body main .garden-features{gap:48px;margin:34px 0 44px}
 html:root body main .garden-features>.garden-feature,html:root body main .garden-features>.garden-feature:nth-child(even){grid-template-columns:minmax(0,1fr);gap:24px}
 html:root body main .garden-features>.garden-feature:nth-child(even)>figure{order:0}
}
