/* Buying requirements (mirrors the main website's stock cards) and the interactive Africa → India map. */
.vf-req-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}
.vf-req{background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--magenta);padding:30px 28px 22px;display:flex;flex-direction:column;height:100%;box-shadow:0 18px 40px rgba(45,16,38,.06);transition:transform .3s,box-shadow .3s}
.vf-req:hover{transform:translateY(-4px);box-shadow:0 26px 50px rgba(45,16,38,.12)}
.vf-req-urgent{border-top-color:#c62828}.vf-req-upcoming{border-top-color:#a58cd0}.vf-req-partial{border-top-color:var(--saffron)}
.vf-req-status{display:flex;align-items:center;gap:8px;font:700 10px/1 var(--cs-body);letter-spacing:.18em;color:var(--magenta);margin:0 0 18px}
.vf-req-status i{width:7px;height:7px;border-radius:50%;background:currentColor}
.vf-req-urgent .vf-req-status{color:#c62828}
.vf-req h3{font-size:28px;line-height:1.1;margin:0 0 8px}.vf-req h3 a{text-decoration:none}
.vf-req-sub{font-size:13px;color:var(--plum);margin:0 0 6px}.vf-req-ref{font-size:10px;letter-spacing:.08em;color:var(--muted);margin:0}
.vf-req-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0 0;padding:22px 0;border-block:1px solid var(--line)}
.vf-req-specs dt{font-size:12px;color:var(--plum);text-decoration:underline dotted;margin-bottom:8px}
.vf-req-specs dd{margin:0}.vf-req-specs strong{font:700 20px/1 var(--cs-body)}.vf-req-specs small{font-size:10px;margin-left:3px;color:var(--muted)}
.vf-req-specs .vf-req-open{font:400 14px/1.2 var(--cs-body);color:var(--muted)}
.vf-req-delivery{display:grid;gap:6px;padding:22px 0;border-bottom:1px solid var(--line)}
.vf-req-delivery small{font-size:11px;letter-spacing:.06em;color:var(--plum)}.vf-req-delivery strong{font-size:14px}.vf-req-delivery span{font-size:12px;color:var(--muted)}
.vf-req-qty{padding:22px 0 20px;display:grid;gap:6px}
.vf-req-qty small{font-size:10px;letter-spacing:.18em;color:var(--muted)}
.vf-req-qty>strong{font:700 40px/1 var(--cs-body);color:var(--plum)}.vf-req-qty>strong span{font-size:14px;font-weight:400}
.vf-req-price{font-size:13px;color:var(--muted)}.vf-req-price b{color:var(--plum)}
.vf-req-cta{margin-top:auto;display:flex;justify-content:space-between;align-items:center;min-height:50px;padding:0 18px;background:var(--magenta);color:#fff;font:700 12px/1 var(--cs-body);text-decoration:none;transition:background .2s}
.vf-req-cta:hover{background:var(--magenta-2)}
.vf-req-foot{font-size:11px;color:var(--muted);margin:12px 0 0}
.vf-demand-summary{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:34px}
.vf-demand-summary p{font-size:18px;margin:0}.vf-demand-summary .cs-eyebrow{margin-bottom:10px}
.vf-empty{align-items:center}.vf-empty h2{font-size:30px;margin-bottom:6px}
.vf-req-hero h1{font-size:clamp(40px,4.6vw,68px)}.vf-req-hero .cs-eyebrow a{color:inherit}
.vf-req-detail{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,5vw,70px);align-items:start}
.vf-req-headline{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:var(--plum);color:#fff;padding:30px}
.vf-req-headline small{display:block;font-size:10px;letter-spacing:.2em;color:var(--saffron);margin-bottom:10px}
.vf-req-headline strong{font:700 44px/1 var(--cs-body)}.vf-req-headline strong span{font-size:15px;font-weight:400}
.vf-req-headline .vf-req-price-big{font:400 24px/1.2 var(--cs-display)}
.vf-req-table{margin:0;border:1px solid var(--line);border-top:0;background:#fff}
.vf-req-table div{display:grid;grid-template-columns:160px 1fr;gap:16px;padding:16px 24px;border-top:1px solid var(--line)}
.vf-req-table dt{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--magenta);font-weight:700}.vf-req-table dd{margin:0}
.vf-req-notes{margin-top:24px;padding:22px 24px;background:var(--cream)}.vf-req-notes small{font-size:10px;letter-spacing:.2em;color:var(--magenta)}.vf-req-notes p{margin:8px 0 0;color:var(--muted)}
.vf-req-share{display:flex;gap:26px;flex-wrap:wrap;margin-top:26px}
.vf-fieldset{border:0;border-top:1px solid var(--line);padding:18px 0 0;margin:0 0 8px}
.vf-fieldset legend{font:700 11px/1 var(--cs-body);letter-spacing:.2em;text-transform:uppercase;color:var(--magenta);padding-right:12px}
.vf-form-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}
.vf-hint{display:block;font-size:12px;color:var(--muted);margin-top:6px}

.vf-map-section{background:var(--lavender)}
.vf-map-layout{display:grid;grid-template-columns:330px 1fr;gap:28px;align-items:stretch}
.vf-map-panel{background:var(--plum);color:#fff;padding:30px 26px;display:flex;flex-direction:column;gap:18px}
.vf-map-kicker{display:flex;align-items:center;gap:10px;font:700 11px/1 var(--cs-body);letter-spacing:.22em;color:var(--saffron);margin:0}
.vf-map-kicker i{width:14px;height:14px;border-radius:50%;background:conic-gradient(var(--flag-1) 0 25%,var(--flag-2) 0 50%,var(--flag-3) 0 75%,var(--flag-4) 0)}
.vf-map-label{font:700 9px/1 var(--cs-body);letter-spacing:.24em;color:#c9b2c2;margin:0}
.vf-map-routes{display:grid;gap:8px}
.vf-map-routes button{display:grid;grid-template-columns:28px 1fr 20px;column-gap:10px;text-align:left;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);color:#fff;padding:14px;cursor:pointer;transition:background .2s,border-color .2s}
.vf-map-routes button span{grid-row:span 2;font-size:11px;color:var(--saffron)}
.vf-map-routes button strong{font:400 18px/1.2 var(--cs-display)}.vf-map-routes button small{font-size:11px;color:#c9b2c2;grid-column:2}
.vf-map-routes button i{grid-row:1/3;grid-column:3;font-style:normal;align-self:center}
.vf-map-routes button[aria-pressed=true]{background:var(--magenta);border-color:var(--magenta)}
.vf-map-context{border-top:1px solid rgba(255,255,255,.14);padding-top:18px;display:grid;gap:6px}
.vf-map-context small{font-size:9px;letter-spacing:.24em;color:var(--saffron)}
.vf-map-context strong{font:400 22px/1.25 var(--cs-display)}.vf-map-context em{color:var(--saffron);font-style:normal}
.vf-map-context span{font-size:13px;color:#d9c6d3}
.vf-map-network{margin-top:auto;display:grid;gap:8px}.vf-map-network a{color:#fff;font-size:13px;text-decoration:none;display:flex;align-items:center;gap:8px}
.vf-map-network i{width:8px;height:8px;background:#a58cd0}.vf-map-network a:hover{color:var(--saffron)}
.vf-map-stage{position:relative;background:var(--paper);border:1px solid var(--line);padding:18px}
.vf-map{width:100%;height:auto;display:block}
.vf-land{fill:#e7dcea;stroke:#fffaf3;stroke-width:.8;transition:fill .25s}
.vf-land:hover{fill:#d9c8de}
.vf-land.is-home{fill:var(--magenta)}
.vf-land.is-branch{fill:#a58cd0;cursor:pointer}.vf-land.is-branch:hover{fill:#8c6fbf}
.vf-india-base{fill:#efe6f1}
.vf-state{fill:#e7dcea;stroke:#fffaf3;stroke-width:.6;transition:fill .25s}
.vf-state.is-mapped{fill:#f3d690;cursor:pointer}.vf-state.is-active{fill:var(--saffron)}
.vf-india-outline{fill:none;stroke:var(--plum);stroke-width:.8;opacity:.5}
.vf-route{fill:none;stroke:var(--magenta);stroke-width:2.2;stroke-linecap:round;opacity:0;stroke-dasharray:6 7}
.vf-route.is-active{opacity:1}
.vf-route-generic{stroke:var(--plum);stroke-dasharray:3 8}
.vf-route-generic.is-active{opacity:.6}
.is-in-view .vf-route.is-active{animation:vf-flow 1.4s linear infinite}
@keyframes vf-flow{to{stroke-dashoffset:-26}}
.vf-pin{fill:var(--plum);stroke:#fff;stroke-width:1.5}.vf-pin-home{fill:var(--saffron);stroke:var(--plum)}
.vf-dest{opacity:.35;transition:opacity .3s}.vf-dest.is-active{opacity:1}
.vf-pulse{fill:var(--magenta);opacity:.35;transform-box:fill-box;transform-origin:center;animation:vf-pulse 2s ease-out infinite}
.vf-origin .vf-pulse{fill:var(--saffron)}
@keyframes vf-pulse{from{transform:scale(.6);opacity:.55}to{transform:scale(2.4);opacity:0}}
.vf-map-country{font:700 11px var(--cs-body);letter-spacing:.2em;fill:var(--plum);text-anchor:middle;paint-order:stroke;stroke:#fffaf3;stroke-width:4px}
.vf-map-region{font:700 13px var(--cs-body);letter-spacing:.3em;fill:var(--muted);opacity:.6}
.vf-map-ocean{font:italic 15px var(--cs-display);letter-spacing:.2em;fill:#a58cd0}
.vf-map-tip{position:absolute;transform:translate(-50%,-140%);background:var(--plum);color:#fff;font-size:12px;padding:6px 10px;pointer-events:none;white-space:nowrap}
.vf-map-legend{display:flex;flex-wrap:wrap;gap:18px;font-size:12px;color:var(--muted);padding-top:12px}
.vf-map-legend i{display:inline-block;width:12px;height:12px;margin-right:6px;vertical-align:-1px}
.vf-map-legend .is-home{background:var(--magenta)}.vf-map-legend .is-branch{background:#a58cd0}.vf-map-legend .is-mapped{background:var(--saffron)}.vf-map-legend .is-route{height:0;border-top:2px dashed var(--magenta);width:18px;vertical-align:3px}
@media (prefers-reduced-motion:reduce){.vf-pulse,.is-in-view .vf-route.is-active{animation:none}}
@media (max-width:1000px){.vf-map-layout,.vf-req-detail{grid-template-columns:1fr}.vf-req-table div{grid-template-columns:1fr;gap:4px}}
@media (max-width:640px){.vf-form-grid-3{grid-template-columns:1fr}.vf-req-headline{grid-template-columns:1fr}.vf-map-stage{padding:6px}}

/* Contact page: details shown directly */
.vf-contact-info{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(24px,4vw,56px);align-items:start}
.vf-contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.vf-contact-point{background:#fff;border:1px solid var(--line);border-top:3px solid var(--magenta);padding:28px 26px;display:flex;flex-direction:column;gap:8px;transition:transform .3s,box-shadow .3s}
.vf-contact-point:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(45,16,38,.08)}
.vf-contact-label{display:flex;align-items:center;gap:8px;font:700 10px/1.4 var(--cs-body);letter-spacing:.2em;text-transform:uppercase;color:var(--magenta);margin:0 0 6px}
.vf-contact-value{font:400 clamp(22px,2vw,28px)/1.2 var(--cs-display);color:var(--plum);text-decoration:none;overflow-wrap:anywhere}
.vf-contact-value:hover{color:var(--magenta)}
.vf-contact-sub{font-size:15px;color:var(--plum);overflow-wrap:anywhere}
.vf-contact-point small{color:var(--muted);font-size:12px}
.vf-contact-point .vf-underline{margin-top:auto;padding-top:14px;align-self:flex-start}
.vf-contact-office{background:var(--plum);color:#fff;position:sticky;top:110px}
.vf-contact-office .cs-eyebrow{color:var(--saffron)}
.vf-contact-office h2{color:#fff;font-size:26px;line-height:1.2}
.vf-contact-office dl{display:grid;grid-template-columns:96px 1fr;gap:14px 16px;margin:22px 0 0;font-size:14px}
.vf-contact-office dt{font:700 10px/1.6 var(--cs-body);letter-spacing:.2em;text-transform:uppercase;color:var(--saffron)}
.vf-contact-office dd{margin:0;color:#ecdfe8}
.vf-offices{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.vf-office{background:#fff;border:1px solid var(--line);padding:26px;display:flex;flex-direction:column;gap:6px}
.vf-office h3{font-size:22px;margin:0 0 4px}
.vf-office p{color:var(--muted);font-size:14px;margin:0 0 6px}
.vf-office p a{color:var(--plum)}
.vf-office .vf-underline{margin-top:auto;align-self:flex-start}
.vf-contact-label i{width:10px;height:10px;border-radius:50%;display:inline-block}
.vf-dot-in{background:conic-gradient(#ff9933 0 33%,#fff 0 66%,#138808 0)}
.vf-dot-gh{background:conic-gradient(#ce1126 0 33%,#fcd116 0 66%,#006b3f 0)}
.vf-dot-tz{background:conic-gradient(#1eb53a 0 40%,#111 0 60%,#00a3dd 0)}
.vf-dot-gw{background:conic-gradient(#ce1126 0 40%,#fcd116 0 70%,#009e49 0)}
.vf-form-solo{max-width:860px;margin-inline:auto}
@media (max-width:1000px){.vf-contact-info{grid-template-columns:1fr}.vf-contact-office{position:static}}
@media (max-width:640px){.vf-contact-office dl{grid-template-columns:1fr;gap:4px}.vf-contact-office dd{margin-bottom:10px}}
.vf-contact-email{font-size:clamp(17px,1.5vw,20px)!important;word-break:break-word}
