/* Strategy HQ, house style v2 (31 October 2026): the big fish® deck system on a web page.
   Palette, type and components follow the big fish® decks skill: warm white #F7F6F2, teal #2E8B84,
   light teal #5BB8B0, deep teal #0D2B28, near-black #0D0D0D, body grey #444, card line #E8E6E0,
   Libre Franklin throughout. The font is served by Kipper itself from /fonts/ (SIL Open Font
   Licence, see fonts/LICENSE-OFL.txt): published sites block outside fonts on purpose.
   Served at /strategy.css. The pre-restyle sheet stays at /styles.css for sites not yet republished. */
@font-face{font-family:"Libre Franklin";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/libre-franklin-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Libre Franklin";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/libre-franklin-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Libre Franklin";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/libre-franklin-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Libre Franklin";font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/libre-franklin-latin-800-normal.woff2) format("woff2")}

*,::before,::after{box-sizing:border-box;border:0 solid}
html{-webkit-text-size-adjust:100%;line-height:1.5;scroll-behavior:smooth}
h1,h2,h3,h4,p,blockquote,figure,ul,ol,dl,dd,hr{margin:0}ul,ol{list-style:none;padding:0}img,svg{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}a{text-decoration:inherit;color:inherit}strong,b{font-weight:700}

:root{--paper:#F7F6F2;--ink:#0D0D0D;--body:#444444;--muted:#555555;--faint:#6B6B6B;--line:#E8E6E0;--teal:#2E8B84;--teal-light:#5BB8B0;--teal-deep:#0D2B28;--teal-pale:#CFE7E4;--white:#FFFFFF;--side:272px;--pad:72px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Libre Franklin",Arial,Helvetica,sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
main{display:block}

/* ---- the logo lockup: "big fish" with a small ® ---- */
.logo{display:inline-flex;align-items:flex-start;gap:2px;white-space:nowrap;font-weight:400;letter-spacing:-.01em}
.logo sup{font-size:.5em;line-height:1;font-weight:400;vertical-align:top;position:relative;top:.15em}

/* ---- sidebar ---- */
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--side);background:var(--teal-deep);color:var(--white);padding:36px 28px 28px;display:flex;flex-direction:column;z-index:20;overflow-y:auto}
.sidebar .wordmark{display:flex;flex-direction:column;gap:6px;text-decoration:none}
.sidebar .wordmark .logo{font-size:26px;color:var(--white)}
.sidebar .wordmark small{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-pale);opacity:.85}
.sidebar nav{margin-top:36px;display:flex;flex-direction:column}
.sidebar .nav-part{margin:18px 0 6px;font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--teal-light)}
.sidebar .nav-part:first-child{margin-top:0}
.sidebar nav a{display:grid;grid-template-columns:30px 1fr;align-items:baseline;padding:7px 10px 7px 12px;margin-left:-12px;font-size:13px;color:var(--teal-pale);border-left:3px solid transparent;transition:color .15s,border-color .15s,background .15s}
.sidebar nav a span{font-size:11px;font-weight:700;color:var(--teal-light);letter-spacing:.04em}
.sidebar nav a:hover{color:var(--white)}
.sidebar nav a.active{color:var(--white);border-left-color:var(--teal-light);background:rgba(91,184,176,.10)}
.sidebar-note{margin-top:auto;padding-top:28px;font-size:12px;line-height:1.5;color:var(--teal-pale);opacity:.8}
.sidebar-note strong{color:var(--white);font-weight:700}

/* ---- mobile bar ---- */
.mobile-bar{display:none;position:fixed;inset:0 0 auto 0;z-index:30;background:var(--teal-deep);color:var(--white);padding:12px 16px;gap:12px;align-items:center;justify-content:space-between}
.mobile-bar .wordmark{display:flex;align-items:baseline;gap:10px;text-decoration:none}
.mobile-bar .wordmark .logo{font-size:20px;color:var(--white)}
.mobile-bar .wordmark small{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-pale)}
.mobile-bar select{max-width:48%;background:var(--white);color:var(--ink);border:0;padding:8px 10px;font-size:14px}

