/* ==========================================================================
   TMSS — v2 additions (loaded after glossy.css):
   plain hero text, top-bar login, floating member cards, hub cards,
   4-column gallery with centred headline bar, centred "Read more".
   ========================================================================== */

/* Hero: text and buttons directly over the photo (no blurred box) */
.hero-text{max-width:780px;}
.hero-content h1{text-shadow:0 4px 30px rgba(0,0,0,.45);}
.hero-content p{text-shadow:0 2px 14px rgba(0,0,0,.5);max-width:620px;}
.hero::after{background:
  linear-gradient(90deg,rgba(var(--d-rgb),.78) 0%,rgba(var(--d-rgb),.35) 55%,rgba(var(--d-rgb),.1) 100%),
  linear-gradient(180deg,rgba(0,0,0,.15) 0%,transparent 40%,rgba(var(--d-rgb),.7) 100%);}

/* Top bar: phone · Facebook · YouTube · Login */
.topbar .tb-phone a{display:inline-flex;align-items:center;gap:8px;opacity:1;font-weight:700;}
.topbar .tb-phone a:hover{text-decoration:none;color:#fff;}
.tb-right{display:flex;align-items:center;gap:14px;}
.tb-login{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;border-radius:999px;font-weight:700;font-size:.7rem;line-height:1.6;color:#fff;
  background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.3);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35);transition:background .25s ease,color .25s ease,transform .25s ease;}
.tb-login:hover{background:#fff;color:var(--green-800);transform:translateY(-1px);}
@media (max-width:860px){.topbar .container{flex-direction:row;justify-content:space-between;}.topbar .tb-phone{font-size:.8rem;}}
@media (max-width:380px){.tb-login span{display:none;}.topbar .tb-social a{width:26px;height:26px;}}

/* ---------- Floating member cards ---------- */
.team-section{margin:30px 0 10px;}
.team-group + .team-group{margin-top:46px;}
.team-heading{text-align:center;margin:0 0 30px;font-size:1.2rem;}
.team-heading span{display:inline-flex;align-items:center;gap:10px;padding:10px 26px;border-radius:999px;color:#fff;
  background:linear-gradient(180deg,var(--green-600),var(--green-800));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 12px 28px -12px rgba(var(--p-rgb),.8);}
.team-group.is-contact .team-heading span{background:linear-gradient(180deg,var(--teal-500),var(--teal-700));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 12px 28px -12px rgba(var(--a-rgb),.8);}
.float-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,270px));gap:40px 28px;justify-content:center;padding:6px 0 24px;}
.float-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 22px 24px;border-radius:26px;
  background:linear-gradient(160deg,rgba(255,255,255,.98),rgba(255,255,255,.88));border:1px solid var(--line);
  box-shadow:inset 0 1px 0 #fff,0 2px 6px rgba(var(--d-rgb),.06),0 10px 24px -16px rgba(var(--d-rgb),.25);
  transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out),border-color .3s ease;}
.float-card::before{content:"";position:absolute;inset:0 0 auto 0;height:100px;border-radius:26px 26px 50% 50% / 26px 26px 34px 34px;
  background:linear-gradient(135deg,rgba(var(--p-rgb),.14),rgba(var(--a-rgb),.10));pointer-events:none;}
/* Soft ground shadow that only appears while the card is lifted */
.float-card::after{content:"";position:absolute;left:16%;right:16%;bottom:-26px;height:16px;border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(var(--d-rgb),.28),transparent 70%);filter:blur(3px);
  opacity:0;transform:scale(.7);transition:opacity .45s var(--ease-out),transform .45s var(--ease-out);pointer-events:none;}
