/*
! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-y-0{top:0;bottom:0}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-16{top:4rem}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\[2px\]{margin-top:2px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-3{height:.75rem}.h-\[52px\]{height:52px}.max-h-60{max-height:15rem}.min-h-\[60vh\]{min-height:60vh}.min-h-\[72px\]{min-height:72px}.min-h-\[calc\(100vh-160px\)\]{min-height:calc(100vh - 160px)}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-3{width:.75rem}.w-\[52px\]{width:52px}.w-\[70\%\]{width:70%}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.min-w-max{min-width:-moz-max-content;min-width:max-content}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.border-emerald-500\/30{border-color:rgba(16,185,129,.3)}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}.border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity))}.border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity))}.border-neutral-600{--tw-border-opacity:1;border-color:rgb(82 82 82/var(--tw-border-opacity))}.border-neutral-700{--tw-border-opacity:1;border-color:rgb(64 64 64/var(--tw-border-opacity))}.border-neutral-800{--tw-border-opacity:1;border-color:rgb(38 38 38/var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity))}.border-yellow-400{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity))}.border-yellow-500{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity))}.border-yellow-700{--tw-border-opacity:1;border-color:rgb(161 98 7/var(--tw-border-opacity))}.border-zinc-800{--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity))}.bg-\[\#0A0F1A\]{--tw-bg-opacity:1;background-color:rgb(10 15 26/var(--tw-bg-opacity))}.bg-\[\#111111\]{--tw-bg-opacity:1;background-color:rgb(17 17 17/var(--tw-bg-opacity))}.bg-\[\#FAC720\]{--tw-bg-opacity:1;background-color:rgb(250 199 32/var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-black\/40{background-color:rgba(0,0,0,.4)}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-black\/60{background-color:rgba(0,0,0,.6)}.bg-blue-950\/40{background-color:rgba(23,37,84,.4)}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity))}.bg-emerald-500\/10{background-color:rgba(16,185,129,.1)}.bg-emerald-950\/60{background-color:rgba(2,44,34,.6)}.bg-green-950\/40{background-color:rgba(5,46,22,.4)}.bg-neutral-900{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity))}.bg-neutral-900\/40{background-color:hsla(0,0%,9%,.4)}.bg-neutral-950{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity))}.bg-neutral-950\/70{background-color:hsla(0,0%,4%,.7)}.bg-neutral-950\/80{background-color:hsla(0,0%,4%,.8)}.bg-neutral-950\/95{background-color:hsla(0,0%,4%,.95)}.bg-red-950\/40{background-color:rgba(69,10,10,.4)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity))}.p-10{padding:2.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pl-5{padding-left:1.25rem}.pt-2{padding-top:.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[8px\]{font-size:8px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-\[\#FAC720\]{--tw-text-opacity:1;color:rgb(250 199 32/var(--tw-text-opacity))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-200{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity))}.text-emerald-200{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity))}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity))}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity))}.text-neutral-100{--tw-text-opacity:1;color:rgb(245 245 245/var(--tw-text-opacity))}.text-neutral-200{--tw-text-opacity:1;color:rgb(229 229 229/var(--tw-text-opacity))}.text-neutral-300{--tw-text-opacity:1;color:rgb(212 212 212/var(--tw-text-opacity))}.text-neutral-400{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity))}.text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity))}.text-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity))}.text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity))}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.accent-yellow-400{accent-color:#facc15}.opacity-60{opacity:.6}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-black\/40{--tw-shadow-color:rgba(0,0,0,.4);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@importbody,html{font-family:Lato,sans-serif;padding:0;margin:0;background-color:#000;color:#fff}*{box-sizing:border-box}.hover\:-translate-y-0:hover{--tw-translate-y:-0px}.hover\:-translate-y-0:hover,.hover\:-translate-y-0\.5:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem}.hover\:border-yellow-300:hover{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity))}.hover\:border-yellow-400:hover{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity))}.hover\:bg-gray-900:hover{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.hover\:bg-neutral-800:hover{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity))}.hover\:bg-neutral-900:hover{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity))}.hover\:bg-white\/5:hover{background-color:hsla(0,0%,100%,.05)}.hover\:bg-yellow-300:hover{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity))}.hover\:bg-yellow-400:hover{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity))}.hover\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity))}.hover\:text-black:hover{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.hover\:text-yellow-200:hover{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity))}.hover\:text-yellow-300:hover{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity))}.hover\:text-yellow-400:hover{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:border-yellow-400:focus{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity))}.focus\:bg-black:focus{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\:text-black:focus{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.focus\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-yellow-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(250 204 21/var(--tw-ring-opacity))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:hover\:bg-yellow-400:hover:disabled{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity))}@media (min-width:640px){.sm\:flex{display:flex}.sm\:w-44{width:11rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:w-52{width:13rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[1\.1fr_1\.1fr_1\.5fr\]{grid-template-columns:1.1fr 1.1fr 1.5fr}.md\:grid-cols-\[2fr\2c 1fr\]{grid-template-columns:2fr 1fr}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:py-12{padding-top:3rem;padding-bottom:3rem}.md\:text-left{text-align:left}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-\[11px\]{font-size:11px}.md\:text-\[12px\]{font-size:12px}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}}
/* VS_LOCAL_FONTS_CONTRACT_START */
/* Lato is defined in /vs-fonts.css. We only set the family here. */
html, body { overflow-x: hidden; }
#vsChromeSpacer { display: none !important; height: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; }

