/* /land-banks/ — 31 parcels, searchable, with the detail in a panel built for reading. */

.lb{--navy:#06203F;--blue:#0B4EA2;--green:#0E8A45;--mint:#7EDDA4;--ink:#06203F;
  --line:#D7DEE8;--muted:#5A6B80;--tint:#F4F7FB;--ease:cubic-bezier(.22,.61,.36,1);
  font-family:'Manrope',system-ui,sans-serif;color:var(--ink)}
.lb *,.lb *::before,.lb *::after{box-sizing:border-box}
.lb-wrap{max-width:1180px;margin:0 auto;padding:0 24px}

/* the theme's gutter and the strip under the header, same as the sectors page */
body.tgn-landbanks .container-fluid{padding-left:0!important;padding-right:0!important}
body.tgn-landbanks .row{margin-left:0!important;margin-right:0!important}
body.tgn-landbanks .jupiterx-primary{padding-left:0!important;padding-right:0!important}
body.tgn-landbanks .jupiterx-main{padding-top:0!important;padding-bottom:0!important}
body.tgn-landbanks .jupiterx-primary,
body.tgn-landbanks .jupiterx-content,
body.tgn-landbanks article.jupiterx-post,
body.tgn-landbanks .jupiterx-post-body,
body.tgn-landbanks .jupiterx-post-content{margin-top:0!important;padding-top:0!important;
  border-top:0!important}
body.tgn-landbanks .jupiterx-post-header{display:none!important}

.lb-eyebrow,.lb-tag{display:inline-block;margin:0 0 16px;padding:7px 13px 6px;font-size:11px;
  font-weight:800;letter-spacing:2.4px;text-transform:uppercase}
.lb-eyebrow{border:1px solid rgba(126,221,164,.40);background:rgba(126,221,164,.07);color:var(--mint)}
.lb-tag{border:1px solid rgba(11,78,162,.26);background:rgba(11,78,162,.05);color:var(--blue)}
.lb-h2{margin:0;font-size:clamp(27px,3.4vw,42px);line-height:1.14;font-weight:800;
  letter-spacing:-.02em;padding-block:.14em;margin-block:-.14em 0}
