/* Language-safe layout. Keep card slots stable; allow full articles and forms to reflow. */
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
:where(main,dialog,footer,.site-header,.review-bar) :where(div,section,article,aside,nav,form,header,label) { min-inline-size:0; }
:where(h1,h2,h3,h4,p,label,small,figcaption,.km-credit,.km-notice,.summary-row) { overflow-wrap:anywhere; }
:where(input,select,textarea) { min-inline-size:0; max-inline-size:100%; }
:where(button,a) > svg { flex:0 0 auto; }
:where(.button,.chip,.text-button,.arrow-link,.nx-download) { max-inline-size:100%; }
:where(.button,.chip,.nx-download) { white-space:nowrap; }
:where(.button,.chip,.nx-download) > span:not(.sr-only) { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
:where(.km-actions,.km-article-actions,.form-actions,.nx-release-actions) { gap:8px; }
:where(.km-actions,.km-article-actions,.form-actions,.nx-release-actions) > :where(a,button,label) { flex-shrink:1; min-width:0; }

/* Navigation labels occupy one line, while icon and close-button sizes stay fixed. */
.navigation { gap:clamp(14px,2.1vw,30px); overflow-x:auto; scrollbar-width:thin; }
.navigation > a { flex:none; white-space:nowrap; }
.nav-signature { white-space:nowrap; }
.head-actions { flex:none; }
.head-actions .boost-button { white-space:nowrap; }
.site-menu .menu-links a { display:grid; grid-template-columns:auto minmax(0,1fr) auto; height:64px; }
.site-menu .menu-links strong,.site-menu .menu-links small { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
.site-menu .menu-links strong { font-size:clamp(11px,1.1vw,13px); }
.site-menu .menu-links a>span:nth-child(2) { overflow-wrap:normal; }
.menu-chevron,.nx-nav-icon,.menu-top-close { flex-shrink:0; }
.nx-menu-account>span { min-width:0; }
.nx-menu-account :is(strong,small),.nx-menu-footer>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nx-menu-footer .menu-close-row { flex:none; }
#nx-menu-results strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nx-menu-command input { text-overflow:ellipsis; }
.bottom-nav { grid-template-columns:repeat(5,minmax(0,1fr)); }
.bottom-nav>a { min-width:0; }
.bottom-nav .bottom-label { max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:clamp(9px,2.5vw,11px); line-height:1.5; }
.review-inner,.review-tools { min-width:0; }
.review-tools { flex:none; }
.review-inner>span { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.review-bar button { white-space:nowrap; }
.edition>span:last-child { min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.edition>strong { flex:none; }

/* A section heading has two fixed tracks instead of wrapping when translated. */
.section-head { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; }
.section-head>div:first-child { overflow:hidden; }
.section-head .eyebrow { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; letter-spacing:clamp(.5px,.12vw,1.7px); }
.section-head h2 { font-size:clamp(22px,2.6vw,28px); overflow-wrap:normal; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.section-head .arrow-link { white-space:nowrap; max-width:none; }
.nx-section-tools { min-width:0; gap:6px; }
.nx-section-tools .arrow-link { max-width:none; margin-right:3px; }
.nx-section-tools button { flex:none; }

/* Genuine line clamps and reserved text slots: translations never push the controls down. */
.km-hero-copy h1,.km-hero-copy p,.km-latest-copy h3,.km-latest-copy p,
.km-card:not(.nx-music-card) .km-card-copy>h3,.km-card:not(.nx-music-card) .km-card-copy>p,
.nx-event-copy h3,.nx-book-copy h3,.kp-card h2,.kp-card-body>p {
  display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere;
}
.km-hero-copy h1 { -webkit-line-clamp:3; line-clamp:3; }
.km-hero-copy p { -webkit-line-clamp:3; line-clamp:3; }
.km-hero-bottom { gap:12px; }
.km-hero-bottom>.button { flex:none; }
.km-hero-bottom>span { min-width:0; }
.km-hero-bottom>span>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.km-latest-copy { container-type:inline-size; }
.km-latest-copy h3 { font-size:clamp(15px,8.5cqi,18px); line-height:1.3; -webkit-line-clamp:2; line-clamp:2; height:2.6em; margin:6px 0 7px; }
.km-latest-copy p { -webkit-line-clamp:2; line-clamp:2; height:3.3em; }
.km-latest-copy .category { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:clamp(9px,4.5cqi,11px); letter-spacing:.35px; }
.km-interview-guest { text-transform:none!important; letter-spacing:.2px!important; }
.km-article-label { margin-bottom:12px; }
.km-article-label .km-interview-guest { font-size:13px; }
.km-slider-latest .km-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3px 8px; font-size:10px; }
.km-slider-latest .km-meta>span:first-child { grid-column:1/-1; width:100%; }
.km-slider-latest .km-meta :is(button,span) { min-width:0; }
.km-slider-latest .km-meta>span:not(:first-child),.km-slider-latest .km-meta>button { flex-wrap:nowrap; gap:4px; }
.km-slider-latest .km-meta :is(button,span)>span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.km-slider-latest .km-meta button { min-height:36px; }
.km-meta>span,.km-meta button { white-space:nowrap; min-width:0; }
.km-meta time { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.km-card:not(.nx-music-card) .km-card-copy>h3 { line-height:1.3; -webkit-line-clamp:2; line-clamp:2; height:2.6em; }
.km-card:not(.nx-music-card) .km-card-copy>p { -webkit-line-clamp:3; line-clamp:3; height:5.1em; }
.km-card-top { flex-wrap:nowrap; height:24px; }
.km-card-top .eyebrow { min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.km-card-top .km-sponsored { flex:none; }
.km-card .km-credit { flex-wrap:nowrap; white-space:nowrap; }
.km-card .km-credit>span:last-child { overflow:hidden; text-overflow:ellipsis; }
.km-card:not(.nx-music-card) .km-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; }
.km-card:not(.nx-music-card) .km-meta>span:first-child { grid-column:1/-1; }
.km-card:not(.nx-music-card) .km-meta :is(button,span)>span { overflow:hidden; text-overflow:ellipsis; }

/* Events, books and music retain the same compact rows in all four languages. */
.nx-event-copy,.nx-book-copy,.nx-music-card .km-card-copy { container-type:inline-size; }
.nx-event-copy h3 { -webkit-line-clamp:2; line-clamp:2; height:2.56em; min-height:0; }
.nx-book-copy h3 { -webkit-line-clamp:2; line-clamp:2; height:2.5em; }
.nx-book-copy>p { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nx-card-eyebrow { flex-wrap:nowrap; height:18px; white-space:nowrap; }
.nx-card-eyebrow>span { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.nx-event-copy>time { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nx-event-bottom { display:grid; grid-template-columns:minmax(0,1fr) auto; min-height:35px; gap:5px; }
.nx-event-bottom b { font-size:clamp(10px,7cqi,12px); overflow:hidden; text-overflow:ellipsis; }
.nx-event-bottom .text-button { font-size:10px; gap:4px; }
.nx-social { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(5px,3cqi,13px); }
.nx-social>button,.nx-social>span { min-width:0; white-space:nowrap; }
.nx-social b { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.nx-card-tools { min-width:0; }
.nx-download { font-size:clamp(10px,7cqi,12px); white-space:nowrap; gap:5px; }
.nx-book-copy .nx-download { min-width:0; flex:1; }
.nx-card-tools>.nx-icon { flex:none; }
.nx-music-card .nx-card-tools { display:flex; flex-wrap:nowrap; gap:4px; }
.nx-music-card .nx-card-tools>.nx-download { flex:1; min-width:0; font-size:10px; }
.nx-track-row strong,.nx-track-row small { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nx-track-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; }
.nx-track-heading .chip { max-width:none; white-space:nowrap; }
.nx-release-copy h1 { overflow-wrap:anywhere; }
.nx-release-footer>div { min-width:0; }

/* Dashboard, editor, checkout and settings: use shrinkable columns and stable action grids. */
.nx-dashboard .km-dash-nav a { white-space:nowrap; }
.nx-dashboard .km-dash-nav a>span { overflow:hidden; text-overflow:ellipsis; }
.nx-dashboard .km-dash-nav a>small { flex:none; }
.nx-dashboard .km-publish-options a { height:54px; }
.km-publish-options a>span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nx-dash-stats>div>span { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; line-height:1.5; height:3em; overflow:hidden; }
.nx-content-row .nx-row-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:230px; max-width:100%; }
.nx-row-actions .chip { justify-content:center; white-space:nowrap; min-width:0; font-size:10px; }
.nx-content-info>div:first-child { white-space:nowrap; }
.nx-row-type { overflow:hidden; text-overflow:ellipsis; }
.nx-manage-tools select { min-width:0; }
.km-editor-form .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.km-editor-toolbar { gap:5px; }
.km-editor-toolbar :is(button,select) { max-width:100%; white-space:nowrap; }
.km-payment-methods { grid-template-columns:repeat(3,minmax(0,1fr)); }
.km-payment-methods label { min-width:0; white-space:nowrap; font-size:11px; }
.km-payment-methods input { flex:none; }
.summary-row,.summary-total { gap:12px; }
.summary-row>span,.summary-total>span { min-width:0; }
.summary-row>strong,.summary-total>strong { flex:none; white-space:nowrap; }
.km-entry-log p { gap:10px; }
.km-order-row>div { min-width:0; }
.language-choice { min-width:0; }
.language-choice>span:not(.language-code):not(.language-check) { min-width:0; }
.language-check,.language-code { flex:none; }
.nx-theme-options button { min-width:0; }
.nx-theme-options button>span { line-height:1.5; min-height:3em; }
.kp-card h2 { -webkit-line-clamp:2; line-clamp:2; height:2.5em; }
.kp-card-body>p { -webkit-line-clamp:4; line-clamp:4; height:7.4em; }
.kp-strip-heading>div:first-child { min-width:0; }
.kp-strip-heading :is(h2,.eyebrow) { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.kp-strip-heading>div:last-child { flex:none; }
.kp-strip-heading .text-button { white-space:nowrap; }
.preview-dialog[open] { display:flex; flex-direction:column; }
.preview-toolbar,.preview-help { flex:none; }
.preview-stage { flex:1; min-height:0; height:auto; }

@container (max-width:160px) {
  .nx-music-card .nx-card-tools { display:grid; grid-template-columns:1fr 1fr; gap:5px; }
  .nx-music-card .nx-card-tools>.nx-download { grid-column:1/-1; order:2; width:100%; min-height:34px; }
  .nx-music-card .nx-card-tools>.nx-icon { width:100%; min-width:0; height:30px; background:var(--surface-soft); }
}

@media (min-width:801px) and (max-width:1050px) {
  .km-home-top { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); }
  .nx-content-row { grid-template-columns:50px minmax(0,1fr); }
  .nx-content-row .nx-row-actions { grid-column:2; width:100%; max-width:none; }
}
@media (max-width:800px) {
  /* 16px controls prevent focus zoom without disabling browser zoom. */
  :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),
  .nx-edit-track input,.km-editor-toolbar select { font-size:16px!important; }
  .review-inner { display:grid; grid-template-columns:minmax(0,1fr); gap:0; padding-block:4px; }
  .review-inner>span { font-size:10px; line-height:18px; }
  .review-tools { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
  .review-tools:has(#km-preview-role) { grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr) auto; }
  .review-tools .language-picker select { width:100%; max-width:125px; min-height:36px; }
  .review-tools #km-preview-role { width:100%; max-width:110px; min-height:36px; }
  .review-tools #preview-open { font-size:11px; }
  .review-tools .language-picker { min-width:0; }
  .km-catalog-tools { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .km-catalog-tools label:first-child { grid-column:1/-1; min-width:0; }
  .km-catalog-tools select { width:100%; }
  .km-catalog-tools>.button { grid-column:1/-1; }
  .km-byline { flex-wrap:wrap; }
  .km-byline>div { min-width:0; flex:1; }
  .km-byline .km-readtime { white-space:nowrap; }
  .km-order-row { flex-wrap:wrap; gap:12px; }
  .km-order-row>.button { width:100%; }
  .footer-content .text-button { font-size:12px; }
}
@media (max-width:560px) {
  .button { font-size:clamp(11px,3.2vw,13px); padding-inline:12px; gap:7px; }
  .site-menu .menu-links a { height:54px; padding:8px; gap:6px; }
  .site-menu .menu-links strong { font-size:11px; }
  .site-menu .menu-links .nx-nav-icon { width:24px; }
  .site-menu .nx-menu-account small { max-width:160px; }
  .section-head { gap:8px; }
  .section-head h2 { font-size:23px; }
  .section-head .arrow-link { font-size:10px; }
  .nx-section-tools { display:grid; grid-template-columns:1fr 30px 30px; gap:4px; }
  .nx-section-tools .arrow-link { font-size:9px; text-align:right; }
  .section-head:has(.nx-section-tools) { grid-template-columns:minmax(0,1fr) auto; }
  .km-latest-copy h3 { font-size:clamp(15px,8cqi,18px); }
  .km-slider-latest .km-slide>a { grid-template-columns:76px minmax(0,1fr); gap:12px; }
  .km-slider-latest .km-visual { width:76px; }
  .km-slider-latest .km-meta { gap:3px 6px; font-size:9px; }
  .nx-book-card { grid-template-columns:72px minmax(0,1fr); gap:14px; padding:16px; }
  .nx-music-card .nx-card-tools { display:grid; grid-template-columns:1fr 1fr; gap:5px; }
  .nx-music-card .nx-card-tools>.nx-download { grid-column:1/-1; order:2; width:100%; }
  .nx-music-card .nx-card-tools>.nx-icon { width:100%; height:30px; background:var(--surface-soft); }
  .nx-book-copy .nx-download { font-size:10px; }
  .nx-book-copy .nx-social { gap:12px; }
  .km-live-strip { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:22px 18px; }
  .km-live-strip p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; line-clamp:3; height:4.8em; overflow:hidden; }
  .nx-release-copy>h1 { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; line-clamp:3; max-height:3.51em; font-size:clamp(21px,6vw,24px); }
  .nx-track-heading .chip { font-size:10px; padding:7px; gap:4px; }
  .nx-track-heading h2 { font-size:19px; }
  .nx-track-heading .eyebrow { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .nx-dashboard-top { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
  .nx-dashboard-top>.button { justify-self:start; }
  .nx-content-row .nx-row-actions { grid-column:1/-1; width:100%; }
  .nx-row-actions .chip { min-height:36px; }
  .km-editor-form .form-grid { grid-template-columns:minmax(0,1fr); }
  .km-payment-methods { grid-template-columns:minmax(0,1fr); }
  .km-payment-methods label { min-height:44px; padding:10px 14px; font-size:14px; }
  .km-management .km-actions { display:grid; grid-template-columns:minmax(0,1fr); }
  .km-management .km-actions>.button { width:100%; }
  .km-article-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .km-article-actions>.text-button { grid-column:1/-1; }
  .language-options { gap:8px; }
  .language-choice { padding:10px; gap:6px; font-size:11px; }
  .kp-strip-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
  .kp-strip-heading h2 { font-size:22px; }
  .kp-strip-heading .text-button { font-size:10px; }
  .kp-strip-heading>div:last-child { gap:6px; }
  .device-buttons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .device-buttons button { white-space:nowrap; font-size:11px; min-height:36px; }
  .preview-toolbar>div:first-child { min-width:0; }
  .preview-toolbar strong { overflow-wrap:anywhere; }
  .preview-stage { flex:1; min-height:0; height:auto; }
}
@media (max-width:359px) {
  .section-head .arrow-link { font-size:9px; }
  .nx-section-tools { grid-template-columns:30px 30px; }
  .nx-section-tools .arrow-link { grid-column:1/-1; margin:0; }
  .km-news-rail { padding:14px; }
  .km-slider-latest .km-slide>a { grid-template-columns:64px minmax(0,1fr); gap:10px; }
  .km-slider-latest .km-visual { width:64px; }
  .nx-book-card { grid-template-columns:60px minmax(0,1fr); padding:13px; gap:12px; }
  .review-tools { gap:4px; }
  .review-tools #preview-open { font-size:10px; }
  .review-tools .language-picker>svg { display:none; }
}
@media print {
  .km-article h1,.km-article p { height:auto; max-height:none; overflow:visible; -webkit-line-clamp:unset; }
}

/* Direct event checkout and independently paced homepage rails. */
.nx-event-bottom .nx-event-pay { min-height:34px; padding:6px 12px; border-radius:6px; font-size:11px; line-height:1.3; gap:5px; }
.nx-event-footer { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; border-top:1px solid var(--line); margin-top:7px; }
.nx-event-footer .nx-social { border:0; margin:0; gap:5px; font-size:9px; }
.nx-event-footer .nx-event-more { font-size:9px; white-space:nowrap; min-height:36px; padding:6px 0; gap:3px; }
.nx-scroll-collection { min-width:0; }
.nx-scroll-track { position:relative; display:grid; grid-auto-flow:column; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-padding-inline:0; scrollbar-width:thin; scrollbar-color:var(--line) transparent; padding-block:3px 12px; align-items:stretch; }
.nx-scroll-track>* { scroll-snap-align:start; min-width:0; }
.nx-scroll-track:focus-visible { outline-offset:3px; }
.km-event-rail { gap:18px; grid-auto-columns:calc((100% - 36px)/3); }
.nx-rail-controls { display:flex; align-items:center; justify-content:flex-end; gap:16px; margin-top:8px; }
.nx-rail-controls>div { display:flex; gap:6px; }
.nx-rail-position { color:var(--muted); font-size:10px; font-variant-numeric:tabular-nums; letter-spacing:1px; white-space:nowrap; }
.nx-rail-controls button { display:inline-flex; justify-content:center; align-items:center; width:36px; height:36px; padding:0; border:1px solid var(--line); border-radius:50%; background:var(--surface); color:var(--ink); font-size:15px; }
.nx-rail-controls button:hover { border-color:var(--blue); color:var(--blue); background:var(--accent-soft); }
.nx-scroll-track.is-resetting { animation:km-rail-reset .32s ease-out; }
#km-checkout-quantity { max-width:120px; }
@keyframes km-rail-reset { from { opacity:.4; } to { opacity:1; } }
@media (max-width:940px) {
  .km-event-rail { grid-auto-columns:calc((100% - 16px)/2); gap:16px; }
  .km-event-rail .nx-event-card { grid-template-columns:90px minmax(0,1fr); }
  .km-event-rail .nx-event-cover { height:auto; }
  .km-event-rail .nx-event-cover .km-visual { height:165px; }
}
@media (max-width:680px) {
  .km-event-rail { grid-auto-columns:85%; gap:13px; }
  .km-event-rail .nx-event-card { grid-template-columns:90px minmax(0,1fr); }
}
@media (max-width:380px) {
  .km-event-rail { grid-auto-columns:94%; }
  .km-event-rail .nx-event-card { grid-template-columns:74px minmax(0,1fr); }
  .nx-event-bottom .nx-event-pay { font-size:10px; padding-inline:10px; }
}
@media (prefers-reduced-motion:reduce) {
  .nx-scroll-track { scroll-behavior:auto; }
  .nx-scroll-track.is-resetting { animation:none; }
}
