/* Nicsphere shell stylesheet - generated, do not edit by hand.
   Source: header-footer-preview.html + build/theme-src/components.css
   Rebuild: python build/step3_css.py && python build/step6_assets.py */
*,: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: }.nicsphere-scope,.nicsphere-scope *,.nicsphere-scope :after,.nicsphere-scope :before{box-sizing:border-box;border:0 solid #e5e7eb}.nicsphere-scope{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Barlow,Roboto,Arial,sans-serif;color:#111;line-height:1.5}.nicsphere-scope blockquote,.nicsphere-scope dd,.nicsphere-scope dl,.nicsphere-scope figure,.nicsphere-scope h1,.nicsphere-scope h2,.nicsphere-scope h3,.nicsphere-scope h4,.nicsphere-scope h5,.nicsphere-scope h6,.nicsphere-scope p{margin:0}.nicsphere-scope h1,.nicsphere-scope h2,.nicsphere-scope h3,.nicsphere-scope h4,.nicsphere-scope h5,.nicsphere-scope h6{font-size:inherit;font-weight:inherit}.nicsphere-scope ol,.nicsphere-scope ul{list-style:none;margin:0;padding:0}.nicsphere-scope a{color:inherit;text-decoration:inherit}.nicsphere-scope canvas,.nicsphere-scope iframe,.nicsphere-scope img,.nicsphere-scope svg,.nicsphere-scope video{display:block;vertical-align:middle}.nicsphere-scope img,.nicsphere-scope video{max-width:100%;height:auto}.nicsphere-scope button,.nicsphere-scope input,.nicsphere-scope optgroup,.nicsphere-scope select,.nicsphere-scope textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}.nicsphere-scope [type=button],.nicsphere-scope [type=submit],.nicsphere-scope button{-webkit-appearance:button;background-color:transparent;background-image:none;cursor:pointer}.nicsphere-scope :is(input,textarea)::-moz-placeholder{opacity:1;color:#9ca3af}.nicsphere-scope :is(input,textarea)::placeholder{opacity:1;color:#9ca3af}.nicsphere-scope table{border-collapse:collapse;border-color:inherit;text-indent:0}.nicsphere-scope hr{height:0;color:inherit;border-top-width:1px}.nicsphere-scope .icon-link svg{display:inline-block}.nicsphere-scope .absolute{position:absolute}.nicsphere-scope .relative{position:relative}.nicsphere-scope .inset-0{inset:0}.nicsphere-scope .bottom-0{bottom:0}.nicsphere-scope .right-\[120px\]{right:120px}.nicsphere-scope .top-0{top:0}.nicsphere-scope .top-1\/2{top:50%}.nicsphere-scope .z-10{z-index:10}.nicsphere-scope .z-30{z-index:30}.nicsphere-scope .col-span-1{grid-column:span 1/span 1}.nicsphere-scope .col-span-2{grid-column:span 2/span 2}.nicsphere-scope .mx-4{margin-left:1rem;margin-right:1rem}.nicsphere-scope .mx-auto{margin-left:auto;margin-right:auto}.nicsphere-scope .mb-4{margin-bottom:1rem}.nicsphere-scope .ml-\[5vw\]{margin-left:5vw}.nicsphere-scope .mt-1{margin-top:.25rem}.nicsphere-scope .mt-3{margin-top:.75rem}.nicsphere-scope .mt-4{margin-top:1rem}.nicsphere-scope .mt-8{margin-top:2rem}.nicsphere-scope .mt-\[8px\]{margin-top:8px}.nicsphere-scope .block{display:block}.nicsphere-scope .inline-block{display:inline-block}.nicsphere-scope .flex{display:flex}.nicsphere-scope .grid{display:grid}.nicsphere-scope .hidden{display:none}.nicsphere-scope .h-9{height:2.25rem}.nicsphere-scope .h-\[0\.5px\]{height:.5px}.nicsphere-scope .h-\[1\.5px\]{height:1.5px}.nicsphere-scope .h-\[11px\]{height:11px}.nicsphere-scope .h-\[13px\]{height:13px}.nicsphere-scope .h-\[15px\]{height:15px}.nicsphere-scope .h-\[18px\]{height:18px}.nicsphere-scope .h-\[22px\]{height:22px}.nicsphere-scope .h-\[24px\]{height:24px}.nicsphere-scope .h-\[29px\]{height:29px}.nicsphere-scope .h-\[30px\]{height:30px}.nicsphere-scope .h-\[58px\]{height:58px}.nicsphere-scope .h-\[5px\]{height:5px}.nicsphere-scope .h-\[9px\]{height:9px}.nicsphere-scope .h-auto{height:auto}.nicsphere-scope .h-full{height:100%}.nicsphere-scope .h-px{height:1px}.nicsphere-scope .min-h-screen{min-height:100vh}.nicsphere-scope .w-9{width:2.25rem}.nicsphere-scope .w-\[122px\]{width:122px}.nicsphere-scope .w-\[12px\]{width:12px}.nicsphere-scope .w-\[13px\]{width:13px}.nicsphere-scope .w-\[14px\]{width:14px}.nicsphere-scope .w-\[15px\]{width:15px}.nicsphere-scope .w-\[16px\]{width:16px}.nicsphere-scope .w-\[17px\]{width:17px}.nicsphere-scope .w-\[18px\]{width:18px}.nicsphere-scope .w-\[20px\]{width:20px}.nicsphere-scope .w-\[29px\]{width:29px}.nicsphere-scope .w-\[30px\]{width:30px}.nicsphere-scope .w-\[5px\]{width:5px}.nicsphere-scope .w-\[85px\]{width:85px}.nicsphere-scope .w-\[98px\]{width:98px}.nicsphere-scope .w-\[9px\]{width:9px}.nicsphere-scope .w-fit{width:-moz-fit-content;width:fit-content}.nicsphere-scope .w-full{width:100%}.nicsphere-scope .w-px{width:1px}.nicsphere-scope .max-w-\[1440px\]{max-width:1440px}.nicsphere-scope .max-w-\[340px\]{max-width:340px}.nicsphere-scope .max-w-\[640px\]{max-width:640px}.nicsphere-scope .flex-1{flex:1 1 0%}.nicsphere-scope .flex-shrink-0,.nicsphere-scope .shrink-0{flex-shrink:0}.nicsphere-scope .-translate-x-full{--tw-translate-x:-100%}.nicsphere-scope .-translate-x-full,.nicsphere-scope .-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))}.nicsphere-scope .-translate-y-1\/2{--tw-translate-y:-50%}.nicsphere-scope .translate-x-0{--tw-translate-x:0px}.nicsphere-scope .translate-x-0,.nicsphere-scope .translate-x-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.nicsphere-scope .translate-x-1\/2{--tw-translate-x:50%}.nicsphere-scope .translate-y-full{--tw-translate-y:100%;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))}.nicsphere-scope .cursor-pointer{cursor:pointer}.nicsphere-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.nicsphere-scope .flex-row{flex-direction:row}.nicsphere-scope .flex-col{flex-direction:column}.nicsphere-scope .flex-wrap{flex-wrap:wrap}.nicsphere-scope .items-start{align-items:flex-start}.nicsphere-scope .items-center{align-items:center}.nicsphere-scope .justify-start{justify-content:flex-start}.nicsphere-scope .justify-end{justify-content:flex-end}.nicsphere-scope .justify-center{justify-content:center}.nicsphere-scope .justify-between{justify-content:space-between}.nicsphere-scope .gap-1\.5{gap:.375rem}.nicsphere-scope .gap-12{gap:3rem}.nicsphere-scope .gap-2\.5{gap:.625rem}.nicsphere-scope .gap-3{gap:.75rem}.nicsphere-scope .gap-8{gap:2rem}.nicsphere-scope .gap-9{gap:2.25rem}.nicsphere-scope .gap-\[12px\]{gap:12px}.nicsphere-scope .gap-\[3px\]{gap:3px}.nicsphere-scope .gap-\[8px\]{gap:8px}.nicsphere-scope .gap-\[9px\]{gap:9px}.nicsphere-scope .gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.nicsphere-scope .gap-y-3{row-gap:.75rem}.nicsphere-scope .overflow-hidden{overflow:hidden}.nicsphere-scope .overflow-x-hidden{overflow-x:hidden}.nicsphere-scope .whitespace-normal{white-space:normal}.nicsphere-scope .rounded-\[2px\]{border-radius:2px}.nicsphere-scope .rounded-full{border-radius:9999px}.nicsphere-scope .border{border-width:1px}.nicsphere-scope .border-\[1\.5px\]{border-width:1.5px}.nicsphere-scope .border-b-2{border-bottom-width:2px}.nicsphere-scope .border-t{border-top-width:1px}.nicsphere-scope .border-\[\#0C34E9\]{--tw-border-opacity:1;border-color:rgb(12 52 233/var(--tw-border-opacity,1))}.nicsphere-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.nicsphere-scope .bg-\[\#0C34E9\]{--tw-bg-opacity:1;background-color:rgb(12 52 233/var(--tw-bg-opacity,1))}.nicsphere-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.nicsphere-scope .bg-\[radial-gradient\(circle_at_center\2c \#1586F5_0\%\2c \#0C34E9_55\%\2c \#04006D_100\%\)\]{background-image:radial-gradient(circle at center,#1586f5 0,#0c34e9 55%,#04006d 100%)}.nicsphere-scope .fill-white{fill:#fff}.nicsphere-scope .p-1{padding:.25rem}.nicsphere-scope .px-4{padding-left:1rem;padding-right:1rem}.nicsphere-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.nicsphere-scope .pb-1{padding-bottom:.25rem}.nicsphere-scope .pb-16{padding-bottom:4rem}.nicsphere-scope .pb-4{padding-bottom:1rem}.nicsphere-scope .pb-\[8px\]{padding-bottom:8px}.nicsphere-scope .pr-\[18px\]{padding-right:18px}.nicsphere-scope .pt-10{padding-top:2.5rem}.nicsphere-scope .pt-6{padding-top:1.5rem}.nicsphere-scope .pt-\[10px\]{padding-top:10px}.nicsphere-scope .text-left{text-align:left}.nicsphere-scope .font-sans{font-family:Barlow,Roboto,Arial,sans-serif}.nicsphere-scope .text-4xl{font-size:2.25rem;line-height:2.5rem}.nicsphere-scope .text-\[12px\]{font-size:12px}.nicsphere-scope .text-\[13px\]{font-size:13px}.nicsphere-scope .text-\[15px\]{font-size:15px}.nicsphere-scope .text-\[18px\]{font-size:18px}.nicsphere-scope .font-medium{font-weight:500}.nicsphere-scope .font-normal{font-weight:400}.nicsphere-scope .uppercase{text-transform:uppercase}.nicsphere-scope .leading-\[20px\]{line-height:20px}.nicsphere-scope .leading-\[22px\]{line-height:22px}.nicsphere-scope .leading-none{line-height:1}.nicsphere-scope .tracking-\[0\.04em\]{letter-spacing:.04em}.nicsphere-scope .tracking-\[0\.08em\]{letter-spacing:.08em}.nicsphere-scope .tracking-wide{letter-spacing:.025em}.nicsphere-scope .text-\[\#0C34E9\]{--tw-text-opacity:1;color:rgb(12 52 233/var(--tw-text-opacity,1))}.nicsphere-scope .text-\[\#111111\]{--tw-text-opacity:1;color:rgb(17 17 17/var(--tw-text-opacity,1))}.nicsphere-scope .text-\[\#737474\]{--tw-text-opacity:1;color:rgb(115 116 116/var(--tw-text-opacity,1))}.nicsphere-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.nicsphere-scope .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.nicsphere-scope .opacity-0{opacity:0}.nicsphere-scope .opacity-100{opacity:1}.nicsphere-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.nicsphere-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.nicsphere-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.nicsphere-scope .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.nicsphere-scope .duration-300{transition-duration:.3s}.nicsphere-scope .duration-500{transition-duration:.5s}.nicsphere-scope .ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.nicsphere-scope .hover\:border-transparent:hover{border-color:transparent}.nicsphere-scope .hover\:bg-\[\#0B2ED1\]:hover{--tw-bg-opacity:1;background-color:rgb(11 46 209/var(--tw-bg-opacity,1))}.nicsphere-scope .hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.nicsphere-scope .hover\:bg-\[radial-gradient\(circle_at_center\2c \#1586F5_0\%\2c \#0C34E9_55\%\2c \#04006D_100\%\)\]:hover{background-image:radial-gradient(circle at center,#1586f5 0,#0c34e9 55%,#04006d 100%)}.nicsphere-scope .hover\:text-\[\#0C34E9\]:hover{--tw-text-opacity:1;color:rgb(12 52 233/var(--tw-text-opacity,1))}.nicsphere-scope .hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.nicsphere-scope .hover\:opacity-80:hover{opacity:.8}.nicsphere-scope :is(.group:hover .group-hover\:-translate-y-full){--tw-translate-y:-100%;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))}.nicsphere-scope :is(.group:hover .group-hover\:translate-x-0){--tw-translate-x:0px;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))}.nicsphere-scope :is(.group:hover .group-hover\:translate-x-full){--tw-translate-x:100%;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))}.nicsphere-scope :is(.group:hover .group-hover\:translate-y-0){--tw-translate-y:0px;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))}.nicsphere-scope :is(.group:hover .group-hover\:bg-white){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.nicsphere-scope :is(.group:hover .group-hover\:bg-none){background-image:none}.nicsphere-scope :is(.group:hover .group-hover\:fill-\[\#0C34E9\]){fill:#0c34e9}.nicsphere-scope :is(.group:hover .group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.nicsphere-scope :is(.group:hover .group-hover\:opacity-0){opacity:0}.nicsphere-scope :is(.group:hover .group-hover\:opacity-100){opacity:1}@media (min-width:768px){.nicsphere-scope .md\:col-span-2{grid-column:span 2/span 2}.nicsphere-scope .md\:mx-\[72px\]{margin-left:72px;margin-right:72px}.nicsphere-scope .md\:w-\[105px\]{width:105px}.nicsphere-scope .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.nicsphere-scope .md\:px-12{padding-left:3rem;padding-right:3rem}.nicsphere-scope .md\:px-16{padding-left:4rem;padding-right:4rem}.nicsphere-scope .md\:px-\[72px\]{padding-left:72px;padding-right:72px}.nicsphere-scope .md\:pb-5{padding-bottom:1.25rem}.nicsphere-scope .md\:pt-12{padding-top:3rem}}@media (min-width:1024px){.nicsphere-scope .lg\:col-span-1{grid-column:span 1/span 1}.nicsphere-scope .lg\:mt-0{margin-top:0}.nicsphere-scope .lg\:block{display:block}.nicsphere-scope .lg\:hidden{display:none}.nicsphere-scope .lg\:grid-cols-\[1\.6fr_1fr_1fr_1fr\]{grid-template-columns:1.6fr 1fr 1fr 1fr}.nicsphere-scope .lg\:flex-col{flex-direction:column}.nicsphere-scope .lg\:items-start{align-items:flex-start}.nicsphere-scope .lg\:gap-20{gap:5rem}.nicsphere-scope .lg\:gap-3{gap:.75rem}.nicsphere-scope .lg\:gap-5{gap:1.25rem}.nicsphere-scope .lg\:px-18{padding-left:4.5rem;padding-right:4.5rem}.nicsphere-scope .lg\:px-\[220px\]{padding-left:220px;padding-right:220px}.nicsphere-scope .lg\:pb-6{padding-bottom:1.5rem}.nicsphere-scope .lg\:pt-10{padding-top:2.5rem}.nicsphere-scope .lg\:pt-12{padding-top:3rem}}@media (min-width:1360px){.nicsphere-scope .min-\[1360px\]\:right-\[420px\]{right:420px}.nicsphere-scope .min-\[1360px\]\:block{display:block}.nicsphere-scope .min-\[1360px\]\:flex{display:flex}.nicsphere-scope .min-\[1360px\]\:hidden{display:none}.nicsphere-scope .min-\[1360px\]\:py-\[20px\]{padding-top:20px;padding-bottom:20px}}
/* =========================================================================
   Nicsphere shell components.

   Appended to the compiled Tailwind shell stylesheet. Everything here is
   plain CSS rather than utilities, because it must be correct on the very
   first paint (a drawer that flashes open, or a page that stays invisible
   because the reveal script has not run yet, are both very visible bugs).

   Scoped under .nicsphere-scope so none of it reaches Elementor's own UI.
   ====================================================================== */

/* -------------------------------------------------------------------------
   Scroll reveal.

   Every section carries [data-reveal] and starts transparent;
   nicsphere-reveal.js adds .revealed as elements scroll into view.
   ---------------------------------------------------------------------- */

/*
 * Two spellings, one behaviour. [data-reveal] is what the source markup uses
 * and what the HTML widgets still carry. .nic-reveal is the Elementor
 * equivalent: free Elementor has no custom-attribute field, but every widget
 * and container has a CSS Classes field, so natively-built sections opt in
 * with a class instead.
 */
.nicsphere-scope [data-reveal],
.nicsphere-scope .nic-reveal {
	opacity: 0;
	transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: opacity, transform;
}

.nicsphere-scope [data-reveal="up"],
.nicsphere-scope .nic-reveal--up { transform: translateY(40px); }

.nicsphere-scope [data-reveal="left"],
.nicsphere-scope .nic-reveal--left { transform: translateX(-48px); }

.nicsphere-scope [data-reveal="right"],
.nicsphere-scope .nic-reveal--right { transform: translateX(48px); }

.nicsphere-scope [data-reveal="scale"],
.nicsphere-scope .nic-reveal--scale { transform: scale(0.92); }

.nicsphere-scope [data-reveal="fade"],
.nicsphere-scope .nic-reveal--fade { transform: none; }

.nicsphere-scope [data-reveal].revealed,
.nicsphere-scope .nic-reveal.revealed {
	opacity: 1;
	transform: none;
}

/* Stagger, for sequences like the three hero headline lines. */
.nicsphere-scope .nic-delay-1 { transition-delay: 0.1s; }
.nicsphere-scope .nic-delay-2 { transition-delay: 0.2s; }
.nicsphere-scope .nic-delay-3 { transition-delay: 0.3s; }

/* Failsafe: with JS unavailable the observer never runs, so reveal
   everything immediately rather than serving a blank page. */
.no-js .nicsphere-scope [data-reveal],
.no-js .nicsphere-scope .nic-reveal {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.nicsphere-scope [data-reveal],
	.nicsphere-scope .nic-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/*
 * Inside the Elementor editor the canvas is not scrolled the way a visitor
 * scrolls it, and a section that never intersects would stay invisible and
 * therefore un-editable. Show everything while editing.
 */
.nicsphere-scope.elementor-editor-active [data-reveal],
.nicsphere-scope.elementor-editor-active .nic-reveal {
	opacity: 1;
	transform: none;
}

/* -------------------------------------------------------------------------
   Icons and the contact form.
   ---------------------------------------------------------------------- */
.nicsphere-scope .icon-link svg { display: inline-block; }
.nicsphere-scope select.form-select { background-image: none; }
.nicsphere-scope #contact-form-status { transition: opacity 0.3s ease; }

/* -------------------------------------------------------------------------
   Mobile navigation drawer.

   In the source HTML the hamburger (shown below 1360px) had no panel behind
   it and did nothing; this is the drawer it opens.
   ---------------------------------------------------------------------- */
.nicsphere-scope .nicsphere-mobile-nav {
	position: fixed;
	inset: 0;
	z-index: 100;
	visibility: hidden;
	pointer-events: none;
}

.nicsphere-scope .nicsphere-mobile-nav.is-open {
	visibility: visible;
	pointer-events: auto;
}

.nicsphere-scope .nicsphere-mobile-nav__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 8, 33, 0.55);
	opacity: 0;
	transition: opacity 0.35s ease;
}

