/* ═══ VIP-MALL: Empyrean — celest djupblå VIP med stjärnljus (premium) (empyrean) ═══ Inre-sid-CSS-lager + animation. Scopat [data-template="empyrean"]. Video:true. Signatur:#C9A227. */

html[data-template="empyrean"]{--bg:#070B1A;--bg-soft:#0B1124;--ink:#F3F5FF;--ink-2:#C3CBE8;--muted:#7C86AB;--line:rgba(195,203,232,.12);--line-2:rgba(195,203,232,.22);--brand-deep:var(--brand);--ff-heading:var(--next-font-cormorant),'Cormorant Garamond','Fraunces',Georgia,'Times New Roman',serif;--radius:6px;--radius-lg:10px;--radius-sm:3px;--star:var(--brand);--btn-radius:4px;--btn-pad:15px 30px;--btn-weight:600;--btn-transform:uppercase;--btn-tracking:.16em;--emp-void:#070B1A;--emp-void-2:#0B1124;--emp-void-3:#121A33;--emp-deep:#0E1530;--emp-star:#F3F5FF;--emp-star-2:#C3CBE8;--emp-muted:#7C86AB;--emp-line:rgba(195,203,232,.12);--emp-line-2:rgba(195,203,232,.22)}
[data-template="empyrean"] body{background:var(--emp-void);color:var(--ink-2);background-image:radial-gradient(120% 80% at 50% -8%,rgba(var(--brand-rgb),.08) 0%,transparent 55%),radial-gradient(90% 70% at 88% 4%,rgba(40,60,130,.22) 0%,transparent 60%),radial-gradient(1px 1px at 18% 24%,rgba(243,245,255,.5),transparent),radial-gradient(1px 1px at 62% 12%,rgba(243,245,255,.35),transparent),radial-gradient(1.5px 1.5px at 80% 40%,rgba(var(--brand-rgb),.55),transparent),radial-gradient(1px 1px at 33% 62%,rgba(243,245,255,.28),transparent),radial-gradient(1px 1px at 8% 78%,rgba(243,245,255,.32),transparent);background-attachment:fixed}
[data-template="empyrean"] h1,[data-template="empyrean"] h2,[data-template="empyrean"] h3,[data-template="empyrean"] h4{font-family:var(--ff-heading);font-weight:500;letter-spacing:-.015em;color:var(--ink)}
[data-template="empyrean"] a{color:inherit}
[data-template="empyrean"] .eyebrow,[data-template="empyrean"] .section-head .eyebrow{background:none;border:0;padding:0;color:var(--brand);font-family:var(--ff-body);font-weight:600;letter-spacing:.22em;text-transform:uppercase;font-size:11px;border-radius:0;display:inline-flex;align-items:center}
[data-template="empyrean"] .eyebrow::before{content:"";display:inline-block;width:24px;height:1px;background:currentColor;margin-right:12px;vertical-align:middle;opacity:.85}
[data-template="empyrean"] .section{border-top:1px solid var(--emp-line)}
[data-template="empyrean"] .section:nth-child(even){background:var(--emp-void-2)}
[data-template="empyrean"] .section-head{text-align:center;max-width:760px;margin-left:auto;margin-right:auto}
[data-template="empyrean"] .section-head h2{letter-spacing:-.02em;line-height:1.05;color:var(--ink)}
[data-template="empyrean"] .section-head p{color:var(--ink-2)}
[data-template="empyrean"] .subhero{padding:152px 0 64px;border-bottom:1px solid var(--emp-line);position:relative;background-image:radial-gradient(80% 90% at 50% 0%,rgba(var(--brand-rgb),.12) 0%,transparent 60%),radial-gradient(1px 1px at 22% 30%,rgba(243,245,255,.45),transparent),radial-gradient(1.5px 1.5px at 74% 22%,rgba(var(--brand-rgb),.5),transparent),radial-gradient(1px 1px at 46% 64%,rgba(243,245,255,.3),transparent)}
[data-template="empyrean"] .subhero h1{font-weight:500;letter-spacing:-.02em;line-height:1.0;color:var(--ink);max-width:920px}
[data-template="empyrean"] .subhero__lead{color:var(--ink-2);max-width:600px}
[data-template="empyrean"] .subhero__crumbs,[data-template="empyrean"] .subhero__crumbs a{color:var(--muted);text-transform:uppercase;letter-spacing:.16em;font-size:11px}
[data-template="empyrean"] .subhero__crumbs a:hover{color:var(--brand)}
[data-template="empyrean"] .subhero__crumbs span{color:var(--line-2)}
[data-template="empyrean"] .subhero__answer{background:var(--emp-void-2);border:1px solid var(--emp-line);border-left:2px solid var(--brand);border-radius:var(--radius-sm);box-shadow:0 0 30px rgba(var(--brand-rgb),.06) inset;color:var(--ink-2)}
[data-template="empyrean"] .subhero__answer-label{color:var(--brand);letter-spacing:.18em;text-transform:uppercase;font-size:11px}
[data-template="empyrean"] .subhero__answer p{color:var(--ink-2)}
[data-template="empyrean"] .subhero__photo,[data-template="empyrean"] .photo{background:var(--emp-void-2);border:1px solid var(--emp-line-2);border-radius:var(--radius-lg);box-shadow:0 0 0 1px rgba(var(--brand-rgb),.12),0 30px 70px rgba(0,0,0,.5)}
[data-template="empyrean"] .card,[data-template="empyrean"] .aside-card,[data-template="empyrean"] .other-services__card,[data-template="empyrean"] .area-service-card,[data-template="empyrean"] .case-card,[data-template="empyrean"] .related-link,[data-template="empyrean"] .hub-bottom__panel{background:var(--emp-void-2);border:1px solid var(--emp-line);border-radius:var(--radius-lg);box-shadow:none;color:var(--ink-2)}
[data-template="empyrean"] .card::after{display:none}
[data-template="empyrean"] .card:hover,[data-template="empyrean"] .area-service-card:hover,[data-template="empyrean"] .related-link:hover{transform:translateY(-5px);border-color:rgba(var(--brand-rgb),.45);box-shadow:0 1px 0 0 rgba(var(--brand-rgb),.5) inset,0 26px 56px rgba(0,0,0,.55),0 0 40px rgba(var(--brand-rgb),.08)}
[data-template="empyrean"] .card h3,[data-template="empyrean"] .related-link h3,[data-template="empyrean"] .area-service-card h3{color:var(--ink);font-family:var(--ff-heading)}
[data-template="empyrean"] .card p,[data-template="empyrean"] .area-service-card p{color:var(--ink-2)}
[data-template="empyrean"] .card__image,[data-template="empyrean"] .area-service-card__media,[data-template="empyrean"] .article-card__media,[data-template="empyrean"] .article-featured__media{background:var(--emp-void-3);border-bottom:1px solid var(--emp-line)}
[data-template="empyrean"] .card__image::after{display:none}
[data-template="empyrean"] .card__icon{background:rgba(var(--brand-rgb),.12);border:1px solid rgba(var(--brand-rgb),.42);color:var(--brand);border-radius:var(--radius-sm);box-shadow:0 0 18px rgba(var(--brand-rgb),.18)}
[data-template="empyrean"] .card__price,[data-template="empyrean"] .area-service-card__price{color:var(--brand);font-family:var(--ff-heading);font-size:19px}
[data-template="empyrean"] .card__price small{color:var(--muted)}
[data-template="empyrean"] .card__link{color:var(--ink);font-weight:600;text-transform:uppercase;letter-spacing:.16em;font-size:11.5px}
[data-template="empyrean"] .card:hover .card__link{color:var(--brand)}
[data-template="empyrean"] .faq__item{background:var(--emp-void-2);border:1px solid var(--emp-line);border-radius:var(--radius);box-shadow:none}
[data-template="empyrean"] .faq__q{background:transparent;color:var(--ink);font-family:var(--ff-heading);font-weight:500;font-size:21px;letter-spacing:-.01em}
[data-template="empyrean"] .faq__icon{color:var(--brand)}
[data-template="empyrean"] .faq__a,[data-template="empyrean"] .faq__a p{color:var(--ink-2)}
[data-template="empyrean"] .form-card{background:var(--emp-void-2);border:1px solid var(--emp-line-2);border-radius:var(--radius-lg);box-shadow:0 34px 80px rgba(0,0,0,.5),0 0 0 1px rgba(var(--brand-rgb),.08);padding:38px;color:var(--ink-2)}
[data-template="empyrean"] .form-card h2{color:var(--ink)}
[data-template="empyrean"] .field label,[data-template="empyrean"] .form-pane__title,[data-template="empyrean"] .form-step__name{color:var(--ink-2);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:600}
[data-template="empyrean"] .field input,[data-template="empyrean"] .field textarea,[data-template="empyrean"] .field select,[data-template="empyrean"] .postal-check__row input,[data-template="empyrean"] .services-search input{background:var(--emp-void);border:1px solid var(--emp-line-2);border-radius:var(--radius-sm);color:var(--ink);font-family:var(--ff-body)}
[data-template="empyrean"] .field input::placeholder,[data-template="empyrean"] .field textarea::placeholder,[data-template="empyrean"] .postal-check__row input::placeholder{color:var(--muted)}
[data-template="empyrean"] .field input:focus,[data-template="empyrean"] .field textarea:focus,[data-template="empyrean"] .field select:focus,[data-template="empyrean"] .postal-check__row input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px rgba(var(--brand-rgb),.18)}
[data-template="empyrean"] .form-step__bubble{background:var(--emp-void-3);border:1px solid var(--emp-line-2);border-radius:50%;color:var(--muted);font-family:var(--ff-heading)}
[data-template="empyrean"] .form-step.is-active .form-step__bubble{background:var(--brand);border-color:var(--brand);color:var(--emp-void);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.22),0 0 22px rgba(var(--brand-rgb),.4)}
[data-template="empyrean"] .form-step.is-done .form-step__bubble{color:var(--brand)}
[data-template="empyrean"] .file-drop{background:var(--emp-void);border:1px dashed var(--emp-line-2);border-radius:var(--radius);color:var(--ink-2)}
[data-template="empyrean"] .file-drop:hover,[data-template="empyrean"] .file-drop.is-drag{border-color:var(--brand);background:rgba(var(--brand-rgb),.07);color:var(--brand)}
[data-template="empyrean"] .postal-check{background:var(--emp-void-2);border:1px solid var(--emp-line);border-radius:var(--radius);box-shadow:none;backdrop-filter:none}
[data-template="empyrean"] .postal-check__title{color:var(--ink);font-family:var(--ff-heading)}
[data-template="empyrean"] .postal-check__sub{color:var(--muted)}
[data-template="empyrean"] .postal-check__pin{background:rgba(var(--brand-rgb),.12);border:1px solid rgba(var(--brand-rgb),.42);color:var(--brand);border-radius:var(--radius-sm)}
[data-template="empyrean"] .postal-check__row{background:var(--emp-void);border:1px solid var(--emp-line-2);border-radius:var(--radius-sm)}
[data-template="empyrean"] .postal-check__row input{color:var(--ink)}
[data-template="empyrean"] .postal-check__hint{background:var(--emp-void-3);color:var(--ink);border:1px solid var(--emp-line);border-radius:var(--radius-sm);box-shadow:none}
[data-template="empyrean"] .review-card,[data-template="empyrean"] .reviews-carousel__card{background:var(--emp-void-2);border:1px solid var(--emp-line);border-radius:var(--radius-lg);box-shadow:none;color:var(--ink-2)}
[data-template="empyrean"] .review-card blockquote{font-family:var(--ff-heading);font-size:22px;font-style:italic;color:var(--ink);line-height:1.42}
[data-template="empyrean"] .review-card__author{color:var(--ink);text-transform:uppercase;letter-spacing:.08em;font-size:12px}
[data-template="empyrean"] .review-card__source,[data-template="empyrean"] .reviews-source-label{color:var(--muted)}
[data-template="empyrean"] .reviews-carousel .hero__stars,[data-template="empyrean"] .review-card .hero__stars{color:var(--brand)}
[data-template="empyrean"] .reviews-carousel__nav,[data-template="empyrean"] .card-scroller__nav,[data-template="empyrean"] .hero-carousel__nav{background:var(--emp-void-2);border:1px solid var(--emp-line-2);border-radius:50%;color:var(--ink);box-shadow:none}
[data-template="empyrean"] .reviews-carousel__nav:hover,[data-template="empyrean"] .card-scroller__nav:hover,[data-template="empyrean"] .hero-carousel__nav:hover{border-color:var(--brand);color:var(--brand);box-shadow:0 0 22px rgba(var(--brand-rgb),.25)}
[data-template="empyrean"] .trusted{background:var(--emp-void-2);border-top:1px solid var(--emp-line);border-bottom:1px solid var(--emp-line)}
[data-template="empyrean"] .trusted__label{color:var(--muted);text-transform:uppercase;letter-spacing:.18em}
[data-template="empyrean"] .trusted__row{filter:none}
[data-template="empyrean"] .trusted__row svg{filter:brightness(0) invert(1);opacity:.6}
[data-template="empyrean"] .trusted__google-rating{color:var(--ink)}
[data-template="empyrean"] .trusted__google-score{color:var(--ink);font-family:var(--ff-heading);font-weight:600}
[data-template="empyrean"] .trusted__google-rating .hero__stars{color:var(--brand)}
[data-template="empyrean"] .trusted__google-sub{color:var(--ink-2)}
[data-template="empyrean"] .process__step{background:var(--emp-void-2);border:1px solid var(--emp-line);border-top:2px solid rgba(var(--brand-rgb),.5);border-radius:var(--radius);box-shadow:none}
[data-template="empyrean"] .process__step::before{display:none}
[data-template="empyrean"] .process__step:hover{transform:translateY(-4px);border-color:rgba(var(--brand-rgb),.5);box-shadow:0 20px 44px rgba(0,0,0,.5),0 0 30px rgba(var(--brand-rgb),.08)}
[data-template="empyrean"] .process__step h3{font-family:var(--ff-heading);color:var(--ink)}
[data-template="empyrean"] .process__step p{color:var(--ink-2)}
[data-template="empyrean"] .process__check{background:rgba(var(--brand-rgb),.14);border:1px solid rgba(var(--brand-rgb),.42);color:var(--brand);box-shadow:0 0 18px rgba(var(--brand-rgb),.2)}
[data-template="empyrean"] .cta-strip{background:linear-gradient(135deg,var(--emp-void-3) 0%,var(--emp-void) 100%);border:1px solid rgba(var(--brand-rgb),.35);border-radius:var(--radius-lg);box-shadow:0 0 60px rgba(var(--brand-rgb),.06);color:var(--ink);position:relative;overflow:hidden}
[data-template="empyrean"] .cta-strip::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 140% at 50% 0%,rgba(var(--brand-rgb),.2) 0%,transparent 60%),radial-gradient(1px 1px at 20% 40%,rgba(243,245,255,.4),transparent),radial-gradient(1.5px 1.5px at 78% 30%,rgba(var(--brand-rgb),.5),transparent);pointer-events:none}
[data-template="empyrean"] .cta-strip::after{display:none}
[data-template="empyrean"] .cta-strip h2{color:var(--ink);letter-spacing:-.02em;font-family:var(--ff-heading);position:relative}
[data-template="empyrean"] .cta-strip p{color:var(--ink-2);position:relative}
[data-template="empyrean"] .cta-strip .btn--primary{background:var(--brand);color:var(--emp-void);border-color:var(--brand)}
[data-template="empyrean"] .cta-strip .btn--primary .btn__arrow{background:var(--emp-void);color:var(--brand)}
[data-template="empyrean"] .cta-strip .btn--ghost{background:transparent;color:var(--ink);border:1px solid var(--emp-line-2);backdrop-filter:none}
[data-template="empyrean"] .cta-strip .btn--ghost .btn__arrow{background:var(--ink);color:var(--emp-void)}
[data-template="empyrean"] .btn--primary{background:var(--brand);color:var(--emp-void);border:1px solid var(--brand);box-shadow:0 0 26px rgba(var(--brand-rgb),.22)}
[data-template="empyrean"] .btn--primary .btn__arrow{background:var(--emp-void);color:var(--brand)}
[data-template="empyrean"] .btn--primary:hover{box-shadow:0 0 0 1px var(--brand),0 0 34px rgba(var(--brand-rgb),.45);transform:translateY(-1px)}
[data-template="empyrean"] .btn--ghost{background:transparent;color:var(--ink);border:1px solid var(--emp-line-2)}
[data-template="empyrean"] .btn--ghost .btn__arrow{background:var(--ink);color:var(--emp-void)}
[data-template="empyrean"] .btn--ghost:hover{border-color:var(--brand);color:var(--brand)}
[data-template="empyrean"] .price-table{background:transparent;border:1px solid var(--emp-line-2);border-radius:var(--radius);overflow:hidden;color:var(--ink-2)}
[data-template="empyrean"] .price-table th{background:var(--emp-void-3);color:var(--ink);text-transform:uppercase;letter-spacing:.1em;font-size:11px;border-color:var(--emp-line)}
[data-template="empyrean"] .price-table td{border-color:var(--emp-line)}
[data-template="empyrean"] .price-table .num{color:var(--brand);font-family:var(--ff-heading)}
[data-template="empyrean"] .sitemap-block{background:var(--emp-void-2);border:1px solid var(--emp-line);border-radius:var(--radius);box-shadow:none}
[data-template="empyrean"] .sitemap-block:hover{transform:translateY(-3px);border-color:rgba(var(--brand-rgb),.5)}
[data-template="empyrean"] .sitemap-block h2,[data-template="empyrean"] .sitemap-block h3{font-family:var(--ff-heading);color:var(--ink)}
[data-template="empyrean"] .sitemap-block__icon{background:rgba(var(--brand-rgb),.12);border:1px solid rgba(var(--brand-rgb),.42);color:var(--brand);border-radius:var(--radius-sm)}
[data-template="empyrean"] .sitemap-block a:hover{color:var(--brand)}
[data-template="empyrean"] .article-card,[data-template="empyrean"] .article-featured{background:var(--emp-void-2);border:1px solid var(--emp-line);border-radius:var(--radius-lg);box-shadow:none;color:var(--ink-2)}
[data-template="empyrean"] .article-card:hover,[data-template="empyrean"] .article-featured:hover{transform:translateY(-5px);border-color:rgba(var(--brand-rgb),.45);box-shadow:0 26px 56px rgba(0,0,0,.55),0 0 40px rgba(var(--brand-rgb),.08)}
[data-template="empyrean"] .article-card__body h3,[data-template="empyrean"] .article-featured__body h2,[data-template="empyrean"] .article-featured__body h3{font-family:var(--ff-heading);color:var(--ink);letter-spacing:-.01em}
[data-template="empyrean"] .article-card p,[data-template="empyrean"] .article-featured p{color:var(--ink-2)}
[data-template="empyrean"] .article-card__cta,[data-template="empyrean"] .article-featured__cta{color:var(--brand);text-transform:uppercase;letter-spacing:.16em;font-size:11.5px}
[data-template="empyrean"] .article-badge{background:var(--brand);color:var(--emp-void);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.06em;font-weight:600}
[data-template="empyrean"] .article-hero,[data-template="empyrean"] .contact-hero{background:var(--emp-void-2);border-bottom:1px solid var(--emp-line)}
[data-template="empyrean"] .article-filter__chip,[data-template="empyrean"] .pagination__btn{background:var(--emp-void-2);border:1px solid var(--emp-line-2);border-radius:var(--radius-sm);color:var(--ink-2);text-transform:uppercase;letter-spacing:.1em;font-size:11px}
[data-template="empyrean"] .article-filter__chip:hover,[data-template="empyrean"] .pagination__btn:hover{border-color:var(--brand);color:var(--brand)}
[data-template="empyrean"] .pagination__btn.is-active,[data-template="empyrean"] .article-filter__chip.is-active{background:var(--brand);border-color:var(--brand);color:var(--emp-void)}
[data-template="empyrean"] .contact-method{background:var(--emp-void-2);border:1px solid var(--emp-line);border-radius:var(--radius);box-shadow:none}
[data-template="empyrean"] .contact-method__body,[data-template="empyrean"] .contact-hero__lead{color:var(--ink-2)}
[data-template="empyrean"] .contact-method__icon{background:rgba(var(--brand-rgb),.12);border:1px solid rgba(var(--brand-rgb),.42);color:var(--brand);box-shadow:0 0 18px rgba(var(--brand-rgb),.18)}
[data-template="empyrean"] .about-check{background:var(--emp-void-2);border:1px solid var(--emp-line);border-radius:var(--radius);box-shadow:none}
[data-template="empyrean"] .about-check__check{background:rgba(var(--brand-rgb),.14);border:1px solid rgba(var(--brand-rgb),.42);color:var(--brand);box-shadow:0 0 18px rgba(var(--brand-rgb),.2)}
[data-template="empyrean"] .about-check__label{font-family:var(--ff-heading);color:var(--ink)}
[data-template="empyrean"] .addr-ac__list{background:var(--emp-void-2);border:1px solid var(--emp-line-2);border-radius:var(--radius-sm)}
[data-template="empyrean"] .addr-ac__item{color:var(--ink-2)}
[data-template="empyrean"] .addr-ac__item.is-active,[data-template="empyrean"] .addr-ac__item:hover{background:rgba(var(--brand-rgb),.14);color:var(--brand)}
[data-template="empyrean"] .mobile-call-bar{background:rgba(7,11,26,.94);border-top:1px solid rgba(var(--brand-rgb),.5);backdrop-filter:blur(12px)}
[data-template="empyrean"] .mobile-call-bar .call{background:var(--brand);color:var(--emp-void)}
[data-template="empyrean"] .mobile-call-bar .quote{background:var(--emp-void-2);color:var(--ink);border:1px solid var(--emp-line-2)}

