/* =========================================================
   VPSMakers global design system
   Load this file once, before header/footer/page CSS files.
   ========================================================= */


/* =========================================================
   FONTS
   ========================================================= */

@font-face {
    font-family: "Roboto";
    src: url("../Fonts/Roboto-Regular.ttf") format("truetype");
    font-display: swap;
}


/* =========================================================
   ROOT VARIABLES
   ========================================================= */

:root {
    /* Core backgrounds and surfaces */
    --color-night-background: #080B1D;
    --color-dark-surface: #080A1F;
    --color-card-surface: #0B0E29;
    --color-code-surface: #07091F;

    /* Brand and state colors */
    --color-primary-blue: #3B44FF;
    --color-light-blue: #5F6DFF;
    --color-link: #6972FF;
    --color-success: #3CE0A0;

    /* Text colors */
    --text-primary: #FFFFFF;
    --text-secondary: #BBBBBB;
    --text-strong: rgba(255, 255, 255, 0.88);
    --text-muted: rgba(255, 255, 255, 0.72);
    --text-muted-alt: rgba(255, 255, 255, 0.68);
    --text-subtle: rgba(255, 255, 255, 0.62);
    --text-soft: rgba(255, 255, 255, 0.56);
    --text-faint: rgba(255, 255, 255, 0.48);
    --text-disabled: rgba(255, 255, 255, 0.38);
    --text-link: var(--color-link);
    --text-success: var(--color-success);

    /* Borders */
    --border-subtle: rgba(255, 255, 255, 0.10);
    --border-accent: rgba(95, 109, 255, 0.45);

    /* Font stacks */
    --font-inter: "Inter", Arial, sans-serif;
    --font-roboto: "Roboto", Arial, sans-serif;
    --font-space-grotesk: "Space Grotesk", "Inter", Arial, sans-serif;
    --font-code: "JetBrains Mono", "Cascadia Code", Consolas, monospace;

    /* Backward-compatible names */
    --Night-Background: var(--color-night-background);
    --Dark-Surface: var(--color-dark-surface);
    --Card-Surface: var(--color-card-surface);
    --Primary-Blue: var(--color-primary-blue);
    --Light-Blue: var(--color-light-blue);
    --Primary-Text: var(--text-primary);
    --Secondary-Text: var(--text-secondary);
    --Subtle-Border: var(--border-subtle);
    --Success: var(--color-success);

    --font-display: var(--font-roboto);
    --font-body: var(--font-roboto);
    --font-mono: var(--font-roboto);
	--cool-blue-color: #48b9ef;
}


/* =========================================================
   GLOBAL RESET
   ========================================================= */
.mobile-location-section{
	display:none !important;
}
*,
*::before,
*::after {
    box-sizing: border-box !important;
}

.elementor-button {
    all: unset !important;
    box-sizing: border-box !important;
}

html {
    width: 100%;
    max-width: 100%;
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    width: 100%;
    max-width: 100%;
    margin: 0;

    background: var(--Night-Background);
    color: var(--Primary-Text);

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.55;

    -webkit-font-smoothing: antialiased;

    overflow-x: hidden;
}

a {
    color: inherit;
    text-decoration: none;
}

img,
svg {
    display: block;
}

::selection {
    background: var(--Primary-Blue);
    color: var(--Primary-Text);
}


/* =========================================================
   FOCUS
   ========================================================= */

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible {
    outline: 2px solid var(--Light-Blue);
    outline-offset: 3px;
    border-radius: 6px;
}


/* =========================================================
   SITE-WIDE LAYOUT
   ========================================================= */

.site-container {
    width: calc(100% - 64px) !important;
    max-width: 1270px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}

.site-section {
    width: 100% !important;

    padding-top: 96px !important;
    padding-bottom: 96px !important;
}

.section-dark {
    background: var(--Night-Background) !important;
    color: var(--Primary-Text) !important;
}

.section-surface {
    background: var(--Dark-Surface) !important;
    color: var(--Primary-Text) !important;
}


