:root{
  --green:#169b62;
  --blue:#355c7d;
  --text:#24313d;
  --muted:#6b7680;
  --line:#e4e8ec;
  --bg:#f6f8fa;
  --card:#ffffff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.55;
}

.site-header {
  background: #fff;
  border-bottom: 1px solid var(--line);
  padding: 40px 0 32px;
  text-align: center;
}
.container{max-width:1100px;margin:auto;padding:0 24px}
.eyebrow{
  color:var(--green);
  font-size:12px;
  letter-spacing:1.7px;
  font-weight:700;
  margin-bottom:8px;
  text-transform:uppercase;
}
h1{
  margin:0;
  font-size:30px;
  line-height:1.35;
  letter-spacing:-.5px;
  color:var(--text);
}
.subtitle{
  margin:10px 0 0;
  color:var(--blue);
  font-weight:600;
  font-size:16px;
}

.abstract-tag {
  margin: 10px 0 0;
  color: var(--text);
  font-size: 22px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.contents-card,.author-index{
  background:var(--card);
  margin:28px 0;
  padding:26px 30px;
  border:1px solid var(--line);
  border-radius:10px;
  box-shadow:0 2px 8px rgba(0,0,0,.03);
}
h2{font-size:21px;margin:0 0 18px}
.contents-card a{
  color:var(--blue);
  text-decoration:none;
}
.contents-card a:hover{text-decoration:underline}

/* Tightened vertical stack for 1, 2, 3 */
.vertical-stack {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;            /* Reduced gap between items from 8px to 2px */
  margin-bottom: 4px !important;    /* Reduced space before sub-sections from 16px to 4px */
}

.stack-row {
  display: block !important;
  width: 100%;
  padding: 4px 0 !important;      /* Reduced padding from 6px to 4px */
  border-bottom: 1px dotted var(--line);
}

.stack-row a {
  font-size: 16px;
  color: var(--blue);
  text-decoration: none;
}

/* 3-column grid for A, B, C... (Matching font size & color of Plenary/Invited talks) */
.grid-3col {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 4px 20px !important;
  padding-top: 4px !important;
  border-top: 1px dashed var(--line);
}

.grid-cell {
  padding: 3px 0 !important;
  border-bottom: 1px dotted var(--line);
}

.grid-cell a {
  font-size: 16px !important;    /* Increased from 14px to match numbered talks */
  color: var(--blue) !important;   /* Changed from --text to --blue */
  text-decoration: none;
}

.grid-cell a:hover {
  color: var(--green) !important;
}

.author-link{display:inline-block;margin-top:14px;color:var(--green)!important}
.toolbar{
  display:flex;align-items:center;gap:15px;
  margin:24px 0 12px;
}
#search{
  width:100%;
  max-width:650px;
  padding:12px 14px;
  border:1px solid #ccd4db;
  border-radius:7px;
  background:#fff;
  font-size:15px;
  outline:none;
}
#search:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(22,155,98,.10)}
#count{color:var(--muted);font-size:13px;white-space:nowrap}
.conference-section{
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  margin:22px 0;
  overflow:hidden;
}
.section-heading{
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 22px;
  border-bottom:1px solid var(--line);
  background:#fbfcfd;
}
.section-heading h2{margin:0}
.section-heading a{font-size:13px;color:var(--green);text-decoration:none}
.entry{
  display:grid;
  grid-template-columns:55px 1fr 70px;
  gap:15px;
  padding:16px 22px;
  border-bottom:1px solid var(--line);
  align-items:start;
}
.entry:last-child{border-bottom:0}
.number{color:var(--muted);font-size:13px;padding-top:2px}
.title{font-weight:600;color:#263746}
.authors{color:var(--muted);font-size:13px;margin-top:4px}
.pdf{
  justify-self:end;
  padding:5px 9px;
  border:1px solid #d3dbe1;
  border-radius:5px;
  color:#555;
  text-decoration:none;
  font-size:12px;
}
.pdf:hover{border-color:var(--green);color:var(--green)}
.empty{padding:25px;color:var(--muted);text-align:center}
.author-row{
  display:flex;gap:12px;padding:8px 0;border-bottom:1px dotted var(--line)
}
.author-row a{color:var(--blue);text-decoration:none}
.author-name{min-width:220px;font-weight:600}
footer{padding:30px 0;color:var(--muted);font-size:13px;text-align:center}

@media(max-width:650px){
  .container{padding:0 14px}
  h1{font-size:24px}
  .contents-card,.author-index{padding:20px}
  .entry{grid-template-columns:42px 1fr 48px;padding:14px}
  .author-name{min-width:130px}
  .grid-3col { grid-template-columns: 1fr !important; }
}
/* Header Logo Layout */
/* Header Logo Layout (Enlarged Sizes) */
.date-tag {
  margin: 6px 0 16px;
  color: var(--blue);
  font-weight: 600;
  font-size: 15px;
}

.header-logos {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 35px;            /* Increased spacing between logos */
  margin: 28px 0 16px;
  flex-wrap: wrap;
}

.header-logos img {
  width: auto;
  object-fit: contain;
}


.logo-du {
  height: 85px !important;  
}

.logo-sac {
  height: 70px !important; 
}

.logo-mh {
  height: 70px !important;  
}

@media (max-width: 650px) {
  .header-logos {
    gap: 20px;
  }
  .logo-du { height: 60px !important; }
  .logo-sac { height: 55px !important; }
  .logo-mh { height: 48px !important; }
}

/* Banner Container */
.full-abstract-banner {
  text-align: center;
  background-color: #ffffff;
  border: 1px solid #d0d7de;
  padding: 12px 18px;
  border-radius: 8px;
  margin: 20px 0;
  font-size: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

/* Vertical Separator Lines */
.full-abstract-banner .divider {
  color: #c0c7ce;
  font-weight: 300;
}

/* Link Styling */
.banner-link {
  color: #1a0dab;
  font-weight: 600;
  text-decoration: underline;
}

.banner-link:hover {
  color: #0b57d0;
}
