.keet-concept {
  --asphalt: #140508;
  --white: #ffffff;
  --maroon: #5a0f1c;
  --grape: #aa314b;
  --maroon-25: #d6c3c7;
  --paper: #f3f0ec;
  --ink-muted: #645a5c;
  --line: rgba(20, 5, 8, 0.16);
  --container: min(1248px, calc(100vw - 96px));
  --sans: "Poppins", sans-serif;
  --serif: "Source Serif 4", serif;
}

*.keet-concept, .keet-concept * {
  box-sizing: border-box;
}

.keet-concept {
  margin: 0;
  background: var(--white);
  color: var(--asphalt);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

body.keet-menu-open {
  overflow: hidden;
}

.keet-concept a {
  color: inherit;
  text-decoration: none;
}

.keet-concept img {
  display: block;
  max-width: 100%;
}

.keet-concept button,
.keet-concept a {
  -webkit-tap-highlight-color: transparent;
}

.keet-container {
  width: var(--container);
  margin-inline: auto;
}

.keet-section {
  padding: 144px 0;
}

.scroll-progress {
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  height: 3px;
  background: transparent;
}

.scroll-progress span {
  display: block;
  width: 0;
  height: 100%;
  background: var(--grape);
}

.keet-site-header {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 20;
  width: var(--container);
  min-height: 112px;
  display: grid;
  grid-template-columns: 212px 1fr 212px;
  align-items: center;
  transform: translateX(-50%);
  color: var(--white);
  border-bottom: 1px solid rgba(255, 255, 255, 0.24);
}

.keet-brand {
  width: 154px;
}

.keet-desktop-nav {
  justify-self: center;
  display: flex;
  gap: 40px;
  font-size: 13px;
  font-weight: 500;
}

.keet-desktop-nav a,
.keet-footer a {
  transition: color 180ms ease;
}

.keet-desktop-nav a:hover,
.keet-footer a:hover {
  color: var(--grape);
}

.keet-header-cta {
  justify-self: end;
  min-width: 174px;
  padding: 14px 20px;
  border: 1px solid rgba(255, 255, 255, 0.72);
  text-align: center;
  font-size: 12px;
  font-weight: 500;
  transition: background 180ms ease, color 180ms ease;
}

.keet-header-cta:hover {
  background: var(--white);
  color: var(--asphalt);
}

.keet-menu-toggle,
.keet-mobile-menu {
  display: none;
}

.keet-hero {
  position: relative;
  min-height: 920px;
  height: 100svh;
  max-height: 1080px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  color: var(--white);
  background: var(--asphalt);
}

.keet-hero-media,
.keet-hero-shade,
.keet-closing-media,
.keet-closing-shade {
  position: absolute;
  inset: 0;
}

.keet-hero-media img,
.keet-closing-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.keet-hero-shade {
  background:
    linear-gradient(90deg, rgba(20, 5, 8, 0.88) 0%, rgba(20, 5, 8, 0.45) 48%, rgba(20, 5, 8, 0.16) 76%),
    linear-gradient(0deg, rgba(20, 5, 8, 0.8) 0%, transparent 48%);
}

.keet-hero-content {
  position: relative;
  z-index: 2;
  padding: 208px 0 108px;
}

.keet-eyebrow {
  margin: 0 0 32px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.keet-eyebrow.light {
  color: rgba(255, 255, 255, 0.74);
}

.keet-hero h1 {
  max-width: 1000px;
  margin: 0;
  font-size: clamp(64px, 7.3vw, 112px);
  font-weight: 500;
  line-height: 0.96;
  letter-spacing: -0.045em;
}

.keet-hero-lower {
  width: 100%;
  margin-top: 64px;
  display: grid;
  grid-template-columns: minmax(280px, 480px) 1fr;
  gap: 72px;
  align-items: end;
}

.keet-hero-lower > p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 16px;
  line-height: 1.7;
}

.keet-button-row {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}

.keet-button {
  min-height: 54px;
  padding: 16px 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  font-size: 12px;
  font-weight: 600;
  transition: transform 180ms ease, background 180ms ease, color 180ms ease;
}

.keet-button:hover {
  transform: translateY(-2px);
}

.keet-button-primary {
  background: var(--grape);
  color: var(--white);
}

.keet-button-primary:hover {
  background: var(--maroon);
}

.keet-button-secondary {
  border-color: rgba(255, 255, 255, 0.56);
  color: var(--white);
}

.keet-button-secondary:hover,
.keet-button-light {
  background: var(--white);
  color: var(--asphalt);
}

.keet-hero-index {
  position: absolute;
  right: 28px;
  bottom: 40px;
  z-index: 3;
  display: flex;
  gap: 28px;
  align-items: center;
  color: rgba(255, 255, 255, 0.62);
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  writing-mode: vertical-rl;
}

.keet-section-kicker {
  min-height: 44px;
  margin-bottom: 80px;
  display: flex;
  align-items: center;
  gap: 24px;
  border-bottom: 1px solid var(--line);
  color: var(--ink-muted);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.keet-section-kicker span:first-child {
  color: var(--grape);
}

.keet-section-kicker.inverse {
  border-color: rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.58);
}

.keet-editorial-title {
  max-width: 1040px;
  margin: 0;
  font-size: clamp(58px, 6.8vw, 104px);
  font-weight: 500;
  line-height: 1.03;
  letter-spacing: -0.05em;
}

.keet-editorial-title em,
.keet-projects-heading h2 em,
.keet-closing h2 em {
  font-family: var(--serif);
  font-weight: 400;
  font-style: italic;
}

.keet-intro-grid {
  margin-top: 112px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 120px;
}

.keet-intro-mark {
  min-height: 470px;
  display: grid;
  place-items: center;
  background: var(--paper);
  overflow: hidden;
}

.keet-intro-mark img {
  width: 46%;
  transform: rotate(-7deg) scale(1.35);
}

.keet-intro-copy {
  max-width: 540px;
  padding-top: 24px;
}

.keet-intro-copy p {
  margin: 0 0 22px;
  color: var(--ink-muted);
  font-size: 16px;
}

.keet-intro-copy .lead {
  margin-bottom: 34px;
  color: var(--asphalt);
  font-family: var(--serif);
  font-size: 30px;
  line-height: 1.35;
}

.keet-text-link {
  margin-top: 24px;
  display: inline-block;
  padding-bottom: 6px;
  border-bottom: 1px solid currentColor;
  font-size: 12px;
  font-weight: 600;
}

.keet-values {
  background: var(--asphalt);
  color: var(--white);
}

.keet-values-heading {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 80px;
  align-items: end;
}

.keet-values-heading h2,
.keet-process-intro h2,
.keet-projects-heading h2,
.keet-team-content h2 {
  margin: 0;
  font-size: clamp(48px, 5.2vw, 76px);
  font-weight: 500;
  line-height: 1.04;
  letter-spacing: -0.045em;
}

.keet-values-heading p,
.keet-projects-heading p {
  margin: 0;
  color: rgba(255, 255, 255, 0.64);
  font-size: 14px;
}

.keet-value-grid {
  margin-top: 96px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.keet-value-card {
  min-height: 438px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.keet-value-card-accent {
  background: var(--maroon);
}

.keet-value-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  color: rgba(255, 255, 255, 0.42);
  font-size: 11px;
}

.keet-value-card-top img {
  width: 32px;
  height: 32px;
  object-fit: contain;
  filter: invert(1);
}

.keet-value-card h3 {
  margin: auto 0 20px;
  font-size: 28px;
  font-weight: 500;
}

.keet-value-card p {
  margin: 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 13px;
  line-height: 1.7;
}

.keet-process {
  background: var(--paper);
}

.keet-process-layout {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  gap: 140px;
}

.keet-process-intro {
  align-self: start;
}

.keet-process-intro .keet-section-kicker {
  margin-bottom: 72px;
}

.keet-process-intro p {
  max-width: 520px;
  margin: 44px 0 0;
  color: var(--ink-muted);
}

.keet-process-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line);
}

