/* Content safeguards only. Desktop composition, typography and spacing come from styles.css. */
main :where(article,figure,li,div), footer :where(article,div) { min-width: 0; }
main :where(h3,h4,p,dd), footer :where(h3,p) { overflow-wrap: break-word; }
:where(.label,.royal-column-title) { max-width: 100%; white-space: normal; }
/* Keep stage badges out of the description column. */
.royal-path li > span { grid-column: 1; grid-row: 1 / span 2; align-self: start; }
.royal-path li > strong,.royal-path li > p { grid-column: 2; }
.royal-path li::before { display: none; }
.royal-transfer-list strong { white-space: normal; }
/* Long bilingual content wraps without changing the reference card scale. */
.skill-title h3 { min-width: 0; overflow-wrap: break-word; }
.skill-level { overflow-wrap: break-word; }
.skill-card .note { line-height: 1.55; }
/* The new section shell follows the reference, with only a rail-overlap correction. */

@media (min-width:1101px) and (max-width:1450px) {
 .royal-analysis-board { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .royal-transfer-panel { grid-column: 1 / -1; }
 .royal-transfer-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .aheadform-head,.xiye-head { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .aheadform-showcase { grid-template-columns: minmax(0,.55fr) minmax(0,.72fr); }
 .aheadform-shot-board { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .xiye-motion-desk { grid-template-columns: minmax(180px,.45fr) minmax(0,1fr); }
 .skill-card { padding: 24px; }
 .skill-title { flex-wrap: wrap; }
 .get-layout,.faq-layout { gap: 32px; grid-template-columns: minmax(200px,.55fr) minmax(0,1fr); }
}
@media(max-width:1100px) {
 .aheadform-shell,.xiye-shell { margin-left: 0; }
 .restored-story .timeline-stage { min-height: 0; }
 .restored-story .timeline-card { width: 100%; }
 .royal-path li > p { grid-column: 2; }
 .skill-card { min-height: 0; }
}
@media(max-width:600px) {
 .royal-path li { grid-template-columns: 66px minmax(0,1fr); gap: 8px 12px; }
 .royal-path li > strong { font-size: 19px; line-height: 1.3; }
 .royal-path li > p { line-height: 1.6; }
 .royal-path::before { left: 33px; }
 .royal-transfer-list li { grid-template-columns: 1fr; gap: 8px; }
 .xiye-video-grid { grid-template-columns: 1fr; }
 .xiye-video-tile { max-height: 520px; }
}
/* Recovered account evidence needs usable text columns at laptop widths. */
@media(max-width:1450px) {
 .account-network-map { grid-template-columns: minmax(0,1fr); }
 .platform-branches { grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); }
 .account-hub h4,.account-hub p { max-width: none; }
}
.account-node > div { min-width: 0; }
.account-node h5,.account-node-link { overflow-wrap: anywhere; }
/* Each previously exclusive track now owns its sticky containing block. */
main .project-group { position: relative; display: flow-root; min-height: 135svh; padding-bottom: 56px; }
main .project-group > .project-strip { margin-top: 32px; }
main .project-group > .evidence-subheading { margin-top: 48px; }
@media(max-width:1100px) {
 main .project-group { min-height: 0; padding-bottom: 32px; }
 main .project-group > .project-strip { position: relative; top: auto; }
}
