/* ============================================
   Syllabus document system (course catalog pages)
   The page reads as an official academic syllabus:
   cream sheet, letterhead, serif body, ruled tables.
   Scoped to body.syllabus-doc; course-agnostic so
   every course page (WF 101C, BIZ 101C, ...) reuses it.
   Lives in external CSS per voice-grep scope.
   ============================================ */

body.syllabus-doc{
  --syl-bg:#0E1A2B;
  --syl-paper:#FAF7F0;
  --syl-paper-2:#F1EBDE;
  --syl-ink:#232830;
  --syl-navy:#0F2038;
  --syl-accent:#C9632B;
  --syl-rule:rgba(15,32,56,.22);
  --syl-rule-heavy:#0F2038;
  --syl-serif:"Crimson Pro",Georgia,"Times New Roman",serif;
  --syl-cond:"Barlow Condensed","Arial Narrow",sans-serif;
}

/* ---- Canvas (top padding clears the 64px fixed nav) ---- */
body.sam-r.syllabus-doc main{
  background:var(--syl-bg);
  padding:112px 20px 96px;
}

/* ---- Action bar (site layer, not part of the document) ---- */
body.syllabus-doc .syl-actionbar{
  max-width:860px;
  margin:0 auto 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
}
body.syllabus-doc .syl-actionbar-label{
  font-family:var(--syl-cond);
  font-weight:600;
  font-size:.95rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:rgba(250,247,240,.78);
  margin:0;
}
body.syllabus-doc .syl-actionbar-btns{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

/* ---- Buttons ---- */
body.syllabus-doc .syl-btn{
  display:inline-block;
  font-family:var(--syl-cond);
  font-weight:700;
  font-size:.95rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  line-height:1;
  padding:11px 20px;
  border-radius:3px;
  text-decoration:none;
  background:#E07A3F;
  color:var(--syl-navy);
  border:1.5px solid #E07A3F;
  transition:background .15s ease,border-color .15s ease;
}
body.syllabus-doc .syl-btn:hover{background:#C9632B;border-color:#C9632B}
body.syllabus-doc .syl-actionbar .syl-btn.ghost{
  background:transparent;
  color:var(--syl-paper);
  border-color:rgba(250,247,240,.55);
}
body.syllabus-doc .syl-actionbar .syl-btn.ghost:hover{
  background:rgba(250,247,240,.1);
  border-color:var(--syl-paper);
}
body.syllabus-doc .syl-register .syl-btn.solid{
  background:var(--syl-navy);
  color:var(--syl-paper);
  border-color:var(--syl-navy);
}
body.syllabus-doc .syl-register .syl-btn.solid:hover{background:#182E4E;border-color:#182E4E}
body.syllabus-doc .syl-register .syl-btn.ghost{
  background:transparent;
  color:var(--syl-navy);
  border-color:var(--syl-navy);
}
body.syllabus-doc .syl-register .syl-btn.ghost:hover{background:rgba(15,32,56,.07)}

/* ---- The sheet ---- */
body.syllabus-doc .syl-sheet{
  max-width:860px;
  margin:0 auto;
  background:var(--syl-paper);
  color:var(--syl-ink);
  font-family:var(--syl-serif);
  font-size:1.08rem;
  line-height:1.62;
  padding:56px 72px 44px;
  box-shadow:0 30px 70px rgba(0,0,0,.4),0 2px 6px rgba(0,0,0,.3);
}
body.syllabus-doc .syl-sheet p,
body.syllabus-doc .syl-sheet li,
body.syllabus-doc .syl-sheet td{
  font-family:var(--syl-serif);
  font-weight:400;
  color:var(--syl-ink);
}
body.syllabus-doc .syl-section p{margin:0 0 14px}
body.syllabus-doc .syl-section p:last-child{margin-bottom:0}
body.syllabus-doc .syl-sheet a{
  color:var(--syl-navy);
  text-decoration:underline;
  text-underline-offset:2px;
  text-decoration-thickness:1px;
}
body.syllabus-doc .syl-sheet a:hover{color:var(--syl-accent)}

/* ---- Letterhead ---- */
body.syllabus-doc .syl-letterhead{
  display:flex;
  align-items:center;
  gap:18px;
}
body.syllabus-doc .syl-seal{
  width:72px;
  height:72px;
  flex:0 0 auto;
}
body.syllabus-doc .syl-wordmark{
  font-family:var(--syl-cond);
  font-weight:800;
  font-size:1.6rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--syl-navy);
  margin:0;
  line-height:1.1;
}
body.syllabus-doc .syl-lh-sub{
  font-family:var(--syl-cond);
  font-weight:600;
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.22em;
  color:var(--syl-accent);
  margin:4px 0 0;
}
body.syllabus-doc .syl-lh-rule{
  border:0;
  border-top:3px solid var(--syl-rule-heavy);
  border-bottom:1px solid var(--syl-rule-heavy);
  height:2px;
  background:transparent;
  margin:16px 0 34px;
}

/* ---- Masthead ---- */
body.syllabus-doc .syl-kicker{
  font-family:var(--syl-cond);
  font-weight:600;
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:var(--syl-accent);
  margin:0 0 10px;
}
body.syllabus-doc .syl-sheet h1.syl-code{
  font-family:var(--syl-cond);
  font-weight:800;
  font-style:normal;
  font-size:clamp(2.8rem,6vw,4rem);
  letter-spacing:.02em;
  text-transform:none;
  line-height:1.02;
  color:var(--syl-navy);
  margin:0 0 6px;
}
body.syllabus-doc .syl-code .syl-title{
  display:block;
  font-family:var(--syl-serif);
  font-weight:600;
  font-size:clamp(1.5rem,3vw,1.9rem);
  line-height:1.25;
  letter-spacing:0;
  text-transform:none;
  color:var(--syl-ink);
  margin-top:10px;
}
body.syllabus-doc .syl-meta{
  font-family:var(--syl-cond);
  font-weight:600;
  font-size:.95rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-variant-numeric:tabular-nums;
  color:var(--syl-navy);
  margin:14px 0 18px;
}
body.syllabus-doc .syl-desc{
  max-width:62ch;
  font-size:1.14rem;
  margin:0 0 22px;
}
body.syllabus-doc .syl-placement{
  border-top:1px solid var(--syl-rule);
  border-bottom:1px solid var(--syl-rule);
  padding:13px 0;
  margin:0;
  font-size:1.06rem;
}
body.syllabus-doc .syl-placement-label{
  font-family:var(--syl-cond);
  font-weight:700;
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--syl-accent);
  margin-right:14px;
}
body.syllabus-doc .syl-placement .syl-arrow{color:var(--syl-accent);font-weight:600}

/* ---- Document sections (padding:0 beats base.css section defaults) ---- */
body.syllabus-doc .syl-section{padding:0;margin:44px 0 0}
body.syllabus-doc .syl-sheet h2.syl-h{
  font-family:var(--syl-cond);
  font-weight:700;
  font-style:normal;
  font-size:1.3rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  line-height:1.2;
  color:var(--syl-navy);
  border-bottom:1px solid var(--syl-rule);
  padding-bottom:8px;
  margin:0 0 18px;
}

/* ---- Course information table ---- */
body.syllabus-doc .syl-table{
  width:100%;
  border-collapse:collapse;
}
body.syllabus-doc .syl-table tr:first-child th,
body.syllabus-doc .syl-table tr:first-child td{border-top:1px solid var(--syl-rule)}
body.syllabus-doc .syl-table th,
body.syllabus-doc .syl-table td{
  text-align:left;
  vertical-align:top;
  padding:11px 18px 11px 0;
  border-bottom:1px solid var(--syl-rule);
}
body.syllabus-doc .syl-table th{
  font-family:var(--syl-cond);
  font-weight:600;
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--syl-navy);
  width:200px;
  white-space:nowrap;
  padding-top:14px;
}
body.syllabus-doc .syl-table td{font-size:1.02rem}

