/* ==========================================================
   VersaForge Homepage Stylesheet
   Extracted verbatim from the approved vf-web.html source.
   Organized by section; content and values are unchanged.
   ========================================================== */


/* ========================================== */
/* 1. BASE / COMPILED TAILWIND UTILITY CLASSES */
/* ========================================== */

*,: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: }/*! tailwindcss v3.4.19 | 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:Inter,sans-serif;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:Inter,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]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-inset-1{inset:-.25rem}.-inset-1\.5{inset:-.375rem}.-inset-full{inset:-100%}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-1{bottom:-.25rem}.-bottom-1\.5{bottom:-.375rem}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-left-2{left:-.5rem}.-left-4{left:-1rem}.-right-10{right:-2.5rem}.-right-12{right:-3rem}.-right-16{right:-4rem}.-right-2{right:-.5rem}.-right-3{right:-.75rem}.-right-5{right:-1.25rem}.-top-1{top:-.25rem}.-top-1\.5{top:-.375rem}.-top-10{top:-2.5rem}.-top-12{top:-3rem}.-top-16{top:-4rem}.-top-2{top:-.5rem}.-top-4{top:-1rem}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-1\/4{bottom:25%}.bottom-10{bottom:2.5rem}.bottom-14{bottom:3.5rem}.bottom-16{bottom:4rem}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.bottom-\[26\%\]{bottom:26%}.bottom-\[28\%\]{bottom:28%}.bottom-\[6\%\]{bottom:6%}.bottom-\[8\%\]{bottom:8%}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-1\/3{left:33.333333%}.left-1\/4{left:25%}.left-10{left:2.5rem}.left-2{left:.5rem}.left-4{left:1rem}.left-\[16\%\]{left:16%}.left-\[2\%\]{left:2%}.left-\[20\%\]{left:20%}.left-\[6\%\]{left:6%}.left-\[75\%\]{left:75%}.right-0{right:0}.right-1{right:.25rem}.right-1\/4{right:25%}.right-10{right:2.5rem}.right-2{right:.5rem}.right-4{right:1rem}.right-6{right:1.5rem}.right-8{right:2rem}.right-\[16\%\]{right:16%}.right-\[2\%\]{right:2%}.right-\[6\%\]{right:6%}.right-\[8\%\]{right:8%}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-1\/3{top:33.333333%}.top-1\/4{top:25%}.top-2{top:.5rem}.top-4{top:1rem}.top-\[12\%\]{top:12%}.top-\[16px\]{top:16px}.top-\[20\%\]{top:20%}.top-\[38\%\]{top:38%}.top-\[42\%\]{top:42%}.top-\[70\%\]{top:70%}.top-\[8\%\]{top:8%}.top-full{top:100%}.-z-10{z-index:-10}.-z-20{z-index:-20}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.order-1{order:1}.order-2{order:2}.order-3{order:3}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-20{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}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.ml-0{margin-left:0}.ml-0\.5{margin-left:.125rem}.ml-2{margin-left:.5rem}.mr-1{margin-right:.25rem}.mr-3{margin-right:.75rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.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}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-28{height:7rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[18px\]{height:18px}.h-\[1px\]{height:1px}.h-\[2\.5px\]{height:2.5px}.h-\[230px\]{height:230px}.h-\[2px\]{height:2px}.h-\[300px\]{height:300px}.h-\[350px\]{height:350px}.h-\[400px\]{height:400px}.h-\[420px\]{height:420px}.h-\[450px\]{height:450px}.h-\[48\%\]{height:48%}.h-\[480px\]{height:480px}.h-\[4px\]{height:4px}.h-\[500px\]{height:500px}.h-\[52\%\]{height:52%}.h-\[550px\]{height:550px}.h-\[600px\]{height:600px}.h-\[80\%\]{height:80%}.h-\[82px\]{height:82px}.h-full{height:100%}.h-px{height:1px}.min-h-\[180px\]{min-height:180px}.min-h-\[240px\]{min-height:240px}.min-h-\[350px\]{min-height:350px}.min-h-\[60px\]{min-height:60px}.min-h-screen{min-height:100vh}.w-0{width:0}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/12{width:25%}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[2px\]{width:2px}.w-\[400px\]{width:400px}.w-\[420px\]{width:420px}.w-\[450px\]{width:450px}.w-\[480px\]{width:480px}.w-\[500px\]{width:500px}.w-\[550px\]{width:550px}.w-\[600\]{width:600px}.w-\[700px\]{width:700px}.w-\[80\%\]{width:80%}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[170px\]{max-width:170px}.max-w-\[240px\]{max-width:240px}.max-w-\[340px\]{max-width:340px}.max-w-\[370px\]{max-width:370px}.max-w-\[520px\]{max-width:520px}.max-w-\[560px\]{max-width:560px}.max-w-\[580px\]{max-width:580px}.max-w-\[660px\]{max-width:660px}.max-w-\[840px\]{max-width:840px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-bottom{transform-origin:bottom}.origin-center{transform-origin:center}.origin-left{transform-origin:left}.-translate-x-1{--tw-translate-x:-0.25rem}.-translate-x-1,.-translate-x-1\/2{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))}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-full{--tw-translate-x:-100%}.-translate-x-full,.-translate-y-0{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))}.-translate-y-0{--tw-translate-y:-0px}.-translate-y-1{--tw-translate-y:-0.25rem}.-translate-y-1,.-translate-y-1\/2{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))}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-12{--tw-translate-y:-3rem}.-translate-y-12,.-translate-y-\[94px\]{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))}.-translate-y-\[94px\]{--tw-translate-y:-94px}.translate-y-0{--tw-translate-y:0px}.translate-y-0,.translate-y-1{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))}.translate-y-1{--tw-translate-y:0.25rem}.translate-y-2{--tw-translate-y:0.5rem}.translate-y-2,.translate-y-3{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))}.translate-y-3{--tw-translate-y:0.75rem}.translate-y-4{--tw-translate-y:1rem}.translate-y-4,.translate-y-5{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))}.translate-y-5{--tw-translate-y:1.25rem}.translate-y-\[94px\]{--tw-translate-y:94px}.-rotate-90,.translate-y-\[94px\]{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))}.-rotate-90{--tw-rotate:-90deg}.rotate-45{--tw-rotate:45deg}.-skew-x-12,.rotate-45{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))}.-skew-x-12{--tw-skew-x:-12deg}.skew-x-12{--tw-skew-x:12deg}.scale-100,.skew-x-12{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))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.scale-105,.scale-110{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))}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.scale-125,.scale-50{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))}.scale-50{--tw-scale-x:.5;--tw-scale-y:.5}.scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.scale-75,.scale-90{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))}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.-scale-x-100,.scale-95{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))}.-scale-x-100{--tw-scale-x:-1}.scale-x-0{--tw-scale-x:0}.scale-x-0,.scale-y-0{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))}.scale-y-0{--tw-scale-y:0}.transform{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))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse-gentle{animation:pulse 3s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin-slow{animation:spin 12s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-14{gap:3.5rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-y-14{row-gap:3.5rem}.gap-y-24{row-gap:6rem}.gap-y-8{row-gap:2rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(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*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.875rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.875rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.scroll-smooth{scroll-behavior:smooth}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.text-balance{text-wrap:balance}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[32px\]{border-radius:32px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-\[\#4A86F5\]\/10{border-color:rgba(74,134,245,.1)}.border-\[\#6A58E4\]{--tw-border-opacity:1;border-color:rgb(106 88 228/var(--tw-border-opacity,1))}.border-\[\#6A58E4\]\/10{border-color:rgba(106,88,228,.1)}.border-\[\#6A58E4\]\/15{border-color:rgba(106,88,228,.15)}.border-\[\#6A58E4\]\/20{border-color:rgba(106,88,228,.2)}.border-\[\#6A58E4\]\/25{border-color:rgba(106,88,228,.25)}.border-\[\#6A58E4\]\/30{border-color:rgba(106,88,228,.3)}.border-\[\#E1E8F2\]{--tw-border-opacity:1;border-color:rgb(225 232 242/var(--tw-border-opacity,1))}.border-\[\#E2E8F0\]{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-\[\#E6ECF5\]{--tw-border-opacity:1;border-color:rgb(230 236 245/var(--tw-border-opacity,1))}.border-\[\#E6ECF5\]\/80{border-color:rgba(230,236,245,.8)}.border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.border-amber-500\/20{border-color:rgba(245,158,11,.2)}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-emerald-500{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-emerald-500\/10{border-color:rgba(16,185,129,.1)}.border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-red-500\/30{border-color:rgba(239,68,68,.3)}.border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-200\/60{border-color:rgba(226,232,240,.6)}.border-slate-200\/80{border-color:rgba(226,232,240,.8)}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-white\/10{border-color:hsla(0,0%,100%,.1)}.border-white\/5{border-color:hsla(0,0%,100%,.05)}.border-t-\[\#6A58E4\]{--tw-border-opacity:1;border-top-color:rgb(106 88 228/var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:transparent}.bg-\[\#0B0F19\]{--tw-bg-opacity:1;background-color:rgb(11 15 25/var(--tw-bg-opacity,1))}.bg-\[\#0F111D\]{--tw-bg-opacity:1;background-color:rgb(15 17 29/var(--tw-bg-opacity,1))}.bg-\[\#10B981\]{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-\[\#111827\]{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-\[\#111827\]\/80{background-color:rgba(17,24,39,.8)}.bg-\[\#131A30\]\/80{background-color:rgba(19,26,48,.8)}.bg-\[\#28A8D9\]\/10{background-color:rgba(40,168,217,.1)}.bg-\[\#28A8D9\]\/5{background-color:rgba(40,168,217,.05)}.bg-\[\#4A86F5\]{--tw-bg-opacity:1;background-color:rgb(74 134 245/var(--tw-bg-opacity,1))}.bg-\[\#4A86F5\]\/10{background-color:rgba(74,134,245,.1)}.bg-\[\#4A86F5\]\/5{background-color:rgba(74,134,245,.05)}.bg-\[\#6A58E4\]{--tw-bg-opacity:1;background-color:rgb(106 88 228/var(--tw-bg-opacity,1))}.bg-\[\#6A58E4\]\/0{background-color:rgba(106,88,228,0)}.bg-\[\#6A58E4\]\/10{background-color:rgba(106,88,228,.1)}.bg-\[\#6A58E4\]\/15{background-color:rgba(106,88,228,.15)}.bg-\[\#6A58E4\]\/20{background-color:rgba(106,88,228,.2)}.bg-\[\#6A58E4\]\/30{background-color:rgba(106,88,228,.3)}.bg-\[\#6A58E4\]\/5{background-color:rgba(106,88,228,.05)}.bg-\[\#94A3B8\]\/30{background-color:rgba(148,163,184,.3)}.bg-\[\#E6ECF5\]{--tw-bg-opacity:1;background-color:rgb(230 236 245/var(--tw-bg-opacity,1))}.bg-\[\#EF4444\]{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-\[\#F1F1F4\]{--tw-bg-opacity:1;background-color:rgb(241 241 244/var(--tw-bg-opacity,1))}.bg-\[\#F1F5F9\]{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-\[\#F59E0B\]{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-\[\#F8FAFF\]{--tw-bg-opacity:1;background-color:rgb(248 250 255/var(--tw-bg-opacity,1))}.bg-\[\#F8FAFF\]\/60{background-color:rgba(248,250,255,.6)}.bg-\[\#FFFFFF\]{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-\[\#F7FAFD\]{--tw-bg-opacity:1;background-color:rgb(247 250 253/var(--tw-bg-opacity,1))}.bg-\[\#FFFFFF\]\/60{background-color:hsla(0,0%,100%,.6)}.bg-\[\#FFFFFF\]\/70{background-color:hsla(0,0%,100%,.7)}.bg-\[\#FFFFFF\]\/80{background-color:hsla(0,0%,100%,.8)}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-400\/80{background-color:rgba(251,191,36,.8)}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-amber-500\/5{background-color:rgba(245,158,11,.05)}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-50\/30{background-color:rgba(236,253,245,.3)}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-emerald-500\/10{background-color:rgba(16,185,129,.1)}.bg-emerald-500\/5{background-color:rgba(16,185,129,.05)}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-green-400\/80{background-color:rgba(74,222,128,.8)}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-50\/30{background-color:rgba(238,242,255,.3)}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-400\/80{background-color:hsla(0,91%,71%,.8)}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-50\/30{background-color:hsla(0,86%,97%,.3)}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-500\/10{background-color:rgba(239,68,68,.1)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-white\/20{background-color:hsla(0,0%,100%,.2)}.bg-white\/25{background-color:hsla(0,0%,100%,.25)}.bg-white\/5{background-color:hsla(0,0%,100%,.05)}.bg-white\/60{background-color:hsla(0,0%,100%,.6)}.bg-white\/70{background-color:hsla(0,0%,100%,.7)}.bg-white\/80{background-color:hsla(0,0%,100%,.8)}.bg-white\/95{background-color:hsla(0,0%,100%,.95)}.bg-white\/\[0\.03\]{background-color:hsla(0,0%,100%,.03)}.bg-\[radial-gradient\(circle_at_50\%_30\%\2c rgba\(239\2c 68\2c 68\2c 0\.15\)\2c transparent_60\%\)\]{background-image:radial-gradient(circle at 50% 30%,rgba(239,68,68,.15),transparent 60%)}.bg-\[radial-gradient\(circle_at_50\%_40\%\2c rgba\(106\2c 88\2c 228\2c 0\.15\)\2c transparent_60\%\)\]{background-image:radial-gradient(circle at 50% 40%,rgba(106,88,228,.15),transparent 60%)}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-bl{background-image:linear-gradient(to bottom left,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}.from-\[\#0866FF\]{--tw-gradient-from:#0866ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(8,102,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#09090F\]{--tw-gradient-from:#09090f var(--tw-gradient-from-position);--tw-gradient-to:rgba(9,9,15,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#0B0F19\]{--tw-gradient-from:#0b0f19 var(--tw-gradient-from-position);--tw-gradient-to:rgba(11,15,25,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#0B0F19\]\/60{--tw-gradient-from:rgba(11,15,25,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(11,15,25,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#0B0F19\]\/75{--tw-gradient-from:rgba(11,15,25,.75) var(--tw-gradient-from-position);--tw-gradient-to:rgba(11,15,25,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#111625\]{--tw-gradient-from:#111625 var(--tw-gradient-from-position);--tw-gradient-to:rgba(17,22,37,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#4A86F5\]{--tw-gradient-from:#4a86f5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(74,134,245,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#4A86F5\]\/5{--tw-gradient-from:rgba(74,134,245,.05) var(--tw-gradient-from-position);--tw-gradient-to:rgba(74,134,245,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#6A58E4\]{--tw-gradient-from:#6a58e4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(106,88,228,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#6A58E4\]\/10{--tw-gradient-from:rgba(106,88,228,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(106,88,228,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#6A58E4\]\/5{--tw-gradient-from:rgba(106,88,228,.05) var(--tw-gradient-from-position);--tw-gradient-to:rgba(106,88,228,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#818CF8\]{--tw-gradient-from:#818cf8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(129,140,248,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#A78BFA\]{--tw-gradient-from:#a78bfa var(--tw-gradient-from-position);--tw-gradient-to:rgba(167,139,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#C084FC\]{--tw-gradient-from:#c084fc var(--tw-gradient-from-position);--tw-gradient-to:rgba(192,132,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#FBFDFF\]{--tw-gradient-from:#fbfdff var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,253,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#FFFFFF\]{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-amber-500{--tw-gradient-from:#f59e0b var(--tw-gradient-from-position);--tw-gradient-to:rgba(245,158,11,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-500{--tw-gradient-from:#10b981 var(--tw-gradient-from-position);--tw-gradient-to:rgba(16,185,129,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-500\/10{--tw-gradient-from:rgba(16,185,129,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(16,185,129,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-\[\#161B30\]{--tw-gradient-to:rgba(22,27,48,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#161b30 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-\[\#4A86F5\]{--tw-gradient-to:rgba(74,134,245,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#4a86f5 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-\[\#4A86F5\]\/5{--tw-gradient-to:rgba(74,134,245,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(74,134,245,.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-\[\#6A58E4\]{--tw-gradient-to:rgba(106,88,228,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#6a58e4 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-\[\#6A58E4\]\/30{--tw-gradient-to:rgba(106,88,228,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(106,88,228,.3) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-\[\#A78BFA\]{--tw-gradient-to:rgba(167,139,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#a78bfa var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-\[\#C084FC\]{--tw-gradient-to:rgba(192,132,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#c084fc var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-\[\#FDFEFF\]{--tw-gradient-to:rgba(253,254,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#fdfeff var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-amber-400{--tw-gradient-to:rgba(251,191,36,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#fbbf24 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-amber-500{--tw-gradient-to:rgba(245,158,11,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#f59e0b var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-amber-500\/5{--tw-gradient-to:rgba(245,158,11,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(245,158,11,.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-purple-500{--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#a855f7 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-purple-500\/5{--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(168,85,247,.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),transparent var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-white{--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#fff var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-white\/5{--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsla(0,0%,100%,.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-\[\#00C6FF\]{--tw-gradient-to:#00c6ff var(--tw-gradient-to-position)}.to-\[\#0D111E\]{--tw-gradient-to:#0d111e var(--tw-gradient-to-position)}.to-\[\#111322\]{--tw-gradient-to:#111322 var(--tw-gradient-to-position)}.to-\[\#28A8D9\]{--tw-gradient-to:#28a8d9 var(--tw-gradient-to-position)}.to-\[\#4A86F5\]{--tw-gradient-to:#4a86f5 var(--tw-gradient-to-position)}.to-\[\#6A58E4\]\/5{--tw-gradient-to:rgba(106,88,228,.05) var(--tw-gradient-to-position)}.to-\[\#7DD3FC\]{--tw-gradient-to:#7dd3fc var(--tw-gradient-to-position)}.to-\[\#818CF8\]{--tw-gradient-to:#818cf8 var(--tw-gradient-to-position)}.to-\[\#F472B6\]{--tw-gradient-to:#f472b6 var(--tw-gradient-to-position)}.to-\[\#F8FAFF\]{--tw-gradient-to:#f8faff var(--tw-gradient-to-position)}.to-amber-600{--tw-gradient-to:#d97706 var(--tw-gradient-to-position)}.to-emerald-500{--tw-gradient-to:#10b981 var(--tw-gradient-to-position)}.to-emerald-500\/5{--tw-gradient-to:rgba(16,185,129,.05) var(--tw-gradient-to-position)}.to-teal-500{--tw-gradient-to:#14b8a6 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-\[\#6A58E4\]\/10{fill:rgba(106,88,228,.1)}.fill-amber-400{fill:#fbbf24}.fill-gray-200{fill:#e5e7eb}.object-cover{-o-object-fit:cover;object-fit:cover}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.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-7{padding-left:1.75rem;padding-right:1.75rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.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-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.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}.pb-0{padding-bottom:0}.pb-0\.5{padding-bottom:.125rem}.pb-10{padding-bottom:2.5rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-3\.5{padding-bottom:.875rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pl-4{padding-left:1rem}.pr-0{padding-right:0}.pr-4{padding-right:1rem}.pt-10{padding-top:2.5rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-3\.5{padding-top:.875rem}.pt-4{padding-top:1rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-justify{text-align:justify}.font-mono{font-family:Inter,monospace}.font-sans{font-family:Inter,sans-serif}.font-serif{font-family:Playfair Display,serif}.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-\[13px\]{font-size:13px}.text-\[7\.5px\]{font-size:10px}.text-\[7px\]{font-size:10px}.text-\[8px\]{font-size:10px}.text-\[9px\]{font-size:10px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.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-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-\[1\.08\]{line-height:1.08}.leading-\[1\.12\]{line-height:1.12}.leading-\[1\.15\]{line-height:1.15}.leading-\[1\.1\]{line-height:1.1}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.15em\]{letter-spacing:.15em}.tracking-\[0\.25em\]{letter-spacing:.25em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#10B981\]{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-\[\#111827\]{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-\[\#1F2937\]{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-\[\#28A8D9\]{--tw-text-opacity:1;color:rgb(40 168 217/var(--tw-text-opacity,1))}.text-\[\#6A58E4\]{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-\[\#374151\]{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-\[\#475569\]{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-\[\#4A86F5\]{--tw-text-opacity:1;color:rgb(74 134 245/var(--tw-text-opacity,1))}.text-\[\#4B5563\]{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-\[\#5B6475\]{--tw-text-opacity:1;color:rgb(91 100 117/var(--tw-text-opacity,1))}.text-\[\#5B6475\]\/60{color:rgba(91,100,117,.6)}.text-\[\#60A5FA\]{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-\[\#64748B\]{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-\[\#6A58E4\]{--tw-text-opacity:1;color:rgb(106 88 228/var(--tw-text-opacity,1))}.text-\[\#6A58E4\]\/10{color:rgba(106,88,228,.1)}.text-\[\#7DD3FC\]{--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity,1))}.text-\[\#818CF8\]{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-\[\#8E97A8\]{--tw-text-opacity:1;color:rgb(142 151 168/var(--tw-text-opacity,1))}.text-\[\#94A3B8\]{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-\[\#A78BFA\]{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.text-\[\#C084FC\]{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-\[\#C4B5FD\]{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.text-\[\#E6ECF5\]{--tw-text-opacity:1;color:rgb(230 236 245/var(--tw-text-opacity,1))}.text-\[\#F472B6\]{--tw-text-opacity:1;color:rgb(244 114 182/var(--tw-text-opacity,1))}.text-\[\#FB7185\]{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity,1))}.text-\[\#FBBF24\]{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-\[\#FFFFFF\]{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-emerald-500\/10{color:rgba(16,185,129,.1)}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-indigo-300{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-400\/80{color:hsla(0,91%,71%,.8)}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/60{color:hsla(0,0%,100%,.6)}.text-white\/90{color:hsla(0,0%,100%,.9)}.text-white\/95{color:hsla(0,0%,100%,.95)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-95{opacity:.95}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-\[0_-10px_30px_rgba\(106\2c 88\2c 228\2c 0\.03\)\]{--tw-shadow:0 -10px 30px rgba(106,88,228,.03);--tw-shadow-colored:0 -10px 30px 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-\[0_20px_50px_-12px_rgba\(106\2c 88\2c 228\2c 0\.05\)\]{--tw-shadow:0 20px 50px -12px rgba(106,88,228,.05);--tw-shadow-colored:0 20px 50px -12px 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-\[0_20px_50px_-12px_rgba\(106\2c 88\2c 228\2c 0\.1\)\]{--tw-shadow:0 20px 50px -12px rgba(106,88,228,.1);--tw-shadow-colored:0 20px 50px -12px 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-\[0_20px_50px_rgba\(106\2c 88\2c 228\2c 0\.18\)\2c _0_0_30px_rgba\(106\2c 88\2c 228\2c 0\.1\)\]{--tw-shadow:0 20px 50px rgba(106,88,228,.18),0 0 30px rgba(106,88,228,.1);--tw-shadow-colored:0 20px 50px var(--tw-shadow-color),0 0 30px 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-\[0_20px_60px_-15px_rgba\(106\2c 88\2c 228\2c 0\.08\)\]{--tw-shadow:0 20px 60px -15px rgba(106,88,228,.08);--tw-shadow-colored:0 20px 60px -15px 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-\[0_25px_60px_-15px_rgba\(106\2c 88\2c 228\2c 0\.15\)\]{--tw-shadow:0 25px 60px -15px rgba(106,88,228,.15);--tw-shadow-colored:0 25px 60px -15px 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-\[0_25px_60px_rgba\(0\2c 0\2c 0\2c 0\.35\)\2c _0_0_40px_rgba\(106\2c 88\2c 228\2c 0\.12\)\]{--tw-shadow:0 25px 60px rgba(0,0,0,.35),0 0 40px rgba(106,88,228,.12);--tw-shadow-colored:0 25px 60px var(--tw-shadow-color),0 0 40px 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-\[0_25px_60px_rgba\(0\2c 0\2c 0\2c 0\.85\)\2c _0_0_40px_rgba\(106\2c 88\2c 228\2c 0\.18\)\]{--tw-shadow:0 25px 60px rgba(0,0,0,.85),0 0 40px rgba(106,88,228,.18);--tw-shadow-colored:0 25px 60px var(--tw-shadow-color),0 0 40px 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-\[0_32px_80px_rgba\(106\2c 88\2c 228\2c 0\.12\)\]{--tw-shadow:0 32px 80px rgba(106,88,228,.12);--tw-shadow-colored:0 32px 80px 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-\[0_35px_80px_-20px_rgba\(106\2c 88\2c 228\2c \.25\)\]{--tw-shadow:0 35px 80px -20px rgba(106,88,228,.25);--tw-shadow-colored:0 35px 80px -20px var(--tw-shadow-color)}.shadow-\[0_35px_80px_-20px_rgba\(106\2c 88\2c 228\2c \.25\)\],.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.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-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--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)}.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-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.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)}.shadow-\[\#4A86F5\]\/30{--tw-shadow-color:rgba(74,134,245,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-\[\#6A58E4\]\/10{--tw-shadow-color:rgba(106,88,228,.1);--tw-shadow:var(--tw-shadow-colored)}.shadow-\[\#6A58E4\]\/15{--tw-shadow-color:rgba(106,88,228,.15);--tw-shadow:var(--tw-shadow-colored)}.shadow-\[\#6A58E4\]\/20{--tw-shadow-color:rgba(106,88,228,.2);--tw-shadow:var(--tw-shadow-colored)}.shadow-\[\#6A58E4\]\/25{--tw-shadow-color:rgba(106,88,228,.25);--tw-shadow:var(--tw-shadow-colored)}.shadow-\[\#6A58E4\]\/30{--tw-shadow-color:rgba(106,88,228,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-\[\#6A58E4\]\/40{--tw-shadow-color:rgba(106,88,228,.4);--tw-shadow:var(--tw-shadow-colored)}.shadow-\[\#6A58E4\]\/5{--tw-shadow-color:rgba(106,88,228,.05);--tw-shadow:var(--tw-shadow-colored)}.shadow-\[\#E6ECF5\]\/50{--tw-shadow-color:rgba(230,236,245,.5);--tw-shadow:var(--tw-shadow-colored)}.shadow-black{--tw-shadow-color:#000;--tw-shadow:var(--tw-shadow-colored)}.shadow-black\/20{--tw-shadow-color:rgba(0,0,0,.2);--tw-shadow:var(--tw-shadow-colored)}.shadow-emerald-500{--tw-shadow-color:#10b981;--tw-shadow:var(--tw-shadow-colored)}.shadow-emerald-500\/30{--tw-shadow-color:rgba(16,185,129,.3);--tw-shadow:var(--tw-shadow-colored)}.outline{outline-style:solid}.ring{--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(3px + 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)}.blur{--tw-blur:blur(8px)}.blur,.blur-2xl{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)}.blur-2xl{--tw-blur:blur(40px)}.blur-3xl{--tw-blur:blur(64px)}.blur-3xl,.blur-\[100px\]{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)}.blur-\[100px\]{--tw-blur:blur(100px)}.blur-\[110px\]{--tw-blur:blur(110px)}.blur-\[110px\],.blur-\[120px\]{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)}.blur-\[120px\]{--tw-blur:blur(120px)}.blur-\[130px\]{--tw-blur:blur(130px)}.blur-\[130px\],.blur-\[140px\]{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)}.blur-\[140px\]{--tw-blur:blur(140px)}.blur-\[150px\]{--tw-blur:blur(150px)}.blur-\[150px\],.blur-\[90px\]{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)}.blur-\[90px\]{--tw-blur:blur(90px)}.blur-md{--tw-blur:blur(12px)}.blur-md,.blur-xl{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)}.blur-xl{--tw-blur:blur(24px)}.drop-shadow-\[0_2px_12px_rgba\(106\2c 88\2c 228\2c 0\.4\)\]{--tw-drop-shadow:drop-shadow(0 2px 12px rgba(106,88,228,.4))}.drop-shadow-\[0_2px_12px_rgba\(106\2c 88\2c 228\2c 0\.4\)\],.drop-shadow-\[0_2px_12px_rgba\(167\2c 139\2c 250\2c 0\.35\)\]{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)}.drop-shadow-\[0_2px_12px_rgba\(167\2c 139\2c 250\2c 0\.35\)\]{--tw-drop-shadow:drop-shadow(0 2px 12px rgba(167,139,250,.35))}.drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,.05))}.drop-shadow-sm,.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-2xl{--tw-backdrop-blur:blur(40px)}.backdrop-blur-2xl,.backdrop-blur-3xl{-webkit-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);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)}.backdrop-blur-3xl{--tw-backdrop-blur:blur(64px)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-md,.backdrop-blur-xl{-webkit-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);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)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.backdrop-filter{-webkit-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);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,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;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-opacity{transition-property:opacity;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}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.delay-500{transition-delay:.5s}.delay-\[1000ms\]{transition-delay:1s}.delay-\[1100ms\]{transition-delay:1.1s}.delay-\[1200ms\]{transition-delay:1.2s}.delay-\[1300ms\]{transition-delay:1.3s}.delay-\[600ms\]{transition-delay:.6s}.delay-\[700ms\]{transition-delay:.7s}.delay-\[800ms\]{transition-delay:.8s}.delay-\[900ms\]{transition-delay:.9s}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.duration-\[1200ms\]{transition-duration:1.2s}.duration-\[1500ms\]{transition-duration:1.5s}.duration-\[2000ms\]{transition-duration:2s}.duration-\[500ms\]{transition-duration:.5s}.duration-\[6000ms\]{transition-duration:6s}.duration-\[800ms\]{transition-duration:.8s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.selection\:bg-\[\#6A58E4\]\/10 ::-moz-selection{background-color:rgba(106,88,228,.1)}.selection\:bg-\[\#6A58E4\]\/10 ::selection{background-color:rgba(106,88,228,.1)}.selection\:text-\[\#6A58E4\] ::-moz-selection{--tw-text-opacity:1;color:rgb(106 88 228/var(--tw-text-opacity,1))}.selection\:text-\[\#6A58E4\] ::selection{--tw-text-opacity:1;color:rgb(106 88 228/var(--tw-text-opacity,1))}.selection\:bg-\[\#6A58E4\]\/10::-moz-selection{background-color:rgba(106,88,228,.1)}.selection\:bg-\[\#6A58E4\]\/10::selection{background-color:rgba(106,88,228,.1)}.selection\:text-\[\#6A58E4\]::-moz-selection{--tw-text-opacity:1;color:rgb(106 88 228/var(--tw-text-opacity,1))}.selection\:text-\[\#6A58E4\]::selection{--tw-text-opacity:1;color:rgb(106 88 228/var(--tw-text-opacity,1))}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem}.hover\:-translate-y-0\.5:hover,.hover\:-translate-y-1: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-1:hover{--tw-translate-y:-0.25rem}.hover\:-translate-y-1\.5:hover{--tw-translate-y:-0.375rem}.hover\:-translate-y-1\.5:hover,.hover\:-translate-y-2: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-2:hover{--tw-translate-y:-0.5rem}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110: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\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:scale-\[1\.01\]:hover{--tw-scale-x:1.01;--tw-scale-y:1.01}.hover\:scale-\[1\.01\]:hover,.hover\:scale-\[1\.02\]: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\:scale-\[1\.02\]:hover{--tw-scale-x:1.02;--tw-scale-y:1.02}.hover\:border-\[\#28A8D9\]\/30:hover{border-color:rgba(40,168,217,.3)}.hover\:border-\[\#4A86F5\]\/10:hover{border-color:rgba(74,134,245,.1)}.hover\:border-\[\#4A86F5\]\/30:hover{border-color:rgba(74,134,245,.3)}.hover\:border-\[\#4A86F5\]\/40:hover{border-color:rgba(74,134,245,.4)}.hover\:border-\[\#6A58E4\]\/10:hover{border-color:rgba(106,88,228,.1)}.hover\:border-\[\#6A58E4\]\/20:hover{border-color:rgba(106,88,228,.2)}.hover\:border-\[\#6A58E4\]\/30:hover{border-color:rgba(106,88,228,.3)}.hover\:border-\[\#6A58E4\]\/35:hover{border-color:rgba(106,88,228,.35)}.hover\:border-\[\#6A58E4\]\/40:hover{border-color:rgba(106,88,228,.4)}.hover\:border-emerald-500\/10:hover{border-color:rgba(16,185,129,.1)}.hover\:border-emerald-500\/30:hover{border-color:rgba(16,185,129,.3)}.hover\:border-emerald-500\/40:hover{border-color:rgba(16,185,129,.4)}.hover\:bg-\[\#4A86F5\]\/5:hover{background-color:rgba(74,134,245,.05)}.hover\:bg-\[\#6A58E4\]\/15:hover{background-color:rgba(106,88,228,.15)}.hover\:bg-\[\#6A58E4\]\/5:hover{background-color:rgba(106,88,228,.05)}.hover\:bg-\[\#F8FAFF\]:hover{--tw-bg-opacity:1;background-color:rgb(248 250 255/var(--tw-bg-opacity,1))}.hover\:bg-emerald-500\/5:hover{background-color:rgba(16,185,129,.05)}.hover\:bg-white\/10:hover{background-color:hsla(0,0%,100%,.1)}.hover\:bg-white\/90:hover{background-color:hsla(0,0%,100%,.9)}.hover\:bg-white\/\[0\.06\]:hover{background-color:hsla(0,0%,100%,.06)}.hover\:from-\[\#5A47DD\]:hover{--tw-gradient-from:#5a47dd var(--tw-gradient-from-position);--tw-gradient-to:rgba(90,71,221,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-\[\#3F74F2\]:hover{--tw-gradient-to:#3f74f2 var(--tw-gradient-to-position)}.hover\:text-\[\#111827\]:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:text-\[\#4A86F5\]:hover{--tw-text-opacity:1;color:rgb(74 134 245/var(--tw-text-opacity,1))}.hover\:text-\[\#5241C9\]:hover{--tw-text-opacity:1;color:rgb(82 65 201/var(--tw-text-opacity,1))}.hover\:text-\[\#6A58E4\]:hover{--tw-text-opacity:1;color:rgb(106 88 228/var(--tw-text-opacity,1))}.hover\:text-emerald-500:hover{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.hover\:text-emerald-600:hover{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-95:hover{opacity:.95}.hover\:shadow-\[0_25px_50px_-15px_rgba\(106\2c 88\2c 228\2c 0\.2\)\]:hover{--tw-shadow:0 25px 50px -15px rgba(106,88,228,.2);--tw-shadow-colored:0 25px 50px -15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_25px_50px_-15px_rgba\(40\2c 168\2c 217\2c 0\.2\)\]:hover{--tw-shadow:0 25px 50px -15px rgba(40,168,217,.2);--tw-shadow-colored:0 25px 50px -15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_25px_50px_-15px_rgba\(74\2c 134\2c 245\2c 0\.2\)\]:hover{--tw-shadow:0 25px 50px -15px rgba(74,134,245,.2);--tw-shadow-colored:0 25px 50px -15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_25px_60px_-10px_rgba\(106\2c 88\2c 228\2c 0\.08\)\]:hover{--tw-shadow:0 25px 60px -10px rgba(106,88,228,.08);--tw-shadow-colored:0 25px 60px -10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_25px_60px_-10px_rgba\(106\2c 88\2c 228\2c 0\.16\)\]:hover{--tw-shadow:0 25px 60px -10px rgba(106,88,228,.16);--tw-shadow-colored:0 25px 60px -10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_25px_60px_rgba\(106\2c 88\2c 228\2c 0\.32\)\2c _0_0_40px_rgba\(106\2c 88\2c 228\2c 0\.2\)\]:hover{--tw-shadow:0 25px 60px rgba(106,88,228,.32),0 0 40px rgba(106,88,228,.2);--tw-shadow-colored:0 25px 60px var(--tw-shadow-color),0 0 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-lg:hover{--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)}.hover\:shadow-lg:hover,.hover\:shadow-md:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.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)}.hover\:shadow-xl:hover{--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)}.hover\:shadow-\[\#6A58E4\]\/10:hover{--tw-shadow-color:rgba(106,88,228,.1);--tw-shadow:var(--tw-shadow-colored)}.hover\:shadow-\[\#6A58E4\]\/25:hover{--tw-shadow-color:rgba(106,88,228,.25);--tw-shadow:var(--tw-shadow-colored)}.hover\:shadow-\[\#6A58E4\]\/5:hover{--tw-shadow-color:rgba(106,88,228,.05);--tw-shadow:var(--tw-shadow-colored)}.focus\:border-\[\#6A58E4\]:focus{--tw-border-opacity:1;border-color:rgb(106 88 228/var(--tw-border-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1: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(1px + 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-\[\#6A58E4\]:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(106 88 228/var(--tw-ring-opacity,1))}.active\:translate-y-0:active{--tw-translate-y:0px}.active\:scale-95:active,.active\:translate-y-0:active{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))}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95}.group\/dropdown:hover .group-hover\/dropdown\:pointer-events-auto{pointer-events:auto}.group\/dropdown:hover .group-hover\/dropdown\:translate-y-0{--tw-translate-y:0px}.group:hover .group-hover\:translate-x-1,.group\/dropdown:hover .group-hover\/dropdown\:translate-y-0{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))}.group:hover .group-hover\:translate-x-1{--tw-translate-x:0.25rem}.group\/dropdown:hover .group-hover\/dropdown\:rotate-180{--tw-rotate:180deg}.group:hover .group-hover\:rotate-3,.group\/dropdown:hover .group-hover\/dropdown\:rotate-180{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))}.group:hover .group-hover\:rotate-3{--tw-rotate:3deg}.group:hover .group-hover\:rotate-6{--tw-rotate:6deg}.group:hover .group-hover\:rotate-6,.group:hover .group-hover\:scale-105{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))}.group:hover .group-hover\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.group:hover .group-hover\:scale-110,.group:hover .group-hover\:scale-125{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))}.group:hover .group-hover\:scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.group:hover .group-hover\:scale-x-100,.group\/link:hover .group-hover\/link\:scale-x-100{--tw-scale-x:1;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))}.group:hover .group-hover\:animate-\[shine_1\.2s_ease-in-out\]{animation:shine 1.2s ease-in-out}.group:hover .group-hover\:animate-\[shine_2s_ease-in-out\]{animation:shine 2s ease-in-out}.group:hover .group-hover\:gap-2\.5{gap:.625rem}.group\/item:hover .group-hover\/item\:bg-\[\#4A86F5\]{--tw-bg-opacity:1;background-color:rgb(74 134 245/var(--tw-bg-opacity,1))}.group\/item:hover .group-hover\/item\:bg-\[\#6A58E4\]{--tw-bg-opacity:1;background-color:rgb(106 88 228/var(--tw-bg-opacity,1))}.group\/item:hover .group-hover\/item\:bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.group:hover .group-hover\:bg-\[\#28A8D9\]{--tw-bg-opacity:1;background-color:rgb(40 168 217/var(--tw-bg-opacity,1))}.group:hover .group-hover\:bg-\[\#28A8D9\]\/10{background-color:rgba(40,168,217,.1)}.group:hover .group-hover\:bg-\[\#4A86F5\]{--tw-bg-opacity:1;background-color:rgb(74 134 245/var(--tw-bg-opacity,1))}.group:hover .group-hover\:bg-\[\#4A86F5\]\/10{background-color:rgba(74,134,245,.1)}.group:hover .group-hover\:bg-\[\#4A86F5\]\/20{background-color:rgba(74,134,245,.2)}.group:hover .group-hover\:bg-\[\#6A58E4\]{--tw-bg-opacity:1;background-color:rgb(106 88 228/var(--tw-bg-opacity,1))}.group:hover .group-hover\:bg-\[\#6A58E4\]\/10{background-color:rgba(106,88,228,.1)}.group:hover .group-hover\:bg-\[\#6A58E4\]\/20{background-color:rgba(106,88,228,.2)}.group:hover .group-hover\:bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.group:hover .group-hover\:bg-emerald-500\/20{background-color:rgba(16,185,129,.2)}.group\/item:hover .group-hover\/item\:text-\[\#4A86F5\]{--tw-text-opacity:1;color:rgb(74 134 245/var(--tw-text-opacity,1))}.group\/item:hover .group-hover\/item\:text-\[\#6A58E4\]{--tw-text-opacity:1;color:rgb(106 88 228/var(--tw-text-opacity,1))}.group\/item:hover .group-hover\/item\:text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-white,.group\/item:hover .group-hover\/item\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100,.group\/dropdown:hover .group-hover\/dropdown\:opacity-100{opacity:1}@media (min-width:640px){.sm\:left-\[4\%\]{left:4%}.sm\:right-\[4\%\]{right:4%}.sm\:mx-0{margin-left:0;margin-right:0}.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:inline{display:inline}.sm\:h-44{height:11rem}.sm\:h-\[540px\]{height:540px}.sm\:max-w-\[420px\]{max-width:420px}.sm\:shrink{flex-shrink:1}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[200px_1fr\]{grid-template-columns:200px 1fr}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:items-center{align-items:center}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:gap-8{gap:2rem}.sm\:space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.sm\:overflow-visible{overflow:visible}.sm\:whitespace-normal{white-space:normal}.sm\:p-10{padding:2.5rem}.sm\:p-12{padding:3rem}.sm\:p-14{padding:3.5rem}.sm\:p-4{padding:1rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}.sm\:p-9{padding:2.25rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-16{padding-top:4rem;padding-bottom:4rem}.sm\:py-32{padding-top:8rem;padding-bottom:8rem}.sm\:py-9{padding-top:2.25rem;padding-bottom:2.25rem}.sm\:pb-0{padding-bottom:0}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-\[10px\]{font-size:10px}.sm\:text-\[11px\]{font-size:11px}.sm\:text-\[13px\]{font-size:13px}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.sm\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width:768px){.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-7{grid-column:span 7/span 7}.md\:h-\[600px\]{height:600px}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:border-b-0{border-bottom-width:0}.md\:border-r{border-right-width:1px}.md\:p-14{padding:3.5rem}.md\:p-8{padding:2rem}.md\:text-\[36px\]{font-size:36px}}@media (min-width:1024px){.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:order-3{order:3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:mt-6{margin-top:1.5rem}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:min-h-0{min-height:0}.lg\:max-w-none{max-width:none}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[0\.92fr_1fr\]{grid-template-columns:.92fr 1fr}.lg\:grid-cols-\[1\.5fr_1fr\]{grid-template-columns:1.5fr 1fr}.lg\:grid-cols-\[1\.7fr_1fr\]{grid-template-columns:1.7fr 1fr}.lg\:items-stretch{align-items:stretch}.lg\:gap-14{gap:3.5rem}.lg\:gap-16{gap:4rem}.lg\:gap-20{gap:5rem}.lg\:gap-6{gap:1.5rem}.lg\:gap-7{gap:1.75rem}.lg\:gap-8{gap:2rem}.lg\:gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.lg\:whitespace-nowrap{white-space:nowrap}.lg\:p-10{padding:2.5rem}.lg\:p-12{padding:3rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-24{padding-top:6rem;padding-bottom:6rem}.lg\:pr-4{padding-right:1rem}.lg\:text-6xl{font-size:3.75rem;line-height:1}.lg\:text-\[34px\]{font-size:34px}.lg\:text-\[40px\]{font-size:40px}.lg\:text-\[60px\]{font-size:60px}}@media (min-width:1280px){.xl\:col-span-4{grid-column:span 4/span 4}}
  


.grid-oneone{
  display:grid;
  grid-template-columns:1.1fr 1fr;
}

@media(max-width:991px){
  .grid-oneone{
    grid-template-columns:1fr;
  }
}




.grid-onetwo{
  display:grid;
  grid-template-columns:1.2fr 1fr;
}

@media(max-width:991px){
  .grid-onetwo{
    grid-template-columns:1fr;
  }
}



.grid-onefour{
  display:grid;
  grid-template-columns:1.4fr 1fr;
}

@media(max-width:991px){
  .grid-onefour{
    grid-template-columns:1fr;
  }
}

.grid-four{
  display:grid;
  grid-template-columns:1fr 1.4fr;
}

@media(max-width:991px){
  .grid-four{
    grid-template-columns:1fr;
  }
}



.grid-onefive{
  display:grid;
  grid-template-columns:1.5fr 1fr;
}

@media(max-width:991px){
  .grid-onefive{
    grid-template-columns:1fr;
  }
}



.grid-five{
  display:grid;
  grid-template-columns:1fr 1.5fr;
}

@media(max-width:991px){
  .grid-five{
    grid-template-columns:1fr;
  }
}


.grid-onesix{
  display:grid;
  grid-template-columns:1.6fr 1fr;
}

@media(max-width:991px){
  .grid-onesix{
    grid-template-columns:1fr;
  }
}


.grid-six{
  display:grid;
  grid-template-columns:1fr 1.6fr;
}

@media(max-width:991px){
  .grid-six{
    grid-template-columns:1fr;
  }
}


.grid-one{
    display:grid;
  grid-template-columns:1fr 1.2fr;
  align-items:center;
}


@media(max-width:991px){
  .grid-one{
    grid-template-columns:1fr;
  }
}


.grid-seven{
  display:grid;
    grid-template-columns:1fr 1.7fr;
  align-items:center;
}


@media(max-width:991px){
  .grid-seven{
    grid-template-columns:1fr;
  }


}


.grid-oneseven{
  display:grid;
    grid-template-columns:1.7fr 1fr;
  align-items:center;
}


@media(max-width:991px){
  .grid-oneseven{
    grid-template-columns:1fr;
  }


}


.grid-nine{
  display:grid;
  grid-template-columns: 1fr 1.9fr;
  align-items:center;
}


@media(max-width:991px){
  .grid-nine{
    grid-template-columns:1fr;
  }


}

.grid-onenine{
  display:grid;
  grid-template-columns: 1.9fr 1fr;
  align-items:center;
}


@media(max-width:991px){
  .grid-onenine{
    grid-template-columns:1fr;
  }


}





/* ==========================================
   GLOBAL RESPONSIVE TYPOGRAPHY
   ========================================== */

