/* design pass 2 overrides (loaded last) */
nav{background:#FFF8E6!important;border-bottom:1px solid rgba(0,0,0,.06)}
nav .bar{color:var(--ink,#111)!important}
nav .lg,nav.solid .lg{filter:none!important;height:48px!important;width:48px!important;object-fit:contain;border-radius:50%;box-shadow:0 0 0 1px rgba(13,60,135,.12)}
@media(max-width:760px){nav .bar{height:68px!important}nav .lg,nav.solid .lg{height:42px!important;width:42px!important}}
html{scroll-padding-top:96px}
/* headings: one typeface, accent colour kept */
h1 .s,h2 .s,h3 .s,h1 em,h2 em,h3 em{font-family:inherit!important;font-style:normal!important;font-weight:inherit!important;letter-spacing:inherit!important}
.tb-cta .eb{display:none!important}
/* scrolling bands: full width, unframed */
.mq,.mq2{border:0!important;margin-left:0!important;margin-right:0!important;border-radius:0!important;transform:none!important;box-shadow:none!important}
.mq{background:#0D3C87;color:#fff;padding:22px 0!important}
.mq .t span:nth-child(even){color:#FFBF37!important}
.mq2{background:var(--yel,#FFBF37)!important;color:#111!important}
@media(prefers-reduced-motion:reduce){.mq .t,.mq2 .t{animation:none!important}}
/* footer on phones: contact column full width, no broken words */
footer p,footer li{overflow-wrap:normal;word-break:normal}
@media(max-width:760px){footer .g{grid-template-columns:1fr 1fr!important;gap:28px 20px!important}footer .g>div:first-child,footer .g>div:last-child{grid-column:1/-1}}
:root{--hd:Inter,system-ui,sans-serif}
/* dp page components (shared with TGLC rebuild) */
/* dp2 page components (rebuilt inner pages) */
.dp{padding:clamp(40px,6vw,72px) 0}
.dp+.dp{padding-top:0}
.dp .w{max-width:1180px}
.dp-narrow{max-width:760px}
.dp h2{font-size:clamp(26px,3.4vw,38px)!important;line-height:1.15!important;margin:0 0 14px;color:#0D3C87;text-wrap:balance}
.dp h3{font-size:clamp(18px,1.8vw,21px)!important;line-height:1.3!important;margin:0 0 8px;color:#16233A;text-wrap:balance}
.dp p,.dp li{font-size:17px;line-height:1.65;color:#2B3546}
.dp p{margin:0 0 14px}
.dp p:last-child{margin-bottom:0}
.dp-lead{font-size:clamp(20px,2.2vw,26px)!important;line-height:1.4!important;color:#16233A!important;font-family:var(--hd);font-weight:500;letter-spacing:-.015em;max-width:860px;margin:0 0 20px!important;text-wrap:pretty}
.dp-sub{max-width:720px;margin-bottom:28px!important}
.dp-card{padding:clamp(20px,2.4vw,28px);display:flex;flex-direction:column;gap:6px;min-width:0}
.dp-card p,.dp-card li{font-size:15.5px;line-height:1.6}
.dp-n{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-width:34px;height:28px;padding:0 10px;margin-bottom:10px;border-radius:999px;background:#EAF0FA;color:#0D3C87;font:600 13px/1 Inter,sans-serif}
.dp-grid{display:grid;gap:16px;grid-template-columns:1fr}
.dp-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(min-width:768px){.dp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.dp-grid.c3,.dp-swipe.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.dp-grid.c4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.dp-grid.c4,.dp-swipe.c4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.dp-swipe{display:grid;gap:12px;grid-auto-flow:column;grid-auto-columns:82%;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -20px;padding:0 20px 8px;scroll-padding:0 20px;scrollbar-width:none}
.dp-swipe::-webkit-scrollbar{display:none}
.dp-swipe>*{scroll-snap-align:start}
@media(min-width:768px){.dp-swipe{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;margin:0;padding:0;gap:20px}}
.dp-hint{display:flex;gap:6px;justify-content:center;margin-top:12px}
@media(min-width:768px){.dp-hint{display:none}}
.dp-hint i{width:6px;height:6px;border-radius:3px;background:#C9D2E0;transition:width .3s,background-color .3s}
.dp-hint i.on{width:18px;background:#0D3C87}
.dp-pills{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.dp-pills li{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;background:#F2F4F7;font:500 15px/1.2 Inter,sans-serif;color:#16233A}
.dp-acc{margin-top:20px;background:#fff;border-radius:20px;padding:4px clamp(20px,2.4vw,28px)}
.dp-acc details{border-bottom:1px solid #E3E8EF}
.dp-acc details:last-child{border-bottom:0}
.dp-acc summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:14px 0;cursor:pointer;font:600 17px/1.35 var(--hd);color:#16233A}
.dp-acc summary::-webkit-details-marker{display:none}
.dp-acc summary::after{content:"+";font:400 26px/1 Inter,sans-serif;color:#0D3C87;flex:none;transition:transform .25s}
.dp-acc details[open] summary::after{transform:rotate(45deg)}
.dp-acc .dp-body{padding:0 0 20px;max-width:760px}
.dp-acc .dp-body h3{margin:22px 0 8px}
.dp-ul{padding-left:1.2em;margin:0 0 14px}
.dp-ul li{margin:0 0 6px}
.dp-dl{display:grid;gap:10px;margin:8px 0 0}
.dp-dl dt{font:600 13.5px/1.3 Inter,sans-serif;color:#0D3C87}
.dp-dl dd{margin:2px 0 0;font-size:15.5px;line-height:1.55;color:#2B3546}
.dp-kv{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:10px 0 0;font-size:15.5px}
.dp-kv dt{color:#4A5568;font-weight:500}
.dp-kv dd{margin:0;font-weight:600;color:#16233A;overflow-wrap:anywhere}
.dp-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;background:#fff;border-radius:20px;padding:clamp(24px,3.5vw,40px)}
.dp-cta h2{margin:0!important;font-size:clamp(22px,2.6vw,30px)!important}
.dp-cta p{margin:6px 0 0;max-width:560px}
.dp-acts{display:flex;flex-wrap:wrap;gap:10px}
.dp-split{display:grid;gap:20px}
@media(min-width:900px){.dp-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}}
.dp-quote{font-family:var(--hd);font-size:clamp(19px,2vw,23px);line-height:1.45;color:#16233A;letter-spacing:-.01em}
.dp-img{border-radius:20px;overflow:hidden;background:#E6EAF0}
.dp-img img{width:100%;height:100%;object-fit:cover;display:block}
.tm{background:#fff;border-radius:20px;padding:8px 8px 14px}
.tm h3,.tm p{padding:0 6px}
.dp-gh{margin:28px 0 14px!important;font-size:17px!important;color:#4A5568!important;font-weight:600!important;letter-spacing:-.01em!important}
.dp h2+.dp-gh{margin-top:8px!important}
.dp-intro .dp-img{aspect-ratio:4/3}
@media(min-width:900px){.dp-intro{align-items:center}.dp-intro .dp-img{aspect-ratio:5/4}}
.dp-links{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.dp-links a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;background:#fff;color:#0D3C87;font:600 15px/1.2 Inter,sans-serif;text-decoration:none}
.dp-links a::after{content:"\2192"}
.dp-links a:hover{background:#EAF0FA}
.dp-stat .dp-card{gap:4px}
.dp-k{font:500 14px/1.3 Inter,sans-serif;color:#4A5568}
.dp-stat b{font:600 clamp(20px,2.2vw,24px)/1.2 var(--hd);color:#0D3C87;letter-spacing:-.02em}
.dp-checks{list-style:none;margin:0;padding:clamp(20px,2.4vw,28px);background:#fff;border-radius:20px;display:grid;gap:12px}
.dp-checks li{display:flex;gap:12px;align-items:center;font:500 16.5px/1.4 Inter,sans-serif;color:#16233A}
.dp-checks li::before{content:"";width:22px;height:22px;flex:none;border-radius:50%;background:#E8F5EB url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B7D22' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/14px no-repeat}
.dp-tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:4px 0 0;padding:0}
.dp-tags li{font-size:13.5px!important;line-height:1.3!important;padding:5px 10px;border-radius:999px;background:#F2F4F7;color:#16233A!important;margin:0!important}
.dp-lab-im{aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#F2F4F7;margin:-8px -8px 14px}
.dp-lab-im img{width:100%;height:100%;object-fit:contain;display:block}
.dp-rhythm .dp-card{padding:18px}
.dp-rhythm .dp-k{font-weight:600;color:#0D3C87}
.dp-rhythm p{font-size:14.5px!important}
.dp-ways .dp-kv{margin-top:auto;padding-top:14px}
.dp-card .sp-form{background:transparent!important;padding:0!important;margin:12px 0 0!important}
.dp-kv a,.dp-card a:not(.btn){color:#0D3C87;text-decoration:underline;text-underline-offset:3px}
.dp-sq{aspect-ratio:1/1;max-width:440px;justify-self:center;width:100%}
.dp-formwrap{max-width:820px}
.dp-formwrap .sp-form{background:#fff!important}
.dp-card .sp-form .sp-fg{grid-template-columns:1fr}
.form-closed{border-left:0!important}
.dp-follow{display:grid;gap:20px;align-items:center;background:#fff;border-radius:20px;padding:clamp(22px,3vw,36px)!important}
@media(min-width:900px){.dp-follow{grid-template-columns:1fr 1.3fr}}
.dp-follow h2{margin:0 0 6px!important}
.dp-soc{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
@media(max-width:520px){.dp-soc{grid-template-columns:1fr 1fr}}
.dp-soc a{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 16px;border-radius:14px;background:#F2F4F7;color:#0D3C87;font:600 15px/1.2 Inter,sans-serif;text-decoration:none;transition:background .2s,transform .2s}
.dp-soc a:hover{background:#E3EAF5;transform:translateY(-1px)}
@media(prefers-reduced-motion:reduce){.dp-soc a{transition:none}.dp-soc a:hover{transform:none}}
.sdg-g2{align-items:stretch}
.sdg-h{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.sdg-n{flex:none;width:44px;height:44px;border-radius:12px;background:#0D3C87;color:#fff;display:grid;place-items:center;font:600 18px/1 var(--hd)}
.sdg-h h3{margin:0!important;font-size:17px!important;line-height:1.25!important}
.sdg-c2 ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.sdg-c2 li{display:flex;flex-direction:column;gap:2px;padding:10px 0;border-top:1px solid #E6EAF0}
.sdg-c2 li b{font:600 15.5px/1.3 Inter,sans-serif;color:#16233A}
.sdg-c2 li span{font-size:14px;line-height:1.35;color:#4A5568}
.dp-lead{letter-spacing:-.005em!important;word-spacing:.02em}
@media(max-width:640px){.dp-lead{font-size:19px!important;line-height:1.45!important}}
.dp-kv dd{overflow-wrap:normal!important;word-break:normal!important;min-width:0}
@media(max-width:520px){.dp-kv{grid-template-columns:1fr;gap:2px}.dp-kv dt{font-size:13.5px;margin-top:8px}.dp-kv dt:first-child{margin-top:0}}
body:has(section.dp) .sp-hero .w{max-width:1180px!important}
body:has(section.dp) .sp-hero h1{max-width:900px}
.dp-more{display:flex;margin:24px auto 0;cursor:pointer}
.tm[hidden]{display:none!important}
/* dp2 home */
.bro b{font:600 17px/1.25 var(--hd)!important;letter-spacing:-.01em!important;text-transform:none!important;color:#16233A!important}
.bro{align-items:center}
.nc h3{-webkit-line-clamp:3!important}
@media(max-width:760px){
 .nw{display:grid!important;grid-auto-flow:column;grid-template-columns:none!important;grid-auto-columns:80%;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px!important;margin:0 -20px;padding:0 20px 6px;scrollbar-width:none;scroll-padding:0 20px}
 .nw::-webkit-scrollbar{display:none}
 .nw>.nc{scroll-snap-align:start}
 .pod h3{font-size:26px!important}
}
@media(prefers-reduced-motion:reduce){
 .vb li{padding:0 10px!important;gap:20px!important;font-size:clamp(17px,2.4vw,26px)!important}
}
.dp-card{background:#fff;border-radius:20px}
.dp .btn{height:46px}
.dp .btn.n{background:#0D3C87;color:#fff}
body:has(section.dp) .sp-hero .w{max-width:1180px!important}
.sp-hero .sp-k{display:none}
.dp-stat .dp-card{gap:4px}
.dp-k{font:500 14px/1.3 Inter,sans-serif;color:#4A4A4A}
.dp-stat b{font:600 clamp(22px,2.4vw,28px)/1.15 Inter,sans-serif;color:#0D3C87;letter-spacing:-.02em}
.dp-checks{list-style:none;margin:0;display:grid;gap:12px}
.dp-checks li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.45;color:#1A1A1A}
.dp-checks li::before{content:"";width:22px;height:22px;flex:none;margin-top:1px;border-radius:50%;background:#E8F5EB url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B7D22' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/14px no-repeat}
.dp a:not(.btn){color:#0D3C87;text-decoration:underline;text-underline-offset:3px}
.dp h2{color:#111!important}
.dp-n{background:#FFF1CC!important;color:#111!important}
.form-closed{border-left:0!important}

/* ===== dp3: floating pill header (matches nkemmanuel.com), shared by TGLC and Partners =====
   Always solid, same width as the content cards, no scroll-driven style changes (no flicker). */
html,body{overflow-x:clip}
nav#nav{position:fixed!important;top:12px!important;left:0!important;right:0!important;z-index:60!important;background:transparent!important;border:0!important;box-shadow:none!important;transition:none!important;padding:0!important;height:auto!important}
nav#nav .top{display:none!important}
nav#nav .bar{height:58px!important;display:flex!important;align-items:center;justify-content:space-between;gap:16px;background:#fff!important;border:1px solid rgba(22,35,58,.10)!important;border-radius:999px!important;padding:0 7px 0 12px!important;color:#16233A!important;box-shadow:0 8px 24px -14px rgba(22,35,58,.30)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;transition:none!important}
nav#nav .bar>a:first-child{display:flex;align-items:center;flex:none}
nav#nav .lg{height:42px!important;width:auto!important;filter:none!important;background:none!important;border-radius:0!important;box-shadow:none!important}
nav#nav ul{gap:26px!important;font:500 14.5px/1 Inter,system-ui,sans-serif!important}
nav#nav ul a{color:#16233A!important;opacity:1!important}
nav#nav ul a:hover{color:var(--blue,#0D3C87)!important}
nav#nav .btn{height:44px!important;min-height:44px!important;padding:0 20px!important;font-size:14.5px!important;border-radius:999px!important;display:inline-flex;align-items:center}
nav#nav .mbtn{background:#F4F1E8!important;border-radius:999px!important}
@media(max-width:760px){nav#nav{top:10px!important}nav#nav .bar{height:54px!important;padding:0 6px 0 10px!important}nav#nav .lg{height:38px!important}nav#nav .btn{height:42px!important;min-height:42px!important;padding:0 16px!important}}

/* dp3: one content grid. Every container, boxed band and card row shares the header pill's edges. */
section.dp>.w,body:has(section.dp) .sp-hero .w,.sp-hero .w,section.pg>.w{max-width:1280px!important}
.tb-cta,.chal,.cap{margin-left:auto!important;margin-right:auto!important;width:auto!important;max-width:calc(min(100vw,1280px) - 80px)!important}
@media(max-width:760px){.tb-cta,.chal,.cap{max-width:calc(100vw - 40px)!important}}
.w.sp-w,.sp-sec>.w{max-width:1280px!important}.sp-w>p,.sp-w>ul,.sp-w>ol{max-width:72ch}
html body.sp .sp-hero .w,html body .sp-hero>.w,html body .w.sp-w{max-width:1280px!important}
/* dp3: UBC video + January intake sign-up */
.dp-vid{align-items:center}
.yt-lite{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:16/9;background:#0B1B33}
.yt-lite a,.yt-lite iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.yt-lite img{width:100%;height:100%;object-fit:cover;display:block}
.yt-btn{position:absolute;left:50%;top:50%;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:50%;background:#fff;color:#0D3C87;display:grid;place-items:center;box-shadow:0 10px 30px -10px rgba(0,0,0,.5);transition:transform .25s ease}
.yt-play:hover .yt-btn,.yt-play:focus-visible .yt-btn{transform:scale(1.06)}
.dp-pill{display:inline-block;font:500 13px/1 Inter,sans-serif;background:#FDE7C2;color:#16233A;border-radius:999px;padding:8px 12px;margin:0 0 14px}
#notify .dp-formwrap{padding:0}
#notify .sp-form{border:0;margin:0;padding:26px;background:#fff;border-radius:20px}
#notify .sp-form h3{font-size:19px;margin:0 0 6px;font-weight:600}
#notify .f-note{font-size:14px;margin:0 0 16px;color:#33404F}
#notify .sp-fg{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#notify .sp-fg label{display:flex;flex-direction:column;gap:7px;font:500 14px/1.3 Inter,sans-serif;color:#222}
#notify .sp-fg .wide{grid-column:1/-1}
#notify .sp-fg input,#notify .sp-fg textarea{font:400 16px/1.4 Inter,sans-serif;border:1px solid rgba(0,0,0,.18);background:#fff;color:#111;border-radius:12px;padding:12px 14px;width:100%;box-sizing:border-box}
#notify .sp-fa{margin-top:18px}
#notify .sp-btn{border:0;cursor:pointer;font:600 16px/1 Inter,sans-serif;padding:15px 26px;border-radius:999px;background:#0D3C87;color:#fff}
@media(max-width:640px){#notify .sp-fg{grid-template-columns:1fr}#notify .sp-form{padding:20px}}
/* dp3: UBC intake card (replaces the outdated "Applications now open" banner) */
.ubc-card{display:flex;flex-direction:column;justify-content:center;gap:12px;aspect-ratio:16/10;border-radius:24px;background:#0D3C87;color:#fff;padding:clamp(24px,4vw,44px);text-decoration:none;position:relative;overflow:hidden}
.ubc-card::after{content:"";position:absolute;right:-60px;bottom:-60px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.07)}
.ubc-card img{width:56px;height:56px;border-radius:0!important}
.ubc-card .uc-k{font:500 13px/1.3 Inter,sans-serif;color:#fff}
.ubc-card strong{font:600 clamp(28px,3.4vw,42px)/1.05 Inter,sans-serif;letter-spacing:-.02em}
.ubc-card .uc-pill{align-self:flex-start;background:#FDC700;color:#16233A;font:600 14px/1 Inter,sans-serif;border-radius:999px;padding:10px 14px}
.ubc-card .uc-go{display:inline-flex;align-items:center;gap:8px;font:500 15px/1 Inter,sans-serif;margin-top:6px}
.ubc-card:hover .uc-go svg{transform:translateX(3px)}.ubc-card .uc-go svg{transition:transform .2s}
.ubc-acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.ubc-acts .btn{margin:0!important}
.ubc-acts .ubc-o{background:transparent!important;color:var(--ink)!important;border:1px solid rgba(0,0,0,.25)!important}
@media(max-width:760px){.ubc-card{aspect-ratio:auto;min-height:260px}}
/* dp3: mobile menu is a card aligned with the pill edges */
#mpanel.mpanel{position:fixed!important;left:40px!important;right:40px!important;top:80px!important;width:auto!important;max-height:calc(100vh - 100px);overflow:auto;border-radius:24px!important;background:#fff!important;box-shadow:0 18px 40px -20px rgba(22,35,58,.35)!important;border:1px solid rgba(22,35,58,.08)!important;padding:8px 20px 16px!important;margin:0!important}
@media(max-width:760px){#mpanel.mpanel{left:20px!important;right:20px!important;top:74px!important}}

/* dp3: one heading per section, no extra eyebrow labels above headings */
:is(.eb,.tag,.sp-k):has(+ :is(h1,h2)){display:none!important}