/* — Animation (empyrean) — */
@media (prefers-reduced-motion: no-preference){@keyframes emp-fade-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes emp-foil{0%{background-position:-160% 0}55%,100%{background-position:260% 0}}@keyframes emp-rule-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes emp-drift{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(-14px,-22px,0)}}@keyframes emp-twinkle{0%,100%{opacity:.35}50%{opacity:.9}}[data-template=\"empyrean\"] .reveal{opacity:0}[data-template=\"empyrean\"] .reveal.is-visible{animation:emp-fade-up .75s cubic-bezier(.2,.7,.3,1) both}[data-template=\"empyrean\"] .subhero h1{animation:emp-fade-up .85s cubic-bezier(.2,.7,.3,1) both}[data-template=\"empyrean\"] .subhero{position:relative;overflow:hidden}[data-template=\"empyrean\"] .subhero::before{content:\"\";position:absolute;inset:-20% -10% auto -10%;height:140%;background:radial-gradient(1px 1px at 20% 30%,rgba(243,245,255,.5),transparent),radial-gradient(1.5px 1.5px at 70% 20%,rgba(var(--brand-rgb),.6),transparent),radial-gradient(1px 1px at 45% 60%,rgba(243,245,255,.35),transparent),radial-gradient(1px 1px at 85% 50%,rgba(243,245,255,.4),transparent);pointer-events:none;animation:emp-drift 26s linear infinite alternate}[data-template=\"empyrean\"] .section{position:relative}[data-template=\"empyrean\"] .section::before{content:\"\";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--brand),transparent);transform:scaleX(0);transform-origin:center;animation:emp-rule-draw 1s cubic-bezier(.2,.7,.3,1) both;opacity:.65}[data-template=\"empyrean\"] .card,[data-template=\"empyrean\"] .area-service-card,[data-template=\"empyrean\"] .article-card,[data-template=\"empyrean\"] .process__step,[data-template=\"empyrean\"] .sitemap-block{transition:transform .4s cubic-bezier(.2,.7,.3,1),border-color .4s ease,box-shadow .4s ease}[data-template=\"empyrean\"] .card__image img,[data-template=\"empyrean\"] .area-service-card__media img,[data-template=\"empyrean\"] .article-card__media img{transition:transform 1s cubic-bezier(.2,.7,.3,1)}[data-template=\"empyrean\"] .card:hover .card__image img,[data-template=\"empyrean\"] .article-card:hover .article-card__media img{transform:scale(1.05)}[data-template=\"empyrean\"] .btn--primary,[data-template=\"empyrean\"] .btn--ghost{transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease,color .25s ease;position:relative;overflow:hidden}[data-template=\"empyrean\"] .btn--primary::after{content:\"\";position:absolute;inset:0;background:linear-gradient(110deg,transparent 32%,rgba(255,255,255,.4) 50%,transparent 68%);background-size:260% 100%;background-position:-160% 0;pointer-events:none}[data-template=\"empyrean\"] .btn--primary:hover::after{animation:emp-foil 1.1s ease both}[data-template=\"empyrean\"] .process__check,[data-template=\"empyrean\"] .card__icon,[data-template=\"empyrean\"] .contact-method__icon{animation:emp-twinkle 4s ease-in-out infinite}[data-template=\"empyrean\"] .field input:focus,[data-template=\"empyrean\"] .field textarea:focus,[data-template=\"empyrean\"] .field select:focus{transition:box-shadow .25s ease,border-color .25s ease}[data-template=\"empyrean\"] .nav__links > a,[data-template=\"empyrean\"] .footer li a,[data-template=\"empyrean\"] .card__link,[data-template=\"empyrean\"] .article-card__cta{transition:color .25s ease}}@media (prefers-reduced-motion: reduce){[data-template=\"empyrean\"] .section::before{animation:none;transform:scaleX(1)}[data-template=\"empyrean\"] .reveal,[data-template=\"empyrean\"] .subhero h1{animation:none;opacity:1}[data-template=\"empyrean\"] .subhero::before{animation:none}[data-template=\"empyrean\"] .process__check,[data-template=\"empyrean\"] .card__icon,[data-template=\"empyrean\"] .contact-method__icon{animation:none}}


/* ═══ Empyrean — CHROME ═══ */
/* ============================================================================
   EMPYREAN — bespoke VIP chrome (header / hero / sektioner / footer)
   Klassprefix: .emp-  |  Celest djupblå rymd + stjärnljus + gold-folie-accent.
   Färg/typsnitt via CSS-variabler (--brand, --brand-rgb, --ff-heading) så mallen
   följer kundens tema; --emp-gold är signatur-token. ALLTID ljus text på de
   mörka ytorna. Signatur: drivande stjärnfält + en enda gold-folie-skimmer på
   titeln + katedral/portal-bågen i hero-mediat.
   ========================================================================== */

[data-template='empyrean'] {
  --emp-void: #070b1a;
  --emp-void-2: #0b1124;
  --emp-void-3: #121a33;
  --emp-deep: #0e1530;
  --emp-star: #f3f5ff;
  --emp-star-2: #c3cbe8;
  --emp-muted: #7c86ab;
  --emp-line: rgba(195, 203, 232, 0.12);
  --emp-line-2: rgba(195, 203, 232, 0.22);
  --emp-gold: var(--brand, #c9a227);
  --emp-gold-rgb: var(--brand-rgb, 201, 162, 39);
  --emp-ff-serif: var(--ff-heading, 'Cormorant Garamond', 'Fraunces', Georgia, serif);
  --emp-maxw: 1320px;
  --emp-glow: radial-gradient(60% 80% at 50% 0%, rgba(var(--emp-gold-rgb), 0.1), transparent 60%);
  background: var(--emp-void);
  color: var(--emp-star);
}

/* ---- STJÄRNFÄLT (delas av hero/footer/overlay) -------------------------- */
.emp-stars {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}
.emp-stars__layer {
  position: absolute;
  inset: -2px;
  border-radius: inherit;
}
/* Tre lager prickar — box-shadow-genererade stjärnor, olika densitet/drift. */
.emp-stars__layer::before,
.emp-stars__layer::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: transparent;
}
.emp-stars__layer--a::before {
  box-shadow:
    40px 60px rgba(243, 245, 255, 0.5), 130px 180px rgba(243, 245, 255, 0.35),
    260px 90px rgba(243, 245, 255, 0.45), 340px 260px rgba(243, 245, 255, 0.3),
    480px 140px rgba(243, 245, 255, 0.5), 600px 320px rgba(243, 245, 255, 0.3),
    720px 70px rgba(243, 245, 255, 0.4), 850px 220px rgba(243, 245, 255, 0.45),
    980px 110px rgba(243, 245, 255, 0.3), 1120px 300px rgba(243, 245, 255, 0.4),
    1260px 160px rgba(243, 245, 255, 0.5), 90px 380px rgba(243, 245, 255, 0.3),
    410px 420px rgba(243, 245, 255, 0.35), 760px 460px rgba(243, 245, 255, 0.3),
    1180px 440px rgba(243, 245, 255, 0.4);
  animation: emp-drift 90s linear infinite;
}
.emp-stars__layer--b::before {
  width: 1px;
  height: 1px;
  box-shadow:
    20px 120px rgba(195, 203, 232, 0.45), 180px 40px rgba(195, 203, 232, 0.35),
    300px 200px rgba(195, 203, 232, 0.4), 420px 80px rgba(195, 203, 232, 0.3),
    560px 240px rgba(195, 203, 232, 0.4), 690px 30px rgba(195, 203, 232, 0.35),
    810px 300px rgba(195, 203, 232, 0.3), 940px 150px rgba(195, 203, 232, 0.4),
    1080px 50px rgba(195, 203, 232, 0.35), 1220px 260px rgba(195, 203, 232, 0.3),
    150px 340px rgba(195, 203, 232, 0.35), 520px 400px rgba(195, 203, 232, 0.3),
    900px 430px rgba(195, 203, 232, 0.35), 1300px 360px rgba(195, 203, 232, 0.3);
  animation: emp-drift 140s linear infinite;
}
/* Glesare gold-prickar */
.emp-stars__layer--gold::before {
  box-shadow:
    110px 90px rgba(var(--emp-gold-rgb), 0.7), 380px 180px rgba(var(--emp-gold-rgb), 0.55),
    640px 120px rgba(var(--emp-gold-rgb), 0.6), 920px 260px rgba(var(--emp-gold-rgb), 0.5),
    1200px 90px rgba(var(--emp-gold-rgb), 0.6), 250px 320px rgba(var(--emp-gold-rgb), 0.5),
    780px 380px rgba(var(--emp-gold-rgb), 0.5);
  animation: emp-twinkle 6s ease-in-out infinite alternate;
}
/* Nebulosa-glow längst upp (gold + djupblå) */
.emp-stars__neb {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(46% 50% at 22% -6%, rgba(var(--emp-gold-rgb), 0.16), transparent 60%),
    radial-gradient(52% 60% at 84% 4%, rgba(74, 102, 196, 0.22), transparent 62%);
}
@keyframes emp-drift {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-60px, -40px, 0);
  }
}
@keyframes emp-twinkle {
  from {
    opacity: 0.55;
  }
  to {
    opacity: 1;
  }
}

