/* Azure Kingfisher — course outline pages
   Self-contained and scoped to body.ak-outline so it cannot collide with styles.css.
   Palette and type follow the Azure Kingfisher design tokens. */

body.ak-outline{
  --teal-900:#0A3540; --teal-800:#0E5362; --teal-700:#0F7285; --teal-300:#A8E3E4;
  --rust:#D4622A; --amber-100:#FBF5E4; --moss:#5E7230;
  --paper:#FBF8F1; --paper-deep:#F4EFE3;
  --ink:#0A1A20; --ink-soft:#2A3942; --slate:#4A5A63; --line:#D9DCD8;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--sans); font-size:17px; line-height:1.65; font-weight:400;
  -webkit-font-smoothing:antialiased; -webkit-text-size-adjust:100%;
}
body.ak-outline *{box-sizing:border-box}
body.ak-outline h1,body.ak-outline h2,body.ak-outline h3{
  font-family:var(--serif);font-weight:400;margin:0;line-height:1.18;letter-spacing:-.01em
}
body.ak-outline p{margin:0 0 1.1em}
body.ak-outline a{color:var(--teal-700)}

.o-wrap{max-width:880px;margin:0 auto;padding:0 28px}
.o-eyebrow{font-family:var(--sans);font-size:12px;font-weight:500;text-transform:uppercase;
  letter-spacing:.15em;color:var(--slate);margin:0 0 18px}

/* ---- site nav ---- */
.o-nav{background:var(--teal-900);border-bottom:1px solid rgba(255,255,255,.14)}
.o-nav .o-wrap{display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:12px;padding-top:18px;padding-bottom:18px}
body.ak-outline a.o-brand{font-family:var(--serif);font-size:20px;color:var(--paper);
  text-decoration:none;white-space:nowrap}
.o-navlinks{display:flex;flex-wrap:wrap;gap:22px;align-items:center}
body.ak-outline .o-navlinks a{font-size:14.5px;color:var(--teal-300);text-decoration:none}
body.ak-outline .o-navlinks a:hover{color:var(--paper)}
body.ak-outline .o-navlinks a.o-here{color:var(--paper);
  border-bottom:1px solid var(--rust);padding-bottom:2px}

/* ---- masthead ---- */
.o-mast{background:var(--teal-900);color:var(--paper);padding:70px 0 64px}
.o-mast .o-eyebrow{color:var(--teal-300)}
.o-mast h1{font-size:clamp(34px,5.4vw,58px);color:var(--paper);max-width:18ch}
.o-lede{font-family:var(--serif);font-style:italic;font-size:clamp(18px,2.3vw,24px);
  line-height:1.5;color:var(--teal-300);margin:24px 0 0;max-width:54ch}
.o-facts{display:flex;flex-wrap:wrap;margin:42px 0 0;padding-top:22px;
  border-top:1px solid rgba(255,255,255,.18)}
.o-facts div{flex:1 1 145px;padding-right:20px;margin-bottom:10px}
.o-facts dt{font-family:var(--sans);font-size:11px;text-transform:uppercase;
  letter-spacing:.15em;color:rgba(168,227,228,.75);margin:0 0 5px}
.o-facts dd{margin:0;font-family:var(--mono);font-size:13.5px;color:var(--paper)}

/* ---- sections ---- */
.o-sec{padding:62px 0;border-bottom:1px solid var(--line)}
.o-sec h2{font-size:clamp(27px,3.8vw,38px);margin-bottom:20px;max-width:26ch}
.o-sec .o-intro{font-size:18px;color:var(--ink-soft);max-width:65ch}
.o-alt{background:var(--paper-deep)}

.o-chain{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 4px;padding:0;list-style:none}
.o-chain li{font-family:var(--mono);font-size:12.5px;color:var(--teal-800);
  background:var(--amber-100);border:1px solid var(--line);border-radius:4px;padding:7px 12px}

.o-pull{border-left:2px solid var(--teal-700);padding:4px 0 4px 22px;margin:32px 0 0;
  font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.52;
  color:var(--ink-soft);max-width:58ch}

/* ---- day / phase blocks ---- */
.o-day{margin:0 0 44px}
.o-day:last-child{margin-bottom:0}
.o-dayhead{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
  border-top:2px solid var(--rust);padding-top:14px;margin-bottom:6px}
