/* v4.9.0 lightweight institutional design system */
:root{--nkds-max:1240px;--nkds-radius:14px;--nkds-space:clamp(44px,6vw,84px);--nkds-soft:#f5f7fa;--nkds-border:#dfe5ec;--nkds-ink:#102235;--nkds-muted:#5d6b79;--nkds-accent:#0b63ce;--nkds-public:#0b6b3a;--nkds-dark:#0d2235}.nkds-width-standard .nkbiz-container{max-width:1080px}.nkds-width-wide .nkbiz-container{max-width:var(--nkds-max)}.nkds-width-full .nkbiz-container{max-width:1480px}.nkds-corners-square{--nkds-radius:4px}.nkds-corners-rounded{--nkds-radius:22px}.nkds-v490 .nkbiz-container{width:min(calc(100% - 32px),var(--nkds-max));margin-inline:auto}.nkds-v490 a:focus-visible,.nkds-v490 button:focus-visible,.nkds-v490 input:focus-visible,.nkds-v490 summary:focus-visible{outline:3px solid #ffbf47;outline-offset:3px}.nkds-site-header{background:#fff;border-bottom:1px solid var(--nkds-border);position:relative;z-index:100}.nkds-sticky-header .nkds-site-header{position:sticky;top:0}.nkds-site-header .nkbiz-header-main{background:transparent}.nkds-site-header .nkbiz-header-row{min-height:72px;gap:20px}.nkds-header-compact .nkbiz-header-row,.nkds-header-sticky-compact .nkbiz-header-row{min-height:58px}.nkds-header-search-focused .nkbiz-brand{flex:0 0 auto}.nkds-header-search-focused .nkbiz-header-search{flex:1;max-width:none}.nkds-header-transparent-home{background:transparent}.nkds-transparent-home-header.home .nkds-site-header{position:absolute;inset:0 0 auto;background:rgba(255,255,255,.94);backdrop-filter:saturate(140%) blur(12px)}.nkds-site-header .nkbiz-header-cta{border-radius:999px}.nkds-site-header .nkbiz-nav{border-top:1px solid var(--nkds-border);background:#fff}.nkds-site-header .nkbiz-nav a{font-weight:650}.nkds-footer{background:var(--nkds-dark);color:#eaf0f5}.nkds-footer a{color:#fff}.nkds-footer .nkbiz-footer-top{display:grid;gap:28px;padding-block:52px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.nkds-footer .nkbiz-footer-brand-block{grid-column:span 2}.nkds-footer-minimal .nkbiz-footer-top{grid-template-columns:1fr;padding-block:34px}.nkds-footer-minimal .nkbiz-footer-card{display:none}.nkds-footer-public-information .nkbiz-footer-business,.nkds-footer-public-information .nkbiz-footer-popular{display:none}.nkds-footer-full-business .nkbiz-footer-visitors,.nkds-footer-full-business .nkbiz-footer-districts{display:none}.nkds-footer .nkbiz-footer-card{min-width:0}.nkds-footer .nkbiz-footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding-block:18px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.nkds-home-section{padding-block:var(--nkds-space);background:#fff}.nkds-space-compact{--nkds-space:32px}.nkds-space-spacious{--nkds-space:clamp(64px,9vw,112px)}.nkds-bg-soft{background:var(--nkds-soft)}.nkds-bg-dark{background:var(--nkds-dark);color:#fff}.nkds-bg-accent{background:#eaf3ff}.nkds-section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.nkds-section-heading h2{font-size:clamp(1.65rem,3vw,2.45rem);line-height:1.15;margin:0;color:inherit}.nkds-section-heading p{max-width:720px;margin:9px 0 0;color:var(--nkds-muted);font-size:1.03rem}.nkds-bg-dark .nkds-section-heading p{color:#c9d5df}.nkds-text-link{font-weight:750;white-space:nowrap}.nkds-hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);gap:clamp(32px,6vw,80px);align-items:center}.nkds-section-unified-search{padding-top:clamp(78px,10vw,130px)}.nkds-eyebrow{display:inline-flex;padding:7px 12px;border-radius:999px;background:#e8f2ff;color:#0756ad;font-size:.82rem;font-weight:800;letter-spacing:.025em}.nkds-hero-copy h1{font-size:clamp(2.3rem,5.5vw,4.8rem);line-height:1.02;letter-spacing:-.045em;margin:18px 0;color:var(--nkds-ink);max-width:900px}.nkds-hero-copy>p{font-size:clamp(1.03rem,1.7vw,1.3rem);line-height:1.65;color:var(--nkds-muted);max-width:760px}.nkds-unified-search{display:grid;grid-template-columns:1.4fr 1fr auto;gap:8px;padding:8px;background:#fff;border:1px solid var(--nkds-border);box-shadow:0 16px 42px rgba(16,34,53,.10);border-radius:var(--nkds-radius);margin-top:30px}.nkds-unified-search input{width:100%;height:52px;border:0;background:#f7f9fb;border-radius:10px;padding:0 16px;font-size:1rem}.nkds-unified-search button,.nkds-primary-action{min-height:52px;border:0;border-radius:10px;background:var(--nkds-accent);color:#fff;font-weight:800;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.nkds-hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:16px}.nkds-secondary-action{border:1px solid var(--nkds-border);background:#fff;min-height:48px;border-radius:10px;padding:0 18px;font-weight:750}.nkds-hero-trust{display:grid;gap:12px}.nkds-hero-trust>div{padding:22px;background:#fff;border:1px solid var(--nkds-border);border-radius:var(--nkds-radius);box-shadow:0 8px 28px rgba(16,34,53,.06)}.nkds-hero-trust strong,.nkds-hero-trust span{display:block}.nkds-hero-trust strong{font-size:1.08rem;color:var(--nkds-ink)}.nkds-hero-trust span{margin-top:5px;color:var(--nkds-muted)}.nkds-category-grid,.nkds-district-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.nkds-category-grid>a,.nkds-district-grid>a{display:flex;flex-direction:column;gap:7px;padding:20px;border:1px solid var(--nkds-border);border-radius:var(--nkds-radius);background:#fff;color:var(--nkds-ink);transition:transform .18s ease,border-color .18s ease}.nkds-category-grid>a:hover,.nkds-district-grid>a:hover{transform:translateY(-2px);border-color:#9fbce1}.nkds-category-grid small,.nkds-district-grid small{color:var(--nkds-muted)}.nkds-category-icon{font-size:1.15rem;color:var(--nkds-accent)}.nkds-listing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.nkds-density-compact .nkds-listing-grid{gap:12px}.nkds-nearby-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;margin-bottom:22px;background:#fff;border:1px solid var(--nkds-border);border-radius:var(--nkds-radius)}.nkds-nearby-bar strong,.nkds-nearby-bar span{display:block}.nkds-nearby-bar span{color:var(--nkds-muted);margin-top:4px}.nkds-emergency-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.nkds-emergency-grid a{padding:20px;border:1px solid rgba(255,255,255,.18);border-radius:var(--nkds-radius);background:rgba(255,255,255,.08);color:#fff}.nkds-emergency-grid strong,.nkds-emergency-grid span{display:block}.nkds-emergency-grid span{margin-top:8px;font-size:1.25rem;font-weight:800}.nkds-guide-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.nkds-guide-grid article{border:1px solid var(--nkds-border);border-radius:var(--nkds-radius);overflow:hidden;background:#fff}.nkds-guide-grid article>a{color:var(--nkds-ink)}.nkds-guide-grid img,.nkds-guide-placeholder{width:100%;aspect-ratio:16/9;object-fit:cover;display:grid;place-items:center;background:#eaf0f6;font-size:2rem}.nkds-guide-grid article div{padding:18px}.nkds-guide-grid h3{font-size:1.08rem;margin:6px 0}.nkds-guide-grid p,.nkds-guide-grid small{color:var(--nkds-muted)}.nkds-promotion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.nkds-promotion-grid a{display:flex;flex-direction:column;padding:24px;border-radius:var(--nkds-radius);background:#fff;border:1px solid #bfd6f3;color:var(--nkds-ink)}.nkds-promotion-grid span{color:var(--nkds-muted);margin:9px 0 24px}.nkds-promotion-grid em{font-style:normal;font-weight:800;color:var(--nkds-accent);margin-top:auto}.nkds-faq-layout{max-width:920px!important}.nkds-faq-list{display:grid;gap:10px}.nkds-faq-list details{background:#fff;border:1px solid var(--nkds-border);border-radius:var(--nkds-radius);padding:0 18px}.nkds-faq-list summary{padding:18px 0;font-weight:800;cursor:pointer}.nkds-faq-list p{color:var(--nkds-muted);padding:0 0 18px;margin:0}.nkds-empty{padding:28px;border:1px dashed #aeb9c5;border-radius:var(--nkds-radius);text-align:center}.nkds-hide-desktop{display:none!important}@media(prefers-reduced-motion:reduce){.nkds-v490 *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:960px){.nkds-hero-grid{grid-template-columns:1fr}.nkds-hero-trust{grid-template-columns:repeat(3,1fr)}.nkds-category-grid,.nkds-district-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nkds-listing-grid,.nkds-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nkds-emergency-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nkds-footer .nkbiz-footer-brand-block{grid-column:auto}.nkds-mobile-search-first .nkbiz-header-search{display:block;order:3;flex-basis:100%}}@media(max-width:640px){.nkds-v490 .nkbiz-container{width:min(calc(100% - 24px),var(--nkds-max))}.nkds-hide-desktop{display:block!important}.nkds-hide-mobile{display:none!important}.nkds-section-heading{align-items:flex-start;flex-direction:column}.nkds-unified-search{grid-template-columns:1fr}.nkds-hero-trust{grid-template-columns:1fr}.nkds-category-grid,.nkds-district-grid,.nkds-listing-grid,.nkds-guide-grid,.nkds-promotion-grid,.nkds-emergency-grid{grid-template-columns:1fr}.nkds-nearby-bar{align-items:flex-start;flex-direction:column}.nkds-footer .nkbiz-footer-top{grid-template-columns:1fr}.nkds-footer .nkbiz-footer-bottom{flex-direction:column}.nkds-mobile-minimal .nkbiz-header-search,.nkds-mobile-minimal .nkbiz-header-cta{display:none!important}}

/* v5.0.4 permanent homepage listing-card layout correction.
 * The homepage builder uses compact directory cards rather than the full archive/search card layout,
 * preventing narrow body columns and broken card alignment inside multi-column homepage grids.
 */
.nkds-v490 .nkds-listing-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
  gap:20px;
  align-items:stretch;
}
.nkds-v490 .nkds-listing-card{
  position:relative;
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  min-width:0;
  height:100%;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--nkds-border);
  border-radius:var(--nkds-radius);
  box-shadow:0 12px 30px rgba(16,34,53,.07);
  color:var(--nkds-ink);
}
.nkds-v490 .nkds-listing-media{
  position:relative;
  display:grid;
  place-items:center;
  min-height:170px;
  padding:16px;
  background:linear-gradient(135deg,#fff7c8,#eef7ff);
  color:var(--nkds-ink);
  text-decoration:none;
}
.nkds-v490 .nkds-listing-media img{
  display:block;
  width:72px;
  height:72px;
  max-width:100%;
  object-fit:cover;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 24px rgba(16,34,53,.10);
}
.nkds-v490 .nkds-listing-fallback{
  display:grid;
  place-items:center;
  width:62px;
  height:62px;
  border-radius:18px;
  background:#fff;
  font-size:1.6rem;
  box-shadow:0 10px 24px rgba(16,34,53,.10);
}
.nkds-v490 .nkds-listing-chip{
  position:absolute;
  top:10px;
  left:10px;
  z-index:2;
  max-width:calc(100% - 20px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  border-radius:999px;
  background:#12345a;
  color:#fff;
  padding:5px 8px;
  font-size:.68rem;
  font-weight:800;
}
.nkds-v490 .nkds-listing-body{
  display:flex;
  min-width:0;
  flex-direction:column;
  padding:18px;
}
.nkds-v490 .nkds-listing-badges{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-bottom:8px;
}
.nkds-v490 .nkds-listing-badges span{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:#eaf3ff;
  color:#0756ad;
  padding:4px 8px;
  font-size:.68rem;
  font-weight:800;
  line-height:1;
}
.nkds-v490 .nkds-listing-card.is-public-service .nkds-listing-badges span:first-child{
  background:#e7f7ed;
  color:#0b6b3a;
}
.nkds-v490 .nkds-listing-card h3{
  margin:0 0 7px;
  color:var(--nkds-ink);
  font-size:1.05rem;
  line-height:1.22;
  letter-spacing:-.015em;
  overflow-wrap:anywhere;
}
.nkds-v490 .nkds-listing-card h3 a{
  color:inherit;
  text-decoration:none;
}
.nkds-v490 .nkds-listing-card h3 a:hover{
  color:var(--nkds-accent);
}
.nkds-v490 .nkds-listing-type,
.nkds-v490 .nkds-listing-location{
  margin:0 0 6px;
  color:var(--nkds-muted);
  font-size:.84rem;
  line-height:1.35;
  font-weight:650;
}
.nkds-v490 .nkds-listing-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:auto;
  padding-top:12px;
}
.nkds-v490 .nkds-listing-actions a{
  display:inline-flex;
  min-height:32px;
  align-items:center;
  justify-content:center;
  border:1px solid #d7e4f2;
  border-radius:10px;
  background:#f8fafc;
  color:var(--nkds-accent);
  padding:6px 9px;
  font-size:.78rem;
  font-weight:800;
  text-decoration:none;
}
.nkds-v490 .nkds-listing-actions a:last-child{
  background:var(--nkds-accent);
  border-color:var(--nkds-accent);
  color:#fff;
}
@media (max-width:1020px){
  .nkds-v490 .nkds-listing-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:700px){
  .nkds-v490 .nkds-listing-grid{grid-template-columns:1fr;}
  .nkds-v490 .nkds-listing-card{grid-template-columns:92px minmax(0,1fr);}
  .nkds-v490 .nkds-listing-media{min-height:150px;}
  .nkds-v490 .nkds-listing-body{padding:15px;}
}
@media (max-width:420px){
  .nkds-v490 .nkds-listing-card{grid-template-columns:1fr;}
  .nkds-v490 .nkds-listing-media{min-height:132px;}
  .nkds-v490 .nkds-listing-body{padding:16px;}
  .nkds-v490 .nkds-listing-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
  .nkds-v490 .nkds-listing-actions a:last-child{grid-column:1/-1;}
}
