/* Desktop keeps its existing composition. These controls only appear on phones. */
.kx-site .kx-stage-toggle{display:none}
.kx-site .kx-stage-detail{display:contents}
@media(max-width:640px){
  html{scroll-padding-top:88px}
  .kx-filling .kx-hero{height:auto;min-height:0}
  .kx-filling .kx-hero-pin{position:relative;height:auto;min-height:0;overflow:visible}
  .kx-filling .kx-hero-layout{padding-top:26px;flex:none}
  .kx-filling .kx-hero-copy{padding:0}
  .kx-filling .kx-hero h1{font-size:clamp(39px,11vw,52px)}
  .kx-filling .kx-hero-description{font-size:16px;line-height:1.75;max-width:none;margin-top:22px}
  .kx-filling .kx-hero-actions{display:flex;gap:8px;flex-direction:column;align-items:stretch;margin-top:24px}
  .kx-filling .kx-hero-actions .kx-button{font-size:14px;min-height:50px;padding:13px 18px}
  .kx-filling .kx-hero-actions .kx-text-link{font-size:14px;min-height:44px;align-self:center;display:flex;align-items:center}
  .kx-filling .kx-hero-art{flex:none;height:380px;min-height:0;margin-top:12px;max-height:none}
  .kx-filling .kx-scene-hero{height:calc(100% - 82px)}
  .kx-filling .kx-line-state{bottom:66px;left:20px;right:20px;padding-top:10px;font-size:13px}
  .kx-filling .kx-line-state [data-line-percentage]{display:none}
  .kx-filling .kx-scene-caption{bottom:7px;left:20px;right:20px;gap:12px;align-items:center}
  .kx-filling [data-explode]{font-size:14px;min-height:46px;padding:8px 0}
  .kx-filling .kx-motion-toggle{font-size:13px;min-height:46px;min-width:96px;padding:10px 12px;justify-content:center}
  .kx-filling .kx-hero-bottom{margin-top:9px;padding-block:17px}
  .kx-filling .kx-scroll-cue{display:flex;font-size:13px;min-height:32px}
  .kx-filling .kx-line-anchor{display:none}
  .kx-site .kx-header.is-fixed{height:68px}
  .kx-site .kx-menu-toggle{min-height:46px;padding:10px 0 10px 14px}
  .kx-site .kx-menu-label{font-size:14px}
  .kx-site .kx-nav,.kx-site .kx-header.is-fixed .kx-nav{top:100%;max-height:calc(100svh - 82px);overflow-y:auto;overscroll-behavior:contain;padding:12px 20px 22px}
  .kx-site .kx-nav a{min-height:50px;padding:14px 0;font-size:17px;line-height:1.4}
  .kx-site .kx-nav .kx-nav-contact{font-size:15px;min-height:50px;line-height:1.5}
  .kx-site .kx-specialties{padding:21px 20px}
  .kx-site .kx-specialties-track{display:flex;flex-wrap:wrap;width:auto;white-space:normal;gap:10px 22px;transform:none!important}
  .kx-site .kx-specialties-track>span{font-size:12px;line-height:1.6;letter-spacing:.045em}
  .kx-site .kx-specialties-track>i{display:none}
  .kx-site.is-enhanced [data-reveal]{opacity:1;transform:none;transition:none}
  .kx-site .kx-intro,.kx-site .kx-systems,.kx-site .kx-about{padding-block:56px}
  .kx-site .kx-intro-bottom p,.kx-site .kx-stage p,.kx-site .kx-section-heading>p,.kx-site .kx-system-content p,.kx-site .kx-engagement p,.kx-site .kx-about-copy p,.kx-site .kx-talents p{font-size:16px;line-height:1.8}
  .kx-filling .kx-journey,.kx-filling .kx-journey-sticky{height:auto;min-height:0;max-height:none}
  .kx-filling .kx-journey-inner{padding-block:52px}
  .kx-site .kx-journey-copy{padding-top:26px}
  .kx-site .kx-journey-copy>h2{font-size:38px;line-height:1.15}
  .kx-site .kx-stage-panels{margin-top:28px;min-height:0!important}
  .kx-site .kx-stage{position:relative;inset:auto;width:100%;max-width:none;opacity:1;visibility:visible;transform:none;transition:none;pointer-events:auto;border-top:1px solid #3a5362;margin:0}
  .kx-site .kx-stage:last-child{border-bottom:1px solid #3a5362}
  .kx-site .kx-stage-toggle{display:grid;grid-template-columns:25px 1fr 18px;align-items:center;gap:12px;width:100%;min-height:76px;padding:18px 0;border:0;background:none;text-align:left;color:#dbe7ec;line-height:1.5;font-size:16px;font-weight:500}
  .kx-site .kx-stage-toggle>.kx-mono{color:#76a8b1;letter-spacing:0;font-size:12px}
  .kx-site .kx-stage-toggle>i{display:block;position:relative;width:16px;height:16px}
  .kx-site .kx-stage-toggle>i:before,.kx-site .kx-stage-toggle>i:after{content:'';position:absolute;top:7px;left:0;height:1px;width:16px;background:#23bbb0}
  .kx-site .kx-stage-toggle>i:after{transform:rotate(90deg)}
  .kx-site .kx-stage-toggle[aria-expanded=true]{color:#23bbb0}
  .kx-site .kx-stage-toggle[aria-expanded=true]>i:after{transform:none}
  .kx-site .kx-stage-detail{display:block;padding:0 0 25px}
  .kx-site.is-enhanced .kx-stage:not(.is-active) .kx-stage-detail{display:none}
  .kx-site .kx-stage-kicker{display:none}
  .kx-site .kx-stage h3{font-size:28px;line-height:1.2;margin:4px 0 15px}
  .kx-site .kx-stage h3>br{display:initial}
  .kx-site .kx-stage ul{margin-top:18px}
  .kx-site .kx-stage li{font-size:14px;line-height:1.65;padding-block:6px}
  .kx-site .kx-step-navigation{display:none}
  .kx-filling .kx-journey-art{height:300px;min-height:0;margin:18px -18px 0}
  .kx-filling .kx-scene-process{height:300px;min-height:0}
  .kx-site .kx-system summary{grid-template-columns:24px 1fr 20px;gap:10px;min-height:80px;padding-block:22px}
  .kx-site .kx-system summary>h3{font-size:21px;line-height:1.3}
  .kx-site .kx-system-content .kx-tags span{font-size:14px;line-height:1.6}
  .kx-site .kx-engagements{gap:40px}
  .kx-site .kx-engagement li{font-size:14px;line-height:1.7}
  .kx-site .kx-approach{padding-block:56px}
  .kx-site .kx-phone,.kx-site .kx-email{min-height:44px;display:inline-flex;align-items:center}
  .kx-site .kx-footer-bottom>a{min-height:44px;display:inline-flex;align-items:center}
  .kx-site.is-static .kx-stage-toggle{display:none}
  .kx-site.is-static .kx-stage-kicker{display:block}
  .kx-site.is-static .kx-stage-detail{display:block}
}
@media(max-width:370px){
  .kx-filling .kx-hero-art{height:350px}
  .kx-site .kx-stage-toggle{grid-template-columns:22px 1fr 16px;gap:10px;font-size:15px}
  .kx-site .kx-section-id>.kx-mono{letter-spacing:.04em}
  .kx-site .kx-system summary>h3{font-size:20px}
}
