/* ═══ MALL: Neon (neon) ═══ Genererad via design-workflow.
   Inre-sid-CSS-lager (omformar delade komponenter) + animationer. Scopat [data-template="neon"].
   Video-hero: ja. */

html[data-template="neon"]{--bg:#070510;--bg-soft:#0f0b1e;--ink:#ffffff;--ink-2:#e6e1f5;--muted:#9b93b8;--line:rgba(255,255,255,.10);--line-2:rgba(255,255,255,.18);--glow-1:#ff2e9a;--glow-2:#21e6ff;--ff-heading:var(--next-font-fustat),system-ui,sans-serif;--ff-body:var(--next-font-inter),system-ui,sans-serif;--radius:18px;--radius-lg:24px;--radius-sm:12px;--btn-radius:999px;--btn-pad:15px 30px;--btn-weight:700;--btn-transform:uppercase;--btn-tracking:.06em}
[data-template="neon"] body{background:var(--bg);color:var(--ink-2);background-image:radial-gradient(60% 50% at 12% -5%,rgba(255,46,154,.16),transparent 60%),radial-gradient(55% 45% at 95% 8%,rgba(33,230,255,.12),transparent 60%)}
[data-template="neon"] h1,[data-template="neon"] h2,[data-template="neon"] h3,[data-template="neon"] h4{color:var(--ink);letter-spacing:-.02em}
[data-template="neon"] a{color:inherit}
[data-template="neon"] .section{position:relative}
[data-template="neon"] .section:nth-child(even){background:var(--bg-soft);box-shadow:inset 0 1px 0 var(--line),inset 0 -1px 0 var(--line)}
[data-template="neon"] .eyebrow{color:var(--glow-2);background:rgba(33,230,255,.10);border:1px solid rgba(33,230,255,.35);border-radius:999px;text-shadow:0 0 12px rgba(33,230,255,.6)}
[data-template="neon"] .section-head h2{color:var(--ink);text-shadow:0 0 30px rgba(255,46,154,.25)}
[data-template="neon"] .section-head p{color:var(--muted)}
[data-template="neon"] .subhero{padding:160px 0 64px;background:radial-gradient(70% 60% at 18% 0%,rgba(255,46,154,.22),transparent 60%),radial-gradient(55% 55% at 92% 20%,rgba(33,230,255,.16),transparent 60%),var(--bg)}
[data-template="neon"] .subhero h1{color:var(--ink);text-shadow:0 0 40px rgba(255,46,154,.35)}
[data-template="neon"] .subhero__lead{color:var(--ink-2)}
[data-template="neon"] .subhero__crumbs{color:var(--muted)}
[data-template="neon"] .subhero__crumbs a:hover{color:var(--glow-2);text-shadow:0 0 10px rgba(33,230,255,.6)}
[data-template="neon"] .subhero__crumbs span{color:var(--line-2)}
[data-template="neon"] .subhero__answer{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid var(--line-2);box-shadow:0 0 0 1px rgba(255,46,154,.10),0 20px 50px rgba(0,0,0,.5)}
[data-template="neon"] .subhero__answer-label{color:var(--glow-2)}
[data-template="neon"] .subhero__answer-question{color:var(--ink)}
[data-template="neon"] .subhero__answer p{color:var(--ink-2)}
[data-template="neon"] .subhero__photo,[data-template="neon"] .photo{border:1px solid var(--line-2);box-shadow:0 0 0 1px rgba(33,230,255,.18),0 24px 60px rgba(0,0,0,.55);border-radius:var(--radius)}
[data-template="neon"] .card{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid var(--line);box-shadow:0 18px 44px rgba(0,0,0,.5)}
[data-template="neon"] .card::after{background:linear-gradient(90deg,var(--glow-1),var(--glow-2))}
[data-template="neon"] .card:hover{border-color:rgba(255,46,154,.55);box-shadow:0 0 0 1px rgba(255,46,154,.35),0 26px 60px rgba(255,46,154,.18)}
[data-template="neon"] .card h3{color:var(--ink)}
[data-template="neon"] .card p{color:var(--muted)}
[data-template="neon"] .card__image{background:#0c0a18;border-bottom:1px solid var(--line)}
[data-template="neon"] .card__icon{background:linear-gradient(135deg,rgba(255,46,154,.22),rgba(123,31,216,.16));border:1px solid rgba(255,46,154,.4);color:#fff;box-shadow:0 0 18px rgba(255,46,154,.3)}
[data-template="neon"] .card__price{color:var(--ink)}
[data-template="neon"] .card__price small{color:var(--muted)}
[data-template="neon"] .card__link{color:var(--glow-2);text-shadow:0 0 10px rgba(33,230,255,.5)}
[data-template="neon"] .card__image,[data-template="neon"] .article-card__media,[data-template="neon"] .area-service-card__media{filter:saturate(1.1)}
[data-template="neon"] .btn--primary{background:linear-gradient(110deg,var(--brand) 0%,var(--brand-deep) 100%);color:#fff;border:1px solid rgba(255,46,154,.6);box-shadow:0 0 22px rgba(255,46,154,.5),0 10px 30px rgba(123,31,216,.4);backdrop-filter:none}
[data-template="neon"] .btn--primary .btn__arrow{background:#fff;color:var(--brand-deep)}
[data-template="neon"] .btn--ghost{background:rgba(255,255,255,.04);color:#fff;border:1px solid rgba(33,230,255,.5);box-shadow:inset 0 0 12px rgba(33,230,255,.12)}
[data-template="neon"] .btn--ghost:hover{background:rgba(33,230,255,.10);box-shadow:0 0 18px rgba(33,230,255,.4)}
[data-template="neon"] .btn--ghost .btn__arrow{background:var(--glow-2);color:#05030d}
[data-template="neon"] .faq__item{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.01));border:1px solid var(--line)}
[data-template="neon"] .faq__q{color:var(--ink);background:transparent}
[data-template="neon"] .faq__icon{background:rgba(255,46,154,.16);color:var(--brand);border:1px solid rgba(255,46,154,.4);box-shadow:0 0 12px rgba(255,46,154,.3)}
[data-template="neon"] .faq__a p{color:var(--muted)}
[data-template="neon"] .form-card{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid var(--line-2);box-shadow:0 0 0 1px rgba(33,230,255,.12),0 30px 70px rgba(0,0,0,.6)}
[data-template="neon"] .field label{color:var(--ink-2)}
[data-template="neon"] .field input,[data-template="neon"] .field textarea,[data-template="neon"] .field select{background:rgba(5,3,13,.6);border:1px solid var(--line-2);color:var(--ink)}
[data-template="neon"] .field input::placeholder,[data-template="neon"] .field textarea::placeholder{color:var(--muted)}
[data-template="neon"] .field input:focus,[data-template="neon"] .field textarea:focus,[data-template="neon"] .field select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(255,46,154,.25),0 0 18px rgba(255,46,154,.3)}
[data-template="neon"] .field--check{color:var(--muted)}
[data-template="neon"] .form-step__bubble{background:rgba(5,3,13,.6);border:2px solid var(--line-2);color:var(--muted)}
[data-template="neon"] .form-step.is-active .form-step__bubble{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 0 0 5px rgba(255,46,154,.2),0 0 22px rgba(255,46,154,.6)}
[data-template="neon"] .file-drop{background:rgba(5,3,13,.5);border:1.5px dashed var(--line-2);color:var(--ink-2)}
[data-template="neon"] .file-drop:hover,[data-template="neon"] .file-drop.is-drag{border-color:var(--glow-2);background:rgba(33,230,255,.07);color:var(--glow-2)}
[data-template="neon"] .postal-check{background:rgba(15,11,30,.7);border:1px solid var(--line-2);backdrop-filter:blur(18px);box-shadow:0 0 0 1px rgba(255,46,154,.12),0 24px 60px rgba(0,0,0,.55)}
[data-template="neon"] .postal-check__title{color:var(--ink)}
[data-template="neon"] .postal-check__sub{color:var(--muted)}
[data-template="neon"] .postal-check__pin{background:linear-gradient(135deg,rgba(255,46,154,.25),rgba(123,31,216,.15));border:1px solid rgba(255,46,154,.4);color:#fff}
[data-template="neon"] .postal-check__row{background:rgba(5,3,13,.6);border:1px solid var(--line-2)}
[data-template="neon"] .postal-check__row input{color:var(--ink)}
[data-template="neon"] .postal-check__hint{background:linear-gradient(135deg,var(--brand),var(--brand-deep));box-shadow:0 0 16px rgba(255,46,154,.5)}
[data-template="neon"] .review-card,[data-template="neon"] .reviews-carousel__card{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 18px 44px rgba(0,0,0,.5)}
[data-template="neon"] .review-card blockquote,[data-template="neon"] .reviews-carousel__card blockquote{color:var(--ink)}
[data-template="neon"] .review-card__author{color:var(--ink)}
[data-template="neon"] .review-card__source{color:var(--muted)}
[data-template="neon"] .review-card__avatar{background:linear-gradient(135deg,var(--glow-1),var(--brand-deep));box-shadow:0 0 18px rgba(255,46,154,.4)}
[data-template="neon"] .cta-strip{background:radial-gradient(600px 320px at 80% 110%,rgba(33,230,255,.4),transparent 60%),linear-gradient(110deg,#1a0530 0%,#7b1fd8 55%,#ff2e9a 100%);box-shadow:0 0 0 1px rgba(255,46,154,.3),0 40px 100px rgba(123,31,216,.45)}
[data-template="neon"] .cta-strip h2{color:#fff;text-shadow:0 0 30px rgba(0,0,0,.4)}
[data-template="neon"] .cta-strip p{color:rgba(255,255,255,.9)}
[data-template="neon"] .cta-strip .btn--primary{background:#fff;color:#7b1fd8;border-color:#fff;box-shadow:0 0 26px rgba(255,255,255,.4)}
[data-template="neon"] .cta-strip .btn--primary .btn__arrow{background:#7b1fd8;color:#fff}
[data-template="neon"] .process__step{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.01));border:1px solid var(--line)}
[data-template="neon"] .process__step h3{color:var(--ink)}
[data-template="neon"] .process__step p{color:var(--muted)}
[data-template="neon"] .process__check{background:linear-gradient(135deg,var(--glow-1),var(--brand-deep));color:#fff;box-shadow:0 0 16px rgba(255,46,154,.45)}
[data-template="neon"] .trusted{background:var(--bg-soft);border:1px solid var(--line);box-shadow:inset 0 0 40px rgba(255,46,154,.05)}
[data-template="neon"] .trusted__label{color:var(--muted)}
[data-template="neon"] .trusted__row a{filter:grayscale(40%) brightness(0) invert(1);opacity:.55}
[data-template="neon"] .trusted__row a:hover{filter:none;opacity:1}
[data-template="neon"] .article-card,[data-template="neon"] .article-featured{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid var(--line);box-shadow:0 18px 44px rgba(0,0,0,.5)}
[data-template="neon"] .article-card:hover,[data-template="neon"] .article-featured:hover{border-color:rgba(255,46,154,.5);box-shadow:0 0 0 1px rgba(255,46,154,.3),0 26px 60px rgba(255,46,154,.15)}
[data-template="neon"] .article-card__body h3,[data-template="neon"] .article-featured__body h2{color:var(--ink)}
[data-template="neon"] .article-card__media,[data-template="neon"] .article-featured__media{background:#0c0a18}
[data-template="neon"] .pagination__btn{background:rgba(255,255,255,.04);border:1px solid var(--line-2);color:var(--ink-2)}
[data-template="neon"] .pagination__btn.is-active{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 0 18px rgba(255,46,154,.5)}
[data-template="neon"] .pagination__btn:hover:not(:disabled):not(.is-active){border-color:var(--glow-2);color:var(--glow-2)}
[data-template="neon"] .price-table{background:transparent;border:1px solid var(--line)}
[data-template="neon"] .price-table th{background:rgba(255,46,154,.10);color:var(--ink);border-bottom:1px solid var(--line)}
[data-template="neon"] .price-table td{color:var(--ink-2);border-bottom:1px solid var(--line)}
[data-template="neon"] .price-table .num{color:var(--glow-2)}
[data-template="neon"] .sitemap-block{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.01));border:1px solid var(--line)}
[data-template="neon"] .sitemap-block:hover{border-color:rgba(255,46,154,.45)}
[data-template="neon"] .sitemap-block h2{color:var(--ink)}
[data-template="neon"] .sitemap-block a{color:var(--muted)}
[data-template="neon"] .sitemap-block a:hover{color:var(--glow-2)}
[data-template="neon"] .footer{background:#05030d;border-top:1px solid var(--line);color:var(--muted)}
[data-template="neon"] .footer a{color:var(--muted)}
[data-template="neon"] .footer a:hover{color:var(--glow-2);text-shadow:0 0 10px rgba(33,230,255,.6)}
[data-template="neon"] .footer__bottom{border-top:1px solid var(--line);color:var(--muted)}

/* — Animationer (Neon), reduced-motion-säkrade —
   Hero-blob, CTA-glow och nav-understrykning ägs av CHROME-lagret (.ne-*).
   Här bor bara de delade inre-sid-effekterna (subhero/section). */
@keyframes neo-text-gradient{0%{background-position:0% 50%}100%{background-position:200% 50%}}
@keyframes neo-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: no-preference){
  [data-template="neon"] .subhero h1 em{background:linear-gradient(90deg,var(--glow-1),var(--glow-2),var(--glow-1));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:neo-text-gradient 5s linear infinite}
  [data-template="neon"] .section .card,[data-template="neon"] .section .review-card,[data-template="neon"] .section .article-card{animation:neo-rise .6s ease both}
}
@media (prefers-reduced-motion: reduce){
  [data-template="neon"] .subhero h1 em{background:linear-gradient(90deg,var(--glow-1),var(--glow-2));-webkit-background-clip:text;background-clip:text;color:transparent}
}


/* ═══ Neon — CHROME ═══ */
/* ============================================================================
   NEON — events/nattliv/gym-mall. Mörk bas (#070510) + dubbla gradienter
   (magenta→cyan), glow och stora rubriker. Alla klasser prefixas .ne-.
   Färg/typsnitt via CSS-variabler (--brand, --brand-rgb, --brand-deep, --ink,
   --ff-heading). --brand = magenta-accent, kompletteras av cyan nedan.
   ========================================================================== */

:root {
  --ne-bg: #070510;
  --ne-bg-2: #05030d;
  --ne-glass: rgba(7, 5, 16, 0.7);
  --ne-text: #eef0ff;
  --ne-muted: #9aa0c0;
  --ne-line: rgba(var(--brand-rgb), 0.4);
  --ne-cyan: #22e7ff;
  --ne-cyan-rgb: 34, 231, 255;
  --ne-card: rgba(255, 255, 255, 0.03);
  --ne-card-border: rgba(255, 255, 255, 0.08);
}

/* ---- HEADER ------------------------------------------------------------- */
.ne-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 80;
  background: transparent;
  transition: background 0.3s ease, backdrop-filter 0.3s ease, box-shadow 0.3s ease;
}
.ne-header::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--brand), var(--ne-cyan), transparent);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.ne-header.is-stuck {
  background: var(--ne-glass);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.45);
}
.ne-header.is-stuck::after { opacity: 1; }
.ne-header__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 18px 28px;
  display: flex;
  align-items: center;
  gap: 28px;
}
.ne-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  flex-shrink: 0;
}
.ne-logo__name {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--ff-heading);
  font-weight: 800;
  font-size: 19px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ne-text);
}
.ne-logo__dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--brand);
  box-shadow: 0 0 10px 2px rgba(var(--brand-rgb), 0.9), 0 0 20px 4px rgba(var(--ne-cyan-rgb), 0.5);
  animation: ne-pulse 2.2s ease-in-out infinite;
}
@keyframes ne-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.55; transform: scale(0.8); }
}
.ne-nav {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-left: auto;
}
.ne-nav__link {
  position: relative;
  font-size: 15px;
  color: var(--ne-muted);
  text-decoration: none;
  padding: 4px 0;
  transition: color 0.2s ease, text-shadow 0.2s ease;
}
.ne-nav__link::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  height: 2px;
  width: 0;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--brand), var(--ne-cyan));
  box-shadow: 0 0 8px rgba(var(--brand-rgb), 0.8);
  transition: width 0.25s ease;
}
.ne-nav__link:hover {
  color: #fff;
  text-shadow: 0 0 10px rgba(var(--brand-rgb), 0.6);
}
.ne-nav__link:hover::after { width: 100%; }
.ne-header__right {
  display: flex;
  align-items: center;
  gap: 18px;
}
.ne-header__phone {
  font-size: 15px;
  font-weight: 600;
  color: var(--ne-text);
  text-decoration: none;
  transition: color 0.2s ease, text-shadow 0.2s ease;
}
.ne-header__phone:hover {
  color: var(--ne-cyan);
  text-shadow: 0 0 10px rgba(var(--ne-cyan-rgb), 0.6);
}
.ne-header__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 22px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 14.5px;
  letter-spacing: 0.01em;
  text-decoration: none;
  color: #0a0512;
  background: linear-gradient(120deg, var(--brand), var(--ne-cyan));
  box-shadow: 0 0 0 0 rgba(var(--brand-rgb), 0.6);
  animation: ne-glow 2.6s ease-in-out infinite;
  transition: transform 0.2s ease;
}
.ne-header__cta:hover { transform: translateY(-1px); }
@keyframes ne-glow {
  0%, 100% { box-shadow: 0 0 18px 0 rgba(var(--brand-rgb), 0.45), 0 0 30px 0 rgba(var(--ne-cyan-rgb), 0.3); }
  50% { box-shadow: 0 0 28px 4px rgba(var(--brand-rgb), 0.65), 0 0 44px 6px rgba(var(--ne-cyan-rgb), 0.45); }
}
.ne-burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  width: 42px;
  height: 42px;
  padding: 0 9px;
  border-radius: 10px;
  border: 1px solid var(--ne-line);
  background: rgba(var(--brand-rgb), 0.08);
  box-shadow: 0 0 12px rgba(var(--brand-rgb), 0.3) inset;
  cursor: pointer;
}
.ne-burger__bar {
  height: 2px;
  width: 100%;
  border-radius: 2px;
  background: var(--ne-text);
  box-shadow: 0 0 6px rgba(var(--brand-rgb), 0.7);
}

