/* TLC Projects & News – colours match the TLC hero */
.tlc-pn,.tlc-pn-facts,.tlc-pn-meta,.tlc-pn-btnwrap{--pn-green:#3f8f2f;--pn-gold:#f5a623;--pn-dark:#14230f;--pn-text:#4a5a42;font-family:var(--tlc-font,'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif)}
.tlc-pn{--pn-cols:3;box-sizing:border-box;width:100%;max-width:1320px;margin:0 auto;padding:clamp(8px,2vw,24px) clamp(14px,3vw,24px);color:var(--pn-dark);line-height:1.5}
.tlc-pn *,.tlc-pn *::before,.tlc-pn *::after{box-sizing:border-box}

/* search + filter bar */
.tlc-pn__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;margin-bottom:clamp(20px,3vw,32px)}
.tlc-pn__search{display:flex;align-items:center;gap:10px;flex:1 1 clamp(220px,32vw,420px);min-width:0;width:100%;max-width:420px;height:clamp(44px,5vw,50px);padding:0 clamp(14px,2vw,18px);border-radius:999px;background:#fff;border:1.5px solid color-mix(in srgb,var(--pn-green) 28%,transparent);color:var(--pn-green);transition:border-color .2s,box-shadow .2s}
.tlc-pn__search svg{flex:none}
.tlc-pn__search:focus-within{border-color:var(--pn-green);box-shadow:0 0 0 4px color-mix(in srgb,var(--pn-green) 15%,transparent)}
.tlc-pn .tlc-pn__search input[type=search]{flex:1 1 auto;min-width:0;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;outline:0;box-shadow:none;-webkit-appearance:none;appearance:none;font:inherit;font-size:16px;line-height:1.2;color:var(--pn-dark)}
.tlc-pn .tlc-pn__search input[type=search]::placeholder{color:color-mix(in srgb,var(--pn-text) 70%,transparent);opacity:1}
.tlc-pn .tlc-pn__search input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;width:18px;height:18px;cursor:pointer;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233f8f2f' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center/contain no-repeat}
.tlc-pn__pills{display:flex;flex-wrap:wrap;gap:8px}
.tlc-pn__pills button{border:1.5px solid color-mix(in srgb,var(--pn-green) 30%,transparent);background:#fff;color:var(--pn-dark);font:inherit;font-size:14px;font-weight:700;padding:9px 18px;border-radius:999px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.tlc-pn__pills button:hover{border-color:var(--pn-green);color:var(--pn-green)}
.tlc-pn__pills button.on{background:var(--pn-green);border-color:var(--pn-green);color:#fff}
.tlc-pn button:focus-visible,.tlc-pn a:focus-visible{outline:3px solid var(--pn-gold);outline-offset:2px}

/* cards */
.tlc-pn__grid{display:grid;grid-template-columns:repeat(var(--pn-cols),minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.tlc-pn__card{display:flex;flex-direction:column;background:#fff;border:1px solid color-mix(in srgb,var(--pn-green) 14%,transparent);border-radius:22px;overflow:hidden;box-shadow:0 14px 34px -24px color-mix(in srgb,var(--pn-dark) 55%,transparent);transition:transform .3s,box-shadow .3s;animation:tlc-pn-rise .5s both}
.tlc-pn__card[hidden]{display:none}
.tlc-pn__card:hover{transform:translateY(-6px);box-shadow:0 26px 44px -26px color-mix(in srgb,var(--pn-dark) 60%,transparent)}
.tlc-pn__media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(145deg,var(--pn-green),var(--pn-dark));text-decoration:none;box-shadow:none}
.tlc-pn .tlc-pn__img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;display:block;transition:transform .6s}
.tlc-pn__card:hover .tlc-pn__img{transform:scale(1.06)}
.tlc-pn__ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:rgba(255,255,255,.85)}
.tlc-pn__ph svg{width:46px;height:46px;opacity:.55}
.tlc-pn__ph b{font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.tlc-pn__badge{display:inline-block;padding:5px 12px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:#fff;color:var(--pn-dark)}
.tlc-pn__media .tlc-pn__badge{position:absolute;left:14px;top:14px;box-shadow:0 6px 14px -6px rgba(0,0,0,.5)}
.tlc-pn__badge--ongoing{background:var(--pn-green);color:#fff}
.tlc-pn__badge--completed{background:#e7ecdf;color:var(--pn-dark)}
.tlc-pn__badge--upcoming{background:var(--pn-gold);color:var(--pn-dark)}
.tlc-pn__date{position:absolute;left:14px;top:14px;display:flex;flex-direction:column;align-items:center;min-width:54px;padding:6px 10px;border-radius:14px;background:#fff;color:var(--pn-dark);font-size:11px;font-weight:700;text-transform:uppercase;line-height:1.1;box-shadow:0 6px 14px -6px rgba(0,0,0,.5)}
.tlc-pn__date b{font-size:22px;font-weight:800;color:var(--pn-green)}
.tlc-pn__body{display:flex;flex-direction:column;gap:12px;flex:1;padding:clamp(18px,2vw,24px)}
.tlc-pn__chips{display:flex;flex-wrap:wrap;gap:6px}
.tlc-pn__chip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--pn-green);background:color-mix(in srgb,var(--pn-green) 12%,#fff)}
.tlc-pn__chip--gold{color:var(--pn-dark);background:color-mix(in srgb,var(--pn-gold) 30%,#fff)}
.tlc-pn .tlc-pn__title{margin:0;font-family:inherit;font-size:clamp(18px,1.6vw,21px);line-height:1.25;font-weight:800;color:var(--pn-dark);text-transform:none}
.tlc-pn__title a{color:inherit;text-decoration:none;box-shadow:none}
.tlc-pn__title a:hover{color:var(--pn-green)}
.tlc-pn .tlc-pn__text{margin:0;font-size:15px;color:var(--pn-text)}
.tlc-pn__facts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--pn-text)}
.tlc-pn__facts li{display:flex;align-items:flex-start;gap:8px;margin:0;padding:0;list-style:none}
.tlc-pn__facts svg{flex:none;width:16px;height:16px;color:var(--pn-green);margin-top:2px}
.tlc-pn__more-link{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:4px;font-size:14px;font-weight:800;color:var(--pn-green);text-decoration:none;box-shadow:none}
.tlc-pn__more-link svg{width:16px;height:16px;transition:transform .2s}
.tlc-pn__more-link:hover svg{transform:translateX(4px)}
.tlc-pn__none{text-align:center;padding:40px 0;color:var(--pn-text);font-weight:600}
.tlc-pn__morewrap{display:flex;justify-content:center;margin-top:clamp(24px,3vw,40px)}
.tlc-pn__morewrap[hidden]{display:none}
.tlc-pn__morebtn{border:2px solid var(--pn-green);background:transparent;color:var(--pn-green);font:inherit;font-size:15px;font-weight:800;padding:13px 32px;border-radius:999px;cursor:pointer;transition:background .2s,color .2s}
.tlc-pn__morebtn:hover{background:var(--pn-green);color:#fff}

/* single project / update pages */
.tlc-pn-facts{box-sizing:border-box;margin:0 0 28px;padding:clamp(18px,2.4vw,28px);border-radius:22px;background:linear-gradient(160deg,color-mix(in srgb,var(--pn-green) 8%,#fff),#fff);border:1px solid color-mix(in srgb,var(--pn-green) 20%,transparent);color:var(--pn-dark)}
.tlc-pn-facts__top{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.tlc-pn-facts dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px 28px;margin:0}
.tlc-pn-facts dl>div{margin:0}
.tlc-pn-facts dt{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--pn-green)}
.tlc-pn-facts dt svg{width:16px;height:16px}
.tlc-pn-facts dd{margin:0;font-size:15px;font-weight:600;line-height:1.5}
.tlc-pn-meta{margin:0 0 18px;font-size:14px;font-weight:700;color:var(--pn-text)}
.tlc-pn-btnwrap{margin:28px 0 0}
.tlc-pn-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:999px;background:var(--pn-green);color:#fff;font-size:15px;font-weight:800;text-decoration:none;box-shadow:none;transition:background .2s,transform .2s}
.tlc-pn-btn:hover{background:color-mix(in srgb,var(--pn-green) 85%,#000);transform:translateY(-2px);color:#fff}
.tlc-pn-btn svg{width:16px;height:16px}

@keyframes tlc-pn-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media (max-width:1024px){.tlc-pn__grid{grid-template-columns:repeat(min(var(--pn-cols),2),minmax(0,1fr))}}
@media (max-width:900px){
  .tlc-pn__search{flex:1 1 100%;max-width:none}
  .tlc-pn__pills{width:100%}
}
@media (max-width:640px){
  .tlc-pn__grid{grid-template-columns:minmax(0,1fr)}
  .tlc-pn__bar{flex-direction:column;align-items:stretch}
  .tlc-pn__search{max-width:none}
  .tlc-pn__pills{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
  .tlc-pn__pills::-webkit-scrollbar{display:none}
  .tlc-pn__pills button{flex:none}
}
@media (prefers-reduced-motion:reduce){
  .tlc-pn__card,.tlc-pn .tlc-pn__img,.tlc-pn__card:hover{animation:none;transition:none;transform:none}
}
