/* Design-system components carried over verbatim from site/kk.css: buttons, pills, case rail, case sheet, lightbox. Do not edit here; edit the design system. */
.kk-btn{position:relative;display:inline-flex;align-items:center;gap:16px;min-height:52px;padding:14px 16px 14px 22px; border:1px solid var(--ink);color:var(--ink);font-family:var(--hel);font-size:var(--fz-micro);line-height:1; text-transform:uppercase;letter-spacing:var(--ls-micro);isolation:isolate;overflow:hidden; transition:color 250ms var(--e-enter);-webkit-tap-highlight-color:transparent}
.kk-btn__fill{position:absolute;inset:0;background:var(--ink);transform:translateY(101%);transition:transform 250ms var(--e-enter);z-index:-1}
.kk-btn__ic{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none; border:1px solid currentColor;border-radius:50%;font-size:.85rem;transition:transform var(--t-react) var(--e-enter)}
.kk-btn:hover,.kk-btn:active{color:var(--paper)}
.kk-btn:hover .kk-btn__fill,.kk-btn:active .kk-btn__fill{transform:none}
.kk-btn:hover .kk-btn__ic,.kk-btn:active .kk-btn__ic{transform:rotate(-45deg)}
.kk-btn--draw{border-color:transparent}
.kk-btn--draw::before,.kk-btn--draw::after{content:"";position:absolute;inset:0;pointer-events:none}
.kk-btn--draw::before{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);transform:scaleX(0);transform-origin:center;transition:transform 300ms var(--e-scene) 920ms}
.kk-btn--draw::after{border-left:1px solid var(--ink);border-right:1px solid var(--ink);transform:scaleY(0);transform-origin:top;transition:transform 300ms var(--e-scene) 1220ms}
.kk-btn--draw.is-in::before{transform:scaleX(1)}
.kk-btn--draw.is-in::after{transform:scaleY(1)}
.kk-btn--draw:hover::before,.kk-btn--draw:hover::after{border-color:var(--paper);transition-delay:0ms}
.kk-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid currentColor;border-radius:999px;padding:6px 14px; font-family:var(--hel);font-size:var(--fz-nano);text-transform:uppercase;letter-spacing:.12em;line-height:1;white-space:nowrap}
.kk-badge--fill{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.kk-link .kk-arrow{color:var(--accent)}
.kk-pills{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--s5)}
.kk-pill{display:inline-flex;align-items:center;min-height:48px;border:1px solid var(--ink);border-radius:999px;padding:12px 18px;font-size:var(--fz-nano);text-transform:uppercase;letter-spacing:.12em;line-height:1;white-space:nowrap; transition:background var(--t-react),color var(--t-react),border-color var(--t-react)}
.kk-pill:hover{border-color:var(--accent);color:var(--accent)}
.kk-pill[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--paper)}
.kk-railctl{grid-column:1/-1;margin-top:var(--s4);display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s3)}
.kk-railnav{display:flex;gap:10px}
.kk-railnav button{width:48px;height:48px;flex:none;border:1px solid var(--ink);border-radius:50%;display:inline-flex;align-items:center;justify-content:center; font-size:1rem;transition:background var(--t-react),color var(--t-react),opacity var(--t-react)}
.kk-railnav button:hover{background:var(--ink);color:var(--paper)}
.kk-railnav button:disabled{opacity:.28;pointer-events:none}
.kk-railbar{grid-column:1/-1;position:relative;height:1px;background:var(--mute);opacity:.55;margin-top:var(--s3)}
.kk-railbar i{position:absolute;top:0;left:0;height:1px;width:12%;background:var(--accent);opacity:1;transition:left 120ms linear,width 200ms linear}
.kk-rail{grid-column:1/-1;margin-top:var(--s4);display:flex;align-items:stretch;gap:clamp(32px,4.6vw,88px); overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:var(--s3)}
.kk-rail::-webkit-scrollbar{display:none}
.kk-case{position:relative;flex:0 0 clamp(266px,25vw,352px);scroll-snap-align:start;display:flex;flex-direction:column; background:var(--paper);color:var(--ink);isolation:isolate;overflow:hidden; transition:opacity 300ms var(--e-enter),transform 300ms var(--e-enter)}
.kk-case.is-out{opacity:0;transform:scale(.98);pointer-events:none}
.kk-case[hidden]{display:none}
.kk-case+.kk-case::after{content:"";position:absolute;left:calc(-1*clamp(16px,2.3vw,44px));top:0;bottom:var(--s3);width:1px;background:var(--mute);opacity:.55}
.kk-case__media{position:relative;display:block;width:100%;aspect-ratio:4/3;background:#e4e2de;overflow:hidden;border:0;padding:0}
.kk-case__media img{width:100%;height:100%;object-fit:contain;object-position:center;transition:transform 500ms var(--e-enter)}
.kk-case:hover .kk-case__media img{transform:scale(1.035)}
.kk-case__tag{position:absolute;top:12px;left:12px;background:var(--paper);color:var(--ink);border-color:var(--paper)}
.kk-case__body{padding-top:var(--s2);border-top:1px solid var(--ink);display:flex;flex-direction:column;gap:10px;flex:1}
.kk-case__meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.kk-case__no{font:400 clamp(1rem,1.4vw,1.3rem)/1 var(--druk);letter-spacing:.02em;color:var(--accent)}
.kk-case__niche{font-size:var(--fz-nano);text-transform:uppercase;letter-spacing:.12em;color:var(--mute);text-align:right}
.kk-case__title{font:400 clamp(1.0625rem,1.3vw,1.3125rem)/1.12 var(--druk);text-transform:uppercase;letter-spacing:.03em}
.kk-case__res{font-size:var(--fz-micro);line-height:1.45}
.kk-case__foot{margin-top:auto;padding-top:var(--s2)}
.kk-case{cursor:pointer}
.kk-case__title{transition:color var(--t-react)}
.kk-case:hover .kk-case__title{color:var(--accent)}
.kk-case__more{display:inline-flex;align-items:center;min-height:48px;gap:12px;border-bottom:1px solid currentColor;padding-bottom:4px; font-size:var(--fz-micro);font-weight:500;color:var(--ink);text-transform:uppercase;letter-spacing:.1em;line-height:1.3;transition:color var(--t-react)}
.kk-case__more:hover,.kk-case:hover .kk-case__more{color:var(--accent)}
.kk-case__more .kk-arrow{color:var(--accent);transition:transform var(--t-react) var(--e-enter)}
.kk-case__more:hover .kk-arrow,.kk-case:hover .kk-case__more .kk-arrow{transform:translateX(6px)}
.kk-cm{position:fixed;inset:0;z-index:8000;display:grid;place-items:center;padding:clamp(16px,5vh,56px) var(--margin)}
.kk-cm[hidden]{display:none}
.kk-cm__scrim{position:absolute;inset:0;background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(12px) saturate(.85);backdrop-filter:blur(12px) saturate(.85)}
.kk-cm__sheet{position:relative;width:min(1180px,100%);height:min(800px,100%);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr); background:var(--paper);color:var(--ink);overflow:hidden; box-shadow:0 1px 3px rgba(0,0,0,.2),0 48px 120px -24px rgba(0,0,0,.6)}
.kk-cm__sheet:focus{outline:none}
.kk-cm__media{cursor:zoom-in;position:relative;display:flex;align-items:flex-start;justify-content:center;width:100%;height:100%;min-height:0;background:#e4e2de;overflow:hidden;border:0;padding:clamp(28px,3.4vw,56px)}
.kk-cm__media img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;box-shadow:0 1px 2px rgba(0,0,0,.12),0 24px 60px -18px rgba(0,0,0,.35);transition:transform 900ms var(--e-enter)}
.kk-cm__media:hover img{transform:scale(1.03)}
.kk-cm__zoom{position:absolute;right:20px;bottom:20px;display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 18px 0 14px;border-radius:999px; background:var(--paper);color:var(--ink);font-size:var(--fz-nano);text-transform:uppercase;letter-spacing:.12em;line-height:1; box-shadow:0 1px 2px rgba(0,0,0,.12),0 8px 24px -6px rgba(0,0,0,.28);transition:background var(--t-react),color var(--t-react),transform 400ms var(--e-enter)}
.kk-cm__zoom svg{width:18px;height:18px;flex:none}
.kk-cm__media:hover .kk-cm__zoom,.kk-cm__media:focus-visible .kk-cm__zoom{background:var(--ink);color:var(--paper);transform:scale(1.04)}
.kk-cm__cta{align-self:flex-start;margin-top:var(--s3)}
.kk-cm.is-open .kk-cm__cta{transition:opacity 600ms var(--e-enter),transform 900ms var(--e-enter),color 250ms var(--e-enter);transition-delay:calc(var(--i)*80ms + 300ms),calc(var(--i)*80ms + 300ms),0ms}
.kk-cm__body{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin; padding:clamp(40px,5vw,72px) clamp(28px,4.4vw,72px) clamp(40px,5vw,64px);display:flex;flex-direction:column;gap:var(--s3)}
.kk-cm__meta{display:flex;align-items:center;gap:var(--s2);padding-right:64px}
.kk-cm__meta::after{content:"";flex:1;height:1px;background:currentColor;opacity:.18}
.kk-cm__no{font:400 clamp(1.25rem,1.8vw,1.625rem)/1 var(--druk);letter-spacing:.02em;color:var(--accent)}
.kk-cm__niche{order:2;font-size:var(--fz-nano);text-transform:uppercase;letter-spacing:.14em;color:var(--mute);white-space:nowrap}
.kk-cm__title{font:400 clamp(1.75rem,2.8vw,2.75rem)/.95 var(--druk);text-transform:uppercase;letter-spacing:.03em;text-wrap:balance}
.kk-cm__lead{font-size:var(--fz-lede);line-height:1.4;max-width:40ch;padding-left:var(--s2);border-left:2px solid var(--accent)}
.kk-cm__dl{display:grid;grid-template-columns:minmax(0,8.5rem) minmax(0,1fr);column-gap:var(--s4);margin-top:var(--s2);border-top:1px solid rgba(49,49,49,.18)}
.kk-cm__dl dt,.kk-cm__dl dd{padding-block:var(--s3);border-bottom:1px solid rgba(49,49,49,.18)}
.kk-cm__dl dt{display:flex;flex-direction:column;gap:8px;font-size:var(--fz-nano);text-transform:uppercase;letter-spacing:.14em;color:var(--mute)}
.kk-cm__dl dt b{font:400 1.375rem/1 var(--druk);letter-spacing:.02em;color:var(--ink)}
.kk-cm__dl dd{font-size:var(--fz-micro);line-height:1.6;max-width:60ch}
.kk-cm__dl dt.is-art b{color:var(--accent)}
.kk-cm__dl dd.is-art{background:var(--accent-wash);padding-inline:var(--s2);margin-block:var(--s2);border-bottom:0}
.kk-cm__dl dt.is-art{border-bottom:0}
.kk-cm__close{position:absolute;z-index:3;top:clamp(16px,2vw,28px);right:clamp(16px,2vw,28px);width:48px;height:48px;border-radius:50%; background:var(--paper);color:var(--ink);border:1px solid rgba(49,49,49,.22);display:inline-flex;align-items:center;justify-content:center; font:300 1.625rem/1 var(--hel);opacity:0;transition:opacity 300ms,background var(--t-react),color var(--t-react),transform 500ms var(--e-enter)}
.kk-cm.is-open .kk-cm__close{opacity:1;transition-delay:350ms,0ms,0ms,0ms}
.kk-cm__close:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);transform:rotate(90deg)}
.kk-cm [data-cm-i]{opacity:0;transform:translate3d(0,18px,0);transition:opacity 220ms ease,transform 220ms ease}
.kk-cm.is-open [data-cm-i]{opacity:1;transform:none;transition:opacity 600ms var(--e-enter),transform 900ms var(--e-enter);transition-delay:calc(var(--i,0)*80ms + 300ms)}
@media (max-width:1099px){
  .kk-cm__dl{grid-template-columns:1fr}
  .kk-cm__dl dt{flex-direction:row;align-items:baseline;gap:12px;border-bottom:0;padding-bottom:10px}
  .kk-cm__dl dd{padding-top:0}
  .kk-cm__dl dd.is-art{padding-block:var(--s2);margin-block:0 var(--s2)}
}
@media (max-width:767px){
  .kk-cm{padding:0;place-items:end stretch}
  .kk-cm__sheet{display:block;width:100%;height:92vh;height:92dvh;overflow:auto;overscroll-behavior:contain;border-radius:18px 18px 0 0}
  .kk-cm__close{position:sticky;top:12px;display:flex;margin:12px 12px -60px auto;box-shadow:0 4px 14px rgba(0,0,0,.14)}
  .kk-cm__media{height:auto;max-height:62vh;padding:24px 20px}
  .kk-cm__media img{max-height:calc(62vh - 48px)}
  .kk-cm__zoom{right:14px;bottom:14px;width:44px;padding:0;justify-content:center}
  .kk-cm__zoom span{display:none}
  .kk-cm__cta{align-self:stretch}
  .kk-cm__body{overflow:visible;padding:var(--s4) 20px calc(var(--s5) + env(safe-area-inset-bottom))}
  .kk-cm__meta{padding-right:0}
}
.kk-lb{position:fixed;inset:0;z-index:9000;overflow:auto;overscroll-behavior:contain;padding:clamp(64px,9vh,96px) var(--margin);pointer-events:none}
.kk-lb[hidden]{display:none}
.kk-lb::before{content:"";position:fixed;inset:0;background:rgba(20,20,20,.94);opacity:0;transition:opacity 420ms var(--e-enter)}
.kk-lb.is-open{pointer-events:auto}
.kk-lb.is-open::before{opacity:1}
.kk-lb__img{position:relative;display:block;margin:0 auto;max-width:min(100%,1100px);height:auto;cursor:zoom-out;box-shadow:0 40px 100px -24px rgba(0,0,0,.7)}
.kk-lb__close{position:fixed;z-index:2;top:var(--s3);right:var(--margin);width:48px;height:48px;border:1px solid rgba(239,237,234,.45);border-radius:50%;color:var(--paper); display:inline-flex;align-items:center;justify-content:center;font:300 1.625rem/1 var(--hel); opacity:0;transition:opacity 300ms,background var(--t-react),color var(--t-react),transform 500ms var(--e-enter)}
.kk-lb.is-open .kk-lb__close{opacity:1;transition-delay:250ms,0ms,0ms,0ms}
.kk-lb__close:hover{background:var(--paper);color:var(--ink);transform:rotate(90deg)}
@media (max-width:1024px){
  .kk-case{flex-basis:clamp(260px,42vw,340px)}
}
@media (max-width:600px){
  .kk-rail{gap:var(--s4)}
  .kk-case{flex-basis:78vw}
  .kk-case+.kk-case::after{left:calc(-1*var(--s2))}
  .kk-railctl{align-items:flex-end}
  .kk-btn{width:100%;justify-content:space-between;font-size:.9375rem;letter-spacing:.1em;min-height:56px}
}
.kk-land :where(.kk-h1,.kk-h2,.kk-h3,.kk-case__title,.kk-gmega,.kk-split){overflow-wrap:break-word}
.kk-pill:active,.kk-railnav button:active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.kk-case__more:active,.kk-link:active{color:var(--accent)}
@media (hover:none){
  .kk-case:hover .kk-case__media img{transform:none}
}
@media (max-width:600px){
  .kk-case__res,.kk-gcard .kk-body,.kk-gcard--hero .kk-body,.kk-tl__step p,.kk-li{font-size:var(--fz-body)}
  .kk-case__title{font-size:1.25rem}
  .kk-railnav{gap:12px}
}