/* WPU Library Productivity Suite V2.1 — vibrant public homepage + responsive stability */
:root{
  --wpu-suite-teal:#0f8b8d;
  --wpu-suite-teal-soft:#e7f7f6;
  --wpu-suite-gold:#c88900;
  --wpu-suite-gold-soft:#fff4d6;
  --wpu-suite-violet:#6956c8;
  --wpu-suite-violet-soft:#f0edff;
  --wpu-suite-green:#3b8f5a;
  --wpu-suite-green-soft:#eaf7ee;
  --wpu-suite-rose:#b64b67;
  --wpu-suite-rose-soft:#fff0f4;
}
.wpu-library-public :is(.wpu-suite-brand,.wpu-suite-actions,.wpu-suite-section-head,.wpu-suite-resource-body,.wpu-suite-card,.wpu-suite-db,.wpu-suite-service){min-width:0}
.wpu-library-public :is(.wpu-suite-brand strong,.wpu-suite-brand small,.wpu-suite-section-head h2,.wpu-suite-section-head p,.wpu-suite-card h3,.wpu-suite-card p,.wpu-suite-db h3,.wpu-suite-db p,.wpu-suite-service h3,.wpu-suite-service p,.wpu-suite-resource h3,.wpu-suite-resource p){overflow-wrap:anywhere}

