/* ═══ VIP-MALL: Halo — radiell gloria-glöd, ljus premium-tech (svävande VIP) (halo) ═══ Inre-sid-CSS-lager + animation. Scopat [data-template="halo"]. Video:true. Signatur:#6A5BFF. */

html[data-template="halo"]{--bg:#FBFBFE;--bg-soft:#F3F3FB;--ink:#15131F;--ink-2:#4A4760;--muted:#8A879C;--line:rgba(21,19,31,.08);--line-2:rgba(21,19,31,.14);--brand-deep:var(--brand);--radius:18px;--radius-lg:26px;--radius-sm:12px;--star:#F5A623;--btn-radius:999px;--btn-pad:15px 30px;--btn-weight:600;--btn-transform:none;--btn-tracking:.005em;--hlo-paper:#FBFBFE;--hlo-paper-2:#F3F3FB;--hlo-cloud:#FFFFFF;--hlo-ink:#15131F;--hlo-ink-2:#4A4760;--hlo-muted:#8A879C;--hlo-line:rgba(21,19,31,.08);--hlo-line-2:rgba(21,19,31,.14);--hlo-glass:rgba(255,255,255,.66)}
[data-template="halo"] body{background:var(--hlo-paper);color:var(--ink-2);background-image:radial-gradient(70% 50% at 50% -8%,rgba(var(--brand-rgb),.10),transparent 65%),radial-gradient(50% 40% at 88% 12%,rgba(var(--brand-rgb),.06),transparent 70%)}
[data-template="halo"] h1,[data-template="halo"] h2,[data-template="halo"] h3,[data-template="halo"] h4{font-family:var(--ff-heading);font-weight:600;letter-spacing:-.022em;color:var(--ink)}
[data-template="halo"] a{color:inherit}
[data-template="halo"] .eyebrow,[data-template="halo"] .section-head .eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(var(--brand-rgb),.10);border:1px solid rgba(var(--brand-rgb),.22);padding:6px 14px;color:var(--brand-deep);font-family:var(--ff-body);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:11.5px;border-radius:999px}
[data-template="halo"] .eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brand);box-shadow:0 0 8px rgba(var(--brand-rgb),.7)}
[data-template="halo"] .section{border-top:1px solid var(--hlo-line);position:relative;overflow:hidden}
[data-template="halo"] .section:nth-child(even){background:var(--hlo-paper-2)}
[data-template="halo"] .section:nth-child(even)::before{content:"";position:absolute;top:-30%;left:50%;transform:translateX(-50%);width:120%;height:80%;background:radial-gradient(50% 50% at 50% 50%,rgba(var(--brand-rgb),.08),transparent 70%);pointer-events:none}
[data-template="halo"] .section-head{text-align:center;max-width:740px;margin-left:auto;margin-right:auto}
[data-template="halo"] .section-head h2{letter-spacing:-.025em;line-height:1.06;color:var(--ink)}
[data-template="halo"] .section-head p{color:var(--ink-2)}
[data-template="halo"] .subhero{padding:150px 0 64px;position:relative;overflow:hidden;background:var(--hlo-paper);border-bottom:1px solid var(--hlo-line)}
[data-template="halo"] .subhero::before{content:"";position:absolute;top:-160px;left:50%;transform:translateX(-50%);width:1100px;height:1100px;max-width:160vw;background:radial-gradient(50% 50% at 50% 50%,rgba(var(--brand-rgb),.16),transparent 70%);pointer-events:none;z-index:0}
[data-template="halo"] .subhero > *{position:relative;z-index:1}
[data-template="halo"] .subhero h1{font-weight:600;letter-spacing:-.03em;line-height:1.02;color:var(--ink);max-width:880px}
[data-template="halo"] .subhero__lead{color:var(--ink-2);max-width:600px;font-size:18px}
[data-template="halo"] .subhero__crumbs,[data-template="halo"] .subhero__crumbs a{color:var(--muted);font-size:12.5px}
[data-template="halo"] .subhero__crumbs a:hover{color:var(--brand-deep)}
[data-template="halo"] .subhero__crumbs span{color:var(--line-2)}
[data-template="halo"] .subhero__answer{background:var(--hlo-glass);border:1px solid var(--hlo-line);border-radius:var(--radius);box-shadow:0 20px 50px rgba(21,19,31,.08);backdrop-filter:blur(12px);color:var(--ink-2)}
[data-template="halo"] .subhero__answer-label{color:var(--brand-deep);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:11.5px}
[data-template="halo"] .subhero__answer p{color:var(--ink-2)}
[data-template="halo"] .subhero__photo,[data-template="halo"] .photo{background:var(--hlo-cloud);border:1px solid var(--hlo-line);border-radius:var(--radius-lg);box-shadow:0 40px 90px rgba(21,19,31,.14);overflow:hidden}
[data-template="halo"] .card,[data-template="halo"] .aside-card,[data-template="halo"] .other-services__card,[data-template="halo"] .area-service-card,[data-template="halo"] .case-card,[data-template="halo"] .related-link,[data-template="halo"] .hub-bottom__panel{background:var(--hlo-cloud);border:1px solid var(--hlo-line);border-radius:var(--radius-lg);box-shadow:0 14px 40px rgba(21,19,31,.06);color:var(--ink-2)}
[data-template="halo"] .card::after{display:none}
[data-template="halo"] .card:hover,[data-template="halo"] .area-service-card:hover,[data-template="halo"] .related-link:hover{transform:translateY(-6px);border-color:rgba(var(--brand-rgb),.3);box-shadow:0 30px 70px rgba(var(--brand-rgb),.18)}
[data-template="halo"] .card h3,[data-template="halo"] .related-link h3,[data-template="halo"] .area-service-card h3{color:var(--ink)}
[data-template="halo"] .card p,[data-template="halo"] .area-service-card p{color:var(--ink-2)}
[data-template="halo"] .card__image,[data-template="halo"] .area-service-card__media,[data-template="halo"] .article-card__media,[data-template="halo"] .article-featured__media{background:var(--hlo-paper-2);border-bottom:1px solid var(--hlo-line);border-radius:var(--radius) var(--radius) 0 0;overflow:hidden}
[data-template="halo"] .card__image::after{display:none}
[data-template="halo"] .card__icon{background:rgba(var(--brand-rgb),.12);border:1px solid rgba(var(--brand-rgb),.26);color:var(--brand-deep);border-radius:14px;box-shadow:0 6px 18px rgba(var(--brand-rgb),.18)}
[data-template="halo"] .card__price,[data-template="halo"] .area-service-card__price{color:var(--ink);font-family:var(--ff-heading);font-weight:600;font-size:19px}
[data-template="halo"] .card__price small{color:var(--muted)}
[data-template="halo"] .card__link{color:var(--brand-deep);font-weight:600;font-size:13.5px}
[data-template="halo"] .card:hover .card__link{color:var(--brand)}
[data-template="halo"] .faq__item{background:var(--hlo-cloud);border:1px solid var(--hlo-line);border-radius:var(--radius);box-shadow:0 10px 30px rgba(21,19,31,.05)}
[data-template="halo"] .faq__q{background:transparent;color:var(--ink);font-family:var(--ff-heading);font-weight:600;font-size:18px;letter-spacing:-.01em}
[data-template="halo"] .faq__icon{color:var(--brand-deep);background:rgba(var(--brand-rgb),.10);border-radius:50%}
[data-template="halo"] .faq__a,[data-template="halo"] .faq__a p{color:var(--ink-2)}
[data-template="halo"] .form-card{background:var(--hlo-glass);border:1px solid var(--hlo-line);border-radius:var(--radius-lg);box-shadow:0 40px 90px rgba(21,19,31,.12);backdrop-filter:blur(14px);padding:38px;color:var(--ink-2)}
[data-template="halo"] .form-card h2{color:var(--ink)}
[data-template="halo"] .field label,[data-template="halo"] .form-pane__title,[data-template="halo"] .form-step__name{color:var(--ink-2);font-weight:600;font-size:13px}
[data-template="halo"] .field input,[data-template="halo"] .field textarea,[data-template="halo"] .field select,[data-template="halo"] .postal-check__row input,[data-template="halo"] .services-search input{background:var(--hlo-cloud);border:1px solid var(--hlo-line-2);border-radius:12px;color:var(--ink);font-family:var(--ff-body)}
[data-template="halo"] .field input::placeholder,[data-template="halo"] .field textarea::placeholder,[data-template="halo"] .postal-check__row input::placeholder{color:var(--muted)}
[data-template="halo"] .field input:focus,[data-template="halo"] .field textarea:focus,[data-template="halo"] .field select:focus,[data-template="halo"] .postal-check__row input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 4px rgba(var(--brand-rgb),.16)}
[data-template="halo"] .form-step__bubble{background:var(--hlo-paper-2);border:1px solid var(--hlo-line-2);border-radius:50%;color:var(--muted);font-family:var(--ff-heading)}
[data-template="halo"] .form-step.is-active .form-step__bubble{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 0 0 4px rgba(var(--brand-rgb),.2)}
[data-template="halo"] .form-step.is-done .form-step__bubble{color:var(--brand-deep);border-color:rgba(var(--brand-rgb),.5)}
[data-template="halo"] .file-drop{background:var(--hlo-paper-2);border:1.5px dashed var(--hlo-line-2);border-radius:var(--radius);color:var(--ink-2)}
[data-template="halo"] .file-drop:hover,[data-template="halo"] .file-drop.is-drag{border-color:var(--brand);background:rgba(var(--brand-rgb),.06);color:var(--brand-deep)}
[data-template="halo"] .postal-check{background:var(--hlo-glass);border:1px solid var(--hlo-line);border-radius:var(--radius);box-shadow:0 18px 44px rgba(21,19,31,.08);backdrop-filter:blur(12px)}
[data-template="halo"] .postal-check__title{color:var(--ink);font-family:var(--ff-heading)}
[data-template="halo"] .postal-check__sub{color:var(--muted)}
[data-template="halo"] .postal-check__pin{background:rgba(var(--brand-rgb),.12);border:1px solid rgba(var(--brand-rgb),.26);color:var(--brand-deep);border-radius:12px}
[data-template="halo"] .postal-check__row{background:var(--hlo-cloud);border:1px solid var(--hlo-line-2);border-radius:12px}
[data-template="halo"] .postal-check__row input{color:var(--ink)}
[data-template="halo"] .postal-check__hint{background:var(--hlo-cloud);color:var(--ink);border:1px solid var(--hlo-line);border-radius:12px;box-shadow:0 10px 30px rgba(21,19,31,.08)}
[data-template="halo"] .review-card,[data-template="halo"] .reviews-carousel__card{background:var(--hlo-cloud);border:1px solid var(--hlo-line);border-radius:var(--radius-lg);box-shadow:0 18px 50px rgba(21,19,31,.07);color:var(--ink-2)}
[data-template="halo"] .review-card blockquote{font-family:var(--ff-heading);font-size:20px;color:var(--ink);line-height:1.46;font-weight:500}
[data-template="halo"] .review-card__author{color:var(--ink);font-weight:600;font-size:14px}
[data-template="halo"] .review-card__source,[data-template="halo"] .reviews-source-label{color:var(--muted)}
[data-template="halo"] .reviews-carousel .hero__stars,[data-template="halo"] .review-card .hero__stars{color:var(--star)}
[data-template="halo"] .reviews-carousel__nav,[data-template="halo"] .card-scroller__nav,[data-template="halo"] .hero-carousel__nav{background:var(--hlo-glass);border:1px solid var(--hlo-line);border-radius:50%;color:var(--ink);box-shadow:0 8px 22px rgba(21,19,31,.1);backdrop-filter:blur(10px)}
[data-template="halo"] .reviews-carousel__nav:hover,[data-template="halo"] .card-scroller__nav:hover,[data-template="halo"] .hero-carousel__nav:hover{border-color:var(--brand);color:var(--brand-deep)}
[data-template="halo"] .trusted{background:var(--hlo-paper-2);border-top:1px solid var(--hlo-line);border-bottom:1px solid var(--hlo-line)}
[data-template="halo"] .trusted__label{color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font-size:11.5px}
[data-template="halo"] .trusted__row{filter:none;opacity:.85}
[data-template="halo"] .trusted__google-rating{color:var(--ink)}
[data-template="halo"] .trusted__google-score{color:var(--ink);font-family:var(--ff-heading);font-weight:700}
[data-template="halo"] .trusted__google-rating .hero__stars{color:var(--star)}
[data-template="halo"] .trusted__google-sub{color:var(--ink-2)}
[data-template="halo"] .process__step{background:var(--hlo-cloud);border:1px solid var(--hlo-line);border-radius:var(--radius-lg);box-shadow:0 12px 36px rgba(21,19,31,.06)}
[data-template="halo"] .process__step::before{display:none}
[data-template="halo"] .process__step:hover{transform:translateY(-5px);border-color:rgba(var(--brand-rgb),.3);box-shadow:0 26px 60px rgba(var(--brand-rgb),.16)}
[data-template="halo"] .process__step h3{font-family:var(--ff-heading);color:var(--ink)}
[data-template="halo"] .process__step p{color:var(--ink-2)}
[data-template="halo"] .process__check{background:rgba(var(--brand-rgb),.12);border:1px solid rgba(var(--brand-rgb),.3);color:var(--brand-deep);box-shadow:0 6px 18px rgba(var(--brand-rgb),.2)}
[data-template="halo"] .cta-strip{background:linear-gradient(135deg,#fff 0%,var(--hlo-paper-2) 100%);border:1px solid rgba(var(--brand-rgb),.22);border-radius:var(--radius-lg);box-shadow:0 30px 70px rgba(var(--brand-rgb),.14);color:var(--ink);position:relative;overflow:hidden}
[data-template="halo"] .cta-strip::before{content:"";position:absolute;top:-50%;left:50%;transform:translateX(-50%);width:80%;height:160%;background:radial-gradient(50% 50% at 50% 50%,rgba(var(--brand-rgb),.18),transparent 70%);pointer-events:none}
[data-template="halo"] .cta-strip::after{display:none}
[data-template="halo"] .cta-strip h2{color:var(--ink);letter-spacing:-.025em}
[data-template="halo"] .cta-strip p{color:var(--ink-2)}
[data-template="halo"] .cta-strip .btn--primary{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 10px 30px rgba(var(--brand-rgb),.34)}
[data-template="halo"] .cta-strip .btn--primary .btn__arrow{background:#fff;color:var(--brand-deep)}
[data-template="halo"] .cta-strip .btn--ghost{background:var(--hlo-glass);color:var(--ink);border:1px solid var(--hlo-line-2);backdrop-filter:blur(8px)}
[data-template="halo"] .cta-strip .btn--ghost .btn__arrow{background:var(--ink);color:#fff}
[data-template="halo"] .btn--primary{background:var(--brand);color:#fff;border:1px solid var(--brand);box-shadow:0 8px 24px rgba(var(--brand-rgb),.3)}
[data-template="halo"] .btn--primary .btn__arrow{background:#fff;color:var(--brand-deep)}
[data-template="halo"] .btn--primary:hover{box-shadow:0 14px 38px rgba(var(--brand-rgb),.42);transform:translateY(-2px)}
[data-template="halo"] .btn--ghost{background:var(--hlo-glass);color:var(--ink);border:1px solid var(--hlo-line-2);backdrop-filter:blur(8px)}
[data-template="halo"] .btn--ghost .btn__arrow{background:var(--ink);color:#fff}
[data-template="halo"] .btn--ghost:hover{border-color:var(--brand);color:var(--brand-deep);box-shadow:0 10px 28px rgba(21,19,31,.08)}
[data-template="halo"] .price-table{background:var(--hlo-cloud);border:1px solid var(--hlo-line);border-radius:var(--radius);overflow:hidden;color:var(--ink-2);box-shadow:0 14px 40px rgba(21,19,31,.06)}
[data-template="halo"] .price-table th{background:var(--hlo-paper-2);color:var(--ink);text-transform:uppercase;letter-spacing:.06em;font-size:11.5px;border-color:var(--hlo-line)}
[data-template="halo"] .price-table td{border-color:var(--hlo-line)}
[data-template="halo"] .price-table .num{color:var(--brand-deep);font-family:var(--ff-heading);font-weight:600}
[data-template="halo"] .sitemap-block{background:var(--hlo-cloud);border:1px solid var(--hlo-line);border-radius:var(--radius);box-shadow:0 12px 34px rgba(21,19,31,.05)}
[data-template="halo"] .sitemap-block:hover{transform:translateY(-4px);border-color:rgba(var(--brand-rgb),.3);box-shadow:0 24px 56px rgba(var(--brand-rgb),.14)}
[data-template="halo"] .sitemap-block h2,[data-template="halo"] .sitemap-block h3{font-family:var(--ff-heading);color:var(--ink)}
[data-template="halo"] .sitemap-block__icon{background:rgba(var(--brand-rgb),.12);border:1px solid rgba(var(--brand-rgb),.26);color:var(--brand-deep);border-radius:12px}
[data-template="halo"] .sitemap-block a:hover{color:var(--brand-deep)}
[data-template="halo"] .article-card,[data-template="halo"] .article-featured{background:var(--hlo-cloud);border:1px solid var(--hlo-line);border-radius:var(--radius-lg);box-shadow:0 14px 40px rgba(21,19,31,.06);color:var(--ink-2)}
[data-template="halo"] .article-card:hover,[data-template="halo"] .article-featured:hover{transform:translateY(-6px);border-color:rgba(var(--brand-rgb),.3);box-shadow:0 30px 70px rgba(var(--brand-rgb),.16)}
[data-template="halo"] .article-card__body h3,[data-template="halo"] .article-featured__body h2,[data-template="halo"] .article-featured__body h3{font-family:var(--ff-heading);color:var(--ink);letter-spacing:-.01em}
[data-template="halo"] .article-card p,[data-template="halo"] .article-featured p{color:var(--ink-2)}
[data-template="halo"] .article-card__cta,[data-template="halo"] .article-featured__cta{color:var(--brand-deep);font-weight:600;font-size:13.5px}
[data-template="halo"] .article-badge{background:var(--brand);color:#fff;border-radius:999px;font-weight:600}
[data-template="halo"] .article-hero,[data-template="halo"] .contact-hero{background:var(--hlo-paper);border-bottom:1px solid var(--hlo-line)}
[data-template="halo"] .article-filter__chip,[data-template="halo"] .pagination__btn{background:var(--hlo-cloud);border:1px solid var(--hlo-line-2);border-radius:999px;color:var(--ink-2);font-size:13px}
[data-template="halo"] .article-filter__chip:hover,[data-template="halo"] .pagination__btn:hover{border-color:var(--brand);color:var(--brand-deep)}
[data-template="halo"] .pagination__btn.is-active,[data-template="halo"] .article-filter__chip.is-active{background:var(--brand);border-color:var(--brand);color:#fff}
[data-template="halo"] .contact-method{background:var(--hlo-cloud);border:1px solid var(--hlo-line);border-radius:var(--radius);box-shadow:0 12px 34px rgba(21,19,31,.05)}
[data-template="halo"] .contact-method__body,[data-template="halo"] .contact-hero__lead{color:var(--ink-2)}
[data-template="halo"] .contact-method__icon{background:rgba(var(--brand-rgb),.12);border:1px solid rgba(var(--brand-rgb),.26);color:var(--brand-deep)}
[data-template="halo"] .about-check{background:var(--hlo-cloud);border:1px solid var(--hlo-line);border-radius:var(--radius);box-shadow:0 10px 30px rgba(21,19,31,.05)}
[data-template="halo"] .about-check__check{background:rgba(var(--brand-rgb),.12);border:1px solid rgba(var(--brand-rgb),.3);color:var(--brand-deep);box-shadow:0 6px 16px rgba(var(--brand-rgb),.2)}
[data-template="halo"] .about-check__label{font-family:var(--ff-heading);color:var(--ink)}
[data-template="halo"] .addr-ac__list{background:var(--hlo-cloud);border:1px solid var(--hlo-line-2);border-radius:12px;box-shadow:0 14px 40px rgba(21,19,31,.1)}
[data-template="halo"] .addr-ac__item{color:var(--ink-2)}
[data-template="halo"] .addr-ac__item.is-active,[data-template="halo"] .addr-ac__item:hover{background:rgba(var(--brand-rgb),.10);color:var(--brand-deep)}
[data-template="halo"] .mobile-call-bar{background:var(--hlo-glass);border-top:1px solid var(--hlo-line);backdrop-filter:blur(16px);box-shadow:0 -8px 30px rgba(21,19,31,.08)}
[data-template="halo"] .mobile-call-bar .call{background:var(--brand);color:#fff;box-shadow:0 6px 18px rgba(var(--brand-rgb),.34)}
[data-template="halo"] .mobile-call-bar .quote{background:var(--hlo-cloud);color:var(--ink);border:1px solid var(--hlo-line-2)}

/* — Animation (halo) — */
@media (prefers-reduced-motion: no-preference){
  @keyframes hlo-fade-up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
  @keyframes hlo-halo-breathe{0%,100%{transform:translateX(-50%) scale(1);opacity:.85}50%{transform:translateX(-50%) scale(1.07);opacity:1}}
  @keyframes hlo-ring-pulse{0%,100%{transform:scale(.96);opacity:.4}50%{transform:scale(1.04);opacity:.8}}
  @keyframes hlo-sheen{0%{background-position:-150% 0}60%,100%{background-position:250% 0}}
  [data-template="halo"] .reveal{opacity:0}
  [data-template="halo"] .reveal.is-visible{animation:hlo-fade-up .75s cubic-bezier(.2,.7,.3,1) both}
  [data-template="halo"] .subhero h1{animation:hlo-fade-up .85s cubic-bezier(.2,.7,.3,1) both}
  [data-template="halo"] .subhero__lead{animation:hlo-fade-up .85s cubic-bezier(.2,.7,.3,1) .12s both}
  [data-template="halo"] .subhero::before{animation:hlo-halo-breathe 9s ease-in-out infinite}
  [data-template="halo"] .section:nth-child(even)::before{animation:hlo-ring-pulse 11s ease-in-out infinite}
  [data-template="halo"] .cta-strip::before{animation:hlo-halo-breathe 10s ease-in-out infinite}
  [data-template="halo"] .card,[data-template="halo"] .area-service-card,[data-template="halo"] .article-card,[data-template="halo"] .process__step,[data-template="halo"] .sitemap-block,[data-template="halo"] .related-link{transition:transform .4s cubic-bezier(.2,.7,.3,1),border-color .4s ease,box-shadow .4s ease}
  [data-template="halo"] .card__image img,[data-template="halo"] .area-service-card__media img,[data-template="halo"] .article-card__media img{transition:transform 1s cubic-bezier(.2,.7,.3,1),filter .6s ease}
  [data-template="halo"] .card:hover .card__image img,[data-template="halo"] .article-card:hover .article-card__media img{transform:scale(1.05)}
  [data-template="halo"] .btn--primary,[data-template="halo"] .btn--ghost{transition:transform .25s ease,box-shadow .3s ease,background .25s ease,border-color .25s ease,color .25s ease;position:relative;overflow:hidden}
  [data-template="halo"] .btn--primary::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 32%,rgba(255,255,255,.45) 50%,transparent 68%);background-size:250% 100%;background-position:-150% 0;pointer-events:none}
  [data-template="halo"] .btn--primary:hover::after{animation:hlo-sheen 1.1s ease both}
  [data-template="halo"] .field input:focus,[data-template="halo"] .field textarea:focus,[data-template="halo"] .field select:focus{transition:box-shadow .25s ease,border-color .25s ease}
  [data-template="halo"] .nav__links > a,[data-template="halo"] .footer li a,[data-template="halo"] .card__link,[data-template="halo"] .article-card__cta{transition:color .25s ease}
}
@media (prefers-reduced-motion: reduce){
  [data-template="halo"] .reveal,[data-template="halo"] .subhero h1,[data-template="halo"] .subhero__lead{animation:none;opacity:1}
  [data-template="halo"] .subhero::before,[data-template="halo"] .section:nth-child(even)::before,[data-template="halo"] .cta-strip::before{animation:none}
}


/* ═══ Halo — CHROME ═══ */
/* ════════════════════════════════════════════════════════════════════════
   HALO — bespoke chrome. Ljus, svävande premium-tech. En radiell gloria-glöd
   bakom hero-rubriken (andande halo-ring + koncentriska ringar + driftande
   ljuspartiklar) + glas-kort som lyfter via fokuserad drop-shadow. Klassprefix: hal-
   ════════════════════════════════════════════════════════════════════════ */

.hal-header,
.hal-footer,
.hal-home {
  --hal-paper: #FBFBFE;
  --hal-paper-2: #F3F3FB;
  --hal-cloud: #FFFFFF;
  --hal-ink: #15131F;
  --hal-ink-2: #4A4760;
  --hal-muted: #8A879C;
  --hal-line: rgba(21, 19, 31, .08);
  --hal-line-2: rgba(21, 19, 31, .14);
  --hal-brand: var(--brand, #6A5BFF);
  --hal-brand-rgb: var(--brand-rgb, 106, 91, 255);
  --hal-glow: radial-gradient(60% 60% at 50% 38%, rgba(var(--hal-brand-rgb), .16), transparent 70%);
  --hal-glass: rgba(255, 255, 255, .66);
  --hal-maxw: 1320px;
  --hal-ff-head: var(--ff-heading);
  --hal-ff-body: var(--ff-body);
}

/* ── HEADER ─────────────────────────────────────────────────────────── */
.hal-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 60;
  background: transparent;
}
.hal-header__inner {
  position: relative;
  z-index: 80; /* över .hal-drawer (z-index:60–70) så burgaren/X går att klicka även i is-scrolled (backdrop-filter skapar annars en fälla) */
  max-width: var(--hal-maxw);
  margin: 0 auto;
  padding: 26px 40px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 26px;
  border: 1px solid transparent;
  border-radius: 999px;
  transition: padding .4s cubic-bezier(.2, .7, .3, 1), margin .4s cubic-bezier(.2, .7, .3, 1),
    background .4s ease, border-color .4s ease, box-shadow .4s ease, backdrop-filter .4s ease;
}
.hal-header.is-scrolled .hal-header__inner {
  margin: 12px auto 0;
  padding: 14px 22px;
  width: calc(100% - 32px);
  max-width: calc(var(--hal-maxw) - 80px);
  background: var(--hal-glass);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
  backdrop-filter: blur(16px) saturate(1.2);
  border-color: var(--hal-line);
  box-shadow: 0 10px 40px rgba(21, 19, 31, .08);
}

.hal-brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  text-decoration: none;
}
.hal-brand__halo {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  flex: none;
  background:
    radial-gradient(circle at 50% 50%, #fff 0 26%, transparent 40%),
    conic-gradient(from 210deg, rgba(var(--hal-brand-rgb), .25), var(--hal-brand), rgba(var(--hal-brand-rgb), .25));
  box-shadow: 0 0 0 1px rgba(var(--hal-brand-rgb), .35), 0 4px 14px rgba(var(--hal-brand-rgb), .4);
}
.hal-brand__name {
  font-family: var(--hal-ff-head);
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -.01em;
  color: var(--hal-ink);
}

.hal-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
}
.hal-nav__link {
  font-family: var(--hal-ff-body);
  font-size: 14px;
  color: var(--hal-ink-2);
  letter-spacing: .01em;
  text-decoration: none;
  padding: 8px 14px;
  border-radius: 999px;
  transition: background .25s ease, color .25s ease;
}
.hal-nav__link:hover {
  background: rgba(var(--hal-brand-rgb), .08);
  color: var(--hal-brand);
}

.hal-header__right {
  display: flex;
  align-items: center;
  gap: 16px;
}
.hal-header__phone {
  font-family: var(--hal-ff-head);
  font-size: 16px;
  font-weight: 600;
  color: var(--hal-ink);
  text-decoration: none;
  white-space: nowrap;
}
.hal-header__phone:hover { color: var(--hal-brand); }
.hal-header__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 24px;
  border-radius: 999px;
  background: var(--hal-brand);
  color: #fff;
  font-family: var(--hal-ff-body);
  font-weight: 600;
  font-size: 14.5px;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 8px 24px rgba(var(--hal-brand-rgb), .34);
  transition: transform .25s ease, box-shadow .3s ease;
}
.hal-header__cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(var(--hal-brand-rgb), .46);
}

.hal-burger {
  display: none;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid var(--hal-line);
  background: var(--hal-glass);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: var(--hal-ink);
  cursor: pointer;
  flex: none;
}

/* mobil drawer */
.hal-drawer {
  position: fixed;
  inset: 0;
  z-index: 70;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 96px 28px 36px;
  background: var(--hal-cloud);
  overflow-y: auto;
}
.hal-drawer__glow {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 720px;
  max-width: 140vw;
  height: 720px;
  background: var(--hal-glow);
  pointer-events: none;
}
.hal-drawer__nav {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.hal-drawer__link {
  font-family: var(--hal-ff-head);
  font-size: clamp(26px, 8vw, 36px);
  font-weight: 600;
  letter-spacing: -.02em;
  color: var(--hal-ink);
  text-decoration: none;
  padding: 16px 0;
  border-bottom: 1px solid var(--hal-line);
  transition: color .2s ease;
}
.hal-drawer__link:hover { color: var(--hal-brand); }
.hal-drawer__foot {
  position: relative;
  margin-top: 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.hal-drawer__phone {
  font-family: var(--hal-ff-head);
  font-size: 22px;
  font-weight: 600;
  color: var(--hal-brand);
  text-decoration: none;
}
.hal-drawer__cta {
  align-self: flex-start;
  padding: 14px 30px;
  font-size: 16px;
}

/* ── HERO (SIGNATUR) ────────────────────────────────────────────────── */
.hal-hero {
  position: relative;
  overflow: hidden;
  padding: 150px 24px 90px;
  background: var(--hal-paper);
  text-align: center;
}
.hal-hero__halo {
  position: absolute;
  top: 6%;
  left: 50%;
  transform: translateX(-50%);
  width: 900px;
  max-width: 150vw;
  height: 900px;
  background: var(--hal-glow);
  filter: blur(8px);
  pointer-events: none;
  z-index: 0;
}
.hal-hero__rings {
  position: absolute;
  top: 38%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(820px, 130vw);
  height: min(820px, 130vw);
  pointer-events: none;
  z-index: 0;
}
.hal-hero__ring {
  fill: none;
  stroke: rgba(var(--hal-brand-rgb), .12);
  stroke-width: 1;
  transform-box: fill-box;
  transform-origin: center;
}
.hal-hero__motes {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.hal-mote {
  position: absolute;
  border-radius: 50%;
  background: rgba(var(--hal-brand-rgb), .8);
  box-shadow: 0 0 8px rgba(var(--hal-brand-rgb), .7);
  opacity: 0;
}

.hal-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 920px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hal-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 16px;
  border-radius: 999px;
  background: rgba(var(--hal-brand-rgb), .1);
  border: 1px solid rgba(var(--hal-brand-rgb), .22);
  color: var(--brand-deep, var(--hal-brand));
  font-family: var(--hal-ff-body);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.hal-hero__eyebrow-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--hal-brand);
  box-shadow: 0 0 9px rgba(var(--hal-brand-rgb), .9);
}
.hal-hero__title {
  margin: 22px 0 0;
  font-family: var(--hal-ff-head);
  font-weight: 600;
  font-size: clamp(46px, 7vw, 92px);
  line-height: 1.02;
  letter-spacing: -.025em;
  color: var(--hal-ink);
}
.hal-hero__title em {
  font-style: normal;
  background: linear-gradient(120deg, var(--hal-brand), rgba(var(--hal-brand-rgb), .7));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 0 40px rgba(var(--hal-brand-rgb), .35);
}
.hal-hero__lead {
  margin: 22px 0 0;
  max-width: 560px;
  font-family: var(--hal-ff-body);
  font-size: 19px;
  line-height: 1.6;
  color: var(--hal-ink-2);
}
.hal-hero__cta-row {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
}
.hal-hero__ghost {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  border-radius: 999px;
  background: var(--hal-glass);
  border: 1px solid var(--hal-line-2);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  color: var(--hal-ink);
  font-family: var(--hal-ff-body);
  font-weight: 600;
  font-size: 14.5px;
  text-decoration: none;
  transition: border-color .25s ease, color .25s ease, box-shadow .3s ease;
}
.hal-hero__ghost:hover {
  border-color: var(--hal-brand);
  color: var(--brand-deep, var(--hal-brand));
  box-shadow: 0 10px 28px rgba(21, 19, 31, .08);
}
.hal-hero__rating {
  margin-top: 26px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--hal-ink-2);
  font-size: 14px;
}
.hal-hero__rating .hero__stars { color: var(--star, #F5A623); }

/* SIGNATUR-FINESS: svävande glas-mediapanel med fokuserad drop-shadow + rim-light */
.hal-hero__media {
  width: 100%;
  max-width: 920px;
  margin: 52px auto 0;
  padding: 8px;
  border-radius: 26px;
  background: var(--hal-glass);
  border: 1px solid var(--hal-line);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  filter: drop-shadow(0 40px 90px rgba(21, 19, 31, .14));
}
.hal-hero__media-frame {
  position: relative;
  aspect-ratio: 16 / 9;
  border-radius: 19px;
  overflow: hidden;
  background: linear-gradient(160deg, var(--hal-paper-2), var(--hal-cloud));
}
.hal-hero__media-frame::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 19px;
  box-shadow: inset 0 1px 0 rgba(var(--hal-brand-rgb), .35);
  pointer-events: none;
  z-index: 2;
}
.hal-hero__video,
.hal-hero__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hal-hero__logos {
  margin-top: 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 30px;
  opacity: .8;
}
.hal-hero__stats {
  margin: 44px 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 18px 38px;
}
.hal-stat {
  position: relative;
  text-align: center;
  margin: 0;
}
.hal-stat + .hal-stat::before {
  content: "";
  position: absolute;
  left: -19px;
  top: 50%;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--hal-brand);
  box-shadow: 0 0 8px rgba(var(--hal-brand-rgb), .8);
  transform: translateY(-50%);
}
.hal-stat__num {
  font-family: var(--hal-ff-head);
  font-weight: 600;
  font-size: 30px;
  letter-spacing: -.02em;
  color: var(--hal-ink);
}
.hal-stat__lab {
  margin: 4px 0 0;
  font-size: 11.5px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--hal-muted);
}

/* ── POSTNUMMER ─────────────────────────────────────────────────────── */
.hal-postal__wrap {
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
}

/* ── TRUST ──────────────────────────────────────────────────────────── */
.hal-trust .trusted {
  background: transparent;
  border: 0;
  padding: 0;
}

/* ── SHARED SECTION HEAD (lokala fallbacks om global ej laddats) ──────── */
.hal-home .section-head {
  text-align: center;
  max-width: 740px;
  margin: 0 auto 44px;
}
.hal-home .section-head .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(var(--hal-brand-rgb), .1);
  border: 1px solid rgba(var(--hal-brand-rgb), .22);
  padding: 6px 14px;
  color: var(--brand-deep, var(--hal-brand));
  font-family: var(--hal-ff-body);
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 11.5px;
  border-radius: 999px;
}
.hal-home .section-head h2 {
  margin: 16px 0 0;
  font-family: var(--hal-ff-head);
  font-weight: 600;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.06;
  letter-spacing: -.025em;
  color: var(--hal-ink);
}
.hal-home .section-head p {
  margin: 14px auto 0;
  color: var(--hal-ink-2);
  font-size: 17px;
  line-height: 1.6;
}

/* ── CARD GRID — glas-kort som lyfter ───────────────────────────────── */
.hal-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.hal-card {
  display: flex;
  flex-direction: column;
  background: var(--hal-cloud);
  border: 1px solid var(--hal-line);
  border-radius: 26px;
  overflow: hidden;
  color: var(--hal-ink-2);
  filter: drop-shadow(0 14px 40px rgba(21, 19, 31, .06));
  transition: transform .4s cubic-bezier(.2, .7, .3, 1), border-color .4s ease, filter .4s ease;
}
.hal-card:hover {
  transform: translateY(-6px);
  border-color: rgba(var(--hal-brand-rgb), .3);
  filter: drop-shadow(0 30px 70px rgba(var(--hal-brand-rgb), .2));
}
.hal-card__media {
  position: relative;
  aspect-ratio: 4 / 3;
  background: var(--hal-paper-2);
  border-bottom: 1px solid var(--hal-line);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hal-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1s cubic-bezier(.2, .7, .3, 1);
}
.hal-card:hover .hal-card__media img { transform: scale(1.05); }
.hal-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: rgba(var(--hal-brand-rgb), .12);
  border: 1px solid rgba(var(--hal-brand-rgb), .26);
  color: var(--brand-deep, var(--hal-brand));
  box-shadow: 0 6px 18px rgba(var(--hal-brand-rgb), .18);
}
.hal-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 24px;
}
.hal-card__body h3 {
  margin: 0;
  font-family: var(--hal-ff-head);
  font-weight: 600;
  font-size: 20px;
  letter-spacing: -.015em;
  color: var(--hal-ink);
}
.hal-card__body p {
  margin: 10px 0 0;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--hal-ink-2);
}
.hal-card__foot {
  margin-top: auto;
  padding-top: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.hal-card__price {
  font-family: var(--hal-ff-head);
  font-weight: 600;
  font-size: 18px;
  color: var(--hal-ink);
}
.hal-card__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--hal-ff-body);
  font-weight: 600;
  font-size: 13.5px;
  color: var(--brand-deep, var(--hal-brand));
  text-decoration: none;
  white-space: nowrap;
}
.hal-card:hover .hal-card__link { color: var(--hal-brand); }
.hal-usp__card {
  padding: 26px 24px;
  text-align: left;
}
.hal-usp__card h3 { margin: 16px 0 0; }