.lb-h2 em{font-family:'Newsreader',Georgia,serif;font-style:italic;font-weight:500;color:var(--blue)}
.lb-lede{margin:18px 0 0;max-width:66ch;font-size:clamp(15.5px,1.5vw,17.5px);line-height:1.72;color:#2B3A4D}
.lb-head{margin-bottom:clamp(26px,3vw,38px)}

/* --------------------------------------------------------------------- hero */
.lb-hero{position:relative;overflow:hidden;color:#fff;
  padding:clamp(56px,7vw,96px) 0 clamp(48px,6vw,80px);
  background:linear-gradient(135deg,#06203F 0%,#0B4EA2 58%,#106B62 130%)}
.lb-hero__bg{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 82% 12%,rgba(126,221,164,.24),transparent 56%),
             radial-gradient(circle at 8% 88%,rgba(11,78,162,.5),transparent 60%)}
.lb-hero .lb-wrap{position:relative;z-index:1}
.lb-hero__title{margin:0;font-size:clamp(32px,5vw,60px);line-height:1.07;font-weight:800;
  letter-spacing:-.03em;color:#fff;overflow:hidden;padding-block:.2em;margin-block:calc(14px - .2em) 0}
.lb-hero__title span{display:block;transform:translateY(110%);animation:lbUp .9s var(--ease) .1s forwards}
@keyframes lbUp{to{transform:none}}
.lb-hero__sub{margin:20px 0 0;max-width:62ch;font-size:clamp(15.5px,1.6vw,18px);line-height:1.72;
  color:rgba(255,255,255,.84)}
.lb-hero__kpis{list-style:none;display:grid;gap:1px;margin:clamp(32px,4vw,48px) 0 0;padding:0;
  grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.16)}
.lb-hero__kpis li{display:flex;flex-direction:column;gap:5px;padding:18px 20px;
  background:linear-gradient(135deg,rgba(6,32,63,.34),rgba(11,78,162,.14))}
.lb-hero__kpis b{font-size:clamp(21px,2.5vw,30px);font-weight:800;letter-spacing:-.02em;color:#fff}
.lb-hero__kpis span{font-size:12.2px;line-height:1.45;color:rgba(255,255,255,.72)}

/* ----------------------------------------------------------------- sections */
.lb-sect{padding:clamp(52px,6vw,88px) 0}
.lb-sect--tint{background:var(--tint);border-block:1px solid var(--line)}

/* ---------------------------------------------------------------- filters */
.lb-filters{margin-bottom:clamp(22px,2.6vw,32px)}
.lb-search{position:relative;display:block;max-width:440px}
.lb-search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:17px;height:17px;
  fill:none;stroke:var(--muted);stroke-width:1.8;stroke-linecap:round}
.lb-search input{width:100%;padding:13px 16px 13px 42px;border:1px solid var(--line);background:#fff;
  font-family:inherit;font-size:14.5px;color:var(--ink);border-radius:0;
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}
.lb-search input:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(11,78,162,.12)}
.lb-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.lb-chip{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border:1px solid var(--line);
  background:#fff;cursor:pointer;font-family:inherit;font-size:13px;font-weight:700;color:var(--muted);
  transition:border-color .22s var(--ease),color .22s var(--ease),background .22s var(--ease)}
.lb-chip i{font-style:normal;font-size:11px;font-weight:800;padding:2px 6px;background:var(--tint);
  color:var(--muted);transition:background .22s var(--ease),color .22s var(--ease)}
.lb-chip:hover{border-color:var(--blue);color:var(--blue)}
.lb-chip.is-on{background:var(--blue);border-color:var(--blue);color:#fff}
.lb-chip.is-on i{background:rgba(255,255,255,.2);color:#fff}
.lb-chip:focus{outline:none}
.lb-chip:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.lb-count{margin:16px 0 0;font-size:12.5px;font-weight:700;letter-spacing:1.2px;
  text-transform:uppercase;color:var(--muted)}

/* ------------------------------------------------------------------- cards */
.lb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}
.lb-card[hidden]{display:none}
.lb-card{opacity:0;transform:translateY(14px);
  transition:opacity .5s var(--ease) calc(var(--i) * 45ms),transform .5s var(--ease) calc(var(--i) * 45ms)}
.lb-sect.is-in .lb-card{opacity:1;transform:none}
.lb-card__hit{display:flex;flex-direction:column;align-items:flex-start;gap:0;width:100%;height:100%;
  padding:22px 22px 20px;background:#fff;border:1px solid var(--line);cursor:pointer;text-align:left;
  font-family:inherit;
  transition:border-color .28s var(--ease),box-shadow .28s var(--ease),transform .28s var(--ease)}
.lb-card__hit:hover{border-color:#B9C8DC;box-shadow:0 26px 50px -34px rgba(6,32,63,.55);
  transform:translateY(-3px)}
.lb-card__hit:focus{outline:none}
.lb-card__hit:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px rgba(11,78,162,.18)}

.lb-card__top{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}
.lb-card__sector{font-size:10px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;
  color:var(--blue);background:rgba(11,78,162,.07);border:1px solid rgba(11,78,162,.18);
  padding:4px 8px 3px}
.lb-card__district{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;
  color:var(--muted)}
.lb-card__district svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7}
.lb-card__name{margin:14px 0 0;font-size:18px;font-weight:800;letter-spacing:-.01em;line-height:1.3}
.lb-card__acres{display:flex;align-items:baseline;gap:6px;margin-top:10px}
.lb-card__acres b{font-size:27px;font-weight:800;letter-spacing:-.03em;color:var(--blue);line-height:1}
.lb-card__acres i{font-style:normal;font-size:11.5px;font-weight:700;color:var(--muted)}
.lb-card__meta{display:grid;gap:7px;margin-top:14px;width:100%}
.lb-card__meta span{display:flex;align-items:flex-start;gap:8px;font-size:12.6px;line-height:1.45;
  color:var(--muted)}