/* ---- MOBILE OVERLAY ----------------------------------------------------- */
.ne-overlay {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: radial-gradient(120% 90% at 80% -10%, rgba(var(--brand-rgb), 0.18), transparent 60%), var(--ne-bg);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 40px 32px;
}
.ne-overlay__close {
  position: absolute;
  top: 22px;
  right: 26px;
  width: 44px;
  height: 44px;
  font-size: 30px;
  line-height: 1;
  color: var(--ne-text);
  background: transparent;
  border: 1px solid var(--ne-line);
  border-radius: 12px;
  cursor: pointer;
}
.ne-overlay__nav {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ne-overlay__link {
  font-family: var(--ff-heading);
  font-weight: 800;
  font-size: clamp(30px, 9vw, 48px);
  letter-spacing: -0.02em;
  color: var(--ne-text);
  text-decoration: none;
  opacity: 0;
  transform: translateY(14px);
  animation: ne-stagger 0.4s ease forwards;
}
.ne-overlay__link:hover {
  color: var(--brand);
  text-shadow: 0 0 16px rgba(var(--brand-rgb), 0.6);
}
@keyframes ne-stagger {
  to { opacity: 1; transform: translateY(0); }
}
.ne-overlay__foot {
  margin-top: 40px;
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
.ne-overlay__phone {
  font-size: 18px;
  font-weight: 700;
  color: var(--ne-cyan);
  text-decoration: none;
}

/* ---- HERO --------------------------------------------------------------- */
.ne-hero {
  position: relative;
  min-height: 88vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--ne-bg);
  padding: 150px 28px 90px;
}
.ne-hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.ne-hero__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(7, 5, 16, 0.92) 0%, rgba(7, 5, 16, 0.7) 45%, rgba(7, 5, 16, 0.35) 100%),
    linear-gradient(0deg, rgba(7, 5, 16, 0.85), transparent 55%);
}
.ne-hero__blob {
  position: absolute;
  z-index: 1;
  border-radius: 50%;
  filter: blur(90px);
  opacity: 0.55;
  pointer-events: none;
}
.ne-hero__blob--a {
  width: 540px;
  height: 540px;
  top: -120px;
  left: -100px;
  background: radial-gradient(circle, rgba(var(--brand-rgb), 0.85), transparent 70%);
  animation: ne-drift-a 18s ease-in-out infinite;
}
.ne-hero__blob--b {
  width: 480px;
  height: 480px;
  bottom: -140px;
  right: -80px;
  background: radial-gradient(circle, rgba(var(--ne-cyan-rgb), 0.7), transparent 70%);
  animation: ne-drift-b 22s ease-in-out infinite;
}
@keyframes ne-drift-a {
  0%, 100% { transform: translate(0, 0); }
  50% { transform: translate(60px, 40px); }
}
@keyframes ne-drift-b {
  0%, 100% { transform: translate(0, 0); }
  50% { transform: translate(-50px, -40px); }
}
.ne-hero__scan {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 0.4;
  background-image: repeating-linear-gradient(
    0deg,
    rgba(255, 255, 255, 0.04) 0px,
    rgba(255, 255, 255, 0.04) 1px,
    transparent 1px,
    transparent 3px
  );
  mix-blend-mode: overlay;
}
.ne-hero__inner {
  position: relative;
  z-index: 3;
  max-width: 1280px;
  margin: 0 auto;
  width: 100%;
}
.ne-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 7px 15px;
  border-radius: 999px;
  border: 1px solid var(--ne-line);
  background: rgba(var(--brand-rgb), 0.08);
  color: var(--ne-text);
  font-size: 12.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
}
.ne-hero__eyebrow-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ne-cyan);
  box-shadow: 0 0 8px 2px rgba(var(--ne-cyan-rgb), 0.9);
  animation: ne-pulse 1.8s ease-in-out infinite;
}
.ne-hero__title {
  margin: 22px 0 0;
  max-width: 760px;
  font-family: var(--ff-heading);
  font-weight: 800;
  font-size: clamp(44px, 8vw, 92px);
  line-height: 0.98;
  letter-spacing: -0.03em;
  color: var(--ne-text);
}
.ne-hero__title em {
  font-style: normal;
  background: linear-gradient(120deg, var(--brand), var(--ne-cyan));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  filter: drop-shadow(0 0 22px rgba(var(--brand-rgb), 0.5));
}
.ne-hero__title strong { font-weight: 800; }
.ne-hero__sub {
  margin: 22px 0 0;
  max-width: 540px;
  font-size: 18px;
  line-height: 1.6;
  color: var(--ne-muted);
}
.ne-hero__cta {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
.ne-hero__stats {
  margin-top: 28px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.ne-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 15px;
  border-radius: 999px;
  border: 1px solid var(--ne-card-border);
  background: rgba(255, 255, 255, 0.04);
  color: var(--ne-text);
  font-size: 13.5px;
  font-weight: 600;
}
.ne-chip .hero__stars { color: var(--ne-cyan); }
.ne-hero__logos {
  margin-top: 26px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 22px;
  opacity: 0.85;
  filter: brightness(0) invert(1);
}
.ne-hero__postal {
  margin-top: 30px;
  max-width: 460px;
}

/* ---- SHARED BUTTONS (CtaButton .btn) ------------------------------------ */
.ne-hero .btn,
.ne-footer .btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 13px 26px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ne-hero .btn--primary {
  color: #0a0512;
  background: linear-gradient(120deg, var(--brand), var(--ne-cyan));
  box-shadow: 0 0 22px rgba(var(--brand-rgb), 0.45);
}
.ne-hero .btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 34px rgba(var(--brand-rgb), 0.7);
}
.ne-hero .btn--ghost,
.ne-hero .btn--block {
  color: var(--ne-text);
  background: transparent;
  border: 1px solid var(--ne-line);
  box-shadow: 0 0 14px rgba(var(--brand-rgb), 0.2) inset;
}
.ne-hero .btn--ghost:hover,
.ne-hero .btn--block:hover {
  border-color: var(--ne-cyan);
  box-shadow: 0 0 18px rgba(var(--ne-cyan-rgb), 0.4) inset;
}
.ne-hero .btn__arrow { transition: transform 0.2s ease; }
.ne-hero .btn:hover .btn__arrow { transform: translateX(3px); }

