:root{--paper: #EFE8DA;--paper-warm: #E7DECB;--paper-deep: #DFD4BC;--ink: #0B0B0E;--ink-soft: #3A3530;--muted: #6B6560;--faint: #9C948A;--line: rgba(11, 11, 14, .12);--line-soft: rgba(11, 11, 14, .06);--accent: #A8C30C;--accent-deep: #869C0A;--ok: #556B2F;--warn: #C48410}.page-wrap{background-color:var(--paper);min-height:100vh;width:100%;position:relative;background-image:radial-gradient(circle at 20% 10%,rgba(168,195,12,.04) 0%,transparent 40%),radial-gradient(circle at 80% 80%,rgba(168,195,12,.03) 0%,transparent 40%);font-family:Instrument Sans,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}.page-wrap *{box-sizing:border-box}.page-wrap:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;opacity:.4;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.1 0 0 0 0 0.09 0 0 0 0 0.08 0 0 0 0.35 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:multiply}.page-wrap .italic{font-family:Fraunces,Georgia,serif;font-style:italic;font-weight:400}.page-wrap .mono{font-family:JetBrains Mono,monospace}.page-wrap .brand{display:inline-flex;align-items:baseline;gap:7px;text-decoration:none;color:var(--ink)}.page-wrap .brand-k{position:relative;font-family:Fraunces,serif;font-weight:400;font-variation-settings:"opsz" 144;font-size:26px;line-height:.95;color:var(--ink);letter-spacing:-.02em;padding-right:6px;display:inline-block}.page-wrap .brand-dot{position:absolute;top:0;right:0;width:6px;height:6px;border-radius:50%;background:var(--accent)}.page-wrap .brand-word{font-family:Fraunces,serif;font-weight:400;font-variation-settings:"opsz" 144;font-size:22px;line-height:1;letter-spacing:-.045em;color:var(--ink)}.page-wrap .brand-period{color:var(--accent);font-weight:500}.page-wrap .mk-header{position:fixed;top:0;left:0;right:0;z-index:50;padding:16px 36px;display:flex;justify-content:space-between;align-items:center;background:#efe8dad9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.page-wrap .mk-nav{display:flex;gap:32px;align-items:center}.page-wrap .mk-nav-links{display:flex;gap:28px}.page-wrap .mk-nav a{color:var(--ink-soft);text-decoration:none;font-size:14px;font-weight:500;transition:color .2s ease}.page-wrap .mk-nav a:hover{color:var(--accent-deep)}.page-wrap .mk-nav a.active{color:var(--ink)}.page-wrap .btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:6px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s ease;border:1px solid transparent;cursor:pointer;font-family:inherit}.page-wrap .btn-ghost{color:var(--ink);border-color:var(--line);background:transparent}.page-wrap .btn-ghost:hover{background:var(--paper-warm);border-color:var(--ink)}.page-wrap .btn-primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.page-wrap .btn-primary:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.page-wrap .btn-accent{background:var(--accent);color:var(--ink);border-color:var(--accent);font-weight:600}.page-wrap .btn-accent:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:var(--paper)}.page-wrap .hero-eyebrow{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.14em;margin-bottom:24px;display:flex;align-items:center;gap:12px}.page-wrap .hero-eyebrow:before{content:"";width:24px;height:1px;background:var(--accent)}.page-wrap .hero-eyebrow .issue{color:var(--faint);margin-left:auto;padding-left:16px;border-left:1px solid var(--line)}.page-wrap .section-label{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.14em;margin-bottom:16px;display:flex;align-items:center;gap:12px}.page-wrap .section-label:before{content:"";width:24px;height:1px;background:var(--accent)}.page-wrap .mk-footer{border-top:1px solid var(--line);padding:40px 36px 32px;max-width:1320px;margin:0 auto;position:relative;z-index:2}.page-wrap .mk-footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding-bottom:32px;border-bottom:1px solid var(--line);margin-bottom:20px}.page-wrap .mk-footer-col h4{font-family:JetBrains Mono,monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:16px;font-weight:500}.page-wrap .mk-footer-col ul{list-style:none;padding:0;margin:0}.page-wrap .mk-footer-col li{margin-bottom:8px}.page-wrap .mk-footer-col a{color:var(--ink-soft);text-decoration:none;font-size:14px;transition:color .2s}.page-wrap .mk-footer-col a:hover{color:var(--accent-deep)}.page-wrap .mk-footer-brand-col p{color:var(--muted);font-size:14px;line-height:1.55;margin-top:16px;max-width:320px}.page-wrap .mk-footer-bottom{display:flex;justify-content:space-between;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;flex-wrap:wrap;gap:16px}@keyframes riseIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 900px){.page-wrap .mk-header{padding:14px 20px}.page-wrap .mk-nav-links{display:none}.page-wrap .mk-nav{gap:6px}.page-wrap .btn{padding:8px 14px;font-size:13px}.page-wrap .mk-footer-inner{grid-template-columns:1fr 1fr;gap:28px}.page-wrap .mk-footer{padding:28px 20px}.page-wrap .mk-footer-bottom{flex-direction:column;text-align:center}}export function fmt(value,type = "number"){const n = Number(value);if (isNaN(n)) return value ?? "—";if (!isFinite(n)) return "∞";switch (type){case "currency": return "£" + n.toLocaleString("en-GB",{minimumFractionDigits: 0,maximumFractionDigits: 0});case "percent": return n.toFixed(1) + "%";case "number": return n.toLocaleString("en-GB",{maximumFractionDigits: 1});default:return String(value ?? "—")}}export function coverColor(weeks){if (!isFinite(weeks) || weeks === null) return "#94A3B8";if (weeks < 4) return "#B91C1C";if (weeks < 8) return "#C2410C";if (weeks < 10) return "#0F766E";return "#15803D"}export function coverClass(weeks){if (!isFinite(weeks) || weeks === null) return "cv-0";if (weeks < 4) return "cv-r";if (weeks < 8) return "cv-a";if (weeks < 10) return "cv-t";return "cv-g"}export function shortNum(n){const v = Number(n);if (isNaN(v)) return "—";if (v >= 1_000_000) return "£" + (v / 1_000_000).toFixed(1) + "m";if (v >= 1_000) return (v / 1_000).toFixed(1) + "k";return v.toLocaleString("en-GB")}
