/* ===============================
   Intro Section
   =============================== */

.intro {
  font-size: 1.05rem;
  line-height: 1.75;
  margin-bottom: 1.1rem;
  color: var(--text-main);
}

.intro a {
  color: var(--primary);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px dashed transparent;
  transition: all 0.2s ease-in-out;
}

.intro a:hover {
  border-bottom: 1px dashed var(--primary);
  opacity: 0.9;
}

/* ===============================
   Career Goals Section
   =============================== */

.goals {
  margin: 1.4rem 0;
  padding-left: 0.2rem;
}

.goal-item {
  display: block;
  margin-bottom: 0.85rem;
  padding-left: 0.4rem;
  line-height: 1.75;
  color: var(--text-muted);
  position: relative;
}

.goal-item strong {
  color: var(--text-main);
  font-weight: 600;
}

.goal-item i {
  color: var(--primary);
  margin-right: 10px;
  font-size: 0.95rem;
}

/* Subtle hover lift */
.goal-item:hover {
  transform: translateX(2px);
  transition: transform 0.15s ease-in-out;
}

/* ===============================
   EDI Commitment Section
   =============================== */

.edi {
  margin-top: 1.6rem;
  padding: 0.9rem 1rem;
  border-left: 4px solid var(--secondary);
  background-color: var(--bg-soft);
  border-radius: 6px;
  line-height: 1.75;
  color: var(--text-muted);
}

.edi strong {
  color: var(--text-main);
  font-weight: 600;
}

.edi i {
  color: var(--secondary);
  margin-right: 8px;
  font-size: 1rem;
}

/* ===============================
   Responsive Tweaks
   =============================== */

@media (max-width: 768px) {
  .intro,
  .goal-item,
  .edi {
    font-size: 0.98rem;
  }

  .edi {
    padding: 0.8rem;
  }
}

/* ===============================
   Research Paragraph Styling
   =============================== */

.research-text {
  font-size: 1.03rem;
  line-height: 1.8;
  margin-bottom: 1rem;
  color: var(--text-muted);
}

/* Core emphasis */
.hl-primary {
  font-weight: 600;
  color: var(--primary);
}

.hl-secondary {
  font-weight: 600;
  color: #374151; /* slate */
}

.hl-entity {
  font-weight: 600;
  color: #111827;
}

/* Action phrases */
.hl-action {
  font-weight: 600;
  color: #1f2937;
  border-bottom: 2px solid rgba(108, 99, 255, 0.25);
  padding-bottom: 1px;
}

/* EDI emphasis */
.hl-edi {
  font-weight: 600;
  color: var(--secondary);
}

/* Subtle hover polish (optional but classy) */
.hl-primary:hover,
.hl-action:hover,
.hl-edi:hover {
  opacity: 0.9;
}
.research-pillars {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin: 1.2rem 0 1.4rem;
  padding-left: 0.1rem;
}

.pillar-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0.45rem 0.75rem;
  border-radius: 999px;
  background-color: #f8fafc;
  border: 1px solid var(--border-soft);
  color: var(--text-muted);
  font-weight: 600;
  font-size: 0.9rem;
  transition: all 0.15s ease-in-out;
}

.pillar-chip i {
  color: var(--primary);
  font-size: 0.95rem;
}

/* Subtle hover polish */
.pillar-chip:hover {
  background-color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(17, 24, 39, 0.08);
}

/* ===============================
   Teaching Paragraph Styling
   =============================== */

.teaching-text {
  font-size: 1.03rem;
  line-height: 1.8;
  margin-bottom: 1rem;
  color: var(--text-muted);
}

.teaching-link {
  color: var(--primary);
  font-weight: 650;
  text-decoration: none;
  border-bottom: 1px dashed transparent;
  transition: all 0.2s ease-in-out;
}

.teaching-link:hover {
  border-bottom: 1px dashed var(--primary);
  opacity: 0.92;
}

