:root { --vf-gold: #c99700; --vf-ink: #23262b; --vf-muted: #626970; --vf-line: #dce0e2; --vf-paper: #fff; --vf-soft: #f3f5f5; --vf-teal: #24656a; }
.vf-site { margin: 0; color: var(--vf-ink); background: var(--vf-paper); font: 17px/1.6 'Barlow', sans-serif; }
.vf-site *, .vf-header *, .vf-footer *, .vf-legacy-sidebar * { box-sizing: border-box; letter-spacing: 0; }
.vf-site [hidden], .vf-header [hidden] { display: none !important; }
.vf-site a, .vf-header a, .vf-footer a { color: inherit; text-decoration: none; }
.vf-site h1, .vf-site h2, .vf-site h3, .vf-header h2, .vf-footer h2 { font-family: 'Barlow', sans-serif; color: inherit; line-height: 1.12; margin: 0 0 18px; font-weight: 700; }
.vf-site h1 { font-size: 46px; }
.vf-site h2 { font-size: 32px; }
.vf-site h3 { font-size: 23px; }
.vf-site p { margin: 0 0 20px; }
.vf-site img { max-width: 100%; display: block; }
.vf-site button, .vf-site input, .vf-site select, .vf-site textarea { font: inherit; }
.vf-site :focus-visible, .vf-header :focus-visible, .vf-footer :focus-visible { outline: 3px solid var(--vf-teal); outline-offset: 4px; }
.vf-wrap { width: min(1220px, calc(100% - 64px)); margin-inline: auto; }
.vf-skip { position: fixed; top: -100px; left: 20px; padding: 12px 20px; background: white; z-index: 100; }
.vf-skip:focus { top: 10px; }
.vf-footer .vf-whatsapp { position: fixed; right: max(20px, env(safe-area-inset-right)); bottom: calc(20px + env(safe-area-inset-bottom)); z-index: 1000; display: grid; place-items: center; width: 56px; height: 56px; padding: 0; margin: 0; border: 2px solid #fff; border-radius: 50%; background: #128c4a; color: #fff; font-size: 30px; line-height: 1; text-decoration: none; box-shadow: 0 4px 14px #0003; }
.vf-footer .vf-whatsapp:hover { background: #096b37; color: #fff; }
.vf-footer .vf-whatsapp:focus-visible { outline: 3px solid #23262b; outline-offset: 3px; }
body:has(.vf-whatsapp) .back-to-top { bottom: calc(88px + env(safe-area-inset-bottom)); right: max(20px, env(safe-area-inset-right)); }
.vf-header { font: 16px/1.4 'Barlow', sans-serif; color: var(--vf-ink); background: #fff; border-top: 3px solid var(--vf-gold); border-bottom: 1px solid var(--vf-line); position: relative; z-index: 20; box-shadow: 0 4px 16px #23262b08; }
.vf-contact-bar { color: #dce3e3; background: #20282a; font-size: 12px; }
.vf-contact-bar .vf-wrap { display: flex; gap: 24px; justify-content: space-between; align-items: center; padding-block: 8px; }
.vf-header-specialty { display: flex; align-items: center; gap: 12px; font-weight: 500; }
.vf-header-specialty > span { color: var(--vf-gold); }
.vf-header-contacts { display: flex; align-items: center; gap: 24px; }
.vf-header-contacts a { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.vf-header-contacts i { color: #e4bd4d; font-size: 12px; }
.vf-header-contacts a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.vf-nav { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.vf-brand { display: flex; gap: 12px; align-items: center; flex-shrink: 0; }
.vf-brand img { width: 62px; height: 62px; object-fit: contain; }
.vf-brand .vf-brand-wordmark { width: 180px; height: auto; display: block; }
@media (max-width: 1100px) {
    .vf-brand { gap: 10px; }
    .vf-brand img { width: 48px; height: 48px; }
    .vf-brand .vf-brand-wordmark { width: 150px; }
}
#vf-menu { display: flex; align-items: center; gap: 26px; }
#vf-menu > a, .vf-nav-group summary { position: relative; font-size: 14px; font-weight: 600; padding-block: 16px; }
#vf-menu a:hover, #vf-menu [aria-current] { color: var(--vf-teal); }
#vf-menu > a:not(.vf-nav-quote)::after, .vf-nav-group summary::after { content: ''; position: absolute; bottom: 6px; left: 0; right: 0; height: 2px; background: var(--vf-gold); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
#vf-menu > a[aria-current]::after, #vf-menu > a:hover::after, .vf-nav-group[open] summary::after { transform: scaleX(1); }
.vf-nav-group { position: relative; }
.vf-nav-group summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 8px; }
.vf-nav-group summary::-webkit-details-marker { display: none; }
.vf-nav-group summary i { font-size: 9px; transition: transform .2s ease; }
.vf-nav-group[open] summary i { transform: rotate(180deg); }
.vf-nav-group > div { position: absolute; top: 100%; left: -18px; width: 235px; padding: 8px; background: white; border: 1px solid var(--vf-line); border-top: 3px solid var(--vf-gold); border-radius: 0 0 4px 4px; box-shadow: 0 16px 32px #23262b20; }
.vf-nav-group a { display: block; padding: 13px 12px; font-size: 14px; font-weight: 600; }
.vf-nav-group a:hover, .vf-nav-group a[aria-current] { background: #edf3f2; }
.vf-menu-button { width: 44px; height: 44px; border: 1px solid #cbd6d5; background: #f2f6f5; color: var(--vf-teal); border-radius: 4px; cursor: pointer; }
.vf-menu-button[aria-expanded="true"] { background: var(--vf-teal); color: white; }
@media (max-width: 850px) {
    .vf-header-specialty { display: none; }
    .vf-header-contacts { width: 100%; justify-content: space-between; gap: 12px; }
    #vf-menu > a:not(.vf-nav-quote)::after, .vf-nav-group summary::after { right: auto; width: 24px; bottom: 4px; }
}
@media (max-width: 400px) {
    .vf-header-contacts { font-size: 10px; gap: 8px; }
    .vf-header-contacts a { gap: 5px; }
    .vf-header-contacts i { font-size: 10px; }
}
.vf-button { display: inline-flex; gap: 14px; align-items: center; justify-content: center; background: var(--vf-gold); color: #17191c !important; border: 1px solid var(--vf-gold); border-radius: 4px; padding: 13px 22px; font-weight: 700; cursor: pointer; text-align: center; line-height: 1.4; }
.vf-button:hover { background: #dfb430; border-color: #dfb430; }
.vf-button-secondary { background: transparent; border-color: currentColor; color: inherit !important; }
.vf-button-secondary:hover { background: #ffffff17; }
.vf-nav-quote { font-size: 14px; padding: 11px 16px !important; }
#vf-menu > .vf-catalogue-download { white-space: nowrap; }
@media (min-width: 851px) {
    #vf-menu { gap: 16px; }
    .vf-nav-quote { min-height: 44px; }
}
@media (min-width: 851px) and (max-width: 1000px) {
    .vf-header #vf-menu { gap: 6px; }
    .vf-header .vf-nav { gap: 16px; }
    .vf-header #vf-menu > a, .vf-header .vf-nav-group summary { font-size: 13px; }
    .vf-header .vf-brand-wordmark { width: 130px; }
}
.vf-eyebrow { font-size: 12px; font-weight: 700; text-transform: uppercase; color: var(--vf-teal); margin-bottom: 13px !important; }
.vf-lead { font-size: 20px; line-height: 1.6; color: #505960; max-width: 760px; }
.vf-hero { position: relative; isolation: isolate; min-height: 490px; height: min(560px, 68vh); display: flex; align-items: center; color: white; background: #202328; }
.vf-hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% center; z-index: -2; }
.vf-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: -2; }
.vf-hero-playback { position: absolute; right: 16px; bottom: 16px; width: 44px; height: 44px; border: 1px solid #fff; border-radius: 4px; background: #202328; color: #fff; cursor: pointer; }
.vf-hero-playback:focus-visible { outline-color: #fff; }
.vf-hero:has(.vf-hero-playback) .vf-hero-copy { padding-bottom: 70px; }
.vf-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #101315eb 0%, #101315b3 32%, #10131500 73%); z-index: -1; }
.vf-hero-copy { max-width: 550px; padding-block: 42px; animation: vf-appear .55s ease-out both; }
.vf-hero h1 { font-size: 58px; margin-bottom: 24px; }
.vf-hero p:not(.vf-eyebrow) { max-width: 420px; font-size: 19px; color: #f0f2f2; }
.vf-hero .vf-eyebrow { color: #f0cc65; }
.vf-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 25px 0; }
.vf-section { padding-block: 64px; }
.vf-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.vf-section-heading h2 { margin: 0; }
.vf-text-link { font-weight: 600; text-decoration: underline !important; text-underline-offset: 5px; }
.vf-text-link i { margin-left: 10px; font-size: 13px; }
.vf-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.vf-product { border: 1px solid var(--vf-line); border-radius: 6px; overflow: hidden; background: white; transition: border-color .15s; }
.vf-product:hover { border-color: #a7adae; }
.vf-product > a { display: flex; flex-direction: column; height: 100%; }
.vf-product-image { position: relative; aspect-ratio: 1.55; background: #fff; border-bottom: 1px solid #edf0f0; }
.vf-product-image img { position: absolute; inset: 20px; width: calc(100% - 40px); height: calc(100% - 40px); object-fit: contain; }
.vf-product-copy { padding: 22px; }
.vf-product-copy h3 { font-size: 23px; display: flex; justify-content: space-between; gap: 10px; }
.vf-product-copy h3 i { font-size: 13px; padding-top: 7px; }
.vf-product-copy p:last-child { color: var(--vf-muted); font-size: 16px; margin: 0; }
.vf-reference-band { background: #20272a; color: #fff; }
.vf-reference-band .vf-eyebrow { color: #c6deda; }
.vf-browse-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.vf-browse-grid > a { border-top: 1px solid #677074; padding-top: 22px; }
.vf-browse-grid span { color: #e3bd55; font-size: 12px; }
.vf-browse-grid h3 { font-size: 23px; margin-top: 20px; }
.vf-browse-grid h3 i { font-size: 14px; margin-left: 8px; }
.vf-browse-grid p { font-size: 16px; color: #c3cccf; margin: 0; }
.vf-editorial { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; }
.vf-step-list > div { border-top: 1px solid var(--vf-line); padding: 22px 0 4px 44px; position: relative; }
.vf-step-list span { position: absolute; left: 0; color: var(--vf-teal); font-size: 13px; }
.vf-step-list h3 { margin-bottom: 12px; }
.vf-step-list p { color: var(--vf-muted); }
.vf-supporting { padding-block: 28px; border-block: 1px solid var(--vf-line); }
.vf-supporting > div { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.vf-supporting h2 { font-size: 24px; margin: 0; }
.vf-support-links { display: flex; flex-wrap: wrap; gap: 24px; font-weight: 600; }
.vf-support-links a { padding-block: 10px; }
.vf-enquiry-band { padding-block: 58px; background: #edf3f2; }
.vf-enquiry-band > div { display: flex; justify-content: space-between; align-items: center; gap: 36px; }
.vf-enquiry-band > div > div { max-width: 690px; }
.vf-enquiry-band h2 { font-size: 30px; }
.vf-enquiry-band p:last-child { margin-bottom: 0; }
.vf-enquiry-band .vf-button { flex-shrink: 0; }
.vf-footer { background: #191c20; color: #d2d6d7; font: 16px/1.6 'Barlow', sans-serif; padding-top: 50px; }
.vf-footer-grid { display: grid; grid-template-columns: 1.2fr .7fr 1fr; gap: 55px; padding-bottom: 35px; }
.vf-footer h2 { color: white; font-size: 19px; }
.vf-footer p { margin-bottom: 16px; }
.vf-footer a { display: block; padding-block: 4px; overflow-wrap: anywhere; }
.vf-footer a:hover { color: #e3bd55; }
.vf-social-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.vf-footer .vf-social-links a { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 1px solid #73777b; border-radius: 50%; color: #e3bd55; font-size: 20px; line-height: 1; }
.vf-footer .vf-social-links a:hover, .vf-footer .vf-social-links a:focus-visible { background: #e3bd55; border-color: #e3bd55; color: #191c20; }
.vf-footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-block: 20px; border-top: 1px solid #3b3f42; font-size: 13px; }
.vf-breadcrumb { display: flex; flex-wrap: wrap; gap: 12px; padding-block: 22px; font-size: 14px; color: var(--vf-muted); }
.vf-breadcrumb a { text-decoration: underline; text-underline-offset: 3px; }
.vf-page-intro { padding-block: 22px 35px; }
.vf-page-intro h1 { max-width: 900px; }
.vf-catalogue { padding-bottom: 60px; }
.vf-filter { display: grid; grid-template-columns: 1fr 300px auto; align-items: end; gap: 20px; padding: 24px; background: var(--vf-soft); border-block: 1px solid var(--vf-line); }
.vf-site label { font-size: 14px; font-weight: 600; display: block; }
.vf-site input, .vf-site select, .vf-site textarea { display: block; width: 100%; min-width: 0; border: 1px solid #aeb7ba; background: #fff; color: #23262b; border-radius: 3px; padding: 11px 12px; margin-top: 7px; font-size: 16px; line-height: 1.4; }
.vf-search-input { position: relative; }
.vf-search-input i { position: absolute; left: 14px; top: 16px; font-size: 15px; color: var(--vf-muted); }
.vf-search-input input { padding-left: 40px; }
.vf-reset { background: white; border: 1px solid #aeb7ba; padding: 11px 16px; border-radius: 3px; min-height: 46px; cursor: pointer; }
.vf-reset i { font-size: 13px; margin-right: 6px; }
.vf-catalogue-count { display: flex; justify-content: space-between; gap: 18px; padding-block: 22px; font-size: 14px; }
.vf-catalogue-count p { margin: 0; }
.vf-catalogue-count a { text-decoration: underline; }
.vf-empty { padding: 65px 20px; text-align: center; border-bottom: 1px solid var(--vf-line); }
.vf-empty > a { display: block; margin-top: 24px; text-decoration: underline; }
.vf-product-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 65px; padding-block: 26px 60px; align-items: start; }
.vf-product-detail h1 { font-size: 42px; }
.vf-detail-figure { margin: 0; }
.vf-detail-figure img { aspect-ratio: 1; width: 100%; height: auto; object-fit: contain; padding: 20px; border: 1px solid var(--vf-line); }
.vf-site figcaption { font-size: 13px; line-height: 1.5; color: var(--vf-muted); margin-top: 14px; }
.vf-soft-band { background: var(--vf-soft); }
.vf-spec-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; }
.vf-table-scroll { overflow-x: auto; }
.vf-spec-table { border-collapse: collapse; width: 100%; text-align: left; font-size: 16px; }
.vf-spec-table caption { text-align: left; font-size: 13px; margin-bottom: 12px; color: var(--vf-muted); }
.vf-spec-table th, .vf-spec-table td { padding: 16px 12px; vertical-align: top; border-bottom: 1px solid #cdd3d5; }
.vf-spec-table thead { background: #e3e8e8; }
.vf-spec-table tbody th { width: 30%; }
.vf-application-list { margin: 0; padding-left: 22px; }
.vf-application-list li { padding: 9px 0; }
.vf-reference-intro { padding-bottom: 30px; max-width: 1220px; }
.vf-reference-intro p { max-width: 800px; }
.vf-reference-list { padding-bottom: 60px; }
.vf-reference-list article { display: grid; grid-template-columns: 45px 1fr 90px; gap: 22px; padding-block: 26px; border-top: 1px solid var(--vf-line); align-items: start; }
.vf-reference-list h2 { font-size: 24px; margin-bottom: 12px; }
.vf-reference-list p { max-width: 820px; margin: 0; color: var(--vf-muted); }
.vf-reference-list a { font-size: 14px; text-decoration: underline; }
.vf-reference-list h2 a { font-size: inherit; text-decoration: none; }
.vf-reference-list h2 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.vf-reference-number { color: var(--vf-teal); font-size: 13px; }
.vf-reference-detail { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 64px; padding-bottom: 60px; align-items: start; }
.vf-reference-detail h2 { font-size: 26px; }
.vf-reference-detail section + section { margin-top: 28px; padding-top: 26px; border-top: 1px solid var(--vf-line); }
.vf-reference-detail .vf-detail-figure > a { display: block; position: relative; }
.vf-reference-detail .vf-detail-figure img { aspect-ratio: 49 / 30; padding: 0; }
.vf-image-zoom { position: absolute; right: 10px; top: 10px; width: 36px; height: 36px; display: grid; place-items: center; background: white; color: var(--vf-teal); border: 1px solid var(--vf-line); border-radius: 4px; }
.vf-reference-note { border-left: 3px solid var(--vf-gold); background: var(--vf-soft); padding: 14px 18px; font-size: 14px; }
.vf-guide-links { display: flex; flex-wrap: wrap; gap: 20px 36px; margin-top: 32px; padding-top: 24px; border-top: 1px solid #677074; font-size: 16px; }
.vf-guide-links a { padding-block: 8px; text-decoration: underline; text-underline-offset: 4px; }
.vf-guide-links i { font-size: 12px; margin-left: 8px; }
.page-header[data-product-category="buttweld-fittings"] { background-image: linear-gradient(#0009, #0009), url('../img/ss-buttweld-new.jpg'); }
.page-header[data-product-category="forged"] { background-image: linear-gradient(#0009, #0009), url('../img/ss-forged.jpg'); }
.vf-fitting-overview, .vf-company { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; padding-block: 15px 65px; align-items: start; }
.vf-fitting-overview figure { margin: 0; }
.vf-fitting-overview img { width: 100%; aspect-ratio: 1.3; object-fit: contain; }
.vf-company > img { width: 100%; height: auto; margin-top: 6px; }
.vf-link-list { padding: 0; list-style: none; }
.vf-link-list a { display: flex; justify-content: space-between; gap: 14px; padding-block: 13px; border-bottom: 1px solid var(--vf-line); }
.vf-link-list i { font-size: 12px; padding-top: 7px; }
.vf-resource-links { display: flex; gap: 30px; padding-bottom: 60px; flex-wrap: wrap; }
.vf-resource-links a { text-decoration: underline; }
.vf-contact-layout { display: grid; grid-template-columns: 1fr 300px; gap: 70px; padding-bottom: 65px; }
.vf-site fieldset { border: 0; border-top: 1px solid var(--vf-line); padding: 20px 0 30px; margin: 0; min-width: 0; }
.vf-site legend { font-size: 18px; font-weight: 600; padding-right: 20px; }
.vf-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-bottom: 22px; }
.vf-form-note { font-size: 14px; color: var(--vf-muted); }
.vf-contact-aside { border-left: 1px solid var(--vf-line); padding-left: 28px; }
.vf-contact-aside h2 { font-size: 28px; }
.vf-contact-aside h3 { margin-top: 32px; }
.vf-contact-aside a { display: block; margin-bottom: 12px; overflow-wrap: anywhere; }
.vf-contact-aside address { font-style: normal; margin-bottom: 25px; }
.vf-contact-aside p { color: var(--vf-muted); font-size: 15px; }
.vf-office-section { border-top: 1px solid var(--vf-line); }
.vf-office-map { margin: 0; }
.vf-office-map-image { position: relative; aspect-ratio: 2 / 1; background: #fff; }
.vf-office-map-image > img { display: block; width: 100%; height: 100%; object-fit: contain; }
.vf-office-pin { position: absolute; left: 70.2278%; top: 39.4667%; transform: translate(-50%, -100%); display: grid; place-items: center; width: 44px; height: 44px; color: #9b6500; }
.vf-office-pin i { font-size: 36px; line-height: 1; filter: drop-shadow(0 1px 2px #fff); }
.vf-office-pin span { position: absolute; top: 100%; left: 50%; transform: translateX(-50%); padding: 3px 8px; background: #fff; color: var(--vf-ink); font-size: 12px; font-weight: 700; white-space: nowrap; }
.vf-office-pin:hover { color: var(--vf-teal); }
.vf-office-map figcaption { margin-top: 24px; padding-left: 18px; border-left: 3px solid var(--vf-gold); }
.vf-office-map figcaption strong { display: block; margin-bottom: 6px; }
.vf-office-map address { font-style: normal; color: var(--vf-muted); font-size: 15px; line-height: 1.7; }
.vf-legacy-sidebar { padding: 20px; }
.vf-legacy-sidebar h2 { font-size: 21px; }
.vf-legacy-sidebar a, .vf-legacy-related a { display: block; padding: 10px; border-bottom: 1px solid var(--vf-line); color: #23262b; }
.vf-legacy-related { display: flex; flex-wrap: wrap; gap: 20px; margin-block: 25px; }
.vf-legacy-quote { margin: 20px 0; }
.vf-product-navigation { font: 16px/1.5 'Barlow', sans-serif; color: var(--vf-ink); background: var(--vf-soft); border-block: 1px solid var(--vf-line); padding-block: 18px; margin-bottom: 24px; }
.vf-product-navigation *, .vf-product-information * { box-sizing: border-box; letter-spacing: 0; }
.vf-product-navigation h2, .vf-site .vf-product-navigation h2 { font: 700 18px/1.3 'Barlow', sans-serif; color: var(--vf-ink); margin: 0 0 12px; }
.vf-product-nav-groups { display: flex; flex-wrap: wrap; gap: 10px 28px; align-items: start; }
.vf-product-nav-groups details { position: relative; }
.vf-product-nav-groups summary { cursor: pointer; padding: 8px 0; font-weight: 600; }
.vf-product-nav-groups details > div { position: absolute; z-index: 25; top: 100%; left: 0; width: 290px; max-height: 360px; overflow-y: auto; background: #fff; border: 1px solid var(--vf-line); box-shadow: 0 8px 18px #23262b15; padding: 10px 14px; }
.vf-product-nav-groups details:nth-last-child(-n+2) > div { left: auto; right: 0; }
.vf-product-navigation a { display: block; color: var(--vf-ink); text-decoration: none; padding: 9px 4px; border-bottom: 1px solid var(--vf-line); overflow-wrap: anywhere; }
.vf-product-navigation a:hover, .vf-product-navigation a[aria-current] { color: var(--vf-teal); text-decoration: underline; font-weight: 600; }
.vf-product-navigation :focus-visible { outline: 3px solid var(--vf-teal); outline-offset: 2px; }
.vf-product-information { font: 17px/1.6 'Barlow', sans-serif; color: var(--vf-ink); background: #fff; }
.vf-information-section { padding-block: 36px; border-top: 1px solid var(--vf-line); }
.vf-information-section h2 { font: 700 28px/1.2 'Barlow', sans-serif; color: var(--vf-ink); margin: 0 0 18px; }
.vf-information-section > p { max-width: 900px; color: var(--vf-muted); margin: 0 0 24px; }
.vf-information-section .vf-spec-table { table-layout: fixed; }
.vf-information-section .vf-spec-table th, .vf-information-section .vf-spec-table td { overflow-wrap: anywhere; }
.vf-information-section .vf-spec-table th:first-child { width: 24%; }
.vf-information-section a { color: var(--vf-teal); text-decoration: underline; text-underline-offset: 3px; }
.vf-information-section .vf-table-scroll:focus-visible { outline: 3px solid var(--vf-teal); outline-offset: 3px; }
.content-section > .vf-product-navigation .vf-wrap, .content-section > .vf-product-information .vf-wrap { width: 100%; }
.content-section > .vf-product-navigation { padding-inline: 16px; }
.content-section > .vf-product-information { text-align: left; }
.content-section > .vf-product-navigation .vf-product-nav-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 20px; }
.content-section > .vf-product-navigation details > div { position: static; width: 100%; box-shadow: none; }
@media (max-width: 600px) {
    .vf-information-section .vf-spec-table { min-width: 640px; }
    .vf-information-section h2 { font-size: 25px; }
}
@media (max-width: 850px) {
    .vf-product-nav-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 22px; }
    .vf-product-nav-groups details > div { position: static; width: 100%; box-shadow: none; max-height: 300px; }
}
@media (max-width: 400px) { .vf-product-nav-groups { gap: 6px 16px; font-size: 14px; } }
.vf-company-reel { margin: 6px 0 0; min-width: 0; }
.vf-forging-reel { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; background: #101314; border: 6px solid #23262b; border-radius: 8px; box-shadow: 0 12px 28px #23262b18; }
.vf-company-reel figcaption { margin-top: 12px; color: var(--vf-muted); font-size: 13px; }
.vf-reel-fallback { font-size: 14px; margin-top: 12px !important; }
.vf-reel-fallback a { color: var(--vf-teal); text-decoration: underline; }
.vf-about-soft { background: #f3f6f5; border-block: 1px solid #e2e8e6; }
.vf-about-heading { max-width: 830px; margin-bottom: 34px; }
.vf-about-heading > p:last-child, .vf-about-split > div > p:not(.vf-eyebrow) { color: #505960; line-height: 1.75; }
.vf-about-columns, .vf-about-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
.vf-about-columns > div { border-top: 2px solid var(--vf-teal); padding-top: 24px; display: flex; flex-direction: column; min-width: 0; }
.vf-about-columns h3, .vf-about-steps h3 { font-size: 23px; line-height: 1.25; }
.vf-about-columns p, .vf-about-steps p { font-size: 16px; line-height: 1.75; color: #505960; }
.vf-about-columns .vf-text-link { margin-top: auto; font-size: 15px; }
.vf-about-supporting { border-top: 1px solid #d2dcd8; padding-top: 24px; margin: 32px 0 0 !important; font-size: 15px; }
.vf-about-supporting a { color: var(--vf-teal); text-decoration: underline; text-underline-offset: 3px; }
.vf-about-supporting span { margin-inline: 8px; }
.vf-about-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; align-items: start; }
.vf-about-principles > div { border-top: 1px solid var(--vf-line); padding-block: 24px 8px; }
.vf-about-principles h3 { font-size: 22px; }
.vf-about-principles p { color: #505960; font-size: 16px; line-height: 1.75; }
.vf-about-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.vf-about-photos figure { margin: 0; min-width: 0; }
.vf-about-photos figure > a { aspect-ratio: 1.6; display: flex; align-items: center; justify-content: center; background: #e8eeec; }
.vf-about-photos img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.vf-about-photos figcaption { font-size: 13px; color: var(--vf-muted); margin-top: 12px; }
.vf-about-facility-links { display: flex; align-items: start; justify-content: space-between; gap: 32px; padding-top: 28px; }
.vf-about-facility-links p { max-width: 750px; margin: 0; color: #505960; font-size: 15px; }
.vf-about-facility-links > a { flex-shrink: 0; font-size: 15px; }
.vf-about-quality-list { margin: 0; }
.vf-about-quality-list dt { border-top: 1px solid var(--vf-line); padding-top: 20px; font-size: 18px; font-weight: 600; color: var(--vf-teal); }
.vf-about-quality-list dd { margin: 10px 0 24px; font-size: 16px; line-height: 1.75; }
.vf-about-steps { list-style: none; margin: 0; padding: 0; counter-reset: enquiry; }
.vf-about-steps li { counter-increment: enquiry; border-top: 1px solid #cdd9d4; padding-top: 20px; }
.vf-about-steps li::before { content: '0' counter(enquiry); display: block; color: var(--vf-teal); font-size: 14px; font-weight: 600; margin-bottom: 18px; }
.vf-about-contact { border-left: 3px solid var(--vf-gold); padding-left: 28px; min-width: 0; }
.vf-about-contact h3 { font-size: 23px; line-height: 1.3; }
.vf-about-contact address { font-style: normal; color: #505960; margin-bottom: 24px; }
.vf-about-contact > a { display: flex; align-items: baseline; gap: 12px; padding-block: 10px; font-size: 16px; overflow-wrap: anywhere; }
.vf-about-contact > a:hover { color: var(--vf-teal); text-decoration: underline; }
.vf-about-contact i { color: var(--vf-teal); flex-shrink: 0; }
@media (max-width: 850px) {
    .vf-about-split { gap: 32px; }
    .vf-about-columns, .vf-about-steps { gap: 24px; }
    .vf-about-facility-links { flex-direction: column; gap: 16px; }
}
@media (max-width: 600px) {
    .vf-about-columns, .vf-about-steps, .vf-about-split, .vf-about-photos { grid-template-columns: minmax(0, 1fr); }
    .vf-about-contact { padding-left: 18px; }
}
.vf-service-directory { background: #edf3f2; border-block: 1px solid #d2e0de; }
.vf-service-directory > div { display: flex; flex-wrap: wrap; gap: 4px 28px; padding-block: 14px; }
.vf-service-directory a { font-size: 14px; font-weight: 600; padding-block: 8px; }
.vf-service-directory a:hover { color: var(--vf-teal); text-decoration: underline; text-underline-offset: 4px; }
.vf-service-range-intro { display: flex; justify-content: space-between; align-items: start; gap: 36px; margin-bottom: 36px; }
.vf-service-range-intro p { max-width: 770px; color: var(--vf-muted); margin: 0; }
.vf-service-range-intro > a { flex-shrink: 0; font-size: 15px; }
.vf-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 32px; }
.vf-service-industry { display: flex; flex-direction: column; min-width: 0; border-bottom: 2px solid var(--vf-line); padding-bottom: 24px; scroll-margin-top: 24px; }
.vf-service-image { aspect-ratio: 1.5; overflow: hidden; background: var(--vf-soft); margin-bottom: 24px; }
.vf-service-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vf-service-industry-title { display: flex; align-items: baseline; gap: 12px; margin-bottom: 16px; }
.vf-service-industry-title > span { font-size: 12px; font-weight: 600; color: var(--vf-teal); }
.vf-service-industry-title h2 { font-size: 26px; line-height: 1.2; margin: 0; font-weight: 600; }
.vf-service-industry > p { font-size: 16px; line-height: 1.75; color: #505960; }
.vf-service-industry dl { margin: auto 0 24px; padding-top: 18px; border-top: 1px solid var(--vf-line); }
.vf-service-industry dt { font-size: 13px; font-weight: 600; color: var(--vf-teal); margin-bottom: 6px; }
.vf-service-industry dd { margin: 0 0 16px; font-size: 15px; line-height: 1.65; }
.vf-service-industry dd:last-child { margin-bottom: 0; }
.vf-service-guide { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; font-size: 15px; font-weight: 600; }
.vf-service-guide i { flex-shrink: 0; font-size: 12px; }
.vf-service-guide:hover { color: var(--vf-teal); text-decoration: underline; text-underline-offset: 4px; }
.vf-service-support { padding-block: 56px; border-top: 1px solid var(--vf-line); background: #f3f5f5; }
.vf-service-support-heading { max-width: 820px; margin-bottom: 32px; }
.vf-service-support-heading > p:last-child { font-size: 15px; color: var(--vf-muted); }
.vf-service-support-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
.vf-service-support-grid > div > i { font-size: 24px; color: var(--vf-teal); margin-bottom: 20px; }
.vf-service-support-grid h3 { font-size: 22px; line-height: 1.25; }
.vf-service-support-grid p { margin: 0; font-size: 16px; color: #505960; }
@media (max-width: 1000px) {
    .vf-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vf-service-range-intro { flex-direction: column; gap: 16px; }
}
@media (max-width: 600px) {
    .vf-service-grid, .vf-service-support-grid { grid-template-columns: minmax(0, 1fr); }
    .vf-service-directory > div { gap: 0 22px; }
    .vf-service-industry-title h2 { font-size: 25px; }
    .vf-service-grid { gap: 32px; }
    .vf-service-support { padding-block: 36px; }
}
.vf-home-jump { border-bottom: 1px solid var(--vf-line); background: #fff; }
.vf-home-jump > div { display: flex; flex-wrap: wrap; gap: 4px 32px; padding-block: 16px; }
.vf-home-jump a { padding-block: 8px; font-size: 14px; font-weight: 600; }
.vf-home-jump a:hover { color: var(--vf-teal); text-decoration: underline; text-underline-offset: 5px; }
.vf-site section[id^="home-"] { scroll-margin-top: 24px; }
.vf-home-section-lead { max-width: 840px; color: var(--vf-muted); margin-bottom: 32px !important; }
.vf-home-new-range { margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--vf-line); }
.vf-home-range-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 36px; list-style: none; padding: 0; margin: 0; }
.vf-home-range-links a { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding-block: 13px; border-bottom: 1px solid var(--vf-line); }
.vf-home-range-links a:hover { color: var(--vf-teal); text-decoration: underline; }
.vf-home-range-links i { flex-shrink: 0; font-size: 12px; }
.vf-product-notes { padding-bottom: 44px; }
.vf-product-notes h2 { font-size: 26px; }
.vf-product-illustration > a { position: relative; display: block; }
.vf-product-illustration img { aspect-ratio: 49 / 30; padding: 0; }
.vf-home-about, .vf-home-standards, .vf-home-drawing, .vf-home-faq { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: start; }
.vf-home-principles > div { border-top: 1px solid #cdd3d5; padding: 22px 0 8px 48px; position: relative; }
.vf-home-principles span { position: absolute; left: 0; top: 24px; color: var(--vf-teal); font-size: 14px; font-weight: 600; }
.vf-home-principles h3 { margin-bottom: 12px; }
.vf-home-principles p { color: var(--vf-muted); }
.vf-home-materials { background: #edf3f2; border-block: 1px solid #d2e0de; }
.vf-home-material-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.vf-home-material-grid > div { border-top: 2px solid var(--vf-teal); padding-top: 20px; }
.vf-home-material-grid h3 { font-size: 21px; min-height: 48px; }
.vf-home-material-grid ul { list-style: none; padding: 0; margin: 0; }
.vf-home-material-grid a { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; border-bottom: 1px solid #d2e0de; padding-block: 12px; font-size: 16px; }
.vf-home-material-grid a:hover { color: var(--vf-teal); text-decoration: underline; }
.vf-home-material-grid i { font-size: 11px; flex-shrink: 0; }
.vf-home-footnote { font-size: 13px; color: var(--vf-muted); margin: 22px 0 0 !important; }
.vf-home-industry-grid, .vf-home-facing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.vf-home-industry-grid article { border: 1px solid var(--vf-line); border-radius: 6px; overflow: hidden; }
.vf-home-industry-grid img { width: 100%; height: auto; aspect-ratio: 1.55; object-fit: cover; }
.vf-home-industry-grid article > div { padding: 24px; }
.vf-home-industry-grid h3 { font-size: 24px; }
.vf-home-industry-grid p, .vf-home-application-row p, .vf-home-facing-grid p { color: var(--vf-muted); font-size: 16px; }
.vf-home-industry-grid .vf-text-link { font-size: 15px; }
.vf-home-application-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; border-top: 1px solid var(--vf-line); margin-top: 32px; padding-top: 28px; }
.vf-home-application-row h3 { font-size: 21px; }
.vf-home-application-row p { margin-bottom: 0; }
.vf-home-standard-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.vf-home-standard-list a { padding-top: 18px; border-top: 1px solid #c6d0d1; }
.vf-home-standard-list h3 { font-size: 21px; }
.vf-home-standard-list i { font-size: 12px; margin-left: 8px; }
.vf-home-standard-list p { font-size: 15px; color: var(--vf-muted); margin: 0; }
.vf-home-facing-grid img { aspect-ratio: 49 / 30; width: 100%; height: auto; object-fit: contain; border: 1px solid var(--vf-line); margin-bottom: 20px; }
.vf-home-facing-grid h3 { font-size: 23px; }
.vf-home-facing-grid i { font-size: 12px; margin-left: 8px; }
.vf-home-facing-grid p { margin: 0; }
.vf-home-quality { background: #20272a; color: #fff; }
.vf-home-quality .vf-eyebrow { color: #e3bd55; }
.vf-home-quality .vf-home-section-lead, .vf-home-quality-grid p { color: #cbd5d7; }
.vf-home-quality-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; }
.vf-home-quality-grid > div { border-top: 1px solid #677074; padding-top: 22px; }
.vf-home-quality-grid > div > i { font-size: 26px; color: #e3bd55; margin-bottom: 22px; }
.vf-home-quality-grid h3 { font-size: 23px; }
.vf-home-quality-grid p { font-size: 16px; margin: 0; }
.vf-home-drawing { align-items: center; }
.vf-home-drawing figure { margin: 0; min-width: 0; }
.vf-home-drawing img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; padding: 24px; border: 1px solid var(--vf-line); }
.vf-home-checklist { list-style: none; padding: 0; margin: 24px 0; }
.vf-home-checklist li { border-top: 1px solid var(--vf-line); padding: 12px 0 12px 20px; position: relative; font-size: 16px; }
.vf-home-checklist li::before { content: ''; position: absolute; left: 0; top: 24px; width: 6px; height: 6px; background: var(--vf-teal); }
.vf-home-faq { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); }
.vf-home-faq details { border-top: 1px solid var(--vf-line); }
.vf-home-faq details:last-child { border-bottom: 1px solid var(--vf-line); }
.vf-home-faq summary { list-style: none; display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding-block: 22px; font-size: 19px; font-weight: 600; cursor: pointer; }
.vf-home-faq summary::-webkit-details-marker { display: none; }
.vf-home-faq summary i { font-size: 12px; color: var(--vf-teal); flex-shrink: 0; }
.vf-home-faq details[open] summary i { transform: rotate(45deg); }
.vf-home-faq details p { color: var(--vf-muted); font-size: 16px; padding-right: 24px; margin-bottom: 24px; }
@keyframes vf-appear { from { opacity: .2; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1100px) { #vf-menu { gap: 15px; } .vf-brand strong { font-size: 25px; } }
@media (max-width: 850px) {
    .vf-wrap { width: calc(100% - 40px); }
    .vf-nav { flex-wrap: wrap; min-height: 80px; padding-block: 12px; }
    #vf-menu { width: 100%; flex-direction: column; align-items: stretch; gap: 0; padding-bottom: 10px; }
    #vf-menu > a, .vf-nav-group summary { padding: 13px 5px; border-bottom: 1px solid var(--vf-line); }
    .vf-header.vf-enhanced #vf-menu { display: none; }
    .vf-header.vf-enhanced.vf-menu-open #vf-menu { display: flex; }
    .vf-nav-group > div { position: static; width: 100%; border: 0; box-shadow: none; padding-block: 2px; }
    .vf-nav-quote { display: inline-flex; margin-top: 12px; }
    .vf-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vf-filter { grid-template-columns: 1fr 1fr; } .vf-reset { justify-self: start; }
    .vf-editorial, .vf-product-detail, .vf-spec-layout, .vf-company, .vf-fitting-overview { gap: 32px; }
    .vf-product-detail h1 { font-size: 34px; }
    .vf-contact-layout { grid-template-columns: 1fr; gap: 30px; }
    .vf-contact-aside { border: 0; border-top: 1px solid var(--vf-line); padding: 28px 0; }
    .vf-enquiry-band > div { align-items: flex-start; flex-direction: column; }
    .vf-footer-grid { grid-template-columns: 1fr 1fr; gap: 35px; }
    .vf-reference-detail { grid-template-columns: 1fr; gap: 36px; }
    .vf-reference-detail aside { max-width: 680px; }
    .vf-home-about, .vf-home-standards, .vf-home-drawing, .vf-home-faq { grid-template-columns: 1fr; gap: 32px; }
    .vf-home-material-grid, .vf-home-quality-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vf-home-industry-grid { grid-template-columns: 1fr; }
    .vf-home-industry-grid article { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .vf-home-industry-grid img { height: 100%; min-height: 240px; }
    .vf-home-facing-grid { gap: 20px; }
    .vf-home-facing-grid h3 { font-size: 21px; }
}
@media (max-width: 600px) {
    .vf-site h1 { font-size: 34px; } .vf-site h2 { font-size: 28px; }
    .vf-contact-bar { font-size: 11px; } .vf-contact-bar .vf-wrap { gap: 14px; justify-content: space-between; }
    .vf-hero { min-height: 530px; height: auto; align-items: flex-end; }
    .vf-hero-photo { object-position: 58% center; }
    .vf-hero::after { background: linear-gradient(0deg, #101315fa, #10131595 60%, #10131510); }
    .vf-hero-copy { padding-block: 140px 30px; }
    .vf-hero h1 { font-size: 40px; } .vf-hero p:not(.vf-eyebrow) { font-size: 17px; }
    .vf-actions .vf-button { font-size: 14px; padding: 12px 16px; }
    .vf-section { padding-block: 42px; } .vf-section-heading { align-items: flex-start; flex-direction: column; gap: 18px; }
    .vf-product-grid, .vf-browse-grid, .vf-editorial, .vf-product-detail, .vf-spec-layout, .vf-company, .vf-fitting-overview, .vf-footer-grid { grid-template-columns: 1fr; }
    .vf-product-image { aspect-ratio: 1.75; }
    .vf-browse-grid { gap: 28px; } .vf-browse-grid h3 { margin-top: 12px; }
    .vf-supporting > div { align-items: flex-start; flex-direction: column; gap: 12px; }
    .vf-supporting h2 { font-size: 23px; } .vf-support-links { gap: 12px 24px; }
    .vf-footer-bottom { flex-direction: column; gap: 6px; }
    .vf-filter { grid-template-columns: 1fr; padding: 18px; gap: 16px; }
    .vf-catalogue-count { font-size: 13px; }
    .vf-product-detail { padding-top: 5px; } .vf-detail-figure img { aspect-ratio: 1.35; }
    .vf-product-detail h1 { font-size: 34px; }
    .vf-reference-list article { grid-template-columns: 24px 1fr; gap: 14px; }
    .vf-reference-list article > a { grid-column: 2; }
    .vf-form-grid { grid-template-columns: 1fr; gap: 18px; }
    .vf-lead { font-size: 18px; } .vf-breadcrumb { font-size: 12px; gap: 8px; }
    .vf-home-jump > div { gap: 0 22px; padding-block: 10px; }
    .vf-home-jump a { font-size: 13px; }
    .vf-home-range-links { grid-template-columns: 1fr; }
    .vf-home-material-grid, .vf-home-quality-grid, .vf-home-facing-grid, .vf-home-application-row, .vf-home-standard-list { grid-template-columns: 1fr; }
    .vf-home-material-grid h3 { min-height: 0; margin-bottom: 12px; }
    .vf-home-material-grid a { padding-block: 10px; }
    .vf-home-industry-grid article { display: block; }
    .vf-home-industry-grid img { height: auto; min-height: 0; }
    .vf-home-industry-grid article > div { padding: 22px; }
    .vf-home-standard-list { gap: 22px; }
    .vf-home-faq summary { font-size: 18px; }
    .vf-home-principles > div { padding-left: 36px; }
}
@media (prefers-reduced-motion: reduce) { .vf-site *, .vf-site *::before, .vf-site *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }