/* =========================================================
   BPMI - Berhampore Paramedical Institute
   Loaded AFTER style.css / users_style.css so it can re-theme them.
   Palette is taken from the BPMI logo & admission flyer.
   ========================================================= */
:root {
  --bp-navy: #1485cb;
  --bp-navy-deep: #0b4f82;
  --bp-red: #b3121f;
  --bp-red-dark: #8f0d18;
  --bp-gold: #f2b705;
  --bp-green: #11805a;
  --bp-ink: #18263a;
  --bp-muted: #586e87;
  --bp-line: #dde8f3;
  --bp-bg: #f3f8fd;
  --bp-card: #ffffff;
  --bp-radius: 18px;
  --bp-shadow: 0 10px 30px -12px rgba(20,133,203, .25);

  /* re-theme the variables the legacy CSS/layout used */
  --brand-primary: var(--bp-navy);
  --brand-deep: var(--bp-navy-deep);
  --brand-accent: var(--bp-gold);
  --bg-theme: var(--bp-bg);
}

html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { font-family: 'Poppins', 'Hind Siliguri', system-ui, sans-serif; color: var(--bp-ink); background: var(--bp-bg); }
.bn { font-family: 'Hind Siliguri', 'Poppins', sans-serif; }
a { color: var(--bp-navy); }

