/* Lean Canvas Field Guide — custom visual language */
:root {
  --lc-ink: #14283d;
  --lc-muted: #577084;
  --lc-navy: #11243c;
  --lc-blue: #2e64e9;
  --lc-teal: #0aaba3;
  --lc-amber: #f4af52;
  --lc-line: #dfebf2;
  --lc-pale: #f6fafc;
  --lc-radius: 18px;
}
body { letter-spacing: -0.008em; }
#quarto-content { background: var(--bs-body-bg); }
#quarto-content p, #quarto-content li { line-height: 1.75; }
#quarto-content h1, #quarto-content h2, #quarto-content h3 { letter-spacing: -0.035em; }
h1.title, h1 { font-weight: 800; }
h2 { font-weight: 760; margin-top: 1.9em; }
.sidebar, #quarto-sidebar { font-size: 0.94rem; }
.sidebar-title { font-weight: 800 !important; }
#quarto-sidebar .sidebar-item-text:hover { color: var(--lc-teal); }
#quarto-header .navbar { box-shadow: 0 10px 38px rgba(9,27,57,.15); }
.quarto-title-banner { background: transparent; }
.quarto-title .title { letter-spacing: -.045em; }
main.content { padding-bottom: 3rem; }
main.content a:not(.button-link):not(.chapter-tile):not(.hero-btn) { text-underline-offset: 3px; }

