/* Touch targets and small-screen layout corrections. */
@media(max-width:820px){
  section[id]{scroll-margin-top:90px}
  header.nav nav a{display:inline-flex;align-items:center;min-height:44px}
  #map .node{min-height:44px}
  #map .mcard{scroll-margin:100px 0 24px;padding-top:52px}
  #map .mx{width:44px;height:44px;top:5px;right:5px}
  #map .popup-motion{min-height:44px;padding:10px 0}
  .promise-footer button{width:44px;height:44px}
  .promise-footer nav{gap:5px}
  .promise-progress{display:none}
  .cj-side nav{gap:0 8px}
  .cj-side button{min-height:44px;min-width:32px}
  .work-index a{min-height:44px;align-items:center}
  .work-index{padding:4px 0}
  .product-evolution{gap:8px}
  .product-evolution>span{min-width:0;font-size:clamp(17px,5.5vw,23px);flex:1}
  .product-evolution i{font-size:24px;flex:none}
  .product-evolution small{max-width:100%;overflow-wrap:break-word}
}
@media(max-width:360px){
  header.nav nav{gap:9px}
  .promise-card h3{font-size:29px}
  .cj-intro h2{font-size:59px}
  .cj-chapters h3{font-size:25px}
}
/* Reading text must fit while pinned on a small phone. */
@media(max-width:360px),(max-height:740px){
  #about.lyrics{height:auto}
  .about-reading-stage{position:relative;top:auto;min-height:0;padding:70px 0}
  #about .lyric-text{background:none;color:#111;-webkit-text-fill-color:#111}
  #about .about-ink path{stroke-dashoffset:0}
}
@media(min-width:761px) and (max-height:740px){
  #map .mcard{position:fixed;left:50%;right:auto;top:90px;bottom:auto;transform:translateX(-50%);margin:0;max-height:calc(100dvh - 110px);overflow-y:auto;z-index:950}
  #map .mcard.on{transform:translateX(-50%)}
  #map .mx{width:44px;height:44px;top:5px;right:5px}
}
