/*
Theme Name: Kingdom of Web — Complete Studio
Author: Kingdom of Web
Version: 13.7.92
Description: Bespoke editorial WordPress theme with scroll-driven motion and local assets.
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: kingdom-of-web
*/
:root {
  --kw-black: #080808;
  --kw-ink: #141414;
  --kw-soft-black: #181818;
  --kw-white: #f5f5f5;
  --kw-paper: #f9f9f9;
  --kw-line: rgba(15, 15, 15, .12);
  --kw-line-dark: rgba(255, 255, 255, .12);
  --kw-muted: #696969;
  --kw-red: var(--kw-accent);
  --kw-red-bright: color-mix(in srgb,var(--kw-accent),white 15%);
  --kw-red-dark: color-mix(in srgb,var(--kw-accent),black 65%);
  --kw-radius: 24px;
  --kw-radius-sm: 22px;
  --kw-shell: 1440px;
  --kw-narrow: 790px;
  --kw-pad: clamp(20px, 3vw, 48px);
  --kw-section: clamp(92px, 12vw, 170px);
  --kw-display: Georgia, "Times New Roman", serif;
  --kw-micro: "Space Grotesk", "Inter", sans-serif;
  --kw-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --kw-accent: #d0181e;
  --kw-hero-position: right center;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  background: var(--kw-paper);
}
body {
  margin: 0;
  color: var(--kw-ink);
  background: var(--kw-paper);
  font-family: var(--kw-sans);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
body.menu-open {
  overflow: hidden;
}
img {
  display: block;
  max-width: 100%;
}
a {
  color: inherit;
  text-decoration: none;
}
button {
  font: inherit;
  color: inherit;
}
input {
  font: inherit;
}
textarea {
  font: inherit;
}
select {
  font: inherit;
}
::selection {
  color: #fff;
  background: var(--kw-red);
}
.skip-link {
  position: fixed;
  left: 16px;
  top: -80px;
  z-index: 10000;
  padding: 10px 14px;
  color: #fff;
  background: #000;
  border-radius: 8px;
}
.skip-link:focus {
  top: 16px;
}
.kw-menu {
  overflow-y: auto;
  position: fixed;
  inset: 0;
  z-index: 950;
  display: block;
  padding: 0;
  background: var(--kw-paper);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.menu-open .kw-menu {
  overflow-y: auto;
  visibility: visible;
  pointer-events: auto;
}
.kw-menu__panel {
  width: min(1440px,90%);
  min-height: 100svh;
  margin-inline: auto;
  padding: 36px 0;
  color: var(--kw-ink);
  background: var(--kw-paper);
  display: flex;
  flex-direction: column;
}
.kw-menu__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.kw-menu__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding-top: 22px;
  border-top: 1px solid var(--kw-line);
}
.kw-menu__top button {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  color: var(--kw-ink);
  background: var(--ko-soft,#ececec);
  border: 0;
  border-radius: 50%;
  font-size: 21px;
  cursor: pointer;
}
.kw-menu__nav {
  display: grid;
  gap: 34px 12%;
  padding: 65px 0;
  grid-template-columns: 1fr 1fr;
  column-gap: 12%;
  flex: 1;
}
.kw-menu__group {
  display: grid;
  gap: 24px;
  padding-bottom: 30px;
  border-bottom: 1px solid var(--kw-line);
  align-content: start;
}
.kw-menu__group-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: var(--kw-display);
  font-size: clamp(38px,4.8vw,72px);
  font-weight: 400;
  letter-spacing: -.04em;
}
.kw-menu__group-title>span {
  color: var(--kw-red);
  font-family: var(--kw-sans);
  font-size: 14px;
}
.kw-menu__group-links {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
.kw-menu__group-links a {
  color: var(--kw-muted);
  font-size: 15px;
  line-height: 1.6;
  padding: 5px 0;
  width: fit-content;
}
.kw-menu__group-links a:hover {
  color: var(--kw-red);
}
body.service-modal-open {
  overflow: hidden;
}
.kw-form {
  display: grid;
  gap: 22px;
}
.kw-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.kw-field {
  display: grid;
  gap: 7px;
}
.kw-field label {
  color: var(--kw-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.kw-form legend {
  color: var(--kw-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.kw-field input {
  width: 100%;
  padding: 13px 14px;
  color: inherit;
  background: var(--kw-paper);
  border: 1px solid var(--kw-line);
  border-radius: 8px;
  outline: none;
}
.kw-field textarea {
  width: 100%;
  padding: 13px 14px;
  color: inherit;
  background: var(--kw-paper);
  border: 1px solid var(--kw-line);
  border-radius: 8px;
  outline: none;
}
.kw-red .kw-field input {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.22);
}
.kw-red .kw-field textarea {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.22);
}
.kw-field input:focus {
  border-color: var(--kw-red);
}
.kw-field textarea:focus {
  border-color: var(--kw-red);
}
.kw-form fieldset {
  padding: 0;
  margin: 0;
  border: 0;
}
.kw-choice-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.kw-choice input {
  position: absolute;
  opacity: 0;
}
.kw-choice span {
  display: inline-flex;
  padding: 9px 12px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 12px;
  opacity: 1;
  cursor: pointer;
}
.kw-choice input:checked + span {
  color: #fff;
  background: var(--kw-red);
  border-color: var(--kw-red);
  opacity: 1;
}
.kw-form__submit {
  width: fit-content;
  min-height: 44px;
  padding: 0 20px;
  color: #fff;
  background: var(--kw-red);
  border: 0;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}
.kw-form__status {
  margin: 0;
  font-size: 12px;
}
:focus-visible {
  outline: 3px solid var(--kw-red);
  outline-offset: 5px;
}
[hidden] {
  display: none !important;
}
@media (max-width:760px) {:root {
    --kw-pad: 18px;
    --kw-section: 86px;
    --kw-radius: 14px;
  }body {
    font-size: 15px;
  }.kw-form__row {
    grid-template-columns: 1fr;
  }}
@media (prefers-reduced-motion:reduce) {html {
    scroll-behavior: auto;
  }* {
    animation-duration: .001ms;
    animation-iteration-count: 1;
    transition-duration: .001ms;
  }*::before {
    animation-duration: .001ms;
    animation-iteration-count: 1;
    transition-duration: .001ms;
  }*::after {
    animation-duration: .001ms;
    animation-iteration-count: 1;
    transition-duration: .001ms;
  }}
@keyframes kw-gradient-mesh {
  0%,100% {
    background-position: 0 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}
@keyframes kw-marquee {
  to {
    transform: translateX(-50%);
  }
}
.ko-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 900;
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 24px 5vw;
  color: var(--kw-ink);
}
.ko-brand {
  font: 500 42px/1 Georgia,serif;
  letter-spacing: -2.5px;
  white-space: nowrap;
}
.ko-brand>span {
  color: var(--kw-accent);
}
.ko-nav {
  display: flex;
  gap: 30px;
  margin-left: auto;
  font-size: 14px;
  font-weight: 600;
}
.ko-nav a {
  padding: 10px 0;
}
.ko-nav a:hover {
  color: var(--kw-accent);
}
.ko-header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.ko-button {
  border: 0;
  border-radius: 100px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 9px 10px 9px 22px;
  background: var(--ko-soft,#ececec);
  color: var(--kw-ink);
  font: 600 14px/1.2 var(--kw-sans);
  min-height: 50px;
  width: max-content;
  cursor: pointer;
  transition: background .25s,transform .25s;
}
.ko-button>span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--kw-accent);
  color: white;
  font-size: 22px;
  transition: transform .25s;
}
.ko-button:hover>span {
  transform: rotate(45deg);
}
.ko-button:hover {
  transform: translateY(-2px);
}
.ko-theme-toggle,.ko-menu-toggle {
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 50%;
  background: var(--ko-soft,#ececec);
  color: var(--kw-ink);
  cursor: pointer;
}
.ko-theme-toggle {
  font-size: 25px;
}
.ko-menu-toggle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.ko-menu-toggle>span {
  height: 1px;
  width: 18px;
  background: currentColor;
}
.ko-home {
  --ko-soft: #ececec;
  background: var(--kw-paper);
  color: var(--kw-ink);
}
.ko-home h1,.ko-home h2,.ko-home h3,.ko-home p {
  margin: 0;
}
.ko-home h1,.ko-home h2,.ko-home h3 {
  font-family: Georgia,"Times New Roman",serif;
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: 1.05;
}
.ko-home em {
  font-weight: 400;
}
.ko-section {
  padding: 110px 5vw;
}
.ko-eyebrow {
  font: 11px/1.5 var(--kw-sans);
  text-transform: uppercase;
  letter-spacing: .035em;
}
.ko-hero {
  padding: 120px 0 30px;
  position: relative;
  min-height: 860px;
  overflow: hidden;
}
.ko-hero h1 {
  position: absolute;
  left: 50%;
  top: 335px;
  transform: translate(-50%,-50%);
  text-align: center;
  font-size: clamp(54px,6.55vw,112px);
  width: max-content;
  max-width: 95%;
  z-index: 1;
  pointer-events: none;
}
.ko-hero h1>span,.ko-hero h1>em {
  display: block;
}
.ko-hero h1>em {
  color: var(--kw-accent);
}
.ko-orbit {
  position: relative;
  height: 620px;
  perspective: 1500px;
  touch-action: pan-y;
  cursor: grab;
  isolation: isolate;
}
.ko-orbit:active {
  cursor: grabbing;
}
.ko-orbit-ring {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
}
.ko-orbit-card {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 300px;
  height: 225px;
  margin: -112.5px 0 0 -150px;
  border-radius: 14px;
  overflow: hidden;
  backface-visibility: hidden;
  box-shadow: 0 12px 28px #0002;
  transform: translateX(calc((var(--card-index,0) - 2)*235px));
  z-index: 2;
  background: #181818;
  color: white;
  will-change: transform;
}
.ko-orbit-card img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  pointer-events: none;
  user-select: none;
}
.ko-orbit-card>span {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 32px 16px 14px;
  background: linear-gradient(transparent,#000b);
  font-size: 12px;
}
.ko-orbit-card b {
  font-size: 22px;
  font-weight: 400;
}
.ko-orbit-controls {
  margin-top: 100px;
  position: relative;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 25px;
  padding: 0 5vw;
}
.ko-service-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}
.ko-service-tabs button {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 6px 0;
  border: 0;
  background: none;
  cursor: pointer;
  font-size: 13px;
  color: var(--kw-ink);
}
.ko-service-tabs button>span {
  font-size: 20px;
  line-height: 1;
  color: #777;
}
.ko-service-tabs button[aria-pressed=true]>span {
  color: var(--kw-accent);
}
.ko-pause {
  flex-shrink: 0;
  border: 1px solid #8885;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  color: var(--kw-ink);
}
.ko-intro {
  text-align: center;
  max-width: 820px;
  margin: auto;
  position: relative;
  padding-top: 110px;
  padding-bottom: 150px;
}
.ko-intro h2 {
  font-size: clamp(40px,5.2vw,80px);
  margin: 28px 0;
}
.ko-intro>p:not(.ko-eyebrow) {
  font-size: 18px;
  line-height: 1.65;
  max-width: 570px;
  margin: 0 auto 28px;
}
.ko-display {
  font-size: clamp(64px,9.8vw,150px);
  text-align: center;
}
.ko-work {
  padding-top: 70px;
}
.ko-work>.ko-button {
  display: flex;
  margin: 100px auto 0;
}
.ko-work-showcase {
  position: relative;
  margin-top: 110px;
}
.ko-projects {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 3.5%;
  align-items: start;
}
.ko-project:nth-child(2) {
  padding-top: 28vw;
}
.ko-project:nth-child(3) {
  padding-top: 47vw;
}
.ko-project-media {
  position: relative;
  aspect-ratio: 9/7;
  border-radius: 12px;
  overflow: hidden;
  background: #e3e3e3;
}
.ko-project-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s cubic-bezier(.2,.7,.3,1);
}
.ko-project:hover img {
  transform: scale(1.055);
}
.ko-project-media>span {
  position: absolute;
  bottom: 18px;
  left: 18px;
  background: #fff;
  color: #111;
  padding: 10px 16px;
  border-radius: 40px;
  font-size: 11px;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .25s,transform .25s;
}
.ko-project:hover .ko-project-media>span,.ko-project:focus-visible .ko-project-media>span {
  opacity: 1;
  transform: none;
}
.ko-project h3 {
  font-size: 28px;
  margin: 22px 0 8px;
  letter-spacing: -.04em;
}
.ko-project small {
  font-size: 10px;
  text-transform: uppercase;
  opacity: .65;
}
.ko-project>p {
  font-size: 14px;
  margin-top: 16px;
  line-height: 1.6;
  max-width: 350px;
}
.ko-work-note {
  position: absolute;
  top: 0;
  right: 8%;
  width: 220px;
}
.ko-work-bottom {
  position: absolute;
  bottom: 40px;
  left: 0;
  width: 250px;
}
.ko-systems {
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: 12%;
  border-top: 1px solid #8883;
}
.ko-systems-head {
  position: sticky;
  top: 70px;
  align-self: start;
}
.ko-systems-head h2 {
  font-size: clamp(34px,3.5vw,54px);
  margin: 22px 0 30px;
}
.ko-systems-copy article {
  margin-bottom: 90px;
}
.ko-systems-copy article:last-child {
  margin-bottom: 0;
}
.ko-systems-copy h3 {
  font-size: 38px;
  margin: 22px 0;
}
.ko-systems-copy p,.ko-systems-copy li {
  font-size: 16px;
  line-height: 1.8;
}
.ko-systems-copy ul {
  padding-left: 19px;
  margin: 25px 0 0;
}
.ko-systems-copy li {
  padding-left: 8px;
  margin-bottom: 8px;
}
.ko-systems-copy li::marker {
  color: var(--kw-accent);
}
.ko-partner {
  max-width: none;
  background: var(--ko-soft);
  padding-block: 130px;
}
.ko-enquiry {
  padding-top: 140px;
  padding-bottom: 150px;
}
.ko-brief {
  max-width: 1120px;
  margin: 65px auto 0;
}
.ko-brief-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  border-radius: 25px;
  background: var(--ko-soft);
  padding: 16px;
  min-height: 84px;
}
.ko-brief-bar>span {
  font-size: 17px;
  white-space: nowrap;
  padding-left: 12px;
}
.ko-brief-bar>.ko-button {
  margin-left: auto;
  flex-shrink: 0;
  background: var(--kw-paper);
}
.ko-selected {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.ko-selected>button {
  display: flex;
  gap: 12px;
  align-items: center;
  background: var(--kw-paper);
  border: 0;
  border-radius: 30px;
  padding: 12px 16px;
  cursor: pointer;
  font-size: 12px;
}
.ko-selected>button span {
  font-size: 18px;
  color: var(--kw-accent);
}
.ko-selection-hint {
  opacity: .5;
  font-size: 13px;
  padding: 8px;
}
.ko-brief fieldset {
  border: 0;
  margin: 30px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 12px 30px;
}
.ko-brief label {
  border-bottom: 1px solid #8885;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 0;
  cursor: pointer;
  font-size: 14px;
}
.ko-brief label>span {
  flex: 1;
}
.ko-brief label>b {
  font-size: 22px;
  font-weight: 400;
}
.ko-brief input {
  accent-color: var(--kw-accent);
  width: 15px;
  height: 15px;
}
.ko-brief label:has(input:checked) {
  color: var(--kw-accent);
}
.ko-footer {
  padding: 70px 5vw 25px;
  background: var(--ko-soft,#ececec);
  color: var(--kw-ink);
}
.ko-footer-top {
  display: grid;
  grid-template-columns: 1.5fr .7fr .8fr 1.2fr;
  gap: 5%;
}
.ko-footer-top>div {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 11px;
  font-size: 13px;
}
.ko-footer-top p {
  line-height: 1.65;
  max-width: 290px;
  margin: 10px 0;
}
.ko-footer-top small {
  font: 22px Georgia,serif;
  margin-bottom: 12px;
}
.ko-footer-top .ko-button {
  background: var(--kw-paper);
  margin-top: 15px;
}
.ko-footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 25px;
  border-top: 1px solid #8884;
  padding-top: 25px;
  margin-top: 65px;
  font-size: 10px;
}
.ko-footer-bottom>div {
  flex-wrap: wrap;
  display: flex;
  gap: 18px;
}
.ko-dark {
  --kw-paper: #161616;
  --kw-ink: #f1f1f1;
  --kw-muted: #bbb;
  --kw-line: rgba(255,255,255,.2);
  --ko-soft: #252525;
  background: var(--kw-paper);
  color: var(--kw-ink);
}
.ko-dark .ko-home {
  --ko-soft: #252525;
}
.ko-dark .ko-header,.ko-dark .ko-footer {
  --ko-soft: #252525;
}
.ko-dark .ko-project-media {
  background: #282828;
}
@media(min-width:1700px) {.ko-orbit {
    height: 720px;
  }.ko-hero h1 {
    top: 380px;
  }.ko-orbit-card {
    width: 340px;
    height: 255px;
    margin: -127.5px 0 0 -170px;
  }}
@media(max-width:1000px) {.ko-nav {
    gap: 17px;
  }.ko-header {
    gap: 20px;
    padding-inline: 4vw;
  }.ko-header-actions {
    gap: 8px;
  }.ko-hero {
    min-height: 780px;
  }.ko-hero h1 {
    top: 300px;
  }.ko-orbit {
    height: 550px;
  }.ko-orbit-card {
    width: 240px;
    height: 180px;
    margin: -90px 0 0 -120px;
  }.ko-systems {
    gap: 7%;
  }.ko-project h3 {
    font-size: 23px;
  }.ko-work-note {
    right: 0;
    font-size: 10px;
  }.ko-footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }.ko-brief fieldset {
    grid-template-columns: repeat(2,1fr);
  }}
@media(max-width:700px) {.ko-header {
    padding: 22px 20px;
    gap: 12px;
  }.ko-brand {
    font-size: 34px;
    letter-spacing: -1.8px;
  }.ko-nav {
    display: none;
  }.ko-header-actions {
    margin-left: auto;
  }.ko-header-actions>.ko-button {
    display: none;
  }.ko-theme-toggle,.ko-menu-toggle {
    width: 40px;
    height: 40px;
  }.ko-hero {
    padding-top: 100px;
    min-height: 690px;
  }.ko-hero h1 {
    font-size: clamp(38px,7.7vw,55px);
    top: 245px;
    max-width: 96%;
    width: 96%;
  }.ko-orbit {
    height: 430px;
    perspective: 900px;
  }.ko-orbit-card {
    width: 170px;
    height: 128px;
    margin: -64px 0 0 -85px;
    border-radius: 8px;
  }.ko-orbit-card>span {
    padding: 30px 10px 10px;
    font-size: 9px;
  }.ko-orbit-card b {
    font-size: 17px;
  }.ko-orbit-controls {
    gap: 12px;
    align-items: start;
    margin-top: 55px;
  }.ko-service-tabs {
    gap: 8px 17px;
  }.ko-service-tabs button {
    font-size: 11px;
  }.ko-service-tabs button>span {
    font-size: 16px;
  }.ko-pause {
    width: 30px;
    height: 30px;
  }.ko-section {
    padding: 75px 22px;
  }.ko-intro h2 {
    font-size: 42px;
  }.ko-intro>p:not(.ko-eyebrow) {
    font-size: 15px;
  }.ko-display {
    font-size: 61px;
  }.ko-work-showcase {
    margin-top: 55px;
  }.ko-projects {
    grid-template-columns: 1fr;
    gap: 50px;
  }.ko-project:nth-child(2),.ko-project:nth-child(3) {
    padding-top: 0;
  }.ko-project-media {
    aspect-ratio: 9/7;
  }.ko-project h3 {
    font-size: 30px;
  }.ko-project>p {
    font-size: 14px;
  }.ko-project-media>span {
    opacity: 1;
    transform: none;
    font-size: 10px;
  }.ko-work-note,.ko-work-bottom {
    position: static;
    margin: 0 0 25px!important;
    width: auto;
  }.ko-work-bottom {
    margin-top: 40px!important;
  }.ko-work>.ko-button {
    margin-top: 35px;
  }.ko-systems {
    grid-template-columns: 1fr;
    gap: 60px;
  }.ko-systems-head {
    position: static;
  }.ko-systems-head h2 {
    font-size: 39px;
  }.ko-systems-copy h3 {
    font-size: 31px;
  }.ko-systems-copy p,.ko-systems-copy li {
    font-size: 14px;
  }.ko-systems-copy article {
    margin-bottom: 60px;
  }.ko-brief {
    margin-top: 40px;
  }.ko-brief-bar {
    flex-wrap: wrap;
    border-radius: 18px;
    padding: 14px;
  }.ko-brief-bar>span {
    padding-left: 0;
    font-size: 15px;
  }.ko-brief-bar>.ko-button {
    width: 100%;
    justify-content: space-between;
    margin-top: 5px;
  }.ko-selected {
    max-width: 100%;
  }.ko-brief fieldset {
    gap: 0 20px;
  }.ko-brief label {
    font-size: 12px;
    gap: 8px;
  }.ko-footer {
    padding: 60px 22px 25px;
  }.ko-footer-top {
    gap: 40px 20px;
  }.ko-footer-top>div:first-child,.ko-footer-top>div:last-child {
    grid-column: 1/-1;
  }.ko-footer-top p {
    max-width: 100%;
  }.ko-footer-bottom {
    flex-direction: column;
    gap: 14px;
    margin-top: 40px;
  }.ko-footer-bottom>span:nth-child(2) {
    display: none;
  }}
@media(prefers-reduced-motion:reduce) {.ko-home *, .ko-home *::before, .ko-home *::after {
    transition: none!important;
  }.ko-orbit-card {
    will-change: auto;
  }}



/* Complete Studio: canonical inner-page system. */
.kc-shell {width:min(1440px,90%);margin-inline:auto;}
.kc-page {background:var(--kw-paper);color:var(--kw-ink);padding-bottom:1px;--kc-gap: clamp(60px,8vw,128px);}
.kc-page h1,.kc-page h2,.kc-page h3,.kc-studio-band h2 {font-family:var(--kw-display);font-weight:400;letter-spacing:-.045em;line-height:1.04;text-wrap:balance;}
.kc-page h1 {font-size:clamp(60px,8.6vw,132px);margin:20px 0 32px;max-width:1250px;letter-spacing: -.055em;line-height: 1.02;}
.kc-page h2,.kc-studio-band h2 {font-size:clamp(36px,4.5vw,72px);margin:0 0 32px;letter-spacing: -.05em;}
.kc-page h3 {font-size:clamp(27px,2.5vw,38px);margin:0 0 22px;}
.kc-page em,.kc-studio-band em {font-weight:400;color:var(--kw-accent);}
.kc-page p {line-height:1.65;max-width:70ch;}
.kc-page small {font-size:12px;}
.kc-page a:focus-visible,.kc-page button:focus-visible,.kc-page summary:focus-visible {outline:2px solid var(--kw-accent);outline-offset:6px;}
.kc-hero {padding-top:clamp(150px,13vw,205px);padding-bottom:clamp(45px,6vw,90px);}
.kc-hero .kc-lead {max-width:640px;margin-left:0;}
.kc-lead {font-size:clamp(18px,1.45vw,23px);line-height:1.5!important;}
.kc-back,.kc-text-link {display:inline-block;font-size:13px;border-bottom:1px solid currentColor;padding-bottom:4px;}
.kc-back {margin-bottom:22px;}
.kc-section {padding-block:var(--kc-gap);}
.kc-split {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:12%;align-items:start;}
.kc-sticky {position:sticky;top:60px;}
.kc-media {margin:0;border-radius:18px;overflow:hidden;background:color-mix(in srgb,var(--kw-ink) 6%,var(--kw-paper));}
.kc-media img {width:100%;height:100%;object-fit:cover;transition:transform .85s cubic-bezier(.2,.7,.2,1);}
.kc-tags {display:flex;flex-wrap:wrap;gap:9px;margin:24px 0;}
.kc-tags span {font-size:12px;padding:10px 15px;border:1px solid var(--kw-line);border-radius:100px;line-height: 1.3;}
.kc-service-list {position:relative;margin-top:65px;}
.kc-service-row {position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) minmax(0,.7fr) 32px;align-items:center;gap:20px;padding:32px 4px;border-bottom:1px solid var(--kw-line);font-size:clamp(23px,2.4vw,36px);transition:background .25s,padding .25s;}
.kc-service-row:first-child {border-top:1px solid var(--kw-line);}
.kc-service-row:hover,.kc-service-row:focus-visible {padding-left:24px;background:color-mix(in srgb,var(--kw-ink) 4%,var(--kw-paper));}
.kc-service-symbol {color:var(--kw-accent);font-size:30px;}
.kc-service-row small {font-size:13px;justify-self:end;max-width: 240px;text-align: right;color: var(--kw-muted);line-height: 1.5;}
.kc-service-row b {font-weight:400;text-align:right;}
.kc-row-preview {position:absolute;right:20%;top:50%;width:200px;height:250px;object-fit:cover;border-radius:12px;opacity:0;pointer-events:none;z-index:4;transform:translateY(-45%) rotate(-7deg) scale(.9);transition:opacity .3s,transform .45s;}
@media(hover:hover) {.kc-service-row:hover .kc-row-preview {opacity:1;transform:translateY(-50%) rotate(4deg) scale(1);}}
.kc-service-top {display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start;}
.kc-service-art {aspect-ratio:1.25;max-height:560px;}
.kc-service-top>.kc-tags {margin-top:0;}
.kc-accordion {border-top:1px solid var(--kw-line);margin-top:35px;}
.kc-accordion details {border-bottom:1px solid var(--kw-line);}
.kc-accordion summary {cursor:pointer;list-style:none;display:flex;align-items:center;gap:18px;font-size:clamp(19px,1.5vw,23px);padding:25px 0;line-height:1.35;}
.kc-accordion summary::-webkit-details-marker {display:none;}
.kc-accordion summary>span {font-size:11px;color:var(--kw-muted);}
.kc-accordion summary>b {margin-left:auto;font-weight:400;font-size:27px;transition:transform .25s;}
.kc-accordion details[open] summary>b {transform:rotate(45deg);}
.kc-accordion details[open] summary {color:var(--kw-accent);}
.kc-accordion details>div {padding:0 36px 24px 0;}
.kc-accordion p {margin-top:0;}
.kc-process article {padding:0 0 40px;margin:0 0 40px;border-bottom:1px solid var(--kw-line);}
.kc-process article:last-child {margin-bottom:0;}




