﻿*,: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.17 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height: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{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input:where(:not([type])),select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,input:where(:not([type])):focus,select:focus,textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--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);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:1rem;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E")}@media (forced-colors:active) {[type=checkbox]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}@media (forced-colors:active) {[type=radio]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:transparent}[type=checkbox]:indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}@media (forced-colors:active) {[type=checkbox]:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:transparent}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}.form-input,.form-multiselect,.form-select,.form-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem;--tw-shadow:0 0 #0000}.form-input:focus,.form-multiselect:focus,.form-select:focus,.form-textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--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);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.form-input::-moz-placeholder,.form-textarea::-moz-placeholder{color:#6b7280;opacity:1}.form-input::placeholder,.form-textarea::placeholder{color:#6b7280;opacity:1}.form-input::-webkit-datetime-edit-fields-wrapper{padding:0}.form-input::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}.form-input::-webkit-datetime-edit{display:inline-flex}.form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-meridiem-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-second-field,.form-input::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-top-3\.5{top:-.875rem}.-top-4{top:-1rem}.-top-40{top:-10rem}.bottom-10{bottom:2.5rem}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\/2{left:50%}.left-4{left:1rem}.right-10{right:2.5rem}.right-2\.5{right:.625rem}.right-4{right:1rem}.right-6{right:1.5rem}.right-8{right:2rem}.top-0{top:0}.top-1\/4{top:25%}.top-2\.5{top:.625rem}.top-4{top:1rem}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.col-span-2{grid-column:span 2/span 2}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-bottom:.5rem;margin-top:.5rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-3\.5{margin-top:.875rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[400px\]{height:400px}.h-\[450px\]{height:450px}.h-\[500px\]{height:500px}.h-\[600px\]{height:600px}.h-full{height:100%}.min-h-\[75vh\]{min-height:75vh}.min-h-\[80vh\]{min-height:80vh}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[400px\]{width:400px}.w-\[500px\]{width:500px}.w-\[600px\]{width:600px}.w-\[700px\]{width:700px}.w-\[800px\]{width:800px}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-container-max{max-width:1280px}.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%}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-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-0{--tw-translate-y:0px}.translate-y-0,.translate-y-6{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-6{--tw-translate-y:1.5rem}.rotate-180{--tw-rotate:180deg}.rotate-180,.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))}.scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.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 ping{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulseGlow{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.animate-pulse-glow{animation:pulseGlow 4s ease-in-out infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.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))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.75rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(3rem*var(--tw-space-y-reverse));margin-top:calc(3rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.625rem*var(--tw-space-y-reverse));margin-top:calc(.625rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.scroll-smooth{scroll-behavior:smooth}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-r-lg{border-bottom-right-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-\[\#25D366\]\/30{border-color:rgba(37,211,102,.3)}.border-accent\/30{border-color:rgba(59,130,246,.3)}.border-accent\/40{border-color:rgba(59,130,246,.4)}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-emerald-500\/40{border-color:rgba(16,185,129,.4)}.border-primary{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-primary\/20{border-color:rgba(37,99,235,.2)}.border-primary\/30{border-color:rgba(37,99,235,.3)}.border-primary\/40{border-color:rgba(37,99,235,.4)}.border-white\/10{border-color:hsla(0,0%,100%,.1)}.border-white\/15{border-color:hsla(0,0%,100%,.15)}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.bg-\[\#020817\]{--tw-bg-opacity:1;background-color:rgb(2 8 23/var(--tw-bg-opacity,1))}.bg-\[\#020817\]\/95{background-color:rgba(2,8,23,.95)}.bg-\[\#0B1528\]{--tw-bg-opacity:1;background-color:rgb(11 21 40/var(--tw-bg-opacity,1))}.bg-\[\#0F172A\]{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-\[\#0F172A\]\/90{background-color:rgba(15,23,42,.9)}.bg-\[\#25D366\]{--tw-bg-opacity:1;background-color:rgb(37 211 102/var(--tw-bg-opacity,1))}.bg-\[\#25D366\]\/20{background-color:rgba(37,211,102,.2)}.bg-accent{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-accent\/10{background-color:rgba(59,130,246,.1)}.bg-accent\/15{background-color:rgba(59,130,246,.15)}.bg-accent\/20{background-color:rgba(59,130,246,.2)}.bg-black\/20{background-color:rgba(0,0,0,.2)}.bg-black\/30{background-color:rgba(0,0,0,.3)}.bg-black\/40{background-color:rgba(0,0,0,.4)}.bg-black\/80{background-color:rgba(0,0,0,.8)}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-dark-bg{--tw-bg-opacity:1;background-color:rgb(2 8 23/var(--tw-bg-opacity,1))}.bg-dark-bg\/60{background-color:rgba(2,8,23,.6)}.bg-dark-bg\/80{background-color:rgba(2,8,23,.8)}.bg-dark-bg\/95{background-color:rgba(2,8,23,.95)}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-500\/20{background-color:rgba(16,185,129,.2)}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-primary{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-primary\/10{background-color:rgba(37,99,235,.1)}.bg-primary\/15{background-color:rgba(37,99,235,.15)}.bg-primary\/20{background-color:rgba(37,99,235,.2)}.bg-primary\/5{background-color:rgba(37,99,235,.05)}.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-secondary{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-white\/5{background-color:hsla(0,0%,100%,.05)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-primary\/10{--tw-gradient-from:rgba(37,99,235,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-accent\/10{--tw-gradient-to:rgba(59,130,246,.1) var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.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-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}.px-9{padding-left:2.25rem;padding-right:2.25rem}.px-gutter{padding-left:clamp(1.5rem,5vw,4rem);padding-right:clamp(1.5rem,5vw,4rem)}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-24{padding-bottom:6rem;padding-top:6rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-section-padding{padding-bottom:clamp(4rem,8vw,7.5rem);padding-top:clamp(4rem,8vw,7.5rem)}.pb-1{padding-bottom:.25rem}.pb-16{padding-bottom:4rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.pb-28{padding-bottom:7rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pl-4{padding-left:1rem}.pr-6{padding-right:1.5rem}.pt-1{padding-top:.25rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-20{padding-top:5rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.font-body{font-family:Inter,sans-serif}.font-heading{font-family:Poppins,sans-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-5xl{font-size:3rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-body-lg{font-size:1.125rem}.text-body-lg,.text-body-md{font-weight:400;line-height:1.6}.text-body-md{font-size:1rem}.text-body-sm{font-size:.875rem;font-weight:400;line-height:1.5}.text-display-lg{font-size:3rem;font-weight:700;letter-spacing:-.02em;line-height:1.12}.text-headline-lg{font-size:2rem;font-weight:700;line-height:1.25}.text-headline-md{font-size:1.5rem;font-weight:600;line-height:1.3}.text-headline-sm{font-size:1.25rem;font-weight:600;line-height:1.4}.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\.15\]{line-height:1.15}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#25D366\]{--tw-text-opacity:1;color:rgb(37 211 102/var(--tw-text-opacity,1))}.text-accent{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-900{--tw-text-opacity:1;color:rgb(6 78 59/var(--tw-text-opacity,1))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-primary{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/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-success{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-text-main{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.decoration-primary{text-decoration-color:#2563eb}.underline-offset-4{text-underline-offset:4px}.placeholder-gray-500::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(107 114 128/var(--tw-placeholder-opacity,1))}.placeholder-gray-500::placeholder{--tw-placeholder-opacity:1;color:rgb(107 114 128/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.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-2xl,.shadow-glow-primary{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-glow-primary{--tw-shadow:0 0 30px rgba(37,99,235,.25);--tw-shadow-colored:0 0 30px 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)}.blur-\[120px\]{--tw-blur:blur(120px)}.blur-\[120px\],.blur-\[130px\]{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-\[130px\]{--tw-blur:blur(130px)}.blur-\[140px\]{--tw-blur:blur(140px)}.blur-\[140px\],.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-md{-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-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px);-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-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.selection\:bg-primary ::-moz-selection{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.selection\:bg-primary ::selection{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.selection\:text-white ::-moz-selection{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.selection\:text-white ::selection{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.selection\:bg-primary::-moz-selection{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.selection\:bg-primary::selection{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.selection\:text-white::-moz-selection{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.selection\:text-white::selection{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem}.hover\:-translate-y-0\.5: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\:gap-2:hover{gap:.5rem}.hover\:border-accent\/40:hover{border-color:rgba(59,130,246,.4)}.hover\:border-primary\/40:hover{border-color:rgba(37,99,235,.4)}.hover\:border-primary\/50:hover{border-color:rgba(37,99,235,.5)}.hover\:bg-\[\#0F172A\]:hover{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.hover\:bg-\[\#20ba5a\]:hover{--tw-bg-opacity:1;background-color:rgb(32 186 90/var(--tw-bg-opacity,1))}.hover\:bg-primary:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-white\/10:hover{background-color:hsla(0,0%,100%,.1)}.hover\:text-\[\#25D366\]:hover{--tw-text-opacity:1;color:rgb(37 211 102/var(--tw-text-opacity,1))}.hover\:text-accent:hover{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.hover\:text-primary:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.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)}.focus\:border-primary:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-primary\/20:focus{--tw-ring-color:rgba(37,99,235,.2)}.group:hover .group-hover\:block{display:block}.group:hover .group-hover\:rotate-180{--tw-rotate:180deg}.group:hover .group-hover\:rotate-180,.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;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))}.dark\:text-slate-400:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:left-auto{left:auto}.sm\:right-6{right:1.5rem}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:inline-flex{display:inline-flex}.sm\:w-auto{width:auto}.sm\:max-w-sm{max-width:24rem}.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\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:p-5{padding:1.25rem}.sm\:p-8{padding:2rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-8xl{font-size:6rem;line-height:1}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:my-0{margin-bottom:0;margin-top:0}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:p-10{padding:2.5rem}.md\:p-12{padding:3rem}.md\:p-8{padding:2rem}.md\:py-20{padding-bottom:5rem;padding-top:5rem}.md\:py-24{padding-bottom:6rem;padding-top:6rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-9xl{font-size:8rem;line-height:1}.md\:text-body-lg{font-size:1.125rem;font-weight:400;line-height:1.6}.md\:text-display-md{font-size:2.25rem;font-weight:700;letter-spacing:-.015em;line-height:1.2}.md\:text-display-xl{font-size:3.75rem;font-weight:800;letter-spacing:-.025em;line-height:1.08}.md\:text-headline-lg{font-size:2rem;font-weight:700;line-height:1.25}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:1024px){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-6{grid-column:span 6/span 6}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:mb-12{margin-bottom:3rem}.lg\:mt-0{margin-top:0}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-12{grid-template-columns:repeat(12,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-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:gap-12{gap:3rem}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-\[3\.25rem\]{font-size:3.25rem}}@media (min-width:1280px){.xl\:inline-flex{display:inline-flex}}
/* ==========================================================================
   DizitalXpert Master Unified Stylesheet
   High Contrast Visibility, Custom Dropdowns & Modern Design System
   ========================================================================== */