h1 {
    font-size: 40px !important;
    line-height: 1.10;
}

h2 {
    font-size: 32px !important;
    line-height:1.10 !important;
}

h3 {
    font-size: 28px !important;
    line-height: 1.20;
}

h4 {
    font-size: 24px !important;
    line-height: 1.25;
}

h5 {
    font-size: 18px !important;
    line-height: 1.30;
}

h6 {
    font-size: 17px !important;
    line-height: 1.40;
}

p {
    font-size: 16px !important;
    line-height: 1.80 !important;
}

/* TABLET */
@media (min-width: 768px) {
    h1 { font-size: 52px !important; }
    h2 { font-size: 40px !important; }
    h3 { font-size: 32px !important; }
    h4 { font-size: 28px !important; }
    h5 { font-size: 20px !important; }
    h6 { font-size: 17px !important; }
    p  { font-size: 16px !important;  line-height:1.876 !important;}
}

/* DESKTOP */
@media (min-width: 1024px) {
    h1 { font-size: 64px !important; }
    h2 { font-size: 45px !important; }
    h3 { font-size: 36px !important; }
    h4 { font-size: 32px !important; }
    h5 { font-size: 24px !important; }
    h6 { font-size: 17px !important; }
    p  { font-size: 16px !important; line-height:1.876 !important;}
}