.kc-project-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:75px 40px;margin-top:45px;padding-bottom: 70px;}
.kc-project .kc-media {aspect-ratio:1.12;}
.kc-project:nth-child(even) {transform:translateY(70px);}
.kc-project-grid {padding-bottom:90px;}
.kc-project:hover img {transform:scale(1.055);}
.kc-project-title {display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-top:24px;}
.kc-project-title h2 {font-size:clamp(28px,2.8vw,42px);margin:0;}
.kc-project-title>span {font-size:25px;}
.kc-project>p {font-size:12px;margin-top:10px;}
.kc-project>p>span {color:var(--kw-muted);}
[data-category][hidden] {display:none!important;}
.kc-case .kc-hero {padding-bottom:35px;}
.kc-case-meta {display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,.7fr);gap:6%;padding-bottom:60px;}
.kc-case-meta .kc-lead {margin-top:0;}
.kc-case-meta small {color:var(--kw-muted);}
.kc-case-meta p:not(.kc-lead) {font-size:14px;}
.kc-case-cover {aspect-ratio:1.9;}
.kc-case-detail img {height:auto;object-fit:contain;}
.kc-notice {padding:18px;border-left:2px solid var(--kw-accent);font-size:13px;background:color-mix(in srgb,var(--kw-accent) 5%,var(--kw-paper));}
.kc-palette {display:flex;gap:12px;margin-top:42px;}
.kc-palette>span {flex:1;min-width:0;}
.kc-palette i {display:block;height:90px;background:var(--swatch);border-radius:8px;margin-bottom:12px;border:1px solid var(--kw-line);}
.kc-palette small {font-size:10px;}
.kc-outcome {text-align:center;max-width:1150px;}
.kc-outcome h2 {font-size:clamp(37px,4.4vw,70px);}
.kc-next {padding-block:90px 160px;}
.kc-next>a {display:flex;align-items:center;gap:30px;justify-content:space-between;}
.kc-next h2 {font-size:clamp(56px,8vw,128px);margin:0;--next-fill:0%;background:linear-gradient(to bottom,var(--kw-accent) var(--next-fill),var(--kw-ink) var(--next-fill));background-clip:text;-webkit-background-clip:text;color:transparent;}
.kc-next a:hover h2 {--next-fill:100%!important;}
.kc-next a>span {font-size:clamp(48px,7vw,100px);}
.kc-story {max-width:1050px;}
.kc-story h2 {max-width:950px;}
.kc-story-copy {max-width:730px;margin:40px 0 0 auto;font-size:20px;}
.kc-values {text-align:center;}
.kc-values-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,360px) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,80px);margin-top:75px;position:relative;}
.kc-values-grid ul {list-style:none;padding:0;margin:0;display:grid;gap:36px;font-size:clamp(16px,1.5vw,24px);position:relative;z-index:5;}
.kc-photo-stack {height:460px;position:relative;margin:15px 0;}
.kc-photo-stack img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:16px;transform:rotate(calc((var(--i) - 1)*7deg));z-index:calc(3 - var(--i));box-shadow:0 10px 35px #0002;}
.kc-founder {display:flex;align-items:center;gap:30px;margin-top:55px;}
.kc-founder-mark {font:100px/.9 Georgia,serif;padding:35px 30px;background:var(--kw-ink);color:var(--kw-paper);border-radius:14px;}
.kc-founder h3 {margin-bottom:8px;}
.kc-contact-grid {display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:170px;padding-bottom:100px;}
.kc-contact h1 {font-size:clamp(54px,6vw,94px);}
.kc-contact-copy {position:sticky;top:50px;align-self:start;}
.kc-contact-email {font-size:clamp(16px,1.4vw,23px);display:inline-block;border-bottom:1px solid;padding-bottom:8px;margin:30px 0 45px;}
.kc-contact-place {display:flex;gap:18px;align-items:baseline;}
.kc-contact-place h3 {font-size:32px;margin-bottom:10px;}
.kc-contact-place p,.kc-contact-copy>p:last-child {font-size:13px;}
.kc-status-dot {width:8px;height:8px;display:inline-block;border-radius:50%;background:var(--kw-accent);flex-shrink:0;}
.kc-form-wrap h2 {font-size:38px;margin:0 0 36px;}
.kc-form-wrap .kw-form {padding:0;border:0;background:transparent;color:var(--kw-ink);}
.kc-form-note {font-size:11px;color:var(--kw-muted);margin-top:24px;}
.kc-form-note a {text-decoration:underline;}
.kc-article-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:70px 35px;}





