/* ==========================================================================
   TMSS Grand Health Sector — Glossy layer
   Loaded after theme-modern.css + page-content.css. Keeps the original
   brand palette (deep clinical green + calm teal) and adds a glass / gloss
   finish: frosted surfaces, specular highlights, light sweeps, soft depth,
   and smooth motion. Colours come from CSS variables that the admin panel
   can change (see partials/theme-vars.blade.php).
   ========================================================================== */

:root{
  --p-rgb:11,142,54;
  --d-rgb:7,66,31;
  --a-rgb:14,110,131;
  --glass-bg:linear-gradient(150deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.78) 100%);
  --glass-border:rgba(255,255,255,.75);
  --gloss-hi:inset 0 1px 0 rgba(255,255,255,.9), inset 0 -1px 0 rgba(var(--p-rgb),.06);
  --shadow-glass:0 1px 2px rgba(var(--d-rgb),.06), 0 8px 24px rgba(var(--d-rgb),.08), 0 24px 60px -24px rgba(var(--d-rgb),.18);
  --shadow-glass-hover:0 2px 4px rgba(var(--d-rgb),.06), 0 18px 40px rgba(var(--d-rgb),.14), 0 40px 80px -30px rgba(var(--p-rgb),.35);
  --ease-out:cubic-bezier(.22,1,.36,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
}

html{scroll-behavior:smooth;}
body{font-family:var(--font-body);background:
  radial-gradient(1200px 600px at 100% -10%,rgba(var(--a-rgb),.07),transparent 60%),
  radial-gradient(900px 500px at -10% 30%,rgba(var(--p-rgb),.06),transparent 60%),
  var(--bg-page);}
::selection{background:rgba(var(--p-rgb),.22);color:var(--ink-900);}

/* Smooth custom scrollbar */
html{scrollbar-color:rgba(var(--p-rgb),.55) transparent;scrollbar-width:thin;}
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--green-600),var(--teal-700));border-radius:10px;border:2px solid var(--bg-page);}
::-webkit-scrollbar-track{background:transparent;}

/* Floating ambient orbs behind everything */
.bg-orbs{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden;}
.bg-orbs i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.35;animation:orb 26s ease-in-out infinite alternate;}
.bg-orbs i:nth-child(1){width:420px;height:420px;background:rgba(var(--p-rgb),.35);top:30%;left:-140px;}
.bg-orbs i:nth-child(2){width:360px;height:360px;background:rgba(var(--a-rgb),.30);top:65%;right:-120px;animation-delay:-8s;}
.bg-orbs i:nth-child(3){width:300px;height:300px;background:rgba(215,154,44,.14);top:110%;left:40%;animation-delay:-16s;}
@keyframes orb{0%{transform:translate(0,0) scale(1);}50%{transform:translate(60px,-80px) scale(1.12);}100%{transform:translate(-40px,40px) scale(.94);}}

/* Scroll progress bar */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:3000;pointer-events:none;}
.scroll-progress span{display:block;height:100%;width:100%;transform-origin:0 50%;transform:scaleX(0);
  background:linear-gradient(90deg,var(--green-600),var(--teal-500),var(--gold-500));box-shadow:0 0 12px rgba(var(--p-rgb),.6);}

/* --------------------------------------------------------------------------
   Gloss primitives
-------------------------------------------------------------------------- */
.glossy{position:relative;isolation:isolate;}
.gloss-spot{
  position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;overflow:hidden;
  background:radial-gradient(380px circle at var(--mx,50%) var(--my,-40%),rgba(255,255,255,.65),rgba(255,255,255,0) 45%);
  opacity:0;transition:opacity .35s ease;mix-blend-mode:overlay;
}
.glass-on .glossy:hover > .gloss-spot{opacity:1;}
body:not(.glass-on) .gloss-spot{display:none;}