@media (max-width:991px) {
  .text-md-center{
    text-align:center !important;
  }
}

.text-justify{
  text-align:justify;
}



/* ========================================== */
/* 2. CATEGORY CARD FLOAT ANIMATIONS */
/* ========================================== */

      /* Float animations for category cards */
      @keyframes float-y-1 {
        0%, 100% { transform: translateY(0px) rotate(1deg); }
        50% { transform: translateY(-10px) rotate(-1deg); }
      }
      @keyframes float-y-2 {
        0%, 100% { transform: translateY(0px) rotate(-2deg); }
        50% { transform: translateY(-15px) rotate(2deg); }
      }
      @keyframes float-y-3 {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        50% { transform: translateY(-8px) rotate(-1deg); }
      }
      @keyframes border-shimmer {
        0% { border-color: rgba(106, 88, 228, 0.2); }
        50% { border-color: rgba(106, 88, 228, 0.6); }
        100% { border-color: rgba(106, 88, 228, 0.2); }
      }
      .float-card-1 { animation: float-y-1 6s ease-in-out infinite; }
      .float-card-2 { animation: float-y-2 7s ease-in-out infinite; }
      .float-card-3 { animation: float-y-3 5s ease-in-out infinite; }
      .shimmer-border { animation: border-shimmer 4s ease-in-out infinite; }
    
@media(max-width:1200px){
  .float-card-1, .float-card-2, .float-card-3{ display:none; }
}

/* ========================================== */
/* 3. RECOVER SUSPENDED GMB (GBP) SECTION VISUALS */
/* ========================================== */

      #recover-suspended-gmb .gmbv-gmb-visual-wrap{
        --gmbv-shadow-card:0 2px 8px rgba(14,14,16,.06),0 20px 48px rgba(14,14,16,.08);
        --gmbv-shadow-red:0 14px 34px rgba(106,88,228,.22);
        --gmbv-shadow-sm:0 1px 2px rgba(14,14,16,.04),0 10px 26px rgba(14,14,16,.06);
        --gmbv-muted-2:#9499A3;
        --gmbv-display:'Inter',system-ui,sans-serif;
        --gmbv-primary:#6A58E4;
        --gmbv-muted:#5E626C;
        --gmbv-spark:#A78BFA;
        --gmbv-field:#F8FAFF;
        --gmbv-line:#E6ECF5;
        --gmbv-mono:'Inter',ui-monospace,monospace;
        --gmbv-ease:cubic-bezier(.19,1,.22,1);
        --gmbv-ink:#111827;
        --gmbv-ui:'Inter',system-ui,sans-serif;
        position:relative;
        width:100%;
      }

      #recover-suspended-gmb .gmbv-gmb-card{
        position:relative;
        background:#fff;
        border-radius:28px;
        border:1px solid var(--gmbv-line);
        box-shadow:
          0 2px 4px rgba(14,14,16,.04),
          0 24px 60px rgba(14,14,16,.10),
          0 80px 140px rgba(14,14,16,.08);
        padding:28px 28px 32px;
        overflow:visible;
      }

      #recover-suspended-gmb .gmbv-map-pin-wrap{
        position:absolute;
        top:-48px;
        right:36px;
        z-index:10;
        animation:gmbv-pinFloat 3.6s ease-in-out infinite;
        filter:drop-shadow(0 12px 24px rgba(106,88,228,.28));
      }
      #recover-suspended-gmb .gmbv-map-pin-wrap svg{width:72px;height:72px;}

      #recover-suspended-gmb .gmbv-gbp-card{
        display:flex;
        align-items:center;
        gap:14px;
        background:#fff;
        border:1px solid var(--gmbv-line);
        border-radius:16px;
        padding:14px 18px;
        margin-bottom:26px;
        box-shadow:var(--gmbv-shadow-sm);
        position:relative;
        overflow:hidden;
      }
      #recover-suspended-gmb .gmbv-gbp-card::before{
        content:"";
        position:absolute;
        inset:0;
        border-radius:inherit;
        background:linear-gradient(110deg,rgba(106,88,228,.06),transparent 60%);
        pointer-events:none;
      }
      #recover-suspended-gmb .gmbv-gbp-logo{
        width:42px;height:42px;
        border-radius:12px;
        background:linear-gradient(135deg,#4285F4,#34A853,#FBBC05,#EA4335);
        display:grid;
        place-items:center;
        flex:none;
        box-shadow:0 4px 12px rgba(66,133,244,.22);
      }
      #recover-suspended-gmb .gmbv-gbp-logo svg{width:22px;height:22px;}
      #recover-suspended-gmb .gmbv-gbp-info{flex:1;min-width:0;}
      #recover-suspended-gmb .gmbv-gbp-name{font-family:var(--gmbv-display);font-weight:700;font-size:15px;color:var(--gmbv-ink);line-height:1.2;}
      #recover-suspended-gmb .gmbv-gbp-status{display:flex;align-items:center;gap:8px;margin-top:4px;}
      #recover-suspended-gmb .gmbv-gbp-dot{
        width:8px;height:8px;border-radius:50%;
        background:#22c55e;
        box-shadow:0 0 0 3px rgba(34,197,94,.18);
        animation:gmbv-statusPulse 2s ease-in-out infinite;
      }
      #recover-suspended-gmb .gmbv-gbp-dot.gmbv-red{background:var(--gmbv-primary);box-shadow:0 0 0 3px rgba(106,88,228,.18);}
      #recover-suspended-gmb .gmbv-gbp-dot.gmbv-amber{background:#F59E0B;box-shadow:0 0 0 3px rgba(245,158,11,.18);}
      #recover-suspended-gmb .gmbv-gbp-sub{font-family:var(--gmbv-ui);font-size:12px;color:var(--gmbv-muted);font-weight:500;}
      #recover-suspended-gmb .gmbv-gbp-stars{display:flex;gap:2px;margin-left:auto;flex:none;}
      #recover-suspended-gmb .gmbv-gbp-stars svg{width:13px;height:13px;color:#F59E0B;}

      #recover-suspended-gmb .gmbv-timeline{
        position:relative;
        display:flex;
        flex-direction:column;
        gap:0;
      }

      #recover-suspended-gmb .gmbv-tl-line-wrap{
        position:absolute;
        left:22px;
        top:20px;
        bottom:20px;
        width:3px;
        background:var(--gmbv-line);
        border-radius:3px;
        overflow:hidden;
      }
      #recover-suspended-gmb .gmbv-tl-line-fill{
        position:absolute;
        top:0;left:0;right:0;
        background:linear-gradient(180deg,var(--gmbv-primary),var(--gmbv-spark));
        border-radius:3px;
        height:0%;
        transition:height 1.8s cubic-bezier(.25,.46,.45,.94);
      }
      #recover-suspended-gmb .gmbv-tl-line-fill.gmbv-drawn{height:100%;}

      #recover-suspended-gmb .gmbv-tl-step{
        display:flex;
        align-items:flex-start;
        gap:18px;
        padding:10px 0;
        position:relative;
        z-index:1;
      }

      #recover-suspended-gmb .gmbv-tl-icon{
        width:44px;height:44px;
        border-radius:50%;
        background:#fff;
        border:2px solid var(--gmbv-line);
        display:flex;align-items:center;justify-content:center;
        flex:none;
        position:relative;
        z-index:2;
        transition:
          border-color .4s var(--gmbv-ease),
          box-shadow .4s var(--gmbv-ease),
          background .4s var(--gmbv-ease),
          transform .4s var(--gmbv-ease);
      }
      #recover-suspended-gmb .gmbv-tl-icon svg{width:20px;height:20px;color:var(--gmbv-muted-2);transition:color .4s var(--gmbv-ease);}

      #recover-suspended-gmb .gmbv-tl-step.gmbv-active .gmbv-tl-icon{
        background:var(--gmbv-primary);
        border-color:var(--gmbv-primary);
        box-shadow:0 0 0 6px rgba(106,88,228,.12),var(--gmbv-shadow-red);
        transform:scale(1.1);
      }
      #recover-suspended-gmb .gmbv-tl-step.gmbv-active .gmbv-tl-icon svg{color:#fff;}
      #recover-suspended-gmb .gmbv-tl-step.gmbv-done .gmbv-tl-icon{
        background:var(--gmbv-field);
        border-color:rgba(106,88,228,.3);
      }
      #recover-suspended-gmb .gmbv-tl-step.gmbv-done .gmbv-tl-icon svg{color:var(--gmbv-primary);}

      #recover-suspended-gmb .gmbv-tl-body{
        flex:1;
        background:#fff;
        border:1px solid var(--gmbv-line);
        border-radius:14px;
        padding:12px 16px;
        box-shadow:var(--gmbv-shadow-sm);
        transition:
          box-shadow .4s var(--gmbv-ease),
          border-color .4s var(--gmbv-ease),
          transform .4s var(--gmbv-ease);
        transform-origin:left center;
      }
      #recover-suspended-gmb .gmbv-tl-step.gmbv-active .gmbv-tl-body{
        box-shadow:
          0 2px 4px rgba(14,14,16,.05),
          0 16px 40px rgba(106,88,228,.10);
        border-color:rgba(106,88,228,.18);
        transform:translateX(4px);
      }
      #recover-suspended-gmb .gmbv-tl-step.gmbv-done .gmbv-tl-body{
        background:rgba(106,88,228,.03);
      }

      #recover-suspended-gmb .gmbv-tl-step-num{
        font-family:var(--gmbv-mono);
        font-size:10px;
        font-weight:600;
        letter-spacing:.12em;
        color:var(--gmbv-muted-2);
        text-transform:uppercase;
        margin-bottom:2px;
      }
      #recover-suspended-gmb .gmbv-tl-step.gmbv-active .gmbv-tl-step-num{color:var(--gmbv-primary);}
      #recover-suspended-gmb .gmbv-tl-step.gmbv-done .gmbv-tl-step-num{color:rgba(106,88,228,.5);}

      #recover-suspended-gmb .gmbv-tl-step-title{
        font-family:var(--gmbv-display);
        font-weight:700;
        font-size:16px;
        color:var(--gmbv-ink);
        line-height:1.2;
      }
      #recover-suspended-gmb .gmbv-tl-step.gmbv-active .gmbv-tl-step-title{color:var(--gmbv-primary);}

      #recover-suspended-gmb .gmbv-tl-step-desc{
        font-family:var(--gmbv-ui);
        font-size:11.5px;
        color:var(--gmbv-muted);
        margin-top:3px;
        line-height:1.5;
      }

      #recover-suspended-gmb .gmbv-tl-check{
        position:absolute;
        right:-5px;top:-5px;
        width:18px;height:18px;
        border-radius:50%;
        background:#22c55e;
        border:2px solid #fff;
        display:flex;align-items:center;justify-content:center;
        opacity:0;
        transform:scale(0);
        transition:opacity .3s var(--gmbv-ease),transform .3s var(--gmbv-ease);
      }
      #recover-suspended-gmb .gmbv-tl-check svg{width:9px;height:9px;color:#fff;}
      #recover-suspended-gmb .gmbv-tl-step.gmbv-done .gmbv-tl-check{opacity:1;transform:scale(1);}

      #recover-suspended-gmb .gmbv-gmb-badge{
        position:absolute;
        background:#fff;
        border:1px solid var(--gmbv-line);
        border-radius:14px;
        padding:10px 16px;
        box-shadow:
          0 4px 12px rgba(14,14,16,.08),
          0 20px 48px rgba(14,14,16,.10);
        display:flex;align-items:center;gap:10px;
        white-space:nowrap;
        pointer-events:none;
        z-index:15;
      }
      #recover-suspended-gmb .gmbv-gmb-badge.gmbv-badge-tl{
        top:-22px;
        left:-18px;
        animation:gmbv-badgeFloat1 4.2s ease-in-out infinite;
      }
      #recover-suspended-gmb .gmbv-gmb-badge.gmbv-badge-br{
        bottom:50px;
        right:-22px;
        animation:gmbv-badgeFloat2 3.8s ease-in-out 0.7s infinite;
      }
      #recover-suspended-gmb .gmbv-badge-icon{
        width:34px;height:34px;
        border-radius:10px;
        display:flex;align-items:center;justify-content:center;
        flex:none;
      }
      #recover-suspended-gmb .gmbv-badge-icon.gmbv-green{background:rgba(34,197,94,.12);}
      #recover-suspended-gmb .gmbv-badge-icon.gmbv-red{background:rgba(106,88,228,.10);}
      #recover-suspended-gmb .gmbv-badge-icon.gmbv-blue{background:rgba(66,133,244,.10);}
      #recover-suspended-gmb .gmbv-badge-icon svg{width:16px;height:16px;}
      #recover-suspended-gmb .gmbv-badge-text strong{
        font-family:var(--gmbv-display);
        font-size:14px;
        font-weight:700;
        color:var(--gmbv-ink);
        display:block;
        line-height:1.1;
      }
      #recover-suspended-gmb .gmbv-badge-text span{
        font-family:var(--gmbv-ui);
        font-size:11px;
        color:var(--gmbv-muted);
      }

      #recover-suspended-gmb .gmbv-gmb-progress-badge{
        position:absolute;
        bottom:-18px;
        left:50%;
        transform:translateX(-50%);
        background:#fff;
        border:1px solid var(--gmbv-line);
        border-radius:999px;
        padding:10px 20px;
        box-shadow:var(--gmbv-shadow-card);
        display:flex;align-items:center;gap:12px;
        z-index:15;
        animation:gmbv-badgeFloat1 4s ease-in-out 1.1s infinite;
      }
      #recover-suspended-gmb .gmbv-prog-ring{
        width:36px;height:36px;
        position:relative;
        flex:none;
      }
      #recover-suspended-gmb .gmbv-prog-ring svg{width:36px;height:36px;transform:rotate(-90deg);}
      #recover-suspended-gmb .gmbv-prog-ring circle{fill:none;stroke-width:3;}
      #recover-suspended-gmb .gmbv-prog-ring .gmbv-bg{stroke:var(--gmbv-line);}
      #recover-suspended-gmb .gmbv-prog-ring .gmbv-fg{
        stroke:url(#gmbv-gmb-gradient);
        stroke-linecap:round;
        stroke-dasharray:100;
        stroke-dashoffset:100;
        transition:stroke-dashoffset 2s cubic-bezier(.25,.46,.45,.94) 0.5s;
      }
      #recover-suspended-gmb .gmbv-prog-ring .gmbv-fg.gmbv-drawn{stroke-dashoffset:22;}
      #recover-suspended-gmb .gmbv-prog-text-wrap{
        font-family:var(--gmbv-display);
        font-weight:700;
        font-size:15px;
        color:var(--gmbv-ink);
        line-height:1.1;
      }
      #recover-suspended-gmb .gmbv-prog-text-wrap small{
        font-family:var(--gmbv-ui);
        font-weight:400;
        font-size:11px;
        color:var(--gmbv-muted);
        display:block;
      }

      @keyframes gmbv-pinFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
      @keyframes gmbv-badgeFloat1{0%,100%{transform:translateY(0);}50%{transform:translateY(-7px);}}
      @keyframes gmbv-badgeFloat2{0%,100%{transform:translateY(0);}50%{transform:translateY(-9px);}}
      @keyframes gmbv-statusPulse{0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(1.15);opacity:.7;}}

      @media(max-width:1024px){
        #recover-suspended-gmb .gmbv-gmb-badge.gmbv-badge-tl{left:-10px;}
        #recover-suspended-gmb .gmbv-gmb-badge.gmbv-badge-br{right:-10px;}
      }
      @media(max-width:820px){
        #recover-suspended-gmb .gmbv-gmb-card{margin:60px 16px 24px;}
        #recover-suspended-gmb .gmbv-gmb-progress-badge{display:none;}
        #recover-suspended-gmb .gmbv-gmb-badge.gmbv-badge-br{display:none;}
        #recover-suspended-gmb .gmbv-gmb-badge.gmbv-badge-tl{top:-16px;left:8px;}
        #recover-suspended-gmb .gmbv-gmb-badge.gmbv-badge-br{right:8px;}
      }
      @media(max-width:480px){
        #recover-suspended-gmb .gmbv-gmb-card{margin:56px 0 16px;padding:20px 18px 24px;}
        #recover-suspended-gmb .gmbv-map-pin-wrap{right:20px;top:-40px;}
        #recover-suspended-gmb .gmbv-map-pin-wrap svg{width:56px;height:56px;}
        #recover-suspended-gmb .gmbv-gmb-badge{font-size:12px;padding:8px 12px;}
        #recover-suspended-gmb .gmbv-badge-icon{width:28px;height:28px;}
        #recover-suspended-gmb .gmbv-tl-body{padding:10px 12px;}
        #recover-suspended-gmb .gmbv-tl-step-title{font-size:14px;}
        #recover-suspended-gmb .gmbv-tl-icon{width:38px;height:38px;}
        #recover-suspended-gmb .gmbv-tl-icon svg{width:17px;height:17px;}
      }
      @media(prefers-reduced-motion:reduce){
        #recover-suspended-gmb .gmbv-gmb-visual-wrap,
       #recover-suspended-gmb .gmbv-gmb-visual-wrap *{animation:none!important;}
        #recover-suspended-gmb .gmbv-tl-line-fill{transition:none!important;}
        #recover-suspended-gmb .gmbv-prog-ring .gmbv-fg{transition:none!important;}
      }
    