/* Fonts loaded asynchronously via non-blocking head links */

/* --- 1. Global High Contrast Design Tokens & Typography --- */
:root {
  --color-primary: #2563EB;
  --color-primary-hover: #1D4ED8;
  --color-primary-light: #60A5FA;
  --color-secondary: #0F172A;
  --color-secondary-hover: #1E293B;
  --color-accent: #3B82F6;
  --color-dark-bg: #020817;
  --color-dark-card: #0B1528;
  --color-section-bg: #0B1528;
  --color-text-main: #F8FAFC;
  --color-text-muted: #CBD5E1;
  --color-border: rgba(255, 255, 255, 0.15);
  --font-heading: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --radius-sm: 0.5rem;
  --radius-md: 0.75rem;
  --radius-lg: 1rem;
  --radius-xl: 1.5rem;
  --radius-full: 9999px;
  --transition-fast: 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-normal: 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-slow: 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Base Normalization & Smooth Scroll */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  font-family: var(--font-body);
  color: #F8FAFC;
  background-color: #020817;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
  max-width: 100%;
}

body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  overflow-x: hidden;
  max-width: 100%;
  position: relative;
  background-color: #020817;
  color: #F8FAFC;
}

/* Container & Layout Utilities */
.px-gutter {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}
@media (min-width: 640px) {
  .px-gutter {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
}
@media (min-width: 1024px) {
  .px-gutter {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
}
.max-w-container-max {
  max-width: 1280px;
}

/* Headings Visibility Rules */
h1, h2, h3, h4, h5, h6, .font-heading {
  font-family: var(--font-heading);
  letter-spacing: -0.02em;
  font-weight: 700;
  color: #F8FAFC;
}

.text-secondary {
  color: #F8FAFC !important;
}

.text-text-main {
  color: #F8FAFC !important;
}

.text-text-muted {
  color: #CBD5E1 !important;
}

img, video, svg {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Material Symbols & Icon Alignment */
.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  vertical-align: middle;
  user-select: none;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-track {
  background: #020817;
}
::-webkit-scrollbar-thumb {
  background: #1E293B;
  border-radius: 9999px;
  border: 2px solid #020817;
}
::-webkit-scrollbar-thumb:hover {
  background: #2563EB;
}

/* Firefox Scrollbar */
* {
  scrollbar-width: thin;
  scrollbar-color: #1E293B #020817;
}

/* Selection Highlights */
::selection {
  background-color: rgba(37, 99, 235, 0.4);
  color: #FFFFFF;
}

/* --- 2. Backgrounds, Gradients & Mesh Grids --- */
.hero-gradient-dark {
  background-color: #020817;
  background-image: 
    radial-gradient(at 20% 20%, rgba(37, 99, 235, 0.28) 0px, transparent 50%),
    radial-gradient(at 80% 75%, rgba(56, 189, 248, 0.22) 0px, transparent 50%),
    radial-gradient(at 50% 50%, rgba(2, 8, 23, 0.95) 0px, transparent 75%);
  background-size: 140% 140%;
  animation: heroAuraMotion 20s ease-in-out infinite alternate;
}

@keyframes heroAuraMotion {
  0% {
    background-position: 0% 0%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 30% 100%;
  }
}

.hero-grid-pattern {
  background-size: 40px 40px;
  background-image: 
    linear-gradient(to right, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
  animation: cyberGridDrift 30s linear infinite;
}

@keyframes cyberGridDrift {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 40px 40px;
  }
}

.text-gradient {
  background: linear-gradient(135deg, #FFFFFF 0%, #93C5FD 50%, #3B82F6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.text-gradient-blue {
  background: linear-gradient(135deg, #3B82F6 0%, #60A5FA 50%, #1D4ED8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* --- 3. Glassmorphism Nav & High-Contrast Card System --- */
.glass-nav {
  background: rgba(2, 8, 23, 0.92);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

/* Services Navbar Dropdown Container Fix */
.group:hover > div > div.bg-secondary\/95,
div.bg-secondary\/95,
div.bg-secondary {
  background-color: rgba(2, 8, 23, 0.96) !important;
  backdrop-filter: blur(24px) !important;
  -webkit-backdrop-filter: blur(24px) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.7) !important;
  color: #F8FAFC !important;
}

.glass-card {
  background: rgba(15, 23, 42, 0.85) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.4);
  border-radius: var(--radius-xl);
  transition: all var(--transition-normal);
  color: #F8FAFC !important;
}

.glass-card h1, .glass-card h2, .glass-card h3, .glass-card h4, .glass-card h5 {
  color: #FFFFFF !important;
}

.glass-card p,
.glass-card-dark p,
.text-slate-300 {
  color: #CBD5E1 !important; /* 10.8:1 contrast on #0F172A */
}

/* ==========================================================================
   High-Contrast WCAG 2.1 AA & AAA Accessibility System (Desktop & Mobile)
   ========================================================================== */

/* Primary text, links, headers and badges on dark backgrounds:
   Replace dark #2563EB (3.26:1 contrast) with luminous #60A5FA (7.20:1 AA & AAA compliant) */
.text-primary,
a.text-primary,
button.text-primary,
span.text-primary,
div.text-primary,
h1.text-primary, h2.text-primary, h3.text-primary, h4.text-primary,
.glass-card a.text-primary,
.glass-card-dark a.text-primary {
  color: #60A5FA !important;
}

.text-primary:hover,
a.text-primary:hover,
button.text-primary:hover,
.glass-card a.text-primary:hover,
.glass-card-dark a.text-primary:hover {
  color: #93C5FD !important; /* 10.06:1 contrast on #0F172A */
  text-decoration: underline;
}

/* Ensure Material Symbols within primary links inherit accessible color */
a.text-primary .material-symbols-outlined,
a.text-primary span,
.glass-card a.text-primary .material-symbols-outlined,
.glass-card-dark a.text-primary .material-symbols-outlined {
  color: inherit !important;
}

/* Service Card & Detail Icons in Dark Containers */
.glass-card .bg-primary\/10,
.glass-card-dark .bg-primary\/10,
.bg-primary\/10.text-primary,
.bg-primary\/20.text-primary,
.bg-primary\/10,
.bg-primary\/20 {
  background-color: rgba(37, 99, 235, 0.22) !important;
  color: #60A5FA !important;
}

.glass-card .bg-accent\/10,
.glass-card-dark .bg-accent\/10,
.bg-accent\/10.text-accent,
.bg-accent\/20.text-accent,
.bg-accent\/10,
.bg-accent\/20 {
  background-color: rgba(56, 189, 248, 0.2) !important;
  color: #38BDF8 !important;
}

/* WhatsApp Direct CTA Button: Accessible High-Contrast */
a[href*="wa.me"].bg-\[\#25D366\],
.bg-\[\#25D366\] {
  color: #020817 !important;
}
a[href*="wa.me"].bg-\[\#25D366\] span,
a[href*="wa.me"].bg-\[\#25D366\] i,
a[href*="wa.me"].bg-\[\#25D366\] svg,
.bg-\[\#25D366\] span,
.bg-\[\#25D366\] i,
.bg-\[\#25D366\] svg {
  color: #020817 !important;
}
a[href*="wa.me"].bg-\[\#25D366\]:hover {
  background-color: #22c55e !important;
  color: #020817 !important;
}

.glass-card-dark {
  background: rgba(15, 23, 42, 0.9) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
  border-radius: var(--radius-xl);
  transition: all var(--transition-normal);
  color: #F8FAFC !important;
}
.glass-card-dark:hover {
  border-color: rgba(59, 130, 246, 0.5) !important;
  transform: translateY(-4px);
  box-shadow: 0 25px 60px rgba(37, 99, 235, 0.3);
}

/* Card Hover Elevation Lift */
.hover-lift {
  transition: transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);
}
.hover-lift:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px -15px rgba(37, 99, 235, 0.25);
  border-color: rgba(37, 99, 235, 0.5) !important;
}

/* Responsive display utility guarantees (targeted without breaking dropdowns) */
.btn-primary.hidden,
.btn-secondary.hidden,
.btn-outline.hidden {
  display: none !important;
}
@media (min-width: 640px) {
  .sm\:inline-flex {
    display: inline-flex !important;
  }
  .sm\:flex {
    display: flex !important;
  }
}
@media (min-width: 768px) {
  .md\:inline-flex {
    display: inline-flex !important;
  }
  .md\:flex {
    display: flex !important;
  }
}
@media (min-width: 1024px) {
  .lg\:flex {
    display: flex !important;
  }
  .lg\:inline-flex {
    display: inline-flex !important;
  }
  .lg\:hidden {
    display: none !important;
  }
}

/* Services Dropdown Hover System (Desktop & Hover Devices) */
.group:hover > div[class*="group-hover:block"],
.group:focus-within > div[class*="group-hover:block"],
.group.is-open > div[class*="group-hover:block"] {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  animation: dxDropdownFadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.group:hover .group-hover\:rotate-180,
.group:focus-within .group-hover\:rotate-180,
.group.is-open .group-hover\:rotate-180 {
  transform: rotate(180deg) !important;
}

@keyframes dxDropdownFadeIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Mobile Services Accordion in Drawer */
#mobile-services-dropdown.flex {
  display: flex !important;
}
#mobile-services-dropdown.hidden {
  display: none !important;
}

/* --- 4. Master Button & CTA System --- */
.btn-primary {
  background-color: #2563EB;
  color: #FFFFFF !important;
  font-family: var(--font-body);
  font-weight: 600;
  border-radius: var(--radius-md);
  padding: 0.75rem 1.75rem;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  transition: all var(--transition-normal);
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35);
  position: relative;
  overflow: hidden;
  cursor: pointer;
  border: none;
  text-decoration: none;
}
.btn-primary:hover {
  background-color: #1D4ED8;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(37, 99, 235, 0.5);
}
.btn-primary:active {
  transform: translateY(0) scale(0.98);
}

.btn-secondary {
  background-color: #0F172A;
  color: #FFFFFF !important;
  font-family: var(--font-body);
  font-weight: 600;
  border-radius: var(--radius-md);
  padding: 0.75rem 1.75rem;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  transition: all var(--transition-normal);
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.15);
  cursor: pointer;
  text-decoration: none;
}
.btn-secondary:hover {
  background-color: #1E293B;
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.4);
}
.btn-secondary:active {
  transform: translateY(0) scale(0.98);
}

.btn-outline {
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #FFFFFF !important;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(8px);
  font-family: var(--font-body);
  font-weight: 600;
  border-radius: var(--radius-md);
  padding: 0.75rem 1.75rem;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  transition: all var(--transition-normal);
  cursor: pointer;
  text-decoration: none;
}
.btn-outline:hover {
  border-color: rgba(37, 99, 235, 0.6);
  background: rgba(37, 99, 235, 0.15);
  color: #FFFFFF !important;
  transform: translateY(-2px);
}

/* Button Ripple */
.btn-ripple {
  position: absolute !important;
  border-radius: 50% !important;
  transform: scale(0) !important;
  animation: btnRippleAnim 0.6s linear !important;
  background-color: rgba(255, 255, 255, 0.35) !important;
  pointer-events: none !important;
}
@keyframes btnRippleAnim {
  to {
    transform: scale(4) !important;
    opacity: 0 !important;
  }
}

/* --- 5. Micro-Animations & Glow Effects --- */
.badge-glow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 1rem;
  border-radius: var(--radius-full);
  background: rgba(37, 99, 235, 0.2);
  border: 1px solid rgba(96, 165, 250, 0.4);
  color: #93C5FD !important;
  font-size: 0.875rem;
  font-weight: 600;
}

@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-12px); }
}
.animate-float-slow {
  animation: float 6s ease-in-out infinite;
}

@keyframes pulseGlow {
  0%, 100% { opacity: 0.4; transform: scale(1); }
  50% { opacity: 0.8; transform: scale(1.05); }
}
.animate-pulse-glow {
  animation: pulseGlow 4s ease-in-out infinite;
}

/* Safe Non-Destructive Scroll Reveal */
.scroll-reveal-card,
.reveal-on-scroll {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.scroll-reveal-card.is-in-view,
.scroll-reveal-card.is-visible,
.reveal-on-scroll.is-visible {
  opacity: 1 !important;
  transform: translateY(0) scale(1) !important;
}

/* --- 6. Forms & Dropdown Selector Fixes --- */
.form-input, input, select, textarea {
  width: 100%;
  padding: 0.875rem 1.25rem;
  border-radius: var(--radius-md);
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  background-color: #0F172A !important;
  color: #F8FAFC !important;
  font-family: var(--font-body);
  font-size: 0.95rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.form-input:focus, input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: #2563EB !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.3) !important;
}
.form-input::placeholder, input::placeholder, textarea::placeholder {
  color: #94A3B8 !important;
}

.form-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: #E2E8F0 !important;
  margin-bottom: 0.375rem;
}

/* Select Option High-Contrast Dropdowns */
select.form-input, select, #service-page-select {
  appearance: none;
  background-color: #0F172A !important;
  color: #FFFFFF !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23F8FAFC'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 1rem center !important;
  background-size: 1.25rem !important;
  padding-right: 2.5rem !important;
}