.kc-article .kc-hero {max-width:1150px;text-align:center;padding-bottom:20px;}
.kc-article .kc-hero h1 {font-size:clamp(46px,6vw,96px);}
.kc-article .kc-hero .kc-lead {margin-inline:auto;}
.kc-article-byline {display:flex;gap:30px;justify-content:center;font-size:12px;padding-bottom:50px;}
.kc-article-cover {aspect-ratio:2.4;max-height:570px;}
.kc-reading-layout {display:grid;grid-template-columns:240px minmax(0,740px);justify-content:space-between;gap:10%;padding-block:75px 110px;}
.kc-toc {position:sticky;top:45px;align-self:start;display:flex;flex-direction:column;gap:16px;font-size:13px;}
.kc-toc small {text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px;color:var(--kw-muted);}
.kc-toc a {line-height:1.5;}
.kc-toc a:hover,.kc-toc a[aria-current=true] {color:var(--kw-accent);}
.kc-toc button {text-align:left;background:none;border:0;padding:15px 0;cursor:pointer;border-top:1px solid var(--kw-line);margin-top:15px;}
.kc-reading {font-size:18px;line-height: 1.8;}
.kc-reading h2 {font-size:clamp(31px,3.2vw,49px);margin-bottom:26px;}
.kc-reading section {scroll-margin-top:40px;margin-bottom:65px;}
.kc-related-links {margin-top:40px;}
.kc-related-links a {display:flex;justify-content:space-between;gap:20px;padding:25px 0;border-bottom:1px solid var(--kw-line);font-size:clamp(18px,2vw,27px);}
.kc-related-links a:hover {color:var(--kw-accent);}
.kc-pricing {display:grid;grid-template-columns:1fr;gap:0;}
.kc-price {border-top:1px solid var(--kw-line);padding-top:30px;display:grid;flex-direction:column;align-items:start;grid-template-columns: minmax(0,1fr) minmax(0,1fr);gap: 12%;padding: 60px 0;}
.kc-price h2 {font-size:clamp(37px,4vw,60px);}
.kc-price ul {padding-left:19px;margin-bottom:40px;font-size:14px;line-height:1.6;list-style: none;padding: 0;margin: 30px 0;}
.kc-price .ko-button {margin-top:16px;}
.kc-cta {padding-block:clamp(90px,11vw,165px);text-align:center;}
.kc-cta h2 {font-size:clamp(56px,7.8vw,120px);margin:25px 0 45px;}
.kc-studio-band {display:grid;grid-template-columns:1.5fr 1fr;align-items:end;padding:90px 0;border-top:1px solid var(--kw-line);gap:10%;}
.kc-studio-band .ko-eyebrow {display:inline-block;margin-left:10px;}
.kc-studio-band h2 {margin:20px 0 0;font-size:clamp(35px,4.5vw,72px);}
.kc-studio-band p {font-size:15px;line-height:1.6;}
.kc-studio-band .ko-button {margin-top:18px;}

