/* ═══════════════════════════════════════════════════════════════
   UNIKA BRAND SYSTEM — shared across all pages
   Source: UniKa Poster Layout Template Instructions v1.0
   60% Off-white · 30% Maroon · 10% Gold · Navy for labels/support
═══════════════════════════════════════════════════════════════ */
:root {
  --maroon:   #7B1E2E;
  --maroon-d: #560F1E;
  --gold:     #DBAC3A;
  --navy:     #0B2C5D;
  --offwhite: #F2EFE8;
  --charcoal: #333333;
  --grey:     #666666;
  --white:    #FFFFFF;
  --border:   rgba(0,0,0,0.09);
  --shadow:   0 4px 24px rgba(0,0,0,0.08);
  --ff-serif: Georgia,'Times New Roman',serif;
  --ff-sans:  'Inter',Arial,system-ui,sans-serif;
  --ease:     cubic-bezier(.4,0,.2,1);
  --nav-h:    68px;
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--ff-sans);color:var(--charcoal);background:var(--offwhite);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
img.cover{width:100%;height:100%;object-fit:cover}
ul,ol{list-style:none}
button{border:none;cursor:pointer;background:none;font-family:inherit}

/* ── LAYOUT ── */
.wrap{max-width:1200px;margin:0 auto;padding:0 40px}
.wrap--narrow{max-width:760px;margin:0 auto;padding:0 40px}
@media(max-width:768px){.wrap,.wrap--narrow{padding:0 20px}}

/* ── TYPOGRAPHY ── */
.h-xl{font-family:var(--ff-serif);font-size:clamp(36px,5vw,64px);font-weight:700;line-height:1.08;letter-spacing:-.02em;color:var(--charcoal)}
.h-lg{font-family:var(--ff-serif);font-size:clamp(28px,3.5vw,44px);font-weight:700;line-height:1.12;letter-spacing:-.015em;color:var(--charcoal)}
.h-md{font-family:var(--ff-serif);font-size:clamp(20px,2.5vw,28px);font-weight:700;line-height:1.22;color:var(--charcoal)}
.h-sm{font-family:var(--ff-sans);font-size:16px;font-weight:600;line-height:1.35;color:var(--charcoal)}
.body-lg{font-size:17px;line-height:1.75;color:var(--grey);font-weight:300}
.body-md{font-size:15px;line-height:1.75;color:var(--grey);font-weight:300}
.body-sm{font-size:13px;line-height:1.6;color:var(--grey);font-weight:300}

/* white variants */
.h-xl.w,.h-lg.w,.h-md.w,.h-sm.w{color:var(--white)}
.body-lg.w,.body-md.w,.body-sm.w{color:rgba(255,255,255,.7)}

/* ── EYEBROW — NO decorative lines ── */
.eyebrow{font-family:var(--ff-sans);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--navy);display:block;margin-bottom:12px}
.eyebrow.gold{color:var(--gold)}
.eyebrow.white{color:rgba(255,255,255,.6)}

/* ── GOLD RULE ── */
.rule{width:40px;height:2px;background:var(--gold);margin:12px 0 24px;flex-shrink:0}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;font-family:var(--ff-sans);font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;border:2px solid transparent;border-radius:2px;cursor:pointer;transition:all .2s var(--ease);white-space:nowrap}
.btn-gold{background:var(--gold);color:var(--maroon-d);border-color:var(--gold)}
.btn-gold:hover{background:#c99b28;border-color:#c99b28}
.btn-outline{background:transparent;color:var(--white);border-color:rgba(255,255,255,.45)}
.btn-outline:hover{background:rgba(255,255,255,.1);border-color:var(--white)}
.btn-maroon{background:var(--maroon);color:var(--white);border-color:var(--maroon)}
.btn-maroon:hover{background:var(--maroon-d);border-color:var(--maroon-d)}
.btn-navy{background:var(--navy);color:var(--white);border-color:var(--navy)}
.btn-navy:hover{background:#082046}
.btn-ghost{background:transparent;color:var(--maroon);border-color:var(--maroon);font-size:12px;padding:9px 18px}
.btn-ghost:hover{background:var(--maroon);color:var(--white)}
.btn-sm{padding:9px 18px;font-size:11px}

/* Text arrow link */
.tlink{font-size:13px;font-weight:600;color:var(--maroon);display:inline-flex;align-items:center;gap:6px;letter-spacing:.02em;transition:gap .15s var(--ease)}
.tlink:hover{gap:10px}
.tlink.white{color:var(--white)}

/* ── PILL / TAG ── */
.pill{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 12px;border-radius:2px}
.pill-gold{background:rgba(219,172,58,.15);color:var(--gold);border:1px solid rgba(219,172,58,.3)}
.pill-maroon{background:rgba(123,30,46,.1);color:var(--maroon);border:1px solid rgba(123,30,46,.2)}
.pill-white{background:rgba(255,255,255,.15);color:var(--white);border:1px solid rgba(255,255,255,.3)}
.pill-navy{background:rgba(11,44,93,.08);color:var(--navy);border:1px solid rgba(11,44,93,.18)}

/* ── SECTIONS ── */
.sec{padding:80px 0}
.sec-sm{padding:56px 0}
.sec-white{background:var(--white)}
.sec-offwhite{background:var(--offwhite)}
.sec-maroon{background:var(--maroon)}
.sec-dark{background:var(--maroon-d)}
.sec-navy{background:var(--navy)}
.sec-head{margin-bottom:48px}
.sec-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:40px;flex-wrap:wrap}

/* ═══════════════════════════════════════════════════════════════
   TOP BAR
═══════════════════════════════════════════════════════════════ */
.topbar{background:var(--maroon-d);border-bottom:1px solid rgba(219,172,58,.12);padding:0}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;height:36px;font-size:11px;font-weight:500;color:rgba(255,255,255,.55)}
.topbar-left{display:flex;align-items:center;gap:6px;color:var(--gold);font-weight:700;font-size:11px;letter-spacing:.06em}
.topbar-left::before{content:'✓';width:15px;height:15px;background:var(--gold);color:var(--maroon-d);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:900;flex-shrink:0}
.topbar-right{display:flex;gap:20px}
.topbar-right a{color:rgba(255,255,255,.55);transition:color .15s;font-size:11px}
.topbar-right a:hover{color:var(--gold)}
@media(max-width:768px){.topbar-right{display:none}}

