/* =========================================================
   FACULTY RESEARCH & PUBLICATION PAGE — page-specific only.
   Loaded solely by faculty-research-publication.php via
   $pageExtraCss.

   Same "year tile" idea as placement-archive.css (a year index
   is a year index), kept as its own dedicated stylesheet per
   this site's one-file-per-page convention — plus an annexure
   tag variant for the PDF-archive tiles, which placement's
   tiles don't need.
   ========================================================= */

.frp-section{ padding:64px 0; border-bottom:1px solid var(--line); }
.frp-section:last-of-type{ border-bottom:none; }
.frp-section--tint{ background:var(--cream); }

.frp-kicker{
  display:inline-flex; align-items:center; gap:10px;
  font-size:.76rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--green-700); margin-bottom:12px;
}
.frp-kicker::before{ content:''; width:22px; height:2px; background:var(--gold-500); }

.frp-heading{
  font-size:clamp(1.5rem, 2.3vw, 2rem);
  font-weight:800; color:var(--green-900); max-width:640px; margin:0 0 12px;
}
.frp-lede{
  max-width:620px;
  font-size:.98rem; line-height:1.7; color:var(--ink-soft);
  margin:0 0 36px;
}

/* ---- Year tile grid ---- */
.frp-tile-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(170px, 1fr));
  gap:16px;
}

.frp-tile{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:18px;
  min-height:130px;
  padding:22px 20px;
  border-radius:var(--radius-lg);
  background:#fff;
  border:1px solid var(--line);
  overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.frp-tile::after{
  content:'';
  position:absolute;
  right:-16px; bottom:-16px;
  width:70px; height:70px;
  border-radius:50%;
  background:var(--green-100);
  transition:background .2s ease, transform .2s ease;
  z-index:0;
}
.frp-tile > *{ position:relative; z-index:1; }

.frp-tile-year{
  font-family:'Poppins',sans-serif;
  font-weight:800;
  font-size:1.6rem;
  color:var(--green-900);
  line-height:1;
}
.frp-tile-annexure-tag{
  align-self:flex-start;
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--gold-600);
  background:rgba(240,168,0,.15);
  border-radius:999px;
  padding:4px 10px;
}
.frp-tile-cta{
  display:flex; align-items:center; gap:6px;
  font-size:.78rem; font-weight:700; color:var(--green-700);
}
.frp-tile-cta svg{ width:13px; height:13px; transition:transform .15s ease; }

a.frp-tile:hover{
  transform:translateY(-4px);
  border-color:var(--green-800);
  box-shadow:0 18px 34px -16px rgba(10,61,38,.35);
}
a.frp-tile:hover::after{ background:var(--gold-500); opacity:.22; transform:scale(1.15); }
a.frp-tile:hover .frp-tile-cta{ color:var(--green-900); }
a.frp-tile:hover .frp-tile-cta svg{ transform:translateX(3px); }
a.frp-tile:hover .frp-tile-year{ color:var(--green-800); }

/* ---- Unavailable / coming-soon tile ---- */
.frp-tile--soon{
  background:var(--frp-soon-bg, #fff);
  border-style:dashed;
  cursor:default;
}
.frp-section--tint .frp-tile--soon{ background:#fff; }
.frp-tile--soon .frp-tile-year{ color:var(--ink-soft); opacity:.75; }
.frp-tile--soon::after{ background:transparent; }
.frp-tile-badge{
  align-self:flex-start;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--ink-soft);
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:999px;
  padding:5px 12px;
}
.frp-section--tint .frp-tile-badge{ background:#fff; }

@media (max-width:480px){
  .frp-tile-grid{ grid-template-columns:repeat(2, 1fr); }
  .frp-tile-year{ font-size:1.35rem; }
}