/* ---- TRUST BAND --------------------------------------------------------- */
.ne-trust {
  background: var(--ne-bg);
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.ne-trust__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 34px 28px;
}
.ne-trust .trusted__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 38px;
}
.ne-trust .trusted__label {
  text-align: center;
  color: var(--ne-muted);
  font-size: 12.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.ne-trust .trusted__google {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--ne-text);
  text-decoration: none;
}
.ne-trust .trusted__google-score { font-weight: 800; font-size: 17px; }
.ne-trust .trusted__google-rating { display: inline-flex; align-items: center; gap: 6px; color: var(--ne-cyan); }
.ne-trust .trusted__google-sub { display: block; font-size: 12px; color: var(--ne-muted); }

/* ---- SECTIONS ----------------------------------------------------------- */
.ne-section {
  background: var(--ne-bg);
  padding: 88px 28px;
}
.ne-section--tight { padding-top: 40px; padding-bottom: 40px; }
.ne-section__head {
  max-width: 1280px;
  margin: 0 auto 48px;
  text-align: center;
}
.ne-section__eyebrow {
  display: inline-block;
  color: var(--ne-cyan);
  font-size: 12.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  text-shadow: 0 0 12px rgba(var(--ne-cyan-rgb), 0.5);
}
.ne-section__title {
  margin: 14px 0 0;
  font-family: var(--ff-heading);
  font-weight: 800;
  font-size: clamp(30px, 5vw, 52px);
  line-height: 1.04;
  letter-spacing: -0.02em;
  color: var(--ne-text);
}
.ne-section__intro {
  margin: 16px auto 0;
  max-width: 620px;
  color: var(--ne-muted);
  font-size: 17px;
  line-height: 1.6;
}
.ne-section__intro--wide { max-width: 760px; }