/* Covers and hero */
.lc-hero {
  position: relative; overflow: hidden; isolation: isolate;
  background: linear-gradient(130deg,#10243b 0%,#173d64 53%,#0b777d 100%);
  color: #fff; border-radius: 27px; padding: clamp(27px,5vw,58px); margin: 9px 0 26px;
  box-shadow: 0 22px 54px rgba(10,46,76,.2);
}
.lc-hero::before { content:""; position:absolute; inset:-70px -90px auto auto; width:310px; height:310px; border:1px solid rgba(255,255,255,.13); border-radius:50%; box-shadow:0 0 0 70px rgba(255,255,255,.035),0 0 0 140px rgba(255,255,255,.025); z-index:-1; }
.lc-hero .eyebrow { font-size:.75rem; text-transform:uppercase; letter-spacing:.19em; font-weight:800; color:#99e9e4; }
.lc-hero h2 { font-size:clamp(2.45rem,5vw,4.6rem); line-height:1.055; letter-spacing:-.067em; margin:18px 0 17px; color:#fff; font-weight:850; max-width:790px; }
.lc-hero .lead { max-width:720px; font-size:1.15rem; color:#d7eaf3; line-height:1.65; margin:0 0 25px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.hero-btn { display:inline-flex; align-items:center; gap:9px; padding:12px 19px; font-weight:750; border-radius:12px; text-decoration:none !important; transition:transform .2s,box-shadow .2s; }
.hero-btn.primary { background:#fff; color:#13334d !important; }
.hero-btn.secondary { border:1px solid rgba(255,255,255,.5); color:#fff !important; background:rgba(255,255,255,.08); }
.hero-btn:hover { transform:translateY(-2px); box-shadow:0 11px 20px rgba(0,0,0,.17); }
.hero-facts { display:flex; flex-wrap:wrap; gap:10px; margin-top:27px; font-size:.82rem; font-weight:750; color:#c2e6ec; }
.hero-facts span { padding:5px 9px; border:1px solid rgba(255,255,255,.22); border-radius:7px; }

/* Mini preview of the nine-box board */
.lc-mini-board { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); grid-template-rows:87px 87px 56px; gap:6px; padding:9px; margin:25px 0 12px; border-radius:16px; background:#e7f2f5; border:1px solid #d7e7eb; box-shadow:0 12px 30px rgba(18,61,98,.09); }
.lc-mini-board > div { padding:12px; border-radius:8px; background:#fff; color:#24445a; font-size:.75rem; font-weight:850; text-transform:uppercase; letter-spacing:.055em; box-shadow:0 1px 3px rgba(14,37,68,.07); }
.lc-mini-board .prob { grid-column:1; grid-row:1/3; border-top:4px solid #ef927c; }
.lc-mini-board .sol { grid-column:2; grid-row:1; border-top:4px solid #6c9be5; }
.lc-mini-board .metric { grid-column:2; grid-row:2; border-top:4px solid #a18fe9; }
.lc-mini-board .uvp { grid-column:3; grid-row:1/3; border-top:4px solid #edb15f; }
.lc-mini-board .edge { grid-column:4; grid-row:1; border-top:4px solid #a18fe9; }
.lc-mini-board .channel { grid-column:4; grid-row:2; border-top:4px solid #77c7ba; }
.lc-mini-board .customer { grid-column:5; grid-row:1/3; border-top:4px solid #6cc6b8; }
.lc-mini-board .cost { grid-column:1/3; grid-row:3; border-top:4px solid #ea9ba1; }
.lc-mini-board .revenue { grid-column:3/6; grid-row:3; border-top:4px solid #91ca93; }

/* Featured contents */
.lc-section-kicker { font-size:.76rem; text-transform:uppercase; letter-spacing:.17em; color:var(--lc-teal); font-weight:850; margin:22px 0 0; }
.lc-feature-grid, .chapter-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; margin:20px 0 30px; }
.lc-feature, .chapter-tile { border:1px solid var(--lc-line); border-radius:16px; padding:22px; background:var(--bs-body-bg); text-decoration:none !important; transition:transform .2s, box-shadow .2s, border-color .2s; }
.lc-feature:hover, .chapter-tile:hover { transform:translateY(-3px); border-color:#a8c8e7; box-shadow:0 12px 32px rgba(19,48,85,.10); }
.lc-feature .icon-pill { display:inline-grid; place-items:center; width:42px; height:42px; border-radius:13px; background:#dcf6f1; color:#057f79; font-size:1.3rem; margin-bottom:10px; }
.lc-feature h3, .chapter-tile strong { display:block; font-weight:800; font-size:1.08rem; line-height:1.25; margin:0 0 8px; color:var(--bs-body-color); }
.lc-feature p, .chapter-tile span { color:var(--lc-muted); font-size:.92rem; line-height:1.5; margin:0; }
.chapter-tile small { display:block; font-size:.75rem; letter-spacing:.09em; font-weight:800; text-transform:uppercase; color:var(--lc-teal); margin-bottom:8px; }

/* Chapters */
.chapter-intro { margin:15px 0 26px; padding:19px 22px; background:linear-gradient(115deg,#edf8fb,#f4f7ff); border-left:4px solid #20b0ab; border-radius:0 14px 14px 0; color:#274b61; line-height:1.65; font-size:1.07rem; }
.lesson-meta { display:flex; flex-wrap:wrap; gap:9px; align-items:center; margin:12px 0 25px; }
.lesson-meta span { display:inline-block; color:#28627d; background:#e7f3f8; border-radius:100px; padding:5px 12px; font-size:.77rem; font-weight:800; letter-spacing:.02em; }
.example-box, .practice-box, .misstep-box { padding:22px 25px; border-radius:15px; margin:25px 0; border:1px solid; }
.example-box { background:#eff9f8; border-color:#b7e5df; }
.practice-box { background:#f1f5fc; border-color:#d5e3fa; }
.misstep-box { background:#fff8e9; border-color:#f1dcb3; }
.example-box h3, .practice-box h3, .misstep-box h3 { margin-top:0; font-size:1.13rem; }
.example-box > :last-child, .practice-box > :last-child, .misstep-box > :last-child { margin-bottom:0; }
.prompt-list { margin:22px 0; }
.prompt-list li { margin:5px 0; }
.key-line { font-family:Georgia,serif; font-size:1.6rem; line-height:1.43; color:#16465a; margin:24px 0; padding-left:22px; border-left:4px solid #2fbab0; font-weight:600; }
.lc-call-to-action { background:#122b49; border-radius:18px; margin:28px 0; padding:24px 27px; color:#eaf2f9; }
.lc-call-to-action h3 { color:white; margin:0 0 10px; }
.lc-call-to-action p { margin:0 0 12px; }
.lc-call-to-action a { color:#6ce6d8 !important; font-weight:750; }
.table>:not(caption)>*>* { padding: .8rem; }

/* Dark support */
[data-bs-theme="dark"] .lc-feature, [data-bs-theme="dark"] .chapter-tile { background:#172838; }
[data-bs-theme="dark"] .lc-feature p, [data-bs-theme="dark"] .chapter-tile span { color:#bed0de; }
[data-bs-theme="dark"] .chapter-intro, [data-bs-theme="dark"] .example-box, [data-bs-theme="dark"] .practice-box, [data-bs-theme="dark"] .misstep-box { color:#1b3d51; }
[data-bs-theme="dark"] .lc-mini-board > div { color:#28445a; }
@media (max-width:850px) { .lc-feature-grid, .chapter-grid {grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:620px) { .lc-feature-grid, .chapter-grid {grid-template-columns:1fr;} .lc-mini-board {grid-template-rows:75px 75px 48px;} .lc-mini-board > div {font-size:.57rem; padding:7px 5px;} .lc-hero{border-radius:17px;} .lc-hero h2 {font-size:2.6rem;} }
@media print { .lc-hero { color:#fff !important; print-color-adjust:exact; -webkit-print-color-adjust:exact; } }

/* R Markdown bootstrap3 theme compatibility */
:root { --bs-body-bg:#fff; --bs-body-color:#183247; }
body { font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
.main-container p,.main-container li { line-height:1.7; }
.main-container h1,.main-container h2,.main-container h3 { letter-spacing:-.028em; }
.callout-note,.callout-tip,.callout-warning {border-radius:13px;padding:16px 19px;margin:22px 0;background:#eaf6fb;border-left:4px solid #48a7c4;}
.callout-tip { background:#eff9f4; border-left-color:#23a680; }
.callout-warning {background:#fff8ea;border-left-color:#e7ad48;}
