body.ky.is-nav-open{overflow:hidden}
@media (max-width:1024px){
  .ky-cards,.ky-cards--3,.ky-notes,.ky-voices,.ky-crew,.ky-gallery,.ky-methods,.ky-steps{grid-template-columns:repeat(2,1fr)}
  .ky-cards--4,.ky-topics,.ky-stats--wide{grid-template-columns:repeat(2,1fr)}
  .ky-mosaic__grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .ky-mosaic__hero{grid-column:1/-1;grid-row:auto;height:auto}
  .ky-mosaic__hero .ky-frame{aspect-ratio:16/10;flex:none;height:auto;min-height:280px}
  .ky-diag,.ky-cover,.ky-contact,.ky-foot__grid{grid-template-columns:1fr 1fr}
  .ky-iso{display:none}
}

@media (max-width:768px){
  html, body { overflow-x: hidden; max-width: 100%; }
  :root{--ky-wrap:min(100% - 1.4rem,1120px);--ky-nav-h:3.65rem}
  .ky-nav{
    z-index:120;
    padding:.4rem .85rem;
    padding-top:calc(.4rem + env(safe-area-inset-top,0px));
    min-height:calc(var(--ky-nav-h) + env(safe-area-inset-top,0px));
    animation:kyNavIn .55s var(--ky-ease) both
  }
  body.ky.is-nav-open .ky-nav{
    background:#041c2c;
    box-shadow:none;
    border-color:transparent
  }
  body.ky.is-nav-open .ky-nav__word,
  body.ky.is-nav-open .ky-nav__mark{color:var(--ky-frost)}
  .ky-nav__bar{width:100%;min-height:var(--ky-nav-h);gap:.5rem}
  .ky-nav__actions{display:none !important}
  .ky-nav__word{font-size:1.12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:52vw}
  .ky-nav__links,.ky-nav__tel,.ky-nav__cta{display:none !important}
  .ky-burger{
    display:flex !important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    margin-left:auto;
    position:relative;
    z-index:122;
    width:48px;
    height:48px;
    flex-shrink:0;
    background:rgba(62,219,240,.28);
    -webkit-tap-highlight-color:transparent;
    transition:background .25s,transform .2s var(--ky-ease)
  }
  .ky-burger i{position:static;left:auto;right:auto;top:auto;width:18px;margin:0}
  .ky-burger:active{transform:scale(.92)}
  .ky-burger[aria-expanded="true"]{background:rgba(62,219,240,.38)}
  .ky-nav.is-solid .ky-burger{background:rgba(62,219,240,.22)}
  .ky-nav.is-solid .ky-burger i{background:var(--ky-frost)}

  .ky-backdrop{
    z-index:110;
    pointer-events:none
  }
  .ky-backdrop.is-open{pointer-events:auto}
  .ky-backdrop[hidden]{display:block !important}
  .ky-drawer{
    z-index:115;
    width:min(86vw,380px);
    inset:auto 0 0 auto;
    top:0;right:0;bottom:0;left:auto;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:calc(var(--ky-nav-h) + env(safe-area-inset-top,0px) + .55rem) 1.2rem calc(1.5rem + env(safe-area-inset-bottom,0px))
  }
  .ky-drawer[hidden]{display:flex !important;pointer-events:none}
  .ky-drawer.is-open{pointer-events:auto}
  .ky-drawer__brand{
    opacity:0;
    transform:translateY(10px);
    transition:opacity .4s var(--ky-ease),transform .4s var(--ky-ease)
  }
  .ky-drawer.is-open .ky-drawer__brand{opacity:1;transform:none}
  .ky-drawer__nav a{min-height:48px}

  .ky-hero,.ky-hero--short{min-height:100svh;place-items:end stretch}
  .ky-hero__copy{
    width:100%;
    padding:5.8rem 1.1rem max(2.1rem, env(safe-area-inset-bottom))
  }
  .ky-hero__brand{font-size:clamp(2.4rem,14vw,3.6rem)}
  .ky-hero h1{font-size:clamp(1.45rem,6.5vw,2.05rem)}
  .ky-hero__lead{font-size:.98rem;max-width:none}
  .js .ky-hero [data-ky]{opacity:1;transform:none}
  .ky-hero__copy > .ky-chip{animation:kyMobRise .7s var(--ky-ease) both}
  .ky-hero h1{animation:kyMobRise .7s var(--ky-ease) .12s both}
  .ky-hero__lead{animation:kyMobRise .7s var(--ky-ease) .2s both}
  .ky-tempboard{animation:kyMobRise .7s var(--ky-ease) .28s both}
  .ky-hero__actions{animation:kyMobRise .7s var(--ky-ease) .36s both}
  .ky-hero__actions,.ky-cta .ky-hero__actions{width:100%;flex-direction:column}
  .ky-hero__actions .ky-btn,.ky-cta .ky-btn,.ky-hotline .ky-btn,.ky-spot .ky-btn,.ky-form .ky-btn,.ky-drawer__emerg{
    width:100%;min-height:48px
  }
  .ky-btn:active{transform:scale(.96)}
  .ky-btn--pulse{animation:ky-pulse 1.8s ease-out infinite}
  .ky-btn--pulse:active{animation:none;transform:scale(.96)}
  .ky-tempboard{gap:.65rem}
  .ky-tempboard__cell{flex:1;min-width:0}
  .ky-frame,.ky-hero__media,.ky-cta__media,.ky-card__media{overflow:hidden}

  .ky-sec{padding:2.6rem 0}
  .ky-hotline__in{width:100%;padding:1rem 1.1rem;flex-direction:column;align-items:stretch}
  .ky-diag,.ky-spot,.ky-hc,.ky-cover,.ky-contact,.ky-foot__grid,
  .ky-cards,.ky-cards--3,.ky-cards--4,.ky-notes,.ky-voices,.ky-crew,.ky-gallery,.ky-methods,.ky-steps,.ky-areas,.ky-topics,.ky-stats,.ky-stats--wide,.ky-mosaic__grid{
    grid-template-columns:1fr;
    display:grid
  }
  .ky-spot--flip .ky-spot__copy{order:0}
  .ky-hc{min-height:0}
  .ky-hc__heat,.ky-hc__cool{min-height:280px}

  .ky-frame,.ky-frame--tall{
    min-height:280px;
    max-height:none
  }
  .ky-card__media,.ky-note__media,.ky-steps__media,.ky-gallery .ky-frame{
    min-height:200px;
    aspect-ratio:16/10
  }
  .ky-person__pic{min-height:280px}
  .ky-map iframe{height:280px}

  .js [data-ky] img{
    transform:scale(1.05);
    transition:transform 1s var(--ky-ease)
  }
  .js [data-ky].in img{transform:none}
}

@media (max-width:480px){
  :root{--ky-wrap:min(100% - 1.15rem,1120px)}
  .ky-nav{padding:.35rem .7rem;padding-top:calc(.35rem + env(safe-area-inset-top,0px))}
  .ky-hero__copy{padding-left:.95rem;padding-right:.95rem}
  .ky-readout__big,.ky-tempboard__cell b{font-size:2.2rem}
}

@keyframes kyNavIn{
  from{transform:translateY(-110%)}
  to{transform:none}
}
@keyframes kyMobRise{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:none}
}

@media (prefers-reduced-motion:reduce){
  .ky-drawer__nav a,.ky-drawer__brand,.ky-nav,.js [data-ky] img,.ky-btn--pulse,.ky-kenburns img,
  .ky-hero__copy > .ky-chip,.ky-hero h1,.ky-hero__lead,.ky-tempboard,.ky-hero__actions{
    animation:none!important;transition:none!important;opacity:1!important;transform:none!important;filter:none!important
  }
}