/* ---- Schedule table ---- */
body.syllabus-doc .syl-units{
  width:100%;
  border-collapse:collapse;
  font-size:1rem;
}
body.syllabus-doc .syl-units th{
  font-family:var(--syl-cond);
  font-weight:700;
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--syl-navy);
  text-align:left;
  padding:0 16px 9px 0;
  border-bottom:2px solid var(--syl-rule-heavy);
}
body.syllabus-doc .syl-units td{
  text-align:left;
  vertical-align:top;
  padding:10px 16px 10px 0;
  border-bottom:1px solid var(--syl-rule);
  font-size:1.02rem;
}
body.syllabus-doc .syl-units td:first-child{
  font-family:var(--syl-cond);
  font-weight:600;
  font-size:.95rem;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
  color:var(--syl-ink);
}
body.syllabus-doc .syl-units td:nth-child(2){white-space:nowrap}

/* ---- Learning outcomes ---- */
body.syllabus-doc ol.syl-outcomes{
  margin:6px 0 0;
  padding-left:1.6em;
}
body.syllabus-doc ol.syl-outcomes li{
  padding:5px 0;
  line-height:1.55;
}
body.syllabus-doc ol.syl-outcomes li::marker{
  font-family:var(--syl-cond);
  font-weight:700;
  color:var(--syl-navy);
}

/* ---- Ruled note (pull-quote as document callout) ---- */
body.syllabus-doc .syl-note{
  border-top:1px solid var(--syl-rule);
  border-bottom:1px solid var(--syl-rule);
  padding:14px 0;
  margin:26px 0 0;
  text-align:center;
}
body.syllabus-doc .syl-note p{
  font-style:italic;
  font-size:1.14rem;
  margin:0;
}