/* ---- content column ---- */
.content{margin-left:var(--side);padding:0 var(--pad) 0;max-width:calc(var(--side) + 1240px)}
.section{position:relative;padding:72px 0 80px;border-top:1px solid var(--line)}
.section:first-child{border-top:0}
.ghost-number{position:absolute;right:0;top:40px;font-size:160px;line-height:1;font-weight:800;letter-spacing:-.04em;color:rgba(46,139,132,.08);pointer-events:none;user-select:none}
.eyebrow{font-size:14px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--teal);margin-bottom:18px}
.hero h1{font-size:56px;line-height:1.05;font-weight:800;letter-spacing:-.02em;color:var(--ink);max-width:22ch}
.hero h1 em{font-style:normal;color:var(--teal)}
.dek,.section-dek{margin-top:20px;font-size:21px;line-height:1.5;color:var(--muted);max-width:60ch}
.section-head h2{font-size:40px;line-height:1.1;font-weight:800;letter-spacing:-.015em;color:var(--ink);max-width:26ch}
.hero,.section-head{position:relative;margin-bottom:36px}

/* ---- cards ---- */
.card-label{font-size:13px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);margin-bottom:12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.three-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px}
.three-cards article,.thesis-grid article{background:var(--white);box-shadow:0 0 0 1px var(--line);border-top:4px solid var(--teal-light);padding:28px 28px 30px;display:flex;flex-direction:column;min-width:0}
.three-cards article p,.thesis-grid article p{font-size:16px;line-height:1.55;color:var(--body)}
.three-cards article p+p,.thesis-grid article p+p{margin-top:12px}
.three-cards article h3,.thesis-grid article h3{font-size:24px;line-height:1.2;font-weight:800;color:var(--ink);margin-bottom:12px}
.thesis-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:20px;margin-top:8px}
.thesis-grid article:nth-child(2){background:var(--teal);border-top-color:var(--teal-deep);color:var(--white)}
.thesis-grid article:nth-child(2) .card-label{color:var(--teal-deep)}
.big-quote{font-size:24px;line-height:1.3;font-weight:700;color:var(--white)}
.thesis-main h3{font-size:28px}
.callout{background:var(--white);box-shadow:0 0 0 1px var(--line);border-left:8px solid var(--teal-light);padding:24px 32px;margin-top:20px}
.callout strong{display:block;font-size:20px;line-height:1.4;font-weight:700;color:var(--ink)}
.callout .card-label{margin-bottom:8px}
.test-list li{font-size:16px;line-height:1.5;color:var(--body);padding:10px 0;border-bottom:1px solid var(--line)}
.test-list li:last-child{border-bottom:0;padding-bottom:0}
.status.open{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:none;color:var(--faint);border:1px solid var(--line);padding:2px 8px;background:var(--paper)}
.thesis-grid article:nth-child(2) .status.open{color:var(--white);border-color:rgba(255,255,255,.4);background:transparent}

/* ---- roadmap ---- */
.roadmap{display:flex;flex-direction:column;gap:14px;margin-top:20px}
.roadmap article{display:grid;grid-template-columns:minmax(200px,.9fr) 1.3fr 1fr 1.1fr;gap:24px;align-items:start;background:var(--white);box-shadow:0 0 0 1px var(--line);border-top:4px solid var(--teal-light);padding:24px 28px}
.roadmap article>div span{display:block;font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);margin-bottom:6px}
.roadmap article>div strong{font-size:20px;line-height:1.2;font-weight:800;color:var(--ink)}
.roadmap article p{font-size:15px;line-height:1.5;color:var(--body)}
.roadmap article p b{display:block;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-bottom:4px}

/* ---- the big fish® view ---- */
.closing{margin-top:24px;background:var(--teal-deep);color:var(--white);padding:36px 40px;display:flex;flex-direction:column;gap:14px}
.closing .card-label{color:var(--teal-light);margin-bottom:0}
.closing strong{font-size:22px;line-height:1.4;font-weight:700;color:var(--white)}
.closing a{align-self:flex-start;font-size:14px;font-weight:700;color:var(--teal-light);border-bottom:1px solid currentColor}

