/* ═══ VIP-MALL: Caviar — ultra-mörk pärl/champagne-lyx (VIP) (caviar) ═══ Inre-sid-CSS-lager + animation. Scopat [data-template="caviar"]. Video:true. Signatur:#D8C28E. */

html[data-template="caviar"]{--bg:#0B0B10;--bg-soft:#131319;--ink:#F2EFE6;--ink-2:#CFCBBE;--muted:#8B8779;--line:rgba(242,239,230,.12);--line-2:rgba(242,239,230,.22);--star:var(--brand,#D8C28E);--btn-radius:999px;--btn-pad:14px 30px;--btn-weight:600;--btn-transform:uppercase;--btn-tracking:.16em}
[data-template="caviar"] body{background:var(--bg);color:var(--ink-2);font-family:var(--ff-body),Inter,Helvetica,Arial,sans-serif}
[data-template="caviar"] h1,[data-template="caviar"] h2,[data-template="caviar"] h3,[data-template="caviar"] h4{color:var(--ink);font-family:var(--ff-heading),"Cormorant Garamond",Georgia,serif;letter-spacing:-.015em;font-weight:400}
[data-template="caviar"] a{color:var(--ink-2)}
[data-template="caviar"] .section{padding:130px 0;border-top:1px solid var(--line);background:var(--bg)}
[data-template="caviar"] .section:nth-child(even){background:var(--bg-soft)}
[data-template="caviar"] .section-head{text-align:center;margin:0 auto 66px;max-width:760px}
[data-template="caviar"] .section-head h2{font-weight:400;line-height:1.05;letter-spacing:-.02em;font-size:clamp(30px,4vw,50px)}
[data-template="caviar"] .section-head p{color:var(--ink-2)}
[data-template="caviar"] .eyebrow{display:inline-flex;align-items:center;gap:11px;background:none;border:0;border-radius:0;padding:0;color:var(--muted);font-family:var(--ff-body),Inter,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.2em;font-size:11px}
[data-template="caviar"] .eyebrow::before{content:"";width:7px;height:7px;border:1px solid var(--brand,#D8C28E);border-radius:50%;flex:none}
[data-template="caviar"] .subhero{padding:172px 0 76px;border-bottom:1px solid var(--line);background:var(--bg);text-align:center}
[data-template="caviar"] .subhero h1{font-weight:400;letter-spacing:-.025em;line-height:1;color:var(--ink)}
[data-template="caviar"] .subhero__lead{color:var(--ink-2);margin-left:auto;margin-right:auto;max-width:56ch}
[data-template="caviar"] .subhero__crumbs,[data-template="caviar"] .subhero__crumbs a{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:11px}
[data-template="caviar"] .subhero__crumbs a:hover{color:var(--ink)}
[data-template="caviar"] .subhero__crumbs span{color:var(--line-2)}
[data-template="caviar"] .subhero__answer{background:var(--bg-soft);border:1px solid var(--line);border-left:2px solid var(--brand,#D8C28E);border-radius:4px;box-shadow:none;padding:26px 32px;color:var(--ink-2);text-align:left}
[data-template="caviar"] .subhero__answer-label{color:var(--brand,#D8C28E);text-transform:uppercase;letter-spacing:.16em;font-size:10.5px}
[data-template="caviar"] .subhero__answer-question{color:var(--ink);font-weight:400}
[data-template="caviar"] .subhero__answer p{color:var(--ink-2)}
[data-template="caviar"] .card,[data-template="caviar"] .other-services__card,[data-template="caviar"] .area-service-card,[data-template="caviar"] .related-link,[data-template="caviar"] .contact-method,[data-template="caviar"] .team-member,[data-template="caviar"] .datapoint{background:var(--bg-soft);border:1px solid var(--line);border-radius:6px;box-shadow:none;padding:34px}
[data-template="caviar"] .card::after,[data-template="caviar"] .card__image::after,[data-template="caviar"] .area-service-card::after{display:none}
[data-template="caviar"] .card:hover,[data-template="caviar"] .area-service-card:hover,[data-template="caviar"] .related-link:hover{transform:translateY(-3px);box-shadow:none;border-color:rgba(var(--brand-rgb,216,194,142),.45)}
[data-template="caviar"] .card h3,[data-template="caviar"] .area-service-card__body h3,[data-template="caviar"] .related-link h3{color:var(--ink);font-weight:400;letter-spacing:-.01em}
[data-template="caviar"] .card p,[data-template="caviar"] .area-service-card__body p{color:var(--ink-2)}
[data-template="caviar"] .card__price,[data-template="caviar"] .area-service-card__price{color:var(--ink);font-weight:600}
[data-template="caviar"] .card__icon{background:rgba(var(--brand-rgb,216,194,142),.10);border:1px solid var(--line-2);border-radius:999px;color:var(--brand,#D8C28E)}
[data-template="caviar"] .card__link,[data-template="caviar"] .area-service-card__cta,[data-template="caviar"] .article-card__cta,[data-template="caviar"] .article-featured__cta{color:var(--ink);font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:12px}
[data-template="caviar"] .card__link:hover,[data-template="caviar"] .area-service-card__cta:hover{color:var(--brand,#D8C28E)}
[data-template="caviar"] .card__image,[data-template="caviar"] .photo,[data-template="caviar"] .subhero__photo,[data-template="caviar"] .article-card__media,[data-template="caviar"] .article-featured__media,[data-template="caviar"] .area-service-card__media,[data-template="caviar"] .team-member__photo{background:var(--bg-soft);border:1px solid var(--line);border-radius:4px;filter:brightness(.92) contrast(1.03)}
[data-template="caviar"] .card:hover .card__image,[data-template="caviar"] .article-card:hover .article-card__media,[data-template="caviar"] .area-service-card:hover .area-service-card__media{filter:brightness(1) contrast(1.03)}
[data-template="caviar"] .btn{border-radius:999px;text-transform:uppercase;letter-spacing:.16em;font-weight:600}
[data-template="caviar"] .btn--primary{background:linear-gradient(120deg,var(--brand,#D8C28E),var(--brand-deep,#B79A63));border:1px solid var(--brand,#D8C28E);color:#15130D;box-shadow:none;backdrop-filter:none}
[data-template="caviar"] .btn--primary:hover{filter:brightness(1.06)}
[data-template="caviar"] .btn--primary .btn__arrow{background:transparent;color:#15130D;border-radius:0;width:auto;height:auto}
[data-template="caviar"] .btn--ghost{background:rgba(255,255,255,.04);border:1px solid var(--line-2);color:var(--ink);border-radius:999px;backdrop-filter:blur(6px)}
[data-template="caviar"] .btn--ghost:hover{border-color:var(--brand,#D8C28E);color:var(--ink)}
[data-template="caviar"] .btn--ghost .btn__arrow{background:transparent;color:var(--brand,#D8C28E);border-radius:0}
[data-template="caviar"] .faq__item{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;margin-bottom:0}
[data-template="caviar"] .faq__q{background:none;color:var(--ink);font-family:var(--ff-heading),"Cormorant Garamond",Georgia,serif;font-weight:400;font-size:21px;padding:26px 4px}
[data-template="caviar"] .faq__icon{background:rgba(var(--brand-rgb,216,194,142),.10);border:1px solid var(--line-2);border-radius:999px;color:var(--brand,#D8C28E)}
[data-template="caviar"] .faq__a{padding:0 4px}
[data-template="caviar"] .faq__item.open .faq__a{padding:0 4px 26px}
[data-template="caviar"] .faq__a p{color:var(--ink-2)}
[data-template="caviar"] .form-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;box-shadow:none;padding:40px}
[data-template="caviar"] .form-pane__title{color:var(--ink);font-weight:400}
[data-template="caviar"] .field label{color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:.12em}
[data-template="caviar"] .field input,[data-template="caviar"] .field textarea,[data-template="caviar"] .field select{background:rgba(255,255,255,.03);border:0;border-bottom:1px solid var(--line-2);border-radius:0;color:var(--ink);padding:13px 4px;box-shadow:none}
[data-template="caviar"] .field input::placeholder,[data-template="caviar"] .field textarea::placeholder{color:var(--muted)}
[data-template="caviar"] .field select option{background:var(--bg-soft);color:var(--ink)}
[data-template="caviar"] .field input:focus,[data-template="caviar"] .field textarea:focus,[data-template="caviar"] .field select:focus{outline:none;border-color:var(--brand,#D8C28E);box-shadow:0 1px 0 0 rgba(var(--brand-rgb,216,194,142),.4)}
[data-template="caviar"] .form-step__bubble{background:rgba(255,255,255,.04);border:1px solid var(--line-2);border-radius:999px;color:var(--muted)}
[data-template="caviar"] .form-step.is-active .form-step__bubble{background:var(--brand,#D8C28E);border-color:var(--brand,#D8C28E);color:#15130D}
[data-template="caviar"] .form-step.is-done .form-step__bubble{background:transparent;border-color:var(--brand,#D8C28E);color:var(--brand,#D8C28E)}
[data-template="caviar"] .form-step__name{color:var(--ink-2)}
[data-template="caviar"] .file-drop{background:rgba(255,255,255,.02);border:1px dashed var(--line-2);border-radius:8px;color:var(--ink-2)}
[data-template="caviar"] .file-drop:hover,[data-template="caviar"] .file-drop.is-drag{border-color:var(--brand,#D8C28E);background:var(--bg-soft);color:var(--ink)}
[data-template="caviar"] .review-card,[data-template="caviar"] .reviews-carousel__card,[data-template="caviar"] .case-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;box-shadow:none}
[data-template="caviar"] .review-card blockquote,[data-template="caviar"] .reviews-carousel__card blockquote,[data-template="caviar"] .case-card__quote{color:var(--ink);font-family:var(--ff-heading),"Cormorant Garamond",Georgia,serif;font-weight:400}
[data-template="caviar"] .review-card__avatar{background:linear-gradient(120deg,var(--brand,#D8C28E),var(--brand-deep,#B79A63));border-radius:999px;box-shadow:none;color:#15130D}
[data-template="caviar"] .review-card__author{color:var(--ink)}
[data-template="caviar"] .review-card__source,[data-template="caviar"] .reviews-source-label{color:var(--muted);text-transform:uppercase;letter-spacing:.14em}
[data-template="caviar"] .review-card .hero__stars,[data-template="caviar"] .reviews-carousel__card .hero__stars{color:var(--brand,#D8C28E)}
[data-template="caviar"] .reviews-carousel__nav,[data-template="caviar"] .card-scroller__nav,[data-template="caviar"] .hero-carousel__nav{background:rgba(255,255,255,.04);border:1px solid var(--line-2);border-radius:999px;color:var(--ink);box-shadow:none;backdrop-filter:blur(6px)}
[data-template="caviar"] .reviews-carousel__nav:hover,[data-template="caviar"] .card-scroller__nav:hover{border-color:var(--brand,#D8C28E)}
[data-template="caviar"] .trusted{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;margin-top:0}
[data-template="caviar"] .trusted__label,[data-template="caviar"] .reviews-source-label{color:var(--muted);text-transform:uppercase;letter-spacing:.16em;font-size:11px}
[data-template="caviar"] .trusted__row svg{filter:grayscale(1) brightness(2.4)}
[data-template="caviar"] .trusted__google-rating{color:var(--ink)}
[data-template="caviar"] .trusted__google-score{color:var(--ink);font-weight:600}
[data-template="caviar"] .trusted__google-sub{color:var(--ink-2)}
[data-template="caviar"] .trusted__google-rating .hero__stars{color:var(--brand,#D8C28E)}
[data-template="caviar"] .trusted__google-rating .hero__stars svg{filter:none}
[data-template="caviar"] .process__step{background:none;border:0;border-top:1px solid var(--line-2);border-radius:0;box-shadow:none;padding-top:24px}
[data-template="caviar"] .process__step::before,[data-template="caviar"] .process__step::after{display:none}
[data-template="caviar"] .process__step:hover{transform:none;box-shadow:none}
[data-template="caviar"] .process__check{background:rgba(var(--brand-rgb,216,194,142),.10);border:1px solid var(--line-2);border-radius:999px;color:var(--brand,#D8C28E)}
[data-template="caviar"] .process__step h3{color:var(--ink);font-weight:400}
[data-template="caviar"] .process__step p{color:var(--ink-2)}
[data-template="caviar"] .cta-strip{background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;box-shadow:none;padding:80px 64px;color:var(--ink);text-align:center}
[data-template="caviar"] .cta-strip::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 0%,rgba(var(--brand-rgb,216,194,142),.10),transparent 60%);pointer-events:none}
[data-template="caviar"] .cta-strip::after{display:none}
[data-template="caviar"] .cta-strip h2{color:var(--ink);font-weight:400;letter-spacing:-.02em}
[data-template="caviar"] .cta-strip p{color:var(--ink-2)}
[data-template="caviar"] .cta-strip .btn--primary{background:linear-gradient(120deg,var(--brand,#D8C28E),var(--brand-deep,#B79A63));color:#15130D;border-color:var(--brand,#D8C28E)}
[data-template="caviar"] .cta-strip .btn--primary:hover{filter:brightness(1.06)}
[data-template="caviar"] .cta-strip .btn--ghost{background:rgba(255,255,255,.05);color:var(--ink);border-color:var(--line-2);backdrop-filter:blur(6px)}
[data-template="caviar"] .cta-strip .btn--ghost:hover{border-color:var(--brand,#D8C28E)}
[data-template="caviar"] .price-table{background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;box-shadow:none;color:var(--ink-2);overflow:hidden}
[data-template="caviar"] .price-table th{background:var(--bg);color:var(--ink);text-transform:uppercase;letter-spacing:.1em;border-color:var(--line)}
[data-template="caviar"] .price-table td{border-color:var(--line);color:var(--ink-2)}
[data-template="caviar"] .price-table .num{color:var(--ink);font-weight:600}
[data-template="caviar"] .pagination__btn{background:rgba(255,255,255,.04);border:1px solid var(--line-2);border-radius:999px;color:var(--ink-2)}
[data-template="caviar"] .pagination__btn:hover{border-color:var(--brand,#D8C28E);color:var(--ink)}
[data-template="caviar"] .pagination__btn.is-active{background:var(--brand,#D8C28E);color:#15130D;border-color:var(--brand,#D8C28E)}
[data-template="caviar"] .article-card,[data-template="caviar"] .article-featured{background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;box-shadow:none}
[data-template="caviar"] .article-card:hover,[data-template="caviar"] .article-featured:hover{transform:translateY(-3px);box-shadow:none;border-color:rgba(var(--brand-rgb,216,194,142),.45)}
[data-template="caviar"] .article-card__body h3,[data-template="caviar"] .article-featured__body h2{color:var(--ink);font-weight:400;letter-spacing:-.015em}
[data-template="caviar"] .article-card__body p,[data-template="caviar"] .article-featured__body p{color:var(--ink-2)}
[data-template="caviar"] .article-featured__arrow{background:rgba(var(--brand-rgb,216,194,142),.10);border:1px solid var(--line-2);border-radius:999px;color:var(--brand,#D8C28E)}
[data-template="caviar"] .article-badge{background:var(--brand,#D8C28E);color:#15130D;border:0;border-radius:999px;text-transform:uppercase;letter-spacing:.1em}
[data-template="caviar"] .article-filter,[data-template="caviar"] .article-filter__chip{background:rgba(255,255,255,.04);border:1px solid var(--line-2);border-radius:999px;color:var(--ink-2);text-transform:uppercase;letter-spacing:.08em}
[data-template="caviar"] .article-filter__chip.is-active{background:var(--brand,#D8C28E);color:#15130D;border-color:var(--brand,#D8C28E)}
[data-template="caviar"] .sitemap-block{background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;box-shadow:none}
[data-template="caviar"] .sitemap-block:hover{transform:translateY(-3px);box-shadow:none;border-color:rgba(var(--brand-rgb,216,194,142),.45)}
[data-template="caviar"] .sitemap-block__icon{background:rgba(var(--brand-rgb,216,194,142),.10);border:1px solid var(--line-2);border-radius:999px;color:var(--brand,#D8C28E)}
[data-template="caviar"] .sitemap-block h2,[data-template="caviar"] .sitemap-block h3{color:var(--ink);font-weight:400}
[data-template="caviar"] .sitemap-block a{color:var(--ink-2)}
[data-template="caviar"] .sitemap-block a:hover{color:var(--brand,#D8C28E)}
[data-template="caviar"] .postal-check{background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;box-shadow:none;backdrop-filter:none}
[data-template="caviar"] .postal-check__pin{background:rgba(var(--brand-rgb,216,194,142),.10);border:1px solid var(--line-2);border-radius:999px;color:var(--brand,#D8C28E)}
[data-template="caviar"] .postal-check__title{color:var(--ink);font-weight:400}
[data-template="caviar"] .postal-check__sub{color:var(--muted)}
[data-template="caviar"] .postal-check__row{background:rgba(255,255,255,.03);border:1px solid var(--line-2);border-radius:999px;padding:6px 8px}
[data-template="caviar"] .postal-check__row:focus-within{border-color:var(--brand,#D8C28E);box-shadow:0 0 0 1px rgba(var(--brand-rgb,216,194,142),.4)}
[data-template="caviar"] .postal-check__row input{color:var(--ink);background:transparent}
[data-template="caviar"] .postal-check__row input::placeholder{color:var(--muted)}
[data-template="caviar"] .postal-check__hint{background:var(--brand,#D8C28E);border-radius:6px;box-shadow:none;color:#15130D}
[data-template="caviar"] .addr-ac__list{background:var(--bg-soft);border:1px solid var(--line-2);border-radius:8px;box-shadow:none}
[data-template="caviar"] .addr-ac__item{color:var(--ink-2)}
[data-template="caviar"] .addr-ac__item.is-active,[data-template="caviar"] .addr-ac__item:hover{background:rgba(var(--brand-rgb,216,194,142),.12);color:var(--ink)}
[data-template="caviar"] .footer{background:var(--bg);color:var(--ink);border-top:1px solid var(--line);padding:108px 0 34px;margin-top:0}
[data-template="caviar"] .footer::before{display:none}
[data-template="caviar"] .footer::after{background:none;height:0}
[data-template="caviar"] .footer__brand{background:none;box-shadow:none;border-radius:0;padding:0;color:var(--ink);font-family:var(--ff-heading),"Cormorant Garamond",Georgia,serif;font-weight:400;letter-spacing:.02em}
[data-template="caviar"] .footer p,[data-template="caviar"] .footer__address{color:var(--ink-2)}
[data-template="caviar"] .footer h4{color:var(--brand,#D8C28E);text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-family:var(--ff-body),Inter,sans-serif}
[data-template="caviar"] .footer li a{color:var(--ink-2)}
[data-template="caviar"] .footer li a:hover{color:var(--ink)}
[data-template="caviar"] .footer__bottom{border-top:1px solid var(--line);color:var(--muted)}
[data-template="caviar"] .footer__bottom a{color:var(--ink-2)}
[data-template="caviar"] .footer__bottom a:hover{color:var(--ink)}
[data-template="caviar"] .mobile-call-bar{background:rgba(11,11,16,.92);border-top:1px solid var(--line);backdrop-filter:saturate(120%) blur(10px)}
[data-template="caviar"] .mobile-call-bar .call{background:linear-gradient(120deg,var(--brand,#D8C28E),var(--brand-deep,#B79A63));color:#15130D;border-radius:999px}
[data-template="caviar"] .mobile-call-bar .quote{background:rgba(255,255,255,.06);color:var(--ink);border:1px solid var(--line-2);border-radius:999px}

/* — Animation (caviar) — */
/* CAVIAR — rörelse: tyst VIP-lyx. ETT signatur-moment (champagne-folie-skimmer som sveper EN gång över hero-foil-texten) + diskreta scroll-reveals och hårlinjer som ritas ut. Inga studsar, ingen pulserande glow. Allt bakom prefers-reduced-motion: no-preference; endast transform/opacity (skimmer via background-position). */
@media (prefers-reduced-motion: no-preference){
  [data-template="caviar"] [data-reveal].in{
    animation: cav-rise .72s cubic-bezier(.22,.61,.36,1) both;
  }
  /* eyebrow-ring tonar in mjukt */
  [data-template="caviar"] .eyebrow::before{
    animation: cav-fade .9s ease both;
  }
  /* hero/subhero-titel: lugn fade upp */
  [data-template="caviar"] .subhero h1{
    animation: cav-fade-up .85s cubic-bezier(.22,.61,.36,1) both;
  }
  /* SIGNATUR: champagne-folie-skimmer sveper en gång över hero-foil-texten (chrome) */
  [data-template="caviar"] .cav-hero__foil{
    background:linear-gradient(100deg,var(--cav-ink,#F2EFE6) 0%,var(--cav-ink,#F2EFE6) 38%,var(--cav-accent,#D8C28E) 50%,var(--cav-ink,#F2EFE6) 62%,var(--cav-ink,#F2EFE6) 100%);
    background-size:280% 100%;
    background-position:140% 0;
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;
    animation:cav-foil 2.6s cubic-bezier(.4,0,.2,1) .5s both;
  }
  /* horisont-pärllinje ritas ut från center (chrome) */
  [data-template="caviar"] .cav-hero__horizon{
    transform:scaleX(0);transform-origin:center;
    animation:cav-rule 1.1s cubic-bezier(.22,.61,.36,1) .35s both;
  }
  /* diskret nedrullnings-prick (chrome) — mjuk vertikal andning, ej blink */
  [data-template="caviar"] .cav-hero__scroll{
    animation:cav-drift 2.6s ease-in-out infinite;
  }
  /* bilder: släpp ljusstyrkan mjukt, ingen lyft */
  [data-template="caviar"] .card__image,
  [data-template="caviar"] .article-card__media,
  [data-template="caviar"] .area-service-card__media{
    transition:filter .6s ease;
  }
  /* knappar/länkar/kort: rena färg/border/transform-övergångar */
  [data-template="caviar"] .btn,
  [data-template="caviar"] .card,
  [data-template="caviar"] .article-card,
  [data-template="caviar"] .sitemap-block,
  [data-template="caviar"] .card__link,
  [data-template="caviar"] .footer li a{
    transition:background .3s ease,color .3s ease,border-color .3s ease,transform .4s cubic-bezier(.22,.61,.36,1),filter .3s ease;
  }
  /* långsam ken-burns på hero-bakgrundsmedia (chrome) */
  [data-template="caviar"] .cav-hero__video,
  [data-template="caviar"] .cav-hero__photo{
    animation:cav-kenburns 28s ease-in-out infinite alternate;
    will-change:transform;
  }
}
@keyframes cav-rise{ from{opacity:0;transform:translateY(15px);} to{opacity:1;transform:translateY(0);} }
@keyframes cav-fade{ from{opacity:0;} to{opacity:1;} }
@keyframes cav-fade-up{ from{opacity:0;transform:translateY(10px);} to{opacity:1;transform:translateY(0);} }
@keyframes cav-foil{ from{background-position:140% 0;} to{background-position:-40% 0;} }
@keyframes cav-rule{ from{transform:scaleX(0);} to{transform:scaleX(1);} }
@keyframes cav-drift{ 0%,100%{transform:translateY(0);opacity:.55;} 50%{transform:translateY(5px);opacity:1;} }
@keyframes cav-kenburns{ from{transform:scale(1.03);} to{transform:scale(1.10);} }
@media (prefers-reduced-motion: reduce){
  [data-template="caviar"] .cav-hero__foil{
    -webkit-text-fill-color:var(--cav-ink,#F2EFE6);color:var(--cav-ink,#F2EFE6);
    background:none;animation:none;
  }
  [data-template="caviar"] .cav-hero__horizon{transform:scaleX(1);animation:none;}
  [data-template="caviar"] .cav-hero__video,
  [data-template="caviar"] .cav-hero__photo,
  [data-template="caviar"] .cav-hero__scroll{animation:none;}
}


/* ═══ Caviar — CHROME ═══ */
/* ============================================================================
   CAVIAR — bespoke chrome (header / hero / footer)
   Ultra-mörk pärl/champagne-VIP. Klassprefix: .cav-
   Signatur: champagne-FOLIE-skimmer som sveper EN gång över hero-foil-texten
   + en hårfin pärl-horisontlinje som "ritas" ut. Resten = stilla glas + 1px.
   Färg/typo via tema-variabler med robusta fallbacks.
   ========================================================================== */

[data-template="caviar"]{
  --cav-bg:var(--bg,#0B0B10);
  --cav-bg-soft:var(--bg-soft,#131319);
  --cav-glass:rgba(255,255,255,.035);
  --cav-ink:var(--ink,#F2EFE6);
  --cav-ink-2:var(--ink-2,#CFCBBE);
  --cav-muted:var(--muted,#8B8779);
  --cav-line:var(--line,rgba(242,239,230,.12));
  --cav-line-2:var(--line-2,rgba(242,239,230,.22));
  --cav-accent:var(--brand,#D8C28E);
  --cav-accent-rgb:var(--brand-rgb,216,194,142);
  --cav-accent-deep:var(--brand-deep,#B79A63);
  --cav-ff-head:var(--ff-heading),"Cormorant Garamond",Georgia,serif;
  --cav-ff-body:var(--ff-body),"Inter",Helvetica,Arial,sans-serif;
  --cav-shell:1300px;
  --cav-gut:42px;
}

/* ----------------------------------------------------------------------------
   HEADER
   -------------------------------------------------------------------------- */
.cav-header{
  position:absolute;
  top:0;left:0;right:0;
  z-index:60;
  background:transparent;
  transition:background .4s ease,border-color .4s ease,backdrop-filter .4s ease;
}
.cav-header.is-scrolled{
  position:fixed;
  background:rgba(11,11,16,.82);
  -webkit-backdrop-filter:blur(14px) saturate(120%);
  backdrop-filter:blur(14px) saturate(120%);
  border-bottom:1px solid var(--cav-line);
}
.cav-header__inner{
  max-width:var(--cav-shell);
  margin:0 auto;
  padding:28px var(--cav-gut);
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:28px;
}

/* Vänster — concierge-index */
.cav-header__lead{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--cav-muted);
  font-family:var(--cav-ff-body);
  font-size:11px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.cav-header__dot{
  width:4px;height:4px;
  border-radius:50%;
  background:var(--cav-accent);
  flex:none;
}

/* Mitt — wordmark */
.cav-brand{
  justify-self:center;
  display:inline-flex;
  align-items:center;
  text-decoration:none;
}
.cav-brand__name{
  position:relative;
  font-family:var(--cav-ff-head);
  font-weight:400;
  font-size:25px;
  line-height:1;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--cav-ink);
  padding-right:.18em;
}
.cav-brand__pearl{
  position:absolute;
  top:-2px;right:-2px;
  width:4px;height:4px;
  border-radius:50%;
  background:var(--cav-accent);
}

/* Höger — telefon + CTA */
.cav-header__right{
  justify-self:end;
  display:inline-flex;
  align-items:center;
  gap:18px;
}
.cav-header__phone{
  font-family:var(--cav-ff-body);
  font-size:12.5px;
  letter-spacing:.04em;
  color:var(--cav-ink-2);
  text-decoration:none;
  transition:color .3s ease;
}
.cav-header__phone:hover{color:var(--cav-ink);}
.cav-header__sep{
  width:1px;height:18px;
  background:var(--cav-line-2);
  flex:none;
}
.cav-header__cta{
  display:inline-flex;
  align-items:center;
  gap:9px;
  border:1px solid var(--cav-line-2);
  border-radius:999px;
  padding:11px 22px;
  font-family:var(--cav-ff-body);
  font-size:11px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--cav-ink);
  text-decoration:none;
  transition:border-color .3s ease,background .3s ease,color .3s ease;
}
.cav-header__cta:hover{
  border-color:var(--cav-accent);
  background:rgba(var(--cav-accent-rgb),.08);
}
.cav-header__cta-arrow{
  color:var(--cav-accent);
  font-size:13px;
  line-height:1;
  transition:transform .3s ease;
}
.cav-header__cta:hover .cav-header__cta-arrow{transform:translateX(3px);}

/* Mobil — burger (dold på desktop) */
.cav-burger{
  display:inline-flex;
  width:44px;height:44px;
  border:1px solid var(--cav-line-2);
  border-radius:10px;
  background:rgba(255,255,255,.03);
  cursor:pointer;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  transition:border-color .3s ease;
}
.cav-burger:hover{border-color:var(--cav-accent);}
.cav-burger span{
  display:block;
  width:18px;height:1.5px;
  background:var(--cav-ink);
}

/* Mobil — fullskärms-drawer */
.cav-drawer{
  position:fixed;
  inset:0;
  z-index:90;
  background:var(--cav-bg);
  display:flex;
  flex-direction:column;
  padding:28px var(--cav-gut) 40px;
  overflow-y:auto;
}
.cav-drawer__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.cav-drawer__top .cav-brand{justify-self:auto;}
.cav-drawer__close{
  width:44px;height:44px;
  border:1px solid var(--cav-line-2);
  border-radius:10px;
  background:rgba(255,255,255,.03);
  color:var(--cav-ink);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.cav-drawer__close:hover{border-color:var(--cav-accent);color:var(--cav-accent);}
.cav-drawer__nav{
  margin-top:auto;
  display:flex;
  flex-direction:column;
}
.cav-drawer__nav a{
  display:flex;
  align-items:baseline;
  gap:18px;
  padding:18px 0;
  border-bottom:1px solid var(--cav-line);
  font-family:var(--cav-ff-head);
  font-weight:400;
  font-size:clamp(30px,8vw,46px);
  line-height:1;
  letter-spacing:-.01em;
  color:var(--cav-ink);
  text-decoration:none;
}
.cav-drawer__index{
  font-family:var(--cav-ff-body);
  font-size:12px;
  letter-spacing:.16em;
  color:var(--cav-accent);
  flex:none;
}
.cav-drawer__foot{
  margin-top:36px;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.cav-drawer__phone{
  font-family:var(--cav-ff-head);
  font-size:32px;
  color:var(--cav-ink);
  text-decoration:none;
  letter-spacing:.01em;
}
.cav-drawer__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:16px 28px;
  border:1px solid var(--cav-line-2);
  border-radius:999px;
  background:linear-gradient(120deg,var(--cav-accent),var(--cav-accent-deep));
  color:#15130D;
  font-family:var(--cav-ff-body);
  font-size:12px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  text-decoration:none;
}

/* ----------------------------------------------------------------------------
   HERO
   -------------------------------------------------------------------------- */
.cav-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:var(--cav-bg);
}
.cav-hero__media{
  position:absolute;
  inset:0;
  z-index:0;
}
.cav-hero__video,
.cav-hero__photo{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  object-fit:cover;
  filter:brightness(.42) saturate(.9) contrast(1.04);
}
.cav-hero__placeholder{
  position:absolute;
  inset:0;
  background:
    repeating-radial-gradient(circle at 50% 30%,rgba(var(--cav-accent-rgb),.05) 0,rgba(var(--cav-accent-rgb),.05) 1px,transparent 1px,transparent 9px),
    radial-gradient(120% 80% at 50% 0%,var(--cav-bg-soft),var(--cav-bg) 60%);
}
.cav-hero__veil{
  position:absolute;
  inset:0;
  background:
    radial-gradient(70% 50% at 50% 40%,rgba(var(--cav-accent-rgb),.06),transparent 70%),
    linear-gradient(180deg,rgba(11,11,16,.30) 0%,rgba(11,11,16,.62) 55%,var(--cav-bg) 100%);
}
.cav-hero__inner{
  position:relative;
  z-index:1;
  max-width:var(--cav-shell);
  margin:0 auto;
  padding:210px var(--cav-gut) 130px;
  text-align:center;
}

/* Kicker — pärl-rule + label + pärl-rule */
.cav-hero__kicker{
  display:inline-flex;
  align-items:center;
  gap:16px;
  margin-bottom:30px;
}
.cav-hero__kicker-rule{
  width:54px;height:1px;
  background:var(--cav-line-2);
}
.cav-hero__kicker-label{
  font-family:var(--cav-ff-body);
  font-size:11px;
  font-weight:600;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--cav-ink-2);
}

/* Titel */
.cav-hero__title{
  font-family:var(--cav-ff-head);
  font-weight:400;
  font-size:clamp(50px,7.4vw,118px);
  line-height:.96;
  letter-spacing:-.02em;
  color:var(--cav-ink);
  max-width:16ch;
  margin:0 auto;
}
.cav-hero__title em{
  font-style:italic;
  color:var(--cav-accent);
}
/* Foil-segment: bär signatur-skimmern (animeras i animationCss). Statisk fallback
   här så texten alltid är läsbar även utan animation. */
.cav-hero__foil{
  color:var(--cav-ink);
}
.cav-hero__foil--em{
  font-style:italic;
}

/* Lead */
.cav-hero__lead{
  margin:26px auto 0;
  max-width:52ch;
  font-family:var(--cav-ff-body);
  font-size:17px;
  line-height:1.7;
  color:var(--cav-ink-2);
}

/* CTA */
.cav-hero__cta{
  margin-top:36px;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:16px;
}

/* Rating */
.cav-hero__rating{
  margin-top:26px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--cav-ink-2);
  font-family:var(--cav-ff-body);
  font-size:13px;
  letter-spacing:.04em;
}
.cav-hero__rating .hero__stars{
  color:var(--cav-accent);
  display:inline-flex;
  gap:2px;
}

/* Trust-loggor i hero */
.cav-hero__trust{
  margin-top:30px;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:26px;
  opacity:.7;
}
.cav-hero__trust img{filter:grayscale(1) brightness(2.2);}

/* Postal */
.cav-hero__postal{
  margin:42px auto 0;
  max-width:520px;
}

/* Scroll-prick */
.cav-hero__scroll{
  display:block;
  width:6px;height:6px;
  border-radius:50%;
  background:var(--cav-accent);
  margin:54px auto 0;
  opacity:.6;
}

/* Horisont — hårfin pärl-rule som ritas ut */
.cav-hero__horizon{
  position:absolute;
  left:0;right:0;bottom:0;
  height:1px;
  z-index:1;
  background:linear-gradient(90deg,transparent,var(--cav-line-2),transparent);
}

/* ----------------------------------------------------------------------------
   HOME — chrome-exponerade sektionsklasser
   -------------------------------------------------------------------------- */
.cav-section{padding:130px 0;}
.cav-section__head{text-align:center;}
.cav-section__head .eyebrow{margin-bottom:18px;}

.cav-about__intro{
  max-width:60ch;
  margin:0 auto;
  font-family:var(--cav-ff-body);
  font-size:17px;
  line-height:1.75;
  color:var(--cav-ink-2);
}

/* Tjänster — 3-kol glas-celler */
.cav-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

/* USP */
.cav-usp{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.cav-usp__item{
  background:var(--cav-bg-soft);
  border:1px solid var(--cav-line);
  border-radius:6px;
  padding:34px;
}
.cav-usp__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;height:46px;
  border-radius:999px;
  background:rgba(var(--cav-accent-rgb),.10);
  border:1px solid var(--cav-line-2);
  color:var(--cav-accent);
  margin-bottom:20px;
}
.cav-usp__item h3{
  font-family:var(--cav-ff-head);
  font-weight:400;
  font-size:22px;
  color:var(--cav-ink);
  margin:0 0 10px;
}
.cav-usp__item p{color:var(--cav-ink-2);margin:0;line-height:1.65;}

/* Stats-band — 1px-delade kolumner */
.cav-band-section{padding:0;}
.cav-band{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  background:var(--cav-bg-soft);
  border-top:1px solid var(--cav-line);
  border-bottom:1px solid var(--cav-line);
}
.cav-band__item{
  padding:54px 30px;
  text-align:center;
  border-left:1px solid var(--cav-line);
}
.cav-band__item:first-child{border-left:0;}
.cav-band__num{
  font-family:var(--cav-ff-head);
  font-weight:400;
  font-size:clamp(38px,5vw,58px);
  line-height:1;
  letter-spacing:-.02em;
  color:var(--cav-ink);
}
.cav-band__lab{
  margin-top:12px;
  font-family:var(--cav-ff-body);
  font-size:11px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--cav-muted);
}

/* Process — horisontella steg med pärl-topplinje */
.cav-steps{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:36px;
}
.cav-step{
  border-top:1px solid var(--cav-line-2);
  padding-top:24px;
}
.cav-step__num{
  font-family:var(--cav-ff-body);
  font-size:12px;
  font-weight:600;
  letter-spacing:.18em;
  color:var(--cav-accent);
  margin-bottom:14px;
}
.cav-step h3{
  font-family:var(--cav-ff-head);
  font-weight:400;
  font-size:23px;
  color:var(--cav-ink);
  margin:0 0 10px;
}
.cav-step p{color:var(--cav-ink-2);margin:0;line-height:1.65;}

/* Trust-band wrapper */
.cav-trust{
  background:var(--cav-bg-soft);
  border-top:1px solid var(--cav-line);
  border-bottom:1px solid var(--cav-line);
}
.cav-trust__inner{
  max-width:var(--cav-shell);
  margin:0 auto;
  padding:0 var(--cav-gut);
}

/* ----------------------------------------------------------------------------
   FOOTER
   -------------------------------------------------------------------------- */
.cav-footer{
  background:var(--cav-bg);
  border-top:1px solid var(--cav-line);
  padding:110px 0 34px;
}
.cav-footer__inner{
  max-width:var(--cav-shell);
  margin:0 auto;
  padding:0 var(--cav-gut);
}
.cav-footer__wordmark{
  font-family:var(--cav-ff-head);
  font-weight:400;
  font-size:clamp(58px,13vw,134px);
  line-height:1;
  letter-spacing:-.01em;
  text-transform:uppercase;
  color:rgba(242,239,230,.10);
  margin-bottom:54px;
  user-select:none;
}
.cav-footer__foil{color:inherit;}

.cav-footer__grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:48px;
  padding-bottom:54px;
}
.cav-footer__tagline{
  max-width:42ch;
  color:var(--cav-ink-2);
  font-family:var(--cav-ff-body);
  font-size:15px;
  line-height:1.7;
  margin:0 0 18px;
}
.cav-footer__address{
  color:var(--cav-ink-2);
  font-family:var(--cav-ff-body);
  font-size:14px;
  line-height:1.7;
  margin:0 0 18px;
}
.cav-footer__contact{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.cav-footer__contact-link{
  color:var(--cav-ink);
  font-family:var(--cav-ff-body);
  font-size:14px;
  text-decoration:none;
  transition:color .3s ease;
}
.cav-footer__contact-link:hover{color:var(--cav-accent);}

.cav-footer__col-head{
  font-family:var(--cav-ff-body);
  font-size:11px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--cav-accent);
  margin:0 0 18px;
}
.cav-footer__list{
  list-style:none;
  margin:0;padding:0;
  display:flex;
  flex-direction:column;
  gap:11px;
}
.cav-footer__list a{
  position:relative;
  color:var(--cav-ink-2);
  font-family:var(--cav-ff-body);
  font-size:14px;
  text-decoration:none;
  transition:color .3s ease;
}
.cav-footer__list a::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-3px;
  height:1px;
  background:var(--cav-accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .35s cubic-bezier(.22,.61,.36,1);
}
.cav-footer__list a:hover{color:var(--cav-ink);}
.cav-footer__list a:hover::after{transform:scaleX(1);}

.cav-footer__bottom{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-top:30px;
  border-top:1px solid var(--cav-line);
}
.cav-footer__copy{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--cav-muted);
  font-family:var(--cav-ff-body);
  font-size:12.5px;
  letter-spacing:.02em;
}
.cav-footer__dot{
  width:4px;height:4px;
  border-radius:50%;
  background:var(--cav-accent);
  flex:none;
}
.cav-footer__meta{
  display:inline-flex;
  flex-wrap:wrap;
  gap:20px;
}
.cav-footer__meta a{
  color:var(--cav-ink-2);
  font-family:var(--cav-ff-body);
  font-size:12.5px;
  text-decoration:none;
  transition:color .3s ease;
}
.cav-footer__meta a:hover{color:var(--cav-ink);}

/* ----------------------------------------------------------------------------
   RESPONSIVE
   -------------------------------------------------------------------------- */
@media (max-width:1080px){
  .cav-header__lead,
  .cav-header__phone,
  .cav-header__sep,
  .cav-header__cta{display:none;}
  .cav-header__inner{grid-template-columns:1fr auto 1fr;}
  .cav-brand{justify-self:start;}
  .cav-burger{display:inline-flex;}
  .cav-cards,
  .cav-usp{grid-template-columns:repeat(2,1fr);}
  .cav-footer__grid{grid-template-columns:1fr 1fr;}
  .cav-footer__intro{grid-column:1 / -1;}
}

@media (max-width:720px){
  [data-template="caviar"]{--cav-gut:22px;}
  .cav-hero__inner{padding:150px 22px 80px;}
  .cav-hero__title{font-size:clamp(40px,11vw,64px);}
  .cav-hero__kicker-rule{width:30px;}
  .cav-cards,
  .cav-usp,
  .cav-footer__grid{grid-template-columns:1fr;}
  .cav-band__item{border-left:0;border-top:1px solid var(--cav-line);}
  .cav-band__item:first-child{border-top:0;}
}



/* ═══ QA-FIXAR (caviar) ═══ */
/* [hög] html[data-template="caviar"] .btn--primary, html[data-t */
html[data-template="caviar"]{--cav-on-brand:#15130D}
@supports (color: color-contrast(black vs white)){html[data-template="caviar"]{--cav-on-brand:color-contrast(var(--brand,#D8C28E) vs #15130D, #F2EFE6)}}
html[data-template="caviar"] .btn--primary,
html[data-template="caviar"] .cta-strip .btn--primary,
html[data-template="caviar"] .btn--primary .btn__arrow,
html[data-template="caviar"] .article-badge,
html[data-template="caviar"] .pagination__btn.is-active,
html[data-template="caviar"] .article-filter__chip.is-active,
html[data-template="caviar"] .form-step.is-active .form-step__bubble,
html[data-template="caviar"] .review-card__avatar,
html[data-template="caviar"] .postal-check__hint,
html[data-template="caviar"] .mobile-call-bar .call,
html[data-template="caviar"] .cav-drawer__cta{color:var(--cav-on-brand)}
/* [medel] html[data-template="caviar"] .form-step.is-done .form-s */
html[data-template="caviar"]{--cav-accent-safe:var(--brand,#D8C28E)}
@supports (color: color-contrast(black vs white)){html[data-template="caviar"]{--cav-accent-safe:color-contrast(var(--bg-soft,#131319) vs var(--brand,#D8C28E), #E7D9B4, #F2EFE6)}}
html[data-template="caviar"] .card__icon,
html[data-template="caviar"] .faq__icon,
html[data-template="caviar"] .process__check,
html[data-template="caviar"] .sitemap-block__icon,
html[data-template="caviar"] .postal-check__pin,
html[data-template="caviar"] .article-featured__arrow,
html[data-template="caviar"] .subhero__answer-label,
html[data-template="caviar"] .footer h4,
html[data-template="caviar"] .cav-footer__col-head,
html[data-template="caviar"] .review-card .hero__stars,
html[data-template="caviar"] .reviews-carousel__card .hero__stars,
html[data-template="caviar"] .trusted__google-rating .hero__stars,
html[data-template="caviar"] .cav-header__cta-arrow,
html[data-template="caviar"] .form-step.is-done .form-step__bubble{color:var(--cav-accent-safe)}
html[data-template="caviar"] .form-step.is-done .form-step__bubble{border-color:var(--cav-accent-safe)}