.keet-process-list li {
  min-height: 206px;
  padding: 40px 0;
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 28px;
  border-bottom: 1px solid var(--line);
}

.keet-step-number {
  padding-top: 4px;
  color: var(--grape);
  font-family: var(--serif);
  font-size: 30px;
  font-style: italic;
}

.keet-process-list h3 {
  margin: 0 0 18px;
  font-size: 24px;
  font-weight: 500;
}

.keet-process-list p {
  max-width: 520px;
  margin: 0;
  color: var(--ink-muted);
  font-size: 14px;
}

.keet-projects {
  background: var(--maroon);
  color: var(--white);
}

.keet-projects-heading {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 80px;
  align-items: end;
}

.keet-project-grid {
  margin-top: 96px;
  display: grid;
  grid-template-columns: 1.35fr 0.88fr;
  gap: 32px;
  align-items: start;
}

.keet-project-card-small {
  margin-top: 144px;
}

.keet-project-image {
  position: relative;
  overflow: hidden;
  background: var(--asphalt);
}

.keet-project-card-large .keet-project-image {
  aspect-ratio: 1.25 / 1;
}

.keet-project-card-small .keet-project-image {
  aspect-ratio: 0.92 / 1;
}

.keet-project-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 650ms cubic-bezier(0.2, 0.65, 0.3, 1);
}

.keet-project-card:hover .keet-project-image img {
  transform: scale(1.035);
}

.keet-project-meta {
  padding: 28px 0 0;
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 24px;
}

.keet-project-meta > div {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.keet-project-meta span,
.keet-project-meta dt {
  color: rgba(255, 255, 255, 0.5);
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.keet-project-meta strong {
  font-size: 24px;
  font-weight: 500;
}

.keet-project-meta dl {
  margin: 0;
  display: grid;
  gap: 10px;
}

.keet-project-meta dl div {
  display: grid;
  grid-template-columns: 94px 1fr;
  gap: 12px;
  align-items: baseline;
}

.keet-project-meta dd {
  margin: 0;
  font-size: 11px;
}

.keet-projects-action {
  margin-top: 96px;
  display: flex;
  justify-content: center;
}

.keet-team {
  min-height: 860px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: var(--white);
}

.keet-team-visual {
  position: relative;
  min-height: 860px;
  padding: 64px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  background: var(--grape);
  color: var(--white);
}

.keet-team-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, transparent 20%, rgba(90, 15, 28, 0.74));
}

