  :root {
  --primary:       #850928;
  --primary-dark:  #5e061c;
  --secondary:     #CA1E50;
  --secondary-mid: #e03668;
  --maroon:        #850928;
  --maroon-dark:   #5e061c;
  --gold:          #CA1E50;
  --gold-light:    #e03668;
  --white:         #ffffff;
  --black:         #000000;
  --black-soft: #333333;
  --cream:         #f9f6f7;
  --text:          #1a0508;
  --text-soft:     #4a2030;
  --muted:         #9a7080;
  --border:        #e8d0d6;
  --radius:        8px;
  --shadow-sm:     0 2px 8px rgba(133,9,40,0.10);
  --shadow-hover:  0 14px 36px rgba(133,9,40,0.20);
  --transition:    0.22s ease;
}
[id^="dm-web-profile-root"] *,
[id^="dm-web-profile-root"] *::before,
[id^="dm-web-profile-root"] *::after { box-sizing: border-box; }

/* ── Page wrapper ── */
.twu-listing-page { font-family: adelle, serif; background: #ffffff; -webkit-font-smoothing: antialiased; }

/* ── Banner ── */
.twu-listing-banner { position:relative; overflow:hidden; background-image:url('https://twu.edu/media/images/twu-home/flowers-background.jpg'); background-size:cover; background-position:center 40%; background-color:var(--maroon-dark); padding:48px 48px 40px; }
.twu-listing-banner::before { content:''; position:absolute; inset:0; background:rgba(133,9,40,0.86); z-index:0; }
.twu-listing-banner::after  { content:''; position:absolute; bottom:0; left:0; right:0; height:4px; background:linear-gradient(90deg,transparent,var(--gold),var(--gold-light),var(--gold),transparent); z-index:2; }
.twu-listing-banner-inner { position:relative; z-index:1; max-width:1100px; margin:0 auto; }
.twu-listing-eyebrow { font-size:10px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:rgba(255,255,255,0.7); margin:0 0 10px; }
.twu-listing-title { font-family:'Montserrat',sans-serif; font-size:40px; font-weight:800; color:var(--white); line-height:1.15; margin:0 0 16px; }
.twu-listing-subtitle { font-size:13px; color:rgba(255,255,255,0.6); margin:0; }

/* ── Progress bar ── */
.twu-load-progress { height:3px; background:rgba(255,255,255,0.15); border-radius:2px; overflow:hidden; margin-top:16px; transition:opacity 0.4s; }
.twu-load-progress-bar { height:100%; background:linear-gradient(90deg,var(--secondary),#e03668); border-radius:2px; transition:width 0.4s ease; width:0%; }

/* ── Toolbar (count only) ── */
.twu-toolbar { background:var(--cream); padding:14px 48px 4px; }
.twu-toolbar-inner { max-width:1100px; margin:0 auto; }
.twu-toolbar-count { font-size:12.5px; color:var(--muted); font-weight:600; }

/* ── List grid ── */
.twu-listing-grid { max-width:1100px; margin:0 auto; display:flex; flex-direction:column; gap:10px; }

/* ── List card ── */
.twu-card {
  background:var(--white);
  border-radius:6px;
  border:1px solid var(--border);
  box-shadow:var(--shadow-sm);
  display:flex;
  flex-direction:row;
  align-items:stretch;
  cursor:pointer;
  transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);
  animation:twuCardIn 0.35s ease both;
  min-height:120px;
}
.twu-card-staff {margin-bottom: 10px;}
.twu-card:hover { transform:translateY(-2px); box-shadow:var(--shadow-hover); border-color:var(--gold); }
@keyframes twuCardIn { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }

/* Left accent bar */
.twu-card::before {
  content:'';
  display:block;
  width:5px;
  flex-shrink:0;
  background:linear-gradient(180deg,var(--maroon),var(--gold));
  border-radius:6px 0 0 6px;
}

/* Photo */
.twu-card-photo-wrap { padding:0 16px; flex-shrink:0; display:flex; align-items:center; }
.twu-card-photo { width:72px; height:72px; border-radius:50%; object-fit:cover; object-position:center top; border:3px solid var(--white); box-shadow:0 2px 10px rgba(133,9,40,0.22); background:#e8c8d0; display:block; }

/* Body */
.twu-card-body { flex:1; display:flex; flex-direction:row; align-items:center; padding:20px 24px; gap:0; min-width:0; }

/* Info block — takes all available space */
.twu-card-info { flex:1; min-width:0; padding-right:24px; }
.twu-card-name  { font-family:'Montserrat',sans-serif; font-size:18px; font-weight:700; color:var(--maroon); line-height:1.25; margin:0 0 4px; transition:color var(--transition); }
.twu-card:hover .twu-card-name { color:var(--primary-dark); }
.twu-card-title { font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:var(--text-soft); margin:0 0 3px; }
.twu-card-dept  { font-size:1.0625rem; color:var(--black-soft); line-height:1.6; margin:0 0 8px; }

/* Contacts sit under dept inside the info block — no separate column */
.twu-card-contacts { display:flex; flex-direction:column; gap:4px; }
.twu-card-contact { display:flex; align-items:center; gap:8px; font-size:1.0625rem; color:var(--text-soft); min-width:0; }
.twu-card-contact-icon { width:16px; flex-shrink:0; color:var(--gold); font-size:12px; text-align:center; }


/* CTA block */
.twu-card-cta { flex-shrink:0; width:140px; display:flex; align-items:center; justify-content:center; gap:8px; border-left:1px solid var(--border); padding-left:24px; align-self:stretch; font-family:'Montserrat',sans-serif; font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--maroon); transition:color var(--transition); flex-direction:column; }
.twu-card-cta-arrow { font-size:18px; transition:transform var(--transition); }
.twu-card:hover .twu-card-cta { color:var(--primary-dark); }
.twu-card:hover .twu-card-cta-arrow { transform:translateX(4px); }

/* ── Empty state ── */
.twu-listing-empty { display:none; text-align:center; padding:64px 0; color:var(--muted); }
.twu-listing-empty-icon { font-size:36px; margin-bottom:14px; opacity:0.4; }
.twu-listing-empty h3 { font-family:'Montserrat',sans-serif; font-size:22px; font-weight:400; color:var(--text-soft); margin:0 0 6px; }

/* ── Pagination ── */
.twu-pagination { max-width:1100px; margin:8px auto 0; padding:0 48px 64px; display:flex; align-items:center; justify-content:center; gap:6px; flex-wrap:wrap; }
.twu-page-btn { display:flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 10px; border-radius:6px; border:1px solid var(--border); background:var(--white); font-family:'Montserrat',sans-serif; font-size:13px; font-weight:600; color:var(--primary); cursor:pointer; transition:background var(--transition),color var(--transition),border-color var(--transition); }
.twu-page-btn:hover:not(:disabled) { background:#fceef2; border-color:var(--primary); }
.twu-page-btn.active { background:var(--primary); color:var(--white); border-color:var(--primary); box-shadow:0 2px 8px rgba(133,9,40,0.3); }
.twu-page-btn:disabled { opacity:0.3; cursor:not-allowed; }
.twu-page-btn.twu-page-ellipsis { border:none; background:transparent; cursor:default; color:var(--muted); }
.twu-page-info { font-family:adelle,serif; font-size:13px; color:var(--muted); padding:0 8px; white-space:nowrap; }

/* ── Responsive ── */
@media (max-width:960px) {
  .twu-listing-grid { padding:14px 32px 60px; }
  .twu-card-cta { width:110px; }
  .twu-pagination { padding:0 32px 48px; }
}
@media (max-width:640px) {
  .twu-listing-grid { padding:10px 12px 48px; gap:8px; }
  .twu-card { min-height:100px; }
  .twu-card-photo { width:56px!important; height:56px!important; }
  .twu-card-photo-wrap { padding:0 12px; }
  .twu-card-body { padding:14px 16px; }
  .twu-card-info { padding-right:16px; }
  .twu-card-name { font-size:16px; }
  .twu-card-cta { display:none; }
  .twu-pagination { padding:0 12px 40px; gap:4px; }
  .twu-page-btn { min-width:36px; height:36px; font-size:12px; }
}