/* ── ABOUT ──────────────────────────────────────────────────────────── */
.hal-about__inner { margin-bottom: 0; }

/* ── STATS BAND ─────────────────────────────────────────────────────── */
.hal-band {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 28px 56px;
  padding: 48px 32px;
  border-radius: 26px;
  background: linear-gradient(135deg, var(--hal-cloud) 0%, var(--hal-paper-2) 100%);
  border: 1px solid rgba(var(--hal-brand-rgb), .18);
  box-shadow: 0 24px 60px rgba(var(--hal-brand-rgb), .12);
}
.hal-band__stat {
  position: relative;
  text-align: center;
}
.hal-band__stat + .hal-band__stat::before {
  content: "";
  position: absolute;
  left: -28px;
  top: 50%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--hal-brand);
  box-shadow: 0 0 10px rgba(var(--hal-brand-rgb), .85);
  transform: translateY(-50%);
}
.hal-band__num {
  font-family: var(--hal-ff-head);
  font-weight: 600;
  font-size: clamp(34px, 4vw, 50px);
  letter-spacing: -.025em;
  color: var(--hal-ink);
}
.hal-band__lab {
  margin-top: 6px;
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--hal-muted);
}

/* ── PROCESS ────────────────────────────────────────────────────────── */
.hal-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.hal-step {
  background: var(--hal-cloud);
  border: 1px solid var(--hal-line);
  border-radius: 26px;
  padding: 28px 24px;
  filter: drop-shadow(0 12px 36px rgba(21, 19, 31, .06));
  transition: transform .4s cubic-bezier(.2, .7, .3, 1), border-color .4s ease, filter .4s ease;
}
.hal-step:hover {
  transform: translateY(-5px);
  border-color: rgba(var(--hal-brand-rgb), .3);
  filter: drop-shadow(0 26px 60px rgba(var(--hal-brand-rgb), .16));
}
.hal-step__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(var(--hal-brand-rgb), .12);
  border: 1px solid rgba(var(--hal-brand-rgb), .3);
  color: var(--brand-deep, var(--hal-brand));
  font-family: var(--hal-ff-head);
  font-weight: 600;
  font-size: 18px;
  box-shadow: 0 6px 18px rgba(var(--hal-brand-rgb), .2);
}
.hal-step h3 {
  margin: 18px 0 0;
  font-family: var(--hal-ff-head);
  font-weight: 600;
  font-size: 18px;
  color: var(--hal-ink);
}
.hal-step p {
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--hal-ink-2);
}

