.kv-site {
  --kv-ink: #09090a;
  --kv-cream: #fbf5eb;
  --kv-gold: #efd19f;
  --kv-muted: #d3c7bc;
  --kv-line: rgba(239,209,159,.23);
  margin: 0;
  color: var(--kv-cream);
  background: var(--kv-ink);
  font: 16px/1.65 system-ui, sans-serif;
}
.kv-site *, .kv-site *::before, .kv-site *::after { box-sizing: border-box; }
.kv-site h1, .kv-site h2, .kv-site h3, .kv-site p { margin: 0; }
.kv-site h1, .kv-site h2 { color: inherit; font-family: Georgia, serif; font-weight: 400; line-height: 1.02; letter-spacing: -.045em; }
.kv-site h2 { font-size: clamp(2.5rem,5.6vw,4.55rem); }
.kv-site a { color: inherit; text-decoration: none; }
.kv-site a:focus-visible { outline: 2px solid #d69e59; outline-offset: 5px; }
.kv-site section[id] { scroll-margin-top: 1rem; }
.kv-wrap { width: min(1240px, calc(100% - 9vw)); margin-inline: auto; }
.kv-skip { position: absolute; top: 10px; left: 10px; padding: 8px 12px; background: #09090a; transform: translateY(-180%); z-index: 100000; }
.kv-skip:focus { transform: none; }
.kv-header, .kv-footer { border-bottom: 1px solid var(--kv-line); background: #0d0d0e; }
.kv-header-inner, .kv-footer-inner { min-height: 76px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.kv-brand { display: inline-flex; flex: 0 0 auto; }
.kv-brand img { display: block; width: 184px; height: auto; }
.kv-site nav { display: flex; flex-wrap: wrap; gap: .35rem clamp(.7rem,3vw,2.25rem); align-items: center; }
.kv-site nav a { padding: 8px 0; font-size: .88rem; }
.kv-site nav a:hover { color: var(--kv-gold); text-decoration: underline; }
.kv-hero { background: radial-gradient(ellipse at 75% 45%,#221c18 0%,#111012 50%,#09090a 90%); border-bottom: 1px solid var(--kv-line); }
.kv-hero-grid { display: grid; align-items: center; grid-template-columns: 1fr 1fr; min-height: 625px; }
.kv-hero-copy { padding: 74px 0; }
.kv-site .kv-eyebrow { display: flex; gap: 10px; align-items: center; font-size: .73rem; line-height: 1.45; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; color: var(--kv-gold); margin-bottom: 1rem; }
.kv-hero .kv-eyebrow, .kv-about .kv-eyebrow { color: var(--kv-gold); }
.kv-eyebrow span { display: inline-block; width: 7px; height: 7px; background: currentColor; border-radius: 50%; }
.kv-site h1 { font-size: clamp(4rem,8vw,7.65rem); }
.kv-site h1 em { font-weight: 400; color: var(--kv-gold); }
.kv-site .kv-intro { margin: 24px 0 30px; max-width: 33rem; color: var(--kv-muted); font-size: clamp(1rem,1.5vw,1.2rem); }
.kv-site .kv-button { display: inline-flex; align-items: center; gap: 24px; min-height: 48px; padding: 12px 21px; border-radius: 100px; background: var(--kv-gold); color: var(--kv-ink); font-weight: 750; }
.kv-site .kv-button:hover { background: #fae6bf; }
.kv-orbit { min-width: 0; }
.kv-orbit svg { display: block; width: 100%; height: auto; }
.kv-worlds { background: #0d0d0f; color: var(--kv-cream); padding: 94px 0 105px; }
.kv-section-head { display: flex; align-items: end; justify-content: space-between; gap: 22px; margin-bottom: 34px; }
.kv-section-head > p { color: var(--kv-muted); max-width: 16rem; }
.kv-world-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.kv-card { display: flex; flex-direction: column; padding: clamp(19px,2.7vw,35px); min-height: 313px; border: 1px solid var(--kv-line); border-color: color-mix(in srgb, var(--kv-accent) 32%, #171619); border-radius: 18px; color: var(--kv-cream); background: linear-gradient(145deg, var(--kv-tint), #111113 72%); }
.kv-music { --kv-accent: #efcb91; --kv-tint: #241d16; }
.kv-learn { --kv-accent: #a8ccfb; --kv-tint: #17202c; }
.kv-glow { --kv-accent: #b7d6c2; --kv-tint: #18261f; }
.kv-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; min-height: 78px; color: var(--kv-accent); font-size: .7rem; font-weight: 800; letter-spacing: .12em; }
.kv-card-top svg { width: 58px; height: 58px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.kv-site .kv-card h3 { font-size: clamp(1.38rem,2.1vw,1.85rem); line-height: 1.14; color: inherit; font-weight: 750; }
.kv-site .kv-card p { margin: 12px 0 22px; color: var(--kv-muted); }
.kv-site .kv-card a { color: var(--kv-accent); margin-top: auto; display: flex; justify-content: space-between; gap: 10px; border-top: 1px solid var(--kv-line); padding-top: 12px; font-size: .88rem; font-weight: 750; }
.kv-card a:hover, .kv-feature-list a:hover strong { text-decoration: underline; }
.kv-feature { background: #101012; color: var(--kv-cream); border-block: 1px solid var(--kv-line); padding: 83px 0 96px; }
.kv-feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; }
.kv-feature-list a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 17px 8px 17px 0; border-bottom: 1px solid var(--kv-line); }
.kv-feature-list a:first-child { border-top: 1px solid var(--kv-line); }
.kv-feature-list strong, .kv-feature-list small { display: block; }
.kv-feature-list strong { font-size: 1.12rem; }
.kv-feature-list small { color: var(--kv-muted); font-size: .88rem; }
.kv-about { background: radial-gradient(ellipse at 50% 0%, #211a16, #09090a 75%); padding: 92px 0; border-bottom: 1px solid var(--kv-line); text-align: center; }
.kv-about .kv-eyebrow { justify-content: center; }
.kv-about-inner > p:not(.kv-eyebrow) { max-width: 43rem; margin: 22px auto 0; color: var(--kv-muted); }
.kv-about-inner > .kv-claim { font-family: Georgia, serif; font-style: italic; font-size: clamp(1.08rem,2.8vw,1.45rem); color: var(--kv-gold) !important; }
.kv-footer { border-bottom: 0; }
.kv-footer-inner { min-height: 95px; }
.kv-extra { padding: 36px 0; }
@media (max-width: 850px) {
  .kv-hero-grid { min-height: 510px; }
  .kv-worlds, .kv-feature, .kv-about { padding: 66px 0; }
}
@media (max-width: 650px) {
  .kv-header-inner, .kv-footer-inner { flex-wrap: wrap; gap: 4px 18px; padding: 14px 0; }
  .kv-brand img { width: 146px; }
  .kv-hero-grid, .kv-world-grid, .kv-feature-grid { grid-template-columns: 1fr; }
  .kv-hero-copy { padding: 52px 0 4px; }
  .kv-site h1 { font-size: clamp(3.25rem,12vw,5.15rem); }
  .kv-orbit { max-width: 420px; width: 100%; margin: -5px auto 0; }
  .kv-section-head { display: grid; align-items: start; gap: 14px; }
  .kv-card { min-height: 248px; }
  .kv-card-top { min-height: 60px; }
}

.kv-orbit { position: relative; }
.kv-site .kv-orbit-links { position: absolute; inset: 0; display: block; pointer-events: none; }
.kv-site .kv-orbit-links a {
  position: absolute;
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 7px clamp(9px,1.3vw,18px);
  border: 1px solid var(--kv-line);
  border-radius: 999px;
  background: #100f12;
  color: var(--kv-gold);
  font-weight: 700;
  letter-spacing: .05em;
  white-space: nowrap;
}
.kv-site .kv-orbit-links a:hover, .kv-site .kv-orbit-links a:focus-visible { border-color: currentColor; background: #231d1a; }
.kv-orbit-kora { left: 7%; top: 15%; }
.kv-orbit-learn { right: 3%; top: 20%; }
.kv-orbit-glow { right: 4%; bottom: 12%; }
.kv-orbit-lines { transform-box: view-box; transform-origin: 50.5% 49.1%; }
@media (prefers-reduced-motion: no-preference) {
  .kv-orbit-lines { animation: kv-orbit-sway 4.8s ease-in-out 1 both; }
  .kv-site .kv-orbit-links a { transition: background-color .2s ease, transform .2s ease; }
  .kv-site .kv-orbit-links a:hover { transform: translateY(-3px); }
}
.kv-about-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 25px; }
.kv-subpage { min-height: 60vh; padding: clamp(56px,9vw,120px) 0; background: radial-gradient(ellipse at 86% 0%,#251c17,#09090a 65%); }
.kv-subpage .kv-wrap { max-width: 870px; }
.kv-site .kv-subpage h1 { font-size: clamp(2.9rem,7vw,6rem); margin: 16px 0 28px; overflow-wrap: anywhere; }
.kv-site .kv-subpage h2 { font-size: clamp(1.8rem,4vw,2.8rem); margin-top: 30px; }
.kv-site .kv-subpage p { margin: 16px 0; max-width: 70ch; color: var(--kv-muted); }
.kv-site .kv-subpage a:not(.kv-button) { color: var(--kv-gold); text-decoration: underline; text-underline-offset: 4px; }
.kv-site .kv-subpage .wp-block-button__link { background: var(--kv-gold); color: var(--kv-ink); font-weight: 750; text-decoration: none; }
.kv-site .kv-subpage .wp-block-buttons { margin-block: 24px; gap: 12px; }
.kv-bookshelf { padding: 18px clamp(20px,4vw,42px) 32px; border: 1px solid var(--kv-line); border-bottom: 5px solid #806641; border-radius: 15px; background: linear-gradient(135deg,#211b17,#101012); }
@keyframes kv-orbit-sway {
  0%, 100% { transform: rotate(0) scale(1); }
  32% { transform: rotate(26deg) scale(1.07); }
  70% { transform: rotate(-15deg) scale(.97); }
}

.kv-site .kv-subpage a.wp-block-button__link,
.kv-site .kv-subpage a.kv-button,
.kv-site .kv-subpage button.kv-button { color: #16100b !important; background: var(--kv-gold); text-decoration: none; border: 0; }
.kv-project-links { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0; }
.kv-player { margin: 18px 0; padding: 18px; border: 1px solid var(--kv-line); border-radius: 14px; }
.kv-player iframe { display: block; border: 0; border-radius: 12px; margin: 12px 0; }
.kv-book-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); gap: 17px; margin: 20px 0 34px; }
.kv-book { padding: 16px; border: 1px solid var(--kv-line); border-radius: 14px; background: #171412; }
.kv-book-cover { display: flex; align-items: center; justify-content: center; height: 285px; margin-bottom: 16px; overflow: hidden; }
.kv-book-cover img { display: block; width: 100%; height: 285px; max-height: 100%; object-fit: contain; border-radius: 5px; }
.kv-site .kv-book h3 { color: var(--kv-cream); font-size: 1.15rem; }
.kv-site .kv-book p { margin: 8px 0; font-size: .95rem; }
.kv-portrait { float: right; width: min(42%, 300px); margin: 0 0 18px 25px; }
.kv-portrait img { display: block; width: 100%; height: auto; border-radius: 18px; }
.kv-portrait figcaption { color: var(--kv-muted); font-size: .85rem; }
.kv-contact { display: grid; gap: 16px; max-width: 620px; }
.kv-contact label { display: grid; gap: 6px; color: var(--kv-cream); }
.kv-site .kv-contact :is(input,select,textarea) { width: 100%; padding: 12px; color: var(--kv-cream); background: #191512; border: 1px solid #8a7353; border-radius: 8px; }
.kv-contact .kv-button { justify-self: start; cursor: pointer; }
.kv-subpage .kv-wrap::after { content: ''; display: block; clear: both; }
@media (max-width: 570px) { .kv-portrait { float: none; width: min(100%, 280px); margin: 0 0 20px; } }


.kv-site .kv-subpage .kv-project-links .kv-button,
.kv-site .kv-subpage .kv-player .kv-button {
  padding: 6px 12px;
  min-height: 34px;
  font-size: .85rem;
  font-weight: 650;
  line-height: 1.25;
  background: transparent;
  border: 1px solid var(--kv-line);
  color: var(--kv-gold) !important;
}
.kv-site .kv-subpage .kv-project-links .kv-button:hover,
.kv-site .kv-subpage .kv-player .kv-button:hover { background: #282019; border-color: var(--kv-gold); }
.kv-album-list { margin: 12px 0 24px; padding: 0; list-style: none; }
.kv-album-list li { padding: 12px 0; border-bottom: 1px solid var(--kv-line); }
.kv-site .kv-album-list p { margin: 4px 0 0; }

.kv-world-facts { margin: 14px 0 23px; }
.kv-world-facts div + div { margin-top: 10px; }
.kv-world-facts dt { color: var(--kv-accent); font-weight: 750; }
.kv-world-facts dd { margin: 0; color: var(--kv-muted); }
.kv-language[hidden] { display: none; }
.kv-language { margin-left: auto; }
.kv-site .kv-language select {
  border: 1px solid var(--kv-line); border-radius: 8px; color: var(--kv-gold);
  background: #181411; padding: 6px 9px; font-size: .85rem;
}

.kv-site .kv-header-inner > nav { margin-left: auto; justify-content: flex-end; }
.kv-language { margin-left: 0; }
.kv-book-more { background: radial-gradient(ellipse at 50% 25%, #2c221a, #171412 75%); }
.kv-book-collage { display: flex; align-items: center; justify-content: center; min-height: 285px; margin-bottom: 16px; overflow: hidden; }
.kv-book-collage img { width: 34%; height: auto; border-radius: 4px; box-shadow: 0 8px 18px #0008; }
.kv-book-collage img:first-child { transform: translate(14%, 8%) rotate(-13deg); }
.kv-book-collage img:nth-child(2) { position: relative; z-index: 1; }
.kv-book-collage img:last-child { transform: translate(-14%, 8%) rotate(13deg); }
@media (max-width: 650px) {
  .kv-site .kv-header-inner > nav { order: 3; flex-basis: 100%; }
  .kv-language { margin-left: auto; }
}

.kv-app-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 14px; margin: 20px 0 26px; }
.kv-app-benefit { min-width: 0; padding: 18px; border: 1px solid var(--kv-line); border-radius: 14px; background: #17191d; }
.kv-app-benefit img { display: block; width: 56px; height: 56px; object-fit: contain; margin-bottom: 12px; border-radius: 8px; }
.kv-site .kv-app-benefit h3 { color: var(--kv-cream); font-size: 1.1rem; }
.kv-site .kv-app-benefit p { margin: 7px 0 0; font-size: .95rem; }

.kv-site .kv-subpage .kv-button.kv-merch-pending {
  opacity: .6; cursor: default; font-size: .85rem; min-height: 34px; padding: 6px 12px;
}
.kv-merch-status { align-self: center; color: var(--kv-muted); font-size: .9rem; }