/* ═══════════════════════════════════════════════════════════════
   NAVIGATION
═══════════════════════════════════════════════════════════════ */
.nav{position:sticky;top:0;z-index:500;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);box-shadow:0 1px 16px rgba(0,0,0,.05)}
.nav-inner{display:flex;align-items:center;height:var(--nav-h);gap:0;position:relative;padding:0}
.nav-logo{display:flex;align-items:center;gap:11px;flex-shrink:0;margin-right:auto}
.logo-mark{width:38px;height:38px;background:var(--maroon);border-radius:2px;display:flex;align-items:center;justify-content:center;font-family:var(--ff-serif);font-weight:700;color:var(--gold);font-size:16px;flex-shrink:0}
.logo-text strong{display:block;font-family:var(--ff-serif);font-size:14.5px;font-weight:700;color:var(--maroon);line-height:1.2}
.logo-text span{font-size:9.5px;color:#999;letter-spacing:.1em;text-transform:uppercase}

/* Main nav links */
.nav-links{display:flex;list-style:none;height:100%;align-items:center}
.nav-links>li{display:flex;align-items:center;height:var(--nav-h)}
.nav-links>li>a{display:flex;align-items:center;height:auto;padding:7px 14px;font-size:13px;font-weight:500;color:var(--charcoal);border:none;border-radius:2px;transition:background .15s,color .15s;white-space:nowrap;gap:4px;margin:0 2px}
.nav-links>li>a:hover{color:var(--white);background:var(--maroon)}
.nav-links>li>a.on{color:var(--white);background:var(--maroon);font-weight:600}
.nav-links>li>a .caret{font-size:8px;opacity:.6;transition:transform .2s}
.nav-links>li.open>a{color:var(--white);background:var(--maroon)}

/* Portal dropdown */
.nav-portal-wrap{position:relative;margin-left:16px;flex-shrink:0}
.nav-portal-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--navy);border:1.5px solid rgba(11,44,93,.25);border-radius:2px;transition:all .18s;cursor:pointer;background:var(--white);white-space:nowrap}
.nav-portal-btn:hover,.nav-portal-wrap.open .nav-portal-btn{background:var(--navy);color:var(--white);border-color:var(--navy)}
.nav-portal-btn .caret{font-size:8px;transition:transform .2s}
.nav-portal-wrap.open .nav-portal-btn .caret{transform:rotate(180deg)}
.portal-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--white);border:1px solid var(--border);border-radius:2px;box-shadow:0 8px 32px rgba(0,0,0,.12);min-width:200px;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-6px);transition:all .2s var(--ease);z-index:600}
.nav-portal-wrap.open .portal-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.portal-dropdown a{display:flex;align-items:center;gap:0;padding:12px 18px;font-size:13px;font-weight:500;color:var(--charcoal);border-bottom:1px solid var(--border);transition:background .15s}
.portal-dropdown a:last-child{border-bottom:none}
.portal-dropdown a:hover{background:var(--maroon);color:var(--white)}
.portal-dropdown a .pd-icon{display:none}
.portal-dropdown a .pd-label{flex:1}
.portal-dropdown a .pd-arr{font-size:11px;color:#ccc;margin-left:auto}

/* Apply CTA */
.nav-apply{margin-left:8px;flex-shrink:0}

/* Hamburger */
.nav-burger{display:none;flex-direction:column;gap:5px;padding:8px;cursor:pointer;flex-shrink:0;margin-left:8px}
.nav-burger span{display:block;width:22px;height:2px;background:var(--charcoal);transition:all .25s var(--ease);border-radius:1px}
.nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0}
.nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Mobile drawer */
.nav-drawer{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:499;background:var(--white);padding-top:calc(var(--nav-h) + 36px);overflow-y:auto;transform:translateX(100%);transition:transform .3s var(--ease)}
.nav-drawer.open{transform:translateX(0)}
.nav-drawer-inner{padding:24px 24px 48px}
.nav-drawer a{display:flex;align-items:center;justify-content:space-between;padding:15px 0;font-size:14.5px;font-weight:500;color:var(--charcoal);border-bottom:1px solid var(--border)}
.nav-drawer a:hover{color:var(--maroon)}
.nav-drawer-section{margin-top:24px}
.nav-drawer-section h4{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);margin-bottom:8px}
.nav-drawer-section a{font-size:14px}
.nav-drawer .btn{width:100%;justify-content:center;margin-top:20px}

