/* KEVNS — a typographic city index.
   Layout: one bold element per page (the city index on home, the city name on a city page);
   everything else is quiet, hard-edged, ruled in 2px ink. Each city owns one color, used only as a fill. */
:root{
  --paper:#FFFFFF;
  --ink:#000000;
  --mute:#5B5B66;
  --tint:#F1F1F4;
  --city:#000000;
  --on-city:#FFFFFF;
  --display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --gutter:clamp(16px,4vw,48px);
  --rule:2px solid var(--ink);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#000000;--ink:#FFFFFF;--mute:#A6A6B2;--tint:#141418;color-scheme:dark}}
:root[data-theme="dark"]{--paper:#000000;--ink:#FFFFFF;--mute:#A6A6B2;--tint:#141418;color-scheme:dark}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:1.0625rem;line-height:1.55;
  font-optical-sizing:auto;text-rendering:optimizeLegibility}
a{color:inherit}
img{max-width:100%}
h1,h2,h3,p{margin:0}
h1,h2,h3{text-wrap:balance}
p,li,dd{text-wrap:pretty}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.wrap{padding-inline:var(--gutter);max-width:1520px;margin-inline:auto}
.skip{position:absolute;left:-999px}.skip:focus{left:var(--gutter);top:8px;background:var(--ink);color:var(--paper);padding:.5rem .8rem;z-index:20}

/* type roles */
.sans{font-family:var(--display);font-stretch:100%}
.label{font-family:var(--display);font-size:.8125rem;font-weight:600;letter-spacing:.02em;color:var(--mute)}
.h-section{font-family:var(--display);font-stretch:125%;font-weight:800;font-size:clamp(1.75rem,3.4vw,2.75rem);line-height:1;letter-spacing:-.02em;text-transform:uppercase}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--paper);border-bottom:var(--rule)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:60px}
.mark{font-family:var(--display);font-stretch:125%;font-weight:900;font-size:1.6rem;letter-spacing:-.03em;text-decoration:none;line-height:1}
.mark span{display:inline-block;width:.55em;height:.55em;background:var(--city);margin-left:.12em;vertical-align:.05em}
.nav{display:flex;gap:clamp(.8rem,2.5vw,2rem);font-family:var(--display);font-weight:600;font-size:.95rem}
.nav a{text-decoration:none;padding-block:.4rem;border-bottom:2px solid transparent}
.nav a:hover{border-color:var(--ink)}

section{padding-block:clamp(48px,7vw,96px)}
section+section{border-top:var(--rule)}
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:1rem 3rem;align-items:end;margin-bottom:clamp(28px,4vw,48px)}
.sec-head p{max-width:46ch;color:var(--mute);font-size:1.0625rem}
@media (max-width:760px){.sec-head{grid-template-columns:1fr}}

/* home intro */
.intro{padding-block:clamp(40px,6vw,80px) clamp(28px,4vw,48px)}
.intro .wrap{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1.5rem 4rem;align-items:end}
.intro h1{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4.4vw,3.9rem);line-height:1.04;letter-spacing:-.015em;max-width:18ch}
.intro h1 em{font-style:italic}
.intro p{max-width:40ch;color:var(--mute)}
@media (max-width:760px){.intro .wrap{grid-template-columns:1fr}}

/* THE INDEX — the one loud thing on the home page */
.index{padding:0;border-top:var(--rule)}
.index ul{list-style:none;margin:0;padding:0}
.row{display:grid;grid-template-columns:4.5rem minmax(0,1fr) minmax(0,15rem);align-items:center;gap:.25rem 1.5rem;
  padding:clamp(10px,1.4vw,18px) var(--gutter);border-bottom:var(--rule);text-decoration:none;
  transition:background-color .18s ease,color .18s ease}
.row .code{font-family:var(--display);font-weight:700;font-size:.9rem;font-variant-numeric:tabular-nums}
.row .name{font-family:var(--display);font-weight:850;font-stretch:112%;text-transform:uppercase;letter-spacing:-.035em;
  font-size:clamp(2.4rem,8.6vw,8.75rem);line-height:.9;transition:font-stretch .35s cubic-bezier(.2,.7,.2,1)}
.row .meta{display:grid;gap:.15rem;justify-items:end;text-align:right;font-family:var(--display);font-size:.875rem}
.row .meta .time{font-weight:700;font-variant-numeric:tabular-nums}
.row:hover,.row:focus-visible{background:var(--c);color:var(--oc);outline:none}
.row:hover .name,.row:focus-visible .name{font-stretch:125%}
.row:hover .meta,.row:focus-visible .meta{color:var(--oc)}
.row .meta .tags{color:var(--mute)}
.row:hover .meta .tags,.row:focus-visible .meta .tags{color:inherit}
@media (max-width:760px){
  .row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name name" "tags time"}
  .row .code{display:none}.row .name{grid-area:name}
  .row .meta{display:contents}.row .meta .tags{grid-area:tags;text-align:left}.row .meta .time{grid-area:time}
}

/* feature */
.feature .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem 4rem;align-items:start}
.feature h2{font-family:var(--display);font-stretch:125%;font-weight:850;text-transform:uppercase;letter-spacing:-.035em;
  font-size:clamp(2.6rem,5.6vw,5.6rem);line-height:.88}
.feature .swatch{display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1.25rem}
.chip{display:inline-block;font-family:var(--display);font-weight:700;font-size:.8125rem;padding:.2rem .5rem;background:var(--c);color:var(--oc);text-decoration:none}
.feature .deck{font-size:clamp(1.25rem,1.9vw,1.6rem);line-height:1.35;max-width:32ch}
.feature .body{margin-top:1.25rem;max-width:56ch;color:var(--mute)}
.btn{display:inline-block;margin-top:1.75rem;font-family:var(--display);font-weight:700;font-size:.95rem;padding:.8rem 1.1rem;
  background:var(--ink);color:var(--paper);text-decoration:none;border:2px solid var(--ink)}
.btn:hover{background:var(--paper);color:var(--ink)}
@media (max-width:860px){.feature .wrap{grid-template-columns:1fr}}

/* picks */
.picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:var(--rule);border-left:var(--rule)}
.pick{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem 1.5rem 1.75rem;border-right:var(--rule);border-bottom:var(--rule);text-decoration:none;min-width:0}
.pick .band{height:10px;background:var(--c);margin:-1.5rem -1.5rem .5rem}
.pick h3{font-family:var(--display);font-weight:800;font-stretch:110%;font-size:1.5rem;line-height:1.05;letter-spacing:-.02em}
.pick p{color:var(--mute)}
.pick .go{margin-top:auto;font-family:var(--display);font-weight:700;font-size:.875rem;padding-top:.5rem}
.pick:hover .band{height:22px;transition:height .18s ease}
.pick:hover h3{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
@media (max-width:980px){.picks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.picks{grid-template-columns:1fr}}

/* threads */
.threads{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:3rem}
.threads li{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr) auto;gap:.5rem 1.5rem;align-items:baseline;padding-block:1rem;border-bottom:var(--rule)}
.threads li:nth-child(-n+2){border-top:var(--rule)}
.threads h3{font-family:var(--display);font-weight:800;font-size:1.25rem;letter-spacing:-.01em}
.threads p{color:var(--mute);font-size:1rem}
.threads .chips{display:flex;flex-wrap:wrap;gap:.3rem;justify-content:flex-end}
@media (max-width:980px){.threads{grid-template-columns:1fr}.threads li:nth-child(2){border-top:0}}
@media (max-width:560px){.threads li{grid-template-columns:1fr}.threads .chips{justify-content:flex-start}}

/* people strip on home */
.faces{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:var(--rule)}
.face{padding:1.25rem 1.25rem 1.5rem 0;border-bottom:var(--rule);min-width:0;display:grid;gap:.35rem;align-content:start}
.face+.face{padding-left:1.25rem;border-left:var(--rule)}
.face:nth-child(4n+1){padding-left:0;border-left:0}
.face .who{font-family:var(--display);font-weight:800;font-size:1.2rem;line-height:1.1}
.face p{color:var(--mute);font-size:.98rem}
@media (max-width:980px){.faces{grid-template-columns:repeat(2,minmax(0,1fr))}.face:nth-child(4n+1){padding-left:1.25rem;border-left:var(--rule)}.face:nth-child(2n+1){padding-left:0;border-left:0}}
@media (max-width:560px){.faces{grid-template-columns:1fr}.face,.face+.face{padding-left:0;border-left:0}}

/* about / irl */
.about .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem 4rem}
.about h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.9rem,3.6vw,3.1rem);line-height:1.08;letter-spacing:-.01em;max-width:20ch}
.about .copy{display:grid;gap:1rem;max-width:56ch}
.irl{background:var(--ink);color:var(--paper)}
.irl .wrap{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.5rem 3rem;align-items:center}
.irl .big{font-family:var(--display);font-stretch:125%;font-weight:900;font-size:clamp(3rem,9vw,8rem);line-height:.85;letter-spacing:-.04em}
.irl p{max-width:44ch;font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.35}
@media (max-width:860px){.about .wrap,.irl .wrap{grid-template-columns:1fr}}

/* contact */
.contact .wrap{display:grid;gap:1.25rem}
.mailrow{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}
.mail{font-family:var(--display);font-weight:800;font-stretch:110%;font-size:clamp(1.6rem,4.4vw,3.6rem);letter-spacing:-.03em;text-decoration:none;
  border-bottom:4px solid var(--city);overflow-wrap:anywhere;user-select:all}
.copy-btn{font-family:var(--display);font-weight:700;font-size:.875rem;padding:.55rem .9rem;background:transparent;color:var(--ink);border:2px solid var(--ink);cursor:pointer}
.copy-btn:hover{background:var(--ink);color:var(--paper)}

/* footer */
footer{border-top:var(--rule);padding-block:2rem 2.5rem;font-family:var(--display);font-size:.9rem}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem}
footer .cities{display:flex;flex-wrap:wrap;gap:.3rem}
footer .note{color:var(--mute);max-width:52ch}

/* CITY PAGE */
.cover{background:var(--city);color:var(--on-city);padding-block:clamp(28px,4vw,48px) clamp(36px,5vw,64px);border-bottom:var(--rule)}
.cover .meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;font-family:var(--display);font-weight:700;font-size:.9rem;font-variant-numeric:tabular-nums}
.cover h1{font-family:var(--display);font-stretch:125%;font-weight:900;text-transform:uppercase;letter-spacing:-.045em;line-height:.82;
  font-size:clamp(3.2rem,15vw,15rem);margin-block:clamp(20px,3vw,40px) clamp(16px,2vw,28px)}
.cover .line{font-family:var(--serif);font-style:italic;font-size:clamp(1.35rem,2.6vw,2.2rem);line-height:1.2;max-width:28ch}
.lede .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:1.5rem 4rem}
.lede .copy{display:grid;gap:1rem;font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.45;max-width:46ch}
@media (max-width:760px){.lede .wrap{grid-template-columns:1fr}}

.hoods{list-style:none;margin:0;padding:0;border-top:var(--rule)}
.hood{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) minmax(0,1fr);gap:.75rem 2.5rem;padding-block:1.6rem;border-bottom:var(--rule)}
.hood h3{font-family:var(--display);font-stretch:115%;font-weight:850;font-size:clamp(1.5rem,2.4vw,2.1rem);line-height:1;letter-spacing:-.025em}
.hood .where{margin-top:.5rem}
.hood .move{border-left:6px solid var(--city);padding-left:1rem;align-self:start}
.hood .move strong{display:block;font-family:var(--display);font-size:.8125rem;font-weight:700;letter-spacing:.02em;margin-bottom:.2rem}
.hood.no-move{grid-template-columns:minmax(0,1.1fr) minmax(0,2.3fr)}
@media (max-width:860px){.hood,.hood.no-move{grid-template-columns:1fr}}

.people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:var(--rule)}
.person{padding:1.4rem 1.5rem 1.6rem 0;border-bottom:var(--rule);display:grid;gap:.4rem;align-content:start;min-width:0}
.person:not(:nth-child(3n+1)){padding-left:1.5rem;border-left:var(--rule)}
.person .who{font-family:var(--display);font-weight:800;font-size:1.3rem;line-height:1.1}
.person p{color:var(--mute)}
@media (max-width:860px){.people{grid-template-columns:1fr 1fr}.person:not(:nth-child(3n+1)){padding-left:0;border-left:0}.person:nth-child(2n){padding-left:1.25rem;border-left:var(--rule)}}
@media (max-width:560px){.people{grid-template-columns:1fr}.person:nth-child(2n){padding-left:0;border-left:0}}

.switch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:var(--rule);border-left:var(--rule)}
.switch a{display:grid;gap:.4rem;padding:1.1rem 1.1rem 1.25rem;border-right:var(--rule);border-bottom:var(--rule);text-decoration:none;min-width:0}
.switch a .n{font-family:var(--display);font-weight:850;font-stretch:115%;text-transform:uppercase;font-size:clamp(1.2rem,2.2vw,1.9rem);letter-spacing:-.03em;line-height:1}
.switch a:hover,.switch a:focus-visible{background:var(--c);color:var(--oc);outline:none}
.switch a:hover .label,.switch a:focus-visible .label{color:inherit}
.switch a[aria-current]{background:var(--tint)}
@media (max-width:760px){.switch{grid-template-columns:1fr 1fr}}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ===== Restored content ===== */
/* home index: thumbnail that plays on hover */
.row{grid-template-columns:4.5rem minmax(0,1fr) minmax(0,15rem) clamp(120px,14vw,220px)}
.row .thumb{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--tint);border:2px solid var(--ink)}
.row .thumb video{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:760px){.row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"thumb thumb" "name name" "tags time"}.row .thumb{grid-area:thumb;margin-bottom:.4rem}}
.feature-img{margin:2rem 0 0}
.feature-img img{display:block;width:100%;height:auto;border:2px solid var(--ink)}
.pick-img{display:block;margin:-1.5rem -1.5rem .25rem;aspect-ratio:3/2;overflow:hidden;border-bottom:var(--rule);background:var(--tint)}
.pick-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.pick:hover .pick-img img{transform:scale(1.07)}
.pick .band{display:none}
.topics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:var(--rule);border-left:var(--rule)}
.topic{display:grid;grid-template-rows:auto 1fr;text-decoration:none;border-right:var(--rule);border-bottom:var(--rule);min-width:0}
.topic img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;border-bottom:var(--rule)}
.topic span{display:grid;gap:.4rem;align-content:start;padding:1rem 1rem 1.25rem}
.topic h3{font-family:var(--display);font-weight:800;font-stretch:110%;font-size:1.25rem;line-height:1.05}
.topic p{color:var(--mute);font-size:.95rem}
.topic:hover h3{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
@media (max-width:1100px){.topics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.topics{grid-template-columns:repeat(2,minmax(0,1fr))}}
.newsrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:var(--rule)}
.news{display:grid;gap:.5rem;align-content:start;padding:1.25rem 1.25rem 1.5rem 0;border-bottom:var(--rule);text-decoration:none;min-width:0}
.news+.news{padding-left:1.25rem;border-left:var(--rule)}
.news h3{font-family:var(--display);font-weight:800;font-size:1.35rem;line-height:1.05}
.news p{color:var(--mute)}
@media (max-width:760px){.newsrow{grid-template-columns:1fr}.news+.news{padding-left:0;border-left:0}}