/* ---- 8-uddig stjärna (brand-mark, delas) -------------------------------- */
.emp-star-mark {
  position: relative;
  display: inline-block;
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  filter: drop-shadow(0 0 12px rgba(var(--emp-gold-rgb), 0.5));
}
.emp-star-mark::before,
.emp-star-mark::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #e8ce7a, var(--emp-gold) 55%, #b8860b);
  clip-path: polygon(50% 0, 61% 39%, 100% 50%, 61% 61%, 50% 100%, 39% 61%, 0 50%, 39% 39%);
}
.emp-star-mark::after {
  transform: rotate(45deg);
  opacity: 0.85;
}

/* ---- HEADER ------------------------------------------------------------- */
.emp-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 60;
  background: transparent;
  border-bottom: 1px solid transparent;
  transition: background 0.4s ease, border-color 0.4s ease, backdrop-filter 0.4s ease;
}
.emp-header.is-scrolled {
  background: rgba(7, 11, 26, 0.82);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--emp-line);
}
.emp-header__inner {
  max-width: var(--emp-maxw);
  margin: auto;
  padding: 28px 44px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 28px;
  transition: padding 0.4s ease;
}
.emp-header.is-scrolled .emp-header__inner {
  padding: 16px 44px;
}
.emp-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}
.emp-brand__logo {
  height: 34px;
  width: auto;
  display: block;
}
.emp-brand__name {
  font-family: var(--emp-ff-serif);
  font-size: 22px;
  letter-spacing: 0.04em;
  color: var(--emp-star);
  line-height: 1;
}