/* VS_COMPONENTS_V005_START
   Purpose: Marketing-owned component styles required by shared pages (HIW v005).
   Scope: only .vs-* utility/component classes; does NOT override general marketing layout.
*/
:root{
  --vs-yellow: #EFE521;
  --vs-bg: #0a0a0a;
  --vs-panel: rgba(17,17,17,0.82);
  --vs-border: rgba(255,255,255,0.10);
  --vs-border-strong: rgba(255,255,255,0.16);
}

/* Typography helpers */
.vs-h1{
  font-size: 2.25rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #fff;
}
.vs-subtle{ color: rgba(255,255,255,0.72); }

/* Panels (card + card-in-card) */
.vs-panel{
  background: var(--vs-panel);
  border: 1px solid var(--vs-border);
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.35);
}
.vs-panel.vs-panel--inner{
  background: rgba(10,10,10,0.35);
  border: 1px solid var(--vs-border-strong);
}

/* Pills */
.vs-pill{
  border-radius: 999px;
    padding: 8px 12px;
    font-weight: 700;
  font-size: 13px;
  line-height: 1;
  border: 1px solid rgba(239,229,33,0.45);
  background: transparent;
  color: #fff;
  cursor: pointer;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
  width: fit-content;
}
.vs-pill:hover{
  background: var(--vs-yellow);
  color: #0b0b0b;
  border-color: rgba(239,229,33,1);
}
.vs-pill-active{
  background: var(--vs-yellow);
  color: #0b0b0b;
  border-color: rgba(239,229,33,1);
}
.vs-pill-inactive{
  background: transparent;
  color: #fff;
  border-color: rgba(239,229,33,0.45);
}

/* Left rail group */
.vs-pill-group{
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
}