select option {
  background-color: #0F172A !important;
  color: #F8FAFC !important;
  padding: 12px !important;
}

/* FAQ Accordion Styling */
.faq-item {
  background-color: rgba(15, 23, 42, 0.85) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: var(--radius-lg);
  transition: border-color 0.25s ease, background-color 0.25s ease;
}
.faq-item:hover {
  border-color: rgba(37, 99, 235, 0.5) !important;
  background-color: rgba(15, 23, 42, 0.95) !important;
}
.faq-trigger {
  color: #F8FAFC !important;
  width: 100%;
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}
.faq-content {
  color: #CBD5E1 !important;
}
.faq-icon {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  color: #F8FAFC !important;
}

/* WhatsApp Floating Action Button */
.whatsapp-float {
  position: fixed;
  bottom: 1.75rem;
  right: 1.75rem;
  z-index: 90;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: var(--radius-full);
  background-color: #25D366;
  color: #FFFFFF !important;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 25px rgba(37, 211, 102, 0.4);
  transition: transform var(--transition-normal), box-shadow var(--transition-normal);
  text-decoration: none;
}
.whatsapp-float:hover {
  transform: scale(1.1);
  box-shadow: 0 15px 30px rgba(37, 211, 102, 0.6);
}

/* --- 7. Footer Watermark System --- */
.footer-with-bg {
  position: relative;
  overflow: hidden;
  background-color: #0F172A;
}
.footer-with-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url('../images/FOOTER.jpeg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0.18;
  filter: contrast(120%) brightness(80%);
  pointer-events: none;
  z-index: 0;
}
.footer-with-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(2, 8, 23, 0.92) 0%, rgba(15, 23, 42, 0.95) 50%, rgba(15, 23, 42, 0.98) 100%);
  pointer-events: none;
  z-index: 1;
}
.footer-with-bg > * {
  position: relative;
  z-index: 2;
}



/* --- Signature Card Box System (User Preferred Design) --- */
.glass-card {
  background-color: #0F172A !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 1rem !important; /* 16px rounded-2xl */
  color: #FFFFFF !important;
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5) !important;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease !important;
}

.glass-card:hover, .hover-lift:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(37, 99, 235, 0.5) !important;
  box-shadow: 0 20px 40px -15px rgba(37, 99, 235, 0.25) !important;
}

.icon-box-primary {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 0.75rem;
  background-color: rgba(37, 99, 235, 0.15);
  color: #2563EB;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
}

/* --- 8. Background Motion Graphic & Button Tech Highlight System --- */
#bg-motion-canvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 15;
  mix-blend-mode: screen;
  opacity: 1;
}

/* Floating Quick Query Launcher Pill */
.floating-query-launcher {
  position: fixed;
  bottom: 1.75rem;
  right: 5.75rem;
  z-index: 89;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.96) 0%, rgba(2, 8, 23, 0.98) 100%);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(56, 189, 248, 0.5);
  color: #FFFFFF !important;
  padding: 0.65rem 1.25rem;
  border-radius: 9999px;
  font-family: var(--font-heading, 'Poppins', sans-serif);
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5), 0 0 25px rgba(56, 189, 248, 0.3);
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  text-decoration: none;
  user-select: none;
}
.floating-query-launcher:hover {
  transform: translateY(-2px) scale(1.04);
  border-color: #38BDF8;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.6), 0 0 35px rgba(56, 189, 248, 0.55);
}
.query-pulse-dot {
  width: 8px;
  height: 8px;
  background-color: #38BDF8;
  border-radius: 50%;
  box-shadow: 0 0 8px #38BDF8;
  animation: queryPulse 2s infinite;
}
@keyframes queryPulse {
  0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(56, 189, 248, 0.7); }
  70% { transform: scale(1.25); box-shadow: 0 0 0 8px rgba(56, 189, 248, 0); }
  100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(56, 189, 248, 0); }
}

@media (max-width: 640px) {
  .floating-query-launcher {
    right: 1.25rem;
    bottom: 5.75rem;
    padding: 0.55rem 1rem;
    font-size: 0.78rem;
  }
}

/* Modal Pop-In Animation */
@keyframes modalPopIn {
  from {
    opacity: 0;
    transform: scale(0.94) translateY(12px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
.modal-animated-card {
  animation: modalPopIn 0.28s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Global Consultation Modal & Mobile Responsive Close Optimization */
#global-consultation-modal {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background-color: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

#global-consultation-modal.flex {
  display: flex !important;
}

#global-consultation-modal .modal-animated-card {
  position: relative;
  background-color: #020817;
  color: #FFFFFF;
  border-radius: 1.25rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.85), 0 0 35px rgba(37, 99, 235, 0.2);
  width: 100%;
  max-width: 32rem;
  max-height: calc(100dvh - 1.5rem);
  max-height: calc(100vh - 1.5rem);
  display: flex;
  flex-direction: column;
  margin: auto;
  overflow: hidden;
  text-align: left;
}

/* Modal Sticky Header with Prominent Close Button */
.modal-header-sticky {
  flex-shrink: 0;
  position: relative;
  z-index: 20;
  background: rgba(2, 8, 23, 0.98);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

/* Modal Body Scroll */
.modal-body-scroll {
  flex: 1 1 auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

/* Prominent Close Button (Top-Right) */
.modal-close-btn {
  flex-shrink: 0;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.28);
  color: #FFFFFF !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  touch-action: manipulation;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
}

.modal-close-btn:hover {
  background: rgba(255, 255, 255, 0.24);
  border-color: rgba(255, 255, 255, 0.5);
  transform: scale(1.08);
}

.modal-close-btn:active {
  background: rgba(255, 255, 255, 0.32);
  transform: scale(0.95);
}

/* Mobile Dismiss / Bottom Close Button */
.modal-dismiss-btn {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  padding: 0.65rem 1rem;
  margin-top: 0.5rem;
  border-radius: 0.75rem;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #94A3B8;
  font-size: 0.82rem;
  font-weight: 500;
  cursor: pointer;
  touch-action: manipulation;
  transition: all 0.2s ease;
}

.modal-dismiss-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.3);
  color: #FFFFFF;
}

.modal-dismiss-btn:active {
  background: rgba(255, 255, 255, 0.15);
}