/* ---- Clarity · Focus · Effort ---- */
.part-divider{position:relative;margin:0 calc(-1 * var(--pad));padding:72px var(--pad) 76px;background:var(--teal);color:var(--white);display:flex;flex-direction:column;gap:18px}
.part-divider .part-label{font-size:14px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--teal-deep)}
.part-divider h2{font-size:96px;line-height:1;font-weight:800;letter-spacing:-.03em;color:var(--white)}
.part-divider .part-line{font-size:28px;line-height:1.3;font-weight:700;color:var(--teal-deep);max-width:30ch}
.part-divider .part-sections{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:10px}
.part-divider .part-sections a{font-size:14px;font-weight:700;color:var(--white);opacity:.9;border-bottom:1px solid rgba(255,255,255,.5)}
.part-divider .part-sections a span{color:var(--teal-deep);margin-right:6px}
.part-divider+.section{border-top:0}
.cfe-closing{margin:0 calc(-1 * var(--pad));padding:88px var(--pad) 80px;background:var(--teal-deep);color:var(--white);display:flex;flex-direction:column;gap:6px}
.cfe-closing h2{font-size:84px;line-height:1.02;font-weight:800;letter-spacing:-.03em;color:var(--white)}
.cfe-closing h2.lt{color:var(--teal-light)}.cfe-closing h2.t{color:var(--teal)}
.cfe-closing p{margin-top:28px;font-size:22px;line-height:1.4;font-weight:700;color:var(--white);max-width:40ch}
.cfe-closing .logo{margin-top:44px;font-size:28px;color:var(--white)}
.cfe-closing small{font-size:13px;color:var(--teal-pale);opacity:.8}

/* ---- small screens ---- */
@media (max-width:1100px){.three-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.roadmap article{grid-template-columns:1fr 1fr}}
@media (max-width:980px){
  :root{--pad:20px}
  .sidebar{display:none}.mobile-bar{display:flex}
  .content{margin-left:0;padding:84px var(--pad) 0;max-width:none}
  .section{padding:52px 0 56px}
  .hero h1{font-size:36px}.section-head h2{font-size:28px}.dek,.section-dek{font-size:18px}
  .ghost-number{font-size:96px;top:28px}
  .three-cards,.thesis-grid,.roadmap article{grid-template-columns:1fr}
  .part-divider{padding:52px var(--pad)}.part-divider h2{font-size:60px}.part-divider .part-line{font-size:22px}
  .cfe-closing{padding:64px var(--pad)}.cfe-closing h2{font-size:52px}
}

/* ---- sidebar tools: Present, Download as PDF (added by nav.js) ---- */
.sidebar-tools{margin-top:28px;display:flex;flex-direction:column;gap:8px}
.sidebar-tools button{appearance:none;background:transparent;color:var(--white);border:1px solid rgba(207,231,228,.45);padding:9px 12px;font-size:13px;font-weight:700;text-align:left;cursor:pointer;transition:background .15s,border-color .15s}
.sidebar-tools button:hover{background:rgba(91,184,176,.16);border-color:var(--teal-light)}
.sidebar-tools .tool-present{background:var(--teal);border-color:var(--teal)}
.sidebar-tools .tool-present:hover{background:var(--teal-light);border-color:var(--teal-light);color:var(--teal-deep)}
.mobile-present{appearance:none;background:var(--teal);color:var(--white);border:0;padding:8px 12px;font-size:13px;font-weight:700;cursor:pointer}

