/* Uniplural Academy content pages (v0.4.0 templates: Content, Policy, Funding, Student Support, About, Contact, News).
   Loaded after styles.css and course.css; same tokens, glass cards and type scale. */
.pg .pg-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:48px;align-items:center;margin-bottom:56px}
.pg .pg-hero-solo{grid-template-columns:minmax(0,1fr)}
.pg .pg-hero-compact{margin-bottom:36px}
.pg-hero h1,.pg-article-head h1{font:800 clamp(36px,4.8vw,64px)/1.05 var(--display);letter-spacing:-.02em;margin:0 0 20px;text-wrap:balance}
.pg-hero-compact h1{font-size:clamp(32px,4vw,52px)}
.pg-lede{max-width:640px}
.pg-lede p{font-size:clamp(17px,1.4vw,19.5px);color:var(--muted);margin:0 0 14px}
.pg-lede a,.pg-prose a{color:var(--brand-text);overflow-wrap:anywhere}
.pg-hero .cta-row{margin-top:26px}
.pg-hero .enrol-banner{margin-top:22px;max-width:640px}
/* 3D emblem (SVG fallback, WebGL draws over it) */
.pg-orb{margin:0;width:100%;max-width:400px;justify-self:center;position:relative}
.pg-orb::before{content:"";position:absolute;inset:12%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand) 38%,transparent),transparent 68%);filter:blur(10px)}
.pg-orb-box{position:relative;aspect-ratio:1}
.pg-orb-svg{width:100%;height:100%;display:block;transition:opacity .8s}
.pg-orb-svg ellipse{fill:none;stroke:var(--brand-text);stroke-width:1.5;opacity:.5}
.pg-orb-svg .dot{fill:var(--text)}
.pg-orb-svg .core{fill:var(--brand);opacity:.35}
.pg-orb[data-orb="1"] .o1,.pg-orb[data-orb="2"] .o2,.pg-orb[data-orb="3"] .o3{stroke:var(--brand);stroke-width:4;opacity:1}
.pg-orb-svg .spin{transform-origin:0 0;animation:pg-spin 60s linear infinite}
@keyframes pg-spin{to{transform:rotate(360deg)}}
.pg-orb-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .9s}
.pg-orb.ready .pg-orb-canvas{opacity:1}
.pg-orb.ready .pg-orb-svg{opacity:0}
/* body */
.pg-body{display:grid;gap:22px}
.pg-block{margin:34px 0 8px;scroll-margin-top:100px}
.pg-h2{font:800 clamp(26px,3vw,40px)/1.15 var(--display);margin:0 0 22px;letter-spacing:-.02em}
.pg-card{padding:clamp(24px,3.2vw,40px);scroll-margin-top:100px}
.pg-card>h2,.pg-prose>h2,.pg-split-copy>h2{font:800 clamp(22px,2.2vw,30px)/1.2 var(--display);margin:0 0 14px}
.pg-prose{font-size:16.5px}
.pg-prose p,.pg-prose li{color:var(--muted)}
.pg-prose p{margin:0 0 14px}
.pg-prose strong{color:var(--text)}
.pg-prose h3{font-size:19px;margin:24px 0 8px}
.pg-prose h4{font-size:16.5px;margin:20px 0 6px}
.pg-prose ul,.pg-prose ol{padding-left:22px;margin:6px 0 16px}
.pg-prose li{margin:5px 0}
.pg-prose li::marker{color:var(--brand-text)}
.pg-prose blockquote{margin:16px 0;padding:6px 0 6px 18px;border-left:3px solid var(--brand)}
.pg-prose>:last-child{margin-bottom:0}
.pg-fig{margin:18px 0 0}
.pg-fig img,.pg-split-img img,.pg-band img,.pg-article-img img{width:100%;height:auto;border-radius:16px}
.pg-split-img img,.pg-band img{object-fit:cover}
.pg-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,4vw,48px);align-items:center}
.pg-split.flip .pg-split-img{order:-1}
.pg-split-img{margin:0}
.pg-split-img img{aspect-ratio:4/3;max-height:420px}
.pg-btns{margin-top:18px}
.pg-table{overflow-x:auto}
.pg-table table{border-collapse:collapse;width:100%;font-size:15px}
.pg-table td,.pg-table th{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.pg-acc{margin-top:6px}
.pg-acc .cp-acc-body h3{font-size:17px}
.pg-more{margin:6px 0 0}
.link-arrow{color:var(--brand-text);font-weight:600;text-decoration:none}
.link-arrow:hover{text-decoration:underline}
.pg-note{padding:18px 22px;margin-bottom:22px;border-left:4px solid var(--brand)}
.pg-sub{max-width:760px;margin:-6px 0 24px}
/* funding */
.pg-funds .fund h3{font-size:21px}
.pg-scheme-head{display:flex;align-items:center;gap:16px;margin-bottom:12px}
.pg-scheme-head h2{font:800 clamp(22px,2.3vw,30px)/1.2 var(--display);margin:0}
.pg-step{font:800 14px/1 var(--display);letter-spacing:.08em;color:var(--brand-text);border:1px solid var(--award-line);background:var(--award-bg);border-radius:999px;padding:9px 12px}
/* students */
.pg-services{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;list-style:none;margin:0;padding:0}
.pg-services li{padding:24px;display:flex;flex-direction:column;gap:12px}
.pg-services h3,.pg-values h3{font-size:19px;margin:0}
.pg-svc-desc{margin:0;color:var(--muted);font-size:15px;line-height:1.5}
.pg-services a{margin-top:auto;font-weight:600;color:var(--brand-text);text-decoration:none;font-size:15px}
.pg-services a:hover{text-decoration:underline}
.pg-svc-ico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--badge-bg);color:var(--brand-text)}
.pg-svc-ico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pg-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.pg-chips a{display:inline-block;padding:10px 15px;border-radius:999px;border:1px solid var(--chip-line);background:var(--chip-bg);color:var(--text);text-decoration:none;font-size:14.5px}
.pg-chips a:hover{border-color:var(--brand-text)}
.pg-teaser{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:var(--contact-bg)}
.pg-teaser h2{font:800 24px/1.2 var(--display);margin:0 0 6px}
.pg-teaser p{margin:0;color:var(--muted);max-width:680px}
/* about */
.pg-values{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;list-style:none;margin:0;padding:0}
.pg-values li{padding:28px}
.pg-values h2{font:800 24px/1.2 var(--display);margin:0 0 12px}
.pg-values em{font-style:normal}
.pg-band{margin:22px 0 0}
.pg-band img{aspect-ratio:21/8;max-height:380px}
.pg-group-logo{height:54px;width:auto}
.pg-group .eyebrow{margin-bottom:10px}
.pg-timeline{list-style:none;margin:0;padding:0 0 0 26px;display:grid;gap:16px;position:relative}
.pg-timeline::before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--brand),transparent)}
.pg-timeline li{padding:22px 26px;position:relative;background:var(--award-bg);border-color:var(--award-line)}
.pg-timeline li::before{content:"";position:absolute;left:-26px;top:28px;width:16px;height:16px;border-radius:50%;background:var(--brand);box-shadow:0 0 14px var(--brand)}
.pg-timeline h3{font-size:19px;margin:0 0 6px}
.pg-date{margin:0 0 4px;font:600 13px/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--brand-text)}
.pg-timeline .pg-prose ul{margin:4px 0 0}
.pg-team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;list-style:none;margin:0;padding:0}
@media (max-width:720px){.pg-team{grid-template-columns:1fr}}
.pg-prose .pg-team{padding:0;margin:8px 0 0}.pg-prose .pg-team>li{margin:0}
.pg-member{padding:26px;text-align:left}
.pg-avatar{width:96px;height:96px;border-radius:50%;overflow:hidden;margin-bottom:16px;border:2px solid var(--award-line)}
.pg-avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.pg-initials{display:grid;place-items:center;font:800 30px/1 var(--display);color:var(--brand-text);background:var(--badge-bg)}
.pg-member h3{font-size:20px;margin:0 0 4px}
.pg-role{margin:0 0 12px;color:var(--brand-text);font-weight:600;font-size:14.5px}
.pg-bio p{color:var(--muted);font-size:15px;margin:0 0 10px}
/* contact */
.pg-contact{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;list-style:none;margin:0;padding:0}
.pg-ccard{padding:26px;display:flex;flex-direction:column;gap:10px}
.pg-ccard h2{font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:4px 0 0;font-weight:600}
.pg-ccard p{margin:0;color:var(--muted);font-size:15px}
.pg-ccard p a{color:var(--brand-text)}
.pg-big{font:700 19px/1.35 var(--display);color:var(--text)!important;text-decoration:none;overflow-wrap:anywhere}
a.pg-big:hover{text-decoration:underline}
.pg-addr{color:var(--text)!important;font-size:16px!important}
.pg-ccard .btn{align-self:flex-start;margin-top:auto}
.pg-topics p{color:var(--muted);margin:0 0 16px}
.pg-formcta{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:var(--contact-bg)}
.pg-formcta h2{font:800 24px/1.2 var(--display);margin:0 0 6px}
.pg-formcta p{margin:0;color:var(--muted)}
.pg-formcta a:not(.btn){color:var(--brand-text)}
/* policy */
.pg-longform{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start}
.pg-longform.no-toc{grid-template-columns:minmax(0,1fr)}
.pg-toc{position:sticky;top:100px;padding:22px;max-height:calc(100vh - 130px);overflow:auto}
.pg-toc h2{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-weight:600}
.pg-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;font-size:14.5px}
.pg-toc a{display:block;padding:6px 10px;border-radius:10px;color:var(--muted);text-decoration:none}
.pg-toc a:hover,.pg-toc a[aria-current]{color:var(--text);background:var(--ghost-bg)}
.pg-article-body{max-width:820px}
.pg-longform .pg-article-body{max-width:none}
.pg-article-body h2{font:800 clamp(21px,2vw,27px)/1.25 var(--display);margin:34px 0 10px;scroll-margin-top:100px}
.pg-article-body h2:first-child{margin-top:0}
.pg-docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;list-style:none;margin:0;padding:0}
.pg-doc{padding:22px;display:flex;flex-direction:column;gap:12px}
.pg-doc h3{font-size:17px;line-height:1.3;margin:0}
.pg-doc-ico{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--badge-bg);color:var(--brand-text)}
.pg-doc-ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}
.pg-doc-link{margin-top:auto;font-weight:600;color:var(--brand-text);text-decoration:none;font-size:15px}
.pg-doc-link:hover{text-decoration:underline}
.pg-help{padding:18px 24px}
.pg-help p{margin:0;color:var(--muted)}
.pg-help a{color:var(--brand-text)}
/* news */
.pg-news-feature{grid-template-columns:1fr}
.pg-feature{display:grid;grid-template-columns:1.2fr 1fr;align-items:center}
.pg-feature .thumb{aspect-ratio:auto;min-height:260px}
.pg-feature .thumb img{max-height:460px;object-fit:contain}
.pg-feature .news-body{padding:34px}
.pg-feature h3{font-size:clamp(22px,2.2vw,30px)}
.news-card .thumb.textonly svg{width:42%;fill:none;stroke:var(--brand-text);stroke-width:2.4;opacity:.75}
.pg-pager ul{display:flex;gap:8px;list-style:none;padding:0;margin:10px 0 0;justify-content:center}
.pg-pager a,.pg-pager span{display:grid;place-items:center;min-width:44px;height:44px;border-radius:999px;border:1px solid var(--chip-line);background:var(--chip-bg);color:var(--text);text-decoration:none}
.pg-pager [aria-current]{background:var(--chip-on-bg);color:var(--chip-on-text);border-color:transparent}
.pg-article{max-width:900px;margin:0 auto}
.pg-article-head{margin:0 0 26px}
.pg-article-head h1{font-size:clamp(30px,3.8vw,50px)}
.pg-article-img{margin:0 0 22px}
.pg-article-img img,.pg-article .pg-fig img{width:100%;height:auto;max-height:none;object-fit:contain;display:block}
.pg-article .pg-article-body{max-width:none}
.pg .news{margin-top:4px}
@media (max-width:1100px){.pg-contact{grid-template-columns:1fr 1fr}}
@media (max-width:980px){
  .pg .pg-hero{grid-template-columns:1fr;gap:12px}
  .pg-orb{max-width:260px;order:-1;justify-self:start;margin:-8px 0 0}
  .pg-split,.pg-feature{grid-template-columns:1fr}
  .pg-split.flip .pg-split-img{order:0}
  .pg-values{grid-template-columns:1fr}
  .pg-longform{grid-template-columns:1fr}
  .pg-toc{position:static;max-height:none}
}
@media (max-width:620px){
  .pg-orb{display:none} /* phones: copy first; page.js then never loads the WebGL emblem */
  .pg-doc{flex-direction:row;align-items:center;flex-wrap:wrap;padding:16px 18px;gap:6px 14px}
  .pg-doc h3{flex:1 1 0;min-width:0;font-size:16px}
  .pg-doc-link{margin:0 0 0 56px;flex-basis:100%}
  .pg-contact{grid-template-columns:1fr}
  .pg-card{padding:22px}
  .pg-feature .thumb{min-height:200px}
  .pg-feature .news-body{padding:22px}
  .pg-timeline{padding-left:22px}
  .pg-timeline li::before{left:-22px}
}
@media (prefers-reduced-motion:reduce){.pg-orb-svg .spin{animation:none}}