.kc-demo-stage {margin-bottom:35px;aspect-ratio:1.8;}
.kc-demo-stage img {object-fit:contain;}
.kc-system-layout {display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;margin-top:55px;}
.kc-system-nodes {display:grid;gap:22px;position:relative;}
.kc-system-nodes:before {content:"";position:absolute;width:1px;top:0;bottom:0;left:35px;background:var(--kw-line);}
.kc-system-nodes button {position:relative;display:flex;align-items:center;gap:20px;padding:22px 25px;border:1px solid var(--kw-line);border-radius:14px;background:var(--kw-paper);cursor:pointer;text-align:left;font-size:20px;}
.kc-system-nodes button[aria-selected=true] {background:var(--kw-ink);color:var(--kw-paper);border-color:var(--kw-ink);}
.kc-system-nodes button span {font-size:11px;}
.kc-system-nodes button b {font-weight:400;margin-left:auto;}
.kc-system-panels {border-left:2px solid var(--kw-accent);padding-left:35px;}
@media(max-width:700px) {.kc-system-layout {grid-template-columns:1fr;gap:30px;}.kc-system-nodes {grid-template-columns:1fr 1fr;gap:10px;}.kc-system-nodes:before {display:none;}.kc-system-nodes button {padding:17px 12px;gap:10px;font-size:15px;}.kc-system-nodes button b {display:none;}.kc-system-panels {padding-left:20px;}}
@view-transition {navigation:auto;}
::view-transition-old(root) {animation:kc-exit .2s ease both;}
::view-transition-new(root) {animation:kc-enter .4s ease both;}
@keyframes kc-exit {to {opacity:0;filter:blur(3px);}}
@keyframes kc-enter {from {opacity:0;transform:translateY(12px);filter:blur(3px);}to {opacity:1;transform:none;filter:none;}}
.kc-hero--visual {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:7%;}
.kc-hero--visual h1 {font-size:clamp(52px,6.5vw,102px);max-width:12ch;}
.kc-hero--visual .kc-lead {max-width:50ch;font-size:clamp(17px,1.35vw,21px);}
.kc-hero-body {min-width:0;}
.kc-hero-art {position:relative;min-width:0;}
.kc-hero-art .kc-media {aspect-ratio:.88;transform:rotate(2deg);}
.kc-art-caption {display:block;margin-top:22px;font-size:9px;letter-spacing:.13em;color:var(--kw-muted);text-align:right;}
.kc-hero--visual .kc-tags {margin-top:30px;}
.kc-page>.kc-hero+.kc-section {padding-top:40px;}
.kc-page>.kc-section+.kc-section {border-top:1px solid var(--kw-line);}
.kc-process article .ko-eyebrow {display:inline-block;color:var(--kw-accent);margin-bottom:18px;}
.kc-process article h3 {max-width:24ch;}
.kc-project {position:relative;min-width:0;}
.kc-project-open {position:absolute;top:22px;right:22px;display:inline-flex;background:var(--kw-paper);color:var(--kw-ink);padding:11px 16px;border-radius:100px;font-size:12px;opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s;pointer-events:none;}
.kc-project:hover .kc-project-open,.kc-project:focus-visible .kc-project-open {opacity:1;transform:none;}
.kc-project-grid.is-filtered .kc-project {transform:translateY(var(--project-offset,0px));}
.kc-project-title>span {transition:transform .3s;}
.kc-project:hover .kc-project-title>span {transform:translate(3px,-3px);}
.kc-price-intro>p:not(.ko-eyebrow) {font-size:17px;max-width:48ch;}
.kc-price-detail>strong {font:400 clamp(35px,4vw,58px)/1.1 var(--kw-display);letter-spacing:-.04em;}
.kc-price li {border-bottom:1px solid var(--kw-line);padding:14px 0;}
.kc-price li:before {content:"↗";color:var(--kw-accent);margin-right:13px;}
.kc-form-wrap {padding:38px;border:1px solid var(--kw-line);border-radius:20px;background:color-mix(in srgb,var(--kw-paper) 96%,var(--kw-ink));}
.kc-business-support .kc-contact-grid {padding-top:var(--kc-gap);}
.kc-related-links {display:grid;grid-template-columns:1fr 1fr;gap:0 50px;}
.kc-related-links a {font-size:clamp(17px,1.65vw,23px);align-items:center;}
.kc-toc a {padding-left:14px;border-left:1px solid var(--kw-line);}
.kc-toc a[aria-current=true] {border-color:var(--kw-accent);}
.kw-menu__group--work {grid-column:1;grid-row:1;}
.kw-menu__group--insights {grid-column:1;grid-row:2;}
.kw-menu__group--studio {grid-column:1;grid-row:3;}
.kw-menu__group--services {grid-column:2;grid-row:1 / 4;}
.kw-menu__group.is-direct {align-self:start;}
.kw-menu__group--studio .kw-menu__group-links {grid-template-columns:repeat(3,max-content);gap:24px;}
@media(min-width:1500px) {.kc-shell {width:min(1600px,calc(100% - 128px));}}
@media(max-width:1000px) {.kc-shell {width:calc(100% - 48px);}.kc-split {gap:6%;}.kc-hero {padding-top:155px;}.kc-contact-grid {gap:5%;padding-top:150px;}.kc-contact h1 {font-size:60px;}.kc-article-grid {grid-template-columns:repeat(2,minmax(0,1fr));}.kc-values-grid {gap:20px;}.kc-photo-stack {height:380px;}.kc-reading-layout {grid-template-columns:210px minmax(0,1fr);gap:40px;}}
@media(max-width:700px) {.kc-shell {width:calc(100% - 36px);}.kc-hero {padding-top:130px;padding-bottom:32px;}.kc-page h1 {font-size:clamp(46px,12vw,80px);margin:20px 0 26px;}.kc-page h2 {font-size:38px;}.kc-page h3 {font-size:29px;}.kc-section {padding-block:55px;}.kc-split,.kc-service-top,.kc-case-meta,.kc-contact-grid,.kc-reading-layout,.kc-studio-band {grid-template-columns:1fr;gap:30px;}.kc-sticky,.kc-contact-copy,.kc-toc {position:static;}.kc-lead {font-size:19px;}.kc-service-top {gap:12px;}.kc-service-art {aspect-ratio:1.3;}.kc-service-row {grid-template-columns:22px minmax(0,1fr) 25px;gap:13px;padding:25px 0;font-size:24px;}.kc-service-row small,.kc-row-preview {display:none;}.kc-service-symbol {font-size:23px;}.kc-service-row:hover {padding-left:8px;}.kc-project-grid {grid-template-columns:1fr;gap:45px;margin-top:30px;padding-bottom:0;}.kc-project:nth-child(even) {transform:none;}.kc-project-title h2 {font-size:31px;}.kc-case-cover {aspect-ratio:1.2;}.kc-case-meta {gap:20px;padding-bottom:30px;}.kc-case-meta>div {border-top:1px solid var(--kw-line);padding-top:16px;}.kc-palette {gap:7px;}.kc-next {padding-block:60px 90px;}.kc-next h2 {font-size:48px;}.kc-story-copy {font-size:18px;margin-top:25px;}.kc-values-grid {grid-template-columns:1fr 1fr;gap:25px;margin-top:35px;}.kc-photo-stack {grid-column:1/-1;grid-row:1;height:min(40svh,330px);width:min(65%,270px);margin:20px auto;}.kc-values-grid ul {font-size:14px;gap:14px;}.kc-founder {gap:18px;}.kc-founder-mark {font-size:70px;padding:30px 20px;}.kc-contact-grid {padding-top:130px;padding-bottom:25px;gap:50px;}.kc-form-wrap h2 {font-size:33px;}.kc-contact-email {margin:15px 0 25px;}.kc-contact-place h3 {font-size:28px;}.kc-article-grid {grid-template-columns:1fr;gap:45px;}.kc-article .kc-hero {text-align:left;}.kc-article .kc-hero h1 {font-size:46px;}.kc-article-byline {justify-content:flex-start;font-size:11px;}.kc-article-cover {aspect-ratio:1.5;}.kc-reading-layout {padding-block:45px 60px;}.kc-toc {padding-bottom:25px;border-bottom:1px solid var(--kw-line);}.kc-reading {font-size:17px;}.kc-reading h2 {font-size:32px;}.kc-cta {padding-block:90px;}.kc-cta h2 {font-size:58px;}.kc-studio-band {padding-block:55px;}.kc-studio-band h2 {font-size:44px;}.kc-demo-stage {aspect-ratio:1.15;}}
@media(prefers-reduced-motion:reduce) {*,*::before,*::after {scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important;}::view-transition-old(root),::view-transition-new(root) {animation:none;}}