/* ========================================== */
/* 4. PAID ADS MASTERY SECTION NAV BUTTONS */
/* ========================================== */

      #paid-ads-mastery .pam-nav-btn {
        position: relative;
        transition: background-color .4s cubic-bezier(.19,1,.22,1), border-color .4s cubic-bezier(.19,1,.22,1), transform .3s ease;
      }
      #paid-ads-mastery .pam-nav-btn.pam-active {
        background: rgba(106,88,228,.12);
        border-color: rgba(106,88,228,.45);
        box-shadow: 0 12px 30px -8px rgba(106,88,228,.35), inset 0 1px 0 rgba(255,255,255,.06);
      }
      #paid-ads-mastery .pam-nav-btn.pam-active .pam-nav-icon {
        background: linear-gradient(135deg, #6A58E4, #4A86F5);
        color: #fff;
        box-shadow: 0 8px 20px -4px rgba(106,88,228,.55);
      }
      #paid-ads-mastery .pam-nav-btn.pam-active .pam-nav-indicator {
        opacity: 1;
        transform: scaleY(1);
      }
      #paid-ads-mastery .pam-nav-indicator {
        opacity: 0;
        transform: scaleY(0);
        transition: opacity .35s ease, transform .35s cubic-bezier(.19,1,.22,1);
        transform-origin: center;
      }
      #paid-ads-mastery .pam-nav-icon {
        transition: background .4s cubic-bezier(.19,1,.22,1), color .4s ease, box-shadow .4s ease;
      }

      #paid-ads-mastery .pam-fade-el {
        transition: opacity .5s cubic-bezier(.19,1,.22,1), transform .5s cubic-bezier(.19,1,.22,1);
      }
      #paid-ads-mastery .pam-fade-out {
        opacity: 0;
        transform: translateY(8px);
      }
      #paid-ads-mastery .pam-fade-in {
        opacity: 1;
        transform: translateY(0);
      }

      #paid-ads-mastery .pam-dash-card {
        background: rgba(255,255,255,.03);
        border: 1px solid rgba(255,255,255,.08);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
      }

      #paid-ads-mastery .pam-bar {
        transform-origin: bottom;
        transition: transform 1s cubic-bezier(.19,1,.22,1);
      }

      #paid-ads-mastery .pam-ring-fg {
        transition: stroke-dashoffset 1.4s cubic-bezier(.19,1,.22,1);
      }

      #paid-ads-mastery .pam-spark-line {
        transition: stroke-dashoffset 1.6s cubic-bezier(.19,1,.22,1);
      }

      #paid-ads-mastery .pam-glow-shift {
        transition: background 0.6s ease;
      }

      @keyframes pam-live-pulse {
        0%, 100% { box-shadow: 0 0 0 0 rgba(34,197,94,.5); }
        50% { box-shadow: 0 0 0 6px rgba(34,197,94,0); }
      }
      #paid-ads-mastery .pam-live-dot {
        animation: pam-live-pulse 1.8s ease-in-out infinite;
      }

      @keyframes pam-float {
        0%, 100% { transform: translateY(0); }
        50% { transform: translateY(-8px); }
      }
      #paid-ads-mastery .pam-float {
        animation: pam-float 5s ease-in-out infinite;
      }

      #paid-ads-mastery .pam-image-wrap img {
        transition: opacity .5s ease;
      }

      @media (prefers-reduced-motion: reduce) {
        #paid-ads-mastery .pam-live-dot,
        #paid-ads-mastery .pam-float {
          animation: none !important;
        }
        #paid-ads-mastery .pam-fade-el,
        #paid-ads-mastery .pam-bar,
        #paid-ads-mastery .pam-ring-fg,
        #paid-ads-mastery .pam-spark-line {
          transition-duration: .001ms !important;
        }
      }
    


/* ========================================== */
/* 5. LEADERSHIP EXPERIENCE SECTION MENU BUTTONS */
/* ========================================== */

      #leadership-experience .le-menu-btn {
        position: relative;
        transition: background-color .4s cubic-bezier(.19,1,.22,1), border-color .4s cubic-bezier(.19,1,.22,1), box-shadow .4s ease;
      }
      #leadership-experience .le-menu-btn.le-active {
        background: #fff;
        border-color: rgba(106,88,228,.25);
        box-shadow: 0 16px 36px -14px rgba(106,88,228,.28), 0 2px 8px rgba(17,24,39,.04);
      }
      #leadership-experience .le-menu-btn.le-active .le-menu-num {
        background: linear-gradient(135deg, #6A58E4, #4A86F5);
        color: #fff;
        border-color: transparent;
        box-shadow: 0 6px 16px -4px rgba(106,88,228,.45);
      }
      #leadership-experience .le-menu-btn.le-active .le-menu-label {
        color: #111827;
      }
      #leadership-experience .le-menu-btn.le-active .le-menu-indicator {
        opacity: 1;
        transform: scaleY(1);
      }
      #leadership-experience .le-menu-indicator {
        opacity: 0;
        transform: scaleY(0);
        transform-origin: center;
        transition: opacity .35s ease, transform .35s cubic-bezier(.19,1,.22,1);
      }
      #leadership-experience .le-menu-num {
        transition: background .4s cubic-bezier(.19,1,.22,1), color .4s ease, border-color .4s ease, box-shadow .4s ease;
      }
      #leadership-experience .le-menu-label {
        transition: color .4s ease;
      }

      #leadership-experience .le-fade-el {
        transition: opacity .5s cubic-bezier(.19,1,.22,1), transform .5s cubic-bezier(.19,1,.22,1);
      }
      #leadership-experience .le-fade-out {
        opacity: 0;
        transform: translateY(10px);
      }
      #leadership-experience .le-fade-in {
        opacity: 1;
        transform: translateY(0);
      }

      /* Google Ranking Expert tag - inline text badge under the name (no longer a floating card) */
      #leadership-experience .le-expert-tag {
        background: rgba(255,255,255,.14);
        border: 1px solid rgba(255,255,255,.28);
        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
      }

      #leadership-experience .le-portrait-glow {
        animation: le-glow-pulse 5s ease-in-out infinite;
      }
      @keyframes le-glow-pulse {
        0%, 100% { opacity: .45; }
        50% { opacity: .75; }
      }

      #leadership-experience .le-luxury-card {
        background: #FFFFFF;
        border: 1px solid #E6ECF5;
        box-shadow: 0 20px 45px -18px rgba(17,24,39,.16), 0 4px 14px -4px rgba(17,24,39,.06);
      }

      #leadership-experience .le-content-panel {
        background: #FFFFFF;
        border: 1px solid #E6ECF5;
        box-shadow: 0 25px 60px -20px rgba(106,88,228,.14), 0 4px 16px -6px rgba(17,24,39,.05);
      }

      /* Spacer that separates the bio content from the stat row within the same card (no visible line) */
      #leadership-experience .le-stat-divider {
        border-top: none;
      }

      #leadership-experience .le-stat-chip {
        background: #F8FAFF;
        border: 1px solid #E6ECF5;
        transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease;
      }
      #leadership-experience .le-stat-chip:hover {
        border-color: rgba(106,88,228,.3);
        box-shadow: 0 10px 24px -10px rgba(106,88,228,.25);
        transform: translateY(-2px);
      }

      /* Portrait column stretches to match the content column's natural height */
      #leadership-experience .le-portrait-frame {
        height: 100%;
        min-height: 420px;
      }

      @media (max-width: 639px) {
        #leadership-experience .le-portrait-frame {
          min-height: 360px;
        }
        #leadership-experience .le-stat-chip {
          padding-left: .5rem;
          padding-right: .5rem;
        }
      }

      @media (prefers-reduced-motion: reduce) {
        #leadership-experience .le-portrait-glow {
          animation: none !important;
        }
        #leadership-experience .le-fade-el {
          transition-duration: .001ms !important;
        }
      }
    


/* ========================================== */
/* 6. SPECIALIZED SEO SERVICES SECTION VISUALS */
/* ========================================== */

      #specialized-seo-services .ss-visual-mount{
        --ss-display:'Inter',system-ui,sans-serif;
        --ss-ui:'Inter',system-ui,sans-serif;
        --ss-primary:#6A58E4;
        --ss-primary-light:#9B6DFF;
        --ss-ink:#111827;
        --ss-muted:#5E626C;
        --ss-muted-2:#9499A3;
        --ss-paper:#FBFAF8;
        --ss-paper-2:#F8FAFF;
        --ss-line:#E6ECF5;
        --ss-shadow-sm:0 1px 2px rgba(14,14,16,.04),0 10px 26px rgba(14,14,16,.06);
        --ss-shadow:0 1px 2px rgba(14,14,16,.04),0 18px 44px rgba(14,14,16,.07),0 50px 100px rgba(14,14,16,.06);
        --ss-shadow-red:0 14px 30px rgba(106,88,228,.22);
        --ss-r-xl:32px;--ss-r-lg:22px;--ss-r-md:14px;
        --ss-ease:cubic-bezier(.19,1,.22,1);
      }
      #specialized-seo-services .ss-visual-mount,
      #specialized-seo-services .ss-visual-mount *{box-sizing:border-box;}
      #specialized-seo-services .ss-visual-mount ul{list-style:none;margin:0;padding:0;}
      #specialized-seo-services .ss-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}

      #specialized-seo-services .ss-visual{position:static;}

      #specialized-seo-services .ss-map-card{background:#fff;border:1px solid var(--ss-line);border-radius:var(--ss-r-xl);padding:clamp(16px,2.2vw,26px);box-shadow:var(--ss-shadow);max-width:560px;margin-inline:auto;text-align:left;}

      #specialized-seo-services .ss-search{display:flex;align-items:center;gap:11px;background:var(--ss-paper-2);border:1px solid var(--ss-line);border-radius:999px;padding:13px 16px;margin-bottom:16px;}
      #specialized-seo-services .ss-search svg{flex:none;color:var(--ss-muted-2);}
      #specialized-seo-services .ss-search-text{font-family:var(--ss-ui);font-size:13.5px;color:var(--ss-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
      #specialized-seo-services .ss-search-loc{margin-left:auto;flex:none;color:var(--ss-primary);}

      #specialized-seo-services .ss-map-preview{position:relative;height:clamp(180px,22vw,240px);border-radius:var(--ss-r-lg);overflow:hidden;border:1px solid var(--ss-line);background:#EFEDE6;margin-bottom:16px;}

      #specialized-seo-services .ss-map-iframe-wrap{position:absolute;inset:0;width:100%;height:100%;}
      #specialized-seo-services .ss-map-iframe{display:block;width:100%;height:100%;border:none;filter:saturate(.9) brightness(1.02);}
      @media (max-width:1023px){
        #specialized-seo-services .ss-map-preview{height:clamp(160px,28vw,220px);}
      }
      @media (max-width:640px){
        #specialized-seo-services .ss-map-preview{height:180px;}
      }
      @media (max-width:380px){
        #specialized-seo-services .ss-map-preview{height:160px;}
      }

      #specialized-seo-services .ss-pin{position:absolute;transform:translate(-50%,-100%);}
      #specialized-seo-services .ss-pin-body{width:28px;height:28px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:grid;place-items:center;position:relative;background:#fff;border:1px solid var(--ss-line);}
      #specialized-seo-services .ss-pin-body svg{transform:rotate(45deg);width:11px;height:11px;color:var(--ss-muted-2);}
      #specialized-seo-services .ss-pin--teal .ss-pin-body{background:#11A381;border:none;}
      #specialized-seo-services .ss-pin--teal .ss-pin-body svg{color:#fff;}
      #specialized-seo-services .ss-pin--orange .ss-pin-body{background:#F08A1B;border:none;}
      #specialized-seo-services .ss-pin--orange .ss-pin-body svg{color:#fff;}

      #specialized-seo-services .ss-dot{width:8px;height:8px;border-radius:50%;flex:none;display:inline-block;}
      #specialized-seo-services .ss-dot--main{background:var(--ss-primary);}
      #specialized-seo-services .ss-dot--teal{background:#11A381;}
      #specialized-seo-services .ss-dot--orange{background:#F08A1B;}

      #specialized-seo-services .ss-pin--main .ss-pin-body{width:38px;height:38px;background:linear-gradient(150deg,var(--ss-primary),var(--ss-primary-light));border:none;box-shadow:var(--ss-shadow-red);}
      #specialized-seo-services .ss-pin--main .ss-pin-body svg{width:15px;height:15px;color:#fff;}
      #specialized-seo-services .ss-pin--main .ss-pin-body::after{content:"";position:absolute;inset:-9px;border-radius:50%;background:rgba(106,88,228,.16);animation:ss-pulse 2.6s var(--ss-ease) infinite;z-index:-1;}
      @keyframes ss-pulse{0%{transform:scale(.6);opacity:.55;}70%{transform:scale(1.9);opacity:0;}100%{transform:scale(1.9);opacity:0;}}

      #specialized-seo-services .ss-pin-badge{position:absolute;left:50%;bottom:calc(100% + 12px);transform:translate(-50%,6px);background:#fff;border:1px solid var(--ss-line);border-radius:999px;padding:6px 11px;display:flex;align-items:center;gap:6px;box-shadow:var(--ss-shadow-sm);font-family:var(--ss-ui);font-size:11.5px;font-weight:600;color:var(--ss-ink);white-space:nowrap;opacity:0;transition:opacity .7s var(--ss-ease) .15s,transform .7s var(--ss-ease) .15s;}
      #specialized-seo-services .ss-visual-mount.is-visible .ss-pin-badge{opacity:1;transform:translate(-50%,0);}
      #specialized-seo-services .ss-pin-badge svg{color:var(--ss-primary);flex:none;}

      #specialized-seo-services .ss-rank-list{display:flex;flex-direction:column;gap:9px;}
      #specialized-seo-services .ss-rank-row{position:relative;display:flex;align-items:center;gap:13px;padding:13px 14px;border-radius:var(--ss-r-md);border:1px solid var(--ss-line);background:var(--ss-paper);overflow:hidden;transition:box-shadow .35s var(--ss-ease),transform .35s var(--ss-ease);}
      #specialized-seo-services .ss-rank-row:hover{box-shadow:var(--ss-shadow-sm);transform:translateY(-1px);}
      #specialized-seo-services .ss-rank-row.is-top{background:#fff;border-color:rgba(106,88,228,.22);}
      #specialized-seo-services .ss-rank-row.is-top::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 42%,rgba(106,88,228,.14) 50%,transparent 58%);background-size:260% 100%;background-position:160% 0;opacity:0;pointer-events:none;}
      #specialized-seo-services .ss-rank-row.is-top.ss-sweep::after{animation:ss-sweep 1.5s ease-out;}
      @keyframes ss-sweep{0%{background-position:160% 0;opacity:0;}12%{opacity:1;}65%{background-position:-50% 0;opacity:1;}100%{background-position:-50% 0;opacity:0;}}

      #specialized-seo-services .ss-rank-badge{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-family:var(--ss-display);font-weight:700;font-size:13px;background:var(--ss-paper-2);color:var(--ss-muted);}
      #specialized-seo-services .ss-rank-row.is-top .ss-rank-badge{background:linear-gradient(150deg,var(--ss-primary),var(--ss-primary-light));color:#fff;box-shadow:var(--ss-shadow-red);}

      #specialized-seo-services .ss-rank-info{flex:1;min-width:0;}
      #specialized-seo-services .ss-rank-name{font-family:var(--ss-ui);font-size:14px;font-weight:600;color:var(--ss-ink);margin:0 0 4px;display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
      #specialized-seo-services .ss-verified{flex:none;display:inline-flex;color:var(--ss-primary);opacity:0;transform:scale(.5);transition:opacity .4s var(--ss-ease) .5s,transform .4s var(--ss-ease) .5s;}
      #specialized-seo-services .ss-visual-mount.is-visible .ss-verified{opacity:1;transform:scale(1);}
      #specialized-seo-services .ss-rank-meta{display:flex;align-items:center;gap:7px;font-family:var(--ss-ui);font-size:12px;color:var(--ss-muted);}
      #specialized-seo-services .ss-stars{position:relative;display:inline-block;font-size:12.5px;line-height:1;color:var(--ss-line);letter-spacing:1px;}
      #specialized-seo-services .ss-stars-fill{position:absolute;left:0;top:0;overflow:hidden;color:var(--ss-primary);white-space:nowrap;}
      #specialized-seo-services .ss-stars-fill::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.85) 50%,transparent 70%);background-size:220% 100%;background-position:160% 0;mix-blend-mode:overlay;}
      #specialized-seo-services .ss-stars-fill.ss-shimmer::after{animation:ss-shimmer .9s ease-out;}
      @keyframes ss-shimmer{0%{background-position:160% 0;}100%{background-position:-60% 0;}}

      #specialized-seo-services .ss-rank-tag{flex:none;font-family:var(--ss-ui);font-size:11px;font-weight:600;color:var(--ss-primary);background:rgba(106,88,228,.08);padding:5px 10px;border-radius:999px;white-space:nowrap;}

      @media (max-width:640px){
        #specialized-seo-services .ss-map-card{padding:14px;border-radius:24px;max-width:100%;}
        #specialized-seo-services .ss-search{padding:11px 14px;}
        #specialized-seo-services .ss-rank-row{padding:11px 12px;gap:10px;}
        #specialized-seo-services .ss-rank-name{font-size:13px;}
        #specialized-seo-services .ss-pin-badge{font-size:10.5px;padding:5px 9px;}
      }
      @media (max-width:380px){
        #specialized-seo-services .ss-rank-tag{display:none;}
      }

      @media (prefers-reduced-motion:reduce){
        #specialized-seo-services .ss-visual-mount *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
        #specialized-seo-services .ss-pin--main .ss-pin-body::after{display:none;}
      }


