/* Footer and reading modules only; existing hero, cards and media stay unchanged. */
.vf-site-footer{background:#142b27;color:#d3ddd5}
.vf-footer-main{display:grid;grid-template-columns:minmax(0,1.65fr) repeat(3,minmax(0,1fr));gap:48px;padding-top:56px;padding-bottom:48px}
.vf-footer-main>*{min-width:0}
.vf-footer-kicker{display:block;font:10px/1.6 Georgia,serif;letter-spacing:.12em;color:#c5b587}
.vf-footer-brand h2{font:30px/1.5 "Songti SC","STSong",serif;margin:10px 0 16px}
.vf-footer-brand h2 a{color:#f1e5c9;text-decoration:none}
.vf-footer-intro{font-size:13px;line-height:1.95;color:#bdcbc0;margin:0;max-width:370px}
.vf-footer-contact{margin-top:24px;padding-top:20px;border-top:1px solid #3b5045}
.vf-footer-qq{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.vf-footer-qq>span{color:#cdbc92;font-size:12px;letter-spacing:.08em}
.vf-footer-qq strong{font-size:20px;line-height:1.6;color:#fff7e6;letter-spacing:.03em;user-select:text}
.vf-footer-qq .by-copy-button{min-height:40px;min-width:60px;background:transparent;color:#e4d4aa;border-color:#8d8e6e;font-size:12px}
.vf-footer-qq .by-copy-button:hover,.vf-footer-qq .by-copy-button.is-copied{background:#e4d4aa;color:#142b27}
.vf-footer-hint{color:#bdcbc0;font-size:12px;line-height:1.8;margin:9px 0 12px}
.vf-footer-contact-link{display:inline-flex;min-height:44px;align-items:center;gap:24px;color:#e4d4aa;text-decoration:none;font-size:14px;font-weight:600;border-bottom:1px solid #8d8e6e}
.vf-footer-nav h2{color:#f3e8ce;font-size:16px;font-weight:600;line-height:1.6;margin:7px 0 20px}
.vf-footer-nav ul{list-style:none;padding:0;margin:0}
.vf-footer-nav li{margin:0;padding:0}
.vf-footer-nav a{display:inline-flex;align-items:center;min-height:42px;padding:6px 0;color:#c7d3c9;font-size:13px;line-height:1.7;text-decoration:none}
.vf-site-footer a:hover{color:#f5dfaa;text-decoration:underline;text-underline-offset:5px}
.vf-site-footer :is(a,button):focus-visible{outline:2px solid #e4d4aa;outline-offset:5px}
.vf-footer-rule{border-top:1px solid #3b5045}
.vf-footer-rule .by-footer-bottom{padding-top:20px;padding-bottom:20px;color:#b9c8bd}
.vf-copy-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.vf-home-faq{background:#fffefa;border-top:1px solid #dce0d3}
.vf-faq-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:72px;align-items:start}
.vf-faq-intro h2{margin:8px 0 18px;max-width:340px}
.vf-faq-intro>p{margin:0 0 24px;color:#626e65;font-size:14px;line-height:1.9;max-width:340px}
.vf-faq-item{border-bottom:1px solid #dce0d3}
.vf-faq-item:first-child{border-top:1px solid #dce0d3}
.vf-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:68px;padding:17px 0;cursor:pointer;list-style:none;color:#263a34;font-size:16px;font-weight:600;line-height:1.7}
.vf-faq-item summary::-webkit-details-marker{display:none}
.vf-faq-item summary:focus-visible{outline:2px solid #9e8759;outline-offset:4px}
.vf-faq-toggle{position:relative;display:block;flex:0 0 14px;width:14px;height:14px;color:#8c7953}
.vf-faq-toggle::before,.vf-faq-toggle::after{content:"";position:absolute;background:currentColor;top:6px;left:0;width:14px;height:1px}
.vf-faq-toggle::after{transform:rotate(90deg)}
.vf-faq-item[open] .vf-faq-toggle::after{display:none}
.vf-faq-item>p{margin:0;padding:0 30px 20px 0;color:#626e65;font-size:14px;line-height:1.95}
.vf-related{margin-top:44px;padding-top:30px;border-top:1px solid #ccd4c4}
.vf-related-head h2,.by-content .vf-related-head h2{margin:8px 0 12px;font:28px/1.5 "Songti SC","STSong",serif;color:#19322d}
.vf-related-head>p{margin:0;color:#626e65;font-size:14px;line-height:1.9}
.vf-related-services{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.vf-related-services a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid #d6dcca;color:#5b644c;background:#f4f4ed;font-size:13px;line-height:1.7;text-decoration:none}
.vf-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}
.vf-related-card{min-width:0;padding:24px 22px;border:1px solid #dce0d3;background:#f9faf4}
.vf-related-card>span{font-size:11px;color:#787653;letter-spacing:.06em}
.vf-related-card h3,.by-content .vf-related-card h3{margin:12px 0;font:20px/1.6 "Songti SC","STSong",serif}
.vf-related-card h3 a,.by-content .vf-related-card h3 a{color:#263a34;font-weight:500;text-decoration:none}
.vf-related-card p{margin:0;color:#626e65;font-size:13px;line-height:1.9}
.vf-related a:hover{color:#846c3c;text-decoration:underline;text-underline-offset:4px}
.vf-related a:focus-visible{outline:2px solid #9e8759;outline-offset:4px}
@media(max-width:680px){.vf-site-footer .vf-footer-brand{display:block}.vf-site-footer .vf-footer-contact{padding-top:20px;border-top:1px solid #3b5045}}
@media(max-width:980px){.vf-footer-main{gap:32px;grid-template-columns:repeat(3,minmax(0,1fr))}.vf-footer-brand{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);column-gap:36px}.vf-footer-brand>.vf-footer-kicker,.vf-footer-brand>h2,.vf-footer-intro{grid-column:1}.vf-footer-intro{max-width:none}.vf-footer-contact{grid-column:2;grid-row:1/4;align-self:center;margin-top:0;padding-top:0;border-top:0}.vf-faq-layout{gap:36px;grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr)}.vf-related-grid{gap:12px}.vf-related-card{padding:20px 17px}}
@media(max-width:680px){.vf-footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px;padding-top:36px;padding-bottom:32px}.vf-footer-brand{grid-column:1/-1}.vf-footer-intro{max-width:none}.vf-footer-contact{margin-top:20px}.vf-footer-nav h2{margin-top:0;margin-bottom:10px;font-size:15px}.vf-footer-nav a{min-height:44px}.vf-footer-nav:last-child{grid-column:1/-1;border-top:1px solid #3b5045;padding-top:26px}.vf-footer-nav:last-child ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px}.vf-faq-layout{grid-template-columns:1fr;gap:24px}.vf-faq-intro h2,.vf-faq-intro>p{max-width:none}.vf-faq-intro>p{margin-bottom:15px}.vf-faq-item summary{font-size:15px;min-height:64px}.vf-faq-item>p{padding-right:0}.vf-related{margin-top:32px;padding-top:25px}.vf-related-head h2,.by-content .vf-related-head h2{font-size:25px}.vf-related-grid{grid-template-columns:1fr;gap:12px}.vf-related-card{padding:21px}.vf-related-card h3,.by-content .vf-related-card h3{font-size:20px}}
