:root{--ny-blue:#4f7cff;--ny-purple:#9b5cff;--ny-cyan:#22d3ee;--ny-bg:#05060c;--ny-text:#eef1fb;--ny-soft:#aab2cf;--ny-mute:#6c7593;--ny-border:rgba(255,255,255,.09);--ny-borderh:rgba(155,92,255,.45);--ny-card:rgba(255,255,255,.045);--ny-grad:linear-gradient(120deg,#4f7cff 0%,#9b5cff 55%,#22d3ee 120%);--ny-gradtext:linear-gradient(100deg,#8fb0ff,#c79bff 45%,#7ff0ff);--ny-gradsoft:linear-gradient(120deg,rgba(79,124,255,.16),rgba(155,92,255,.16) 55%,rgba(34,211,238,.16));--ny-orb:.5;}
html.ny-light{--ny-bg:#eef1f9;--ny-text:#10142c;--ny-soft:#3f496b;--ny-mute:#7b84a3;--ny-border:rgba(20,26,60,.1);--ny-card:rgba(255,255,255,.72);--ny-gradtext:linear-gradient(100deg,#3d63e0,#7c3aed 45%,#0ea5b7);--ny-orb:.22;}

html{background:var(--ny-bg);transition:background .5s ease;}
body.ny-site{background:transparent!important;color:var(--ny-text);font-family:'Plus Jakarta Sans','Inter',sans-serif;overflow-x:hidden;}
body.ny-site h1,body.ny-site h2,body.ny-site h3,body.ny-site h4{font-family:'Space Grotesk','Plus Jakarta Sans',sans-serif;letter-spacing:-.02em;line-height:1.1;}
body.ny-site .elementor-heading-title{font-family:'Space Grotesk','Plus Jakarta Sans',sans-serif;letter-spacing:-.02em;}

/* Theme-driven text colors — auto switch via CSS variables (dark <-> light) */
body.ny-site .elementor-heading-title{color:var(--ny-text)!important;}
body.ny-site .elementor-widget-text-editor,body.ny-site .elementor-widget-text-editor p,body.ny-site .elementor-widget-text-editor li{color:var(--ny-soft)!important;}
body.ny-site .elementor-icon-list-text{color:var(--ny-soft)!important;}
body.ny-site .elementor-icon-box-title,body.ny-site .elementor-icon-box-title a{color:var(--ny-text)!important;}
body.ny-site .elementor-icon-box-description{color:var(--ny-soft)!important;}
body.ny-site .elementor-counter-title{color:var(--ny-soft)!important;}
body.ny-site .elementor-counter-number-wrapper{color:var(--ny-text);}
body.ny-site strong,body.ny-site b{color:var(--ny-text)!important;}
/* preserve gradient + special text */
body.ny-site .ny-grad .elementor-heading-title,body.ny-site .ny-num .elementor-heading-title,body.ny-site .ny-stat .elementor-counter-number-wrapper{-webkit-text-fill-color:transparent!important;}
body.ny-site .ny-eyebrow .elementor-heading-title{color:var(--ny-soft)!important;}
body.ny-site .ny-tag .elementor-heading-title{color:#fff!important;}

/* Ambient background (matches HTML design) */
.ny-bgfx{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;}
.ny-bgfx .ny-orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:var(--ny-orb);transition:opacity .5s ease;}
.ny-bgfx .a{width:520px;height:520px;background:radial-gradient(circle,#4f7cff,transparent 70%);top:-120px;left:-80px;animation:nyf1 18s ease-in-out infinite;}
.ny-bgfx .b{width:460px;height:460px;background:radial-gradient(circle,#9b5cff,transparent 70%);top:26%;right:-120px;animation:nyf2 22s ease-in-out infinite;}
.ny-bgfx .c{width:420px;height:420px;background:radial-gradient(circle,#22d3ee,transparent 70%);bottom:-140px;left:32%;animation:nyf3 26s ease-in-out infinite;}
.ny-bgfx .ny-grid{position:absolute;inset:0;background-image:linear-gradient(var(--ny-border) 1px,transparent 1px),linear-gradient(90deg,var(--ny-border) 1px,transparent 1px);background-size:60px 60px;opacity:.5;-webkit-mask-image:radial-gradient(circle at 50% 10%,#000,transparent 70%);mask-image:radial-gradient(circle at 50% 10%,#000,transparent 70%);}
@keyframes nyf1{50%{transform:translate(60px,40px) scale(1.1);}}
@keyframes nyf2{50%{transform:translate(-50px,30px) scale(1.15);}}
@keyframes nyf3{50%{transform:translate(40px,-50px) scale(1.05);}}
@media(prefers-reduced-motion:reduce){.ny-bgfx .ny-orb{animation:none;}}

/* Astra wrappers transparent so the ambient/dark base shows through */
.ny-site #page,.ny-site #content,.ny-site .site-content,.ny-site .ast-container,.ny-site .site-primary,.ny-site .entry-content,.ny-site .ast-article-single,.ny-site #primary,.ny-site .site{background:transparent!important;}
.ny-site #content{padding:0!important;}

/* Make Elementor page sections transparent so ambient shows (exclude header 53 / footer 54) */
body.ny-site .elementor:not(.elementor-53):not(.elementor-54) > .e-con.e-parent{background-color:transparent!important;background-image:none!important;}

/* Gradient / eyebrow / helpers */
.ny-grad .elementor-heading-title{background:var(--ny-gradtext);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.ny-eyebrow .elementor-heading-title{display:inline-block;font-family:'Inter',sans-serif!important;font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ny-soft)!important;padding:8px 16px;border:1px solid var(--ny-border);border-radius:100px;background:rgba(127,140,180,.06);}

/* Cards */
.ny-card{background:var(--ny-card);border:1px solid var(--ny-border);border-radius:22px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .4s cubic-bezier(.22,1,.36,1),border-color .4s,box-shadow .4s;overflow:hidden;height:100%;}
.ny-card:hover{border-color:var(--ny-borderh);transform:translateY(-6px);box-shadow:0 30px 80px -30px rgba(0,0,0,.55);}
.ny-card-soft{background:var(--ny-gradsoft)!important;border:1px solid var(--ny-border);border-radius:26px;}

/* Buttons (native Elementor) */
.ny-btn .elementor-button{background-image:var(--ny-grad)!important;background-color:transparent!important;color:#fff!important;border-radius:100px!important;font-family:'Inter',sans-serif!important;font-weight:600!important;padding:15px 30px!important;box-shadow:0 12px 40px -12px rgba(79,124,255,.4);transition:transform .3s,box-shadow .3s;}
.ny-btn .elementor-button:hover{transform:translateY(-2px);box-shadow:0 18px 55px -12px rgba(79,124,255,.5);}
.ny-btn-ghost .elementor-button{background:rgba(127,140,180,.08)!important;color:var(--ny-text)!important;border:1px solid var(--ny-border)!important;border-radius:100px!important;font-family:'Inter',sans-serif!important;font-weight:600!important;padding:14px 29px!important;}
.ny-btn-ghost .elementor-button:hover{border-color:var(--ny-borderh)!important;}

/* Icon box */
.ny-ib .elementor-icon-box-icon{width:52px;height:52px;border-radius:14px;background:var(--ny-gradsoft);display:flex;align-items:center;justify-content:center;margin-bottom:8px;}
.ny-ib .elementor-icon{color:var(--ny-blue);font-size:22px;}
.ny-ib .elementor-icon-box-title,.ny-ib .elementor-icon-box-title a{font-family:'Space Grotesk',sans-serif;color:var(--ny-text)!important;}
.ny-ib .elementor-icon-box-description{color:var(--ny-soft)!important;}

/* Chips */
.ny-chips .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:10px;}
.ny-chips .elementor-icon-list-item{border:1px solid var(--ny-border);background:rgba(127,140,180,.06);border-radius:12px;padding:9px 16px!important;font-family:'Inter',sans-serif;font-size:.86rem;transition:.3s;}
.ny-chips .elementor-icon-list-item:hover{border-color:var(--ny-borderh);}
.ny-chips .elementor-icon-list-text{color:var(--ny-soft)!important;}
.ny-chips .elementor-icon-list-icon{display:none!important;}

/* Duties list */
.ny-duties .elementor-icon-list-item{align-items:flex-start!important;margin-bottom:4px;}
.ny-duties .elementor-icon-list-text{color:var(--ny-soft)!important;}
.ny-duties .elementor-icon-list-icon svg,.ny-duties .elementor-icon-list-icon i{color:var(--ny-purple);}

/* Stat / number */
.ny-stat .elementor-counter-number-wrapper,.ny-num .elementor-heading-title{font-family:'Space Grotesk',sans-serif;font-weight:700;background:var(--ny-gradtext);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.ny-stat .elementor-counter-title{color:var(--ny-soft)!important;font-family:'Inter';font-size:.9rem;margin-top:6px;}
.ny-tag .elementor-heading-title{display:inline-block;font-family:'Inter',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:linear-gradient(120deg,rgba(79,124,255,.9),rgba(155,92,255,.9));padding:6px 12px;border-radius:100px;}
.ny-portrait img{border-radius:26px;border:1px solid var(--ny-border);box-shadow:0 30px 80px -30px rgba(0,0,0,.6);}

/* ===== XPRO Header ===== */
.ny-site .elementor-53{position:sticky;top:0;z-index:999;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);}
.ny-site .elementor-53 > .e-con.e-parent{background:rgba(5,6,12,.8)!important;border-bottom:1px solid var(--ny-border)!important;}
html.ny-light .ny-site .elementor-53 > .e-con.e-parent{background:rgba(240,243,250,.86)!important;}
.ny-header,.ny-site .elementor-53{position:sticky;top:0;z-index:999;}
.ny-site .elementor-53 .e-con-inner{align-items:center;}
.ny-brand .xpro-heading-title{margin:0!important;line-height:1!important;font-family:'Space Grotesk',sans-serif!important;font-weight:700!important;font-size:1.25rem!important;color:var(--ny-text)!important;}
.ny-brand a,.ny-brand .xpro-heading-title a{color:var(--ny-text)!important;}
.ny-nav .xpro-elementor-horizontal-navbar-nav{display:flex!important;align-items:center;gap:2px;margin:0!important;padding:0!important;flex-wrap:nowrap;}
.ny-nav .xpro-elementor-nav-link,.ny-nav a.menu-link{color:var(--ny-soft)!important;font-family:'Inter',sans-serif!important;font-weight:500!important;font-size:.92rem!important;padding:8px 12px!important;white-space:nowrap;border-radius:100px;transition:.25s;}
.ny-nav .xpro-elementor-nav-link:hover,.ny-nav .current-menu-item>a{color:var(--ny-text)!important;}
.ny-xbtn{display:flex;align-items:center;}
.ny-xbtn .xpro-elementor-button{background-image:linear-gradient(120deg,#4f7cff,#9b5cff 55%,#22d3ee)!important;background-color:transparent!important;color:#fff!important;border:none!important;border-radius:100px!important;padding:11px 22px!important;font-weight:600!important;font-family:'Inter',sans-serif!important;box-shadow:0 10px 30px -12px rgba(79,124,255,.5);}
.ny-xbtn .xpro-button-text{color:#fff!important;}

/* Theme toggle */
.ny-theme-toggle{width:40px;height:40px;border-radius:11px;border:1px solid var(--ny-border);background:rgba(127,140,180,.08);display:grid;place-items:center;cursor:pointer;color:var(--ny-soft);transition:.25s;flex:0 0 auto;margin-left:4px;}
.ny-theme-toggle:hover{color:var(--ny-text);border-color:var(--ny-borderh);transform:rotate(-15deg);}
.ny-theme-toggle svg{width:18px;height:18px;}
.ny-theme-toggle .ny-moon{display:none;}
html.ny-light .ny-theme-toggle .ny-sun{display:none;}
html.ny-light .ny-theme-toggle .ny-moon{display:block;}

/* ===== XPRO Footer ===== */
.ny-site .elementor-54 > .e-con.e-parent{background:rgba(6,8,16,.5)!important;border-top:1px solid var(--ny-border)!important;}
html.ny-light .ny-site .elementor-54 > .e-con.e-parent{background:rgba(255,255,255,.55)!important;}
.ny-brand{margin:0;}
.ny-ftag .xpro-heading-title{color:var(--ny-soft)!important;font-family:'Plus Jakarta Sans',sans-serif!important;font-size:.95rem!important;font-weight:400!important;max-width:380px;line-height:1.6;}
.ny-fnav .xpro-elementor-horizontal-navbar-wrapper,.ny-fnav .xpro-elementor-horizontal-navbar{width:100%!important;}
.ny-fnav .xpro-elementor-horizontal-navbar-nav{display:flex!important;flex-direction:column!important;align-items:flex-start!important;flex-wrap:nowrap!important;gap:10px!important;margin:0!important;padding:0!important;width:100%!important;}
.ny-fnav .xpro-elementor-horizontal-navbar-nav li{width:100%!important;display:block!important;}
.ny-fnav .xpro-elementor-nav-link,.ny-fnav a.menu-link{color:var(--ny-soft)!important;font-family:'Inter',sans-serif!important;font-size:.94rem!important;padding:2px 0!important;display:inline-block!important;}
.ny-fnav .xpro-elementor-nav-link:hover{color:var(--ny-text)!important;}
.ny-copy .xpro-heading-title{color:var(--ny-mute)!important;font-family:'Inter',sans-serif!important;font-size:.85rem!important;font-weight:400!important;border-top:1px solid var(--ny-border);padding-top:22px;width:100%;}

/* Hide Astra leftover branding */
.ny-site .ast-site-identity,.ny-site .site-branding,.ny-site .site-header .site-title,.ny-site .ast-site-title-wrap{display:none!important;}

/* ===== Light-mode content overrides ===== */
html.ny-light body.ny-site .elementor-heading-title{color:#10142c;}
html.ny-light body.ny-site .elementor-widget-text-editor,html.ny-light body.ny-site .elementor-widget-text-editor p{color:#3f496b!important;}
html.ny-light body.ny-site .elementor-icon-list-text{color:#3f496b!important;}
html.ny-light .ny-ib .elementor-icon-box-title{color:#10142c!important;}
html.ny-light .ny-ib .elementor-icon-box-description{color:#3f496b!important;}
html.ny-light .ny-eyebrow .elementor-heading-title{color:#3f496b!important;background:rgba(10,14,40,.04)!important;border-color:rgba(20,26,60,.12)!important;}
html.ny-light .ny-card{background:rgba(255,255,255,.72)!important;border-color:rgba(20,26,60,.1)!important;box-shadow:0 20px 50px -30px rgba(30,40,90,.25);}
html.ny-light .ny-chips .elementor-icon-list-item{color:#3f496b!important;background:rgba(10,14,40,.03)!important;border-color:rgba(20,26,60,.12)!important;}
html.ny-light .ny-brand .xpro-heading-title,html.ny-light .ny-brand a{color:#10142c!important;}
html.ny-light .ny-nav .xpro-elementor-nav-link{color:#3f496b!important;}
html.ny-light .ny-nav .xpro-elementor-nav-link:hover{color:#10142c!important;}
html.ny-light .ny-theme-toggle{color:#3f496b;background:rgba(10,14,40,.04);border-color:rgba(20,26,60,.1);}
html.ny-light .ny-fnav .xpro-elementor-nav-link,html.ny-light .ny-ftag .xpro-heading-title,html.ny-light .ny-copy .xpro-heading-title{color:#3f496b!important;}

/* Responsive */
@media(max-width:1024px){.ny-portrait{margin-top:24px;}}