/* =====================================================================
   TESTIMONIALS (redesigned to match VersaForge premium design language)
   Royal Purple accent: #5646D8

   Scoped to the .vf-tm-* component (NOT to #versaforge-testimonials) so the
   exact same testimonial component can be reused on any page -homepage,
   Google Ranking Service, Impact, Growth -with identical behaviour.

   HEIGHT SYSTEM (the fix)
   -----------------------
   - Cards size to their OWN content (track uses align-items:flex-start).
     Previously .vf-tm-card{height:100%} inside a flex row forced every card
     to stretch to the tallest card in the whole track, so one long testimonial
     inflated all nine and short ones filled with dead space.
   - Collapsed height is uniform and intentional: the speech box is locked to
     exactly N line-heights via min-height AND max-height, expressed in `em`
     so it scales automatically with the responsive font-size. No magic pixels.
   - Expansion is animated on max-height by JS (measured), then released to
     `none` so expanded content can reflow freely on resize. No fixed height
     is ever left behind to break when content or viewport changes.
   ===================================================================== */

.vf-tm-carousel{
  position:relative;
  /* Number of lines shown in the collapsed state. Tunable per breakpoint. */
  --vf-tm-lines:4;
}

/* Track / viewport: rely on the existing carousel JS which sets inline
   widths/transform on .carousel-track and .carousel-slide */
.vf-tm-viewport{overflow:hidden;}
.vf-tm-track{
  display:flex;
  gap:30px;
  /* CRITICAL: do not stretch every card to the tallest card in the row.
     Each card now owns its height, so expanding one card cannot inflate
     the other eight. */
  align-items:flex-start;
  will-change:transform;
}
/* Fallback widths (used until JS measures the viewport and sets inline widths).
   Prevents a collapsed/broken layout if JS is slow, blocked, or disabled. */
.vf-tm-slide{display:flex;flex-shrink:0;width:100%;}
@media (min-width:768px){
  .vf-tm-slide{width:calc((100% - 30px) / 2);}
}
@media (min-width:1280px){
  .vf-tm-slide{width:calc((100% - 60px) / 3);}
}

/* Card */
.vf-tm-card{
  position:relative;
  display:flex;
  flex-direction:column;
  /* height:auto -the card is as tall as its content. Collapsed cards are all
     identical because the speech box below is locked to N lines. */
  height:auto;
  width:100%;
  background:#FFFFFF;
  border:1px solid #E6ECF5;
  border-radius:1.5rem; /* rounded-3xl */
  padding:2rem;
  box-shadow:0 20px 50px -12px rgba(86,70,216,0.06);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.vf-tm-card:hover{
  transform:translateY(-.375rem);
  border-color:rgba(86,70,216,0.3);
  box-shadow:0 25px 60px -10px rgba(86,70,216,0.14);
}
/* Keep an expanded card visually on top of its neighbours and stop the hover
   lift from fighting the expand animation. */
.vf-tm-card.is-expanded{
  z-index:2;
  border-color:rgba(86,70,216,0.22);
}

/* Decorative quote mark - subtle, does not dominate content */
.vf-tm-quote-mark{
  color:rgba(86,70,216,0.12);
  margin-bottom:.5rem;
  line-height:0;
}

/* Stars */
.vf-tm-stars{
  display:flex;
  align-items:center;
  gap:3px;
  margin-bottom:1.1rem;
  min-height:18px;
}
.vf-star{color:#E6ECF5;}
.vf-star--filled{color:#5646D8;}

/* ---------------------------------------------------------------
   Testimonial speech -the animated expand/collapse box
   --------------------------------------------------------------- */
.vf-tm-speech{
  position:relative;
  font-size:.95rem;
  line-height:1.7;
  color:#374151;
  margin:0 0 1.5rem;
    overflow:hidden;

  /* One line box = 1.7em (line-height 1.7 x own font-size).
     Collapsed box = exactly --vf-tm-lines line boxes, so text is never cut
     mid-line and every collapsed card is exactly the same height. */
  --vf-tm-collapsed:calc(1.7em * var(--vf-tm-lines, 4));
  min-height:var(--vf-tm-collapsed);
  max-height:var(--vf-tm-collapsed);

  transition:max-height .45s cubic-bezier(.4,0,.2,1);
}
/*
 Soft fade at the bottom edge -applied ONLY when the text actually overflows
   the collapsed box (class added by JS), so short testimonials are never faded.*/ 
.vf-tm-speech.is-clamped{
  -webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 2.1em),transparent 100%);
          mask-image:linear-gradient(to bottom,#000 calc(100% - 2.1em),transparent 100%);
}

 /*Expanded: max-height is driven by JS (measured px -> `none` on transition end),
   the fade is removed and the box is free to grow to its natural height. */
.vf-tm-speech.is-open{
  -webkit-mask-image:none;
          mask-image:none;
}

/* ---------------------------------------------------------------
   Read More / Read Less toggle (injected by JS only when needed)
   --------------------------------------------------------------- */
.vf-tm-toggle{
  display:inline-flex;
  align-items:center;
  gap:.375rem;
  align-self:flex-start;
  margin:-.75rem 0 1.25rem;
  padding:.25rem 0;
  background:none;
  border:0;
  font-family:inherit;
  font-size:.8125rem;
  font-weight:700;
  letter-spacing:.01em;
  color:#5646D8;
  cursor:pointer;
  transition:color .25s ease, opacity .25s ease;
}
.vf-tm-toggle:hover{color:#4A86F5;}
.vf-tm-toggle:focus-visible{
  outline:2px solid #5646D8;
  outline-offset:3px;
  border-radius:.25rem;
}
.vf-tm-toggle svg{
  width:14px;
  height:14px;
  transition:transform .35s cubic-bezier(.4,0,.2,1);
}
.vf-tm-toggle[aria-expanded="true"] svg{transform:rotate(180deg);}

/* Meta row: avatar + name + role -pinned to the bottom of the card */
.vf-tm-meta{
  display:flex;
  align-items:center;
  gap:.875rem;
  margin-top:auto;
  padding-top:1.25rem;
  border-top:1px solid #F1F5F9;
}
.vf-tm-avatar{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  width:2.75rem;
  height:2.75rem;
  border-radius:9999px;
  font-family:var(--font-display, 'Inter', sans-serif);
  font-weight:700;
  font-size:1rem;
  color:#FFFFFF;
  background:linear-gradient(135deg,#5646D8,#4A86F5);
  box-shadow:0 8px 20px -6px rgba(86,70,216,0.45);
}
.vf-tm-identity{min-width:0;}
/* FIX: markup renders <h6>, the old selector only matched h3 so the client
   name silently lost its styling. Match the heading whatever level it is. */
.vf-tm-identity h1,
.vf-tm-identity h2,
.vf-tm-identity h3,
.vf-tm-identity h4,
.vf-tm-identity h5,
.vf-tm-identity h6{
  margin:0;
  font-family:var(--font-display, 'Inter', sans-serif);
  font-weight:700;
  font-size:1rem;
  line-height:1.3;
  color:#111827;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.vf-tm-role{
  margin-top:.15rem;
  font-size:.75rem;
  font-weight:500;
  color:#5B6475;
}

/* Footer controls: progress bar + prev/next buttons */
.vf-tm-footer-controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  margin-top:3rem;
}
.vf-tm-progress{
  position:relative;
  flex:1 1 auto;
  height:4px;
  border-radius:9999px;
  background:#E6ECF5;
  overflow:hidden;
}
.vf-tm-progress span{
  display:block;
  height:100%;
  width:15%;
  border-radius:9999px;
  background:linear-gradient(90deg,#5646D8,#4A86F5);
  transition:width .4s ease;
}
.vf-tm-controls{
  display:flex;
  gap:.625rem;
  flex-shrink:0;
}
.vf-tm-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:2.75rem;
  height:2.75rem;
  border-radius:9999px;
  background:#FFFFFF;
  border:1px solid #E6ECF5;
  color:#5646D8;
  cursor:pointer;
  transition:all .3s ease;
}
.vf-tm-btn:hover{
  background:#5646D8;
  border-color:#5646D8;
  color:#FFFFFF;
  transform:translateY(-2px);
  box-shadow:0 10px 20px -6px rgba(86,70,216,0.4);
}
.vf-tm-btn:active{transform:translateY(0);}
.vf-tm-btn:disabled{
  opacity:.35;
  cursor:not-allowed;
  pointer-events:none;
}
.vf-tm-btn:disabled:hover{
  background:#FFFFFF;
  border-color:#E6ECF5;
  color:#5646D8;
  transform:none;
  box-shadow:none;
}

/* Responsive spacing / padding, matching site breakpoints (sm 640 / md 768 / lg 1024 / xl 1280) */
@media (max-width:639px){
  .vf-tm-card{padding:1.5rem;border-radius:1.25rem;}
  .vf-tm-footer-controls{margin-top:2.25rem;gap:1rem;}
  .vf-tm-btn{width:2.5rem;height:2.5rem;}
  /* Cards are full-width on mobile so the same copy needs fewer lines to read
     well; 5 keeps the collapsed card from feeling cropped at 320-430px. */
  .vf-tm-carousel{--vf-tm-lines:5;}
}
@media (min-width:640px) and (max-width:1023px){
  .vf-tm-card{padding:1.875rem;}
}
@media (min-width:1024px){
  .vf-tm-card{padding:2.25rem;}
}

/* Users who prefer reduced motion get instant, non-animated state changes */
@media (prefers-reduced-motion:reduce){
  .vf-tm-speech{transition:none;}
  .vf-tm-card{transition:none;}
  .vf-tm-card:hover{transform:none;}
  .vf-tm-toggle svg{transition:none;}
}






/* =====================================================================
   DIGITAL MARKETING SERVICES -single-card-focus infinite carousel
   Namespace: dms2-  (scoped to #digital-marketing-services)
   Royal Purple accent: #5646D8
   ===================================================================== */

#digital-marketing-services{ --dms2-purple:#5646D8; --dms2-blue:#4A86F5; }

/* ---------------- Centered header ---------------- */
#digital-marketing-services .dms2-header{
  max-width:42rem;
  margin:0 auto 3.5rem;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}

/* ---------------- Round nav buttons ---------------- */
#digital-marketing-services .dms2-btn{
  display:flex;align-items:center;justify-content:center;
  width:3rem;height:3rem;border-radius:9999px;flex-shrink:0;
  background:#FFFFFF;border:1px solid #E6ECF5;color:#111827;
  cursor:pointer;transition:background-color .3s ease, border-color .3s ease, color .3s ease, transform .3s ease, box-shadow .3s ease;
}
#digital-marketing-services .dms2-btn:hover{
  border-color:rgba(86,70,216,0.3);
  transform:translateY(-2px);
  box-shadow:0 12px 24px -8px rgba(86,70,216,0.25);
}
#digital-marketing-services .dms2-btn--active{
  background:var(--dms2-purple);
  border-color:var(--dms2-purple);
  color:#FFFFFF;
  box-shadow:0 10px 25px -6px rgba(86,70,216,0.45);
}
#digital-marketing-services .dms2-btn--active:hover{
  background:#4A38C4;
  border-color:#4A38C4;
  color:#FFFFFF;
}
#digital-marketing-services .dms2-btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none;}

/* ---------------- Carousel shell: exactly one card visible, no peeking ---------------- */
#digital-marketing-services .dms2-carousel{
  position:relative;
  overflow:hidden;
  cursor:grab;
  -webkit-user-select:none;user-select:none;
  touch-action:pan-y;
  border-radius:1.75rem;
}
#digital-marketing-services .dms2-carousel.is-dragging{cursor:grabbing;}
#digital-marketing-services .dms2-carousel:focus-visible{
  outline:2px solid var(--dms2-purple);
  outline-offset:4px;
}

#digital-marketing-services .dms2-track{
  display:flex;
  align-items:stretch;
  will-change:transform;
  transition:transform .55s cubic-bezier(.65,0,.35,1);
}

/* Every slide takes the FULL width of the carousel -no neighbour ever shows */
#digital-marketing-services .dms2-slide{
  flex:0 0 100%;
  width:100%;
  max-width:100%;
  opacity:0;
  visibility:hidden;
  transition:opacity .4s ease;
  pointer-events:none;
}
#digital-marketing-services .dms2-slide.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

/* Card: split text | image, premium composition */
#digital-marketing-services .dms2-card{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:stretch;
  min-height:440px;
  background:#FFFFFF;
  border:1px solid #E6ECF5;
  border-radius:1.75rem;
  overflow:hidden;
  box-shadow:0 25px 60px -20px rgba(86,70,216,0.15);
}
#digital-marketing-services .dms2-card-text{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:3.5rem 3.5rem;
  min-width:0;
}
#digital-marketing-services .dms2-card-eyebrow{
  display:inline-block;
  font-family:'Inter',monospace;
  font-size:12px;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--dms2-purple);
  margin-bottom:.875rem;
  padding-bottom:.75rem;
  border-bottom:2px solid var(--dms2-purple);
  width:fit-content;
}
#digital-marketing-services .dms2-card-title{
  font-family:var(--font-display,'Inter',sans-serif);
  font-weight:800;
  font-size:2rem;
  line-height:1.2;
  color:#111827;
  letter-spacing:-.02em;
  margin-bottom:1.25rem;
}
#digital-marketing-services .dms2-card-desc{
  font-size:.9375rem;
  line-height:1.7;
  color:#5B6475;
  margin-bottom:1.75rem;
  max-width:36ch;
}
#digital-marketing-services .dms2-card-cta{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  width:fit-content;
  font-family:'Inter',monospace;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--dms2-purple);
  padding-bottom:.3rem;
  border-bottom:1px solid rgba(86,70,216,0.35);
  transition:gap .3s ease, border-color .3s ease;
}
#digital-marketing-services .dms2-card-cta:hover{
  gap:.65rem;
  border-color:var(--dms2-purple);
}
#digital-marketing-services .dms2-card-media{
  position:relative;
  min-height:300px;
  background:linear-gradient(135deg,#1A1030,#0B0F19);
  overflow:hidden;
}
#digital-marketing-services .dms2-card-media img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  opacity:.92;
}
#digital-marketing-services .dms2-card-media::after{
  content:'';
  position:absolute;inset:0;
  background:linear-gradient(120deg,rgba(86,70,216,0.25),transparent 55%);
  pointer-events:none;
}

/* ---------------- Controls row: prev / dots / next ---------------- */
#digital-marketing-services .dms2-controls-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1.5rem;
  margin-top:2.5rem;
}
#digital-marketing-services .dms2-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  flex-wrap:wrap;
}
#digital-marketing-services .dms2-dot{
  width:.5rem;height:.5rem;border-radius:9999px;
  background:#E6ECF5;
  border:none;
  cursor:pointer;
  padding:0;
  transition:all .35s ease;
}
#digital-marketing-services .dms2-dot.is-active{
  width:1.75rem;
  background:linear-gradient(90deg,var(--dms2-purple),var(--dms2-blue));
}

/* ---------------- Hint line ---------------- */
#digital-marketing-services .dms2-hint{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  margin-top:1.5rem;
  font-family:'Inter',monospace;
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#94A3B8;
  text-align:center;
}
#digital-marketing-services .dms2-hint i{color:var(--dms2-purple);flex-shrink:0;}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */

/* Large desktop: comfortable max card height so it doesn't stretch too tall */
@media (min-width:1280px){
  #digital-marketing-services .dms2-card{min-height:460px;}
}

/* Tablet */
@media (max-width:1023px){
  #digital-marketing-services .dms2-card{min-height:400px;}
  #digital-marketing-services .dms2-card-text{padding:2.5rem 2.5rem;}
  #digital-marketing-services .dms2-card-title{font-size:1.625rem;}
  #digital-marketing-services .dms2-header{margin-bottom:3rem;}
}

/* Small tablet / large mobile: stack image over text */
@media (max-width:767px){
  #digital-marketing-services .dms2-card{
    grid-template-columns:1fr;
    grid-template-rows:auto auto;
    min-height:0;
    border-radius:1.5rem;
  }
  #digital-marketing-services .dms2-card-media{
    order:-1;
    min-height:240px;
  }
  #digital-marketing-services .dms2-card-text{
    padding:2rem 2rem 2.25rem;
  }
  #digital-marketing-services .dms2-card-title{font-size:1.5rem;}
  #digital-marketing-services .dms2-card-desc{max-width:none;}
}

/* Mobile */
@media (max-width:639px){
  #digital-marketing-services .dms2-carousel{cursor:default;border-radius:1.25rem;}
  #digital-marketing-services .dms2-card{border-radius:1.25rem;}
  #digital-marketing-services .dms2-card-media{min-height:200px;}
  #digital-marketing-services .dms2-card-text{
    padding:1.75rem 1.5rem 2rem;
  }
  #digital-marketing-services .dms2-card-title{font-size:1.375rem;}
  #digital-marketing-services .dms2-card-desc{font-size:.875rem;}
  #digital-marketing-services .dms2-btn{width:2.75rem;height:2.75rem;}
  #digital-marketing-services .dms2-controls-row{gap:1rem;margin-top:2rem;}
  #digital-marketing-services .dms2-header{padding:0 .5rem;}
}