.keet-team-visual img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 74%;
  max-width: 600px;
  transform: translate(-50%, -50%) rotate(-8deg);
}

.keet-team-visual span {
  position: relative;
  z-index: 1;
  margin-top: auto;
  font-family: var(--serif);
  font-size: 36px;
  line-height: 1.18;
}

.keet-team-content {
  padding: 112px clamp(48px, 7vw, 120px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.keet-team-content .keet-section-kicker {
  margin-bottom: 72px;
}

.keet-team-content h2 {
  max-width: 640px;
}

.keet-team-content > p {
  max-width: 590px;
  margin: 40px 0 0;
  color: var(--ink-muted);
}

.keet-team-names {
  margin: 52px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  list-style: none;
}

.keet-team-names li {
  display: flex;
  flex-direction: column;
  gap: 14px;
  font-size: 12px;
  font-weight: 500;
}

.keet-team-names li span {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  color: var(--grape);
  font-size: 11px;
}

.keet-closing {
  position: relative;
  min-height: 820px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  color: var(--white);
  background: var(--asphalt);
}

.keet-closing-media img {
  transform: scale(1.07);
  filter: saturate(0.72);
}

.keet-closing-shade {
  background: linear-gradient(90deg, rgba(20, 5, 8, 0.9) 0%, rgba(90, 15, 28, 0.7) 50%, rgba(20, 5, 8, 0.45));
}

.keet-closing-content {
  position: relative;
  z-index: 2;
  padding: 132px 0 110px;
}

.keet-closing h2 {
  margin: 0;
  font-size: clamp(72px, 9vw, 142px);
  font-weight: 500;
  line-height: 0.86;
  letter-spacing: -0.055em;
}

.keet-closing-lower {
  margin-top: 72px;
  display: grid;
  grid-template-columns: minmax(300px, 500px) 1fr;
  gap: 80px;
  align-items: end;
}

.keet-closing-lower p {
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
}

.keet-closing-lower .keet-button {
  justify-self: end;
}

.keet-footer {
  padding: 96px 0 28px;
  background: var(--asphalt);
  color: var(--white);
}

.keet-footer-top {
  padding-bottom: 80px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.keet-footer-top img {
  width: 210px;
}

.keet-footer-top p {
  max-width: 560px;
  margin: 0;
  font-family: var(--serif);
  font-size: 38px;
  line-height: 1.18;
}

.keet-footer-links {
  padding: 68px 0 84px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 64px;
}

.keet-footer-links > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.keet-footer-links span {
  margin-bottom: 14px;
  color: rgba(255, 255, 255, 0.4);
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.keet-footer-links a,
.keet-footer-links p {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
}

.keet-footer-bottom {
  padding-top: 24px;
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 32px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.44);
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

@media (max-width: 1080px) {
  .keet-concept {
    --container: min(100% - 56px, 920px);
  }

  .keet-site-header {
    grid-template-columns: 180px 1fr 180px;
  }

  .keet-desktop-nav {
    gap: 24px;
  }

  .keet-hero-lower,
  .keet-values-heading,
  .keet-projects-heading {
    grid-template-columns: 1fr;
  }

  .keet-button-row {
    justify-content: flex-start;
  }

  .keet-intro-grid,
  .keet-process-layout {
    gap: 64px;
  }

  .keet-value-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .keet-project-grid {
    grid-template-columns: 1fr 1fr;
  }

  .keet-project-card-small {
    margin-top: 80px;
  }

  .keet-team {
    grid-template-columns: 0.85fr 1.15fr;
  }
}

@media (max-width: 760px) {
  .keet-concept {
    --container: calc(100% - 40px);
  }

  .keet-section {
    padding: 92px 0;
  }

  .keet-site-header {
    left: 20px;
    min-height: 82px;
    grid-template-columns: 1fr auto;
    transform: none;
  }

  .keet-brand {
    position: relative;
    z-index: 2;
    width: 118px;
  }

  .keet-desktop-nav,
  .keet-header-cta {
    display: none;
  }

  .keet-menu-toggle {
    position: relative;
    z-index: 2;
    display: block;
    padding: 10px 0;
    border: 0;
    background: transparent;
    color: inherit;
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
  }

  .keet-mobile-menu {
    position: fixed;
    inset: 0;
    z-index: 1;
    padding: 140px 20px 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    background: var(--asphalt);
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease;
  }

  .keet-mobile-menu a {
    font-size: 36px;
    font-weight: 500;
  }

  .menu-open .keet-mobile-menu {
    opacity: 1;
    pointer-events: auto;
  }

  .keet-hero {
    min-height: 820px;
    height: auto;
  }

  .keet-hero-content {
    padding: 164px 0 70px;
  }

  .keet-hero h1 {
    font-size: clamp(48px, 14vw, 68px);
  }

  .keet-hero-lower,
  .keet-closing-lower {
    margin-top: 44px;
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .keet-button-row {
    flex-direction: column;
  }

  .keet-button {
    width: 100%;
  }

  .keet-hero-index {
    display: none;
  }

  .keet-section-kicker {
    margin-bottom: 52px;
  }

  .keet-editorial-title {
    font-size: 50px;
  }

  .keet-intro-grid,
  .keet-process-layout,
  .keet-values-heading,
  .keet-projects-heading,
  .keet-project-grid,
  .keet-team,
  .keet-footer-top {
    grid-template-columns: 1fr;
  }

  .keet-intro-grid {
    margin-top: 64px;
  }

  .keet-intro-mark {
    min-height: 360px;
  }

  .keet-intro-copy .lead {
    font-size: 26px;
  }

  .keet-value-grid {
    margin-top: 64px;
    grid-template-columns: 1fr;
  }

  .keet-value-card {
    min-height: 360px;
  }

  .keet-process-layout {
    gap: 72px;
  }

  .keet-process-list li {
    grid-template-columns: 60px 1fr;
  }

  .keet-project-card-small {
    margin-top: 48px;
  }

  .keet-project-meta {
    grid-template-columns: 1fr;
  }

  .keet-team-visual,
  .keet-team {
    min-height: 0;
  }

  .keet-team-visual {
    min-height: 520px;
  }

  .keet-team-content {
    padding: 92px 20px;
  }

  .keet-team-names {
    grid-template-columns: 1fr;
  }

  .keet-team-names li {
    flex-direction: row;
    align-items: center;
  }

  .keet-closing {
    min-height: 700px;
  }

  .keet-closing h2 {
    font-size: 70px;
  }

  .keet-closing-lower .keet-button {
    justify-self: stretch;
  }

  .keet-footer-links {
    grid-template-columns: 1fr;
  }

  .keet-footer-bottom {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .keet-concept,
  .keet-concept *,
  .keet-concept *::before,
  .keet-concept *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}


/* ========================================================================== 
   KEET 1.2.0 — consolidated interaction layer
   Source layout above remains the visual source of truth. No historical patch
   blocks are retained below this point.
   ========================================================================== */
:root{--kc-ease:cubic-bezier(.625,.05,0,1);--kc-ease-soft:cubic-bezier(.22,.61,.36,1);}
.keet-concept{--kc-pointer-x:50%;--kc-pointer-y:50%;position:relative;isolation:isolate;}
.keet-concept[data-kc-motion="static"] [data-kc-reveal],
.keet-concept[data-kc-motion="static"] [data-kc-split]{opacity:1!important;transform:none!important;}
.kc-split-safe{overflow:visible!important;}

/* Elementor host: source sections are full-width and gapless by design. */
.elementor-page .keet-concept-host:not(.keet-header-host)>.elementor-widget-container>.keet-concept{width:100vw;max-width:100vw;margin-inline:calc(50% - 50vw);}
@supports(width:100dvw){.elementor-page .keet-concept-host:not(.keet-header-host)>.elementor-widget-container>.keet-concept{width:100dvw;max-width:100dvw;margin-inline:calc(50% - 50dvw);}}
.elementor-page .keet-concept-host{margin-block:0!important;max-width:none!important;}
.elementor-page .keet-concept-host>.elementor-widget-container{width:100%;margin:0!important;padding:0!important;}
.elementor-page .e-con:has(>.keet-concept-host),.elementor-page .e-con-inner:has(>.keet-concept-host){gap:0!important;--gap:0px;--row-gap:0px;--column-gap:0px;}
.elementor-page .keet-header-host{position:relative!important;z-index:90!important;margin:0!important;}
.elementor-page:has(.keet-concept-host){overflow-x:clip;}

/* Global progress + restrained section transitions. */
.keet-site-progress{position:fixed;inset:0 0 auto;z-index:9999;height:2px;pointer-events:none;transform:translateZ(0);}
.keet-site-progress>span{display:block;width:100%;height:100%;background:#aa314b;transform:scaleX(0);transform-origin:0 50%;will-change:transform;}
.kc-section-curtain{position:absolute;inset:0;z-index:30;display:block;pointer-events:none;will-change:transform;}

/* Optical texture. */
.keet-hero::after,.keet-values::after,.keet-projects::after,.keet-closing::after,.keet-team-visual::before,.keet-team-orbit::after{
  content:"";position:absolute;inset:0;z-index:4;pointer-events:none;opacity:.026;mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");background-size:180px 180px;
}
.keet-team-visual::before{z-index:1;}.keet-team-visual>img,.keet-team-visual>span{z-index:2;}.keet-hero-content,.keet-hero-index,.keet-closing-content{z-index:5;}

/* Character stagger. */
.kc-char-label{display:inline-flex;align-items:center;line-height:1;}
.kc-char-cell{position:relative;display:inline-grid;overflow:hidden;line-height:1.25;padding-block:.06em .16em;margin-block:-.06em -.16em;}
.kc-char{grid-area:1/1;display:block;transition:transform .58s var(--kc-ease);transition-delay:calc(var(--kc-char-index)*13ms);will-change:transform;}
.kc-char-a{transform:translateY(0)}.kc-char-b{transform:translateY(118%)}
@media(hover:hover) and (pointer:fine){.keet-concept a:hover .kc-char-a,.keet-concept button:hover .kc-char-a{transform:translateY(-118%)}.keet-concept a:hover .kc-char-b,.keet-concept button:hover .kc-char-b{transform:translateY(0)}}

/* Text links: underline follows text width only. */
.keet-text-link{position:relative;display:inline-block;align-self:flex-start;width:fit-content;max-width:100%;border-bottom:0;overflow:visible;}
.keet-text-link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(1);transform-origin:0 50%;transition:transform .55s var(--kc-ease);}
@media(hover:hover) and (pointer:fine){.keet-text-link:hover::after{transform:scaleX(.22);transform-origin:100% 50%;}}

/* Buttons: one transform owner, magnetic JS only changes the outer node. */
.keet-button,.keet-header-cta{position:relative;overflow:hidden;will-change:transform;transform:translateZ(0);}
.keet-button::before,.keet-header-cta::before{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid currentColor;opacity:0;transform:scale(.96);transition:opacity .4s ease,transform .58s var(--kc-ease);}
@media(hover:hover) and (pointer:fine){.keet-button:hover::before,.keet-header-cta:hover::before{opacity:.18;transform:scale(1);}}

/* Values: equal visual priority + hover depth, never opacity-gated. */
.keet-value-card{position:relative;overflow:hidden;opacity:1!important;transition:background-color .5s ease,box-shadow .5s ease;}
.keet-value-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.015));transform:scaleY(0);transform-origin:50% 100%;transition:transform .65s var(--kc-ease);pointer-events:none;}
.keet-value-card>*{position:relative;z-index:1;transition:transform .62s var(--kc-ease);}
.keet-value-card-top img{transition:transform .7s var(--kc-ease),filter .4s ease;}
@media(hover:hover) and (pointer:fine){
 .keet-values[data-kc-micro="1"] .keet-value-card:hover::before,.keet-value-card.is-kc-focused::before{transform:scaleY(1);}
 .keet-values[data-kc-micro="1"] .keet-value-card:hover>*{transform:translateY(-6px);}
 .keet-values[data-kc-micro="1"] .keet-value-card:hover .keet-value-card-top img{transform:rotate(6deg) scale(1.08);}
 .keet-values[data-kc-micro="1"] .keet-value-card:hover{box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);}
}

/* Process: scroll and hover share exactly the same active visual language. */
@media(min-width:1024px){.keet-process-intro{position:sticky;top:clamp(88px,12vh,148px);}}
.keet-process-list li{position:relative;overflow:hidden;opacity:1!important;transition:transform .5s var(--kc-ease),background-color .45s ease;}
.keet-process-list li::before{content:"";position:absolute;inset:10px -18px;z-index:0;background:linear-gradient(90deg,rgba(170,49,75,.07),transparent 72%);opacity:0;transform:scaleX(.94);transform-origin:0 50%;transition:opacity .42s ease,transform .55s var(--kc-ease);pointer-events:none;}
.keet-process-list li>.keet-step-number,.keet-process-step-copy{position:relative;z-index:1;}
.keet-process-step-copy{display:flex;flex-direction:column;align-items:flex-start;}
.keet-process-list h3,.keet-step-number{transition:color .42s ease;}
.keet-process-list li.is-active::before,.keet-process-list li:hover::before,.keet-process-list li:focus-within::before{opacity:1;transform:scaleX(1);}
.keet-process-list li.is-active,.keet-process-list li:hover,.keet-process-list li:focus-within{transform:translateX(5px);}
.keet-process-list li.is-active h3,.keet-process-list li:hover h3,.keet-process-list li:focus-within h3{color:var(--grape);}
.keet-process-step-link{position:absolute;inset:0;z-index:2;display:block;}
.keet-process-link-label{display:inline-flex;align-items:center;gap:8px;margin-top:17px;color:var(--grape);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:0;transform:translateY(7px);transition:opacity .35s ease,transform .45s var(--kc-ease);}
.keet-process-list li:hover .keet-process-link-label,.keet-process-list li:focus-within .keet-process-link-label{opacity:1;transform:none;}

/* Project media: GSAP owns wrapper; image owns hover scale. */
.keet-project-image{isolation:isolate;}
.keet-project-image-motion{width:100%;height:112%;position:absolute;left:0;top:-6%;will-change:transform;}
.keet-project-image-motion img{width:100%;height:100%;object-fit:cover;transition:transform 650ms cubic-bezier(.2,.65,.3,1);will-change:transform;}
@media(hover:hover) and (pointer:fine){.keet-project-card:hover .keet-project-image-motion img{transform:scale(1.035);}}
.kc-project-cursor{position:fixed;left:0;top:0;z-index:10000;min-width:92px;height:46px;padding:0 17px;display:grid;place-items:center;border-radius:999px;background:#fff;color:#140508;font:600 10px/1 "Poppins",sans-serif;letter-spacing:.08em;text-transform:uppercase;opacity:0;pointer-events:none;box-shadow:0 12px 34px rgba(20,5,8,.18);transition:opacity .22s ease;will-change:transform;}
.kc-project-cursor.is-visible{opacity:1;}
.keet-projects-button{gap:18px;min-width:230px;background:var(--white);color:var(--asphalt);border-color:var(--white);z-index:2;}
.keet-projects-button>span{position:relative;z-index:2;color:inherit;}.keet-projects-button .keet-button-arrow{font-size:16px;transition:transform .5s var(--kc-ease);}
@media(hover:hover) and (pointer:fine){.keet-projects-button:hover{background:var(--paper);color:var(--asphalt)}.keet-projects-button:hover .keet-button-arrow{transform:translate(4px,-4px) rotate(8deg)}}

/* Existing Team: preserve composition, keep quote/link readable. */
.keet-team-visual>img{top:43%;left:57%;width:min(70%,560px);}
.keet-team-visual>span{position:absolute;left:64px;right:64px;bottom:64px;max-width:430px;margin:0;z-index:3;line-height:1.2;text-shadow:0 1px 14px rgba(90,15,28,.28);}
.keet-team-content h2{line-height:1.02;overflow:visible;}.keet-team-content>p{line-height:1.65;}
.keet-team-names li{position:relative;transition:transform .45s var(--kc-ease),color .35s ease;}
@media(hover:hover) and (pointer:fine){.keet-team-names li:hover{transform:translateY(-4px);color:var(--grape);}}

/* Closing: wrapper owns parallax, image owns entrance scale. */
.keet-closing-media,.keet-closing-media img{will-change:transform;}
.keet-closing::before{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;background:radial-gradient(circle 360px at var(--kc-pointer-x) var(--kc-pointer-y),rgba(255,255,255,.1),transparent 68%);opacity:0;transition:opacity .5s ease;}
.keet-closing.is-pointer-active::before{opacity:1;}

/* Expanded footer: two structural dividers only. */
.keet-footer{padding-top:112px;}
.keet-footer-top{grid-template-columns:.82fr 1.18fr;align-items:start;gap:clamp(64px,9vw,144px);padding-bottom:88px;border-bottom:1px solid rgba(255,255,255,.18);}
.keet-footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:34px;}.keet-footer-brand img{width:210px;}
.keet-footer-substatement{max-width:390px;margin:0!important;color:rgba(255,255,255,.56)!important;font-family:var(--sans)!important;font-size:13px!important;line-height:1.7!important;}
.keet-footer-manifest{display:flex;flex-direction:column;align-items:flex-start;gap:34px;}
.keet-footer-manifest>p{max-width:650px;margin:0;font-family:var(--serif);font-size:clamp(34px,3.2vw,54px);line-height:1.12;}
.keet-footer-cta{min-height:52px;display:inline-flex;align-items:center;gap:24px;padding:14px 20px;border:1px solid rgba(255,255,255,.36);color:var(--white);font-size:11px;font-weight:600;transition:background .4s ease,color .4s ease,border-color .4s ease;}
.keet-footer-cta>span:last-child{font-size:16px;transition:transform .5s var(--kc-ease);}
@media(hover:hover) and (pointer:fine){.keet-footer-cta:hover{background:var(--white);color:var(--asphalt);border-color:var(--white)}.keet-footer-cta:hover>span:last-child{transform:translate(4px,-4px) rotate(8deg)}}
.keet-footer-links{grid-template-columns:1.15fr 1.25fr 1.1fr .8fr;gap:clamp(32px,5vw,72px);padding:64px 0 76px;border:0;}
.keet-footer-links>div{padding:0;border:0;}.keet-footer-links a,.keet-footer-links p{font-size:12px;line-height:1.65;}
.keet-footer-bottom{grid-template-columns:1fr auto auto auto;align-items:center;padding-top:30px;border-top:1px solid rgba(255,255,255,.18);}

/* Swiper: CSS scroll-snap is always a valid fallback. */
.keet-slider-ui{display:none;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;}
.keet-slider-ui button{width:44px;height:44px;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;cursor:pointer;}
.keet-slider-ui [data-kc-pagination]{display:flex;justify-content:center;gap:7px;flex:1;}.keet-slider-ui [data-kc-pagination] button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:currentColor;opacity:.3}.keet-slider-ui [data-kc-pagination] button.is-active{opacity:1;}
.keet-concept[data-kc-swiper-ready="1"] .keet-mobile-slider{overflow:hidden;}.keet-concept[data-kc-swiper-ready="1"] [data-kc-slider-track]{display:flex!important;gap:0!important;border:0!important;}.keet-concept[data-kc-swiper-ready="1"] [data-kc-slide]{height:auto;margin:0!important;}.keet-concept[data-kc-swiper-ready="1"] .keet-slider-ui{display:flex;}
.keet-concept[data-kc-swiper-ready="1"] .swiper-wrapper{box-sizing:content-box;width:100%;height:100%;position:relative;z-index:1;display:flex;transition-property:transform;}.keet-concept[data-kc-swiper-ready="1"] .swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;display:block;}

