/* OSONS — site map and guide (public). Builds on styles.css tokens. */
.guide-wrap{padding-top:28px;padding-bottom:96px;outline:none}
.g-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.7fr);gap:clamp(24px,5vw,72px);align-items:end;margin-bottom:40px}
.g-kicker{margin:0 0 14px;font-size:13px;font-weight:650;color:var(--forest)}
.g-h1{font-size:clamp(38px,5.4vw,72px);font-weight:500;margin:0 0 16px}
.g-h1 span{display:block}
.g-hero .lead{max-width:52ch}
.g-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px}
.g-jump{background:var(--card);border-radius:var(--radius-l);padding:18px 20px;box-shadow:inset 0 0 0 1px var(--line)}
.g-jump ol{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}
.g-jump a{display:block;padding:7px 10px;border-radius:10px;text-decoration:none;color:var(--ink);font-weight:600}
.g-jump a:hover,.g-jump a:focus-visible{background:var(--paper-2)}

.g-sec{padding:36px 0 8px;scroll-margin-top:80px}
.g-sec h2{font-size:clamp(28px,3.2vw,42px);margin-bottom:6px}
.g-lead{max-width:60ch;margin:0 0 20px}

.g-goals{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:16px}
.g-goal{background:var(--card);border-radius:var(--radius-l);padding:22px;box-shadow:inset 0 0 0 1px var(--line)}
.g-goal h3{font-size:clamp(20px,2vw,26px);margin-bottom:12px}
.g-steps{list-style:none;counter-reset:s;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.g-steps li{counter-increment:s;display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:center}
.g-steps li::before{content:counter(s);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--lavender);color:var(--forest);font-weight:800;font-size:14px}
.g-steps a{color:var(--ink);text-underline-offset:3px;font-weight:600}
.g-steps a.g-signup{color:var(--forest)}

.g-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:12px}
.g-grid.two{grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr))}
.g-place{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:var(--radius);background:var(--card);box-shadow:inset 0 0 0 1px var(--line);text-decoration:none;color:var(--ink);min-height:100%}
.g-place strong{font-size:17px}
.g-place span{color:var(--ink-soft);font-size:14.5px;line-height:1.45}
.g-place .g-open{margin-top:auto;padding-top:6px;color:var(--forest);font-weight:700;font-size:13px}
a.g-place:hover,a.g-place:focus-visible{box-shadow:inset 0 0 0 2px var(--forest)}
.g-place.member{border-top:4px solid var(--forest)}
.g-place.static{background:var(--paper-2);box-shadow:none}

.g-tools{margin-top:22px;padding:20px 22px;border-radius:var(--radius-l);background:var(--paper-2)}
.g-tools h3{font-size:22px;margin-bottom:10px}
.g-tools ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:10px 24px}
.g-tools a{color:var(--ink);text-underline-offset:3px}
.g-tools .block{display:block}

.g-table-wrap{overflow-x:auto;border-radius:var(--radius-l);box-shadow:inset 0 0 0 1px var(--line);background:var(--card)}
.g-table{width:100%;border-collapse:collapse;min-width:560px;font-size:15px}
.g-table th,.g-table td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.g-table thead th{font-size:14px;color:var(--muted);font-weight:700}
.g-table tbody th{font-weight:650}
.g-table tr:last-child th,.g-table tr:last-child td{border-bottom:0}
.g-table .hl{background:color-mix(in srgb,var(--lavender) 55%,var(--card))}
.g-table thead .hl{color:var(--forest)}
.g-table .yes{color:var(--ok);font-weight:700}
.g-table .no{color:var(--muted)}

.g-faq{display:flex;flex-direction:column;gap:8px;max-width:820px}
.g-faq details{background:var(--card);border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--line);padding:0 18px}
.g-faq summary{cursor:pointer;padding:16px 0;font-weight:650;list-style-position:outside}
.g-faq p{margin:0 0 16px;color:var(--ink-soft)}

.g-cta{margin-top:48px;border-radius:var(--radius-l);background:var(--deep);color:#fff;padding:clamp(24px,4vw,44px);display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.g-cta h2{font-size:clamp(28px,3.2vw,42px);color:#fff}
.g-cta p{margin:8px 0 0;color:#e6e1ff;max-width:48ch}
.g-cta-alt{color:#fff;font-weight:650;text-underline-offset:3px}

@media (max-width:860px){.g-hero{grid-template-columns:1fr;align-items:start}}
@media (max-width:640px){.guide-wrap{padding-top:16px}.g-sec{padding-top:28px}}