/* ── FOOTER ─────────────────────────────────────────────────────────── */
.hal-footer {
  position: relative;
  overflow: hidden;
  background: var(--hal-paper-2);
  border-top: 1px solid var(--hal-line);
  color: var(--hal-ink-2);
}
.hal-footer__halo {
  position: absolute;
  top: -180px;
  left: 50%;
  transform: translateX(-50%);
  width: 1000px;
  max-width: 150vw;
  height: 600px;
  background: radial-gradient(50% 50% at 50% 50%, rgba(var(--hal-brand-rgb), .1), transparent 70%);
  pointer-events: none;
}
.hal-footer__inner {
  position: relative;
  z-index: 1;
  max-width: var(--hal-maxw);
  margin: 0 auto;
  padding: 84px 40px 40px;
}
.hal-footer__top {
  margin-bottom: 52px;
}
.hal-footer__wordmark {
  font-family: var(--hal-ff-head);
  font-weight: 600;
  font-size: clamp(34px, 5vw, 58px);
  letter-spacing: -.03em;
  color: var(--hal-ink);
  text-shadow: 0 0 36px rgba(var(--hal-brand-rgb), .22);
}
.hal-footer__tagline {
  margin: 14px 0 0;
  max-width: 420px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--hal-ink-2);
}
.hal-footer__cols {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 48px;
  border-bottom: 1px solid var(--hal-line);
}
.hal-footer__contact {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.hal-footer__addr,
.hal-footer__hours,
.hal-footer__contact-link {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin: 0;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--hal-ink-2);
  text-decoration: none;
}
.hal-footer__contact-link:hover { color: var(--hal-brand); }
.hal-footer__ico {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: rgba(var(--hal-brand-rgb), .1);
  border: 1px solid rgba(var(--hal-brand-rgb), .2);
  color: var(--brand-deep, var(--hal-brand));
}
.hal-footer__col-head {
  margin: 0 0 16px;
  font-family: var(--hal-ff-head);
  font-weight: 600;
  font-size: 15px;
  color: var(--hal-ink);
}
.hal-footer__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 11px;
}
.hal-footer__navlink {
  position: relative;
  font-size: 14.5px;
  color: var(--hal-ink-2);
  text-decoration: none;
  transition: color .25s ease;
}
.hal-footer__navlink::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 0;
  height: 1px;
  background: var(--hal-brand);
  transition: width .3s ease;
}
.hal-footer__navlink:hover {
  color: var(--hal-brand);
}
.hal-footer__navlink:hover::after { width: 100%; }