.screen-reader-text {position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.kw-choice input:focus-visible + span {outline:2px solid var(--kw-accent);outline-offset:3px;}
.ko-nav a[aria-current="page"] {color:var(--kw-accent);}
@media(max-width:1000px) {.kc-hero--visual {grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:5%;}.kc-hero--visual h1 {font-size:clamp(47px,6.5vw,70px);}.kc-contact-grid {gap:5%;}.kc-form-wrap {padding:26px;}.kc-pricing {grid-template-columns:1fr;}.kc-price {grid-template-columns:1fr 1fr;gap:8%;}.kc-reading-layout {gap:45px;}}
@media(max-width:700px) {.kc-hero--visual {grid-template-columns:1fr;gap:30px;}.kc-hero--visual h1 {font-size:clamp(44px,11.5vw,70px);max-width:100%;}.kc-hero-art {width:100%;}.kc-hero-art .kc-media {aspect-ratio:1.35;transform:none;}.kc-art-caption {margin-top:14px;font-size:8px;}.kc-hero--visual .kc-tags {margin:24px 0 0;}.kc-page>.kc-hero+.kc-section {padding-top:30px;}.kc-project-grid.is-filtered .kc-project {transform:none;}.kc-project-open {opacity:1;transform:none;top:14px;right:14px;font-size:10px;padding:9px 13px;}.kc-price {display:block;padding:38px 0;}.kc-price-detail {margin-top:30px;}.kc-price h2 {font-size:38px;}.kc-price-intro>p:not(.ko-eyebrow) {font-size:16px;}.kc-form-wrap {padding:25px 18px;}.kc-contact-grid {padding-top:130px;}.kc-reading-layout {gap:30px;}.kc-related-links {grid-template-columns:1fr;gap:0;}.kw-menu__panel {width:calc(100% - 40px);padding:22px 0;}.kw-menu__nav {grid-template-columns:1fr;gap:25px;padding:35px 0;}.kw-menu__group {grid-column:auto;grid-row:auto;gap:15px;padding-bottom:22px;}.kw-menu__group-title {font-size:37px;}.kw-menu__group-links {gap:5px;}.kw-menu__group-links a {font-size:14px;}.kw-menu__group--studio .kw-menu__group-links {gap:20px;}.kw-menu__bottom {flex-wrap:wrap;font-size:10px;}}
/* Coordinated values and editorial service layouts. */
.kc-values-grid li {--value-fill:0%;background:linear-gradient(to right,#d83232 var(--value-fill),var(--kw-ink) var(--value-fill));background-clip:text;-webkit-background-clip:text;color:transparent;}
.kc-service-hero {padding-block:clamp(145px,13vw,200px) clamp(45px,5vw,80px);}
.kc-service-heading {display:flex;align-items:center;gap:clamp(20px,4vw,65px);margin:35px 0;}
.kc-service-heading>span {font-size:clamp(60px,8vw,130px);color:var(--kw-accent);line-height:1;}
.kc-service-heading h1 {font-size:clamp(54px,7.4vw,118px);line-height:1.02;letter-spacing:-.055em;margin:0;max-width:16ch;}
.kc-service-hero .kc-tags {margin-left:clamp(80px,12vw,195px);}
.kc-service-hero>.kc-lead {max-width:720px;margin-top:40px;}
.kc-service-intro {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,8vw,130px);align-items:start;padding-top:25px;}
.kc-service-intro>.kc-lead {max-width:46ch;font-size:clamp(21px,2vw,30px);}
.kc-service-intro .kc-accordion summary {font-size:clamp(19px,1.8vw,27px);padding-block:26px;}
.kc-service-feature {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:clamp(35px,8vw,130px);align-items:center;}
.kc-service-feature>.kc-media {aspect-ratio:.83;border-radius:16px;}
.kc-service-feature h2 {font-size:clamp(38px,4.5vw,70px);}
.kc-service-feature .ko-button {margin-top:30px;}
@media(max-width:767px){.kc-service-heading {gap:16px;align-items:flex-start;margin-block:28px;}.kc-service-heading>span {font-size:44px;}.kc-service-heading h1 {font-size:clamp(39px,9vw,65px);overflow-wrap:anywhere;}.kc-service-hero .kc-tags {margin-left:0;}.kc-service-intro,.kc-service-feature {grid-template-columns:1fr;gap:30px;}.kc-service-feature>.kc-media {aspect-ratio:1.1;}}
@media(prefers-reduced-motion:reduce){.kc-values-grid li {background:none;color:var(--kw-ink);}}
@media(forced-colors:active){.kc-values-grid li {background:none;color:CanvasText;}}


/* v13.1.4 — article artwork + homepage work-card image fit */



.kc-article-cover{
  aspect-ratio:16 / 9;
  max-height:none;
}
.kc-article-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.ko-project-media img{
  object-fit:cover;
  object-position:center center;
}
@media (max-width:700px){
  .kc-article-cover{aspect-ratio:16 / 9;}}


/* v13.1.5 — Work image positioning + sharpness
   Full-page website screenshots should start at the top, not the middle.
   Avoid browser resampling/blur from hover zooms on portfolio and case-study imagery. */
.kc-project .kc-media img,
.kc-case-cover img{
  object-fit:cover;
  object-position:center top;
  transform:none;
  filter:none;
  image-rendering:auto;
}
.kc-project:hover .kc-media img{
  transform:none;
}
.kc-case-detail img{
  object-position:center top;
  transform:none;
  filter:none;
  image-rendering:auto;
}


/* v13.1.6 — mobile menu hierarchy */
@media(max-width:700px){.kw-menu__group--studio{order:1;}.kw-menu__group--work{order:2;}.kw-menu__group--services{order:3;}.kw-menu__group--insights{order:4;}}


/* v13.1.8 — homepage stack marquee */
.ko-tech-strip {
  padding-top: 18px;
  padding-bottom: 0;
}
.ko-tech-strip__inner {
  width: min(100%, 570px);
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%);
}
.ko-tech-strip__track {
  display: flex;
  width: max-content;
  align-items: center;
  gap: 24px;
  animation: kw-marquee 26s linear infinite;
}
.ko-tech-strip__group {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-shrink: 0;
}
.ko-tech-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
  color: color-mix(in srgb, var(--kw-ink) 78%, white 22%);
  font-size: 15px;
  line-height: 1;
  letter-spacing: .02em;
}
.ko-tech-item i {
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 18px;
  position: relative;
}
.ko-tech-item b {
  font: inherit;
  font-weight: 500;
}
.ko-tech-item--vercel i::before {
  content: "";
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 12px solid currentColor;
  transform: translateY(-1px);
}
.ko-tech-item--wordpress i {
  border: 1.25px solid currentColor;
  border-radius: 50%;
  font: 700 11px/1 Georgia, serif;
}
.ko-tech-item--wordpress i::before {content: "W";}
.ko-tech-item--php i,
.ko-tech-item--gsap i {
  width: 24px;
  flex-basis: 24px;
  border: 1.25px solid currentColor;
  border-radius: 999px;
  font: 700 8px/1.1 Inter, Arial, sans-serif;
  letter-spacing: .08em;
}
.ko-tech-item--php i::before {content: "PHP";}
.ko-tech-item--gsap i::before {content: "GS";}
.ko-tech-item--javascript i,
.ko-tech-item--html5 i,
.ko-tech-item--css3 i {
  border-radius: 4px;
  border: 1.25px solid currentColor;
  font: 700 8px/1 Inter, Arial, sans-serif;
  letter-spacing: .05em;
}
.ko-tech-item--javascript i::before {content: "JS";}
.ko-tech-item--html5 i::before {content: "H5";}
.ko-tech-item--css3 i::before {content: "C3";}
.ko-tech-item--webgl i::before,
.ko-tech-item--webgl i::after {
  content: "";
  position: absolute;
  inset: 3px;
  border: 1.2px solid currentColor;
  border-radius: 3px;
  transform: rotate(45deg);
}
.ko-tech-item--webgl i::after {
  inset: 6px;
}
.ko-tech-strip + .ko-intro {
  padding-top: 56px;
}
@media (prefers-reduced-motion: reduce) {.ko-tech-strip__track {animation: none;}}
@media(max-width:700px){.ko-tech-strip {padding-top: 0;}.ko-tech-strip__inner {width:min(100%, 440px);}.ko-tech-strip__track,
  .ko-tech-strip__group {gap: 18px;}.ko-tech-item {font-size: 14px;}.ko-tech-strip + .ko-intro {padding-top: 40px;}}