/* city hero video */
.k-hero-media{border-bottom:var(--rule);background:var(--ink)}
.k-hero-media video{display:block;width:100%;aspect-ratio:16/7;object-fit:cover;max-height:78vh}
@media (max-width:640px){.k-hero-media video{aspect-ratio:4/3}}

/* section tabs */
.k-subnav{position:sticky;top:calc(env(safe-area-inset-top,0px) + 62px);z-index:9;background:var(--paper);border-bottom:var(--rule)}
.k-subnav .wrap{display:flex;gap:0;overflow-x:auto;scrollbar-width:thin}
.k-subnav a{flex:0 0 auto;font-family:var(--display);font-weight:700;font-size:.9rem;padding:.8rem .9rem;text-decoration:none;border-right:2px solid var(--ink);white-space:nowrap}
.k-subnav a:first-child{border-left:2px solid var(--ink)}
.k-subnav a:hover{background:var(--tint)}
.k-subnav a[aria-current]{background:var(--city);color:var(--on-city)}

/* sub-page cover */
.k-cover{background:var(--city);color:var(--on-city);padding-block:clamp(28px,4vw,52px);border-bottom:var(--rule)}
.k-cover-plain{background:var(--paper);color:var(--ink)}
.k-kicker{font-family:var(--display);font-weight:700;font-size:.9rem}
.k-kicker a{text-decoration:none;border-bottom:2px solid currentColor}
.k-cover h1{font-family:var(--display);font-stretch:125%;font-weight:900;text-transform:uppercase;letter-spacing:-.04em;line-height:.86;
  font-size:clamp(2.4rem,8vw,7.5rem);margin-block:clamp(14px,2vw,24px);max-width:16ch}
.k-deck{font-family:var(--serif);font-style:italic;font-size:clamp(1.2rem,2.2vw,1.8rem);line-height:1.25;max-width:40ch}

/* converted content flow */
.k-sec{padding-block:clamp(36px,5vw,72px)}
.k-flow{display:flow-root}
.k-flow>*+*{margin-top:1.1rem}
.k-flow h2{font-family:var(--display);font-stretch:125%;font-weight:850;text-transform:uppercase;letter-spacing:-.03em;line-height:.95;
  font-size:clamp(1.7rem,3.6vw,3rem);margin-top:2.25rem;max-width:22ch}
.k-flow>h2:first-child,.k-flow>*:first-child{margin-top:0}
.k-flow h3{font-family:var(--display);font-weight:800;font-stretch:108%;font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.12;letter-spacing:-.01em;margin-top:1.6rem}
.k-flow h4{font-family:var(--display);font-weight:700;font-size:.95rem;margin-top:1.2rem}
.k-flow p,.k-flow li,.k-flow dd{max-width:68ch}
.k-flow p+p{margin-top:.7rem}
.k-flow ul,.k-flow ol{padding-left:1.2rem}
.k-flow li+li{margin-top:.35rem}
.k-flow a{text-decoration-thickness:1px;text-underline-offset:3px}
.k-flow a:hover{text-decoration-thickness:2px}
.k-flow img,.k-flow video{display:block;max-width:100%;height:auto}
.k-flow>img,.k-flow>figure img,.k-flow>a>img{width:100%;border:2px solid var(--ink)}
.k-flow figure{margin:1.5rem 0 0}
.k-flow figcaption{font-family:var(--display);font-size:.8125rem;color:var(--mute);margin-top:.5rem}
.k-flow blockquote{margin:1.5rem 0 0;padding-left:1.1rem;border-left:6px solid var(--city);font-family:var(--serif);font-style:italic;font-size:clamp(1.25rem,2.2vw,1.8rem);line-height:1.25;max-width:36ch}
.k-video{width:100%;border:2px solid var(--ink);background:var(--ink)}
.k-blocklink{display:block;text-decoration:none}
.k-blocklink:hover h3,.k-blocklink:hover h2{text-decoration:underline}
details{border-top:var(--rule);padding-block:.8rem}
summary{font-family:var(--display);font-weight:800;cursor:pointer}
dl{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem}dt{font-family:var(--display);font-weight:700}

.k-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));border-top:var(--rule);border-left:var(--rule);margin-top:1.25rem}
.k-grid:has(> :only-child){grid-template-columns:minmax(0,1fr)}
.k-card{display:flex;flex-direction:column;gap:.45rem;padding:1.15rem 1.15rem 1.35rem;border-right:var(--rule);border-bottom:var(--rule);min-width:0;text-decoration:none;color:inherit}
.k-card>*{margin:0!important}
.k-card img,.k-card video{width:calc(100% + 2.3rem);max-width:none;margin:-1.15rem -1.15rem .35rem!important;aspect-ratio:16/10;object-fit:cover;border-bottom:var(--rule)}
.k-card h2,.k-card h3{font-family:var(--display);font-stretch:108%;font-weight:800;font-size:1.2rem;line-height:1.1;text-transform:none;letter-spacing:-.01em;max-width:none}
.k-card h4{font-size:.85rem;color:var(--mute)}
.k-card p{font-size:.98rem;max-width:none}
.k-card .k-chips{margin-top:auto!important}
a.k-card:hover{background:var(--tint)}
.k-card .k-grid{border:0;margin:0}

.k-chips{display:flex;flex-wrap:wrap;gap:.4rem;max-width:none!important}
.k-chips a{font-family:var(--display);font-weight:600;font-size:.875rem;padding:.35rem .6rem;border:2px solid var(--ink);text-decoration:none;line-height:1.2}
.k-chips a:hover{background:var(--ink);color:var(--paper)}

.k-table{overflow-x:auto;border-top:var(--rule);margin-top:1rem}
.k-table table{border-collapse:collapse;width:100%;min-width:520px;font-size:.98rem}
.k-table th,.k-table td{text-align:left;padding:.65rem .8rem .65rem 0;border-bottom:1px solid var(--ink);vertical-align:top}
.k-table th{font-family:var(--display);font-weight:700;font-size:.8125rem}

/* events */
.k-filter{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem}
.k-filter button{font-family:var(--display);font-weight:700;font-size:.85rem;padding:.4rem .7rem;border:2px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer}
.k-filter button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.k-events{list-style:none;padding:0!important;margin-top:.75rem;border-top:var(--rule)}
.k-event{display:grid;grid-template-columns:9rem minmax(0,1fr) auto;gap:.4rem 1.5rem;padding-block:1rem;border-bottom:1px solid var(--ink);max-width:none!important;margin:0!important}
.k-when{font-family:var(--display);font-weight:800;font-variant-numeric:tabular-nums}
.k-event h3{margin:0!important;font-size:1.15rem}
.k-event h3 a{text-decoration:none}.k-event h3 a:hover{text-decoration:underline}
.k-event p{margin-top:.3rem!important;max-width:64ch}
.k-cat{font-family:var(--display);font-weight:700;font-size:.75rem;padding:.2rem .45rem;background:var(--city);color:var(--on-city);align-self:start;text-transform:capitalize;white-space:nowrap}
@media (max-width:700px){.k-event{grid-template-columns:1fr}.k-cat{justify-self:start}}

