/* Neel X Digital — main stylesheet. Prefixes: neelx- (theme PHP markup), nx- (Elementor helper classes). */
:root{
  --nx-primary:#A10D12;--nx-primary-hover:#85090D;--nx-dark:#080808;--nx-char:#171717;
  --nx-text:#111;--nx-text-2:#606060;--nx-light:#F5F5F5;--nx-border:#E7E7E7;--nx-white:#fff;
  --nx-radius:16px;--nx-radius-sm:10px;--nx-max:1200px;--nx-pad:clamp(20px,4vw,40px);
  --nx-section:clamp(64px,9vw,120px);--nx-shadow:0 10px 30px rgba(8,8,8,.08);--nx-shadow-lg:0 22px 50px rgba(8,8,8,.14);
  --nx-ease:cubic-bezier(.2,.7,.2,1);--nx-header-h:88px;
  --nx-font:Inter,"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nx-header-h) + 16px)}
body{margin:0;font-family:var(--nx-font);color:var(--nx-text);background:#fff;line-height:1.65;font-size:1rem;overflow-x:clip;-webkit-font-smoothing:antialiased}
img,svg,video{max-width:100%;height:auto}
a{color:var(--nx-primary);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--nx-primary-hover)}
h1,h2,h3,h4{font-family:var(--nx-font);line-height:1.15;letter-spacing:-.02em;margin:0 0 .6em;color:var(--nx-text)}
h1{font-size:clamp(2.2rem,5vw,4rem);font-weight:800}
h2{font-size:clamp(1.8rem,3.4vw,2.7rem);font-weight:800}
h3{font-size:clamp(1.15rem,1.6vw,1.4rem);font-weight:700}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--nx-primary);outline-offset:3px;border-radius:4px}
.neelx-skip{position:absolute;left:-9999px;top:0;background:#fff;padding:12px 18px;z-index:10000}
.neelx-skip:focus{left:12px;top:12px}
.neelx-container{width:100%;max-width:calc(var(--nx-max) + 2*var(--nx-pad));margin-inline:auto;padding-inline:var(--nx-pad)}
.neelx-container--narrow{max-width:calc(820px + 2*var(--nx-pad))}
.neelx-section{padding-block:var(--nx-section)}
.neelx-muted{color:var(--nx-text-2)}
.neelx-eyebrow,.nx-eyebrow .elementor-heading-title{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--nx-primary);margin:0 0 14px}
.neelx-eyebrow a{color:inherit;text-decoration:none}
.neelx-lead{font-size:clamp(1.05rem,1.5vw,1.25rem);color:var(--nx-text-2);max-width:720px}
.neelx-meta{font-size:.9rem;color:var(--nx-text-2)}
.neelx-breadcrumbs{font-size:.85rem;color:var(--nx-text-2);margin-bottom:12px}.neelx-breadcrumbs a{color:inherit}