/* Teaching pillars (chips) */
.teaching-pillars {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin: 1.2rem 0 1.4rem;
  padding-left: 0.1rem;
}

/* Reuse pillar-chip styles if already added for research;
   keeping here for safety if Teaching appears on its own. */
.pillar-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0.45rem 0.75rem;
  border-radius: 999px;
  background-color: #f8fafc;
  border: 1px solid var(--border-soft);
  color: var(--text-muted);
  font-weight: 600;
  font-size: 0.9rem;
  transition: all 0.15s ease-in-out;
}

.pillar-chip i {
  color: var(--primary);
  font-size: 0.95rem;
}

.pillar-chip:hover {
  background-color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(17, 24, 39, 0.08);
}

/* ===============================
   Review Section (Paragraph Style)
   =============================== */

.review-title {
  font-size: 1.3rem;
  margin-bottom: 0.5rem;
  color: var(--text-main);
}

.review-title i {
  color: var(--primary);
  margin-right: 8px;
}

.review-text {
  font-size: 1.02rem;
  line-height: 1.8;
  margin-bottom: 0.9rem;
  color: var(--text-muted);
}

.review-text strong {
  color: var(--text-main);
}

.review-text a {
  margin-left: 4px;
  color: var(--primary);
  text-decoration: none;
}

.review-text a:hover {
  opacity: 0.85;
}

.leadership-text {
  font-size: 1.03rem;
  line-height: 1.85;
  margin-bottom: 1rem;
  color: var(--text-muted);
}

/* ==========================================
   Unified Responsive Grid System
   Works for both Latest News & Projects
   ========================================== */

/* Safe fallback vars */
:root{
  --primary:#6c63ff;
  --text-main:#111827;
  --text-muted:#4b5563;
  --border-soft:rgba(17,24,39,0.10);
}

/* Section wrapper */
.sec{
  margin: 0 0 18px;
}

/* Header bar: consistent */
.sec-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  margin: 0.35rem 0 0.9rem;
  border:1px solid var(--border-soft);
  border-radius:14px;
  background:
    radial-gradient(700px 260px at 10% 0%, rgba(108, 99, 255, 0.12), transparent 55%),
    #ffffff;
  box-shadow:0 6px 18px rgba(17,24,39,0.06);
}

.sec-title{
  margin:0;
  font-size:1.28rem;
  font-weight:800;
  color:var(--text-main);
  letter-spacing:-0.15px;
}

.sec-title i{
  color:var(--primary);
  margin-right:6px;
}

/* CTA button */
.sec-cta{
  border-radius:999px;
  padding:0.5rem 0.9rem;
  font-size:0.88rem;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  box-shadow:0 4px 14px rgba(108,99,255,0.20);
  transition:transform 0.15s ease, box-shadow 0.15s ease;
}

.sec-cta:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(108,99,255,0.26);
}

/* Fully responsive grid:
   - 2 columns on desktop
   - 1 column on mobile
   - automatically adapts without bootstrap */
.sec-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
}

/* Cards */
.u-card{
  border:1px solid var(--border-soft);
  border-radius:14px;
  background: linear-gradient(180deg, #ffffff, #fbfcff);
  box-shadow:0 8px 22px rgba(17,24,39,0.07);
  transition:transform 0.15s ease, box-shadow 0.15s ease;
  overflow:hidden;
}

.u-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(17,24,39,0.10);
}

.u-card-body{
  padding:12px;
}

/* Common divider */
.u-divider{
  height:1px;
  background:var(--border-soft);
  margin:10px 0;
}

/* Date badge (News) */
.u-badge{
  display:inline-flex;
  align-items:center;
  font-size:0.84rem;
  font-weight:750;
  color:var(--text-main);
  background: rgba(108, 99, 255, 0.10);
  border:1px solid rgba(108, 99, 255, 0.18);
  padding:0.28rem 0.55rem;
  border-radius:999px;
}

