/* ===== DIRECTION B v2 — "Paper", Carnegie red, same structure as the dark build ===== */
:root{
  --paper:#FFFFFF;
  --paper-alt:#F4F4F5;
  --card:#FFFFFF;
  --ink:#1A1714;
  --body:#3B352F;
  --muted:#7C736A;
  --rule:rgba(26,23,20,.13);
  --red:#C41230;          /* Carnegie Red */
}
body{ background:var(--paper) !important; color:var(--ink) !important;
      font-family:'Inter',-apple-system,sans-serif !important; }

/* alternating tiles + hairline = structure */
.home-section{ background:var(--paper) !important; border-bottom:1px solid var(--rule) !important; padding:3.2rem 0 !important; }
#recent_news, #journal_publications{ background:var(--paper-alt) !important; }
#about, #conference_publications, #people{ background:var(--paper) !important; }

#navbar-main{ background:#0E0E0E !important; border-bottom:2px solid var(--red) !important; box-shadow:none !important; }
#navbar-main .navbar-brand{ font-family:'Fraunces',Georgia,serif !important; font-weight:600 !important; font-size:1.15rem !important; color:#FFFFFF !important; }
#navbar-main .nav-link{ color:#C9C4BE !important; text-transform:uppercase; letter-spacing:.11em; font-size:.68rem !important; font-weight:600 !important; }
#navbar-main .nav-link:hover, #navbar-main .nav-link.active{ color:#FFFFFF !important; }
#navbar-main .nav-icons .nav-link{ color:#C9C4BE !important; }

/* hero: keep the map, edge to edge, darkened just enough for white type */
#slider{ padding:0 !important; margin:0 !important; border-bottom:2px solid var(--red) !important; }
#slider .carousel, #slider .carousel-inner{ padding:0 !important; margin:0 !important; }
#slider .carousel-item{
  background-size:cover !important; background-position:center !important;
  background-color:rgba(26,23,20,.55) !important; background-blend-mode:multiply !important;
  min-height:440px !important;
}
#slider h1{ font-family:'Fraunces',Georgia,serif !important; font-weight:600 !important;
  font-size:3.1rem !important; line-height:1.08 !important; color:#fff !important;
  text-shadow:0 2px 24px rgba(0,0,0,.6) !important; max-width:16ch; margin:0 auto .9rem !important; }
#slider p{ font-size:1.05rem !important; line-height:1.6 !important; color:#F6F1EA !important;
  text-shadow:0 1px 14px rgba(0,0,0,.75) !important; max-width:60ch; margin:0 auto !important; font-style:italic; }
#slider .carousel-item:nth-child(2) p{ color:#FFC9D1 !important; }
#slider .carousel-indicators{ position:absolute !important; bottom:14px !important; margin-bottom:0 !important; z-index:5; }
#slider .carousel-indicators .active{ background-color:var(--red) !important; }