.lb-card__meta svg{flex:none;width:14px;height:14px;margin-top:1px;fill:none;stroke:var(--blue);
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.lb-card__cats{display:flex;flex-wrap:wrap;gap:5px;margin-top:14px}
.lb-cat{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;
  padding:3px 8px;border:1px solid}
.lb-cat--white{color:var(--muted);border-color:var(--line);background:#fff}
.lb-cat--green{color:var(--green);border-color:rgba(14,138,69,.32);background:rgba(14,138,69,.07)}
.lb-cat--orange{color:var(--navy);border-color:rgba(6,32,63,.24);background:rgba(6,32,63,.06)}
.lb-cat--red{color:#B0342C;border-color:rgba(176,52,44,.3);background:rgba(176,52,44,.06)}
.lb-card__more{display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding-top:16px;
  font-size:12.4px;font-weight:800;letter-spacing:.4px;color:var(--blue)}
.lb-card__more svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;transition:transform .28s var(--ease)}
.lb-card__hit:hover .lb-card__more svg{transform:translateX(4px)}
.lb-empty{margin:28px 0 0;font-size:15px;color:var(--muted)}

/* ------------------------------------------------------------------- steps */
.lb-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.lb-step{position:relative;padding:26px 24px 28px;background:#fff;border:1px solid var(--line);
  opacity:0;transform:translateY(14px);
  transition:opacity .55s var(--ease) calc(var(--i) * 110ms),transform .55s var(--ease) calc(var(--i) * 110ms)}
.lb-sect.is-in .lb-step{opacity:1;transform:none}
.lb-step__n{position:absolute;top:14px;right:18px;font-size:44px;font-weight:800;letter-spacing:-.04em;
  color:rgba(6,32,63,.07);line-height:1}
.lb-step h3{margin:0 0 9px;font-size:17.5px;font-weight:800;letter-spacing:-.01em}
.lb-step p{margin:0;font-size:13.8px;line-height:1.68;color:var(--muted)}

/* --------------------------------------------------------------------- cta */
.lb-cta{position:relative;overflow:hidden;color:#fff;text-align:center;padding:clamp(50px,5.6vw,80px) 0;
  background:linear-gradient(135deg,#06203F 0%,#0B4EA2 62%,#106B62 130%)}
.lb-cta::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 78% 14%,rgba(126,221,164,.24),transparent 58%)}
.lb-cta .lb-wrap{position:relative;z-index:1}
.lb-cta__title{margin:0;font-size:clamp(25px,3.2vw,40px);font-weight:800;letter-spacing:-.02em;
  line-height:1.18;color:#fff;padding-block:.1em}
.lb-cta__title em{font-family:'Newsreader',Georgia,serif;font-style:italic;font-weight:500;color:var(--mint)}
.lb-cta__sub{margin:14px auto 0;max-width:56ch;font-size:15.5px;line-height:1.7;color:rgba(255,255,255,.82)}
.lb-cta__row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:26px}
.lb-btn{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;font-size:14.5px;
  font-weight:800;text-decoration:none;border:0;cursor:pointer;font-family:inherit;
  transition:background .26s var(--ease),transform .26s var(--ease),color .26s var(--ease)}
.lb-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;
  stroke-linejoin:round}
.lb-btn--primary{background:var(--green);color:#fff}
.lb-btn--primary:hover{background:#0A6B35;transform:translateY(-2px);color:#fff}
.lb-btn--ghost{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.34);color:#fff}
.lb-btn--ghost:hover{background:rgba(255,255,255,.18);transform:translateY(-2px);color:#fff}

/* ------------------------------------------------------------------- modal */
.lb-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;
  padding:24px}
.lb-modal[hidden]{display:none}
.lb-modal__scrim{position:absolute;inset:0;background:rgba(6,32,63,.62);backdrop-filter:blur(3px);
  opacity:0;transition:opacity .32s var(--ease)}
.lb-modal.is-open .lb-modal__scrim{opacity:1}
.lb-modal__dialog{position:relative;width:min(620px,100%);max-height:88vh;overflow-y:auto;
  background:#fff;box-shadow:0 40px 90px -30px rgba(6,32,63,.6);
  opacity:0;transform:translateY(22px) scale(.985);
  transition:opacity .36s var(--ease),transform .36s var(--ease)}
.lb-modal.is-open .lb-modal__dialog{opacity:1;transform:none}
.lb-modal__x{position:absolute;top:14px;right:14px;z-index:3;display:grid;place-items:center;
  width:36px;height:36px;padding:0;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);
  color:#fff;cursor:pointer;transition:background .22s var(--ease),transform .22s var(--ease)}
.lb-modal__x:hover{background:rgba(255,255,255,.3);transform:rotate(90deg)}
.lb-modal__x svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}

.lb-detail[hidden]{display:none}
.lb-detail__head{position:relative;padding:28px 30px 24px;color:#fff;
  background:linear-gradient(135deg,#06203F 0%,#0B4EA2 70%,#106B62 140%)}
.lb-detail__sector{margin:0 0 10px;font-size:10.5px;font-weight:800;letter-spacing:2.2px;
  text-transform:uppercase;color:var(--mint)}
.lb-detail__name{margin:0;font-size:clamp(22px,2.8vw,30px);font-weight:800;letter-spacing:-.02em;
  line-height:1.2;color:#fff;padding-block:.06em}
.lb-detail__where{display:flex;align-items:center;gap:7px;margin:10px 0 0;font-size:13.4px;
  color:rgba(255,255,255,.82)}
.lb-detail__where svg{width:15px;height:15px;fill:none;stroke:var(--mint);stroke-width:1.7}

.lb-detail__hero{display:flex;align-items:baseline;gap:10px;padding:22px 30px;
  border-bottom:1px solid var(--line);background:var(--tint)}
.lb-detail__hero b{font-size:clamp(34px,4.6vw,46px);font-weight:800;letter-spacing:-.04em;
  line-height:1;color:var(--blue)}
.lb-detail__hero span{font-size:13px;font-weight:700;color:var(--muted)}

.lb-spec{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0;padding:0;background:var(--line)}
.lb-spec > div{padding:16px 20px;background:#fff}
.lb-spec dt{margin:0 0 5px;font-size:10.5px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--muted)}
.lb-spec dd{margin:0;font-size:14.2px;line-height:1.5;font-weight:700;color:var(--ink)}

.lb-detail__allow{padding:22px 30px 24px;border-top:1px solid var(--line)}
.lb-detail__allow h4{margin:0 0 9px;font-size:10.5px;font-weight:800;letter-spacing:1.4px;
  text-transform:uppercase;color:var(--muted)}
.lb-detail__allowtext{margin:0;font-size:14.6px;line-height:1.6;font-weight:700;color:var(--ink)}
.lb-detail__cats{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.lb-detail__note{margin:12px 0 0;font-size:11.8px;line-height:1.5;color:var(--muted)}
.lb-detail__cta{padding:0 30px 28px}
.lb-detail__cta .lb-btn{width:100%;justify-content:center}

/* ------------------------------------------------------------- responsive */
@media (max-width:760px){
  .lb-hero__kpis{grid-template-columns:repeat(2,1fr)}
  .lb-spec{grid-template-columns:1fr}
  .lb-modal{padding:0}
  .lb-modal__dialog{width:100%;max-height:100vh;height:100%}
}
@media (max-width:420px){
  .lb-hero__kpis{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .lb-hero__title span{transform:none;animation:none}
  .lb-card,.lb-step,.lb-modal__scrim,.lb-modal__dialog{transition:none!important}
}