/* Text */
.u-text{
  margin:0;
  font-size:0.97rem;
  line-height:1.6;
  color:var(--text-muted);
  overflow-wrap:anywhere;
}

.u-text strong{
  color:var(--text-main);
}

.u-quote{
  font-weight:650;
  color:var(--text-main);
}

/* Inline links (news + projects footer) */
.u-link{
  color:var(--primary);
  font-weight:700;
  text-decoration:none;
  border-bottom:1px dotted transparent;
  margin-left:6px;
  transition:all 0.15s ease-in-out;
  white-space:nowrap;
}

.u-link:hover{
  border-bottom:1px dotted var(--primary);
  opacity:0.92;
}

.u-link--video{
  color:#dc2626;
}
.u-link--video:hover{
  border-bottom-color:#dc2626;
}

/* --------------------------
   Projects (inside same cards)
   -------------------------- */

.p-top{
  display:flex;
  gap:10px;
  align-items:flex-start;
}

.p-icon{
  width:46px;
  height:46px;
  border-radius:12px;
  background: rgba(108, 99, 255, 0.10);
  border:1px solid rgba(108, 99, 255, 0.18);
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}

.p-icon i{
  font-size:1.15rem;
  color:var(--primary);
}

.p-title{
  margin:0;
  font-size:1.03rem;
  font-weight:800;
  color:var(--text-main);
  letter-spacing:-0.12px;
}

.p-desc{
  margin:0.25rem 0 0;
  font-size:0.95rem;
  line-height:1.45;
  color:var(--text-muted);
  overflow-wrap:anywhere;
}

/* Smaller tags */
.p-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}

.p-tag{
  display:inline-flex;
  align-items:center;
  padding:0.18rem 0.5rem;
  border-radius:6px;
  background:#f1f5f9;
  border:1px solid #e2e8f0;
  color:#475569;
  font-size:0.72rem;
  font-weight:600;
  letter-spacing:0.2px;
  line-height:1.2;
}

.p-foot{
  display:flex;
  justify-content:flex-end;
}

/* --------------------------
   Responsive: full portability
   -------------------------- */
@media (max-width: 900px){
  .sec-grid{
    grid-template-columns: 1fr; /* 1 column on tablets/smaller */
  }
}

@media (max-width: 768px){
  .sec-head{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
  .sec-cta{
    width:100%;
    justify-content:center;
  }
}

@media (max-width: 420px){
  .sec-title{ font-size:1.18rem; }
  .sec-cta{ font-size:0.85rem; padding:0.48rem 0.85rem; }
}


/* ===============================
   My Links – Professional Styling
   =============================== */

.links-carousel {
  padding: 6px 0;
}

/* Individual link card */
.link-card {
  display: flex;
  justify-content: center;
  align-items: center;
}

.link-card a {
  width: 140px;
  height: 120px;
  border: 1px solid var(--border-soft);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 6px 16px rgba(17, 24, 39, 0.06);

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;

  text-decoration: none;
  color: var(--text-main);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.link-card a:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(17, 24, 39, 0.12);
}

/* Icons: small, consistent, academic */
.link-card i {
  font-size: 1.6rem;
  color: var(--primary);
  opacity: 0.95;
}

/* Text */
.link-card span {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--text-main);
  letter-spacing: 0.2px;
  text-align: center;
}

/* Subtle brand hints (optional, restrained) */
.link-card a[aria-label="YouTube"] i {
  color: #dc2626;
}

.link-card a[aria-label="LinkedIn"] i {
  color: #0a66c2;
}

.link-card a[aria-label="Stack Overflow"] i {
  color: #f48024;
}

/* Responsive polish */
@media (max-width: 768px) {
  .link-card a {
    width: 100%;
    height: 110px;
  }
}



/* =========================
   Publications – compact stacked layout
   ========================= */

.pub-year{
  margin-top: 24px;
}

.pub-year-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom: 12px;
}

