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

html[data-template="verve"]{--bg:#FAF7F0;--bg-soft:#F1ECE0;--ink:#16130E;--ink-2:#3A352C;--muted:#6E675A;--line:rgba(22,19,14,0.16);--line-2:rgba(22,19,14,0.30);--radius:2px;--btn-radius:0px;--btn-pad:15px 28px;--btn-weight:800;--btn-transform:uppercase;--btn-tracking:0.10em}
[data-template="verve"] body{background:var(--bg);color:var(--ink-2)}
[data-template="verve"] h1,[data-template="verve"] h2,[data-template="verve"] h3,[data-template="verve"] h4{font-weight:900;letter-spacing:-0.025em;color:var(--ink)}
[data-template="verve"] .subhero{background:var(--bg-soft);border-bottom:3px solid var(--ink);padding-top:120px}
[data-template="verve"] .subhero h1{font-weight:900;font-size:clamp(34px,6vw,76px);line-height:0.94;letter-spacing:-0.03em;color:var(--ink)}
[data-template="verve"] .subhero__lead{color:var(--ink-2);font-size:19px;border-left:4px solid var(--brand);padding-left:18px}
[data-template="verve"] .subhero__crumbs,[data-template="verve"] .subhero__crumbs a{color:var(--muted);text-transform:uppercase;letter-spacing:0.10em;font-size:12px;font-weight:700}
[data-template="verve"] .subhero__answer{background:var(--ink);color:#FAF7F0;border:0;border-left:5px solid var(--brand);border-radius:0}
[data-template="verve"] .eyebrow,[data-template="verve"] .section-head .eyebrow{background:var(--brand);color:#fff;border-radius:0;text-transform:uppercase;letter-spacing:0.14em;font-weight:800;padding:6px 12px}
[data-template="verve"] .section:nth-child(even){background:var(--bg-soft)}
[data-template="verve"] .section-head h2{font-weight:900;letter-spacing:-0.03em;line-height:1.0}
[data-template="verve"] .card{background:#fff;border:2px solid var(--ink);border-radius:0;box-shadow:6px 6px 0 var(--ink)}
[data-template="verve"] .card:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--brand);border-color:var(--ink)}
[data-template="verve"] .card h3{color:var(--ink);font-weight:900}
[data-template="verve"] .card p{color:var(--muted)}
[data-template="verve"] .card__image,[data-template="verve"] .photo,[data-template="verve"] .subhero__photo,[data-template="verve"] .article-card__media,[data-template="verve"] .article-featured__media,[data-template="verve"] .area-service-card__media{background:var(--bg-soft);border:2px solid var(--ink);border-radius:0}
[data-template="verve"] .card__icon{background:var(--brand);color:#fff;border-radius:0}
[data-template="verve"] .card__price{color:var(--ink);font-weight:900}
[data-template="verve"] .card__link{color:var(--ink);font-weight:800;text-transform:uppercase;letter-spacing:0.06em}
[data-template="verve"] .btn--primary{background:var(--brand);color:#fff;border:2px solid var(--ink);border-radius:0;box-shadow:4px 4px 0 var(--ink);text-transform:uppercase;letter-spacing:0.10em;font-weight:800}
[data-template="verve"] .btn--primary:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}
[data-template="verve"] .btn--ghost{background:transparent;color:var(--ink);border:2px solid var(--ink);border-radius:0;text-transform:uppercase;letter-spacing:0.10em;font-weight:800}
[data-template="verve"] .btn--ghost:hover{background:var(--ink);color:#FAF7F0}
[data-template="verve"] .faq__item{background:#fff;border:2px solid var(--ink);border-radius:0;margin-bottom:12px}
[data-template="verve"] .faq__q{color:var(--ink);font-weight:800}
[data-template="verve"] .faq__a p{color:var(--muted)}
[data-template="verve"] .faq__icon{background:var(--brand);color:#fff;border-radius:0}
[data-template="verve"] .form-card{background:#fff;border:3px solid var(--ink);border-radius:0;box-shadow:8px 8px 0 var(--brand)}
[data-template="verve"] .field label{color:var(--ink-2);text-transform:uppercase;letter-spacing:0.06em;font-weight:700;font-size:12px}
[data-template="verve"] .field input,[data-template="verve"] .field textarea,[data-template="verve"] .field select,[data-template="verve"] .postal-check__row input{background:var(--bg);border:2px solid var(--ink);border-radius:0;color:var(--ink)}
[data-template="verve"] .field input:focus,[data-template="verve"] .field textarea:focus,[data-template="verve"] .field select:focus,[data-template="verve"] .postal-check__row input:focus{border-color:var(--brand);outline:none;box-shadow:3px 3px 0 var(--brand)}
[data-template="verve"] .form-step__bubble{background:#fff;border:2px solid var(--ink);border-radius:0;color:var(--ink)}
[data-template="verve"] .file-drop{background:var(--bg-soft);border:2px dashed var(--ink);border-radius:0;color:var(--ink-2)}
[data-template="verve"] .postal-check{background:#fff;border:2px solid var(--ink);border-radius:0}
[data-template="verve"] .postal-check__title{color:var(--ink);font-weight:900}
[data-template="verve"] .postal-check__sub{color:var(--muted)}
[data-template="verve"] .review-card,[data-template="verve"] .reviews-carousel__card{background:#fff;border:2px solid var(--ink);border-radius:0;box-shadow:5px 5px 0 var(--ink)}
[data-template="verve"] .review-card__author,[data-template="verve"] .review-card blockquote,[data-template="verve"] .reviews-carousel__card blockquote{color:var(--ink)}
[data-template="verve"] .review-card__source{color:var(--muted);text-transform:uppercase;letter-spacing:0.06em;font-size:12px}
[data-template="verve"] .cta-strip{background:var(--brand);border:3px solid var(--ink);border-radius:0;box-shadow:10px 10px 0 var(--ink)}
[data-template="verve"] .cta-strip h2{color:#fff;font-weight:900;letter-spacing:-0.03em}
[data-template="verve"] .cta-strip p{color:rgba(255,255,255,0.92)}
[data-template="verve"] .cta-strip .btn--primary{background:#fff;color:var(--ink);border-color:var(--ink);box-shadow:4px 4px 0 var(--ink)}
[data-template="verve"] .process__step{background:#fff;border:2px solid var(--ink);border-radius:0}
[data-template="verve"] .process__step h3{color:var(--ink);font-weight:900}
[data-template="verve"] .process__step p{color:var(--muted)}
[data-template="verve"] .process__check{background:var(--brand);color:#fff;border-radius:0;border:2px solid var(--ink)}
[data-template="verve"] .trusted{background:var(--bg-soft);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
[data-template="verve"] .trusted__label{color:var(--muted);text-transform:uppercase;letter-spacing:0.12em;font-weight:700}
[data-template="verve"] .article-card,[data-template="verve"] .article-featured{background:#fff;border:2px solid var(--ink);border-radius:0;box-shadow:6px 6px 0 var(--ink)}
[data-template="verve"] .article-card:hover,[data-template="verve"] .article-featured:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--brand)}
[data-template="verve"] .article-card h3,[data-template="verve"] .article-featured h3{color:var(--ink);font-weight:900}
[data-template="verve"] .article-badge{background:var(--ink);color:#fff;border-radius:0;text-transform:uppercase;letter-spacing:0.08em}
[data-template="verve"] .pagination__btn,[data-template="verve"] .article-filter__chip{background:#fff;border:2px solid var(--ink);border-radius:0;color:var(--ink);font-weight:700}
[data-template="verve"] .pagination__btn:hover,[data-template="verve"] .article-filter__chip:hover{background:var(--ink);color:#FAF7F0}
[data-template="verve"] .price-table{border:2px solid var(--ink);border-radius:0}
[data-template="verve"] .price-table th{background:var(--ink);color:#FAF7F0;text-transform:uppercase;letter-spacing:0.06em}
[data-template="verve"] .price-table td,[data-template="verve"] .price-table th{border-color:var(--line-2)}
[data-template="verve"] .price-table .num{color:var(--ink);font-weight:900}
[data-template="verve"] .sitemap-block{background:#fff;border:2px solid var(--ink);border-radius:0;box-shadow:5px 5px 0 var(--ink)}
[data-template="verve"] .sitemap-block h2,[data-template="verve"] .sitemap-block h3{color:var(--ink);font-weight:900}
[data-template="verve"] .sitemap-block a{color:var(--ink-2)}
[data-template="verve"] .sitemap-block a:hover{color:var(--brand)}
[data-template="verve"] .card-scroller__nav,[data-template="verve"] .reviews-carousel__nav,[data-template="verve"] .hero-carousel__nav{background:var(--ink);color:#FAF7F0;border:2px solid var(--ink);border-radius:0}

/* — Animationer (Verve), reduced-motion-säkrade — */
@media (prefers-reduced-motion: no-preference){
  @keyframes vrv-slam-in{0%{opacity:0;transform:translateY(22px)}100%{opacity:1;transform:translateY(0)}}
  @keyframes vrv-block-wipe{0%{opacity:0;transform:translateX(-14px)}100%{opacity:1;transform:translateX(0)}}
  [data-template="verve"] .reveal{opacity:0;will-change:transform,opacity}
  [data-template="verve"] .reveal.in{animation:vrv-slam-in .5s cubic-bezier(.2,.7,.2,1) forwards}
  [data-template="verve"] .section-head .eyebrow.in,[data-template="verve"] .eyebrow.in{animation:vrv-block-wipe .45s ease-out forwards}
  [data-template="verve"] .card,[data-template="verve"] .article-card,[data-template="verve"] .article-featured,[data-template="verve"] .btn--primary{transition:transform .18s cubic-bezier(.2,.7,.2,1),box-shadow .18s cubic-bezier(.2,.7,.2,1)}
}
@media (prefers-reduced-motion: reduce){
  [data-template="verve"] .reveal{opacity:1;transform:none}
  [data-template="verve"] .ve-ticker__track{animation:none}
}


/* ═══ Verve — CHROME ═══ */
/* ════════════════════════════════════════════════════════════════════
   VERVE — magasin-mall (WordPress-magazine, bold/editorial).
   Pappersbakgrund, tung svart bläck-text, hårda kanter, tjocka svarta
   linjer + färgblock i --brand. Alla klasser prefixas .ve-.
   ════════════════════════════════════════════════════════════════════ */

:root {
  --ve-paper: #faf7f0;
  --ve-paper-2: #f3eee2;
  --ve-ink: var(--ink, #141210);
  --ve-line: var(--ink, #141210);
  --ve-muted: rgba(20, 18, 16, 0.62);
  --ve-rule: rgba(20, 18, 16, 0.16);
  --ve-radius: 2px;
  --ve-maxw: 1240px;
}

[data-template='verve'] {
  background: var(--ve-paper);
  color: var(--ve-ink);
}

/* ─────────────────────────  HEADER  ───────────────────────── */
.ve-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--ve-paper);
  border-bottom: 3px solid var(--ve-line);
}

.ve-header__bar {
  border-bottom: 1px solid var(--ve-rule);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ve-muted);
}
.ve-header__bar-inner {
  max-width: var(--ve-maxw);
  margin: 0 auto;
  padding: 7px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.ve-header__bar-right {
  display: inline-flex;
  align-items: center;
  gap: 18px;
}
.ve-header__bar-right a {
  color: var(--ve-ink);
  font-weight: 700;
  text-decoration: none;
}
.ve-header__hours {
  border-left: 1px solid var(--ve-rule);
  padding-left: 18px;
}

.ve-header__masthead {
  max-width: var(--ve-maxw);
  margin: 0 auto;
}
.ve-header__masthead-inner {
  padding: 16px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.ve-logo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: var(--ve-ink);
  min-width: 0;
}
.ve-logo__img {
  height: 38px;
  width: auto;
  object-fit: contain;
}
.ve-logo__name {
  font-family: var(--ff-heading, Georgia, serif);
  font-weight: 900;
  font-size: clamp(26px, 4vw, 44px);
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--ve-ink);
}
.ve-header__cta {
  flex: none;
  display: inline-flex;
  align-items: center;
  background: var(--brand);
  color: #fff;
  border: 2px solid var(--brand);
  border-radius: 0;
  padding: 13px 22px;
  font-weight: 800;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}
.ve-header__cta:hover {
  background: var(--ve-ink);
  border-color: var(--ve-ink);
  color: #fff;
}

.ve-nav {
  border-top: 3px solid var(--ve-line);
  background: var(--ve-paper);
}
.ve-nav__inner {
  max-width: var(--ve-maxw);
  margin: 0 auto;
  padding: 0 28px;
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
}
.ve-nav__link {
  padding: 13px 18px;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ve-ink);
  text-decoration: none;
  border-right: 1px solid var(--ve-rule);
  border-bottom: 3px solid transparent;
  transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}
.ve-nav__link:first-child {
  border-left: 1px solid var(--ve-rule);
}
.ve-nav__link:hover {
  color: var(--brand);
  border-bottom-color: var(--brand);
}
.ve-nav__phone {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 4px;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: 0.04em;
  color: var(--ve-ink);
  text-decoration: none;
}
.ve-nav__phone:hover {
  color: var(--brand);
}

.ve-header.is-scrolled .ve-header__bar {
  display: none;
}
.ve-header.is-scrolled .ve-header__masthead-inner {
  padding-top: 10px;
  padding-bottom: 10px;
}
.ve-header.is-scrolled .ve-logo__name {
  font-size: clamp(22px, 3vw, 32px);
}

.ve-burger {
  display: none;
  width: 46px;
  height: 46px;
  border: 2px solid var(--ve-line);
  border-radius: 0;
  background: var(--ve-paper);
  cursor: pointer;
  align-items: center;
  justify-content: center;
}
.ve-burger__bars {
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  width: 20px;
}
.ve-burger__bars i {
  display: block;
  height: 2px;
  background: var(--ve-ink);
}

.ve-drawer {
  display: none;
  border-top: 1px solid var(--ve-rule);
  background: var(--ve-paper);
  padding: 8px 28px 20px;
}
.ve-drawer__link {
  display: block;
  padding: 13px 0;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ve-ink);
  text-decoration: none;
  border-bottom: 1px solid var(--ve-rule);
}
.ve-drawer__phone {
  display: block;
  padding: 14px 0 4px;
  color: var(--brand);
  font-weight: 800;
  text-decoration: none;
}
.ve-drawer__cta {
  display: inline-flex;
  margin-top: 14px;
  background: var(--brand);
  color: #fff;
  padding: 13px 22px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 0;
}

/* ─────────────────────────  HERO  ───────────────────────── */
.ve-hero {
  background: var(--ve-paper);
  border-bottom: 3px solid var(--ve-line);
}
.ve-hero__inner {
  max-width: var(--ve-maxw);
  margin: 0 auto;
  padding: 56px 28px 64px;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 48px;
  align-items: start;
}
.ve-hero__lead {
  min-width: 0;
}
.ve-hero__eyebrow {
  display: inline-block;
  background: var(--brand);
  color: #fff;
  padding: 6px 12px;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-radius: 0;
}
.ve-hero__title {
  margin: 20px 0 0;
  font-family: var(--ff-heading, Georgia, serif);
  font-weight: 900;
  font-size: clamp(44px, 8vw, 104px);
  line-height: 0.92;
  letter-spacing: -0.03em;
  color: var(--ve-ink);
}
.ve-hero__title em {
  font-style: normal;
  color: var(--brand);
}
.ve-hero__title strong {
  font-weight: 900;
  color: var(--brand-deep, var(--brand));
}
.ve-hero__sub {
  margin: 24px 0 0;
  padding-left: 18px;
  border-left: 4px solid var(--brand);
  font-size: clamp(18px, 2.1vw, 21px);
  line-height: 1.55;
  color: var(--ve-ink);
  max-width: 52ch;
}
.ve-hero__cta-row {
  margin-top: 28px;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
.ve-hero__cta-row .btn {
  border-radius: 0;
}
.ve-hero__cta-row .btn--primary {
  background: var(--brand);
  border: 2px solid var(--brand);
  color: #fff;
}
.ve-hero__cta-row .btn--ghost,
.ve-hero__cta-row .btn--block {
  background: transparent;
  border: 2px solid var(--ve-ink);
  color: var(--ve-ink);
}
.ve-hero__trust {
  margin-top: 22px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ve-ink);
}
.ve-hero__trust .hero__stars {
  color: var(--brand);
  display: inline-flex;
}
.ve-hero__facts {
  margin-top: 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  border-top: 1px solid var(--ve-rule);
  padding-top: 18px;
}
.ve-hero__fact {
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ve-muted);
}
.ve-hero__fact strong {
  display: block;
  font-family: var(--ff-heading, Georgia, serif);
  font-size: 26px;
  letter-spacing: -0.01em;
  color: var(--ve-ink);
  text-transform: none;
}
.ve-hero__postal {
  margin-top: 26px;
  max-width: 460px;
}

.ve-hero__media {
  position: relative;
  border: 3px solid var(--ve-line);
  background: var(--ve-paper-2);
  aspect-ratio: 4 / 5;
  overflow: hidden;
}
.ve-hero__video,
.ve-hero__poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ve-hero__fallback {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(var(--brand-rgb), 0.18), transparent 60%),
    var(--ve-paper-2);
}
.ve-hero__caption {
  position: absolute;
  left: 0;
  bottom: 0;
  max-width: 90%;
  background: var(--brand);
  color: #fff;
  padding: 8px 14px;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ─────────────────────────  TICKER  ───────────────────────── */
.ve-ticker {
  background: var(--ve-ink);
  color: var(--ve-paper);
  overflow: hidden;
  border-bottom: 3px solid var(--ve-line);
}
.ve-ticker__track {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  padding: 12px 0;
  animation: ve-ticker-scroll 28s linear infinite;
}
.ve-ticker__item {
  font-weight: 800;
  font-size: 14px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0 28px;
  position: relative;
}
.ve-ticker__item::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  width: 7px;
  height: 7px;
  background: var(--brand);
  transform: translateY(-50%);
  border-radius: 0;
}
@keyframes ve-ticker-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* ─────────────────────────  TRUST-BAND  ───────────────────────── */
.ve-trust {
  background: var(--ve-paper-2);
  border-bottom: 3px solid var(--ve-line);
}
.ve-trust__inner {
  max-width: var(--ve-maxw);
  margin: 0 auto;
  padding: 26px 28px;
}

/* ─────────────────────────  SEKTIONER  ───────────────────────── */
.ve-section {
  max-width: var(--ve-maxw);
  margin: 0 auto;
  padding: 64px 28px;
}
.ve-section__head {
  max-width: 760px;
  margin-bottom: 40px;
}
.ve-section__eyebrow {
  display: inline-block;
  background: var(--brand);
  color: #fff;
  padding: 5px 11px;
  font-weight: 800;
  font-size: 11.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.ve-section__title {
  margin: 16px 0 0;
  font-family: var(--ff-heading, Georgia, serif);
  font-weight: 900;
  font-size: clamp(30px, 4.6vw, 52px);
  line-height: 1;
  letter-spacing: -0.025em;
  color: var(--ve-ink);
}
.ve-section__intro {
  margin: 16px 0 0;
  font-size: 18px;
  line-height: 1.6;
  color: var(--ve-muted);
}

/* TJÄNSTER — kortgrid */
.ve-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 3px solid var(--ve-line);
  border-left: 3px solid var(--ve-line);
}
.ve-card {
  display: flex;
  flex-direction: column;
  border-right: 3px solid var(--ve-line);
  border-bottom: 3px solid var(--ve-line);
  background: var(--ve-paper);
  text-decoration: none;
  color: var(--ve-ink);
  transition: background 0.15s ease;
}
.ve-card:hover {
  background: var(--ve-paper-2);
}
.ve-card__media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-bottom: 3px solid var(--ve-line);
  background: var(--ve-paper-2);
  display: flex;
  align-items: center;
  justify-content: center;
}
.ve-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ve-card__icon {
  color: var(--brand);
}
.ve-card__body {
  padding: 22px 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.ve-card__body h3 {
  margin: 0;
  font-family: var(--ff-heading, Georgia, serif);
  font-weight: 800;
  font-size: 22px;
  letter-spacing: -0.01em;
  color: var(--ve-ink);
}
.ve-card__body p {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: var(--ve-muted);
}
.ve-card__price {
  font-weight: 800;
  font-size: 14px;
  color: var(--brand);
}
.ve-card__link {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 800;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ve-ink);
}
.ve-card:hover .ve-card__arrow {
  transform: translateX(4px);
}
.ve-card__arrow {
  color: var(--brand);
  transition: transform 0.15s ease;
}

/* STATS — brand-block */
.ve-band {
  background: var(--brand);
  color: #fff;
  border-top: 3px solid var(--ve-line);
  border-bottom: 3px solid var(--ve-line);
}
.ve-band__inner {
  max-width: var(--ve-maxw);
  margin: 0 auto;
  padding: 44px 28px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 28px;
}
.ve-stat {
  text-align: center;
}
.ve-stat__num {
  font-family: var(--ff-heading, Georgia, serif);
  font-weight: 900;
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1;
  letter-spacing: -0.02em;
}
.ve-stat__lab {
  margin-top: 8px;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.92;
}

/* USP — punktkort */
.ve-usp {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 0;
  border-top: 3px solid var(--ve-line);
  border-left: 3px solid var(--ve-line);
}
.ve-usp__item {
  padding: 28px 24px;
  border-right: 3px solid var(--ve-line);
  border-bottom: 3px solid var(--ve-line);
}
.ve-usp__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 2px solid var(--ve-line);
  color: var(--brand);
  margin-bottom: 14px;
}
.ve-usp__item h3 {
  margin: 0 0 8px;
  font-family: var(--ff-heading, Georgia, serif);
  font-weight: 800;
  font-size: 19px;
  color: var(--ve-ink);
}
.ve-usp__item p {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: var(--ve-muted);
}

/* PROCESS — numrerade steg */
.ve-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0;
  border-top: 3px solid var(--ve-line);
  border-left: 3px solid var(--ve-line);
}
.ve-step {
  padding: 26px 24px 30px;
  border-right: 3px solid var(--ve-line);
  border-bottom: 3px solid var(--ve-line);
}
.ve-step__num {
  font-family: var(--ff-heading, Georgia, serif);
  font-weight: 900;
  font-size: 40px;
  line-height: 1;
  color: var(--brand);
  letter-spacing: -0.02em;
}
.ve-step h3 {
  margin: 12px 0 8px;
  font-family: var(--ff-heading, Georgia, serif);
  font-weight: 800;
  font-size: 19px;
  color: var(--ve-ink);
}
.ve-step p {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: var(--ve-muted);
}

/* ─────────────────────────  FOOTER  ───────────────────────── */
.ve-footer {
  background: var(--ve-ink);
  color: var(--ve-paper);
  border-top: 3px solid var(--brand);
}
.ve-footer__inner {
  max-width: var(--ve-maxw);
  margin: 0 auto;
  padding: 64px 28px 32px;
}
.ve-footer__masthead {
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  padding-bottom: 26px;
  margin-bottom: 40px;
}
.ve-footer__wordmark {
  display: block;
  font-family: var(--ff-heading, Georgia, serif);
  font-weight: 900;
  font-size: clamp(40px, 9vw, 120px);
  line-height: 0.9;
  letter-spacing: -0.04em;
  color: var(--ve-paper);
}
.ve-footer__logo {
  height: 56px;
  width: auto;
  object-fit: contain;
}
.ve-footer__cols {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
}
.ve-footer__tagline {
  margin: 0 0 18px;
  max-width: 42ch;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.72);
}
.ve-footer__contact {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}
.ve-footer__contact li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14.5px;
  color: rgba(255, 255, 255, 0.78);
}
.ve-footer__contact li svg {
  flex: none;
  color: var(--brand);
  margin-top: 2px;
}
.ve-footer__contact a {
  color: rgba(255, 255, 255, 0.78);
  text-decoration: none;
}
.ve-footer__contact a:hover {
  color: #fff;
}
.ve-footer__col h4 {
  margin: 0 0 16px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--brand);
}
.ve-footer__col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.ve-footer__col a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-size: 14.5px;
  transition: color 0.15s ease;
}
.ve-footer__col a:hover {
  color: #fff;
  text-decoration: underline;
  text-decoration-color: var(--brand);
  text-underline-offset: 3px;
}
.ve-footer__bottom {
  margin-top: 44px;
  padding-top: 20px;
  border-top: 3px solid var(--brand);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
}
.ve-footer__org {
  color: rgba(255, 255, 255, 0.5);
}
.ve-footer__links {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 18px;
}
.ve-footer__links a {
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
}
.ve-footer__links a:hover {
  color: #fff;
}

/* ─────────────────────────  RESPONSIVT  ───────────────────────── */
@media (max-width: 980px) {
  .ve-hero__inner {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .ve-hero__media {
    order: -1;
    aspect-ratio: 16 / 10;
  }
  .ve-cards {
    grid-template-columns: repeat(2, 1fr);
  }
  .ve-footer__cols {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 900px) {
  .ve-header__bar {
    display: none;
  }
  .ve-nav {
    display: none;
  }
  .ve-burger {
    display: inline-flex;
  }
  .ve-header.is-scrolled .ve-burger {
    display: inline-flex;
  }
  .ve-drawer {
    display: block;
  }
}

@media (max-width: 620px) {
  .ve-header__masthead-inner {
    padding: 14px 18px;
  }
  .ve-hero__inner {
    padding: 36px 18px 44px;
  }
  .ve-section {
    padding: 44px 18px;
  }
  .ve-cards {
    grid-template-columns: 1fr;
  }
  .ve-footer__cols {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .ve-footer__inner {
    padding: 48px 18px 28px;
  }
  .ve-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}



/* ═══ QA-FIXAR (verve) — synlighet/placering/kontrast, brand-oberoende ═══ */
/* [hög] .subhero__answer .subhero__answer-question / .subhero__answe */
html[data-template="verve"] .subhero__answer .subhero__answer-question{color:#FAF7F0}
html[data-template="verve"] .subhero__answer p{color:rgba(250,247,240,0.88)}
/* [medel] .subhero__answer .subhero__answer-label */
html[data-template="verve"] .subhero__answer .subhero__answer-label{color:#fff;background:var(--brand);display:inline-block;padding:3px 9px;letter-spacing:0.12em}
/* [medel] .ve-trust .trusted */
html[data-template="verve"] .ve-trust .trusted{margin-top:0;background:transparent;border:0;border-radius:0;padding:0}