/* Custom Scrollbar for Modal Body */
.custom-modal-scrollbar {
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.22) transparent;
}
.custom-modal-scrollbar::-webkit-scrollbar {
  width: 5px;
}
.custom-modal-scrollbar::-webkit-scrollbar-track {
  background: transparent;
}
.custom-modal-scrollbar::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.22);
  border-radius: 9999px;
}
.custom-modal-scrollbar::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.4);
}

/* Mobile Specific Optimizations */
@media (max-width: 640px) {
  #global-consultation-modal {
    padding: 0.625rem !important;
  }
  #global-consultation-modal .modal-animated-card {
    max-height: 94dvh;
    max-height: 94vh;
    border-radius: 1.15rem;
  }
  .modal-close-btn {
    width: 2.45rem;
    height: 2.45rem;
  }
}


/* Master Button Tech Highlight Enhancements */
.tech-highlight-btn {
  position: relative !important;
  overflow: visible !important;
  isolation: isolate;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease, border-color 0.25s ease !important;
}

/* Cyber Border Beam (Laser Circuit Sweep Around Button) */
.tech-highlight-btn::after {
  content: '';
  position: absolute;
  inset: -1.5px;
  border-radius: inherit;
  padding: 1.5px;
  background: conic-gradient(
    from var(--tech-beam-angle, 0deg),
    transparent 0%,
    rgba(56, 189, 248, 0.85) 12%,
    rgba(37, 99, 235, 1) 22%,
    rgba(129, 140, 248, 0.75) 32%,
    transparent 42%,
    transparent 100%
  );
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: -1;
  opacity: 0.65;
  transition: opacity 0.3s ease;
  animation: techRotateBeam 3.6s linear infinite;
}

.tech-highlight-btn:hover::after,
.tech-highlight-btn.tech-locked-target::after {
  opacity: 1;
}

@property --tech-beam-angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}

@keyframes techRotateBeam {
  to {
    --tech-beam-angle: 360deg;
  }
}

/* High-Tech HUD Corner Crosshairs (Targeting Reticles) */
.tech-hud-corners {
  position: absolute;
  inset: -3px;
  pointer-events: none;
  z-index: 3;
  border-radius: calc(var(--radius-md, 0.5rem) + 3px);
}
.tech-hud-corners::before,
.tech-hud-corners::after {
  content: '';
  position: absolute;
  width: 6px;
  height: 6px;
  border-color: #38BDF8;
  border-style: solid;
  opacity: 0.65;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  filter: drop-shadow(0 0 3px #38BDF8);
}
.tech-hud-corners::before {
  top: 0;
  left: 0;
  border-width: 2px 0 0 2px;
  border-top-left-radius: 3px;
}
.tech-hud-corners::after {
  bottom: 0;
  right: 0;
  border-width: 0 2px 2px 0;
  border-bottom-right-radius: 3px;
}

.tech-highlight-btn:hover .tech-hud-corners::before,
.tech-highlight-btn:hover .tech-hud-corners::after,
.tech-highlight-btn.tech-locked-target .tech-hud-corners::before,
.tech-highlight-btn.tech-locked-target .tech-hud-corners::after {
  width: 9px;
  height: 9px;
  border-color: #60A5FA;
  opacity: 1;
  filter: drop-shadow(0 0 6px #60A5FA);
}

/* Dynamic Interactive Spotlight on Hover */
.tech-spotlight {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(
    140px circle at var(--btn-mouse-x, 50%) var(--btn-mouse-y, 50%),
    rgba(255, 255, 255, 0.25),
    transparent 70%
  );
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 1;
}

.tech-highlight-btn:hover .tech-spotlight {
  opacity: 1;
}

/* Pulsing Active Target Lock State */
.tech-highlight-btn.tech-locked-target {
  box-shadow: 0 0 22px rgba(56, 189, 248, 0.4), 0 0 35px rgba(37, 99, 235, 0.25) !important;
}

/* ==========================================================================
   9. Ultra-Premium 1.5-Second Cyber Rotating Logo Preloader
   ========================================================================== */
.dx-preloader {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #020817;
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: auto;
}

.dx-preloader.dx-preloader-fade-out {
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden;
}

.dx-preloader-backdrop {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(37, 99, 235, 0.22) 0%, rgba(2, 8, 23, 0.98) 70%);
  pointer-events: none;
}

.dx-preloader-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1.5rem;
}

/* Orbit & Logo Wrapper */
.dx-logo-orbit {
  position: relative;
  width: 140px;
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.75rem;
}

/* Outer Gradient Ring */
.dx-orbit-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  pointer-events: none;
}

.dx-orbit-outer {
  border: 2.5px solid transparent;
  border-top-color: #2563EB;
  border-right-color: #38BDF8;
  animation: dxSpinClockwise 1.5s linear infinite;
  filter: drop-shadow(0 0 12px rgba(56, 189, 248, 0.65));
}

.dx-orbit-scanner {
  inset: -8px;
  border: 1.5px dashed rgba(96, 165, 250, 0.45);
  animation: dxSpinCounter 2.5s linear infinite;
}

/* Rotating Logo Wrapper */
.dx-logo-rotating-wrapper {
  position: relative;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  padding: 5px;
  background: rgba(15, 23, 42, 0.92);
  border: 1.5px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 0 35px rgba(37, 99, 235, 0.5), inset 0 0 18px rgba(56, 189, 248, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  animation: dxLogoRotating 1.5s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
}

.dx-preloader-logo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* Continuous 360 Rotating Logo Animation */
@keyframes dxLogoRotating {
  0% {
    transform: rotate(0deg) scale(1);
  }
  50% {
    transform: rotate(180deg) scale(1.06);
  }
  100% {
    transform: rotate(360deg) scale(1);
  }
}

@keyframes dxSpinClockwise {
  to {
    transform: rotate(360deg);
  }
}

@keyframes dxSpinCounter {
  to {
    transform: rotate(-360deg);
  }
}

/* Brand Typography */
.dx-preloader-brand {
  margin-bottom: 1.75rem;
}

.dx-preloader-title {
  font-family: var(--font-heading);
  font-size: 1.85rem;
  font-weight: 900;
  color: #FFFFFF;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.dx-preloader-tagline {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #38BDF8;
  margin-top: 0.35rem;
}

/* Progress Bar & Status */
.dx-preloader-progress-container {
  width: 250px;
  max-width: 82vw;
}

.dx-preloader-bar {
  width: 100%;
  height: 4px;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 9999px;
  overflow: hidden;
  position: relative;
}

.dx-preloader-fill {
  width: 0%;
  height: 100%;
  background: linear-gradient(90deg, #2563EB, #38BDF8, #818CF8);
  border-radius: 9999px;
  box-shadow: 0 0 14px #38BDF8;
  transition: width 0.08s linear;
}

.dx-preloader-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0.6rem;
  font-size: 0.72rem;
  color: #94A3B8;
  font-family: var(--font-body);
}

.dx-preloader-status {
  letter-spacing: 0.02em;
}

.dx-preloader-percent {
  font-weight: 700;
  color: #38BDF8;
}








:root {
  --color-primary: #2563EB;
  --color-primary-hover: #1D4ED8;
  --color-primary-light: #60A5FA;
  --color-secondary: #0F172A;
  --color-secondary-hover: #1E293B;
  --color-accent: #3B82F6;
  --color-dark-bg: #020817;
  --color-dark-card: #0B1528;
  --color-section-bg: #0B1528;
  --color-text-main: #F8FAFC;
  --color-text-muted: #CBD5E1;
  --color-border: rgba(255, 255, 255, 0.15);
  --font-heading: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --radius-sm: 0.5rem;
  --radius-md: 0.75rem;
  --radius-lg: 1rem;
  --radius-xl: 1.5rem;
  --radius-full: 9999px;
  --transition-fast: 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-normal: 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-slow: 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}


*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  font-family: var(--font-body);
  color: #F8FAFC;
  background-color: #020817;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
  max-width: 100%;
}

body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  overflow-x: hidden;
  max-width: 100%;
  position: relative;
  background-color: #020817;
  color: #F8FAFC;
}