/* Very small phones */
@media (max-width:374px){
  #digital-marketing-services .dms2-card-text{padding:1.5rem 1.25rem 1.75rem;}
  #digital-marketing-services .dms2-card-title{font-size:1.25rem;}
}

@media (prefers-reduced-motion:reduce){
  #digital-marketing-services .dms2-track{transition:opacity .01ms!important;}
}


/* =====================================================================
   SITE FOOTER
   Namespace: ff- (scoped to #site-footer / .ff-*)
   All layout, color, spacing and responsive rules are plain CSS -
   this project ships a static pre-compiled Tailwind bundle, so footer
   styling does not rely on arbitrary-value utility classes that may
   not exist in that bundle.
   Layout proportions match the original footer's own breakpoints:
   1 col (mobile) -> 2 col (tablet, >=768px) -> 4 col (desktop, >=1024px)
   ===================================================================== */

.ff-footer{
  position:relative;
  overflow:hidden;
  background:#0B0F19;
  color:#FFFFFF;
  border-top:1px solid rgba(255,255,255,.08);
}

/* Giant watermark wordmark */
.ff-word{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  text-align:center;
  pointer-events:none;
  user-select:none;
  font-family:var(--font-display,'Inter',sans-serif);
  font-weight:900;
  font-size:clamp(4.5rem, 11vw, 10rem);
  line-height:1;
  letter-spacing:.02em;
  color:#FFFFFF;
  opacity:.035;
  white-space:nowrap;
  overflow:hidden;
  transform:translateY(-6%);
}

.ff-container{
  max-width:1280px;
  margin:0 auto;
  padding:0 1.5rem;
  position:relative;
}

.ff-top{ padding-block:4rem 3rem; position:relative; }
@media (min-width:768px){ .ff-top{ padding-block:4.5rem 3rem; } }

/* ---- Grid: 1 col mobile / 2 col tablet / 4 col desktop ---- */
.ff-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:2.5rem;
}
@media (min-width:768px){
  .ff-grid{ grid-template-columns:1fr 1fr; gap:2.5rem 2rem; }
}
@media (min-width:1024px){
  .ff-grid{ grid-template-columns:1.15fr 1fr 1.1fr 1.15fr; gap:2rem; }
}

.ff-col{ min-width:0; }

/* ---- About / brand ---- */
.ff-brand{ display:inline-block; margin-bottom:1.25rem; }
.ff-brand-img{ height:44px; width:auto; display:block;background-color:white;border-radius:10px;padding:5px; }
.ff-brand-img--fallback{ display:none; }
.ff-brand-img--fallback ~ .ff-brand-fallback-text{ display:block; }

.ff-about-text{
  font-size:.875rem;
  line-height:1.7;
  color:rgba(255,255,255,.6);
  margin:0 0 1.5rem;
  max-width:26rem;
}

.ff-socials{
  display:flex;
  align-items:center;
  gap:.625rem;
  list-style:none;
  margin:0;
  padding:0;
}
.ff-social-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:2.5rem;
  height:2.5rem;
  border-radius:9999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.75);
  transition:background-color .3s ease, border-color .3s ease, color .3s ease, transform .3s ease;
}
.ff-social-btn:hover{
  background:#5646D8;
  border-color:#5646D8;
  color:#FFFFFF;
  transform:translateY(-3px);
}

/* ---- Column titles ---- */
.ff-title{
  font-family:var(--font-display,'Inter',sans-serif);
  font-weight:800;
  font-size:1.125rem;
  color:#FFFFFF;
  margin:0 0 1.5rem;
}

/* ---- Quick Links ---- */
.ff-links{ list-style:none; margin:0; padding:0; display:grid; gap:.75rem; }
.ff-link{
  display:flex;
  align-items:center;
  gap:.5rem;
  font-size:.875rem;
  color:rgba(255,255,255,.6);
  transition:color .3s ease;
}
.ff-link:hover{ color:#FFFFFF; }
.ff-link:hover .ff-chev{ transform:translateX(2px); }
.ff-chev{
  flex-shrink:0;
  display:flex;
  color:#5646D8;
  transition:transform .3s ease;
}

/* ---- Address / contact ---- */
.ff-addr{ list-style:none; margin:0; padding:0; display:grid; gap:1.25rem; }
.ff-addr > li{ display:flex; align-items:flex-start; gap:.875rem; }
.ff-ic{
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  width:2.25rem;
  height:2.25rem;
  border-radius:.5rem;
  background:rgba(86,70,216,.15);
  border:1px solid rgba(86,70,216,.3);
  color:#A99CF0;
}
.ff-addr-text{
  font-style:normal; /* explicitly overrides the browser's default italic <address> styling */
  font-size:.875rem;
  line-height:1.6;
  color:rgba(255,255,255,.6);
  margin:0;
}
.ff-addr-grid{ display:flex; flex-direction:column; gap:.25rem; }
.ff-addr-grid a{
  font-size:.875rem;
  color:rgba(255,255,255,.6);
  transition:color .3s ease;
}
.ff-addr-grid a:hover{ color:#FFFFFF; }

/* ---- Recent Blog ---- */
.ff-blogs{ display:grid; gap:1.25rem; }
.ff-blog{ display:flex; align-items:center; gap:1rem; }
.ff-blog-thumb{
  flex-shrink:0;
  width:64px;
  height:64px;
  border-radius:.75rem;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(86,70,216,.12);
}
.ff-blog-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s ease;
}
.ff-blog:hover .ff-blog-thumb img{ transform:scale(1.08); }
.ff-blog-thumb--fallback img{ display:none; }
.ff-blog-body{ min-width:0; }
.ff-blog-date{
  display:flex;
  align-items:center;
  gap:.4rem;
  font-size:.6875rem;
  color:rgba(255,255,255,.4);
  font-family:'Inter',monospace;
  margin:0 0 .25rem;
}
.ff-cal{ display:flex; color:#5646D8; flex-shrink:0; }
.ff-blog-title{
  font-size:.875rem;
  font-weight:700;
  line-height:1.4;
  margin:0;
}
.ff-blog-title a{
  color:rgba(255,255,255,.88);
  transition:color .3s ease;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.ff-blog-title a:hover{ color:#FFFFFF; }

/* ---- Bottom bar ---- */
.ff-bottom{ border-top:1px solid rgba(255,255,255,.08); position:relative; }
.ff-bottom-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding-block:1.5rem;
  text-align:center;
}
@media (min-width:640px){
  .ff-bottom-inner{ flex-direction:row; text-align:left; }
}
.ff-copy{
  font-size:.75rem;
  color:rgba(255,255,255,.5);
  margin:0;
}
.ff-bottom-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  list-style:none;
  margin:0;
  padding:0;
  gap:.5rem 1.75rem; /* explicit row + column gap so links never crowd together */
}
.ff-bottom-links a{
  font-size:.75rem;
  color:rgba(255,255,255,.5);
  white-space:nowrap;
  transition:color .3s ease;
}
.ff-bottom-links a:hover{ color:#FFFFFF; }

/* ---- Scroll to top button ---- */
.ff-scroll-top{
  position:fixed;
  bottom:1.5rem;
  right:1.5rem;
  z-index:50;
  display:flex;
  align-items:center;
  justify-content:center;
  width:3rem;
  height:3rem;
  border-radius:9999px;
  background:#5646D8;
  color:#FFFFFF;
  border:none;
  cursor:pointer;
  box-shadow:0 10px 25px -6px rgba(86,70,216,.45);
  opacity:0;
  pointer-events:none;
  transform:translateY(12px);
  transition:opacity .3s ease, transform .3s ease, background-color .3s ease;
}
.ff-scroll-top:hover{ background:#4A38C4; transform:translateY(-3px); }
.ff-scroll-top.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}

/* ---------------- Responsive fine-tuning ---------------- */
@media (max-width:767px){
  .ff-word{ font-size:clamp(2.75rem, 18vw, 5rem); }
  .ff-top{ padding-block:3rem 2rem; }
  .ff-title{ margin-bottom:1.25rem; }
  .ff-scroll-top{ width:2.75rem; height:2.75rem; bottom:1.25rem; right:1.25rem; }
}

/* =====================================================================
   MISSING UTILITY DEFINITIONS
   These classes are used in the homepage markup but had no CSS rule in
   the shipped stylesheet, so they were silently rendering as no-ops.
   Defined here as plain CSS with their exact intended values.
   ===================================================================== */

/* --- Royal Purple #5646D8 --- */
.bg-\[\#5646D8\]        { background-color:#5646D8; }
.bg-\[\#5646D8\]\/40    { background-color:rgba(86,70,216,.40); }
.bg-\[\#5646D8\]\/5     { background-color:rgba(86,70,216,.05); }
.border-\[\#5646D8\]\/15{ border-color:rgba(86,70,216,.15); }
.text-\[\#5646D8\]      { color:#5646D8; }
.from-\[\#5646D8\]      { --tw-gradient-from:#5646D8; --tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(86,70,216,0)); }
.from-\[\#6A58E4\]\/8   { --tw-gradient-from:rgba(106,88,228,.08); --tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(106,88,228,0)); }

/* --- Radial gradient backgrounds --- */
.bg-\[radial-gradient\(circle_at_50\%_30\%\,rgba\(239\,68\,68\,0\.15\)\,transparent_60\%\)\]{
  background-image:radial-gradient(circle at 50% 30%, rgba(239,68,68,0.15), transparent 60%);
}
.bg-\[radial-gradient\(circle_at_50\%_40\%\,rgba\(106\,88\,228\,0\.15\)\,transparent_60\%\)\]{
  background-image:radial-gradient(circle at 50% 40%, rgba(106,88,228,0.15), transparent 60%);
}

/* --- Drop shadows --- */
.drop-shadow-\[0_2px_12px_rgba\(106\,88\,228\,0\.4\)\]  { filter:drop-shadow(0 2px 12px rgba(106,88,228,0.4)); }
.drop-shadow-\[0_2px_12px_rgba\(167\,139\,250\,0\.35\)\]{ filter:drop-shadow(0 2px 12px rgba(167,139,250,0.35)); }

/* --- Box shadows --- */
.shadow-\[0_-10px_30px_rgba\(106\,88\,228\,0\.03\)\]        { box-shadow:0 -10px 30px rgba(106,88,228,0.03); }
.shadow-\[0_20px_50px_-12px_rgba\(106\,88\,228\,0\.05\)\]   { box-shadow:0 20px 50px -12px rgba(106,88,228,0.05); }
.shadow-\[0_20px_50px_-12px_rgba\(106\,88\,228\,0\.1\)\]    { box-shadow:0 20px 50px -12px rgba(106,88,228,0.1); }
.shadow-\[0_20px_50px_rgba\(106\,88\,228\,0\.18\)\,_0_0_30px_rgba\(106\,88\,228\,0\.1\)\]{
  box-shadow:0 20px 50px rgba(106,88,228,0.18), 0 0 30px rgba(106,88,228,0.1);
}
.shadow-\[0_20px_60px_-15px_rgba\(106\,88\,228\,0\.08\)\]   { box-shadow:0 20px 60px -15px rgba(106,88,228,0.08); }
.shadow-\[0_25px_60px_-15px_rgba\(106\,88\,228\,0\.15\)\]   { box-shadow:0 25px 60px -15px rgba(106,88,228,0.15); }
.shadow-\[0_25px_60px_rgba\(0\,0\,0\,0\.35\)\,_0_0_40px_rgba\(106\,88\,228\,0\.12\)\]{
  box-shadow:0 25px 60px rgba(0,0,0,0.35), 0 0 40px rgba(106,88,228,0.12);
}
.shadow-\[0_25px_60px_rgba\(0\,0\,0\,0\.85\)\,_0_0_40px_rgba\(106\,88\,228\,0\.18\)\]{
  box-shadow:0 25px 60px rgba(0,0,0,0.85), 0 0 40px rgba(106,88,228,0.18);
}
.shadow-\[0_32px_80px_rgba\(106\,88\,228\,0\.12\)\]         { box-shadow:0 32px 80px rgba(106,88,228,0.12); }
.shadow-\[0_35px_80px_-20px_rgba\(106\,88\,228\,\.25\)\]    { box-shadow:0 35px 80px -20px rgba(106,88,228,.25); }

/* --- Hover shadows --- */
.hover\:shadow-\[0_25px_60px_-10px_rgba\(106\,88\,228\,0\.08\)\]:hover{ box-shadow:0 25px 60px -10px rgba(106,88,228,0.08); }
.hover\:shadow-\[0_25px_60px_-10px_rgba\(106\,88\,228\,0\.16\)\]:hover{ box-shadow:0 25px 60px -10px rgba(106,88,228,0.16); }
.hover\:shadow-\[0_25px_60px_rgba\(106\,88\,228\,0\.32\)\,_0_0_40px_rgba\(106\,88\,228\,0\.2\)\]:hover{
  box-shadow:0 25px 60px rgba(106,88,228,0.32), 0 0 40px rgba(106,88,228,0.2);
}

/* --- Sizing / typography --- */
.leading-\[1\.05\]  { line-height:1.05; }
.w-\[600px\]        { width:600px; }
.font-display       { font-family:'Inter',sans-serif; }
.w-4\.5             { width:1.125rem; }
.h-4\.5             { height:1.125rem; }
.w-5\.5             { width:1.375rem; }
.h-5\.5             { height:1.375rem; }
.p-4\.5             { padding:1.125rem; }
.py-0\.2            { padding-top:.05rem; padding-bottom:.05rem; }
.delay-400          { transition-delay:400ms; }
.no-scrollbar       { -ms-overflow-style:none; scrollbar-width:none; }
.no-scrollbar::-webkit-scrollbar { display:none; }

@media (min-width:640px){
  .sm\:text-\[48px\] { font-size:48px; }
}
@media (min-width:1024px){
  .lg\:text-5xl      { font-size:3rem; line-height:1; }
  .lg\:min-h-\[350px\]{ min-height:350px; }
}

/* ========================================== */
/* DESIGN SYSTEM COMPONENTS (added by audit)  */
/* Reusable classes distilled from the         */
/* CEO-approved patterns above. Each one       */
/* reproduces an existing combination exactly  */
/* so visual output is unchanged; only the     */
/* underlying markup gets simpler/DRYer.       */
/* ========================================== */

/* Primary gradient CTA -shared base for every
   "Start Your Growth / Be The First Result / Secure
   Consultation" style button across the page.
   Per-instance padding, radius, font-size and shadow
   color/opacity are intentionally left as utility
   classes on the element (they already vary slightly
   across sections -see AUDIT §2 -and normalizing
   those is a visual decision for the CEO, not this pass). */
.vf-btn-primary {
  background-image: linear-gradient(to right, var(--vf-brand-violet), var(--vf-brand-blue));
  color: #FFFFFF;
  transition: all var(--vf-duration-base) cubic-bezier(.4,0,.2,1);
}
.vf-btn-primary:hover {
  background-image: linear-gradient(to right, var(--vf-brand-violet-hover), var(--vf-brand-blue-hover));
  transform: translateY(-0.125rem);
}
.vf-btn-primary:active { transform: translateY(0); }

/* Eyebrow / kicker pill -the small rounded badge used
   above section headings (8 identical usages). */
.vf-eyebrow-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.875rem;
  border-radius: var(--vf-radius-full);
  background-color: rgba(106,88,228,0.05);
  border: 1px solid rgba(106,88,228,0.15);
}

/* Standard content card -the light-surface, hairline-
   border, brand-tinted-shadow container repeated across
   the About/Story/Team panels. */
.vf-card {
  background-color: var(--vf-surface);
  border: 1px solid var(--vf-border);
  border-radius: var(--vf-radius-2xl);
  box-shadow: var(--vf-shadow-card);
}

/* ---------- Section wrapper (10 identical usages) ---------- */
.vf-section        { position: relative; overflow: hidden; }
.vf-section-border      { border-top: none; }
.vf-section-border-dark { border-top: none; }
.vf-section-y {
  padding-top: var(--vf-section-py-mobile);
  padding-bottom: var(--vf-section-py-mobile);
}
@media (min-width: 640px) {
  .vf-section-y {
    padding-top: var(--vf-section-py-desktop);
    padding-bottom: var(--vf-section-py-desktop);
  }
}

/* ---------- Page container (14 usages) ---------- */
.vf-container { max-width: 80rem; margin-left: auto; margin-right: auto; padding-left: 1rem; padding-right: 1rem; }
@media (min-width: 640px)  { .vf-container { padding-left: 1.5rem; padding-right: 1.5rem; } }
@media (min-width: 1024px) { .vf-container { padding-left: 2rem; padding-right: 2rem; } }

/* ---------- Section heading (h2/h3, 8 usages) ---------- */
.vf-heading-2 {
  font-family: var(--vf-font-display, 'Inter', sans-serif);
  font-weight: 900;
  font-size: 2.25rem;   /* text-4xl */
  letter-spacing: -0.025em;
}
@media (min-width: 640px) { .vf-heading-2 { font-size: 3rem; } } /* sm:text-5xl */

/* ---------- Small animated stat chip (5 identical usages, hero device mock) ---------- */
.vf-stat-chip {
  padding: 0.75rem;
  border-radius: var(--vf-radius-xl);
  border: 1px solid var(--vf-border);
  background-color: rgba(255,255,255,.8);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 5rem;
  box-shadow: var(--vf-shadow-sm);
  transition: all 500ms cubic-bezier(.4,0,.2,1);
  position: relative;
  overflow: hidden;
}
/* Initial hidden state and reveal state are intentionally left as the
   plain opacity-0/translate-y-2 <-> opacity-100/translate-y-0 utility
   classes on each card (see index.php). main.js's scene5 stagger
   animation toggles those exact class names via classList -baking
   opacity/transform into this shared rule would make them permanent
   and the JS toggle would have nothing to act on. */

/* ---------- Feature tile (white card, brand-hover border, 918/922/926) ---------- */
.vf-feature-tile {
  padding: 1rem;
  border-radius: var(--vf-radius-xl);
  background-color: var(--vf-surface);
  border: 1px solid var(--vf-border);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all 150ms cubic-bezier(.4,0,.2,1);
}
.vf-feature-tile:hover { box-shadow: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -2px rgba(0,0,0,.1); }

/* ---------- Glass card (frosted, 4 identical usages) ---------- */
.vf-glass-card {
  padding: 1.25rem;
  border-radius: var(--vf-radius-xl);
  background-color: rgba(255,255,255,.6);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 1px solid var(--vf-border);
  transition: all var(--vf-duration-base) cubic-bezier(.4,0,.2,1);
  box-shadow: var(--vf-shadow-sm);
}
.vf-glass-card:hover {
  border-color: rgba(106,88,228,.3);
  background-color: rgba(255,255,255,.9);
  transform: translateY(-0.125rem);
}

/* ---------- Tinted tile (brand-tinted surface, centered content, 2 usages) ---------- */
.vf-tinted-tile {
  padding: 1rem;
  border-radius: var(--vf-radius-xl);
  background-color: var(--vf-surface-tint);
  border: 1px solid var(--vf-border);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  justify-content: center;
  position: relative;
}

/* ---------- Info row card (icon + text row, 2 usages) ---------- */
.vf-info-row-card {
  padding: 0.875rem;
  border-radius: var(--vf-radius-xl);
  background-color: var(--vf-surface);
  border: 1px solid var(--vf-border);
  box-shadow: var(--vf-shadow-sm);
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* ---------- Header brand logo (replaces the sparkles icon + text lockup) ---------- */
.site-header-logo-img {
  height: 2.25rem;  /* 36px, sits centered within the header's h-20 (80px) row */
  width: auto;      /* preserve intrinsic aspect ratio, never stretched/squashed */
  display: block;
}
@media (min-width: 640px) {
  .site-header-logo-img { height: 2.5rem; } /* 40px on tablet/desktop -matches the old 40px icon mark's visual weight */
}









/* ==========================================================
   6. FAQ ACCORDION
   ----------------------------------------------------------
   Same class hooks the old page used (.accordion-item.open,
   .accordion-trigger, .accordion-content, .icon-plus/.icon-minus)
   so the ported JS drives it unchanged -restyled to the new
   design system.
   ========================================================== */
.accordion-content {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 350ms cubic-bezier(.4,0,.2,1);
}
.accordion-content > p {
  overflow: hidden;
  min-height: 0;
}
.accordion-item.open .accordion-content {
  grid-template-rows: 1fr;
}

/* Plus / minus icon swap */
.accordion-item .icon-minus { display: none; }
.accordion-item.open .icon-plus { display: none; }
.accordion-item.open .icon-minus { display: inline-flex; }

.accordion-item.open {
  border-color: rgba(106,88,228,.3);
  box-shadow: 0 20px 50px -12px rgba(106,88,228,.10);
}


/* ==========================================================
   HERO VISUAL -missing arbitrary-value utilities
   ----------------------------------------------------------
   The hero's "Creative animated visual" wrapper
   (`.relative.w-full.max-w-\[580px\].h-\[460px\].sm\:h-\[520px\].md\:h-\[560px\]`)
   uses Tailwind arbitrary-value classes that were never present
   in this static, pre-compiled build. Without a max-width the
   wrapper had no cap and stretched to the full single-column
   grid track at tablet widths (640-1023px, before lg:grid-cols-2
   applies), losing its centered, contained look. Without the
   height utilities, the wrapper's height collapsed inconsistently.
   Adding the exact rules Tailwind would have generated for these
   classes -nothing else changes.
   ========================================================== */
.max-w-\[580px\] { max-width: 580px; }
.h-\[460px\] { height: 460px; }
@media (min-width: 640px) { .sm\:h-\[520px\] { height: 520px; } }
@media (min-width: 768px) { .md\:h-\[560px\] { height: 560px; } }



.lg\:justify-start{justify-content:flex-start}

/* ==========================================================
   HERO SCENE 2 -SEARCH RESULT CARDS, MOBILE FIX
   ----------------------------------------------------------
   #scene2-comp-card-a/b and #scene2-our-biz-card share one
   fixed 82px row height with text-sm names + a rank badge,
   which was leaving almost no width for the business name on
   narrow phone screens, causing aggressive mid-word truncation
   ("Apex D...", "Riverside Family D..."). This tightens padding,
   badge size, and font size specifically under 400px so more of
   the name is legible before the ellipsis kicks in, without
   touching desktop/tablet at all.
   ========================================================== */
@media (max-width: 400px) {
  #scene2-comp-card-a,
  #scene2-our-biz-card,
  #scene2-comp-card-b {
    padding: 0.5rem 0.625rem;
    gap: 0.5rem;
  }
  #scene2-comp-rank-a,
  #scene2-our-rank,
  #scene2-comp-card-b > div:first-child {
    width: 1.5rem;
    height: 1.5rem;
    font-size: 0.6875rem;
  }
  #scene2-comp-a-name,
  #scene2-comp-b-name,
  #scene2-our-biz-name {
    font-size: 0.75rem;
  }
  #scene2-comp-a-rating,
  #scene2-comp-b-rating,
  #scene2-our-biz-card .font-bold.text-amber-500 {
    font-size: 0.75rem;
  }
  #scene2-comp-a-reviews,
  #scene2-comp-b-reviews,
  #scene2-our-reviews {
    font-size: 0.6875rem;
  }
  #scene2-our-address {
    font-size: 0.6875rem;
  }
  #scene2-top-choice-badge {
    font-size: 10px;
    padding: 0.125rem 0.375rem;
  }
}

/* Narrow phones (~320-385px): even at the 400px breakpoint's font
   sizes, the longest rotating business name ("Summit Roofing
   Specialists", 26 chars) still overflowed its row. Font-size alone
   doesn't recover enough width here -measured: the "Top Choice"
   badge next to the name reserves layout space even while invisible
   (opacity-0/scale-50 doesn't remove it from flow). Taking it out of
   flow at rest, and only reinstating it in flow at the exact moment
   it's revealed (.opacity-100, added by the existing JS animation),
   recovers that space with no JS changes. 385px is the measured
   crossover point where the card itself has grown wide enough that
   the badge no longer causes overflow even in flow. */
@media (max-width: 385px) {
  #scene2-comp-a-name,
  #scene2-comp-b-name,
  #scene2-our-biz-name {
    font-size: 0.6875rem;
  }
  #scene2-top-choice-badge {
    display: none;
  }
  #scene2-top-choice-badge.opacity-100 {
    display: inline-flex;
  }
}