/* v13.1.9 — Web Design service artwork */
.kc-service-feature--web-design > .kc-media{
  justify-self:center;
  width:100%;
}
.kc-service-feature--web-design > .kc-media img{
  object-fit:cover;
  object-position:center center;
}


/* v13.1.11 — Web Design artwork correction + About duplicate fix */
.kc-service-feature--web-design > .kc-media{
  width:100%;
  aspect-ratio:4 / 3;
  align-self:center;
  justify-self:center;
}
.kc-service-feature--web-design > .kc-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}


/* v13.1.12 — exact supplied Web Design + About artwork */
.kc-service-feature--web-design > .kc-media{
  width:100%;
  aspect-ratio:4 / 3;
  align-self:center;
  justify-self:center;
}
.kc-service-feature--web-design > .kc-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}


/* v13.1.13 — expanded Studio utility pages */
.kc-inline-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}


/* v13.1.14 — consent panel only; no homepage intro */
.kw-consent{
  position:fixed;
  left:12px;
  bottom:12px;
  z-index:1300;
  width:min(455px,calc(100% - 24px));
  color:#171717;
  background:#fff;
  border:1px solid #dedede;
  border-radius:14px;
  box-shadow:0 16px 42px rgba(0,0,0,.18);
  overflow:hidden;
}
.kw-consent[hidden],
.kw-consent__prefs[hidden]{display:none!important}
.kw-consent__main{padding:18px}
.kw-consent h2{
  margin:0 0 12px;
  font:600 18px/1.2 Arial,sans-serif;
  letter-spacing:-.02em;
}
.kw-consent p{
  margin:0 0 17px;
  font:400 11.5px/1.52 Arial,sans-serif;
  color:#4b4b4b;
}
.kw-consent__actions{
  display:grid;
  grid-template-columns:1fr 1fr 1.15fr;
  gap:8px;
}
.kw-consent button{
  min-height:40px;
  padding:9px 11px;
  border:1px solid #d9d9d9;
  border-radius:9px;
  background:#fff;
  color:#171717;
  font:500 11px/1.2 Arial,sans-serif;
  cursor:pointer;
}
.kw-consent button:hover{background:#f5f5f5}
.kw-consent button.kw-consent__primary{
  border-color:#171717;
  background:#171717;
  color:#fff;
}
.kw-consent button.kw-consent__primary:hover{background:#2b2b2b}
.kw-consent__prefs{
  border-top:1px solid #e8e8e8;
  padding:0 18px 18px;
}
.kw-consent__pref{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:15px 0;
  border-bottom:1px solid #ececec;
}
.kw-consent__pref strong{
  display:block;
  margin-bottom:3px;
  font:600 12px/1.2 Arial,sans-serif;
}
.kw-consent__pref span{
  display:block;
  font:400 10.5px/1.35 Arial,sans-serif;
  color:#666;
}
.kw-consent__always{
  white-space:nowrap;
  font-weight:600!important;
  color:#171717!important;
}
.kw-consent__switch{
  position:relative;
  width:38px;
  height:22px;
  flex:0 0 38px;
}
.kw-consent__switch input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.kw-consent__switch>span:not(.screen-reader-text){
  position:absolute;
  inset:0;
  border-radius:999px;
  background:#d1d1d1;
  transition:.2s ease;
  cursor:pointer;
}
.kw-consent__switch>span:not(.screen-reader-text)::after{
  content:"";
  position:absolute;
  width:16px;
  height:16px;
  top:3px;
  left:3px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.2);
  transition:.2s ease;
}
.kw-consent__switch input:checked + span{
  background:#171717;
}
.kw-consent__switch input:checked + span::after{
  transform:translateX(16px);
}
.kw-consent__pref-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-top:15px;
}
.kw-consent__pref-actions a{
  color:#333;
  font:500 10.5px/1.2 Arial,sans-serif;
  text-decoration:underline;
  text-underline-offset:2px;
}
.kw-consent__pref-actions button{min-width:130px}
@media(max-width:560px){.kw-consent{
    left:10px;
    bottom:10px;
    width:calc(100% - 20px);
    border-radius:13px;
  }.kw-consent__main{padding:16px}.kw-consent__actions{
    grid-template-columns:1fr 1fr;
  }.kw-consent__actions [data-kw-consent-preferences]{
    grid-column:1 / -1;
  }}