.emp-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 34px;
}
.emp-nav__link {
  position: relative;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.2em;
  color: var(--emp-star-2);
  text-decoration: none;
  padding: 6px 0;
  transition: color 0.25s ease;
}
.emp-nav__link::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 1px;
  background: var(--emp-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
.emp-nav__link:hover {
  color: var(--emp-gold);
}
.emp-nav__link:hover::after {
  transform: scaleX(1);
}

.emp-header__right {
  display: flex;
  align-items: center;
  gap: 24px;
  justify-self: end;
}
.emp-header__phone {
  font-family: var(--emp-ff-serif);
  font-size: 18px;
  color: var(--emp-star);
  text-decoration: none;
  transition: color 0.25s ease;
  white-space: nowrap;
}
.emp-header__phone:hover {
  color: var(--emp-gold);
}
.emp-header__cta {
  border: 1px solid var(--emp-gold);
  color: var(--emp-gold);
  padding: 12px 22px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 11px;
  text-decoration: none;
  border-radius: 2px;
  transition: background 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
  white-space: nowrap;
}
.emp-header__cta:hover {
  background: var(--emp-gold);
  color: var(--emp-void);
  box-shadow: 0 0 22px rgba(var(--emp-gold-rgb), 0.45);
}

.emp-menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid var(--emp-line-2);
  border-radius: 4px;
  cursor: pointer;
  color: var(--emp-star);
}
.emp-menu-toggle__lines {
  position: relative;
  display: block;
  width: 18px;
  height: 12px;
}
.emp-menu-toggle__lines span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1.5px;
  background: var(--emp-star);
  border-radius: 2px;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.emp-menu-toggle__lines span:nth-child(1) {
  top: 0;
}
.emp-menu-toggle__lines span:nth-child(2) {
  top: 5px;
}
.emp-menu-toggle__lines span:nth-child(3) {
  top: 10px;
}
.emp-menu-toggle.is-open .emp-menu-toggle__lines span:nth-child(1) {
  transform: translateY(5px) rotate(45deg);
}
.emp-menu-toggle.is-open .emp-menu-toggle__lines span:nth-child(2) {
  opacity: 0;
}
.emp-menu-toggle.is-open .emp-menu-toggle__lines span:nth-child(3) {
  transform: translateY(-5px) rotate(-45deg);
}