.float-card:hover{transform:translateY(-12px);border-color:rgba(var(--p-rgb),.25);
  box-shadow:inset 0 1px 0 #fff,0 30px 60px -18px rgba(var(--d-rgb),.38),0 50px 90px -40px rgba(var(--p-rgb),.5);}
.float-card:hover::after{opacity:1;transform:scale(1);}
.float-card:hover .fc-photo{transform:scale(1.04);}
.fc-photo{transition:transform .45s var(--ease-out);}
.fc-photo{position:relative;width:132px;height:132px;border-radius:50%;padding:5px;margin-bottom:16px;flex:none;
  background:conic-gradient(from 210deg,var(--green-600),var(--teal-500),var(--gold-500),var(--green-600));
  box-shadow:0 14px 30px -12px rgba(var(--d-rgb),.55);}
.fc-photo img,.fc-initial{width:100%;height:100%;border-radius:50%;object-fit:cover;border:4px solid #fff;background:#fff;}
.fc-initial{display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-size:2.6rem;font-weight:700;color:var(--green-700);}
.page-content .float-card .fc-name{font-size:1.05rem;margin:0 0 4px;color:var(--ink-900);line-height:1.3;}
.page-content .float-card .fc-qual{margin:0 0 6px;font-size:.8rem;font-weight:600;color:var(--ink-500);line-height:1.45;}
.page-content .float-card .fc-desig{margin:0 0 10px;font-size:.88rem;font-weight:700;color:var(--green-800);line-height:1.4;}
.page-content .float-card .fc-dept{margin:0;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;
  font-size:.74rem;font-weight:700;color:var(--teal-700);background:rgba(var(--a-rgb),.09);line-height:1.35;}
.fc-contact{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);width:100%;}
.fc-contact a{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;color:var(--ink-500);max-width:100%;}
.fc-contact a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.fc-contact a i{color:var(--green-700);}
.fc-contact a:hover{color:var(--green-800);}
.float-card.is-contact{border-color:rgba(var(--a-rgb),.25);}
@media (max-width:560px){.float-grid{grid-template-columns:minmax(0,320px);}}
.no-anim .float-card:hover{transform:none;}

/* Hub "View department / bulletin / career" cards: spaced, floating, centred */
.page-content .activies-box > .row{row-gap:30px;}
.page-content .row > .single-item.vcard,.page-content .row > .single-item.bcard,.page-content .row > .single-item.c-card{
  background:none;border:none;box-shadow:none;padding:0 14px;}
.page-content .single-item.vcard .vcard-body,.page-content .single-item.bcard .vcard-body,.page-content .single-item.c-card > a{
  height:100%;border-radius:24px;background:linear-gradient(160deg,rgba(255,255,255,.98),rgba(255,255,255,.86));border:1px solid rgba(255,255,255,.9);
  box-shadow:inset 0 1px 0 #fff,0 22px 44px -20px rgba(var(--d-rgb),.32);transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out);}
.page-content .single-item .vcard-body{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 22px 26px;text-align:center;}
.page-content .single-item:hover .vcard-body,.page-content .single-item.c-card:hover > a{transform:translateY(-8px);box-shadow:inset 0 1px 0 #fff,0 34px 60px -22px rgba(var(--d-rgb),.4);}
.page-content .single-item:hover{transform:none;box-shadow:none;}
.page-content .single-item .vcard-body::after{top:30px;}

/* Gallery: 4 per row, headline bar centred */
.gallery-grid.gallery-4{grid-template-columns:repeat(4,minmax(0,1fr));}
@media (max-width:1024px){.gallery-grid.gallery-4{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:760px){.gallery-grid.gallery-4{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:420px){.gallery-grid.gallery-4{grid-template-columns:1fr;}}
.gallery-item .g-cap{left:50%;right:auto;bottom:14px;width:calc(100% - 28px);transform:translate(-50%,12px);
  display:flex;align-items:center;justify-content:center;text-align:center;min-height:38px;line-height:1.35;}
.gallery-item:hover .g-cap{transform:translate(-50%,0);}
.lb-figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;}
.lb-cap{color:#fff;font-weight:700;text-align:center;max-width:800px;}
.lb-cap:empty{display:none;}

/* Research / bulletin panels: centred "Read more" buttons */
.panel-foot{display:flex;justify-content:center;margin-top:6px;}
.notice-page{max-width:980px;margin:0 auto;}

/* Main menu: keep every label on one line now that "Notice" was added */
@media (min-width:993px){
  .main-menu > li > a{white-space:nowrap;padding:12px 13px;font-size:.93rem;}
  .main-menu > li > a::after{left:13px;right:13px;}
}
@media (min-width:993px) and (max-width:1199px){
  .main-menu > li > a{padding:10px 8px;font-size:.86rem;gap:4px;}
  .main-menu > li > a::after{left:8px;right:8px;}
  .brand img{height:40px;}
}
.gallery-item .g-cap{z-index:3;}
.gallery-item .zoom-hint{z-index:1;}
@media (hover:none){.gallery-item .g-cap{opacity:1;transform:translate(-50%,0);}}

/* Footer: flexible columns when sections are hidden or link columns are added */
.footer-grid.auto-cols{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.footer-grid.auto-cols .f-links:not(.f-col){grid-column:span 2;}
@media (max-width:900px){.footer-grid.auto-cols .f-links:not(.f-col){grid-column:auto;}}
.f-col ul li{margin-bottom:10px;}
.f-col ul a{font-size:.86rem;color:#bfdcc9;position:relative;padding-left:14px;display:inline-block;line-height:1.4;}
.f-col ul a::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--green-600);opacity:.7;}
.f-col ul a:hover{color:#fff;}