@media(max-width:960px){
  .nav-links{display:none}
  .nav-burger{display:flex}
  .nav-drawer{display:block}
  .nav-portal-wrap{display:none}
  .nav-apply{display:none}
}

/* ═══════════════════════════════════════════════════════════════
   HERO SLIDER
═══════════════════════════════════════════════════════════════ */
.hero{position:relative;overflow:hidden;height:100vh;min-height:560px;background:var(--maroon-d)}
.slides-wrap{display:flex;height:100%;transition:transform .9s cubic-bezier(.77,0,.18,1);will-change:transform}
.slide{flex:0 0 100%;height:100%;position:relative;overflow:hidden;display:flex;align-items:center}
.slide-bg{position:absolute;inset:0;background-size:cover;background-position:center top;transition:transform 8s ease;will-change:transform}
.slide.on .slide-bg{transform:scale(1.05)}
.slide-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(30,8,14,.85) 0%,rgba(30,8,14,.55) 45%,rgba(30,8,14,.1) 100%)}
.slide-content{position:relative;z-index:3;max-width:620px;padding:0 0 0 40px}
.slide-eyebrow{font-family:var(--ff-sans);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:18px}
.slide-h{font-family:var(--ff-serif);font-size:clamp(38px,5.5vw,66px);font-weight:700;line-height:1.08;letter-spacing:-.025em;color:var(--white);margin-bottom:16px}
.slide-sub{font-family:var(--ff-sans);font-size:17px;font-weight:300;color:rgba(255,255,255,.72);line-height:1.68;max-width:480px;margin-bottom:36px}
.slide-acts{display:flex;gap:12px;flex-wrap:wrap}

/* animations */
@keyframes sUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.slide.on .a1{animation:sUp .6s .05s both}
.slide.on .a2{animation:sUp .65s .2s both}
.slide.on .a3{animation:sUp .65s .34s both}
.slide.on .a4{animation:sUp .7s .48s both}

/* controls */
.s-arrow{position:absolute;bottom:44px;z-index:10;width:44px;height:44px;border-radius:2px;border:1.5px solid rgba(255,255,255,.22);background:rgba(255,255,255,.07);backdrop-filter:blur(6px);color:var(--white);font-size:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;user-select:none}
.s-arrow:hover{background:var(--gold);color:var(--maroon-d);border-color:var(--gold)}
.s-prev{right:104px}.s-next{right:52px}
.s-dots{position:absolute;bottom:56px;left:40px;display:flex;align-items:center;gap:8px;z-index:10}
.s-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.3);border:none;cursor:pointer;transition:all .3s;padding:0}
.s-dot.on{background:var(--gold);width:24px;border-radius:3px}
.s-counter{position:absolute;bottom:56px;right:20px;z-index:10;font-size:11px;font-weight:500;color:rgba(255,255,255,.35);letter-spacing:.12em}
.s-counter b{color:rgba(255,255,255,.75);font-weight:700}
.s-prog{position:absolute;bottom:0;left:0;height:3px;background:var(--gold);z-index:10;width:0;transition:width linear}

@media(max-width:768px){
  .hero{height:88vh}
  .slide-content{padding:0 20px;max-width:100%}
  .s-prev{right:76px}.s-next{right:24px}
  .s-dots{left:20px;bottom:48px}
  .s-counter{right:16px;bottom:48px}
  .s-arrow{bottom:36px}
}

