/* Uniplural Academy course pages (template "Uniplural Academy Course Page"). Loaded after styles.css; same tokens. */
.cp-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(60vw 50vh at 85% 0%,color-mix(in srgb,var(--brand) 30%,transparent),transparent 70%),
  radial-gradient(50vw 40vh at 0% 30%,color-mix(in srgb,var(--brand-text) 12%,transparent),transparent 70%),var(--bg)}
.cp{max-width:var(--maxw);margin:0 auto;padding:120px clamp(20px,4vw,40px) 0}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 28px;padding:0;font-size:14px;color:var(--muted)}
.crumbs li+li::before{content:"›";margin-right:6px;opacity:.7}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--hover-text);text-decoration:underline}
.crumbs [aria-current]{color:var(--text);max-width:48ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);gap:48px;align-items:center;margin-bottom:56px}
.cp-hero h1{font:800 clamp(34px,4.4vw,58px)/1.06 var(--display);letter-spacing:-.02em;margin:0 0 18px;text-wrap:balance}
.cp-hero .badges{margin-bottom:22px}
.cp-quick{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}
.cp-quick div{padding:10px 14px;border-radius:14px;background:var(--glass);border:1px solid var(--line)}
.cp-quick dt{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cp-quick dd{margin:2px 0 0;font-weight:700}
.cp-hero .enrol-banner{margin-bottom:24px}
.cp-ring{position:relative;margin:0;width:100%;max-width:480px;justify-self:center}
.cp-ring-box{position:relative;aspect-ratio:1.2}
.cp-ring-svg{width:100%;height:100%;display:block;transition:opacity .6s}
.cp-ring-svg ellipse{fill:none;stroke:var(--brand-text);stroke-width:1.6;opacity:.55}
.cp-ring-svg ellipse.hi{stroke:var(--brand);stroke-width:5;opacity:1;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--brand) 70%,transparent))}
.cp-ring-svg text{font:700 14px var(--body);fill:var(--muted)}
.cp-ring-svg text.hi{fill:var(--text);font-size:16px}
.cp-ring-canvas{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;transition:opacity .8s}
.cp-ring.ready .cp-ring-canvas{opacity:1}
.cp-ring.ready .cp-ring-svg ellipse{opacity:0}
.cp-ring figcaption{text-align:center;font-size:14px;color:var(--muted);margin-top:6px}
.cp-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start}
.cp-facts{position:sticky;top:110px;padding:28px}
.cp-facts h2{font-size:20px;margin:0 0 16px}
.cp-facts dl{margin:0 0 18px;display:grid;gap:0}
.cp-facts dl div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.cp-facts dt{color:var(--muted)}
.cp-facts dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.cp-fee-note{font-size:13px;color:var(--muted);margin:0 0 18px}
.cp-fee-note a{color:var(--brand-text);overflow-wrap:anywhere}
.cp-block{margin-bottom:44px}
.cp-block h2{font:800 clamp(24px,2.4vw,32px)/1.2 var(--display);margin:0 0 16px}
.cp-block p,.cp-block li{color:var(--muted);font-size:16.5px}
.cp-block h4{font-size:16px;margin:18px 0 6px;color:var(--text)}
.cp-block ul,.cp-block ol{padding-left:22px;margin:8px 0 14px}
.cp-block li{margin:4px 0}
.cp-block a{color:var(--brand-text)}
.cp-acc{display:grid;gap:10px}
.cp-acc details{border:1px solid var(--line);border-radius:16px;background:var(--glass);overflow:hidden}
.cp-acc summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;cursor:pointer;list-style:none}
.cp-acc summary::-webkit-details-marker{display:none}
.cp-acc summary h3{font-size:17px;margin:0}
.cp-acc summary:focus-visible{outline:3px solid var(--focus);outline-offset:-3px;border-radius:16px}
.cp-acc-ico{flex:none;width:14px;height:14px;position:relative}
.cp-acc-ico::before,.cp-acc-ico::after{content:"";position:absolute;left:0;right:0;top:6px;height:2px;background:var(--brand-text);border-radius:2px;transition:transform .25s}
.cp-acc-ico::after{transform:rotate(90deg)}
.cp-acc details[open] .cp-acc-ico::after{transform:rotate(0)}
.cp-acc-body{padding:0 20px 14px}
.cp-related{margin:20px 0 0}
.cp-related h2,.cp-area h2{font:800 clamp(22px,2.2vw,30px)/1.2 var(--display);margin:0 0 18px}
.cp-enquire{padding-left:0;padding-right:0}
.cp-enquire .contact-grid{grid-template-columns:1.1fr 1fr;align-items:start}
.cp-enquire .contact-list{margin-top:0}
.cp-index-hero .lede{max-width:620px}
.cp-filter{margin-top:8px}
.cp-count{color:var(--muted);font-size:14px;margin:0}
.cp-unknown{padding:12px 16px;border-radius:14px;background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--text)}
.cp-areas ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 40px}
.cp-areas a{display:inline-block;padding:9px 14px;border-radius:999px;border:1px solid var(--chip-line);background:var(--chip-bg);color:var(--text);text-decoration:none;font-size:14px}
.cp-areas a:hover{border-color:var(--brand-text)}
.cp-area{margin-bottom:48px;scroll-margin-top:100px}
.cp-area[hidden]{display:none}
.cp-n{font-size:.55em;vertical-align:middle;padding:4px 10px;border-radius:999px;background:var(--badge-bg);color:var(--badge-text)}
.cp .course[hidden]{display:none}
/* v0.6.0 study-area pages and area links */
.cp-area-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 18px;margin:0 0 18px}
.cp-area-head h2{margin:0}
.cp-area-all{color:var(--brand-text);font-weight:600;font-size:15px;text-decoration:none}
.cp-area-all:hover,.cp-area-all:focus-visible{text-decoration:underline}
.cp-more{margin:18px 0 0}
.cp-area-hero .lede-more{margin-top:-6px}
.cp-area-hero .cp-quick{margin:4px 0 18px}
.cp-areas-other{margin:8px 0 8px}
.cp-areas-other h2{font:800 clamp(20px,2vw,26px)/1.2 var(--display);margin:0 0 14px}
.cp-area-view .cp-area{margin-bottom:40px}
#enquire{scroll-margin-top:90px}
@media (max-width:1100px){.cp-grid{grid-template-columns:minmax(0,1fr) 320px}}
@media (max-width:980px){
  .cp-hero{grid-template-columns:1fr;gap:20px}
  .cp-ring{max-width:320px;justify-self:center}
  .cp-index-hero .cp-ring{display:none}
  .cp-grid{grid-template-columns:1fr}
  .cp-facts{position:static;order:-1}
  .cp .courses{grid-template-columns:1fr 1fr}
  .cp-enquire .contact-grid{grid-template-columns:1fr;padding:32px}
}
@media (max-width:620px){
  .cp{padding-top:100px}
  .cp-ring{max-width:220px}
  .cp .courses{grid-template-columns:1fr}
  .cp-facts dl div{grid-template-columns:1fr;gap:2px}
  .crumbs [aria-current]{max-width:100%}
  .cp-enquire .contact-grid{padding:24px}
}
@media (prefers-reduced-motion:reduce){.cp-ring-svg,.cp-ring-canvas,.cp-acc-ico::after{transition:none}}
