/* Goblin Mercenary Camp: additive side page, intentionally not a replacement home. */
.vv-camp-body{--gold:#e2b877;--gold-light:#ffdda8;background:#0a1d2b;color:#eadfc7}
.vv-camp-top{position:sticky;top:0;z-index:60;background:#091b2af2;border-bottom:1px solid #a0784f;backdrop-filter:blur(14px)}
.vv-camp-top-inner{display:flex;align-items:center;gap:17px;min-height:77px;flex-wrap:wrap;padding-block:7px}
.vv-camp-brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:#f8e1b6;min-width:236px}
.vv-camp-brand img{width:43px;height:43px;object-fit:cover;border-radius:50%;border:1px solid #d0a35f}
.vv-camp-brand strong{display:block;font:800 .92rem Georgia,serif;letter-spacing:.06em}
.vv-camp-brand small{display:block;font-size:.57rem;letter-spacing:.1em;color:#a6c0c5}
.vv-camp-nav{display:flex;align-items:center;gap:18px;margin-left:auto}
.vv-camp-nav a,.vv-camp-home{color:#e6d5b5;font-weight:750;font-size:.76rem;text-decoration:none}
.vv-camp-nav a:hover,.vv-camp-home:hover{text-decoration:underline}
.vv-camp-home{white-space:nowrap;background:#d6a25a;color:#122837;border-radius:9px;padding:9px 12px}
.vv-camp-hero{position:relative;min-height:630px;display:flex;align-items:center;overflow:hidden;background:#072130;border-bottom:3px solid #bd8e55}
.vv-camp-hero-art{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,17,29,.95) 0%,rgba(3,17,29,.79) 34%,rgba(3,17,29,.28) 78%,rgba(3,17,29,.16) 100%),linear-gradient(0deg,rgba(0,12,22,.78),transparent 46%),url('goblin-mercenary-camp-v1.webp') center center/cover no-repeat}
.vv-camp-hero-inner{position:relative;z-index:1;padding-block:96px}
.vv-camp-flag{display:inline-block;font-size:.69rem;letter-spacing:.13em;color:#f6d398;font-weight:900;border:1px solid #c9a4708f;padding:7px 10px;border-radius:7px;background:#12394ccc}
.vv-camp-hero h1{font-size:clamp(3.35rem,6vw,6rem);max-width:900px;color:#fff2d8;line-height:1.05;margin:23px 0 16px}
.vv-camp-hero h1 em{color:#eabd77}.vv-camp-lead{font:italic clamp(1.24rem,2vw,1.65rem) Georgia,serif;color:#f7deb0;margin:0 0 14px}
.vv-camp-summary{max-width:650px;font-size:1.04rem;line-height:1.7;color:#e4e8e4}.vv-camp-summary strong{color:#ffe3b2}
.vv-camp-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.vv-camp-actions .btn{min-height:44px;display:inline-flex;align-items:center}
.vv-camp-story{padding:78px 0;background:#f9f1e2;color:#183748}.vv-camp-story-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.72fr);gap:65px;align-items:center}
.vv-camp-story h2,.vv-camp-workshop h2,.vv-camp-dispatches h2,.vv-camp-qa h2{font-size:clamp(2.55rem,4.5vw,4.6rem);color:inherit;line-height:1.07;margin:11px 0 23px}
.vv-camp-story h2 em{color:#a57539}.vv-camp-story p{color:#456272;max-width:730px;font-size:1rem;line-height:1.72}
.vv-camp-honest{padding:16px 19px;border-radius:12px;background:#f2e3cd;border:1px solid #d2ac76;color:#3c5560;font-size:.9rem}
.vv-camp-honest strong{color:#173748}
.vv-camp-ledger{border:2px solid #aa8657;border-radius:19px;background:linear-gradient(145deg,#fffcf4,#f2e0bf);color:#1f4050;padding:30px;box-shadow:0 14px 40px #2a241b24;transform:rotate(-1deg)}
.vv-camp-ledger-top{font-size:.67rem;letter-spacing:.16em;font-weight:900;color:#996e39}.vv-camp-ledger h3{font:700 2rem Georgia,serif;margin:16px 0 24px}.vv-camp-ledger p{margin:12px 0;padding-bottom:12px;border-bottom:1px dashed #bca581;color:#344f5c}.vv-camp-ledger-note{font:italic .93rem Georgia,serif;color:#936538;margin-top:20px}
.vv-camp-workshop{padding:82px 0;background:linear-gradient(155deg,#102c3b,#071923);color:#f7e7c9}.vv-camp-section-head{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:25px}.vv-camp-section-head>div{min-width:0}.vv-camp-section-head h2{margin-bottom:0}.vv-camp-section-head p{max-width:370px;color:#c7dadb;margin:0;font-size:.9rem}.vv-camp-workshop h2 em{color:#edbc7a}
.vv-camp-gear-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.vv-camp-gear-card{background:#153746;border:1px solid #aa8653;border-top:4px solid #cba46e;border-radius:17px;padding:28px;box-shadow:0 10px 33px #0004}
.vv-camp-gear-mark{letter-spacing:.14em;font-size:.65rem;color:#dbb37b;font-weight:900}.vv-camp-gear-card h3{font:700 clamp(1.8rem,3vw,2.6rem) Georgia,serif;margin:11px 0 5px;color:#fce2af}.vv-camp-status{font-size:.72rem;letter-spacing:.1em;font-weight:850;color:#fff3dc;background:#9b6338;padding:4px 8px;border-radius:5px}
.vv-camp-gear-card p{font-size:.92rem;color:#d7e0db;margin:19px 0}.vv-camp-tags{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0 16px}.vv-camp-tags span{font-size:.7rem;border:1px solid #90a3a36e;border-radius:7px;padding:4px 8px;color:#c9e6e0}.vv-camp-gear-card a{font-size:.83rem;color:#f7d093;font-weight:800;text-underline-offset:3px}
.vv-camp-design-figure{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(250px,.75fr);gap:20px;align-items:center;margin:30px 0 0;background:#f9f1e5;border-radius:17px;border:1px solid #c29c6a;overflow:hidden;color:#264354}
.vv-camp-design-figure img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover}.vv-camp-design-figure figcaption{font-size:.88rem;line-height:1.65;padding:18px 28px 18px 0;color:#49606b}.vv-camp-design-figure strong{color:#173c4a}
.vv-camp-dispatches{padding:78px 0;background:#f7f0e3;color:#1e3c49}.vv-camp-dispatches h2 em{color:#a26e31}.vv-camp-dispatches .vv-camp-section-head p{color:#637785}
.vv-camp-dispatch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.vv-camp-dispatch-grid article{background:#fffcf6;border:1px solid #d0b894;border-radius:14px;padding:26px}.vv-camp-dispatch-grid span{font-size:.7rem;font-weight:850;color:#93652e;letter-spacing:.1em}.vv-camp-dispatch-grid h3{color:#193c4d;font:700 1.5rem Georgia,serif;margin:12px 0}.vv-camp-dispatch-grid p{font-size:.9rem;color:#506674;margin:0}.vv-camp-dispatch-action{display:flex;gap:24px;flex-wrap:wrap;margin-top:20px}.vv-camp-dispatch-action a{font-weight:800;color:#00617a;text-underline-offset:4px;font-size:.88rem}
.vv-camp-qa{padding:80px 0;background:#0f2d3c;color:#fce7c2}.vv-camp-qa-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.67fr);gap:55px;align-items:center}.vv-camp-qa h2 em{color:#e9b978}.vv-camp-qa p{color:#d9e4e2;max-width:630px;font-size:.94rem}.vv-camp-qa p strong{color:#ffe0aa}.vv-camp-qa .btn{margin-top:14px;display:inline-flex}.vv-camp-checklist{padding:28px;border:1px solid #b18b54;border-radius:14px;background:#163d4e}.vv-camp-checklist h3{font-size:1.65rem;color:#ffe3b1;margin:0 0 18px}.vv-camp-checklist ul{padding-left:20px;color:#e5eded;font-size:.91rem}.vv-camp-checklist li{margin-bottom:10px}
.vv-camp-footer{background:#061723;border-top:1px solid #a98151;padding:26px 0;color:#d9d4c4}.vv-camp-footer>.wrap{display:flex;justify-content:space-between;gap:30px}.vv-camp-footer p{max-width:600px;font-size:.81rem;color:#9cbac4}.vv-camp-footer strong{font:700 1.17rem Georgia,serif;color:#f4d69a}.vv-camp-footer>.wrap>div:last-child{display:flex;gap:13px;flex-wrap:wrap;align-items:start}.vv-camp-footer a{font-size:.82rem;font-weight:800;color:#e7c28b}.vv-camp-footer>small{display:block;text-align:center;color:#8babb4;padding:9px 12px 0}
body[data-mode="focus"].vv-camp-body .vv-camp-story,body[data-mode="focus"].vv-camp-body .vv-camp-dispatches{background:#fcfaf6;color:#183a4a}
body[data-mode="harmony"].vv-camp-body .vv-camp-story,body[data-mode="harmony"].vv-camp-body .vv-camp-dispatches{background:#123541;color:#fbe4bc}
body[data-mode="harmony"].vv-camp-body .vv-camp-story h2,body[data-mode="harmony"].vv-camp-body .vv-camp-dispatches h2{color:#ffe0ad}
body[data-mode="harmony"].vv-camp-body .vv-camp-story p{color:#d8e7e4}
@media(max-width:1250px){.vv-camp-nav{gap:10px}.vv-camp-nav a{font-size:.7rem}.vv-camp-brand{min-width:210px}.vv-camp-top-inner{gap:11px}}
@media(max-width:1070px){.vv-camp-home{order:3}.vv-camp-nav{margin-left:auto}.vv-camp-top-inner .vv-display-tools{order:4;margin-left:auto}.vv-camp-hero{min-height:660px}}
@media(max-width:780px){.vv-camp-nav{order:4;width:100%;margin-left:0;justify-content:space-between;gap:6px;padding:6px 0}.vv-camp-top-inner .vv-display-tools{order:3;width:auto}.vv-camp-home{display:none}.vv-camp-hero{min-height:690px}.vv-camp-hero-art{background-image:linear-gradient(90deg,#051b2ae6,#051b2ab0),linear-gradient(0deg,#071523d9,transparent 52%),url('goblin-mercenary-camp-v1.webp');background-position:63% center}.vv-camp-hero-inner{padding-block:72px}.vv-camp-story-grid,.vv-camp-qa-grid,.vv-camp-design-figure{grid-template-columns:1fr}.vv-camp-ledger{transform:none}.vv-camp-gear-grid,.vv-camp-dispatch-grid{grid-template-columns:1fr}.vv-camp-section-head{display:block}.vv-camp-section-head>p{margin-top:16px}.vv-camp-design-figure figcaption{padding:8px 20px 22px}}
@media(max-width:430px){.vv-camp-brand{min-width:0}.vv-camp-brand strong{font-size:.76rem}.vv-camp-brand small{font-size:.5rem}.vv-camp-top-inner .vv-display-tools{order:3;width:100%}.vv-camp-hero h1{font-size:3.13rem}.vv-camp-actions .btn{width:100%;justify-content:center}.vv-camp-nav a{font-size:.66rem}.vv-camp-hero{min-height:720px}.vv-camp-footer>.wrap{flex-direction:column}}
@media print{.vv-camp-hero{min-height:180px}.vv-camp-hero-art{opacity:.15}.vv-camp-nav,.vv-notice-root{display:none}.vv-camp-story,.vv-camp-dispatches{background:#fff;color:#111}}