/* ---------- top bar + navigation ---------- */
.bp-topbar { background: var(--bp-navy-deep); color: #d3e6f8; font-size: .8rem; }
.bp-topbar a { color: #fff; text-decoration: none; }
.bp-topbar a:hover { color: var(--bp-gold); }
.bp-topbar .bp-sep { opacity: .3; margin: 0 .6rem; }

.bp-nav { background: #fff; border-bottom: 3px solid var(--bp-red); box-shadow: 0 6px 20px -14px rgba(20,133,203,.5); }
.bp-nav .navbar-brand img { height: 54px; width: auto; }
.bp-brand-text { line-height: 1.1; }
.bp-brand-text b { display: block; color: var(--bp-red); font-weight: 800; letter-spacing: .5px; font-size: 1.55rem; }
.bp-brand-text small { color: #033d7c; font-weight: 600; font-size: .72rem; letter-spacing: .4px; text-transform: uppercase; }
.bp-nav .nav-link { color: var(--bp-ink); font-weight: 500; font-size: .92rem; padding: .5rem .85rem !important; border-radius: 999px; }
.bp-nav .nav-link:hover { color: var(--bp-red); background: #fdeeee; }

.bp-btn { display: inline-flex; align-items: center; gap: .5rem; border: 0; border-radius: 999px; padding: .75rem 1.5rem; font-weight: 600; text-decoration: none; transition: .25s; }
.bp-btn-red { background: var(--bp-red); color: #fff; box-shadow: 0 10px 20px -8px rgba(179,18,31,.6); }
.bp-btn-red:hover { background: var(--bp-red-dark); color: #fff; transform: translateY(-2px); }
.bp-btn-gold { background: var(--bp-gold); color: #3a2c00; }
.bp-btn-gold:hover { background: #ffc82e; color: #3a2c00; transform: translateY(-2px); }
.bp-btn-ghost { background: rgba(255,255,255,.1); color: #fff; border: 1px solid rgba(255,255,255,.35); }
.bp-btn-ghost:hover { background: #fff; color: var(--bp-navy); }
.bp-btn-outline { background: #fff; color: var(--bp-navy); border: 1.5px solid var(--bp-navy); }
.bp-btn-outline:hover { background: var(--bp-navy); color: #fff; }

/* ---------- hero ---------- */
.bp-hero { position: relative; color: #fff; overflow: hidden; padding: 4.5rem 0 7rem;
  background:
    radial-gradient(900px 400px at 85% -10%, rgba(179,18,31,.45), transparent 60%),
    radial-gradient(700px 400px at -10% 110%, rgba(242,183,5,.18), transparent 60%),
    linear-gradient(135deg, var(--bp-navy-deep), var(--bp-navy)); }
.bp-hero::before { content: ""; position: absolute; inset: 0; opacity: .07;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cpath d='M52 20h16v32h32v16H68v32H52V68H20V52h32z' fill='white'/%3E%3C/svg%3E");
  background-size: 120px; }
.bp-hero .container { position: relative; z-index: 1; }
.bp-chip { display: inline-flex; align-items: center; gap: .5rem; padding: .45rem 1rem; border-radius: 999px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); font-size: .8rem; font-weight: 500; }
.bp-chip i { color: var(--bp-gold); }
.bp-hero h1 { font-weight: 800; font-size: clamp(2rem, 4.6vw, 3.4rem); line-height: 1.12; letter-spacing: -.5px; }
.bp-hero h1 span { color: var(--bp-gold); }
.bp-hero .bn-line { font-size: clamp(1.05rem, 2vw, 1.35rem); color: #ffd9dc; font-weight: 600; }
.bp-hero p.lead-sm { color: #d3e6f8; max-width: 34rem; }

.bp-hero-card { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.18); border-radius: 24px; padding: 1.25rem; backdrop-filter: blur(6px); }
.bp-hero-card .owl-carousel .item img { border-radius: 16px; width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.bp-slide-cap { position: absolute; left: 14px; bottom: 14px; right: 14px; background: linear-gradient(0deg, rgba(11,79,130,.85), transparent); padding: 1.5rem 1rem .6rem; border-radius: 0 0 16px 16px; color: #fff; font-weight: 600; }
.bp-hero .owl-dots { position: absolute; right: 18px; bottom: 16px; }
.bp-hero .owl-theme .owl-dots .owl-dot span { background: rgba(255,255,255,.5); margin: 3px; }
.bp-hero .owl-theme .owl-dots .owl-dot.active span { background: var(--bp-gold); }

.bp-fallback-panel { border-radius: 16px; padding: 1.75rem; background: linear-gradient(160deg, #fff, #e8f2fb); color: var(--bp-ink); }
.bp-fallback-panel h3 { color: var(--bp-red); font-weight: 800; }
.bp-level { display: flex; gap: .6rem; margin-top: 1rem; flex-wrap: wrap; }
.bp-level div { flex: 1 1 90px; text-align: center; border-radius: 14px; padding: .8rem .4rem; color: #fff; font-weight: 700; line-height: 1.1; }
.bp-level small { display: block; font-weight: 500; opacity: .85; font-size: .72rem; margin-top: .2rem; }
.bp-level .l1 { background: var(--bp-navy); } .bp-level .l2 { background: var(--bp-red); } .bp-level .l3 { background: var(--bp-green); }

/* ---------- stats strip (overlaps hero) ---------- */
.bp-stats { margin-top: -3.6rem; position: relative; z-index: 3; }
.bp-stat { background: #fff; border-radius: var(--bp-radius); box-shadow: var(--bp-shadow); padding: 1.2rem 1rem; text-align: center; height: 100%; border-top: 4px solid var(--bp-red); }
.bp-stat:nth-child(even) { border-top-color: var(--bp-navy); }
.bp-stat .num { font-size: 2rem; font-weight: 800; color: var(--bp-navy); line-height: 1; }
.bp-stat .num sup { font-size: 1rem; color: var(--bp-red); top: -.6em; }
.bp-stat .lbl { font-size: .8rem; color: var(--bp-muted); margin-top: .4rem; font-weight: 500; }

/* ---------- ticker ---------- */
.bp-ticker { background: var(--bp-red); color: #fff; overflow: hidden; white-space: nowrap; margin-top: 2.5rem; }
.bp-ticker .track { display: inline-flex; gap: 3rem; padding: .65rem 0; animation: bpTick 38s linear infinite; }
.bp-ticker:hover .track { animation-play-state: paused; }
.bp-ticker span { font-size: .88rem; font-weight: 500; }
.bp-ticker i { color: var(--bp-gold); margin-right: .5rem; }
@keyframes bpTick { to { transform: translateX(-50%); } }

/* ---------- sections ---------- */
.bp-section { padding: 4.5rem 0; }
.bp-section.alt { background: #fff; }
.bp-eyebrow { display: inline-block; color: var(--bp-red); font-weight: 700; font-size: .78rem; letter-spacing: 2px; text-transform: uppercase; }
.bp-title { font-weight: 800; color: var(--bp-navy); font-size: clamp(1.6rem, 3vw, 2.3rem); margin: .4rem 0 .6rem; }
.bp-title span { color: var(--bp-red); }
.bp-sub { color: var(--bp-muted); max-width: 40rem; }
.bp-bar { width: 64px; height: 4px; border-radius: 4px; background: linear-gradient(90deg, var(--bp-red), var(--bp-gold)); margin: .8rem 0 0; }
.text-center .bp-bar, .text-center .bp-sub { margin-left: auto; margin-right: auto; }

.bp-card { background: var(--bp-card); border: 1px solid var(--bp-line); border-radius: var(--bp-radius); padding: 1.4rem; height: 100%; transition: .25s; }
.bp-card:hover { transform: translateY(-4px); box-shadow: var(--bp-shadow); border-color: transparent; }
.bp-ico { width: 52px; height: 52px; border-radius: 14px; display: grid; place-items: center; font-size: 1.4rem; color: #fff; background: linear-gradient(135deg, var(--bp-navy), #2447a0); flex: none; }
.bp-ico.red { background: linear-gradient(135deg, var(--bp-red), #e0394a); }

/* approvals */
.bp-approval h6 { font-weight: 700; color: var(--bp-navy); margin: .9rem 0 .3rem; }
.bp-approval p { color: var(--bp-muted); font-size: .85rem; margin: 0; }

/* courses */
.bp-group-title { display: flex; align-items: center; gap: .7rem; font-weight: 700; color: var(--bp-navy); margin: 2rem 0 1rem; }
.bp-group-title::after { content: ""; flex: 1; height: 1px; background: var(--bp-line); }
.bp-course { display: flex; gap: 1rem; align-items: center; padding: 1rem 1.1rem; }
.bp-course h6 { margin: 0; font-weight: 600; color: var(--bp-ink); font-size: .95rem; }
.bp-course small { color: var(--bp-muted); }
.bp-course .go { margin-left: auto; color: var(--bp-red); opacity: 0; transform: translateX(-6px); transition: .25s; }
.bp-course:hover .go { opacity: 1; transform: none; }
.bp-pill { display: inline-block; font-size: .68rem; font-weight: 700; padding: .15rem .6rem; border-radius: 999px; background: #e8f2fb; color: var(--bp-navy); margin-top: .25rem; }

/* hospital band */
.bp-band { background: linear-gradient(135deg, var(--bp-navy-deep), var(--bp-navy)); color: #fff; border-radius: 28px; overflow: hidden; }
.bp-band .pad { padding: 2.5rem; }
.bp-band img { width: 100%; height: 100%; object-fit: cover; min-height: 260px; }
.bp-wards span { display: inline-block; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2); padding: .3rem .85rem; border-radius: 999px; margin: .2rem .25rem .2rem 0; font-weight: 600; font-size: .85rem; }

/* steps */
.bp-step { text-align: center; position: relative; }
.bp-step .n { width: 56px; height: 56px; border-radius: 50%; background: var(--bp-red); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 1.2rem; margin: 0 auto .8rem; box-shadow: 0 0 0 6px #fdeeee; }
.bp-step h6 { font-weight: 700; color: var(--bp-navy); }
.bp-step p { font-size: .83rem; color: var(--bp-muted); }

/* verify box */
.bp-verify { background: #fff; border-radius: 24px; box-shadow: var(--bp-shadow); border: 1px solid var(--bp-line); padding: 2rem; }
.bp-verify .form-control { border-radius: 999px; padding: .8rem 1.2rem; border: 1.5px solid var(--bp-line); }
.bp-verify .form-control:focus { border-color: var(--bp-navy); box-shadow: 0 0 0 .2rem rgba(20,133,203,.12); }

/* notices / news / gallery */
.bp-notice { display: flex; gap: 1rem; padding: 1rem 0; border-bottom: 1px dashed var(--bp-line); }
.bp-notice:last-child { border-bottom: 0; }
.bp-date { flex: none; width: 58px; text-align: center; border-radius: 12px; background: #fdeeee; color: var(--bp-red); padding: .4rem 0; line-height: 1.1; font-weight: 800; }
.bp-date small { display: block; font-size: .65rem; font-weight: 600; text-transform: uppercase; }
.bp-gal { border-radius: 16px; overflow: hidden; aspect-ratio: 4/3; background: #dde4f3; }
.bp-gal img { width: 100%; height: 100%; object-fit: cover; transition: .4s; }
.bp-gal:hover img { transform: scale(1.07); }
.line-clamp-2, .line-clamp-3 { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-2 { -webkit-line-clamp: 2; } .line-clamp-3 { -webkit-line-clamp: 3; }

/* contact */
.bp-map { border-radius: 22px; overflow: hidden; border: 4px solid #fff; box-shadow: var(--bp-shadow); height: 100%; min-height: 320px; }

/* footer */
.bp-footer { background: var(--bp-navy-deep); color: #b7d6f0; padding: 4rem 0 1.5rem; border-top: 4px solid var(--bp-red); }
.bp-footer h5 { color: #fff; font-weight: 700; font-size: 1rem; margin-bottom: 1rem; }
.bp-footer a { color: #b7d6f0; text-decoration: none; }
.bp-footer a:hover { color: var(--bp-gold); }
.bp-footer ul { list-style: none; padding: 0; margin: 0; }
.bp-footer li { margin-bottom: .55rem; font-size: .9rem; }
.bp-footer .bottom { border-top: 1px solid rgba(255,255,255,.1); margin-top: 2.5rem; padding-top: 1.2rem; font-size: .8rem; }

/* floating actions */
.bp-float { position: fixed; right: 18px; bottom: 22px; z-index: 1030; display: flex; flex-direction: column; gap: .6rem; }
.bp-float a { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; color: #fff; font-size: 1.35rem; box-shadow: 0 10px 22px -8px rgba(0,0,0,.4); text-decoration: none; }
.bp-float .wa { background: #25d366; } .bp-float .ph { background: var(--bp-red); }
.bp-mobbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030; display: none; box-shadow: 0 -6px 20px rgba(0,0,0,.15); }
.bp-mobbar a { flex: 1; text-align: center; color: #fff; padding: .8rem .2rem; font-weight: 600; font-size: .85rem; text-decoration: none; }

@media (max-width: 767.98px) {
  .bp-mobbar { display: flex; }
  .bp-float { display: none; }
  body { padding-bottom: 52px; }
  .bp-hero { padding: 3rem 0 6rem; }
  .bp-section { padding: 3.2rem 0; }
  .bp-band .pad { padding: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* =========================================================
   v2 - animation & new sections
   ========================================================= */

/* ---- hero decoration ---- */
.bp-hero-decor { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.bp-hero-decor .blob { position: absolute; border-radius: 50%; filter: blur(60px); opacity: .55; animation: bpBlob 14s ease-in-out infinite alternate; }
.bp-hero-decor .b1 { width: 400px; height: 400px; background: rgb(110 199 255); top: -120px; right: 8%; }
.bp-hero-decor .b2 { width: 360px; height: 360px; background: rgba(242,183,5,.25); bottom: -140px; left: 12%; animation-delay: -6s; }
.bp-hero-decor .f { position: absolute; color: rgba(255,255,255,.14); font-size: 2.6rem; animation: bpFloat 9s ease-in-out infinite; }
.bp-hero-decor .f1 { top: 12%; left: 4%;  font-size: 3.2rem; }
.bp-hero-decor .f2 { top: 58%; left: 46%; animation-delay: -2s; font-size: 2.2rem; }
.bp-hero-decor .f3 { top: 8%;  left: 47%; animation-delay: -4s; }
.bp-hero-decor .f4 { top: 72%; left: 6%;  animation-delay: -1s; }
.bp-hero-decor .f5 { top: 20%; right: 3%; animation-delay: -5s; font-size: 2.2rem; }
.bp-hero-decor .f6 { top: 64%; right: 5%; animation-delay: -3s; font-size: 3rem; }
.bp-hero-decor .ecg { position: absolute; left: 0; bottom: 56px; width: 100%; height: 90px; opacity: .55; }
.bp-hero-decor .ecg path { fill: none; stroke: var(--bp-gold); stroke-width: 2.5; vector-effect: non-scaling-stroke;
  stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 520 1500; animation: bpEcg 7s linear infinite; filter: drop-shadow(0 0 6px rgba(242,183,5,.8)); }
@keyframes bpBlob { to { transform: translate(40px, 30px) scale(1.15); } }
@keyframes bpFloat { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-26px) rotate(10deg); } }
@keyframes bpEcg { from { stroke-dashoffset: 2020; } to { stroke-dashoffset: 0; } }

.bp-rise { animation: bpRise .85s cubic-bezier(.2,.7,.2,1) both; animation-delay: var(--d, 0s); }
@keyframes bpRise { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
.bp-live { width: 9px; height: 9px; border-radius: 50%; background: #3ddc84; display: inline-block; box-shadow: 0 0 0 0 rgba(61,220,132,.7); animation: bpLive 1.8s infinite; }
@keyframes bpLive { 70% { box-shadow: 0 0 0 10px rgba(61,220,132,0); } 100% { box-shadow: 0 0 0 0 rgba(61,220,132,0); } }
.bp-pulse { animation: bpPulse 2.4s infinite; }
@keyframes bpPulse { 0% { box-shadow: 0 0 0 0 rgba(242,183,5,.6); } 70% { box-shadow: 0 0 0 16px rgba(242,183,5,0); } 100% { box-shadow: 0 0 0 0 rgba(242,183,5,0); } }
.bp-hero h1 span { background: linear-gradient(90deg, var(--bp-gold), #ffe27a, var(--bp-gold)); background-size: 200% auto; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: bpShine 5s linear infinite; }
@keyframes bpShine { to { background-position: 200% center; } }

/* ---- scroll reveal (only when JS is on) ---- */
.js .reveal { opacity: 0; transform: translateY(28px) scale(.98); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); transition-delay: var(--rd, 0s); }
.js .reveal.in { opacity: 1; transform: none; }

/* ---- about: affiliation logo ---- */
.bp-affil { display: flex; align-items: center; gap: .9rem; flex-wrap: wrap; }
.bp-affil img { height: 46px; width: auto; }

/* ---- course level tiles ---- */
.bp-levelcard { border-radius: 18px; padding: 1.1rem .5rem; text-align: center; color: #fff; position: relative; overflow: hidden; transition: .3s; }
.bp-levelcard b { display: block; font-size: 1.35rem; font-weight: 800; }
.bp-levelcard span { font-size: .85rem; opacity: .9; }
.bp-levelcard::after { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.28) 50%, transparent 70%); transform: translateX(-120%); transition: transform .8s; }
.bp-levelcard:hover { transform: translateY(-5px) scale(1.03); }
.bp-levelcard:hover::after { transform: translateX(120%); }
.bp-levelcard.l1 { background: linear-gradient(135deg, #0b4f82, #2a9be0); }
.bp-levelcard.l2 { background: linear-gradient(135deg, #8f0d18, #d62839); }
.bp-levelcard.l3 { background: linear-gradient(135deg, #0b6b4a, #1aa174); }

.bp-course { position: relative; overflow: hidden; }
.bp-course::after { content: ""; position: absolute; top: 0; left: -80%; width: 50%; height: 100%; background: linear-gradient(100deg, transparent, rgba(179,18,31,.07), transparent); transform: skewX(-20deg); transition: left .7s; }
.bp-course:hover::after { left: 130%; }
.bp-code { position: absolute; top: 8px; right: 12px; font-size: .62rem; font-weight: 800; letter-spacing: 1px; color: var(--bp-red); background: #fdeeee; padding: .1rem .5rem; border-radius: 999px; }
.bp-course:hover .bp-ico { animation: bpWiggle .6s; }
@keyframes bpWiggle { 25% { transform: rotate(-10deg) scale(1.08); } 75% { transform: rotate(10deg) scale(1.08); } }

/* ---- placed students (v3) ---- */
.bp-place { position: relative; overflow: hidden; color: #fff; padding: 5rem 0 4.2rem;
  background: radial-gradient(800px 380px at 12% 0%, rgb(255 255 255 / 32%), transparent 60%),
              radial-gradient(700px 360px at 95% 100%, rgba(242,183,5,.16), transparent 60%),
              linear-gradient(160deg, var(--bp-navy-deep), var(--bp-navy) 65%, #123a8c); }
.bp-place::before { content: ""; position: absolute; inset: 0; opacity: .05;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cpath d='M39 15h12v24h24v12H51v24H39V51H15V39h24z' fill='white'/%3E%3C/svg%3E"); }
.bp-place .container, .bp-place-wrap, .bp-cotick { position: relative; z-index: 2; }
.bp-gold, .bp-title .bp-gold { color: var(--bp-gold); }
.bp-eyebrow-light { color: var(--bp-gold); }
.bp-confetti { position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: hidden; }
.bp-confetti span { position: absolute; top: -20px; width: 8px; height: 14px; opacity: .75; border-radius: 2px; animation: bpFall linear infinite; }
@keyframes bpFall { 0% { transform: translateY(-20px) rotate(0); } 100% { transform: translateY(110vh) rotate(540deg); } }

.bp-pstats { display: flex; justify-content: center; flex-wrap: wrap; gap: 1rem; margin-bottom: 2.2rem; }
.bp-pstat { display: flex; align-items: center; gap: .8rem; padding: .8rem 1.4rem; border-radius: 999px;
  background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.2); backdrop-filter: blur(6px); }
.bp-pstat i { font-size: 1.5rem; color: var(--bp-gold); }
.bp-pstat b { font-size: 1.5rem; font-weight: 800; line-height: 1; }
.bp-pstat small { display: block; font-size: .72rem; color: #d3e6f8; margin-top: .15rem; }
.bp-pstat > small, .bp-pstat b + small { display: block; }

.bp-place-wrap.is-marquee { overflow: hidden; padding: 1.6rem 0 2rem;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); }
.bp-place-track { display: flex; gap: 1.5rem; width: max-content; align-items: stretch; }
.is-marquee .bp-place-track { animation: bpMarquee var(--dur, 40s) linear infinite; }
.is-marquee:hover .bp-place-track { animation-play-state: paused; }
.is-grid { padding-top: 1.6rem; padding-bottom: 2rem; }
.is-grid .bp-place-track { width: auto; flex-wrap: wrap; justify-content: center; }
@keyframes bpMarquee { to { transform: translateX(-50%); } }

/* ID-card style placement card */
.bp-pcard { display: flex; flex-direction: column; width: 236px; flex: none; position: relative; background: #fff; color: var(--bp-ink); border-radius: 20px; overflow: hidden; text-align: center;
  box-shadow: 0 22px 40px -18px rgba(0,0,0,.65), 0 0 0 1px rgba(255,255,255,.6) inset; transition: transform .35s, box-shadow .35s; }
.bp-pcard:hover { transform: translateY(-8px) rotate(-1.2deg); box-shadow: 0 30px 50px -16px rgba(0,0,0,.7); }
.bp-pcard::after { content: ""; position: absolute; top: 0; left: -90%; width: 60%; height: 100%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.45), transparent); transform: skewX(-18deg); transition: left .8s; pointer-events: none; }
.bp-pcard:hover::after { left: 140%; }
.bp-pcard .top { position: relative; display: flex; align-items: center; gap: .5rem; padding: 1.5rem .9rem 3.6rem; color: #fff; text-align: left;
  background: linear-gradient(135deg, var(--bp-red-dark), var(--bp-red) 70%, #d62839); }
.bp-pcard .top::before { content: ""; position: absolute; top: 9px; left: 50%; width: 46px; height: 8px; border-radius: 8px; background: rgba(0,0,0,.32); transform: translateX(-50%); box-shadow: inset 0 1px 2px rgba(0,0,0,.4); }
.bp-pcard .top img { width: 30px; height: 30px; border-radius: 50%; background: #fff; object-fit: cover; }
.bp-pcard .org { font-weight: 800; letter-spacing: .5px; line-height: 1; font-size: .95rem; }
.bp-pcard .org small { display: block; font-weight: 500; font-size: .52rem; letter-spacing: .3px; opacity: .85; margin-top: .15rem; text-transform: uppercase; }
.bp-pcard .tag { margin-left: auto; font-size: .62rem; font-weight: 800; letter-spacing: 1px; padding: .22rem .55rem; border-radius: 999px; background: var(--bp-gold); color: #3a2c00; animation: bpTag 2.4s ease-in-out infinite; white-space: nowrap; }
@keyframes bpTag { 50% { transform: scale(1.08); box-shadow: 0 0 0 6px rgba(242,183,5,.25); } }
.bp-pcard .ph { position: relative; width: 108px; height: 108px; margin: -3.1rem auto 0; border-radius: 24px; border: 4px solid #fff; overflow: hidden; background: #dcebf8;
  box-shadow: 0 10px 22px -8px rgba(20,133,203,.5), 0 0 0 3px var(--bp-gold); }
.bp-pcard .ph > img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bp-pcard .ph .ini { width: 100%; height: 100%; display: grid; place-items: center; font-size: 2.6rem; font-weight: 800; color: var(--bp-navy); }
.bp-pcard .yr { position: absolute; left: 0; right: 0; bottom: 0; background: linear-gradient(0deg, rgba(11,79,130,.85), transparent); color: #fff; font-size: .62rem; font-weight: 700; letter-spacing: 1px; padding: .9rem 0 .2rem; }
.bp-pcard .bd { padding: .75rem .9rem .9rem; }
.bp-pcard h6 { font-weight: 800; color: var(--bp-navy); margin: 0; font-size: 1.02rem; }
.bp-pcard .crs { font-size: .74rem; color: var(--bp-muted); margin-top: .15rem; min-height: 2.2em; display: flex; align-items: center; justify-content: center; line-height: 1.15; }
.bp-pcard .reg { display: inline-flex; gap: .35rem; align-items: center; margin-top: .45rem; padding: .22rem .7rem; border-radius: 999px; background: #f1f4fb; border: 1px dashed #c7d2ea; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: .7rem; font-weight: 700; color: var(--bp-navy); }
.bp-pcard .job { margin-top: auto; padding-top: .75rem;  padding: .75rem .8rem .85rem; background: linear-gradient(135deg, var(--bp-navy-deep), var(--bp-navy)); color: #fff; }
.bp-pcard .job small { display: block; font-size: .56rem; letter-spacing: 2px; text-transform: uppercase; color: var(--bp-gold); font-weight: 700; }
.bp-pcard .job b { display: block; font-size: .86rem; line-height: 1.2; margin: .15rem 0; }
.bp-pcard .job span { font-size: .7rem; color: #d3e6f8; }
.bp-pcard .job span i { color: var(--bp-gold); }

/* companies ticker */
.bp-cotick { overflow: hidden; white-space: nowrap; border-block: 1px solid rgba(255,255,255,.15); background: rgba(0,0,0,.18); margin-top: .6rem; }
.bp-cotick .track { display: inline-flex; gap: 2.6rem; padding: .8rem 0; animation: bpMarquee 40s linear infinite reverse; width: max-content; }
.bp-cotick span { font-size: .85rem; font-weight: 600; color: #e8eeff; }
.bp-cotick i { color: var(--bp-gold); margin-right: .45rem; }

/* ---- notice board + news (v3) ---- */
.bp-boardsec { background: linear-gradient(180deg, #fff, var(--bp-bg)); }
.bp-board, .bp-newscol { display: flex; flex-direction: column; background: #fff; border-radius: 24px; border: 1px solid var(--bp-line); box-shadow: var(--bp-shadow); overflow: hidden; }
.bp-board-head { display: flex; align-items: center; gap: .9rem; padding: 1.1rem 1.4rem; color: #fff; background: linear-gradient(135deg, var(--bp-red-dark), var(--bp-red)); }
.bp-board-head.news { background: linear-gradient(135deg, var(--bp-navy-deep), var(--bp-navy)); }
.bp-board-head .ic { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; font-size: 1.25rem; background: rgba(255,255,255,.18); }
.bp-board-head .ic i { animation: bpRing 3s ease-in-out infinite; transform-origin: 50% 0; }
@keyframes bpRing { 0%,86%,100% { transform: rotate(0); } 90% { transform: rotate(14deg); } 94% { transform: rotate(-12deg); } 97% { transform: rotate(8deg); } }
.bp-board-head b { display: block; font-size: 1.05rem; line-height: 1.1; }
.bp-board-head small { opacity: .8; font-size: .74rem; }
.bp-board-head .live { margin-left: auto; font-size: .68rem; font-weight: 800; letter-spacing: 1.5px; display: inline-flex; align-items: center; gap: .4rem; background: rgba(0,0,0,.22); padding: .3rem .7rem; border-radius: 999px; }

.bp-board-body { position: relative; flex: 1 1 0; min-height: 440px; overflow: hidden; background: #f8fbfe; }
.bp-board-body:not(.is-scroll) { overflow-y: auto; }
.bp-board-track { padding: .6rem .8rem; }
.is-scroll .bp-board-track { animation: bpVert var(--vdur, 36s) linear infinite; }
.is-scroll:hover .bp-board-track { animation-play-state: paused; }
@keyframes bpVert { to { transform: translateY(-50%); } }
.bp-board-body.is-scroll::before, .bp-board-body.is-scroll::after { content: ""; position: absolute; left: 0; right: 0; height: 34px; z-index: 2; pointer-events: none; }
.bp-board-body.is-scroll::before { top: 0; background: linear-gradient(#f8fbfe, transparent); }
.bp-board-body.is-scroll::after { bottom: 0; background: linear-gradient(transparent, #f8fbfe); }
.bp-board-foot { padding: .55rem 1rem; font-size: .72rem; color: var(--bp-muted); text-align: center; border-top: 1px solid var(--bp-line); background: #fff; }

.bp-nt { --c: #6b7a99; --cb: #eef1f7; display: flex; align-items: center; gap: .9rem; padding: .85rem .9rem; margin: .45rem 0; border-radius: 16px; background: #fff; border: 1px solid var(--bp-line);
  border-left: 5px solid var(--c); text-decoration: none; color: var(--bp-ink); transition: .25s; }
.bp-nt:hover { transform: translateX(5px); box-shadow: 0 10px 22px -12px rgba(20,133,203,.4); color: var(--bp-ink); }
.bp-nt.t-urgent { --c: #b3121f; --cb: #fdeaec; } .bp-nt.t-update { --c: #0f6fb0; --cb: #e8efff; } .bp-nt.t-event { --c: #11805a; --cb: #e3f6ee; }
.bp-nt .d { flex: none; width: 54px; text-align: center; border-radius: 14px; background: var(--cb); color: var(--c); padding: .45rem 0; line-height: 1; }
.bp-nt .d b { display: block; font-size: 1.4rem; font-weight: 800; }
.bp-nt .d small { font-size: .62rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; }
.bp-nt .m { flex: 1; min-width: 0; }
.bp-nt .meta { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; margin-bottom: .2rem; }
.bp-nt .tp { font-size: .62rem; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; padding: .12rem .55rem; border-radius: 999px; background: var(--cb); color: var(--c); }
.bp-nt .new { font-size: .6rem; font-weight: 800; letter-spacing: 1px; padding: .12rem .5rem; border-radius: 999px; background: #ffd400; color: #3a2c00; animation: bpTag 1.8s infinite; }
.bp-nt .pdf { font-size: .64rem; font-weight: 700; color: var(--bp-muted); }
.bp-nt strong { display: block; font-size: .92rem; font-weight: 700; line-height: 1.25; color: var(--bp-navy); }
.bp-nt em { display: block; font-style: normal; font-size: .76rem; color: var(--bp-muted); margin-top: .15rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bp-nt .go { color: var(--c); opacity: .5; transition: .25s; }
.bp-nt:hover .go { opacity: 1; transform: translateX(3px); }

.bp-newscol { background: #fff; }
.bp-feature { position: relative; display: block; margin: 1rem 1rem .5rem; height: 250px; border-radius: 20px; overflow: hidden; text-decoration: none; color: #fff;
  background: linear-gradient(135deg, #1485cb, #0f6fb0 55%, #8bdbff); }
.bp-feature::before { content: "\f4a6"; font-family: "bootstrap-icons"; position: absolute; right: -10px; top: -18px; font-size: 9rem; opacity: .1; }
.bp-feature img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s; }
.bp-feature:hover img { transform: scale(1.08); }
.bp-feature .shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(11,79,130,.92) 8%, rgba(11,79,130,.35) 55%, rgba(11,79,130,.08)); }
.bp-feature .badge-top { position: absolute; top: 14px; left: 14px; font-size: .7rem; font-weight: 800; letter-spacing: 1px; padding: .3rem .8rem; border-radius: 999px; background: var(--bp-gold); color: #3a2c00; text-transform: uppercase; }
.bp-feature .cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 1rem 1.2rem; }
.bp-feature .cap small { font-size: .72rem; opacity: .85; }
.bp-feature .cap strong { display: block; font-size: 1.15rem; line-height: 1.25; margin: .2rem 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bp-feature .cap em { display: block; font-style: normal; font-size: .78rem; color: #d7e0f5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bp-feature .more { display: inline-flex; gap: .35rem; align-items: center; margin-top: .4rem; font-size: .76rem; font-weight: 700; color: var(--bp-gold); }
.bp-feature:hover .more i { transform: translateX(4px); transition: .25s; }

.bp-nw-list { padding: .2rem 1rem 1rem; display: flex; flex-direction: column; gap: .6rem; flex: 1; }
.bp-nw { display: flex; gap: .9rem; align-items: center; padding: .6rem; border-radius: 16px; border: 1px solid var(--bp-line); text-decoration: none; color: var(--bp-ink); background: #fff; transition: .25s; }
.bp-nw:hover { background: #f1f7fd; transform: translateY(-2px); box-shadow: 0 10px 20px -14px rgba(20,133,203,.5); color: var(--bp-ink); }
.bp-nw .th { position: relative; flex: none; width: 78px; height: 78px; border-radius: 14px; overflow: hidden; display: grid; place-items: center; font-size: 1.8rem; color: #fff; background: linear-gradient(135deg, var(--bp-navy), #2f5fc4); }
.bp-nw .th img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bp-nw .tx small { font-size: .68rem; color: var(--bp-red); font-weight: 700; letter-spacing: .5px; text-transform: uppercase; }
.bp-nw .tx strong { display: block; font-size: .9rem; line-height: 1.25; color: var(--bp-navy); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bp-nw .tx em { display: block; font-style: normal; font-size: .74rem; color: var(--bp-muted); margin-top: .1rem; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.bp-empty { text-align: center; padding: 4rem 1rem; color: var(--bp-muted); } .bp-empty i { font-size: 2.6rem; opacity: .5; }

.bp-reader .modal-header { border-bottom: 3px solid var(--bp-red); align-items: flex-start; }
.bp-reader .modal-body { font-size: .95rem; line-height: 1.75; color: var(--bp-ink); }

/* ---- map right above the footer ---- */
.bp-mapsec { background: #fff; border-top: 1px solid var(--bp-line); }
.bp-mapsec iframe { filter: saturate(1.05); }

@media (max-width: 767.98px) {
  .bp-hero-decor .f { display: none; }
  .bp-pcard { width: 214px; }
  .bp-board-body { min-height: 400px; }
  .bp-feature { height: 220px; }
  .bp-pstat { padding: .6rem 1rem; }
  .bp-hero-decor .ecg { bottom: 40px; opacity: .4; }
}
@media (prefers-reduced-motion: reduce) {
  .js .reveal { opacity: 1 !important; transform: none !important; }
  .bp-place-wrap.is-marquee { overflow-x: auto; }
  .is-marquee .bp-place-track, .bp-cotick .track, .is-scroll .bp-board-track, .bp-confetti span { animation: none !important; }
  .bp-board-body.is-scroll { overflow-y: auto; }
}


/* =========================================================
   v4 - hospital section + placed-students page
   ========================================================= */
.bp-hosp { position: relative; overflow: hidden; color: #fff; padding: 5.5rem 0;
  background: radial-gradient(900px 420px at 100% 0%, rgb(255 255 255 / 40%), transparent 60%), linear-gradient(150deg, var(--bp-navy-deep), var(--bp-navy) 70%, #2a9be0); }
.bp-hosp-bg { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.bp-hosp-bg::before { content: ""; position: absolute; inset: 0; opacity: .05;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cpath d='M39 15h12v24h24v12H51v24H39V51H15V39h24z' fill='white'/%3E%3C/svg%3E"); }
.bp-hosp-bg .blob { position: absolute; border-radius: 50%; filter: blur(70px); animation: bpBlob 14s ease-in-out infinite alternate; }
.bp-hosp-bg .b1 { width: 380px; height: 380px; background: rgb(255 255 255 / 30%); left: -120px; bottom: -120px; }
.bp-hosp-bg .b2 { width: 320px; height: 320px; background: rgba(61,140,255,.25); right: 30%; top: -140px; animation-delay: -5s; }
.bp-hosp-bg .ecg { position: absolute; left: 0; bottom: 30px; width: 100%; height: 80px; opacity: .35; }
.bp-hosp-bg .ecg path { fill: none; stroke: var(--bp-gold); stroke-width: 2.4; vector-effect: non-scaling-stroke; stroke-dasharray: 520 1500; animation: bpEcg 8s linear infinite; filter: drop-shadow(0 0 6px rgba(242,183,5,.8)); }
.bp-hlead { color: #d3e6f8; font-size: 1.02rem; line-height: 1.75; max-width: 34rem; }
.bp-htile { display: flex; gap: .85rem; align-items: center; height: 100%; padding: .85rem 1rem; border-radius: 16px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(6px); transition: .3s; }
.bp-htile:hover { transform: translateY(-4px); background: rgba(255,255,255,.14); border-color: rgba(242,183,5,.6); }
.bp-htile .ic { flex: none; width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; font-size: 1.3rem; color: #3a2c00; background: linear-gradient(135deg, var(--bp-gold), #ffd45c); }
.bp-htile b { display: block; font-size: .98rem; line-height: 1.1; }
.bp-htile small { display: block; color: #b7d6f0; font-size: .74rem; margin-top: .2rem; line-height: 1.3; }
.bp-hstats { display: flex; gap: 0; margin-top: .5rem; border-radius: 18px; overflow: hidden; border: 1px solid rgba(255,255,255,.18); width: fit-content; max-width: 100%; background: rgba(0,0,0,.18); }
.bp-hstats > div { padding: .8rem 1.5rem; text-align: center; border-right: 1px solid rgba(255,255,255,.14); }
.bp-hstats > div:last-child { border-right: 0; }
.bp-hstats b { display: block; font-size: 1.6rem; font-weight: 800; color: var(--bp-gold); line-height: 1; }
.bp-hstats small { font-size: .7rem; letter-spacing: 1px; text-transform: uppercase; color: #d3e6f8; }

.bp-hframe { position: relative; max-width: 500px; margin: 0 auto; padding: 14px; }
.bp-hframe .ring { position: absolute; inset: 0; border-radius: 34px; background: conic-gradient(from 0deg, var(--bp-gold), var(--bp-red), #3d8cff, var(--bp-gold)); animation: bpSpin 9s linear infinite; filter: blur(14px); opacity: .55; }
.bp-hframe figure { position: relative; margin: 0; border-radius: 28px; overflow: hidden; border: 6px solid #fff; box-shadow: 0 30px 60px -20px rgba(0,0,0,.7); background: #d3e6f6; transform: rotate(1.5deg); transition: transform .5s; }
.bp-hframe:hover figure { transform: rotate(0); }
.bp-hframe img { display: block; width: 100%; height: 500px; object-fit: cover; object-position: 50% 15%; transition: transform 1.2s; }
.bp-hframe:hover img { transform: scale(1.05); }
.bp-hframe figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 2.2rem 1rem .8rem; font-size: .78rem; font-weight: 600; background: linear-gradient(0deg, rgba(11,79,130,.9), transparent); }
.bp-hframe figcaption i { color: var(--bp-gold); margin-right: .3rem; }
.bp-hframe .fb { position: absolute; display: inline-flex; align-items: center; gap: .55rem; padding: .6rem 1rem; border-radius: 16px; background: #fff; color: var(--bp-navy); font-size: .8rem; font-weight: 600; box-shadow: 0 16px 30px -10px rgba(0,0,0,.5); animation: bpFloat 6s ease-in-out infinite; }
.bp-hframe .fb i { font-size: 1.3rem; color: var(--bp-red); }
.bp-hframe .fb b { font-size: 1.1rem; font-weight: 800; }
.bp-hframe .b1 { top: 6%; left: -18px; }
.bp-hframe .b2 { bottom: 20%; right: -16px; animation-delay: -2s; }
.bp-hframe .b3 { top: 14%; right: -14px; animation-delay: -4s; background: var(--bp-gold); color: #3a2c00; }
.bp-hframe .b3 i { color: #3a2c00; }

/* placed students page */
.bp-phero { position: relative; overflow: hidden; color: #fff; padding: 1.2rem 0 3.2rem;
  background: radial-gradient(800px 380px at 10% 0%, rgba(179,18,31,.4), transparent 60%), linear-gradient(160deg, var(--bp-navy-deep), var(--bp-navy) 70%, #2a9be0); }
.bp-phero .container { z-index: 2; }
.bp-crumb { --bs-breadcrumb-divider-color: #92bfe6; margin-bottom: .6rem; font-size: .82rem; }
.bp-crumb a { color: #d3e6f8; text-decoration: none; } .bp-crumb .active { color: #fff; }
.bp-ptool { position: sticky; top: 72px; z-index: 1019; background: rgba(255,255,255,.94); backdrop-filter: blur(10px); border-bottom: 1px solid var(--bp-line); box-shadow: 0 10px 24px -20px rgba(20,133,203,.6); }
.bp-ptool-in { display: flex; gap: 1rem; align-items: center; padding: .75rem 0; }
.bp-search { position: relative; flex: 0 0 320px; }
.bp-search i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--bp-muted); }
.bp-search input { width: 100%; border: 1.5px solid var(--bp-line); border-radius: 999px; padding: .55rem 1rem .55rem 2.4rem; font-size: .88rem; outline: 0; background: #fff; }
.bp-search input:focus { border-color: var(--bp-navy); box-shadow: 0 0 0 .2rem rgba(20,133,203,.1); }
.bp-chips { display: flex; gap: .5rem; overflow-x: auto; scrollbar-width: none; padding: .15rem 0; }
.bp-chips::-webkit-scrollbar { display: none; }
.bp-chips button { flex: none; border: 1.5px solid var(--bp-line); background: #fff; color: var(--bp-ink); font-size: .8rem; font-weight: 600; padding: .4rem .9rem; border-radius: 999px; transition: .2s; white-space: nowrap; }
.bp-chips button span { margin-left: .3rem; font-size: .7rem; background: #e8f2fb; color: var(--bp-navy); padding: .05rem .45rem; border-radius: 999px; }
.bp-chips button:hover { border-color: var(--bp-red); color: var(--bp-red); }
.bp-chips button.on { background: var(--bp-red); border-color: var(--bp-red); color: #fff; }
.bp-chips button.on span { background: rgba(255,255,255,.25); color: #fff; }

.bp-recruit { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; padding: 1rem 1.2rem; border-radius: 18px; background: #fff; border: 1px solid var(--bp-line); }
.bp-recruit .lbl { font-weight: 800; color: var(--bp-navy); font-size: .85rem; margin-right: .4rem; }
.bp-recruit .lbl i { color: var(--bp-red); }
.bp-recruit .rc { font-size: .76rem; font-weight: 600; padding: .25rem .75rem; border-radius: 999px; background: var(--bp-bg); border: 1px solid var(--bp-line); color: var(--bp-ink); }
.bp-recruit .rc b { color: var(--bp-red); margin-left: .25rem; }

.bp-cgroup { margin-bottom: 2.6rem; scroll-margin-top: 150px; }
.bp-chead { display: flex; align-items: center; gap: .9rem; margin-bottom: 1.1rem; padding-bottom: .8rem; border-bottom: 2px solid var(--bp-line); position: relative; }
.bp-chead::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 90px; height: 2px; background: linear-gradient(90deg, var(--bp-red), var(--bp-gold)); }
.bp-chead .ico { width: 50px; height: 50px; border-radius: 15px; display: grid; place-items: center; font-size: 1.4rem; color: #fff; background: linear-gradient(135deg, var(--bp-red-dark), var(--bp-red)); box-shadow: 0 10px 18px -8px rgba(179,18,31,.6); }
.bp-chead h3 { margin: 0; font-size: 1.2rem; font-weight: 800; color: var(--bp-navy); }
.bp-chead small { color: var(--bp-muted); }
.bp-chead .cnt { margin-left: auto; min-width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: var(--bp-navy); color: #fff; font-weight: 800; }

.bp-prow { position: relative; display: flex; gap: 1rem; height: 100%; padding: 1rem; border-radius: 20px; background: #fff; border: 1px solid var(--bp-line); border-left: 5px solid var(--bp-red); transition: .3s; overflow: hidden; }
.bp-prow:hover { transform: translateY(-5px); box-shadow: var(--bp-shadow); border-left-color: var(--bp-gold); }
.bp-prow .av { position: relative; flex: none; width: 84px; height: 84px; border-radius: 20px; background: #dcebf8; box-shadow: 0 0 0 3px var(--bp-gold), 0 10px 18px -8px rgba(20,133,203,.5); }
.bp-prow .av img, .bp-prow .av .ini { width: 100%; height: 100%; border-radius: 20px; object-fit: cover; display: grid; place-items: center; font-size: 2rem; font-weight: 800; color: var(--bp-navy); }
.bp-prow .av .ok { position: absolute; right: -8px; bottom: -8px; font-size: 1.25rem; color: #1aa174; background: #fff; border-radius: 50%; line-height: 1; }
.bp-prow .in { min-width: 0; flex: 1; }
.bp-prow h6 { margin: 0; font-weight: 800; font-size: 1.02rem; color: var(--bp-navy); padding-right: 2.6rem; }
.bp-prow .reg { display: inline-flex; gap: .3rem; align-items: center; margin-top: .25rem; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: .72rem; font-weight: 700; color: var(--bp-muted); }
.bp-prow .at { display: flex; gap: .5rem; margin-top: .6rem; padding: .5rem .7rem; border-radius: 12px; background: linear-gradient(135deg, #e9f3fc, #fff4f5); font-size: .84rem; font-weight: 700; color: var(--bp-ink); line-height: 1.25; }
.bp-prow .at i { color: var(--bp-red); margin-top: .1rem; }
.bp-prow .at small { display: block; font-size: .58rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--bp-muted); font-weight: 700; }
.bp-prow .ds { margin-top: .45rem; font-size: .76rem; color: var(--bp-muted); font-weight: 600; }
.bp-prow .ds i { color: var(--bp-gold); margin-right: .25rem; }
.bp-prow .yr { position: absolute; top: .8rem; right: .8rem; font-size: .66rem; font-weight: 800; letter-spacing: .6px; padding: .15rem .55rem; border-radius: 999px; background: var(--bp-navy); color: #fff; }

.bp-cta { display: flex; flex-wrap: wrap; gap: 1.2rem; justify-content: space-between; align-items: center; margin-top: 1rem; padding: 1.8rem 2rem; border-radius: 24px; color: #fff; background: linear-gradient(135deg, var(--bp-navy-deep), var(--bp-navy)); box-shadow: var(--bp-shadow); }
.bp-cta h4 { margin: 0 0 .2rem; font-weight: 800; } .bp-cta p { margin: 0; color: #d3e6f8; }

@media (max-width: 991.98px) {
  .bp-hosp { padding: 3.5rem 0; }
  .bp-hframe .b1 { left: -4px; } .bp-hframe .b2 { right: -4px; }
  .bp-hframe img { height: 380px; }
  .bp-ptool-in { flex-direction: column; align-items: stretch; gap: .6rem; }
  .bp-search { flex: none; }
}
@media (max-width: 575.98px) {
  .bp-hstats > div { padding: .7rem 1rem; }
  .bp-prow .av { width: 72px; height: 72px; }
  .bp-cta { padding: 1.4rem; }
}

/* =========================================================
   v9 - Notices & News archive pages, "view all" buttons
   ========================================================= */
.bp-btn-navy { background: var(--bp-navy); color: #fff; box-shadow: 0 10px 20px -8px rgba(20,133,203,.6); }
.bp-btn-navy:hover { background: var(--bp-navy-deep); color: #fff; transform: translateY(-2px); }
.bp-viewmore { padding: 1rem 1.2rem 1.3rem; text-align: center; border-top: 1px dashed var(--bp-line); background: #fff; }
.bp-viewmore .bp-btn { padding: .65rem 1.6rem; }

.bp-subhero { position: relative; overflow: hidden; color: #fff; padding: 1.2rem 0 3.4rem; }
.bp-subhero.red  { background: radial-gradient(800px 380px at 90% 0%, rgb(255 255 255 / 22%), transparent 60%), linear-gradient(150deg, #5e0912, var(--bp-red-dark) 45%, var(--bp-red)); }
.bp-subhero.blue { background: radial-gradient(800px 380px at 10% 0%, rgb(255 255 255 / 30%), transparent 60%), linear-gradient(160deg, var(--bp-navy-deep), var(--bp-navy) 70%, #2a9be0); }
.bp-subhero::before { content: ""; position: absolute; inset: 0; opacity: .05; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cpath d='M39 15h12v24h24v12H51v24H39V51H15V39h24z' fill='white'/%3E%3C/svg%3E"); }
.bp-search.big { position: relative; display: flex; max-width: 560px; margin-top: 1.4rem; flex: none; }
.bp-search.big i { left: 20px; z-index: 2; }
.bp-search.big input { padding: .9rem 7.2rem .9rem 3rem; border: 0; font-size: .95rem; box-shadow: 0 18px 36px -16px rgba(0,0,0,.55); }
.bp-search.big button { position: absolute; right: 6px; top: 6px; bottom: 6px; border: 0; border-radius: 999px; padding: 0 1.4rem; background: var(--bp-gold); color: #3a2c00; font-weight: 700; font-size: .85rem; }
.bp-tchips .chip { flex: none; display: inline-flex; align-items: center; gap: .4rem; text-decoration: none; border: 1.5px solid var(--bp-line); background: #fff; color: var(--bp-ink); font-size: .82rem; font-weight: 600; padding: .42rem 1rem; border-radius: 999px; transition: .2s; white-space: nowrap; }
.bp-tchips .chip span { font-size: .7rem; background: #e8f2fb; color: var(--bp-navy); padding: .05rem .5rem; border-radius: 999px; }
.bp-tchips .chip:hover { border-color: var(--bp-red); color: var(--bp-red); }
.bp-tchips .chip.on { background: var(--bp-red); border-color: var(--bp-red); color: #fff; }
.bp-tchips .chip.on span { background: rgba(255,255,255,.25); color: #fff; }

/* notices timeline */
.bp-timeline { position: relative; max-width: 920px; margin: 0 auto; padding-left: 34px; }
.bp-timeline::before { content: ""; position: absolute; left: 13px; top: 8px; bottom: 8px; width: 3px; border-radius: 3px; background: linear-gradient(var(--bp-red), var(--bp-gold), var(--bp-navy)); opacity: .35; }
.bp-month { margin: 1.6rem 0 1rem -34px; }
.bp-month:first-child { margin-top: 0; }
.bp-month span { display: inline-block; padding: .35rem 1.1rem; border-radius: 999px; background: var(--bp-navy-deep); color: #fff; font-size: .78rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.bp-npc { --c: #5d6a85; --cb: #eef1f7; position: relative; display: flex; gap: 1.2rem; padding: 1.2rem 1.4rem; margin-bottom: 1rem; background: #fff; border: 1px solid var(--bp-line); border-radius: 20px; cursor: pointer; transition: .3s; animation: bpRise .5s both; }
.bp-npc:hover { transform: translateX(6px); box-shadow: var(--bp-shadow); border-color: var(--c); }
.bp-npc.t-urgent { --c: #b3121f; --cb: #fdeaec; } .bp-npc.t-update { --c: #0f6fb0; --cb: #e8f2fb; } .bp-npc.t-event { --c: #11805a; --cb: #e3f6ee; }
.bp-npc .dot { position: absolute; left: -34px; top: 22px; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-size: .8rem; color: #fff; background: var(--c); box-shadow: 0 0 0 5px #fff, 0 0 0 7px var(--cb); }
.bp-npc .d { flex: none; width: 66px; text-align: center; padding: .55rem 0; border-radius: 16px; background: var(--cb); color: var(--c); align-self: flex-start; line-height: 1; }
.bp-npc .d b { display: block; font-size: 1.7rem; font-weight: 800; } .bp-npc .d small { display: block; font-size: .72rem; font-weight: 700; text-transform: uppercase; margin-top: .15rem; } .bp-npc .d em { display: block; font-style: normal; font-size: .62rem; opacity: .75; margin-top: .15rem; }
.bp-npc .m { min-width: 0; flex: 1; }
.bp-npc .meta { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin-bottom: .4rem; font-size: .66rem; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; }
.bp-npc .tp { padding: .15rem .6rem; border-radius: 999px; background: var(--cb); color: var(--c); }
.bp-npc .new { padding: .15rem .5rem; border-radius: 999px; background: var(--bp-gold); color: #3a2c00; animation: bpPulse 1.8s infinite; }
.bp-npc .pdf { color: var(--bp-muted); }
.bp-npc h3 { margin: 0 0 .35rem; font-size: 1.08rem; font-weight: 700; color: var(--bp-navy); line-height: 1.35; }
.bp-npc p { margin: 0 0 .7rem; font-size: .88rem; color: var(--bp-muted); line-height: 1.6; }
.bp-npc .act { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; font-size: .82rem; font-weight: 700; }
.bp-npc .rd { color: var(--c); } .bp-npc:hover .rd i { transform: translateX(4px); } .bp-npc .rd i { display: inline-block; transition: .2s; }
.bp-npc .dl { text-decoration: none; padding: .25rem .8rem; border-radius: 999px; background: var(--bp-red); color: #fff; font-size: .75rem; }
.bp-npc .dl:hover { background: var(--bp-red-dark); }

/* news grid */
.bp-nwc { height: 100%; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--bp-line); border-radius: 22px; overflow: hidden; cursor: pointer; transition: .35s; animation: bpRise .5s both; }
.bp-nwc:hover { transform: translateY(-8px); box-shadow: 0 26px 44px -22px rgba(11,79,130,.55); }
.bp-nwc .im { position: relative; height: 200px; overflow: hidden; background: linear-gradient(135deg, var(--bp-navy), #2a9be0); }
.bp-nwc .im img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s; }
.bp-nwc:hover .im img { transform: scale(1.08); }
.bp-nwc .im .ph { position: absolute; inset: 0; display: grid; place-items: center; font-size: 3.4rem; color: rgba(255,255,255,.3); }
.bp-nwc .im::after { content: ""; position: absolute; inset: auto 0 0 0; height: 55%; background: linear-gradient(0deg, rgba(11,79,130,.55), transparent); }
.bp-nwc .dt { position: absolute; left: 14px; bottom: 12px; z-index: 2; color: #fff; line-height: 1; display: flex; align-items: baseline; gap: .35rem; }
.bp-nwc .dt b { font-size: 1.8rem; font-weight: 800; } .bp-nwc .dt small { font-size: .78rem; font-weight: 600; opacity: .9; }
.bp-nwc .badge-top { position: absolute; z-index: 2; top: 14px; left: 14px; background: var(--bp-gold); color: #3a2c00; font-size: .68rem; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; padding: .3rem .8rem; border-radius: 999px; }
.bp-nwc .tx { display: flex; flex-direction: column; flex: 1; padding: 1.2rem 1.3rem 1.3rem; }
.bp-nwc .tx small { color: var(--bp-red); font-weight: 700; font-size: .72rem; letter-spacing: .6px; text-transform: uppercase; }
.bp-nwc h3 { margin: .4rem 0 .5rem; font-size: 1.08rem; font-weight: 700; line-height: 1.38; color: var(--bp-navy); }
.bp-nwc p { margin: 0 0 1rem; font-size: .87rem; line-height: 1.6; color: var(--bp-muted); }
.bp-nwc .rd { margin-top: auto; font-size: .82rem; font-weight: 700; color: var(--bp-red); } .bp-nwc .rd i { display: inline-block; transition: .2s; } .bp-nwc:hover .rd i { transform: translateX(5px); }
.bp-nwc.big { flex-direction: row; min-height: 340px; }
.bp-nwc.big .im { flex: 0 0 55%; height: auto; }
.bp-nwc.big .tx { justify-content: center; padding: 2rem 2.4rem; }
.bp-nwc.big h3 { font-size: 1.6rem; } .bp-nwc.big p { font-size: .95rem; }

/* pager */
.bp-pager { display: flex; flex-wrap: wrap; justify-content: center; gap: .45rem; margin-top: 2.4rem; }
.bp-pager .pg, .bp-pager .dots { min-width: 42px; height: 42px; padding: 0 .9rem; display: inline-flex; align-items: center; justify-content: center; gap: .3rem; border-radius: 999px; font-size: .85rem; font-weight: 700; text-decoration: none; color: var(--bp-navy); background: #fff; border: 1.5px solid var(--bp-line); transition: .2s; }
.bp-pager .dots { border: 0; background: none; min-width: 20px; padding: 0; }
.bp-pager .pg:hover { border-color: var(--bp-red); color: var(--bp-red); }
.bp-pager .pg.on { background: var(--bp-red); border-color: var(--bp-red); color: #fff; box-shadow: 0 10px 18px -8px rgba(179,18,31,.6); }
.bp-pager .pg.off { opacity: .4; pointer-events: none; }
@keyframes bpRise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@media (max-width: 767.98px) {
  .bp-nwc.big { flex-direction: column; } .bp-nwc.big .im { flex: none; height: 210px; } .bp-nwc.big .tx { padding: 1.3rem; } .bp-nwc.big h3 { font-size: 1.2rem; }
  .bp-npc { flex-direction: column; gap: .8rem; padding: 1rem; }
  .bp-npc .d { width: auto; display: inline-flex; gap: .4rem; align-items: baseline; padding: .4rem .9rem; } .bp-npc .d b { font-size: 1.2rem; }
  .bp-timeline { padding-left: 26px; } .bp-month { margin-left: -26px; } .bp-npc .dot { left: -26px; width: 22px; height: 22px; font-size: .65rem; top: 18px; }
  .bp-timeline::before { left: 9px; }
}
@media (prefers-reduced-motion: reduce) { .bp-npc, .bp-nwc { animation: none; } }

/* course card: fees */
.bp-course .bp-pill { margin-right: .3rem; }
.bp-pill.fee { background: #e3f6ee; color: #11805a; }
.bp-pill.fee2 { background: #fff6dc; color: #8a6200; }
.bp-pill .bi-currency-rupee { font-size: .7rem; margin-right: -.05rem; }
.bp-course h6 { padding-right: 3.2rem; }