.px-gutter {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

@media (min-width: 640px) {
  .px-gutter {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
}

@media (min-width: 1024px) {
  .px-gutter {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
}

.max-w-container-max {
  max-width: 1280px;
}


h1,
h2,
h3,
h4,
h5,
h6,
.font-heading {
  font-family: var(--font-heading);
  letter-spacing: -0.02em;
  font-weight: 700;
  color: #F8FAFC;
}

.text-secondary {
  color: #F8FAFC !important;
}

.text-text-main {
  color: #F8FAFC !important;
}

.text-text-muted {
  color: #CBD5E1 !important;
}

img,
video,
svg {
  max-width: 100%;
  height: auto;
  display: block;
}


.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  vertical-align: middle;
  user-select: none;
}


::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: #020817;
}

::-webkit-scrollbar-thumb {
  background: #1E293B;
  border-radius: 9999px;
  border: 2px solid #020817;
}

::-webkit-scrollbar-thumb:hover {
  background: #2563EB;
}


* {
  scrollbar-width: thin;
  scrollbar-color: #1E293B #020817;
}


::selection {
  background-color: rgba(37, 99, 235, 0.4);
  color: #FFFFFF;
}


.hero-gradient-dark {
  background-color: #020817;
  background-image:
    radial-gradient(at 20% 20%, rgba(37, 99, 235, 0.28) 0px, transparent 50%),
    radial-gradient(at 80% 75%, rgba(56, 189, 248, 0.22) 0px, transparent 50%),
    radial-gradient(at 50% 50%, rgba(2, 8, 23, 0.95) 0px, transparent 75%);
  background-size: 140% 140%;
  animation: heroAuraMotion 20s ease-in-out infinite alternate;
}

@keyframes heroAuraMotion {
  0% {
    background-position: 0% 0%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 30% 100%;
  }
}

.hero-grid-pattern {
  background-size: 40px 40px;
  background-image:
    linear-gradient(to right, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
  animation: cyberGridDrift 30s linear infinite;
}

@keyframes cyberGridDrift {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: 40px 40px;
  }
}

.text-gradient {
  background: linear-gradient(135deg, #FFFFFF 0%, #93C5FD 50%, #3B82F6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.text-gradient-blue {
  background: linear-gradient(135deg, #3B82F6 0%, #60A5FA 50%, #1D4ED8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}


.glass-nav {
  background: rgba(2, 8, 23, 0.92);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}


.group:hover>div>div.bg-secondary\/95,
div.bg-secondary\/95,
div.bg-secondary {
  background-color: rgba(2, 8, 23, 0.96) !important;
  backdrop-filter: blur(24px) !important;
  -webkit-backdrop-filter: blur(24px) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.7) !important;
  color: #F8FAFC !important;
}

.glass-card {
  background: rgba(15, 23, 42, 0.85) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.4);
  border-radius: var(--radius-xl);
  transition: all var(--transition-normal);
  color: #F8FAFC !important;
}

.glass-card h1,
.glass-card h2,
.glass-card h3,
.glass-card h4,
.glass-card h5 {
  color: #FFFFFF !important;
}

.glass-card p,
.glass-card-dark p,
.text-slate-300 {
  color: #CBD5E1 !important;
  
}




.text-primary,
a.text-primary,
button.text-primary,
span.text-primary,
div.text-primary,
h1.text-primary,
h2.text-primary,
h3.text-primary,
h4.text-primary,
.glass-card a.text-primary,
.glass-card-dark a.text-primary {
  color: #60A5FA !important;
}

.text-primary:hover,
a.text-primary:hover,
button.text-primary:hover,
.glass-card a.text-primary:hover,
.glass-card-dark a.text-primary:hover {
  color: #93C5FD !important;
  
  text-decoration: underline;
}


a.text-primary .material-symbols-outlined,
a.text-primary span,
.glass-card a.text-primary .material-symbols-outlined,
.glass-card-dark a.text-primary .material-symbols-outlined {
  color: inherit !important;
}


.glass-card .bg-primary\/10,
.glass-card-dark .bg-primary\/10,
.bg-primary\/10.text-primary,
.bg-primary\/20.text-primary,
.bg-primary\/10,
.bg-primary\/20 {
  background-color: rgba(37, 99, 235, 0.22) !important;
  color: #60A5FA !important;
}

.glass-card .bg-accent\/10,
.glass-card-dark .bg-accent\/10,
.bg-accent\/10.text-accent,
.bg-accent\/20.text-accent,
.bg-accent\/10,
.bg-accent\/20 {
  background-color: rgba(56, 189, 248, 0.2) !important;
  color: #38BDF8 !important;
}


a[href*="wa.me"].bg-\[\#25D366\],
.bg-\[\#25D366\] {
  color: #020817 !important;
}

a[href*="wa.me"].bg-\[\#25D366\] span,
a[href*="wa.me"].bg-\[\#25D366\] i,
a[href*="wa.me"].bg-\[\#25D366\] svg,
.bg-\[\#25D366\] span,
.bg-\[\#25D366\] i,
.bg-\[\#25D366\] svg {
  color: #020817 !important;
}

a[href*="wa.me"].bg-\[\#25D366\]:hover {
  background-color: #22c55e !important;
  color: #020817 !important;
}

.glass-card-dark {
  background: rgba(15, 23, 42, 0.9) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
  border-radius: var(--radius-xl);
  transition: all var(--transition-normal);
  color: #F8FAFC !important;
}

.glass-card-dark:hover {
  border-color: rgba(59, 130, 246, 0.5) !important;
  transform: translateY(-4px);
  box-shadow: 0 25px 60px rgba(37, 99, 235, 0.3);
}


.hover-lift {
  transition: transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);
}

.hover-lift:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px -15px rgba(37, 99, 235, 0.25);
  border-color: rgba(37, 99, 235, 0.5) !important;
}


.btn-primary.hidden,
.btn-secondary.hidden,
.btn-outline.hidden {
  display: none !important;
}

@media (min-width: 640px) {
  .sm\:inline-flex {
    display: inline-flex !important;
  }

  .sm\:flex {
    display: flex !important;
  }
}

@media (min-width: 768px) {
  .md\:inline-flex {
    display: inline-flex !important;
  }

  .md\:flex {
    display: flex !important;
  }
}

@media (min-width: 1024px) {
  .lg\:flex {
    display: flex !important;
  }

  .lg\:inline-flex {
    display: inline-flex !important;
  }

  .lg\:hidden {
    display: none !important;
  }
}


.group:hover>div[class*="group-hover:block"],
.group:focus-within>div[class*="group-hover:block"],
.group.is-open>div[class*="group-hover:block"] {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  animation: dxDropdownFadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.group:hover .group-hover\:rotate-180,
.group:focus-within .group-hover\:rotate-180,
.group.is-open .group-hover\:rotate-180 {
  transform: rotate(180deg) !important;
}

@keyframes dxDropdownFadeIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}


#mobile-services-dropdown.flex {
  display: flex !important;
}

#mobile-services-dropdown.hidden {
  display: none !important;
}


.btn-primary {
  background-color: #2563EB;
  color: #FFFFFF !important;
  font-family: var(--font-body);
  font-weight: 600;
  border-radius: var(--radius-md);
  padding: 0.75rem 1.75rem;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  transition: all var(--transition-normal);
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35);
  position: relative;
  overflow: hidden;
  cursor: pointer;
  border: none;
  text-decoration: none;
}

.btn-primary:hover {
  background-color: #1D4ED8;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(37, 99, 235, 0.5);
}

.btn-primary:active {
  transform: translateY(0) scale(0.98);
}

.btn-secondary {
  background-color: #0F172A;
  color: #FFFFFF !important;
  font-family: var(--font-body);
  font-weight: 600;
  border-radius: var(--radius-md);
  padding: 0.75rem 1.75rem;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  transition: all var(--transition-normal);
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.15);
  cursor: pointer;
  text-decoration: none;
}

.btn-secondary:hover {
  background-color: #1E293B;
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.4);
}

.btn-secondary:active {
  transform: translateY(0) scale(0.98);
}

.btn-outline {
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #FFFFFF !important;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(8px);
  font-family: var(--font-body);
  font-weight: 600;
  border-radius: var(--radius-md);
  padding: 0.75rem 1.75rem;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  transition: all var(--transition-normal);
  cursor: pointer;
  text-decoration: none;
}

.btn-outline:hover {
  border-color: rgba(37, 99, 235, 0.6);
  background: rgba(37, 99, 235, 0.15);
  color: #FFFFFF !important;
  transform: translateY(-2px);
}


.btn-ripple {
  position: absolute !important;
  border-radius: 50% !important;
  transform: scale(0) !important;
  animation: btnRippleAnim 0.6s linear !important;
  background-color: rgba(255, 255, 255, 0.35) !important;
  pointer-events: none !important;
}

@keyframes btnRippleAnim {
  to {
    transform: scale(4) !important;
    opacity: 0 !important;
  }
}


.badge-glow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 1rem;
  border-radius: var(--radius-full);
  background: rgba(37, 99, 235, 0.2);
  border: 1px solid rgba(96, 165, 250, 0.4);
  color: #93C5FD !important;
  font-size: 0.875rem;
  font-weight: 600;
}

@keyframes float {

  0%,
  100% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-12px);
  }
}

.animate-float-slow {
  animation: float 6s ease-in-out infinite;
}

@keyframes pulseGlow {

  0%,
  100% {
    opacity: 0.4;
    transform: scale(1);
  }

  50% {
    opacity: 0.8;
    transform: scale(1.05);
  }
}

.animate-pulse-glow {
  animation: pulseGlow 4s ease-in-out infinite;
}


.scroll-reveal-card,
.reveal-on-scroll {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.scroll-reveal-card.is-in-view,
.scroll-reveal-card.is-visible,
.reveal-on-scroll.is-visible {
  opacity: 1 !important;
  transform: translateY(0) scale(1) !important;
}


.form-input,
input,
select,
textarea {
  width: 100%;
  padding: 0.875rem 1.25rem;
  border-radius: var(--radius-md);
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  background-color: #0F172A !important;
  color: #F8FAFC !important;
  font-family: var(--font-body);
  font-size: 0.95rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.form-input:focus,
input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: #2563EB !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.3) !important;
}

.form-input::placeholder,
input::placeholder,
textarea::placeholder {
  color: #94A3B8 !important;
}

.form-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: #E2E8F0 !important;
  margin-bottom: 0.375rem;
}


select.form-input,
select,
#service-page-select {
  appearance: none;
  background-color: #0F172A !important;
  color: #FFFFFF !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23F8FAFC'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 1rem center !important;
  background-size: 1.25rem !important;
  padding-right: 2.5rem !important;
}

select option {
  background-color: #0F172A !important;
  color: #F8FAFC !important;
  padding: 12px !important;
}


.faq-item {
  background-color: rgba(15, 23, 42, 0.85) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: var(--radius-lg);
  transition: border-color 0.25s ease, background-color 0.25s ease;
}

.faq-item:hover {
  border-color: rgba(37, 99, 235, 0.5) !important;
  background-color: rgba(15, 23, 42, 0.95) !important;
}

.faq-trigger {
  color: #F8FAFC !important;
  width: 100%;
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}

.faq-content {
  color: #CBD5E1 !important;
}

.faq-icon {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  color: #F8FAFC !important;
}


.whatsapp-float {
  position: fixed;
  bottom: 1.75rem;
  right: 1.75rem;
  z-index: 90;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: var(--radius-full);
  background-color: #25D366;
  color: #FFFFFF !important;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 25px rgba(37, 211, 102, 0.4);
  transition: transform var(--transition-normal), box-shadow var(--transition-normal);
  text-decoration: none;
}

.whatsapp-float:hover {
  transform: scale(1.1);
  box-shadow: 0 15px 30px rgba(37, 211, 102, 0.6);
}


.footer-with-bg {
  position: relative;
  overflow: hidden;
  background-color: #0F172A;
}

.footer-with-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url('../images/FOOTER.jpeg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0.18;
  filter: contrast(120%) brightness(80%);
  pointer-events: none;
  z-index: 0;
}

.footer-with-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(2, 8, 23, 0.92) 0%, rgba(15, 23, 42, 0.95) 50%, rgba(15, 23, 42, 0.98) 100%);
  pointer-events: none;
  z-index: 1;
}

.footer-with-bg>* {
  position: relative;
  z-index: 2;
}