/* ==========================================================
   TRUSTED-BY LOGO MARQUEE
   ----------------------------------------------------------
   Premium infinite trust marquee for the "Trusted by
   Businesses Worldwide" section. Reuses existing tokens
   (--vf-border, --vf-font-display, --vf-duration-base) and
   the .vf-container / .vf-section rhythm already defined
   above. Scoped entirely under .vf-trust-section / .clients-
   marquee so it cannot leak into or collide with any other
   section on the page.
   ========================================================== */

.vf-trust-section {
  padding-top: 2.75rem;
  padding-bottom: 3rem;
}
@media (min-width: 640px) {
  .vf-trust-section { padding-top: 3.5rem; padding-bottom: 3.5rem; }
}

.vf-trust-heading {
  text-align: center;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #111827;
  font-size: 2rem;                 /* mobile: 32px */
  margin: 0 0 1.75rem;             /* tightened from 2.25rem -was pushing the marquee too far down */
}
@media (min-width: 640px) {
  .vf-trust-heading { font-size: 2.5rem; margin-bottom: 2rem; }    /* tablet: 40px */
}
@media (min-width: 1024px) {
  .vf-trust-heading { font-size: 3rem; margin-bottom: 2.25rem; }   /* desktop: 48px */
}

/* ---------- Marquee viewport ---------- */
.logo-marquee.clients-marquee {
  position: relative;
  width: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0,
    #000 8%,
    #000 92%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0,
    #000 8%,
    #000 92%,
    transparent 100%
  );
}

/* ---------- Moving track ----------
   CSS animation is the baseline (works with zero JS, exactly per
   the original brief). assets/js/main.js additionally drives the
   same motion via requestAnimationFrame + inline transform as a
   redundant second engine -if it initializes, the inline transform
   it sets takes visual precedence every frame, so you effectively
   get whichever one loads; if JS is blocked/fails, the CSS keyframe
   below still autoplays on its own. */
.clients-marquee .marquee-track {
  display: flex;
  align-items: center;
  width: max-content;
  gap: 90px;
  padding: 0 45px; /* half the gap, so the seam between the two duplicated lists reads identically to every other gap */
  will-change: transform;
  animation: vf-marquee-scroll 60s linear infinite;
}

.logo-marquee.clients-marquee:hover .marquee-track {
  animation-play-state: paused;
}

@keyframes vf-marquee-scroll {
  from { transform: translate3d(0, 0, 0); }
  to   { transform: translate3d(-50%, 0, 0); }
}

/* ---------- Individual logos ---------- */
.clients-marquee .marquee-item {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
}

.clients-marquee .marquee-item img {
  height: 42px;               /* raised from 32px -the brief's 30-34px reads too small once real logos with varied internal padding are dropped in */
  width: auto;
  max-width: none;
  object-fit: contain;
  opacity: 1;
  transition: transform var(--vf-duration-base, 300ms) ease,
              opacity var(--vf-duration-base, 300ms) ease;
}

.clients-marquee .marquee-item:hover img {
  transform: translateY(-2px);
  opacity: 0.85;
}

/* No custom bottom divider here on purpose -the next section
   (#growth-cta-transition) already applies the sitewide
   .vf-section-border top-border convention used by every other
   section boundary on this page. Adding our own divider on top of
   that produced two visible lines stacked ~50px apart. */

/* ---------- Responsive scale-down ---------- */
@media (max-width: 1023px) {
  .clients-marquee .marquee-track { gap: 72px; padding: 0 36px; }
}
@media (max-width: 639px) {
  .vf-trust-heading { font-size: 1.75rem; } /* small-phone clamp, still within 32-36px band */
  .clients-marquee .marquee-track { gap: 56px; padding: 0 28px; animation-duration: 42s; }
  .clients-marquee .marquee-item img { height: 46px; }
}

/* ---------- Accessibility ----------
   A slow, linear, non-flashing logo scroll isn't the kind of motion
   prefers-reduced-motion is meant to suppress, so it keeps animating
   for these users too -just noticeably slower/gentler. */
@media (prefers-reduced-motion: reduce) {
  .clients-marquee .marquee-track {
    animation-duration: 150s;
  }
}

/* ==========================================================
   LUXURY POPUP CONSULTATION FORM (.vf-popup)
   ----------------------------------------------------------
   Site-wide modal, triggered from any [data-open-popup] button.
   Reuses the existing .cta-input / .cta-error / .form-status /
   data-ajax-form contract already wired in ranking-service.js,
   so submission, validation and success/error states work with
   zero additional JS beyond open/close + focus handling.
   ========================================================== */

.vf-popup-overlay {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: radial-gradient(ellipse 120% 100% at 50% 0%, rgba(17,20,34,.72) 0%, rgba(8,10,18,.86) 60%, rgba(5,6,11,.92) 100%);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  visibility: hidden;
  transition: opacity .35s cubic-bezier(.4,0,.2,1), visibility 0s linear .35s;
}
.vf-popup-overlay.is-open {
  opacity: 1;
  visibility: visible;
  transition: opacity .35s cubic-bezier(.4,0,.2,1), visibility 0s linear 0s;
}
body.vf-popup-locked { overflow: hidden; }

.vf-popup {
  position: relative;
  width: 100%;
  max-width: 920px;
  max-height: calc(100vh - 40px);
  overflow: hidden;
  border-radius: 28px;
  background: #0B0F19;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 40px 100px -20px rgba(0,0,0,.65), 0 0 60px -10px rgba(106,88,228,.25);
  transform: translateY(28px) scale(.97);
  opacity: 0;
  transition: transform .45s cubic-bezier(.16,1,.3,1), opacity .4s cubic-bezier(.16,1,.3,1);
}
.vf-popup-overlay.is-open .vf-popup {
  transform: translateY(0) scale(1);
  opacity: 1;
}

/* ---- ambient glow orbs (decorative, matches site's dark-section language) ---- */
.vf-popup::before,
.vf-popup::after {
  content: "";
  position: absolute;
  border-radius: 9999px;
  filter: blur(90px);
  pointer-events: none;
  z-index: 0;
}
.vf-popup::before {
  width: 340px; height: 340px;
  top: -120px; left: -80px;
  background: rgba(106,88,228,.35);
}
.vf-popup::after {
  width: 300px; height: 300px;
  bottom: -100px; right: -60px;
  background: rgba(74,134,245,.25);
}

.vf-popup-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr;
  max-height: calc(100vh - 40px);
  overflow-y: auto;
}
@media (min-width: 860px) {
  .vf-popup-grid {
    grid-template-columns: 0.85fr 1.15fr;
    overflow-y: visible;
  }
}