/* VS_COMPONENTS_V005_END */
/* VS_FONT_CONTRACT_LATO: enforce Lato across marketing-owned UI */
html, body {
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* VS_HIW_GRID_CONTRACT_001: prevent right panel wrapping under left rail */
[data-vs-hiw="v005"] .vs-pill-group {
  width: 11rem;
  flex: 0 0 11rem;
}
[data-vs-hiw="v005"] nav.vs-pill-group { align-self: flex-start; }
[data-vs-hiw="v005"] .min-w-0 { min-width: 0; } /* safety */

@media (min-width: 768px) {
  [data-vs-hiw="v005"] .md\\:grid-cols-\\[max-content\\,1fr\\] {
    grid-template-columns: max-content 1fr;
  }
}

/* VS_HIW_UTILS_V005_START
   Purpose: Minimal utility subset needed for marketing to render shared HIW v005 markup consistently.
   Note: This is NOT Tailwind; it is a tiny compatibility layer for shared pages.
*/

/* layout primitives */
.grid{display:grid}
.flex{display:flex}
.flex-col{flex-direction:column}
.flex-wrap{flex-wrap:wrap}
.items-start{align-items:flex-start}
.items-center{align-items:center}
.justify-end{justify-content:flex-end}
.justify-center{justify-content:center}
.gap-2{gap:.5rem}
.gap-6{gap:1.5rem}
.w-full{width:100%}
.min-w-0{min-width:0}

/* spacing */
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.p-6{padding:1.5rem}
.p-5{padding:1.25rem}
.mt-2{margin-top:.5rem}
.mt-4{margin-top:1rem}
.mt-5{margin-top:1.25rem}
.mt-6{margin-top:1.5rem}
.mb-6{margin-bottom:1.5rem}

/* typography helpers used in HIW */
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.font-semibold{font-weight:600}
.text-white{color:#fff}

/* responsive: md grid columns */
@media (min-width:768px){
  .md\\:grid-cols-\\[max-content\\,1fr\\]{grid-template-columns:max-content 1fr}
}

/* responsive: lg padding */
@media (min-width:1024px){
  .lg\\:px-10{padding-left:2.5rem;padding-right:2.5rem}
}

/* VS_HIW_UTILS_V005_END */

/* VS_HIW_POLISH_001_BEGIN */
/* HIW layout + uniform left-pill widths (Marketing contract) */
[data-vs-hiw="v005"] .vs-grid-nav-panel vs-hiw-grid{
  display:grid;
  grid-template-columns: max-content 1fr;
  gap: 1.5rem;
  align-items:start;
}
@media (max-width: 767px){
  [data-vs-hiw="v005"] .vs-hiw-grid{
    grid-template-columns: 1fr;
  }
}
[data-vs-hiw="v005"] .vs-hiw-nav{
  width: max-content;
}
[data-vs-hiw="v005"] .vs-hiw-nav .vs-pill{
  width: 100%;
  justify-content: center;
  text-align: center;
}
/* VS_HIW_POLISH_001_END */

/* VS_FONT_SYSTEM_001_BEGIN */
/* System-wide font contract: Lato only (with safe fallbacks for load failure). */
html, body{
  font-family: "Lato", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}
/* Ensure buttons/inputs inherit the system font */
button, input, select, textarea{
  font-family: inherit;
}
/* VS_FONT_SYSTEM_001_END */

/* VS_HIW_PILLS_FIXEDWIDTH_001_BEGIN */
/* HIW: left pill nav must be stable width across all audiences.
   Set to accommodate the longest label in the full series (e.g. "Long-Term Relationships"). */
:root{
  --vs-hiw-pill-width: 14rem; /* adjust only if the longest label ever changes */
}
[data-vs-hiw="v005"] .vs-hiw-nav{
  width: var(--vs-hiw-pill-width);
}
[data-vs-hiw="v005"] .vs-hiw-nav .vs-pill{
  width: 100%;
  justify-content: center;
  text-align: center;
}
/* VS_HIW_PILLS_FIXEDWIDTH_001_END */

/* VS_FONT_SYSTEM_001_BEGIN */
/* System-wide font contract: Lato only (with safe fallbacks for load failure). */
html, body{
  font-family: "Lato", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}
/* Ensure buttons/inputs inherit the system font */
button, input, select, textarea{
  font-family: inherit;
}
/* VS_FONT_SYSTEM_001_END */

/* VS_HIW_PILLS_FIXEDWIDTH_001_BEGIN */
/* HIW: left pill nav must be stable width across all audiences.
   Set to accommodate the longest label in the full series (e.g. "Long-Term Relationships"). */
:root{
  --vs-hiw-pill-width: 14rem; /* adjust only if the longest label ever changes */
}
[data-vs-hiw="v005"] .vs-hiw-nav{
  width: var(--vs-hiw-pill-width);
}
[data-vs-hiw="v005"] .vs-hiw-nav .vs-pill{
  width: 100%;
  justify-content: center;
  text-align: center;
}
/* VS_HIW_PILLS_FIXEDWIDTH_001_END */

/* VS_LATO_LOCK_OVERRIDE_START */
/* Marketing-owned font contract: force Lato everywhere (wins over Tailwind preflight and browser defaults). */
:host, html, body,
button, input, select, textarea, optgroup {
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
}
/* VS_LATO_LOCK_OVERRIDE_END */

/* VS_LATO_NUKE_OVERRIDE_START */
/* Marketing-owned font contract: force Lato everywhere (including all descendants). */
:host, html, body, body *,
button, input, select, textarea, optgroup {
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
}
/* VS_LATO_NUKE_OVERRIDE_END */

/* VS_FONT_LOCK_FINAL_START */
/* Final font lock. Applies after all preflight/utilities. */
:host, html, body, body *,
button, input, select, textarea, optgroup {
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
}
/* VS_FONT_LOCK_FINAL_END */

/* VS_BULLET_DOT_STANDARD_V001 */
.vs-bullet-dot{
  display: inline-block;
  min-width: 0.5rem;
  min-height: 0.5rem;
  flex: 0 0 auto;
}

/* VS_PILL_IMMUTABLE_STANDARD_V001 */
button.vs-pill,
nav.vs-pill-group .vs-pill{
  width: fit-content !important;
  max-width: max-content !important;
}

/* VS_BULLET_IMMUTABLE_STANDARD_V001 */
.vs-bullet-dot{
  display: inline-block;
  min-width: 0.5rem;
  min-height: 0.5rem;
  flex: 0 0 auto !important;
}

/* VS_BRAND_STANDARD_V001 */
.vs-yellow, .vs-brand{
  color: var(--vs-yellow) !important;
}

/* VS_TAGLINE_STANDARD_V001 */
.vs-tagline{
  font-weight: 700 !important;
}

/* VS_BULLET_IMMUTABLE_STANDARD_V002 */
.vs-bullet-dot{
  display: inline-block;
  min-width: 0.5rem;
  min-height: 0.5rem;
  flex: 0 0 auto !important;
}

/* VS_BULLET_VISIBILITY_STANDARD_V001 */
.vs-bullet-dot{
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  flex: 0 0 auto !important;
}
.vs-bullet-row{
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}

/* VS_PILL_CENTER_STANDARD_V001 */
button.vs-pill{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

/* VS_BULLET_ROW_STANDARD_V001 */
.vs-bullet-row{
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}
.vs-bullet-dot{
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 9999px;
  flex: 0 0 auto !important;
}

/* VS_PILL_WEIGHT_STANDARD_V001 */
.vs-pill-active{
  font-weight: 700 !important;
}
.vs-pill-inactive{
  font-weight: 600 !important;
}

/* VS_LAYOUT_RHYTHM_TOKENS_V001 */
:root{
  --vs-gap-nav-panel: 16px;
}
.vs-grid-nav-panel{
  gap: var(--vs-gap-nav-panel) !important;
}

/* VS_LAYOUT_RHYTHM_TOKENS_V002 */
:root{
  --vs-gap-nav-panel: 16px;
}
/* Non-stacking primary layout: nav + panel */
.vs-grid-nav-panel{
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr) !important;
  gap: var(--vs-gap-nav-panel) !important;
  align-items: start !important;
}
@media (max-width: 767px){
  /* On small screens, allow stacking */
  .vs-grid-nav-panel{
    grid-template-columns: 1fr !important;
  }
}

/* VS_HIW_DIRECTORS_LAYOUT_V001
   Director hotfix:
   - Non-stacking HIW primary layout at md+
   - Pill widths driven by CSS vars set by JS (no flicker)
*/
:root{
  --vs-hiw-left-pill-w: 0px;
  --vs-hiw-top-pill-w: 0px;
  --vs-gap-nav-panel: 16px;
}

@media (min-width: 768px){
  [data-vs-hiw="v005"] .vs-hiw-grid{
    display: grid !important;
    grid-template-columns: auto minmax(0,1fr) !important;
    gap: var(--vs-gap-nav-panel) !important;
    align-items: start !important;
  }
}

[data-vs-hiw="v005"] nav.vs-pill-group button.vs-pill{
  width: var(--vs-hiw-left-pill-w) !important;
  max-width: var(--vs-hiw-left-pill-w) !important;
}

[data-vs-hiw="v005"] .flex.flex-wrap.justify-end.gap-2 button.vs-pill{
  width: var(--vs-hiw-top-pill-w) !important;
  max-width: var(--vs-hiw-top-pill-w) !important;
}

/* VS_SCROLLBAR_GUTTER_STABLE_V001
   Prevent horizontal layout shift when content height changes by reserving scrollbar gutter.
*/
html{
  scrollbar-gutter: stable;
}
/* safety for shells that own scroll */
.vs-scroll-shell{
  scrollbar-gutter: stable;
}

/* VS-VEH-UI-001: BEGIN */
/*
  VS-VEH-UI-001
  - Pill Group width law: nav.vs-pill-group equalises to longest label.
  - Single scroll owner: .vs-scroll-shell scrolls; header/footer stay outside scroll.
  - Remove ghost right gutter: stop double-reserving scrollbar width; keep gutter stable on scroll owner only.
*/

html, body {
  overflow: hidden !important;
  background: #000 !important;
}

/* Shell: layout only (no scrolling) */
.vs-app-scroll {
  height: 100dvh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  overflow: hidden !important;
  scrollbar-gutter: auto;
  background: #000;
}

.vs-main {
  flex: 1 1 auto;
  min-height: 0;
}

.vs-scroll-shell {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-gutter: stable;
}


/* Scrollbar styling on scroll owner only */
.vs-scroll-shell::-webkit-scrollbar { width: 12px !important; }
.vs-scroll-shell::-webkit-scrollbar-track { background: transparent !important; }
.vs-scroll-shell::-webkit-scrollbar-thumb { background: #EFE521 !important; border-radius: 12px; }

/* Marketing scroll shell (marketing HTML) */
.vs-mkt-scroll-shell::-webkit-scrollbar { width: var(--vs-scrollbar-w, 28px) !important; }
.vs-mkt-scroll-shell::-webkit-scrollbar-track { background: transparent !important; }
.vs-mkt-scroll-shell::-webkit-scrollbar-thumb { background: #EFE521 !important; border-radius: 9999px !important; }

/* Pill group equal-width law */
nav.vs-pill-group {
  display: inline-grid !important;
  grid-auto-flow: row;
  justify-items: stretch;
  width: max-content;
  gap: 10px;
}
nav.vs-pill-group .vs-pill {
  width: 100% !important;
  white-space: nowrap !important;
}
/* VS-VEH-UI-001: END */

/* VS-HF-CONTRACT-006: BEGIN */
/*
  VS-HF-CONTRACT-006
  - Pills: set width equals longest label for nav.vs-pill-group (and vs-pill-set).
  - Remove ghost right gutter: do NOT reserve scrollbar gutter on html/root; only scroll host reserves.
  - HF background: force header/footer to true black (override bg-neutral-950 classes).
*/

/* 1) Root must NOT reserve gutter */
html { scrollbar-gutter: auto !important; }

/* 2) Scroll host keeps stable gutter (no layout jump) */
.vs-scroll-shell { scrollbar-gutter: stable; }

/* 3) Pill group set law */
nav.vs-pill-group, nav.vs-pill-set {
  display: inline-grid !important;
  grid-auto-flow: row;
  justify-items: stretch;
  width: max-content !important;
  gap: 10px;
}
nav.vs-pill-group .vs-pill, nav.vs-pill-set .vs-pill {
  grid-column: 1 / -1;
  justify-self: stretch;
  width: 100% !important;
  white-space: nowrap !important;
}

/* 4) HF must be black (or near-black) */
header, footer {
  background-color: rgba(0,0,0,0.95) !important;
}
/* VS-HF-CONTRACT-006: END */

/* VS-HF-CONTRACT-007: BEGIN */
/*
  VS-HF-CONTRACT-007
  - CLEAN: remove accidental '...' corruption and any debug outlines.
  - Pills: enforce equal-width pill sets (longest label wins) for nav.vs-pill-group across both sites.
  - Gutter: prevent root gutter reservation; keep gutter only on actual scroll host; keep track transparent.
  - HF: force header/footer backgrounds to black/near-black (override bg-neutral-950 classes).
*/

html { scrollbar-gutter: auto !important; }
body { background: #000 !important; }

/* Scroll host gutter (staging uses .vs-scroll-shell, marketing uses .vs-mkt-scroll-shell > main) */
.vs-scroll-shell { scrollbar-gutter: stable !important; }
.vs-mkt-scroll-shell > main { scrollbar-gutter: stable !important; }

/* Scrollbar track should not paint an extra strip */
::-webkit-scrollbar-track { background: transparent !important; }

/* Pill set law (max specificity) */
nav.vs-pill-group, nav.vs-pill-set, nav.vs-pill-set.vs-pill-group {
  display: inline-grid !important;
  grid-auto-flow: row;
  justify-items: stretch;
  width: max-content !important;
  gap: 10px;
}
nav.vs-pill-group > .vs-pill, nav.vs-pill-set > .vs-pill, nav.vs-pill-set.vs-pill-group > .vs-pill {
  display: block !important;
  grid-column: 1 / -1;
  justify-self: stretch;
  width: 100% !important;
  white-space: nowrap !important;
}

/* HF background */
header, footer { background-color: rgba(0,0,0,0.98) !important; }
/* VS-HF-CONTRACT-007: END */

/* VS-HF-CONTRACT-011: BEGIN */
/*
  VS-HF-CONTRACT-011
  - Pills: make nav.vs-pill-group a vertical inline-flex container whose width equals the widest pill.
    Then force every pill to width:100% so all match the longest label.
  - Background: black invariant.
  - Footer: visible + sticky via flex column (works on marketing pages too).
  - Remove debug borders/outlines and overflow clipping.
*/

html, body {
  background: #000 !important;
  overflow-x: hidden !important;
}

header, footer {
  background-color: rgba(0,0,0,0.98) !important;
}

/* Sticky footer baseline */
body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
main { flex: 1 1 auto; }
footer { margin-top: auto; display: block !important; visibility: visible !important; }

/* Remove debug borders/outlines */
.vs-container, .vs-shell, .vs-mkt-shell, .vs-page, .vs-wrap {
  border: 0 !important;
  outline: 0 !important;
}

/* Pill set equalizer (pure CSS, cascade-proof) */
nav.vs-pill-group,
nav.vs-pill-set,
nav.vs-pill-set.vs-pill-group {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: fit-content !important; /* becomes widest child */
  gap: 10px;
}
nav.vs-pill-group .vs-pill,
nav.vs-pill-set .vs-pill,
nav.vs-pill-set.vs-pill-group .vs-pill {
  display: block !important;
  width: 100% !important;       /* stretch to group width */
  white-space: nowrap !important;
}
/* VS-HF-CONTRACT-011: END */

/* VS-HF-CONTRACT-012: BEGIN */
/*
  VS-HF-CONTRACT-012
  - Pills: vertical nav pill groups equal-width using CSS Grid with max-content column.
  - Footer: sticky baseline for marketing pages; ensure footer visible.
  - Black invariant: body/main backgrounds black; remove debug borders/outlines and overflow clipping.
*/

html, body {
  background: #000 !important;
  overflow-x: hidden !important;
}

header, footer {
  background-color: rgba(0,0,0,0.98) !important;
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
main { flex: 1 1 auto; }
footer { margin-top: auto; display: block !important; visibility: visible !important; }

/* remove debug borders/outlines */
.vs-container, .vs-shell, .vs-mkt-shell, .vs-page, .vs-wrap {
  border: 0 !important;
  outline: 0 !important;
}

/* Pill equalizer (works with buttons/links) */
nav.vs-pill-group,
nav.vs-pill-set,
nav.vs-pill-set.vs-pill-group {
  display: inline-grid !important;
  grid-template-columns: max-content !important; /* width becomes widest pill content */
  grid-auto-rows: max-content;
  justify-items: stretch;
  gap: 10px;
}
nav.vs-pill-group .vs-pill,
nav.vs-pill-set .vs-pill,
nav.vs-pill-set.vs-pill-group .vs-pill {
  justify-self: stretch;
  white-space: nowrap !important;
}
/* VS-HF-CONTRACT-012: END */

/* VS-HF-HARDKILL-013 */
html, body { background:#000 !important; }
main, .vs-content, .vs-shell { background: transparent !important; }

.vs-container, .vs-shell, .vs-mkt-shell, .vs-page, .vs-wrap {
  border: 0 !important;
  outline: 0 !important;
}

/* Vertical pill group equalizer */
nav.vs-pill-group, nav.vs-pill-set, nav.vs-pill-set.vs-pill-group {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: max-content !important; /* becomes width of widest pill */
  gap: 10px;
}
nav.vs-pill-group .vs-pill, nav.vs-pill-set .vs-pill, nav.vs-pill-set.vs-pill-group .vs-pill {
  width: 100% !important; /* stretch to group width */
  white-space: nowrap !important;
}

/* Footer must be visible */
footer, footer.vs-footer { display:block !important; visibility:visible !important; }
/* VS-MKT-CONTRACT-015: END */

/* VS-MKT-CONTRACT-016: BEGIN */
/*
  VS-MKT-CONTRACT-016
  - Kill cyan container outline/border (even if inline).
  - Hide any body-direct footer (typical injected duplicate).
  - Keep HF black.
*/
html, body { background:#000 !important; }
header, footer { background-color: rgba(0,0,0,0.98) !important; }

/* Inline outline is overridden by author !important */
.vs-container, .vs-shell, .vs-mkt-shell, .vs-page, .vs-wrap, [style*="outline"] {
  outline: none !important;
  border: 0 !important;
}

/* If an injected footer exists directly under body, hide it */
body > footer { display: none !important; visibility: hidden !important; }
/* VS-MKT-CONTRACT-016: END */

/* VS-MKT-FRAME-KILL-017: BEGIN */
/*
  VS-MKT-FRAME-KILL-017
  - Remove any debug/diagnostic frame border/outline around the marketing body container.
  - Scope is limited to top-level shell wrappers so cards/panels keep their borders.
*/
.vs-mkt-scroll-shell,
.vs-mkt-scroll-shell > main,
main.vs-main,
body > main,
body > .vs-container,
.vs-container.vs-page,
.vs-page,
.vs-wrap {
  outline: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* If any inline styles try to draw a frame, override them */
body *[style*="outline"],
body *[style*="border"]{
  outline: none !important;
  border: 0 !important;
}
/* VS-MKT-FRAME-KILL-017: END */

/* VS-MKT-CONTAINER-018: BEGIN */
/*
  VS-MKT-CONTAINER-018 (UPDATED by FLUSH EDGE 007)
  - Content container must NOT constrain scroll host.
  - Scroll host (.vs-shell + __VS_SCROLL_OWNER__) must span full width.
  - Content centering/padding belongs to the content rail (.vs-rail) only.
*/

/* Keep existing content container rule for plain pages (safe) */
.vs-mkt-scroll-shell > main,
main.vs-main,
body > main{
  max-width: var(--vs-container-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--vs-container-pad) !important;
  padding-right: var(--vs-container-pad) !important;
  border: 0 !important;
  outline: 0 !important;
}

/* Scroll host parent must be full width (never centered/padded) */
.vs-shell{
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
}

/* Content is centered inside the scroll host via the rail */
.vs-rail{
  max-width: var(--vs-container-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--vs-container-pad) !important;
  padding-right: var(--vs-container-pad) !important;
  box-sizing: border-box;
}

/* VS-MKT-CONTAINER-018: END */

/* VS-MKT-WIDTH-019C: BEGIN */
:root{
  --vs-container-max: 1360px;
  --vs-container-pad: 28px;
}
html, body{ background:#000 !important; }
.vs-container{
  max-width: var(--vs-container-max) !important;
  margin-left:auto !important; margin-right:auto !important;
  padding-left: var(--vs-container-pad) !important;
  padding-right: var(--vs-container-pad) !important;
  border:0 !important; outline:0 !important;
}
/* Ensure content main uses same width */
.vs-mkt-scroll-shell > main, main.vs-main{
  max-width: var(--vs-container-max) !important;
  margin-left:auto !important; margin-right:auto !important;
  padding-left: var(--vs-container-pad) !important;
  padding-right: var(--vs-container-pad) !important;
  border:0 !important; outline:0 !important;
}
/* VS-MKT-WIDTH-019C: END */

/* VS-SCROLL-WINDOW-EDGE-026: BEGIN */
:root{
  --vs-container-max: 1360px;
  --vs-container-pad: 28px;
}

/* Scroll host must NOT be max-width constrained */
.vs-scroll-shell{
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Content is centered inside the scroll host */
.vs-shell{
  max-width: var(--vs-container-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--vs-container-pad) !important;
  padding-right: var(--vs-container-pad) !important;
  box-sizing: border-box;
}

/* Transparent track */
.vs-scroll-shell::-webkit-scrollbar-track{ background: transparent !important; }
/* VS-SCROLL-WINDOW-EDGE-026: END */

/* VS-MKT-HIW-031 */
/* HIW: remove grey slab + ensure black invariant even if bg-neutral-950 is used */
html, body { background: #000 !important; }

/* If the HIW page uses Tailwind bg-neutral-950 on body or wrappers, override it */
body.bg-neutral-950 { background: #000 !important; background-color:#000 !important; }

/* Make common content wrappers transparent so black background shows through */
main.vs-main,
main.vs-main-shell,
.vs-shell,
.vs-content,
.vs-page,
.vs-wrap {
  background: transparent !important;
  background-color: transparent !important;
}

/* If a specific HIW wrapper exists, target it too */
[data-vs-hiw] { background: transparent !important; background-color: transparent !important; }


/* VS-SCROLLBAR-035 */
/* Apply yellow scrollbar to BOTH possible scroll hosts */
.vs-scroll-shell::-webkit-scrollbar,
.vs-mkt-scroll-shell::-webkit-scrollbar,
  width: 14px;
}
.vs-scroll-shell::-webkit-scrollbar-track,
.vs-mkt-scroll-shell::-webkit-scrollbar-track,
  background: transparent !important;
}
.vs-scroll-shell::-webkit-scrollbar-thumb,
.vs-mkt-scroll-shell::-webkit-scrollbar-thumb,
  background-color: #EFE521 !important;
  border-radius: 10px;
  border: 4px solid transparent;
  background-clip: padding-box;
}

/* VS_HIW_SCROLLBAR_STANDARD_V001
   Single global scrollbar standard (HIW):
   - Browser scroll OFF
   - Scroll owners:
     - .vs-scroll-shell (global shell)
     - .vs-mkt-scroll-shell (marketing wrapper)
   - Custom yellow scrollbar, width 12px
*/
html, body{
  height: 100% !important;
  overflow: hidden !important;
}

/* VS_LAYOUT_SHELL_V001_BEGIN
   Canonical global layout shell primitives.
   - Single scroll owner (never html/body)
   - Scroll owner spans viewport width and includes scrollbar gutter column
   - Custom scrollbar is scoped to the scroll owner only
*/
:root{
  --vs-rail-max: 1360px;
  --vs-rail-pad-x: 28px;
  --vs-scrollbar-gutter-w: 56px;
  --vs-scrollbar-w: 14px;
}

/* Browser scroll OFF */
html, body{
  height: 100% !important;
  overflow: hidden !important;
}

/* Shell region (between header/footer) must be flexed by layout markup */
.vs-shell{
  width: 100%;
  min-height: 0;
  background: transparent;
}

/* Single scroll owner: 2 columns (content rail + gutter) */
.__VS_SCROLL_OWNER__{
  min-height: 0;
  height: 100%;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  display: grid;
  grid-template-columns: minmax(0,1fr) var(--vs-scrollbar-gutter-w);
  background: transparent;
}

/* Content rail column */
.vs-rail{ min-width: 0; }
.vs-page{ min-height: 100%; }

/* Inner constraint (optional helper) */
.vs-section-inner{
  max-width: var(--vs-rail-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--vs-rail-pad-x);
  padding-right: var(--vs-rail-pad-x);
}

/* Gutter reserved space (track is transparent) */
.vs-scrollbar-gutter{
  width: var(--vs-scrollbar-gutter-w);
  background: transparent;
}

/* CUSTOM scrollbar (no arrows) scoped to scroll owner only */
.__VS_SCROLL_OWNER__::-webkit-scrollbar{
  width: var(--vs-scrollbar-w) !important;
}
.__VS_SCROLL_OWNER__::-webkit-scrollbar-track{
  background: transparent !important;
}
.__VS_SCROLL_OWNER__::-webkit-scrollbar-thumb{
  background-color: var(--vs-yellow, #facc15) !important;
  border: 0 !important;
  border-radius: 9999px !important;
}
.__VS_SCROLL_OWNER__::-webkit-scrollbar-button{
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}
/* VS_LAYOUT_SHELL_V001_END */

:root{
  --vs-scrollbar-w: 10px;
  --vs-scrollbar-gutter-w: 56px;
}
/* VS_SCROLLBAR_DIMENSIONS_V001_END */

.vs-page-frame{
  height: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
.vs-shell{
  flex: 1;
  min-height: 0;
}
.__VS_SCROLL_OWNER__{
  height: 100%;
  min-height: 0;
}
/* VS_SCROLL_BODYAREA_PLUMBING_V001_END */


:root{
  --vs-scrollbar-w: 16px; /* 60%+ larger than 10px */
}
/* VS_SCROLLBAR_DIMENSIONS_V004_END */

.vs-page-frame{
  height: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
.vs-shell{
  flex: 1;
  min-height: 0;
}
.__VS_SCROLL_OWNER__{
  height: 100%;
  min-height: 0;
}
/* VS_SCROLL_BODYAREA_PLUMBING_V002_END */

/* VS_SCROLLBAR_MARKETING_CANON_V005_BEGIN
   Marketing-owned scrollbar + body-area scroll plumbing (canonical).
   Rules:
   - html/body never scroll (overflow hidden)
   - Only .__VS_SCROLL_OWNER__ scrolls
   - Scroll owner height is body-area only (between header + footer)
*/
:root{
  --vs-scrollbar-w: 18px;          /* adjust here if needed */
  --vs-scrollbar-gutter-w: 56px;
}

/* Body-area height plumbing */
.vs-page-frame{
  height: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
.vs-shell{
  flex: 1;
  min-height: 0;
}
.__VS_SCROLL_OWNER__{
  height: 100%;
  min-height: 0;
}

/* Gutter must never paint */
.vs-scrollbar-gutter{
  background: transparent !important;
}

/* Firefox */
.__VS_SCROLL_OWNER__{
  scrollbar-color: var(--vs-yellow, #facc15) transparent;
}
/* VS_SCROLLBAR_MARKETING_CANON_V005_END */

/* VS_SCROLL_FLUSH_EDGE_V006_BEGIN
   Make scroll owner flush to viewport edge.
   - Remove shell padding that insets the scroll owner (currently 28px).
   - Apply padding to content rail instead so content remains balanced.
*/
.vs-page-frame,
.vs-shell{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.__VS_SCROLL_OWNER__{
  width: 100% !important;
}

/* Content stays padded, scrollbar/gutter stays flush */
.vs-rail{
  padding-left: var(--vs-rail-pad-x, 28px) !important;
  padding-right: var(--vs-rail-pad-x, 28px) !important;
}
/* VS_SCROLL_FLUSH_EDGE_V006_END */

/* VS_SCROLL_FLUSH_RIGHT_V008_BEGIN
   Fix: scrollbar inset caused by .vs-shell max-width: 1360px.
   Rule: .vs-shell and .__VS_SCROLL_OWNER__ must be full-width.
   Constraint belongs to .vs-rail only.
*/
.vs-shell{
  max-width: none !important;
  width: 100% !important;
}
.__VS_SCROLL_OWNER__{
  max-width: none !important;
  width: 100% !important;
}
/* Content constraint stays here */
.vs-rail{
  max-width: var(--vs-rail-max, 1360px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* VS_SCROLL_FLUSH_RIGHT_V008_END */

/* ============================================
   VS_HIW_PILL_STABILITY_PATCH_V001
   Purpose: eliminate pill/tab jitter by keeping geometry stable
   ============================================ */

.vs-pill,
.vs-pill-group .vs-pill,
.hiw-tabs .vs-pill,
button.vs-pill {
  box-sizing: border-box !important;
  border: 2px solid transparent !important;
}

.vs-pill[aria-selected="true"],
.vs-pill.is-active,
.vs-pill.active,
button.vs-pill[aria-selected="true"] {
  border-color: var(--vs-yellow) !important;
}

.vs-pill,
.vs-pill * {
  font-weight: 500 !important;
}

.vs-pill-group,
.hiw-tabs {
  flex: 0 0 auto !important;
}

.vs-content-rail {
  box-sizing: border-box !important;
  width: 100% !important;
}

/* ============================================
   VS_HIW_LAYOUT_STABILITY_PATCH_V001
   Scope: Marketing HIW
   Goals:
     1) stop pill/tab jitter (no geometry change between states)
     2) enforce stable 2-col layout (left pills + right content) via .vs-hiw-grid
     3) defensive scroll stability (min-height/overflow chain)
   ============================================ */

/* Defensive scroll stability (do not create new scroll owners) */
.vs-shell,
.__VS_SCROLL_OWNER__,
.vs-rail,
.vs-scroll-shell,
.vs-main,
.vs-main-shell {
  min-height: 0 !important;
}

/* ===== HIW layout: enforce stable grid regardless of Tailwind arbitrary classes ===== */
.vs-hiw-grid {
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  align-items: start !important;
}

/* Mobile: stack (optional; keeps desktop stable) */
@media (max-width: 767px) {
  .vs-hiw-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Ensure the content column can shrink without forcing wrap */
.vs-hiw-grid > *:nth-child(2) {
  min-width: 0 !important;
}

/* ===== Pill stability: pre-allocate border + lock box sizing ===== */
.vs-pill,
.vs-pill-group .vs-pill,
button.vs-pill {
  box-sizing: border-box !important;
  border: 2px solid transparent !important; /* match active border width */
  padding-left: 12px !important;
  padding-right: 12px !important;
}

/* Active state changes only color, not size */
.vs-pill[aria-pressed="true"],
.vs-pill[aria-selected="true"],
.vs-pill.is-active,
.vs-pill.active {
  border-color: var(--vs-yellow) !important;
}

/* Prevent font-weight shifts from changing width */
.vs-pill,
.vs-pill * {
  font-weight: 500 !important;
}

/* Keep pill group from stealing width from content */
.vs-pill-group {
  flex: 0 0 auto !important;
}

/* Keep content rail stable */
.vs-content-rail {
  box-sizing: border-box !important;
  width: 100% !important;
}

/* VS_HIW_PILL_BORDER_OVERRIDE_V001
   Force canonical pill visuals even if Tailwind/classes fight:
   - Inactive: black bg, yellow border, white text
   - Active: yellow bg, black text, yellow border
*/
button.vs-pill {
  border: 1px solid var(--vs-yellow) !important;
  background: #000 !important;
  color: #fff !important;
}

button.vs-pill.vs-pill-inactive {
  border: 1px solid var(--vs-yellow) !important;
  background: #000 !important;
  color: #fff !important;
}

button.vs-pill.vs-pill-active {
  border: 1px solid var(--vs-yellow) !important;
  background: var(--vs-yellow) !important;
  color: #000 !important;
}

/* VS_DEBUG_GRAMMAR_BORDERS_V001
   Enable via URL: ?vsdbg=1  (adds .vs-debug-grammar to <html>)
   Frames   = GREEN
   Containers = BLUE
   Rails    = ORANGE
*/
html.vs-debug-grammar .vs-page-frame,
html.vs-debug-grammar [data-vs-page-frame="1"]{
  outline: 2px solid rgba(0,255,0,0.70) !important;
  outline-offset: -2px !important;
}

html.vs-debug-grammar .vs-section-frame,
html.vs-debug-grammar [data-vs-section-frame="1"]{
  outline: 2px solid rgba(0,255,0,0.70) !important;
  outline-offset: -2px !important;
}

html.vs-debug-grammar .vs-section-container,
html.vs-debug-grammar [data-vs-section-container="1"]{
  outline: 2px solid rgba(0,128,255,0.85) !important;
  outline-offset: -2px !important;
}

html.vs-debug-grammar .vs-rail,
html.vs-debug-grammar .vs-content-rail,
html.vs-debug-grammar [data-vs-rail="1"],
html.vs-debug-grammar [data-vs-content-rail="1"]{
  outline: 2px solid rgba(255,165,0,0.85) !important;
  outline-offset: -2px !important;
}

/* Ensure pills always show yellow border when debugging is ON (helps spot state churn) */
html.vs-debug-grammar button.vs-pill{
  border: 1px solid var(--vs-yellow) !important;
}

/* VS_SCROLL_GUTTER_STABLE_V001
   Reserve scrollbar gutter permanently to prevent horizontal layout shift
   when content height changes (scrollbar appears/disappears).
   Apply ONLY to canonical scroll owner.
*/
.__VS_SCROLL_OWNER__,
.vs-scroll-owner,
.vs-scroll-owner.__VS_SCROLL_OWNER__{
  overflow-y: scroll !important;        /* always reserve scrollbar space */
  overflow-x: hidden !important;
  scrollbar-gutter: stable !important;  /* modern browsers */
}

/* Some browsers support stable both-edges; harmless elsewhere */
@supports (scrollbar-gutter: stable both-edges){
  .__VS_SCROLL_OWNER__,
  .vs-scroll-owner,
  .vs-scroll-owner.__VS_SCROLL_OWNER__{
    scrollbar-gutter: stable both-edges !important;
  }
}

/* VS_SCROLL_GUTTER_STABLE_V002
   Keep scrollbar space stable, but do NOT force a scrollbar when no overflow.
   (This avoids arrows/no-thumb look on Windows when content fits.)
*/
.__VS_SCROLL_OWNER__,
.vs-scroll-owner,
.vs-scroll-owner.__VS_SCROLL_OWNER__{
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-gutter: stable !important;
}

@supports (scrollbar-gutter: stable both-edges){
  .__VS_SCROLL_OWNER__,
  .vs-scroll-owner,
  .vs-scroll-owner.__VS_SCROLL_OWNER__{
    scrollbar-gutter: stable both-edges !important;
  }
}

/* VS_BROWSER_SCROLL_OFF_V001
   Enforce single scroll owner: browser must not scroll.
*/
html, body{
  height: 100% !important;
  overflow: hidden !important;
}

/* VS_INJECTED_FOOTER_STYLE_V001
   Ensures injected/forced footer cannot be hidden or clipped.
*/
footer.vs-injected-footer{
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 2147483000 !important;
  background: #000 !important;
}

/* VS_FOOTER_FIXED_STYLE_V001
   Deterministic footer styling for injected footer.
*/
footer.vs-injected-footer{
  background: #000 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 2147483000 !important;
}
