/* New controls share the established Konekte m palette and compact editorial grid. */
/* The actual icon container owns its color; SVGs inherit it in both themes. */
.bottom-nav { --km-nav-idle:#607087; grid-template-columns:repeat(4,minmax(0,1fr)); }
html[data-theme=dark] .bottom-nav { --km-nav-idle:#fff; }
.bottom-nav>a:not(.active),.bottom-nav>a:not(.active) .bottom-label { color:var(--km-nav-idle); }
.bottom-nav>a.active .bottom-label { color:var(--red); }
.bottom-nav>a.active .bottom-icon { color:#fff; }
.bottom-nav .bottom-icon svg { color:inherit; stroke:currentColor; }
footer { background:var(--paper); color:var(--ink); }
.footer-content p,.footer-content .text-button { color:var(--ink); }
.footer-content>div { display:flex; gap:4px; flex-direction:column; align-items:flex-end; }
.km-hero-copy { padding:25px 30px 18px; }
.km-hero-copy h1 { font-size:clamp(28px,3.1vw,40px); line-height:1.1; margin:12px 0; -webkit-line-clamp:2; line-clamp:2; }
.km-hero-copy p { margin:0 0 12px; line-height:1.5; -webkit-line-clamp:2; line-clamp:2; font-size:12px; }
.km-hero-copy .km-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2px 10px; color:#fff; margin:10px 0 0; font-size:10px; }
.km-hero-copy .km-meta>span:first-child { grid-column:1/-1; }
.km-hero-copy .km-meta :is(button,span) { color:inherit; min-width:0; gap:5px; }
.km-hero-copy .km-meta>button { min-height:36px; justify-content:flex-start; }
.km-hero-copy .km-meta button[aria-pressed=true] { color:#ffafba; }
.km-hero-copy .km-meta svg { width:13px; height:13px; }
.km-hero-copy .km-meta button>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.km-slider-hero .km-slides { height:375px; }
.km-interview-more { display:flex; min-height:36px; justify-content:flex-end; font-size:11px; margin:0; }
.km-slider-latest .km-slides { height:285px; }
.km-news-rail { display:block; }
.nx-scroll-collection[data-rail=books] { border:1px solid var(--line); background:var(--surface); border-radius:16px; padding:19px; }
.km-book-rail { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 64px)/5); gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; position:relative; scrollbar-width:thin; padding-bottom:9px; }
.km-book-rail>.nx-book-card { display:flex; flex-direction:column; gap:10px; border:0; border-radius:0; background:transparent; padding:0; scroll-snap-align:start; min-width:0; }
.km-book-rail .nx-book-cover { align-self:center; width:min(100%,125px); }
.km-book-rail .nx-book-cover .km-visual { width:100%; height:170px; border-radius:6px; }
.km-book-rail .nx-book-copy { min-width:0; width:100%; }
.km-book-rail .nx-book-copy h3 { font-size:17px; line-height:1.25; height:2.5em; margin:7px 0; }
.km-book-rail .nx-book-copy>p,.km-book-rail .nx-uploader { font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block; }
.km-book-rail .nx-card-eyebrow { font-size:8px; }
.km-book-rail .nx-social { font-size:10px; gap:5px; justify-content:space-between; }
.km-book-rail .nx-social svg { width:13px; height:13px; }
.km-book-rail .nx-card-tools { flex-wrap:nowrap; gap:4px; }
.km-book-rail .nx-download { min-width:0; font-size:10px; flex:1; min-height:36px; padding:6px; }
.km-book-rail .nx-icon { flex:none; width:30px; min-width:30px; }
.km-book-rail .cover-art { padding:13px; }
.km-book-rail .cover-title { font-size:22px; }
.km-book-rail .cover-artist,.km-book-rail .cover-kicker { font-size:7px; }
.kx-live-layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr); align-items:start; gap:24px; }
.kx-live-screen { position:relative; aspect-ratio:16/10; min-height:330px; border-radius:20px; overflow:hidden; background:radial-gradient(ellipse at 70% 15%,#245389,transparent 55%),#071a33; color:#fff; }
.kx-live-stage { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:34px; min-height:inherit; height:100%; }
.kx-live-tag { position:absolute; top:20px; left:20px; border:1px solid #ffffff44; padding:4px 9px; border-radius:99px; font-size:10px; letter-spacing:1px; }
.kx-live-orbits { display:grid; place-items:center; width:80px; height:80px; border-radius:50%; border:1px solid #ffffff33; box-shadow:0 0 0 12px #ffffff06,0 0 0 24px #ffffff03; margin:20px auto; }
.kx-live-orbits svg { width:32px; height:32px; stroke:currentColor; fill:none; stroke-width:1.5; }
.is-previewing .kx-live-orbits { animation:kx-pulse 1.5s ease-in-out infinite; }
@keyframes kx-pulse { 50% { box-shadow:0 0 0 18px #ff425718,0 0 0 35px #ffffff08; color:#ff7182; } }
.kx-live-stage h2 { font-size:clamp(25px,3vw,36px); line-height:1.1; margin:9px 0; }
.kx-live-stage>p:not(.eyebrow) { font-size:12px; opacity:.8; }
.kx-preview-clock { display:flex; align-items:center; gap:12px; padding:6px 12px; border:1px solid #ffffff33; border-radius:99px; }
.kx-preview-clock strong { font-variant-numeric:tabular-nums; font-size:23px; }
.kx-preview-clock span { font-size:10px; }
.kx-paywall { position:absolute; inset:0; background:#08182cf5; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:13px; padding:30px; text-align:center; }
.kx-paywall>span svg { width:34px; height:34px; stroke:var(--red); fill:none; stroke-width:1.5; }
.kx-paywall h3 { font-size:32px; margin:0; }
.kx-paywall p { max-width:330px; margin:0 0 8px; color:#c0d0e5; font-size:14px; }
.kx-paid-status { display:flex; gap:10px; align-items:center; font-size:13px; }
.kx-paid-status svg { flex:none; width:25px; height:25px; stroke:#75d6b5; fill:none; stroke-width:2; }
.kx-protected-video { width:100%; height:100%; position:absolute; inset:0; background:#050e19; }
.kx-live-info { padding:22px 0; }
.kx-live-info h2 { font-size:28px; margin:12px 0; }
.kx-live-info p { color:var(--muted); font-size:13px; }
.kx-live-layout aside { display:grid; gap:18px; }
.kx-live-ticket>h2 { font-size:27px; line-height:1.15; }
.kx-live-ticket>.eyebrow { font-size:10px; }
.kx-live-ticket .summary-total { margin:16px 0; gap:15px; }
.kx-live-ticket .summary-total span { font-size:12px; }
.kx-live-ticket .summary-total strong { font-size:24px; }
#kx-access-state>.button { width:100%; }
.kx-mode-note { border-top:1px solid var(--line); padding-top:12px; margin:15px 0 0; font-size:11px; color:var(--muted); }
.kx-reminder-panel h3 { font-size:20px; line-height:1.2; }
.kx-reminder-panel .button { font-size:12px; margin-top:8px; }
.kx-reminder-panel .small-note { font-size:11px; }
.kx-live-choices { display:flex; flex-wrap:wrap; gap:8px; }
.kx-receipt-access { border:1px solid var(--line); background:var(--surface-soft); padding:24px; margin:20px 0; border-radius:14px; }
.kx-login-options { border-top:1px solid var(--line); margin-top:26px; padding-top:12px; }
.kx-login-options h3 { font-size:20px; }
.kx-providers { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.kx-providers>button { display:flex; gap:10px; padding:13px 10px; border:1px solid var(--line); border-radius:10px; background:var(--surface-soft); color:var(--muted); align-items:center; opacity:1; cursor:not-allowed; }
.kx-providers>button>span:first-child { width:22px; font-size:18px; flex:none; }
.kx-providers>button>span:nth-child(2) { font-size:12px; }
.kx-providers small { margin-left:auto; font-size:9px; }
#kx-dashboard-panel>h2 { font-size:32px; margin:8px 0 14px; }
#kx-dashboard-panel>p { font-size:13px; max-width:650px; }
#kx-profile-form { max-width:680px; }
#kx-profile-form>label { display:block; margin-top:16px; }
#kx-profile-form>small { display:block; margin:5px 0; color:var(--muted); font-size:11px; }
#kx-profile-form fieldset { border:1px solid var(--line); margin:20px 0; border-radius:10px; padding:15px; display:flex; flex-wrap:wrap; gap:8px 20px; }
.kx-stats { grid-template-columns:repeat(4,minmax(0,1fr)); }
.kx-stats-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:20px 0; }
.kx-stat-panel { padding:22px; }
.kx-stat-panel h3 { font-size:21px; margin:0 0 20px; }
.kx-stat-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px 12px; margin-bottom:16px; }
.kx-stat-row>span { font-size:12px; }
.kx-stat-row b { font-size:14px; }
.kx-stat-row>div { grid-column:1/-1; background:var(--surface-soft); border-radius:4px; overflow:hidden; height:5px; }
.kx-stat-row i { display:block; height:100%; background:linear-gradient(90deg,var(--blue),var(--red)); border-radius:4px; }
.kx-reminder-row { display:flex; justify-content:space-between; gap:20px; margin-top:16px; }
.kx-reminder-row .km-actions { flex-direction:column; align-items:stretch; }
.kx-reminder-row h3 { margin:0 0 12px; font-size:22px; }
.kx-reminder-row time,.kx-reminder-row small { display:block; color:var(--muted); font-size:12px; }
.kx-cookie-notice { position:fixed; bottom:18px; left:18px; z-index:65; width:min(380px,calc(100% - 36px)); border:1px solid var(--line); background:var(--surface); color:var(--ink); box-shadow:0 12px 40px #0003; border-radius:15px; padding:18px; }
.kx-cookie-notice strong { font-size:15px; }
.kx-cookie-notice p { font-size:12px; margin:8px 0 12px; }
.kx-cookie-notice>div { display:flex; justify-content:space-between; gap:12px; }
.kx-cookie-notice button { font-size:12px; }
.kx-cookie-details h3 { font-size:20px; margin:23px 0 7px; }
.kx-cookie-details p { font-size:13px; }
@media(min-width:801px) and (max-width:1150px) { .brand-line { display:none; } .km-book-rail { grid-auto-columns:calc((100% - 32px)/3); } }
@media(max-width:800px) {
 .km-book-rail { grid-auto-columns:calc((100% - 32px)/3); }
 .kx-live-layout { grid-template-columns:1fr; }
 .kx-live-layout aside { grid-template-columns:1fr 1fr; }
 .kx-cookie-notice { bottom:calc(85px + env(safe-area-inset-bottom)); }
}
@media(max-width:560px) {
 .km-hero-copy { padding:20px; }
 .km-hero-copy h1 { font-size:28px; }
 .km-hero-copy .km-meta { font-size:10px; }
 .km-slider-hero .km-slides { height:350px; }
 .km-slider-latest .km-slides { height:268px; }
 .km-interview-more { font-size:12px; }
 .nx-scroll-collection[data-rail=books] { padding:14px; }
 .km-book-rail { grid-auto-columns:calc((100% - 16px)/2); }
 .km-book-rail .nx-book-cover .km-visual { height:148px; }
 .km-book-rail .nx-book-copy h3 { font-size:16px; }
 .km-book-rail .nx-download { font-size:10px; }
 .km-book-rail .nx-book-copy .nx-card-tools { gap:4px; }
 .km-book-rail .nx-icon { width:28px; min-width:28px; }
 .kx-live-screen { min-height:350px; aspect-ratio:auto; }
 .kx-live-stage { padding:25px 20px; }
 .kx-live-layout aside { grid-template-columns:1fr; }
 .kx-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .kx-stats-grid { grid-template-columns:1fr; }
 .kx-reminder-row { flex-direction:column; }
 .kx-reminder-row .km-actions { flex-direction:row; flex-wrap:wrap; }
 .kx-providers { grid-template-columns:1fr; }
 .footer-content>div { margin-left:0; align-items:flex-start; }
 .kx-cookie-notice { padding:14px; }
 .kx-cookie-notice p { font-size:11px; }
}
@media(max-width:360px) { .km-book-rail { grid-auto-columns:80%; } }
@media(prefers-reduced-motion:reduce) { .kx-live-orbits { animation:none!important; } }
@media print { .kx-cookie-notice { display:none!important; } }

.kx-reminder-nudge { position:fixed; right:18px; top:100px; z-index:60; width:min(350px,calc(100% - 36px)); border:1px solid var(--line); border-left:3px solid var(--red); border-radius:12px; background:var(--surface); color:var(--ink); padding:15px; box-shadow:0 12px 40px #0003; display:flex; gap:14px; align-items:center; }
.kx-reminder-nudge strong,.kx-reminder-nudge a { display:block; font-size:13px; }
.kx-reminder-nudge a { margin-top:7px; color:var(--blue); }

/* One editorial title style for the six named homepage sections. */
:root { --km-section-color:#25354a; --km-section-size:23px; }
html[data-theme=dark] { --km-section-color:#fff; }
#main .km-section-title {
  margin:0; color:var(--km-section-color); font-family:'Manrope',system-ui,sans-serif;
  font-size:var(--km-section-size); font-weight:800; line-height:1.25;
  letter-spacing:.045em; text-transform:uppercase; white-space:normal;
  overflow:visible; text-overflow:clip; overflow-wrap:normal;
}
/* A flag-sized native selector retains keyboard, touch and screen-reader support. */
.site-header .masthead { min-height:108px; gap:24px; }
.site-header .masthead .brand { width:282px; padding:0; }
.site-header .masthead .nx-brand-logo { width:100%; height:auto; object-fit:contain; }
.site-header .head-actions { gap:12px; }
.site-header .head-actions .icon-button,.site-header .head-actions .language-picker {
  width:44px; min-width:44px; height:44px; flex:none; border:1px solid var(--line); border-radius:11px;
}
.site-header .head-actions .language-picker {
  display:grid; place-items:center; position:relative; padding:0; color:var(--ink); background:var(--surface); overflow:visible;
}
.site-header .language-picker .km-language-flag { width:28px; height:28px; pointer-events:none; }
.site-header .language-picker select {
  position:absolute; inset:0; width:100%; max-width:none; height:100%; margin:0; padding:0;
  opacity:0; font-size:16px; cursor:pointer; border:0; appearance:auto;
}
.site-header .language-picker:focus-within { outline:3px solid #259aff; outline-offset:3px; }
.site-header .language-picker:hover { background:var(--surface-soft); }
@media(max-width:1180px) {
  .site-header .masthead { min-height:94px; gap:18px; }
  .site-header .masthead .brand { width:235px; }
  .site-header .brand-line { display:none; }
}
@media(min-width:561px) and (max-width:980px) {
  .site-header .head-actions .desktop-utility { display:none; }
}
@media(max-width:560px) {
  :root { --km-section-size:20px; }
  .site-header .masthead { min-height:84px; gap:8px; }
  .site-header .masthead .brand { width:clamp(128px,calc(100vw - 192px),215px); }
  .site-header .head-actions { gap:12px; }
  .kp-strip-heading { display:flex; flex-wrap:wrap; align-items:center; gap:14px; }
  .kp-strip-heading>div:first-child { flex:1 0 175px; }
  .kp-strip-heading>div:last-child { flex:0 1 auto; }
}