/* ---- Left / top panel: brand copy ---- */
.vf-popup-intro {
  padding: 2.5rem 2rem 1.5rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
@media (min-width: 860px) {
  .vf-popup-intro {
    padding: 3rem 2.75rem;
    border-bottom: none;
    border-right: 1px solid rgba(255,255,255,.08);
    /*display: flex;
    flex-direction: column;*/
    justify-content: center;
  }
}
.vf-popup-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .375rem .875rem;
  border-radius: 9999px;
  background: rgba(106,88,228,.12);
  border: 1px solid rgba(106,88,228,.25);
  font: 800 10px/1 'Inter', monospace;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: #C4B5FD;
  margin-bottom: 1.25rem;
}
.vf-popup-eyebrow .dot {
  width: 6px; height: 6px; border-radius: 9999px;
  background: #A78BFA;
  position: relative;
}
.vf-popup-eyebrow .dot::after {
  content: "";
  position: absolute; inset: 0;
  border-radius: 9999px;
  background: #A78BFA;
  animation: vfPopupPing 1.8s cubic-bezier(0,0,.2,1) infinite;
}
@keyframes vfPopupPing {
  75%, 100% { transform: scale(2.4); opacity: 0; }
}
.vf-popup-title {
  font: 800 1.75rem/1.15 'Outfit', sans-serif;
  color: #FFFFFF;
  letter-spacing: -.01em;
  margin-bottom: .875rem;
}
@media (min-width: 640px) { .vf-popup-title { font-size: 2rem; } }
.vf-popup-title .accent {
  background: linear-gradient(to right, #C084FC, #A78BFA, #818CF8);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.vf-popup-sub {
  font-size: .9375rem;
  line-height: 1.65;
  color: #94A3B8;
  margin-bottom: 1.75rem;
}
.vf-popup-points {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.vf-popup-points li {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  font-size: .8125rem;
  color: #C7D0E0;
  line-height: 1.5;
}
.vf-popup-points .ck {
  flex-shrink: 0;
  width: 20px; height: 20px;
  border-radius: 9999px;
  background: rgba(167,139,250,.14);
  color: #A78BFA;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: .05rem;
}
.vf-popup-points .ck svg { width: 12px; height: 12px; }

/* ---- Right / bottom panel: the form itself ---- */
.vf-popup-form-wrap {
  padding: 1.75rem 2rem 2.25rem;
  position: relative;
}
@media (min-width: 860px) {
  .vf-popup-form-wrap { padding: 3rem 2.75rem; }
}

.vf-popup-close {
  position: absolute;
  top: 1.1rem; right: 1.1rem;
  z-index: 5;
  width: 36px; height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  color: #94A3B8;
  cursor: pointer;
  transition: all .2s ease;
}
.vf-popup-close:hover {
  background: rgba(255,255,255,.12);
  color: #FFFFFF;
  transform: rotate(90deg);
}
.vf-popup-close svg { width: 16px; height: 16px; }

.vf-popup-form-label {
  font: 700 11px/1 'Inter', monospace;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #64748B;
  margin-bottom: .5rem;
  display: block;
}

.vf-popup-field { margin-bottom: 1.1rem; }
.vf-popup-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.1rem;
}
@media (min-width: 480px) {
  .vf-popup-row { grid-template-columns: 1fr 1fr; }
}

.vf-popup .cta-input {
  width: 100%;
  padding: .875rem 1rem;
  border-radius: .75rem;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  color: #FFFFFF;
  font-size: .875rem;
  font-family: 'Inter', sans-serif;
  transition: all .2s ease;
}
.vf-popup .cta-input::placeholder { color: #4B5768; }
.vf-popup .cta-input:focus {
  outline: none;
  border-color: #6A58E4;
  background: rgba(255,255,255,.07);
  box-shadow: 0 0 0 3px rgba(106,88,228,.18);
}
.vf-popup .cta-input.error {
  border-color: #EF4444;
  box-shadow: 0 0 0 3px rgba(239,68,68,.12);
}
.vf-popup textarea.cta-input {
  resize: none;
  min-height: 90px;
}
.vf-popup .cta-error {
  font-size: .6875rem;
  color: #FB7185;
  margin-top: .35rem;
  min-height: 1em;
}

.vf-popup-submit {
  width: 100%;
  margin-top: .25rem;
  position: relative;
  overflow: hidden;
  padding: 1rem 1.5rem;
  border-radius: .875rem;
  border: none;
  cursor: pointer;
  background-image: linear-gradient(to right, #6A58E4, #4A86F5);
  color: #FFFFFF;
  font: 800 12px/1 'Inter', monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  box-shadow: 0 20px 40px -12px rgba(106,88,228,.45);
  transition: all .3s cubic-bezier(.4,0,.2,1);
}
.vf-popup-submit:hover {
  background-image: linear-gradient(to right, #5A47DD, #3F74F2);
  transform: translateY(-2px);
  box-shadow: 0 24px 48px -12px rgba(106,88,228,.55);
}
.vf-popup-submit:active { transform: translateY(0); }
.vf-popup-submit .shine {
  position: absolute; inset: 0;
  width: 25%;
  background: rgba(255,255,255,.22);
  transform: skewX(-12deg) translateX(-160%);
  pointer-events: none;
}
.vf-popup-submit:hover .shine {
  animation: vfPopupShine 1.1s ease-in-out;
}
@keyframes vfPopupShine {
  100% { transform: skewX(-12deg) translateX(420%); }
}

.vf-popup .form-status {
  display: block;
  margin-top: .9rem;
  font-size: .8125rem;
  color: #C4B5FD;
  text-align: center;
  min-height: 1.2em;
}
.vf-popup .form-status.is-error {
  color: #FCA5A5;
}
.form-status.is-error {
  color: #F87171 !important;
}

.vf-popup-trust {
  margin-top: 1.25rem;
  padding-top: 1.1rem;
  border-top: 1px solid rgba(255,255,255,.08);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}
.vf-popup-trust span {
  display: flex;
  align-items: center;
  gap: .4rem;
  font-size: .6875rem;
  color: #64748B;
  font-weight: 600;
}
.vf-popup-trust svg { width: 13px; height: 13px; color: #6A58E4; }

/* ---- Mobile: full-width bottom sheet for a native, luxury feel ---- */
@media (max-width: 639px) {
  .vf-popup-overlay { padding: 0; align-items: flex-end; }
  .vf-popup {
    max-width: 100%;
    max-height: 92vh;
    border-radius: 24px 24px 0 0;
    transform: translateY(100%);
  }
  .vf-popup-overlay.is-open .vf-popup { transform: translateY(0); }
  .vf-popup-grid { max-height: 92vh; }
  .vf-popup-intro { padding: 2rem 1.5rem 1.25rem; }
  .vf-popup-form-wrap { padding: 1.5rem 1.5rem 2rem; }
  .vf-popup-title { font-size: 1.5rem; }
  .vf-popup-points { display: none; } /* keep sheet compact on small phones */
}

@media (prefers-reduced-motion: reduce) {
  .vf-popup-overlay, .vf-popup, .vf-popup-submit .shine, .vf-popup-eyebrow .dot::after {
    transition: none !important;
    animation: none !important;
  }
}

/* ========================================== */
/* TECHNOLOGIES WE WORK WITH -node diagram    */
/* ========================================== */
.tech-node-circle {
  position: relative;
  width: 64px;
  height: 64px;
  border-radius: 9999px;
  background: #FFFFFF;
  border: 2px solid #E6ECF5;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 24px rgba(17, 24, 39, 0.06);
  transition: transform 0.35s cubic-bezier(.4,0,.2,1), box-shadow 0.35s cubic-bezier(.4,0,.2,1), border-color 0.35s ease;
}
@media (min-width: 640px) {
  .tech-node-circle { width: 76px; height: 76px; }
}
.tech-node:hover .tech-node-circle,
.tech-node:focus-within .tech-node-circle {
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 16px 32px rgba(106, 88, 228, 0.18);
}
.tech-node-label {
  margin-top: 10px;
  text-align: center;
  font-size: 11px;
  line-height: 1.3;
  font-weight: 600;
  color: #5B6475;
  white-space: nowrap;
}
@media (min-width: 640px) {
  .tech-node-label { font-size: 12px; }
}

.tech-node-hub {
  z-index: 20;
  padding: 14px 26px;
  border-radius: 14px;
  background: linear-gradient(145deg, #16192B, #0B0F19);
  box-shadow: 0 20px 40px rgba(17, 24, 39, 0.35), 0 0 0 1px rgba(106,88,228,0.25);
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 640px) {
  .tech-node-hub { padding: 16px 32px; }
}

.tech-path {
  stroke-dasharray: 4 0;
  opacity: 0.9;
}

.tech-dot {
  opacity: 0;
}
.tech-dot.is-firing {
  animation: tech-dot-travel 1.6s cubic-bezier(.45,0,.2,1) forwards;
}
@keyframes tech-dot-travel {
  0%   { opacity: 0; }
  6%   { opacity: 1; }
  92%  { opacity: 1; }
  100% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .tech-node-circle,
  .tech-dot.is-firing {
    transition: none !important;
    animation: none !important;
  }
  .tech-dot { opacity: 0 !important; }
}

/* ========================================== */
/* OUR GLOBAL PRESENCE -dotted world map      */
/* ========================================== */

/* This section must never clip pins/labels at its edges -pins near the
   map boundary (Canada, Australia, etc.) need room to render their full
   pill+label outside the strict map box without being cut off. */
.gp-section { overflow: visible; }

#gpMapWrap {
  overflow: visible;
  /* Inner safe-zone so edge pins (their pill extends left/right/up of the
     dot) always have breathing room and never collide with the viewport
     edge or get clipped, at any screen size. */
  padding: 34px 46px 20px;
}

.gp-map-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: invert(1) brightness(0.85) sepia(1) hue-rotate(215deg) saturate(2.4);
  opacity: 0.5;
  pointer-events: none;
  user-select: none;
}

#gpPins {
  position: absolute;
  inset: 0;
}

.gp-pin {
  position: absolute;
  transform: translate(-50%, -100%);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(11,15,25,0.92);
  border: 1px solid rgba(106,88,228,0.35);
  backdrop-filter: blur(6px);
  padding: 6px 12px 6px 9px;
  border-radius: 999px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.4), 0 0 0 1px rgba(255,255,255,0.03);
  white-space: nowrap;
  cursor: default;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  z-index: 5;
  /* unique entrance choreography: pins rise + settle in a staggered wave */
  opacity: 0;
  animation: gp-pin-rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: 150ms;
}
@keyframes gp-pin-rise {
  0%   { opacity: 0; transform: translate(-50%, -100%) translateY(10px) scale(0.85); }
  60%  { opacity: 1; }
  100% { opacity: 1; transform: translate(-50%, -100%) translateY(0) scale(1); }
}
.gp-pin:hover {
  transform: translate(-50%, -100%) translateY(-3px);
  border-color: rgba(167,139,250,0.7);
  box-shadow: 0 14px 30px rgba(106,88,228,0.35);
  z-index: 10;
}
.gp-pin-anchor-left {
  transform: translate(0, -100%);
}
.gp-pin-anchor-left:hover {
  transform: translate(0, -100%) translateY(-3px);
}
.gp-pin-anchor-left::after {
  left: 10px;
  transform: none;
}
.gp-pin-anchor-right {
  transform: translate(-100%, -100%);
}
.gp-pin-anchor-right:hover {
  transform: translate(-100%, -100%) translateY(-3px);
}
.gp-pin-anchor-right::after {
  left: auto;
  right: 10px;
  transform: none;
}
@keyframes gp-pin-rise-left {
  0%   { opacity: 0; transform: translate(0, -100%) translateY(10px) scale(0.85); }
  60%  { opacity: 1; }
  100% { opacity: 1; transform: translate(0, -100%) translateY(0) scale(1); }
}
@keyframes gp-pin-rise-right {
  0%   { opacity: 0; transform: translate(-100%, -100%) translateY(10px) scale(0.85); }
  60%  { opacity: 1; }
  100% { opacity: 1; transform: translate(-100%, -100%) translateY(0) scale(1); }
}
.gp-pin-anchor-left { animation-name: gp-pin-rise-left; }
.gp-pin-anchor-right { animation-name: gp-pin-rise-right; }
.gp-pin::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -5px;
  transform: translateX(-50%);
  width: 8px; height: 8px;
  background: inherit;
  border-right: 1px solid rgba(106,88,228,0.35);
  border-bottom: 1px solid rgba(106,88,228,0.35);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.gp-pin-mark {
  width: 16px; height: 16px;
  border-radius: 50%;
  background: linear-gradient(135deg, #A78BFA, #6A58E4);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
}
.gp-pin-mark::before {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 1px solid rgba(167,139,250,0.5);
  animation: gp-pin-ring 2.6s ease-out infinite;
  animation-delay: 150ms;
}
@keyframes gp-pin-ring {
  0%   { transform: scale(0.6); opacity: 0.8; }
  100% { transform: scale(1.8); opacity: 0; }
}
.gp-pin-mark svg { width: 8px; height: 8px; position: relative; z-index: 1; }
.gp-pin-label {
  color: #F1F5F9;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.01em;
}
.gp-pin.gp-hub .gp-pin-mark {
  background: linear-gradient(135deg, #F472B6, #EF4444);
}
.gp-pin.gp-hub .gp-pin-mark::before {
  border-color: rgba(239,68,68,0.5);
}
.gp-pin.gp-hub {
  border-color: rgba(239,68,68,0.5);
}

@media (max-width: 900px) {
  .gp-pin { padding: 5px 10px 5px 8px; }
  .gp-pin-label { font-size: 10px; }
  .gp-pin-mark { width: 13px; height: 13px; }
}

/* Small devices: markers only -no name pill/label, so nothing can ever
   spill past the map edge. Each pin collapses to just its glowing dot,
   centered exactly on its coordinate. */
@media (max-width: 640px) {
  #gpMapWrap { aspect-ratio: 1501 / 900 !important; padding: 20px 22px 14px; }
  .gp-map-img { object-position: center top; }

  .gp-pin {
    transform: translate(-50%, -50%);
    background: none;
    border: none;
    backdrop-filter: none;
    box-shadow: none;
    padding: 0;
    gap: 0;
    animation: gp-pin-rise-dot 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: 120ms;
  }
  @keyframes gp-pin-rise-dot {
    0%   { opacity: 0; transform: translate(-50%, -50%) scale(0.4); }
    60%  { opacity: 1; }
    100% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  }
  .gp-pin:hover {
    transform: translate(-50%, -50%) scale(1.15);
  }
  .gp-pin::after { display: none; }
  .gp-pin-label { display: none; }
  .gp-pin-mark { width: 12px; height: 12px; }
  .gp-pin-mark svg { width: 6px; height: 6px; }
}

@media (prefers-reduced-motion: reduce) {
  .gp-pin,
  .gp-pin-mark::before {
    animation: none !important;
  }
  .gp-pin { opacity: 1; }
}












.tech-section {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #ffffff;
  padding: 6rem 1rem;
}

.tech-bg-grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.03;
  background-image:
    linear-gradient(to right, #000 1px, transparent 1px),
    linear-gradient(to bottom, #000 1px, transparent 1px);
  background-size: 40px 40px;
}

.tech-bg-glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.tech-bg-glow::before {
  content: '';
  position: absolute;
  left: -5%;
  top: -10%;
  height: 30%;
  width: 95%;
  border-radius: 9999px;
 /* background: rgba(60, 184, 120, 0.1);*/
  background: rgba(155, 109, 255, 0.112);
  filter: blur(100px);
}

.tech-container {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  max-width: 72rem;
  text-align: center;
}

.tech-title {
 
  letter-spacing: -0.02em;
  color: #0f172a;
  margin: 0 0 1rem;
}

.tech-desc {
  margin: 0 auto;
  max-width: 60rem;
  line-height: 1.7;
  color: #0f172a;
  font-size: 1rem;
}

/* ============ Diagram -same animated version at every screen size ============ */

.tech-diagram {
  position: relative;
  margin: 3rem auto 0;
  width: 100%;
  max-width: 1400px;
  aspect-ratio: 12 / 7;
}

.tech-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.tech-svg path {
  stroke: #000000;
  stroke-width: 1.1;
  fill: none;
}

.tech-dot {
  fill: #ad0404;
}

.tech-center-label {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 30;
  user-select: none;
  border-radius: 1rem;
  border: 4px solid rgba(255, 255, 255, 0.9);
  background: #000000;
  color: #ffffff;
  padding: 0.75rem 1.25rem;
  font-weight: 700;
  font-size: clamp(0.625rem, 2.6vw, 1.05rem);
  letter-spacing: 0.02em;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45);
  white-space: nowrap;
}

.tech-box {
  position: absolute;
  z-index: 20;
  display: flex;
  aspect-ratio: 1 / 1;
  width: 8%;
  min-width: 40px;
  max-width: 90px;
  align-items: center;
  justify-content: center;
  border-radius: 2.5rem;
  border: 2px solid;
  padding: 10px;
  background: #ffffff;
  box-shadow: 0 15px 45px -15px rgba(0, 0, 0, 0.12);
  transition: transform 0.3s ease;
  font-size: 1.6rem;
}

.tech-box:hover {
  transform: translate(-50%, -50%) scale(1.1);
}

.tech-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ============ Mobile: static grid, clearly visible logos ============ */

.tech-grid-mobile {
  display: none;
  margin-top: 2.5rem;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 1rem;
}

.tech-grid-item {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  border-radius: 1.25rem;
  border: 2px solid;
  background: #ffffff;
  padding: 1.25rem;
  box-shadow: 0 8px 24px -8px rgba(0, 0, 0, 0.12);
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.tech-grid-item.in-view {
  opacity: 1;
  transform: scale(1);
}

.tech-grid-item .tech-logo {
  width: 70%;
  height: 70%;
  object-fit: contain;
}

@media (max-width: 639px) {
  .tech-diagram {
    display: none;
  }
  .tech-grid-mobile {
    display: grid;
  }
}

@media (max-width: 420px) {
  .tech-grid-mobile {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 0.85rem;
  }
  .tech-grid-item {
    border-radius: 1rem;
    padding: 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tech-dot {
    opacity: 0;
  }
}

/* =====================================================================
   INTERACTIVE CUSTOM CURSOR + FLOATING SECTION RAIL
   =====================================================================
   Two self-contained, sitewide features carried over from the previous
   site: .vf-cursor/.vf-cursor-dot (ring + dot that follow the pointer)
   and .vf-rail (floating dot navigation down the right edge, one dot
   per [data-rail] section). Colors use this project's actual brand hex
   values directly, matching the convention used throughout style.css.
   Both are pointer-events:none and aria-hidden -purely decorative /
   navigational, and both disable themselves automatically on touch
   devices (belt-and-braces: JS touch detection + this CSS fallback).
   ===================================================================== */

.vf-cursor,
.vf-cursor-dot {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9998;
  pointer-events: none;
  border-radius: 50%;
  will-change: transform;
  opacity: 0;
  transition: opacity .3s ease;
}
.vf-cursor {
  width: 36px;
  height: 36px;
  border: 2px solid #6A58E4;
  background: rgba(106, 88, 228, .06);
  box-shadow: 0 0 0 1px rgba(255,255,255,.35);
  transform: translate(-50%, -50%);
  transition: width .25s cubic-bezier(.19,1,.22,1),
              height .25s cubic-bezier(.19,1,.22,1),
              background .25s cubic-bezier(.19,1,.22,1),
              border-color .25s cubic-bezier(.19,1,.22,1);
}
.vf-cursor.vf-big {
  width: 60px;
  height: 60px;
  background: rgba(106, 88, 228, .12);
  border-color: #A78BFA;
}
.vf-cursor-dot {
  width: 8px;
  height: 8px;
  background: #6A58E4;
  box-shadow: 0 0 0 1px rgba(255,255,255,.5);
  transform: translate(-50%, -50%);
}
/* When the custom cursor is active, hide the native one everywhere so the
   OS arrow never sits on top of the ring. JS adds .vf-cursor-on to <html>
   only after detecting a real mouse (mousemove with movement). */
html.vf-cursor-on,
html.vf-cursor-on * {
  cursor: none !important;
}

/* ---------------- Floating section nav rail ---------------- */
.vf-rail {
  position: fixed;
  right: 26px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 90;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.vf-rail a {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #E3E3E3;
  display: block;
  transition: transform .3s cubic-bezier(.19,1,.22,1),
              background .3s cubic-bezier(.19,1,.22,1);
}
.vf-rail a:hover {
  background: #A78BFA;
  transform: scale(1.3);
}
.vf-rail a.vf-on {
  background: #6A58E4;
  transform: scale(1.5);
}

@media (max-width: 1024px) {
  .vf-rail { display: none; }
}

/* Hide the custom cursor on devices whose PRIMARY input is touch
   (phones/tablets). Desktops -including hybrid touch-laptops that also
   have a mouse -keep it. JS is the primary gate; this is a
   belt-and-braces CSS fallback. */
@media (hover: none) and (pointer: coarse) {
  .vf-cursor,
  .vf-cursor-dot { display: none !important; }
}

/* ==========================================================
   MOBILE NAV DRAWER — accordion submenus (SEO / AI Tools),
   scroll container and body scroll-lock. Self-contained rules
   so they don't depend on any Tailwind arbitrary-value class
   not already present in this compiled stylesheet.
   ========================================================== */
#mobile-drawer-nav {
  -webkit-overflow-scrolling: touch;
}

.vf-mnav-link,
.vf-mnav-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  width: 100%;
  padding: .875rem 1rem;
  border-radius: .75rem;
  border: none;
  background: transparent;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #475569;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease;
}
.vf-mnav-link:hover,
.vf-mnav-toggle:hover,
.vf-mnav-toggle.is-open {
  background: rgba(106, 88, 228, .06);
  color: #6A58E4;
}

.vf-mnav-link-main {
  display: flex;
  align-items: center;
  gap: .75rem;
  min-width: 0;
}

.vf-mnav-badge-live {
  display: inline-flex;
  align-items: center;
  font-family: 'Inter', monospace;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(90deg, #6A58E4, #4A86F5);
  padding: .2rem .5rem;
  border-radius: 999px;
  flex-shrink: 0;
}

.vf-mnav-chevron {
  flex-shrink: 0;
  color: #94A3B8;
  transition: transform .3s ease, color .2s ease;
}
.vf-mnav-toggle[aria-expanded="true"] .vf-mnav-chevron {
  transform: rotate(180deg);
  color: #6A58E4;
}

.vf-mnav-panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s cubic-bezier(.4, 0, .2, 1);
}

.vf-mnav-panel-inner {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  padding: .4rem .25rem .6rem 1.1rem;
  margin: 0 0 0 1.15rem;
  border-left: 2px solid #EEF1F8;
}

.vf-mnav-sublink {
  display: block;
  padding: .6rem .75rem;
  border-radius: .5rem;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #374151;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}
.vf-mnav-sublink:hover {
  background: rgba(106, 88, 228, .06);
  color: #6A58E4;
}

.vf-mnav-tool-link {
  display: flex;
  align-items: center;
  gap: .7rem;
  padding: .75rem .8rem;
  border-radius: .8rem;
  border-width: 1px;
  border-style: solid;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  text-decoration: none;
  color: #334155;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

/* Body scroll-lock while the mobile drawer is open */
body.vf-nav-open {
  overflow: hidden;
}

/* Defensive safety net: never let the drawer render at desktop widths
   even if JS state somehow got stuck mid-transition/resize. */
@media (min-width: 1024px) {
  #mobile-drawer { display: none !important; }
}


/* ==========================================================
   MOBILE 2-UP FIX -- generic helper classes for the many
   inline-styled 3/4-column stat grids scattered across service
   pages. On small phones these show only 2 tiles per row:
   - vf-grid-3 (fixed 3-tile strips): 2 columns, 3rd tile hidden
     so it doesn't dangle alone in a half-empty row.
   - vf-grid-4: 2 columns, all 4 tiles kept (wraps cleanly into
     two full rows of 2, nothing needs hiding).
   !important is required because it must beat the inline style.
   ========================================================== */
@media (max-width: 480px) {
  .vf-grid-3,
  .vf-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .6rem !important;
  }
  .vf-grid-3 > *:nth-child(3) {
    display: none !important;
  }
}

/* ==========================================================
   MOBILE NAV OVERLAY -- the drawer is fixed-position (not part
   of normal page flow) so opening it can never push page content
   down or grow the header to an unbounded height. Its exact
   position/width/max-height are computed in JS from the header
   capsule's live bounding box, then it scrolls internally.
   ========================================================== */
#vf-header-capsule {
  position: relative;
  z-index: 65;
}
#mobile-drawer {
  position: fixed;
  left: 0;
  z-index: 60;
}
#mobile-drawer-nav {
  /* overscroll-behavior:contain keeps a fast swipe inside the
     drawer from also scrolling the (locked) page behind it */
}
#mobile-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 55;
  background: rgba(15, 17, 29, .45);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}
#mobile-drawer-backdrop.is-visible {
  opacity: 1;
  pointer-events: auto;
}
@media (min-width: 1024px) {
  #mobile-drawer-backdrop { display: none !important; }
}

/* ==========================================================
   MOBILE MENU BURGER ICON -- pure CSS morph between hamburger
   and X, driven entirely by aria-expanded on the button itself
   (already toggled correctly by main.js on every open/close
   path). No separate icon elements to fall out of sync, and no
   dependency on an icon library re-render happening at the
   right moment.
   ========================================================== */
.vf-burger-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.vf-burger {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 14px;
}
.vf-burger-bar {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  transition: transform .3s cubic-bezier(.4,0,.2,1), opacity .2s ease, top .3s cubic-bezier(.4,0,.2,1);
}
.vf-burger-bar-1 { top: 0; }
.vf-burger-bar-2 { top: 6px; }
.vf-burger-bar-3 { top: 12px; }

.vf-burger-btn[aria-expanded="true"] .vf-burger-bar-1 {
  top: 6px;
  transform: rotate(45deg);
}
.vf-burger-btn[aria-expanded="true"] .vf-burger-bar-2 {
  opacity: 0;
  transform: translateX(-6px);
}
.vf-burger-btn[aria-expanded="true"] .vf-burger-bar-3 {
  top: 6px;
  transform: rotate(-45deg);
}

/* ==========================================================
   FOUNDER/CEO TAB MENU (#leMenu, homepage) -- explicit,
   belt-and-braces horizontal scroll on small screens. Written
   as real CSS (not relying solely on a Tailwind utility class)
   so touch/trackpad scrolling is guaranteed to work, with a
   drag-to-scroll JS fallback wired in main.js for mouse users
   and as an extra safety net.
   ========================================================== */
.le-menu-scrollbar { display: none; }

@media (max-width: 639px) {
  .le-menu {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    touch-action: pan-x;
    scroll-snap-type: x proximity;
    cursor: grab;
  }
  .le-menu.is-dragging { cursor: grabbing; scroll-snap-type: none; }
  .le-menu .le-menu-btn { scroll-snap-align: start; }
  /* Hide the scrollbar visually while keeping it fully functional */
  .le-menu { scrollbar-width: none; -ms-overflow-style: none; }
  .le-menu::-webkit-scrollbar { display: none; height: 0; }

  /* Left/right fade hints that make it visually obvious the row of
     tabs scrolls horizontally. Shown/hidden by main.js based on
     actual scroll position -- never shown on an edge with nothing
     left to scroll to. */
  .le-menu-fade {
    position: absolute;
    top: 0;
    bottom: 8px;
    width: 32px;
    pointer-events: none;
    opacity: 0;
    transition: opacity .2s ease;
    z-index: 2;
  }
  .le-menu-fade.is-visible { opacity: 1; }
  .le-menu-fade-left {
    left: 0;
    background: linear-gradient(to right, #fff, rgba(255,255,255,0));
  }
  .le-menu-fade-right {
    right: 0;
    background: linear-gradient(to left, #fff, rgba(255,255,255,0));
  }

  /* Explicit scroll-progress bar: a small track the full width of the
     tab row with a thumb sized/positioned to match how much is visible
     vs. how much there is to scroll. main.js keeps it in sync live. */
  .le-menu-scrollbar {
    display: block;
    position: relative;
    height: 4px;
    margin: 2px 4px 0;
    border-radius: 999px;
    background: #EEF1F8;
    overflow: hidden;
  }
  .le-menu-scrollbar-thumb {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    min-width: 24px;
    border-radius: 999px;
    background: linear-gradient(90deg, #6A58E4, #4A86F5);
  }
}

/* ========================================== */
/* Leadership Experience tab menu: force equal
   button widths on sm+ screens (desktop/tablet).
   Tailwind's compiled build here doesn't include
   sm:flex-1, so this is added directly instead.
   Mobile (below 640px) is untouched. */
/* ========================================== */
@media (min-width: 640px) {
  #leadership-experience .le-menu-btn {
    flex: 1 1 0%;
    width: 100%;
  }
}