.pub-year-head h2{
  margin:0;
  font-size: 28px;
  font-weight: 900;
}

/* Publication item */
.pub-item{
  padding-top: 14px;
  padding-bottom: 6px;
}

/* Title */
.pub-title{
  margin: 0 0 4px;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.25;
}

/* Authors (tight) */
.pub-authors{
  margin: 0 0 4px;
  font-size: 14px;
  opacity: 0.9;
}

/* PDF / Package links (inline, compact) */
.pub-links{
  display:flex;
  gap: 10px;
  margin: 0 0 4px;
}

.pub-link{
  display:inline-flex;
  align-items:center;
  gap: 6px;
  padding: 4px 9px;
  font-size: 12px;
  font-weight: 800;
  border-radius: 8px;
  border: 1px solid rgba(0,0,0,0.15);
  background: rgba(0,0,0,0.04);
  text-decoration: none !important;
}

.pub-link-ghost{
  background: transparent;
}

.pub-link:hover{
  transform: translateY(-1px);
}

/* Venue */
.pub-meta{
  margin: 0;
  font-size: 13px;
  opacity: 0.85;
  display:flex;
  gap: 6px;
  align-items:center;
  flex-wrap: wrap;
}

/* Badge */
.pub-badge{
  display:inline-flex;
  align-items:center;
  gap: 6px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 900;
  border-radius: 999px;
  text-transform: uppercase;
}

/* Conference vs Journal */

.pub-badge-conf{
  background: rgba(255,90,60,0.18);
  color: #c83b22;
}


/* Conference (softer coral background) */
.pub-conf{
  border-left: 4px solid rgba(255, 90, 60, 0.45);
  padding-left: 12px;
  background: rgba(255, 90, 60, 0.02); /* was 0.04 */
  border-radius: 10px;
}

/* Journal (softer blue background) */
.pub-journal{
  border-left: 4px solid rgba(43, 124, 255, 0.45);
  padding-left: 12px;
  background: rgba(43, 124, 255, 0.02); /* was 0.04 */
  border-radius: 10px;
}

.pub-badge-journal{
  background: rgba(43,124,255,0.18);
  color: #1a55b7;
}

/* Tags */
.pub-tags{
  margin-top: 4px;
  display:flex;
  gap: 6px;
  flex-wrap: wrap;
}

.pub-tag{
  font-size: 12px;
  font-weight: 800;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(0,0,0,0.05);
  border: 1px solid rgba(0,0,0,0.06);
}

/* Gap between publications */
.pub-gap{
  height: 14px;
}

/* Mobile */
@media (max-width: 767px){
  .pub-title{ font-size: 17px; }
}


/* =========================
   Theses section
   ========================= */

.thesis-section{
  margin-top: 50px;
}

/* Header */
.thesis-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom: 18px;
}

.thesis-head h2{
  margin:0;
  font-size: 28px;
  font-weight: 900;
}

/* Thesis card */
.thesis-item{
  padding: 14px 14px 10px;
  border-radius: 12px;
}

/* MSc vs BSc */
.thesis-msc{
  border-left: 4px solid rgba(40, 167, 69, 0.45);
  background: rgba(40, 167, 69, 0.02);
}

.thesis-bsc{
  border-left: 4px solid rgba(108, 117, 125, 0.45);
  background: rgba(108, 117, 125, 0.02);
}

/* Header row */
.thesis-header{
  display:flex;
  justify-content: space-between;
  align-items:flex-start;
  gap: 12px;
}

.thesis-title{
  margin: 0;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.25;
  flex:1;
}

/* Links */
.thesis-links{
  flex-shrink: 0;
}

.thesis-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 800;
  border-radius: 8px;
  border: 1px solid rgba(0,0,0,0.15);
  background: rgba(0,0,0,0.04);
  text-decoration: none !important;
}

.thesis-link:hover{
  transform: translateY(-1px);
}