/* ---- present mode: one section at a time, full screen ---- */
body.presenting{overflow:hidden;background:var(--paper)}
body.presenting .sidebar,body.presenting .mobile-bar{display:none}
body.presenting .content{margin:0;padding:0;max-width:none}
body.presenting .content>section{display:none}
body.presenting .content>section.slide-active{display:flex;flex-direction:column;justify-content:center;position:fixed;inset:0;margin:0;padding:6vh 7vw;overflow:auto;border-top:0;cursor:pointer}
body.presenting .content>section.slide-active.part-divider,body.presenting .content>section.slide-active.cfe-closing{padding:6vh 7vw}
body.presenting .content>section.slide-active .ghost-number{top:4vh;right:5vw}
body.presenting .hero h1{font-size:64px;max-width:20ch}
body.presenting .section-head h2{font-size:48px}
body.presenting .part-divider h2{font-size:120px}
body.presenting .cfe-closing h2{font-size:100px}
.present-bar{display:none;position:fixed;right:20px;bottom:18px;z-index:40;align-items:center;gap:6px;background:var(--teal-deep);color:var(--white);padding:6px 8px;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
body.presenting .present-bar{display:flex}
.present-bar button{appearance:none;background:transparent;color:var(--white);border:1px solid rgba(207,231,228,.4);min-width:34px;height:32px;padding:0 10px;font-size:16px;font-weight:700;cursor:pointer}
.present-bar button:hover{background:rgba(91,184,176,.2)}
.present-bar .present-count{font-size:13px;font-weight:700;padding:0 8px;letter-spacing:.04em}

/* ---- print: one section per page, colours kept ---- */
@media print{
  @page{size:A4;margin:14mm 14mm 16mm}
  html{scroll-behavior:auto}
  body{background:#fff;color:var(--ink);font-size:11pt;line-height:1.45}
  .sidebar,.mobile-bar,.present-bar,.sidebar-tools{display:none!important}
  .content{margin:0;padding:0;max-width:none}
  .content>section{break-after:page;page-break-after:always;border-top:0;padding:0 0 8mm;display:block;position:static;zoom:1!important}
  .content>section:last-child{break-after:auto;page-break-after:auto}
  .ghost-number{display:none}
  .hero h1{font-size:28pt;max-width:none}.section-head h2{font-size:21pt;max-width:none}.dek,.section-dek{font-size:12.5pt;max-width:none;margin-top:8pt}
  .hero,.section-head{margin-bottom:10mm}
  .eyebrow{font-size:9pt;margin-bottom:6pt}
  .card-label{font-size:8.5pt;margin-bottom:6pt}
  .three-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:5mm;margin-top:5mm}
  .thesis-grid{grid-template-columns:1.4fr 1fr;gap:5mm}
  .three-cards article,.thesis-grid article,.callout,.roadmap article,.closing{break-inside:avoid;page-break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;box-shadow:none;border:1px solid var(--line)}
  .three-cards article,.thesis-grid article{border-top:3px solid var(--teal-light);padding:5mm}
  .three-cards article p,.thesis-grid article p{font-size:10pt}
  .three-cards article h3,.thesis-grid article h3{font-size:14pt}.thesis-main h3{font-size:16pt}
  .big-quote{font-size:13pt}
  .callout{border-left:5px solid var(--teal-light);padding:4mm 6mm;margin-top:5mm}.callout strong{font-size:12pt}
  .test-list li{font-size:10pt;padding:5pt 0}
  .roadmap{gap:3mm;margin-top:5mm}.roadmap article{grid-template-columns:1fr 1.3fr 1fr 1.1fr;gap:5mm;padding:4mm 5mm;border-top:3px solid var(--teal-light)}
  .roadmap article>div strong{font-size:12pt}.roadmap article p{font-size:9.5pt}
  .closing{padding:6mm 8mm}.closing strong{font-size:13pt}.closing a{display:none}
  .content>section.part-divider,.content>section.cfe-closing{display:flex;flex-direction:column;justify-content:center;margin:0;padding:30mm 16mm;min-height:255mm;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .part-divider h2{font-size:64pt}.part-divider .part-line{font-size:18pt}.part-divider .part-sections a{font-size:10pt;border-bottom-color:rgba(255,255,255,.6)}
  .cfe-closing h2{font-size:54pt}.cfe-closing p{font-size:15pt}.cfe-closing .logo{font-size:20pt}
  a{color:inherit;text-decoration:none}
}
