:root{
  --ku-paper:#f4f3ef;
  --ku-ink:#111;
  --ku-muted:#6d6a63;
  --ku-line:rgba(17,17,17,.16);
  --ku-accent:#8f3f2f;
  --ku-soft:#fffaf2;
  --ku-ease:cubic-bezier(.22,.61,.36,1);
}

body.w3-light-grey,
.page-wrapper.w3-light-grey{
  background:var(--ku-paper)!important;
  color:var(--ku-ink);
}

.w3-white,
.site-footer.w3-white{
  background:#fffdf9!important;
}

.w3-top .w3-bar{
  border-bottom:1px solid var(--ku-line);
  box-shadow:0 10px 32px rgba(0,0,0,.035);
}

.topbar-title{
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:15px;
}

.desktop-nav .w3-button,
#mobileMenu .w3-button{
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:12px;
  transition:background .2s ease, color .2s ease, transform .2s ease;
}

.desktop-nav .w3-button:hover,
#mobileMenu .w3-button:hover{
  background:var(--ku-soft)!important;
  color:var(--ku-accent)!important;
}

.desktop-nav .w3-light-grey,
#mobileMenu .w3-light-grey{
  background:transparent!important;
  color:var(--ku-accent)!important;
  box-shadow:inset 0 -2px 0 var(--ku-accent);
}

.page-title{
  color:var(--ku-muted);
  font-size:13px;
  letter-spacing:.34em!important;
}

.artist-name::after,
.work-meta::after,
.work-meta-additional::after{
  background:var(--ku-accent)!important;
}

.artist-name{
  letter-spacing:.15em!important;
}

.artist-kicker,
.section-kicker{
  text-align:center;
  color:var(--ku-accent);
  font-family:"Manrope", "Raleway", sans-serif;
  font-size:12px;
  letter-spacing:.28em;
  text-transform:uppercase;
  margin:0 0 8px;
}

.home-intro{
  max-width:720px;
  margin:-18px auto 46px;
  padding:0 16px;
  text-align:center;
  color:var(--ku-muted);
  font-family:"Manrope", "Raleway", sans-serif;
  font-size:15px;
  line-height:1.7;
}

.work-block{
  gap:0;
}

.work-block + .work-block{
  margin-top:20px!important;
}

.work-item{
  background:#fff;
  outline:1px solid rgba(255,255,255,.5);
}

.work-item img{
  filter:saturate(.96) contrast(1.02);
  transform-origin:center;
}

.work-overlay{
  background:linear-gradient(180deg, rgba(17,17,17,.12), rgba(17,17,17,.72))!important;
}

.work-title{
  font-family:"Manrope", "Raleway", sans-serif!important;
  letter-spacing:.03em!important;
}

.work-card-meta{
  display:block;
  margin-top:10px;
  font-family:"Manrope", "Raleway", sans-serif;
  font-size:11px;
  line-height:1.4;
  letter-spacing:.18em;
  text-transform:uppercase;
  opacity:.86;
  color:#fff;
}

.work-item:focus-visible,
.social-link:focus-visible,
.hero-click:focus-visible,
.work-nav:focus-visible,
.hero-arrow:focus-visible,
.hero-modal-close:focus-visible{
  outline:2px solid var(--ku-accent);
  outline-offset:3px;
}

.cv-year{
  border-top:1px solid var(--ku-line);
  padding-top:18px;
}

.cv-year-title{
  color:var(--ku-accent);
  letter-spacing:.08em;
}

.cv-group-title,
.cv-meta{
  color:var(--ku-muted);
}

.cv-list li{
  padding:.5px 0;
}

.cv-list a{
  color:inherit;
  text-decoration-color:var(--ku-line)!important;
  text-underline-offset:3px;
}

.title-image-wrapper,
.hero-carousel-inner,
.info-image img{
  box-shadow:0 18px 45px rgba(0,0,0,.05);
}

.work-heading{
  letter-spacing:.04em;
}

.work-meta span{
  color:var(--ku-muted);
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:12px;
}

.work-back-link,
.work-pager a,
.read-preview-link{
  font-family:"Manrope", "Raleway", sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-size:12px;
  text-decoration:none;
  color:var(--ku-accent);
}

.work-back-link:hover,
.work-pager a:hover,
.read-preview-link:hover{
  text-decoration:underline;
  text-underline-offset:4px;
}

.work-pager{
  max-width:980px;
  margin:12px auto 64px;
  padding:22px 0 0;
  border-top:1px solid var(--ku-line);
  display:flex;
  justify-content:space-between;
  gap:24px;
}

.work-pager a:last-child{
  text-align:right;
  margin-left:auto;
}

.site-footer{
  border-top:1px solid var(--ku-line);
}

.social-link{
  color:var(--ku-ink)!important;
}

.social-link:hover{
  color:var(--ku-accent)!important;
}

.empty-state{
  max-width:680px;
  margin:48px auto 72px;
  padding:32px 20px;
  text-align:center;
  background:#fffdf9;
  border:1px solid var(--ku-line);
  color:var(--ku-muted);
}

.info-contact a{
  color:var(--ku-accent);
  text-decoration:none;
}
.info-contact a:hover{ text-decoration:underline; text-underline-offset:4px; }

@media (max-width:879px){
  .page-title{ letter-spacing:.14em!important; }
  .home-intro{ margin:-14px auto 32px; font-size:14px; }
  .work-card-meta{ font-size:10px; margin-top:4px; letter-spacing:.12em; }
  .work-pager{ flex-direction:column; padding:18px 16px 0; }
  .work-pager a:last-child{ text-align:left; margin-left:0; }
}