/* Buttons: glossy pill with specular top highlight + light sweep */
.btn{position:relative;overflow:hidden;isolation:isolate;transition:transform .35s var(--ease-spring),box-shadow .3s ease,background .3s ease,color .3s ease,border-color .3s ease;}
.btn::before{
  content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;z-index:-1;pointer-events:none;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .7s var(--ease-out);
}
.btn:hover::before{left:140%;}
.btn-primary,.btn-success,.btn-vd,.btn-gloss,.php-email-form button[type="submit"]{
  background:linear-gradient(180deg,var(--green-600) 0%,var(--green-700) 55%,var(--green-800) 100%);
  border-color:transparent;color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -2px 6px rgba(0,0,0,.12),0 6px 18px -6px rgba(var(--p-rgb),.65);
}
.btn-primary:hover,.btn-success:hover,.btn-vd:hover,.btn-gloss:hover,.php-email-form button[type="submit"]:hover{
  background:linear-gradient(180deg,var(--green-600) 0%,var(--green-700) 40%,var(--green-800) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -2px 6px rgba(0,0,0,.14),0 14px 30px -8px rgba(var(--p-rgb),.7);
  color:#fff;
}
.btn-outline,.btn-outline-teal{backdrop-filter:blur(6px);background:rgba(255,255,255,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.9);}
.btn-outline:hover{box-shadow:0 10px 24px -8px rgba(var(--p-rgb),.6);}
.btn-outline-teal:hover{box-shadow:0 10px 24px -8px rgba(var(--a-rgb),.6);}
.btn-ghost-light{box-shadow:inset 0 1px 0 rgba(255,255,255,.4);}
.btn i{transition:transform .3s ease;}
.btn:hover i.fa-arrow-right{transform:translateX(4px);}
.php-email-form button[type="submit"]{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:10px;}

/* --------------------------------------------------------------------------
   Topbar + header (frosted glass)
-------------------------------------------------------------------------- */
.topbar{background:var(--brand-grad);position:relative;overflow:hidden;}
.topbar::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.07) 50%,transparent 70%);animation:sheen 9s linear infinite;pointer-events:none;}
@keyframes sheen{from{transform:translateX(-100%);}to{transform:translateX(100%);}}
.topbar .tb-phone a{opacity:.9;}
.topbar .tb-phone a:hover{opacity:1;text-decoration:underline;}
.topbar .tb-sep{width:1px;height:14px;background:rgba(255,255,255,.25);margin:0 6px;}
.topbar .tb-social a{background:rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.18);}


.glass-on .site-header{
  background:rgba(255,255,255,.74);
  -webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 1px 0 rgba(var(--d-rgb),.06);
}
.glass-on .site-header::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--p-rgb),.5),rgba(var(--a-rgb),.5),transparent);}
.glass-on .site-header.is-scrolled{background:rgba(255,255,255,.86);box-shadow:0 10px 40px -12px rgba(var(--d-rgb),.25);}

/* No dropdown fade until the page has settled (avoids a flash of every submenu
   when the layout switches between the mobile drawer and desktop breakpoints). */
html:not(.nav-ready) .submenu,html:not(.nav-ready) .main-menu{transition:none !important;}
.main-menu > li > a .mi i{font-size:1em;opacity:1;}
.main-menu > li > a .mi{display:inline-flex;}
.main-menu > li > a{transition:color .25s ease,background .25s ease,transform .25s ease,box-shadow .25s ease;}
.main-menu > li > a:hover,.main-menu > li.open > a{
  background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(var(--p-rgb),.10));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 4px 14px -6px rgba(var(--p-rgb),.35);
}
.main-menu > li.active > a{color:var(--green-700);}
@media (min-width:993px) and (hover:hover){
  .submenu{
    background:linear-gradient(160deg,rgba(255,255,255,.92),rgba(255,255,255,.78));
    -webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);
    border:1px solid rgba(255,255,255,.8);
    box-shadow:inset 0 1px 0 #fff,0 30px 60px -20px rgba(var(--d-rgb),.35),0 0 0 1px rgba(var(--d-rgb),.04);
  }
  .submenu::before{content:"";position:absolute;top:-6px;left:28px;width:12px;height:12px;background:#fff;transform:rotate(45deg);border-left:1px solid var(--line);border-top:1px solid var(--line);border-radius:3px 0 0 0;}
  .submenu .submenu::before{display:none;}
  .submenu li > a{position:relative;}
  .submenu li > a::before{content:"";position:absolute;left:4px;top:50%;width:4px;height:0;border-radius:4px;background:linear-gradient(var(--green-600),var(--teal-500));transform:translateY(-50%);transition:height .25s ease;}
  .submenu li > a:hover::before{height:60%;}
  .submenu li.active > a{color:var(--green-800);background:rgba(var(--p-rgb),.08);}
}
@media (max-width:992px), (hover:none), (pointer:coarse){
  .submenu li.active > a{color:var(--green-800);font-weight:800;}
}

