:root{
  --gold:#f7a90e;
  --ink:#303030;
  --soft:#f4f1eb;
  --line:#e5e7e9;
  --body:'Source Sans 3',sans-serif;
  --heading:'Outfit',sans-serif}

*{
  box-sizing:border-box}
html{
  scroll-behavior:smooth;
  scroll-padding-top:110px}
body.astacus-site,body{
  margin:0;
  color:var(--ink);
  font:400 19px/1.55 var(--body);
  background:#fff}
img,video{
  max-width:100%}
button,input,textarea,select{
  font:inherit}
a{
  color:inherit}
a:hover{
  color:inherit}
button,a{
  touch-action:manipulation}
h1,h2,h3,h4,h5,h6{
  font-family:var(--heading);
  font-weight:600;
  line-height:1.14;
  letter-spacing:-.025em}
h1{
  font-size:clamp(2.5rem,4.2vw,4.1rem)}
h2{
  font-size:clamp(2rem,3.1vw,3.15rem)}
h3{
  font-size:1.65rem}
h4{
  font-size:1.2rem}
p{
  margin:0 0 1.25em}
a:focus-visible,button:focus-visible,summary:focus-visible{
  outline:3px solid var(--gold);
  outline-offset:5px}
.wrap{
  width:min(1320px,calc(100% - 80px));
  margin-inline:auto}
.section-space{
  padding-block:95px}
.soft{
  background:var(--soft)}
.eyebrow{
  text-transform:uppercase;
  font-weight:600;
  letter-spacing:.15em;
  font-size:.8rem;
  margin:0 0 18px}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:32px;
  border:0;
  border-radius:100px;
  background:var(--gold);
  color:#202020;
  padding:15px 25px;
  text-decoration:none;
  font-weight:600;
  line-height:1.4}
.button:hover{
  background:#fbc90f;
  color:#202020}
.text-link{
  display:inline-flex;
  gap:16px;
  color:#513500;
  text-decoration:none;
  border-bottom:2px solid var(--gold);
  padding-bottom:3px;
  font-weight:600}
.text-link:hover{
  color:#111}
.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important}
.skip-link{
  position:fixed;
  top:-100px;
  left:12px;
  z-index:100;
  background:#fff;
  padding:12px}
.skip-link:focus{
  top:12px}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:white;
  color:var(--ink);
  border:0;
  transition:background-color .35s ease,color .25s ease,box-shadow .35s ease,backdrop-filter .35s ease}
.nav-wrap{
  max-width:1500px;
  min-height:98px;
  margin:auto;
  padding:18px 35px;
  display:flex;
  gap:40px;
  align-items:center;
  justify-content:space-between}
.brand{
  flex-shrink:0;
  display:grid;
  width:210px}
.brand img{
  grid-area:1/1;
  display:block;
  width:100%;
  height:auto}
.brand .brand-light{
  visibility:hidden}
.brand .brand-dark{
  visibility:visible}
.main-nav>ul{
  list-style:none;
  display:flex;
  align-items:center;
  gap:24px;
  padding:0;
  margin:0}
.main-nav li{
  list-style:none}
.main-nav a{
  text-decoration:none}
.main-nav>ul>li>a,.main-nav summary{
  font-size:16px;
  font-weight:600;
  white-space:nowrap}
.main-nav summary{
  cursor:pointer;
  list-style:none;
  padding:12px 0;
  display:flex;
  align-items:center;
  gap:13px}
.main-nav summary::-webkit-details-marker{
  display:none}
.main-nav summary::after{
  content:'';
  display:block;
  flex:0 0 11px;
  width:11px;
  height:11px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:translateY(-3px) rotate(45deg);
  transition:transform .25s ease}
.main-nav details[open]>summary::after{
  transform:translateY(3px) rotate(225deg)}