.glass-card {
  background-color: #0F172A !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 1rem !important;
  
  color: #FFFFFF !important;
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5) !important;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease !important;
}

.glass-card:hover,
.hover-lift:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(37, 99, 235, 0.5) !important;
  box-shadow: 0 20px 40px -15px rgba(37, 99, 235, 0.25) !important;
}

.icon-box-primary {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 0.75rem;
  background-color: rgba(37, 99, 235, 0.15);
  color: #2563EB;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
}


#bg-motion-canvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 15;
  mix-blend-mode: screen;
  opacity: 1;
}


.floating-query-launcher {
  position: fixed;
  bottom: 1.75rem;
  right: 5.75rem;
  z-index: 89;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.96) 0%, rgba(2, 8, 23, 0.98) 100%);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(56, 189, 248, 0.5);
  color: #FFFFFF !important;
  padding: 0.65rem 1.25rem;
  border-radius: 9999px;
  font-family: var(--font-heading, 'Poppins', sans-serif);
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5), 0 0 25px rgba(56, 189, 248, 0.3);
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  text-decoration: none;
  user-select: none;
}

.floating-query-launcher:hover {
  transform: translateY(-2px) scale(1.04);
  border-color: #38BDF8;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.6), 0 0 35px rgba(56, 189, 248, 0.55);
}

.query-pulse-dot {
  width: 8px;
  height: 8px;
  background-color: #38BDF8;
  border-radius: 50%;
  box-shadow: 0 0 8px #38BDF8;
  animation: queryPulse 2s infinite;
}

@keyframes queryPulse {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(56, 189, 248, 0.7);
  }

  70% {
    transform: scale(1.25);
    box-shadow: 0 0 0 8px rgba(56, 189, 248, 0);
  }

  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(56, 189, 248, 0);
  }
}

@media (max-width: 640px) {
  .floating-query-launcher {
    right: 1.25rem;
    bottom: 5.75rem;
    padding: 0.55rem 1rem;
    font-size: 0.78rem;
  }
}


@keyframes modalPopIn {
  from {
    opacity: 0;
    transform: scale(0.94) translateY(12px);
  }

  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.modal-animated-card {
  animation: modalPopIn 0.28s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}


#global-consultation-modal {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background-color: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

#global-consultation-modal.flex {
  display: flex !important;
}

#global-consultation-modal .modal-animated-card {
  position: relative;
  background-color: #020817;
  color: #FFFFFF;
  border-radius: 1.25rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.85), 0 0 35px rgba(37, 99, 235, 0.2);
  width: 100%;
  max-width: 32rem;
  max-height: calc(100dvh - 1.5rem);
  max-height: calc(100vh - 1.5rem);
  display: flex;
  flex-direction: column;
  margin: auto;
  overflow: hidden;
  text-align: left;
}


.modal-header-sticky {
  flex-shrink: 0;
  position: relative;
  z-index: 20;
  background: rgba(2, 8, 23, 0.98);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}


.modal-body-scroll {
  flex: 1 1 auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}


.modal-close-btn {
  flex-shrink: 0;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.28);
  color: #FFFFFF !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  touch-action: manipulation;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
}

.modal-close-btn:hover {
  background: rgba(255, 255, 255, 0.24);
  border-color: rgba(255, 255, 255, 0.5);
  transform: scale(1.08);
}

.modal-close-btn:active {
  background: rgba(255, 255, 255, 0.32);
  transform: scale(0.95);
}


.modal-dismiss-btn {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  padding: 0.65rem 1rem;
  margin-top: 0.5rem;
  border-radius: 0.75rem;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #94A3B8;
  font-size: 0.82rem;
  font-weight: 500;
  cursor: pointer;
  touch-action: manipulation;
  transition: all 0.2s ease;
}

.modal-dismiss-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.3);
  color: #FFFFFF;
}

.modal-dismiss-btn:active {
  background: rgba(255, 255, 255, 0.15);
}


.custom-modal-scrollbar {
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.22) transparent;
}

.custom-modal-scrollbar::-webkit-scrollbar {
  width: 5px;
}

.custom-modal-scrollbar::-webkit-scrollbar-track {
  background: transparent;
}

.custom-modal-scrollbar::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.22);
  border-radius: 9999px;
}

.custom-modal-scrollbar::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.4);
}


@media (max-width: 640px) {
  #global-consultation-modal {
    padding: 0.625rem !important;
  }

  #global-consultation-modal .modal-animated-card {
    max-height: 94dvh;
    max-height: 94vh;
    border-radius: 1.15rem;
  }

  .modal-close-btn {
    width: 2.45rem;
    height: 2.45rem;
  }
}



.tech-highlight-btn {
  position: relative !important;
  overflow: visible !important;
  isolation: isolate;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease, border-color 0.25s ease !important;
}


.tech-highlight-btn::after {
  content: '';
  position: absolute;
  inset: -1.5px;
  border-radius: inherit;
  padding: 1.5px;
  background: conic-gradient(from var(--tech-beam-angle, 0deg),
      transparent 0%,
      rgba(56, 189, 248, 0.85) 12%,
      rgba(37, 99, 235, 1) 22%,
      rgba(129, 140, 248, 0.75) 32%,
      transparent 42%,
      transparent 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: -1;
  opacity: 0.65;
  transition: opacity 0.3s ease;
  animation: techRotateBeam 3.6s linear infinite;
}

.tech-highlight-btn:hover::after,
.tech-highlight-btn.tech-locked-target::after {
  opacity: 1;
}

@property --tech-beam-angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}

@keyframes techRotateBeam {
  to {
    --tech-beam-angle: 360deg;
  }
}


.tech-hud-corners {
  position: absolute;
  inset: -3px;
  pointer-events: none;
  z-index: 3;
  border-radius: calc(var(--radius-md, 0.5rem) + 3px);
}

