/* ============================================================
   UCADEMY — DESIGN TOKENS & SYSTEM
   Canadian online career college
   ============================================================ */
:root{
  --red:#D52B1E;        /* Canada red — primary accent */
  --red-hover:#B3160C;  /* hover / pressed */
  --red-tint:#FBECEA;   /* faint red wash */
  --navy:#1B2A4A;       /* trust — headings & dark sections */
  --navy-700:#26385E;
  --navy-900:#121E36;
  --green:#2E7D5B;      /* healthcare stream marker */
  --gold:#E0A92E;
  --white:#FFFFFF;
  --grey:#F4F6F9;       /* soft grey section bg */
  --line:#E2E7EF;       /* hairline borders */
  --ink:#333333;        /* body text */
  --ink-soft:#5B6577;   /* secondary text */

  --font-head:'Sora',system-ui,sans-serif;
  --font-body:'Inter',system-ui,sans-serif;

  --r-sm:8px; --r-md:10px; --r-lg:14px; --r-xl:20px; --r-pill:999px;

  --sh-sm:0 1px 2px rgba(27,42,74,.06), 0 1px 3px rgba(27,42,74,.08);
  --sh-md:0 6px 18px rgba(27,42,74,.08), 0 2px 6px rgba(27,42,74,.06);
  --sh-lg:0 24px 60px rgba(27,42,74,.16), 0 8px 24px rgba(27,42,74,.10);

  --s1:4px; --s2:8px; --s3:16px; --s4:24px; --s5:32px; --s6:48px; --s7:64px; --s8:96px;
  --maxw:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--ink);background:var(--white);
  line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{font-family:var(--font-head);color:var(--navy);line-height:1.12;letter-spacing:-.02em;font-weight:700}
h1{font-size:clamp(2.4rem,5vw,3.95rem);font-weight:800}
h2{font-size:clamp(1.9rem,3.4vw,2.85rem)}
h3{font-size:clamp(1.3rem,2vw,1.6rem)}
h4{font-size:1.12rem}
p{text-wrap:pretty}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
ul{list-style:none}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.container--wide{max-width:1320px}
.section{padding:var(--s8) 0}
.section--tight{padding:var(--s7) 0}
.section--grey{background:var(--grey)}
.section--navy{background:var(--navy);color:#D8DEEA}
.section--navy h1,.section--navy h2,.section--navy h3,.section--navy h4{color:#fff}
.center{text-align:center}
.lead{font-size:1.18rem;color:var(--ink-soft);line-height:1.65}
.section--navy .lead{color:#AEB8CC}
.mx-auto{margin-left:auto;margin-right:auto}
.maxw-sm{max-width:640px}
.maxw-md{max-width:760px}

.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-head);
  font-weight:600;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:18px}
.eyebrow svg{width:15px;height:15px;flex:none}
.eyebrow.center{justify-content:center}
.section--navy .eyebrow,.hero .eyebrow{color:#FF8A7F}

/* ---- Buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--font-head);font-weight:600;font-size:.98rem;
  padding:14px 26px;border-radius:var(--r-sm);border:2px solid transparent;
  cursor:pointer;transition:.18s ease;white-space:nowrap;line-height:1}
.btn svg{width:17px;height:17px;flex:none}
.btn--primary{background:var(--red);color:#fff;box-shadow:0 6px 16px rgba(213,43,30,.28)}
.btn--primary:hover{background:var(--red-hover);transform:translateY(-1px);box-shadow:0 10px 22px rgba(213,43,30,.34)}
.btn--secondary{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn--secondary:hover{background:var(--navy);color:#fff}
.btn--white{background:#fff;color:var(--navy)}
.btn--white:hover{background:#EEF2F8;transform:translateY(-1px)}
.btn--ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn--ghost-light:hover{background:rgba(255,255,255,.12);border-color:#fff}
.btn--lg{padding:17px 34px;font-size:1.05rem}
.btn--sm{padding:10px 18px;font-size:.9rem}
.btn--block{width:100%}

/* ---- Tags ---- */
.tag{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-head);font-weight:600;
  font-size:.76rem;letter-spacing:.03em;padding:6px 12px;border-radius:var(--r-pill);
  background:var(--grey);color:var(--navy);border:1px solid var(--line)}
.tag .dot{width:8px;height:8px;border-radius:50%;flex:none}
.tag[data-stream="business"] .dot{background:var(--navy)}
.tag[data-stream="tech"] .dot{background:var(--red)}
.tag[data-stream="health"] .dot{background:var(--green)}
.fact-pill{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.22);color:#fff;padding:11px 18px;border-radius:var(--r-pill);
  font-weight:500;font-size:.95rem}
.fact-pill svg{width:16px;height:16px;opacity:.9;flex:none}
.fact-pill b{font-family:var(--font-head);font-weight:700}