.hal-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 22px;
  padding-top: 28px;
}
.hal-footer__monogram {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  flex: none;
  background:
    radial-gradient(circle at 50% 50%, #fff 0 24%, transparent 38%),
    conic-gradient(from 210deg, rgba(var(--hal-brand-rgb), .25), var(--hal-brand), rgba(var(--hal-brand-rgb), .25));
  box-shadow: 0 0 0 1px rgba(var(--hal-brand-rgb), .3);
}
.hal-footer__copy {
  font-size: 13px;
  color: var(--hal-muted);
}
.hal-footer__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  margin-left: auto;
}
.hal-footer__org {
  font-size: 13px;
  color: var(--hal-muted);
}
.hal-footer__bottom-link {
  font-size: 13px;
  color: var(--hal-muted);
  text-decoration: none;
  transition: color .25s ease;
}
.hal-footer__bottom-link:hover { color: var(--hal-brand); }

/* ── ANIMATIONER (signatur) ─────────────────────────────────────────── */
@media (prefers-reduced-motion: no-preference) {
  @keyframes hal-halo-breathe {
    0%, 100% { transform: translateX(-50%) scale(1); opacity: .85; }
    50% { transform: translateX(-50%) scale(1.07); opacity: 1; }
  }
  @keyframes hal-ring-pulse {
    0%, 100% { transform: scale(.96); opacity: .4; }
    50% { transform: scale(1.04); opacity: .85; }
  }
  @keyframes hal-mote-drift {
    0% { transform: translateY(0) translateX(0); opacity: 0; }
    15% { opacity: .8; }
    85% { opacity: .6; }
    100% { transform: translateY(-130px) translateX(16px); opacity: 0; }
  }
  @keyframes hal-fade-up {
    from { opacity: 0; transform: translateY(22px); }
    to { opacity: 1; transform: none; }
  }
  .hal-hero__halo { animation: hal-halo-breathe 9s ease-in-out infinite; }
  .hal-hero__ring--1 { animation: hal-ring-pulse 8s ease-in-out infinite; }
  .hal-hero__ring--2 { animation: hal-ring-pulse 10s ease-in-out infinite .5s; }
  .hal-hero__ring--3 { animation: hal-ring-pulse 12s ease-in-out infinite 1s; }
  .hal-mote { animation: hal-mote-drift linear infinite; }
  .hal-hero__inner > * { animation: hal-fade-up .8s cubic-bezier(.2, .7, .3, 1) both; }
  .hal-hero__title { animation-delay: .06s; }
  .hal-hero__lead { animation-delay: .12s; }
  .hal-hero__cta-row { animation-delay: .18s; }
  .hal-hero__media { animation-delay: .24s; }
}
@media (prefers-reduced-motion: reduce) {
  .hal-hero__inner > * { animation: none; }
}

