/* ═══ EXKLUSIV MALL: Cascade (cascade) ═══ Inre-sid-CSS-lager + animation. Scopat [data-template="cascade"]. Video:true. Signatur:#1F8A8C. */

html[data-template="cascade"]{--bg:#0A1A22;--bg-soft:#0E2530;--ink:#F2F8F8;--ink-2:#BBD2D4;--muted:#7E9AA0;--line:rgba(255,255,255,.10);--line-2:rgba(255,255,255,.20);--ff-heading:'Fraunces','Playfair Display',Georgia,serif;--ff-body:'Inter','Helvetica Neue',system-ui,sans-serif;--btn-radius:999px;--btn-pad:15px 30px;--btn-weight:600;--btn-transform:none;--btn-tracking:.01em;--brand-deep:#0C3B3D;--star:#F2C14E}
html[data-template="cascade"]{--cs-deep:#06121A;--cs-wave:#0E2530;--cs-glass:rgba(255,255,255,.05);--cs-glass-2:rgba(255,255,255,.08);--cs-edge:rgba(255,255,255,.11);--cs-glow:rgba(var(--brand-rgb),.22)}
[data-template="cascade"] body{background:var(--cs-deep);color:var(--ink-2);font-family:var(--ff-body);-webkit-font-smoothing:antialiased}
[data-template="cascade"] h1,[data-template="cascade"] h2,[data-template="cascade"] h3,[data-template="cascade"] h4{font-family:var(--ff-heading);font-weight:500;letter-spacing:-.015em;color:var(--ink)}
[data-template="cascade"] .section{position:relative;background:var(--bg);background-image:radial-gradient(120% 80% at 50% -10%,rgba(var(--brand-rgb),.10) 0%,transparent 60%)}
[data-template="cascade"] .section:nth-child(even){background:var(--bg-soft);background-image:radial-gradient(120% 80% at 50% 120%,rgba(var(--brand-rgb),.08) 0%,transparent 60%)}
[data-template="cascade"] .section::before{content:"";position:absolute;top:-1px;left:0;right:0;height:56px;background-repeat:no-repeat;background-size:100% 100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 56' preserveAspectRatio='none'%3E%3Cpath d='M0 28C240 6 480 6 720 28S1200 50 1440 28V0H0Z' fill='%2306121A'/%3E%3C/svg%3E");opacity:.5;pointer-events:none}
[data-template="cascade"] .section-head{text-align:center;max-width:760px;margin:0 auto 56px}
[data-template="cascade"] .section-head h2{font-family:var(--ff-heading);font-weight:500;font-size:clamp(30px,4vw,46px);letter-spacing:-.02em;color:var(--ink);line-height:1.08}
[data-template="cascade"] .section-head p,[data-template="cascade"] .prose p,[data-template="cascade"] .prose li{color:var(--ink-2)}
[data-template="cascade"] .prose h2,[data-template="cascade"] .prose h3{color:var(--ink)}
[data-template="cascade"] .eyebrow,[data-template="cascade"] .section-head .eyebrow{display:inline-flex;align-items:center;gap:8px;background:none;border:0;border-radius:0;padding:0;color:var(--brand);font-family:var(--ff-body);text-transform:uppercase;letter-spacing:.24em;font-size:11px;font-weight:600}
[data-template="cascade"] .eyebrow::before{content:"";width:22px;height:1px;background:linear-gradient(90deg,transparent,var(--brand))}
[data-template="cascade"] .subhero{position:relative;background:linear-gradient(180deg,var(--cs-deep) 0%,var(--bg) 100%);background-image:radial-gradient(90% 120% at 70% 0%,rgba(var(--brand-rgb),.18) 0%,transparent 55%);border-bottom:1px solid var(--cs-edge);overflow:hidden}
[data-template="cascade"] .subhero h1{font-family:var(--ff-heading);font-weight:500;font-size:clamp(34px,5.4vw,66px);letter-spacing:-.025em;line-height:1.04;color:var(--ink)}
[data-template="cascade"] .subhero__lead{color:var(--ink-2);font-size:19px;line-height:1.65}
[data-template="cascade"] .subhero__crumbs,[data-template="cascade"] .subhero__crumbs a{color:var(--muted);letter-spacing:.04em;font-size:13px}
[data-template="cascade"] .subhero__crumbs a:hover{color:var(--brand)}
[data-template="cascade"] .subhero__crumbs span{color:var(--line-2)}
[data-template="cascade"] .subhero__answer{background:var(--cs-glass);border:1px solid var(--cs-edge);border-left:3px solid var(--brand);border-radius:18px;color:var(--ink-2);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
[data-template="cascade"] .subhero__answer-label{color:var(--brand);text-transform:uppercase;letter-spacing:.16em;font-size:11px}
[data-template="cascade"] .subhero__answer-question{color:var(--ink)}
[data-template="cascade"] .subhero__answer p{color:var(--ink-2)}
[data-template="cascade"] .card,[data-template="cascade"] .aside-card,[data-template="cascade"] .about-check,[data-template="cascade"] .hub-bottom__panel,[data-template="cascade"] .other-services__card,[data-template="cascade"] .related-link,[data-template="cascade"] .case-card{background:var(--cs-glass);border:1px solid var(--cs-edge);border-radius:22px;box-shadow:0 18px 44px rgba(0,0,0,.34);color:var(--ink-2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow:hidden}
[data-template="cascade"] .card::after{background:linear-gradient(90deg,var(--brand),transparent)}
[data-template="cascade"] .card:hover{transform:translateY(-6px);border-color:rgba(var(--brand-rgb),.5);box-shadow:0 30px 70px rgba(0,0,0,.5),0 0 0 1px var(--cs-glow)}
[data-template="cascade"] .card h3{color:var(--ink)}
[data-template="cascade"] .card p{color:var(--ink-2)}
[data-template="cascade"] .card__icon{background:radial-gradient(circle at 30% 30%,rgba(var(--brand-rgb),.32),rgba(var(--brand-rgb),.12));border:1px solid rgba(var(--brand-rgb),.4);border-radius:16px;color:var(--brand)}
[data-template="cascade"] .card__price{color:var(--ink)}
[data-template="cascade"] .card__price small{color:var(--muted)}
[data-template="cascade"] .card__link{color:var(--brand);font-weight:600}
[data-template="cascade"] .card__image,[data-template="cascade"] .photo,[data-template="cascade"] .subhero__photo,[data-template="cascade"] .article-card__media,[data-template="cascade"] .article-featured__media,[data-template="cascade"] .area-service-card__media{background:var(--cs-wave);border-color:var(--cs-edge);border-radius:18px}
[data-template="cascade"] .card__image{border-radius:0}
[data-template="cascade"] .area-service-card,[data-template="cascade"] .article-card,[data-template="cascade"] .article-featured{background:var(--cs-glass);border:1px solid var(--cs-edge);border-radius:22px;box-shadow:0 18px 44px rgba(0,0,0,.34);overflow:hidden}
[data-template="cascade"] .article-featured{border-radius:26px}
[data-template="cascade"] .area-service-card:hover,[data-template="cascade"] .article-card:hover,[data-template="cascade"] .article-featured:hover{transform:translateY(-6px);border-color:rgba(var(--brand-rgb),.5);box-shadow:0 30px 70px rgba(0,0,0,.5)}
[data-template="cascade"] .area-service-card__body h3,[data-template="cascade"] .article-card__body h3,[data-template="cascade"] .article-featured__body h2{color:var(--ink)}
[data-template="cascade"] .area-service-card__body p,[data-template="cascade"] .article-card__body p,[data-template="cascade"] .article-featured__body p{color:var(--ink-2)}
[data-template="cascade"] .area-service-card__cta,[data-template="cascade"] .article-card__cta,[data-template="cascade"] .article-featured__cta,[data-template="cascade"] .area-service-card__price{color:var(--brand)}
[data-template="cascade"] .article-badge{background:rgba(var(--brand-rgb),.92);color:#fff;border-radius:999px}
[data-template="cascade"] .pagination__btn,[data-template="cascade"] .article-filter__chip{background:var(--cs-glass);border:1px solid var(--cs-edge);color:var(--ink-2);border-radius:999px}
[data-template="cascade"] .pagination__btn:hover,[data-template="cascade"] .article-filter__chip:hover{border-color:rgba(var(--brand-rgb),.5);color:var(--ink)}
[data-template="cascade"] .pagination__btn.is-active,[data-template="cascade"] .article-filter__chip.is-active{background:var(--brand);border-color:var(--brand);color:#fff}
[data-template="cascade"] .faq__item{background:var(--cs-glass);border:1px solid var(--cs-edge);border-radius:18px;margin-bottom:12px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
[data-template="cascade"] .faq__item.open{border-color:rgba(var(--brand-rgb),.4)}
[data-template="cascade"] .faq__q{color:var(--ink);font-family:var(--ff-heading);font-weight:500}
[data-template="cascade"] .faq__a,[data-template="cascade"] .faq__a p{color:var(--ink-2)}
[data-template="cascade"] .faq__icon{background:rgba(var(--brand-rgb),.16);border-radius:999px;color:var(--brand)}
[data-template="cascade"] .form-card{background:var(--cs-glass-2);border:1px solid var(--cs-edge);border-radius:24px;box-shadow:0 26px 64px rgba(0,0,0,.42);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
[data-template="cascade"] .field label,[data-template="cascade"] .form-pane__title,[data-template="cascade"] .form-step__name,[data-template="cascade"] .form-card h2{color:var(--ink)}
[data-template="cascade"] .field input,[data-template="cascade"] .field textarea,[data-template="cascade"] .field select,[data-template="cascade"] .postal-check__row input,[data-template="cascade"] .services-search input{background:rgba(255,255,255,.05);border:1px solid var(--cs-edge);color:var(--ink);border-radius:14px}
[data-template="cascade"] .field input::placeholder,[data-template="cascade"] .field textarea::placeholder,[data-template="cascade"] .postal-check__row input::placeholder{color:var(--muted)}
[data-template="cascade"] .field input:focus,[data-template="cascade"] .field textarea:focus,[data-template="cascade"] .field select:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 4px rgba(var(--brand-rgb),.22)}
[data-template="cascade"] .form-step__bubble{background:var(--cs-glass-2);border:1px solid var(--cs-edge);color:var(--muted);border-radius:999px}
[data-template="cascade"] .form-step__bubble.is-active{background:var(--brand);border-color:var(--brand);color:#fff}
[data-template="cascade"] .form-step__bubble.is-done{background:rgba(var(--brand-rgb),.2);border-color:rgba(var(--brand-rgb),.5);color:var(--brand)}
[data-template="cascade"] .file-drop{background:rgba(255,255,255,.04);border:1px dashed var(--cs-edge);border-radius:16px;color:var(--ink-2)}
[data-template="cascade"] .file-drop:hover,[data-template="cascade"] .file-drop.is-drag{border-color:var(--brand);color:var(--ink)}
[data-template="cascade"] .addr-ac__list{background:var(--cs-wave);border:1px solid var(--cs-edge);border-radius:14px}
[data-template="cascade"] .addr-ac__item{color:var(--ink-2)}
[data-template="cascade"] .addr-ac__item.is-active,[data-template="cascade"] .addr-ac__item:hover{background:rgba(var(--brand-rgb),.16);color:var(--ink)}
[data-template="cascade"] .postal-check{background:var(--cs-glass);border:1px solid var(--cs-edge);border-radius:20px;box-shadow:0 18px 44px rgba(0,0,0,.34);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
[data-template="cascade"] .postal-check__pin{background:rgba(var(--brand-rgb),.16);color:var(--brand);border-radius:14px}
[data-template="cascade"] .postal-check__title{color:var(--ink)}
[data-template="cascade"] .postal-check__sub{color:var(--ink-2)}
[data-template="cascade"] .postal-check__row{background:rgba(255,255,255,.05);border:1px solid var(--cs-edge);border-radius:999px}
[data-template="cascade"] .postal-check__row:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px rgba(var(--brand-rgb),.2)}
[data-template="cascade"] .postal-check__row input{color:var(--ink)}
[data-template="cascade"] .postal-check__hint{background:var(--cs-wave);border:1px solid var(--cs-edge);color:var(--ink-2);border-radius:12px}
[data-template="cascade"] .review-card,[data-template="cascade"] .reviews-carousel__card{background:var(--cs-glass);border:1px solid var(--cs-edge);border-radius:22px;color:var(--ink-2);box-shadow:0 18px 44px rgba(0,0,0,.34);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
[data-template="cascade"] .review-card blockquote,[data-template="cascade"] .reviews-carousel__card blockquote,[data-template="cascade"] .review-card__author,[data-template="cascade"] .case-card__quote{color:var(--ink)}
[data-template="cascade"] .review-card__avatar{background:linear-gradient(135deg,var(--brand),var(--brand-deep));color:#fff}
[data-template="cascade"] .review-card__source,[data-template="cascade"] .reviews-source-label{color:var(--muted)}
[data-template="cascade"] .review-card .hero__stars,[data-template="cascade"] .review-card__stars,[data-template="cascade"] .reviews-carousel__card .hero__stars{color:var(--star)}
[data-template="cascade"] .card-scroller__nav,[data-template="cascade"] .reviews-carousel__nav,[data-template="cascade"] .hero-carousel__nav{background:var(--cs-glass-2);border:1px solid var(--cs-edge);color:var(--ink);border-radius:999px}
[data-template="cascade"] .card-scroller__nav:hover,[data-template="cascade"] .reviews-carousel__nav:hover{border-color:var(--brand);color:var(--brand)}
[data-template="cascade"] .process__step{background:var(--cs-glass);border:1px solid var(--cs-edge);border-radius:20px;box-shadow:0 14px 38px rgba(0,0,0,.3)}
[data-template="cascade"] .process__step h3{color:var(--ink)}
[data-template="cascade"] .process__step p{color:var(--ink-2)}
[data-template="cascade"] .process__check{background:linear-gradient(135deg,var(--brand),var(--brand-deep));color:#fff;border-radius:999px}
[data-template="cascade"] .trusted{background:var(--bg-soft);border-top:1px solid var(--cs-edge);border-bottom:1px solid var(--cs-edge)}
[data-template="cascade"] .trusted__label,[data-template="cascade"] .reviews-source-label{color:var(--muted);text-transform:uppercase;letter-spacing:.14em}
[data-template="cascade"] .trusted__row a{opacity:.92;filter:none}[data-template="cascade"] .trusted__row a:hover{opacity:1}
[data-template="cascade"] .trusted__google-rating,[data-template="cascade"] .trusted__google-score{color:var(--ink)}
[data-template="cascade"] .trusted__google-rating .hero__stars,[data-template="cascade"] .trusted__google-rating svg{color:var(--star)}
[data-template="cascade"] .trusted__google-sub{color:var(--ink-2)}
[data-template="cascade"] .sitemap-block{background:var(--cs-glass);border:1px solid var(--cs-edge);border-radius:20px;box-shadow:0 14px 38px rgba(0,0,0,.3)}
[data-template="cascade"] .sitemap-block h2,[data-template="cascade"] .sitemap-block h3{color:var(--ink)}
[data-template="cascade"] .sitemap-block__icon{background:rgba(var(--brand-rgb),.16);color:var(--brand);border-radius:14px}
[data-template="cascade"] .sitemap-block a{color:var(--ink-2)}
[data-template="cascade"] .sitemap-block a:hover{color:var(--brand)}
[data-template="cascade"] .price-table{color:var(--ink-2);border:1px solid var(--cs-edge);border-radius:20px;overflow:hidden}
[data-template="cascade"] .price-table th{background:var(--cs-wave);color:var(--ink);border-color:var(--cs-edge)}
[data-template="cascade"] .price-table td{border-color:var(--cs-edge)}
[data-template="cascade"] .price-table .num{color:var(--ink)}
[data-template="cascade"] .contact-hero,[data-template="cascade"] .article-hero{background:linear-gradient(180deg,var(--cs-deep) 0%,var(--bg) 100%);background-image:radial-gradient(90% 120% at 70% 0%,rgba(var(--brand-rgb),.16) 0%,transparent 55%)}
[data-template="cascade"] .contact-method{background:var(--cs-glass);border:1px solid var(--cs-edge);border-radius:18px}
[data-template="cascade"] .contact-method__body,[data-template="cascade"] .contact-hero__lead{color:var(--ink-2)}
[data-template="cascade"] .btn--primary{background:linear-gradient(120deg,var(--brand) 0%,var(--brand-deep) 100%);border:1px solid rgba(var(--brand-rgb),.6);color:#fff;border-radius:999px;box-shadow:0 12px 30px rgba(var(--brand-rgb),.34);backdrop-filter:none;-webkit-backdrop-filter:none}
[data-template="cascade"] .btn--primary:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(var(--brand-rgb),.44)}
[data-template="cascade"] .btn--primary .btn__arrow{background:#fff;color:var(--brand-deep)}
[data-template="cascade"] .btn--ghost{background:rgba(255,255,255,.06);color:var(--ink);border:1px solid var(--line-2);border-radius:999px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
[data-template="cascade"] .btn--ghost:hover{border-color:rgba(var(--brand-rgb),.55);color:#fff}
[data-template="cascade"] .btn--ghost .btn__arrow{background:var(--ink);color:var(--cs-deep)}
[data-template="cascade"] .cta-strip{position:relative;background:linear-gradient(125deg,var(--brand-deep) 0%,var(--brand) 100%);border:1px solid rgba(var(--brand-rgb),.4);border-radius:28px;color:#fff;overflow:hidden}
[data-template="cascade"] .cta-strip::before{content:"";position:absolute;inset:0;background-image:radial-gradient(60% 120% at 85% 0%,rgba(255,255,255,.18),transparent 60%);pointer-events:none}
[data-template="cascade"] .cta-strip h2{color:#fff}
[data-template="cascade"] .cta-strip p{color:rgba(255,255,255,.9)}
[data-template="cascade"] .cta-strip .btn--primary{background:#fff;color:var(--brand-deep);border-color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.25)}
[data-template="cascade"] .cta-strip .btn--ghost{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.5)}
[data-template="cascade"] .footer{position:relative;background:var(--cs-deep);border-top:1px solid var(--cs-edge);color:var(--ink-2)}
[data-template="cascade"] .footer::before{content:"";position:absolute;top:-1px;left:0;right:0;height:48px;transform:translateY(-100%);background-repeat:no-repeat;background-size:100% 100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 48' preserveAspectRatio='none'%3E%3Cpath d='M0 24C240 48 480 48 720 24S1200 0 1440 24V48H0Z' fill='%2306121A'/%3E%3C/svg%3E")}
[data-template="cascade"] .footer a{color:var(--muted)}
[data-template="cascade"] .footer a:hover{color:var(--ink)}
[data-template="cascade"] .footer__brand{color:var(--ink)}
[data-template="cascade"] .footer h4{color:var(--ink)}
[data-template="cascade"] .footer__bottom{color:var(--muted);border-top:1px solid var(--cs-edge)}
[data-template="cascade"] .mobile-call-bar{background:rgba(6,18,26,.94);border-top:1px solid var(--cs-edge);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
[data-template="cascade"] .mobile-call-bar a,[data-template="cascade"] .mobile-call-bar .label,[data-template="cascade"] .mobile-call-bar .phone{color:var(--ink)}
[data-template="cascade"] .mobile-call-bar .quote{background:linear-gradient(120deg,var(--brand),var(--brand-deep));color:#fff;border-radius:999px;border:1px solid rgba(var(--brand-rgb),.5)}
[data-template="cascade"] .mobile-call-bar .call{color:var(--brand)}

/* — Animation (cascade) — */
@media (prefers-reduced-motion: no-preference){
  /* Hero-bakgrundsvideo: lugn, vågliknande drift för djup/vatten-känsla */
  @keyframes cs-drift{0%{transform:scale(1.06) translate3d(0,0,0)}50%{transform:scale(1.1) translate3d(-1.2%,-0.8%,0)}100%{transform:scale(1.06) translate3d(0,0,0)}}
  [data-template="cascade"] .cs-hero__media video,[data-template="cascade"] .cs-hero__media img{animation:cs-drift 30s ease-in-out infinite}
  /* Hero-innehåll stiger mjukt upp, lager för lager (kaskad) */
  @keyframes cs-rise{0%{opacity:0;transform:translateY(26px)}100%{opacity:1;transform:translateY(0)}}
  [data-template="cascade"] .cs-hero__eyebrow{animation:cs-rise .8s cubic-bezier(.2,.7,.3,1) .05s both}
  [data-template="cascade"] .cs-hero__title{animation:cs-rise .9s cubic-bezier(.2,.7,.3,1) .2s both}
  [data-template="cascade"] .cs-hero__sub{animation:cs-rise .9s cubic-bezier(.2,.7,.3,1) .36s both}
  [data-template="cascade"] .cs-hero__actions{animation:cs-rise .9s cubic-bezier(.2,.7,.3,1) .52s both}
  /* Vågavdelaren mellan sektioner böljar långsamt i sidled */
  @keyframes cs-wave-shift{0%{background-position-x:0}100%{background-position-x:1440px}}
  [data-template="cascade"] .cs-divider__wave{animation:cs-wave-shift 22s linear infinite}
  /* Scroll-hint pulserar nedåt som en droppe */
  @keyframes cs-dip{0%,100%{opacity:.45;transform:translateY(0)}50%{opacity:1;transform:translateY(7px)}}
  [data-template="cascade"] .cs-hero__scroll{animation:cs-dip 2.4s ease-in-out infinite}
  /* Mjuka hover-/scroll-övergångar (transform+opacity för prestanda) */
  [data-template="cascade"] .card,[data-template="cascade"] .area-service-card,[data-template="cascade"] .article-card,[data-template="cascade"] .btn--primary,[data-template="cascade"] .process__step{transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s ease,border-color .25s ease}
  [data-template="cascade"] .cs-header{transition:background .4s ease,backdrop-filter .4s ease,border-color .4s ease}
}
@media (prefers-reduced-motion: reduce){
  [data-template="cascade"] .cs-hero__media video,[data-template="cascade"] .cs-hero__media img,[data-template="cascade"] .cs-divider__wave,[data-template="cascade"] .cs-hero__scroll{animation:none}
}


/* ═══ Cascade — CHROME ═══ */
/* ============================================================================
   CASCADE — bespoke chrome (klassprefix .cs-). Mörk vatten/djup-palett, serif-
   rubriker, glasiga rundade lager (22-28px) och flytande vågformade SVG-avdelare
   mellan varje sektion. Ljus text på alla mörka ytor (kontrast). De övriga
   [data-template="cascade"]-reglerna (innerCss + animationCss) levereras separat.
   ============================================================================ */

/* Global: smooth scroll på cascade-rooten */
[data-template="cascade"] .cs-root-wrapper,
html[data-template="cascade"] { scroll-behavior: smooth; }
[data-template="cascade"] .cs-home { overflow-x: clip; }

/* ---------- HEADER ---------- */
[data-template="cascade"] .cs-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  background: transparent; border-bottom: 1px solid transparent;
}
[data-template="cascade"] .cs-header.is-scrolled {
  background: rgba(6, 18, 26, .78);
  -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(var(--brand-rgb), .28);
}
[data-template="cascade"] .cs-header__inner {
  max-width: 1280px; margin: 0 auto; padding: 20px 40px;
  display: flex; align-items: center; gap: 32px;
}
[data-template="cascade"] .cs-logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
[data-template="cascade"] .cs-logo__name {
  font-family: var(--ff-heading); font-weight: 600; font-size: 23px;
  letter-spacing: -.01em; color: var(--ink);
}
[data-template="cascade"] .cs-nav { display: flex; align-items: center; gap: 28px; margin-left: auto; }
[data-template="cascade"] .cs-nav__link {
  position: relative; font-size: 13px; font-weight: 500; letter-spacing: .01em;
  color: var(--ink-2); text-decoration: none; padding: 6px 0; transition: color .25s ease;
}
[data-template="cascade"] .cs-nav__link::after {
  content: ""; position: absolute; left: 50%; bottom: -2px;
  width: 6px; height: 6px; border-radius: 999px; background: var(--brand);
  transform: translate(-50%, 4px) scale(0); opacity: 0; transition: transform .3s cubic-bezier(.2,.7,.3,1), opacity .3s ease;
}
[data-template="cascade"] .cs-nav__link:hover { color: #fff; }
[data-template="cascade"] .cs-nav__link:hover::after { transform: translate(-50%, 0) scale(1); opacity: 1; }
[data-template="cascade"] .cs-header__right { display: flex; align-items: center; gap: 18px; }
[data-template="cascade"] .cs-header__phone {
  display: inline-flex; align-items: center; gap: 7px; text-decoration: none;
  font-family: var(--ff-heading); font-weight: 500; font-size: 15px; color: var(--ink);
}
[data-template="cascade"] .cs-header__phone svg { color: var(--brand); }
[data-template="cascade"] .cs-header__phone:hover { color: var(--brand); }
[data-template="cascade"] .cs-header__cta {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 11px 22px; border-radius: 999px; font-weight: 600; font-size: 14px;
  text-decoration: none; color: #fff;
  background: linear-gradient(120deg, var(--brand) 0%, var(--brand-deep) 100%);
  border: 1px solid rgba(var(--brand-rgb), .6);
  box-shadow: 0 10px 26px rgba(var(--brand-rgb), .32);
  transition: transform .25s ease, box-shadow .25s ease;
}
[data-template="cascade"] .cs-header__cta:hover { transform: translateY(-1px); box-shadow: 0 16px 34px rgba(var(--brand-rgb), .42); }

/* Burger (rundad pill) — dold på desktop */
[data-template="cascade"] .cs-burger {
  display: none; width: 44px; height: 44px; border-radius: 999px; cursor: pointer;
  background: rgba(255,255,255,.06); border: 1px solid var(--cs-edge);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  flex-direction: column; align-items: center; justify-content: center; gap: 4px;
}
[data-template="cascade"] .cs-burger__bar { display: block; width: 18px; height: 2px; border-radius: 2px; background: var(--ink); }

/* Drawer (glasig panel) */
[data-template="cascade"] .cs-drawer {
  border-top: 1px solid var(--cs-edge);
  background: rgba(6, 18, 26, .94);
  -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
  padding: 18px 24px 26px;
}
[data-template="cascade"] .cs-drawer__nav { display: flex; flex-direction: column; gap: 8px; }
[data-template="cascade"] .cs-drawer__link {
  display: block; padding: 13px 18px; border-radius: 999px; text-decoration: none;
  font-weight: 600; font-size: 16px; color: var(--ink);
  background: var(--cs-glass); border: 1px solid var(--cs-edge);
}
[data-template="cascade"] .cs-drawer__link:hover { border-color: rgba(var(--brand-rgb), .5); color: #fff; }
[data-template="cascade"] .cs-drawer__foot { display: flex; flex-direction: column; gap: 12px; margin-top: 18px; }
[data-template="cascade"] .cs-drawer__phone {
  display: inline-flex; align-items: center; gap: 8px; text-decoration: none;
  font-family: var(--ff-heading); font-size: 18px; color: var(--brand);
}
[data-template="cascade"] .cs-drawer__cta { width: 100%; padding: 14px; }

/* ---------- HERO ---------- */
[data-template="cascade"] .cs-hero {
  position: relative; min-height: 100vh; max-height: 880px;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden; background: var(--cs-deep);
}
[data-template="cascade"] .cs-hero--bare { min-height: 86vh; }
[data-template="cascade"] .cs-hero__media { position: absolute; inset: 0; z-index: 0; }
[data-template="cascade"] .cs-hero__video,
[data-template="cascade"] .cs-hero__photo {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
[data-template="cascade"] .cs-hero__placeholder {
  position: absolute; inset: 0;
  background:
    radial-gradient(90% 120% at 70% 0%, rgba(var(--brand-rgb), .30) 0%, transparent 55%),
    linear-gradient(180deg, var(--cs-wave) 0%, var(--cs-deep) 100%);
}
[data-template="cascade"] .cs-hero__scrim {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    radial-gradient(120% 90% at 50% 30%, transparent 0%, rgba(6,18,26,.35) 70%),
    linear-gradient(180deg, rgba(6,18,26,.25) 0%, rgba(6,18,26,.6) 55%, rgba(6,18,26,.92) 100%);
}
[data-template="cascade"] .cs-hero__inner {
  position: relative; z-index: 2; max-width: 940px; margin: 0 auto;
  padding: 130px 24px 120px; text-align: center;
  display: flex; flex-direction: column; align-items: center;
}
[data-template="cascade"] .cs-hero__eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  text-transform: uppercase; letter-spacing: .24em; font-size: 12px; font-weight: 600;
  color: var(--brand); margin-bottom: 22px;
}
[data-template="cascade"] .cs-hero__eyebrow::before {
  content: ""; width: 26px; height: 1px; background: linear-gradient(90deg, transparent, var(--brand));
}
[data-template="cascade"] .cs-hero__title {
  font-family: var(--ff-heading); font-weight: 500;
  font-size: clamp(44px, 7vw, 92px); line-height: 1.0; letter-spacing: -.025em;
  color: var(--ink); margin: 0;
}
[data-template="cascade"] .cs-hero__title em { font-style: italic; color: var(--brand); }
[data-template="cascade"] .cs-hero__title strong { font-weight: 700; color: #fff; }
[data-template="cascade"] .cs-hero__sub {
  max-width: 600px; margin: 24px auto 0; font-size: 19px; line-height: 1.65; color: var(--ink-2);
}
[data-template="cascade"] .cs-hero__actions {
  display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-top: 34px;
}
[data-template="cascade"] .cs-hero__rating {
  display: inline-flex; align-items: center; gap: 10px; margin-top: 24px;
  color: var(--ink-2); font-size: 14px;
}
[data-template="cascade"] .cs-hero__rating .hero__stars { color: var(--star); display: inline-flex; }
[data-template="cascade"] .cs-hero__logos {
  display: flex; flex-wrap: wrap; gap: 26px; justify-content: center; align-items: center;
  margin-top: 28px; opacity: .85;
}
[data-template="cascade"] .cs-hero__facts {
  display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin: 34px 0 0;
}
[data-template="cascade"] .cs-hero__fact {
  background: var(--cs-glass); border: 1px solid var(--cs-edge); border-radius: 16px;
  padding: 14px 22px; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); text-align: center;
}
[data-template="cascade"] .cs-hero__fact-val {
  font-family: var(--ff-heading); font-weight: 500; font-size: 26px; color: var(--ink); line-height: 1;
}
[data-template="cascade"] .cs-hero__fact-key {
  margin: 6px 0 0; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted);
}
[data-template="cascade"] .cs-hero__postal { width: 100%; max-width: 520px; margin: 38px auto 0; }
[data-template="cascade"] .cs-hero__scroll {
  display: inline-flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; margin-top: 40px; border-radius: 999px;
  color: var(--brand); border: 1px solid var(--cs-edge); background: var(--cs-glass);
}

/* ---------- VÅGFORMAD AVDELARE (signatur) ---------- */
[data-template="cascade"] .cs-divider {
  position: absolute; left: 0; right: 0; bottom: -1px; z-index: 3;
  width: 100%; height: clamp(56px, 7vw, 120px); line-height: 0; pointer-events: none;
}
[data-template="cascade"] .cs-divider svg { display: block; width: 100%; height: 100%; }
[data-template="cascade"] .cs-divider__wave--back { transform: translateX(-2%); }

/* ---------- SEKTIONS-LAYOUT (cascade-specifik container/padding) ---------- */
[data-template="cascade"] .section { padding: clamp(76px, 9vw, 128px) 0; }
[data-template="cascade"] .container { max-width: 1180px; margin: 0 auto; padding: 0 40px; }

/* ---------- TRUST-BAND ---------- */
[data-template="cascade"] .cs-trust { padding: clamp(48px, 6vw, 76px) 0; }
[data-template="cascade"] .cs-trust .trusted { border: 0; background: transparent; }

/* ---------- GRID (tjänster / USP) ---------- */
[data-template="cascade"] .cs-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px;
}
[data-template="cascade"] .cs-card { display: flex; flex-direction: column; }
[data-template="cascade"] .cs-card__media {
  position: relative; aspect-ratio: 4 / 3; background: var(--cs-wave);
  display: flex; align-items: center; justify-content: center;
}
[data-template="cascade"] .cs-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
[data-template="cascade"] .cs-card__icon {
  width: 60px; height: 60px; display: inline-flex; align-items: center; justify-content: center;
}
[data-template="cascade"] .cs-card__body { padding: 24px 24px 26px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
[data-template="cascade"] .cs-card__body h3 { font-family: var(--ff-heading); font-weight: 500; font-size: 22px; margin: 0; }
[data-template="cascade"] .cs-card__body p { margin: 0; font-size: 15px; line-height: 1.6; }
[data-template="cascade"] .cs-card__foot {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  margin-top: auto; padding-top: 12px;
}
[data-template="cascade"] .cs-card__price { font-family: var(--ff-heading); font-weight: 500; font-size: 16px; }
[data-template="cascade"] .cs-card__link {
  display: inline-flex; align-items: center; gap: 7px; text-decoration: none;
  font-weight: 600; font-size: 14px;
}
[data-template="cascade"] .cs-card__link:hover { gap: 11px; transition: gap .25s ease; }
[data-template="cascade"] .cs-usp__card { padding: 28px 24px; gap: 12px; }
[data-template="cascade"] .cs-usp__card h3 { font-family: var(--ff-heading); font-weight: 500; font-size: 20px; margin: 4px 0 0; color: var(--ink); }

/* ---------- STAT/USP-BAND (gradient, vit text) ---------- */
[data-template="cascade"] .cs-band {
  position: relative;
  background: linear-gradient(125deg, var(--brand-deep) 0%, var(--brand) 100%);
  padding: clamp(54px, 7vw, 88px) 0; overflow: hidden;
}
[data-template="cascade"] .cs-band::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: radial-gradient(60% 120% at 85% 0%, rgba(255,255,255,.16), transparent 60%);
}
[data-template="cascade"] .cs-band__inner {
  position: relative; max-width: 1180px; margin: 0 auto; padding: 0 40px;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 28px; text-align: center;
}
[data-template="cascade"] .cs-stat__num {
  font-family: var(--ff-heading); font-weight: 500; font-size: clamp(36px, 5vw, 56px);
  line-height: 1; color: #fff; letter-spacing: -.02em;
}
[data-template="cascade"] .cs-stat__lab {
  margin-top: 10px; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.85);
}

/* ---------- OM OSS ---------- */
[data-template="cascade"] .cs-about__inner { max-width: 760px; margin: 0 auto; text-align: center; }
[data-template="cascade"] .cs-about__inner h2 {
  font-family: var(--ff-heading); font-weight: 500; font-size: clamp(30px, 4vw, 46px);
  letter-spacing: -.02em; color: var(--ink); margin: 16px 0 0;
}
[data-template="cascade"] .cs-about__inner p { margin: 18px 0 0; font-size: 18px; line-height: 1.7; color: var(--ink-2); }

/* ---------- PROCESS ---------- */
[data-template="cascade"] .cs-steps {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px;
}
[data-template="cascade"] .cs-step { padding: 30px 24px; text-align: center; }
[data-template="cascade"] .cs-step__num {
  width: 54px; height: 54px; margin: 0 auto 16px;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--ff-heading); font-weight: 500; font-size: 22px;
  /* droppformad bubbla: rundad utom ett hörn */
  border-radius: 50% 50% 50% 4px;
}
[data-template="cascade"] .cs-step h3 { font-family: var(--ff-heading); font-weight: 500; font-size: 19px; margin: 0 0 8px; color: var(--ink); }
[data-template="cascade"] .cs-step p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--ink-2); }

/* ---------- FOOTER ---------- */
[data-template="cascade"] .cs-footer {
  position: relative; background: var(--cs-deep); color: var(--ink-2);
  border-top: 1px solid var(--cs-edge); margin-top: clamp(40px, 6vw, 96px);
}
[data-template="cascade"] .cs-footer::before {
  content: ""; position: absolute; top: -1px; left: 0; right: 0;
  height: clamp(40px, 5vw, 64px); transform: translateY(-100%);
  background-repeat: no-repeat; background-size: 100% 100%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 64' preserveAspectRatio='none'%3E%3Cpath d='M0 32C240 64 480 64 720 32S1200 0 1440 32V64H0Z' fill='%2306121A'/%3E%3C/svg%3E");
  pointer-events: none;
}
[data-template="cascade"] .cs-footer__inner { max-width: 1280px; margin: 0 auto; padding: 76px 40px 36px; }
[data-template="cascade"] .cs-footer__cols {
  display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px;
}
[data-template="cascade"] .cs-footer__brand {
  font-family: var(--ff-heading); font-weight: 600; font-size: 26px; color: var(--ink); letter-spacing: -.01em;
}
[data-template="cascade"] .cs-footer__tagline { margin: 14px 0 0; max-width: 320px; font-size: 15px; line-height: 1.65; color: var(--ink-2); }
[data-template="cascade"] .cs-footer__contact { margin-top: 22px; display: flex; flex-direction: column; gap: 12px; }
[data-template="cascade"] .cs-footer__addr,
[data-template="cascade"] .cs-footer__contact-link {
  display: flex; align-items: flex-start; gap: 11px; margin: 0;
  font-size: 14px; line-height: 1.55; color: var(--ink-2); text-decoration: none;
}
[data-template="cascade"] .cs-footer__contact-link:hover { color: var(--ink); }
[data-template="cascade"] .cs-footer__contact-ico { color: var(--brand); display: inline-flex; flex: none; margin-top: 1px; }
[data-template="cascade"] .cs-footer__col h4 {
  font-family: var(--ff-heading); font-weight: 500; font-size: 16px; color: var(--ink); margin: 0 0 14px;
}
[data-template="cascade"] .cs-footer__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
[data-template="cascade"] .cs-footer__list a { font-size: 14px; color: var(--muted); text-decoration: none; }
[data-template="cascade"] .cs-footer__list a:hover { color: var(--ink); }
[data-template="cascade"] .cs-footer__bottom {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px;
  margin-top: 44px; padding-top: 22px; border-top: 1px solid rgba(var(--brand-rgb), .18);
  font-size: 13px; color: var(--muted);
}
[data-template="cascade"] .cs-footer__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
[data-template="cascade"] .cs-footer__bottom-link { color: var(--muted); text-decoration: none; }
[data-template="cascade"] .cs-footer__bottom-link:hover { color: var(--ink); }

/* ---------- RESPONSIVT ---------- */
@media (max-width: 980px) {
  [data-template="cascade"] .cs-nav { display: none; }
  [data-template="cascade"] .cs-header__phone { display: none; }
  [data-template="cascade"] .cs-burger { display: inline-flex; }
  [data-template="cascade"] .cs-header__cta { padding: 9px 16px; font-size: 13px; }
  [data-template="cascade"] .cs-grid { grid-template-columns: repeat(2, 1fr); }
  [data-template="cascade"] .cs-steps { grid-template-columns: repeat(2, 1fr); }
  [data-template="cascade"] .cs-footer__cols { grid-template-columns: 1fr 1fr; gap: 32px; }
  [data-template="cascade"] .cs-footer__brand-col { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  [data-template="cascade"] .cs-header__inner { padding: 16px 20px; }
  [data-template="cascade"] .cs-hero__inner { padding: 110px 20px 96px; }
  [data-template="cascade"] .container { padding: 0 20px; }
  [data-template="cascade"] .cs-grid { grid-template-columns: 1fr; }
  [data-template="cascade"] .cs-steps { grid-template-columns: 1fr; }
  [data-template="cascade"] .cs-footer__cols { grid-template-columns: 1fr; }
  [data-template="cascade"] .cs-footer__inner { padding: 64px 20px 32px; }
}

/* ---------- Hover-effekter på service-länkens pil ---------- */
[data-template="cascade"] .cs-card__link span { transition: transform .25s ease; }
[data-template="cascade"] .cs-card:hover .cs-card__link span { transform: translateX(3px); }


/* ═══ QA-FIXAR (cascade) ═══ */
/* [hög] Läsbar brand-ton för eyebrow/ikoner */
/* Lyft brand-tonen for sma text/ikoner sa de halls lasbara aven om kunden valjer en mork --brand. Tonas mot ink sa kontrasten aldrig faller under bakgrunden. */
html[data-template="cascade"]{--cs-brand-readable:color-mix(in srgb,var(--brand) 70%,var(--ink) 30%)}
[data-template="cascade"] .eyebrow,
[data-template="cascade"] .section-head .eyebrow,
[data-template="cascade"] .cs-hero__eyebrow,
[data-template="cascade"] .subhero__answer-label,
[data-template="cascade"] .card__link,
[data-template="cascade"] .faq__icon{color:var(--cs-brand-readable)}
[data-template="cascade"] .card__icon{color:var(--cs-brand-readable)}
/* [hög] Auto-kontrastfärg på brand-knappar/badges */
/* Valj automatiskt mork text nar brand ar ljus, vit nar brand ar mork — knapp/badge-texten forblir lasbar oavsett kundens --brand. */
html[data-template="cascade"]{--cs-on-brand:#fff}
@supports (color:contrast-color(#000)){html[data-template="cascade"]{--cs-on-brand:contrast-color(var(--brand))}}
[data-template="cascade"] .cs-header__cta,
[data-template="cascade"] .btn--primary,
[data-template="cascade"] .mobile-call-bar .quote,
[data-template="cascade"] .article-badge,
[data-template="cascade"] .process__check,
[data-template="cascade"] .review-card__avatar{color:var(--cs-on-brand)}
/* [medel] CTA-strip rubrik/text */
[data-template="cascade"] .cta-strip h2{color:var(--cs-on-brand,#fff)}
[data-template="cascade"] .cta-strip p{color:color-mix(in srgb,var(--cs-on-brand,#fff) 88%,transparent)}
/* [låg] [data-template="cascade"] .subhero__crumbs span */
[data-template="cascade"] .subhero__crumbs span{color:var(--muted)}
