*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--gold:#b8913a;--gold-light:#d4a84b;--gold-bg:#fdf6e8;--bg:#fafaf8;--surface:#fff;--border:#e8e4dc;--border-light:#f0ede7;--text:#1c1916;--text-muted:#6b6560;--text-dim:#a39e99;--success:#2d6a4f;--success-bg:#f0faf5;--warning:#92400e;--warning-bg:#fffbeb;--neutral:#4b5563;--neutral-bg:#f9fafb;--font-display:"Source Serif 4", Georgia, serif;--font-body:"DM Sans", system-ui, sans-serif;--sidebar-w:260px}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:100vh;font-size:14.5px;font-weight:400;line-height:1.65;display:flex}a{color:var(--gold);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:2px}.skip-link{background:var(--gold);color:#fff;z-index:200;padding:.5rem 1rem;font-size:.85rem;transition:top .2s;position:absolute;top:-100%;left:1rem}.skip-link:focus{top:1rem}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);z-index:50;flex-direction:column;min-height:100vh;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.sidebar-brand{border-bottom:1px solid var(--border-light);flex-direction:column;align-items:flex-start;padding:1.5rem 1.25rem 1.25rem;display:flex}.sidebar-logo{width:120px;height:auto;margin-bottom:.6rem;display:block}.sidebar-brand-sub{color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;display:block}.sidebar-section{flex:1;padding:1rem 0}.sidebar-label{letter-spacing:.15em;text-transform:uppercase;color:var(--text-dim);padding:0 1.25rem .5rem;font-size:.65rem;font-weight:500;display:block}.nav-item{cursor:pointer;text-align:left;width:100%;color:var(--text-muted);font-family:var(--font-body);background:0 0;border:none;border-left:2px solid #0000;align-items:center;gap:.75rem;padding:.55rem 1.25rem;font-size:.82rem;font-weight:400;line-height:1.35;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:var(--bg);color:var(--text)}.nav-item:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.nav-item.active{background:var(--gold-bg);color:var(--text);border-left-color:var(--gold);font-weight:500}.nav-num{color:var(--text-dim);font-variant-numeric:tabular-nums;flex-shrink:0;width:18px;font-size:.7rem}.nav-item.active .nav-num{color:var(--gold)}.nav-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-left:auto}.dot-done{background:var(--success)}.dot-progress{background:var(--gold-light)}.dot-pending{background:var(--border)}.sidebar-footer{border-top:1px solid var(--border-light);color:var(--text-dim);padding:1rem 1.25rem;font-size:.72rem}.menu-toggle{z-index:100;background:var(--surface);border:1px solid var(--border);cursor:pointer;color:var(--text);border-radius:4px;padding:.5rem;display:none;position:fixed;top:.75rem;left:.75rem}.menu-toggle:focus-visible{outline:2px solid var(--gold)}.main-wrap{margin-left:var(--sidebar-w);flex:1;min-height:100vh}.module{display:none}.module.active{display:block}.module-header{background:var(--surface);border-bottom:1px solid var(--border);padding:2.5rem 3rem 2rem}.module-tag{letter-spacing:.18em;text-transform:uppercase;color:var(--gold);align-items:center;gap:.6rem;margin-bottom:.6rem;font-size:.68rem;display:flex}.status-badge{letter-spacing:.1em;text-transform:uppercase;border-radius:2px;padding:.2rem .55rem;font-size:.62rem;font-weight:500}.badge-done{background:var(--success-bg);color:var(--success)}.badge-progress{background:var(--warning-bg);color:var(--warning)}.badge-pending{background:var(--neutral-bg);color:var(--neutral)}.module-title{font-family:var(--font-display);text-wrap:balance;font-size:clamp(2.2rem,3.5vw,3rem);font-weight:700;line-height:1.15}.module-desc{color:var(--text-muted);max-width:600px;margin-top:.75rem;font-size:.9rem;line-height:1.6}.module-body{max-width:900px;padding:2.5rem 3rem}.module-body h2{font-family:var(--font-display);border-bottom:1px solid var(--border-light);color:var(--text);margin:2.5rem 0 1rem;padding-bottom:.5rem;font-size:1.75rem;font-weight:700}.module-body h2:first-child{margin-top:0}.module-body h3{font-family:var(--font-display);color:var(--text);margin:2rem 0 .75rem;font-size:1.35rem;font-weight:700}.module-body h4{font-family:var(--font-display);color:var(--text);margin:1.5rem 0 .5rem;font-size:1.1rem;font-style:italic;font-weight:400}.module-body p{color:var(--text);margin-bottom:.9rem}.module-body strong{color:var(--text);font-weight:500}.module-body ul,.module-body ol{flex-direction:column;gap:.35rem;margin:.75rem 0 1rem 1.25rem;display:flex}.module-body li{color:var(--text)}.table-wrap{margin:1.25rem 0;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.875rem}th{background:var(--bg);letter-spacing:.05em;text-transform:uppercase;text-align:left;border-bottom:2px solid var(--border);color:var(--text-muted);padding:.6rem .9rem;font-size:.75rem;font-weight:500}td{border-bottom:1px solid var(--border-light);vertical-align:top;color:var(--text);padding:.65rem .9rem}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg)}blockquote{background:var(--warning-bg);border-left:3px solid var(--gold-light);color:var(--text-muted);border-radius:0 4px 4px 0;margin:1.25rem 0;padding:.9rem 1.1rem;font-size:.875rem}blockquote p{color:var(--text-muted);margin-bottom:0}.callout-info{background:#eff6ff;border-left-color:#3b82f6}.callout-success{background:var(--success-bg);border-left-color:var(--success)}.checklist{flex-direction:column;gap:.4rem;margin-left:0;list-style:none;display:flex}.checklist li{align-items:flex-start;gap:.6rem;font-size:.875rem;display:flex}.checklist li:before{content:"";border:1.5px solid var(--border);background:var(--surface);border-radius:2px;flex-shrink:0;width:14px;height:14px;margin-top:.2rem}hr{border:none;border-top:1px solid var(--border-light);margin:2rem 0}.card{background:var(--surface);border:1px solid var(--border);border-radius:4px;margin:1rem 0;padding:1.5rem}.card-title{font-family:var(--font-display);margin-bottom:.75rem;font-size:1.05rem;font-weight:500}.metrics-row{background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin:1.5rem 0;display:grid}.metric-cell{background:var(--surface);padding:1.25rem 1.5rem}.metric-value{font-family:var(--font-display);color:var(--gold);font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:500;line-height:1}.metric-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-top:.35rem;font-size:.72rem}.metric-sub{color:var(--text-dim);margin-top:.25rem;font-size:.78rem}.pillars-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin:1.25rem 0;display:grid}.pillar-card{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:1.25rem}.pillar-num{letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem;font-size:.68rem}.pillar-title{font-family:var(--font-display);margin-bottom:.25rem;font-size:1rem;font-weight:500}.pillar-quote{color:var(--text-muted);margin-bottom:.75rem;font-size:.8rem;font-style:italic}.pillar-freq{color:var(--gold);margin-top:.75rem;font-size:.72rem}.persona-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin:1.25rem 0;display:grid}.persona-card{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:1.5rem}.persona-segment{letter-spacing:.15em;text-transform:uppercase;color:var(--gold);font-size:.65rem}.persona-name{font-family:var(--font-display);margin:.25rem 0 .15rem;font-size:1.3rem;font-weight:500}.persona-tagline{color:var(--text-muted);margin-bottom:1rem;font-size:.82rem;font-style:italic}.persona-row{border-top:1px solid var(--border-light);justify-content:space-between;gap:.5rem;padding:.45rem 0;font-size:.8rem;display:flex}.persona-row-label{color:var(--text-muted);flex-shrink:0}.persona-row-value{color:var(--text);text-align:right}.swot-grid{background:var(--border);border:1px solid var(--border);grid-template-columns:1fr 1fr;gap:1px;margin:1.25rem 0;display:grid}.swot-cell{background:var(--surface);padding:1.25rem 1.5rem}.swot-label{letter-spacing:.15em;text-transform:uppercase;margin-bottom:.75rem;font-size:.7rem;font-weight:500}.swot-f .swot-label{color:var(--success)}.swot-fr .swot-label{color:#dc2626}.swot-o .swot-label{color:#2563eb}.swot-a .swot-label{color:var(--warning)}.swot-cell ul{margin-left:1rem}.swot-cell li{font-size:.82rem}.journey-flow{background:var(--bg);border:1px solid var(--border);font-family:var(--font-body);color:var(--text-muted);white-space:pre-line;border-radius:4px;margin:1rem 0;padding:1.25rem 1.5rem;font-size:.82rem;line-height:2}.meeting-card{background:var(--surface);border:1px solid var(--border);border-radius:4px;margin-bottom:1rem;padding:1.5rem}.meeting-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.meeting-title{font-family:var(--font-display);font-size:1.05rem;font-weight:500}.meeting-date{color:var(--text-dim);white-space:nowrap;font-size:.75rem}.presence-check{color:var(--success)}.presence-dash{color:var(--text-dim)}.priority-block{border:1px solid var(--border);border-radius:4px;margin:1.5rem 0;overflow:hidden}.priority-header{background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.9rem 1.25rem;display:flex}.priority-num{letter-spacing:.15em;text-transform:uppercase;color:var(--gold);font-size:.65rem;font-weight:500}.priority-title{font-family:var(--font-display);font-size:1rem;font-weight:500}.priority-body{padding:1.25rem}@media (max-width:768px){.sidebar{transition:transform .25s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-wrap{margin-left:0}.module-header{padding:3.5rem 1.5rem 1.5rem}.module-body{padding:1.5rem}.menu-toggle{display:block}.swot-grid,.persona-grid{grid-template-columns:1fr}}@media (max-width:480px){.metrics-row{grid-template-columns:1fr 1fr}.pillars-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:no-preference){.module{animation:none}.module.active{animation:.2s fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}}