/* Authors */
.thesis-authors{
  margin: 4px 0 4px;
  font-size: 14px;
  opacity: 0.9;
}

/* Meta */
.thesis-meta{
  display:flex;
  align-items:center;
  gap:8px;
  font-size: 13px;
  font-weight: 600;
  opacity: 0.85;
}

/* Degree badge */
.thesis-badge{
  padding: 4px 9px;
  font-size: 11px;
  font-weight: 900;
  border-radius: 999px;
  text-transform: uppercase;
}

.thesis-badge-msc{
  background: rgba(40, 167, 69, 0.18);
  color: #1e7e34;
}

.thesis-badge-bsc{
  background: rgba(108, 117, 125, 0.18);
  color: #495057;
}

/* Gap between theses */
.thesis-gap{
  height: 14px;
}

/* Mobile */
@media (max-width: 767px){
  .thesis-header{
    flex-direction: column;
  }
}



/* Research Tools & Technology Experience (Stylish list) */
.rtte{
  margin-top: 8px;
  display: grid;
  gap: 10px;
}

/* Each item = card with left accent */
.rtte-item{
  position: relative;
  display: flex;
  gap: 12px;
  padding: 14px 14px 14px 12px;
  background: #ffffff;
  border: 1px solid #e8e8e8;
  border-radius: 12px;
  box-shadow: 0 8px 18px rgba(0,0,0,0.05);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  overflow: hidden;
}

/* Left gradient accent */
.rtte-item::before{
  content:"";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, #6d5efc, #00c2ff);
}

/* Soft glow corner */
.rtte-item::after{
  content:"";
  position:absolute;
  right:-40px; top:-40px;
  width: 120px; height: 120px;
  background: radial-gradient(circle, rgba(109,94,252,.18), transparent 60%);
  filter: blur(1px);
}

.rtte-item:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 26px rgba(0,0,0,0.08);
  border-color: #dcdcff;
}

.rtte-num{
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 13px;
  color: #1f2a44;
  background: #f4f6ff;
  border: 1px solid #e3e8ff;
  margin-top: 1px;
}

.rtte-body{
  min-width: 0;
}

.rtte-title{
  font-size: 14.5px;
  font-weight: 700;
  color: #1f2a44;
  letter-spacing: 0.1px;
  margin-bottom: 4px;
}

.rtte-text{
  font-size: 13.5px;
  color: #4b5563;
  line-height: 1.55;
}

/* Mobile */
@media (max-width: 576px){
  .rtte-item{
    padding: 12px;
  }
  .rtte-num{
    width: 30px;
    height: 30px;
    border-radius: 9px;
  }
}



/* ================================
   Compact Training & Certification
================================ */
.cert-grid{
  margin-left:-8px;
  margin-right:-8px;
}
.cert-grid > [class*="col-"]{
  padding-left:8px;
  padding-right:8px;
  margin-bottom:10px;
}

.certificate-item{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:10px;
  padding:10px 12px;
  margin:0;
  box-shadow:0 8px 18px rgba(0,0,0,.05);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  overflow:hidden;
  position:relative;
}

/* subtle left accent */
.certificate-item::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:3px;
  background:linear-gradient(180deg,#6d5efc,#00c2ff);
  opacity:.9;
}

.certificate-item:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(0,0,0,.07);
  border-color:rgba(0,0,0,.14);
}

.certi-content{ margin:0; padding:0; }