/* --------------------------------------------------------------------------
   Ticker
-------------------------------------------------------------------------- */
.ticker{background:linear-gradient(90deg,color-mix(in srgb,var(--grad-from) 85%,#fff),var(--grad-to));box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 -1px 0 rgba(0,0,0,.15);}
.ticker-label{position:relative;}
.ticker-label i{animation:ring 2.6s ease-in-out infinite;transform-origin:50% 0;}
@keyframes ring{0%,60%,100%{transform:rotate(0);}10%{transform:rotate(14deg);}20%{transform:rotate(-12deg);}30%{transform:rotate(8deg);}40%{transform:rotate(-5deg);}}
.ticker-track a{position:relative;padding-left:18px;}
.ticker-track a::before{content:"";position:absolute;left:0;top:50%;width:7px;height:7px;border-radius:50%;background:var(--gold-500);transform:translateY(-50%);box-shadow:0 0 8px var(--gold-500);}

/* --------------------------------------------------------------------------
   Hero: Ken-Burns slides + glass caption card
-------------------------------------------------------------------------- */
.hero{height:min(84vh,700px);min-height:540px;}
.hero-content h1{font-size:clamp(1.6rem,3.3vw,2.7rem);}
.hero-content p{font-size:1rem;margin-bottom:.8em;}
@media (max-height:720px) and (min-width:641px){.hero-content{padding-bottom:70px;}}
.hero-content h1,.hero-content p,.hero-content .eyebrow,.hero-actions{transition:opacity .45s ease,transform .45s var(--ease-out);}
.hero.is-swapping .hero-content h1,.hero.is-swapping .hero-content p,.hero.is-swapping .hero-content .eyebrow,.hero.is-swapping .hero-actions{opacity:0;transform:translateY(14px);}
.hero-content .eyebrow{background:linear-gradient(90deg,#d6ffe3,#9fe9f7);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero-content .eyebrow::before{background:linear-gradient(90deg,var(--green-600),var(--teal-500));}
.hero-content h1{letter-spacing:-.01em;}
.hero-nav{background:linear-gradient(160deg,rgba(255,255,255,.28),rgba(255,255,255,.08));box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 10px 30px -10px rgba(0,0,0,.5);transition:transform .3s var(--ease-spring),background .2s ease;}
.hero-nav:hover{transform:translateY(-50%) scale(1.08);}
.hero-dots button{box-shadow:inset 0 1px 0 rgba(255,255,255,.5);}
.hero-dots button.active{background:linear-gradient(90deg,#fff,#c8f5d6);}
.hero-scroll{position:absolute;z-index:3;right:34px;bottom:30px;width:24px;height:38px;border-radius:14px;border:2px solid rgba(255,255,255,.6);}
.hero-scroll span{position:absolute;left:50%;top:7px;width:4px;height:8px;border-radius:4px;background:#fff;transform:translateX(-50%);animation:wheel 1.8s ease-in-out infinite;}
@keyframes wheel{0%{opacity:0;transform:translate(-50%,0);}30%{opacity:1;}100%{opacity:0;transform:translate(-50%,12px);}}
@media (max-width:640px){.hero-scroll{display:none;}.hero-content{padding-bottom:84px;}}

/* --------------------------------------------------------------------------
   Section heads
-------------------------------------------------------------------------- */
.section-head h2{background:linear-gradient(120deg,var(--ink-900) 0%,var(--green-800) 55%,var(--teal-700) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.section-head .kicker{padding:6px 14px;border-radius:999px;background:linear-gradient(180deg,#fff,rgba(var(--p-rgb),.10));box-shadow:inset 0 1px 0 #fff,0 4px 12px -6px rgba(var(--p-rgb),.4);border:1px solid rgba(var(--p-rgb),.15);}
.section-head h2::after{content:"";display:block;width:64px;height:4px;margin:14px auto 0;border-radius:4px;background:linear-gradient(90deg,var(--green-600),var(--teal-500));box-shadow:0 2px 10px rgba(var(--p-rgb),.4);}
.section-alt{background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(255,255,255,.95) 40%,rgba(255,255,255,.6));border-top:1px solid rgba(255,255,255,.8);border-bottom:1px solid var(--line);}

/* --------------------------------------------------------------------------
   Cards — shared glass surface
-------------------------------------------------------------------------- */
.quick-card,.inst-card,.pros-card,.info-panel,.doctor-list,.single-item,.card-ui,.role-box,
.contact .info,.php-email-form,.tab-content,.sidebar .course-preview,.pub-list,.glass-panel,.login-box .content{
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  box-shadow:var(--gloss-hi),var(--shadow-glass);
}
.quick-card,.inst-card,.pros-card,.doctor-list,.single-item,.card-ui{transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out),border-color .3s ease;}
.quick-card:hover,.inst-card:hover,.pros-card:hover,.doctor-list:hover,.single-item:hover,.card-ui:hover{box-shadow:var(--gloss-hi),var(--shadow-glass-hover);border-color:rgba(var(--p-rgb),.25);}

/* Top-half specular sheen on cards */
.quick-card::before{height:4px;}
.inst-card .thumb::after,.pros-card .thumb::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,0) 42%),linear-gradient(115deg,transparent 40%,rgba(255,255,255,.35) 50%,transparent 60%);
  background-size:100% 100%,250% 100%;background-position:0 0,150% 0;transition:background-position .9s var(--ease-out);
}
.inst-card:hover .thumb::after,.pros-card:hover .thumb::after{background-position:0 0,-60% 0;}
.pros-card .thumb{position:relative;}
.pros-card .thumb > i{font-size:3rem;color:var(--green-700);}
.inst-card .tag{background:linear-gradient(180deg,rgba(var(--p-rgb),.95),rgba(var(--d-rgb),.95));box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 4px 10px rgba(0,0,0,.2);backdrop-filter:blur(6px);}

.quick-links.no-hero{margin-top:50px;}
.quick-card{border-radius:20px;}
.quick-card .icon-wrap{
  background:radial-gradient(circle at 30% 25%,#fff 0%,rgba(var(--p-rgb),.16) 55%,rgba(var(--p-rgb),.28) 100%);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.95),inset 0 -6px 12px rgba(var(--p-rgb),.18),0 10px 22px -10px rgba(var(--p-rgb),.6);
}
.quick-card .icon-wrap > i{font-size:1.7rem;color:var(--green-700);}

/* Leaders */
.glass-panel{border-radius:28px;padding:38px;}
.leader-row + .leader-row{margin-top:34px;padding-top:38px;border-top:1px solid var(--glass-border);}
.leader-photo img{box-shadow:0 0 0 6px #fff,0 0 0 8px rgba(var(--p-rgb),.18),0 24px 50px -16px rgba(var(--d-rgb),.45);border:none;transition:transform .6s var(--ease-out);}
.leader-row:hover .leader-photo img{transform:scale(1.03) rotate(-1deg);}
.leader-photo .blob{animation:blob 14s ease-in-out infinite alternate;opacity:.24;}
@keyframes blob{0%{border-radius:44% 56% 60% 40%/46% 40% 60% 54%;transform:rotate(0);}100%{border-radius:58% 42% 38% 62%/55% 60% 40% 45%;transform:rotate(25deg);}}
.leader-msg{color:var(--ink-700);text-align:justify;position:relative;padding-left:20px;border-left:3px solid transparent;border-image:linear-gradient(var(--green-600),var(--teal-500)) 1;}
@media (max-width:760px){.glass-panel{padding:26px 20px;}.leader-msg{padding-left:0;border-left:none;}}

/* Info panels */
.info-panel{border-radius:24px;}
.info-panel .panel-head .ic{box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 8px 18px -8px rgba(var(--p-rgb),.7);}
.ic-green{background:linear-gradient(160deg,var(--green-600),var(--green-800));}
.ic-teal{background:linear-gradient(160deg,var(--teal-500),var(--teal-700));}
.panel-more{margin-left:auto;font-size:.82rem;font-weight:800;color:var(--green-700);display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:rgba(var(--p-rgb),.08);transition:background .2s ease;}
.panel-more:hover{background:rgba(var(--p-rgb),.16);}
.panel-more i{font-size:.75em;transition:transform .25s ease;}
.panel-more:hover i{transform:translateX(3px);}
.notice-row{transition:background .25s ease,transform .25s ease;border-radius:12px;padding-left:8px;padding-right:8px;}
.notice-row:hover{background:rgba(var(--p-rgb),.05);transform:translateX(4px);}
.date-chip{background:linear-gradient(170deg,#fff,rgba(var(--p-rgb),.14));box-shadow:inset 0 1px 0 #fff,0 6px 14px -8px rgba(var(--p-rgb),.6);border:1px solid rgba(var(--p-rgb),.14);}
.notice-list--full{max-height:none;}
.n-type{margin-left:auto;flex:none;font-size:.7rem;font-weight:800;padding:4px 10px;border-radius:999px;background:rgba(var(--p-rgb),.1);color:var(--green-800);text-transform:uppercase;letter-spacing:.04em;}
.n-type.news{background:rgba(var(--a-rgb),.1);color:var(--teal-700);}
.empty-note{color:var(--ink-500);text-align:center;padding:20px;}

/* Gallery */
.gallery-item{border-radius:20px;box-shadow:var(--shadow-glass);}
.gallery-item::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 0 0 1px rgba(255,255,255,.2);background:linear-gradient(180deg,rgba(255,255,255,.18),transparent 40%);}
.gallery-item .g-cap{position:absolute;left:12px;right:12px;bottom:12px;padding:8px 12px;border-radius:12px;color:#fff;font-weight:700;font-size:.85rem;
  background:rgba(var(--d-rgb),.45);backdrop-filter:blur(8px);transform:translateY(12px);opacity:0;transition:.35s var(--ease-out);}
.gallery-item:hover .g-cap{transform:none;opacity:1;}
.lightbox{background:rgba(var(--d-rgb),.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);}
.lightbox.open img{animation:zoomIn .45s var(--ease-out);}
@keyframes zoomIn{from{opacity:0;transform:scale(.9);}to{opacity:1;transform:none;}}

/* --------------------------------------------------------------------------
   Inner page banner — animated mesh + glass orbs + wave
-------------------------------------------------------------------------- */
.page-banner{padding:84px 0 104px;
  background:
    radial-gradient(700px 320px at 85% -10%,rgba(var(--a-rgb),.55),transparent 70%),
    radial-gradient(600px 300px at 10% 120%,rgba(var(--p-rgb),.6),transparent 70%),
    var(--brand-grad);
}
.page-banner[data-has-img]{background:linear-gradient(120deg,rgba(var(--d-rgb),.92),rgba(var(--d-rgb),.65)),var(--banner-img) center/cover;}
.page-banner::after{background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 50%);}
.page-banner .container{position:relative;z-index:2;}
.page-banner .crumb{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:999px;margin-bottom:16px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);box-shadow:inset 0 1px 0 rgba(255,255,255,.2);}
.page-banner .crumb .sep{opacity:.5;}
.page-banner h1{text-shadow:0 6px 30px rgba(0,0,0,.35);max-width:900px;margin-inline:auto;animation:rise .8s var(--ease-out) both;}
.pb-orbs i{position:absolute;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.35),rgba(255,255,255,.04) 60%);border:1px solid rgba(255,255,255,.15);
  animation:float 12s ease-in-out infinite alternate;}
.pb-orbs i:nth-child(1){width:140px;height:140px;left:6%;top:18%;}
.pb-orbs i:nth-child(2){width:70px;height:70px;right:12%;top:20%;animation-delay:-4s;}
.pb-orbs i:nth-child(3){width:200px;height:200px;right:-40px;bottom:-60px;animation-delay:-8s;}
@keyframes float{from{transform:translateY(0) rotate(0);}to{transform:translateY(-24px) rotate(12deg);}}
.pb-wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:50px;z-index:1;}
.pb-wave path{fill:var(--bg-page);}
@media (max-width:640px){.page-banner{padding:56px 0 80px;}.pb-orbs i:nth-child(1){display:none;}}

.page-content{position:relative;}
.page-intro{margin-bottom:30px;}
.draft-flag{background:#fff7e6;border:1px solid #f3d9a4;color:#8a5a00;padding:10px 16px;border-radius:12px;margin-bottom:20px;font-weight:700;}

/* Tables — glass container */
.page-content table.table{border:1px solid var(--glass-border);box-shadow:var(--gloss-hi),var(--shadow-glass);border-radius:18px;}
.page-content table.table thead th,.page-content table.table thead{background:linear-gradient(180deg,var(--green-700),var(--green-800)) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.25);}
.page-content table.table tbody tr{transition:background .2s ease;}
.page-content table.table tbody tr:hover{background:rgba(var(--p-rgb),.08) !important;}

/* Directory / vcard hubs */
.single-item{border-radius:20px;}
.vcard-body{position:relative;}
.vcard-body::before{content:"";display:block;width:58px;height:58px;margin:0 auto 14px;border-radius:18px;
  background:linear-gradient(160deg,var(--green-600),var(--teal-700));box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 10px 22px -10px rgba(var(--p-rgb),.8);
  -webkit-mask:none;}
.vcard-body::after{content:"\f0f8";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;top:24px;left:50%;transform:translateX(-50%);
  width:58px;height:58px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.3rem;pointer-events:none;}
.bcard .vcard-body::after{content:"\f518";}
.doctor-list{border-radius:22px;}
.doctor-list img.dep-img{box-shadow:0 0 0 5px #fff,0 0 0 7px rgba(var(--p-rgb),.2),0 14px 30px -12px rgba(var(--d-rgb),.5);border:none;}

/* Career cards */
.c-card{position:relative;}
.c-card .c-card-body{position:relative;}
.job-badge{position:absolute;top:18px;right:18px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:4px 10px;border-radius:999px;}
.job-badge.on{background:rgba(var(--p-rgb),.12);color:var(--green-800);box-shadow:0 0 0 1px rgba(var(--p-rgb),.2);}
.job-badge.off{background:#fde8e8;color:#a33;}
.c-card.is-expired{opacity:.75;}
.c-card-title{padding-right:70px;}

/* Research list */
.pub-list{border-radius:24px;padding:10px 26px;}
.research{transition:background .25s ease,transform .25s ease;border-radius:14px;padding-left:10px;padding-right:10px;}
.research:hover{background:rgba(var(--p-rgb),.05);}
.pub-no{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:26px;margin-right:8px;border-radius:8px;font-size:.78rem;
  background:rgba(var(--p-rgb),.1);color:var(--green-800);}
.research .btn{gap:8px;}

/* Segmented tabs */
.seg-tabs{display:inline-flex;gap:6px;padding:6px;border-radius:999px;margin:0 0 24px;
  background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--gloss-hi),var(--shadow-glass);flex-wrap:wrap;}
.seg-tabs a{padding:9px 18px;border-radius:999px;font-weight:800;font-size:.9rem;color:var(--ink-500);display:inline-flex;gap:8px;align-items:center;transition:.25s ease;}
.seg-tabs a:hover{color:var(--green-700);}
.seg-tabs a.active{color:#fff;background:linear-gradient(180deg,var(--green-600),var(--green-800));box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 6px 16px -6px rgba(var(--p-rgb),.7);}

/* Contact */
.contact .info{border-radius:24px;}
.ci-row{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px;}
.ci-ic{flex:none;width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;
  background:linear-gradient(160deg,var(--green-600),var(--green-800));box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 8px 18px -8px rgba(var(--p-rgb),.8);}
.ci-row a{color:var(--green-800);font-weight:700;}
.ci-map iframe{width:100%;height:220px;border:0;border-radius:16px;}
.php-email-form{border-radius:24px;padding:30px;}
.form-alert{padding:12px 16px;border-radius:12px;margin-bottom:16px;font-weight:700;}
.form-alert.ok{background:rgba(var(--p-rgb),.1);color:var(--green-800);}
.form-alert.err{background:#fde8e8;color:#a33;}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.form-control{background:rgba(255,255,255,.85);box-shadow:inset 0 2px 4px rgba(var(--d-rgb),.04);}

/* Pagination */
.pager{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:30px;}
.pager .pg{min-width:42px;height:42px;padding:0 12px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;
  background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--gloss-hi),var(--shadow-sm);color:var(--ink-700);transition:.2s ease;}
.pager a.pg:hover{color:var(--green-700);transform:translateY(-2px);}
.pager .pg.active{color:#fff;background:linear-gradient(180deg,var(--green-600),var(--green-800));}
.pager .pg.disabled{opacity:.45;}

/* --------------------------------------------------------------------------
   Footer
-------------------------------------------------------------------------- */
.site-footer{position:relative;background:
  radial-gradient(700px 300px at 90% 0%,rgba(var(--a-rgb),.35),transparent 70%),
  radial-gradient(600px 300px at 0% 100%,rgba(var(--p-rgb),.35),transparent 70%),
  var(--brand-grad);margin-top:60px;}
.footer-wave{position:absolute;left:0;right:0;top:-58px;width:100%;height:60px;}
.footer-wave path{fill:var(--grad-from);}
.f-social{display:flex;gap:10px;margin-top:6px;}
.f-social a{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;
  background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.2);transition:transform .3s var(--ease-spring),background .2s ease;}
.f-social a:hover{transform:translateY(-4px);background:linear-gradient(160deg,var(--green-600),var(--green-800));}
.f-links-grid a{position:relative;padding-left:14px;transition:color .2s ease,transform .2s ease;}
.f-links-grid a::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--green-600);opacity:.7;}
.f-links-grid a:hover{transform:translateX(3px);}
.f-contact a{color:inherit;}
.f-contact a:hover{color:#fff;}
.footer-grid h4::after{content:"";display:block;width:36px;height:3px;border-radius:3px;margin-top:10px;background:linear-gradient(90deg,var(--green-600),var(--teal-500));}

.back-top{background:linear-gradient(180deg,var(--green-600),var(--green-800));box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 12px 26px -8px rgba(var(--p-rgb),.75);}
.back-top:hover{transform:translateY(-4px);}

.admin-edit-fab{position:fixed;left:22px;bottom:22px;z-index:600;display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;color:#fff;font-weight:800;font-size:.85rem;
  background:linear-gradient(180deg,#2b3b32,#0e2016);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 12px 26px -10px rgba(0,0,0,.6);}
.admin-edit-fab:hover{transform:translateY(-3px);}

/* --------------------------------------------------------------------------
   Site popup
-------------------------------------------------------------------------- */
.site-popup{position:fixed;z-index:2500;}
.site-popup[hidden]{display:none !important;}
.site-popup.pos-center{inset:0;display:flex;align-items:center;justify-content:center;padding:20px;}
.site-popup.pos-bottom-right{right:22px;bottom:84px;}
.site-popup.pos-bottom-left{left:22px;bottom:84px;}
.site-popup.pos-top{top:16px;left:50%;transform:translateX(-50%);width:calc(100% - 32px);max-width:760px;}
.sp-backdrop{position:absolute;inset:0;background:rgba(var(--d-rgb),.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .4s ease;}
.sp-card{position:relative;overflow:hidden;width:100%;border-radius:26px;
  background:linear-gradient(155deg,rgba(255,255,255,.97),rgba(255,255,255,.86));
  -webkit-backdrop-filter:blur(20px) saturate(170%);backdrop-filter:blur(20px) saturate(170%);
  border:1px solid rgba(255,255,255,.8);
  box-shadow:inset 0 1px 0 #fff,0 40px 100px -30px rgba(var(--d-rgb),.6);
  opacity:0;transform:translateY(24px) scale(.94);transition:opacity .45s var(--ease-out),transform .55s var(--ease-spring);}
.site-popup.is-open .sp-card{opacity:1;transform:none;}
.site-popup.is-open .sp-backdrop{opacity:1;}
.size-sm .sp-card{max-width:360px;}
.size-md .sp-card{max-width:520px;}
.size-lg .sp-card{max-width:820px;}
.pos-bottom-right .sp-card,.pos-bottom-left .sp-card{width:min(360px,calc(100vw - 44px));}
.pos-top .sp-card{display:flex;align-items:center;max-width:none;border-radius:20px;}
.pos-top .sp-media{width:120px;flex:none;align-self:stretch;}
.pos-top .sp-media img{height:100%;max-height:none;}
.sp-media{position:relative;}
.sp-media img{width:100%;max-height:300px;object-fit:cover;}
.sp-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.25),transparent 40%,rgba(255,255,255,.0) 70%,rgba(255,255,255,.9));pointer-events:none;}
.sp-body{padding:22px 26px 26px;}
.sp-title{font-size:1.3rem;margin-bottom:8px;background:linear-gradient(120deg,var(--ink-900),var(--green-800));-webkit-background-clip:text;background-clip:text;color:transparent;}
.sp-content{color:var(--ink-700);font-size:.95rem;}
.sp-content img{border-radius:12px;}
.sp-content > :last-child{margin-bottom:0;}
.sp-btn{margin-top:14px;}
.sp-close{position:absolute;top:12px;right:12px;z-index:3;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.7);cursor:pointer;color:var(--ink-900);
  background:rgba(255,255,255,.8);backdrop-filter:blur(8px);box-shadow:0 6px 16px -6px rgba(0,0,0,.35);transition:transform .3s var(--ease-spring);}
.sp-close:hover{transform:rotate(90deg) scale(1.08);}
.pos-top .sp-body{padding:14px 56px 14px 20px;}
.pos-top .sp-title{font-size:1.05rem;margin-bottom:2px;}
@media (max-width:560px){.pos-top .sp-media{display:none;}}

/* Reveal motion: smoother easing */
html.js-anim .reveal.in-view{animation:rise .9s var(--ease-out) both;}
html.js-anim .reveal-stagger.in-view > *{animation:rise .8s var(--ease-out) both;}

/* Reduced motion / animations off */
.no-anim *,.no-anim *::before,.no-anim *::after{animation:none !important;transition:none !important;}
html.js-anim .no-anim .reveal,html.js-anim .no-anim .reveal-stagger > *{opacity:1;}
@media (prefers-reduced-motion:reduce){.bg-orbs,.pb-orbs{display:none;}.hero-slide{transform:none !important;}}

/* Without glass toggle: keep solid surfaces */
body:not(.glass-on) .bg-orbs{display:none;}