/* =========================================================
   RESPONSIVE SITE-WIDE LAYOUT
   ========================================================= */

@media (max-width: 1024px) {

    .site-container {
        width: calc(100% - 48px) !important;
    }

    .site-section {
        padding-top: 72px !important;
        padding-bottom: 72px !important;
    }
}

@media (max-width: 767px) {

    .site-container {
        width: calc(100% - 32px) !important;
    }

    .site-section {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }
	.elementor .e-flexbox-base{
	flex-direction: column !important;
	}
	.mobile-location-section{
	display: grid !important;
	}
}


/* =========================================================
   BUTTON SYSTEM
   Plain .btn / .btn-primary / .btn-ghost only.
   (Elementor-specific selectors removed — add them back only
   if/when the site actually uses the Elementor Button widget.)
   ========================================================= */


/* ---------- Base Button ---------- */

.btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    vertical-align: middle !important;

    min-width: 129px !important;
    min-height: 44px !important;

    padding: 11px 20px !important;

    border: 1px solid transparent !important;
    border-radius: 8px !important;

    font-family: var(--font-inter) !important;
    font-size: 14.5px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;

    text-decoration: none !important;
    white-space: nowrap !important;

    cursor: pointer !important;

    position: relative !important;
    overflow: hidden !important;

    box-sizing: border-box !important;

    transition:
        background-color 0.2s ease !important,
        border-color 0.2s ease !important,
        color 0.2s ease !important,
        transform 0.2s ease !important,
        box-shadow 0.2s ease !important;
}


/* =========================================================
   PRIMARY BUTTON
   ========================================================= */

.btn-primary {

    background: var(--Primary-Blue) !important;
    background-image: none !important;

    color: var(--Primary-Text) !important;

    border: 1px solid var(--Primary-Blue) !important;

    box-shadow:
        0 10px 24px -14px rgba(59, 68, 255, 0.8) !important;
}


/* Primary button children */

.btn-primary * {
    color: var(--Primary-Text) !important;
}


/* Primary hover */

.btn-primary:hover {

    background: var(--Light-Blue) !important;
    background-image: none !important;

    color: #FFFFFF !important;

    border-color: var(--Light-Blue) !important;

    transform: translateY(-2px) !important;

    box-shadow:
        0 12px 28px -12px rgba(59, 68, 255, 0.85) !important;
}


/* =========================================================
   GHOST BUTTON
   ========================================================= */

.btn-ghost {

    background: rgba(255, 255, 255, 0.04) !important;
    background-image: none !important;

    color: var(--Primary-Text) !important;

    border: 1px solid var(--Subtle-Border) !important;

    box-shadow: none !important;
}


/* Ghost button children */

.btn-ghost * {
    color: var(--Primary-Text) !important;
}


/* Ghost hover */

.btn-ghost:hover {

    background: rgba(59, 68, 255, 0.14) !important;
    background-image: none !important;

    color: var(--Primary-Text) !important;

    border-color: var(--Light-Blue) !important;

    transform: translateY(-2px) !important;

    box-shadow: none !important;
}


/* =========================================================
   BUTTON SHINE EFFECT
   ========================================================= */

.btn::before {

    content: "" !important;

    position: absolute !important;

    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    background: linear-gradient(
        120deg,
        transparent 0%,
        rgba(255, 255, 255, 0.22) 50%,
        transparent 100%
    ) !important;

    transform: translateX(-120%) !important;

    pointer-events: none !important;

    transition:
        transform 0.5s var(--ease) !important;
}

.btn:hover::before {

    transform: translateX(120%) !important;
}


/* =========================================================
   BUTTON ICONS
   ========================================================= */

.btn svg {

    width: 16px !important;
    height: 16px !important;

    flex: 0 0 auto !important;

    display: block !important;
}


/* =========================================================
   DISABLED BUTTON
   ========================================================= */

.btn:disabled {

    opacity: 0.55 !important;

    cursor: not-allowed !important;

    transform: none !important;

    box-shadow: none !important;
}