/* v13.2.0 — plugin-managed rich content */
.kc-rich-content > *:first-child{margin-top:0}
.kc-rich-content h2{font-size:clamp(30px,3vw,48px);margin:1.5em 0 .45em}
.kc-rich-content h3{font-size:clamp(22px,2vw,32px);margin:1.35em 0 .45em}
.kc-rich-content p,.kc-rich-content li{font-size:17px;line-height:1.75}
.kc-rich-content ul,.kc-rich-content ol{padding-left:1.25em}
.kc-rich-content blockquote{margin:2em 0;padding-left:22px;border-left:2px solid var(--kw-accent)}


/* v13.2.8 — continuous hero orbit + site-wide scroll reveals */
.motion-ready .kw-scroll-reveal{
  opacity:0;
  filter:blur(9px);
  translate:0 28px;
  transition:
    opacity .9s cubic-bezier(.22,.61,.36,1) var(--kw-reveal-delay,0ms),
    filter 1s cubic-bezier(.22,.61,.36,1) var(--kw-reveal-delay,0ms),
    translate 1s cubic-bezier(.16,1,.3,1) var(--kw-reveal-delay,0ms);
  will-change:opacity,filter,translate;
}
.motion-ready .kw-scroll-reveal.kw-scroll-heading{
  filter:blur(12px);
  translate:0 38px;
  transition-duration:1s,1.05s,1.08s;
}
.motion-ready .kw-scroll-reveal.is-revealed{
  opacity:1;
  filter:blur(0);
  translate:0 0;
  will-change:auto;
}
@media (max-width:700px){.motion-ready .kw-scroll-reveal{translate:0 22px;filter:blur(7px);}.motion-ready .kw-scroll-reveal.kw-scroll-heading{translate:0 30px;filter:blur(10px);}.motion-ready .kw-scroll-reveal.is-revealed{translate:0 0;filter:blur(0);}}
@media (prefers-reduced-motion:reduce){.motion-ready .kw-scroll-reveal,
  .motion-ready .kw-scroll-reveal.kw-scroll-heading{
    opacity:1!important;filter:none!important;translate:none!important;transition:none!important;
  }}