.tech-hud-corners::before,
.tech-hud-corners::after {
  content: '';
  position: absolute;
  width: 6px;
  height: 6px;
  border-color: #38BDF8;
  border-style: solid;
  opacity: 0.65;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  filter: drop-shadow(0 0 3px #38BDF8);
}

.tech-hud-corners::before {
  top: 0;
  left: 0;
  border-width: 2px 0 0 2px;
  border-top-left-radius: 3px;
}

.tech-hud-corners::after {
  bottom: 0;
  right: 0;
  border-width: 0 2px 2px 0;
  border-bottom-right-radius: 3px;
}

.tech-highlight-btn:hover .tech-hud-corners::before,
.tech-highlight-btn:hover .tech-hud-corners::after,
.tech-highlight-btn.tech-locked-target .tech-hud-corners::before,
.tech-highlight-btn.tech-locked-target .tech-hud-corners::after {
  width: 9px;
  height: 9px;
  border-color: #60A5FA;
  opacity: 1;
  filter: drop-shadow(0 0 6px #60A5FA);
}


.tech-spotlight {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(140px circle at var(--btn-mouse-x, 50%) var(--btn-mouse-y, 50%),
      rgba(255, 255, 255, 0.25),
      transparent 70%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 1;
}

.tech-highlight-btn:hover .tech-spotlight {
  opacity: 1;
}


.tech-highlight-btn.tech-locked-target {
  box-shadow: 0 0 22px rgba(56, 189, 248, 0.4), 0 0 35px rgba(37, 99, 235, 0.25) !important;
}


.fab.fa-whatsapp,
.fa-whatsapp {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.7z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.7z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.fas.fa-envelope,
.fa-envelope {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.fas.fa-phone,
.fa-phone {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.fab.fa-meta,
.fa-meta {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48z'/%3E%3C/svg%3E") no-repeat center / contain;
}


.dx-preloader {
  display: none !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

.dx-preloader.dx-preloader-fade-out {
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden;
}

.dx-preloader-backdrop {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(37, 99, 235, 0.22) 0%, rgba(2, 8, 23, 0.98) 70%);
  pointer-events: none;
}

.dx-preloader-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1.5rem;
}


.dx-logo-orbit {
  position: relative;
  width: 140px;
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.75rem;
}


.dx-orbit-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  pointer-events: none;
}

.dx-orbit-outer {
  border: 2.5px solid transparent;
  border-top-color: #2563EB;
  border-right-color: #38BDF8;
  animation: dxSpinClockwise 1.5s linear infinite;
  filter: drop-shadow(0 0 12px rgba(56, 189, 248, 0.65));
}

.dx-orbit-scanner {
  inset: -8px;
  border: 1.5px dashed rgba(96, 165, 250, 0.45);
  animation: dxSpinCounter 2.5s linear infinite;
}


.dx-logo-rotating-wrapper {
  position: relative;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  padding: 5px;
  background: rgba(15, 23, 42, 0.92);
  border: 1.5px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 0 35px rgba(37, 99, 235, 0.5), inset 0 0 18px rgba(56, 189, 248, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  animation: dxLogoRotating 1.5s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
}

.dx-preloader-logo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}


@keyframes dxLogoRotating {
  0% {
    transform: rotate(0deg) scale(1);
  }

  50% {
    transform: rotate(180deg) scale(1.06);
  }

  100% {
    transform: rotate(360deg) scale(1);
  }
}

@keyframes dxSpinClockwise {
  to {
    transform: rotate(360deg);
  }
}

@keyframes dxSpinCounter {
  to {
    transform: rotate(-360deg);
  }
}


.dx-preloader-brand {
  margin-bottom: 1.75rem;
}

.dx-preloader-title {
  font-family: var(--font-heading);
  font-size: 1.85rem;
  font-weight: 900;
  color: #FFFFFF;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.dx-preloader-tagline {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #38BDF8;
  margin-top: 0.35rem;
}


.dx-preloader-progress-container {
  width: 250px;
  max-width: 82vw;
}

.dx-preloader-bar {
  width: 100%;
  height: 4px;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 9999px;
  overflow: hidden;
  position: relative;
}

.dx-preloader-fill {
  width: 0%;
  height: 100%;
  background: linear-gradient(90deg, #2563EB, #38BDF8, #818CF8);
  border-radius: 9999px;
  box-shadow: 0 0 14px #38BDF8;
  transition: width 0.08s linear;
}

.dx-preloader-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0.6rem;
  font-size: 0.72rem;
  color: #94A3B8;
  font-family: var(--font-body);
}

.dx-preloader-status {
  letter-spacing: 0.02em;
}

.dx-preloader-percent {
  font-weight: 700;
  color: #38BDF8;
}


html,
body {
  overflow-x: clip !important;
}


:root {
  --dx-stack-base-top: 95px;
  --dx-stack-offset: 24px; 
}

@media (max-width: 840px) {
  :root {
    --dx-stack-base-top: 75px;
    --dx-stack-offset: 18px;
  }
}

@media (max-width: 480px) {
  :root {
    --dx-stack-base-top: 70px;
    --dx-stack-offset: 14px;
  }
}

.dx-stacked-cards-container {
  position: relative;
  max-width: 960px;
  margin: 0 auto;
  padding: 1.5rem 0 2rem;
}

.dx-stacked-card {
  position: -webkit-sticky;
  position: sticky;
  top: calc(var(--dx-stack-base-top) + var(--card-index, 0) * var(--dx-stack-offset));
  z-index: calc(10 + var(--card-index, 0));
  min-height: 420px;
  width: 100%;
  box-sizing: border-box;
  border-radius: 1.75rem;
  padding: 2.75rem;
  margin-bottom: 25vh;
  
  border: 1px solid rgba(255, 255, 255, 0.12);
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 2.5rem;
  align-items: center;
  transition: transform 0.18s ease-out, opacity 0.18s ease-out, filter 0.18s ease-out;
  will-change: transform, opacity, filter;
  overflow: hidden;
  transform-origin: top center;
}

.dx-stacked-card:last-child {
  
  margin-bottom: 3.5rem;
}


.dx-stacked-card[data-layer="1"] { --card-index: 0; }
.dx-stacked-card[data-layer="2"] { --card-index: 1; }
.dx-stacked-card[data-layer="3"] { --card-index: 2; }
.dx-stacked-card[data-layer="4"] { --card-index: 3; }
.dx-stacked-card[data-layer="5"] { --card-index: 4; }
.dx-stacked-card[data-layer="6"] { --card-index: 5; }
.dx-stacked-card[data-layer="7"] { --card-index: 6; }


.dx-card-layer-1 {
  background: #09101f;
  background: linear-gradient(135deg, #0d1527 0%, #070c18 100%);
  border-color: rgba(56, 189, 248, 0.4);
  box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.9), 0 0 35px rgba(56, 189, 248, 0.15);
}


.dx-card-layer-2 {
  background: #130d22;
  background: linear-gradient(135deg, #171126 0%, #0d081b 100%);
  border-color: rgba(192, 132, 252, 0.4);
  box-shadow: 0 -25px 50px rgba(0, 0, 0, 0.95), 0 25px 60px -15px rgba(0, 0, 0, 0.9), 0 0 35px rgba(192, 132, 252, 0.15);
}


.dx-card-layer-3 {
  background: #091a14;
  background: linear-gradient(135deg, #0d221c 0%, #061510 100%);
  border-color: rgba(52, 211, 153, 0.4);
  box-shadow: 0 -25px 50px rgba(0, 0, 0, 0.95), 0 25px 60px -15px rgba(0, 0, 0, 0.9), 0 0 35px rgba(52, 211, 153, 0.15);
}


.dx-card-layer-4 {
  background: #190913;
  background: linear-gradient(135deg, #220e1a 0%, #0f050b 100%);
  border-color: rgba(244, 63, 94, 0.4);
  box-shadow: 0 -25px 50px rgba(0, 0, 0, 0.95), 0 25px 60px -15px rgba(0, 0, 0, 0.9), 0 0 35px rgba(244, 63, 94, 0.15);
}


.dx-card-layer-5 {
  background: #1a1406;
  background: linear-gradient(135deg, #231b08 0%, #0f0b03 100%);
  border-color: rgba(251, 191, 36, 0.4);
  box-shadow: 0 -25px 50px rgba(0, 0, 0, 0.95), 0 25px 60px -15px rgba(0, 0, 0, 0.9), 0 0 35px rgba(251, 191, 36, 0.15);
}


.dx-card-layer-6 {
  background: #061716;
  background: linear-gradient(135deg, #0a1f1e 0%, #040e0d 100%);
  border-color: rgba(45, 212, 191, 0.4);
  box-shadow: 0 -25px 50px rgba(0, 0, 0, 0.95), 0 25px 60px -15px rgba(0, 0, 0, 0.9), 0 0 35px rgba(45, 212, 191, 0.15);
}


.dx-card-layer-7 {
  background: #0b1426;
  background: linear-gradient(135deg, #0d1e38 0%, #070e1b 100%);
  border-color: rgba(56, 189, 248, 0.45);
  box-shadow: 0 -25px 50px rgba(0, 0, 0, 0.95), 0 25px 60px -15px rgba(0, 0, 0, 0.9), 0 0 35px rgba(56, 189, 248, 0.2);
}


.dx-layer-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  backdrop-filter: blur(8px);
}

.dx-badge-1 {
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(56, 189, 248, 0.3);
  color: #38bdf8;
}

.dx-badge-2 {
  background: rgba(192, 132, 252, 0.12);
  border: 1px solid rgba(192, 132, 252, 0.3);
  color: #c084fc;
}

.dx-badge-3 {
  background: rgba(52, 211, 153, 0.12);
  border: 1px solid rgba(52, 211, 153, 0.3);
  color: #34d399;
}

.dx-badge-4 {
  background: rgba(244, 63, 94, 0.12);
  border: 1px solid rgba(244, 63, 94, 0.3);
  color: #f43f5e;
}

.dx-badge-5 {
  background: rgba(251, 191, 36, 0.12);
  border: 1px solid rgba(251, 191, 36, 0.3);
  color: #fbbf24;
}

.dx-badge-6 {
  background: rgba(45, 212, 191, 0.12);
  border: 1px solid rgba(45, 212, 191, 0.3);
  color: #2dd4bf;
}

.dx-badge-7 {
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(56, 189, 248, 0.3);
  color: #38bdf8;
}

.dx-layer-title {
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 2.8vw, 2.1rem);
  font-weight: 800;
  color: #ffffff;
  line-height: 1.2;
  margin-bottom: 1rem;
  letter-spacing: -0.02em;
}

.dx-layer-desc {
  color: #94a3b8;
  font-size: 0.98rem;
  line-height: 1.65;
  margin-bottom: 1.5rem;
}

.dx-layer-features {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: auto;
}

.dx-feature-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 0.8rem;
  font-weight: 600;
  color: #e2e8f0;
}


.dx-layer-visual {
  height: 220px;
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  padding: 1.5rem;
  text-align: center;
}

.dx-layer-visual::before {
  content: '';
  position: absolute;
  inset: 0;
  background-size: 20px 20px;
  background-image:
    linear-gradient(to right, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  pointer-events: none;
}

.dx-metric-stat {
  font-family: var(--font-heading);
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 1;
  margin-top: 0.75rem;
  letter-spacing: -0.02em;
}

.dx-metric-caption {
  font-size: 0.75rem;
  color: #94a3b8;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-top: 0.35rem;
}


@media (max-width: 840px) {
  .dx-stacked-cards-container {
    padding: 1rem 0 1.5rem;
  }

  .dx-stacked-card {
    grid-template-columns: 1fr;
    padding: 2rem;
    gap: 1.5rem;
    min-height: 440px;
    margin-bottom: 20vh;
  }

  .dx-stacked-card:last-child {
    margin-bottom: 3rem;
  }

  .dx-layer-visual {
    height: 160px;
  }
}

@media (max-width: 480px) {
  .dx-stacked-cards-container {
    padding: 1rem 0 1rem;
  }

  .dx-stacked-card {
    padding: 1.5rem;
    border-radius: 1.25rem;
    min-height: 480px;
    margin-bottom: 18vh;
  }

  .dx-stacked-card:last-child {
    margin-bottom: 2.5rem;
  }
}


.dx-service-card {
  position: relative;
  overflow: hidden;
  border-radius: 1.25rem;
  padding: 2.25rem 2rem;
  background: #070e1b;
  border: 1px solid rgba(255, 255, 255, 0.12);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 410px;
  box-shadow: 0 16px 36px -10px rgba(0, 0, 0, 0.7);
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), 
              border-color 0.4s ease, 
              box-shadow 0.45s ease;
  cursor: pointer;
  outline: none;
}

.dx-service-card:hover,
.dx-service-card:focus-within {
  transform: translateY(-8px);
  border-color: rgba(56, 189, 248, 0.55);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.85), 0 0 35px rgba(56, 189, 248, 0.22);
}

.dx-service-card-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: 600 / 335;
  object-fit: cover;
  opacity: 0.82;
  transform: scale(1.0);
  filter: saturate(1.1) brightness(0.92);
  transition: transform 0.75s cubic-bezier(0.16, 1, 0.3, 1), 
              opacity 0.5s ease, 
              filter 0.5s ease;
  pointer-events: none;
  z-index: 1;
}

.dx-service-card:hover .dx-service-card-bg,
.dx-service-card:focus-within .dx-service-card-bg {
  transform: scale(1.08);
  opacity: 0.65;
  filter: saturate(1.15) brightness(0.75);
}


.dx-service-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg, 
    rgba(7, 14, 27, 0.25) 0%, 
    rgba(7, 14, 27, 0.45) 45%, 
    rgba(7, 14, 27, 0.88) 80%, 
    rgba(7, 14, 27, 0.98) 100%
  );
  backdrop-filter: blur(0px);
  -webkit-backdrop-filter: blur(0px);
  pointer-events: none;
  z-index: 2;
  transition: background 0.45s ease, 
              backdrop-filter 0.45s ease, 
              -webkit-backdrop-filter 0.45s ease;
}

.dx-service-card:hover .dx-service-card-overlay,
.dx-service-card:focus-within .dx-service-card-overlay {
  background: linear-gradient(
    180deg, 
    rgba(7, 14, 27, 0.55) 0%, 
    rgba(7, 14, 27, 0.75) 30%, 
    rgba(7, 14, 27, 0.94) 70%, 
    rgba(7, 14, 27, 0.99) 100%
  );
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.dx-service-card-body {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: space-between;
}


.dx-service-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-bottom: auto;
}

.dx-service-icon-box {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
  transition: all 0.35s ease;
}

.dx-service-card:hover .dx-service-icon-box,
.dx-service-card:focus-within .dx-service-icon-box {
  border-color: rgba(56, 189, 248, 0.55);
  background: rgba(56, 189, 248, 0.18);
  box-shadow: 0 10px 25px rgba(56, 189, 248, 0.25);
  transform: scale(1.08) translateY(-2px);
}


.dx-service-card-hint {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.75rem;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  font-size: 0.75rem;
  font-weight: 600;
  color: #94a3b8;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: all 0.35s ease;
}

.dx-service-card:hover .dx-service-card-hint,
.dx-service-card:focus-within .dx-service-card-hint {
  background: rgba(56, 189, 248, 0.2);
  border-color: rgba(56, 189, 248, 0.45);
  color: #38bdf8;
}


.dx-service-card-footer {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  margin-top: 1.5rem;
}

.dx-service-card-title {
  font-family: var(--font-heading, 'Poppins', sans-serif);
  font-size: 1.35rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.3;
  letter-spacing: -0.01em;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.9);
  margin-bottom: 0.25rem;
  transition: color 0.3s ease, transform 0.35s ease;
}

.dx-service-card:hover .dx-service-card-title,
.dx-service-card:focus-within .dx-service-card-title {
  color: #ffffff;
  transform: translateY(-2px);
}


.dx-service-card-expand {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transform: translateY(12px);
  transition: grid-template-rows 0.45s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.dx-service-card-expand-inner {
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.dx-service-card:hover .dx-service-card-expand,
.dx-service-card:focus-within .dx-service-card-expand {
  grid-template-rows: 1fr;
  opacity: 1;
  transform: translateY(0);
}

.dx-service-card-desc {
  color: #e2e8f0;
  font-size: 0.9rem;
  line-height: 1.62;
  margin-top: 0.65rem;
  margin-bottom: 1.25rem;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.85);
  transform: translateY(8px);
  opacity: 0;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.04s,
              opacity 0.35s ease 0.04s;
}

.dx-service-card:hover .dx-service-card-desc,
.dx-service-card:focus-within .dx-service-card-desc {
  transform: translateY(0);
  opacity: 1;
}

.dx-service-card-link {
  color: #38bdf8;
  font-weight: 600;
  font-size: 0.875rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  width: fit-content;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
  transform: translateY(8px);
  opacity: 0;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.08s,
              opacity 0.35s ease 0.08s,
              color 0.25s ease,
              gap 0.25s ease;
}

.dx-service-card:hover .dx-service-card-link,
.dx-service-card:focus-within .dx-service-card-link {
  transform: translateY(0);
  opacity: 1;
}

.dx-service-card-link:hover {
  color: #ffffff;
  gap: 0.7rem;
}


@media (hover: none), (max-width: 768px) {
  .dx-service-card {
    min-height: auto;
  }
  .dx-service-card-expand {
    grid-template-rows: 1fr;
    opacity: 1;
    transform: translateY(0);
  }
  .dx-service-card-desc,
  .dx-service-card-link {
    opacity: 1;
    transform: translateY(0);
  }
  .dx-service-card-hint {
    display: none;
  }
  .dx-service-card-overlay {
    background: linear-gradient(
      180deg, 
      rgba(7, 14, 27, 0.4) 0%, 
      rgba(7, 14, 27, 0.75) 40%, 
      rgba(7, 14, 27, 0.98) 100%
    );
  }
}


.dx-hero-bg-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  z-index: 1;
}


.dx-hero-aurora-core {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 750px;
  height: 750px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(56, 189, 248, 0.22) 0%, rgba(37, 99, 235, 0.14) 40%, rgba(11, 21, 40, 0) 70%);
  filter: blur(80px);
  animation: dxAuroraPulse 8s ease-in-out infinite alternate;
}

.dx-hero-aurora-accent {
  position: absolute;
  top: 48%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(99, 102, 241, 0.12) 0%, rgba(56, 189, 248, 0.08) 35%, transparent 65%);
  filter: blur(90px);
  animation: dxAuroraFloat 12s ease-in-out infinite alternate;
}