.pending{display:inline-flex;align-items:center;gap:8px;font-size:.86rem;color:var(--ink-soft)}
.pending svg{width:15px;height:15px;color:var(--red);flex:none}
.section--navy .pending{color:rgba(255,255,255,.72)}
.hero .pending{color:rgba(255,255,255,.78)}
.hero .pending svg{color:#FF8A7F}

/* ============================================================
   HEADER
   ============================================================ */
.topbar{background:var(--navy-900);color:#AEB8CC;font-size:.82rem}
.topbar .container{display:flex;justify-content:space-between;align-items:center;height:38px}
.topbar a{color:#C7D0E2;display:inline-flex;align-items:center;gap:7px;font-weight:500}
.topbar a:hover{color:#fff}
.topbar .tb-left{display:flex;gap:22px}
.topbar svg{width:13px;height:13px}
@media(max-width:760px){.topbar .tb-left{display:none}.topbar .container{justify-content:flex-end}}

header.site{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.92);
  backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line);transition:box-shadow .2s}
header.site.scrolled{box-shadow:var(--sh-md)}
.nav{display:flex;align-items:center;gap:30px;height:78px}
.logo{display:flex;align-items:center;gap:11px;flex:none;cursor:pointer;background:none;border:none}
.logo .mark{width:40px;height:40px;display:grid;place-items:center;background:var(--red);border-radius:9px}
.logo .mark svg{width:25px;height:25px}
.logo .word{font-family:var(--font-head);font-weight:800;font-size:1.4rem;color:var(--navy);letter-spacing:-.02em}
.nav-links{display:flex;align-items:center;gap:2px;margin-left:4px}
.nav-links>li{position:relative}
.nav-links>li>a,.nav-links>li>button{display:inline-flex;align-items:center;gap:6px;
  font-family:var(--font-head);font-weight:600;font-size:.95rem;color:var(--navy);
  padding:10px 13px;border-radius:8px;background:none;border:none;cursor:pointer;transition:.15s}
.nav-links>li>a:hover,.nav-links>li>button:hover,.nav-links>li.open>button{color:var(--red);background:var(--red-tint)}
.nav-links .caret{width:11px;height:11px;transition:transform .2s}
.nav-links li.open .caret{transform:rotate(180deg)}
.nav-cta{margin-left:auto;display:flex;align-items:center;gap:10px}
.hamburger{display:none;background:none;border:none;cursor:pointer;width:44px;height:44px;border-radius:8px;color:var(--navy)}
.hamburger svg{width:26px;height:26px}

.dropdown{position:absolute;top:calc(100% + 10px);left:0;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);box-shadow:var(--sh-lg);padding:14px;min-width:280px;
  opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;z-index:300}
.nav-links li.open>.dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown a{display:flex;gap:12px;align-items:flex-start;padding:11px 13px;border-radius:9px;transition:.14s}
.dropdown a:hover{background:var(--grey)}
.dropdown a .di{width:36px;height:36px;flex:none;border-radius:8px;display:grid;place-items:center;background:var(--red-tint);color:var(--red)}
.dropdown a .di svg{width:19px;height:19px}
.dropdown a>span{display:flex;flex-direction:column;gap:2px}
.dropdown a .dt{display:block;font-family:var(--font-head);font-weight:600;font-size:.95rem;color:var(--navy)}
.dropdown a .dd{display:block;font-size:.82rem;color:var(--ink-soft);line-height:1.4}
.mega{left:50%;transform:translateX(-50%) translateY(8px);width:min(880px,92vw);
  padding:26px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px 24px}
.nav-links li.open>.mega{transform:translateX(-50%) translateY(0)}
.mega .col-head{display:flex;align-items:center;gap:9px;font-family:var(--font-head);font-weight:700;
  font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);
  padding:0 13px 10px;margin-bottom:4px;border-bottom:1px solid var(--line)}
.mega .col-head .dot{width:9px;height:9px;border-radius:50%}
.mega-foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;
  margin-top:12px;padding:16px 13px 2px;border-top:1px solid var(--line)}
.mega-foot span{font-size:.9rem;color:var(--ink-soft)}

.mnav{position:fixed;inset:0 0 0 auto;width:min(380px,86vw);background:#fff;z-index:500;
  transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);
  box-shadow:var(--sh-lg);overflow-y:auto;display:flex;flex-direction:column}
.mnav.open{transform:translateX(0)}
.mnav-overlay{position:fixed;inset:0;background:rgba(18,30,54,.5);z-index:400;opacity:0;visibility:hidden;transition:.28s}
.mnav-overlay.open{opacity:1;visibility:visible}
.mnav-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}
.mnav-head .close{background:none;border:none;cursor:pointer;color:var(--navy);width:40px;height:40px}
.mnav-head .close svg{width:24px;height:24px}
.mnav-body{padding:10px 14px 20px;flex:1}
.macc{border-bottom:1px solid var(--line)}
.macc>button,.macc>a{width:100%;display:flex;justify-content:space-between;align-items:center;
  font-family:var(--font-head);font-weight:600;font-size:1.04rem;color:var(--navy);
  padding:15px 10px;background:none;border:none;cursor:pointer;text-align:left}
.macc .caret{width:16px;height:16px;transition:transform .2s}
.macc.open .caret{transform:rotate(180deg)}
.macc-panel{max-height:0;overflow:hidden;transition:max-height .28s ease}
.macc.open .macc-panel{max-height:640px}
.macc-panel a{display:block;padding:10px 10px 10px 22px;color:var(--ink-soft);font-size:.95rem;font-weight:500}
.macc-panel a:hover{color:var(--red)}
.mnav-foot{padding:18px 20px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}

@media(max-width:980px){
  .nav-links,.nav-cta .btn--secondary{display:none}
  .hamburger{display:grid;place-items:center;margin-left:auto}
  .nav-cta{margin-left:0}
}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:52px;align-items:center;
  padding:var(--s8) 0 calc(var(--s8) - 10px)}