.home-section h1{ font-family:'Fraunces',Georgia,serif !important; font-weight:600 !important; font-size:1.9rem !important; color:var(--ink) !important; }
.section-heading h1{ text-align:left !important; }
p,li,.article-style{ color:var(--body) !important; line-height:1.65 !important; }
a{ color:var(--red) !important; }
a:hover{ color:#8E0D22 !important; }

/* news: white card on the alt tile */
.pre-scrollable{ max-height:470px !important; background:var(--card) !important; border:1px solid var(--rule) !important; border-radius:4px; padding:.4rem 1.2rem !important; }
.news-row{ border-bottom:1px solid var(--rule) !important; }
.news-date{ color:var(--muted) !important; }
.news-body{ color:var(--body) !important; }
.news-body a{ color:var(--red) !important; }

/* publications */
.stream-item{ border-bottom:1px solid var(--rule); padding-bottom:1.15rem; margin-bottom:1.15rem; }
.article-title a{ font-family:'Fraunces',Georgia,serif !important; color:var(--ink) !important; font-size:1.18rem !important; font-weight:600 !important; }
.article-title a:hover{ color:var(--red) !important; }
.btn-outline-primary{ border-color:var(--rule) !important; color:var(--muted) !important; background:transparent !important;
  border-radius:2px !important; text-transform:uppercase; letter-spacing:.08em; font-size:.68rem !important; padding:.2rem .5rem !important; }
.btn-outline-primary:hover{ background:var(--red) !important; border-color:var(--red) !important; color:#fff !important; }
.stream-item img{ border:0 !important; border-radius:3px; }

/* people */
.portrait-title h2, .people-person h2{ font-family:'Fraunces',Georgia,serif !important; }
/* team names read as links: Carnegie red, underline on hover */
.portrait-title h2 a, .people-person h2 a{
  font-family:'Fraunces',Georgia,serif !important;
  color:var(--red) !important;
  text-decoration:none !important;
  border-bottom:1px solid transparent;
  transition:border-color .15s ease;
}
.portrait-title h2 a:hover, .people-person h2 a:hover{
  color:#8E0D22 !important;
  border-bottom-color:#8E0D22;
}
.people-person h3{ color:var(--muted) !important; font-size:.9rem !important; font-weight:400 !important; }
footer,.site-footer,.powered-by{ color:var(--muted) !important; border-top:1px solid var(--rule); }

/* footer: drop the theme credit */
.powered-by{ display:none !important; }
.site-footer{ padding:1.2rem 0 !important; }

/* ---- nav icons (Font Awesome 5 is already loaded by the theme) ---- */
#navbar-main .navbar-nav .nav-link::before{
  font-family:"Font Awesome 5 Free"; font-weight:900;
  margin-right:.45em; font-size:.95em; opacity:.72;
}
#navbar-main .navbar-nav .nav-item:nth-child(1) .nav-link::before{ content:"\f015"; } /* home     */
#navbar-main .navbar-nav .nav-item:nth-child(2) .nav-link::before{ content:"\f0f3"; } /* bell     */
#navbar-main .navbar-nav .nav-item:nth-child(3) .nav-link::before{ content:"\f15c"; } /* file     */
#navbar-main .navbar-nav .nav-item:nth-child(4) .nav-link::before{ content:"\f02d"; } /* book     */
#navbar-main .navbar-nav .nav-item:nth-child(5) .nav-link::before{ content:"\f0c0"; } /* users    */
#navbar-main .navbar-nav .nav-item:nth-child(6) .nav-link::before{ content:"\f0e0"; } /* envelope */
#navbar-main .navbar-nav .nav-item:nth-child(7) .nav-link::before{ content:"\f2c2"; } /* id-card  */
#navbar-main .navbar-nav .nav-link:hover::before{ opacity:1; }
/* the search icon lives in its own .nav-icons list — keep the nav-item icons off it */
#navbar-main .nav-icons .nav-link::before{ content:none !important; margin:0 !important; }

/* ---- subpages (publication / author detail) ---- */
.article-container h1{
  font-family:'Fraunces',Georgia,serif !important; font-weight:600 !important;
  color:var(--ink) !important; letter-spacing:-.01em; line-height:1.12 !important;
}
.article-container h2, .article-container h3, .pub-row-heading{
  font-family:'Fraunces',Georgia,serif !important; font-weight:600 !important; color:var(--ink) !important;
}
.article-metadata, .article-date{ color:var(--muted) !important; }
.pub-abstract{ color:var(--body) !important; line-height:1.65 !important; }
.article-header.featured-image-wrapper img{ border-radius:4px; }
.author-card .card-title a{ font-family:'Fraunces',Georgia,serif !important; color:var(--ink) !important; }
.author-card .card-subtitle{ color:var(--muted) !important; }

/* ---- scroll reveals (only active when design.js sets .js-reveal; no JS => nothing hidden) ---- */
.js-reveal .reveal{
  opacity:0; transform:translateY(14px);
  transition:opacity .55s cubic-bezier(.2,.6,.2,1), transform .55s cubic-bezier(.2,.6,.2,1);
  will-change:opacity, transform;
}
.js-reveal .reveal.is-visible{ opacity:1; transform:none; }
.js-reveal .news-row.reveal{ transform:translateY(8px); transition-duration:.4s; }
@media (prefers-reduced-motion: reduce){
  .js-reveal .reveal, .js-reveal .reveal.is-visible{
    opacity:1 !important; transform:none !important; transition:none !important;
  }
}

/* ---- cite modal: copy confirmation ---- */
.js-copy-cite.is-copied{
  background:var(--red) !important; border-color:var(--red) !important; color:#fff !important;
}
#modal .modal-content{ border-radius:4px; border:1px solid var(--rule); }
#modal .modal-title{ font-family:'Fraunces',Georgia,serif; font-weight:600; }
#modal .modal-body pre{ background:#F7F7F8; border:1px solid var(--rule); border-radius:3px; padding:.9rem; }

/* ---- SCALE figure with clickable stack layers ---- */
#research-stack{ background:var(--paper-alt) !important; }
.stack-fig{ margin:0; }
.stack-canvas{ position:relative; line-height:0; border-radius:4px; overflow:hidden;
  box-shadow:0 1px 4px rgba(0,0,0,.12); }
.stack-canvas img{ width:100%; height:auto; display:block; }

.stack-overlay{ position:absolute; inset:0; width:100%; height:100%; }
.stack-hit{
  fill:rgba(255,255,255,0); stroke:rgba(255,255,255,0); stroke-width:2;
  cursor:pointer; transition:fill .15s ease, stroke .15s ease;
}
.stack-hit:hover{ fill:rgba(255,255,255,.22); stroke:#fff; }
.stack-hit:focus{ outline:none; fill:rgba(255,255,255,.22); stroke:#fff; }
.stack-hit.is-active{ fill:rgba(196,18,48,.55); stroke:#fff; }

.stack-caption{
  display:flex; align-items:center; gap:.8rem; flex-wrap:wrap;
  margin-top:.9rem; font-size:.9rem; color:var(--muted);
}
.stack-clear{
  background:none; border:1px solid var(--rule); color:var(--ink); border-radius:2px;
  padding:.22rem .6rem; cursor:pointer; font-size:.7rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.08em;
}
.stack-clear:hover{ background:var(--red); border-color:var(--red); color:#fff; }

/* text chips: the accessible / touch-friendly path to the same filter */
.stack-chips{ display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.7rem; }
.stack-chip{
  background:#fff; border:1px solid var(--rule); color:var(--ink);
  border-radius:2px; padding:.3rem .6rem; cursor:pointer;
  font-family:'Inter',sans-serif; font-size:.7rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.06em;
  transition:background .15s ease, border-color .15s ease, color .15s ease;
}
.stack-chip:hover{ border-color:var(--red); color:var(--red); }
.stack-chip.is-active{ background:var(--red); border-color:var(--red); color:#fff; }
.stack-chip .chip-count{ opacity:.55; margin-left:.25rem; }
.stack-chip.is-active .chip-count{ opacity:.8; }

/* filtered-out papers */
.stream-item.pub-filtered-out{ display:none; }
.stack-caption{ min-height:1.6rem; }   /* reserve the row so nothing shifts on first click */