.certi-title h4{
  margin:0 0 6px 0;
  font-size:14.5px;
  font-weight:700;
  line-height:1.25;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.certi-links a{ margin-left:6px; }
.certi-links i.fa{
  font-size:14px;
  opacity:.8;
}
.certi-links a:hover i.fa{ opacity:1; }

.certi-company{
  margin:0;
  font-size:13px;
  line-height:1.35;
  color:#555;
}
.certi-company a{ text-decoration:none; }
.certi-company a:hover{ text-decoration:underline; }

.certi-date{
  margin-top:5px;
  font-size:12.5px;
  color:#777;
}

/* soft cards */
.certi-soft{
  background:#fbfbff;
  border-color:rgba(109,94,252,.18);
}
.certi-soft::before{
  background:linear-gradient(180deg,#8b5cf6,#22d3ee);
}

/* Mobile tighter */
@media (max-width:576px){
  .certificate-item{ padding:9px 10px; }
  .certi-title h4{ font-size:14px; }
}


/* Floating Social Sidebar */
.social-sidebar{
  position: fixed;
  top: 95px;              /* below header */
  right: 18px;
  width: 320px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ss-card{
  background: rgba(255,255,255,.96);
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.06);
}

.ss-head{
  padding: 10px 12px;
  font-weight: 700;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.ss-body{
  padding: 10px 12px 12px;
}

.ss-btn{
  display: inline-block;
  width: 100%;
  text-align: center;
  padding: 10px 12px;
  border-radius: 10px;
  font-weight: 700;
  text-decoration: none !important;
}

.ss-btn-li{
  background: #0A66C2;
  color: #fff !important;
}

.ss-links{
  margin-top: 10px;
  font-size: 13px;
}

.ss-links a{
  text-decoration: none;
}

/* Responsive: hide sidebar on small screens to avoid clutter */
@media (max-width: 991px){
  .social-sidebar{
    display: none;
  }
}


/* =========================
   Memorial Testimonial — Style A (Split Banner)
   ========================= */

.memorial-carousel--compact { padding: 0; }
.memorial-carousel--compact .owl-stage-outer { overflow: visible; }

.memorial-item { padding: 6px 0; }

/* Card becomes a split layout */
.memorial-card--compact{
  display: grid;
  grid-template-columns: 135px 1fr;
  gap: 0;

  border-radius: 18px;
  border: 1px solid rgba(17,24,39,0.10);
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(17,24,39,0.10);
  overflow: hidden;
}

/* Left: photo as a full-height strip */
.memorial-portrait--compact{
  width: 100%;
  height: 100%;
  min-height: 165px;
  margin: 0;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  position: relative;
  background: #f3f4f6;
}

.memorial-portrait--compact img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 20%;
  filter: contrast(1.02) saturate(1.02);
}

/* A soft overlay for readability */
.memorial-portrait--compact::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(0,0,0,0.22), rgba(0,0,0,0.00) 70%);
}

/* Right: content */
.memorial-content--compact{
  padding: 14px 16px;
}

/* Label: small + elegant */
.memorial-label--compact{
  display: inline-block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .2px;
  text-transform: uppercase;
  color: #111827;
  background: #f3f4f6;
  border: 1px solid rgba(17,24,39,0.10);
  border-radius: 999px;
  padding: 5px 10px;
  margin-bottom: 10px;
}

/* Quote: clean, no giant glow */
.memorial-quote--compact{
  margin: 0 0 12px 0;
  font-size: 14.5px;
  line-height: 1.6;
  color: #374151;
  padding-left: 14px;
  border-left: 3px solid rgba(17,24,39,0.10);
}

/* Author */
.memorial-author--compact{
  font-size: 14px;
  font-weight: 900;
  color: #111827;
}
.memorial-years{ color:#6b7280; font-weight:800; }

/* Relation */
.memorial-relation--compact{
  margin-top: 3px;
  font-size: 13px;
  font-weight: 750;
  color: #6b7280;
}

/* Hover: minimal */
.memorial-card--compact:hover{
  transform: translateY(-1px);
  transition: transform .15s ease, box-shadow .15s ease;
  box-shadow: 0 16px 34px rgba(17,24,39,0.13);
}

/* Mobile: photo becomes top banner */
@media (max-width:576px){
  .memorial-card--compact{
    grid-template-columns: 1fr;
  }
  .memorial-portrait--compact{
    min-height: 190px;
  }
}