.dx-hero-orbit-container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 750px;
  height: 750px;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

@media (max-width: 1024px) {
  .dx-hero-orbit-container {
    width: 560px;
    height: 560px;
  }
}

@media (max-width: 640px) {
  .dx-hero-orbit-container {
    width: 380px;
    height: 380px;
  }
}

.dx-hero-orbit-ring {
  position: absolute;
  width: 100%;
  height: 100%;
  transform-origin: center center;
}

.dx-orbit-outer {
  animation: dxSpinSlow 80s linear infinite;
}

.dx-orbit-inner {
  width: 72%;
  height: 72%;
  animation: dxSpinReverse 45s linear infinite;
}


.dx-hero-logo-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 520px;
  height: 520px;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

@media (max-width: 1024px) {
  .dx-hero-logo-wrapper {
    width: 420px;
    height: 420px;
  }
}

@media (max-width: 640px) {
  .dx-hero-logo-wrapper {
    width: 300px;
    height: 300px;
  }
}

.dx-hero-logo-halo {
  position: absolute;
  width: 380px;
  height: 380px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(56, 189, 248, 0.25) 0%, rgba(37, 99, 235, 0.16) 45%, transparent 70%);
  filter: blur(55px);
  animation: dxHaloBreathe 6s ease-in-out infinite alternate;
}

.dx-hero-logo-mark {
  position: relative;
  width: 82%;
  height: 82%;
  aspect-ratio: 421 / 386;
  background: url('../images/icon-transparent.png') no-repeat center / contain;
  opacity: 0.22;
  filter: brightness(1.2) contrast(1.1) drop-shadow(0 0 35px rgba(56, 189, 248, 0.45)) drop-shadow(0 0 70px rgba(37, 99, 235, 0.25));
  animation: dxLogoFloat 7s ease-in-out infinite alternate;
  transform-origin: center center;
  transition: opacity 0.5s ease, filter 0.5s ease;
}


header#hero:hover .dx-hero-logo-mark {
  opacity: 0.32;
  filter: brightness(1.3) contrast(1.15) drop-shadow(0 0 45px rgba(56, 189, 248, 0.65)) drop-shadow(0 0 90px rgba(37, 99, 235, 0.35));
}


.dx-hero-arrow-sweep {
  position: absolute;
  width: 150%;
  height: 3px;
  background: linear-gradient(90deg, transparent 0%, rgba(56, 189, 248, 0.9) 50%, #ffffff 75%, transparent 100%);
  transform: rotate(-45deg);
  opacity: 0.5;
  filter: drop-shadow(0 0 12px #38bdf8);
  animation: dxBeamSweep 5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}


.dx-hero-pixel-cluster {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.dx-pixel {
  position: absolute;
  border-radius: 4px;
  box-shadow: 0 0 15px rgba(56, 189, 248, 0.6);
  pointer-events: none;
}

.dx-pixel-1 {
  width: 14px;
  height: 14px;
  top: 26%;
  left: calc(50% - 150px);
  background: #38bdf8;
  opacity: 0.75;
  animation: dxPixelFloat1 5s ease-in-out infinite alternate;
}

.dx-pixel-2 {
  width: 10px;
  height: 10px;
  top: 32%;
  left: calc(50% - 190px);
  background: #0284c7;
  opacity: 0.65;
  animation: dxPixelFloat2 7s ease-in-out infinite alternate;
}

.dx-pixel-3 {
  width: 18px;
  height: 18px;
  top: 38%;
  left: calc(50% - 160px);
  background: #2563eb;
  opacity: 0.55;
  animation: dxPixelFloat3 6s ease-in-out infinite alternate;
}

.dx-pixel-4 {
  width: 8px;
  height: 8px;
  bottom: 24%;
  left: calc(50% + 170px);
  background: #38bdf8;
  opacity: 0.6;
  box-shadow: 0 0 12px #38bdf8;
  animation: dxPixelFloat1 8s ease-in-out infinite alternate;
}

.dx-pixel-5 {
  width: 12px;
  height: 12px;
  top: 20%;
  left: calc(50% + 150px);
  background: rgba(56, 189, 248, 0.5);
  box-shadow: 0 0 16px rgba(56, 189, 248, 0.4);
  animation: dxPixelFloat2 9s ease-in-out infinite alternate;
}


.dx-hero-depth-vignette {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 90% 80% at 50% 50%, transparent 40%, rgba(2, 8, 23, 0.72) 100%);
  pointer-events: none;
}


@keyframes dxSpinSlow {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes dxSpinReverse {
  from { transform: rotate(360deg); }
  to { transform: rotate(0deg); }
}

@keyframes dxLogoFloat {
  0% { transform: translateY(0px) rotate(0deg) scale(1); }
  50% { transform: translateY(-12px) rotate(1deg) scale(1.02); }
  100% { transform: translateY(0px) rotate(0deg) scale(1); }
}

@keyframes dxHaloBreathe {
  0% { transform: scale(0.92); opacity: 0.7; }
  100% { transform: scale(1.14); opacity: 1; }
}

@keyframes dxBeamSweep {
  0% { transform: rotate(-45deg) translate(-260px, -260px); opacity: 0; }
  20% { opacity: 0.7; }
  50% { transform: rotate(-45deg) translate(0px, 0px); opacity: 0.95; }
  80% { opacity: 0.7; }
  100% { transform: rotate(-45deg) translate(260px, 260px); opacity: 0; }
}

@keyframes dxPixelFloat1 {
  0% { transform: translateY(0) rotate(0deg); }
  100% { transform: translateY(-16px) rotate(8deg); }
}

@keyframes dxPixelFloat2 {
  0% { transform: translateY(0) rotate(0deg); }
  100% { transform: translateY(14px) rotate(-10deg); }
}

@keyframes dxPixelFloat3 {
  0% { transform: translate(0, 0); }
  100% { transform: translate(-8px, -12px); }
}

@keyframes dxAuroraPulse {
  0% { transform: scale(0.95); opacity: 0.6; }
  100% { transform: scale(1.15); opacity: 0.9; }
}

@keyframes dxAuroraFloat {
  0% { transform: translate(0, 0); }
  100% { transform: translate(30px, -20px); }
}
