:root{--ink:#0B0B0B;--cream:#F4F0EA;--paper:#FBF9F5;--line:#E2DACE;--muted:#5C5752;--lav:#A591EF;--lav-ink:#4B37B5;--lav-wash:#ECE6FC;--pip:#E4DDF4;--red:#FF1123;--red-ink:#B4000D;--red-wash:#FFE9EB}
body{margin:0;background:var(--cream);font-family:Montserrat,system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}
a{color:var(--lav-ink);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--lav-ink);outline-offset:3px;border-radius:8px}
.serif{font-family:Gloock,Georgia,serif;font-weight:400}
.shell{display:flex;flex-wrap:wrap;min-height:100vh}
.side{flex:1 1 232px;max-width:100%;background:var(--ink);padding:28px 14px 20px;box-sizing:border-box;display:flex;flex-direction:column;gap:28px}
.nav-list{display:flex;flex-direction:column;gap:2px}
.nav{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:10px;color:#D8D2E6;text-decoration:none;font-size:14px;font-weight:500;transition:background .2s cubic-bezier(.22,1,.36,1),color .2s}
.nav:hover{background:#1E1C1A;color:#FBF9F5}
.nav[aria-current="page"]{background:#272140;color:#FBF9F5;font-weight:600}
.main{flex:999 1 560px;min-width:0;max-width:1200px;padding:44px clamp(16px,4vw,56px) 32px;box-sizing:border-box;display:flex;flex-direction:column;gap:40px}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:24px;box-sizing:border-box}
.h2{font-family:Gloock,Georgia,serif;font-weight:400;font-size:26px;line-height:1.15;margin:0}
.meta{font-size:13px;color:var(--muted);margin:0}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--paper);text-decoration:none;font-weight:600;font-size:14px;padding:12px 18px;border-radius:10px;white-space:nowrap;transition:background .2s,transform .1s}
.btn:hover{background:var(--lav-ink);color:var(--paper)}.btn:active{transform:translateY(1px)}
.tag{display:inline-block;font-size:11px;font-weight:700;padding:4px 9px;border-radius:999px;white-space:nowrap}
.meter{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;margin-top:8px}
.pip{height:10px;border-radius:3px;background:var(--pip)}.pip.b{background:var(--lav-ink)}.pip.g{background:var(--lav)}
.two{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;align-items:start}
.places{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1.25fr) minmax(0,1fr);gap:16px}
.place{display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:22px 24px;border-radius:16px;text-decoration:none;min-height:148px;box-sizing:border-box;transition:transform .25s cubic-bezier(.22,1,.36,1)}
.place:hover{transform:translateY(-2px)}
.row-link{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;border-radius:14px;border:1px solid var(--line);background:var(--paper);color:var(--ink);text-decoration:none;font-weight:600;font-size:14px}
.row-link:hover{border-color:var(--lav-ink);color:var(--ink)}
.check{display:flex;gap:14px;align-items:flex-start;padding:14px 4px;border-top:1px solid var(--line);cursor:pointer}
.check input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--lav-ink);flex:0 0 20px}
.check input:checked + span .t{text-decoration:line-through;text-decoration-color:var(--lav-ink);color:var(--muted)}
.journey{position:relative;display:grid;grid-template-columns:repeat(6,minmax(96px,1fr));gap:12px;min-width:640px}
.journey-line{position:absolute;left:10px;right:calc((100% - 60px) / 6 - 10px);top:9px;height:2px;background:var(--line)}
.node{width:20px;height:20px;border-radius:999px;box-sizing:border-box;position:relative;background:var(--cream);border:2px solid #B9B0A4}
.rise{animation:rise .7s cubic-bezier(.22,1,.36,1) both}
.d1{animation-delay:.06s}.d2{animation-delay:.12s}.d3{animation-delay:.18s}.d4{animation-delay:.24s}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.rise{animation:none}.place,.btn,.nav{transition:none}}
@media (max-width:1000px){.two{grid-template-columns:minmax(0,1fr)}.places{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:760px){.side{flex-basis:100%;padding:16px 12px 10px;gap:12px}.nav-list{flex-direction:row;overflow-x:auto;gap:4px;padding-bottom:4px}.nav{white-space:nowrap;padding:10px 12px}.side-foot{display:none !important}.place{min-height:116px}.ses{grid-template-columns:48px minmax(0,1fr) !important}.ses > div:last-child{grid-column:2;justify-content:flex-start !important}.main{padding:28px 16px 24px;gap:32px}.places{grid-template-columns:minmax(0,1fr)}.hello{font-size:40px !important}}