/* Departments pages (Departments landing, Academic Registry, Human Resources and Administration).
   Content, colours and fonts live in Elementor (WUA kit globals); this file only adds grids, card
   treatments and motion safety, mirroring the homepage and About Us patterns. Classes: wua-dept-*. */
.wua-dept-section{
  --wua-dept-green:var(--e-global-color-wuagreen,#0F5E34);
  --wua-dept-green-900:var(--e-global-color-wuagreen900,#0B4528);
  --wua-dept-green-100:var(--e-global-color-wuagreenlight,#E8F3EC);
  --wua-dept-gold:var(--e-global-color-wuagold,#EEEB11);
  --wua-dept-gold-a11y:var(--e-global-color-wuagoldaccessible,#B88700);
  --wua-dept-border:var(--e-global-color-wuaborder,#DDE5E1);
  scroll-margin-top:170px
}
.wua-dept-section :is(h1,h2,h3,[id]){scroll-margin-top:170px}
.elementor .wua-dept-section h2.elementor-heading-title{font-size:clamp(1.6rem,2.6vw,2.25rem)}
.elementor .wua-dept-section h3.elementor-heading-title{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.35}
.elementor .wua-dept-section .wua-eyebrow{margin-bottom:-12px}
.elementor .wua-dept-h2-spaced{margin-top:32px}

/* Hero: dark-green gradient band with a soft gold glow */
.elementor .wua-dept-hero{position:relative;overflow:hidden;isolation:isolate}
.elementor .wua-dept-hero::before{content:'';position:absolute;inset:auto -10% -60% auto;width:min(620px,70vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(238,235,17,.16),transparent 65%);z-index:-1;pointer-events:none}
.elementor .wua-dept-hero h1.elementor-heading-title{font-size:clamp(2.2rem,5vw,3.75rem);line-height:1.1;letter-spacing:-.02em;max-width:900px}
.elementor .wua-dept-hero .wua-eyebrow .elementor-heading-title{color:var(--wua-dept-gold)}
.elementor .wua-dept-hero .wua-eyebrow::before{background:var(--wua-dept-gold)}
/* The global .wua-section text colour (design.css) ties with Elementor's widget colour; keep the
   colours chosen in Elementor (kit globals) on the dark bands. */
.elementor .wua-dept-hero .elementor-widget-text-editor.wua-dept-breadcrumb,
.elementor .wua-dept-hero .elementor-widget-text-editor.wua-dept-hero-intro{color:var(--e-global-color-wuawhite,#fff)}
.elementor .wua-dept-hero .elementor-widget-text-editor.wua-dept-motto{color:var(--e-global-color-wuagoldsoft,#FFF9C7)}
.elementor .wua-dept-section.wua-dept-contact .wua-eyebrow .elementor-heading-title{color:var(--wua-dept-gold)}
.wua-dept-motto p{margin:0;font-size:clamp(1.05rem,1.8vw,1.3rem);line-height:1.5;max-width:760px}
.wua-dept-hero-intro p{margin:0;font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.6;max-width:720px}
.wua-dept-breadcrumb p{margin:0;font-size:.95rem}
.wua-dept-breadcrumb a{color:inherit;text-decoration:underline;text-decoration-color:var(--wua-dept-gold);text-decoration-thickness:2px;text-underline-offset:4px}
.wua-dept-breadcrumb a:hover{color:var(--wua-dept-gold)}

/* Lead paragraph */
.elementor .wua-dept-lead p{font-family:var(--e-global-typography-wuaheading-font-family,Poppins),sans-serif;font-size:clamp(1.2rem,2.1vw,1.6rem);line-height:1.55;font-weight:500;max-width:900px;margin:0;border-left:4px solid var(--wua-dept-gold-a11y);padding-left:clamp(18px,3vw,32px)}
.wua-dept-sub p{margin:0}

/* Grids (Elementor's grid container is not enabled on this site, so containers get a class). */
.elementor .wua-dept-grid{display:grid!important;grid-template-columns:repeat(var(--wua-dept-cols,2),minmax(0,1fr));gap:24px;width:100%}
.elementor .wua-dept-grid-3{--wua-dept-cols:3}
.elementor .wua-dept-grid-4{--wua-dept-cols:4}
.elementor .wua-dept-split{display:grid!important;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start;width:100%}

/* Cards: gold top border + homepage hover lift (`translate` stays independent of entrance transforms). */
.elementor .wua-dept-card{background:#fff;border:1px solid var(--wua-dept-border);border-top:4px solid var(--wua-dept-gold-a11y);border-radius:var(--wua-radius-md,14px);box-shadow:var(--wua-shadow-sm,0 6px 20px rgba(15,94,52,.08));padding:28px;transition:translate var(--wua-motion-normal,240ms) var(--wua-ease-standard,ease),box-shadow var(--wua-motion-normal,240ms)}
.elementor .wua-dept-card:hover{translate:0 -4px;box-shadow:var(--wua-shadow-md,0 16px 40px rgba(15,94,52,.14))}
.wua-dept-card .elementor-icon-box-title{margin-bottom:8px;font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.35}
.wua-dept-card .elementor-icon-box-title a{color:inherit;text-decoration:none}
.wua-dept-card .elementor-icon-box-title a:hover{text-decoration:underline;text-decoration-color:var(--wua-dept-gold-a11y);text-underline-offset:4px}
.wua-dept-card .elementor-widget-text-editor{font-size:15px;line-height:1.7}
.wua-dept-card .elementor-widget-text-editor p:last-child{margin-bottom:0}
.wua-dept-card a{overflow-wrap:anywhere}
.wua-dept-card-text a,.wua-dept-staff-contact a{color:var(--wua-dept-green);font-weight:600;text-decoration:underline;text-decoration-color:var(--wua-dept-gold-a11y);text-underline-offset:3px}
.wua-dept-num p{margin:0;font-size:1.6rem;font-weight:700;line-height:1;letter-spacing:-.02em}
.wua-dept-bullets .elementor-icon-list-item{align-items:flex-start!important}
.wua-dept-bullets .elementor-icon-list-icon{margin-top:.45em}
.wua-dept-bullets .elementor-icon-list-text{line-height:1.6}
.wua-dept-bullets a .elementor-icon-list-text{text-decoration:underline;text-decoration-color:var(--wua-dept-gold-a11y);text-underline-offset:3px}

/* Quick actions */
.elementor .wua-dept-action{border-top-color:var(--wua-dept-green)}
.elementor .wua-dept-action:hover{border-top-color:var(--wua-dept-gold-a11y)}

/* Key services chips */
.elementor .wua-dept-chip{background:#fff;border:1px solid var(--wua-dept-border);border-radius:999px;padding:12px 22px 12px 14px;min-height:64px;transition:translate var(--wua-motion-normal,240ms),border-color var(--wua-motion-normal,240ms),box-shadow var(--wua-motion-normal,240ms)}
.elementor .wua-dept-chip:hover{translate:0 -3px;border-color:var(--wua-dept-gold-a11y);box-shadow:var(--wua-shadow-sm,0 6px 20px rgba(15,94,52,.08))}
.elementor .wua-dept-chip{--flex-wrap:nowrap;flex-wrap:nowrap!important}
.elementor .wua-dept-chip .wua-dept-chip-num{flex:0 0 auto;width:auto}
.elementor .wua-dept-chip .wua-dept-chip-text{flex:1 1 0;min-width:0;width:auto}
.wua-dept-chip-num p{margin:0;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--wua-dept-green-900);color:var(--wua-dept-gold);font-size:.9rem;font-weight:700}
.wua-dept-chip-text p{margin:0;font-weight:600;line-height:1.35;font-size:15px}
.wua-dept-chip-text a{color:inherit;text-decoration:underline;text-decoration-color:var(--wua-dept-gold-a11y);text-underline-offset:3px}

/* Document cards */
.elementor .wua-dept-doc{padding:22px;border-top-width:1px;border-left:4px solid var(--wua-dept-border)}
.elementor .wua-dept-doc-linked{border-left-color:var(--wua-dept-gold-a11y)}
.wua-dept-doc .elementor-icon-box-title{font-size:1rem!important;line-height:1.4!important}
.wua-dept-doc .elementor-icon-box-description{font-size:.875rem;font-style:italic}
.wua-dept-doc-linked .elementor-icon-box-description{font-style:normal;font-weight:600}

/* HR: overview split + goal panel */
.elementor .wua-dept-goal{background:var(--wua-dept-green-100);border-left:4px solid var(--wua-dept-gold-a11y);border-radius:var(--wua-radius-md,14px);padding:28px}
.wua-dept-goal-text p{margin:0;font-size:1.1rem;line-height:1.65;font-weight:600}
.wua-dept-copy .elementor-widget-text-editor:not(.wua-dept-lead) p{margin:0;font-size:16px;line-height:1.8}

/* HR: staff cards */
.elementor .wua-dept-staff{align-items:flex-start}
.wua-dept-photo img{width:112px!important;height:112px!important;object-fit:cover;object-position:50% 20%;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 2px var(--wua-dept-gold-a11y)}
.wua-dept-photo-placeholder .elementor-icon{width:112px;height:112px;display:grid;place-items:center;box-shadow:0 0 0 2px var(--wua-dept-border)}
.wua-dept-role p{margin:0;font-weight:600;font-size:.95rem;line-height:1.5}
.wua-dept-staff-contact p{margin:0 0 4px;font-size:.92rem}

/* Contact band */
.elementor .wua-dept-contact .wua-dept-contact-item{flex:0 1 auto;width:auto;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:var(--wua-radius-md,14px);padding:16px 22px;transition:background var(--wua-motion-normal,240ms),translate var(--wua-motion-normal,240ms)}
.elementor .wua-dept-contact .wua-dept-contact-item:hover{background:rgba(255,255,255,.12);translate:0 -3px}
.wua-dept-contact .elementor-icon-box-title{margin:0!important;font-size:clamp(1.15rem,2.2vw,1.6rem)!important;line-height:1.3!important}
.wua-dept-contact .elementor-icon-box-title a{color:#fff;text-decoration:none;overflow-wrap:anywhere}
.wua-dept-contact .elementor-icon-box-title a:hover{color:var(--wua-dept-gold)}
.wua-dept-contact .elementor-icon-box-wrapper{align-items:center}
.wua-dept-contact .wua-eyebrow .elementor-heading-title{color:var(--wua-dept-gold)}
.wua-dept-contact .wua-eyebrow::before{background:var(--wua-dept-gold)}

/* Buttons: homepage shape */
:is(.wua-dept-btn-primary,.wua-dept-btn-gold) .elementor-button{display:inline-flex;align-items:center;gap:10px;min-height:50px;border-radius:11px;padding:12px 22px;font-weight:600;transition:background .22s,translate .22s}
:is(.wua-dept-btn-primary,.wua-dept-btn-gold) .elementor-button::after{content:'↗';display:inline-block;transition:transform .22s}
:is(.wua-dept-btn-primary,.wua-dept-btn-gold) .elementor-button:hover{translate:0 -2px}
:is(.wua-dept-btn-primary,.wua-dept-btn-gold) .elementor-button:hover::after{transform:translateX(3px)}
.wua-dept-btn-link .elementor-button{display:inline-flex;align-items:center;background:transparent!important;padding:0;font-weight:600}
.wua-dept-btn-link .elementor-button-text{border-bottom:2px solid var(--wua-dept-gold-a11y);padding-bottom:3px}
.wua-dept-btn-link .elementor-button::after{content:'→';margin-left:8px;color:var(--wua-dept-gold-a11y);display:inline-block;transition:transform .22s}
.wua-dept-btn-link .elementor-button:hover::after{transform:translateX(4px)}

/* Landing loop cards */
.elementor .wua-dept-loop-card{height:100%}
.wua-dept-loop-card .elementor-heading-title a{color:inherit}
.wua-dept-loop-excerpt p{margin:0}
.wua-dept-loop .e-loop-item{height:100%}

.wua-dept-section :is(a,.elementor-button):focus-visible{outline:3px solid var(--e-global-color-wuablue,#24649B);outline-offset:4px}
.wua-dept-hero :is(a):focus-visible,.wua-dept-contact :is(a,.elementor-button):focus-visible{outline-color:var(--wua-dept-gold)}

@media (max-width:1024px){
  .elementor .wua-dept-grid-4{--wua-dept-cols:2}
  .elementor .wua-dept-grid-3{--wua-dept-cols:2}
  .elementor .wua-dept-split{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:767px){
  .wua-dept-section,.wua-dept-section :is(h1,h2,h3,[id]){scroll-margin-top:120px}
  .elementor .wua-dept-grid,.elementor .wua-dept-grid-3,.elementor .wua-dept-grid-4{--wua-dept-cols:1}
  .elementor .wua-dept-grid-4.wua-dept-chips{--wua-dept-cols:1;gap:12px}
  .elementor .wua-dept-card{padding:22px}
  .elementor .wua-dept-contact .wua-dept-contact-item{width:100%;padding:14px 16px}
  .wua-dept-contact .elementor-icon-box-wrapper{display:flex!important;flex-direction:row!important;align-items:center;gap:14px;text-align:left!important}
  .wua-dept-contact .elementor-icon-box-icon{margin:0!important}
  .wua-dept-cta .elementor-widget-button,.wua-dept-cta .elementor-button{width:100%;justify-content:center}
}

/* Respect reduced motion: show entrance-animated elements immediately and drop hover motion. */
@media (prefers-reduced-motion:reduce){
  .wua-dept-section .elementor-invisible{visibility:visible!important;opacity:1!important}
  .wua-dept-section .animated,.wua-dept-section.animated{animation:none!important}
  .wua-dept-section *,.wua-dept-section{transition:none!important;translate:none!important}
}
