@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/egu-font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/egu-font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/egu-font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/egu-font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/egu-font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/egu-font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/egu-font-6.ttf) format('truetype');
}

/* =========================================================
   Ensign Global University — main stylesheet
   Design language: University of Utah (utah.edu) grid/type system
   Header pattern: Prosperity U (prosperity.utah.edu)
   The homepage hero, homepage sections and the footer carry their
   own styles inside views/home.php and views/footer.php.
   ========================================================= */

:root{
  --egu-primary:#0b335c;
  --egu-gold:#c9a227;
  --egu-red:var(--egu-primary);
  --egu-red-dark:#072440;
  --egu-black:#0b335c;
  --egu-ink:#1b1b1b;
  --egu-gray-900:#222;
  --egu-gray-700:#4a4a4a;
  --egu-gray-400:#8a8a8a;
  --egu-gray-200:#e6e6e6;
  --egu-gray-100:#f4f4f4;
  --egu-white:#ffffff;
  --font-head:"Oswald","Arial Narrow",Arial,sans-serif;
  --font-body:"Source Sans Pro","Segoe UI",Arial,sans-serif;
  --maxw:1280px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--egu-ink);
  line-height:1.55;
  background:var(--egu-white);
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
h1,h2,h3,h4{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin:0 0 .5em;line-height:1.15;}
h1{font-size:clamp(2rem,5vw,3.4rem);}
h2{font-size:clamp(1.5rem,3vw,2.3rem);}
h3{font-size:1.2rem;}
p{margin:0 0 1em;color:var(--egu-gray-700);}
.eyebrow{font-family:var(--font-head);text-transform:uppercase;color:var(--egu-red);letter-spacing:2px;font-size:.8rem;font-weight:600;}
.btn{
  display:inline-block;padding:.75rem 1.6rem;border-radius:999px;
  font-family:var(--font-head);text-transform:uppercase;letter-spacing:1px;font-size:.85rem;font-weight:600;
  border:2px solid var(--egu-white);cursor:pointer;transition:.2s;
}
.btn-primary{background:var(--egu-red);border-color:var(--egu-red);color:#fff;}
.btn-primary:hover{background:var(--egu-red-dark);border-color:var(--egu-red-dark);}
.btn-outline{background:transparent;color:#fff;}
.btn-outline:hover{background:rgba(255,255,255,.15);}
.btn-dark{background:var(--egu-black);color:#fff;border-color:var(--egu-black);}
.btn-dark:hover{background:#072440;}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:1.2em;}

/* ---------- Top utility bar ---------- */
.utility-bar{background:var(--egu-black);border-bottom:1px solid #ffffff24;}
.utility-bar .container{display:flex;justify-content:flex-end;gap:10px;padding:10px 24px;}
.pill-link{border:1px solid #fff;color:#fff;border-radius:999px;padding:.4rem 1.1rem;font-size:.78rem;font-family:var(--font-head);text-transform:uppercase;letter-spacing:1px;}
.pill-link:hover{background:#fff;color:var(--egu-black);}

/* ---------- Header / Nav (Prosperity U pattern) ---------- */
header.site-header{background:var(--egu-black);position:relative;z-index:50;}
.brand-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;}
.brand{display:flex;align-items:center;gap:12px;color:#fff;}
.brand .u-mark{background:var(--egu-red);color:#fff;font-family:var(--font-head);font-weight:700;font-size:1.4rem;padding:6px 10px;border-radius:4px;line-height:1;}
.brand .brand-text{font-family:var(--font-head);font-size:1.15rem;letter-spacing:1px;text-transform:uppercase;}
.brand .brand-text small{display:block;font-size:.62rem;letter-spacing:2px;color:var(--egu-gray-400);font-weight:400;}
.header-actions{display:flex;gap:10px;}

nav.main-nav{background:#072440;border-top:1px solid #ffffff24;}
nav.main-nav .container{display:flex;align-items:center;justify-content:space-between;}
nav.main-nav ul{list-style:none;display:flex;margin:0;padding:0;flex-wrap:wrap;}
nav.main-nav > .container > ul > li{position:relative;}
nav.main-nav > .container > ul > li > a{
  display:flex;align-items:center;gap:5px;color:#fff;font-family:var(--font-head);
  text-transform:uppercase;font-size:.85rem;letter-spacing:.5px;padding:16px 18px;font-weight:500;
}
nav.main-nav > .container > ul > li:hover > a,
nav.main-nav > .container > ul > li > a.active{background:var(--egu-red);}
nav.main-nav .caret{font-size:.6rem;opacity:.8;}
.dropdown{
  display:none;position:absolute;top:100%;left:0;background:#082b4c;min-width:240px;
  border-top:3px solid var(--egu-red);padding:8px 0;box-shadow:0 12px 24px rgba(0,0,0,.35);
}
nav.main-nav > .container > ul > li:hover .dropdown{display:block;}
.dropdown a{display:block;padding:10px 20px;color:#ddd;font-size:.88rem;}
.dropdown a:hover{background:var(--egu-red);color:#fff;}
.nav-toggle{display:none;background:none;border:none;color:#fff;font-size:1.6rem;padding:10px;cursor:pointer;}

/* ---------- Section framework (Utah.edu blocky sections) ---------- */
section{padding:72px 0;}
section.alt{background:var(--egu-gray-100);}
section.dark{background:var(--egu-black);color:#fff;}
section.dark h2, section.dark p{color:#fff;}
.section-head{max-width:760px;margin-bottom:2.5rem;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}

.grid{display:grid;gap:28px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
@media(max-width:900px){.grid-3,.grid-4{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.grid-3,.grid-4,.grid-2{grid-template-columns:1fr;}}

.card{background:#fff;border:1px solid var(--egu-gray-200);border-radius:6px;overflow:hidden;transition:.2s;}
.card:hover{box-shadow:0 14px 26px rgba(0,0,0,.08);transform:translateY(-3px);}
.card img{height:190px;object-fit:cover;width:100%;}
.card-body{padding:22px;}
.card .tag{color:var(--egu-red);font-family:var(--font-head);text-transform:uppercase;font-size:.72rem;letter-spacing:1px;font-weight:700;}
.card h3 a:hover{color:var(--egu-red);}

.pillar{border-left:4px solid var(--egu-red);padding-left:20px;}
.pillar .num{font-family:var(--font-head);font-size:2.2rem;color:var(--egu-red);}

.stat-strip{background:var(--egu-red);color:#fff;padding:40px 0;}
.stat-strip .grid{text-align:center;}
.stat-strip .num{font-family:var(--font-head);font-size:2.6rem;display:block;}
.stat-strip small{text-transform:uppercase;letter-spacing:1px;font-size:.75rem;}

.quicklinks{display:flex;flex-wrap:wrap;gap:14px;}
.quicklinks a{
  flex:1 1 200px;background:var(--egu-black);color:#fff;padding:18px 20px;border-radius:6px;
  font-family:var(--font-head);text-transform:uppercase;letter-spacing:.5px;font-size:.9rem;
  border-left:4px solid var(--egu-red);
}
.quicklinks a:hover{background:var(--egu-red);}

.cta-banner{background:var(--egu-black);color:#fff;padding:60px 0;text-align:center;}
.cta-banner h2{color:#fff;}
.cta-banner .hero-ctas{justify-content:center;}

/* ---------- Forms ---------- */
form.egu-form{display:grid;gap:16px;max-width:640px;}
form.egu-form label{font-family:var(--font-head);text-transform:uppercase;font-size:.78rem;letter-spacing:1px;color:var(--egu-gray-700);}
form.egu-form input, form.egu-form select, form.egu-form textarea{
  width:100%;padding:.7rem .9rem;border:1px solid var(--egu-gray-200);border-radius:4px;font-family:var(--font-body);font-size:1rem;
}
form.egu-form textarea{min-height:120px;}
.form-status{font-family:var(--font-body);font-size:.9rem;padding:.6rem 0;}
.form-status.ok{color:#0a7a2f;}
.form-status.err{color:var(--egu-red);}

/* ---------- Breadcrumb / page hero (interior pages) ---------- */
.page-hero{background:var(--egu-black);color:#fff;padding:70px 0 50px;border-bottom:5px solid var(--egu-red);}
.page-hero .eyebrow{color:var(--egu-gold);}
.page-hero h1{color:#fff;margin-bottom:.2em;}
.page-hero p{color:#ccc;max-width:70ch;}
.breadcrumb{font-size:.8rem;color:#999;margin-bottom:14px;}
.breadcrumb a:hover{color:var(--egu-red);}

/* Steps */
.step{display:flex;gap:20px;align-items:flex-start;margin-bottom:28px;}
.step .num{flex:0 0 52px;height:52px;border-radius:50%;background:var(--egu-red);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-size:1.3rem;}
.step ul{margin:.5em 0 0;padding-left:1.1em;color:var(--egu-gray-700);}

@media(max-width:900px){
  nav.main-nav .container > ul{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#072440;}
  nav.main-nav .container > ul.open{display:flex;}
  nav.main-nav > .container > ul > li{width:100%;}
  .dropdown{position:static;box-shadow:none;}
  .nav-toggle{display:block;}
}