.hero-leaf-bg{position:absolute;right:-120px;top:-80px;width:560px;height:560px;color:#fff;opacity:.035;pointer-events:none}
.hero-leaf-bg svg{width:100%;height:100%}
.hero h1{color:#fff;margin-bottom:22px}
.hero h1 .accent{color:#FF6A5C}
.hero .lead{color:#C3CCDC;max-width:520px;margin-bottom:30px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.hero-stats{display:flex;gap:34px;margin-top:38px;padding-top:30px;border-top:1px solid rgba(255,255,255,.12)}
.hero-stats .n{font-family:var(--font-head);font-weight:800;font-size:1.9rem;color:#fff;line-height:1}
.hero-stats .l{font-size:.84rem;color:#9DA8BE;margin-top:6px}
.hero-media{position:relative}
.hero-media .photo{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-lg);aspect-ratio:1400/916;background:var(--navy-700)}
.hero-media .photo img{width:100%;height:100%;object-fit:cover}
.hero-badge{position:absolute;left:-26px;bottom:38px;background:#fff;color:var(--navy);
  border-radius:var(--r-lg);box-shadow:var(--sh-lg);padding:16px 20px;display:flex;align-items:center;gap:13px;max-width:250px}
.hero-badge .hb-ic{width:42px;height:42px;border-radius:10px;background:var(--red-tint);color:var(--red);display:grid;place-items:center;flex:none}
.hero-badge .hb-ic svg{width:22px;height:22px}
.hero-badge .hb-t{font-family:var(--font-head);font-weight:700;font-size:1rem;line-height:1.2;display:block}
.hero-badge .hb-s{font-size:.8rem;color:var(--ink-soft);display:block}
.hero-flag{position:absolute;top:30px;right:30px;display:flex;align-items:center;gap:9px;
  background:rgba(255,255,255,.95);color:var(--navy);padding:8px 14px;border-radius:var(--r-pill);
  font-family:var(--font-head);font-weight:600;font-size:.82rem;box-shadow:var(--sh-md)}
.hero-flag svg{width:16px;height:16px;color:var(--red)}
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:40px;padding:var(--s7) 0}
  .hero-media{max-width:560px;margin:0 auto;width:100%}
  .hero-badge{left:0}
}

/* ============================================================
   VALUE PROPS
   ============================================================ */
.vp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.vp{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 26px;transition:.2s}
.vp:hover{transform:translateY(-4px);box-shadow:var(--sh-md);border-color:transparent}
.vp .ic{width:52px;height:52px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center;margin-bottom:20px}
.vp .ic svg{width:26px;height:26px}
.vp h4{margin-bottom:8px}
.vp p{font-size:.96rem;color:var(--ink-soft)}
@media(max-width:880px){.vp-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.vp-grid{grid-template-columns:1fr}}

/* ============================================================
   SECTION HEAD
   ============================================================ */
.shead{margin-bottom:var(--s6)}
.shead.center{text-align:center}
.shead .lead{margin-top:16px}
.shead-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}

/* ============================================================
   PROGRAM CARDS
   ============================================================ */
.prog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.prog-grid.cols-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.prog-grid,.prog-grid.cols-2{grid-template-columns:1fr}}
.pcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  display:flex;flex-direction:column;transition:.2s;cursor:pointer}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);border-color:transparent}
.pcard .pc-media{aspect-ratio:16/10;overflow:hidden;position:relative;background:var(--grey)}
.pcard .pc-media img{width:100%;height:100%;object-fit:cover;transition:.4s}
.pcard:hover .pc-media img{transform:scale(1.05)}
.pcard .pc-stream{position:absolute;top:14px;left:14px}
.pcard .pc-body{padding:24px;display:flex;flex-direction:column;flex:1}
.pcard .pc-cred{font-family:var(--font-head);font-weight:600;font-size:.78rem;letter-spacing:.05em;
  text-transform:uppercase;color:var(--red);margin-bottom:10px}
.pcard h4{font-size:1.22rem;margin-bottom:12px;line-height:1.25}
.pcard .pc-meta{display:flex;gap:18px;margin-top:auto;padding-top:18px;border-top:1px solid var(--line);
  color:var(--ink-soft);font-size:.88rem}
.pcard .pc-meta span{display:inline-flex;align-items:center;gap:7px}
.pcard .pc-meta svg{width:15px;height:15px;color:var(--navy)}
.pcard .pc-arrow{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-head);
  font-weight:600;font-size:.92rem;color:var(--navy);margin-top:14px;transition:.18s}
.pcard:hover .pc-arrow{color:var(--red);gap:11px}
.pcard .pc-arrow svg{width:16px;height:16px}

/* Stream header card (homepage) */
.stream-head{display:flex;align-items:center;gap:14px;margin:0 0 22px}
.stream-head .sh-dot{width:14px;height:14px;border-radius:50%}
.stream-head h3{font-size:1.35rem}
.stream-head .sh-count{margin-left:auto;font-size:.86rem;color:var(--ink-soft);font-weight:500}

/* ============================================================
   HOW IT WORKS
   ============================================================ */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;counter-reset:step}
