:root { --ink:#19221d; --muted:rgba(25,34,29,.68); --navy:#19221d; --blue:#356a68; --teal:#3f7c69; --leaf:#557f54; --gold:#d7a93e; --coral:#a34d3f; --paper:#f4f0e6; --cream:#fbfaf5; --sky:#e8f0ec; }
body { background: linear-gradient(180deg,#fbfaf5 0%,#e8f0ec 50%,#f4f0e6 100%); }
.guide-header { background:rgba(251,250,245,.88); }
.hero { grid-template-columns:minmax(0,1fr) minmax(340px,.62fr); }
.hero h1 { font-size:clamp(3.5rem,8vw,7.6rem); line-height:.86; }
.hero h1 span { color:var(--coral); }
.button.primary { background:var(--coral); border-color:var(--coral); }
.button.secondary { background:var(--gold); }

.compass { display:grid; gap:28px; border:1px solid rgba(255,255,255,.12); border-radius:8px; padding:clamp(24px,4vw,38px); background:#19221d; color:white; box-shadow:var(--shadow); }
.compass-face { position:relative; width:min(100%,390px); aspect-ratio:1; margin:auto; border:1px solid rgba(255,255,255,.22); border-radius:50%; background:radial-gradient(circle,rgba(215,169,62,.14),transparent 48%),repeating-conic-gradient(from 0deg,rgba(255,255,255,.035) 0 1deg,transparent 1deg 15deg); }
.compass-face::before,.compass-face::after { position:absolute; background:rgba(255,255,255,.14); content:""; }
.compass-face::before { top:10%; bottom:10%; left:50%; width:1px; }
.compass-face::after { top:50%; right:10%; left:10%; height:1px; }
.compass-ring { position:absolute; border:1px solid rgba(255,255,255,.18); border-radius:50%; }
.compass-ring.outer { inset:13%; }.compass-ring.inner { inset:29%; }
.compass-center { position:absolute; inset:36%; z-index:2; display:grid; place-content:center; border-radius:50%; background:var(--gold); color:var(--ink); text-align:center; }
.compass-center b { font-size:.74rem; letter-spacing:.1em; }.compass-center small { margin-top:3px; font-size:.64rem; }
.compass-word { position:absolute; z-index:2; font-size:.66rem; font-weight:950; letter-spacing:.09em; }.north { top:5%; left:50%; transform:translateX(-50%); }.south { bottom:5%; left:50%; transform:translateX(-50%); }.east { top:50%; right:2%; transform:rotate(90deg) translateY(-50%); }.west { top:50%; left:2%; transform:rotate(-90deg) translateY(-50%); }
.compass > p { margin:0; color:rgba(255,255,255,.68); line-height:1.6; }.compass > p strong { color:white; }

.path-strip { display:grid; width:var(--content); grid-template-columns:repeat(6,1fr); margin:0 auto; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:white; box-shadow:0 18px 58px rgba(16,32,51,.08); }
.path-strip article { min-height:132px; padding:18px; border-right:1px solid var(--line); }.path-strip article:last-child { border:0; }
.path-strip span { display:block; margin-bottom:24px; color:var(--coral); font-size:.68rem; font-weight:950; letter-spacing:.12em; }.path-strip strong { font-size:.88rem; line-height:1.25; }
.book-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:36px; }
.book-card { position:relative; overflow:hidden; border:1px solid var(--soft-line); border-top:5px solid var(--accent,var(--coral)); border-radius:8px; padding:26px; background:white; box-shadow:0 16px 40px rgba(16,32,51,.06); }
.book-card.obstacle { --accent:#a34d3f; }.book-card.ego { --accent:#c78f2d; }.book-card.stillness { --accent:#356a68; }.book-card.courage { --accent:#84576c; }.book-card.discipline { --accent:#315886; }.book-card.justice { --accent:#557f54; }
.book-no { position:absolute; top:20px; right:22px; color:rgba(25,34,29,.13); font-size:2.5rem; font-weight:950; }.book-kicker { margin:0 0 16px; color:var(--accent); font-size:.72rem; font-weight:950; letter-spacing:.1em; text-transform:uppercase; }.book-card h3 { max-width:80%; font-size:1.55rem; line-height:1.05; }.thesis { min-height:96px; margin:15px 0 22px; color:var(--muted); line-height:1.58; }
.book-use,.micro-practice { border-top:1px solid var(--line); padding-top:14px; }.micro-practice { margin-top:14px; }.book-use b,.micro-practice b { color:var(--accent); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; }.book-use p,.micro-practice p { margin:6px 0 0; color:var(--muted); line-height:1.5; }
.practice-loop { display:grid; gap:10px; margin-top:36px; }.practice-loop article { display:grid; grid-template-columns:54px minmax(0,1fr) auto; gap:18px; align-items:center; border:1px solid var(--line); border-radius:8px; padding:18px 22px; background:white; }.practice-loop article > span { display:grid; width:42px; height:42px; place-items:center; border-radius:50%; background:var(--paper); color:var(--coral); font-weight:950; }.practice-loop h3 { font-size:1.18rem; }.practice-loop p { margin:5px 0 0; color:var(--muted); line-height:1.45; }.practice-loop em { color:var(--teal); font-size:.78rem; font-style:normal; font-weight:900; }
.control-map { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:16px; align-items:center; margin-top:28px; border-radius:8px; padding:24px; background:var(--ink); color:white; }.control-map p { margin:0 0 8px; color:var(--gold); font-size:.72rem; font-weight:950; letter-spacing:.1em; text-transform:uppercase; }.control-map strong { font-size:.88rem; line-height:1.45; }.control-map > span { color:rgba(255,255,255,.35); font-size:1.5rem; }
.ritual-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:36px; }.ritual-grid article { min-height:210px; border:1px solid var(--line); border-radius:8px; padding:25px; background:white; }.ritual-grid span { color:var(--coral); font-size:.72rem; font-weight:950; letter-spacing:.1em; }.ritual-grid h3 { margin-top:34px; font-size:1.35rem; }.ritual-grid p { color:var(--muted); line-height:1.58; }
.workout-section { background:linear-gradient(135deg,#19221d,#356a68); }

@media (max-width:980px) { .path-strip { grid-template-columns:repeat(3,1fr); }.path-strip article:nth-child(3) { border-right:0; }.path-strip article:nth-child(-n+3) { border-bottom:1px solid var(--line); } }
@media (max-width:680px) { .hero { grid-template-columns:1fr; }.hero h1 { font-size:clamp(3.2rem,18vw,5.1rem); }.compass { padding:18px; }.path-strip,.book-grid,.ritual-grid { grid-template-columns:1fr; }.path-strip article { min-height:auto; border-right:0; border-bottom:1px solid var(--line); }.path-strip article:nth-child(3) { border-right:0; }.path-strip article:nth-child(-n+3) { border-bottom:1px solid var(--line); }.path-strip span { margin-bottom:8px; }.practice-loop article { grid-template-columns:44px minmax(0,1fr); padding:15px; }.practice-loop em { grid-column:2; }.control-map { grid-template-columns:1fr; }.control-map > span { transform:rotate(90deg); justify-self:center; }.book-card h3 { max-width:75%; }.thesis { min-height:auto; } }