/* =========================================================
   WRAP
   ========================================================= */

.wrap {
    max-width: 1200px;
	gap:5px;
    margin: 0 auto;

    padding: 0 24px;

    position: relative;

    z-index: 1;
}


/* =========================================================
   ANIMATED SECTION BACKGROUND SYSTEM
   ========================================================= */

.sec {
    position: relative;

    isolation: isolate;

    overflow: hidden;

/*     padding: 30px 0 !important; */
}

.sec-bg {
    position: absolute;

    inset: 0;

    z-index: -1;

    pointer-events: none;
}

.sec-bg canvas {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    display: block;
}

.sec-bg .veil {
    position: absolute;

    inset: 0;

    background: rgba(2, 3, 22, 0.45);

    backdrop-filter: blur(16px);

    -webkit-backdrop-filter: blur(16px);
}

.sec-bg .fade {
    position: absolute;

    inset: 0;

    background: linear-gradient(
        to bottom,
        var(--Night-Background) 0%,
        rgba(2, 3, 22, 0.15) 14%,
        rgba(2, 3, 22, 0.15) 80%,
        var(--Night-Background) 100%
    );
}


/* =========================================================
   SHARED SECTION FURNITURE
   ========================================================= */
.eyebrow {
    position: relative !important;
    width: auto !important;
    max-width: max-content !important;
    display: inline-flex !important;
    align-items: center !important;
	gap:10px;
    justify-content: center !important;
    margin: 0 !important;
    padding: 6px 14px !important;
    background: rgba(59, 68, 255, 0.19) !important;
    border: 1px solid rgba(255, 255, 255, .10) !important;
    border-radius: 999px !important;
}

.eyebrow::before {
    content: "" !important;
    width: 0.5em !important;
    height: 0.5em !important;
    flex: 0 0 0.5em !important;
    margin-right: 0px !important;
    background: var(--Light-Blue) !important;
    border-radius: 50% !important;
    box-shadow: 0 0 0 3px rgba(95, 109, 255, .16), 0 0 14px rgba(95, 109, 255, .45) !important;
    animation: eyebrow-pulse 2.4s ease-in-out infinite !important;
    display: inline-block !important;
}

@keyframes eyebrow-pulse {
    0%,
    100% {
        opacity: 1;
        transform: scale(1);
    }

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

@media (prefers-reduced-motion: reduce) {
    .eyebrow::before {
        animation: none !important;
    }
}

.link{
    padding: 10px !important;
	max-width: 50% !important;
	min-width: 200px !important;
	margin: 10px auto !important;
    border-radius: 16px !important;
    background: linear-gradient(160deg, rgba(13, 16, 44, .6), rgba(8, 10, 31, .5)) !important;
    border: 1px solid rgba(255, 255, 255, .08) !important;
	cursor: pointer;
	transition: all 0.25s;
}
.link > *{
	font-size: 14px !important;
	margin: 0 !important;
}

.link:hover{
	transform: scale(1.02) !important; 
	transform: translateY(-2px) !important; 
	color: var(--Light-Blue);
}

.eyebrow,
.eyebrow .elementor-widget-container,
.eyebrow p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    font-family: var(--font-code) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    letter-spacing: .04em !important;
    color: var(--Secondary-Text) !important;
}
.dot {
    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: var(--Light-Blue);

    box-shadow:
        0 0 0 3px rgba(95, 109, 255, 0.18);

    animation: pulse 2.4s ease-in-out infinite;
}