/* ---- SERVICE CARDS ------------------------------------------------------ */
.ne-cards {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.ne-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 24px;
  border-radius: 18px;
  border: 1px solid var(--ne-card-border);
  background: var(--ne-card);
  overflow: hidden;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
.ne-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 18px;
  padding: 1px;
  background: linear-gradient(130deg, rgba(var(--brand-rgb), 0.6), transparent 40%, rgba(var(--ne-cyan-rgb), 0.5));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
}
.ne-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 50px rgba(var(--brand-rgb), 0.2);
}
.ne-card:hover::before { opacity: 1; }
.ne-card__media {
  margin: -24px -24px 18px;
  height: 170px;
  overflow: hidden;
}
.ne-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ne-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  color: var(--ne-cyan);
  border: 1px solid var(--ne-line);
  background: rgba(var(--brand-rgb), 0.1);
  margin-bottom: 14px;
}
.ne-card__title {
  margin: 0 0 8px;
  font-family: var(--ff-heading);
  font-weight: 700;
  font-size: 20px;
  color: var(--ne-text);
}
.ne-card__body {
  margin: 0;
  color: var(--ne-muted);
  font-size: 15px;
  line-height: 1.55;
  flex: 1;
}
.ne-card__price {
  margin-top: 14px;
  font-weight: 700;
  font-size: 14px;
  color: var(--ne-cyan);
}
.ne-card__link {
  margin-top: 16px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 700;
  font-size: 14.5px;
  color: var(--ne-text);
  text-decoration: none;
  transition: color 0.2s ease, gap 0.2s ease;
}
.ne-card__link:hover { color: var(--brand); gap: 11px; }