.nicsphere-scope .nicsphere-mobile-nav.is-open .nicsphere-mobile-nav__backdrop {
	opacity: 1;
}

.nicsphere-scope .nicsphere-mobile-nav__panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(86vw, 360px);
	background: #ffffff;
	box-shadow: -12px 0 40px rgba(0, 8, 33, 0.18);
	display: flex;
	flex-direction: column;
	transform: translateX(100%);
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.nicsphere-scope .nicsphere-mobile-nav.is-open .nicsphere-mobile-nav__panel {
	transform: translateX(0);
}

.nicsphere-scope .nicsphere-mobile-nav__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 20px 14px;
	border-bottom: 1px solid rgba(12, 52, 233, 0.18);
}

.nicsphere-scope .nicsphere-mobile-nav__close {
	width: 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #0C34E9;
	border-radius: 9999px;
	color: #0C34E9;
	background: transparent;
	cursor: pointer;
	line-height: 1;
	font-size: 20px;
	transition: background 0.25s ease, color 0.25s ease;
}

.nicsphere-scope .nicsphere-mobile-nav__close:hover {
	background: #0C34E9;
	color: #ffffff;
}

.nicsphere-scope .nicsphere-mobile-nav__links {
	list-style: none;
	margin: 0;
	padding: 10px 0;
	flex: 1;
}