/* Header/announcement collision fixes */
.wpu-suite-notice .library-shell{
  flex-wrap:wrap;
  padding-top:7px;
  padding-bottom:7px;
}
.wpu-suite-notice .library-shell>strong{min-width:0;overflow-wrap:anywhere}
.wpu-suite-notice .library-shell>span:not(:first-child){flex:1 1 320px;min-width:0;overflow-wrap:anywhere}
.wpu-suite-notice .library-shell>a{flex:0 0 auto}
.wpu-suite-campus-btn{max-width:min(330px,32vw)}
.wpu-suite-campus-btn>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Color-rich but restrained homepage */
.wpu-suite-home{background:#fff}
.wpu-suite-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 11% 18%,rgba(15,108,189,.15),transparent 31%),
    radial-gradient(circle at 86% 12%,rgba(200,137,0,.13),transparent 27%),
    radial-gradient(circle at 78% 88%,rgba(15,139,141,.12),transparent 28%),
    linear-gradient(135deg,#f5faff 0%,#ffffff 45%,#fffaf0 100%)!important;
  padding:64px 0 52px!important;
}
.wpu-suite-hero::before,
.wpu-suite-hero::after{
  content:"";
  position:absolute;
  border-radius:999px;
  pointer-events:none;
  filter:blur(.2px);
}
.wpu-suite-hero::before{width:180px;height:180px;left:-70px;bottom:-72px;background:rgba(105,86,200,.08)}
.wpu-suite-hero::after{width:130px;height:130px;right:8%;top:-62px;background:rgba(15,139,141,.09)}
.wpu-suite-hero-layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.28fr) minmax(300px,.72fr);
  gap:42px;
  align-items:center;
}
.wpu-suite-hero-layout .wpu-suite-hero-inner{
  max-width:none;
  margin:0;
  text-align:left;
}
.wpu-suite-hero-layout .wpu-suite-hero-inner h1{max-width:760px}
.wpu-suite-hero-layout .wpu-suite-hero-inner>p{max-width:690px;margin-left:0;margin-right:0}
.wpu-suite-hero-layout .wpu-suite-search{margin-left:0;margin-right:0;max-width:760px}
.wpu-suite-hero-layout .wpu-suite-search-meta{justify-content:flex-start}
.wpu-suite-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(15,108,189,.08);
  color:#0b5b9f;
  letter-spacing:.06em;
}
.wpu-suite-glance{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(15,108,189,.16);
  border-radius:22px;
  padding:24px;
  background:rgba(255,255,255,.88);
  box-shadow:0 18px 48px rgba(33,65,102,.13);
  backdrop-filter:blur(10px);
}
.wpu-suite-glance::after{
  content:"";
  position:absolute;
  inset:auto -12px -8px 32%;
  height:132px;
  background:url('../images/homepage/wpu-campus-lineart.svg') right bottom/contain no-repeat;
  opacity:.09;
  pointer-events:none;
}
.wpu-suite-glance-kicker{position:relative;z-index:1;color:#0f548c;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.wpu-suite-glance h2{position:relative;z-index:1;margin:6px 0 5px;font-size:22px;letter-spacing:-.3px}
.wpu-suite-glance>p{position:relative;z-index:1;margin:0 0 18px;color:var(--wpu-suite-muted);font-size:12.5px;line-height:1.5}
.wpu-suite-glance-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.wpu-suite-glance-stat{min-width:0;border:1px solid var(--wpu-suite-border);border-radius:13px;padding:13px;background:#fff}
.wpu-suite-glance-stat strong{display:block;font-size:21px;line-height:1.05;font-weight:650;letter-spacing:-.35px}
.wpu-suite-glance-stat span{display:block;margin-top:5px;font-size:10.5px;color:var(--wpu-suite-muted);overflow-wrap:anywhere}
.wpu-suite-glance-stat:nth-child(1){border-top:3px solid var(--wpu-suite-blue);background:#f8fbff}
.wpu-suite-glance-stat:nth-child(2){border-top:3px solid var(--wpu-suite-teal);background:#f6fcfb}
.wpu-suite-glance-stat:nth-child(3){border-top:3px solid var(--wpu-suite-violet);background:#faf9ff}
.wpu-suite-glance-stat:nth-child(4){border-top:3px solid var(--wpu-suite-gold);background:#fffdf7}

.wpu-suite-workspace{
  background:
    linear-gradient(180deg,#f5f8fb 0%,#f7f9fb 38%,#f4f7f8 100%)!important;
}
.wpu-suite-section{position:relative}
.wpu-suite-section-head h2{font-size:21px}
.wpu-suite-section-head h2::after{content:"";display:block;width:34px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--wpu-suite-blue),var(--wpu-suite-teal));margin-top:7px}
.wpu-suite-quick-app{
  border:1px solid rgba(36,36,36,.09);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset;
}
.wpu-suite-quick-app:nth-child(6n+1){background:linear-gradient(145deg,#fff,#f1f7fd)}
.wpu-suite-quick-app:nth-child(6n+1) .wpu-suite-app-icon{background:#e5f1fb;color:#0f6cbd}
.wpu-suite-quick-app:nth-child(6n+2){background:linear-gradient(145deg,#fff,#eefaf8)}
.wpu-suite-quick-app:nth-child(6n+2) .wpu-suite-app-icon{background:var(--wpu-suite-teal-soft);color:var(--wpu-suite-teal)}
.wpu-suite-quick-app:nth-child(6n+3){background:linear-gradient(145deg,#fff,#f5f2ff)}
.wpu-suite-quick-app:nth-child(6n+3) .wpu-suite-app-icon{background:var(--wpu-suite-violet-soft);color:var(--wpu-suite-violet)}
.wpu-suite-quick-app:nth-child(6n+4){background:linear-gradient(145deg,#fff,#fff8e7)}
.wpu-suite-quick-app:nth-child(6n+4) .wpu-suite-app-icon{background:var(--wpu-suite-gold-soft);color:#9b6900}
.wpu-suite-quick-app:nth-child(6n+5){background:linear-gradient(145deg,#fff,#eff9f2)}
.wpu-suite-quick-app:nth-child(6n+5) .wpu-suite-app-icon{background:var(--wpu-suite-green-soft);color:var(--wpu-suite-green)}
.wpu-suite-quick-app:nth-child(6n+6){background:linear-gradient(145deg,#fff,#fff3f6)}
.wpu-suite-quick-app:nth-child(6n+6) .wpu-suite-app-icon{background:var(--wpu-suite-rose-soft);color:var(--wpu-suite-rose)}
.wpu-suite-quick-app:hover{box-shadow:0 10px 26px rgba(28,57,88,.10);transform:translateY(-2px)}

.wpu-suite-personal{
  border:1px solid rgba(15,108,189,.18)!important;
  background:linear-gradient(120deg,#ffffff 0%,#f4f9fd 68%,#eef8f6 100%)!important;
  box-shadow:0 8px 24px rgba(27,67,102,.06);
}
.wpu-suite-card,.wpu-suite-db,.wpu-suite-service,.wpu-suite-resource{
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.wpu-suite-card:hover,.wpu-suite-db:hover,.wpu-suite-service:hover,.wpu-suite-resource:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(29,57,86,.08);
  border-color:#c8d9e8;
}
.wpu-suite-card:nth-child(4n+1){border-top:3px solid var(--wpu-suite-blue)}
.wpu-suite-card:nth-child(4n+2){border-top:3px solid var(--wpu-suite-teal)}
.wpu-suite-card:nth-child(4n+3){border-top:3px solid var(--wpu-suite-violet)}
.wpu-suite-card:nth-child(4n+4){border-top:3px solid var(--wpu-suite-gold)}
.wpu-suite-database-grid .wpu-suite-db:nth-child(4n+2) .wpu-suite-db-badge{background:var(--wpu-suite-teal-soft);color:#087173}
.wpu-suite-database-grid .wpu-suite-db:nth-child(4n+3) .wpu-suite-db-badge{background:var(--wpu-suite-violet-soft);color:#5846b3}
.wpu-suite-database-grid .wpu-suite-db:nth-child(4n+4) .wpu-suite-db-badge{background:var(--wpu-suite-gold-soft);color:#8a5d00}
.wpu-suite-research{
  overflow:hidden;
  position:relative;
  background:linear-gradient(120deg,#15365d 0%,#164a75 52%,#27546b 100%)!important;
  box-shadow:0 16px 38px rgba(16,45,77,.16);
}
.wpu-suite-research::after{content:"";position:absolute;width:240px;height:240px;right:-85px;top:-105px;border-radius:50%;background:rgba(255,214,102,.09)}
.wpu-suite-research>*{position:relative;z-index:1}

@media(max-width:1050px){
  .wpu-suite-hero-layout{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:26px}
  .wpu-suite-glance{padding:20px}
  .wpu-suite-campus-btn{max-width:230px}
}
@media(max-width:820px){
  .wpu-suite-hero-layout{grid-template-columns:1fr;gap:24px}
  .wpu-suite-glance{max-width:680px;width:100%}
}
@media(max-width:760px){
  /* The campus button is nested in .wpu-suite-dropdown-wrap; use descendant selector. */
  .wpu-suite-actions .wpu-suite-campus-btn{display:none!important}
  .wpu-suite-brand{max-width:calc(100vw - 150px)}
  .wpu-suite-brand>span{min-width:0}
  .wpu-suite-brand strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .wpu-suite-notice .library-shell{align-items:flex-start;gap:6px 9px}
  .wpu-suite-notice .library-shell>span:not(:first-child){flex-basis:calc(100% - 22px)}
  .wpu-suite-notice .library-shell>a{margin-left:22px}
  .wpu-suite-hero{padding:42px 0 34px!important}
  .wpu-suite-hero-layout .wpu-suite-hero-inner{text-align:left}
  .wpu-suite-glance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wpu-suite-section-head{align-items:flex-start;flex-wrap:wrap}
}
@media(max-width:520px){
  .wpu-suite-notice .library-shell>span:not(:first-child){display:none}
  .wpu-suite-notice .library-shell>a{margin-left:auto}
  .wpu-suite-hero h1{font-size:clamp(31px,10vw,40px)!important}
  .wpu-suite-glance{border-radius:16px;padding:17px}
  .wpu-suite-glance-grid{grid-template-columns:1fr 1fr}
  .wpu-suite-glance-stat{padding:11px}
  .wpu-suite-glance-stat strong{font-size:18px}
  .wpu-suite-search{align-items:stretch;flex-wrap:wrap}
  .wpu-suite-search input{min-height:42px}
  .wpu-suite-search button{width:100%}
}
@media(max-width:380px){
  .wpu-suite-glance-grid{grid-template-columns:1fr}
  .wpu-suite-quick-grid{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){
  .wpu-suite-card:hover,.wpu-suite-db:hover,.wpu-suite-service:hover,.wpu-suite-resource:hover,.wpu-suite-quick-app:hover{transform:none}
}