/* ---- MOBIL OVERLAY ------------------------------------------------------ */
.emp-overlay {
  position: fixed;
  inset: 0;
  z-index: 70;
  background: var(--emp-void);
  display: flex;
  flex-direction: column;
  padding: 28px 32px 40px;
  overflow-y: auto;
}
.emp-overlay__top {
  display: flex;
  justify-content: flex-end;
  position: relative;
  z-index: 2;
}
.emp-overlay__close {
  width: 44px;
  height: 44px;
  background: transparent;
  border: 1px solid var(--emp-line-2);
  border-radius: 4px;
  color: var(--emp-star);
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.emp-overlay__nav {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: auto 0;
}
.emp-overlay__link {
  display: flex;
  align-items: baseline;
  gap: 16px;
  font-family: var(--emp-ff-serif);
  font-size: 30px;
  color: var(--emp-star);
  text-decoration: none;
  padding: 10px 0;
  border-bottom: 1px solid var(--emp-line);
}
.emp-overlay__link-idx {
  font-family: var(--emp-ff-serif);
  font-size: 13px;
  letter-spacing: 0.1em;
  color: var(--emp-gold);
  min-width: 28px;
}
.emp-overlay__foot {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 28px;
}
.emp-overlay__phone {
  font-family: var(--emp-ff-serif);
  font-size: 22px;
  color: var(--emp-star);
  text-decoration: none;
}
.emp-overlay__phone:hover {
  color: var(--emp-gold);
}
.emp-overlay__cta {
  display: inline-block;
  text-align: center;
  border: 1px solid var(--emp-gold);
  color: var(--emp-gold);
  padding: 14px 22px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 12px;
  text-decoration: none;
  border-radius: 2px;
}
.emp-overlay__addr {
  color: var(--emp-muted);
  font-size: 14px;
  line-height: 1.6;
}

/* ---- HERO --------------------------------------------------------------- */
.emp-hero {
  position: relative;
  padding-top: 150px;
  padding-bottom: 90px;
  overflow: hidden;
  background: var(--emp-void);
  background-image: var(--emp-glow);
}
.emp-hero__inner {
  position: relative;
  z-index: 2;
  max-width: var(--emp-maxw);
  margin: auto;
  padding: 0 44px;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 74px;
  align-items: center;
}
.emp-hero__copy {
  min-width: 0;
}
.emp-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.2em;
  color: var(--emp-gold);
  margin-bottom: 22px;
}
.emp-hero__eyebrow::before {
  content: '\25C7';
  font-size: 10px;
  color: var(--emp-gold);
}
.emp-hero__title {
  font-family: var(--emp-ff-serif);
  font-weight: 500;
  font-size: clamp(48px, 7vw, 112px);
  line-height: 0.98;
  letter-spacing: -0.02em;
  color: var(--emp-star);
  margin: 0 0 26px;
}
.emp-hero__title em {
  position: relative;
  font-style: normal;
  background: linear-gradient(105deg, #e8ce7a, var(--emp-gold), #b8860b);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
/* En enda diskret skimmer-sweep vid entré */
.emp-hero__title em::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    transparent 35%,
    rgba(255, 255, 255, 0.75) 50%,
    transparent 65%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  background-size: 250% 100%;
  background-position: 120% 0;
  animation: emp-skimmer 2.6s ease-out 0.4s 1;
  pointer-events: none;
}
@keyframes emp-skimmer {
  from {
    background-position: 120% 0;
  }
  to {
    background-position: -60% 0;
  }
}
.emp-hero__lead {
  color: var(--emp-star-2);
  font-size: 18px;
  line-height: 1.7;
  max-width: 460px;
  margin: 0 0 30px;
}
.emp-hero__cta-row {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.emp-hero__textlink {
  color: var(--emp-gold);
  text-decoration: none;
  font-size: 14px;
  letter-spacing: 0.04em;
  border-bottom: 1px solid rgba(var(--emp-gold-rgb), 0.5);
  padding-bottom: 2px;
  transition: border-color 0.25s ease;
}
.emp-hero__textlink:hover {
  border-color: var(--emp-gold);
}
.emp-hero__rating {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 28px;
  color: var(--emp-star);
  font-size: 14px;
}
.emp-hero__rating .hero__stars {
  color: var(--emp-gold);
  display: inline-flex;
}
.emp-hero__trust {
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
  margin-top: 26px;
  opacity: 0.85;
}
.emp-hero__trust img {
  height: 26px;
  width: auto;
  filter: brightness(0) invert(1);
  opacity: 0.7;
}
.emp-hero__postal {
  margin-top: 32px;
  max-width: 460px;
}

/* HÖGER: celest fönster med portal-båge */
.emp-hero__media {
  position: relative;
  min-width: 0;
}
.emp-hero__frame {
  position: relative;
  border-radius: 220px 220px 8px 8px;
  border: 1px solid rgba(var(--emp-gold-rgb), 0.4);
  padding: 8px;
  background: linear-gradient(180deg, rgba(var(--emp-gold-rgb), 0.1), rgba(7, 11, 26, 0.4));
  box-shadow:
    0 0 0 1px var(--emp-line) inset,
    0 30px 90px rgba(0, 0, 0, 0.5),
    0 0 80px rgba(var(--emp-gold-rgb), 0.12);
}
/* Tunn gold-bågelinje följer överkanten */
.emp-hero__frame::before {
  content: '';
  position: absolute;
  inset: 2px;
  border-radius: 216px 216px 6px 6px;
  border: 1px solid rgba(var(--emp-gold-rgb), 0.45);
  border-bottom-color: transparent;
  pointer-events: none;
}
.emp-hero__plate {
  position: relative;
  border-radius: 214px 214px 4px 4px;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background:
    radial-gradient(70% 50% at 50% 8%, rgba(var(--emp-gold-rgb), 0.18), transparent 60%),
    linear-gradient(180deg, var(--emp-void-3), var(--emp-void));
}
.emp-hero__plate video,
.emp-hero__plate img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.emp-hero__plate-stars {
  border-radius: inherit;
}

/* ---- TRUST-BAND --------------------------------------------------------- */
.emp-trust {
  position: relative;
  z-index: 2;
  background: var(--emp-void-2);
  border-top: 1px solid var(--emp-line);
  border-bottom: 1px solid var(--emp-line);
}
.emp-trust__inner {
  max-width: var(--emp-maxw);
  margin: auto;
  padding: 30px 44px;
}
.emp-trust .trusted__row {
  align-items: center;
}
.emp-trust .trusted img {
  filter: brightness(0) invert(1);
  opacity: 0.72;
}
.emp-trust .trusted__google img {
  filter: none;
  opacity: 1;
}
.emp-trust .trusted__label,
.emp-trust .trusted__google-score,
.emp-trust .trusted__google-sub {
  color: var(--emp-star);
}
.emp-trust .trusted__google-rating {
  color: var(--emp-gold);
}

/* ---- RAIL (tjänstenamn) ------------------------------------------------- */
.emp-rail {
  position: relative;
  z-index: 2;
  border-bottom: 1px solid var(--emp-line);
  background: var(--emp-void);
}
.emp-rail__track {
  max-width: var(--emp-maxw);
  margin: auto;
  padding: 0 44px;
  display: flex;
  flex-wrap: wrap;
  gap: 18px 40px;
  align-items: center;
  min-height: 60px;
}
.emp-rail__item {
  font-family: var(--emp-ff-serif);
  font-size: 16px;
  color: var(--emp-star-2);
  letter-spacing: 0.02em;
  position: relative;
  padding-left: 22px;
}
.emp-rail__item::before {
  content: '\25C7';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 9px;
  color: var(--emp-gold);
}

/* ---- SECTIONS ----------------------------------------------------------- */
.emp-section {
  position: relative;
  padding: 100px 0;
  background: var(--emp-void);
}
.emp-section + .emp-section {
  border-top: 1px solid var(--emp-line);
}
.emp-section__wrap {
  max-width: var(--emp-maxw);
  margin: auto;
  padding: 0 44px;
}
.emp-section__head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 56px;
}
.emp-section__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.2em;
  color: var(--emp-gold);
  margin-bottom: 16px;
}
.emp-section__eyebrow::before {
  content: '';
  width: 24px;
  height: 1px;
  background: currentColor;
  display: inline-block;
}
.emp-section__title {
  font-family: var(--emp-ff-serif);
  font-weight: 500;
  font-size: clamp(30px, 4vw, 50px);
  line-height: 1.06;
  letter-spacing: -0.01em;
  color: var(--emp-star);
  margin: 0 0 16px;
}
.emp-section__intro {
  color: var(--emp-star-2);
  font-size: 17px;
  line-height: 1.7;
  margin: 0;
}