.main-nav .nav-contact{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 19px;
  border-radius:100px;
  background:var(--gold);
  color:#202020}
.mega-panel,.small-panel{
  position:absolute;
  top:100%;
  max-height:calc(100dvh - 110px);
  overflow:auto;
  background:#fff;
  color:var(--ink);
  box-shadow:0 12px 25px #0002;
  border:1px solid var(--line);
  border-radius:0 0 16px 16px;
  padding:28px}
.mega-panel{
  left:35px;
  right:35px;
  max-width:1350px;
  margin:auto}
.menu-overview{
  display:block;
  font-size:14px;
  border-bottom:1px solid var(--line);
  padding-bottom:16px;
  margin-bottom:22px}
.mega-columns{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px}
.menu-area{
  font:600 21px var(--heading);
  display:block;
  margin-bottom:12px}
.mega-columns ul{
  padding:0;
  margin:0}
.mega-columns li a{
  display:block;
  padding:7px 0;
  font-size:16px;
  line-height:1.3}
.mega-columns a:hover,.small-panel a:hover{
  text-decoration:underline;
  text-decoration-color:var(--gold);
  text-underline-offset:5px}
.main-nav>ul>li:not(.has-mega){position:relative}
.small-panel{
  top:calc(100% + 20px);
  min-width:245px;
  max-width:min(330px,calc(100vw - 48px));
  right:0;
  padding:18px 24px}
.small-panel a{
  display:block;
  padding:8px 0;
  font-size:16px;
  line-height:1.3}
.mobile-toggle{
  display:none}
.has-hero .site-header{
  position:fixed;
  left:0;
  right:0;
  background:transparent;
  color:#fff}
.has-hero .site-header::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,#0005,transparent);
  opacity:1;
  pointer-events:none;
  transition:opacity .35s ease}
.has-hero .brand-light{
  visibility:visible}
.has-hero .brand-dark{
  visibility:hidden}
.has-hero .site-header:is(.scrolled,.menu-open,:has(details[open])){
  background:rgba(255,255,255,.9);
  color:var(--ink);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 6px 24px #0000000a}
.has-hero .site-header:is(.scrolled,.menu-open,:has(details[open]))::before{
  opacity:0}
.has-hero .site-header:is(.scrolled,.menu-open,:has(details[open])) .brand-light{
  visibility:hidden}
.has-hero .site-header:is(.scrolled,.menu-open,:has(details[open])) .brand-dark{
  visibility:visible}

.home-hero,.page-hero{
  position:relative;
  isolation:isolate;
  min-height:850px;
  display:flex;
  align-items:center;
  padding:180px 0 100px;
  color:#fff;
  background:#303030;
  overflow:hidden}
.hero-film,.hero-poster,.hero-shade{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0}
.hero-film{
  z-index:1}
.hero-shade{
  z-index:2;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.22)),linear-gradient(0deg,#0004,transparent 65%)}
.hero-content{
  position:relative;
  z-index:3}
.hero-content h1{
  max-width:1080px;
  font-size:clamp(2.35rem,3.6vw,3.5rem);
  font-weight:600;
  line-height:1.14;
  letter-spacing:-.025em;
  margin:0 0 28px}
.hero-content p{
  max-width:830px;
  font-size:1.15rem;
  line-height:1.6;
  margin-bottom:32px}
.section-intro{
  max-width:650px;
  margin-bottom:46px}
.section-intro h2{
  margin-bottom:25px}
.card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:32px}
.content-card{
  min-width:0;
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  flex-direction:column}
.card-image{
  display:block;
  overflow:hidden}
.card-image:empty{
  display:none}
.card-image img{
  display:block;
  width:100%;
  aspect-ratio:1.64;
  height:auto;
  object-fit:cover;
  border-radius:20px;
  transition:transform .25s}
.content-card:hover .card-image img{
  transform:scale(1.025)}
.card-copy{
  padding:26px 0 20px;
  flex:1;
  display:flex;
  flex-direction:column}
.soft .card-copy{
  padding:26px}
.card-copy h3{
  font-size:1.65rem;
  margin:0 0 15px;
  overflow-wrap:anywhere}
.card-copy h3 a{
  text-decoration:none}
.card-copy p{
  font-size:1.05rem;
  line-height:1.55}
.card-copy .text-link{
  align-self:flex-start;
  margin-top:auto}
.area-cards .content-card{
  border-radius:0}
.customer-band{
  background:#303030;
  color:white;
  padding:55px 0 60px}
.customer-band .eyebrow{
  text-align:center;
  margin-bottom:35px}
.customer-logos{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:35px 55px;
  align-items:center}
.customer-logos img{
  width:100%;
  max-height:62px;
  object-fit:contain}
.section-top{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:35px;
  margin-bottom:40px}
.section-top h2{
  max-width:750px;
  margin:0}
.section-top .text-link{
  flex-shrink:0}

.breadcrumbs{
  padding-top:32px;
  color:#676767;
  font-size:14px}
.breadcrumbs ol{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  list-style:none;
  padding:0;
  margin:0}
.breadcrumbs li:not(:last-child)::after{
  content:' /';
  margin-left:8px;
  color:#a1a1a1}
.breadcrumbs a{
  text-decoration:none}
.page-hero{
  min-height:660px;
  min-height:min(760px,86svh);
  padding:124px 0 88px;
  flex-direction:column;
  justify-content:flex-end}
.page-hero .hero-content{
  margin-top:auto}
.area-hero{
  min-height:720px;
  min-height:min(820px,92svh)}
.page-hero .hero-content h1{
  max-width:1020px;
  font-size:clamp(2.5rem,4.9vw,4.8rem);
  line-height:1.07;
  text-wrap:balance;
  overflow-wrap:anywhere;
  margin-bottom:25px}
.page-hero .hero-content .hero-lead{
  max-width:760px;
  font-size:1.2rem;
  line-height:1.55;
  margin-bottom:30px}
.hero-subject,.hero-content .hero-eyebrow{
  display:block;
  color:#ffd77e;
  font:600 .85rem/1.5 var(--body);
  letter-spacing:.1em;
  text-transform:uppercase;
  margin:0 0 20px}
.hero-breadcrumbs{
  position:relative;
  z-index:3;
  margin-bottom:54px}
.hero-breadcrumbs .breadcrumbs{
  color:#fff;
  padding:0;
  font-size:14px}
.hero-breadcrumbs .breadcrumbs li:not(:last-child)::after{
  color:#ddd}
.breadcrumbs a:hover{
  text-decoration:underline;
  text-underline-offset:3px}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:20px 30px}
.hero-actions:empty{
  display:none}
.hero-link{
  display:inline-flex;
  align-items:center;
  gap:15px;
  color:#fff;
  font-weight:600;
  text-underline-offset:6px;
  text-decoration-color:#ffffff80}
.hero-link:hover{
  color:#ffd77e}
.page-content{
  background:var(--soft);
  scroll-margin-top:98px}
.showcase{
  background:#292d2e;
  color:#fff}
.showcase .eyebrow{
  color:#ffd77e}
.showcase .content-card{
  color:var(--ink);
  background:#faf8f4}
.showcase .card-copy{
  padding:26px 28px 30px}
.showcase .card-image img{
  border-radius:0}
.showcase .section-top h2{
  max-width:850px}
.listing-intro{
  margin-bottom:35px;
  max-width:900px}
.article-layout{
  padding-top:65px}
.prose{
  font-size:19px;
  line-height:1.65}
.prose>p{
  max-width:850px}
.legacy-content .container{
  width:100%;
  max-width:none;
  padding-inline:0!important}
.legacy-content section{
  padding-block:0}
.legacy-content .kundcase-article{
  width:100%}
.legacy-content h2{
  font-size:2.1rem;
  margin-top:1em}
.legacy-content h3{
  font-size:1.6rem;
  margin-top:1em}
.legacy-content h6{
  font-size:1rem;
  letter-spacing:0;
  line-height:1.5}
.legacy-content img{
  max-width:100%;
  height:auto;
  border-radius:18px}
.legacy-content p a:not(.btn){
  text-decoration:underline;
  text-decoration-color:var(--gold);
  text-underline-offset:3px}
.legacy-content .card{
  border:0}
.legacy-content .card-img-top{
  aspect-ratio:1/1;
  object-fit:cover}
.legacy-content .call-widget{
  display:none!important}
.legacy-content .example-list,.legacy-content .challenges-list{
  padding-left:24px;
  list-style:disc}
.legacy-content .example-list li::before,.legacy-content .challenges-list li::before{
  display:none}
.legacy-content .row{
  --bs-gutter-x:2rem}
.legacy-content .col-xl-8:only-child{
  width:100%}
.legacy-content .medarbetare-card{
  font-size:16px;
  overflow-wrap:anywhere}
.legacy-content .medarbetare-card .card-body{
  padding:24px}
.legacy-content .medarbetare-card h3{
  font-size:1.5rem}
.legacy-content video,.content-film{
  width:100%;
  border-radius:20px;
  background:#222}
.legacy-content .my-4{
  margin-block:0!important}
.legacy-content .py-4{
  padding-block:12px!important}
.steps-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  margin-top:40px}
.steps-principle{
  max-width:900px}
.step-card{
  background:white;
  border-top:4px solid var(--gold);
  border-radius:0 0 16px 16px;
  padding:32px;
  font-size:17px}
.step-number{
  font:600 3rem var(--heading);
  color:#996400;
  display:block;
  margin-bottom:20px}
.step-card h3{
  font-size:1.55rem}
.step-card h4{
  margin-top:25px}
.step-question{
  font-weight:600}
.step-note{
  font-size:15px;
  border-top:1px solid var(--line);
  padding-top:16px}
.line-breaks{
  white-space:pre-line}
.contact-band{
  background:#f3b329;
  padding:70px 0}
.contact-band>.wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:45px}
.contact-band h2{
  margin:0}
.contact-band .button{
  background:#303030;
  color:white}
.site-footer{
  background:#303030;
  color:#fff;
  padding:75px 0 0;
  font-size:17px}
.footer-grid{
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr 1fr;
  gap:55px}
.footer-logo{
  max-width:220px;
  height:auto;
  margin-bottom:25px}
.footer-certifications{margin-top:28px}.footer-certifications>p{margin:0 0 10px;font-size:14px;color:#ddd}.footer-certifications>div{display:flex;align-items:center;gap:12px}.footer-certifications img{display:block;width:60px;height:60px;object-fit:contain;border-radius:4px;background:#fff;padding:2px}
.footer-grid h2{
  font:600 1.18rem var(--heading);
  margin-bottom:25px;
  letter-spacing:0}
.footer-grid ul{
  list-style:none;
  margin:0;
  padding:0}
.footer-grid li{
  margin-bottom:10px}
.footer-grid a{
  text-decoration:none}
.footer-grid a:hover{
  text-decoration:underline;
  text-decoration-color:var(--gold)}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  border-top:1px solid #ffffff30;
  margin-top:55px;
  padding-block:24px;
  color:#ddd;
  font-size:14px}
.error-page{
  padding-block:120px}
.preview-banner{
  background:#fff0b3;
  color:#222;
  padding:10px 20px;
  text-align:center;
  font-size:16px;
  position:relative;
  z-index:60}
.has-hero:has(.preview-banner) .site-header{
  position:sticky;
  top:0;
  background:#303030}

@media(min-width:1101px){
  .main-nav>ul>li:last-of-type .small-panel{
  right:30px}
}

@media(max-width:1300px){
  .nav-wrap{
  gap:20px;
  padding-inline:24px}
.main-nav>ul{
  gap:17px}
.main-nav>ul>li>a,.main-nav summary{
  font-size:14px}
.brand{
  width:180px}
}

@media(max-width:1100px){
  .wrap{
  width:calc(100% - 48px)}
.nav-wrap{
  min-height:82px}
.brand{
  width:190px}
.mobile-toggle{
  display:flex;
  gap:20px;
  align-items:center;
  background:none;
  border:1px solid currentColor;
  color:inherit;
  border-radius:100px;
  padding:7px 17px;
  font-size:16px}
.main-nav{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  right:0;
  background:#fff;
  color:var(--ink);
  max-height:calc(100dvh - 82px);
  overflow:auto;
  padding:15px 24px 30px}
.main-nav.is-open{
  display:block}
.main-nav>ul{
  display:block}
.main-nav>ul>li>a,.main-nav summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:18px;
  padding:12px 0}
.main-nav>ul>li{
  border-bottom:1px solid var(--line)}
.main-nav>ul>li:last-child{
  padding-top:15px;
  border:0}
.main-nav .nav-contact{
  display:flex;
  justify-content:center;
  padding:14px 20px;
  text-align:center}
.mega-panel,.small-panel{
  position:static;
  max-height:none;
  overflow:visible;
  box-shadow:none;
  border:0;
  padding:10px 8px 20px;
  max-width:none;
  min-width:0}
.mega-columns{
  grid-template-columns:1fr;
  gap:24px}
.menu-area{
  font-size:20px}
.home-hero{
  min-height:820px;
  padding-top:150px}
.hero-content{
  position:relative;
  z-index:3}
.hero-content h1{
  font-size:2.8rem;
  max-width:850px}
.hero-content p{
  max-width:750px}
.card-grid{
  gap:25px}
.card-copy h3{
  font-size:1.5rem}
.steps-grid{
  grid-template-columns:1fr}
.step-card{
  padding:28px}
.footer-grid{
  grid-template-columns:1fr 1fr;
  gap:45px}
.customer-logos{
  grid-template-columns:repeat(4,1fr);
  gap:35px}
.section-space{
  padding-block:70px}
}

@media(max-width:700px){
  .wrap{
  width:calc(100% - 40px)}
.nav-wrap{
  padding-inline:20px}
  .brand{
  width:clamp(135px,44vw,170px)}
  .nav-wrap{gap:16px}
  .mobile-toggle{gap:12px;padding-inline:15px}
.home-hero{
  min-height:780px;
  padding:135px 0 100px;
  align-items:flex-start}
.hero-content{
  position:relative;
  z-index:3}
.hero-content h1{
  font-size:clamp(1.9rem,7.2vw,2.5rem);
  line-height:1.16}
.hero-content p{
  font-size:1.05rem}
.hero-shade{
  background:linear-gradient(90deg,#0009,#0007)}
.hero-content .button{
  font-size:16px;
  gap:25px}
.card-grid{
  grid-template-columns:1fr;
  gap:38px}
.card-copy{
  padding-top:22px}
.card-copy h3{
  font-size:1.85rem}
.section-space{
  padding-block:58px}
.section-intro{
  margin-bottom:32px}
.section-top{
  display:block}
.section-top .text-link{
  margin-top:20px}
.customer-logos{
  grid-template-columns:repeat(3,1fr);
  gap:28px}
.customer-logos img{
  max-height:45px}
.page-hero,.area-hero{
  min-height:660px;
  padding:104px 0 90px}
.page-hero .hero-content h1{
  font-size:clamp(2.2rem,8.6vw,3.5rem);
  line-height:1.1}
.page-hero .hero-content .hero-lead{
  font-size:1.08rem}
.hero-breadcrumbs{
  margin-bottom:44px}
.hero-subject,.hero-content .hero-eyebrow{
  font-size:.75rem;
  letter-spacing:.07em}
.hero-actions{
  align-items:flex-start;
  flex-direction:column;
  gap:24px}
.hero-actions .button{
  max-width:100%}
.hero-link{
  font-size:17px}
.showcase .card-copy{
  padding:24px}
.breadcrumbs{
  padding-top:20px;
  font-size:14px}
.article-layout{
  padding-top:45px}
.contact-band>.wrap{
  display:block}
.contact-band .button{
  margin-top:30px}
.contact-band{
  padding-block:50px}
.footer-grid{
  grid-template-columns:1fr 1fr;
  gap:35px 25px;
  font-size:15px}
.footer-grid>div:first-child{
  grid-column:1/-1;
  max-width:320px}
.site-footer{
  padding-top:50px}
.footer-bottom{
  font-size:14px;
  gap:20px;
  flex-wrap:wrap}
.legacy-content .row{
  --bs-gutter-x:1rem}
.legacy-content h2{
  font-size:1.8rem}
.legacy-content .col-lg-7,.legacy-content .col-lg-9{
  width:100%}
}

@media(prefers-reduced-motion:reduce){
  html{
  scroll-behavior:auto}
*,*::before,*::after{
  transition:none!important;
  animation:none!important}
  .hero-film{display:none}
}

@media print{
  .site-header,.site-footer,.contact-band{
  display:none}
.home-hero,.page-hero{
  min-height:0;
  padding:30px 0;
  color:black;
  background:#fff}
.hero-subject,.hero-content .hero-eyebrow,.hero-breadcrumbs .breadcrumbs{
  color:black}
.showcase{
  background:#fff;
  color:black}
.hero-film,.hero-poster,.hero-shade{
  display:none}
.wrap{
  width:100%}
.section-space{
  padding-block:25px}
a{
  color:black}
}

@media(max-width:1100px){
  .no-js .mobile-toggle{
  display:none}
.no-js .nav-wrap{
  flex-wrap:wrap}
.no-js .main-nav{
  display:block;
  position:static;
  flex-basis:100%;
  max-height:none}
.no-js .has-hero .site-header{
  position:relative;
  background:#303030}
.no-js .home-hero,.no-js .page-hero{
  padding-top:80px}
}


/* Imported article markup keeps its Bootstrap grid without the old global CSS.
   In particular, links must never acquire position:relative !important and
   content must remain visible without the former Umbraco animation scripts. */
.legacy-content{
  min-width:0;
  overflow-wrap:anywhere}

.legacy-content :is(h2,h3,h4,h5,h6):empty{
  display:none}

.legacy-content :is(ul,ol){
  padding-left:1.4em}

.legacy-content li+li{
  margin-top:.4em}

.legacy-content .card{
  border-radius:18px;
  overflow:hidden;
  color:var(--ink);
  text-decoration:none;
  box-shadow:none}

.legacy-content .card-body{
  padding:24px}

.legacy-content .card-body>:first-child{
  margin-top:0}

.legacy-content .card-footer{
  border:0;
  background:transparent;
  padding:0 24px 24px}

.legacy-content .card-img-wrapper{
  overflow:hidden;
  border-radius:18px}

.legacy-content .card-img-top{
  display:block;
  aspect-ratio:4/3;
  object-fit:cover;
  margin:0}

.legacy-content .tjanster-card .card-img-top{
  object-fit:contain;
  padding:20px;
  background:#fff}

.legacy-content :is(.medarbetare-card,.mot-en-medarbetare-card) .card-img-top{
  aspect-ratio:1/1;
  object-position:50% 25%}

.legacy-content .medarbetare-card p{
  font-size:16px}

.legacy-content .vara-erbjudanden .card-img-top{
  width:72px;
  height:72px;
  aspect-ratio:1;
  object-fit:contain}

.legacy-content .custom-yellow{
  color:#513500;
  border-bottom:2px solid var(--gold);
  padding-bottom:4px;
  font-weight:600}

.legacy-content :is(.btn,.btn-custom-yellow){
  background:var(--gold);
  color:#202020;
  border:0;
  border-radius:100px;
  padding:14px 24px;
  font-weight:600;
  white-space:normal}

.legacy-content .btn:hover{
  background:#fbc90f}

.legacy-content .badge{
  color:var(--ink);
  background:var(--soft);
  white-space:normal;
  text-align:left;
  line-height:1.5;
  font-size:14px}

.legacy-content .wengine-logo{
  max-width:350px;
  margin:auto}

.legacy-content :is(.kundcase-article,.teknik-sida,.mot-en-medarbetare) .img-fluid{
  margin-bottom:25px}

.legacy-content .vara-erbjudanden-text-column{
  padding:24px}

.legacy-content .vara-erbjudanden-bg-row{
  padding-bottom:30px}

.legacy-content .fa-arrow-right-long::before{
  content:'→';
  font-family:var(--body);
  font-style:normal}

.page-intro.has-image>div,.footer-grid>div{
  min-width:0}

.footer-grid a{
  overflow-wrap:anywhere}

.contact-band .button{
  flex-shrink:0}

.area-cards .card-copy h3{
  font-size:clamp(1.4rem,2.1vw,1.8rem)}

@media(min-width:701px) and (max-width:1100px){
  .card-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))}
.area-cards{
  grid-template-columns:1fr}
.area-cards .content-card{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:28px}
.area-cards .card-copy{
  padding:0}
.area-cards .card-image img{
  height:100%;
  min-height:220px}
}

@media(max-width:700px){
  .legacy-content .vara-erbjudanden-text-column{
  padding:16px}
.area-cards .card-copy h3{
  font-size:clamp(1.35rem,6vw,1.85rem)}
}


/* One shared gap between a service introduction and its steps. */
.article-layout.has-steps{padding-bottom:0}
.article-layout.has-steps .prose>:last-child{margin-bottom:0}
.article-layout.has-steps + .service-steps{padding-top:clamp(36px,4vw,56px)}
.legacy-content .medarbetare-card .card-body p:last-child{margin-bottom:0}
@media(min-width:768px) and (max-width:1199px){
  .legacy-content .medarbetare-card{width:50%}
}
.contact-section{padding-bottom:0;scroll-margin-top:110px}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(28px,5vw,80px);align-items:start}
.contact-intro h2{font-size:clamp(2rem,3vw,3rem);margin-top:0}
.contact-intro p{max-width:34em}
.contact-form{background:#fff;border-radius:20px;padding:clamp(24px,3vw,40px);min-width:0}
.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.contact-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.contact-field-wide{grid-column:1/-1}
.contact-field label{font-weight:600}
.contact-field input,.contact-field textarea{width:100%;min-width:0;border:1px solid #b5b1aa;border-radius:8px;padding:12px 14px;background:#fff;color:var(--ink);font:inherit}
.contact-field textarea{min-height:160px;resize:vertical}
.contact-field input:focus-visible,.contact-field textarea:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.contact-field [aria-invalid="true"]{border:2px solid #a52418}
.contact-field-error{color:#902416;font-size:16px}
.contact-notice{padding:18px 20px;border-radius:10px;margin-bottom:24px;background:#fff0d0;border-left:4px solid #b87700}
.contact-notice-success{background:#e8f3e9;border-color:#3b7145}
.contact-notice a{text-decoration:underline}
.contact-privacy{font-size:15px;margin:22px 0;line-height:1.6}
.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.contact-form .button{border:0;cursor:pointer}
@media(max-width:767px){.contact-layout,.contact-fields{grid-template-columns:1fr}.contact-form .button{width:100%;justify-content:center}}

.area-contacts{background:#e9e3d8;scroll-margin-top:100px}
.area-contacts .section-intro{margin-bottom:30px}
.area-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.area-contact-card{display:flex;align-items:center;gap:26px;padding:30px;background:#fff;border-radius:20px;min-width:0}
.area-contact-primary{box-shadow:inset 0 4px var(--gold)}
.area-contact-card>img{width:144px;height:144px;flex:0 0 144px;object-fit:cover;object-position:50% 25%;border-radius:14px}
.area-contact-copy{min-width:0;overflow-wrap:anywhere}
.area-contact-copy h3{font-size:clamp(1.4rem,2vw,1.8rem);margin:0 0 12px}
.area-contact-role{font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px}
.area-contact-copy>a{display:block;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}
.area-contact-copy>a+a{margin-top:6px}
@media(max-width:1050px){.area-contact-grid{grid-template-columns:1fr}}
@media(max-width:575px){.area-contact-card{padding:24px 20px;gap:18px;align-items:flex-start}.area-contact-card>img{width:80px;height:100px;flex-basis:80px}.area-contact-copy>a{font-size:16px}}

.related-section{background:#eae5db}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}
.related-grid article{padding:28px;background:#fff;border-radius:18px;min-width:0}
.related-grid .eyebrow{font-size:12px;margin-bottom:12px}
.related-grid h3{font-size:24px;line-height:1.3;margin:0 0 16px}
.related-grid h3 a{color:inherit;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px}
.related-grid h3 a:hover{color:#785000}
.related-grid p:last-child{margin-bottom:0;font-size:17px;line-height:1.6}
@media(max-width:1023px){.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.related-grid{grid-template-columns:1fr}.related-grid article{padding:24px}}

.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.footer-grid>div{min-width:0}
.support-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.support-gallery figure{margin:0;min-width:0}.support-gallery img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:var(--soft);border-radius:18px}
.support-gallery figcaption{padding-top:14px;font-size:17px;line-height:1.5}
.cookie-notice{position:fixed;bottom:20px;left:20px;right:20px;max-width:850px;margin:auto;padding:24px;background:#fff;color:var(--ink);box-shadow:0 4px 32px #0004;border:1px solid #ddd;border-radius:18px;z-index:2000;max-height:80vh;overflow:auto;font-size:16px;line-height:1.5}
.cookie-notice[hidden]{display:none}.cookie-notice p{margin:0 0 18px}.cookie-notice>div{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.cookie-notice button{background:var(--gold);border:1px solid var(--ink);border-radius:30px;color:#171717;padding:12px 20px;cursor:pointer;font-weight:600}
.cookie-notice a{color:var(--ink);text-decoration:underline}.cookie-information{margin-top:40px}.cookie-information summary{cursor:pointer;padding:12px 0;font-weight:600}.cookie-information details>div{max-width:850px;line-height:1.6}.cookie-open{background:none;color:inherit;border:1px solid currentColor;border-radius:24px;padding:10px 18px;cursor:pointer;margin-block:18px}
@media(max-width:767px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}.support-gallery{grid-template-columns:1fr}.cookie-notice{bottom:10px;left:10px;right:10px;padding:20px}.cookie-notice button{flex:1 1 180px}}
@media(max-width:420px){.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{max-width:none}}


/* Offer pages always reserve three replaceable delivery visuals. */
.delivery-example{padding-top:42px;padding-bottom:24px}
.delivery-example .wrap{display:flex;justify-content:flex-start}
.article-layout.offer-intro{padding-bottom:24px}
.article-layout.offer-intro + .support-gallery{padding-top:26px;padding-bottom:54px}
.support-gallery.offer-gallery + .article-layout.offer-rest{padding-top:54px}
.support-gallery.offer-gallery + .service-steps{padding-top:54px}
.support-gallery.offer-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.support-gallery.offer-gallery img{aspect-ratio:3/2;object-fit:cover}
.support-gallery.offer-gallery figure.is-placeholder img{object-fit:cover;background:#f4f1eb}
.support-gallery.offer-gallery figcaption{font-size:15px;color:#5c5a56}
@media(max-width:640px){.support-gallery.offer-gallery{grid-template-columns:1fr}}
