:root {
  --sv-blue: #20a9e0;
  --sv-red: #ff171f;
  --sv-blue-2: #078cc8;
  --sv-black: #020305;
  --sv-panel: #090d12;
  --sv-white: #fff;
  --sv-muted: #cbd3dc;
  --sv-border: rgba(255,255,255,.24);
  --sv-max: 1536px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #06090c; color: var(--sv-white); font-family: Montserrat, Arial, sans-serif; }
a { color: inherit; }
img { display: block; max-width: 100%; }
.screen-reader-text { position: absolute; left: -9999px; }
.site-main { min-height: 50vh; }

.sv-front-page .site-main { max-width: var(--sv-max); margin: 0 auto; background: #050709; box-shadow: 0 0 70px rgba(0,0,0,.6); }
.sv-front-page .site-footer { max-width: var(--sv-max); margin: 0 auto; }

.sv-hero { position: relative; min-height: 462px; overflow: hidden; background: linear-gradient(90deg, #020406 0%, #05080a 48%, #111820 100%); border-bottom: 5px solid #fff; }
.sv-hero__visual { position: absolute; inset: 0 0 0 auto; width: 62%; background-image: linear-gradient(90deg, #050709 0%, rgba(5,7,9,.35) 20%, rgba(5,7,9,0) 45%), url('../images/hero-product-neon.jpg'); background-size: cover; background-position: center right; }
.sv-hero__visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.25)); }
.sv-hero__inner { position: relative; z-index: 2; width: 100%; max-width: 1450px; margin: 0 auto; padding: 42px 48px 112px; }
.sv-hero__copy { max-width: 610px; }
.sv-eyebrow { margin: 0 0 13px; color: var(--sv-blue); font-family: Oswald, sans-serif; font-size: 21px; letter-spacing: .04em; }
.sv-hero h1 { margin: 0; font-family: Oswald, Impact, sans-serif; font-size: clamp(46px, 5vw, 74px); line-height: .98; letter-spacing: .01em; text-transform: uppercase; text-shadow: 0 2px 15px rgba(0,0,0,.7); }
.sv-hero h1 span, .sv-hero h1 strong { display: block; }
.sv-hero h1 strong { color: var(--sv-blue); font-weight: 700; margin-top: 6px; }
.sv-intro { max-width: 560px; margin: 18px 0 22px; color: #f3f5f7; font-size: 16px; line-height: 1.45; text-shadow: 0 2px 8px rgba(0,0,0,.8); }
.sv-actions { display: flex; gap: 18px; flex-wrap: wrap; }
.sv-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 35px; border: 1px solid transparent; border-radius: 2px; text-decoration: none; font-size: 13px; font-weight: 800; letter-spacing: .02em; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.sv-button:hover { transform: translateY(-2px); }
.sv-button--primary { background: linear-gradient(180deg, #2497ee, #147bd3); box-shadow: 0 10px 24px rgba(0,119,220,.25); }
.sv-button--primary:hover { background: #2aa2ff; }
.sv-button--ghost { border-color: rgba(255,255,255,.65); background: rgba(0,0,0,.45); }
.sv-button--ghost:hover { border-color: #fff; background: rgba(255,255,255,.08); }

.sv-proof { position: absolute; z-index: 3; left: 47px; bottom: 22px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: min(690px, 49%); }
.sv-proof__item { display: flex; gap: 12px; align-items: flex-start; min-height: 58px; padding: 7px 17px; border-right: 1px solid rgba(255,255,255,.25); }
.sv-proof__item:first-child { padding-left: 0; }
.sv-proof__item:last-child { border-right: 0; }
.sv-proof__icon { color: var(--sv-blue); font-size: 29px; line-height: 1; }
.sv-proof strong { display: block; font-size: 10px; margin-bottom: 5px; }
.sv-proof small { display: block; color: #f4f4f4; font-size: 9px; line-height: 1.35; }

.sv-category-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; padding: 0 6px 5px; background: #fff; }
.sv-category { position: relative; overflow: hidden; background: #111; aspect-ratio: 2.19 / 1; }
.sv-category img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease, filter .35s ease; }
.sv-category::after { content: ''; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.12); pointer-events: none; }
.sv-category:hover img { transform: scale(1.025); filter: brightness(1.08); }

.sv-custom-cta { background: linear-gradient(90deg, #131a21, #10161c); border-top: 1px solid rgba(255,255,255,.2); }
.sv-custom-cta__inner { min-height: 90px; max-width: 1080px; margin: 0 auto; padding: 18px 24px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 36px; }
.sv-custom-cta__title { display: flex; align-items: center; gap: 14px; font-family: Oswald, sans-serif; font-size: 27px; white-space: nowrap; }
.sv-tag-icon { font-size: 34px; }
.sv-custom-cta p { margin: 0; font-size: 14px; line-height: 1.45; color: #f0f2f4; }

.site-header { position: sticky; top: 0; z-index: 20; background: rgba(4,7,10,.95); border-bottom: 1px solid rgba(255,255,255,.12); backdrop-filter: blur(10px); }
.site-header__inner { max-width: 1180px; margin: 0 auto; min-height: 76px; padding: 12px 24px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.site-brand { font-family: Oswald, sans-serif; font-size: 24px; font-weight: 700; text-decoration: none; }
.custom-logo { max-height: 54px; width: auto; }
.site-nav ul { list-style: none; display: flex; gap: 24px; margin: 0; padding: 0; }
.site-nav a { text-decoration: none; font-size: 14px; font-weight: 700; }
.site-nav a:hover { color: var(--sv-blue); }
.menu-toggle { display: none; }

.content-wrap { width: min(1120px, calc(100% - 40px)); margin: 50px auto; }
.content-card { background: #10161d; border: 1px solid rgba(255,255,255,.1); border-radius: 6px; padding: clamp(26px, 5vw, 58px); box-shadow: 0 24px 60px rgba(0,0,0,.25); }
.content-card h1, .content-card h2 { font-family: Oswald, sans-serif; text-transform: uppercase; }
.content-card a { color: #4dafff; }
.custom-order-placeholder { margin-top: 30px; padding: 24px; border: 1px dashed rgba(255,255,255,.35); background: rgba(255,255,255,.03); }

.site-footer { background: #05080b; border-top: 1px solid rgba(255,255,255,.14); }
.site-footer__inner { max-width: 1180px; margin: 0 auto; padding: 35px 24px; display: grid; grid-template-columns: 1.4fr 1fr auto; gap: 30px; align-items: start; color: #bfc8d1; font-size: 13px; }
.site-footer strong { color: #fff; font-size: 17px; }
.site-footer p { max-width: 470px; }
.site-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.site-footer a { text-decoration: none; }
.site-footer a:hover { color: var(--sv-blue); }
.copyright { white-space: nowrap; }

.woocommerce-wrap { background: #fff; color: #111; padding: 30px; border-radius: 6px; }
.woocommerce a { color: #126db5; }
.woocommerce button.button, .woocommerce a.button, .woocommerce input.button { background: #1787e5 !important; color: #fff !important; }

@media (max-width: 1050px) {
  .sv-hero__visual { width: 70%; opacity: .72; }
  .sv-hero__inner { padding-left: 30px; }
  .sv-proof { left: 30px; width: calc(100% - 60px); }
}
@media (max-width: 760px) {
  .sv-hero { min-height: 650px; }
  .sv-hero__visual { inset: 270px 0 76px 0; width: 100%; background-position: 57% center; opacity: .82; }
  .sv-hero__visual::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #050709 0%, transparent 18%, transparent 70%, #050709 100%); z-index: 1; }
  .sv-hero__inner { padding: 28px 20px 350px; }
  .sv-hero h1 { font-size: 47px; }
  .sv-intro { font-size: 14px; }
  .sv-actions { gap: 10px; }
  .sv-button { width: 100%; }
  .sv-proof { position: absolute; left: 0; bottom: 0; width: 100%; grid-template-columns: repeat(2, 1fr); padding: 8px 14px 10px; background: rgba(3,5,7,.9); }
  .sv-proof__item { border-right: 0; padding: 7px 5px; }
  .sv-proof__icon { font-size: 23px; }
  .sv-category-grid { grid-template-columns: 1fr; }
  .sv-category { aspect-ratio: 2.12 / 1; }
  .sv-custom-cta__inner { grid-template-columns: 1fr; text-align: center; gap: 12px; padding: 24px; }
  .sv-custom-cta__title { justify-content: center; }
  .site-footer__inner { grid-template-columns: 1fr; }
  .site-nav { display: none; position: absolute; top: 76px; left: 0; right: 0; background: #080c10; padding: 20px 24px; }
  .site-nav.is-open { display: block; }
  .site-nav ul { flex-direction: column; }
  .menu-toggle { display: inline-block; color: white; background: transparent; border: 1px solid rgba(255,255,255,.5); padding: 8px 12px; }
}

/* Interior page system */
.site-header__cta { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 18px; border-radius: 2px; background: var(--sv-blue); color: #fff; text-decoration: none; font-size: 11px; font-weight: 800; letter-spacing: .04em; white-space: nowrap; }
.site-header__cta:hover { background: #2aa2ff; }
.sv-footer-contact { color: #4dafff; font-weight: 700; text-decoration: none; }

.sv-page-container { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
.sv-page-hero { position: relative; min-height: 520px; display: flex; align-items: center; overflow: hidden; background: #080c10; }
.sv-page-hero::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(90deg, #06090d 0%, rgba(6,9,13,.92) 43%, rgba(6,9,13,.3) 72%, rgba(6,9,13,.1) 100%), var(--sv-page-image); background-size: cover; background-position: center; }
.sv-page-hero::after { content: ''; position: absolute; inset: auto 0 0; height: 120px; background: linear-gradient(transparent, #06090c); }
.sv-page-hero__inner { position: relative; z-index: 2; width: min(1160px, calc(100% - 40px)); margin: 0 auto; padding: 82px 0 92px; }
.sv-page-hero__inner > * { max-width: 650px; }
.sv-page-hero h1, .sv-simple-hero h1 { margin: 4px 0 18px; font-family: Oswald, Impact, sans-serif; font-size: clamp(50px, 6vw, 82px); line-height: .98; text-transform: uppercase; letter-spacing: .01em; }
.sv-page-hero__inner > p:not(.sv-eyebrow), .sv-simple-hero .sv-page-container > p:not(.sv-eyebrow) { color: #e2e8ee; font-size: 18px; line-height: 1.65; }
.sv-page-hero .sv-actions { margin-top: 30px; }
.sv-page-hero--about::before { background-image: radial-gradient(circle at 75% 50%, rgba(27,139,233,.16), transparent 30%), linear-gradient(110deg, #06090d 0%, #0a1016 65%, #121c25 100%); }
.sv-page-hero--custom::before { background-image: radial-gradient(circle at 76% 30%, rgba(27,139,233,.22), transparent 25%), linear-gradient(110deg, #06090d 0%, #0b1118 58%, #111e29 100%); }

.sv-simple-hero { padding: 95px 0 72px; background: radial-gradient(circle at 78% 25%, rgba(25,139,233,.15), transparent 24%), linear-gradient(120deg, #05080b, #111a23); border-bottom: 1px solid rgba(255,255,255,.1); }
.sv-simple-hero h1 { max-width: 900px; font-size: clamp(48px, 6vw, 74px); }
.sv-simple-hero p { max-width: 720px; margin-bottom: 0; }
.sv-simple-hero--shop { padding-bottom: 55px; }

.sv-page-section { padding: 88px 0; background: #070b0f; }
.sv-page-section--muted { background: #0b1117; border-top: 1px solid rgba(255,255,255,.07); border-bottom: 1px solid rgba(255,255,255,.07); }
.sv-page-section--split { background: linear-gradient(110deg, #090e13, #101820); }
.sv-page-section--products { background: #f5f7f9; color: #111820; }
.sv-section-heading { max-width: 770px; margin-bottom: 40px; }
.sv-section-heading--row { max-width: none; display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; }
.sv-section-heading h2, .sv-page-section h2, .sv-bottom-cta h2, .sv-form-panel h2, .sv-sidebar-cta h2 { margin: 6px 0 18px; font-family: Oswald, Impact, sans-serif; font-size: clamp(34px, 4vw, 52px); line-height: 1.06; text-transform: uppercase; }
.sv-page-section--products .sv-eyebrow { color: #0879d5; }
.sv-large-copy { color: #d5dde5; font-size: 18px; line-height: 1.78; }
.sv-large-copy p:first-child { margin-top: 0; }
.sv-text-link { display: inline-block; color: #36a0f1; font-weight: 800; text-decoration: none; }
.sv-text-link:hover { color: #78c5ff; }

.sv-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.sv-feature-card { min-height: 260px; padding: 30px; background: linear-gradient(145deg, #111922, #0b1016); border: 1px solid rgba(255,255,255,.1); box-shadow: 0 16px 38px rgba(0,0,0,.18); }
.sv-feature-number { display: block; color: var(--sv-blue); font-family: Oswald, sans-serif; font-size: 17px; font-weight: 700; letter-spacing: .08em; }
.sv-feature-card h3 { margin: 45px 0 12px; font-family: Oswald, sans-serif; font-size: 25px; text-transform: uppercase; }
.sv-feature-card p { margin: 0; color: #c6d0da; line-height: 1.65; }

.sv-split-layout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; align-items: center; }
.sv-uses-card { padding: 34px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.14); }
.sv-uses-card h3 { margin: 0 0 22px; font-family: Oswald, sans-serif; font-size: 27px; text-transform: uppercase; }
.sv-chip-list { display: flex; flex-wrap: wrap; gap: 10px; }
.sv-chip-list span { padding: 10px 13px; background: #111b24; border: 1px solid rgba(73,174,255,.24); color: #eaf5ff; font-size: 13px; }

.sv-product-shortcode .woocommerce ul.products { margin-bottom: 0; }
.sv-product-shortcode .woocommerce ul.products li.product { padding: 14px 14px 20px; background: #fff; border: 1px solid #dde3e8; box-shadow: 0 12px 30px rgba(15,31,45,.08); }
.sv-product-shortcode .woocommerce ul.products li.product .woocommerce-loop-product__title { color: #111820; font-weight: 800; }
.sv-product-shortcode .woocommerce ul.products li.product .price { color: #0879d5; font-weight: 800; }
.sv-empty-products { padding: 45px; border: 2px dashed #cad3dc; background: #fff; text-align: center; }
.sv-empty-products h3 { margin: 0 0 10px; font-family: Oswald, sans-serif; font-size: 30px; text-transform: uppercase; }

.sv-bottom-cta { padding: 55px 0; background: linear-gradient(90deg, #0e151c, #152534); border-top: 1px solid rgba(255,255,255,.12); }
.sv-bottom-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.sv-bottom-cta h2 { margin-bottom: 0; }

.sv-story-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: start; }
.sv-equipment-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.sv-equipment-card { padding: 34px; background: #101820; border-top: 3px solid var(--sv-blue); }
.sv-equipment-card span, .sv-contact-card > span { color: #4db1ff; font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.sv-equipment-card h3 { margin: 16px 0 10px; font-family: Oswald, sans-serif; font-size: 26px; text-transform: uppercase; }
.sv-equipment-card p { color: #cbd4dd; line-height: 1.65; }

.sv-faq-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 50px; align-items: start; }
.sv-faq-list { display: grid; gap: 12px; }
.sv-faq-item { background: #0e151c; border: 1px solid rgba(255,255,255,.1); }
.sv-faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 24px; cursor: pointer; font-weight: 800; list-style: none; }
.sv-faq-item summary::-webkit-details-marker { display: none; }
.sv-faq-item summary span { color: var(--sv-blue); font-size: 25px; font-weight: 400; transition: transform .2s; }
.sv-faq-item[open] summary span { transform: rotate(45deg); }
.sv-faq-item div { padding: 0 24px 22px; color: #c9d3dc; line-height: 1.7; }
.sv-faq-item div p { margin: 0; }
.sv-sidebar-cta { position: sticky; top: 108px; padding: 30px; background: linear-gradient(145deg, #132332, #0c141c); border: 1px solid rgba(75,176,255,.22); }
.sv-sidebar-cta p { color: #cbd5dd; line-height: 1.65; }

.sv-contact-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 32px; align-items: start; }
.sv-contact-aside { display: grid; gap: 18px; }
.sv-contact-card { padding: 28px; background: #0e151c; border: 1px solid rgba(255,255,255,.1); }
.sv-contact-card h3 { margin: 12px 0 10px; font-family: Oswald, sans-serif; font-size: 25px; text-transform: uppercase; }
.sv-contact-card p { color: #c8d1da; line-height: 1.6; }

.sv-form-panel { padding: clamp(25px, 5vw, 46px); background: #10171f; border: 1px solid rgba(255,255,255,.1); box-shadow: 0 22px 50px rgba(0,0,0,.2); }
.sv-form-panel h2 { margin-top: 0; }
.sv-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.sv-form label { display: grid; gap: 8px; }
.sv-form label > span { color: #edf4fa; font-size: 12px; font-weight: 800; letter-spacing: .035em; }
.sv-form input, .sv-form select, .sv-form textarea { width: 100%; border: 1px solid rgba(255,255,255,.18); border-radius: 2px; background: #070b0f; color: #fff; padding: 13px 14px; font: inherit; }
.sv-form input:focus, .sv-form select:focus, .sv-form textarea:focus { outline: 2px solid rgba(34,155,244,.35); border-color: var(--sv-blue); }
.sv-form input[type="file"] { padding: 10px; }
.sv-form small { color: #9eabb7; line-height: 1.4; }
.sv-field-wide { grid-column: 1 / -1; }
.sv-form .sv-button { margin-top: 22px; cursor: pointer; }
.sv-hp { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.sv-form-notice { margin: 0 0 22px; padding: 14px 16px; border-left: 4px solid; }
.sv-form-notice--success { background: rgba(45,181,91,.12); border-color: #2db55b; }
.sv-form-notice--error { background: rgba(227,71,71,.12); border-color: #e34747; }

.sv-process-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.12); }
.sv-process-strip > div { padding: 30px; background: #0c1218; }
.sv-process-strip span { color: var(--sv-blue); font-family: Oswald, sans-serif; font-size: 18px; }
.sv-process-strip strong { display: block; margin: 16px 0 8px; font-family: Oswald, sans-serif; font-size: 24px; text-transform: uppercase; }
.sv-process-strip p { margin: 0; color: #c8d1da; line-height: 1.6; }
.sv-quote-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 55px; align-items: start; }
.sv-tip-box { margin-top: 30px; padding: 24px; background: rgba(25,139,233,.08); border-left: 3px solid var(--sv-blue); }
.sv-tip-box p { margin-bottom: 0; color: #cbd5dd; line-height: 1.6; }

.woocommerce-wrap { width: min(1180px, calc(100% - 40px)); margin: 45px auto 80px; padding: clamp(20px, 4vw, 42px); }
.woocommerce div.product div.images img { border: 1px solid #e2e7eb; }
.woocommerce div.product .product_title { font-family: Oswald, sans-serif; text-transform: uppercase; font-size: 42px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: #0879d5; font-weight: 800; }
.woocommerce .quantity .qty { min-height: 42px; }
.woocommerce-message, .woocommerce-info { border-top-color: #1687e4; }
.woocommerce-message::before, .woocommerce-info::before { color: #1687e4; }

@media (max-width: 1050px) {
  .site-header__cta { display: none; }
  .sv-split-layout, .sv-story-grid, .sv-quote-layout { gap: 42px; }
}
@media (max-width: 820px) {
  .sv-feature-grid, .sv-equipment-grid, .sv-process-strip { grid-template-columns: 1fr; }
  .sv-split-layout, .sv-story-grid, .sv-quote-layout, .sv-contact-layout, .sv-faq-layout { grid-template-columns: 1fr; }
  .sv-sidebar-cta { position: static; }
  .sv-section-heading--row, .sv-bottom-cta__inner { align-items: flex-start; flex-direction: column; }
  .sv-page-hero::before { background-image: linear-gradient(180deg, rgba(6,9,13,.62), #06090d 86%), var(--sv-page-image); background-position: center; }
  .sv-page-hero__inner { padding: 72px 0; }
}
@media (max-width: 600px) {
  .sv-page-container, .sv-page-hero__inner { width: min(100% - 30px, 1160px); }
  .sv-page-section { padding: 60px 0; }
  .sv-page-hero { min-height: 470px; }
  .sv-page-hero h1, .sv-simple-hero h1 { font-size: 47px; }
  .sv-simple-hero { padding: 70px 0 55px; }
  .sv-form-grid { grid-template-columns: 1fr; }
  .sv-field-wide { grid-column: auto; }
  .sv-feature-card { min-height: 0; }
  .sv-feature-card h3 { margin-top: 28px; }
  .woocommerce-wrap { width: calc(100% - 24px); padding: 15px; }
}

/* =========================================================
   SLAPPIN VINYL NEON EDGE — RED / ELECTRIC BLUE REDESIGN
   ========================================================= */
body {
  background:
    radial-gradient(circle at 12% 22%, rgba(0,156,224,.08), transparent 25%),
    radial-gradient(circle at 90% 28%, rgba(255,23,31,.07), transparent 24%),
    #020305;
  color: #fff;
}
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .16;
  background-image:
    linear-gradient(30deg, rgba(255,255,255,.022) 12%, transparent 12.5%, transparent 87%, rgba(255,255,255,.022) 87.5%, rgba(255,255,255,.022)),
    linear-gradient(150deg, rgba(255,255,255,.022) 12%, transparent 12.5%, transparent 87%, rgba(255,255,255,.022) 87.5%, rgba(255,255,255,.022)),
    linear-gradient(30deg, rgba(255,255,255,.022) 12%, transparent 12.5%, transparent 87%, rgba(255,255,255,.022) 87.5%, rgba(255,255,255,.022)),
    linear-gradient(150deg, rgba(255,255,255,.022) 12%, transparent 12.5%, transparent 87%, rgba(255,255,255,.022) 87.5%, rgba(255,255,255,.022));
  background-size: 52px 90px;
  background-position: 0 0, 0 0, 26px 45px, 26px 45px;
  z-index: -1;
}

/* Header */
.site-header {
  background: rgba(0,0,0,.96);
  border-bottom: 1px solid rgba(255,255,255,.1);
  box-shadow: 0 8px 30px rgba(0,0,0,.42);
}
.site-header::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--sv-blue), transparent 43%, var(--sv-red), transparent);
  opacity: .58;
}
.site-header__inner {
  max-width: 1420px;
  min-height: 94px;
  padding: 10px 38px;
}
.site-brand {
  flex: 0 0 245px;
  line-height: 0;
}
.site-brand > a,
.site-brand .custom-logo-link { display: inline-block; }
.sv-bundled-logo,
.custom-logo {
  width: auto;
  max-width: 230px;
  max-height: 72px;
  object-fit: contain;
}
.site-nav { margin-left: auto; }
.site-nav ul { gap: clamp(18px, 2.2vw, 37px); align-items: center; }
.site-nav a {
  position: relative;
  color: #f4f6f8;
  font-family: Oswald, sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.site-nav a::after {
  content: '';
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -8px;
  height: 2px;
  background: linear-gradient(90deg, var(--sv-blue), var(--sv-red));
  transition: right .2s ease;
}
.site-nav a:hover { color: #fff; }
.site-nav a:hover::after,
.site-nav .current-menu-item > a::after { right: 0; }
.site-header__tools { display: flex; align-items: center; gap: 18px; }
.sv-cart-link {
  position: relative;
  display: inline-flex;
  width: 41px;
  height: 41px;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
}
.sv-cart-link svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.sv-cart-link span {
  position: absolute;
  right: -2px;
  top: -3px;
  display: grid;
  place-items: center;
  min-width: 19px;
  height: 19px;
  padding: 0 4px;
  border-radius: 20px;
  background: var(--sv-red);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
}
.site-header__cta {
  min-height: 42px;
  padding: 0 24px;
  border: 1px solid var(--sv-red);
  border-radius: 4px;
  background: var(--sv-red);
  box-shadow: 0 0 22px rgba(255,23,31,.22);
  font-family: Oswald, sans-serif;
  font-size: 13px;
}
.site-header__cta:hover { background: #ff343b; box-shadow: 0 0 30px rgba(255,23,31,.38); }

/* Homepage hero */
.sv-front-page .site-main,
.sv-front-page .site-footer { max-width: 1536px; }
.sv-neon-hero {
  min-height: 468px;
  border-bottom: 0;
  background:
    radial-gradient(circle at 12% 35%, rgba(0,153,219,.13), transparent 30%),
    linear-gradient(90deg, #020305 0%, #04070a 54%, #07070a 100%);
}
.sv-neon-hero::before {
  content: '';
  position: absolute;
  left: -7%;
  top: 12%;
  width: 48%;
  height: 72%;
  background: radial-gradient(circle, rgba(0,153,219,.10), transparent 65%);
  filter: blur(10px);
}
.sv-neon-hero .sv-hero__visual {
  width: 56%;
  background-image:
    linear-gradient(90deg, #020305 0%, rgba(2,3,5,.52) 20%, rgba(2,3,5,.06) 47%),
    linear-gradient(180deg, transparent 70%, rgba(0,0,0,.55) 100%),
    url('../images/hero-product-neon.jpg');
  background-size: cover;
  background-position: center center;
  opacity: 1;
}
.sv-neon-hero .sv-hero__visual::before {
  content: '';
  position: absolute;
  inset: 0;
  box-shadow: inset 50px 0 90px rgba(0,0,0,.38);
}
.sv-neon-hero .sv-hero__inner {
  max-width: 1420px;
  padding: 34px 54px 116px;
}
.sv-neon-hero .sv-hero__copy { max-width: 650px; }
.sv-neon-hero .sv-eyebrow {
  color: var(--sv-blue);
  font-size: 20px;
  text-shadow: 0 0 18px rgba(32,169,224,.27);
}
.sv-neon-hero h1 {
  font-size: clamp(48px, 5vw, 69px);
  line-height: .98;
  text-shadow: 0 2px 22px rgba(0,0,0,.9);
}
.sv-neon-hero h1 strong { display: block; margin-top: 8px; color: inherit; }
.sv-neon-hero h1 strong em,
.sv-neon-hero h1 strong b { font-style: normal; }
.sv-neon-hero h1 strong em { color: var(--sv-blue); }
.sv-neon-hero h1 strong b { color: var(--sv-red); }
.sv-neon-hero .sv-intro {
  max-width: 520px;
  color: #eef2f5;
  font-size: 16px;
  line-height: 1.5;
}
.sv-button {
  gap: 14px;
  min-height: 46px;
  border-radius: 4px;
  font-family: Montserrat, sans-serif;
}
.sv-button--primary {
  background: var(--sv-red);
  box-shadow: 0 9px 25px rgba(255,23,31,.22);
}
.sv-button--primary:hover { background: #ff343b; box-shadow: 0 10px 32px rgba(255,23,31,.34); }
.sv-button--ghost {
  border-color: var(--sv-blue);
  background: rgba(0,0,0,.64);
  box-shadow: inset 0 0 18px rgba(32,169,224,.04), 0 0 18px rgba(32,169,224,.08);
}
.sv-button--ghost:hover {
  border-color: #51c7f5;
  background: rgba(32,169,224,.10);
  box-shadow: 0 0 25px rgba(32,169,224,.18);
}
.sv-neon-hero .sv-proof {
  left: 54px;
  width: min(720px, 51%);
  bottom: 22px;
}
.sv-neon-hero .sv-proof__item { border-color: rgba(255,255,255,.18); }
.sv-proof__icon {
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border: 2px solid var(--sv-blue);
  border-radius: 50%;
  color: var(--sv-blue);
  font-size: 20px;
  box-shadow: 0 0 15px rgba(32,169,224,.13);
}
.sv-proof strong { font-size: 10px; }
.sv-proof small { color: #dce4ea; }

/* Homepage category panels */
.sv-category-grid {
  gap: 12px;
  padding: 14px 74px 20px;
  background:
    linear-gradient(90deg, rgba(0,159,226,.04), transparent 30%, transparent 70%, rgba(255,23,31,.04)),
    #030609;
}
.sv-category {
  aspect-ratio: 2.02 / 1;
  border: 1px solid currentColor;
  border-radius: 5px;
  color: var(--sv-blue);
  box-shadow: 0 0 0 1px rgba(0,0,0,.7), 0 11px 28px rgba(0,0,0,.42), 0 0 16px rgba(32,169,224,.08);
}
.sv-category--red { color: var(--sv-red); box-shadow: 0 0 0 1px rgba(0,0,0,.7), 0 11px 28px rgba(0,0,0,.42), 0 0 16px rgba(255,23,31,.08); }
.sv-category img { object-position: center; filter: saturate(.92) contrast(1.04); }
.sv-category:hover img { transform: scale(1.045); filter: saturate(1.08) contrast(1.05) brightness(1.08); }
.sv-category__shade {
  position: absolute;
  inset: 38% 0 0;
  background: linear-gradient(transparent, rgba(1,2,4,.88) 58%, rgba(1,2,4,.98));
}
.sv-category__content {
  position: absolute;
  z-index: 2;
  left: 18px;
  right: 18px;
  bottom: 14px;
  display: grid;
  grid-template-columns: 48px minmax(0,1fr) auto;
  gap: 14px;
  align-items: center;
}
.sv-category__icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 2px solid currentColor;
  border-radius: 50%;
  font-size: 25px;
  font-weight: 400;
  line-height: 1;
  text-shadow: 0 0 12px currentColor;
}
.sv-category__copy { min-width: 0; }
.sv-category__copy strong {
  display: block;
  overflow: hidden;
  color: #fff;
  font-family: Oswald, sans-serif;
  font-size: clamp(15px, 1.4vw, 20px);
  line-height: 1.08;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.sv-category__copy small {
  display: block;
  margin-top: 4px;
  color: #d5dce2;
  font-size: 11px;
}
.sv-category__link {
  align-self: end;
  color: currentColor;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
.sv-category::after { border-color: rgba(255,255,255,.08); border-radius: 5px; }

/* Homepage bottom CTA */
.sv-custom-cta {
  position: relative;
  overflow: hidden;
  border-top: 1px solid var(--sv-blue);
  border-bottom: 1px solid var(--sv-red);
  background:
    linear-gradient(90deg, rgba(0,153,219,.09), transparent 35%, transparent 65%, rgba(255,23,31,.10)),
    #06090d;
}
.sv-custom-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: .2;
  background-image:
    linear-gradient(30deg, transparent 24%, rgba(32,169,224,.20) 25%, rgba(32,169,224,.20) 26%, transparent 27%, transparent 74%, rgba(255,23,31,.18) 75%, rgba(255,23,31,.18) 76%, transparent 77%);
  background-size: 56px 96px;
}
.sv-custom-cta__inner {
  position: relative;
  z-index: 2;
  max-width: 1040px;
  min-height: 98px;
}
.sv-custom-cta__title { font-size: 29px; }
.sv-custom-cta__title em { color: var(--sv-blue); font-style: normal; }
.sv-custom-cta__title strong { color: var(--sv-red); }
.sv-tag-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border: 2px solid var(--sv-red);
  transform: rotate(45deg);
  color: #fff;
  font-size: 23px;
}
.sv-tag-icon::first-letter { transform: rotate(-45deg); }

/* Interior page system */
.sv-simple-hero,
.sv-page-hero {
  border-bottom: 1px solid rgba(32,169,224,.30);
  background:
    radial-gradient(circle at 13% 32%, rgba(32,169,224,.17), transparent 26%),
    radial-gradient(circle at 88% 38%, rgba(255,23,31,.15), transparent 25%),
    linear-gradient(105deg, #030507, #090d12 60%, #080507);
}
.sv-simple-hero::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--sv-blue), transparent 50%, var(--sv-red), transparent);
}
.sv-page-hero::before {
  background-image:
    linear-gradient(90deg, #030507 0%, rgba(3,5,7,.94) 39%, rgba(3,5,7,.58) 66%, rgba(3,5,7,.18) 100%),
    var(--sv-page-image);
  filter: saturate(.92) contrast(1.08);
}
.sv-page-hero::after { background: linear-gradient(transparent, #030507); }
.sv-page-hero--about::before {
  background-image:
    radial-gradient(circle at 82% 32%, rgba(255,23,31,.14), transparent 27%),
    radial-gradient(circle at 68% 58%, rgba(32,169,224,.15), transparent 30%),
    linear-gradient(110deg, #030507 0%, #080c11 62%, #0a080b 100%);
}
.sv-page-hero--custom::before {
  background-image:
    radial-gradient(circle at 78% 27%, rgba(32,169,224,.20), transparent 25%),
    radial-gradient(circle at 88% 68%, rgba(255,23,31,.16), transparent 28%),
    linear-gradient(110deg, #030507 0%, #070c11 60%, #0b0709 100%);
}
.sv-page-hero h1,
.sv-simple-hero h1,
.sv-section-heading h2,
.sv-page-section h2,
.sv-bottom-cta h2,
.sv-form-panel h2,
.sv-sidebar-cta h2 {
  text-shadow: 0 2px 18px rgba(0,0,0,.65);
}
.sv-eyebrow { color: var(--sv-blue); }
.sv-page-section { background: #04070a; }
.sv-page-section--muted {
  background:
    linear-gradient(90deg, rgba(32,169,224,.035), transparent 45%, rgba(255,23,31,.035)),
    #080c10;
}
.sv-page-section--split {
  background:
    radial-gradient(circle at 12% 60%, rgba(32,169,224,.07), transparent 28%),
    radial-gradient(circle at 88% 40%, rgba(255,23,31,.06), transparent 28%),
    #070a0e;
}
.sv-page-section--products { background: #06090d; color: #fff; }
.sv-page-section--products .sv-eyebrow { color: var(--sv-blue); }
.sv-text-link { color: var(--sv-blue); }
.sv-text-link:hover { color: #69d2fa; }
.sv-feature-card {
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, #0d1319, #070a0e);
  border-color: rgba(32,169,224,.24);
  box-shadow: 0 16px 40px rgba(0,0,0,.3), inset 0 1px rgba(255,255,255,.025);
}
.sv-feature-card:nth-child(even) { border-color: rgba(255,23,31,.25); }
.sv-feature-card::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 3px;
  background: var(--sv-blue);
  box-shadow: 0 0 15px rgba(32,169,224,.35);
}
.sv-feature-card:nth-child(even)::before { background: var(--sv-red); box-shadow: 0 0 15px rgba(255,23,31,.35); }
.sv-feature-card:nth-child(even) .sv-feature-number { color: var(--sv-red); }
.sv-uses-card,
.sv-contact-card,
.sv-faq-item,
.sv-form-panel,
.sv-sidebar-cta {
  background: linear-gradient(145deg, #0d1319, #070a0e);
  border-color: rgba(32,169,224,.20);
  box-shadow: 0 18px 42px rgba(0,0,0,.24);
}
.sv-contact-card:nth-child(even) { border-color: rgba(255,23,31,.22); }
.sv-chip-list span {
  background: #081119;
  border-color: rgba(32,169,224,.27);
}
.sv-equipment-card {
  background: linear-gradient(145deg, #0d1319, #070a0e);
  border-top-color: var(--sv-blue);
}
.sv-equipment-card:nth-child(even) { border-top-color: var(--sv-red); }
.sv-equipment-card:nth-child(even) span { color: var(--sv-red); }
.sv-process-strip { border-color: rgba(32,169,224,.22); }
.sv-process-strip > div { background: #080c10; }
.sv-process-strip > div:nth-child(even) span { color: var(--sv-red); }
.sv-tip-box {
  background: rgba(32,169,224,.07);
  border-left-color: var(--sv-blue);
}
.sv-form input,
.sv-form select,
.sv-form textarea {
  background: #020407;
  border-color: rgba(255,255,255,.18);
}
.sv-form input:focus,
.sv-form select:focus,
.sv-form textarea:focus {
  outline-color: rgba(32,169,224,.30);
  border-color: var(--sv-blue);
  box-shadow: 0 0 14px rgba(32,169,224,.10);
}
.sv-form .sv-button { background: var(--sv-red); }
.sv-bottom-cta {
  background:
    linear-gradient(90deg, rgba(32,169,224,.09), transparent 42%, rgba(255,23,31,.09)),
    #080c10;
  border-top-color: rgba(32,169,224,.22);
}

/* WooCommerce */
.woocommerce-wrap {
  background: #070a0e;
  color: #fff;
  border: 1px solid rgba(32,169,224,.18);
}
.woocommerce ul.products li.product,
.sv-product-shortcode .woocommerce ul.products li.product {
  padding: 14px 14px 22px;
  background: linear-gradient(145deg, #0f151b, #080b0f);
  border: 1px solid rgba(32,169,224,.20);
  color: #fff;
  box-shadow: 0 14px 34px rgba(0,0,0,.28);
}
.woocommerce ul.products li.product:nth-child(even) { border-color: rgba(255,23,31,.20); }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.sv-product-shortcode .woocommerce ul.products li.product .woocommerce-loop-product__title { color: #fff; }
.woocommerce ul.products li.product .price,
.sv-product-shortcode .woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--sv-blue); }
.woocommerce a { color: var(--sv-blue); }
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  background: var(--sv-red) !important;
  color: #fff !important;
  border-radius: 3px !important;
}
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover { background: #ff343b !important; }
.woocommerce div.product .product_title { color: #fff; }
.woocommerce div.product div.summary,
.woocommerce div.product .woocommerce-tabs { color: #e8edf1; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: #0d1319; border-color: rgba(255,255,255,.14); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: #fff; }
.woocommerce-message,
.woocommerce-info { border-top-color: var(--sv-blue); background: #0c1319; color: #fff; }
.woocommerce-message::before,
.woocommerce-info::before { color: var(--sv-blue); }
.sv-empty-products { background: #0b1015; border-color: rgba(32,169,224,.32); color: #fff; }

/* Footer */
.site-footer {
  position: relative;
  overflow: hidden;
  background: #010203;
  border-top: 1px solid rgba(32,169,224,.18);
}
.site-footer__glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 8% 25%, rgba(32,169,224,.10), transparent 24%),
    radial-gradient(circle at 90% 38%, rgba(255,23,31,.08), transparent 25%);
}
.site-footer__inner {
  position: relative;
  z-index: 2;
  max-width: 1260px;
  grid-template-columns: 1.4fr .8fr auto;
  padding: 48px 28px;
}
.site-footer__brand img { width: 210px; max-height: 90px; object-fit: contain; margin-bottom: 8px; }
.sv-footer-contact { color: var(--sv-blue); }
.site-footer a:hover { color: var(--sv-red); }

@media (max-width: 1180px) {
  .site-header__inner { padding-left: 24px; padding-right: 24px; }
  .site-brand { flex-basis: 205px; }
  .sv-bundled-logo, .custom-logo { max-width: 200px; }
  .site-nav ul { gap: 18px; }
  .site-header__cta { padding: 0 16px; }
  .sv-category-grid { padding-left: 28px; padding-right: 28px; }
  .sv-neon-hero .sv-hero__inner { padding-left: 36px; }
  .sv-neon-hero .sv-proof { left: 36px; }
}
@media (max-width: 980px) {
  .site-header__tools .sv-cart-link { display: none; }
  .site-nav a { font-size: 12px; }
  .sv-neon-hero .sv-hero__visual { width: 64%; opacity: .72; }
  .sv-category__content { grid-template-columns: 42px 1fr; }
  .sv-category__link { display: none; }
}
@media (max-width: 760px) {
  .site-header__inner { min-height: 78px; }
  .site-brand { flex-basis: auto; }
  .sv-bundled-logo, .custom-logo { max-width: 180px; max-height: 60px; }
  .site-header__tools { display: none; }
  .menu-toggle { display: inline-block; border-color: var(--sv-blue); border-radius: 3px; font-family: Oswald, sans-serif; }
  .site-nav { top: 78px; background: rgba(1,3,5,.98); border-bottom: 1px solid var(--sv-blue); }
  .site-nav ul { gap: 18px; }
  .sv-neon-hero { min-height: 690px; }
  .sv-neon-hero .sv-hero__inner { padding: 30px 20px 402px; }
  .sv-neon-hero .sv-hero__visual {
    inset: 310px 0 105px;
    width: 100%;
    background-position: center;
    opacity: .94;
  }
  .sv-neon-hero .sv-hero__visual::after { background: linear-gradient(180deg, #020305, transparent 14%, transparent 78%, #020305); }
  .sv-neon-hero h1 { font-size: 47px; }
  .sv-neon-hero .sv-proof { left: 0; width: 100%; bottom: 0; }
  .sv-category-grid { grid-template-columns: 1fr; padding: 12px; gap: 12px; }
  .sv-category { aspect-ratio: 2.05 / 1; }
  .sv-category__content { grid-template-columns: 44px 1fr auto; }
  .sv-category__link { display: inline; }
  .sv-custom-cta__inner { padding: 28px 20px; }
  .site-footer__inner { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .sv-bundled-logo, .custom-logo { max-width: 155px; }
  .sv-neon-hero h1 { font-size: 40px; }
  .sv-neon-hero .sv-intro { font-size: 14px; }
  .sv-category { aspect-ratio: 1.65 / 1; }
  .sv-category__content { left: 13px; right: 13px; grid-template-columns: 40px 1fr; }
  .sv-category__icon { width: 39px; height: 39px; font-size: 21px; }
  .sv-category__copy strong { font-size: 16px; }
  .sv-category__link { display: none; }
}


/* Elementor compatibility -------------------------------------------------- */
.sv-elementor-content-area {
    width: 100%;
    min-width: 0;
}
.sv-elementor-content-area > .elementor {
    width: 100%;
}
.sv-elementor-bridge {
    display: none !important;
}
body.elementor-editor-active .site-main,
body.elementor-page .site-main {
    overflow: visible;
}
body.elementor-page .content-wrap,
body.elementor-page .content-card {
    max-width: none;
}