/* TJÄNSTER — zig-zag feature-rader */
.emp-feature {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
  margin-top: 70px;
}
.emp-feature:first-of-type {
  margin-top: 0;
}
.emp-feature--rev .emp-feature__media {
  order: 2;
}
.emp-feature__media {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--emp-line-2);
  background: var(--emp-void-3);
  aspect-ratio: 4 / 3;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4);
}
.emp-feature__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.emp-feature__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: var(--emp-gold);
}
.emp-feature__body h3 {
  font-family: var(--emp-ff-serif);
  font-weight: 500;
  font-size: 30px;
  color: var(--emp-star);
  margin: 0 0 14px;
}
.emp-feature__body p {
  color: var(--emp-star-2);
  font-size: 16px;
  line-height: 1.7;
  margin: 0 0 18px;
}
.emp-feature__price {
  display: inline-block;
  font-family: var(--emp-ff-serif);
  font-size: 18px;
  color: var(--emp-gold);
  margin-bottom: 16px;
}
.emp-feature__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--emp-gold);
  text-decoration: none;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.16em;
}
.emp-feature__link svg {
  transition: transform 0.25s ease;
}
.emp-feature__link:hover svg {
  transform: translateX(4px);
}

/* STATS — brand-band */
.emp-band {
  position: relative;
  background: linear-gradient(120deg, var(--emp-void-2), var(--emp-deep));
  border-top: 1px solid var(--emp-line);
  border-bottom: 1px solid var(--emp-line);
}
.emp-band__inner {
  max-width: var(--emp-maxw);
  margin: auto;
  padding: 56px 44px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 30px;
  text-align: center;
}
.emp-band__inner > div {
  position: relative;
}
.emp-band__inner > div + div::before {
  content: '';
  position: absolute;
  left: -15px;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 48px;
  background: linear-gradient(180deg, transparent, rgba(var(--emp-gold-rgb), 0.4), transparent);
}
.emp-stat__num {
  font-family: var(--emp-ff-serif);
  font-weight: 500;
  font-size: clamp(34px, 4vw, 48px);
  color: var(--emp-gold);
  line-height: 1;
}
.emp-stat__lab {
  margin-top: 10px;
  color: var(--emp-star-2);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* OM OSS */
.emp-about__intro {
  font-family: var(--emp-ff-serif);
  font-size: clamp(20px, 2.4vw, 26px);
  line-height: 1.5;
  color: var(--emp-star-2);
}

/* USP — fördelar i rutnät */
.emp-usp {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 24px;
}
.emp-usp__item {
  padding: 32px 28px;
  border: 1px solid var(--emp-line);
  border-radius: 8px;
  background: var(--emp-void-2);
  transition: border-color 0.3s ease, transform 0.3s ease;
}
.emp-usp__item:hover {
  border-color: rgba(var(--emp-gold-rgb), 0.4);
  transform: translateY(-3px);
}
.emp-usp__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid rgba(var(--emp-gold-rgb), 0.4);
  background: rgba(var(--emp-gold-rgb), 0.12);
  color: var(--emp-gold);
  margin-bottom: 18px;
}
.emp-usp__item h3 {
  font-family: var(--emp-ff-serif);
  font-weight: 500;
  font-size: 22px;
  color: var(--emp-star);
  margin: 0 0 10px;
}
.emp-usp__item p {
  color: var(--emp-star-2);
  font-size: 15px;
  line-height: 1.65;
  margin: 0;
}

