/* Baihuiyuan: consistent editorial hierarchy and restrained card details. */
body.single-page{--detail-ink:#293338;--detail-body:#4b565c;--detail-muted:#78848a;--detail-line:#dde4e2;--detail-gold:#b9a575;--detail-card:#fffefa}
body.single-page .content-width{width:calc(100% - 48px);max-width:1200px;margin-inline:auto}
body.single-page .page-section{padding-top:28px;padding-bottom:28px}
body.single-page .page-section>.page-intro{margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid var(--detail-line);gap:16px;align-items:center}
body.single-page .page-intro .page-title{font-size:22px!important;font-weight:600!important;line-height:1.5;color:var(--detail-ink)!important;letter-spacing:.02em;margin:0}
body.single-page .page-intro .section-english{font-size:10px!important;font-weight:400!important;color:#829097!important;letter-spacing:.12em;line-height:1.6}
body.single-page p,body.single-page dd,body.single-page label{color:var(--detail-body)}
body.single-page #params .fact-grid,body.single-page .info-table-wrap,body.single-page .calculator,body.single-page .encyclopedia-row,body.single-page #amenities .amenity-tile,body.single-page #contact .contact-details>article{border-color:var(--detail-line)!important;border-radius:7px;box-shadow:none}
body.single-page #params .fact-grid,body.single-page .calculator,body.single-page .encyclopedia-row,body.single-page #amenities .amenity-tile,body.single-page #contact .contact-details>article{border-top:2px solid var(--detail-gold)!important;background:var(--detail-card)!important}
body.single-page #params .fact-grid>div{padding:17px 20px;border-color:var(--detail-line)}
body.single-page #params .fact-grid dt{font-size:11px;font-weight:400;color:var(--detail-muted);line-height:1.6;margin-bottom:7px}
body.single-page #params .fact-grid dd{font-size:14px;font-weight:400;line-height:1.8;color:var(--detail-body)}
body.single-page #params .building-profile{padding:20px 22px;border-color:var(--detail-line);border-top-color:var(--detail-gold);background:var(--detail-card)}
body.single-page .building-profile h3,body.single-page .info-heading h2{font-size:17px;font-weight:500;color:var(--detail-ink);line-height:1.6}
body.single-page .building-profile p{font-size:13px;line-height:1.95}
body.single-page .info-table{font-size:13px;font-variant-numeric:tabular-nums}
body.single-page .info-table th{background:#f3f5f2!important;color:#68777c!important;font-size:11px;font-weight:500;padding:15px 18px;line-height:1.6;border-color:var(--detail-line)}
body.single-page .info-table td{padding:17px 18px;font-size:13px;line-height:1.7;color:#445159;border-color:#e5eae7}
body.single-page .info-table tbody tr:nth-child(even){background:#fbfcfa}
body.single-page .info-table tbody tr:hover{background:#f7f5ef}
body.single-page .area-filters{gap:10px;margin-bottom:16px}
body.single-page .area-filters button{padding:9px 15px;border:1px solid #dce3df;border-radius:5px;background:#fffefa;font-size:12px;color:#4d5a60;box-shadow:none}
body.single-page .area-filters button.selected{background:#f4efe3;border-color:#b9a575;color:#78643b!important}
body.single-page #calculator{padding:22px;margin-top:24px}
body.single-page #calculator label{font-size:13px;line-height:1.7}
body.single-page #calculator input{font-size:14px;color:#3f4a50;border:1px solid #ccd6d1;border-radius:5px;background:#fff;min-height:44px;padding:10px 12px}
body.single-page #calculator .calculation-output{background:var(--detail-card)!important;border-color:var(--detail-line);border-top:2px solid var(--detail-gold);padding:22px}
body.single-page #calculator .calculation-output>p{font-size:12px;color:#768087}
body.single-page #calculator output{font-size:30px;font-weight:500;line-height:1.5;color:#374851}
body.single-page .info-small{font-size:11px;line-height:1.8;color:#829087}
body.single-page .amenity-tiles{gap:18px}
body.single-page #amenities .amenity-tile{padding:19px 20px}
body.single-page #amenities .amenity-tile h3{font-size:16px;font-weight:500;color:#2d3d45}
body.single-page #amenities .amenity-symbol{color:#b3a17b}
body.single-page #amenities .amenity-tile li{border-color:#e2e7e3;padding-block:12px}
body.single-page #amenities .venue-name{font-size:12px;color:#4d5c63}
body.single-page #amenities .amenity-map-label{font-size:11px;font-style:normal;color:#88918d}
body.single-page .encyclopedia-intro{font-size:12px;color:#7c898d;line-height:1.8}
body.single-page .encyclopedia-row{padding:18px;gap:22px;align-items:center}
body.single-page .encyclopedia-row h3,body.single-page .encyclopedia-row h3 a{font-size:16px;font-weight:500;color:#33464f;line-height:1.75;text-decoration:none}
body.single-page .encyclopedia-row time{font-size:11px;color:#879397}
body.single-page .encyclopedia-row p{font-size:12px;line-height:1.8;color:#708087}
body.single-page .text-link{font-size:12px;color:#4c6571;border-color:#c2ad7d;transition:color .18s ease,border-color .18s ease}
body.single-page .text-link:hover{color:#8e7547;border-color:#9f8656}
body.single-page a:focus-visible,body.single-page button:focus-visible{outline:2px solid #b9a575;outline-offset:3px}
body.single-page input:focus-visible{outline:2px solid #b9a575;outline-offset:2px}
body.single-page #site-header{border-bottom:1px solid #e1e6e3;box-shadow:0 2px 12px #34483d04}
body.single-page .page-footer{border-top:1px solid #dce3de}
@media(max-width:760px){body.single-page .content-width{width:calc(100% - 32px)}body.single-page .page-section{padding-block:23px}body.single-page .page-intro .page-title{font-size:20px!important}body.single-page .page-intro .section-english{font-size:9px!important;letter-spacing:.08em}body.single-page #calculator{padding:18px}body.single-page .encyclopedia-row{gap:15px;padding:15px}body.single-page .info-table td,body.single-page .info-table th{padding:13px 14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Compact photo caption bar */
html body.single-page .album-caption{padding:9px 12px!important;min-height:0!important;gap:12px;border-radius:4px;line-height:1.6}html body.single-page .album-caption,html body.single-page .album-caption :is(p,span,a,strong){font-size:12px!important;line-height:1.6!important}html body.single-page .album-caption p{margin:0!important}html body.single-page .album-caption strong{font-weight:500!important}@media(max-width:600px){html body.single-page .album-caption{padding:8px 10px!important;gap:8px}html body.single-page .album-caption,html body.single-page .album-caption :is(p,span,a,strong){font-size:11px!important}}

/* Tighter section rhythm */
html body.single-page .page-section{padding-top:20px!important;padding-bottom:20px!important;margin-top:0;margin-bottom:0}html body.single-page .page-section>.page-intro{margin-bottom:14px!important;padding-bottom:11px!important}html body.single-page .info-section{margin-top:18px;margin-bottom:0}html body.single-page #calculator{margin-top:20px!important;padding:20px!important}html body.single-page #params .building-profile{margin-top:16px!important;padding:18px 20px}html body.single-page #contact{padding-top:20px!important;padding-bottom:20px!important}html body.single-page .encyclopedia-intro{margin-top:0;margin-bottom:14px}html body.single-page #location.location-refined .page-intro{margin-bottom:17px!important;padding-bottom:12px!important}html body.single-page #location.location-refined .location-transit{margin-top:15px}html body.single-page .amenity-tiles{gap:16px}@media(max-width:760px){html body.single-page .page-section{padding-top:17px!important;padding-bottom:17px!important}html body.single-page .page-section>.page-intro{margin-bottom:12px!important}html body.single-page #calculator{padding:16px!important;margin-top:16px!important}}

html body.single-page .page-footer .page-updated time {
  color: inherit !important;
}

@media (max-width: 900px) {
  body.single-page .project-overview > .page-updated {
    display: none;
  }
}

@media (width > 900px) {
  body.single-page .page-footer > .page-updated {
    display: none;
  }

  body.single-page .project-overview > .page-updated {
    order: -2;
    justify-self: end;
    color: #707070;
    font-size: 12px;
    line-height: 1.5;
    text-align: end;
    white-space: nowrap;
  }
}

@media (900px < width < 1100px) {
  body.single-page .project-overview {
    row-gap: 12px;
  }

  body.single-page .project-overview > .page-updated {
    grid-column: 1 / -1;
  }
}

@media (min-width: 1100px) {
  body.single-page .project-overview {
    position: relative;
  }

  body.single-page .project-overview > .page-updated {
    position: absolute;
    inset-block-start: 22px;
    inset-inline-end: 22px;
  }
}