/* ---- Prerequisites / completion sub-blocks ---- */
body.syllabus-doc .syl-sub{margin:0 0 24px}
body.syllabus-doc .syl-sub:last-child{margin-bottom:0}
body.syllabus-doc .syl-sub h3{
  font-family:var(--syl-cond);
  font-weight:700;
  font-style:normal;
  font-size:1.05rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--syl-navy);
  margin:0 0 6px;
}
body.syllabus-doc .syl-sub-tag{
  font-family:var(--syl-cond);
  font-weight:600;
  font-size:.8rem;
  letter-spacing:.1em;
  color:var(--syl-accent);
  margin-left:10px;
}
body.syllabus-doc .syl-sub p{margin:0}

/* ---- FAQ as document Q&A ---- */
body.syllabus-doc details.syl-qa{
  border-bottom:1px solid var(--syl-rule);
}
body.syllabus-doc details.syl-qa:first-of-type{border-top:1px solid var(--syl-rule)}
body.syllabus-doc details.syl-qa summary{
  font-family:var(--syl-serif);
  font-weight:600;
  font-size:1.08rem;
  color:var(--syl-ink);
  padding:14px 30px 14px 0;
  cursor:pointer;
  list-style:none;
  position:relative;
}
body.syllabus-doc details.syl-qa summary::-webkit-details-marker{display:none}
body.syllabus-doc details.syl-qa summary::after{
  content:"";
  position:absolute;
  right:6px;
  top:50%;
  width:8px;
  height:8px;
  border-right:2px solid var(--syl-navy);
  border-bottom:2px solid var(--syl-navy);
  transform:translateY(-70%) rotate(45deg);
  transition:transform .18s ease;
}
body.syllabus-doc details.syl-qa[open] summary::after{
  transform:translateY(-30%) rotate(225deg);
}
body.syllabus-doc details.syl-qa p{
  margin:0 0 16px;
  padding-left:16px;
  border-left:2px solid var(--syl-rule);
}

/* ---- Register block (site layer inside the sheet, not printed) ---- */
body.syllabus-doc .syl-register{
  margin:52px 0 0;
  padding:26px 24px;
  background:var(--syl-paper-2);
  border:1px solid var(--syl-rule);
  text-align:center;
}
body.syllabus-doc .syl-register-lede{
  max-width:52ch;
  margin:0 auto 16px;
}
body.syllabus-doc .syl-register-btns{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px;
}
body.syllabus-doc .syl-register-micro{
  font-family:var(--syl-cond);
  font-weight:600;
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--syl-navy);
  margin:16px 0 0;
}

/* ---- Document footer (background/padding reset beats components.css footer) ---- */
body.syllabus-doc .syl-docfooter{
  background:transparent;
  margin-top:44px;
  border-top:2px solid var(--syl-rule-heavy);
  padding:12px 0 0;
}
body.syllabus-doc .syl-docfooter p{
  font-family:var(--syl-cond);
  font-weight:600;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--syl-navy);
  text-align:center;
  margin:0;
}

/* ---- Responsive ---- */
@media (max-width:720px){
  body.sam-r.syllabus-doc main{padding:76px 0 56px}
  body.syllabus-doc .syl-actionbar{max-width:none;padding:14px 18px;margin-bottom:0}
  body.syllabus-doc .syl-sheet{max-width:none;box-shadow:none;padding:34px 22px 38px}
  body.syllabus-doc .syl-seal{width:56px;height:56px}
  body.syllabus-doc .syl-table th{width:130px;white-space:normal}
  body.syllabus-doc .syl-units td:first-child,
  body.syllabus-doc .syl-units td:nth-child(2){white-space:normal}
  body.syllabus-doc .syl-sheet{font-size:1.03rem}
}
@media (max-width:480px){
  body.syllabus-doc .syl-table th,
  body.syllabus-doc .syl-table td{display:block;width:auto}
  body.syllabus-doc .syl-table th{border-bottom:0;padding-bottom:2px}
  body.syllabus-doc .syl-table td{padding-top:2px}
}

/* ---- Print: the page prints as the document ---- */
@media print{
  body.syllabus-doc .nav,
  body.syllabus-doc .nav-mobile,
  body.syllabus-doc .bp-footer,
  body.syllabus-doc .skip-link,
  body.syllabus-doc .syl-actionbar,
  body.syllabus-doc .syl-register{display:none !important}
  body.syllabus-doc,
  body.sam-r.syllabus-doc main{background:#fff !important;padding:0 !important}
  body.syllabus-doc .syl-sheet{
    max-width:none;
    box-shadow:none;
    padding:0;
    font-size:11pt;
    background:#fff;
  }
  body.syllabus-doc .syl-sheet h2.syl-h{break-after:avoid}
  body.syllabus-doc .syl-section,
  body.syllabus-doc .syl-sub,
  body.syllabus-doc .syl-table tr,
  body.syllabus-doc .syl-units tr,
  body.syllabus-doc details.syl-qa{break-inside:avoid}
  body.syllabus-doc .syl-sheet a{color:inherit;text-decoration:none}
  body.syllabus-doc .syl-seal{print-color-adjust:exact;-webkit-print-color-adjust:exact}
  body.syllabus-doc details.syl-qa summary::after{display:none}
}
@page{margin:16mm 18mm}