/* PROCESS — numrerade steg */
.emp-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 28px;
}
.emp-step {
  position: relative;
  padding: 30px 26px;
  border: 1px solid var(--emp-line);
  border-radius: 8px;
  background: var(--emp-void-2);
}
.emp-step__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(var(--emp-gold-rgb), 0.4);
  background: rgba(var(--emp-gold-rgb), 0.12);
  color: var(--emp-gold);
  font-family: var(--emp-ff-serif);
  font-size: 20px;
  margin-bottom: 18px;
}
.emp-step h3 {
  font-family: var(--emp-ff-serif);
  font-weight: 500;
  font-size: 22px;
  color: var(--emp-star);
  margin: 0 0 10px;
}
.emp-step p {
  color: var(--emp-star-2);
  font-size: 15px;
  line-height: 1.65;
  margin: 0;
}

/* Hårfina stjärnljus-rules mellan sektioner — delade komponenter ärver mörkt */
.emp-section .reviews-carousel,
.emp-section .faq,
.emp-section .section-head {
  color: var(--emp-star);
}
.emp-section .faq__q {
  color: var(--emp-star);
}
.emp-section .faq__a {
  color: var(--emp-star-2);
}

/* ---- FOOTER ------------------------------------------------------------- */
.emp-footer {
  position: relative;
  background: var(--emp-void);
  border-top: 1px solid rgba(var(--emp-gold-rgb), 0.4);
  overflow: hidden;
}
.emp-footer__inner {
  position: relative;
  z-index: 2;
  max-width: var(--emp-maxw);
  margin: auto;
  padding: 80px 44px 40px;
}
.emp-footer__wordmark {
  font-family: var(--emp-ff-serif);
  font-weight: 500;
  font-size: clamp(48px, 9vw, 128px);
  line-height: 0.9;
  letter-spacing: -0.02em;
  color: rgba(243, 245, 255, 0.1);
  text-shadow: 0 0 40px rgba(var(--emp-gold-rgb), 0.14);
  margin: 0 0 48px;
  pointer-events: none;
}
.emp-footer__cols {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--emp-line);
}
.emp-footer__col {
  position: relative;
  padding-left: 28px;
}
.emp-footer__col + .emp-footer__col::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--emp-line);
}
.emp-footer__tagline {
  font-family: var(--emp-ff-serif);
  font-size: 20px;
  line-height: 1.5;
  color: var(--emp-star-2);
  max-width: 360px;
  margin: 0 0 18px;
}
.emp-footer__addr {
  color: var(--emp-muted);
  font-size: 14px;
  line-height: 1.7;
  margin: 0 0 14px;
}
.emp-footer__col h4 {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--emp-gold);
  margin: 0 0 16px;
}
.emp-footer a {
  position: relative;
  display: inline-block;
  color: var(--emp-star-2);
  text-decoration: none;
  font-size: 15px;
  padding: 5px 0;
  transition: color 0.25s ease;
}
.emp-footer__col a {
  display: block;
}
.emp-footer a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 2px;
  width: 100%;
  height: 1px;
  background: var(--emp-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
.emp-footer a:hover {
  color: var(--emp-gold);
}
.emp-footer a:hover::after {
  transform: scaleX(1);
}
.emp-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  padding-top: 28px;
}
.emp-footer__copy {
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--emp-muted);
  font-size: 12px;
}
.emp-footer__policy {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
}
.emp-footer__monogram {
  font-family: var(--emp-ff-serif);
  font-style: italic;
  font-size: 18px;
  color: var(--emp-gold);
}