/* ---- STATS BAND --------------------------------------------------------- */
.ne-band {
  background:
    radial-gradient(120% 140% at 50% 0%, rgba(var(--brand-rgb), 0.18), transparent 60%),
    var(--ne-bg-2);
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.ne-band__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 56px 28px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.ne-stat { text-align: center; }
.ne-stat__num {
  font-family: var(--ff-heading);
  font-weight: 800;
  font-size: clamp(32px, 4.5vw, 52px);
  line-height: 1;
  background: linear-gradient(120deg, var(--brand), var(--ne-cyan));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.ne-stat__lab {
  margin-top: 8px;
  color: var(--ne-muted);
  font-size: 13.5px;
  letter-spacing: 0.04em;
}

/* ---- USP ---------------------------------------------------------------- */
.ne-usps {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.ne-usp {
  padding: 28px 24px;
  border-radius: 18px;
  border: 1px solid var(--ne-card-border);
  background: var(--ne-card);
}
.ne-usp__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  color: var(--brand);
  background: rgba(var(--brand-rgb), 0.12);
  box-shadow: 0 0 16px rgba(var(--brand-rgb), 0.3) inset;
  margin-bottom: 16px;
}
.ne-usp__title {
  margin: 0 0 8px;
  font-family: var(--ff-heading);
  font-weight: 700;
  font-size: 19px;
  color: var(--ne-text);
}
.ne-usp__body {
  margin: 0;
  color: var(--ne-muted);
  font-size: 15px;
  line-height: 1.55;
}

/* ---- PROCESS ------------------------------------------------------------ */
.ne-steps {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.ne-step {
  position: relative;
  padding: 26px 22px;
  border-radius: 18px;
  border: 1px solid var(--ne-card-border);
  background: var(--ne-card);
}
.ne-step__num {
  font-family: var(--ff-heading);
  font-weight: 800;
  font-size: 38px;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px var(--ne-cyan);
  margin-bottom: 14px;
  text-shadow: 0 0 16px rgba(var(--ne-cyan-rgb), 0.35);
}
.ne-step__title {
  margin: 0 0 8px;
  font-family: var(--ff-heading);
  font-weight: 700;
  font-size: 18px;
  color: var(--ne-text);
}
.ne-step__body {
  margin: 0;
  color: var(--ne-muted);
  font-size: 14.5px;
  line-height: 1.55;
}

/* ---- REVIEWS / AREAS / FAQ / CTA-STRIP (delade komponenter på mörk bas) -- */
.ne-section .reviews-carousel { --rc-bg: var(--ne-card); }
.ne-section .review-card {
  background: var(--ne-card);
  border: 1px solid var(--ne-card-border);
  color: var(--ne-text);
}
.ne-section .review-card__author { color: var(--ne-text); }
.ne-section .review-card blockquote { color: var(--ne-muted); }
.ne-section .faq__item {
  border: 1px solid var(--ne-card-border);
  background: var(--ne-card);
}
.ne-section .faq__q { color: var(--ne-text); }
.ne-section .faq__a { color: var(--ne-muted); }

/* ---- FOOTER ------------------------------------------------------------- */
.ne-footer {
  position: relative;
  background: var(--ne-bg-2);
  color: var(--ne-text);
  overflow: hidden;
  padding: 0 28px 36px;
}
.ne-footer__glow {
  position: absolute;
  top: -160px;
  left: 50%;
  transform: translateX(-50%);
  width: 900px;
  height: 360px;
  background: radial-gradient(circle, rgba(var(--brand-rgb), 0.28), transparent 65%);
  filter: blur(60px);
  pointer-events: none;
}
.ne-footer__inner {
  position: relative;
  z-index: 1;
  max-width: 1280px;
  margin: 0 auto;
  padding-top: 80px;
}
.ne-footer__poster {
  font-family: var(--ff-heading);
  font-weight: 800;
  font-size: clamp(48px, 13vw, 110px);
  line-height: 0.9;
  letter-spacing: -0.03em;
  text-transform: uppercase;
  color: transparent;
  -webkit-text-stroke: 1px rgba(var(--brand-rgb), 0.85);
  text-shadow: 0 0 30px rgba(var(--brand-rgb), 0.25);
  word-break: break-word;
}
.ne-footer__cta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  margin: 30px 0 56px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.ne-footer__tagline {
  margin: 0;
  max-width: 520px;
  font-size: 18px;
  color: var(--ne-muted);
  line-height: 1.5;
}
.ne-footer__cta {
  display: inline-flex;
  align-items: center;
  padding: 13px 28px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  color: #0a0512;
  background: linear-gradient(120deg, var(--brand), var(--ne-cyan));
  box-shadow: 0 0 24px rgba(var(--brand-rgb), 0.45);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ne-footer__cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 34px rgba(var(--brand-rgb), 0.7);
}
.ne-footer__cols {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 36px;
}
.ne-footer__col { display: flex; flex-direction: column; }
.ne-footer__col-head {
  margin: 0 0 16px;
  font-size: 12.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ne-cyan);
  font-weight: 700;
}
.ne-footer__link,
.ne-footer__contact-link {
  color: var(--ne-muted);
  text-decoration: none;
  font-size: 14.5px;
  padding: 6px 0;
  transition: color 0.2s ease, text-shadow 0.2s ease;
}
.ne-footer__link:hover,
.ne-footer__contact-link:hover {
  color: #fff;
  text-shadow: 0 0 10px rgba(var(--brand-rgb), 0.6);
}
.ne-footer__addr,
.ne-footer__hours {
  margin: 0 0 12px;
  color: var(--ne-muted);
  font-size: 14.5px;
  line-height: 1.6;
}
.ne-footer__bottom {
  margin-top: 56px;
  padding-top: 26px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}
.ne-footer__bottom::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  width: 160px;
  height: 1px;
  background: linear-gradient(90deg, var(--brand), var(--ne-cyan), transparent);
  box-shadow: 0 0 8px rgba(var(--brand-rgb), 0.7);
}
.ne-footer__copy { color: var(--ne-muted); font-size: 13px; }
.ne-footer__meta {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
.ne-footer__org { color: var(--ne-muted); font-size: 13px; }
.ne-footer__bottom-link {
  color: var(--ne-muted);
  text-decoration: none;
  font-size: 13px;
}
.ne-footer__bottom-link:hover { color: #fff; }
.ne-footer__social {
  display: flex;
  align-items: center;
  gap: 12px;
}
.ne-footer__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid var(--ne-line);
  color: var(--ne-text);
  transition: box-shadow 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.ne-footer__social-link:hover {
  color: var(--ne-cyan);
  border-color: var(--ne-cyan);
  box-shadow: 0 0 16px rgba(var(--ne-cyan-rgb), 0.6);
}

/* ---- RESPONSIVE --------------------------------------------------------- */
@media (max-width: 980px) {
  .ne-cards,
  .ne-usps { grid-template-columns: repeat(2, 1fr); }
  .ne-band__inner,
  .ne-steps { grid-template-columns: repeat(2, 1fr); }
  .ne-footer__cols { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .ne-nav,
  .ne-header__phone,
  .ne-header__cta { display: none; }
  .ne-burger { display: flex; }
  .ne-hero { padding-top: 120px; min-height: 0; }
  .ne-hero__title { font-size: clamp(38px, 11vw, 60px); }
}
@media (max-width: 640px) {
  .ne-cards,
  .ne-usps,
  .ne-band__inner,
  .ne-steps { grid-template-columns: 1fr; }
  .ne-footer__cols { grid-template-columns: 1fr; }
  .ne-section { padding: 60px 22px; }
  .ne-hero__cta { flex-direction: column; align-items: stretch; }
  .ne-hero__cta .btn { justify-content: center; }
}



/* ═══ QA-FIXAR (neon) — synlighet/placering/kontrast, brand-oberoende ═══ */
/* [hög] .mobile-call-bar .quote (delad, mobil sticky-bar) */
html[data-template="neon"] .mobile-call-bar .quote{background:rgba(255,255,255,.06);color:var(--ink);border:1px solid var(--line-2)}html[data-template="neon"] .mobile-call-bar{background:var(--ne-bg-2,#05030d);border-top:1px solid var(--line)}
/* [hög] .trusted__google-rating / .trusted__google-score / .trusted_ */
[data-template="neon"] .trusted__google-rating{color:var(--glow-2,#21e6ff)}[data-template="neon"] .trusted__google-score{color:var(--ink)}[data-template="neon"] .trusted__google-sub{color:var(--muted)}
/* [medel] .trusted__row a (filter på trust-loggor, inkl .trusted__goog */
[data-template="neon"] .trusted__row a.trusted__google{filter:none;opacity:1}
/* [låg] .faq__icon (inre-lager, hårdkodad magenta-tint) */
[data-template="neon"] .faq__icon{background:rgba(var(--brand-rgb),.16);border-color:rgba(var(--brand-rgb),.4);color:#fff}