@media(max-width:820px){.steps{grid-template-columns:1fr}}
.step{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:34px 28px}
.step .num{font-family:var(--font-head);font-weight:800;font-size:3rem;color:var(--red-tint);line-height:.8;margin-bottom:14px}
.step .num b{color:var(--red)}
.step h4{margin-bottom:10px}
.step p{color:var(--ink-soft);font-size:.97rem}
.step .ic{position:absolute;top:30px;right:28px;width:44px;height:44px;border-radius:11px;
  background:var(--navy);color:#fff;display:grid;place-items:center}
.step .ic svg{width:22px;height:22px}

/* ============================================================
   ALBERTA / STATS BAND
   ============================================================ */
.alberta{position:relative;overflow:hidden}
.alberta-leaf{position:absolute;left:-90px;bottom:-110px;width:420px;height:420px;opacity:.05;color:#fff}
.alberta-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:1}
@media(max-width:880px){.alberta-grid{grid-template-columns:1fr;gap:40px}}
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.stat{background:var(--navy-700);border:1px solid rgba(255,255,255,.08);border-radius:var(--r-lg);padding:26px 24px}
.stat .n{font-family:var(--font-head);font-weight:800;font-size:2.6rem;color:#fff;line-height:1}
.stat .n .u{color:#FF6A5C}
.stat .l{color:#AEB8CC;font-size:.92rem;margin-top:8px}
.alberta-list{margin-top:26px;display:flex;flex-direction:column;gap:14px}
.alberta-list li{display:flex;gap:13px;align-items:flex-start;color:#C3CCDC}
.alberta-list li svg{width:20px;height:20px;color:#FF6A5C;flex:none;margin-top:3px}
.alberta-list li b{color:#fff;font-family:var(--font-head)}

/* ============================================================
   TESTIMONIAL
   ============================================================ */
.testi{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center}
@media(max-width:860px){.testi{grid-template-columns:1fr;gap:32px}}
.testi-photo{border-radius:var(--r-xl);overflow:hidden;aspect-ratio:1/1;box-shadow:var(--sh-lg);background:var(--grey)}
.testi-photo img{width:100%;height:100%;object-fit:cover}
.testi-quote .qmark{font-size:0;line-height:.6}.qmark::before{content:"\201C";font-family:var(--font-head);font-size:5rem;color:var(--red-tint);line-height:.6;font-weight:800}
.testi-quote blockquote{font-family:var(--font-head);font-weight:600;font-size:clamp(1.4rem,2.4vw,1.85rem);
  color:var(--navy);line-height:1.4;letter-spacing:-.01em;margin:10px 0 26px}
.testi-author{display:flex;align-items:center;gap:14px}
.testi-author .ta-name{font-family:var(--font-head);font-weight:700;color:var(--navy)}
.testi-author .ta-role{font-size:.9rem;color:var(--ink-soft)}
.testi-author .ta-line{width:36px;height:3px;background:var(--red);border-radius:2px}

/* logos / accreditation strip */
.trust-strip{display:flex;align-items:center;justify-content:center;gap:14px 40px;flex-wrap:wrap;
  padding:26px 0;color:var(--ink-soft)}
.trust-strip .ts-item{display:flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:600;font-size:.95rem;color:var(--navy)}
.trust-strip .ts-item svg{width:22px;height:22px;color:var(--red)}

/* ============================================================
   CTA BAND
   ============================================================ */
.cta-band{background:var(--red);color:#fff;border-radius:var(--r-xl);padding:60px;position:relative;overflow:hidden}
.cta-band .cb-leaf{position:absolute;right:-60px;top:-60px;width:320px;height:320px;opacity:.12;color:#fff}
.cta-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center}
@media(max-width:820px){.cta-band{padding:40px 30px}.cta-inner{grid-template-columns:1fr;gap:26px;text-align:center}}
.cta-band h2{color:#fff;margin-bottom:14px}
.cta-band p{color:rgba(255,255,255,.9);font-size:1.1rem}
.cta-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:820px){.cta-actions{justify-content:center}}
.cta-band .pending{color:rgba(255,255,255,.82);margin-top:14px}
.cta-band .pending svg{color:#fff}

/* ============================================================
   FOOTER
   ============================================================ */
footer.site{background:var(--navy-900);color:#9DA8BE;padding:var(--s8) 0 0}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:var(--s7)}
@media(max-width:880px){.foot-grid{grid-template-columns:1fr 1fr;gap:34px}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}
.foot-brand .logo .word{color:#fff}
.foot-about{margin:18px 0;font-size:.94rem;line-height:1.6;color:#9DA8BE;max-width:320px}
.foot-social{display:flex;gap:10px}
.foot-social a{width:40px;height:40px;border-radius:9px;background:rgba(255,255,255,.07);
  display:grid;place-items:center;color:#C7D0E2;transition:.18s}
.foot-social a:hover{background:var(--red);color:#fff}
.foot-social svg{width:18px;height:18px}
.foot-col h5,.foot-col h4{color:#fff;margin-top:0;line-height:1.3;font-family:var(--font-head);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px}
.foot-col ul{display:flex;flex-direction:column;gap:11px;padding:0;margin:0;list-style:none}
.foot-col a{color:#9DA8BE;font-size:.94rem;transition:.15s}
.foot-col a:hover{color:#fff}
.foot-contact li{display:flex;gap:11px;align-items:flex-start;font-size:.94rem;margin-bottom:13px}
.foot-contact svg{width:17px;height:17px;color:#FF6A5C;flex:none;margin-top:3px}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding:24px 0;display:flex;justify-content:space-between;
  align-items:center;gap:18px;flex-wrap:wrap;font-size:.86rem}
.foot-bottom .fb-links{display:flex;gap:24px;flex-wrap:wrap}
.foot-bottom a:hover{color:#fff}
.foot-disclaimer{background:var(--navy);border-radius:var(--r-md);padding:18px 22px;margin-bottom:30px;
  display:flex;gap:13px;align-items:flex-start;font-size:.86rem;line-height:1.55;color:#AEB8CC}
.foot-disclaimer svg{width:20px;height:20px;color:#FF8A7F;flex:none;margin-top:2px}

/* ============================================================
   PAGE / ROUTING
   ============================================================ */
.page{display:none}
.page.active{display:block;animation:fadeUp .4s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* generic inner page hero */
.phero{background:var(--navy);color:#fff;padding:var(--s7) 0;position:relative;overflow:hidden}
.phero-leaf{position:absolute;right:-80px;top:-60px;width:420px;height:420px;opacity:.04;color:#fff}
.phero .crumb{display:flex;align-items:center;gap:9px;font-size:.86rem;color:#9DA8BE;margin-bottom:18px;position:relative;z-index:1}
.phero .crumb a:hover{color:#fff}
.crumb{display:flex;align-items:center;gap:9px;font-size:.86rem;color:#9DA8BE}
.crumb a:hover{color:#fff}
.crumb svg{width:13px;height:13px;flex:none;opacity:.6}
/* decorative leaf watermarks — always fill their fixed-size container */
.hero-leaf-bg svg,.alberta-leaf svg,.phero-leaf svg,.prog-hero-leaf svg,.cb-leaf svg,.ma-leaf svg{width:100%;height:100%;display:block}
.phero h1{color:#fff;position:relative;z-index:1}
.phero .lead{color:#C3CCDC;max-width:640px;margin-top:18px;position:relative;z-index:1}

/* ============================================================
   PROGRAMS LISTING — filters
   ============================================================ */
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:38px}
.filter-btn{font-family:var(--font-head);font-weight:600;font-size:.92rem;padding:11px 20px;
  border-radius:var(--r-pill);border:1.5px solid var(--line);background:#fff;color:var(--navy);cursor:pointer;transition:.16s;
  display:inline-flex;align-items:center;gap:9px}
.filter-btn .dot{width:9px;height:9px;border-radius:50%}
.filter-btn:hover{border-color:var(--navy)}
.filter-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.filter-btn.active[data-stream="tech"]{background:var(--red);border-color:var(--red)}
.filter-btn.active[data-stream="health"]{background:var(--green);border-color:var(--green)}
.filter-count{margin-left:auto;align-self:center;color:var(--ink-soft);font-size:.92rem}
.pcard.hide{display:none}

/* ============================================================
   SINGLE PROGRAM
   ============================================================ */
.prog-hero{background:var(--navy);color:#fff;padding:var(--s7) 0;position:relative;overflow:hidden}
.prog-hero-leaf{position:absolute;right:-70px;bottom:-90px;width:380px;height:380px;opacity:.05;color:#fff}
.prog-hero .inner{position:relative;z-index:1;max-width:780px}
.prog-hero h1{color:#fff;margin:14px 0 22px}
.prog-pills{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.prog-body{display:grid;grid-template-columns:1fr 360px;gap:54px;align-items:start}
@media(max-width:980px){.prog-body{grid-template-columns:1fr}}
.prog-main h2{margin:0 0 18px}
.prog-main h3{margin:42px 0 16px}
.prog-main p{color:var(--ink);margin-bottom:16px}
.learn-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 26px;margin-top:8px}
@media(max-width:560px){.learn-grid{grid-template-columns:1fr}}
.learn-grid li{display:flex;gap:12px;align-items:flex-start;color:var(--ink)}
.learn-grid li svg{width:20px;height:20px;color:var(--red);flex:none;margin-top:3px}

.curric{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-top:8px}
.crow{display:flex;align-items:center;gap:18px;padding:18px 22px;border-bottom:1px solid var(--line);transition:.15s}
.crow:last-child{border-bottom:none}
.crow:hover{background:var(--grey)}
.crow .cnum{width:38px;height:38px;border-radius:9px;background:var(--red-tint);color:var(--red);
  display:grid;place-items:center;font-family:var(--font-head);font-weight:700;flex:none}
.crow .cname{font-family:var(--font-head);font-weight:600;color:var(--navy);flex:1}
.crow .chours{color:var(--ink-soft);font-size:.9rem;display:inline-flex;align-items:center;gap:7px}
.crow .chours svg{width:15px;height:15px}
.curric-foot{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;background:var(--grey);
  font-family:var(--font-head);font-weight:700;color:var(--navy)}
.curric-soon{display:flex;gap:18px;align-items:center;background:var(--grey);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:24px;flex-wrap:wrap}
.curric-soon .cs-ic{width:48px;height:48px;border-radius:11px;background:#fff;color:var(--red);display:grid;place-items:center;flex:none;box-shadow:var(--sh-sm)}
.curric-soon .cs-ic svg{width:24px;height:24px}
.curric-soon .cs-t{font-family:var(--font-head);font-weight:700;color:var(--navy);font-size:1.05rem}
.curric-soon .cs-d{color:var(--ink-soft);font-size:.92rem;flex:1;min-width:240px}
.curric-soon .btn{margin-left:auto}

.outcomes{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:8px}
@media(max-width:560px){.outcomes{grid-template-columns:1fr}}
.outcome{display:flex;gap:14px;align-items:flex-start;background:var(--grey);border-radius:var(--r-md);padding:18px 20px}
.outcome .oic{width:40px;height:40px;border-radius:10px;background:#fff;color:var(--navy);display:grid;place-items:center;flex:none;box-shadow:var(--sh-sm)}
.outcome .oic svg{width:21px;height:21px}
.outcome .ot{font-family:var(--font-head);font-weight:600;color:var(--navy);font-size:.98rem}
.outcome .od{font-size:.86rem;color:var(--ink-soft)}

.req-list{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.req-list li{display:flex;gap:13px;align-items:flex-start}
.req-list li svg{width:20px;height:20px;color:var(--red);flex:none;margin-top:3px}

/* sticky sidebar */
.prog-side{position:sticky;top:130px;display:flex;flex-direction:column;gap:20px}
.side-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-md);overflow:hidden}
.side-card .sc-head{background:var(--navy);color:#fff;padding:22px 24px}
.side-card .sc-head .t{font-family:var(--font-head);font-weight:700;font-size:1.1rem}
.side-card .sc-head .s{font-size:.86rem;color:#AEB8CC;margin-top:4px}
.side-card .sc-body{padding:8px 24px 24px}
.qfact{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}
.qfact:last-of-type{border-bottom:none}
.qfact .qf-l{display:inline-flex;align-items:center;gap:10px;color:var(--ink-soft);font-size:.92rem}
.qfact .qf-l svg{width:17px;height:17px;color:var(--navy)}
.qfact .qf-v{font-family:var(--font-head);font-weight:700;color:var(--navy);text-align:right}
.side-cta{padding:0 24px 24px;display:flex;flex-direction:column;gap:10px}
.side-note{background:var(--red-tint);border-radius:var(--r-md);padding:14px 18px;display:flex;gap:11px;align-items:flex-start;
  font-size:.84rem;color:#8A2018;line-height:1.5}
.side-note svg{width:17px;height:17px;flex:none;margin-top:2px;color:var(--red)}

/* ============================================================
   ABOUT
   ============================================================ */
.about-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
@media(max-width:860px){.about-split{grid-template-columns:1fr;gap:36px}}
.about-photo{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-lg);aspect-ratio:5/4;background:var(--grey)}
.about-photo img{width:100%;height:100%;object-fit:cover}
.about-photo.tall{aspect-ratio:4/5}
.mission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:820px){.mission-grid{grid-template-columns:1fr}}
.mission-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 26px}
.mission-card .ic{width:50px;height:50px;border-radius:12px;background:var(--red-tint);color:var(--red);display:grid;place-items:center;margin-bottom:18px}
.mission-card .ic svg{width:25px;height:25px}
.mission-card h4{margin-bottom:10px}
.mission-card p{color:var(--ink-soft);font-size:.96rem}
.values-list{display:flex;flex-direction:column;gap:18px;margin-top:24px}
.values-list li{display:flex;gap:15px;align-items:flex-start}
.values-list .vi{width:44px;height:44px;border-radius:11px;background:var(--navy);color:#fff;display:grid;place-items:center;flex:none}
.values-list .vi svg{width:22px;height:22px}
.values-list .vt{font-family:var(--font-head);font-weight:700;color:var(--navy);margin-bottom:3px}
.values-list .vd{color:var(--ink-soft);font-size:.95rem}

/* ============================================================
   STYLE GUIDE
   ============================================================ */
.sg{background:#fff}
.sg-band{background:var(--navy);color:#fff;padding:20px 0}
.sg-band .container{display:flex;align-items:center;gap:16px;justify-content:space-between;flex-wrap:wrap}
.sg-band .sgb-l{display:flex;align-items:center;gap:14px}
.sg-band .sgb-tag{font-family:var(--font-head);font-weight:700;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;
  background:var(--red);color:#fff;padding:5px 12px;border-radius:var(--r-pill)}
.sg-band p{color:#C3CCDC;font-size:.92rem}
.sg-band .btn--sm{flex:none}
.sg-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;margin-top:40px}
.sg-block{grid-column:span 4;background:var(--grey);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px}
.sg-block.wide{grid-column:span 6}
.sg-block.full{grid-column:span 12}
@media(max-width:900px){.sg-block,.sg-block.wide{grid-column:span 12}}
.sg-block h5{font-family:var(--font-head);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:18px}
.swatches{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.swatch{border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);background:#fff}
.swatch .chip{height:64px}
.swatch .meta{padding:9px 11px}
.swatch .nm{font-family:var(--font-head);font-weight:600;font-size:.82rem;color:var(--navy)}
.swatch .hex{font-size:.78rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.type-row{display:flex;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px dashed var(--line)}
.type-row:last-child{border-bottom:none}
.type-row .tlabel{font-size:.78rem;color:var(--ink-soft);width:60px;flex:none;font-variant-numeric:tabular-nums}
.type-row .tsample{font-family:var(--font-head);color:var(--navy);font-weight:700;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.token-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px dashed var(--line);font-size:.9rem}
.token-row:last-child{border-bottom:none}
.token-row .tk{font-family:var(--font-head);font-weight:600;color:var(--navy)}
.token-row .tv{color:var(--ink-soft);font-variant-numeric:tabular-nums}
.sg-btns{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.sg-radii{display:flex;gap:16px;align-items:flex-end}
.radius-demo{text-align:center}
.radius-demo .box{width:64px;height:64px;background:var(--navy);margin-bottom:8px}
.radius-demo .lb{font-size:.76rem;color:var(--ink-soft)}
.shadow-demo{display:flex;gap:24px;flex-wrap:wrap}
.shadow-demo .box{width:90px;height:64px;background:#fff;border-radius:var(--r-md);display:grid;place-items:end center;padding-bottom:6px;font-size:.72rem;color:var(--ink-soft)}

/* ============================================================
   MODAL — Request Information
   ============================================================ */
.modal-overlay{position:fixed;inset:0;background:rgba(18,30,54,.6);backdrop-filter:blur(3px);z-index:600;
  display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;transition:.25s}
.modal-overlay.open{opacity:1;visibility:visible}
.modal{background:#fff;border-radius:var(--r-xl);width:min(960px,100%);max-height:92vh;overflow:hidden;
  display:grid;grid-template-columns:.85fr 1.15fr;box-shadow:var(--sh-lg);transform:translateY(16px) scale(.98);transition:.28s}
.modal-overlay.open .modal{transform:none}
@media(max-width:760px){.modal{grid-template-columns:1fr}.modal-aside{display:none}}
.modal-aside{background:var(--navy);color:#fff;padding:40px 34px;position:relative;overflow:hidden}
.modal-aside .ma-leaf{position:absolute;right:-50px;bottom:-50px;width:240px;height:240px;opacity:.08;color:#fff}
.modal-aside h3{color:#fff;font-size:1.5rem;margin-bottom:14px;position:relative;z-index:1}
.modal-aside p{color:#C3CCDC;font-size:.96rem;position:relative;z-index:1}
.modal-aside ul{margin-top:24px;display:flex;flex-direction:column;gap:14px;position:relative;z-index:1}
.modal-aside li{display:flex;gap:11px;align-items:flex-start;color:#D8DEEA;font-size:.94rem}
.modal-aside li svg{width:19px;height:19px;color:#FF8A7F;flex:none;margin-top:2px}
.modal-form{padding:36px 38px;overflow-y:auto}
.modal-form .mf-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}
.modal-form h3{font-size:1.5rem}
.modal-form .close{background:var(--grey);border:none;width:38px;height:38px;border-radius:9px;cursor:pointer;color:var(--navy);display:grid;place-items:center;flex:none}
.modal-form .close svg{width:20px;height:20px}
.modal-form .mf-sub{color:var(--ink-soft);font-size:.94rem;margin-bottom:24px}
.field{margin-bottom:16px}
.field label{display:block;font-family:var(--font-head);font-weight:600;font-size:.84rem;color:var(--navy);margin-bottom:7px}
.field label .req{color:var(--red)}
.field input,.field select{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--r-sm);
  font-family:var(--font-body);font-size:.96rem;color:var(--ink);background:#fff;transition:.15s}
.field input:focus,.field select:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px var(--red-tint)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:480px){.field-row{grid-template-columns:1fr}}
.field.error input,.field.error select{border-color:var(--red)}
.field .err-msg{color:var(--red);font-size:.8rem;margin-top:5px;display:none}
.field.error .err-msg{display:block}
.modal-consent{font-size:.82rem;color:var(--ink-soft);line-height:1.5;margin:6px 0 20px}
.modal-success{text-align:center;padding:40px 20px;display:none}
.modal-success.show{display:block}
.modal-success .ms-ic{width:72px;height:72px;border-radius:50%;background:var(--red-tint);color:var(--red);display:grid;place-items:center;margin:0 auto 22px}
.modal-success .ms-ic svg{width:38px;height:38px}
.modal-success h3{margin-bottom:12px}
.modal-success p{color:var(--ink-soft)}
.modal-form.hide-form .mf-body{display:none}

/* scroll reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}

/* back to top of section helper */
.divider-leaf{display:flex;align-items:center;justify-content:center;gap:18px;color:var(--line);margin:0 auto}
.divider-leaf::before,.divider-leaf::after{content:"";height:1px;width:80px;background:var(--line)}
.divider-leaf svg{width:22px;height:22px;color:var(--red);opacity:.5}

/* ============================================================
   WORDPRESS / ASTRA INTEGRATION OVERRIDES
   ============================================================ */
#masthead,#colophon,.ast-above-footer-wrap,.site-below-footer-wrap,.site-primary-footer-wrap,.ast-small-footer{display:none !important}
.ast-page-builder-template #content,.ast-page-builder-template .site-content,.ast-page-builder-template .ast-container{max-width:none !important;padding:0 !important;margin:0 !important}
#page{overflow-x:clip}
body.wp-singular main, body main{margin:0}
.uc-header-wrap{position:sticky;top:0;z-index:200}
/* keep WP admin bar from breaking sticky */
body.admin-bar header.site{top:32px}
@media(max-width:782px){body.admin-bar header.site{top:46px}}
/* default WP content (non-home pages) gets readable wrapper */
.uc-page .container{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* FIX: WordPress adds .page class to page <article>; design .page{display:none} hid all content */
article.page,.hentry.page,.ast-article-single,.entry-content,.entry-content>.page{display:block !important}
.entry-content>*{max-width:none}

/* FIX 2: WP front page <body> also has class "page" -> .page{display:none} was hiding the whole body */
body.page,body.home,body.uc-themed{display:block !important}

/* FIX 3: remove Astra content-link underlines (design uses none) */
.entry-content a,.pcard,.pcard a,footer.site a,header.site a,.topbar a,.nav-links a,.crumb a,.mnav a,.btn,.eyebrow,.foot-col a,.foot-bottom a{text-decoration:none !important}
.entry-content a:hover{text-decoration:none}
/* keep program-card image corners clean */
.pcard{color:inherit}
/* fix: keep nav items on one line so Student Services does not wrap */
.nav-links>li>a,.nav-links>li>button{white-space:nowrap}
@media(min-width:981px) and (max-width:1180px){.nav-links{gap:0}.nav-links>li>a,.nav-links>li>button{padding-left:9px;padding-right:9px}}
/* fix: dropdown nav buttons (About/Programs/Admissions) must match plain links */
.nav-links>li>button{box-shadow:none!important;line-height:1.6!important}
/* a11y: visible keyboard focus */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #FF6A5C!important;outline-offset:2px!important;border-radius:3px}
/* fix: remove default UL margin so nav vertically centers with logo/CTA */
.nav-links{margin-top:0!important;margin-bottom:0!important}
/* career outlook & salaries */
.careers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0 16px}
@media(max-width:820px){.careers-grid{grid-template-columns:1fr}}
.career-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}
.career-card h4{font-family:var(--font-head);color:var(--navy);margin:0 0 10px;font-size:1.06rem}
.career-card .wage{font-family:var(--font-head);font-weight:800;color:var(--green);font-size:1.45rem;line-height:1}
.career-card .wage-sub{color:#5a6a85;font-size:.88rem;margin:4px 0 12px}
.career-card p{color:#444;font-size:.92rem;margin:0;line-height:1.55}
.careers-src{text-align:center;color:#8a93a6;font-size:.85rem;margin-top:8px;max-width:760px;margin-left:auto;margin-right:auto}
/* sample lesson viewer */
.les-grid{display:grid;grid-template-columns:1fr 300px;gap:36px;align-items:start}
@media(max-width:880px){.les-grid{grid-template-columns:1fr}}
.les-video{background:#1B2A4A;border-radius:12px;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;margin:16px 0;position:relative;overflow:hidden}
.les-video .play{width:64px;height:64px;border-radius:50%;background:#D52B1E;display:grid;place-items:center}
.les-video .play svg{width:26px;height:26px;fill:#fff;margin-left:3px}
.les-video .lbl{position:absolute;bottom:12px;left:14px;color:#C3CCDC;font-size:13px;font-family:Sora,sans-serif}
.les-main h3{font-family:Sora,sans-serif;color:var(--navy);margin:22px 0 8px}
.les-main p{color:#3c4453;line-height:1.7}
.les-check{border:1px solid var(--line);border-radius:12px;padding:18px;margin:20px 0;background:#f9fbfd}
.les-check summary{font-family:Sora,sans-serif;font-weight:600;color:var(--navy);cursor:pointer;list-style:none}
.les-check summary::-webkit-details-marker{display:none}
.les-check summary:before{content:"\25B8 ";color:var(--red)}
.les-check[open] summary:before{content:"\\25BE "}
.les-side .card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;position:sticky;top:90px}
.les-side .card .hd{background:var(--navy);color:#fff;padding:16px 18px;font-family:Sora,sans-serif;font-weight:700}
.les-outline{list-style:none;padding:10px;margin:0}
.les-outline li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;color:#5a6a85;font-size:.93rem}
.les-outline li.cur{background:#fdeceb;color:var(--navy);font-weight:600;font-family:Sora,sans-serif}
.les-outline li svg{width:15px;height:15px;flex:none;color:var(--red)}
/* sc-field select fix: theme forces height:40px which clips text with our padding */
.sc-field select{height:auto!important;min-height:50px;line-height:1.5!important}

/* Footer CTA buttons must keep their own text colour (.foot-col a was overriding .btn--primary) */
.foot-col a.btn--primary,.foot-bottom a.btn--primary{color:#fff}
.foot-col a.btn--white,.foot-bottom a.btn--white{color:var(--navy)}

/* Progressive form — step-1 continue button */
.uc-pf-continue{display:inline-flex;align-items:center;gap:8px;margin:4px 0 8px;padding:14px 26px;border:2px solid transparent;border-radius:10px;cursor:pointer;font-family:var(--font-head);font-weight:600;font-size:1rem;line-height:1.2;background:var(--red);color:#fff;box-shadow:0 6px 16px rgba(213,43,30,.28);transition:.18s ease}
.uc-pf-continue:hover{background:var(--red-hover);transform:translateY(-1px);box-shadow:0 10px 22px rgba(213,43,30,.34)}
.uc-pf-continue:focus-visible{outline:3px solid var(--navy);outline-offset:2px}

/* fix 24.09.2026: on phones the header row (logo + Request Information + hamburger = 469px) was wider than the screen,
   so browsers zoomed the whole page out to ~83%. The CTA stays in the mobile menu and the sticky bottom bar. */
@media(max-width:520px){.nav-cta .btn--primary{display:none}.nav-cta{margin-left:auto}}
/* closed off-canvas menu leaked its shadow onto the right edge of the page */
.mnav:not(.open){box-shadow:none}
/* 22.10.2026: between 981 and 1180px the menu + "Request Information" did not fit (button cut off at the right on 1024px screens): smaller menu, "Home" and "News" hidden there (the logo links home, News is in the footer) */
@media(min-width:981px) and (max-width:1180px){.nav{gap:10px}.logo .word{font-size:1.25rem}.nav-links>li:first-child,.nav-links>li:has(>a[href="/news/"]){display:none}.nav-links>li>a,.nav-links>li>button{padding-left:5px;padding-right:5px;font-size:.83rem}.nav-cta .btn{padding-left:12px;padding-right:12px;font-size:.82rem;white-space:nowrap}}
/* 22.10.2026: .btn--outline-light (About page, dark section) had no rule -> dark grey text on navy, buttons invisible */
.btn--outline-light,.entry-content a.btn--outline-light{color:#fff!important;background:transparent;border:1.5px solid rgba(255,255,255,.5)}
.btn--outline-light:hover,.entry-content a.btn--outline-light:hover{color:#fff!important;background:rgba(255,255,255,.1);border-color:#fff}
/* 22.10.2026: Astra 4.13 sets max-width:none on blocks inside page-builder pages (.ast-page-builder-template .entry-content ...),
   so our .container sections stretched to the full screen and text hugged the left edge on wide screens (home, about, admissions…) */
.uc-themed .entry-content .container{max-width:var(--maxw)!important;margin-left:auto!important;margin-right:auto!important}
.uc-themed .entry-content .container.container--wide{max-width:1320px!important}

/* 22.10.2026: data-block bar labels (white-space:nowrap next to a 78% bar) pushed the page wider than the screen (program pages at ~1024px) */
.uc-data .uc-viz div[style*="display:flex"]>span[style*="nowrap"],.uc-data .uc-viz div[style*="display:flex"]>div[style*="nowrap"]{white-space:normal!important;min-width:0;flex:1 1 auto}
.uc-data .uc-viz div[style*="display:flex"]>div[style*="flex:none"]{flex:0 1 auto!important}
.uc-nrow li b{overflow-wrap:anywhere}

/* 23.10.2026: Astra sets aspect-ratio 16/9 on archive thumbnails without object-fit -> photos were squashed */
.ast-article-post .post-thumb-img-content img, .uc-themed img.wp-post-image{object-fit:cover;object-position:center}
