/* ============================================================
   U&V Consulting Group - public website
   (home, about, services, resources, clients, job openings, contact)
   ============================================================ */
:root{
  --navy:#0b1b3f; --navy2:#13285c; --ink:#0f172a; --muted:#5b6b85; --line:#e6ebf3; --soft:#f5f8fd;
  --brand:#2563eb; --brand2:#7c3aed; --teal:#0d9488; --amber:#f59e0b;
  --grad:linear-gradient(100deg,#2563eb 0%,#7c3aed 100%);
  --radius:18px; --shadow:0 10px 30px rgba(15,23,42,.08); --shadow-lg:0 24px 60px rgba(15,23,42,.16);
}
body.site{overflow-x:hidden;font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;}
.site h1,.site h2,.site h3,.site h4,.site h5,.site .display{font-family:'Plus Jakarta Sans','Inter',sans-serif;letter-spacing:-.02em;}
.site a{text-underline-offset:3px;}
.site section{padding:90px 0;}
.site .bg-soft{background:var(--soft);}
.site .text-muted2{color:var(--muted);}

/* buttons */
.btn-brand{background:var(--grad);color:#fff;border:0;font-weight:600;box-shadow:0 8px 22px rgba(37,99,235,.28);transition:.2s;}
.btn-brand:hover,.btn-brand:focus{color:#fff;transform:translateY(-2px);box-shadow:0 12px 26px rgba(37,99,235,.36);}
.btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.35);font-weight:600;backdrop-filter:blur(4px);}
.btn-ghost:hover{background:#fff;color:var(--navy);}
.btn-outline-brand{border:1.5px solid var(--brand);color:var(--brand);font-weight:600;}
.btn-outline-brand:hover{background:var(--brand);color:#fff;}

/* top strip + nav */
.topstrip{background:var(--navy);color:#b9c6e4;font-size:13px;padding:8px 0;}
.topstrip a,.topstrip span{color:#b9c6e4;text-decoration:none;}
.topstrip a:hover{color:#fff;}
.sitenav{background:#fff;padding:14px 0;position:sticky;top:0;z-index:1030;transition:.25s;border-bottom:1px solid transparent;}
.sitenav.scrolled{box-shadow:0 6px 24px rgba(15,23,42,.08);padding:9px 0;border-bottom-color:var(--line);}
.navbar-brand{display:flex;align-items:center;gap:10px;text-decoration:none;}
.logo-mark{width:42px;height:42px;border-radius:12px;background:var(--grad);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-family:'Plus Jakarta Sans',sans-serif;font-size:16px;box-shadow:0 6px 16px rgba(37,99,235,.35);}
.logo-text{display:flex;flex-direction:column;line-height:1.05;color:var(--ink);}
.logo-text b{font-family:'Plus Jakarta Sans',sans-serif;font-size:18px;}
.logo-text small{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);}
.sitenav .nav-link{color:#334155;font-weight:600;font-size:14.5px;padding:8px 12px !important;border-radius:9px;position:relative;}
.sitenav .nav-link:hover{color:var(--brand);}
.sitenav .nav-link.active{color:var(--brand);}
.sitenav .nav-link.active::after{content:'';position:absolute;left:12px;right:12px;bottom:2px;height:2px;border-radius:2px;background:var(--grad);}
.navbar-toggler{border:0;font-size:28px;color:var(--ink);box-shadow:none !important;}

/* page hero */
.pagehero{position:relative;background-color:var(--navy);background-size:cover;background-position:center;color:#fff;padding:110px 0 130px;overflow:hidden;}
.pagehero h1{font-size:clamp(32px,4.6vw,54px);font-weight:800;max-width:780px;margin-bottom:16px;}
.pagehero h1 span,.hl{background:linear-gradient(90deg,#7dd3fc,#c4b5fd);-webkit-background-clip:text;background-clip:text;color:transparent;}
.pagehero p{font-size:18px;color:#d5def0;max-width:640px;margin:0;}
.pagehero .crumbs{font-size:13px;color:#a9b8d8;margin-bottom:18px;}
.pagehero .crumbs a{color:#dbe4f7;text-decoration:none;}
.pagehero .crumbs i{font-size:10px;margin:0 6px;}
.kicker{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);background:#eef3ff;padding:6px 14px;border-radius:30px;margin-bottom:14px;}
.pagehero .kicker,.slide .kicker{background:rgba(255,255,255,.12);color:#c7d6ff;border:1px solid rgba(255,255,255,.2);}
.wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:60px;fill:#fff;}

/* home carousel */
.homecar .carousel-item{height:min(88vh,720px);min-height:540px;background-color:var(--navy);background-size:cover;background-position:center;}
.homecar .slide{position:absolute;inset:0;display:flex;align-items:center;}
.homecar .slide h1{font-size:clamp(34px,5vw,62px);font-weight:800;color:#fff;max-width:760px;line-height:1.08;margin-bottom:18px;}
.homecar .slide p{font-size:clamp(16px,1.6vw,19px);color:#d5def0;max-width:600px;}
.homecar .carousel-item.active .slide .anim{animation:rise .9s cubic-bezier(.2,.7,.2,1) both;}
.homecar .carousel-item.active .slide .anim:nth-child(2){animation-delay:.12s}
.homecar .carousel-item.active .slide .anim:nth-child(3){animation-delay:.24s}
.homecar .carousel-item.active .slide .anim:nth-child(4){animation-delay:.36s}
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.homecar .carousel-indicators{margin-bottom:90px;}
.homecar .carousel-indicators [data-bs-target]{width:34px;height:4px;border-radius:4px;border:0;opacity:.45;}
.homecar .carousel-indicators .active{opacity:1;}
.homecar .carousel-control-prev,.homecar .carousel-control-next{width:6%;}
.homecar .ctrl{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;}
.hero-badges{display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;color:#c9d6ef;font-size:14px;}
.hero-badges i{color:#7dd3fc;margin-right:6px;}

/* floating quick-cards under the hero */
.quickcards{margin-top:-80px;position:relative;z-index:5;}
.qcard{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:26px;height:100%;transition:.25s;border:1px solid var(--line);display:block;text-decoration:none;color:var(--ink);}
.qcard:hover{transform:translateY(-6px);color:var(--ink);}
.qcard .ic{width:54px;height:54px;border-radius:15px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;margin-bottom:16px;}
.qcard h5{font-weight:700;}
.qcard p{color:var(--muted);font-size:14.5px;margin-bottom:12px;}
.qcard .go{font-weight:700;font-size:14px;color:var(--brand);}

/* section head */
.sechead{max-width:720px;margin-bottom:50px;}
.sechead h2{font-size:clamp(28px,3.4vw,42px);font-weight:800;margin-bottom:14px;}
.sechead p{color:var(--muted);font-size:17px;}

/* cards */
.fcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;height:100%;transition:.25s;position:relative;overflow:hidden;}
.fcard:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px);border-color:transparent;}
.fcard .ic{width:56px;height:56px;border-radius:15px;background:#eef3ff;color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:25px;margin-bottom:18px;transition:.25s;}
.fcard:hover .ic{background:var(--grad);color:#fff;}
.fcard h5{font-weight:700;margin-bottom:10px;}
.fcard p{color:var(--muted);font-size:14.7px;margin-bottom:0;}
.fcard .more{display:inline-block;margin-top:14px;font-weight:700;font-size:14px;text-decoration:none;}
.fcard .num{position:absolute;right:18px;top:12px;font-family:'Plus Jakarta Sans';font-size:54px;font-weight:800;color:#f1f5fb;line-height:1;}

/* pictures with graceful fallback */
.pic{position:relative;border-radius:var(--radius);overflow:hidden;background:linear-gradient(135deg,#1e3a8a,#6d28d9);min-height:220px;}
.pic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s;}
.pic:hover img{transform:scale(1.04);}
.pic.noimg::after{content:'\F4D0';font-family:'bootstrap-icons';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:54px;color:rgba(255,255,255,.35);}
.pic.tall{height:460px;}
.pic.mid{height:340px;}
.pic.short{height:220px;}
.collage{position:relative;padding-bottom:60px;}
.collage .pic.small{position:absolute;right:-10px;bottom:0;width:55%;height:220px;border:8px solid #fff;box-shadow:var(--shadow-lg);}
.exp-badge{position:absolute;left:-14px;bottom:30px;background:#fff;border-radius:16px;box-shadow:var(--shadow-lg);padding:16px 20px;display:flex;align-items:center;gap:12px;z-index:3;}
.exp-badge i{width:44px;height:44px;border-radius:12px;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;}
.exp-badge b{display:block;font-size:15px;}
.exp-badge small{color:var(--muted);}

/* ticks list */
.ticks{list-style:none;padding:0;margin:0;}
.ticks li{position:relative;padding-left:34px;margin-bottom:13px;color:#334155;}
.ticks li::before{content:'\F26E';font-family:'bootstrap-icons';position:absolute;left:0;top:-1px;width:24px;height:24px;border-radius:50%;background:#e8f7ef;color:#16a34a;display:flex;align-items:center;justify-content:center;font-size:14px;}

/* stats band */
.statband{background:linear-gradient(120deg,#0b1b3f 0%,#1d2b6b 60%,#4c1d95 100%);color:#fff;position:relative;overflow:hidden;}
.statband::before{content:'';position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(125,211,252,.18),transparent 70%);right:-120px;top:-160px;}
.stat{text-align:center;padding:10px;}
.stat .n{font-family:'Plus Jakarta Sans';font-size:clamp(34px,4vw,48px);font-weight:800;line-height:1;}
.stat .l{color:#b9c6e4;font-size:14px;margin-top:8px;}

/* process */
.steps{counter-reset:s;}
.step{text-align:center;padding:10px 18px;position:relative;}
.step .dot{width:76px;height:76px;border-radius:50%;margin:0 auto 18px;background:#fff;border:2px dashed #c7d2fe;display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--brand);position:relative;}
.step .dot::after{counter-increment:s;content:counter(s);position:absolute;top:-4px;right:-4px;width:26px;height:26px;border-radius:50%;background:var(--grad);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.step h6{font-weight:700;font-size:16.5px;}
.step p{color:var(--muted);font-size:14px;}
@media(min-width:992px){.step:not(:last-child)::after{content:'';position:absolute;top:48px;right:-22%;width:44%;border-top:2px dashed #d7defa;}}

/* jobs */
.jobcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;transition:.2s;height:100%;display:flex;flex-direction:column;}
.jobcard:hover{box-shadow:var(--shadow);border-color:#c7d6fb;}
.jobcard h5{font-weight:700;font-size:18px;margin-bottom:6px;}
.jobmeta{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--muted);font-size:13.5px;margin-bottom:12px;}
.jobmeta i{color:var(--brand);margin-right:4px;}
.tag{display:inline-block;background:#eef3ff;color:#3446b3;padding:4px 11px;border-radius:30px;font-size:12px;font-weight:600;margin:0 4px 6px 0;}
.tag.green{background:#e8f7ef;color:#15803d;}
.jobdesc{background:var(--soft);border-radius:12px;padding:16px;font-size:14px;white-space:pre-wrap;line-height:1.7;}
.filterbar{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:18px;margin-top:-70px;position:relative;z-index:5;}
.filterbar .form-control,.filterbar .form-select{height:50px;border-radius:12px;border-color:var(--line);}

/* campus band */
.campusband{background:linear-gradient(120deg,#064e3b 0%,#0d9488 100%);color:#fff;border-radius:28px;overflow:hidden;}
.campusband .inner{padding:56px;}
.campusband h2{font-weight:800;font-size:clamp(26px,3vw,38px);}
.campusband p{color:#ccfbf1;}
.campusband .chip{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);padding:7px 13px;border-radius:30px;font-size:13.5px;margin:0 6px 8px 0;}
.campusband .pic{border-radius:0;height:100%;min-height:380px;}

/* testimonial-like value quotes */
.quote{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;height:100%;}
.quote i.bi-quote{font-size:40px;color:#c7d2fe;line-height:1;}
.quote p{font-size:16px;color:#334155;margin:10px 0 0;}

/* resources */
.article{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;height:100%;display:flex;flex-direction:column;transition:.25s;}
.article:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);}
.article .pic{border-radius:0;height:200px;min-height:0;}
.article .body{padding:22px;flex:1;display:flex;flex-direction:column;}
.article h5{font-weight:700;font-size:18px;}
.article p{color:var(--muted);font-size:14.5px;}
.article .cat{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--brand);margin-bottom:8px;}
.read{font-size:15.5px;line-height:1.8;color:#334155;}
.read h4{margin-top:26px;font-weight:700;font-size:20px;}
.read ul,.read ol{padding-left:20px;}
.read li{margin-bottom:8px;}
.restabs .nav-link{border-radius:30px;font-weight:600;color:#334155;padding:9px 18px;margin:0 4px 8px;border:1px solid var(--line);}
.restabs .nav-link.active{background:var(--grad);color:#fff;border-color:transparent;}
.checkbox-list li{list-style:none;padding:10px 14px;border:1px solid var(--line);border-radius:12px;margin-bottom:8px;background:#fff;}
.checkbox-list{padding:0;}
.checkbox-list label{display:flex;gap:10px;align-items:flex-start;cursor:pointer;margin:0;}
.checkbox-list input{margin-top:4px;}

/* clients */
.logo-tile{background:#fff;border:1px solid var(--line);border-radius:16px;height:110px;display:flex;align-items:center;justify-content:center;padding:16px;text-align:center;transition:.2s;}
.logo-tile:hover{box-shadow:var(--shadow);}
.logo-tile img{max-height:60px;max-width:100%;transition:transform .2s;}
.logo-tile:hover{transform:translateY(-3px);border-color:#c7d6fb;}
.logo-tile:hover img{transform:scale(1.05);}
.logo-tile .mono{font-family:'Plus Jakarta Sans';font-weight:800;color:#334155;font-size:16px;line-height:1.25;}
.logo-tile .mono small{display:block;font-family:'Inter';font-weight:500;color:var(--muted);font-size:11.5px;margin-top:4px;}
.ind{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;gap:14px;align-items:center;height:100%;transition:.2s;}
.ind:hover{border-color:#c7d6fb;box-shadow:var(--shadow);}
.ind i{width:46px;height:46px;flex:0 0 46px;border-radius:12px;background:#eef3ff;color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:21px;}
.ind b{display:block;font-size:15px;}
.ind small{color:var(--muted);}

/* contact */
.ccard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;text-align:center;height:100%;}
.ccard .ic{width:62px;height:62px;border-radius:50%;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:25px;margin:0 auto 14px;box-shadow:0 10px 24px rgba(37,99,235,.3);}
.ccard h6{font-weight:700;}
.ccard a,.ccard span{color:var(--muted);text-decoration:none;font-size:14.5px;word-break:break-word;}
.formcard{background:#fff;border-radius:22px;box-shadow:var(--shadow-lg);padding:36px;border:1px solid var(--line);}
.formcard .form-control,.formcard .form-select{border-radius:11px;padding:11px 14px;border-color:#dbe2ee;}
.formcard .form-control:focus,.formcard .form-select:focus{border-color:var(--brand);box-shadow:0 0 0 .2rem rgba(37,99,235,.12);}
.formcard label{font-size:13.5px;font-weight:600;color:#334155;}
.mapbox{border-radius:22px;overflow:hidden;border:1px solid var(--line);height:100%;min-height:360px;}
.mapbox iframe{width:100%;height:100%;min-height:360px;border:0;}
.side-panel{background:linear-gradient(160deg,#0b1b3f,#2a2f8f);color:#fff;border-radius:22px;padding:34px;height:100%;}
.side-panel p,.side-panel li{color:#c9d6ef;}

/* faq */
.faq .accordion-item{border:1px solid var(--line);border-radius:14px !important;margin-bottom:12px;overflow:hidden;}
.faq .accordion-button{font-weight:600;font-size:15.5px;padding:18px 20px;}
.faq .accordion-button:not(.collapsed){background:#f3f6ff;color:var(--brand);box-shadow:none;}
.faq .accordion-body{color:var(--muted);font-size:15px;}

/* mission / values */
.mv{border-radius:var(--radius);padding:32px;height:100%;color:#fff;}
.mv i{font-size:34px;}
.mv h4{font-weight:800;margin:14px 0 10px;}
.mv p{color:rgba(255,255,255,.85);margin:0;}

/* cta band + footer */
.ctaband{padding:0 0 0 !important;position:relative;z-index:3;margin-bottom:-80px;}
.ctabox{background:var(--grad);border-radius:26px;padding:44px 50px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;color:#fff;box-shadow:0 24px 60px rgba(76,29,149,.3);}
.ctabox h3{font-weight:800;margin-bottom:6px;font-size:clamp(22px,2.6vw,30px);}
.ctabox p{margin:0;color:#e0e7ff;}
/* ---------------- FOOTER ---------------- */
.sitefoot{position:relative;overflow:hidden;color:#a5b4d4;font-size:14.5px;padding:150px 0 0;
  background:
    radial-gradient(rgba(255,255,255,.045) 1px,transparent 1px) 0 0/22px 22px,
    linear-gradient(180deg,#081430 0%,#0a1638 55%,#0c1240 100%);}
.sitefoot::before{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#2563eb,#7c3aed,#0d9488,#2563eb);background-size:200% 100%;animation:footline 8s linear infinite;}
@keyframes footline{to{background-position:200% 0}}
.sitefoot.nocta{padding-top:80px;}
.foot-glow{position:absolute;border-radius:50%;filter:blur(10px);pointer-events:none;}
.foot-glow.g1{width:520px;height:520px;left:-180px;top:80px;background:radial-gradient(circle,rgba(37,99,235,.22),transparent 65%);}
.foot-glow.g2{width:480px;height:480px;right:-160px;bottom:-140px;background:radial-gradient(circle,rgba(124,58,237,.22),transparent 65%);}
.foot-mark{position:absolute;right:-30px;bottom:30px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:clamp(160px,22vw,320px);line-height:.8;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.05);pointer-events:none;user-select:none;}
.sitefoot h6{color:#fff;font-weight:700;font-size:15px;margin-bottom:18px;display:flex;align-items:center;gap:8px;}
.sitefoot h6::after{content:'';flex:0 0 26px;height:2px;border-radius:2px;background:var(--grad);margin-left:4px;}
.sitefoot a{color:#a5b4d4;text-decoration:none;transition:.2s;}
.sitefoot a:hover{color:#fff;}
.sitefoot .navbar-brand{display:inline-flex;}

/* job alerts card */
.foot-alerts{background:linear-gradient(120deg,rgba(37,99,235,.16),rgba(124,58,237,.16));border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:30px 34px;backdrop-filter:blur(6px);box-shadow:0 20px 50px rgba(0,0,0,.25);}
.foot-alerts h4{color:#fff;font-weight:800;margin:0 0 4px;font-size:21px;}
.foot-alerts p{margin:0;font-size:14px;color:#b9c6e4;}
.fa-ic{flex:0 0 58px;height:58px;border-radius:16px;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:25px;box-shadow:0 10px 26px rgba(37,99,235,.45);animation:ring 4s ease-in-out infinite;}
@keyframes ring{0%,88%,100%{transform:rotate(0)}91%{transform:rotate(-14deg)}94%{transform:rotate(12deg)}97%{transform:rotate(-6deg)}}
.fa-form{display:flex;gap:8px;flex-wrap:wrap;}
.fa-form .form-control,.fa-form .form-select{flex:1 1 150px;height:50px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;}
.fa-form .form-select{flex:1 1 170px;background-color:rgba(255,255,255,.08);--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23cbd5e1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");}
.fa-form .form-select option{color:#0f172a;}
.fa-form .form-control::placeholder{color:#94a3c7;}
.fa-form .form-control:focus,.fa-form .form-select:focus{background:rgba(255,255,255,.12);border-color:#7c9cff;box-shadow:0 0 0 .2rem rgba(99,132,255,.2);color:#fff;}
.fa-form .btn{height:50px;border-radius:12px;padding:0 22px;flex:0 0 auto;}
.fa-msg{border-radius:12px;padding:10px 14px;margin-bottom:10px;font-size:14px;}
.fa-msg.ok{background:rgba(22,163,74,.18);color:#bbf7d0;border:1px solid rgba(74,222,128,.3);}
.fa-msg.err{background:rgba(220,38,38,.18);color:#fecaca;border:1px solid rgba(248,113,113,.3);}

/* promise badges */
.foot-badges{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:34px 0 10px;}
.foot-badges>div{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);transition:.25s;}
.foot-badges>div:hover{background:rgba(255,255,255,.07);transform:translateY(-3px);}
.foot-badges i{flex:0 0 42px;height:42px;border-radius:12px;background:rgba(125,211,252,.1);color:#7dd3fc;display:flex;align-items:center;justify-content:center;font-size:19px;}
.foot-badges span{font-size:12.5px;line-height:1.35;color:#9fb0d3;}
.foot-badges b{display:block;color:#fff;font-size:14.5px;}

/* columns */
.foot-main{padding:44px 0 10px;}
.foot-about{line-height:1.75;max-width:380px;}
.foot-links a{display:flex;align-items:center;gap:8px;margin-bottom:11px;}
.foot-links a::before{content:'';width:6px;height:6px;border-radius:50%;background:#33437a;transition:.2s;flex:0 0 6px;}
.foot-links a:hover{transform:translateX(4px);}
.foot-links a:hover::before{background:#7dd3fc;box-shadow:0 0 0 3px rgba(125,211,252,.15);}
.foot-contact{display:grid;gap:10px;margin-top:18px;}
.foot-contact a,.foot-contact .fc-item{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);max-width:380px;}
.foot-contact a:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);}
.foot-contact i{flex:0 0 38px;height:38px;border-radius:11px;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;}
.foot-contact .bi-whatsapp{background:#25d366;}
.foot-contact span{color:#e2e8f0;font-size:14px;line-height:1.3;word-break:break-word;}
.foot-contact small{display:block;color:#7f8fb3;font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px;}
.sitefoot .social{display:flex;gap:8px;}
.sitefoot .social a{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:17px;}
.sitefoot .social a:hover{transform:translateY(-3px);}
.sitefoot .social a.s-linkedin:hover{background:#0a66c2;}
.sitefoot .social a.s-facebook:hover{background:#1877f2;}
.sitefoot .social a.s-instagram:hover{background:linear-gradient(45deg,#f58529,#dd2a7b,#8134af);}
.sitefoot .social a.s-twitter:hover{background:#000;}
.foot-count{background:var(--grad);color:#fff;font-size:11px;padding:2px 9px;border-radius:20px;font-weight:700;}
.foot-jobs{display:grid;gap:8px;}
.foot-jobs a{display:block;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.03);}
.foot-jobs a:hover{border-color:rgba(125,211,252,.35);background:rgba(125,211,252,.06);}
.foot-jobs b{display:block;color:#fff;font-size:14px;font-weight:600;}
.foot-jobs small{color:#8494b8;font-size:12px;}
.foot-more{display:inline-flex !important;align-items:center;gap:6px;margin-top:10px;font-weight:700;color:#7dd3fc !important;font-size:14px;}
.foot-more:hover{gap:10px;}
.foot-mini{display:flex;flex-wrap:wrap;gap:6px;}
.foot-mini a{font-size:12.5px;padding:6px 11px;border-radius:30px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);}
.foot-mini a:hover{background:rgba(255,255,255,.1);}

/* bottom bar */
.footbottom{border-top:1px solid rgba(255,255,255,.08);margin-top:36px;padding:22px 0 26px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;font-size:13px;color:#8494b8;}
.footbottom b{color:#cbd5e1;font-weight:600;}
.fb-links{display:flex;gap:6px 20px;flex-wrap:wrap;}
.fb-links a{color:#8494b8;}
.fb-top{display:inline-flex;align-items:center;gap:4px;padding:7px 14px;border-radius:30px;border:1px solid rgba(255,255,255,.12);color:#cbd5e1 !important;}
.fb-top:hover{background:#fff;color:#0b1b3f !important;}
@media(max-width:991px){.foot-badges{grid-template-columns:repeat(2,1fr);}.foot-alerts{padding:24px;}}
@media(max-width:575px){.foot-badges{grid-template-columns:1fr;}.fa-form .btn{width:100%;}.footbottom{flex-direction:column;align-items:flex-start;}.foot-mark{display:none;}}
.totop{position:fixed;right:22px;bottom:22px;width:46px;height:46px;border-radius:50%;background:var(--grad);color:#fff !important;display:flex;align-items:center;justify-content:center;font-size:19px;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:.25s;z-index:1040;text-decoration:none;}
.totop.show{opacity:1;pointer-events:auto;}
.wa-float{position:fixed;left:22px;bottom:22px;width:54px;height:54px;border-radius:50%;background:#25d366;color:#fff !important;display:flex;align-items:center;justify-content:center;font-size:27px;box-shadow:0 10px 24px rgba(37,211,102,.4);z-index:1040;}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.homecar .carousel-item.active .slide .anim{animation:none}}

/* small screens */
@media(max-width:991px){
  .site section{padding:64px 0;}
  .pagehero{padding:80px 0 100px;}
  .sitenav .navbar-collapse{background:#fff;padding:10px 0;}
  .collage .pic.small{display:none;}
  .collage{padding-bottom:0;}
  .exp-badge{left:12px;}
  .campusband .inner{padding:36px 26px;}
  .ctabox{padding:32px 26px;}
}
@media(max-width:767px){
  .site .row.g-5{--bs-gutter-x:1.5rem;}
  .homecar .carousel-control-prev,.homecar .carousel-control-next{display:none;}
  .homecar .carousel-indicators{margin-bottom:80px;}
}
@media(max-width:575px){
  .homecar .carousel-item{min-height:600px;}
  .quickcards{margin-top:-60px;}
  .formcard{padding:24px;}
}

/* star rating (campus feedback) */
.stars{direction:rtl;display:inline-flex;gap:4px;}
.stars input{display:none}
.stars label{font-size:34px;color:#cbd5e1;cursor:pointer;line-height:1;}
.stars input:checked ~ label,.stars label:hover,.stars label:hover ~ label{color:#f59e0b;}
/* print: only the checklist on the resources page */
@media print{.topstrip,.sitenav,.pagehero,.sitefoot,.ctaband,.totop,.wa-float,#guides,.faq,.btn{display:none !important}.reveal{opacity:1;transform:none}}

/* =====================================================================
   v6 - features from the old website: services menu, service pages,
   dedicated model, testimonials, blog, downloads, logos, team
   ===================================================================== */
/* top strip extra */
.topstrip .tb-cta{background:rgba(255,255,255,.1);padding:3px 11px;border-radius:20px;color:#fff;}
.topstrip .tb-cta:hover{background:#fff;color:var(--navy);}

/* menu drop-downs */
.sitenav .dropdown-toggle::after{border:0;content:'\F282';font-family:'bootstrap-icons';font-size:11px;vertical-align:1px;margin-left:5px;}
.sitenav .dropdown-menu{border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:10px;margin-top:6px;}
.sitenav .dropdown-item{border-radius:10px;padding:9px 12px;font-size:14px;font-weight:500;color:#334155;display:flex;gap:10px;align-items:center;white-space:normal;}
.sitenav .dropdown-item i{color:var(--brand);font-size:16px;width:20px;text-align:center;}
.sitenav .dropdown-item:hover,.sitenav .dropdown-item:focus{background:#f1f5fe;color:var(--brand);}
.sitenav .dd-small{min-width:250px;}
.sitenav .dd-head{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);padding:8px 12px 6px;}
.sitenav .dd-mega{width:640px;padding:14px;}
.sitenav .dd-cols{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;}
.sitenav .dd-foot{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);margin-top:10px;padding:12px 8px 2px;font-size:13.5px;font-weight:700;}
.sitenav .dd-foot a{text-decoration:none;}
.sitenav .dd-quote{background:var(--grad);color:#fff !important;padding:6px 14px;border-radius:20px;}
@media(min-width:1200px){
  .sitenav .mega{position:static;}
  .sitenav .dd-mega{left:50% !important;transform:translateX(-50%);}
  .sitenav .nav-link{padding:8px 10px !important;font-size:14.2px;}
  .sitenav .navbar-nav .dropdown-menu{position:absolute;}
}
@media(max-width:1199px){
  .sitenav .navbar-collapse{background:#fff;padding:10px 0;max-height:calc(100vh - 80px);overflow-y:auto;}
  .sitenav .dropdown-menu{box-shadow:none;border:0;padding:0 0 6px 12px;margin:0;width:auto;}
  .sitenav .dd-cols{grid-template-columns:1fr;}
  .sitenav .dd-foot{flex-direction:column;align-items:flex-start;}
  .sitenav .nav-link.active::after{display:none;}
}

/* services overview + cards */
.svccard{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;transition:.25s;}
.svccard:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px);color:inherit;}
.svccard .pic{border-radius:0;height:180px;min-height:0;}
.svccard .body{padding:0 24px 24px;flex:1;display:flex;flex-direction:column;}
.svccard .ic{width:54px;height:54px;border-radius:15px;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;margin:-27px 0 14px;position:relative;box-shadow:0 8px 20px rgba(37,99,235,.3);}
.svccard.campus .ic{background:linear-gradient(135deg,#0d9488,#059669);}
.svccard h5{font-weight:700;color:var(--ink);}
.svccard p{color:var(--muted);font-size:14.5px;}
.svccard .more{margin-top:auto;font-weight:700;font-size:14px;color:var(--brand);}
.fcard.svc-link{display:block;color:inherit;}
.svc-tabs{gap:8px;flex-wrap:wrap;}
.svc-tabs .nav-link{border:1px solid var(--line);background:#fff;border-radius:30px;padding:10px 22px;font-weight:700;color:#334155;}
.svc-tabs .nav-link.active{background:var(--grad);color:#fff;border-color:transparent;box-shadow:0 8px 20px rgba(37,99,235,.25);}
.fcard.offer h5{padding-right:60px;}
.num-steps .step .dot::after{display:none;}
.num-steps .step .dot{font-weight:800;font-family:'Plus Jakarta Sans';font-size:26px;}

/* price + dedicated model */
.pricecard{background:#fff;border:2px solid #c7d2fe;border-radius:22px;padding:32px;box-shadow:var(--shadow-lg);position:relative;}
.pricecard .pc-tag{position:absolute;top:-13px;left:28px;background:var(--grad);color:#fff;font-size:12px;font-weight:700;padding:4px 14px;border-radius:20px;}
.pricecard h5{font-weight:800;}
.pricecard .pc-amt{font-family:'Plus Jakarta Sans';font-size:56px;font-weight:800;line-height:1;color:var(--ink);margin-top:10px;}
.pricecard .pc-amt small{font-size:26px;vertical-align:top;margin-right:2px;}
.pricecard .pc-amt span{font-size:22px;color:var(--muted);}
.pricecard .pc-note{color:var(--muted);font-size:13.5px;margin-top:6px;}
.dedi{border-radius:24px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;}
.dedi-price{background:linear-gradient(160deg,#0b1b3f,#3b2f9f);color:#fff;padding:40px;height:100%;}
.dedi-price h3{font-weight:800;}
.dedi-price p{color:#c9d6ef;}
.dp-amt{font-family:'Plus Jakarta Sans';font-size:60px;font-weight:800;line-height:1;margin-top:18px;}
.dp-amt small{font-size:28px;vertical-align:top;}
.dp-amt span{font-size:18px;font-weight:600;color:#c7d2fe;margin-left:6px;}
.dp-note{margin-top:12px;color:#fde68a;font-size:14px;font-weight:600;}
.dedi-points{padding:40px;}
.dedi-points b{display:block;margin-bottom:3px;}
.dedi-points p{color:var(--muted);font-size:14px;margin:0;}
.dpi{flex:0 0 46px;height:46px;border-radius:13px;background:#eef3ff;color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:20px;}
@media(max-width:575px){.dedi-price,.dedi-points{padding:28px;}.dp-amt{font-size:48px;}}

/* popular service tags */
.poptags{display:flex;flex-wrap:wrap;gap:10px;}
.poptags a{background:#fff;border:1px solid var(--line);padding:9px 15px;border-radius:30px;font-size:14px;font-weight:600;color:#334155;text-decoration:none;transition:.2s;}
.poptags a i{color:var(--brand);}
.poptags a:hover{border-color:var(--brand);color:var(--brand);box-shadow:var(--shadow);}

/* testimonials */
.rstars{color:#f59e0b;font-size:15px;letter-spacing:2px;display:inline-flex;gap:2px;}
.rating-sum{display:inline-flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:40px;padding:10px 24px;box-shadow:var(--shadow);}
.rating-sum b{font-family:'Plus Jakarta Sans';font-size:30px;}
.rating-sum .rstars{font-size:20px;}
.rating-sum .rs-n{color:var(--muted);font-weight:600;}
.tcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;height:100%;display:flex;flex-direction:column;position:relative;transition:.25s;}
.tcard:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);}
.tcard .tq{position:absolute;right:22px;top:12px;font-size:56px;color:#eef2ff;line-height:1;}
.tcard h5{font-weight:700;font-size:17px;margin:12px 0 8px;}
.tcard p{color:#475569;font-size:15px;line-height:1.75;flex:1;margin:10px 0 18px;}
.tcard .who{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:16px;flex-wrap:wrap;}
.tcard .who img,.tcard .av{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:0 0 auto;}
.tcard .av{background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;}
.tcard .who b{display:block;font-size:15px;}
.tcard .who small{color:var(--muted);font-size:13px;}
.tcard .who .tag{margin:0;}
.stars label i{font-size:30px;}

/* blog */
.cat-tabs{display:flex;flex-wrap:wrap;gap:8px;}
.cat-tabs a{padding:8px 15px;border-radius:30px;border:1px solid var(--line);font-weight:600;font-size:14px;color:#334155;text-decoration:none;}
.cat-tabs a span{background:#eef3ff;color:var(--brand);border-radius:20px;padding:0 7px;font-size:12px;margin-left:3px;}
.cat-tabs a.on{background:var(--grad);color:#fff;border-color:transparent;}
.cat-tabs a.on span{background:rgba(255,255,255,.25);color:#fff;}
.post-body{font-size:17px;line-height:1.85;color:#334155;}
.post-body .lead-in{font-size:19px;color:var(--ink);font-weight:500;border-left:4px solid var(--brand);padding-left:18px;}
.post-body h2{font-size:26px;font-weight:800;color:var(--ink);margin:36px 0 14px;}
.post-body h3{font-size:21px;font-weight:700;color:var(--ink);margin:28px 0 10px;}
.post-body ul{padding-left:22px;margin-bottom:20px;}
.post-body li{margin-bottom:8px;}
.post-body li::marker{color:var(--brand);}
.post-share{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:36px;padding-top:22px;}
.post-share > a:not(.btn){width:40px;height:40px;border-radius:50%;background:#eef3ff;color:var(--brand);display:flex;align-items:center;justify-content:center;text-decoration:none;}
.post-share > a:not(.btn):hover{background:var(--grad);color:#fff;}
.blog-side{position:sticky;top:100px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;}
.blog-side h6{font-weight:800;margin-bottom:12px;}
.side-cats a{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--line);color:#334155;text-decoration:none;font-size:14.5px;}
.side-cats a span{color:var(--muted);}
.side-post{display:flex;gap:12px;align-items:center;margin-bottom:14px;text-decoration:none;}
.side-post img{width:70px;height:54px;border-radius:10px;object-fit:cover;flex:0 0 auto;background:#e2e8f0;}
.side-post b{display:block;color:var(--ink);font-size:14px;line-height:1.35;}
.side-post small{color:var(--muted);}
.side-cta{background:linear-gradient(160deg,#0b1b3f,#2a2f8f);border-radius:16px;padding:20px;color:#c9d6ef;font-size:14px;}

/* downloads */
.dl-group{margin-bottom:34px;}
.dl-head{font-weight:800;font-size:18px;margin-bottom:14px;display:flex;align-items:center;gap:10px;}
.dl-head i{width:36px;height:36px;border-radius:10px;background:#eef3ff;color:var(--brand);display:inline-flex;align-items:center;justify-content:center;font-size:17px;}
.dlcard{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;text-decoration:none;height:100%;transition:.2s;}
.dlcard:hover{border-color:#c7d2fe;box-shadow:var(--shadow);transform:translateY(-2px);}
.dl-ic{flex:0 0 44px;height:44px;border-radius:12px;background:#e8f7ef;color:#15803d;display:flex;align-items:center;justify-content:center;font-size:19px;}
.dl-ic.file{background:#fef2f2;color:#dc2626;}
.dl-txt{flex:1;min-width:0;}
.dl-txt b{display:block;color:var(--ink);font-size:14.8px;}
.dl-txt small{color:var(--muted);font-size:12.8px;}
.dl-go{color:var(--brand);font-size:18px;}

/* logo strip (home) */
.site section.logostrip-wrap{padding:60px 0;border-bottom:1px solid var(--line);}
.logostrip{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.ls-track{display:flex;gap:26px;width:max-content;animation:lsmove 70s linear infinite;}
.logostrip:hover .ls-track{animation-play-state:paused;}
.ls-item{flex:0 0 auto;width:150px;height:76px;background:#fff;border:1px solid var(--line);border-radius:14px;display:flex;align-items:center;justify-content:center;padding:12px;}
.ls-item img{max-width:100%;max-height:48px;object-fit:contain;transition:transform .2s;}
.ls-item:hover img{transform:scale(1.06);}
.ls-item span{font-family:'Plus Jakarta Sans';font-weight:800;font-size:13.5px;color:#475569;text-align:center;line-height:1.2;}
@keyframes lsmove{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ls-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center;}}

/* team + call band */
.teamcard{display:flex;gap:22px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;height:100%;}
.teamcard img,.teamcard .tav{width:96px;height:96px;border-radius:22px;object-fit:cover;flex:0 0 auto;}
.teamcard .tav{background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Plus Jakarta Sans';font-weight:800;font-size:30px;}
.teamcard h5{font-weight:800;margin-bottom:2px;}
.teamcard .role{color:var(--brand);font-weight:700;font-size:13.5px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;}
.teamcard p{color:var(--muted);font-size:14.5px;margin:0;}
.callband{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:#f1f5fe;border:1px solid #dbe4ff;border-radius:22px;padding:30px 34px;}
.callband h4{font-weight:800;margin:0 0 4px;}
.callband p{margin:0;color:var(--muted);}
.sixd .num{font-size:44px;}
@media(max-width:575px){.teamcard{flex-direction:column;}}

/* contact: offices */
.side-panel.auto{height:auto;}
.off-ic{flex:0 0 40px;height:40px;border-radius:11px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:#7dd3fc;font-size:18px;}
.mapbox.short,.mapbox.short iframe{min-height:300px;height:300px;}
.ccard a.d-block{margin-top:2px;}

/* footer: services list */
.foot-svc .fs-head{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#64748b;font-weight:800;margin:4px 0 4px;}
.foot-svc .fs-head:not(:first-child){margin-top:14px;}
.foot-contact .fc-item a{display:inline;padding:0;margin:0;background:none;border:0;border-radius:0;max-width:none;color:inherit;text-decoration:none;white-space:nowrap;}
.foot-contact .fc-item a:hover{background:none;color:#fff;text-decoration:underline;}
.foot-contact .fc-item span a + br{line-height:1.8;}
.sitenav .nav-link:focus:not(:focus-visible){box-shadow:none;outline:0;}

/* =====================================================================
   v7 - layout fixes for laptop screens (1200 - 1399px) + polish
   ===================================================================== */
/* menu never wraps onto two lines */
.sitenav .nav-link,.sitenav .nav-quote{white-space:nowrap;}
.sitenav .lbl-s{display:none;}
@media(min-width:1200px) and (max-width:1399.98px){
  .sitenav .lbl-l{display:none;}
  .sitenav .lbl-s{display:inline;}
  .sitenav .nav-link{padding:8px 9px !important;font-size:14px;}
  .logo-text b{font-size:17px;}
}
/* no blue focus box after clicking a menu item (keyboard users still see a highlight) */
.sitenav .nav-link:focus,.sitenav .nav-link:focus-visible{box-shadow:none;outline:0;}
.sitenav .nav-link:focus-visible{background:#f1f5fe;}
.sitenav .dropdown-toggle.show{color:var(--brand);}
/* top bar never wraps */
.topstrip a,.topstrip span{white-space:nowrap;}
.topstrip .container{gap:16px;}
.topstrip .tb-left{min-width:0;overflow:hidden;}
/* job-alert form: keep name / email / field / button on one row on laptops */
.fa-form .form-control,.fa-form .form-select{min-width:0;flex:1 1 120px;}
.fa-form .form-select{flex:1 1 135px;}
@media(min-width:992px) and (max-width:1199.98px){.fa-form .btn{flex:1 1 100%;}}
/* Our Clients: compact 6-per-row logo grid on wide screens */
.logo-grid .logo-tile{height:96px;padding:14px;}
.logo-grid .logo-tile .mono{font-size:14.5px;}
/* home logo strip: tiles keep their shape while logos load */
.ls-item{background:#fff;}

/* ---- company logo (image) ---- */
.navbar-brand .site-logo{height:58px;width:auto;display:block;}
.site-logo-tile{display:inline-block;background:#fff;border-radius:12px;padding:8px 14px;}
.site-logo-tile .site-logo{height:62px;width:auto;display:block;}
@media (max-width:575px){.navbar-brand .site-logo{height:46px;}}

/* ===== Oct 2026 update ===== */
/* colourful client name tiles (when a logo file is missing) */
.logo-tile .mono.colour,.ls-item span.colour{display:flex;flex-direction:column;align-items:center;gap:6px;color:hsl(var(--h,220),62%,32%);}
.logo-tile .mono.colour .ini,.ls-item span.colour .ini{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;
  background:linear-gradient(135deg,hsl(var(--h,220),78%,52%),hsl(calc(var(--h,220) + 40),78%,46%));box-shadow:0 6px 14px hsla(var(--h,220),70%,45%,.3);}
.ls-item span.colour{flex-direction:row;font-size:12.5px;}
.ls-item span.colour .ini{width:30px;height:30px;font-size:12px;border-radius:9px;flex:0 0 auto;}
.logo-tile{border-top:3px solid hsl(var(--h,220),75%,55%);}

/* leadership cards with founder photos */
.leader-card{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;height:100%;box-shadow:var(--shadow);transition:.25s;}
.leader-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.leader-photo{position:relative;aspect-ratio:1/1;max-height:420px;width:100%;background:linear-gradient(140deg,#1d4ed8,#6d28d9);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.leader-photo.alt{background:linear-gradient(140deg,#0f766e,#2563eb);}
.leader-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;}
.leader-initials{font-family:'Plus Jakarta Sans';font-weight:800;font-size:96px;color:rgba(255,255,255,.95);letter-spacing:2px;}
.leader-role{position:absolute;left:18px;bottom:18px;background:rgba(255,255,255,.95);color:var(--brand);font-weight:800;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;padding:8px 14px;border-radius:30px;box-shadow:0 6px 18px rgba(15,23,42,.18);}
.leader-body{padding:24px 26px 26px;}
.leader-body h4{font-weight:800;margin-bottom:8px;}
.leader-body p{color:var(--muted);font-size:15px;margin-bottom:12px;}
.leader-link{font-weight:600;font-size:14px;text-decoration:none;}

/* campus pages: logo band on top */
.campus-brand{background:#fff;border-bottom:1px solid var(--line);padding:18px 0;}
.campus-brand .container{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.campus-brand img{height:64px;width:auto;}
.campus-brand .cb-links a{font-weight:600;font-size:14px;text-decoration:none;margin-left:16px;color:#0f766e;}
.campus-brand .cb-links a i{margin-right:4px;}
@media(max-width:575px){.campus-brand img{height:50px;}.campus-brand .cb-links a{margin:0 12px 0 0;}}
.kp-row{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;padding:14px;position:relative;}
.kp-row .kp-del{position:absolute;right:10px;top:8px;}
.stars-pick{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px;}
.cert-frame{border:10px solid #0d9488;border-radius:8px;padding:30px;background:#fff;}
