/* ETH Blue: https://ethz.ch/staffnet/en/service/communication/corporate-design/farbe.html
   Institution accents are scoped to course content; the shared navbar stays intact. */
.eth-offering { --eth-blue: #215caf; --eth-text: #17202b; --eth-muted: #596572; --eth-line: #dce3eb; --eth-surface: #f4f7fb; }
.eth-page { max-width: 1100px; margin-inline: auto; color: var(--eth-text); }
.eth-breadcrumb { display:flex; flex-wrap:wrap; gap:.55rem; margin:1rem 0 2rem; font-size:.78rem; color:var(--eth-muted); }
.eth-offering main a:not(.eth-button) { color:var(--eth-blue); }
.eth-breadcrumb a { text-decoration:none; }
.eth-hero { display:grid; grid-template-columns: 1.1fr 1fr; gap:3rem; align-items:center; padding-bottom:2rem; }
.eth-eyebrow { color:var(--eth-blue); font-size:.72rem; font-weight:750; letter-spacing:.15em; margin-bottom:1rem; }
.eth-hero h1 { font-size:clamp(2.7rem,5.5vw,4.5rem); line-height:1.02; letter-spacing:-.05em; font-weight:750; margin:0 0 1.25rem; color:var(--eth-text); }
.eth-subtitle { font-size:1.2rem; line-height:1.4; font-weight:550; max-width:30ch; }
.eth-lead { font-size:1rem; line-height:1.7; color:var(--eth-muted); max-width:49ch; }
.eth-actions { display:flex; flex-wrap:wrap; gap:.65rem; margin-block:1.5rem; }
.eth-button { display:inline-flex; align-items:center; justify-content:center; gap:.8rem; padding:.75rem 1rem; border-radius:4px; border:1px solid #215caf; background:#215caf; color:white !important; text-decoration:none !important; font-size:.86rem; font-weight:650; line-height:1.4; }
.eth-button:hover { background:#174789; border-color:#174789; }
.eth-button--outline { background:transparent; color:var(--eth-blue) !important; border-color:var(--eth-line); }
.eth-button--outline:hover { background:var(--eth-surface); border-color:var(--eth-blue); }
.eth-button:focus-visible, .eth-labs a:focus-visible { outline:3px solid var(--eth-blue); outline-offset:4px; }
.eth-course-status { font-size:.74rem; line-height:1.6; color:var(--eth-muted); max-width:60ch; }
.eth-course-status span { display:inline-block; color:var(--eth-blue); font-weight:700; margin-right:.35rem; }
.eth-station { border:1px solid var(--eth-line); border-top:4px solid #215caf; border-radius:5px; overflow:hidden; background:var(--eth-surface); }
.eth-station-heading { display:flex; justify-content:space-between; gap:1rem; padding:1rem 1.25rem; color:var(--eth-muted); font-size:.65rem; letter-spacing:.08em; }
.eth-station img { display:block; width:100%; height:300px; object-fit:contain; background:#fff; padding:1rem; }
.eth-station-caption { display:flex; flex-direction:column; gap:.35rem; padding:1.25rem; }
.eth-station-caption strong { font-size:.9rem; }
.eth-station-caption span { font-size:.75rem; color:var(--eth-muted); }
.eth-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding-block:1.25rem; border-block:1px solid var(--eth-line); gap:2rem; }
.eth-facts > div { display:flex; flex-direction:column; gap:.3rem; }
.eth-facts > div > span { font-size:.62rem; font-weight:700; letter-spacing:.12em; color:var(--eth-muted); }
.eth-facts strong { font-size:.95rem; font-weight:650; }
.eth-facts small { font-size:.74rem; color:var(--eth-muted); }
.eth-local-nav { display:flex; flex-wrap:wrap; gap:1.5rem; padding-block:1rem; margin-bottom:1.5rem; border-bottom:1px solid var(--eth-line); }
.eth-local-nav a { font-size:.8rem; text-decoration:none; }
.eth-offering main h2 { font-size:1.65rem; letter-spacing:-.025em; color:var(--eth-text); border:0; padding:0; margin:2.5rem 0 1rem; }
.eth-offering main h3 { color:var(--eth-text); border:0; padding:0; }
.eth-page > section > p, .eth-page > section > ul, .eth-page > section > ol { max-width:85ch; }
.eth-loop { border:1px solid var(--eth-line); border-radius:6px; padding:1rem 1.25rem; margin:1.5rem 0; background:var(--eth-surface); }
.eth-loop img { background:#fff; border-radius:3px; }
.eth-loop figcaption { color:var(--eth-muted) !important; font-size:.76rem; }
.eth-loop > p { font-size:.75rem; margin-bottom:0; }
.eth-phases { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; margin:1.5rem 0; }
.eth-phases section { padding-top:1rem; border-top:3px solid var(--eth-blue); }
.eth-phases section > span { font-size:.62rem; letter-spacing:.08em; font-weight:700; color:var(--eth-blue); }
.eth-phases h3 { font-size:1.08rem; margin:.6rem 0; }
.eth-phases p { color:var(--eth-muted); font-size:.87rem; line-height:1.65; }
.eth-labs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1.75rem; }
.eth-labs a { display:grid; grid-template-columns:3.4rem minmax(0,1fr) 1rem; gap:.7rem; align-items:baseline; padding:1.2rem 0; border-top:1px solid var(--eth-line); text-decoration:none !important; color:var(--eth-text) !important; }
.eth-labs a:hover h3 { color:var(--eth-blue); }
.eth-labs a > span { font-size:.62rem; font-weight:700; letter-spacing:.05em; color:var(--eth-blue); }
.eth-labs h3 { font-size:.95rem; font-weight:650; margin:0 0 .4rem; }
.eth-labs p { margin:0; font-size:.82rem; color:var(--eth-muted); line-height:1.6; }
.eth-labs b { color:var(--eth-blue); font-weight:400; }
.eth-capstone { display:flex; gap:1.5rem; justify-content:space-between; align-items:center; padding:1.5rem; margin-top:1.5rem; border:1px solid var(--eth-line); border-left:4px solid #215caf; border-radius:4px; background:var(--eth-surface); }
.eth-capstone p { color:var(--eth-blue); font-size:.65rem; letter-spacing:.08em; font-weight:700; margin:0 0 .5rem; }
.eth-capstone h3 { font-size:1.15rem; margin:0 0 .5rem; }
.eth-capstone span { font-size:.83rem; color:var(--eth-muted); }
.eth-capstone .eth-button { flex-shrink:0; }
.eth-capstone .eth-button span { color:white; }
.eth-closing { border-top:1px solid var(--eth-line); padding-top:1rem; margin-block:2rem; color:var(--eth-muted); font-size:.95rem; }
.eth-offering .sidebar nav[role=doc-toc] ul>li>a.active { color:var(--eth-blue) !important; border-left-color:var(--eth-blue); }
.quarto-dark.eth-offering { --eth-blue:#8dbbff; --eth-text:#edf2f7; --eth-muted:#aab8c9; --eth-line:#354253; --eth-surface:#192330; }
@media (max-width:800px) {
  .eth-hero { grid-template-columns:1fr; gap:1.2rem; }
  .eth-station img { height:250px; }
  .eth-facts { grid-template-columns:1fr; gap:1rem; }
  .eth-local-nav { gap:.65rem 1rem; }
  .eth-phases, .eth-labs { grid-template-columns:1fr; }
  .eth-capstone { align-items:flex-start; flex-direction:column; }
}
/* Override the textbook's crimson heading bars inside this offering only. */
.eth-offering #quarto-content main h2,
.eth-offering #quarto-content main h3 {
  border: 0 !important;
  padding: 0 !important;
  color: var(--eth-text);
}
.eth-offering #quarto-content .eth-labs h3 { margin: 0 0 .4rem !important; }
.eth-offering #quarto-content .eth-phases h3 { margin: .6rem 0 !important; }
.eth-offering #quarto-content .eth-capstone h3 { margin: 0 0 .5rem !important; }
.eth-offering .quarto-page-breadcrumbs { display: none !important; }
