.club .chapter-banner {padding:16px 14px 20px;text-align:center}
.chapter-brand {color:#f5fffd;text-decoration:none;font-weight:950;letter-spacing:.12em;font-size:clamp(1.2rem,5vw,2.3rem)}
.chapter-brand:focus-visible,.chapter-turn a:focus-visible {outline:3px solid #e8a838;outline-offset:3px}
.chapter-motto {margin:4px 0 12px;color:#f5fffd}
.chapter-cast {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-width:720px;margin:0 auto}
.chapter-cast figure {position:relative;margin:0;overflow:hidden;border-radius:13px;background:#c6eee7}
.chapter-cast img {display:block;width:100%;height:clamp(57px,12vw,110px);object-fit:cover;object-position:center 32%}
.chapter-cast figcaption {position:absolute;right:0;bottom:0;left:0;padding:2px 5px;color:#fafffd;background:#13475de8;font-weight:750;font-size:.8rem}
.home-chapter .chapter-cast {max-width:880px}
.home-chapter .chapter-cast img {height:clamp(110px,24vw,285px)}
.home-chapter .chapter-cast figcaption {font-size:clamp(.85rem,2vw,1.1rem);padding:4px}
.chapter-navigation {max-width:1050px;margin:14px auto 3px;padding:0 10px;gap:7px;justify-content:center}
.club .chapter-navigation a {padding:7px 12px;font-size:.94rem;text-align:center}
.club .chapter-navigation a[aria-current="page"] {background:#145e68;border-color:#145e68;color:#fff}
.chapter-turn {max-width:1000px;margin:12px auto 0;padding:0 16px;display:flex;justify-content:space-between;gap:10px}
.chapter-turn a {display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:12px;background:#d7efeb;color:#174e5b;font-size:.9rem;font-weight:800;text-decoration:none}
.chapter-turn a[rel="next"] {margin-left:auto}
.chapter-turn a:hover {background:#bce5dc}
.chapter-end {margin-top:24px;padding:0}
.chapter-title {margin:0 0 10px}
.chapter-footer {text-align:center;padding:20px;color:#315764}
.club[data-chapter] main {padding-bottom:16px}
.trip-hero h1 {font-size:clamp(1.9rem,5vw,3rem);color:#125e6d}
.trip-hero p {margin-bottom:0}
.gear-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr));gap:13px}
.gear-list {margin:0;min-width:0}
.gear-list legend {font-weight:850;color:#155568;padding:0 5px}
.gear-list label {display:flex;align-items:flex-start;gap:9px;padding:8px 0;cursor:pointer}
.gear-list input {flex:none;width:18px;height:18px;margin-top:3px;accent-color:#147b78}
#gear-count {font-weight:800;color:#155568}
.knot-steps {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,185px),1fr));gap:12px;margin:0;padding-left:24px}
.knot-steps li::marker {font-weight:850;color:#12656b}
.knot-steps svg {display:block;width:min(100%,135px);margin:auto;fill:none;stroke:#185566;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.knot-steps .knot-line {stroke:#a04425}
.knot-steps h3 {margin:.35rem 0}
.knot-steps p {margin:.35rem 0 0}
.souvenir-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.souvenir-frame {min-height:220px;display:grid;place-items:center;text-align:center;background:#d7ebe9;border:2px dashed #75aeb2;border-radius:18px;overflow:hidden}
.souvenir-frame p {margin:10px}
.souvenir-frame img {width:100%;height:auto;max-height:480px;object-fit:contain}
#catch-form label {display:block;font-weight:800;margin:0 0 4px}
#catch-form input {box-sizing:border-box;width:100%;padding:9px;margin:0 0 12px;border:1px solid #77a3a6;border-radius:10px;background:#f0f9f3;color:#153e53;font:inherit}
#catch-form small {font-weight:500}
#photo-privacy {font-size:.92rem}
#catch-status {min-height:1.5em;font-weight:800}
#catch-form .cta {font:inherit;font-weight:750;border:0;cursor:pointer}
#catch-form .cta:disabled {opacity:.62;cursor:wait}
#catch-form [hidden],.souvenir-frame [hidden] {display:none!important}
@media(max-width:620px) {
  .souvenir-grid {grid-template-columns:1fr}
  .chapter-turn {padding-inline:10px}
  .chapter-turn a {padding:7px 9px}
  .chapter-navigation {gap:5px}
  .club .chapter-navigation a {padding:5px 8px;font-size:.82rem}
  .chapter-cast {gap:4px}
}
.club .game-intro {padding:20px}
.game-intro .cards {max-width:none;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}
.game-intro .mini {padding:13px;border-radius:14px}
.game-intro .cta {display:inline-block;padding:8px 12px;border-radius:9px;background:#177c64;color:white;text-decoration:none;font-weight:750}
.club .game-area {background:linear-gradient(132deg,var(--water),#f7f4eb);box-shadow:0 8px 24px #245a6414}
.atlas .atlas-intro h1 {font-size:clamp(1.8rem,4vw,3rem);margin:0 0 .55rem;color:#125e6d}