/* Buttons */
.neelx-btn,.nx-btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 26px;border-radius:999px;font-weight:600;font-size:.98rem;line-height:1.2;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .25s var(--nx-ease),color .25s,transform .25s var(--nx-ease),box-shadow .25s,border-color .25s}
.neelx-btn--primary{background:var(--nx-primary);color:#fff}
.neelx-btn--primary:hover{background:var(--nx-primary-hover);color:#fff;transform:translateY(-2px);box-shadow:0 10px 24px rgba(161,13,18,.3)}
.neelx-btn--outline{background:transparent;color:var(--nx-text);border-color:var(--nx-text)}
.neelx-btn--outline:hover{background:var(--nx-text);color:#fff;transform:translateY(-2px)}
.neelx-btn--light{background:#fff;color:var(--nx-dark)}.neelx-btn--light:hover{background:var(--nx-light);color:var(--nx-dark);transform:translateY(-2px)}
.nx-btn--primary .elementor-button{background:var(--nx-primary);color:#fff}
.nx-btn--primary .elementor-button:hover{background:var(--nx-primary-hover);color:#fff;transform:translateY(-2px);box-shadow:0 10px 24px rgba(161,13,18,.3)}
.nx-btn--outline .elementor-button{background:transparent;color:var(--nx-text);border-color:var(--nx-text)}
.nx-btn--outline .elementor-button:hover{background:var(--nx-text);color:#fff;transform:translateY(-2px)}
.nx-btn--outline-light .elementor-button{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.nx-btn--outline-light .elementor-button:hover{background:#fff;color:var(--nx-dark);transform:translateY(-2px)}
.nx-btn--light .elementor-button{background:#fff;color:var(--nx-dark)}
.nx-btn--light .elementor-button:hover{background:var(--nx-light);transform:translateY(-2px)}

/* Header */
.neelx-header{position:relative;z-index:900;background:rgba(255,255,255,.96);border-bottom:1px solid transparent;transition:background .3s,box-shadow .3s,border-color .3s}
.neelx-sticky-header .neelx-header{position:sticky;top:0}
.admin-bar.neelx-sticky-header .neelx-header{top:32px}
@media(max-width:782px){.admin-bar.neelx-sticky-header .neelx-header{top:46px}}
.neelx-header.is-scrolled{background:rgba(255,255,255,.88);-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);box-shadow:0 6px 24px rgba(8,8,8,.08);border-color:var(--nx-border)}
.neelx-header__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:var(--nx-header-h)}
.neelx-header__brand img,.neelx-header__brand .custom-logo{height:68px;width:auto;display:block}
.neelx-logo-link{display:inline-block;line-height:0}
.neelx-nav{display:flex;align-items:center;gap:24px;margin-left:auto}
.neelx-menu,.neelx-menu ul{list-style:none;margin:0;padding:0}
.neelx-menu{display:flex;align-items:center;gap:6px}
.neelx-menu>li{position:relative}
.neelx-menu a{display:block;padding:10px 14px;color:var(--nx-text);font-weight:600;font-size:.95rem;text-decoration:none;border-radius:8px;transition:color .2s,background .2s}
.neelx-menu a:hover,.neelx-menu .current-menu-item>a,.neelx-menu .current-menu-ancestor>a{color:var(--nx-primary)}
.neelx-menu .menu-item-has-children>a::after{content:"";display:inline-block;width:7px;height:7px;margin-left:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px);transition:transform .25s}
.neelx-menu .sub-menu{position:absolute;left:0;top:100%;min-width:270px;background:#fff;border:1px solid var(--nx-border);border-radius:14px;box-shadow:var(--nx-shadow-lg);padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s,transform .25s var(--nx-ease),visibility .25s;z-index:20}
.neelx-menu li:hover>.sub-menu,.neelx-menu li:focus-within>.sub-menu,.neelx-menu li.is-open>.sub-menu{opacity:1;visibility:visible;transform:none}
.neelx-menu .sub-menu a{padding:10px 12px;font-weight:500}
.neelx-menu .sub-menu a:hover{background:var(--nx-light)}
.neelx-submenu-toggle{display:none}
.neelx-header__actions{display:flex;align-items:center;gap:6px}
.neelx-header__call{display:none;width:44px;height:44px;align-items:center;justify-content:center;border-radius:50%;color:var(--nx-primary);background:var(--nx-light)}
.neelx-burger{display:none;width:46px;height:46px;border:0;background:transparent;border-radius:10px;cursor:pointer;padding:0;position:relative}
.neelx-burger span{position:absolute;left:11px;right:11px;height:2px;background:var(--nx-text);border-radius:2px;transition:transform .3s var(--nx-ease),opacity .2s,top .3s}
.neelx-burger span:nth-child(1){top:16px}.neelx-burger span:nth-child(2){top:22px}.neelx-burger span:nth-child(3){top:28px}
.neelx-burger[aria-expanded="true"] span:nth-child(1){top:22px;transform:rotate(45deg)}
.neelx-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.neelx-burger[aria-expanded="true"] span:nth-child(3){top:22px;transform:rotate(-45deg)}
@media(max-width:1023px){
  :root{--nx-header-h:72px}
  .neelx-header__brand img,.neelx-header__brand .custom-logo{height:56px}
  .neelx-burger,.neelx-header__call{display:inline-flex}
  .neelx-nav{position:fixed;left:0;right:0;top:var(--nx-header-h);bottom:0;margin:0;flex-direction:column;align-items:stretch;gap:16px;background:#fff;padding:16px var(--nx-pad) 32px;overflow-y:auto;transform:translateY(-12px);opacity:0;visibility:hidden;transition:opacity .3s,transform .3s var(--nx-ease),visibility .3s;-webkit-overflow-scrolling:touch}
  .admin-bar .neelx-nav{top:calc(var(--nx-header-h) + 46px)}
  .neelx-nav.is-open{transform:none;opacity:1;visibility:visible}
  .neelx-menu{flex-direction:column;align-items:stretch;gap:0}
  .neelx-menu>li{border-bottom:1px solid var(--nx-border);display:flex;flex-wrap:wrap;align-items:center}
  .neelx-menu>li>a{flex:1;padding:16px 4px;font-size:1.05rem}
  .neelx-menu .menu-item-has-children>a::after{display:none}
  .neelx-submenu-toggle{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;background:transparent;color:var(--nx-text);cursor:pointer}
  .neelx-submenu-toggle::before{content:"";width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .25s}
  .neelx-menu li.is-open>.neelx-submenu-toggle::before{transform:rotate(-135deg)}
  .neelx-menu .sub-menu{position:static;flex-basis:100%;min-width:0;border:0;box-shadow:none;padding:0 0 10px 12px;opacity:1;visibility:visible;transform:none;display:none}
  .neelx-menu li.is-open>.sub-menu{display:block}
  .neelx-menu li:hover>.sub-menu{display:none}.neelx-menu li.is-open:hover>.sub-menu{display:block}
  .neelx-nav__cta{width:100%}
  body.neelx-nav-open{overflow:hidden}
}

/* Page head / blog */
.neelx-pagehead{background:var(--nx-light);padding-block:clamp(48px,7vw,88px);border-bottom:1px solid var(--nx-border)}
.neelx-pagehead h1{margin-bottom:.3em}
.neelx-pagehead--dark{background:var(--nx-dark);color:#fff;border:0}.neelx-pagehead--dark h1{color:#fff}.neelx-pagehead--dark .neelx-lead,.neelx-pagehead--dark .neelx-breadcrumbs{color:#c9c9c9}
.neelx-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.neelx-card{background:#fff;border:1px solid var(--nx-border);border-radius:var(--nx-radius);overflow:hidden;transition:transform .3s var(--nx-ease),box-shadow .3s;display:flex;flex-direction:column}
.neelx-card:hover{transform:translateY(-6px);box-shadow:var(--nx-shadow-lg)}
.neelx-card__media img{display:block;width:100%;aspect-ratio:10/7;object-fit:cover}
.neelx-card__body{padding:24px}
.neelx-card__title{font-size:1.25rem;margin-bottom:.5em}.neelx-card__title a{color:inherit;text-decoration:none}.neelx-card__title a:hover{color:var(--nx-primary)}
.navigation.pagination{margin-top:48px}.nav-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.page-numbers{display:inline-flex;min-width:44px;height:44px;padding:0 14px;align-items:center;justify-content:center;border:1px solid var(--nx-border);border-radius:999px;color:var(--nx-text);text-decoration:none;font-weight:600}
.page-numbers.current,.page-numbers:hover{background:var(--nx-primary);border-color:var(--nx-primary);color:#fff}
.neelx-entry__content{font-size:1.08rem}.neelx-entry__content h2{margin-top:1.6em}.neelx-entry__content img{border-radius:var(--nx-radius-sm)}
.neelx-entry__thumb{margin:0 0 32px}.neelx-entry__thumb img{width:100%;border-radius:var(--nx-radius)}
.neelx-tags a{display:inline-block;margin:0 6px 6px 0;padding:4px 12px;border:1px solid var(--nx-border);border-radius:999px;font-size:.85rem;text-decoration:none;color:var(--nx-text-2)}
.neelx-author{display:flex;gap:18px;align-items:center;background:var(--nx-light);border-radius:var(--nx-radius);padding:24px;margin:40px 0}.neelx-author img{border-radius:50%}.neelx-author p{margin:4px 0 0;color:var(--nx-text-2)}
.neelx-postnav{display:flex;justify-content:space-between;gap:16px;margin-bottom:40px;font-weight:600}.neelx-postnav a{text-decoration:none}
.neelx-comments{margin-top:48px}.neelx-comments__list{list-style:none;padding:0}.neelx-comments input[type=text],.neelx-comments input[type=email],.neelx-comments input[type=url],.neelx-comments textarea{width:100%;padding:12px 14px;border:1px solid var(--nx-border);border-radius:10px;font:inherit}
.neelx-case{display:grid;grid-template-columns:2fr 1fr;gap:48px}.neelx-case__side{position:sticky;top:calc(var(--nx-header-h) + 24px);align-self:start;background:var(--nx-light);padding:28px;border-radius:var(--nx-radius)}.neelx-case__side dt{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--nx-text-2);margin-top:14px}.neelx-case__side dd{margin:2px 0 0;font-weight:600}
.neelx-404{padding-block:clamp(72px,12vw,160px);text-align:center;background:var(--nx-dark);color:#fff}.neelx-404 h1{color:#fff}.neelx-404 .neelx-lead{margin-inline:auto;color:#c9c9c9}.neelx-404__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.neelx-404 .neelx-btn--outline{color:#fff;border-color:#fff}.neelx-404 .neelx-btn--outline:hover{background:#fff;color:var(--nx-dark)}
.search-form{display:flex;gap:8px;max-width:520px;margin:20px auto 0}.search-form label{flex:1}.search-field{width:100%;padding:13px 18px;border:1px solid var(--nx-border);border-radius:999px;font:inherit}.search-submit{padding:0 24px;border:0;border-radius:999px;background:var(--nx-primary);color:#fff;font-weight:600;cursor:pointer}
.neelx-hero-fallback{padding-block:clamp(72px,10vw,140px);background:var(--nx-dark);color:#fff}.neelx-hero-fallback h1{color:#fff;max-width:900px}.neelx-hero-fallback .neelx-lead{color:#c9c9c9}

/* Footer */
.neelx-footer{background:var(--nx-dark);color:#bdbdbd;padding-top:clamp(56px,8vw,96px);font-size:.95rem}
.neelx-footer a{color:#e9e9e9;text-decoration:none}.neelx-footer a:hover{color:#fff;text-decoration:underline}
.neelx-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:clamp(28px,4vw,56px)}
.neelx-footer__logo img{height:64px;width:auto}
.neelx-footer__title{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:18px;font-weight:700}
.neelx-footer__list,.neelx-footer__legal{list-style:none;margin:0;padding:0}.neelx-footer__list li{margin-bottom:10px}
.neelx-footer__bar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #262626;margin-top:clamp(36px,5vw,64px);padding-block:22px;font-size:.88rem}.neelx-footer__bar p{margin:0}
.neelx-footer__legal{display:flex;gap:20px;flex-wrap:wrap}
.neelx-social{display:flex;gap:10px;margin-top:18px}.neelx-social__link{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid #333;border-radius:50%;color:#fff;transition:background .25s,border-color .25s,transform .25s}.neelx-social__link:hover{background:var(--nx-primary);border-color:var(--nx-primary);transform:translateY(-3px);text-decoration:none}
@media(max-width:1023px){.neelx-footer__grid{grid-template-columns:1fr 1fr}.neelx-posts{grid-template-columns:repeat(2,1fr)}.neelx-case{grid-template-columns:1fr}}
@media(max-width:600px){.neelx-footer__grid{grid-template-columns:1fr}.neelx-posts{grid-template-columns:1fr}.neelx-footer__bar{flex-direction:column}}

/* Floating WhatsApp */
.neelx-wa-float{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:800;width:56px;height:56px;border-radius:50%;background:#1faa59;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(0,0,0,.28);transition:transform .25s var(--nx-ease)}
.neelx-wa-float:hover{transform:scale(1.08);color:#fff}
@media(max-width:600px){.neelx-wa-float{width:50px;height:50px;right:12px;bottom:max(12px,env(safe-area-inset-bottom))}}

/* Forms */
.neelx-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.neelx-field{display:flex;flex-direction:column;gap:6px}.neelx-field--full{grid-column:1/-1}
.neelx-field label{font-weight:600;font-size:.9rem}
.neelx-field input,.neelx-field select,.neelx-field textarea{width:100%;padding:14px 16px;border:1px solid #cfcfcf;border-radius:12px;background:#fff;font:inherit;color:var(--nx-text);transition:border-color .2s,box-shadow .2s}
.neelx-field input:focus,.neelx-field select:focus,.neelx-field textarea:focus{outline:0;border-color:var(--nx-primary);box-shadow:0 0 0 4px rgba(161,13,18,.15)}
.neelx-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.neelx-notice{padding:14px 18px;border-radius:12px;margin-bottom:20px;font-weight:500}
.neelx-notice--ok{background:#e9f7ef;color:#12522b;border:1px solid #bfe5cd}.neelx-notice--error{background:#fdecec;color:#7a1014;border:1px solid #f3c0c2}
@media(max-width:600px){.neelx-form{grid-template-columns:1fr}.neelx-form .neelx-btn{width:100%}}

/* Portfolio */
.neelx-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}
.neelx-filter{min-height:44px;padding:8px 20px;border:1px solid var(--nx-border);background:#fff;border-radius:999px;font:inherit;font-weight:600;cursor:pointer;color:var(--nx-text);transition:all .25s}
.neelx-filter:hover{border-color:var(--nx-primary);color:var(--nx-primary)}.neelx-filter.is-active{background:var(--nx-primary);border-color:var(--nx-primary);color:#fff}
.neelx-portfolio__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.neelx-project{border:1px solid var(--nx-border);border-radius:var(--nx-radius);overflow:hidden;background:#fff;transition:transform .3s var(--nx-ease),box-shadow .3s}
.neelx-project:hover{transform:translateY(-6px);box-shadow:var(--nx-shadow-lg)}
.neelx-project[hidden]{display:none}
.neelx-project__media{position:relative;aspect-ratio:10/7;background:linear-gradient(135deg,var(--nx-char),var(--nx-dark));overflow:hidden}
.neelx-project__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--nx-ease)}
.neelx-project:hover .neelx-project__media img{transform:scale(1.06)}
.neelx-project__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:6rem;font-weight:900;color:var(--nx-primary);opacity:.9}
.neelx-project__overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:20px;background:linear-gradient(to top,rgba(8,8,8,.78),transparent 60%);color:#fff;text-decoration:none;font-weight:600;opacity:0;transition:opacity .3s}
.neelx-project:hover .neelx-project__overlay,.neelx-project__overlay:focus-visible{opacity:1}
@media(hover:none){.neelx-project__overlay{opacity:1;background:linear-gradient(to top,rgba(8,8,8,.6),transparent 40%)}}
.neelx-project__body{padding:22px 24px 26px}.neelx-project__body h3{margin-bottom:.35em}.neelx-project__body p{color:var(--nx-text-2);font-size:.95rem;margin-bottom:.5em}
.neelx-project__services{font-size:.82rem!important;font-weight:600;color:var(--nx-text)!important}
.neelx-project.is-placeholder{border-style:dashed}
@media(max-width:1023px){.neelx-portfolio__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.neelx-portfolio__grid{grid-template-columns:1fr}}

/* Testimonials carousel */
.neelx-carousel{position:relative}
.neelx-carousel__track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 2px 18px;-webkit-overflow-scrolling:touch}
.neelx-carousel__track::-webkit-scrollbar{display:none}
.neelx-testimonial{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;margin:0;background:#fff;border:1px solid var(--nx-border);border-radius:var(--nx-radius);padding:32px;display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.neelx-testimonial blockquote{margin:0;font-size:1.05rem;line-height:1.7}.neelx-testimonial blockquote p{margin:0}
.neelx-testimonial blockquote::before{content:"“";display:block;font-size:3.6rem;line-height:.6;color:var(--nx-primary);font-weight:800;margin-bottom:10px}
.neelx-testimonial figcaption{display:flex;align-items:center;gap:14px}.neelx-testimonial figcaption small{display:block;color:var(--nx-text-2)}
.neelx-testimonial__photo,.neelx-testimonial__avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none}
.neelx-testimonial__avatar{display:inline-flex;align-items:center;justify-content:center;background:var(--nx-primary);color:#fff;font-weight:700}
.neelx-testimonial.is-placeholder{border-style:dashed;background:var(--nx-light)}
.neelx-carousel__nav{display:flex;gap:10px;justify-content:center;margin-top:12px}
.neelx-carousel__btn{width:48px;height:48px;border-radius:50%;border:1px solid var(--nx-border);background:#fff;font-size:1.1rem;cursor:pointer;transition:all .25s}.neelx-carousel__btn:hover{background:var(--nx-primary);border-color:var(--nx-primary);color:#fff}
@media(max-width:1023px){.neelx-testimonial{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:600px){.neelx-testimonial{flex-basis:88%}}

/* ===== Elementor design-system helpers (nx-*) ===== */
.nx-section{padding-block:var(--nx-section)}
.nx-section--light{background:var(--nx-light)}
.nx-section--dark{background:var(--nx-dark);color:#d6d6d6}
.nx-section--dark :is(h1,h2,h3,h4,.elementor-heading-title){color:#fff}
.nx-section--dark .elementor-widget-text-editor{color:#bdbdbd}
.nx-accent{color:var(--nx-primary)}
.nx-section--dark .nx-accent,.nx-hero .nx-accent{color:#e0343a}
.nx-hero{position:relative;overflow:hidden;background:radial-gradient(900px 500px at 85% 10%,rgba(161,13,18,.35),transparent 60%),var(--nx-dark);color:#d0d0d0}
.nx-hero::after{content:"";position:absolute;right:-6%;bottom:-18%;width:46vw;max-width:620px;aspect-ratio:1;background:linear-gradient(135deg,transparent 46%,rgba(161,13,18,.22) 47%,rgba(161,13,18,.22) 53%,transparent 54%),linear-gradient(45deg,transparent 46%,rgba(161,13,18,.22) 47%,rgba(161,13,18,.22) 53%,transparent 54%);pointer-events:none}
.nx-hero>*{position:relative;z-index:1}
.nx-hero .elementor-heading-title{color:#fff}
.nx-hero h1.elementor-heading-title{font-size:clamp(2.3rem,5.2vw,4.4rem);font-weight:800;letter-spacing:-.03em;line-height:1.05}
.nx-hero-visual svg{display:block;width:100%;height:auto;filter:drop-shadow(0 30px 50px rgba(0,0,0,.5))}
.nx-hero-visual{animation:nx-float 7s ease-in-out infinite}
@keyframes nx-float{50%{transform:translateY(-10px)}}
.nx-strip{background:var(--nx-char);border-top:1px solid #262626}
.nx-strip-item .elementor-heading-title{color:#fff;font-size:.95rem;font-weight:600}
.nx-strip-item::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--nx-primary);flex:none}
.nx-strip-item{display:flex;align-items:center;gap:12px}
.nx-section-head{max-width:720px}
.nx-service-card.elementor-widget-icon-box,.nx-service-card{height:100%}
.nx-service-card .elementor-icon-box-wrapper{height:100%;padding:30px 28px;background:#fff;border:1px solid var(--nx-border);border-radius:var(--nx-radius);transition:transform .35s var(--nx-ease),box-shadow .35s,border-color .35s;display:flex;flex-direction:column;align-items:flex-start;text-align:left}
.nx-service-card:hover .elementor-icon-box-wrapper{transform:translateY(-8px);box-shadow:var(--nx-shadow-lg);border-color:var(--nx-primary)}
.nx-service-card .elementor-icon-box-icon{margin:0 0 18px!important}
.nx-service-card .elementor-icon{width:54px;height:54px;display:inline-flex;align-items:center;justify-content:center;background:rgba(161,13,18,.08);color:var(--nx-primary);border-radius:14px;font-size:24px!important;transition:background .3s,color .3s}
.nx-service-card:hover .elementor-icon{background:var(--nx-primary);color:#fff}
.nx-service-card .elementor-icon-box-title{margin:0 0 8px;font-size:1.15rem}.nx-service-card .elementor-icon-box-title a{color:inherit;text-decoration:none}
.nx-service-card .elementor-icon-box-description{color:var(--nx-text-2);font-size:.95rem;margin:0}
.nx-why-row{border-top:1px solid var(--nx-border);padding-block:26px;gap:28px}
.nx-why-row:last-child{border-bottom:1px solid var(--nx-border)}
.nx-why-num .elementor-heading-title{font-size:1rem;font-weight:800;color:var(--nx-primary);letter-spacing:.1em}
.nx-why-row:hover .nx-why-title .elementor-heading-title{color:var(--nx-primary)}
.nx-why-title .elementor-heading-title{transition:color .25s;font-size:clamp(1.2rem,2vw,1.55rem)}
.nx-process{position:relative}
.nx-step{position:relative}
.nx-step-num .elementor-heading-title{display:inline-flex;width:56px;height:56px;border-radius:50%;align-items:center;justify-content:center;background:var(--nx-primary);color:#fff;font-size:1.15rem;font-weight:800;box-shadow:0 0 0 8px rgba(161,13,18,.12);margin:0}
.nx-step::before{content:"";position:absolute;top:28px;left:56px;right:-28px;height:2px;background:repeating-linear-gradient(90deg,var(--nx-border) 0 8px,transparent 8px 14px)}
.nx-step:last-child::before{display:none}
.nx-step .elementor-heading-title{font-size:1.1rem}
.nx-card{background:#fff;border:1px solid var(--nx-border);border-radius:var(--nx-radius);padding:28px;transition:transform .3s var(--nx-ease),box-shadow .3s}
.nx-card:hover{transform:translateY(-5px);box-shadow:var(--nx-shadow)}
.nx-card--dark{background:var(--nx-char);border-color:#2a2a2a;color:#cfcfcf}
.nx-cta{background:linear-gradient(135deg,var(--nx-primary) 0%,#6d070b 100%);color:#fff;border-radius:calc(var(--nx-radius) + 8px)}
.nx-cta .elementor-heading-title{color:#fff}.nx-cta .elementor-widget-text-editor{color:#ffd9da}
.nx-faq .elementor-accordion-item{border:1px solid var(--nx-border)!important;border-radius:14px;margin-bottom:12px;overflow:hidden;background:#fff}
.nx-faq .elementor-tab-title{padding:20px 24px;font-weight:700}.nx-faq .elementor-tab-title.elementor-active a{color:var(--nx-primary)}
.nx-faq .elementor-tab-content{padding:0 24px 22px;color:var(--nx-text-2);border:0!important}
.nx-list .elementor-icon-list-icon{color:var(--nx-primary)}
.nx-pagetitle{background:var(--nx-dark);color:#cfcfcf;position:relative;overflow:hidden}
.nx-pagetitle::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border:2px solid rgba(161,13,18,.5);transform:rotate(45deg);pointer-events:none}
.nx-pagetitle .elementor-heading-title{color:#fff}
.nx-contact-card .elementor-icon-box-wrapper{align-items:flex-start}
.nx-legal :is(h2,h3){margin-top:1.4em}

/* Reveal on scroll (JS adds .neelx-js). Never hides content in the Elementor editor or when motion is reduced. */
.neelx-js .nx-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--nx-ease),transform .7s var(--nx-ease)}
.neelx-js .nx-reveal.is-visible{opacity:1;transform:none}
.elementor-editor-active .nx-reveal{opacity:1!important;transform:none!important}

/* Elementor grid on tablet/mobile fallbacks for helper grids */
@media(max-width:1023px){.nx-step::before{display:none}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .neelx-js .nx-reveal{opacity:1;transform:none}
}