/* 13.2.12: Business Support title markup and comfortable line spacing. */
.kc-business-support .kc-service-heading{align-items:flex-start;}
.kc-business-support .kc-service-heading>span{flex-shrink:0;margin-top:.08em;}
.kc-business-support .kc-service-heading h1{font-size:clamp(48px,6.5vw,104px);line-height:1.08;max-width:19ch;min-width:0;overflow-wrap:normal;}
.kc-business-support .kc-service-heading h1 em{color:var(--kw-accent);}
@media(max-width:700px){.kc-business-support .kc-service-heading h1{font-size:clamp(34px,8.3vw,58px);max-width:100%;}.kc-business-support .kc-service-heading{gap:16px;}}

/* 13.2.14 — momentum-safe touch reveals; no blur or translated scroll layers. */
@media (hover:none), (pointer:coarse){html{scroll-behavior:auto;}.motion-ready .kw-scroll-reveal,
  .motion-ready .kw-scroll-reveal.kw-scroll-heading{filter:none!important;translate:none!important;will-change:auto;transition:opacity .7s ease var(--kw-reveal-delay,0ms)!important;}.motion-ready .kw-scroll-reveal.is-revealed{opacity:1;filter:none!important;translate:none!important;}.ko-project:hover img{transform:none;}}

/* 13.2.15 — connected Kingdom Grow pricing and PPC offer. */
.kc-grow-offer{scroll-margin-top:100px;}
.kc-grow-offer .kc-price{margin:0;padding:55px 0;border-top:1px solid var(--kw-line);border-bottom:1px solid var(--kw-line);}
.kc-grow-offer .kc-price-intro h2{font-size:clamp(42px,4.5vw,70px);line-height:1.08;}
.kc-grow-offer .kc-price-intro h2 em{color:var(--kw-accent);}
.kc-grow-offer .kc-grow-fit{font-size:15px;color:var(--kw-muted);margin-top:25px;}
.kc-grow-offer .kc-grow-period{font:400 16px/1.5 var(--kw-sans);letter-spacing:0;white-space:nowrap;}
.kc-grow-offer .kc-grow-spend{font-size:15px;margin:0 0 14px;color:var(--kw-muted);}
.kc-grow-offer .kc-grow-scope{font-size:13px;line-height:1.65;color:var(--kw-muted);margin:15px 0 25px;}
.kc-grow-related{display:block;width:fit-content;margin-top:22px;padding-bottom:5px;border-bottom:1px solid var(--kw-line);font-size:14px;}
.kc-grow-related>span{margin-left:14px;}
.kc-grow-offer .ko-button{max-width:100%;white-space:normal;}
.kc-grow-offer .ko-button>span{flex-shrink:0;}
@media(max-width:700px){.kc-grow-offer .kc-price{padding:30px 0;gap:30px;}.kc-grow-offer .kc-price-intro h2{font-size:42px;}.kc-grow-offer .kc-price-detail>strong{font-size:48px;}.kc-grow-offer .ko-button{font-size:13px;}}

/* Pricing: one separator per offer, quiet inclusion lists, website build first. */
.kc-pricing-page>.kc-pricing{padding-bottom:0;border-top:0}
.kc-pricing-page>.kc-pricing>.kc-price:first-child{border-top:0;padding-top:0}
.kc-pricing-page>.kc-pricing+.kc-grow-offer{padding-top:0;border-top:0}
.kc-pricing-page .kc-grow-offer .kc-price{border-bottom:0}
.kc-pricing-page .kc-price li{border:0;padding:9px 0}