.nicsphere-scope .nicsphere-mobile-nav__links a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 15px 22px;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-decoration: none;
	color: #737474;
	transition: color 0.25s ease, background 0.25s ease;
}

.nicsphere-scope .nicsphere-mobile-nav__links a:hover,
.nicsphere-scope .nicsphere-mobile-nav__links a:focus-visible {
	color: #0C34E9;
	background: rgba(12, 52, 233, 0.05);
}

.nicsphere-scope .nicsphere-mobile-nav__links .nicsphere-dot {
	width: 5px;
	height: 5px;
	border-radius: 9999px;
	background: #0C34E9;
	opacity: 0;
	flex-shrink: 0;
	transition: opacity 0.25s ease;
}

.nicsphere-scope .nicsphere-mobile-nav__links a:hover .nicsphere-dot,
.nicsphere-scope .nicsphere-mobile-nav__links a:focus-visible .nicsphere-dot,
.nicsphere-scope .nicsphere-mobile-nav__links a.is-active .nicsphere-dot {
	opacity: 1;
}

.nicsphere-scope .nicsphere-mobile-nav__links a.is-active {
	color: #0C34E9;
}

.nicsphere-scope .nicsphere-mobile-nav__actions {
	padding: 18px 22px 26px;
	border-top: 1px solid rgba(12, 52, 233, 0.18);
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.nicsphere-scope .nicsphere-mobile-nav__action {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: #0C34E9;
	text-decoration: none;
	letter-spacing: 0.04em;
}

.nicsphere-scope .nicsphere-mobile-nav__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	padding: 12px 18px;
	border-radius: 9999px;
	background: radial-gradient(circle at center, #1586F5 0%, #0C34E9 55%, #04006D 100%);
	color: #ffffff;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-decoration: none;
}

/* Scroll lock while the drawer is open. <body> is the scope root itself,
   hence the compound selector rather than a descendant one. */
.nicsphere-scope.nicsphere-nav-open {
	overflow: hidden;
}

/* The drawer is a sub-1360px affordance only. */
@media (min-width: 1360px) {
	.nicsphere-scope .nicsphere-mobile-nav {
		display: none;
	}
}