/* ---- RESPONSIVT --------------------------------------------------------- */
@media (max-width: 980px) {
  .emp-header__inner,
  .emp-header.is-scrolled .emp-header__inner {
    grid-template-columns: auto auto;
    padding: 18px 22px;
  }
  .emp-nav {
    display: none;
  }
  .emp-header__phone,
  .emp-header__cta {
    display: none;
  }
  .emp-menu-toggle {
    display: inline-flex;
    justify-self: end;
  }
  .emp-footer__cols {
    grid-template-columns: 1fr 1fr;
  }
  .emp-footer__col {
    padding-left: 0;
  }
  .emp-footer__col::before {
    display: none;
  }
}

@media (max-width: 900px) {
  .emp-hero {
    padding-top: 120px;
    padding-bottom: 60px;
  }
  .emp-hero__inner {
    grid-template-columns: 1fr;
    gap: 44px;
    padding: 0 22px;
  }
  .emp-hero__media {
    order: -1;
    max-width: 420px;
    margin: 0 auto;
    width: 100%;
  }
  .emp-hero__lead,
  .emp-hero__postal {
    max-width: none;
  }
  .emp-section {
    padding: 70px 0;
  }
  .emp-section__wrap {
    padding: 0 22px;
  }
  .emp-feature {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-top: 50px;
  }
  .emp-feature--rev .emp-feature__media {
    order: 0;
  }
  .emp-trust__inner,
  .emp-rail__track,
  .emp-band__inner,
  .emp-footer__inner {
    padding-left: 22px;
    padding-right: 22px;
  }
}

@media (max-width: 560px) {
  .emp-footer__cols {
    grid-template-columns: 1fr;
  }
  .emp-hero__title {
    font-size: clamp(40px, 12vw, 64px);
  }
  .emp-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .emp-stars__layer--a::before,
  .emp-stars__layer--b::before,
  .emp-stars__layer--gold::before,
  .emp-hero__title em::after {
    animation: none !important;
  }
}


/* ═══ QA-FIXAR (empyrean) ═══ */
/* [medel] [data-template="empyrean"] .trusted__row svg */
html[data-template="empyrean"] .trusted__google-rating .hero__stars svg,html[data-template="empyrean"] .trusted__google .hero__stars svg{filter:none;opacity:1;color:var(--brand)}
/* [låg] html[data-template="empyrean"] .btn--primary, .form-ste */
html[data-template="empyrean"] .btn--primary,html[data-template="empyrean"] .cta-strip .btn--primary,html[data-template="empyrean"] .form-step.is-active .form-step__bubble,html[data-template="empyrean"] .article-badge,html[data-template="empyrean"] .pagination__btn.is-active,html[data-template="empyrean"] .article-filter__chip.is-active,html[data-template="empyrean"] .mobile-call-bar .call{color:#070B1A}

/* ═══ ANIMATIONS-FINPUTSNING (empyrean) — 5 loopande (infinite) animationer: emp-twinkle pa .card__icon/.process__check/.c ═══ */
@media (prefers-reduced-motion: no-preference){
  /* Ta bort den mest multiplicerade, minst vardefulla loopen: varje kort-ikon,
     process-check och kontakt-ikon pulsade i opacitet (emp-twinkle 4s infinite)
     pa hela ikon-rutnatet samtidigt. Gor dem till statiska guld-accenter. */
  html[data-template="empyrean"] .process__check,
  html[data-template="empyrean"] .card__icon,
  html[data-template="empyrean"] .contact-method__icon{animation:none}
  /* Lugna ner stjarnfaltet i chrome: behall ETT drivande lager som signatur,
     stoppa det andra drift-lagret och guld-twinkle-lagret (3 samtidiga loopar -> 1). */
  html[data-template="empyrean"] .emp-stars__layer--b::before{animation:none}
  html[data-template="empyrean"] .emp-stars__layer--gold::before{animation:none}
}
/* Signatur behalls: chrome --a stjarndrift (90s), hero-titelns skimmer (engang)
   och knappens foil-sweep vid hover. Allt pausas redan i reduced-motion. */
@media (prefers-reduced-motion: reduce){
  html[data-template="empyrean"] .process__check,
  html[data-template="empyrean"] .card__icon,
  html[data-template="empyrean"] .contact-method__icon,
  html[data-template="empyrean"] .emp-stars__layer--a::before,
  html[data-template="empyrean"] .emp-stars__layer--b::before,
  html[data-template="empyrean"] .emp-stars__layer--gold::before,
  html[data-template="empyrean"] .subhero::before{animation:none !important}
}