/* ===== Icons ===== */
.k-tab-ico{width:26px;height:26px;margin:-4px .45rem -4px -.15rem;vertical-align:middle}
.k-cover-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem 2.5rem;align-items:center}
.k-cover-ico img{display:block;width:clamp(96px,14vw,200px);height:auto;transform:rotate(3deg)}
.k-cover-ico.k-neon{background:#000;padding:.9rem;border:2px solid var(--ink)}
.k-cover-ico.k-neon img{transform:none}
@media (max-width:640px){.k-cover-grid{grid-template-columns:1fr}.k-cover-ico{order:-1}.k-cover-ico img{width:84px}}
.topic-art{position:relative;display:block;border-bottom:var(--rule)}
.topic-art>img:first-child{border-bottom:0}
.topic-ico{position:absolute;right:.5rem;bottom:-1.4rem;width:64px;height:64px;transform:rotate(4deg)}
.topic span:last-child{padding-top:1.5rem}
.k-head-ico{width:1.35em;height:1.35em;vertical-align:-.3em;margin-right:.35em}
.k-feat-ico{width:52px;height:52px}
.k-cat{display:inline-flex;align-items:center;gap:.3rem}
.k-cat-ico{width:22px;height:22px;margin:-4px 0}
.topic .topic-art img.topic-ico{width:64px;height:64px;aspect-ratio:auto;object-fit:contain;border:0;position:absolute;right:.5rem;bottom:-1.4rem}

/* ===== City Paintings ===== */
.k-painting{margin:0;background:var(--ink);border-bottom:var(--rule)}
.k-painting img{display:block;width:100%;height:auto;max-width:1600px;margin-inline:auto}
.k-motion{border-top:var(--rule)}
.k-motion video{aspect-ratio:21/9}

/* ===== New icon set ===== */
:root{--k-accent:var(--city)}
.k-i,.k-ico,.k-cover-svg,.k-tab-ico,.k-head-ico,.topic-ico,.k-cat-ico,.k-feat-ico{color:var(--ink);fill:none;flex:none}
.k-tab-ico{width:20px;height:20px;margin:-3px .5rem -3px 0;vertical-align:middle}
.k-subnav a[aria-current] .k-tab-ico{color:var(--on-city);--k-accent:var(--on-city)}
.k-cover .k-cover-svg{width:clamp(80px,10vw,140px);height:clamp(80px,10vw,140px);color:var(--on-city);--k-accent:var(--on-city);display:block}
.k-cover-plain .k-cover-svg{color:var(--ink);--k-accent:#2340FF}
.k-cover-ico img{display:none}
.k-head-ico{width:.9em;height:.9em;vertical-align:-.08em;margin-right:.3em;--k-accent:#2340FF}
.topic h3 .topic-ico{position:static;width:22px;height:22px;vertical-align:-4px;margin-right:.4rem;--k-accent:#2340FF}
.k-cat-ico{width:16px;height:16px;color:var(--on-city);--k-accent:var(--on-city)}
.k-feat-ico{width:44px;height:44px;--k-accent:#FF5A00}
.k-home-art{border-top:var(--rule)}

/* ===== City in motion ===== */
.k-motion-row{border-top:var(--rule)}
.k-motion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:var(--rule);border-left:var(--rule)}
.k-motion-grid video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-right:var(--rule);border-bottom:var(--rule);background:var(--tint)}
@media (max-width:760px){.k-motion-grid{grid-template-columns:1fr}}
.switch a .sw-img{display:block;width:calc(100% + 2.2rem);max-width:none;margin:-1.1rem -1.1rem .35rem;aspect-ratio:3/2;object-fit:cover;border-bottom:var(--rule)}
.k-motion-vert{display:none}
@media (max-width:760px){
  .k-motion-grid.has-vert{display:none}
  .k-motion-vert{display:flex;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem;border-top:var(--rule);padding-top:.75rem}
  .k-motion-vert video{flex:0 0 72%;aspect-ratio:9/16;object-fit:cover;scroll-snap-align:start;border:var(--rule);background:var(--tint)}
}

/* ---------- interactive features (search, events, visit, signals) ---------- */
html.k-lock{overflow:hidden}
.k-tools{display:flex;gap:.4rem;align-items:center;position:relative;margin-left:auto}
.top .wrap{flex-wrap:wrap}
.k-tool{font:600 .85rem/1 var(--display);background:var(--paper);color:var(--ink);border:var(--rule);padding:.5rem .7rem;cursor:pointer;display:inline-flex;gap:.4rem;align-items:center}
.k-tool:hover,.k-tool[aria-expanded="true"]{background:var(--ink);color:var(--paper)}
.k-tool svg{width:1em;height:1em}
.k-count{font-variant-numeric:tabular-nums}
.k-saved{position:absolute;right:0;top:calc(100% + 8px);width:min(360px,calc(100vw - 32px));max-height:70vh;overflow:auto;background:var(--paper);border:var(--rule);padding:1rem;z-index:30;box-shadow:6px 6px 0 var(--city)}
.k-saved-row{display:flex;justify-content:space-between;gap:.6rem;padding:.5rem 0;border-bottom:1px solid var(--tint)}
.k-x{background:none;border:0;color:var(--mute);cursor:pointer;font:600 .8rem var(--display)}
.k-search{position:fixed;inset:0;z-index:50;background:color-mix(in srgb,var(--ink) 55%,transparent);display:flex;justify-content:center;align-items:flex-start;padding:min(8vh,64px) 16px 16px}
.k-search[hidden]{display:none}
.k-search-in{background:var(--paper);border:var(--rule);width:min(760px,100%);max-height:84vh;overflow:auto;padding:clamp(1rem,3vw,1.75rem);box-shadow:10px 10px 0 var(--city)}
.k-search-top{display:flex;gap:.6rem;align-items:center;border-bottom:var(--rule);padding-bottom:.6rem}
.k-search-top svg{width:1.4rem;height:1.4rem;flex:none}
.k-search-top input{flex:1;min-width:0;border:0;background:none;color:var(--ink);font:800 clamp(1.25rem,3vw,1.75rem)/1.1 var(--display);outline:none}
.k-search-filters,.k-filters{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}
select,input[type=date],input[type=search]{font:500 .9rem var(--display);color:var(--ink);background:var(--paper);border:2px solid var(--ink);padding:.45rem .55rem;border-radius:0;max-width:100%}
.k-filters label{display:grid;gap:.25rem;font:600 .75rem var(--display);color:var(--mute);text-transform:uppercase;letter-spacing:.04em}
.k-filters label input[type=search]{min-width:min(260px,80vw)}
.k-filters>button,.k-more,.k-actions button,.k-btn{font:700 .85rem var(--display);border:var(--rule);background:var(--paper);color:var(--ink);padding:.55rem .8rem;cursor:pointer;text-decoration:none;display:inline-block;align-self:end}
.k-btn{background:var(--city);color:var(--on-city);border-color:var(--ink)}
.k-filters>button:hover,.k-more:hover,.k-actions button:hover,.k-actions a:hover{background:var(--ink);color:var(--paper)}
.k-more[hidden]{display:none}
.k-status{font:600 .8rem var(--display);color:var(--mute);min-height:1em}
.k-res{border-bottom:2px solid var(--tint);padding:.8rem 0}
.k-res>a{display:grid;gap:.15rem;text-decoration:none}
.k-res>a strong{font:800 1.1rem/1.2 var(--display)}
.k-res>a:hover strong{text-decoration:underline;text-decoration-thickness:2px}
.k-res-d{color:var(--mute);font-size:.95rem}
.k-res-h{font:800 .9rem var(--display);text-transform:uppercase;margin:1rem 0 .4rem}
.k-subscribe{border:var(--rule);padding:1rem 1.2rem;margin:0 0 2rem;display:grid;gap:.8rem;background:var(--tint)}
.k-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.k-actions a{font:700 .85rem var(--display);border:2px solid var(--ink);padding:.45rem .7rem;text-decoration:none}
.k-ev-strip,.k-ev-browse,.k-recent{margin:0 0 2.5rem}
.k-ev-strip>h2,.k-ev-browse>h2,.k-recent>h2{font:800 clamp(1.4rem,2.6vw,2rem)/1 var(--display);font-stretch:125%;text-transform:uppercase;letter-spacing:-.01em;border-top:var(--rule);padding-top:.8rem;margin-bottom:1rem}
.k-ev-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:0;border-top:2px solid var(--ink);border-left:2px solid var(--ink)}
.k-ev{border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:1rem;display:grid;gap:.6rem;align-content:start;background:var(--paper)}
.k-ev-when{font:800 .8rem var(--display);text-transform:uppercase;letter-spacing:.03em;background:var(--city);color:var(--on-city);justify-self:start;padding:.25rem .45rem}
.k-ev-body h3{font:800 1.15rem/1.15 var(--display)}
.k-ev-body p{font-size:.95rem}
.k-perf{color:var(--mute);font-style:italic}
.k-chips{display:flex;flex-wrap:wrap;gap:.35rem}
details.k-cal,details.k-visit,details.k-signals{border-top:1px solid var(--tint);padding-top:.4rem}
details.k-cal>summary,details.k-visit>summary,details.k-signals>summary{font:700 .8rem var(--display);cursor:pointer;list-style:none;display:inline-flex;gap:.35rem;align-items:center}
details>summary::-webkit-details-marker{display:none}
details.k-cal>summary::before,details.k-visit>summary::before,details.k-signals>summary::before{content:"+";font-weight:900;width:1em}
details[open].k-cal>summary::before,details[open].k-visit>summary::before,details[open].k-signals>summary::before{content:"–"}
details[open]>.k-actions,details[open]>div{margin-top:.5rem}
.k-place-tools{margin-top:.6rem;display:grid;gap:.3rem;font-size:.9rem}
.k-save[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.k-signals>div,.k-signals .k-actions{display:flex;flex-wrap:wrap;gap:.35rem}
.k-sig{font:600 .78rem var(--display);border:2px solid var(--ink);background:var(--paper);color:var(--ink);padding:.3rem .55rem;border-radius:999px;cursor:pointer}
.k-sig[aria-pressed="true"]{background:var(--city);color:var(--on-city)}
.k-listtools{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:0 0 1rem}
.k-listtools input{min-width:min(280px,100%)}
@media (max-width:640px){.k-tool .k-tool-t{display:none}.k-ev-list{grid-template-columns:1fr}}
.k-tool svg,.k-tool .k-i{fill:currentColor;stroke:currentColor;--k-accent:currentColor}
.k-ev-when{display:flex;flex-wrap:wrap;gap:.1rem .5rem}
.k-ev-when span{font-weight:600}
.k-ev-when span::before{content:"· ";}
.k-ev-tools{display:flex;flex-wrap:wrap;gap:.3rem 1rem;align-items:center;border-top:1px solid color-mix(in srgb,var(--ink) 20%,transparent);padding-top:.6rem;margin-top:.2rem}
.k-ev-tools details.k-cal{flex-basis:100%;border:0;padding:0}
.k-ev-tools>button{font:700 .78rem var(--display);background:none;border:0;padding:.2rem 0;color:var(--ink);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.k-ev-tools>button[aria-pressed="true"]{background:none;color:var(--city);text-decoration-thickness:2px}

/* stronger section contrast on guide pages */
main{counter-reset:ksec}
.k-sec{position:relative;counter-increment:ksec}
.k-sec:nth-of-type(even){background:color-mix(in srgb,var(--city) 11%,var(--paper))}
.k-sec:nth-of-type(even) .k-card,.k-sec:nth-of-type(even) .k-ev,.k-sec:nth-of-type(even) details{background:var(--paper)}
.k-sec+.k-sec{border-top:var(--rule)}
.k-sec>.k-flow>h2:first-child{padding-top:1.1rem;position:relative}
.k-sec>.k-flow>h2:first-child::before{content:counter(ksec,decimal-leading-zero);position:absolute;top:-.6rem;left:0;font:800 .8rem/1 var(--display);letter-spacing:.06em;background:var(--city);color:var(--on-city);padding:.3rem .45rem;font-stretch:100%}
.k-sec:nth-of-type(4n){background:var(--ink);color:var(--paper);--mute:color-mix(in srgb,var(--paper) 70%,var(--ink))}
.k-sec:nth-of-type(4n) .k-card,.k-sec:nth-of-type(4n) .k-ev{background:var(--paper);color:var(--ink);--mute:#5B5B66}
.k-sec:nth-of-type(4n) .k-card{border-color:var(--paper)}
section.k-ev-strip,section.k-ev-browse,section.k-recent{padding-block:0;border-top:0}
.k-ev-strip>h2,.k-ev-browse>h2,.k-recent>h2{border-top:0;padding-top:0}
.k-ev-strip,.k-ev-browse,.k-recent{margin:0 0 3rem}
.k-subscribe{background:var(--paper)}
.k-flow>figure img,.k-flow>img{max-width:min(100%,920px)}

/* section menu with dropdowns */
.k-subnav .wrap{overflow:visible;flex-wrap:wrap;align-items:stretch}
.k-subnav-city{font:900 .95rem var(--display);font-stretch:125%;text-transform:uppercase;padding:.8rem .9rem .8rem 0;text-decoration:none;display:flex;align-items:center;border-right:0!important;margin-right:.4rem}
.k-subnav .k-subnav-city:first-child{border-left:0}
.k-dd{position:relative;border-right:2px solid var(--ink)}
.k-dd:first-of-type{border-left:2px solid var(--ink)}
.k-dd>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.45rem;font:700 .9rem var(--display);padding:.8rem .9rem;white-space:nowrap;height:100%}
.k-dd>summary::-webkit-details-marker{display:none}
.k-dd>summary:hover,.k-dd[open]>summary{background:var(--tint)}
.k-dd.is-here>summary{background:var(--city);color:var(--on-city)}
.k-dd.is-here>summary .k-tab-ico{color:var(--on-city);--k-accent:var(--on-city)}
.k-dd-here{font-weight:500;opacity:.85}
.k-dd-here::before{content:"/ "}
.k-dd-car{width:.45em;height:.45em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:.15rem;transition:transform .15s}
.k-dd[open] .k-dd-car{transform:rotate(-135deg) translateY(-1px)}
.k-dd-panel{position:absolute;top:calc(100% + 2px);left:-2px;z-index:40;background:var(--paper);color:var(--ink);border:var(--rule);box-shadow:8px 8px 0 var(--city);padding:1rem 1.1rem;min-width:280px;max-height:min(70vh,560px);overflow:auto;display:grid;gap:1rem 1.6rem}
.k-dd-panel.wide{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));min-width:min(720px,92vw)}
.k-dd:nth-last-of-type(-n+3) .k-dd-panel{left:auto;right:-2px}
.k-dd-page{display:flex;justify-content:space-between;gap:.5rem;font:800 1rem var(--display);text-decoration:none;border-bottom:var(--rule);padding-bottom:.4rem;margin-bottom:.4rem}
.k-dd-page[aria-current]{color:var(--city)}
.k-dd-page:hover span{transform:translateX(3px)}
.k-dd-col ul{list-style:none;margin:0;padding:0}
.k-dd-col li a{display:block;padding:.3rem 0;font:500 .9rem/1.25 var(--display);text-decoration:none;color:var(--ink)}
.k-dd-col li a:hover{text-decoration:underline;text-underline-offset:3px}
.k-sec[id]{scroll-margin-top:130px}
@media (max-width:820px){
  .k-subnav{position:static}
  .k-subnav .wrap{padding-inline:0}
  .k-subnav-city{width:100%;padding:.7rem var(--gutter);border-bottom:2px solid var(--ink)}
  .k-dd{flex:1 1 50%;border-left:0!important;border-bottom:2px solid var(--ink)}
  .k-dd:nth-of-type(odd){border-right:2px solid var(--ink)}.k-dd:nth-of-type(even){border-right:0}
  .k-dd>summary{padding:.75rem var(--gutter)}
  .k-dd-panel,.k-dd:nth-last-of-type(-n+3) .k-dd-panel{position:fixed;left:8px;right:8px;top:auto;bottom:8px;min-width:0;max-height:70vh;box-shadow:0 0 0 100vmax color-mix(in srgb,var(--ink) 45%,transparent)}
  .k-dd-panel.wide{min-width:0;grid-template-columns:1fr}
}

/* motion band between sections */
.k-motion-band{padding:0;border-top:var(--rule);background:var(--ink);line-height:0}
.k-motion-band video{display:block;width:100%;aspect-ratio:21/9;object-fit:cover;max-height:72vh}
.k-motion-band.is-tall video{aspect-ratio:9/14;max-height:none}

/* back to top */
.k-totop{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:45;display:flex;align-items:center;gap:.35rem;
  font:800 .8rem var(--display);text-transform:uppercase;letter-spacing:.04em;text-decoration:none;background:var(--ink);color:var(--paper);border:2px solid var(--ink);padding:.7rem .85rem;
  box-shadow:4px 4px 0 var(--city);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .2s,transform .2s}
.k-totop svg{width:1.05rem;height:1.05rem}
.k-totop.is-on{opacity:1;transform:none;pointer-events:auto}
.k-totop:hover{background:var(--city);color:var(--on-city)}
html.k-has-tray .k-totop{bottom:calc(max(16px,env(safe-area-inset-bottom)) + 76px)}
@media (prefers-reduced-motion:reduce){.k-totop{transition:none}}

/* saved tray */
.k-tray{position:fixed;left:0;right:0;bottom:0;z-index:44;background:var(--paper);border-top:var(--rule);box-shadow:0 -6px 0 var(--city);padding:.7rem var(--gutter) calc(.7rem + env(safe-area-inset-bottom))}
.k-tray[hidden]{display:none}
.k-tray-in{max-width:1520px;margin-inline:auto;display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;align-items:center;justify-content:space-between}
.k-tray-c{display:flex;gap:.6rem;align-items:baseline;font-family:var(--display)}
.k-tray-c strong{font-weight:900;font-size:1.05rem;text-transform:uppercase}
.k-tray-sub{color:var(--mute);font-size:.85rem;font-weight:600}
.k-tray .k-status{max-width:1520px;margin:.3rem auto 0}
.k-tray .k-status:empty{display:none}
.k-tray button:disabled{opacity:.4;cursor:not-allowed}
html.k-has-tray body{padding-bottom:84px}
.k-ev-tools>.k-save{font:800 .8rem var(--display);text-decoration:none;border:2px solid var(--ink);padding:.4rem .7rem;background:var(--paper)}
.k-ev-tools>.k-save[aria-pressed="true"]{background:var(--city);color:var(--on-city);border-color:var(--ink)}

/* print view of the saved list */
#k-print{display:none}
@media print{
  @page{margin:16mm 14mm}
  body>*:not(#k-print){display:none!important}
  html.k-has-tray body{padding:0}
  #k-print{display:block;color:#000;background:#fff;font-family:var(--serif);font-size:10.5pt;line-height:1.4}
  #k-print header{border-bottom:3px solid #000;padding-bottom:8pt;margin-bottom:12pt}
  .k-p-mark{font:900 12pt var(--display);letter-spacing:-.02em}
  #k-print h1{font:900 28pt/1 var(--display);font-stretch:125%;text-transform:uppercase;margin:4pt 0}
  .k-p-date{font:600 8.5pt var(--display);color:#444}
  #k-print h2{font:900 13pt var(--display);text-transform:uppercase;border-bottom:1.5pt solid #000;padding-bottom:3pt;margin:14pt 0 6pt}
  .k-p-item{break-inside:avoid;padding:6pt 0;border-bottom:.5pt solid #bbb}
  .k-p-when{font:800 8.5pt var(--display);text-transform:uppercase;letter-spacing:.03em}
  #k-print h3{font:800 12.5pt/1.2 var(--display);margin:2pt 0}
  .k-p-d{color:#333}
  .k-p-url{font:500 8pt var(--display);color:#444;word-break:break-all}
  #k-print p{margin:1pt 0;text-wrap:pretty}
}
.k-ev-strip[id],.k-ev-browse{scroll-margin-top:130px}
/* dropdown menu refinements */
.k-subnav .wrap{flex-wrap:nowrap}
.k-dd>summary{padding:.8rem .75rem;gap:.4rem}
.k-subnav-city{padding-right:.6rem;font-size:.85rem}
.k-dd-panel a,.k-subnav .k-dd-panel a:first-child{border:0;padding:.3rem 0;white-space:normal;background:none;color:var(--ink);font-size:.9rem}
.k-subnav .k-dd-panel a.k-dd-page{font:800 1rem var(--display);border-bottom:var(--rule);padding:0 0 .45rem;margin-bottom:.35rem}
.k-subnav .k-dd-panel a.k-dd-page[aria-current]{background:none;color:var(--ink);box-shadow:inset 0 -6px 0 var(--city)}
.k-subnav .k-dd-panel a:hover{background:none;text-decoration:underline;text-underline-offset:3px}
@media (max-width:1240px){.k-dd>summary .k-tab-ico{display:none}.k-dd-here{display:none}}
@media (max-width:820px){.k-subnav .wrap{flex-wrap:wrap}.k-dd>summary .k-tab-ico{display:inline-block}}
.k-dd{display:flex}.k-dd>summary{flex:1}
.k-dd:nth-last-of-type(-n+3) .k-dd-panel{left:-2px;right:auto}
@media (max-width:820px){.k-dd-panel{transform:none!important}}

/* hover zoom on images; links zoom a little more */
.k-zoom{display:block;overflow:hidden;line-height:0}
.k-zoom-on{overflow:hidden}
.k-zoom-on img,.row .thumb video,img.k-zoom-sm{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.k-zoom-on:hover img{transform:scale(1.03)}
a.k-x1:hover .k-zoom-on.k-zoom-link img,.k-zoom-on.k-zoom-link:hover img,a:hover .k-zoom-on.k-zoom-link img,a:focus-visible .k-zoom-on.k-zoom-link img{transform:scale(1.07)}
.row .thumb{overflow:hidden}.row:hover .thumb video{transform:scale(1.07)}
a:hover img.k-zoom-sm{transform:scale(1.06)}
.k-flow>.k-zoom>img,.k-flow figure .k-zoom>img{border:0}
.k-flow>.k-zoom{border:2px solid var(--ink);max-width:min(100%,920px)}
@media (prefers-reduced-motion:reduce){.k-zoom-on img,.row .thumb video,img.k-zoom-sm{transition:none;transform:none!important}}
/* smaller back-to-top */
.k-totop{padding:0;width:34px;height:34px;justify-content:center;box-shadow:2px 2px 0 var(--city);right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}
.k-totop span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.k-totop svg{width:.9rem;height:.9rem}
html.k-has-tray .k-totop{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 72px)}
/* people portraits + icons in motion */
.k-card .k-person-art{display:block;width:calc(100% + 2.3rem);max-width:none;margin:-1.15rem -1.15rem .8rem;aspect-ratio:3/2;object-fit:cover;border-bottom:var(--rule)}
.k-icons-motion{border-top:var(--rule);background:var(--ink);color:var(--paper)}
.k-icons-motion .sec-head p{color:color-mix(in srgb,var(--paper) 75%,var(--ink))}
.k-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:1rem}
.k-icon-clip{margin:0}
.k-icon-clip video{display:block;width:100%;aspect-ratio:1;object-fit:cover;border:2px solid var(--paper);background:#111}
.k-icon-clip figcaption{font:800 .95rem var(--display);margin-top:.5rem}
.k-card p>strong:first-child{display:block;font:700 .78rem var(--display);text-transform:uppercase;letter-spacing:.03em;color:var(--mute);margin-bottom:.1rem}
/* watch the clips larger */
.k-watch{all:unset;display:block;position:relative;cursor:zoom-in;line-height:0}
.k-watch:focus-visible{outline:3px solid var(--city);outline-offset:3px}
.k-watch-tag{position:absolute;left:12px;bottom:12px;font:800 .75rem/1 var(--display);text-transform:uppercase;letter-spacing:.05em;background:var(--paper);color:var(--ink);border:2px solid var(--ink);padding:.45rem .6rem;opacity:.92;transition:transform .2s}
.k-watch:hover .k-watch-tag{background:var(--city);color:var(--on-city);transform:translateY(-2px)}
.k-viewer{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;padding:16px}
.k-viewer[hidden]{display:none}
.k-viewer-in{width:min(1200px,100%);display:grid;gap:.6rem}
.k-viewer video{width:100%;max-height:80vh;background:#000;border:2px solid #fff;object-fit:contain}
.k-viewer-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;color:#fff;font-family:var(--display)}
.k-viewer-cap{font-weight:800;font-size:1rem}
.k-viewer-nav{display:flex;gap:.4rem;align-items:center}
.k-viewer-nav button{font:800 1rem var(--display);background:#fff;color:#000;border:0;width:40px;height:40px;cursor:pointer}
.k-viewer-nav button:hover{background:var(--city);color:var(--on-city)}
.k-viewer-n{font:600 .85rem var(--display);min-width:4.5em;text-align:center}
.k-yt-btn{margin-left:.5rem;font:800 .75rem var(--display);text-transform:uppercase;border:2px solid var(--ink);background:var(--city);color:var(--on-city);padding:.25rem .5rem;cursor:pointer}
.k-yt{margin-top:.8rem;aspect-ratio:16/9;width:100%;max-width:820px;border:var(--rule)}
.k-yt iframe{width:100%;height:100%;border:0;display:block}
.k-card[id]{scroll-margin-top:140px}.k-card:target{outline:4px solid var(--city);outline-offset:-4px}

/* floating city menu at the bottom */
.k-dd.is-here{background:var(--city);color:var(--on-city)}
.k-dd.is-here>summary{background:transparent}
.k-subnav.k-float{position:fixed;top:auto;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));
  z-index:46;border:var(--rule);background:var(--paper);box-shadow:6px 6px 0 var(--city);max-width:1496px;margin-inline:auto}
.k-subnav.k-float[hidden]{display:none}
.k-float .wrap{padding:0;max-width:none;align-items:stretch}
.k-float .k-subnav-city{padding-left:1rem}
.k-float .k-dd:last-of-type{border-right:2px solid var(--ink)}
.k-float .k-dd-panel,.k-float .k-dd:nth-last-of-type(-n+3) .k-dd-panel{top:auto;bottom:calc(100% + 2px);box-shadow:8px -8px 0 var(--city)}
.k-float-x{margin-left:auto;font:800 .8rem var(--display);text-transform:uppercase;letter-spacing:.05em;background:var(--ink);color:var(--paper);border:0;padding:0 1rem;cursor:pointer;display:flex;align-items:center;gap:.4rem;white-space:nowrap}
.k-float-x:hover{background:var(--city);color:var(--on-city)}
.k-menu-fab{position:fixed;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));z-index:46;display:flex;align-items:center;gap:.5rem;
  font:900 .85rem/1 var(--display);text-transform:uppercase;letter-spacing:.06em;background:var(--ink);color:var(--paper);border:2px solid var(--ink);padding:.7rem .9rem;cursor:pointer;box-shadow:3px 3px 0 var(--city)}
.k-menu-fab:hover{background:var(--city);color:var(--on-city)}
.k-menu-fab[hidden]{display:none}
.k-menu-bars{width:14px;height:10px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;position:relative}
.k-menu-bars::after{content:"";position:absolute;left:0;right:0;top:2px;border-top:2px solid currentColor}
.k-menu-top{text-decoration:none;cursor:pointer}
.k-menu-top[aria-expanded="true"]{border-color:var(--ink)!important}
html.k-has-tray .k-menu-fab,html.k-has-tray .k-subnav.k-float{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 72px)}
html.k-menu-open .k-totop{opacity:0;pointer-events:none}
@media (max-width:820px){
  .k-subnav.k-float{left:8px;right:8px;bottom:8px;max-height:75vh;overflow:auto}
  .k-float-x{width:100%;justify-content:center;padding:.8rem}
  .k-float .k-dd:last-of-type{border-right:0}
}
.k-float .wrap{flex-wrap:nowrap;overflow:visible}
.k-float .k-dd{flex:1 1 auto;min-width:0}
.k-float .k-dd>summary{padding:.75rem .6rem;justify-content:center}
.k-float .k-subnav-city{padding:.75rem .8rem;font-size:.8rem}
.k-float-x{padding:0 .8rem;flex:none}
@media (max-width:1400px){.k-float .k-dd>summary .k-tab-ico{display:none}}
@media (max-width:820px){.k-float .wrap{flex-wrap:wrap}.k-float .k-dd{flex:1 1 50%}.k-float .k-dd>summary{justify-content:flex-start;padding:.75rem 1rem}.k-float .k-dd>summary .k-tab-ico{display:inline-block}}
@media (hover:none){.k-float-x:hover{background:var(--ink);color:var(--paper)}}

/* bottom-middle tool dock: search, saved, motion, top */
.k-tools.k-dock{position:fixed;left:50%;transform:translateX(-50%);bottom:12px;margin:0;z-index:47;display:flex;gap:6px;align-items:center;transition:bottom .2s ease}
.k-dock .k-tool{box-shadow:3px 3px 0 var(--city);background:var(--paper)}
.k-dock .k-tool:hover,.k-dock .k-tool[aria-expanded="true"]{background:var(--ink);color:var(--paper)}
.k-dock .k-totop{position:static;transform:none;width:auto;height:auto;padding:.5rem .7rem;box-shadow:3px 3px 0 var(--city);border:var(--rule);display:none}
.k-dock .k-totop.is-on{display:inline-flex;opacity:1;pointer-events:auto}
.k-dock .k-saved{top:auto;bottom:calc(100% + 10px);right:auto;left:50%;transform:translateX(-50%)}
html.k-menu-open .k-dock .k-totop{opacity:1;pointer-events:auto}
@media (max-width:640px){.k-tools.k-dock{left:auto;right:max(10px,env(safe-area-inset-right));transform:none}.k-dock .k-saved{left:auto;right:0;transform:none}}
@media (prefers-reduced-motion:reduce){.k-tools.k-dock{transition:none}}
/* small collage on each event card */
.k-ev.has-art{grid-template-columns:76px 1fr;column-gap:.85rem;align-items:start}
.k-ev.has-art>*{grid-column:2}
.k-ev-art{grid-column:1!important;grid-row:1 / span 2;width:76px;height:76px;object-fit:cover;border:2px solid var(--ink);display:block;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.k-ev:hover .k-ev-art{transform:scale(1.06) rotate(-1.5deg)}
@media (prefers-reduced-motion:reduce){.k-ev:hover .k-ev-art{transform:none}}
@media print{.k-ev-art{display:none}}
/* event art as a slim strip across the top of the card */
.k-ev.has-art{grid-template-columns:1fr;overflow:hidden}
.k-ev.has-art>*{grid-column:1}
.k-ev-art,.k-ev-art{grid-row:auto;width:calc(100% + 2rem);max-width:none;height:92px;margin:-1rem -1rem .1rem;border:0;border-bottom:2px solid var(--ink);object-fit:cover;object-position:center 40%}
.k-ev:hover .k-ev-art{transform:scale(1.05)}
.k-ev.has-art img.k-ev-art{width:calc(100% + 2rem);max-width:none;height:92px;margin:-1rem -1rem .1rem}
.k-ev.has-art img.k-ev-art{width:calc(100% + 2rem);max-width:none;height:92px;margin:-1rem -1rem .1rem}

/* type: sentence case for headlines; ALL CAPS only for a word or three of emphasis */
.h-section,.feature h2,.cover h1,.k-cover h1,.k-flow h2,.k-ev-strip>h2,.k-ev-browse>h2,.k-recent>h2,.k-res-h,#k-print h1,#k-print h2{text-transform:none}
.cover h1,.k-cover h1{letter-spacing:-.035em;line-height:.95}
.h-section,.feature h2,.k-flow h2{letter-spacing:-.025em;line-height:1}
.caps{text-transform:uppercase;letter-spacing:.01em}
h1 .caps,h2 .caps{letter-spacing:-.02em}
/* hide the tool dock while a drop-up menu is open */
html.k-dd-open .k-tools.k-dock,html:has(.k-float .k-dd[open]) .k-tools.k-dock{opacity:0;visibility:hidden;pointer-events:none}
.k-tools.k-dock{transition:bottom .2s ease,opacity .15s ease}
/* home intro: city names light up in their own color */
.k-citylink{color:inherit;text-decoration:none;text-decoration-thickness:2px;text-underline-offset:4px;transition:color .15s ease}
.k-citylink:hover,.k-citylink:focus-visible{color:var(--c);text-decoration-line:underline;text-decoration-color:var(--c)}
/* header Cities dropdown */
.k-cities{position:relative}
.k-cities>summary{list-style:none;cursor:pointer;padding-block:.4rem;border-bottom:2px solid transparent;display:flex;align-items:center;gap:.35rem}
.k-cities>summary::-webkit-details-marker{display:none}
.k-cities>summary::after{content:"";width:.4em;height:.4em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.k-cities[open]>summary::after{transform:rotate(-135deg)}
.k-cities>summary:hover,.k-cities[open]>summary{border-color:var(--ink)}
.k-cities-panel{position:absolute;top:calc(100% + 10px);right:0;z-index:60;min-width:240px;background:var(--paper);border:var(--rule);box-shadow:6px 6px 0 var(--city);padding:.5rem;display:grid}
.k-cities-panel a{display:flex;align-items:center;gap:.6rem;padding:.55rem .6rem;text-decoration:none;font:700 .95rem var(--display);border:0!important}
.k-cities-panel a:hover,.k-cities-panel a:focus-visible{background:var(--c);color:#fff}
.k-cities-panel a[style*="FFCC00"]:hover,.k-cities-panel a[style*="00BFA6"]:hover,.k-cities-panel a[style*="FF5A00"]:hover{color:#000}
.k-cities-panel a[aria-current]{box-shadow:inset 4px 0 0 var(--c)}
.k-cities-sq{width:.8rem;height:.8rem;background:var(--c);flex:none;border:1px solid var(--ink)}
.k-cities-panel .k-cities-all{border-top:2px solid var(--ink)!important;margin-top:.3rem;font-size:.82rem;color:var(--mute)}
.k-cities-all:hover{background:var(--ink)!important;color:var(--paper)!important}
@media (max-width:640px){.k-cities-panel{right:auto;left:-60px}}
.top .nav{align-items:center}
.k-cities{display:flex;align-items:center;border:0;padding:0;margin:0}
.k-cities>summary{border-top:0!important;line-height:inherit}
.cover .line{max-width:none}
/* place names as links, and the link preview card */
.k-placelink{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--city)}
.k-placelink:hover{text-decoration-thickness:2px}
.k-peek{position:fixed;z-index:70;width:320px;background:var(--paper);color:var(--ink);border:var(--rule);box-shadow:6px 6px 0 var(--city);padding:.8rem .9rem;display:grid;gap:.35rem;pointer-events:none}
.k-peek[hidden]{display:none}
.k-peek-head{display:flex;gap:.55rem;align-items:center}
.k-peek-head img{width:20px;height:20px;border:1px solid var(--tint);background:#fff;flex:none}
.k-peek-head strong{font:800 1rem/1.2 var(--display)}
.k-peek-meta{font:600 .78rem var(--display);color:var(--mute)}
.k-peek-d{font-size:.92rem;line-height:1.4}
.k-peek-note{font:700 .72rem var(--display);text-transform:uppercase;letter-spacing:.05em;color:var(--city)}
.k-peek.is-sheet{pointer-events:auto;left:8px!important;right:8px;bottom:max(8px,env(safe-area-inset-bottom))!important;top:auto!important;width:auto;padding:1rem;box-shadow:0 0 0 100vmax rgba(0,0,0,.35),6px 6px 0 var(--city)}
.k-peek-row{display:flex;gap:.5rem;margin-top:.4rem}
.k-peek-row button{font:700 .85rem var(--display);border:var(--rule);background:var(--paper);color:var(--ink);padding:.55rem .8rem}
.k-cities-panel a:not([style*="#"]):hover,.k-cities-panel a:not([style*="#"]):focus-visible{background:var(--ink);color:var(--paper)}
.k-cities-panel.two{grid-template-columns:1fr 1fr;min-width:340px}
.k-cities-panel.two .k-cities-all{grid-column:1 / -1}
.k-cities-panel a[aria-current]:not([style*="#"]){box-shadow:inset 4px 0 0 var(--city)}
@media (max-width:640px){.k-hdrop .k-cities-panel{position:fixed;left:8px;right:8px;top:auto;margin-top:8px;min-width:0}.k-cities-panel.two{grid-template-columns:1fr 1fr}}
.intro-copy p+p{margin-top:.9rem}.intro-copy .intro-zc{font-family:var(--display);font-weight:700;color:var(--ink)}.intro-copy .btn{margin-top:.4rem}
/* never break a word mid-letter: whole words wrap, and big type scales down to fit (see kevns.js fitWords) */
h1,h2,h3,h4,.row .name,.switch a .n,.k-dd>summary,.k-ev-body h3,.k-card h3,.pick h3,.mark{overflow-wrap:normal;word-break:normal;hyphens:manual}

/* =====================================================================
   FIGMA MAKE CUES — menus, overlays, dock, per-city shaders.
   Layout stays as it was; this layer changes surfaces, type details and motion only.
   ===================================================================== */
:root{--acid:#E8FF3F;--charcoal:#2B2B2E;--cream:#F7F5EF;--hot:#F0442F;--paper:#F7F5EF;--tint:#ECE8DD}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#0E0E10;--tint:#1A1A1E}}
:root[data-theme="dark"]{--paper:#0E0E10;--tint:#1A1A1E}
.k-light{--paper:#F7F5EF;--ink:#111111;--mute:#5B5B66;--tint:#ECE8DD;--rule:2px solid #111111;color-scheme:light;color:#111}
@keyframes k-nav-drop-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes k-drawer-in{from{transform:translateX(100%)}to{transform:none}}
@keyframes k-overlay-in{from{opacity:0}to{opacity:1}}
@keyframes k-shader-drift{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(3%,-4%,0) scale(1.08)}100%{transform:translate3d(0,0,0) scale(1)}}
@keyframes k-cotton{0%{background-position:0% 30%,100% 0%,50% 100%}50%{background-position:60% 70%,30% 40%,0% 20%}100%{background-position:0% 30%,100% 0%,50% 100%}}
@keyframes k-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---- header: charcoal glass bar ---- */
.top{background:rgba(52,52,56,.94);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);color:#fff;border-bottom:0}
.top .wrap{position:relative;flex-wrap:nowrap;gap:1.2rem}
.top .mark{color:#fff;font-size:1.75rem}
.k-tagline{font:700 .72rem/1.35 var(--display);text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.55);margin-right:auto}
.k-progress{position:absolute;left:0;right:0;bottom:-3px;height:3px;background:var(--acid);transform:scaleX(0);transform-origin:0 50%;pointer-events:none;z-index:2}
.top .nav{gap:.2rem;font:800 .72rem/1 var(--display);text-transform:uppercase;letter-spacing:.1em}
.top .nav>a{padding:.6rem .75rem;border:1px solid transparent;border-radius:3px}
.top .nav>a:hover{border-color:rgba(255,255,255,.4)}
.k-hdrop{position:static;border:0;padding:0;margin:0;background:none}
.k-hdrop[open]>.k-hpanel{margin:0}
.top :focus-visible{outline-color:var(--acid)}
.k-hdrop>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.4rem;padding:.6rem .75rem;border:1px solid transparent;border-radius:3px;white-space:nowrap;user-select:none}
.k-hdrop>summary::-webkit-details-marker{display:none}
.k-hdrop>summary::after{content:"";width:.38em;height:.38em;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.k-hdrop[open]>summary::after{transform:rotate(-135deg) translateY(-1px)}
.k-hdrop>summary:hover,.k-hdrop[open]>summary{border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.07)}
.k-search-btn{display:inline-flex;align-items:center;gap:.45rem;flex:none;font:800 .72rem/1 var(--display);text-transform:uppercase;letter-spacing:.1em;color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.35);border-radius:3px;padding:.55rem .75rem;cursor:pointer}
.k-search-btn:hover{background:var(--acid);color:#111;border-color:var(--acid)}
.k-search-btn kbd,.k-tool kbd,.k-overlay-x kbd{font:600 .72rem/1 var(--display);opacity:.55;letter-spacing:.04em;border:0;background:none;padding:0}
.k-search-btn span{font-size:1rem;line-height:0}

/* header drop panels: dark glass */
.k-hpanel{position:absolute;top:100%;right:var(--gutter);z-index:60;width:min(760px,calc(100vw - 24px));max-height:calc(100vh - 90px);overflow:auto;background:rgba(36,36,40,.95);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:#fff;
  padding:1rem 1.25rem 1.25rem;border-radius:0 0 6px 6px;box-shadow:0 24px 60px rgba(0,0,0,.35);letter-spacing:0;text-transform:none;font:inherit;animation:k-nav-drop-in .22s ease both}
.k-hpanel.is-about{width:min(460px,calc(100vw - 24px))}
.k-hpanel-kick{font:800 .72rem/1 var(--display);text-transform:uppercase;letter-spacing:.14em;color:var(--acid);margin:0 0 .7rem}
.k-hgrid.two{display:grid;grid-template-columns:1fr 1fr;column-gap:1.5rem}
.k-hcity,.k-htopic,.k-habout{display:grid;align-items:center;gap:.2rem .8rem;padding:.7rem .5rem;border-top:1px solid rgba(255,255,255,.12);text-decoration:none;color:#fff;border-radius:3px;transition:background .15s}
.k-hcity{grid-template-columns:2.4rem minmax(0,1fr)}
.k-htopic{grid-template-columns:2rem minmax(0,1fr) 56px}
.k-habout{grid-template-columns:2rem minmax(0,1fr) auto}
.k-hcity strong,.k-htopic strong,.k-habout strong{display:block;font:900 .98rem/1.1 var(--display);text-transform:uppercase;letter-spacing:.01em;transition:color .15s}
.k-hcity small,.k-htopic small,.k-habout small{display:block;margin-top:.25rem;font:700 .72rem/1.35 var(--display);text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.5)}
.k-hcode{font:900 .72rem/1 var(--display);letter-spacing:.08em;color:var(--c,var(--acid))}
.k-hnum{font:800 .72rem/1 var(--display);letter-spacing:.06em;color:rgba(255,255,255,.45);font-variant-numeric:tabular-nums}
.k-htopic img{width:56px;height:40px;object-fit:cover;border-radius:4px;display:block;transition:transform .3s}
.k-hcity:hover,.k-htopic:hover,.k-habout:hover,.k-hcity:focus-visible,.k-htopic:focus-visible,.k-habout:focus-visible{background:rgba(255,255,255,.07)}
.k-hcity:hover strong,.k-hcity[aria-current] strong{color:var(--c)}
.k-htopic:hover strong,.k-habout:hover strong,.k-htopic[aria-current] strong,.k-habout[aria-current] strong{color:var(--acid)}
.k-htopic:hover img{transform:scale(1.08)}
.k-hcity[aria-current],.k-htopic[aria-current],.k-habout[aria-current]{box-shadow:inset 3px 0 0 var(--c,var(--acid))}

/* ---- bottom dock (Menu · Search · Saved · Pause · Top) ---- */
.k-tools.k-dock{gap:0;padding:0;bottom:max(14px,env(safe-area-inset-bottom));background:color-mix(in srgb,var(--city) 16%,#2A2A2E);border-radius:4px;box-shadow:0 14px 40px rgba(0,0,0,.28);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:visible}
html[style*="--city:var(--ink)"] .k-tools.k-dock{background:rgba(42,42,46,.94)}
.k-dock .k-tool,.k-dock .k-totop{position:relative;background:transparent;color:#fff;border:0;border-right:1px solid rgba(255,255,255,.13);box-shadow:none;border-radius:0;
  font:800 .72rem/1 var(--display);text-transform:uppercase;letter-spacing:.1em;padding:.95rem 1.05rem;gap:.5rem;min-height:46px}
.k-dock>:last-child{border-right:0}
.k-dock .k-tool:hover,.k-dock .k-totop:hover{background:rgba(255,255,255,.08);color:#fff}
.k-dock .k-tool[aria-expanded="true"],.k-dock .k-tool[aria-pressed="true"]{background:transparent;color:var(--acid)}
.k-dock .k-glyph{font-size:.95rem;line-height:0}
.k-bars{width:13px;height:9px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor;position:relative;display:inline-block}
.k-bars::after{content:"";position:absolute;left:0;right:0;top:2.25px;border-top:1.5px solid currentColor}
.k-dot{position:absolute;top:5px;right:5px;min-width:15px;height:15px;padding:0 4px;border-radius:8px;background:var(--hot);color:#fff;font:800 .72rem/15px var(--display);letter-spacing:0;text-align:center}
.k-dot[hidden]{display:none}
.k-dock .k-totop.is-on{display:inline-flex}
@media (max-width:820px){.k-dock .k-kbd{display:none}}
@media (max-width:640px){
  .k-tools.k-dock{left:50%;right:auto;transform:translateX(-50%)}
  .k-dock .k-tool,.k-dock .k-totop{padding:.9rem .85rem}
  .k-dock .k-tool .k-tool-t{display:none}
  .k-dock .k-tool:first-child .k-tool-t{display:inline}
}
html.k-drawer-open .k-tools.k-dock,html.k-lock .k-tools.k-dock{opacity:0;visibility:hidden;pointer-events:none}

/* ---- overlay bar shared by atlas and search ---- */
.k-overlay-bar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:1rem;background:var(--charcoal);color:#fff;padding:.75rem var(--gutter);font:800 .72rem/1 var(--display);text-transform:uppercase;letter-spacing:.12em}
.k-overlay-x{display:inline-flex;gap:.5rem;align-items:center;font:800 .72rem/1 var(--display);text-transform:uppercase;letter-spacing:.1em;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.4);border-radius:3px;padding:.55rem .75rem;cursor:pointer}
.k-overlay-x:hover{background:var(--acid);color:#111;border-color:var(--acid)}

/* ---- the full atlas ---- */
.k-atlas{position:fixed;inset:0;z-index:80;overflow:auto;overscroll-behavior:contain;background:var(--cream);color:#111;animation:k-overlay-in .2s ease both;
  --paper:#F7F5EF;--ink:#111;--mute:#5B5B66;--tint:#ECE8DD;--rule:2px solid #111;color-scheme:light}
.k-atlas[hidden]{display:none}
.k-atlas-body{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:2rem clamp(2rem,5vw,5rem);padding-block:clamp(28px,5vw,64px) 96px}
.k-atlas-kick{display:inline-block;font:800 .72rem/1 var(--display);text-transform:uppercase;letter-spacing:.14em;background:var(--acid);color:#111;padding:.4rem .55rem;margin-bottom:1rem}
.k-atlas-city{display:grid;grid-template-columns:2.6rem minmax(0,1fr) auto;align-items:center;gap:1rem;border-top:2px solid #111;padding:.45rem 0;text-decoration:none;color:#111}
.k-atlas-city:last-child{border-bottom:2px solid #111}
.k-atlas-city strong{font:900 clamp(2rem,5.6vw,4.8rem)/1 var(--display);font-stretch:112%;text-transform:uppercase;letter-spacing:-.035em;transition:color .15s,transform .25s;transform-origin:0 50%}
.k-atlas-city .k-hnum{color:#777}
.k-atlas-city .k-hcode{font-size:.75rem;color:#777;transition:color .15s}
.k-atlas-city:hover strong,.k-atlas-city:focus-visible strong{color:var(--c);transform:translateX(.25rem)}
.k-atlas-city:hover .k-hcode{color:var(--c)}
.k-atlas-topic{display:flex;align-items:baseline;gap:1rem;border-top:1px solid rgba(17,17,17,.2);padding:.75rem .4rem;text-decoration:none;color:#111;font:800 clamp(1.1rem,1.7vw,1.4rem)/1.1 var(--display);transition:background .15s}
.k-atlas-topic .k-hnum{color:#777}
.k-atlas-topic:hover,.k-atlas-topic:focus-visible{background:var(--acid)}
.k-atlas-about{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem}
.k-atlas-about a{font:800 .72rem/1 var(--display);text-transform:uppercase;letter-spacing:.1em;color:#111;text-decoration:none;border:2px solid #111;border-radius:999px;padding:.65rem .95rem}
.k-atlas-about a:hover{background:#111;color:var(--cream)}
@media (max-width:820px){.k-atlas-body{grid-template-columns:1fr}}

/* ---- search, full screen ---- */
.k-search{inset:0;z-index:80;display:block;padding:0;overflow:auto;overscroll-behavior:contain;background:var(--cream);color:#111;animation:k-overlay-in .2s ease both;
  --paper:#F7F5EF;--ink:#111;--mute:#5B5B66;--tint:#ECE8DD;--rule:2px solid #111;color-scheme:light}
.k-search[hidden]{display:none}
.k-search-in{width:min(1100px,100%);max-height:none;margin-inline:auto;border:0;box-shadow:none;background:transparent;overflow:visible;padding:clamp(24px,5vw,56px) var(--gutter) 96px;counter-reset:kres}
.k-search-top{border-bottom:3px solid #111;padding-bottom:.8rem}
.k-search-top input{font:900 clamp(1.8rem,5.5vw,4.2rem)/1.05 var(--display);letter-spacing:-.03em;color:#111}
.k-search-top input::placeholder{color:rgba(17,17,17,.28)}
.k-search-top svg{width:clamp(1.4rem,3vw,2.2rem);height:clamp(1.4rem,3vw,2.2rem)}
.k-search-top .k-x{display:none}
.k-res{counter-increment:kres;border-bottom:1px solid rgba(17,17,17,.15);padding:1.1rem 0}
.k-res>a{grid-template-columns:3rem minmax(0,1.1fr) minmax(0,1fr) auto;column-gap:1.2rem;align-items:start}
.k-res>a::before{content:counter(kres,decimal-leading-zero);grid-column:1;grid-row:1 / span 2;font:800 .75rem/1.6 var(--display);color:#777}
.k-res>a::after{content:"↗";grid-column:4;grid-row:1 / span 2;font:800 1.1rem var(--display);transition:transform .2s}
.k-res>a>.label{grid-column:2;grid-row:1;font:800 .72rem/1.4 var(--display);text-transform:uppercase;letter-spacing:.1em;color:#777}
.k-res>a>strong{grid-column:2;grid-row:2;font:900 clamp(1.15rem,2vw,1.6rem)/1.1 var(--display);letter-spacing:-.01em}
.k-res>a>.k-res-d{grid-column:3;grid-row:1 / span 2;font-size:.95rem;line-height:1.45;color:#444}
.k-res>a:hover{background:linear-gradient(transparent,transparent)}
.k-res>a:hover::after{transform:translate(3px,-3px)}
.k-res>a:hover strong{text-decoration:none;box-shadow:inset 0 -.35em 0 var(--acid)}
@media (max-width:760px){
  .k-res>a{grid-template-columns:2.2rem minmax(0,1fr) auto}
  .k-res>a::after{grid-column:3}
  .k-res>a>.k-res-d{grid-column:2;grid-row:3}
}

/* ---- saved drawer ---- */
.k-scrim{position:fixed;inset:0;z-index:81;background:rgba(17,17,17,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:k-overlay-in .2s ease both}
.k-scrim[hidden]{display:none}
.k-drawer{position:fixed;top:0;right:0;bottom:0;z-index:82;width:min(460px,100vw);display:flex;flex-direction:column;background:var(--cream);color:#111;box-shadow:-12px 0 40px rgba(0,0,0,.25);animation:k-drawer-in .28s cubic-bezier(.2,.7,.2,1) both;
  --paper:#F7F5EF;--ink:#111;--mute:#5B5B66;--tint:#ECE8DD;--rule:2px solid #111;color-scheme:light}
.k-drawer[hidden]{display:none}
.k-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;background:var(--acid);padding:1.3rem 1.3rem 1.1rem;border-bottom:2px solid #111}
.k-drawer-kick{font:800 .72rem/1 var(--display);text-transform:uppercase;letter-spacing:.14em;margin-bottom:.45rem}
.k-drawer-count{font:900 2.2rem/1 var(--display);letter-spacing:-.03em}
.k-drawer-x{font:800 .72rem/1 var(--display);text-transform:uppercase;letter-spacing:.1em;background:transparent;color:#111;border:2px solid #111;border-radius:3px;padding:.55rem .75rem;cursor:pointer}
.k-drawer-x:hover{background:#111;color:var(--acid)}
.k-drawer-list{flex:1;overflow:auto;padding:.2rem 1.3rem}
.k-drawer-empty{padding:1.4rem 0;color:#555}
.k-drawer-row{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;gap:.8rem;align-items:start;padding:.95rem 0;border-bottom:1px solid rgba(17,17,17,.15)}
.k-drawer-n{font:800 .72rem/1.6 var(--display);color:#777}
.k-drawer-meta{font:800 .72rem/1.4 var(--display);text-transform:uppercase;letter-spacing:.1em;color:#777;margin-bottom:.2rem}
.k-drawer-row strong,.k-drawer-row a{font:800 1rem/1.25 var(--display);color:#111}
.k-drawer-rm{font:700 .72rem var(--display);background:none;border:0;color:#555;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:.2rem 0}
.k-drawer-rm:hover{color:var(--hot)}
.k-drawer-foot{border-top:2px solid #111;padding:1rem 1.3rem calc(1rem + env(safe-area-inset-bottom));background:#fff}
.k-drawer-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.k-drawer-actions .k-btn{border-radius:3px}
.k-btn.k-btn-ink{background:#111;color:var(--cream);border-color:#111}
.k-btn.k-btn-ink:hover{background:var(--acid);color:#111}
.k-drawer-actions button:disabled{opacity:.35;cursor:not-allowed}
.k-drawer-actions .k-status{flex-basis:100%;font-size:.85rem}

/* ---- city guide bar + complete edition panel ---- */
.k-citybar{position:sticky;top:calc(env(safe-area-inset-top,0px) + 60px);z-index:9;background:var(--paper);border-bottom:1px solid color-mix(in srgb,var(--ink) 25%,transparent)}
.k-citybar>.wrap{display:flex;justify-content:space-between;align-items:stretch;gap:1rem;min-height:52px}
.k-citybar-l{display:flex;align-items:center;font:800 .72rem/1.2 var(--display);text-transform:uppercase;letter-spacing:.12em;text-decoration:none}
.k-citybar-l:hover{color:var(--city)}
.k-citybar-btn{display:flex;align-items:center;gap:.9rem;min-width:min(320px,58vw);background:transparent;color:var(--ink);border:0;border-left:1px solid color-mix(in srgb,var(--ink) 25%,transparent);border-right:1px solid color-mix(in srgb,var(--ink) 25%,transparent);padding:0 1.2rem;cursor:pointer;text-align:left;transition:background .15s,color .15s}
.k-citybar-btn small{font:800 .72rem/1 var(--display);text-transform:uppercase;letter-spacing:.12em;color:var(--mute);white-space:nowrap}
.k-citybar-btn strong{font:900 .92rem/1.1 var(--display);text-transform:uppercase;letter-spacing:.02em;margin-right:auto}
.k-car{width:.45em;height:.45em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s;flex:none}
.k-citybar.is-open .k-car{transform:rotate(-135deg)}
.k-citybar-btn:hover,.k-citybar.is-open .k-citybar-btn{background:var(--city);color:var(--on-city)}
.k-citybar-btn:hover small,.k-citybar.is-open .k-citybar-btn small{color:inherit;opacity:.75}
.k-edition{position:absolute;left:0;right:0;top:100%;background:#232326;color:#fff;max-height:calc(100vh - 130px);overflow:auto;box-shadow:0 30px 60px rgba(0,0,0,.3);border-top:4px solid var(--city);animation:k-nav-drop-in .22s ease both}
.k-edition[hidden]{display:none}
.k-edition-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.6fr);gap:1.5rem 3rem;padding-block:2rem 2.4rem}
.k-edition-intro h2{font:900 clamp(1.5rem,2.6vw,2.4rem)/1.02 var(--display);letter-spacing:-.025em;margin-bottom:.7rem}
.k-edition-intro p:last-child{color:rgba(255,255,255,.6);font-size:.95rem}
.k-edition-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12)}
.k-edition-tile{position:relative;display:grid;align-content:start;gap:.35rem;padding:1rem 2.2rem 1.1rem 1rem;background:#232326;color:#fff;text-decoration:none;transition:background .15s}
.k-edition-tile .k-hnum{color:color-mix(in srgb,var(--city) 55%,#fff)}
.k-edition-tile strong{font:900 1.05rem/1.15 var(--display);text-transform:uppercase;letter-spacing:.01em}
.k-edition-tile small{font:600 .74rem/1.35 var(--display);color:rgba(255,255,255,.55)}
.k-arr{position:absolute;top:.9rem;right:.9rem;font:800 .9rem var(--display);transition:transform .2s}
.k-edition-tile:hover{background:color-mix(in srgb,var(--city) 28%,#232326)}
.k-edition-tile:hover .k-arr{transform:translate(3px,-3px)}
.k-edition-tile[aria-current]{box-shadow:inset 0 -4px 0 var(--city)}
@media (max-width:820px){
  .k-citybar{position:relative;top:auto}
  .k-edition-in{grid-template-columns:1fr}
  .k-edition{max-height:70vh}
}
@media (max-width:520px){.k-citybar-l{font-size:.72rem;letter-spacing:.08em}.k-citybar-btn{padding:0 .8rem;gap:.6rem}.k-citybar-btn small{display:none}}

/* ---- on this page ---- */
.k-onpage-wrap{padding-inline:var(--gutter);padding-top:clamp(20px,3vw,36px)}
.k-onpage.wrap{max-width:calc(1520px - 2 * var(--gutter));display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.4rem;padding:1.05rem 1.3rem;border-radius:18px;background:color-mix(in srgb,var(--city) 8%,var(--paper));border:1px solid color-mix(in srgb,var(--city) 22%,transparent)}
.k-onpage-kick{font:800 .72rem/1 var(--display);text-transform:uppercase;letter-spacing:.14em;color:var(--mute);flex:none}
.k-onpage-chips{display:flex;flex-wrap:wrap;gap:.45rem}
.k-chip-pill{display:inline-flex;align-items:baseline;gap:.45rem;font:700 .8rem/1.2 var(--display);text-decoration:none;color:var(--ink);background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);border-radius:999px;padding:.45rem .8rem;transition:background .15s,color .15s,transform .15s}
.k-chip-pill span{font:800 .72rem/1 var(--display);color:var(--city);letter-spacing:.04em}
.k-chip-pill:hover,.k-chip-pill:focus-visible{background:var(--city);color:var(--on-city);border-color:var(--city);transform:translateY(-1px)}
.k-chip-pill:hover span,.k-chip-pill:focus-visible span{color:inherit}
main [id]{scroll-margin-top:130px}

/* ---- city covers: paper, city-colored name, a shader and a shape for each city ---- */
html[data-city] .cover,html[data-city] .k-cover{position:relative;isolation:isolate;overflow:hidden;background:var(--paper);color:var(--ink);border-bottom:14px solid var(--city)}
html[data-city] .cover>.wrap,html[data-city] .k-cover>.wrap{position:relative;z-index:1}
html[data-city] .cover h1,html[data-city] .k-cover h1{color:var(--city)}
html[data-city] .k-cover .k-cover-svg{color:var(--city);--k-accent:var(--ink)}
html[data-city] .cover .meta,html[data-city] .k-cover .label{color:var(--ink)}
html[data-city] .cover::before,html[data-city] .cover::after,html[data-city] .k-cover::before,html[data-city] .k-cover::after{content:"";position:absolute;z-index:0;pointer-events:none}
html[data-city] .cover::before,html[data-city] .k-cover::before{inset:0}
html[data-city] .cover::after,html[data-city] .k-cover::after{width:min(60vw,820px);aspect-ratio:1;border-radius:50%;right:-12%;top:-45%;
  background:radial-gradient(circle,color-mix(in srgb,var(--city) 30%,transparent) 0%,transparent 66%);filter:blur(6px);animation:k-shader-drift 18s ease-in-out infinite}
/* Chicago — blueprint grid + blue glow */
html[data-city="chi"] .cover::before,html[data-city="chi"] .k-cover::before{background-image:linear-gradient(rgba(35,64,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(35,64,255,.09) 1px,transparent 1px);background-size:34px 34px}
html[data-city="chi"] .cover::after,html[data-city="chi"] .k-cover::after{left:8%;right:auto;top:-55%}
/* Detroit — one diagonal rail + orange sun */
html[data-city="det"] .cover::before,html[data-city="det"] .k-cover::before{background:linear-gradient(118deg,transparent calc(62% - 1px),rgba(255,90,0,.35) calc(62% - 1px),rgba(255,90,0,.35) calc(62% + 7px),transparent calc(62% + 7px))}
html[data-city="det"] .cover::after,html[data-city="det"] .k-cover::after{width:min(34vw,440px);right:6%;top:-20%;background:radial-gradient(circle,rgba(255,90,0,.42) 0 58%,rgba(255,90,0,.12) 59%,transparent 70%);filter:blur(1px)}
/* Houston — pink disc + red heat */
html[data-city="hou"] .cover::before,html[data-city="hou"] .k-cover::before{background:radial-gradient(60% 80% at 85% 0%,rgba(215,25,45,.16),transparent 70%)}
html[data-city="hou"] .cover::after,html[data-city="hou"] .k-cover::after{width:min(42vw,560px);left:-8%;right:auto;top:auto;bottom:-55%;background:#F6BFCB;opacity:.75;filter:blur(2px)}
/* Los Angeles — sun-bleached yellow block */
html[data-city="la"] .cover::before,html[data-city="la"] .k-cover::before{inset:auto 35% 0 0;height:55%;background:#FFF1B0}
html[data-city="la"] .cover::after,html[data-city="la"] .k-cover::after{background:radial-gradient(circle,rgba(255,204,0,.45),transparent 64%)}
html[data-city="la"] .cover h1,html[data-city="la"] .k-cover h1{text-shadow:0 1px 0 rgba(0,0,0,.18)}
/* Miami — turquoise water glow */
html[data-city="mia"] .cover::before,html[data-city="mia"] .k-cover::before{background:radial-gradient(45% 70% at 10% 100%,rgba(0,191,166,.24),transparent 70%),radial-gradient(40% 60% at 70% 0%,rgba(120,240,220,.22),transparent 70%)}
html[data-city="mia"] .cover::after,html[data-city="mia"] .k-cover::after{background:radial-gradient(circle,rgba(0,191,166,.32),transparent 64%);filter:blur(18px)}
/* New York — violet stripes */
html[data-city="nyc"] .cover::before,html[data-city="nyc"] .k-cover::before{background:repeating-linear-gradient(90deg,rgba(122,43,255,.08) 0 2px,transparent 2px 30px)}
html[data-city="nyc"] .cover::after,html[data-city="nyc"] .k-cover::after{background:radial-gradient(circle,rgba(122,43,255,.3),transparent 64%)}
/* Vienna — café-cream circle */
html[data-city="vie"] .cover::before,html[data-city="vie"] .k-cover::before{background:radial-gradient(50% 70% at 0% 0%,rgba(110,75,46,.1),transparent 70%)}
html[data-city="vie"] .cover::after,html[data-city="vie"] .k-cover::after{width:min(40vw,540px);right:4%;top:-30%;background:#E9DCC6;opacity:.85;filter:none}
/* Vilnius — dot grid */
html[data-city="vln"] .cover::before,html[data-city="vln"] .k-cover::before{background-image:radial-gradient(rgba(0,166,81,.3) 1.3px,transparent 1.6px);background-size:22px 22px}
html[data-city="vln"] .cover::after,html[data-city="vln"] .k-cover::after{background:radial-gradient(circle,rgba(0,166,81,.24),transparent 64%)}
@media (prefers-color-scheme:dark){html:not([data-theme="light"])[data-city] .cover::after{opacity:.5}}

/* ---- home hero: cotton-candy shader + city marquee ---- */
.intro{position:relative;isolation:isolate;overflow:hidden}
.intro>.wrap{position:relative;z-index:1}
.intro::before{content:"";position:absolute;inset:-10%;z-index:0;pointer-events:none;
  background:radial-gradient(40% 55% at 15% 20%,rgba(255,170,215,.45),transparent 70%),radial-gradient(45% 60% at 85% 10%,rgba(170,160,255,.42),transparent 70%),radial-gradient(50% 60% at 50% 110%,rgba(120,200,255,.32),transparent 70%);
  background-size:140% 140%,140% 140%,140% 140%;animation:k-cotton 22s ease-in-out infinite}
html[data-city] .intro::before{display:none}
.k-cover-plain{position:relative;isolation:isolate;overflow:hidden}
.k-cover-plain>.wrap{position:relative;z-index:1}
.k-cover-plain::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(45% 80% at 90% 10%,rgba(40,70,216,.18),transparent 70%),radial-gradient(40% 70% at 0% 100%,rgba(255,170,215,.25),transparent 70%)}
html[data-city] .k-cover-plain::before{display:none}
.k-marquee{overflow:hidden;background:#2846D8;color:#fff;border-block:2px solid #111;font:800 .8rem/1 var(--display);text-transform:uppercase;letter-spacing:.12em;white-space:nowrap}
.k-marquee-track{display:inline-flex;animation:k-marquee 40s linear infinite}
.k-marquee:hover .k-marquee-track{animation-play-state:paused}
.k-marquee a{color:#fff;text-decoration:none;padding:.95rem 1.4rem;display:inline-flex;align-items:center;gap:1.4rem}
.k-marquee a::after{content:"•";opacity:.6;margin-left:1.4rem}
.k-marquee a:hover{color:var(--acid)}
section.k-marquee{padding:0}

/* ---- footer: black ---- */
footer{background:#111;color:#F7F5EF;border-top:0;padding-block:3rem 7rem;--ink:#F7F5EF;--paper:#111;--mute:#9C9CA6;--rule:2px solid #F7F5EF}
.k-foot-mark{display:inline-block;font:900 2.6rem/1 var(--display);font-stretch:125%;letter-spacing:-.04em;text-decoration:none;color:#F7F5EF}
.k-foot-mark:hover{color:var(--acid)}
.k-foot-tag{font:700 .72rem/1.4 var(--display);text-transform:uppercase;letter-spacing:.12em;color:#9C9CA6;margin-top:.5rem}

/* ---- retire the older menus ---- */
.k-menu-fab,.k-subnav.k-float,.k-float-x,.k-tray{display:none!important}

/* ---- motion off: pause button or reduced motion ---- */
html.k-paused .intro::before,html.k-paused .cover::after,html.k-paused .k-cover::after,html.k-paused .k-marquee-track{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){
  .intro::before,.cover::after,.k-cover::after,.k-marquee-track,.k-hpanel,.k-edition,.k-drawer,.k-atlas,.k-search,.k-scrim{animation:none!important}
}
@media (max-width:900px){.k-tagline{display:none}}
@media (max-width:640px){
  .top .wrap{gap:.5rem;flex-wrap:wrap;padding-block:.35rem}
  .top .mark{font-size:1.45rem;margin-right:auto}
  .top .nav{order:3;width:100%;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);padding-top:.3rem}
  .k-search-btn kbd{display:none}
  .k-hpanel{position:fixed;left:8px;right:8px;top:auto;width:auto;margin-top:6px;max-height:70vh;border-radius:6px}
  .k-hgrid.two{grid-template-columns:1fr}
  .k-citybar{top:auto}
}
@media print{.top,.k-tools,.k-citybar,.k-onpage-wrap,.k-marquee,.k-atlas,.k-drawer,.k-scrim{display:none!important}footer{background:none;color:#000}}
.k-search-top input[type=search],.k-search-top input{border:0;background:none;padding:.1rem 0;outline:none}
.k-search-top input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}
.k-search-filters select{border-radius:3px}
.k-res>a{grid-template-rows:auto auto 1fr}
.k-res>a>.k-res-d{grid-row:1 / span 3;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.k-res>a::after{grid-row:1 / span 3}
.k-res>a::before{grid-row:1 / span 3}
@media (max-width:760px){.k-res>a>.k-res-d{grid-column:2;grid-row:3}.k-res>a::after,.k-res>a::before{grid-row:1 / span 2}}
html:has(.k-citybar.is-open) .k-tools.k-dock{opacity:0;visibility:hidden;pointer-events:none}
.k-dock .k-totop{align-items:center;justify-content:center;line-height:1}
.k-hpanel{background:rgba(34,34,38,.97)}
/* stay oriented on phones */
.top{transition:transform .25s ease}
.k-citybar{top:calc(env(safe-area-inset-top,0px) + var(--hh,60px));transition:top .25s ease}
html.k-hdr-hide .top{transform:translateY(-110%)}
html.k-hdr-hide .k-citybar{top:env(safe-area-inset-top,0px)}
@media (max-width:820px){.k-citybar{position:sticky}}
@media (max-width:640px){.k-citybar>.wrap{min-height:46px}.k-citybar-l{font-size:.72rem}.k-citybar-btn strong{font-size:.85rem}}
.k-atlas-here{grid-column:1 / -1;border-bottom:2px solid #111;padding-bottom:1.6rem}
.k-atlas-here-row{display:flex;flex-wrap:wrap;gap:.45rem}
.k-atlas-here-row a{font:800 .72rem/1 var(--display);text-transform:uppercase;letter-spacing:.08em;color:#111;text-decoration:none;border:2px solid #111;border-radius:999px;padding:.65rem .9rem}
.k-atlas-here-row a:hover,.k-atlas-here-row a[aria-current]{background:var(--city);border-color:var(--city);color:var(--on-city)}
@media (prefers-reduced-motion:reduce){.top,.k-citybar{transition:none}}
/* empty states with art */
.k-empty{display:grid;grid-template-columns:96px 1fr;gap:1rem;align-items:center;padding:.8rem 0}
.k-empty img{width:96px;height:96px;object-fit:cover;border-radius:12px;display:block}
.k-empty p{font:600 .95rem/1.4 var(--display);color:var(--mute)}
.k-drawer .k-empty{grid-template-columns:1fr;justify-items:start;padding:1.4rem 0}
.k-drawer .k-empty img{width:100%;height:auto;max-height:260px;aspect-ratio:auto;border-radius:12px}
.k-search .k-empty{grid-template-columns:160px 1fr}.k-search .k-empty img{width:160px;height:160px}
.k-404 .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:center}
.k-404-art{margin:0}.k-404-art img{width:100%;height:auto;display:block;border-radius:18px}
@media (max-width:760px){.k-404 .wrap{grid-template-columns:1fr!important}}
/* neighborhoods + picture map */
.k-hoods,.k-map{border-top:var(--rule)}
.k-hood-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
.k-hood{margin:0;position:relative;overflow:hidden;border-radius:14px;background:var(--tint)}
.k-hood img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.k-hood:hover img{transform:scale(1.05)}
.k-hood figcaption{position:absolute;left:10px;bottom:10px;font:800 .72rem/1 var(--display);text-transform:uppercase;letter-spacing:.08em;background:var(--paper);color:var(--ink);padding:.45rem .6rem;border-radius:4px;box-shadow:3px 3px 0 var(--city)}
@media (max-width:900px){.k-hood-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.k-map .k-painting{background:none;border:0}
.k-map .k-painting img{border-radius:18px;max-width:1200px}
@media (prefers-reduced-motion:reduce){.k-hood:hover img{transform:none}}

/* ===== Compact pop-up menu + search, styled like the header drop panels ===== */
@keyframes k-pop-up{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes k-pop-down{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}
.k-atlas,.k-search{
  --paper:#26262A;--ink:#fff;--mute:rgba(255,255,255,.58);--tint:rgba(255,255,255,.08);--rule:1px solid rgba(255,255,255,.18);color-scheme:dark;
  position:fixed;left:50%;right:auto;top:auto;bottom:auto;inset:auto auto auto 50%;transform:translateX(-50%);
  width:min(1040px,calc(100vw - 24px));overflow:auto;overscroll-behavior:contain;
  background:rgba(34,34,38,.97);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:#fff;
  border-radius:10px;box-shadow:0 30px 70px rgba(0,0,0,.4);padding:0}
.k-atlas{bottom:calc(max(14px,env(safe-area-inset-bottom)) + 58px);max-height:min(640px,calc(100vh - var(--hh,60px) - 96px));animation:k-pop-up .22s ease both;z-index:70}
.k-search{top:calc(var(--hh,60px) + 10px);max-height:calc(100vh - var(--hh,60px) - 96px);animation:k-pop-down .22s ease both;z-index:70;width:min(880px,calc(100vw - 24px))}
.k-atlas .k-overlay-bar,.k-search .k-overlay-bar{position:sticky;top:0;background:rgba(34,34,38,.98);padding:.7rem 1.1rem;border-bottom:1px solid rgba(255,255,255,.1);font-size:.72rem;color:var(--acid)}
.k-atlas .k-overlay-x,.k-search .k-overlay-x{padding:.4rem .6rem;font-size:.72rem}
/* menu body: three columns */
.k-atlas-body.wrap{max-width:none;padding:1rem 1.1rem 1.2rem;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1rem 2rem}
.k-atlas-here{grid-column:1 / -1;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:1rem}
.k-atlas-kick{background:none;color:var(--acid);padding:0;margin:0 0 .6rem;font-size:.72rem;grid-column:1 / -1}
.k-atlas-cities,.k-atlas-topics{display:grid;grid-template-columns:1fr 1fr;column-gap:1.2rem;align-content:start}
.k-atlas-city{grid-template-columns:1.8rem minmax(0,1fr) auto;gap:.6rem;border-top:1px solid rgba(255,255,255,.12);padding:.6rem .35rem;color:#fff;border-radius:3px}
.k-atlas-city:last-child{border-bottom:0}
.k-atlas-city strong{font:900 .95rem/1.1 var(--display);font-stretch:100%;letter-spacing:.01em;transform:none}
.k-atlas-city:hover strong,.k-atlas-city:focus-visible strong{transform:none;color:var(--c)}
.k-atlas-city .k-hnum,.k-atlas-topic .k-hnum{color:rgba(255,255,255,.4)}
.k-atlas-city .k-hcode{color:var(--c);font-size:.72rem}
.k-atlas-city:hover,.k-atlas-topic:hover{background:rgba(255,255,255,.07)}
.k-atlas-topic{gap:.7rem;border-top:1px solid rgba(255,255,255,.12);padding:.6rem .35rem;color:#fff;font:800 .9rem/1.15 var(--display);border-radius:3px}
.k-atlas-topic:hover,.k-atlas-topic:focus-visible{background:rgba(255,255,255,.07);color:var(--acid)}
.k-atlas-about{grid-column:1 / -1;margin-top:.9rem;gap:.4rem}
.k-atlas-about a,.k-atlas-here-row a{color:#fff;border:1px solid rgba(255,255,255,.3);font-size:.72rem;padding:.5rem .75rem}
.k-atlas-about a:hover{background:var(--acid);color:#111;border-color:var(--acid)}
.k-atlas-here-row a:hover,.k-atlas-here-row a[aria-current]{background:var(--city);border-color:var(--city);color:var(--on-city)}
@media (max-width:760px){
  .k-atlas,.k-search{left:8px;right:8px;width:auto;transform:none;animation-name:k-overlay-in}
  .k-atlas-body.wrap{grid-template-columns:1fr}
}
/* search: big input, compact rows */
.k-search-in{width:auto;padding:1rem 1.1rem 1.2rem;margin:0}
.k-search-top{border-bottom:2px solid rgba(255,255,255,.3);padding-bottom:.5rem}
.k-search-top input,.k-search-top input[type=search]{color:#fff;font:900 clamp(1.6rem,3.6vw,2.6rem)/1.1 var(--display);letter-spacing:-.025em}
.k-search-top input::placeholder{color:rgba(255,255,255,.3)}
.k-search-top svg{width:1.6rem;height:1.6rem;color:var(--acid)}
.k-search-filters{margin:.8rem 0 .4rem;gap:.4rem}
.k-search-filters select{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.25);font-size:.8rem;padding:.35rem .5rem}
.k-search-filters select option{color:#111;background:#fff}
.k-search .label{color:rgba(255,255,255,.55)}
.k-search .k-res{border-bottom:1px solid rgba(255,255,255,.1);padding:.6rem .3rem}
.k-search .k-res>a{grid-template-columns:2rem minmax(0,1fr) minmax(0,1fr) auto;column-gap:1rem;grid-template-rows:auto auto 1fr}
.k-search .k-res>a::before{color:rgba(255,255,255,.4);font-size:.72rem}
.k-search .k-res>a>.label{color:var(--acid);font-size:.72rem}
.k-search .k-res>a>strong{font:800 1rem/1.2 var(--display);letter-spacing:0}
.k-search .k-res>a>.k-res-d{color:rgba(255,255,255,.6);font-size:.82rem;-webkit-line-clamp:2}
.k-search .k-res>a::after{font-size:.9rem}
.k-search .k-res>a:hover strong{box-shadow:none;color:var(--acid)}
.k-search .k-res:hover{background:rgba(255,255,255,.04)}
.k-search .k-res-h{color:var(--acid);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.k-search .k-more{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:3px}
.k-search .k-empty img{width:110px;height:110px}.k-search .k-empty{grid-template-columns:110px 1fr}
.k-search .k-empty p{color:rgba(255,255,255,.7)}
@media (max-width:760px){.k-search .k-res>a{grid-template-columns:1.8rem minmax(0,1fr) auto}.k-search .k-res>a>.k-res-d{grid-column:2;grid-row:3}}
/* while menu/search are up, keep the page scrollable but tone it down a touch */
html.k-search-open .k-dock .k-tool:nth-child(2),html.k-atlas-open .k-dock .k-tool:first-child{color:var(--acid)}
@media (max-width:760px){
  .k-atlas-city strong{font-size:.82rem}
  .k-atlas-city{grid-template-columns:1.5rem minmax(0,1fr);gap:.4rem}
  .k-atlas-city .k-hcode{display:none}
  .k-atlas-here-row a{font-size:.72rem;padding:.42rem .6rem}
  .k-atlas-topic{font-size:.84rem}
  .k-search-filters select{font-size:.75rem}
}

/* minimum readable sizes */
.k-dot{min-width:18px;height:18px;line-height:18px;border-radius:9px;font-size:.72rem}
.k-hcity small,.k-htopic small,.k-habout small{font-size:.72rem;letter-spacing:.04em}
/* small art in the gaps */
.k-band-art{margin:0 0 clamp(18px,2.4vw,28px)}
#cities .k-band-art{max-width:1520px;margin-inline:auto;padding-inline:var(--gutter)}
.k-band-art img{display:block;width:100%;height:clamp(130px,16vw,240px);object-fit:cover;border-radius:14px}
.k-contact-grid::after{content:"";display:block;clear:both}
.k-contact-art{float:right;width:min(34%,380px);margin:0 0 1rem 2rem}
.k-contact-art img{display:block;width:100%;height:auto;border-radius:14px}
@media (max-width:760px){.k-contact-art{float:none;width:100%;max-width:440px;margin:0 0 1.2rem}}
#k-print .k-p-art{display:block;width:100%;max-height:140px;object-fit:cover;margin-bottom:12px}
.k-threads-art{border-top:var(--rule)}
.k-thread-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
.k-thread-city{position:relative;display:block;overflow:hidden;border-radius:14px;text-decoration:none;background:var(--tint)}
.k-thread-city img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.k-thread-city:hover img{transform:scale(1.05)}
.k-thread-city>span:not(.k-zoom){position:absolute;left:10px;bottom:10px;font:800 .78rem/1 var(--display);text-transform:uppercase;letter-spacing:.08em;background:var(--paper);color:var(--ink);padding:.45rem .6rem;border-radius:4px;box-shadow:3px 3px 0 var(--c)}
.k-thread-city:hover>span:not(.k-zoom){background:var(--c);color:#fff}
@media (max-width:900px){.k-thread-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.k-hood figcaption{font-size:.78rem}
/* see-through bars (frosted) */
.top{background:rgba(48,48,52,.74);-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3)}
.k-tools.k-dock{background:color-mix(in srgb,color-mix(in srgb,var(--city) 16%,#2A2A2E) 80%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3)}
html[style*="--city:var(--ink)"] .k-tools.k-dock{background:rgba(42,42,46,.8)}
.k-hpanel{background:rgba(34,34,38,.86);-webkit-backdrop-filter:blur(20px) saturate(1.3);backdrop-filter:blur(20px) saturate(1.3)}
.k-atlas,.k-search{background:rgba(34,34,38,.88);-webkit-backdrop-filter:blur(22px) saturate(1.3);backdrop-filter:blur(22px) saturate(1.3)}
.k-atlas .k-overlay-bar,.k-search .k-overlay-bar{background:rgba(34,34,38,.6)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.top,.k-hpanel,.k-atlas,.k-search{background:rgba(40,40,44,.97)}}
.contact .wrap.k-contact-grid{display:block}
.contact .k-contact-grid>*+*{margin-top:1.25rem}
.k-contact-grid .k-contact-art{margin-top:0}
.k-hpanel{background:rgba(34,34,38,.9)}

/* ===== Pull a thread (approved Figma city experience) ===== */
.k-pull{--pc:#243CFF;--pon:#fff;background:#111;color:#F4EFE3;padding-block:clamp(28px,4vw,56px) clamp(32px,4.5vw,64px);border-top:0;color-scheme:dark}
.k-pull-top{display:flex;justify-content:space-between;gap:1rem;font:600 clamp(1.25rem,1.6vw,1.5rem)/1.2 var(--display);letter-spacing:.02em;text-transform:uppercase;margin-bottom:clamp(14px,2vw,24px)}
.k-pull-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,0fr);gap:0;transition:grid-template-columns .6s cubic-bezier(.2,.7,.2,1),gap .6s}
.k-pull.is-open .k-pull-stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(14px,1.8vw,24px)}
.k-pull-art{position:relative;overflow:hidden;height:clamp(280px,40vw,580px);background:#222;--px:0;--py:0}
.k-pull-img{position:absolute;inset:-3%;width:106%;height:106%;max-width:none;object-fit:cover;transform:translate(calc(var(--px) * -14px),calc(var(--py) * -10px));transition:transform .35s ease-out,filter .6s}
.k-pull-fx{position:absolute;height:auto;max-width:none;pointer-events:none;transform:translate(calc(var(--px) * 22px),calc(var(--py) * 16px));transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .6s,opacity .6s}
.k-pull.f1 .k-pull-wave{animation:k-pull-drift 9s ease-in-out infinite}
.k-pull.f1 .k-pull-obj{animation:k-pull-bob 6s ease-in-out infinite}
@keyframes k-pull-drift{0%,100%{translate:0 0}50%{translate:2% -4%}}
@keyframes k-pull-bob{0%,100%{translate:0 0}50%{translate:0 -6%}}
@keyframes k-pull-spin{to{rotate:360deg}}
.k-pull.is-open .k-pull-obj{transform:var(--pmove)}
.k-pull[data-pull="det"] .k-pull-wave,.k-pull[data-pull="det"].is-open .k-pull-obj{animation:k-pull-spin 14s linear infinite}
.k-pull[data-pull="det"].is-open .k-pull-obj{animation-duration:3s}
.k-pull-dusk{position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(60% 50% at 70% 30%,rgba(255,210,120,.18),transparent 60%),linear-gradient(180deg,rgba(18,22,60,.55),rgba(10,10,30,.7));mix-blend-mode:multiply;transition:opacity .7s}
.k-pull.is-night .k-pull-dusk{opacity:1}
.k-pull.is-night .k-pull-img{filter:brightness(.62) saturate(1.15) hue-rotate(-12deg)}
.k-pull.is-night .k-pull-fx{filter:drop-shadow(0 0 8px var(--pc)) drop-shadow(0 0 18px var(--pc)) brightness(1.3)}
.k-pull-tag{position:absolute;left:clamp(10px,1.2vw,16px);top:clamp(10px,1.2vw,16px);z-index:2;font:500 clamp(1.375rem,1.6vw,1.5rem)/1.2 var(--display);color:#F4EFE3;background:#111;border:0;padding:.5rem .8rem;cursor:pointer}
.k-pull-tag:hover,.k-pull-tag:focus-visible{background:var(--pc);color:var(--pon)}
.k-pull-story{min-width:0;overflow:hidden;background:var(--pc);color:var(--pon);padding:clamp(18px,2vw,28px);align-self:start;
  clip-path:polygon(0 0,0 0,0 100%,0 100%);transition:clip-path .65s cubic-bezier(.2,.7,.2,1)}
.k-pull.is-open .k-pull-story{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.k-pull.f2 .k-pull-story{clip-path:polygon(0 0,0 0,0 0,0 0)}
.k-pull.f2.is-open .k-pull-story{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.k-pull-kick{font:500 clamp(1.375rem,1.6vw,1.5rem)/1.2 var(--display);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.7rem}
.k-pull-strip{height:clamp(56px,6vw,84px);background-size:cover;background-position:center 40%;margin-bottom:1rem}
.k-pull-story h3{font:900 clamp(1.75rem,2.6vw,2.6rem)/1.08 var(--display);letter-spacing:-.01em;margin:0 0 .7rem}
.k-pull-story p{font:400 clamp(1.375rem,1.6vw,1.5rem)/1.4 var(--display);max-width:none}
.k-pull-link{display:inline-block;margin-top:.9rem;font:600 clamp(1.375rem,1.6vw,1.5rem)/1.2 var(--display);color:inherit;text-underline-offset:4px}
.k-pull-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;flex-wrap:wrap;margin-top:clamp(16px,2vw,24px)}
.k-pull-line{font:900 clamp(1.75rem,2.4vw,2.4rem)/1.1 var(--display);margin:0}
.k-pull-night{font:500 clamp(1.375rem,1.6vw,1.5rem)/1.2 var(--display);color:#F4EFE3;background:none;border:0;padding:.3rem 0;margin-bottom:.4rem;cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--pc)}
.k-pull-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.6rem}
.k-pull-handle{font:900 clamp(1.5rem,1.8vw,1.75rem)/1 var(--display);text-transform:uppercase;letter-spacing:.02em;color:var(--pon);background:var(--pc);border:0;cursor:pointer;
  padding:1.1rem 2rem;min-height:64px;transform:rotate(-2deg);transition:transform .25s;
  clip-path:polygon(0 7.5%,8.2% 3.1%,14.7% 8.1%,24.4% 1.9%,32.4% 5.6%,42% 0,52.9% 7.5%,62% 1.9%,70.6% 6.9%,81.5% 1.2%,91.2% 8.1%,100% 3.8%,100% 92.5%,91.8% 96.9%,81.5% 93.1%,71.2% 100%,60.3% 94.4%,50% 98.8%,40.3% 92.5%,30.3% 98.1%,20.6% 93.8%,10% 100%,0 95%)}
.k-pull-handle:hover,.k-pull-handle:focus-visible{transform:rotate(0) translateY(-2px)}
.k-pull-handle:focus-visible{outline:3px solid #F4EFE3;outline-offset:4px}
.k-pull-h-close{display:none}
.k-pull.is-open .k-pull-h-open{display:none}.k-pull.is-open .k-pull-h-close{display:inline}
.k-pull-links{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}
.k-pull-links a{font:500 clamp(1.375rem,1.6vw,1.5rem)/1.2 var(--display);color:#F4EFE3;background:#2B2B2E;text-decoration:none;padding:.65rem 1rem;min-height:48px;display:inline-flex;align-items:center}
.k-pull-links a.k-pull-guide{background:var(--pc);color:var(--pon)}
.k-pull-links a:hover{background:#F4EFE3;color:#111}
.k-pull.is-arrived .k-pull-top{animation:k-overlay-in .6s ease both}
/* phone: separate arrangement, text stays ≥ 22px */
@media (max-width:760px){
  .k-pull-stage,.k-pull.is-open .k-pull-stage{grid-template-columns:1fr;gap:14px}
  .k-pull-art{height:64vw;min-height:240px}
  .k-pull-story{clip-path:none}
  .k-pull-story[hidden]{display:none}
  .k-pull-top,.k-pull-tag,.k-pull-kick,.k-pull-story p,.k-pull-link,.k-pull-night,.k-pull-links a{font-size:22px}
  .k-pull-actions{align-items:stretch;width:100%}
  .k-pull-handle{width:100%;transform:none}
  .k-pull-links{justify-content:stretch}.k-pull-links a{flex:1 1 100%;justify-content:center}
}
html.k-paused .k-pull *,html.k-paused .k-pull{animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce){.k-pull *{animation:none!important;transition:none!important}.k-pull-img,.k-pull-fx{transform:none}}
/* title entrance for Detroit, Los Angeles and New York */
@keyframes k-title-in{from{opacity:0;transform:translateY(.25em)}to{opacity:1;transform:none}}
html[data-city="det"] .cover h1,html[data-city="la"] .cover h1,html[data-city="nyc"] .cover h1{animation:k-title-in .9s cubic-bezier(.2,.7,.2,1) both}
@media (prefers-reduced-motion:reduce){html[data-city] .cover h1{animation:none}}
/* home: pull-a-thread chips */
.k-pull-home{background:#111;color:#F4EFE3;border-top:0}
.k-pull-home .sec-head p{color:rgba(244,239,227,.7)}
.k-pull-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
.k-pull-chip{display:grid;gap:.3rem;padding:1.1rem 1.3rem 1.2rem;background:var(--pc);color:var(--pon);text-decoration:none;transform:rotate(-1deg);transition:transform .2s;
  clip-path:polygon(0 6%,10% 2%,22% 7%,35% 1%,48% 6%,60% 0,74% 7%,86% 2%,100% 5%,100% 95%,88% 99%,74% 94%,60% 100%,46% 95%,32% 99%,18% 94%,0 98%)}
.k-pull-chip:nth-child(even){transform:rotate(1deg)}
.k-pull-chip:hover,.k-pull-chip:focus-visible{transform:rotate(0) translateY(-3px)}
.k-pull-chip strong{font:900 clamp(1.5rem,2vw,1.9rem)/1.05 var(--display);text-transform:uppercase}
.k-pull-chip span{font:700 1.2rem/1.2 var(--display)}
@media (max-width:760px){.k-pull-chips{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---- KEVNS wordmark: Archivo Black, outlined. V takes the city color (orange at home). ---- */
:root{--k-v:#FF5A00}
html[data-city]{--k-v:var(--city)}
.mark,.k-foot-mark{display:inline-flex;align-items:center;line-height:0;text-decoration:none;font-size:1rem}
.k-logo{display:block;width:auto;height:1.25rem;overflow:visible}
.k-logo .k-logo-v{fill:var(--k-v);transition:fill .3s}
.top .mark{padding-block:.35rem}
.top .mark .k-logo{height:24px}
.top .mark:hover .k-logo-v,.top .mark:focus-visible .k-logo-v{fill:#fff}
.k-foot-mark{flex-direction:column;align-items:stretch;gap:.5rem;color:#F7F5EF}
.k-foot-mark::before,.k-foot-mark::after{content:"";display:block;background:currentColor}
.k-foot-mark::before{height:6px}
.k-foot-mark::after{height:3px}
.k-foot-mark .k-logo{height:2.6rem}
.k-foot-mark:hover{color:#F7F5EF}
.k-foot-mark:hover .k-logo-v{fill:var(--acid)}
@media (max-width:640px){.top .mark .k-logo{height:20px}.k-foot-mark .k-logo{height:2.2rem}}

/* ---- Simplified chrome: no bottom dock. Saved + Search in the header, Menu is a header drop on city pages,
        Pause lives in the footer, Top is a small corner circle. ---- */
.k-tools.k-dock{display:none!important}
.k-saved-btn{position:relative;display:inline-flex;align-items:center;gap:.45rem;flex:none;font:800 .72rem/1 var(--display);text-transform:uppercase;letter-spacing:.1em;color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.35);border-radius:3px;padding:.55rem .75rem;cursor:pointer}
.k-saved-btn:hover,.k-saved-btn[aria-expanded="true"]{background:var(--acid);color:#111;border-color:var(--acid)}
.k-saved-btn .k-glyph{font-size:.95rem;line-height:0}
.k-saved-btn .k-dot{position:absolute;top:-8px;right:-8px}
.top .wrap>.k-search-btn{margin-left:0}

footer .k-motion-link{display:inline-block;margin-top:.9rem;background:none;border:0;padding:.2rem 0;cursor:pointer;color:#9C9CA6;font:700 .72rem/1.4 var(--display);text-transform:uppercase;letter-spacing:.12em;text-decoration:underline;text-underline-offset:3px}
footer .k-motion-link:hover{color:#F7F5EF}
footer{padding-block:3rem 4.5rem}
.k-totop{width:56px;height:56px;padding:0;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;border:0;
  background:rgba(48,48,52,.86);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;box-shadow:0 0 0 2px var(--k-v),0 8px 24px rgba(0,0,0,.22);
  right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}
.k-totop svg{width:1rem;height:1rem}
.k-totop span{position:static;width:auto;height:auto;overflow:visible;clip:auto;font:800 .72rem/1 var(--display);letter-spacing:.08em}
.k-totop:hover{background:#111;color:#fff}
html.k-has-tray .k-totop{bottom:max(16px,env(safe-area-inset-bottom))}
@media (max-width:640px){
  .k-saved-btn .k-saved-t{display:none}
  .k-saved-btn{padding:.55rem .7rem}
  .k-totop{width:50px;height:50px;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}
}
.k-hpanel.is-menu .k-hmenu small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:640px){.top .nav>a,.top .nav .k-hdrop>summary{padding-inline:.4rem;letter-spacing:.06em}}
.k-hdrop:not([open])>.k-hpanel{display:none}
main label:has(>select){min-width:0;max-width:100%}main select{max-width:100%;min-width:0;text-overflow:ellipsis}

/* ---- "You're viewing" bar: hidden until the page hero has scrolled away, then floats under the header ---- */
.k-citybar.k-cb-float{position:fixed;left:0;right:0;top:calc(env(safe-area-inset-top,0px) + var(--hh,60px));z-index:9;
  background:color-mix(in srgb,var(--paper) 86%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);
  opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s,top .25s ease}
.k-citybar.k-cb-float.is-shown{opacity:1;visibility:visible;transform:none;transition:opacity .22s ease,transform .22s ease,visibility 0s,top .25s ease}
html.k-hdr-hide .k-citybar.k-cb-float{top:env(safe-area-inset-top,0px)}
@media (prefers-reduced-motion:reduce){.k-citybar.k-cb-float{transition:none}}