.o-daynum{font-family:var(--mono);font-size:12px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--rust)}
.o-daytitle{font-family:var(--serif);font-size:clamp(21px,2.9vw,29px);color:var(--ink)}
.o-daynote{font-size:15.5px;color:var(--slate);margin:0 0 18px;max-width:64ch}
.o-blocks{list-style:none;margin:0;padding:0;counter-reset:blk}
.o-blocks li{padding:16px 0 16px 46px;border-bottom:1px solid var(--line);position:relative}
.o-blocks li:last-child{border-bottom:none}
.o-blocks li::before{counter-increment:blk;content:counter(blk,decimal-leading-zero);
  position:absolute;left:0;top:19px;font-family:var(--mono);font-size:12px;color:var(--teal-700)}
.o-blocks b{font-family:var(--serif);font-weight:400;font-size:19px;display:block;margin-bottom:3px}
.o-blocks span.o-desc{font-size:15.5px;color:var(--ink-soft);display:block}
.o-tag{display:inline-block;font-family:var(--sans);font-size:10.5px;font-weight:500;
  text-transform:uppercase;letter-spacing:.13em;color:var(--moss);
  border:1px solid var(--line);border-radius:3px;padding:2px 7px;margin-left:8px;vertical-align:2px}
.o-tag.o-ex{color:var(--rust)}

/* ---- voices ---- */
.o-voices{list-style:none;margin:26px 0 0;padding:0}
.o-voices li{padding:20px 0;border-bottom:1px solid var(--line)}
.o-voices li:last-child{border-bottom:none}
.o-voices .o-role{font-family:var(--serif);font-size:19px;display:block;margin-bottom:2px}
.o-voices .o-org{font-family:var(--mono);font-size:12.5px;color:var(--teal-700);
  display:block;margin-bottom:7px}
.o-voices .o-what{font-size:15.5px;color:var(--ink-soft);display:block;max-width:65ch}

/* ---- assessment ---- */
.o-assess{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap}
.o-assess li{flex:1 1 210px;padding:22px 24px 22px 0;border-top:1px solid var(--line)}
.o-assess .o-pct{font-family:var(--mono);font-size:30px;color:var(--teal-700);display:block;margin-bottom:6px}
.o-assess .o-nm{font-family:var(--serif);font-size:18px;display:block;margin-bottom:5px}
.o-assess .o-ds{font-size:14.5px;color:var(--slate);display:block}

.o-plain{list-style:none;margin:20px 0 0;padding:0}
.o-plain li{padding:9px 0 9px 20px;position:relative;font-size:16px;color:var(--ink-soft);max-width:68ch}
.o-plain li::before{content:"";position:absolute;left:0;top:19px;width:8px;height:1px;background:var(--rust)}

/* ---- briefing CTA ---- */
.o-brief{background:var(--teal-900);color:var(--paper);padding:56px 0}
.o-brief h2{font-size:clamp(24px,3.2vw,32px);color:var(--paper);margin-bottom:10px}
.o-brief p{color:var(--teal-300);font-family:var(--serif);font-style:italic;
  font-size:19px;max-width:48ch;margin-bottom:26px}
/* rust-600 fill with ink text — 4.72:1, clears WCAG AA at this size while keeping
   the brand rust exactly. Hover inverts to the dark surface. */
body.ak-outline a.o-btn{display:inline-block;background:var(--rust);color:var(--ink);
  text-decoration:none;font-family:var(--sans);font-size:15px;font-weight:600;
  letter-spacing:.02em;padding:13px 30px;border-radius:4px}
body.ak-outline a.o-btn:hover{background:var(--ink);color:var(--paper)}
.o-brief .o-fine{font-family:var(--mono);font-size:11.5px;color:rgba(168,227,228,.65);
  font-style:normal;margin:18px 0 0}

/* ---- footer ---- */
.o-foot{background:#072831;color:var(--teal-300);padding:44px 0 40px;font-size:14px}
.o-footlinks{display:flex;flex-wrap:wrap;gap:10px 24px;margin:0 0 22px;padding:0;list-style:none}
body.ak-outline .o-footlinks a{color:var(--teal-300);text-decoration:none}
body.ak-outline .o-footlinks a:hover{color:var(--paper)}
.o-foot .o-note{max-width:72ch;color:rgba(168,227,228,.8)}
.o-foot .o-mono{font-family:var(--mono);font-size:11.5px;color:rgba(168,227,228,.55);margin:14px 0 0}

@media print{
  .o-nav,.o-brief{display:none}
  .o-mast,.o-foot{background:#fff;color:var(--ink)}
  .o-mast h1,.o-lede,.o-foot,.o-foot .o-note{color:var(--ink)}
  .o-sec{page-break-inside:avoid}
}
