/* ==========================================================================
   Neurova Tech — Global Styles
   Dark (#050505) + orange (rgb(var(--brand-500))) brand system. Inter typeface.
   Externalized from the master template so every page shares one look.
   ========================================================================== */

/* Self-hosted Inter (no Google Fonts request). Paths resolve relative to this
   file at assets/css/style.css -> ../fonts/. */
@font-face { font-family:'Inter'; font-style:normal; font-weight:300; font-display:swap; src:url('../fonts/inter-300.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/inter-400.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-style:normal; font-weight:500; font-display:swap; src:url('../fonts/inter-500.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-style:normal; font-weight:600; font-display:swap; src:url('../fonts/inter-600.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-style:normal; font-weight:700; font-display:swap; src:url('../fonts/inter-700.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-style:normal; font-weight:800; font-display:swap; src:url('../fonts/inter-800.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-style:normal; font-weight:900; font-display:swap; src:url('../fonts/inter-900.woff2') format('woff2'); }

/* Brand palette as RGB channel triplets so BOTH Tailwind utilities (via config)
   and the component styles below resolve from these variables. The Customizer
   injects a <style> block overriding these on :root to recolor the whole site. */
:root {
  --brand-50:255 247 237; --brand-100:255 237 213; --brand-200:254 215 170; --brand-300:253 186 116;
  --brand-400:251 146 60; --brand-500:249 115 22; --brand-600:234 88 12; --brand-700:194 65 12;
  /* Page background — softer than pure black; overridable in the Customizer. */
  --bg: #0d0e12;
  /* Text tones (Customizer-overridable). Brighter than the stock greys so
     descriptions and feature lists read comfortably on the dark background. */
  --text-strong: #e6e6e6;
  --text-body:   #b3b3b3;
  --text-subtle: #8f8f8f;
}

/* Map the muted Tailwind text utilities to the dynamic text variables so the
   whole site's paragraph colour follows the Customizer. Loaded after Tailwind,
   so these win. Hover / brand / white utilities are untouched. */
.text-neutral-300 { color: var(--text-strong); }
.text-neutral-400 { color: var(--text-body); }
.text-neutral-500 { color: var(--text-body); }
.text-neutral-600 { color: var(--text-subtle); }
.text-neutral-700 { color: var(--text-subtle); }

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

/* Stop decorative blur-glows / marquees from creating a horizontal scrollbar
   on narrow screens. `clip` prevents the scroll without turning html/body into
   a scroll container (so position:sticky keeps working). `hidden` is the
   fallback for older browsers. */
html, body { overflow-x: hidden; overflow-x: clip; }

body {
  font-family: 'Inter', sans-serif;
  background: var(--bg);
  color: #ffffff;
  max-width: 100%;
}

::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: rgba(255,255,255,0.04); }
::-webkit-scrollbar-thumb { background: rgb(var(--brand-500)); border-radius: 3px; }

#neural-canvas { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; }

/* -------------------------------------------------------------------------- */
/* Glows & gradients                                                           */
/* -------------------------------------------------------------------------- */
.glow-orange { box-shadow: 0 0 40px rgb(var(--brand-500) / 0.12), 0 0 80px rgb(var(--brand-500) / 0.04); }
.glow-orange-strong { box-shadow: 0 0 30px rgb(var(--brand-500) / 0.3), 0 0 60px rgb(var(--brand-500) / 0.1); }
.text-glow { text-shadow: 0 0 40px rgb(var(--brand-500) / 0.25); }

.gradient-text {
  background: linear-gradient(135deg, #ffffff 0%, rgb(var(--brand-500)) 50%, rgb(var(--brand-400)) 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.gradient-text-subtle {
  background: linear-gradient(to right, #ffffff, #a3a3a3);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.stat-number {
  background: linear-gradient(135deg, #ffffff, rgb(var(--brand-500)));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}

/* -------------------------------------------------------------------------- */
/* Cards                                                                       */
/* -------------------------------------------------------------------------- */
.glass-card {
  background: rgba(255,255,255,0.025);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.06);
  transition: all 0.5s cubic-bezier(0.4,0,0.2,1);
}
.glass-card:hover {
  background: rgba(255,255,255,0.05);
  border-color: rgb(var(--brand-500) / 0.15);
  transform: translateY(-6px);
  box-shadow: 0 20px 50px -12px rgba(0,0,0,0.5), 0 0 30px rgb(var(--brand-500) / 0.06);
}

.service-icon {
  background: linear-gradient(135deg, rgb(var(--brand-500) / 0.15), rgb(var(--brand-500) / 0.05));
  border: 1px solid rgb(var(--brand-500) / 0.12);
  transition: all 0.5s ease;
}
.glass-card:hover .service-icon {
  background: linear-gradient(135deg, rgb(var(--brand-500) / 0.3), rgb(var(--brand-500) / 0.1));
  border-color: rgb(var(--brand-500) / 0.4);
  box-shadow: 0 0 25px rgb(var(--brand-500) / 0.15);
}

.border-gradient { position: relative; overflow: hidden; }
.border-gradient::before {
  content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 1px;
  background: linear-gradient(135deg, rgb(var(--brand-500) / 0.4), transparent 50%, rgb(var(--brand-500) / 0.1));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none;
}

/* -------------------------------------------------------------------------- */
/* Animations                                                                  */
/* -------------------------------------------------------------------------- */
@keyframes pulse-ring {
  0% { transform: scale(1); opacity: 0.4; }
  100% { transform: scale(1.8); opacity: 0; }
}
.pulse-ring::after {
  content: ''; position: absolute; inset: -4px; border-radius: 50%;
  border: 2px solid rgb(var(--brand-500) / 0.4); animation: pulse-ring 2s ease-out infinite;
}

@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-15px)} }
.float-anim { animation: float 6s ease-in-out infinite; }
.float-anim-d1 { animation: float 6s ease-in-out 2s infinite; }

@keyframes marquee { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.marquee-track { animation: marquee 35s linear infinite; }
.marquee-track:hover { animation-play-state: paused; }

/* Scroll reveals */
.reveal { opacity:0; transform:translateY(35px); transition: all 0.8s cubic-bezier(0.4,0,0.2,1); }
.reveal.active { opacity:1; transform:translateY(0); }
.reveal-left { opacity:0; transform:translateX(-35px); transition: all 0.8s cubic-bezier(0.4,0,0.2,1); }
.reveal-left.active { opacity:1; transform:translateX(0); }
.reveal-right { opacity:0; transform:translateX(35px); transition: all 0.8s cubic-bezier(0.4,0,0.2,1); }
.reveal-right.active { opacity:1; transform:translateX(0); }

.stagger > .reveal:nth-child(1){transition-delay:0ms}
.stagger > .reveal:nth-child(2){transition-delay:80ms}
.stagger > .reveal:nth-child(3){transition-delay:160ms}
.stagger > .reveal:nth-child(4){transition-delay:240ms}
.stagger > .reveal:nth-child(5){transition-delay:320ms}
.stagger > .reveal:nth-child(6){transition-delay:400ms}
.stagger > .reveal:nth-child(7){transition-delay:480ms}
.stagger > .reveal:nth-child(8){transition-delay:560ms}

@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0} }
.cursor-blink {
  display:inline-block; width:3px; height:1em; background:rgb(var(--brand-500));
  margin-left:4px; animation:blink 1s step-end infinite; vertical-align:text-bottom;
}

/* -------------------------------------------------------------------------- */
/* Navigation                                                                  */
/* -------------------------------------------------------------------------- */
.nav-blur {
  background: rgba(5,5,5,0.7); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(255,255,255,0.04);
}
.nav-blur.scrolled { background: rgba(5,5,5,0.92); border-bottom-color: rgb(var(--brand-500) / 0.08); }

.nav-link { transition: color 0.3s ease; }
.nav-link.active { color: rgb(var(--brand-500)); }

/* Desktop dropdown (Portfolio) — no hover-lift (unlike glass-card). */
.dropdown-panel {
  background: rgba(10,10,10,0.96);
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 24px 50px -12px rgba(0,0,0,0.65), 0 0 0 1px rgb(var(--brand-500) / 0.04);
}
.dropdown-item {
  display: flex; align-items: center; gap: 0.6rem;
  padding: 0.6rem 0.75rem; border-radius: 0.6rem;
  font-size: 13px; color: #a3a3a3; transition: all 0.25s ease;
}
.dropdown-item:hover { color: #fff; background: rgb(var(--brand-500) / 0.1); }
.dropdown-item .iconify { color: rgb(var(--brand-500)); }

/* Mobile submenu via native <details> */
.mobile-details > summary { list-style: none; cursor: pointer; }
.mobile-details > summary::-webkit-details-marker { display: none; }
.mobile-details[open] > summary .m-chevron { transform: rotate(180deg); }
.m-chevron { transition: transform 0.3s ease; }

.mobile-menu { transform:translateX(100%); transition: transform 0.4s cubic-bezier(0.4,0,0.2,1); }
.mobile-menu.open { transform:translateX(0); }

/* -------------------------------------------------------------------------- */
/* Buttons                                                                     */
/* -------------------------------------------------------------------------- */
.cta-btn {
  background: linear-gradient(135deg, rgb(var(--brand-500)), rgb(var(--brand-600)));
  position: relative; overflow: hidden; transition: all 0.3s ease;
  z-index: 0; /* own stacking context so the hover layer sits under the label */
}
.cta-btn::before {
  content:''; position:absolute; inset:0;
  background: linear-gradient(135deg, rgb(var(--brand-400)), rgb(var(--brand-500)));
  opacity:0; transition: opacity 0.3s ease;
  z-index: -1; /* above the button background, below its text — works with or
                  without a <span> wrapper */
}
.cta-btn:hover::before { opacity:1; }
.cta-btn:hover {
  transform: scale(1.05);
  box-shadow: 0 0 35px rgb(var(--brand-500) / 0.4), 0 8px 25px rgb(var(--brand-500) / 0.2);
}
.cta-btn span { position:relative; z-index:1; }

.secondary-btn {
  border: 1px solid rgb(var(--brand-500) / 0.25); background: rgb(var(--brand-500) / 0.04);
  transition: all 0.3s ease;
}
.secondary-btn:hover {
  background: rgb(var(--brand-500) / 0.12); border-color: rgb(var(--brand-500) / 0.5);
  box-shadow: 0 0 15px rgb(var(--brand-500) / 0.08);
}

/* -------------------------------------------------------------------------- */
/* Decorative / sections                                                       */
/* -------------------------------------------------------------------------- */
.tech-grid {
  background-image:
    linear-gradient(rgb(var(--brand-500) / 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgb(var(--brand-500) / 0.025) 1px, transparent 1px);
  background-size: 60px 60px;
}
.process-line { background: linear-gradient(to bottom, transparent, rgb(var(--brand-500) / 0.25), transparent); }

.industry-card { transition: all 0.4s ease; }
.industry-card:hover { background: rgb(var(--brand-500) / 0.06); border-color: rgb(var(--brand-500) / 0.2); }
.industry-card:hover .industry-icon { background: rgb(var(--brand-500) / 0.2); border-color: rgb(var(--brand-500) / 0.4); }

.team-card:hover .team-img { transform: scale(1.08); filter: brightness(0.8); }
.team-card:hover .team-overlay { opacity: 1; }
.team-img { transition: all 0.5s ease; }
.team-overlay { transition: opacity 0.4s ease; }

.blog-card:hover .blog-img { transform: scale(1.08); }
.blog-img { transition: transform 0.5s ease; }

/* -------------------------------------------------------------------------- */
/* FAQ accordion                                                               */
/* -------------------------------------------------------------------------- */
.faq-answer { max-height:0; overflow:hidden; transition: max-height 0.4s ease, padding 0.4s ease; padding:0 24px; }
.faq-item.open .faq-answer { max-height:400px; padding:0 24px 20px; }
.faq-item.open .faq-chevron { transform:rotate(180deg); }
.faq-chevron { transition: transform 0.3s ease; }

/* -------------------------------------------------------------------------- */
/* Toast                                                                       */
/* -------------------------------------------------------------------------- */
.toast {
  position:fixed; bottom:30px; right:30px; background:rgb(var(--brand-500) / 0.95);
  color:white; padding:16px 28px; border-radius:12px; font-weight:500; font-size:14px;
  z-index:9999; transform:translateY(100px); opacity:0;
  transition: all 0.4s cubic-bezier(0.4,0,0.2,1); backdrop-filter:blur(10px);
}
.toast.show { transform:translateY(0); opacity:1; }

/* -------------------------------------------------------------------------- */
/* Page hero (inner pages)                                                      */
/* -------------------------------------------------------------------------- */
.page-hero { padding-top: 9rem; padding-bottom: 4rem; position: relative; overflow: hidden; }

/* -------------------------------------------------------------------------- */
/* Post / page rich content                                                    */
/* -------------------------------------------------------------------------- */
.prose-neurova { color: #d4d4d4; font-size: 1rem; line-height: 1.8; }
.prose-neurova > * + * { margin-top: 1.25rem; }
.prose-neurova h1, .prose-neurova h2, .prose-neurova h3, .prose-neurova h4 { color: #fff; font-weight: 700; line-height: 1.25; margin-top: 2rem; }
.prose-neurova h2 { font-size: 1.6rem; }
.prose-neurova h3 { font-size: 1.3rem; }
.prose-neurova a { color: rgb(var(--brand-400)); text-decoration: underline; text-underline-offset: 3px; }
.prose-neurova a:hover { color: rgb(var(--brand-500)); }
.prose-neurova ul, .prose-neurova ol { padding-left: 1.4rem; }
.prose-neurova ul { list-style: disc; }
.prose-neurova ol { list-style: decimal; }
.prose-neurova li + li { margin-top: 0.4rem; }
.prose-neurova blockquote { border-left: 3px solid rgb(var(--brand-500)); padding-left: 1rem; color: #a3a3a3; font-style: italic; }
.prose-neurova img { border-radius: 0.9rem; height: auto; }
.prose-neurova code { background: rgba(255,255,255,0.06); padding: 0.15em 0.4em; border-radius: 0.35rem; font-size: 0.9em; }
.prose-neurova pre { background: #0a0a0a; border: 1px solid rgba(255,255,255,0.06); border-radius: 0.9rem; padding: 1.1rem; overflow-x: auto; }
.prose-neurova pre code { background: none; padding: 0; }
.prose-neurova strong { color: #fff; }

/* Portfolio category tabs */
.port-tab {
  cursor: pointer; border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03); color: #a3a3a3;
  padding: 0.5rem 1.1rem; border-radius: 999px; font-size: 0.83rem; font-weight: 500;
  transition: all 0.25s ease;
}
.port-tab:hover { color: #fff; border-color: rgb(var(--brand-500) / 0.4); }
.port-tab.is-active { color: #fff; background: linear-gradient(135deg, rgb(var(--brand-500)), rgb(var(--brand-600))); border-color: transparent; }
.port-card.is-hidden { display: none; }

/* Native form controls: make dropdowns dark so <option> text is visible */
select { color-scheme: dark; }
select option, select optgroup { background-color: #0f0f0f; color: #ffffff; }

/* -------------------------------------------------------------------------- */
/* Comment form + list (dark-theme styling for single posts/pages)             */
/* -------------------------------------------------------------------------- */
.comment-respond, .comments-area { color: #d4d4d4; }
.comment-reply-title, .comments-title { font-size: 1.5rem; font-weight: 700; color: #fff; margin: 0 0 1rem; }
.comment-form { display: grid; gap: 1rem; }
.comment-form label { display: block; color: #a3a3a3; font-size: 0.82rem; margin-bottom: 0.35rem; }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
  width: 100%;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 0.75rem;
  padding: 0.75rem 1rem;
  color: #fff;
  font-size: 0.9rem;
  font-family: inherit;
  outline: none;
  transition: border-color 0.25s ease;
}
.comment-form textarea { min-height: 150px; resize: vertical; }
.comment-form input:focus, .comment-form textarea:focus { border-color: rgb(var(--brand-500) / 0.5); }
.comment-form input::placeholder, .comment-form textarea::placeholder { color: #666; }
.comment-notes, .logged-in-as, .comment-form-cookies-consent, .comment-awaiting-moderation { font-size: 0.8rem; color: #737373; }
.comment-notes a, .logged-in-as a { color: rgb(var(--brand-400)); }
.comment-form .form-submit { margin: 0; }
.comment-form .submit,
.comments-area .reply a {
  display: inline-flex; align-items: center; gap: 0.5rem;
  background: linear-gradient(135deg, rgb(var(--brand-500)), rgb(var(--brand-600)));
  color: #fff; border: none; cursor: pointer;
  padding: 0.7rem 1.6rem; border-radius: 999px; font-size: 0.85rem; font-weight: 600;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.comment-form .submit:hover,
.comments-area .reply a:hover { transform: scale(1.03); box-shadow: 0 0 25px rgb(var(--brand-500) / 0.35); }
.comment-list { list-style: none; margin: 2rem 0 0; padding: 0; }
.comment-list li { margin-bottom: 1.25rem; }
.comment-body { background: rgba(255,255,255,0.025); border: 1px solid rgba(255,255,255,0.06); border-radius: 1rem; padding: 1.25rem 1.5rem; }
.comment-author .fn { color: #fff; font-weight: 600; }
.comment-author .says { display: none; }
.comment-metadata, .comment-metadata a { color: #737373; font-size: 0.78rem; }
.comment-content { color: #d4d4d4; margin-top: 0.5rem; }
.comment-list .children { list-style: none; margin: 1rem 0 0 1.5rem; padding-left: 1rem; border-left: 1px solid rgba(255,255,255,0.08); }

/* -------------------------------------------------------------------------- */
/* Ad landing pages (.lp-*)                                                    */
/* -------------------------------------------------------------------------- */
.lp-header {
  background: rgba(13,14,18,.82); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.lp-body { padding-bottom: 0; }

/* Form */
.lp-form-card { box-shadow: 0 24px 60px -24px rgba(0,0,0,.7), 0 0 40px rgb(var(--brand-500) / .07); }
.lp-input {
  width: 100%; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12);
  border-radius: .8rem; padding: .8rem 1rem; color: #fff; font-size: .9rem; outline: none;
  transition: border-color .25s ease, background .25s ease;
}
.lp-input::placeholder { color: #7a7a7a; }
.lp-input:focus { border-color: rgb(var(--brand-500) / .55); background: rgba(255,255,255,.06); }
select.lp-input { color-scheme: dark; }
.lp-form-card .lp-success.is-shown { display: block; }

/* Landing headlines: keep the highlight fully orange (the sitewide white→orange
   gradient washes out short inline spans next to white text). */
.lp-body .gradient-text {
  background: linear-gradient(135deg, rgb(var(--brand-400)) 0%, rgb(var(--brand-500)) 50%, rgb(var(--brand-600)) 100%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}

/* Pricing */
.lp-plan {
  position: relative; overflow: visible;
  display: flex; flex-direction: column;   /* equal heights, CTA pinned to bottom */
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.lp-plan > a { margin-top: auto; }
.lp-plan-popular {
  transform: translateY(-6px);
  border-color: rgb(var(--brand-500) / .45);
  box-shadow: 0 0 45px rgb(var(--brand-500) / .13), 0 22px 50px -22px rgba(0,0,0,.65);
}
.lp-plan-popular:hover { transform: translateY(-10px); }
.lp-plan-tag {
  position: absolute; top: -13px; left: 50%; transform: translateX(-50%);
  background: linear-gradient(135deg, rgb(var(--brand-500)), rgb(var(--brand-600)));
  color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .1em; line-height: 1;
  padding: 7px 16px; border-radius: 999px; white-space: nowrap;
  box-shadow: 0 6px 18px rgb(var(--brand-500) / .35);
  z-index: 2;
}

/* Rating stars — lucide icons are outline-only, so fill them for ratings */
.icon-star-fill { fill: currentColor; }
.icon-star-empty { opacity: .28; }

/* Review showcase (landing pages) */
.rv-score { font-size: 3.4rem; font-weight: 800; line-height: 1; }
.rv-source {
  font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
  color: rgb(var(--brand-400)); background: rgb(var(--brand-500) / .1);
  border: 1px solid rgb(var(--brand-500) / .25); border-radius: 999px; padding: 3px 9px;
}
.rv-card {
  position: relative; padding: 1.4rem 1.5rem 1.25rem;
  background: rgba(255,255,255,.028); border: 1px solid rgba(255,255,255,.07);
  border-left: 3px solid rgb(var(--brand-500) / .55);
  border-radius: .9rem;
  transition: background .35s ease, border-color .35s ease, transform .35s ease;
}
.rv-card:hover { background: rgba(255,255,255,.05); border-left-color: rgb(var(--brand-500)); transform: translateY(-3px); }
.rv-card-source { font-size: 10px; font-weight: 600; color: #8f8f8f; text-transform: uppercase; letter-spacing: .05em; }
.rv-quote { font-size: .875rem; line-height: 1.7; color: #d0d0d0; margin: 0 0 1.1rem; }
.rv-quote::before { content: '“'; color: rgb(var(--brand-500) / .5); font-size: 1.6rem; line-height: 0; vertical-align: -.15em; margin-right: 2px; }
.rv-foot { display: flex; align-items: center; gap: .7rem; padding-top: .9rem; border-top: 1px solid rgba(255,255,255,.06); }
.rv-avatar { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.rv-name { font-size: .82rem; font-weight: 700; color: #fff; display: flex; align-items: center; gap: 5px; }
.rv-verified { color: rgb(var(--brand-500)); display: inline-flex; }
.rv-role { font-size: .72rem; color: #8a8a8a; }

/* Sticky mobile CTA bar */
.lp-sticky {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
  display: flex; gap: 8px; padding: 10px 12px;
  background: rgba(13,14,18,.94); backdrop-filter: blur(16px);
  border-top: 1px solid rgba(255,255,255,.08);
}
.lp-sticky-btn {
  flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  padding: .8rem .5rem; border-radius: 999px; font-size: 13px; font-weight: 600;
  color: rgb(var(--brand-400)); background: rgb(var(--brand-500) / .1);
  border: 1px solid rgb(var(--brand-500) / .3); text-decoration: none;
}
.lp-sticky-primary {
  color: #fff; border-color: transparent;
  background: linear-gradient(135deg, rgb(var(--brand-500)), rgb(var(--brand-600)));
  flex: 1.3;
}
@media (max-width: 1023px) { .lp-body { padding-bottom: 68px; } }

/* Portfolio lightbox */
.port-card.has-gallery { cursor: pointer; }
.plb { position: fixed; inset: 0; z-index: 100000; display: none; align-items: center; justify-content: center; }
.plb.is-open { display: flex; }
.plb-bg { position: absolute; inset: 0; background: rgba(0,0,0,0.9); backdrop-filter: blur(6px); }
.plb-inner {
  position: relative; z-index: 1; width: min(94vw, 1100px); max-height: 92vh;
  display: flex; align-items: center; justify-content: center; gap: 0.5rem;
}
.plb-stage { flex: 1; display: flex; align-items: center; justify-content: center; min-height: 0; max-height: 82vh; }
.plb-img { max-width: 100%; max-height: 82vh; border-radius: 0.8rem; box-shadow: 0 20px 60px rgba(0,0,0,0.6); object-fit: contain; }
.plb-close { position: absolute; top: -2.6rem; right: 0; background: none; border: none; color: #fff; cursor: pointer; opacity: 0.85; }
.plb-close:hover { opacity: 1; }
.plb-nav {
  flex: 0 0 auto; width: 44px; height: 44px; border-radius: 999px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  background: rgb(var(--brand-500) / 0.12); border: 1px solid rgb(var(--brand-500) / 0.35); color: #fff;
  transition: all 0.25s ease;
}
.plb-nav:hover:not(:disabled) { background: rgb(var(--brand-500) / 0.25); border-color: rgb(var(--brand-500) / 0.6); }
.plb-nav:disabled { opacity: 0.35; cursor: default; }
.plb-prev svg { transform: rotate(180deg); }
.plb-caption { position: absolute; bottom: -2.8rem; left: 0; right: 0; text-align: center; color: #fff; }
.plb-title { font-weight: 600; font-size: 0.95rem; }
.plb-count { color: #a3a3a3; font-size: 0.8rem; margin-top: 2px; }
body.plb-lock { overflow: hidden; }
@media (max-width: 640px) {
  .plb-nav { width: 38px; height: 38px; }
  .plb-caption { bottom: -3.4rem; }
}

/* Pagination */
.neurova-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.neurova-pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 40px; height: 40px; padding: 0 0.75rem; border-radius: 0.7rem;
  background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.06);
  color: #a3a3a3; font-size: 0.85rem; transition: all 0.25s ease;
}
.neurova-pagination a.page-numbers:hover { color: #fff; border-color: rgb(var(--brand-500) / 0.4); }
.neurova-pagination .page-numbers.current {
  background: linear-gradient(135deg, rgb(var(--brand-500)), rgb(var(--brand-600)));
  color: #fff; border-color: transparent;
}

@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal-left, .reveal-right { opacity:1 !important; transform:none !important; }
  .float-anim, .float-anim-d1, .marquee-track, .pulse-ring::after { animation: none !important; }
}
