/* Narrative building journey. Loaded after base/signpost styles. */
.village-street{padding:3.5rem 0 5rem;background:linear-gradient(180deg,#f9f1e3,#f4e7d1 52%,#f8f1e5)}
.village-stop{width:min(1380px,calc(100% - 2.5rem));margin:0 auto 2.5rem;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:0;align-items:stretch;border:1px solid rgba(91,61,34,.18);border-radius:26px;background:#fffaf0;box-shadow:0 26px 60px rgba(58,43,27,.12);overflow:hidden}
.village-stop.reverse{grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr)}
.village-stop.reverse .village-building{order:2}.village-stop.reverse .village-copy{order:1}
.village-building{min-height:520px;overflow:hidden;border-radius:25px 0 0 25px}.village-stop.reverse .village-building{border-radius:0 25px 25px 0}
.village-building:after{display:none}.village-building img{width:100%;height:100%;min-height:520px;object-fit:cover;border:0;border-radius:inherit;box-shadow:none}
.village-copy{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,4vw,4.2rem);background:linear-gradient(180deg,#fffaf1,#f8eddc);border-radius:0 25px 25px 0}.village-stop.reverse .village-copy{border-radius:25px 0 0 25px}
.village-stop-badge{align-self:flex-start;margin:0 0 .8rem;padding:.42rem .72rem;border-radius:4px;background:#7d3529;color:#fff4dd;font-size:.68rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;box-shadow:0 4px 0 rgba(73,38,24,.18)}
.village-stop.links-stop .village-stop-badge{background:#214d63}.village-stop.tools-stop .village-stop-badge{background:#446945}.village-stop.health-stop .village-stop-badge{background:#674c70}
.village-copy h2{margin:.15rem 0 .45rem;font-size:clamp(2.25rem,4.2vw,4.35rem);line-height:.98}.village-stop-subtitle{margin:0 0 1.25rem;color:#765e4d;font-family:var(--font-display);font-size:clamp(1.1rem,1.6vw,1.4rem);font-style:italic}.village-copy>p{font-size:1.04rem;line-height:1.62}
.village-noticeboard{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin:1.35rem 0}.village-note{position:relative;min-height:118px;padding:1.25rem .8rem .85rem;background:#f2dfba;border:1px solid #d1b680;color:#5a3b26;text-align:center;box-shadow:0 7px 15px rgba(88,60,31,.12);transform:rotate(-.7deg)}.village-note:nth-child(even){transform:rotate(.8deg)}.village-note:before{content:'';position:absolute;top:8px;left:50%;width:10px;height:10px;transform:translateX(-50%);border-radius:50%;background:#a84b35;box-shadow:0 2px 3px rgba(70,36,25,.3)}.village-note strong{display:block;margin-top:.3rem;font-family:var(--font-display);font-size:1.08rem}.village-note span{display:block;margin-top:.28rem;font-size:.76rem;line-height:1.25}
.village-forge{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.8rem;margin:1.5rem 0;padding:1rem;border:1px solid #d6c19d;border-radius:10px;background:#f1e6d4}.village-forge-box{padding:.85rem;border-radius:7px;background:#fffaf2}.village-forge-box small{display:block;margin-bottom:.35rem;color:#7e6c5a;font-size:.65rem;font-weight:900;text-transform:uppercase}.village-forge-box code{font-size:.78rem;word-break:break-all}.village-forge-box strong{color:#214d63}.village-forge-arrow{color:#c49436;font-size:1.5rem}
.village-workbench{display:grid;grid-template-columns:repeat(6,1fr);gap:.65rem;margin:1.4rem 0;padding:1rem 1rem .8rem;border-top:8px solid #6c4a2d;border-radius:5px;background:#e6d3ad;box-shadow:0 8px 0 #4e3421,0 12px 24px rgba(74,49,29,.15)}.village-workbench span{display:grid;place-items:center;aspect-ratio:1;border:1px solid #b99661;border-radius:8px;background:#f4e5c9;color:#3e5941;font-weight:900;font-size:1.05rem}
.village-ledger{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:1.4rem 0;padding:1.2rem;border:1px solid #cbbda8;border-radius:8px;background:repeating-linear-gradient(#fbf8ef 0 28px,#e6ddcf 29px 30px);box-shadow:inset 5px 0 0 #775a79}.village-ledger span{padding:.6rem .5rem;background:rgba(255,255,255,.72);border-radius:6px;color:#5d4961;font-size:.82rem;font-weight:800;text-align:center}
/* Story transitions: intentionally plain, centered and in normal document flow. */
.village-handoff{display:block;width:min(760px,calc(100% - 3rem));margin:1rem auto 3.25rem;padding:1.4rem 1rem 0;border:0;border-top:1px solid #d7bc89;border-radius:0;background:transparent;color:#6a4b2f;text-align:center;text-decoration:none;box-shadow:none;transform:none}
.village-handoff:before{content:'◆';display:block;width:auto;height:auto;margin:-2.05rem auto .65rem;background:#f6ead6;color:#c49436;font-size:.8rem;line-height:1;width:2.2rem;padding:.45rem 0}
.village-handoff:after{content:'↓';display:block;margin:.55rem auto 0;color:#b5822f;font-size:1.05rem;font-weight:900}
.village-handoff strong{display:block;font-family:var(--font-display);font-size:1.2rem;line-height:1.15}.village-handoff span{display:block;max-width:560px;margin:.3rem auto 0;color:#7a6754;font-size:.84rem;line-height:1.4}.village-handoff:hover{background:transparent;color:#4f3824;transform:none}.village-handoff:hover strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.village-shop-cta{margin-top:.35rem;align-self:flex-start}.village-overheard{margin-top:1.25rem}
.village-stop:not(:last-child):after{display:none}
@media(max-width:950px){.village-stop,.village-stop.reverse{grid-template-columns:1fr;margin-bottom:1.5rem}.village-stop.reverse .village-building,.village-stop.reverse .village-copy{order:initial}.village-building,.village-stop.reverse .village-building{min-height:0;border-radius:24px 24px 0 0}.village-building img{min-height:0;aspect-ratio:16/10}.village-copy,.village-stop.reverse .village-copy{border-radius:0 0 24px 24px}.village-noticeboard{grid-template-columns:repeat(2,1fr)}.village-handoff{margin-bottom:2.5rem}}
@media(max-width:600px){.village-street{padding-top:2rem}.village-stop{width:min(100% - 1rem,1380px);border-radius:18px}.village-copy{padding:1.5rem}.village-building img{aspect-ratio:4/3}.village-noticeboard{grid-template-columns:1fr 1fr}.village-forge{grid-template-columns:1fr}.village-forge-arrow{text-align:center;transform:rotate(90deg)}.village-workbench{grid-template-columns:repeat(3,1fr)}.village-ledger{grid-template-columns:repeat(2,1fr)}.village-handoff{width:min(100% - 2rem,760px);padding-left:.5rem;padding-right:.5rem}}