/* Kieboom-inspired reusable Team Orbit widget. */
.keet-team-orbit{
  --kc-orbit-size:min(46vw,690px);--kc-orbit-x:min(39vw,720px);--kc-orbit-y:min(31vh,330px);--kc-orbit-card-w:330px;--kc-orbit-card-h:460px;--kc-orbit-line:rgba(90,15,28,.16);--kc-orbit-active:var(--grape);
  min-height:100svh;background:var(--paper);color:var(--asphalt);overflow:clip;
}
.keet-team-orbit.is-kc-orbit-live{min-height:320vh;}
.keet-orbit-pin{position:relative;top:0;min-height:100svh;display:flex;align-items:stretch;overflow:hidden;}
.keet-team-orbit.is-kc-orbit-live .keet-orbit-pin{position:sticky;}
.keet-orbit-shell{position:relative;min-height:100svh;padding-block:clamp(56px,7vh,86px);}
.keet-team-orbit .keet-section-kicker{position:relative;z-index:6;}
.keet-orbit-center{position:absolute;left:50%;top:50%;width:var(--kc-orbit-size);aspect-ratio:1;transform:translate(-50%,-50%);display:grid;place-items:center;text-align:center;z-index:2;}
.keet-orbit-ring{position:absolute;inset:0;border-radius:50%;pointer-events:none;}
.keet-orbit-ring::before{content:"";position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(from 0deg,var(--kc-orbit-line) 0deg 1deg,transparent 1deg 4deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 13px),#000 calc(100% - 12px) calc(100% - 8px),transparent calc(100% - 7px));mask:radial-gradient(farthest-side,transparent calc(100% - 13px),#000 calc(100% - 12px) calc(100% - 8px),transparent calc(100% - 7px));}
.keet-orbit-marker{position:absolute;inset:0;border-radius:50%;will-change:transform;}.keet-orbit-marker::before{content:"";position:absolute;left:50%;top:-1px;width:2px;height:18px;background:var(--kc-orbit-active);transform:translateX(-50%);border-radius:2px;}
.keet-orbit-copy{position:relative;z-index:2;width:min(76%,560px);}.keet-orbit-center h2{margin:0;color:var(--grape);font-size:clamp(64px,6vw,100px);font-weight:500;line-height:.95;letter-spacing:-.045em;}.keet-orbit-center h2 em{font-family:var(--serif);font-weight:400;font-style:italic;}.keet-orbit-center p{max-width:520px;margin:30px auto 0;color:var(--ink-muted);font-size:15px;line-height:1.7;}
.keet-orbit-card-shell{position:absolute;inset:0;z-index:4;pointer-events:none;}.keet-orbit-cards{position:absolute;inset:0;pointer-events:none;}.keet-orbit-card{position:absolute;left:50%;top:50%;width:var(--kc-orbit-card-w);height:var(--kc-orbit-card-h);overflow:hidden;border-radius:18px;background:var(--asphalt);box-shadow:0 28px 70px rgba(20,5,8,.12);pointer-events:auto;will-change:transform,opacity;}
.keet-orbit-card:nth-child(1){transform:translate(-170%,-72%) rotate(-2deg);}
.keet-orbit-card:nth-child(2){transform:translate(68%,-5%) rotate(2deg);}
.keet-orbit-card:nth-child(3){transform:translate(-55%,82%) scale(.78);opacity:.16;}
.keet-orbit-card:nth-child(n+4){transform:translate(-50%,95%) scale(.76);opacity:.2;}.keet-orbit-card-image{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--kc-ease),filter .45s ease;}.keet-orbit-card-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,5,8,.46),transparent 48%,rgba(20,5,8,.58));pointer-events:none;}.keet-orbit-card-copy{position:absolute;left:24px;right:24px;top:22px;z-index:2;color:#fff;}.keet-orbit-name{font-size:28px;font-weight:500;line-height:1.05;}.keet-orbit-name-last{font-family:var(--serif);font-style:italic;font-weight:400;}.keet-orbit-role{display:block;margin-top:8px;font-size:13px;}.keet-orbit-card-link{position:absolute;inset:0;z-index:3;}.keet-orbit-card.is-orbit-active{box-shadow:0 34px 90px rgba(20,5,8,.2);}.keet-orbit-card:hover .keet-orbit-card-image,.keet-orbit-card:focus-within .keet-orbit-card-image{transform:scale(1.035);filter:saturate(1.04);}
.keet-orbit-network-note{position:absolute;left:50%;bottom:44px;z-index:5;width:min(360px,32vw);margin:0;transform:translateX(-50%);text-align:center;color:var(--ink-muted);font-size:11px;line-height:1.55;}.keet-orbit-coordinates{position:absolute;right:0;bottom:44px;z-index:5;display:flex;flex-direction:column;align-items:flex-end;gap:5px;color:var(--ink-muted);font-size:10px;letter-spacing:.04em;}

/* Brand browser chrome. */
body:not(.elementor-editor-active):not(.elementor-editor-preview) ::selection{background:#aa314b;color:#fff;text-shadow:none;}body:not(.elementor-editor-active):not(.elementor-editor-preview) ::-moz-selection{background:#aa314b;color:#fff;text-shadow:none;}
html:not(.elementor-html){scrollbar-width:thin;scrollbar-color:#aa314b #140508;}html:not(.elementor-html)::-webkit-scrollbar{width:11px;height:11px}html:not(.elementor-html)::-webkit-scrollbar-track{background:#140508}html:not(.elementor-html)::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#aa314b,#5a0f1c);border:3px solid #140508;border-radius:999px}html:not(.elementor-html)::-webkit-scrollbar-thumb:hover{background:#d6c3c7}

/* Editor + reduced motion. */
.elementor-editor-active .kc-section-curtain,.elementor-editor-preview .kc-section-curtain,.elementor-editor-active .kc-project-cursor,.elementor-editor-preview .kc-project-cursor,.elementor-editor-active .keet-site-progress,.elementor-editor-preview .keet-site-progress{display:none!important;}
.elementor-editor-active .keet-team-orbit,.elementor-editor-preview .keet-team-orbit{min-height:auto;}.elementor-editor-active .keet-orbit-pin,.elementor-editor-preview .keet-orbit-pin{position:relative;min-height:920px;}.elementor-editor-active .keet-orbit-card:nth-child(1),.elementor-editor-preview .keet-orbit-card:nth-child(1){transform:translate(-170%,-70%) rotate(-2deg);}.elementor-editor-active .keet-orbit-card:nth-child(2),.elementor-editor-preview .keet-orbit-card:nth-child(2){transform:translate(70%,-5%) rotate(2deg);}.elementor-editor-active .keet-orbit-card:nth-child(n+3),.elementor-editor-preview .keet-orbit-card:nth-child(n+3){opacity:.35;transform:translate(-50%,80%) scale(.84);}

@media(max-width:1080px){
 .keet-footer-links{grid-template-columns:repeat(2,1fr)}
 .keet-team-orbit{min-height:auto}.keet-orbit-pin{position:relative;min-height:auto;padding:90px 0}.keet-orbit-shell{min-height:auto;display:flex;flex-direction:column}.keet-orbit-center{position:relative;left:auto;top:auto;transform:none;margin:48px auto 64px}.keet-orbit-card-shell{position:relative;inset:auto;pointer-events:auto}.keet-orbit-cards{position:relative;inset:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.keet-orbit-card{position:relative;left:auto;top:auto;width:100%;height:min(58vw,500px);transform:none!important;opacity:1!important}.keet-orbit-network-note,.keet-orbit-coordinates{position:relative;left:auto;right:auto;bottom:auto;transform:none;margin-top:48px;width:auto}.keet-orbit-coordinates{align-items:flex-start;margin-top:20px}
}
@media(max-width:760px){
 .keet-process-link-label{opacity:1;transform:none}.keet-process-step-link{position:static;display:inline-flex;margin-top:10px;padding-top:4px}.keet-team-visual>img{top:42%;left:58%;width:min(76%,460px)}.keet-team-visual>span{left:28px;right:28px;bottom:32px;max-width:300px;font-size:30px}.keet-footer{padding-top:84px}.keet-footer-top{grid-template-columns:1fr;gap:58px;padding-bottom:64px}.keet-footer-links{grid-template-columns:1fr;gap:24px;padding:48px 0 58px}.keet-footer-bottom{grid-template-columns:1fr 1fr;gap:18px 24px}
 .keet-concept[data-kc-mobile-swiper="1"] .keet-mobile-slider{width:100%;overflow:hidden}.keet-concept[data-kc-mobile-swiper="1"]:not([data-kc-swiper-ready="1"]) .keet-mobile-slider{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-snap-type:x mandatory}.keet-concept[data-kc-mobile-swiper="1"]:not([data-kc-swiper-ready="1"]) .keet-mobile-slider::-webkit-scrollbar{display:none}.keet-concept[data-kc-mobile-swiper="1"]:not([data-kc-swiper-ready="1"]) [data-kc-slider-track]{display:flex!important;gap:16px!important;width:max-content;border:0!important}.keet-concept[data-kc-mobile-swiper="1"]:not([data-kc-swiper-ready="1"]) [data-kc-slide]{flex:0 0 min(86vw,520px);width:min(86vw,520px);margin:0!important;scroll-snap-align:start}.keet-concept[data-kc-mobile-swiper="1"] .keet-slider-ui{display:flex}.kc-swiper-bullet{width:22px;height:2px;padding:0;border:0;border-radius:0;background:currentColor;opacity:.25}.kc-swiper-bullet.is-active{opacity:1;transform:scaleX(1.18)}
 .keet-team-orbit{padding:92px 0;background:var(--paper)}.keet-orbit-pin{padding:0}.keet-orbit-shell{width:calc(100% - 40px)}.keet-orbit-center{width:min(86vw,440px);margin:40px auto 52px}.keet-orbit-center h2{font-size:clamp(56px,16vw,78px)}.keet-orbit-center p{font-size:14px}.keet-orbit-ring::before{-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 10px),#000 calc(100% - 9px) calc(100% - 6px),transparent calc(100% - 5px));mask:radial-gradient(farthest-side,transparent calc(100% - 10px),#000 calc(100% - 9px) calc(100% - 6px),transparent calc(100% - 5px))}.keet-orbit-card-shell{width:100%}.keet-orbit-cards{display:flex!important;grid-template-columns:none;gap:0}.keet-orbit-card{height:470px}.keet-orbit-network-note{margin-top:42px;text-align:left}.keet-orbit-coordinates{font-size:9px}.keet-team-orbit .keet-slider-ui{display:flex}
}
@media(prefers-reduced-motion:reduce){.kc-section-curtain,.kc-project-cursor,.keet-site-progress{display:none!important}.keet-process-list li,.keet-value-card,.keet-team-names li{opacity:1!important;transform:none!important}.keet-closing::before{display:none!important}.keet-team-orbit{min-height:auto}.keet-orbit-pin{position:relative;min-height:auto;padding:90px 0}.keet-orbit-cards{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}.keet-orbit-card{position:relative;left:auto;top:auto;width:100%;height:420px;transform:none!important;opacity:1!important}}
