/* AI Academy / Northline shared course page template (2026-10-15). Rendered by scripts/academy/render-course-pages.py.
   Uses the Northline campus palette (deep navy, cream text, ARQS gold) so course pages match the academy skin,
   and stands on its own on pages the academic finalizer does not style. */
.ct-page{--ct-deep:#020b16;--ct-navy:#06182b;--ct-panel:#0d2640;--ct-panel2:#102f4f;--ct-line:rgba(243,213,139,.26);--ct-gold:#f3d58b;--ct-gold2:#e4b860;
  --ct-cream:#f7f3e9;--ct-text:#e3eaf0;--ct-muted:#c3d0db;
  margin:0;background:var(--ct-navy);color:var(--ct-text);font:17px/1.65 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-text-size-adjust:100%}
.ct-page *{box-sizing:border-box}
.ct-page img{max-width:100%}
.ct-page a{color:var(--ct-gold)}
.ct-w{width:min(1120px,92vw);margin:0 auto}
.ct-skip{position:absolute;left:1rem;top:-6rem;background:#fff;color:#06182b;padding:.8rem 1rem;z-index:50}.ct-skip:focus{top:1rem}
.ct-top{background:var(--ct-deep);border-bottom:1px solid var(--ct-line)}
html[data-northline-academic] .ct-top{display:none!important} /* the academy identity bar replaces it */
.ct-top-in{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px;flex-wrap:wrap}
.ct-brand{display:flex;flex-direction:column;font-weight:900;color:var(--ct-cream)!important;text-decoration:none;line-height:1.2}
.ct-brand span{font-size:12px;font-weight:600;color:var(--ct-gold)}
.ct-links{display:flex;gap:18px;flex-wrap:wrap;font-size:14px;background:none!important}.ct-links a{color:var(--ct-text)!important;text-decoration:none}.ct-links a:hover{color:var(--ct-gold)!important}
.ct-page .ct-hero{position:relative;background:radial-gradient(circle at 85% 10%,rgba(243,213,139,.14),transparent 40%),linear-gradient(135deg,#041426 0%,#0b2d4f 100%)!important;border-bottom:1px solid var(--ct-line);padding:56px 0 50px}
.ct-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:44px;align-items:center}
.ct-page .ct-eyebrow{margin:0;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ct-gold)!important}
.ct-page h1,html[data-northline-academic] .ct-page h1{font:600 clamp(34px,5vw,58px)/1.06 Georgia,"Times New Roman",serif!important;letter-spacing:-.01em;color:var(--ct-cream)!important;margin:12px 0 16px;text-shadow:none;max-width:none}
.ct-page .ct-lead{font-size:19px;color:#eef3f7!important;margin:0 0 18px;max-width:62ch}
.ct-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.ct-chip{background:rgba(2,11,22,.45);border:1px solid var(--ct-line);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;color:var(--ct-cream)}
.ct-chip-self{background:var(--ct-gold);border-color:var(--ct-gold);color:#14100a}
.ct-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ct-actions .buybox{width:100%}
.ct-page .ct-actions .buybox strong,.ct-page .ct-actions .buybox strong span{color:var(--ct-cream)!important}
.ct-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 20px;border-radius:999px;border:1px solid rgba(243,213,139,.55);background:rgba(2,11,22,.55);color:var(--ct-gold);font-weight:800;text-decoration:none}
.ct-actions a.gold,.ct-actions a.primary{background:linear-gradient(135deg,#f6dd96,#e4b860);border-color:#f3d58b;color:#14100a}
.ct-actions a:focus-visible,.ct-toc a:focus-visible{outline:3px solid var(--ct-gold);outline-offset:3px}
.ct-page .ct-note{font-size:14px;color:var(--ct-muted)!important;margin:14px 0 0;max-width:62ch}
.ct-hero-photo{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:16px;border:1px solid var(--ct-line);box-shadow:0 24px 54px rgba(0,0,0,.45);background:#0d2640}
.ct-page .ct-toc{position:sticky;top:0;z-index:20;background:rgba(2,11,22,.94)!important;border-bottom:1px solid var(--ct-line);backdrop-filter:blur(10px)}
.ct-toc .ct-w{display:flex;gap:6px 22px;overflow-x:auto;white-space:nowrap;padding:12px 0;font-size:14px;font-weight:700;scrollbar-width:thin}
.ct-page .ct-toc a{color:var(--ct-text)!important;text-decoration:none}.ct-page .ct-toc a:hover{color:var(--ct-gold)!important}
.ct-sec{padding:58px 0;scroll-margin-top:52px;background:rgba(6,24,43,.94);border-bottom:1px solid rgba(243,213,139,.12)}
.ct-alt{background:rgba(9,32,56,.94)}
.ct-page h2,html[data-northline-academic] .ct-page h2{font:600 clamp(26px,3.3vw,38px)/1.15 Georgia,"Times New Roman",serif!important;color:var(--ct-cream)!important;margin:0 0 18px}
.ct-page h3{font-size:19px;line-height:1.3;color:var(--ct-cream)!important;margin:22px 0 8px}
.ct-page .ct-sec p,.ct-page .ct-sec li{color:var(--ct-text)}
.ct-sec p{max-width:75ch}
.ct-page .ct-kicker{margin:0 0 8px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ct-gold)!important}
.ct-two{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;align-items:start}
.ct-two h3:first-child,.ct-two h2+h3{margin-top:0}
.ct-facts{margin:0;background:rgba(13,38,64,.92);border:1px solid var(--ct-line);border-radius:16px;padding:6px 20px}
.ct-facts div{padding:12px 0;border-bottom:1px solid rgba(243,213,139,.16)}.ct-facts div:last-child{border-bottom:0}
.ct-facts dt{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ct-gold)}
.ct-facts dd{margin:2px 0 0;font-weight:600;color:var(--ct-cream)}
.ct-audience{margin-top:22px;padding:18px 20px;border-left:4px solid var(--ct-gold);background:rgba(13,38,64,.92);border-radius:0 12px 12px 0}
.ct-audience h3{margin-top:0}
.ct-outcomes{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ct-outcomes li{background:rgba(13,38,64,.92);border:1px solid var(--ct-line);border-radius:14px;padding:14px 16px 14px 46px;position:relative}
.ct-outcomes li:before{content:"";position:absolute;left:17px;top:21px;width:14px;height:8px;border-left:3px solid var(--ct-gold);border-bottom:3px solid var(--ct-gold);transform:rotate(-45deg)}
.ct-page .ct-outcomes strong{display:block;color:var(--ct-cream)}
.ct-modules{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ct-module{border:1px solid var(--ct-line);border-radius:14px;padding:16px 18px;background:rgba(13,38,64,.92);position:relative;overflow:hidden}
.ct-module:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--ct-gold),#4aa3d8,transparent)}
.ct-module h3{margin:2px 0 6px!important;font-size:18px}.ct-page .ct-module p{margin:0;color:var(--ct-muted)}
.ct-module-n{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ct-gold)}
.ct-topics{grid-template-columns:repeat(3,minmax(0,1fr))}.ct-topics .ct-module h3{margin:0!important;font-size:17px}
.ct-steps{padding-left:1.2rem}.ct-steps li{margin:6px 0}
.ct-page .ct-steps strong{color:var(--ct-cream)}
.ct-cert{margin-top:22px;padding:16px 18px;background:rgba(243,213,139,.08);border:1px solid var(--ct-line);border-radius:12px}
.ct-page .ct-tutor{background:radial-gradient(circle at 90% 0,rgba(243,213,139,.12),transparent 40%),linear-gradient(150deg,#0d2f52,#041426)!important}
#arqs-ai-tutor:empty{min-height:4px}
.ct-page .ct-limits p{font-size:15px;color:var(--ct-muted)}
.ct-page .ct-enrol{background:linear-gradient(135deg,#0b2d4f,#06182b)!important}
.ct-page .ct-enrol-title{font-weight:800;color:var(--ct-cream);font-size:20px;margin:0 0 12px}
.ct-page .ct-enrol .price{font:700 34px Georgia,serif;color:var(--ct-gold);margin:0 0 12px}
.ct-page .ct-foot{background:var(--ct-deep)!important;color:var(--ct-muted)!important;padding:28px 0 40px;font-size:14px;border-top:1px solid var(--ct-line)}.ct-foot a{color:var(--ct-gold)}
.ct-page .ct-fine{font-size:13px;color:var(--ct-muted);letter-spacing:.06em;text-transform:uppercase}
/* Full lessons kept on the page (AI for Everyday Work, NTL-111/212/312) */
.ct-page .ct-lesson-nav{display:flex;flex-wrap:wrap;gap:8px 18px;padding:14px 18px;margin:0 0 18px;background:rgba(2,11,22,.6)!important;border:1px solid var(--ct-line);border-radius:12px;font-size:15px}
.ct-page .ct-lesson-nav a{color:var(--ct-gold)!important}
.ct-lessons section,#assessment .ct-w>section{background:rgba(13,38,64,.92);border:1px solid var(--ct-line);border-radius:14px;padding:clamp(18px,3vw,34px);margin:0 0 18px;scroll-margin-top:60px}
.ct-page .ct-lessons h2,.ct-page #assessment section h2{font-size:clamp(22px,3vw,28px)!important}
.ct-lessons .badge,#assessment .badge{display:inline-block;background:rgba(243,213,139,.14);color:var(--ct-cream);padding:.2rem .6rem;border-radius:2rem;font-size:.85rem;margin:.2rem}
.ct-page .ct-lessons .note,.ct-page .ct-lessons .example,.ct-page #assessment .note{background:rgba(2,11,22,.5)!important;padding:1rem 1.25rem;border:0;border-left:4px solid #4aa3d8;border-radius:0 10px 10px 0}
.ct-page .ct-lessons .example{border-left-color:var(--ct-gold)}
.ct-lessons .activity{border-top:1px solid var(--ct-line);padding-top:.8rem}
.ct-page .ct-lessons .answer-space{min-height:3rem;border-bottom:1px dashed rgba(195,208,219,.5);color:var(--ct-muted);font-size:.9rem}
.ct-lessons fieldset,#assessment fieldset{border:1px solid var(--ct-line);border-radius:8px;margin:1.2rem 0;padding:1rem}
.ct-page .ct-lessons legend,.ct-page #assessment legend{font-weight:650;padding:0 .5rem;color:var(--ct-cream)}
.ct-lessons label,#assessment label{display:flex;gap:.6rem;align-items:flex-start;padding:.55rem .25rem;cursor:pointer}
.ct-lessons input[type=radio],#assessment input[type=radio]{margin-top:.4rem;accent-color:var(--ct-gold)}
.ct-lessons button,#assessment button{background:linear-gradient(135deg,#f6dd96,#e4b860);color:#14100a;border:0;border-radius:6px;font:inherit;font-weight:700;padding:.6rem 1rem;cursor:pointer}
.ct-lessons details{margin:.8rem 0}.ct-lessons summary{cursor:pointer;font-weight:650;color:var(--ct-cream)}
.ct-page .ct-lessons pre{overflow:auto;padding:1rem;background:rgba(2,11,22,.7);color:var(--ct-text);font-size:.9rem;border-radius:8px}
.ct-lessons table,#assessment table{border-collapse:collapse;width:100%;font-size:.9rem;display:block;overflow-x:auto}
.ct-lessons th,.ct-lessons td,#assessment th,#assessment td{text-align:left;padding:.6rem;border-bottom:1px solid var(--ct-line)}
.ct-lessons .feedback,#assessment .feedback{font-weight:650;min-height:1.8rem;color:var(--ct-gold)}
.ct-lessons .resource-list{columns:2}
.ct-lessons .module{border:1px solid var(--ct-line);border-radius:16px;margin:14px 0;background:rgba(13,38,64,.92);overflow:hidden}
.ct-page .ct-lessons .module summary{padding:18px 20px;font-weight:800;color:var(--ct-cream);font-size:19px}
.ct-lessons .module-body{padding:0 20px 20px}
.ct-lessons .lesson{padding:16px 0;border-top:1px solid var(--ct-line)}.ct-lessons .lesson h3{margin:0 0 8px}
.ct-lessons .quiz{background:rgba(243,213,139,.07);border:1px solid var(--ct-line);border-radius:14px;padding:16px;margin-top:12px}.ct-lessons .quiz h3{margin-top:0}
.ct-page .ct-lessons .answer{color:#9fe0bf}
@media(max-width:860px){.ct-hero-grid,.ct-two{grid-template-columns:1fr;gap:26px}.ct-page .ct-hero{padding:34px 0}.ct-hero-photo{order:-1}.ct-outcomes,.ct-modules{grid-template-columns:1fr}.ct-topics{grid-template-columns:1fr 1fr}.ct-lessons .resource-list{columns:1}}
@media(max-width:560px){.ct-actions a{width:100%}.ct-links{gap:12px;font-size:13px}.ct-sec{padding:42px 0}.ct-topics{grid-template-columns:1fr}}
@media print{.ct-top,.ct-toc,.ct-actions,.ct-tutor,.ct-enrol{display:none}.ct-page{font-size:11pt;background:#fff;color:#000}}