@keyframes pulse {

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

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

.center {
    text-align: center;
}

.sec-head {
    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 16px;

    margin-bottom: 20px;
}


/* =========================================================
   HEADINGS
   ========================================================= */

h1 {
    font-family: var(--font-display);

    font-size: clamp(30px, 4.2vw, 46px);

    font-weight: 600;

    line-height: 1.12;

    letter-spacing: -0.01em;

    margin: 0;
}

h2 {
    font-family: var(--font-display);

    font-size: clamp(26px, 3.2vw, 38px);

    color: var(--text-primary) !important;

    font-weight: 600;

    line-height: 1.15;

    letter-spacing: -0.01em;

    margin: 0;

    max-width: 24ch;
}

h3 {
    font-family: var(--font-display);

    color: var(--text-primary) !important;

    font-size: 20px;

    font-weight: 600;

    margin: 0;
}

.lede {
    color: var(--text-primary) !important;

    font-size: 15.5px;

    margin: 0;

    max-width: 62ch;
}


/* Global text color */

h1,
h2,
h3,
p,
strong,
b {
    color: var(--text-primary) !important;
}


/* =========================================================
   CARD
   ========================================================= */

.card {
    background: var(--Dark-Surface);

    border: 1px solid var(--Subtle-Border);

    border-radius: 12px;
}


/* =========================================================
   OPERATING SYSTEM ICON
   ========================================================= */

.os-ico {
    width: 42px;
    height: 42px;

    flex: 0 0 42px;

    border-radius: 10px;

    display: grid;

    place-items: center;

    background: rgba(59, 68, 255, 0.16);

    border: 1px solid rgba(95, 109, 255, 0.32);
}

.os-ico svg {
    width: 20px;
    height: 20px;

    stroke: var(--Light-Blue);

    fill: none;

    stroke-width: 1.7;

    stroke-linecap: round;

    stroke-linejoin: round;
}
.os-ico svg > *
{
/* 	fill: none; */
	stroke: var(--Light-Blue);
	stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}


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

@media (max-width: 900px) {

    .sec {
/*         padding: 64px 0; */
    }
}

@media (max-width: 620px) {

    .wrap {
        padding: 0 16px;
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {

        animation-duration: 0.001ms !important;

        animation-iteration-count: 1 !important;

        transition-duration: 0.001ms !important;
    }

    html {
        scroll-behavior: auto;
    }
}


/* =========================================================
   SCROLL REVEAL
   ========================================================= */

.reveal {

    opacity: 0;

    transform: translateY(24px);

    transition:
        opacity 0.7s cubic-bezier(.22, .61, .36, 1),
        transform 0.7s cubic-bezier(.22, .61, .36, 1);

    transition-delay: var(--d, 0ms);

    will-change: opacity, transform;
}

.reveal.in {

    opacity: 1;

    transform: none;
}

@media (prefers-reduced-motion: reduce) {

    .reveal {

        opacity: 1 !important;

        transform: none !important;

        transition: none !important;
    }
}


@media (max-width: 767px) {

	.location-section{
	display:none;
	}
}
/* ==================================================
   HELLO ELEMENTOR BUTTON OVERRIDES
================================================== */

/* Filter and tab buttons */
body .tabs button.period-trigger,
body .tabs button.trigger-buttons,
body .tabs button.tier-trigger.{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 44px !important;
    margin: 0 !important;
    padding: 10px 18px !important;
    gap: 8px !important;

    color: var(--Secondary-Text) !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;

    cursor: pointer;
    appearance: none;

    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    transform: none !important;

    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease !important;
}

.link a:hover{
	transition: all 0.25s;
	color: var(--Light-Blue);
}

/* Filter hover */
body .tabs button.period-trigger:hover,
body .tabs button.trigger-buttons:hover,
body .tabs button.tier-trigger:hover,
[type=button]:hover{
    color: var(--Primary-Text) !important;
    background: rgba(59, 68, 255, 0.14) !important;
    border-color: rgba(95, 109, 255, 0.36) !important;
    box-shadow: none !important;
}

/* Selected filter */
body .tabs button[aria-selected="true"],
body .tabs button[aria-selected="true"]:hover,
body .tabs button[aria-selected="true"]:focus,
[type=button]:focus{
    color: var(--Primary-Text) !important;
    background: var(--Primary-Blue) !important;
    border-color: var(--Primary-Blue) !important;
    box-shadow: none !important;
}

/* Keyboard accessibility */
body .tabs button:focus-visible {
    outline: 3px solid var(--Light-Blue) !important;
    outline-offset: 3px !important;
}
