/* Job Stories – public styles. Brand color comes from --jst-accent. */
.jst,.jst-single,.jst-nearby{--jst-accent:#1f6feb;--jst-ink:#16181d;--jst-muted:#5f6670;--jst-line:#e3e5e8;--jst-soft:#f2f3f5;--jst-star:#f5a524;color:var(--jst-ink);font-size:16px;line-height:1.5}
.jst *,.jst-single *,.jst-nearby *{box-sizing:border-box}
.jst-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.jst-heading{font-size:clamp(26px,4vw,44px);line-height:1.1;font-weight:800;text-align:center;margin:0 0 22px;letter-spacing:-.01em}
.jst .jst-heading{color:inherit}

/* Bar */
.jst-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.jst-search{flex:1 1 320px;margin:0}
.jst-search input{width:100%;height:52px;border:0;border-radius:12px;background:var(--jst-soft);padding:0 18px;font-size:17px;color:var(--jst-ink);font-family:inherit}
.jst-search input:focus{outline:3px solid color-mix(in srgb,var(--jst-accent) 40%,transparent)}
.jst-badge{display:inline-flex;align-items:center;gap:8px;height:52px;padding:0 18px;border:1px solid var(--jst-line);border-radius:999px;color:var(--jst-ink);text-decoration:none;background:#fff;white-space:nowrap}
a.jst-badge:hover{border-color:var(--jst-muted)}
.jst-badge-num{font-weight:700;font-size:18px}
.jst-badge-count{color:var(--jst-muted)}
.jst-badge-src{color:var(--jst-muted);font-size:13px}
.jst-btn{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 26px;border-radius:999px;background:var(--jst-accent);color:#fff!important;font-weight:700;font-size:17px;text-decoration:none!important;white-space:nowrap;border:2px solid var(--jst-accent)}
.jst-btn:hover{filter:brightness(1.08)}
.jst-btn-ghost{background:transparent;color:var(--jst-accent)!important}
.jst-status{margin:0 0 12px;padding:10px 14px;border-radius:10px;background:color-mix(in srgb,var(--jst-accent) 8%,#fff);font-size:15px}
.jst-status[hidden]{display:none}
.jst-clear{border:0;background:none;color:var(--jst-accent);font-weight:700;cursor:pointer;padding:0;text-decoration:underline;font:inherit}

/* Stars */
.jst-stars{position:relative;display:inline-block;color:#d7dade;letter-spacing:1px;line-height:1;font-size:17px;white-space:nowrap}
.jst-stars-on{position:absolute;left:0;top:0;overflow:hidden;color:var(--jst-star)}

/* Layout */
.jst-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,40%);gap:24px;align-items:start}
.jst-nomap .jst-body{grid-template-columns:1fr}
.jst-list{position:relative;max-height:780px;overflow-y:auto;padding-right:8px;scrollbar-width:thin}
.jst-nomap .jst-list{max-height:none;overflow:visible}
.jst-mapwrap{position:sticky;top:16px}
.jst-map{height:780px;border-radius:14px;overflow:hidden;background:#e9edf0;z-index:0}
.jst-empty{padding:30px;text-align:center;color:var(--jst-muted);background:var(--jst-soft);border-radius:12px}

/* Card */
.jst-card{padding:22px 0;border-bottom:1px solid var(--jst-line);transition:background .2s}
.jst-card:first-child{padding-top:4px}
.jst-card[hidden]{display:none}
.jst-card.is-hot{background:color-mix(in srgb,var(--jst-accent) 6%,#fff);border-radius:12px}
.jst-card-photos{display:grid;gap:6px;margin-bottom:14px;border-radius:12px;overflow:hidden}
.jst-card-photos.n1{grid-template-columns:1fr}
.jst-card-photos.n2{grid-template-columns:1fr 1fr}
.jst-card-photos.n3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}
.jst-card-photos.n3 img:first-child{grid-row:span 2}
.jst-card-photos img{width:100%;height:100%;min-height:110px;max-height:300px;object-fit:cover;display:block;margin:0}
.jst-card-photos.n1 img{max-height:340px}
.jst-card-title{font-size:20px;line-height:1.25;margin:0 0 4px;font-weight:700}
.jst-card-title a{color:inherit;text-decoration:none}
.jst-card-title a:hover{text-decoration:underline}
.jst-meta{color:var(--jst-muted);font-size:14px;margin-bottom:8px}
.jst-story{margin:0 0 12px;font-size:16px}
.jst-showmore{display:block;width:100%;margin:18px 0 6px;padding:14px;border:1px solid var(--jst-line);border-radius:12px;background:#fff;font-weight:700;font-size:16px;cursor:pointer;color:var(--jst-ink);font-family:inherit}
.jst-showmore[hidden]{display:none}
.jst-showmore:hover{border-color:var(--jst-muted)}

/* Review */
.jst-review{margin-top:12px}
.jst-rv-head{display:flex;gap:12px;align-items:center;margin-bottom:8px}
.jst-avatar{flex:0 0 44px;width:44px;height:44px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px}
.jst-rv-name{display:block;font-size:16px}
.jst-rv-sub{display:flex;gap:4px 10px;align-items:center;flex-wrap:wrap}
.jst-rv-date,.jst-rv-src{color:var(--jst-muted);font-size:14px}

.jst-rv-text{margin:0 0 10px}
.jst-reply{border-left:3px solid var(--jst-line);padding:2px 0 2px 14px;margin-top:8px}
.jst-reply strong{margin-right:8px}
.jst-reply p{margin:4px 0 0;color:#30343a}

/* Map pins */
.jst-pin span{display:block;width:22px;height:22px;border-radius:50%;background:var(--jst-accent,#1f6feb);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35);transition:transform .15s}
.jst-pin.is-hot span{transform:scale(1.35)}
.jst-cluster span{display:inline-block;min-width:40px;padding:5px 10px;border-radius:999px;background:#fff;color:#111;font-weight:700;font-size:14px;text-align:center;box-shadow:0 1px 5px rgba(0,0,0,.3);white-space:nowrap}
.jst .leaflet-container,.jst-single .leaflet-container{font:inherit}
.jst-pop{display:flex;gap:10px;align-items:center;min-width:200px}
.jst-pop img{width:56px;height:56px;object-fit:cover;border-radius:6px;margin:0}
.jst-pop a{display:block;font-weight:700;color:var(--jst-ink,#16181d);text-decoration:none;line-height:1.25}
.jst-pop span{display:block;color:#5f6670;font-size:13px;margin-top:2px}

/* Single job */
.jst-single-meta{font-size:15px;margin-bottom:14px}
.jst-gallery{display:grid;gap:8px;margin:0 0 22px;border-radius:14px;overflow:hidden}
.jst-gallery.n1{grid-template-columns:1fr}
.jst-gallery.n2{grid-template-columns:1fr 1fr}
.jst-gallery.n3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}
.jst-gallery.n3 a:first-child{grid-row:span 2}
.jst-gallery.n4{grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr}
.jst-gallery.n4 a:first-child{grid-row:span 2}
.jst-gallery.n4 a:nth-child(n+5){display:none}
.jst-gallery{grid-auto-rows:minmax(0,1fr)}
.jst-gallery.n1,.jst-gallery.n2{grid-template-rows:440px}
.jst-gallery.n3,.jst-gallery.n4{grid-template-rows:240px 240px}
.jst-gallery a{display:block;min-height:0;overflow:hidden}
.jst-gallery img{width:100%;height:100%;object-fit:cover;display:block;margin:0}
.jst-single-story{font-size:17px;margin-bottom:10px}
.jst-single .jst-review{background:var(--jst-soft);border-radius:14px;padding:18px 20px;margin:20px 0}
.jst-single-map{margin:24px 0}
.jst-single-map .jst-map{height:300px}
.jst-map-note{font-size:13px;color:var(--jst-muted);margin:6px 0 0}
.jst-cta{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:20px 22px;border-radius:14px;background:color-mix(in srgb,var(--jst-accent) 9%,#fff);margin:24px 0}
.jst-cta strong{display:block;font-size:20px}
.jst-cta span{color:var(--jst-muted)}
.jst-cta-btns{display:flex;gap:10px;flex-wrap:wrap}

/* Nearby strip */
.jst-nearby{margin:30px 0}
.jst-nearby .jst-heading{font-size:clamp(22px,3vw,30px);text-align:left;margin-bottom:14px}
.jst-nearby-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.jst-mini{display:flex;flex-direction:column;border:1px solid var(--jst-line);border-radius:14px;overflow:hidden;color:var(--jst-ink)!important;text-decoration:none!important;background:#fff;transition:box-shadow .15s}
.jst-mini:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}
.jst-mini img{width:100%;height:170px;object-fit:cover;display:block;margin:0}
.jst-mini-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:2px}
.jst-mini-body strong{font-size:16px;line-height:1.3}
.jst-mini .jst-meta{margin:0}
.jst-nearby-link{margin-top:12px}
.jst-nearby-link a{color:var(--jst-accent);font-weight:700}

/* Archive page */
.jst-archive-inner{max-width:1240px;margin:0 auto;padding:30px 16px}

/* Phones & tablets */
@media (max-width:860px){
  .jst-body{grid-template-columns:1fr}
  .jst-mapwrap{position:relative;top:0;order:-1}
  .jst-map{height:320px}
  .jst-gallery.n1,.jst-gallery.n2{grid-template-rows:260px}
  .jst-gallery.n3,.jst-gallery.n4{grid-template-rows:140px 140px}
  .jst-gallery.n4{grid-template-columns:2fr 1fr}
  .jst-gallery.n4 a:nth-child(n+4){display:none}
  .jst-list{max-height:none;overflow:visible;padding-right:0}
  .jst-bar{gap:10px}
  .jst-search{flex-basis:100%}
  .jst-badge,.jst-bar .jst-btn{flex:1 1 auto;justify-content:center}
}
@media (max-width:420px){
  .jst-badge-src{display:none}
  .jst-btn{padding:0 18px}
}
