:root { --ink:#132f2c; --muted:rgba(19,47,44,.68); --navy:#102d2a; --blue:#287d89; --teal:#15988c; --leaf:#5f934f; --gold:#f2b84b; --coral:#e65a45; --paper:#fff4df; --cream:#fbfdf9; --sky:#e7f4f2; }
body { background:linear-gradient(180deg,#fbfdf9 0%,#e7f4f2 47%,#fff4df 100%); }
.guide-header { background:rgba(251,253,249,.88); }
.hero { grid-template-columns:minmax(0,1fr) minmax(350px,.58fr); }
.hero h1 { color:var(--coral); font-size:clamp(4rem,11vw,9rem); line-height:.82; }
.button.primary { background:var(--coral); border-color:var(--coral); }.button.secondary { background:var(--gold); }

.flywheel-panel { display:grid; gap:28px; border-radius:8px; padding:clamp(22px,4vw,36px); background:var(--navy); color:white; box-shadow:var(--shadow); }
.flywheel { position:relative; width:min(100%,390px); aspect-ratio:1; margin:auto; border:2px dashed rgba(255,255,255,.2); border-radius:50%; }
.flywheel::before { position:absolute; inset:13%; border:1px solid rgba(255,255,255,.13); border-radius:50%; content:""; }
.wheel-center { position:absolute; inset:34%; display:grid; place-content:center; border-radius:50%; background:var(--gold); color:var(--navy); text-align:center; }.wheel-center b { font-size:.72rem; letter-spacing:.08em; }.wheel-center small { margin-top:3px; font-size:.61rem; }
.wheel-node { position:absolute; display:grid; min-width:72px; min-height:38px; place-items:center; border:1px solid rgba(255,255,255,.22); border-radius:999px; background:rgba(255,255,255,.1); font-size:.72rem; font-weight:950; backdrop-filter:blur(8px); }.node-vision { top:0; left:50%; transform:translate(-50%,-25%); }.node-people { top:23%; right:-4%; }.node-data { right:4%; bottom:12%; }.node-issues { bottom:-2%; left:50%; transform:translateX(-50%); }.node-process { bottom:12%; left:0; }.node-traction { top:23%; left:-5%; }
.flywheel-panel > p { margin:0; color:rgba(255,255,255,.68); line-height:1.58; }.flywheel-panel strong { color:white; }
.snap-strip article:nth-child(1) { border-top:5px solid var(--coral); }.snap-strip article:nth-child(2) { border-top:5px solid var(--gold); }.snap-strip article:nth-child(3) { border-top:5px solid var(--teal); }.snap-strip article:nth-child(4) { border-top:5px solid var(--blue); }
.component-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:36px; }.component-grid article { border:1px solid var(--line); border-top:5px solid var(--accent); border-radius:8px; padding:24px; background:white; box-shadow:0 14px 36px rgba(16,45,42,.06); }.component-grid span { color:var(--accent); font-size:.74rem; font-weight:950; }.component-grid h3 { margin-top:24px; font-size:1.4rem; }.component-grid p { color:var(--muted); line-height:1.55; }.component-grid b { display:block; margin-top:22px; color:var(--accent); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; }.component-grid b + p { margin-top:6px; }
.tool-lane { display:grid; gap:10px; margin-top:36px; }.tool-lane article { display:grid; grid-template-columns:56px minmax(0,1fr) auto; gap:18px; align-items:center; border:1px solid var(--line); border-radius:8px; padding:18px 22px; background:white; }.tool-number { display:grid; width:44px; height:44px; place-items:center; border-radius:50%; background:var(--sky); color:var(--teal); font-weight:950; }.tool-lane h3 { font-size:1.15rem; }.tool-lane p { margin:5px 0 0; color:var(--muted); line-height:1.48; }.tool-lane strong { color:var(--coral); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }
.meeting-agenda { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:36px; }.meeting-agenda article { display:grid; grid-template-columns:76px 1fr; gap:16px; align-items:start; border:1px solid var(--line); border-radius:8px; padding:20px; background:white; }.meeting-agenda article > span { color:var(--coral); font-size:.78rem; font-weight:950; }.meeting-agenda h3 { font-size:1.18rem; }.meeting-agenda p { margin:7px 0 0; color:var(--muted); line-height:1.45; }.meeting-agenda .agenda-focus { border-color:var(--teal); background:var(--sky); }
.ids-flow { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:15px; align-items:center; margin-top:24px; border-radius:8px; padding:24px; background:var(--navy); color:white; }.ids-flow div { display:grid; grid-template-columns:42px 1fr; align-items:center; }.ids-flow b { grid-row:span 2; color:var(--gold); font-size:2rem; }.ids-flow span { font-weight:950; }.ids-flow p { margin:3px 0 0; color:rgba(255,255,255,.6); font-size:.84rem; }.ids-flow i { color:rgba(255,255,255,.35); font-style:normal; }
.workout-section { background:linear-gradient(135deg,var(--navy),var(--teal)); }

@media (max-width:980px) { .component-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:680px) { .hero { grid-template-columns:1fr; }.hero h1 { font-size:clamp(3.7rem,22vw,6.4rem); }.flywheel-panel { padding:20px 14px; }.component-grid,.meeting-agenda { grid-template-columns:1fr; }.tool-lane article { grid-template-columns:46px minmax(0,1fr); padding:15px; }.tool-lane strong { grid-column:2; }.ids-flow { grid-template-columns:1fr; }.ids-flow i { justify-self:center; transform:rotate(90deg); }.wheel-node { min-width:62px; min-height:34px; font-size:.64rem; } }