/* ── RESPONSIVT ─────────────────────────────────────────────────────── */
@media (max-width: 1080px) {
  .hal-grid { grid-template-columns: repeat(2, 1fr); }
  .hal-steps { grid-template-columns: repeat(2, 1fr); }
  .hal-footer__cols { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .hal-nav { display: none; }
  .hal-header__phone { display: none; }
  .hal-burger { display: inline-flex; }
  .hal-header__inner { padding: 18px 20px; }
  .hal-header.is-scrolled .hal-header__inner { padding: 12px 16px; width: calc(100% - 24px); }
}
@media (max-width: 680px) {
  .hal-hero { padding: 124px 18px 64px; }
  .hal-grid { grid-template-columns: 1fr; }
  .hal-steps { grid-template-columns: 1fr; }
  .hal-footer__cols { grid-template-columns: 1fr; gap: 32px; }
  .hal-footer__inner { padding: 64px 22px 32px; }
  .hal-footer__meta { margin-left: 0; }
  .hal-hero__cta-row { flex-direction: column; align-items: stretch; width: 100%; max-width: 340px; }
  .hal-header__cta { padding: 10px 18px; }
}



/* ═══ QA-FIXAR (halo) ═══ */
/* [hög] html[data-template="halo"] */
html[data-template="halo"]{--brand-deep:color-mix(in srgb, var(--brand) 72%, #15131F)}
/* [medel] html[data-template="halo"] .card__icon, html[data-templ */
html[data-template="halo"] .card__icon,html[data-template="halo"] .faq__icon,html[data-template="halo"] .process__check,html[data-template="halo"] .sitemap-block__icon,html[data-template="halo"] .contact-method__icon,html[data-template="halo"] .about-check__check,html[data-template="halo"] .postal-check__pin{background:color-mix(in srgb, var(--brand) 14%, #fff);border-color:color-mix(in srgb, var(--brand) 40%, var(--line-2))}

/* ═══ ANIMATIONS-FINPUTSNING (halo) — 8+ loopande (infinite) animationer samtidigt: inre-lager 3 (subhero::before halo ═══ */
/* Halo: dampa loopar -> behall 1 signatur (andande hero-halo). Scopat. */
@media (prefers-reduced-motion: no-preference){
  /* Stang av de minst vardefulla looparna i bada lagren */
  html[data-template="halo"] .section:nth-child(even)::before,
  html[data-template="halo"] .cta-strip::before,
  .hal-hero__ring--1,.hal-hero__ring--2,.hal-hero__ring--3,
  .hal-mote{animation:none !important}
  /* Behall hero-glorian som signatur men lugnare */
  html[data-template="halo"] .subhero::before{animation-duration:14s}
  .hal-hero__halo{animation-duration:14s}
}
/* KRITISKT: chrome-lagret pausade inte sina infinite-loopar vid reduced-motion. */
@media (prefers-reduced-motion: reduce){
  .hal-hero__halo,
  .hal-hero__ring--1,.hal-hero__ring--2,.hal-hero__ring--3,
  .hal-mote{animation:none !important}
}