/* ═══════════════════════════════════════════════════════════════
   TRUST BAR — supports both logos and icons
═══════════════════════════════════════════════════════════════ */
.trust{background:var(--white);border-bottom:1px solid var(--border)}
.trust-inner{display:flex;align-items:stretch;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.trust-inner::-webkit-scrollbar{display:none}
.trust-item{display:flex;align-items:center;gap:10px;padding:15px 28px;border-right:1px solid var(--border);white-space:nowrap;flex-shrink:0}
.trust-item:last-child{border-right:none}
/* logo slot — replace img src for real logos */
.trust-logo{height:32px;width:auto;max-width:100px;object-fit:contain;filter:grayscale(1);opacity:.65;transition:all .2s}
.trust-item:hover .trust-logo{filter:grayscale(0);opacity:1}
/* icon fallback */
.trust-icon-wrap{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.trust-item span{font-size:12px;font-weight:600;color:var(--navy)}
@media(max-width:768px){.trust-item{padding:12px 16px}}

/* ═══════════════════════════════════════════════════════════════
   WHY UNIKA — ALTERNATING IMAGE BLOCKS
═══════════════════════════════════════════════════════════════ */
.why-blocks{display:flex;flex-direction:column}
.why-block{display:grid;grid-template-columns:1fr 1fr;min-height:440px}
.why-block.rev{direction:rtl}
.why-block.rev>*{direction:ltr}
.why-block-img{position:relative;overflow:hidden;min-height:380px}
.why-block-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.why-block:hover .why-block-img img{transform:scale(1.03)}
.why-block-body{display:flex;flex-direction:column;justify-content:center;padding:56px 60px}
.why-block-body .h-md{margin-bottom:14px}
.why-block-body .body-md{margin-bottom:24px}
@media(max-width:900px){
  .why-block,.why-block.rev{grid-template-columns:1fr;direction:ltr}
  .why-block>*{direction:ltr}
  .why-block-img{min-height:260px}
  .why-block-body{padding:40px 32px}
}
@media(max-width:768px){.why-block-body{padding:32px 20px}}

/* ═══════════════════════════════════════════════════════════════
   STATS BAND
═══════════════════════════════════════════════════════════════ */
.stats-band{background:var(--maroon);padding:64px 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.stat-cell{padding:0 32px;border-right:1px solid rgba(255,255,255,.12)}
.stat-cell:last-child{border-right:none}
.stat-n{font-family:var(--ff-serif);font-size:clamp(40px,5vw,56px);font-weight:700;color:var(--gold);line-height:1;margin-bottom:8px}
.stat-l{font-size:11px;font-weight:700;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.12em}
.stat-sub{font-size:12px;color:rgba(255,255,255,.35);margin-top:4px}
@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:32px 0}.stat-cell:nth-child(2){border-right:none}.stat-cell:nth-child(3){border-right:1px solid rgba(255,255,255,.12)}.stat-cell{padding:0 16px}}
@media(max-width:480px){.stats-grid{grid-template-columns:1fr 1fr}}

/* ═══════════════════════════════════════════════════════════════
   PROGRAMMES
═══════════════════════════════════════════════════════════════ */
.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}
.ftab{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:8px 16px;border:1.5px solid var(--border);background:var(--white);color:#888;border-radius:2px;cursor:pointer;transition:all .15s}
.ftab:hover,.ftab.on{background:var(--maroon);color:var(--white);border-color:var(--maroon)}
.prog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border)}
.prog-card{background:var(--white);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .22s var(--ease)}
.prog-card:hover{box-shadow:0 12px 40px rgba(0,0,0,.1);z-index:2}
.prog-img{height:200px;position:relative;overflow:hidden;flex-shrink:0}
.prog-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.prog-card:hover .prog-img img{transform:scale(1.05)}
.prog-img-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,5,10,.7) 0%,transparent 55%)}
.prog-img-label{position:absolute;bottom:12px;left:14px;z-index:2;font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.prog-body{padding:20px 22px;flex:1;display:flex;flex-direction:column}
.prog-school{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin-bottom:7px}
.prog-body .h-sm{margin-bottom:7px;font-size:16px}
.prog-body p{font-size:13px;color:var(--grey);line-height:1.6;flex:1;margin-bottom:14px;font-weight:300}
.prog-foot{display:flex;align-items:center;justify-content:space-between;padding:13px 22px;border-top:1px solid var(--border);flex-shrink:0}
.prog-meta{font-size:11px;color:#999}
.prog-meta strong{display:block;font-size:12.5px;font-weight:700;color:var(--maroon)}
@media(max-width:900px){.prog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.prog-grid{grid-template-columns:1fr}}

/* ═══════════════════════════════════════════════════════════════
   NEWS
═══════════════════════════════════════════════════════════════ */
.news-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:2px;background:var(--border)}
.news-feat{position:relative;overflow:hidden;min-height:460px;display:flex;align-items:flex-end}
.news-feat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.news-feat-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,5,10,.9) 0%,rgba(20,5,10,.15) 65%)}
.news-feat-body{position:relative;z-index:2;padding:32px}
.news-date{font-size:10.5px;font-weight:600;color:rgba(255,255,255,.4);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}
.news-feat-body .h-md{color:var(--white);margin-bottom:10px;font-size:clamp(18px,2.5vw,24px)}
.news-feat-body p{font-size:14px;color:rgba(255,255,255,.68);line-height:1.65;margin-bottom:16px;font-weight:300}
.news-strip{display:flex;flex-direction:column;background:var(--white)}
.news-item{display:flex;border-bottom:1px solid var(--border);transition:background .15s;cursor:pointer}
.news-item:last-child{border-bottom:none}
.news-item:hover{background:var(--offwhite)}
.news-item-img{width:96px;flex-shrink:0;position:relative;overflow:hidden}
.news-item-img img{width:100%;height:100%;object-fit:cover}
.news-item-body{padding:15px 16px;flex:1;min-width:0}
.news-cat{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--maroon);margin-bottom:4px}
.news-item-body h4{font-family:var(--ff-serif);font-size:14px;font-weight:700;line-height:1.35;color:var(--charcoal);margin-bottom:3px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.news-item-body p{font-size:11.5px;color:var(--grey);line-height:1.5;font-weight:300;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.news-item-date{font-size:10.5px;color:#bbb;margin-top:5px;font-weight:500}
@media(max-width:900px){.news-layout{grid-template-columns:1fr}}

/* ═══════════════════════════════════════════════════════════════
   PARTNERSHIPS
═══════════════════════════════════════════════════════════════ */
.partners-2col{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;margin-bottom:56px}
.partners-img-wrap{position:relative;min-height:380px;overflow:hidden;border-radius:2px}
.partners-img-wrap img{width:100%;height:100%;object-fit:cover}
.partners-text .h-lg{color:var(--white);margin-bottom:14px}
.partners-text .body-md{color:rgba(255,255,255,.65);margin-bottom:28px}
.pstats{display:flex;gap:36px;margin:24px 0 32px}
.pstat .n{font-family:var(--ff-serif);font-size:40px;font-weight:700;color:var(--gold);line-height:1}
.pstat .l{font-size:11px;font-weight:700;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.09em;margin-top:3px}
.logo-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(255,255,255,.08);border-radius:2px;overflow:hidden}
.logo-cell{padding:28px 16px;text-align:center;border-right:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;transition:background .2s}
.logo-cell:hover{background:rgba(219,172,58,.08)}
.logo-cell:nth-child(4n){border-right:none}
.logo-cell:nth-last-child(-n+4){border-bottom:none}
/* logo image slot — replace placeholder with real partner logo img */
.logo-cell-img{width:56px;height:44px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.logo-cell-img img{max-width:100%;max-height:100%;object-fit:contain;filter:brightness(0) invert(1);opacity:.55;transition:opacity .2s}
.logo-cell:hover .logo-cell-img img{opacity:.9}
.logo-cell-name{font-size:11px;font-weight:600;color:rgba(255,255,255,.6);text-align:center;line-height:1.35}
.logo-cell-type{font-size:9px;color:rgba(219,172,58,.55);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:900px){.partners-2col{grid-template-columns:1fr;gap:36px}.logo-grid{grid-template-columns:repeat(2,1fr)}}

/* ═══════════════════════════════════════════════════════════════
   POLICY DOWNLOADS
═══════════════════════════════════════════════════════════════ */
.policy-table{border:1px solid var(--border);border-radius:2px;overflow:hidden}
.policy-row{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:0;padding:18px 24px;border-bottom:1px solid var(--border);transition:background .15s;cursor:pointer;min-width:0}
.policy-row:last-child{border-bottom:none}
.policy-row:nth-child(odd){background:var(--white)}
.policy-row:nth-child(even){background:var(--offwhite)}
.policy-row:hover{background:rgba(123,30,46,.04)}
.policy-icon{width:38px;height:46px;background:rgba(123,30,46,.07);border-radius:2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex-shrink:0}
.policy-icon .fi{font-size:14px}
.policy-icon .fe{font-size:7px;font-weight:700;color:var(--maroon);text-transform:uppercase;letter-spacing:.04em}
.policy-info{padding:0 18px;min-width:0}
.policy-info h4{font-size:13.5px;font-weight:600;color:var(--charcoal);margin-bottom:2px;line-height:1.4}
.policy-info p{font-size:11.5px;color:var(--grey);line-height:1.5;font-weight:300;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.policy-meta{font-size:10.5px;color:#bbb;margin-top:2px}
.policy-dl{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--maroon);padding:7px 14px;border:1.5px solid rgba(123,30,46,.22);border-radius:2px;flex-shrink:0;transition:all .15s;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}
.policy-dl:hover{background:var(--maroon);color:var(--white);border-color:var(--maroon)}
@media(max-width:600px){.policy-row{grid-template-columns:40px 1fr;gap:0 10px}.policy-dl{display:none}.policy-info p{white-space:normal}}

/* ═══════════════════════════════════════════════════════════════
   CTA STRIP
═══════════════════════════════════════════════════════════════ */
.cta-strip{padding:88px 0;background:var(--maroon-d);text-align:center;position:relative;overflow:hidden}
.cta-strip::before{content:'';position:absolute;left:50%;top:-80px;transform:translateX(-50%);width:700px;height:700px;border-radius:50%;background:rgba(219,172,58,.04);pointer-events:none}
.cta-strip .h-lg{color:var(--white);margin-bottom:14px}
.cta-strip .body-lg{color:rgba(255,255,255,.6);max-width:500px;margin:0 auto 36px}
.cta-acts{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
@media(max-width:480px){.cta-acts{flex-direction:column;align-items:center}.cta-acts .btn{width:100%;max-width:280px;justify-content:center}}

/* ═══════════════════════════════════════════════════════════════
   PAGE HERO (inner pages)
═══════════════════════════════════════════════════════════════ */
.page-hero{background:var(--maroon-d);padding:72px 0 64px;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;right:-80px;top:-80px;width:400px;height:400px;border-radius:50%;background:rgba(219,172,58,.05);pointer-events:none}
.page-hero .eyebrow{margin-bottom:12px}
.page-hero .h-xl{color:var(--white);margin-bottom:14px}
.page-hero .body-lg{color:rgba(255,255,255,.65);max-width:580px}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:11.5px;color:rgba(255,255,255,.4);margin-bottom:24px;flex-wrap:wrap}
.breadcrumb a{color:rgba(255,255,255,.4);transition:color .15s}
.breadcrumb a:hover{color:var(--gold)}
.breadcrumb span{color:rgba(255,255,255,.25)}

/* ═══════════════════════════════════════════════════════════════
   CARD GRIDS (shared)
═══════════════════════════════════════════════════════════════ */
.card-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.card-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media(max-width:900px){.card-grid-3,.card-grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.card-grid-2,.card-grid-3,.card-grid-4{grid-template-columns:1fr}}

/* Info card */
.info-card{background:var(--white);border:1px solid var(--border);border-radius:2px;padding:28px;transition:box-shadow .2s var(--ease)}
.info-card:hover{box-shadow:var(--shadow)}
.info-card .card-icon{font-size:32px;margin-bottom:16px}
.info-card .h-sm{margin-bottom:8px}
.info-card p{font-size:13.5px;color:var(--grey);line-height:1.65;font-weight:300}

/* ═══════════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════════ */
footer{background:var(--maroon-d);color:var(--white);padding:64px 0 0;border-top:1px solid rgba(219,172,58,.1)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.07)}
.foot-logo{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.foot-mark{width:34px;height:34px;background:var(--gold);border-radius:2px;display:flex;align-items:center;justify-content:center;font-family:var(--ff-serif);font-weight:700;color:var(--maroon-d);font-size:14px;flex-shrink:0}
.foot-logo-text strong{display:block;font-family:var(--ff-serif);font-size:14px;font-weight:700;color:var(--white)}
.foot-logo-text span{font-size:9.5px;color:rgba(255,255,255,.35);letter-spacing:.1em;text-transform:uppercase}
.foot-about{font-size:13px;color:rgba(255,255,255,.45);line-height:1.75;margin-bottom:18px;font-weight:300;max-width:270px}
.foot-contacts{display:flex;flex-direction:column;gap:7px}
.foot-contact-row{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:rgba(255,255,255,.45)}
.foot-social{display:flex;gap:6px;margin-top:18px}
.soc{width:32px;height:32px;background:rgba(255,255,255,.07);border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:12px;color:rgba(255,255,255,.55);transition:all .15s;cursor:pointer}
.soc:hover{background:var(--gold);color:var(--maroon-d)}
footer h4{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
footer ul{display:flex;flex-direction:column;gap:9px}
footer ul li a{font-size:13px;color:rgba(255,255,255,.45);transition:color .15s;font-weight:300}
footer ul li a:hover{color:var(--gold)}
.foot-bottom{padding:18px 0;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:rgba(255,255,255,.28);flex-wrap:wrap;gap:10px}
.foot-bottom a{color:rgba(255,255,255,.28);transition:color .15s}
.foot-bottom a:hover{color:var(--gold)}
.foot-bottom-links{display:flex;gap:18px}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.foot-grid{grid-template-columns:1fr;gap:32px}}

/* ═══════════════════════════════════════════════════════════════
   UTILITIES
═══════════════════════════════════════════════════════════════ */
.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mt-40{margin-top:40px}.mt-48{margin-top:48px}
.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.mb-32{margin-bottom:32px}
.text-center{text-align:center}
.d-flex{display:flex}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.flex-wrap{flex-wrap:wrap}
.align-center{align-items:center}

/* ═══════════════════════════════════════════════════════════════
   NAV DROPDOWNS — added for v2
═══════════════════════════════════════════════════════════════ */
.nav-links > li { position: relative; }

/* Dropdown trigger arrow */
.nav-links > li > a .caret {
  font-size: 7px; opacity: .5;
  transition: transform .2s var(--ease);
  margin-left: 2px;
}
.nav-links > li.open > a .caret { transform: rotate(180deg); }
.nav-links > li > a.has-drop { padding-right: 10px; }

/* Dropdown panel */
.nav-drop {
  position: absolute; top: calc(100% + 0px); left: 0;
  background: var(--white);
  border: 1px solid var(--border);
  border-top: 2px solid var(--maroon);
  border-radius: 0 0 2px 2px;
  box-shadow: 0 8px 32px rgba(0,0,0,.1);
  min-width: 220px; z-index: 600;
  opacity: 0; visibility: hidden;
  transform: translateY(-6px);
  transition: all .2s var(--ease);
  overflow: hidden;
}
.nav-links > li.open .nav-drop {
  opacity: 1; visibility: visible; transform: translateY(0);
}

/* Dropdown sections */
.nav-drop-section { padding: 6px 0; border-bottom: 1px solid var(--border); }
.nav-drop-section:last-child { border-bottom: none; }
.nav-drop-label {
  font-size: 9.5px; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: var(--navy);
  padding: 8px 18px 4px; display: block;
}
.nav-drop a {
  display: flex; align-items: center; gap: 0;
  padding: 10px 20px; font-size: 13px; font-weight: 500;
  color: var(--charcoal); transition: all .15s;
  border: none; white-space: nowrap;
}
.nav-drop a:hover { background: var(--maroon); color: var(--white); }
.nav-drop a:hover .dt small { color: rgba(255,255,255,.6); }
.nav-drop a .di { display: none; }
.nav-drop a .dt { flex: 1; line-height: 1.3; }
.nav-drop a .dt small { display: block; font-size: 11px; color: #aaa; font-weight: 400; margin-top: 1px; }

/* Mega drop (Study) — wider */
.nav-drop.mega { min-width: 420px; display: grid; grid-template-columns: 1fr 1fr; gap: 0; padding: 0; }
.nav-drop.mega .nav-drop-section { padding: 16px 0; border-bottom: none; border-right: 1px solid var(--border); }
.nav-drop.mega .nav-drop-section:last-child { border-right: none; }

/* Short courses badge */
.sc-badge {
  font-size: 9px; font-weight: 700; letter-spacing: .07em;
  text-transform: uppercase; background: var(--gold);
  color: var(--maroon-d); padding: 2px 6px; border-radius: 2px;
  flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════════════════
   SHORT COURSES — card grid
═══════════════════════════════════════════════════════════════ */
.sc-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.sc-card {
  background: var(--white); border: 1px solid var(--border);
  border-radius: 2px; overflow: hidden;
  transition: box-shadow .22s var(--ease), transform .22s var(--ease);
  display: flex; flex-direction: column;
}
.sc-card:hover { box-shadow: 0 12px 40px rgba(0,0,0,.1); transform: translateY(-3px); }
.sc-card-top {
  background: var(--maroon); padding: 24px 22px 20px;
  position: relative; overflow: hidden;
}
.sc-card-top::after {
  content: ''; position: absolute; right: -20px; top: -20px;
  width: 100px; height: 100px; border-radius: 50%;
  background: rgba(255,255,255,.05);
}
.sc-duration-badge {
  display: inline-flex; align-items: center; gap: 5px;
  background: rgba(219,172,58,.18); border: 1px solid rgba(219,172,58,.3);
  border-radius: 2px; padding: 3px 10px;
  font-size: 10px; font-weight: 700; color: var(--gold);
  letter-spacing: .07em; text-transform: uppercase;
  margin-bottom: 10px;
}
.sc-card-top h3 {
  font-family: var(--ff-serif); font-size: 17px; font-weight: 700;
  color: var(--white); line-height: 1.3; margin: 0;
}
.sc-card-body { padding: 18px 22px; flex: 1; display: flex; flex-direction: column; }
.sc-dept { font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--navy); margin-bottom: 8px; }
.sc-card-body p { font-size: 13px; color: var(--grey); line-height: 1.65; flex: 1; margin-bottom: 16px; font-weight: 300; }
.sc-meta-row {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
  padding: 14px 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
  margin-bottom: 16px;
}
.sc-meta-item { }
.sc-meta-item .mk { font-size: 9.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #bbb; display: block; margin-bottom: 3px; }
.sc-meta-item .mv { font-size: 13px; font-weight: 600; color: var(--charcoal); }
.sc-meta-item .mv.fee { color: var(--maroon); }
.sc-card-foot { display: flex; align-items: center; justify-content: space-between; padding: 14px 22px; border-top: 1px solid var(--border); flex-shrink: 0; background: var(--offwhite); }
.sc-start { font-size: 11px; font-weight: 600; color: var(--navy); }
.sc-start span { display: block; font-size: 10px; color: #aaa; font-weight: 400; }

/* Filter tabs with category colours */
.sc-filter-row { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 32px; }

@media(max-width:900px){ .sc-grid { grid-template-columns: repeat(2,1fr); } .nav-drop.mega { min-width: 280px; grid-template-columns: 1fr; } }
@media(max-width:600px){ .sc-grid { grid-template-columns: 1fr; } }

/* ═══════════════════════════════════════════════════════════════
   EMOJI REMOVAL PATCHES — v3
═══════════════════════════════════════════════════════════════ */

/* Trust bar — logo placeholder slot (replace with <img class="trust-logo">) */
.trust-logo-slot {
  width: 36px; height: 28px;
  background: var(--border);
  border-radius: 2px;
  flex-shrink: 0;
  /* Remove this element once real logos are added */
}

/* Contact icon placeholder */
.ci-icon {
  width: 14px; height: 14px;
  background: rgba(255,255,255,.2);
  border-radius: 50%;
  flex-shrink: 0;
  display: inline-block;
}

/* Partner grid logo placeholder */
.logo-placeholder {
  display: block;
  width: 40px; height: 28px;
  background: rgba(255,255,255,.12);
  border-radius: 2px;
}

/* Info card icon — plain square marker, replace with SVG/img */
.card-icon {
  font-size: 0; /* hide ▪ placeholder */
  width: 40px; height: 40px;
  background: rgba(123,30,46,.08);
  border-radius: 2px;
  margin-bottom: 16px;
  display: flex; align-items: center; justify-content: center;
}

/* Policy file icon text fallback */
.policy-icon .fi {
  font-size: 9px !important;
  font-weight: 700;
  color: var(--maroon);
  letter-spacing: .04em;
  text-transform: uppercase;
}

/* Topbar left — remove ::before checkmark since we removed raw ✓ */
.topbar-left::before {
  content: '';
  width: 6px; height: 6px;
  background: var(--gold);
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}

/* Nav drop — no icon gap needed */
.nav-drop a .dt { flex: 1; line-height: 1.35; padding-left: 0; }

/* Portal dropdown — label full width since icon hidden */
.portal-dropdown a .pd-label { flex: 1; }
.portal-dropdown a .pd-arr { font-size: 11px; color: #bbb; }
.portal-dropdown a:hover .pd-arr { color: rgba(255,255,255,.6); }

/* Drawer sub-links no emoji gap */
.drawer-sub a { padding-left: 20px !important; color: var(--grey); }
.drawer-sub a:hover { color: var(--maroon); background: var(--offwhite); }

/* Active nav item — no borders */

/* Consistent section spacing */
.sec + .sec { /* adjacent sections — no double padding top */ }
.stats-band + .sec { /* stats band directly before section */ }

/* Page hero consistent padding */
.page-hero { padding: 64px 0 56px; }
.page-hero .h-xl { margin-bottom: 12px; }
.page-hero .body-lg { max-width: 600px; }

/* Footer spacing fix */
footer { padding: 64px 0 0; }
.foot-bottom { padding: 20px 0; }

/* Info card consistent padding */
.info-card { padding: 28px; }

/* sc-card-top h3 — remove any gap from deleted emoji */
.sc-card-top h3 { margin-top: 4px; }

/* nav-drop-label spacing */
.nav-drop-label { padding: 10px 20px 6px; }


/* WordPress integration */
body.admin-bar .nav{top:32px}
@media(max-width:782px){body.admin-bar .nav{top:46px}}
.unika-logo-img{display:block;max-width:56px;max-height:56px;width:auto;height:auto;object-fit:contain}
.nav-logo.has-image .logo-mark,.foot-logo.has-image .foot-mark{display:none}
.nav-logo.has-image{gap:13px}
.unika-empty{padding:40px;background:var(--offwhite);text-align:center;color:var(--grey);grid-column:1/-1}
.unika-filter-status{font-size:12px;color:var(--grey);margin:-18px 0 24px}
.unika-loading{opacity:.45;pointer-events:none;transition:opacity .2s}
.unika-single{padding:72px 0;background:var(--white)}
.unika-single-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.7fr);gap:52px;align-items:start}
.unika-single-content{font-size:16px;color:var(--grey);line-height:1.85}
.unika-single-content h2,.unika-single-content h3{color:var(--charcoal);margin:32px 0 12px}
.unika-sidebar-card{background:var(--offwhite);border-top:4px solid var(--gold);padding:26px;position:sticky;top:110px}
.unika-detail-list{list-style:none;margin:0 0 24px;padding:0}
.unika-detail-list li{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--border);font-size:13px;color:var(--grey)}
.unika-detail-list strong{color:var(--charcoal);text-align:right}
.unika-featured-media{aspect-ratio:16/8;overflow:hidden;margin-bottom:36px;background:var(--offwhite)}
.unika-featured-media img{width:100%;height:100%;object-fit:cover}
.unika-page-content{padding:64px 0;background:var(--white)}
.unika-page-content .entry-content{max-width:900px;font-size:16px;line-height:1.85;color:var(--grey)}
.unika-page-content .entry-content h2,.unika-page-content .entry-content h3{color:var(--charcoal);margin:32px 0 12px}
.unika-pagination{display:flex;justify-content:center;gap:8px;margin-top:44px}
.unika-pagination .page-numbers{padding:9px 13px;border:1px solid var(--border);background:var(--white);font-size:13px}
.unika-pagination .current,.unika-pagination a:hover{background:var(--maroon);color:var(--white);border-color:var(--maroon)}
.unika-contact-form{display:grid;gap:16px}
.unika-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.unika-contact-form label{font-size:12px;font-weight:700;color:var(--charcoal);display:block;margin-bottom:5px}
.unika-contact-form input,.unika-contact-form select,.unika-contact-form textarea{width:100%;border:1px solid var(--border);background:var(--white);padding:13px 14px;font:inherit;color:var(--charcoal);border-radius:2px}
.unika-contact-form input:focus,.unika-contact-form select:focus,.unika-contact-form textarea:focus{outline:2px solid rgba(127,48,49,.15);border-color:var(--maroon)}
.unika-form-message{display:none;padding:13px 16px;font-size:13px;margin-bottom:14px}
.unika-form-message.show{display:block}
.unika-form-message.success{background:#edf7ef;color:#1f6b32;border-left:3px solid #2f8b45}
.unika-form-message.error{background:#fff1f1;color:#8a2525;border-left:3px solid #b33}
.unika-doc-grid{display:grid;gap:12px}
.unika-doc-row{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:18px 20px;border:1px solid var(--border);background:var(--white)}
.unika-doc-row h3{font-size:15px;margin:0 0 3px}.unika-doc-row p{font-size:12px;color:var(--grey);margin:0}
.unika-partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.unika-partner-card{border:1px solid var(--border);background:var(--white);padding:24px;text-align:center}
.unika-partner-card img{height:70px;width:100%;object-fit:contain;margin-bottom:14px}
.unika-partner-card h3{font-size:14px;margin-bottom:6px}.unika-partner-card p{font-size:12px;color:var(--grey)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.unika-single-grid{grid-template-columns:1fr}.unika-sidebar-card{position:static}.unika-partner-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.unika-form-row{grid-template-columns:1fr}.unika-partner-grid{grid-template-columns:1fr}.unika-single{padding:48px 0}.unika-doc-row{grid-template-columns:1fr}}

/* UniKa 1.1 exact approved homepage/header corrections */
.nav-logo.has-image,
.foot-logo.has-image{display:flex;align-items:center}
.nav-logo.has-image .unika-logo-img{display:block;width:auto;height:58px;max-width:235px;max-height:58px;object-fit:contain}
.foot-logo.has-image .unika-logo-img{display:block;width:auto;height:auto;max-width:230px;max-height:86px;object-fit:contain}
.nav-logo.has-image .logo-mark,
.nav-logo.has-image .logo-text,
.foot-logo.has-image .foot-mark,
.foot-logo.has-image .foot-logo-text{display:none}
.trust-item[href]{color:inherit;text-decoration:none}
.home-feature-section{margin:0}
.news-item-body h4 a{color:inherit}
.news-item-empty{min-height:96px}
.news-item-empty .news-item-body{padding-left:22px}
@media(max-width:1100px){
  .nav-logo.has-image .unika-logo-img{max-width:190px;height:52px;max-height:52px}
}
@media(max-width:768px){
  .nav-logo.has-image .unika-logo-img{max-width:175px;height:48px;max-height:48px}
}
