.guild { max-width: 1200px; margin: auto; padding: var(--space-5); }
.guild-heading { display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); flex-wrap: wrap; margin-bottom: var(--space-5); }
.guild-heading h1 { font-size: var(--text-display); margin: var(--space-2) 0; }
.guild-landscape { position: relative; min-height: 340px; overflow: hidden; isolation: isolate; border-radius: var(--radius-xl); background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 20%, var(--bg)), var(--bg) 65%, color-mix(in srgb, var(--success) 30%, var(--bg))); border: 1px solid var(--line); }
.guild-mountain { position: absolute; top: 8%; left: 48%; width: 45%; height: 65%; background: color-mix(in srgb, var(--ink) 16%, var(--bg)); clip-path: polygon(0 100%, 48% 0, 100% 100%); }
.guild-mountain--near { top: 22%; left: 65%; background: color-mix(in srgb, var(--ink) 25%, var(--bg)); }
.guild-lake { position: absolute; right: -8%; bottom: 7%; width: 57%; height: 35%; border-radius: 50%; background: linear-gradient(165deg, color-mix(in srgb, var(--accent) 45%, var(--bg)), color-mix(in srgb, var(--accent) 15%, var(--bg))); border-top: 2px solid color-mix(in srgb, var(--ink) 25%, transparent); display: grid; place-items: center; }
.guild-lake span { opacity: .65; font-size: var(--text-sm); }
.guild-trees { position: absolute; left: 3%; top: 20%; display: flex; color: var(--success); font-size: clamp(3rem, 10vw, 7rem); }
.guild-home { position: absolute; left: 10%; bottom: 15%; display: grid; gap: var(--space-2); max-width: 48%; }
.guild-home .icon { font-size: 4rem; }
.guild-home span { font-size: var(--text-sm); }
.guild-place { position: absolute; top: var(--space-4); left: var(--space-4); letter-spacing: .15em; font-size: var(--text-xs); }
.guild-stock { display: flex; flex-wrap: wrap; gap: var(--space-5); padding: var(--space-5) 0; }
.guild-stock span { display: flex; align-items: center; gap: var(--space-2); }
.guild-columns { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); margin-top: var(--space-4); }
.guild .card { padding: var(--space-5); }
.guild-intro { margin-top: var(--space-4); }
.guild-actions { display: grid; gap: var(--space-2); }
.guild-actions button { display: flex; gap: var(--space-2); justify-content: flex-start; flex-wrap: wrap; }
.guild-actions small { margin-left: auto; }
.guild-mission { border-top: 1px solid var(--line); padding: var(--space-3) 0; }
.guild-mission h3 { margin: var(--space-2) 0; }
.guild-mission small { display: block; margin-bottom: var(--space-3); }
.guild-journal { max-height: 280px; overflow: auto; }
.guild-journal p { border-left: 2px solid var(--accent); padding-left: var(--space-3); }
@media (max-width: 700px) { .guild-columns { grid-template-columns: 1fr; } .guild { padding: var(--space-3); } .guild-landscape { min-height: 300px; } }

