:root {
  --esi-navy: #101b2d;
  --esi-blue: #2f59ff;
  --esi-ice: #edf3ff;
  --esi-ink: #101827;
  --esi-muted: #667085;
  --esi-yellow: #f8c72e;
}

body .elementor .esi-section {
  font-family: "Manrope", Arial, sans-serif;
}

body .elementor .esi-section a:focus-visible,
body .elementor .esi-section button:focus-visible,
body .elementor .esi-section .elementor-button:focus-visible,
body .elementor .esi-section input:focus-visible,
body .elementor .esi-section select:focus-visible,
body .elementor .esi-section textarea:focus-visible,
body .elementor .esi-section [tabindex]:focus-visible {
  outline: 2px solid var(--esi-blue);
  outline-offset: 2px;
}

body .elementor .esi-section h1,
body .elementor .esi-section h2,
body .elementor .esi-section h3,
body .elementor .esi-section h4 {
  font-family: "Archivo", Arial, sans-serif;
  letter-spacing: -0.035em;
}

body .elementor .esi-section p,
body .elementor .esi-section li {
  line-height: 1.75;
}

body .elementor .esi-section .elementor-button {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  border-radius: 12px;
  padding: 0 26px;
  font-weight: 800;
}

body .elementor .esi-home-1 {
  min-height: 720px;
  display: flex;
  align-items: center;
}

body .elementor .esi-home-1 > .elementor-container {
  width: min(1180px, calc(100% - 48px));
}

body .elementor .esi-home-1 h1 {
  max-width: 760px;
  font-size: clamp(58px, 5.4vw, 82px) !important;
  font-weight: 400 !important;
  line-height: 1.03 !important;
  letter-spacing: -0.055em !important;
}

body .elementor .esi-home-1 p {
  max-width: 650px;
  font-size: 18px;
  line-height: 1.65;
}

body .elementor .esi-home-1 .elementor-widget-button {
  display: inline-block;
  width: auto;
  margin: 18px 14px 0 0;
}

body .elementor .esi-home-2 {
  position: relative;
  z-index: 2;
  padding: 0 24px 95px !important;
  background: #f7f9fc;
}

body .elementor .esi-home-2 > .elementor-container {
  max-width: 1180px;
  gap: 22px;
}

body .elementor .esi-home-2 .elementor-column {
  overflow: hidden;
  box-shadow: 0 22px 55px rgba(16, 27, 45, 0.08);
}

body .elementor .esi-home-2 .elementor-button {
  min-height: 0;
  padding: 0;
  background: transparent !important;
  box-shadow: none;
}

body .elementor .esi-home-2 .elementor-column:first-child .elementor-button {
  color: var(--esi-ink) !important;
}

body .elementor .esi-home-2 .elementor-column:last-child .elementor-button {
  color: #fff !important;
}

body .elementor .esi-home-3 {
  padding: 115px 24px 135px !important;
  background: #fff;
}

body .elementor .esi-home-3 h2 {
  max-width: 500px;
  font-size: clamp(44px, 4vw, 64px) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
}

body .elementor .esi-home-4 {
  padding: 120px 24px !important;
  background: #fff;
}

body .elementor .esi-home-4 > .elementor-container {
  gap: 90px;
  align-items: center;
}

body .elementor .esi-home-4 .elementor-column:last-child > .elementor-widget-wrap {
  padding: 24px !important;
}

body .elementor .esi-home-4 h2 {
  font-size: clamp(38px, 3.5vw, 54px) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
}

body .elementor .esi-home-5 {
  padding: 90px 24px 24px !important;
  background: var(--esi-ice);
}

body .elementor .esi-home-5 h2 {
  font-size: clamp(42px, 4vw, 60px) !important;
  font-weight: 400 !important;
}

body .elementor .esi-home-6 {
  padding: 0 24px 95px !important;
  background: var(--esi-ice);
}

body .elementor .esi-home-7 {
  position: relative;
  padding: 105px 24px !important;
  background: var(--esi-navy) !important;
}

body .elementor .esi-home-7 > .elementor-container > .elementor-column > .elementor-widget-wrap {
  position: relative;
}

body .elementor .esi-home-7 .esi-rating-widget {
  position: absolute;
  top: 0;
  right: 0;
  width: auto;
}

body .elementor .esi-rating strong,
body .elementor .esi-rating span {
  display: block;
}

body .elementor .esi-rating strong {
  color: #fff;
  font-family: "Archivo", Arial, sans-serif;
  font-size: 34px;
}

body .elementor .esi-rating span {
  color: var(--esi-yellow);
  letter-spacing: 3px;
}

body .elementor .esi-home-8 {
  padding: 82px 24px !important;
  background: var(--esi-blue) !important;
}

body .elementor .esi-home-8 h2 {
  font-size: clamp(42px, 4vw, 60px) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
}

body .elementor .esi-home-4 img,
body .elementor .esi-service-1 img,
body .elementor .esi-service-3 img {
  width: 100%;
  min-height: 420px;
  object-fit: cover;
  border-radius: 60px 8px 8px 8px;
}

body .elementor .esi-home-6 > .elementor-container {
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(16, 27, 45, 0.06);
}

body .elementor .esi-home-7 .elementor-testimonial__text,
body .elementor .esi-service-6 .elementor-testimonial__text {
  color: #fff !important;
  font-size: 18px;
  line-height: 1.55;
}

body .elementor .esi-home-7 .elementor-testimonial__name,
body .elementor .esi-service-6 .elementor-testimonial__name {
  color: #fff !important;
}

body .elementor .esi-home-7 .elementor-testimonial__title,
body .elementor .esi-service-6 .elementor-testimonial__title {
  color: #9aa8bd !important;
}

body .elementor .esi-home-7 .swiper-slide,
body .elementor .esi-service-6 .swiper-slide {
  position: relative;
  min-height: 255px;
  padding: 34px 30px !important;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 18px;
  background: #1b293c;
}

body .elementor .esi-home-7 .swiper-slide::before,
body .elementor .esi-service-6 .swiper-slide::before {
  content: "“";
  display: block;
  height: 32px;
  color: var(--esi-yellow);
  font: 700 44px/1 Georgia, serif;
}

body .elementor .esi-home-7 .swiper-pagination-bullet-active,
body .elementor .esi-service-6 .swiper-pagination-bullet-active {
  width: 28px;
  border-radius: 10px;
  background: var(--esi-yellow) !important;
}

body .elementor .esi-service-2 > .elementor-container {
  gap: 14px;
}

body .elementor .esi-service-2 .elementor-column {
  border-radius: 16px;
}

body .elementor .esi-service-3 > .elementor-container {
  gap: 54px;
  align-items: center;
}

body .elementor .esi-service-5 .elementor-accordion-item {
  border-left: 0;
  border-right: 0;
  border-color: #dce3ee;
}

body .elementor .esi-contact-2 > .elementor-container {
  max-width: 900px;
}

/* Complete service-page layout. Scoped so the approved homepage and global templates stay untouched. */
body .elementor .esi-service-hero { padding:70px 20px 80px!important; background:linear-gradient(130deg,#fff 0 55%,#f3f6fb 55% 100%)!important; }
body .elementor .esi-service-hero > .elementor-container { width:min(1180px,calc(100% - 40px))!important; max-width:1180px!important; align-items:center; gap:72px; }
body .elementor .esi-service-hero-copy { width:calc((100% - 72px)*.52)!important; flex:0 0 calc((100% - 72px)*.52)!important; }
body .elementor .esi-service-hero-media { width:calc((100% - 72px)*.48)!important; flex:0 0 calc((100% - 72px)*.48)!important; }
body .elementor .esi-service-hero-copy > .elementor-widget-wrap,body .elementor .esi-service-hero-media > .elementor-widget-wrap { padding:0!important; }
body .elementor .esi-service-hero-copy > .elementor-widget-wrap { transform:translateY(39px); }
body .elementor .esi-service-hero h1 { max-width:570px; font-size:clamp(43.2px,6vw,88px)!important; font-weight:400!important; line-height:.98!important; letter-spacing:-.035em; }
body .elementor .esi-service-hero .elementor-widget-text-editor p { font-size:clamp(16.8px,1.8vw,20.48px); line-height:1.7; }
body .elementor .esi-service-hero-copy > .elementor-widget-wrap > .elementor-widget-button { display:inline-block; width:auto; margin:18px 14px 0 0; }
body .elementor .esi-service-phone .elementor-button { color:#101827 !important; background:transparent !important; padding-inline:8px; font-weight:800!important; }
body .elementor .esi-service-trust { margin-top:30px; font-size:12px; line-height:18px; font-weight:700; }
body .elementor .esi-service-hero-media > .elementor-widget-wrap { position:relative; }
body .elementor .esi-service-hero-media > .elementor-widget-wrap { min-height:570px; overflow:hidden; border-radius:8px 80px 8px 8px; box-shadow:22px 24px 0 #edf3ff; }
body .elementor .esi-service-hero-media img { width:100%; height:570px; object-fit:cover; border-radius:8px 80px 8px 8px; }
body .elementor .esi-service-image-badge { position:absolute; left:24px; bottom:24px; width:auto; }
body .elementor .esi-service-image-badge .elementor-button { min-height:70px; padding:18px 24px; color:#101827!important; background:#f8c72e!important; border-radius:14px!important; }
body .elementor .esi-service-image-badge-split .elementor-button {
  display:inline-flex;
  align-items:baseline;
  gap:12px;
  font:400 14px/20px "ESI Manrope",Manrope,Arial,sans-serif!important;
}
body .elementor .esi-service-image-badge-split .elementor-button::before {
  content:"24/7";
  font:800 28.8px/1 "ESI Manrope",Manrope,Arial,sans-serif;
  letter-spacing:-.03em;
}

body .elementor .esi-service-benefits { position:relative; z-index:3; margin-top:-28px !important; padding:0 24px !important; background:transparent!important; }
body .elementor .esi-service-benefits > .elementor-container { width:min(1180px,calc(100% - 40px))!important; max-width:1180px!important; min-height:122px; padding:12px; border-radius:18px; background:#101b2d; counter-reset:service-benefit; }
body .elementor .esi-service-benefits .elementor-column { border-right:1px solid rgba(255,255,255,.13); border-radius:0; }
body .elementor .esi-service-benefits .elementor-column:last-child { border-right:0; }
body .elementor .esi-service-benefits .elementor-widget-wrap { padding:25px!important; background:transparent!important; }
body .elementor .esi-service-benefits .elementor-column { counter-increment:service-benefit; }
body .elementor .esi-service-benefits .elementor-column::before { content:"0" counter(service-benefit); display:block; padding:0 25px; color:#99a9c0; font-size:11.52px; }
body .elementor .esi-service-benefits h3 { margin:0; color:#fff!important; font-size:16px!important; font-weight:700!important; }

body .elementor .esi-service-story { padding:110px 20px 90px!important; overflow:visible!important; }
body .elementor .esi-service-story > .elementor-container { width:min(1180px,calc(100% - 40px))!important; max-width:1180px!important; min-height:966px!important; align-items:flex-start!important; gap:clamp(48px,7vw,105px)!important; overflow:visible!important; }
body .elementor .esi-service-story-media { position:sticky!important; top:110px; align-self:flex-start; width:calc((100% - clamp(48px,7vw,105px))*.425)!important; flex:0 0 calc((100% - clamp(48px,7vw,105px))*.425)!important; height:610px; overflow:visible!important; }
body .elementor .esi-service-story-list { width:calc((100% - clamp(48px,7vw,105px))*.575)!important; flex:0 0 calc((100% - clamp(48px,7vw,105px))*.575)!important; overflow:visible!important; }
body .elementor .esi-service-story-media > .elementor-widget-wrap { position:relative!important; top:auto; min-height:610px; padding:0!important; overflow:hidden; border-radius:24px; background:#101b2d; }
/* !important on display/grid-template-columns/column-gap: Elementor's own
   generated per-page stylesheet can set display:flex (or other layout
   defaults) on .elementor-widget-wrap with equal CSS specificity, loading
   after this file — without !important that silently breaks the two-column
   number/content grid and can hide or misplace later items in real
   WordPress, even though it never reproduces locally. */
body .elementor .esi-service-story-list > .elementor-widget-wrap { display:grid!important; grid-template-columns:54px minmax(0,1fr)!important; column-gap:20px!important; padding:0!important; overflow:visible!important; }
body .elementor .esi-service-story-list,body .elementor .esi-service-story-list>.elementor-widget-wrap { min-height:966px!important; height:auto!important; overflow:visible!important; align-content:start!important; }
body .elementor .esi-service-story-media img { width:100%; height:610px; min-height:610px; object-fit:cover; border-radius:24px; }
body .elementor .esi-service-story-media > .elementor-widget-wrap::after { content:""; position:absolute; z-index:1; inset:45% 0 0; pointer-events:none; background:linear-gradient(transparent,rgba(10,20,38,.92)); }
/* width:auto!important is required here: Elementor gives this widget its own
   default width (confirmed 100% of the media column on a real import), which
   fights the left+right auto-width mechanism this absolute positioning needs
   to stay inside the image — without it the label overflows the image by
   exactly the right offset (34px), confirmed on mobile. */
body .elementor .esi-service-story-eyebrow, body .elementor .esi-service-story-label { position:absolute; z-index:2; left:34px; right:34px; width:auto!important; }
/* Leave room for a two-line image title; several service pages use one. */
body .elementor .esi-service-story-eyebrow { display:none!important; }
body .elementor .esi-service-story-label { bottom:28px; }
body .elementor .esi-service-story-list > .elementor-widget-wrap { border-top:1px solid #dce3ee; }
body .elementor .esi-service-story-number { grid-column:1!important; align-self:start; padding-top:34px; }
body .elementor .esi-service-story-number h4 { margin:0; color:#2756ff!important; font-size:14px!important; line-height:1.2!important; }
body .elementor .esi-service-story-list > .elementor-widget-wrap > .elementor-widget-heading:not(.esi-service-story-number) { grid-column:2!important; padding-top:34px; }
/* hyphens:auto (lang="nb-NO" is set on the page) so a long compound word like
   "Elektrikertjenester" gets a real Norwegian hyphenation point on mobile
   instead of the arbitrary mid-word cut overflow-wrap:break-word falls back
   to when a single word doesn't fit the narrow single-column width. */
body .elementor .esi-service-story-list h2 { margin:0 0 12px; font-size:clamp(26.4px,2.8vw,40.8px)!important; font-weight:400!important; line-height:1.08!important; hyphens:auto; }
body .elementor .esi-service-story-list .elementor-widget-text-editor { grid-column:2!important; padding-bottom:0; }
body .elementor .esi-service-story-list .elementor-widget-text-editor p { margin-bottom:0; padding-bottom:38px; border-bottom:1px solid #dce3ee; font-size:16.96px; line-height:1.7; }
/* When a paragraph is immediately followed by the "Snakk med en elektriker"
   link (item 01 only), the divider belongs after the whole item — text and
   link together — not between the text and the link. Move it there instead
   of leaving the link floating below its own item's divider line. */
body .elementor .esi-service-story-list .elementor-widget-text-editor:has(+ .esi-service-story-link) p { padding-bottom:0; border-bottom:none; }
body .elementor .esi-service-story-link { grid-column:2!important; margin:0 0 20px!important; padding-bottom:38px!important; border-bottom:1px solid #dce3ee; }
body .elementor .esi-service-story-link .elementor-button { min-height:0; padding:0; color:#2756ff !important; background:transparent !important; font-weight:800!important; }

body .elementor .esi-service-scope { height:536px!important; padding:20px 24px 40px !important; overflow:hidden!important; }
body .elementor .esi-service-scope > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading:nth-of-type(2) h2,
body .elementor .esi-service-process > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading:nth-of-type(2) h2,
body .elementor .esi-service-related > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading:nth-of-type(2) h2 { font-size:48px !important; font-weight:400 !important; line-height:1.08 !important; }
body .elementor .esi-service-scope-grid, body .elementor .esi-service-process-grid, body .elementor .esi-service-related-grid, body .elementor .esi-service-knowledge-grid { margin-top:30px; }
body .elementor .esi-service-scope-grid > .elementor-container, body .elementor .esi-service-process-grid > .elementor-container, body .elementor .esi-service-related-grid > .elementor-container, body .elementor .esi-service-knowledge-grid > .elementor-container { gap:14px; }
body .elementor .esi-service-scope-grid,body .elementor .esi-service-process-grid,body .elementor .esi-service-related-grid,body .elementor .esi-service-knowledge-grid { margin-left:-24px; margin-right:-24px; }
body .elementor .esi-service-scope-card { min-height:140px; padding:25px; border:1px solid #e3e8ef; border-radius:16px; background:#fff; }
body .elementor .esi-service-process-card { min-height:210px; padding:28px; border:1px solid #e3e8ef; border-radius:14px; background:#fff; }
body .elementor .esi-service-scope-card > .elementor-widget-wrap, body .elementor .esi-service-process-card > .elementor-widget-wrap { padding:0 !important; }
body .elementor .esi-service-scope-card h3, body .elementor .esi-service-process-card h3 { font-size:19px !important; }
body .elementor .esi-service-scope-card p, body .elementor .esi-service-process-card p { font-size:14px; line-height:1.7; }

body .elementor .esi-service-process { height:524px!important; padding:67px 24px !important; overflow:hidden!important; background:#edf3ff !important; }
body .elementor .esi-service-faq { height:614px!important; padding:100px 24px !important; overflow:hidden!important; }
body .elementor .esi-service-faq > .elementor-container { align-items:flex-start; gap:100px; }
body .elementor .esi-service-faq-heading { width:calc((100% - 100px)*.375)!important; flex:0 0 calc((100% - 100px)*.375)!important; }
body .elementor .esi-service-faq-items { width:calc((100% - 100px)*.625)!important; flex:0 0 calc((100% - 100px)*.625)!important; }
body .elementor .esi-service-faq-heading>.elementor-widget-wrap,body .elementor .esi-service-faq-items>.elementor-widget-wrap{padding:0!important}
body .elementor .esi-service-faq h2 { max-width:405px; font-size:51px!important; font-weight:400!important; line-height:1.05!important; }
body .elementor .esi-service-faq .elementor-accordion-item { border-left:0; border-right:0; border-color:#dce3ee; }
body .elementor .esi-service-faq .elementor-accordion-item,
body .elementor .esi-service-faq .elementor-tab-title {
  border-color:#dce3ee!important;
}
body .elementor .esi-service-faq .elementor-tab-title {
  min-height:64px;
  display:flex;
  align-items:center;
  padding:0 2px!important;
  color:#101b2d!important;
  font:600 14px/20px "ESI Manrope",Manrope,Arial,sans-serif!important;
}
body .elementor .esi-service-faq .elementor-tab-title .elementor-accordion-icon {
  margin-left:auto;
  font-size:14px;
}
body .elementor .esi-service-faq .elementor-tab-content {
  padding:0 2px 18px!important;
  border-color:#dce3ee!important;
  color:#5e6a7d!important;
  font:400 14px/23px "ESI Manrope",Manrope,Arial,sans-serif!important;
}
body .elementor .esi-service-reviews { padding:65px 24px !important; background:#101b2d !important; }
body .elementor .esi-service-reviews .swiper-slide { position:relative; display:flex; flex-direction:column; min-height:210px; padding:24px !important; border:1px solid rgba(255,255,255,.09); border-radius:18px; background:#1b293c; }
body .elementor .esi-service-reviews .elementor-testimonial__text { color:#fff !important; font-size:16px; line-height:1.6; }
body .elementor .esi-service-reviews .elementor-testimonial__name { color:#fff !important; }
body .elementor .esi-service-reviews .swiper-slide::before {
  content:"“";
  display:block;
  height:30px;
  color:#f8c72e;
  font:700 46px/.7 Georgia,serif;
}
body .elementor .esi-service-reviews .elementor-testimonial__title {
  display:none!important;
}
body .elementor .esi-service-related { height:438px!important; padding:20px 24px 40px !important; overflow:hidden!important; }
body .elementor .esi-service-related-card { border-radius:14px; background:#f5f7fa; }
body .elementor .esi-service-related-card > .elementor-widget-wrap { padding:0!important; }
body .elementor .esi-service-related-link .elementor-button, body .elementor .esi-service-knowledge-link .elementor-button { width:100%; justify-content:space-between; color:#101827 !important; background:transparent !important; box-shadow:none; }
body .elementor .esi-service-related-link .elementor-button {
  min-height:68px;
  padding:24px!important;
  font-weight:800!important;
}
body .elementor .esi-service-knowledge-grid { padding-top:20px; }
body .elementor .esi-service-knowledge-grid .elementor-column { background:#101b2d; border-radius:14px; }
body .elementor .esi-service-knowledge-grid .elementor-column>.elementor-widget-wrap { padding:0!important; }
body .elementor .esi-service-knowledge-link .elementor-button { color:#fff !important; min-height:94px; padding:28px!important; text-align:left; }
body .elementor .esi-service-knowledge-link .elementor-button {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:5px;
  font-weight:700!important;
}
body .elementor .esi-service-knowledge-link .elementor-button::before {
  color:#91a4c3;
  font:700 10px/13px "ESI Manrope",Manrope,Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body .elementor .esi-service-knowledge-advice .elementor-button::before { content:"Faglige råd"; }
body .elementor .esi-service-knowledge-experience .elementor-button::before { content:"Erfaring"; }
body .elementor .esi-service-cta { height:281px!important; padding:70px 24px !important; background:#2756ff !important; }
body .elementor .esi-service-cta > .elementor-container { align-items:center; }
body .elementor .esi-service-cta-copy>.elementor-widget-wrap { padding:0!important; }
body .elementor .esi-service-cta-actions>.elementor-widget-wrap { display:flex; align-items:center; justify-content:flex-end; gap:20px; padding:0!important; }
body .elementor .esi-service-cta-button,body .elementor .esi-service-cta-phone { width:auto; margin:0!important; }
body .elementor .esi-service-cta-button .elementor-button { color:#2756ff!important; background:#fff!important; font-weight:800!important; }
body .elementor .esi-service-cta-phone .elementor-button { padding:0!important; color:#fff!important; background:transparent!important; font-size:18.4px!important; font-weight:800!important; }

@media(max-width:767px){
  body .elementor .esi-service-hero{padding:54px 20px 70px!important;background:#fff!important}
  body .elementor .esi-service-hero>.elementor-container,body .elementor .esi-service-story>.elementor-container{width:calc(100% - 40px)!important;flex-wrap:wrap;gap:40px}
  body .elementor .esi-service-hero .elementor-column,body .elementor .esi-service-story .elementor-column{width:100%!important}
  body .elementor .esi-service-hero-copy>.elementor-widget-wrap{transform:none}
  body .elementor .esi-service-hero h1{font-size:43.2px!important}
  body .elementor .esi-service-hero-media>.elementor-widget-wrap{min-height:400px}
  body .elementor .esi-service-hero-media img{height:400px}
  body .elementor .esi-service-benefits{margin-top:0!important;padding:12px 20px!important}
  body .elementor .esi-service-benefits>.elementor-container{flex-wrap:wrap}
  body .elementor .esi-service-benefits .elementor-column{width:50%!important}
  body .elementor .esi-service-story{padding:65px 20px!important}
  body .elementor .esi-service-story-media{position:relative!important;top:auto;height:auto;overflow:visible!important}
  body .elementor .esi-service-story>.elementor-container{min-height:0}
  body .elementor .esi-service-story-list,body .elementor .esi-service-story-list>.elementor-widget-wrap{height:auto}
  body .elementor .esi-service-story-media>.elementor-widget-wrap{position:relative!important;top:auto;min-height:430px}
  body .elementor .esi-service-story-media img{height:420px;min-height:420px}
  body .elementor .esi-service-scope,body .elementor .esi-service-process,body .elementor .esi-service-faq,body .elementor .esi-service-reviews,body .elementor .esi-service-related,body .elementor .esi-service-cta{height:auto!important;overflow:visible!important;padding:60px 20px!important}
  body .elementor .esi-service-scope-grid>.elementor-container,body .elementor .esi-service-process-grid>.elementor-container,body .elementor .esi-service-related-grid>.elementor-container,body .elementor .esi-service-knowledge-grid>.elementor-container{flex-wrap:wrap}
  body .elementor .esi-service-scope-card,body .elementor .esi-service-process-card,body .elementor .esi-service-related-card,body .elementor .esi-service-knowledge-grid .elementor-column{width:100%!important}
  body .elementor .esi-service-faq>.elementor-container{flex-wrap:wrap;gap:30px}
  body .elementor .esi-service-faq-heading,body .elementor .esi-service-faq-items{width:100%!important;flex:0 0 100%!important}
  body .elementor .esi-service-cta>.elementor-container{flex-wrap:wrap}
  body .elementor .esi-service-cta .elementor-column{width:100%!important}
  /* Checked directly against the reference site at 375px: the button and
     phone number stay on one row (flex-wrap:nowrap) with a visible gap
     above them separating them from the paragraph - not stacked flush
     against it. flex-wrap:wrap here let them wrap onto two rows with zero
     gap between rows, and the copy/actions columns had no gap between
     them either, so the row read as pasted directly under the paragraph. */
  body .elementor .esi-service-cta-actions{margin-top:24px!important}
  body .elementor .esi-service-cta-actions>.elementor-widget-wrap{justify-content:flex-start;flex-wrap:nowrap;gap:16px}
  body .elementor .esi-service-cta-button .elementor-button{padding:0 20px!important}
}

/* Tablet / iPad portrait and landscape (768–1024px). Desktop keeps its fixed
   heights above 1024px; below 768px the phone rules above already take over.
   These sections use fixed-height + overflow:hidden on desktop, calibrated for
   a 1180px container. At 768–1024px the narrower columns wrap onto more text
   lines, so without this block the extra lines are silently clipped. */
@media (min-width:768px) and (max-width:1024px){
  body .elementor .esi-service-hero-media>.elementor-widget-wrap{min-height:460px}
  body .elementor .esi-service-hero-media img{height:460px}
  /* The story text list naturally needs far more vertical space than the
     fixed-height image once the column narrows (more items wrap onto more
     lines). Side by side at this width that leaves the shorter image
     floating above a large empty gap, so stack the section instead — same
     treatment the ≤767px rules already use, just with a taller tablet-sized
     image instead of the phone-sized one. */
  body .elementor .esi-service-story>.elementor-container{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;min-height:0;gap:40px!important}
  body .elementor .esi-service-story>.elementor-container>.elementor-column{width:100%!important;max-width:100%!important;flex:0 0 100%!important;min-width:0!important}
  body .elementor .esi-service-story-media{position:relative!important;top:auto;height:auto;overflow:visible!important}
  body .elementor .esi-service-story-list,body .elementor .esi-service-story-list>.elementor-widget-wrap{height:auto}
  body .elementor .esi-service-story-media>.elementor-widget-wrap{position:relative!important;top:auto;min-height:460px}
  body .elementor .esi-service-story-media img{height:460px;min-height:460px}
  body .elementor .esi-service-scope,body .elementor .esi-service-process,body .elementor .esi-service-faq,body .elementor .esi-service-reviews,body .elementor .esi-service-related,body .elementor .esi-service-cta{height:auto!important;overflow:visible!important}
  body .elementor .esi-service-scope-grid>.elementor-container,body .elementor .esi-service-process-grid>.elementor-container{flex-wrap:wrap}
  body .elementor .esi-service-scope-card,body .elementor .esi-service-process-card{width:calc(50% - 7px)!important;margin-bottom:14px}
  /* The desktop 38/62 heading/items split leaves the heading column as
     narrow as 233px at 768px width — far too tight for a ~50px heading,
     confirmed cramped on a real import. Stack instead, same technique the
     ≤767px rules already use for this section. */
  body .elementor .esi-service-faq>.elementor-container{flex-wrap:wrap!important;gap:30px!important}
  body .elementor .esi-service-faq-heading,body .elementor .esi-service-faq-items{width:100%!important;flex:0 0 100%!important}
  body .elementor .esi-service-scope-card{height:auto!important}
}

@media (max-width: 1024px) {
  body .elementor .esi-home-1 {
    min-height: 620px;
  }
}

@media (max-width: 767px) {
  body .elementor .esi-home-1 {
    min-height: 820px;
  }
  body .elementor .esi-home-1 > .elementor-container {
    width: calc(100% - 30px);
  }
  body .elementor .esi-home-1 h1 {
    font-size: 44px !important;
    line-height: 1.04 !important;
  }
  body .elementor .esi-home-1 .elementor-widget-button {
    display: block;
    margin-right: 0;
  }
  body .elementor .esi-home-2 {
    margin-top: -62px !important;
  }
  body .elementor .esi-home-2 .elementor-column {
    width: 100% !important;
    margin-bottom: 16px;
  }
  body .elementor .esi-home-3,
  body .elementor .esi-home-4,
  body .elementor .esi-home-5,
  body .elementor .esi-home-6,
  body .elementor .esi-home-7,
  body .elementor .esi-home-8 {
    padding: 58px 0;
  }
  body .elementor .esi-home-7 .esi-rating-widget {
    position: static;
    width: 100%;
  }
  body .elementor .esi-home-6 .elementor-column,
  body .elementor .esi-service-2 .elementor-column {
    width: 100% !important;
  }
  body .elementor .esi-home-4 img,
  body .elementor .esi-service-1 img,
  body .elementor .esi-service-3 img {
    min-height: 300px;
  }
}

/* Exact 2026 homepage. Each visual block remains a separate Elementor section. */
@font-face{font-family:"ESI Archivo";src:url("../fonts/archivo-400.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"ESI Archivo";src:url("../fonts/archivo-700.ttf") format("truetype");font-weight:700 800;font-style:normal;font-display:swap}
@font-face{font-family:"ESI Manrope";src:url("../fonts/manrope-400.ttf") format("truetype");font-weight:400 500;font-style:normal;font-display:swap}
@font-face{font-family:"ESI Manrope";src:url("../fonts/manrope-700.ttf") format("truetype");font-weight:600 800;font-style:normal;font-display:swap}

body .elementor .esi-home-1,body .elementor .esi-home-2,body .elementor .esi-home-3,
body .elementor .esi-home-4,body .elementor .esi-home-5,body .elementor .esi-home-6,
body .elementor .esi-home-7{min-height:0!important;margin:0!important;padding:0!important;background:transparent!important}
body .elementor .esi-home-1>.elementor-container,body .elementor .esi-home-2>.elementor-container,
body .elementor .esi-home-3>.elementor-container,body .elementor .esi-home-4>.elementor-container,
body .elementor .esi-home-5>.elementor-container,body .elementor .esi-home-6>.elementor-container,
body .elementor .esi-home-7>.elementor-container{width:min(1180px,calc(100% - 84px))!important;max-width:1180px!important;margin:0 auto!important;padding:0!important}
body .elementor [class*="esi-home-"] .elementor-widget-wrap,
body .elementor [class*="esi-home-"] .elementor-widget-container{margin:0;padding:0}
body .elementor [class*="esi-home-"] *{box-sizing:border-box}
.esi-ref-wrap{width:min(1180px,calc(100% - 84.8px));margin-inline:auto}
.esi-ref-home-hero,.esi-ref-audiences,.esi-ref-local,.esi-ref-spotlight,.esi-ref-process,.esi-ref-cta,.esi-reviews{font-family:"ESI Manrope",Manrope,Arial,sans-serif;color:#121b2b}
.esi-ref-home-hero h1,.esi-ref-audiences h2,.esi-ref-local h2,.esi-ref-spotlight h2,.esi-ref-process h2,.esi-ref-process h3,.esi-ref-cta h2,.esi-reviews h2{font-family:"ESI Archivo",Archivo,Arial,sans-serif;letter-spacing:-.035em}
.esi-ref-home-hero{height:720px;position:relative;display:flex;align-items:center;overflow:hidden;color:#fff}
.esi-ref-home-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.esi-ref-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#091222ed,#091222bb 48%,#09122222)}
.esi-ref-hero-copy{position:relative;z-index:1}
.esi-ref-eyebrow{display:inline-flex;color:#2756ff;font-size:12.16px;line-height:1;font-weight:800;text-transform:uppercase;letter-spacing:.16em}
.esi-ref-home-hero h1{max-width:850px;margin:30.72px 0 24.576px;color:#fff;font-size:clamp(56px,6vw,76.8px);font-weight:400;line-height:.98}
.esi-ref-home-hero p{max-width:650px;margin:0;color:#d7dfeb;font-size:18.88px;line-height:1.6}
.esi-ref-actions{display:flex;align-items:center;gap:24px;margin-top:30px}
.esi-ref-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:15px 22px;border-radius:11px;background:#2756ff;color:#fff!important;font-weight:800;text-decoration:none!important}
.esi-ref-ghost{border:1px solid #ffffff66;background:transparent}
.esi-ref-audiences{position:relative;z-index:3;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:-50px}
.esi-ref-audiences>a{display:block;min-height:248.775px;padding:42px;border-radius:18px;background:#fff;box-shadow:0 15px 40px #0e1a2b18;color:#121b2b!important;text-decoration:none!important}
.esi-ref-audiences>a:nth-child(2){background:#2756ff;color:#fff!important}
.esi-ref-audiences span{color:#2756ff;font-size:11.84px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.esi-ref-audiences>a:nth-child(2) span{color:#bbceff}
.esi-ref-audiences h2{margin:17.92px 0;color:inherit;font-size:51.2px;font-weight:400;line-height:1.05}
.esi-ref-audiences p{margin:0;color:#667085;line-height:1.7}.esi-ref-audiences>a:nth-child(2) p{color:#dce5ff}
.esi-ref-audiences b{display:flex;align-items:center;gap:7px;margin-top:0;line-height:24px}.esi-ref-audiences i{font-style:normal;font-size:20px}
.esi-ref-local{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;padding:110px 0 20px}
.esi-ref-local h2{max-width:500px;margin:17.92px 0;font-size:51.2px;font-weight:400;line-height:1.05}
.esi-ref-copy p{margin:0 0 22px;color:#667085;font-size:16.8px;line-height:1.7}
.esi-ref-spotlight{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px;padding:120px 0}
.esi-ref-spot-image{height:560px;border-radius:60px 8px 8px;overflow:hidden}.esi-ref-spot-image img{width:100%;height:100%;object-fit:cover}
.esi-ref-spotlight h2{margin:17.92px 0;font-size:51.2px;font-weight:400;line-height:1.05}.esi-ref-spotlight p{color:#667085;line-height:1.7}
.esi-ref-spotlight ul{list-style:none;padding:0;margin:22px 0}.esi-ref-spotlight li{display:flex;gap:10px;margin:15px 0;font-weight:700}.esi-ref-spotlight li:before{content:"✓";color:#2756ff}
.esi-ref-arrowlink{display:inline-flex;gap:8px;margin-top:15px;color:#2756ff!important;font-weight:800;text-decoration:none!important}
.esi-ref-process{padding:90px 0;background:#edf3ff}.esi-ref-process h2{margin:17.92px 0;font-size:51.2px;font-weight:400;line-height:1.05}
.esi-ref-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:38px}.esi-ref-steps article{min-height:210px;padding:28px;border-radius:14px;background:#fff}
.esi-ref-steps article>span{color:#2756ff;font-weight:800}.esi-ref-steps h3{margin:18px 0 12px;font-size:26px;font-weight:600}.esi-ref-steps p{margin:0;color:#667085;font-size:14.4px;line-height:1.65}
body .elementor .esi-home-6{background:#0e1a2b!important}.esi-home-6 .esi-reviews{width:min(1180px,calc(100% - 84.8px));margin:auto;padding:100px 0}
.esi-reviews{box-sizing:border-box;width:100%!important;max-width:none!important;margin:0!important;padding:100px max(24px,calc((100% - 1180px)/2))!important;background:#0e1a2b!important}
.esi-reviews .esi-review-grid blockquote{background:#1b293c!important}
.esi-reviews .esi-review-grid p,.esi-reviews .esi-review-grid footer strong{color:#fff!important}
.esi-reviews .esi-review-grid footer small{color:#9cabc0!important}
body .elementor .esi-home-7{background:#2756ff!important}.esi-ref-cta{background:#2756ff;color:#fff;padding:70px 0}
.esi-ref-cta>.esi-ref-wrap{display:flex;align-items:center;justify-content:space-between;gap:45px}.esi-ref-cta h2{margin:17.92px 0;color:#fff;font-size:51.2px;font-weight:400;line-height:1.05}.esi-ref-cta p{margin:0;color:#dbe4ff}.esi-ref-cta .esi-ref-eyebrow{color:#bcd0ff}
.esi-ref-light{background:#fff;color:#2756ff!important}.esi-ref-phone{color:#fff!important;font-size:18.4px;font-weight:800;text-decoration:none!important;white-space:nowrap}
body .elementor .esi-ref-home-hero h1{max-width:850px!important;font-family:"ESI Archivo",Archivo,Arial,sans-serif;font-size:clamp(56px,6vw,76.8px)!important;line-height:.98!important}
body .elementor .esi-ref-audiences h2,body .elementor .esi-ref-local h2,body .elementor .esi-ref-spotlight h2,body .elementor .esi-ref-process h2,body .elementor .esi-ref-process h3,body .elementor .esi-ref-cta h2{font-family:"ESI Archivo",Archivo,Arial,sans-serif}
body .elementor .esi-home-4 .elementor-column:last-child>.elementor-widget-wrap{padding:0!important}

@media(max-width:900px){.esi-ref-wrap,.esi-home-6 .esi-reviews{width:calc(100% - 40px)}.esi-ref-local,.esi-ref-spotlight{grid-template-columns:1fr;gap:40px}.esi-ref-steps{grid-template-columns:1fr 1fr}.esi-ref-cta>.esi-ref-wrap{display:block}.esi-ref-cta .esi-ref-actions{justify-content:flex-start}}
@media(max-width:560px){.esi-ref-home-hero{height:650px}body .elementor .esi-ref-home-hero h1{font-size:40.8px!important;line-height:1.02!important;margin:25px 0 22px}.esi-ref-home-hero p{font-size:16px}.esi-ref-home-hero .esi-ref-actions{gap:24px}.esi-ref-home-hero .esi-ref-button{flex:1;min-width:0;padding:15px 12px;line-height:24px;text-align:center}.esi-ref-audiences{width:100%;grid-template-columns:1fr;gap:0;margin-top:0}.esi-ref-audiences>a{min-height:242.4px;padding:42px;border-radius:0}.esi-ref-audiences h2{margin:11.2px 0;font-size:32px!important;line-height:1.05}.esi-ref-local{gap:25px}.esi-ref-local h2,.esi-ref-spotlight h2,.esi-ref-process h2,.esi-ref-cta h2{font-size:40px}.esi-ref-spotlight{padding:80px 0}.esi-ref-spot-image{height:370px}.esi-ref-steps{grid-template-columns:1fr}.esi-ref-process{padding:90px 0}.esi-home-6 .esi-reviews{padding:100px 0}.esi-ref-cta{padding:70px 0 100px}.esi-ref-cta .esi-ref-actions{align-items:flex-start;flex-direction:column}}
.esi-mobile-call{display:none}
.esi-mobile-call:focus-visible{outline:2px solid #fff;outline-offset:-4px}
@media(max-width:900px){.esi-mobile-call{box-sizing:border-box;position:fixed;z-index:99999;right:12px;bottom:12px;left:12px;display:flex;align-items:center;justify-content:center;gap:8px;height:54px;padding:15px;border-radius:12px;background:#2756ff;color:#fff!important;font:800 16px/24px "ESI Manrope",Manrope,Arial,sans-serif;text-decoration:none!important;box-shadow:0 10px 28px #09122245}}
@media(max-width:560px){.esi-reviews{padding-right:20px!important;padding-left:20px!important}}

/* Native Elementor homepage – every text, image and button remains movable/editable. */
body .elementor .esi-native-eyebrow h4{margin:0;color:#2756ff;font:800 12px/1 "ESI Manrope",Manrope,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
body .elementor .esi-native-hero-title h1{max-width:850px;margin:30px 0 24px;color:#fff;font-family:"ESI Archivo",Archivo,Arial,sans-serif!important;font-size:clamp(56px,6vw,76.8px)!important;font-weight:400!important;line-height:.98!important;letter-spacing:-.055em}
body .elementor .esi-native-hero-lead{max-width:650px}body .elementor .esi-native-hero-lead p{margin:0;color:#d7dfeb;font-size:18.88px;line-height:1.6}
body .elementor .esi-native-hero-actions{max-width:430px;margin:0!important}body .elementor .esi-native-hero-actions>.elementor-container{margin:0!important}
body .elementor .esi-native-hero-actions .elementor-column,body .elementor .esi-native-hero-actions .elementor-widget-wrap{padding:0!important}
body .elementor .esi-native-hero-actions .elementor-button{width:100%;min-height:54px;padding:15px 12px;line-height:24px}
body .elementor .esi-home-1>.elementor-container{min-height:720px;align-items:center}
body .elementor .esi-home-1>.elementor-container>.elementor-column{width:100%!important}
body .elementor .esi-native-hero-actions>.elementor-container{display:flex!important;gap:24px}
body .elementor .esi-native-hero-actions>.elementor-container>.elementor-column{width:calc(50% - 12px)!important}
body .elementor .esi-native-audiences{position:relative;z-index:3;margin-top:-50px!important;padding:0 0 95px!important}
body .elementor .esi-native-audiences>.elementor-container{gap:18px}
body .elementor .esi-native-audiences>.elementor-container>.elementor-column{width:calc(50% - 9px)!important}
body .elementor .esi-native-audience-card{min-height:210px;border-radius:18px;overflow:hidden;box-shadow:0 15px 40px #0e1a2b18}
body .elementor .esi-native-audience-card>.elementor-widget-wrap{min-height:210px;padding:34px!important;border-radius:18px}
body .elementor .esi-native-audience-card h2{margin:14px 0;font:400 48px/1.05 "ESI Archivo",Archivo,Arial,sans-serif}
body .elementor .esi-native-audience-blue h2{color:#fff}body .elementor .esi-native-audience-card p{margin:0;line-height:1.7}
body .elementor .esi-native-text-link .elementor-button{min-height:0;padding:0;background:transparent!important;box-shadow:none}
body .elementor .esi-native-local{padding:110px 0 20px!important}body .elementor .esi-native-local>.elementor-container{gap:100px}
body .elementor .esi-native-local>.elementor-container>.elementor-column:first-child{width:calc(45% - 50px)!important}body .elementor .esi-native-local>.elementor-container>.elementor-column:last-child{width:calc(55% - 50px)!important}
body .elementor .esi-native-section-title h2{margin:18px 0;font-family:"ESI Archivo",Archivo,Arial,sans-serif!important;font-size:51.2px!important;font-weight:400!important;line-height:1.05!important;letter-spacing:-.035em}
body .elementor .esi-native-spotlight{padding:120px 0!important}body .elementor .esi-native-spotlight>.elementor-container{align-items:center;gap:90px}
body .elementor .esi-native-spotlight>.elementor-container>.elementor-column{width:calc(50% - 45px)!important}
body .elementor .esi-native-spot-image img{width:100%;height:560px;object-fit:cover;border-radius:60px 8px 8px!important}
body .elementor .esi-native-spotlight ul{margin:22px 0!important;padding:0!important;list-style:none!important}
body .elementor .esi-native-spotlight li{position:relative;margin:10px 0!important;padding-left:25px!important;font-weight:700!important}
body .elementor .esi-native-spotlight li:before{position:absolute;left:0;content:"✓";color:#2756ff;font-weight:800}
body .elementor .esi-native-process{padding:90px 24px!important;background:#edf3ff!important}
body .elementor .esi-native-steps>.elementor-container{gap:14px}body .elementor .esi-native-step{min-height:210px;padding:28px!important;border-radius:14px}
body .elementor .esi-native-steps>.elementor-container>.elementor-column{width:calc(25% - 10.5px)!important}body .elementor .esi-native-step>.elementor-widget-wrap{padding:0!important}body .elementor .esi-native-step h3{font:700 18.72px/1.2 "ESI Archivo",Archivo,Arial,sans-serif!important}body .elementor .esi-native-step h4{font-size:16px!important;line-height:1.2!important}body .elementor .esi-native-step p{font-size:14.4px!important;line-height:1.7!important}
body .elementor .esi-native-review-section{padding:100px 24px!important;background:#0e1a2b!important}
body .elementor .esi-native-review-head,body .elementor .esi-native-review-head>.elementor-container{width:100%;max-width:none}
body .elementor .esi-native-rating h3,body .elementor .esi-native-stars h4{text-align:right}.esi-native-rating h3{font-size:35px!important}.esi-native-stars h4{letter-spacing:.12em!important}
body .elementor .esi-native-reviews .swiper-slide{position:relative;min-height:260px;padding:30px!important;border:1px solid #ffffff17;border-radius:18px;background:#1b293c!important}
body .elementor .esi-native-reviews .swiper-slide:before{content:"“";display:block;height:32px;color:#f8c72e;font:700 48px/.7 Georgia,serif}
body .elementor .esi-native-reviews .elementor-testimonial__text,body .elementor .esi-native-reviews .elementor-testimonial__name{color:#fff!important}
body .elementor .esi-native-reviews .elementor-testimonial__text{font-size:16px!important;font-style:normal!important;text-align:left!important;line-height:1.7!important}
body .elementor .esi-native-reviews .elementor-testimonial__name{font-size:13px!important;line-height:1.4!important}
body .elementor .esi-native-reviews .elementor-testimonial__footer,body .elementor .esi-native-reviews .elementor-testimonial__cite{text-align:left!important}
body .elementor .esi-native-reviews .elementor-swiper-button{width:38px!important;height:38px!important;border:1px solid #ffffff33!important;border-radius:50%!important}
body .elementor .esi-native-reviews .elementor-testimonial__title{color:#9cabc0!important}body .elementor .esi-native-reviews .swiper-pagination-bullet-active{width:28px;border-radius:10px;background:#f8c72e!important}
body .elementor .esi-native-cta{padding:70px 24px!important;background:#2756ff!important}body .elementor .esi-native-cta>.elementor-container{align-items:center}
body .elementor .esi-native-cta>.elementor-container>.elementor-column:first-child{width:68%!important}body .elementor .esi-native-cta>.elementor-container>.elementor-column:last-child{width:32%!important}body .elementor .esi-native-cta>.elementor-container>.elementor-column:last-child>.elementor-widget-wrap{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap}
body .elementor .esi-native-light-button,body .elementor .esi-native-phone{display:inline-block;width:auto;margin-right:18px}body .elementor .esi-native-phone .elementor-button{padding-right:0;padding-left:0}
@media(max-width:767px){body .elementor [class*="esi-home-"]>.elementor-container{width:calc(100% - 40px)!important}body .elementor .esi-home-1{min-height:650px!important}body .elementor .esi-home-1>.elementor-container{min-height:650px}body .elementor .esi-native-hero-title h1{font-size:40.8px;line-height:1.02}body .elementor .esi-native-hero-lead p{font-size:16px}body .elementor .esi-native-hero-actions>.elementor-container>.elementor-column{width:calc(50% - 12px)!important}body .elementor .esi-native-audiences{margin-top:0!important;padding:0!important}body .elementor .esi-native-audiences>.elementor-container{width:100%!important;gap:0;flex-wrap:wrap}body .elementor .esi-native-audiences>.elementor-container>.elementor-column{width:100%!important}body .elementor .esi-native-audience-card,body .elementor .esi-native-audience-card>.elementor-widget-wrap{min-height:242px;border-radius:0}body .elementor .esi-native-audience-card>.elementor-widget-wrap{padding:42px!important}body .elementor .esi-native-audience-card h2{margin:11px 0;font-size:32px}body .elementor .esi-native-local,body .elementor .esi-native-spotlight,body .elementor .esi-native-process,body .elementor .esi-native-review-section,body .elementor .esi-native-cta{padding-right:20px!important;padding-left:20px!important}body .elementor .esi-native-local>.elementor-container,body .elementor .esi-native-spotlight>.elementor-container{gap:25px;flex-wrap:wrap}body .elementor .esi-native-local>.elementor-container>.elementor-column,body .elementor .esi-native-spotlight>.elementor-container>.elementor-column{width:100%!important}body .elementor .esi-native-section-title h2{font-size:40px}body .elementor .esi-native-spot-image img{height:370px}body .elementor .esi-native-steps>.elementor-container{flex-wrap:wrap}body .elementor .esi-native-steps>.elementor-container>.elementor-column{width:100%!important;margin-bottom:14px}body .elementor .esi-native-review-head .elementor-column{width:100%!important}body .elementor .esi-native-rating h3,body .elementor .esi-native-stars h4{text-align:left}body .elementor .esi-native-review-section{padding-top:100px!important;padding-bottom:100px!important}body .elementor .esi-native-cta{padding-bottom:100px!important}body .elementor .esi-native-cta>.elementor-container{flex-wrap:wrap}body .elementor .esi-native-cta>.elementor-container>.elementor-column{width:100%!important;display:block} }

/* Service templates only: lock the Elementor output to the approved reference
   typography and inner grid. Header, footer and homepage remain untouched. */
body .elementor [class*="esi-service-"] {
  color:#121b2b;
  font-family:"ESI Manrope",Manrope,Arial,sans-serif;
}
body .elementor [class*="esi-service-"] h1,
body .elementor [class*="esi-service-"] h2,
body .elementor [class*="esi-service-"] h3,
body .elementor [class*="esi-service-"] h4 {
  color:#121b2b;
  font-family:"ESI Archivo",Archivo,Arial,sans-serif!important;
}
body .elementor .esi-service-hero-copy>.elementor-widget-wrap>.elementor-widget-heading:first-child h4,
body .elementor .esi-service-eyebrow h4,
body .elementor .esi-service-cta-eyebrow h4 {
  display:inline-flex;
  margin:0;
  color:#2756ff!important;
  font:800 12.16px/18.24px "ESI Manrope",Manrope,Arial,sans-serif!important;
  letter-spacing:.16em;
  text-transform:uppercase;
}
body .elementor .esi-service-hero-copy>.elementor-widget-wrap>.elementor-widget-heading:first-child h4::before {
  content:"";
  width:14px;
  height:14px;
  margin-right:7px;
  background:#2756ff;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M13 2 3 14h9l-1 8 10-12h-9z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M13 2 3 14h9l-1 8 10-12h-9z'/%3E%3C/svg%3E") center/contain no-repeat;
}
body .elementor .esi-service-hero-copy>.elementor-widget-wrap>.elementor-widget-button:not(.esi-service-phone) .elementor-button::after {
  content:"→";
  margin-left:10px;
  font-size:18px;
}
body .elementor .esi-service-benefits .elementor-column {
  display:block;
  padding:30px 25px 20px;
}
body .elementor .esi-service-benefits .elementor-column::before {
  padding:0;
  color:#99a9c0;
  font:400 11.52px/17.28px "ESI Manrope",Manrope,Arial,sans-serif;
}
body .elementor .esi-service-benefits .elementor-widget-wrap { padding:0!important; }
body .elementor .esi-service-benefits h3 {
  margin:0;
  color:#fff!important;
  font:400 16px/24px "ESI Manrope",Manrope,Arial,sans-serif!important;
  letter-spacing:0;
}
body .elementor .esi-service-phone .elementor-button::before {
  content:"☎";
  margin-right:9px;
  font-size:20px;
}
body .elementor .esi-service-hero h1 {
  margin:42.72px 0 24.576px;
}
body .elementor .esi-service-hero-copy>.elementor-widget-wrap { transform:translateY(14px); }
body .elementor .esi-service-hero .elementor-widget-text-editor p,
body .elementor .esi-service-story-list .elementor-widget-text-editor p,
body .elementor .esi-service-scope p,
body .elementor .esi-service-process p,
body .elementor .esi-service-faq,
body .elementor .esi-service-related {
  color:#5e6a7d;
}
body .elementor .esi-service-story-eyebrow h4 {
  display:inline;
  margin:0 0 8px;
  color:#b9c7dc!important;
  font:800 12px/18px "ESI Manrope",Manrope,Arial,sans-serif!important;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body .elementor .esi-service-story-eyebrow { display:none!important; }
body .elementor .esi-service-story-label { bottom:32px; }
body .elementor .esi-service-story-label h3 {
  display:inline;
  margin:0;
  color:#fff!important;
  font:700 28.16px/32.384px "ESI Archivo",Archivo,Arial,sans-serif!important;
  letter-spacing:-.02em;
}
body .elementor .esi-service-story-label h3::before {
  content:"Faglig rådgivning";
  display:block;
  margin-bottom:8px;
  color:#b9c7dc;
  font:800 12px/18px "ESI Manrope",Manrope,Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body .elementor .esi-service-scope>.elementor-container>.elementor-column>.elementor-widget-wrap,
body .elementor .esi-service-process>.elementor-container>.elementor-column>.elementor-widget-wrap,
body .elementor .esi-service-reviews>.elementor-container>.elementor-column>.elementor-widget-wrap,
body .elementor .esi-service-related>.elementor-container>.elementor-column>.elementor-widget-wrap {
  padding:0!important;
}
body .elementor .esi-service-scope-grid,
body .elementor .esi-service-process-grid,
body .elementor .esi-service-related-grid,
body .elementor .esi-service-knowledge-grid {
  margin-right:0;
  margin-left:0;
}
body .elementor .esi-service-scope>.elementor-container>*,
body .elementor .esi-service-process>.elementor-container>*,
body .elementor .esi-service-reviews>.elementor-container>*,
body .elementor .esi-service-related>.elementor-container>* {
  width:100%!important;
}
body .elementor .esi-service-scope-card {
  min-height:197.5px!important;
  padding:30px 25px 25px;
}
body .elementor .esi-service-scope-card h4,
body .elementor .esi-service-process-card h4 {
  margin:0;
  color:#2756ff!important;
  font-family:"ESI Manrope",Manrope,Arial,sans-serif!important;
  font-weight:800!important;
  letter-spacing:0;
}
body .elementor .esi-service-scope-card h4 {
  font-size:12px!important;
  line-height:16.8px!important;
  margin-bottom:2.3px;
}
body .elementor .esi-service-process-card h4 {
  font-size:16px!important;
  line-height:24px!important;
}
body .elementor .esi-service-scope-card h3,
body .elementor .esi-service-process-card h3 {
  margin:0;
  font:400 16px/24px "ESI Manrope",Manrope,Arial,sans-serif!important;
  letter-spacing:0;
}
body .elementor .esi-service-scope-card h3,
body .elementor .esi-service-process-card h3 { font-weight:700!important; }
body .elementor .esi-service-scope-card p,
body .elementor .esi-service-process-card p {
  margin:0;
  color:#5e6a7d;
  font-size:14.4px!important;
  line-height:24.48px!important;
}
body .elementor .esi-service-scope-grid { margin-top:49px; }
body .elementor .esi-service-process-grid { margin-top:26px; }
body .elementor .esi-service-scope h2,
body .elementor .esi-service-process h2,
body .elementor .esi-service-related h2 {
  font-size:clamp(32px,4vw,50.6px)!important;
  line-height:1.05!important;
}
body .elementor .esi-service-scope>.elementor-container>.elementor-column>.elementor-widget-wrap>.elementor-widget-heading:nth-of-type(2) h2,
body .elementor .esi-service-process>.elementor-container>.elementor-column>.elementor-widget-wrap>.elementor-widget-heading:nth-of-type(2) h2,
body .elementor .esi-service-related>.elementor-container>.elementor-column>.elementor-widget-wrap>.elementor-widget-heading:nth-of-type(2) h2 {
  font-size:clamp(32px,4vw,50.6px)!important;
  line-height:1.05!important;
}
body .elementor .esi-service-scope { padding-top:39px!important; }
body .elementor .esi-service-process { padding-top:109px!important; }
body .elementor .esi-service-faq { padding-top:119px!important; }
body .elementor .esi-service-related { padding-top:40px!important; }
body .elementor .esi-service-reviews { height:560.4px!important; padding-top:71px!important; padding-bottom:65px!important; overflow:hidden!important; }
body .elementor .esi-service-reviews>.elementor-container>.elementor-column>.elementor-widget-wrap>.elementor-widget-heading:first-child h4 {
  display:inline-flex;
  margin:0;
  color:#9fb5ff!important;
  font:800 12.16px/18.24px "ESI Manrope",Manrope,Arial,sans-serif!important;
  letter-spacing:.16em;
  text-transform:uppercase;
}
body .elementor .esi-service-reviews h2 {
  width:auto;
  margin:13.44px 0;
  color:#fff!important;
  font-size:clamp(28.8px,3vw,37.95px)!important;
  font-weight:400!important;
  line-height:1.05!important;
}
body .elementor .esi-service-reviews>.elementor-container>.elementor-column>.elementor-widget-wrap>.elementor-widget-heading:nth-child(3) {
  position:absolute;
  top:0;
  right:0;
  width:auto;
}
body .elementor .esi-service-reviews>.elementor-container>.elementor-column>.elementor-widget-wrap>.elementor-widget-heading:nth-child(3) h3 {
  margin:0;
  color:#fff!important;
  font-size:35.2px!important;
  line-height:38.4px!important;
}
body .elementor .esi-service-reviews>.elementor-container>.elementor-column>.elementor-widget-wrap>.elementor-widget-heading:nth-child(3) h3::after {
  content:"★★★★★";
  display:block;
  margin-top:4px;
  color:#f8c72e;
  font:700 19px/20px "ESI Manrope",Manrope,Arial,sans-serif;
  letter-spacing:2px;
}
body .elementor .esi-service-cta h2 {
  margin:17.92px 0;
  color:#fff!important;
  font-size:clamp(32px,4vw,50.6px)!important;
  font-weight:400!important;
  line-height:1.05!important;
}
body .elementor .esi-service-cta p { color:#dbe4ff; }
body .elementor .esi-service-cta-eyebrow h4 { color:#bcd0ff!important; }
body .elementor .esi-service-cta-copy>.elementor-widget-wrap { transform:none; }

/* Exact service-page type metrics from the approved correction site. */
body .elementor [class*="esi-service-"] h1,
body .elementor [class*="esi-service-"] h2,
body .elementor [class*="esi-service-"] h3,
body .elementor [class*="esi-service-"] h4 { color:#121b2b!important; }
/* The universal lock above and the per-section colors above it have equal
   specificity (one class + a heading tag), so this later rule silently wins
   for every selector that isn't more specific than that, turning every
   white/blue/light-blue heading below into invisible or wrong-colored dark
   navy text. Confirmed live on 9 headings across 4 sections (benefits
   labels, story image caption, CTA heading, CTA eyebrow, section eyebrows,
   scope/process card numbers) via computed-style inspection of a real
   imported page. Re-assert every one of them here, after the lock. */
body .elementor .esi-service-benefits h3 { color:#fff!important; }
body .elementor .esi-service-story-number h4 { color:#2756ff!important; }
body .elementor .esi-service-hero-copy>.elementor-widget-wrap>.elementor-widget-heading:first-child h4,
body .elementor .esi-service-eyebrow h4 { color:#2756ff!important; }
body .elementor .esi-service-cta-eyebrow h4 { color:#bcd0ff!important; }
body .elementor .esi-service-story-label h3 { color:#fff!important; }
body .elementor .esi-service-scope-card h4,
body .elementor .esi-service-process-card h4 { color:#2756ff!important; }
body .elementor .esi-service-reviews h2 { color:#fff!important; }
body .elementor .esi-service-cta h2 { color:#fff!important; }
body .elementor .esi-service-hero-copy>.elementor-widget-wrap>.elementor-widget-button:not(.esi-service-phone) .elementor-button,
body .elementor .esi-service-hero-copy>.elementor-widget-wrap>.elementor-widget-button:not(.esi-service-phone) .elementor-button-text {
  font:800 16px/24px "ESI Manrope",Manrope,Arial,sans-serif!important;
}
body .elementor .esi-service-phone .elementor-button,
body .elementor .esi-service-phone .elementor-button-text {
  font:800 16px/24px "ESI Manrope",Manrope,Arial,sans-serif!important;
}
body .elementor .esi-service-trust,
body .elementor .esi-service-trust p {
  font:700 13.28px/19.92px "ESI Manrope",Manrope,Arial,sans-serif!important;
}
body .elementor .esi-service-benefits h3 {
  font:700 14.4px/21.6px "ESI Manrope",Manrope,Arial,sans-serif!important;
  /* Narrow mobile columns (2-up, ~93px of text room after padding) are too
     tight for words like "Elbillading"/"Rehabilitering" to fit on one line;
     overflow-wrap:break-word then has to cut them anywhere. hyphens:auto
     (the page declares lang="nb-NO") lets the browser break at a real
     Norwegian hyphenation point instead of an arbitrary mid-word cut. */
  hyphens:auto;
}
body .elementor .esi-service-scope h2,
body .elementor .esi-service-process h2,
body .elementor .esi-service-faq h2,
body .elementor .esi-service-related h2,
body .elementor .esi-service-cta h2,
body .elementor .esi-service-scope>.elementor-container>.elementor-column>.elementor-widget-wrap>.elementor-widget-heading:nth-of-type(2) h2,
body .elementor .esi-service-process>.elementor-container>.elementor-column>.elementor-widget-wrap>.elementor-widget-heading:nth-of-type(2) h2,
body .elementor .esi-service-related>.elementor-container>.elementor-column>.elementor-widget-wrap>.elementor-widget-heading:nth-of-type(2) h2 {
  font-size:clamp(32px,4vw,50.6px)!important;
  line-height:1.05!important;
}
body .elementor .esi-service-faq .elementor-tab-title,
body .elementor .esi-service-faq .elementor-tab-title a {
  font:800 16px/24px "ESI Manrope",Manrope,Arial,sans-serif!important;
}
body .elementor .esi-service-reviews h2 {
  font-size:clamp(28.8px,3vw,37.95px)!important;
  line-height:1.05!important;
}
body .elementor .esi-service-related-link .elementor-button,
body .elementor .esi-service-related-link .elementor-button-text,
body .elementor .esi-service-knowledge-link .elementor-button,
body .elementor .esi-service-knowledge-link .elementor-button-text,
body .elementor .esi-service-cta-button .elementor-button,
body .elementor .esi-service-cta-button .elementor-button-text,
body .elementor .esi-service-cta-phone .elementor-button,
body .elementor .esi-service-cta-phone .elementor-button-text {
  font-family:"ESI Manrope",Manrope,Arial,sans-serif!important;
  font-weight:800!important;
}
html body .elementor.elementor .esi-service-scope h2.elementor-heading-title,
html body .elementor.elementor .esi-service-process h2.elementor-heading-title,
html body .elementor.elementor .esi-service-faq h2.elementor-heading-title,
html body .elementor.elementor .esi-service-related h2.elementor-heading-title,
html body .elementor.elementor .esi-service-cta h2.elementor-heading-title {
  font-size:clamp(32px,4vw,50.6px)!important;
  line-height:1.05!important;
}
html body .elementor.elementor .esi-service-reviews h2.elementor-heading-title {
  font-size:clamp(28.8px,3vw,37.95px)!important;
  line-height:1.05!important;
}

/* Final isolation from the retired eight-section homepage rules. */
body .elementor .esi-home-1 .esi-native-hero-actions .elementor-widget-button{display:block;width:100%;margin:0!important;text-align:left}
body .elementor .esi-home-1 .esi-native-hero-actions{width:430px!important;max-width:100%;margin:30px auto 0 0!important}
body .elementor .esi-home-1 .elementor-section.esi-native-hero-actions.elementor-section-boxed>.elementor-container{width:430px!important;max-width:430px!important;margin-left:0!important;margin-right:auto!important}
body .elementor .esi-home-2.esi-native-audiences{top:0;margin:0!important;background:#f7f9fc!important}
body .elementor .esi-home-2.esi-native-audiences>.elementor-container{position:relative;z-index:3;transform:translateY(-50px)}
body .elementor .esi-home-2.esi-native-audiences>.elementor-container{gap:0!important}
body .elementor .esi-home-2.esi-native-audiences>.elementor-container>.elementor-column:first-child{width:calc(50% - 9px)!important;margin-right:9px}
body .elementor .esi-home-2.esi-native-audiences>.elementor-container>.elementor-column:last-child{width:calc(50% - 9px)!important;margin-left:9px}
body .elementor .esi-home-2 .esi-native-audience-card,body .elementor .esi-home-2 .esi-native-audience-card>.elementor-widget-wrap{border-radius:18px!important}
body .elementor .esi-home-6.esi-native-review-section>.elementor-container{background:transparent!important;border-radius:0!important;overflow:visible!important;box-shadow:none!important}
body .elementor .esi-home-6.esi-native-review-section{background:#0e1a2b!important}
body .elementor .esi-home-7.esi-native-cta{background:#2756ff!important}
@media(max-width:767px){body .elementor .esi-home-1 .esi-native-hero-actions{width:100%!important;margin-top:30px!important}body .elementor .esi-home-2.esi-native-audiences>.elementor-container{transform:none}body .elementor .esi-home-2.esi-native-audiences>.elementor-container>.elementor-column:first-child,body .elementor .esi-home-2.esi-native-audiences>.elementor-container>.elementor-column:last-child{width:100%!important;margin:0!important}body .elementor .esi-home-2 .esi-native-audience-card,body .elementor .esi-home-2 .esi-native-audience-card>.elementor-widget-wrap{border-radius:0!important}}

/* Authoritative native homepage layout. Keep this last: Blocksy and Elementor's
   generated post stylesheet must not change the reference geometry. */
body .elementor .esi-home-1{
  min-height:720px!important;
  height:720px!important;
  padding:0 24px!important;
  background-color:#0e1a2b!important;
  background-image:url("../images/hero.jpg")!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
}
body .elementor .esi-home-1>.elementor-container{
  width:min(1180px,calc(100% - 36px))!important;
  min-height:720px!important;
  height:720px!important;
  align-items:center!important;
}
body .elementor .esi-home-1>.elementor-background-overlay{
  opacity:1!important;
  background:linear-gradient(90deg,#091222ed 0%,#091222bb 48%,#09122222 100%)!important;
}
body .elementor .esi-home-1>.elementor-container>.elementor-column>.elementor-widget-wrap{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
}
body .elementor .esi-native-hero-title{max-width:720px!important}
body .elementor .esi-native-hero-title h1{
  max-width:720px!important;
  font-family:"ESI Archivo",Archivo,Arial,sans-serif!important;
  font-size:76.8px!important;
  font-weight:400!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
}
body .elementor .esi-home-1 .esi-native-hero-actions{
  position:relative!important;
  right:auto!important;
  left:auto!important;
  width:430px!important;
  max-width:430px!important;
  align-self:flex-start!important;
  margin:30px 0 0!important;
  transform:none!important;
}
body .elementor .esi-home-1 .esi-native-hero-actions>.elementor-container{
  width:430px!important;
  max-width:430px!important;
  margin:0!important;
}
body .elementor .esi-home-1 .esi-native-primary .elementor-button{background:#2756ff!important;color:#fff!important}
body .elementor .esi-home-1 .esi-native-ghost .elementor-button{border:1px solid #ffffff66!important;background:transparent!important;color:#fff!important}
body .elementor .esi-home-2.esi-native-audiences{padding-bottom:0!important}
body .elementor .esi-home-2 .esi-native-audience-light,body .elementor .esi-home-2 .esi-native-audience-light>.elementor-widget-wrap{background:#fff!important}
body .elementor .esi-home-2 .esi-native-audience-blue,body .elementor .esi-home-2 .esi-native-audience-blue>.elementor-widget-wrap{background:#2756ff!important;color:#fff!important}
body .elementor .esi-home-2 .esi-native-audience-card h2{
  font-family:"ESI Archivo",Archivo,Arial,sans-serif!important;
  font-size:48px!important;
  font-weight:400!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
}
body .elementor .esi-home-2 .esi-native-audience-card>.elementor-widget-wrap{
  justify-content:flex-start!important;
}
body .elementor .esi-native-step,
body .elementor .esi-native-step>.elementor-widget-wrap{
  border-radius:14px!important;
  overflow:hidden!important;
  background:#fff!important;
}
body .elementor .esi-native-steps,
body .elementor .esi-native-steps>.elementor-container{
  background:transparent!important;
}
body .elementor .esi-native-reviews .elementor-testimonial__title{
  display:none!important;
}
body .elementor .esi-native-reviews [class*="elementor-testimonial__title"]{
  display:none!important;
}
body .elementor .esi-native-review-section .esi-native-section-title h2,
body .elementor .esi-native-review-section .esi-native-rating h3{color:#fff!important}
body .elementor .esi-native-review-section .esi-native-stars h4{color:#f8c72e!important}
body .elementor .esi-native-cta .esi-native-section-title h2,
body .elementor .esi-native-cta p{color:#fff!important}
body .elementor .esi-native-cta .esi-native-phone .elementor-button,
body .elementor .esi-native-cta .esi-native-phone .elementor-button-text{white-space:nowrap!important}

@media(max-width:767px){
  html,body{max-width:100%;overflow-x:hidden}
  body .elementor .esi-home-1{height:650px!important;min-height:650px!important;padding:0 20px!important}
  body .elementor .esi-home-1>.elementor-container{width:100%!important;height:650px!important;min-height:650px!important}
  body .elementor .esi-native-hero-title,body .elementor .esi-native-hero-title h1{max-width:100%!important}
  body .elementor .esi-native-hero-title h1{font-size:40.8px!important;line-height:1.02!important}
  body .elementor .esi-native-hero-title h1{overflow-wrap:break-word!important;word-break:normal!important}
  body .elementor .esi-home-1 .esi-native-hero-actions,body .elementor .esi-home-1 .esi-native-hero-actions>.elementor-container{width:100%!important;max-width:100%!important}
  body .elementor .esi-home-1 .esi-native-hero-actions>.elementor-container{gap:12px!important;flex-wrap:nowrap!important}
  body .elementor .esi-home-1 .esi-native-hero-actions>.elementor-container>.elementor-column{width:calc(50% - 6px)!important;min-width:0!important;padding:0!important}
  body .elementor .esi-home-1 .esi-native-hero-actions .elementor-button{min-width:0!important;padding:14px 8px!important;font-size:13px!important;white-space:nowrap}
  body .elementor .esi-home-2.esi-native-audiences{padding:0!important}
  body .elementor .esi-home-2.esi-native-audiences>.elementor-container{width:100%!important;max-width:100%!important}
  body .elementor .esi-native-local>.elementor-container,body .elementor .esi-native-spotlight>.elementor-container{width:calc(100% - 40px)!important;max-width:100%!important;display:flex!important;flex-wrap:wrap!important}
  body .elementor .esi-native-local>.elementor-container>.elementor-column:first-child,
  body .elementor .esi-native-local>.elementor-container>.elementor-column:last-child,
  body .elementor .esi-native-spotlight>.elementor-container>.elementor-column:first-child,
  body .elementor .esi-native-spotlight>.elementor-container>.elementor-column:last-child{width:100%!important;min-width:0!important}
  body .elementor .esi-native-steps,body .elementor .esi-native-steps>.elementor-container{width:100%!important;max-width:100%!important}
}

/* Final responsive guardrails. Must remain after the authoritative desktop
   block because Elementor previews retain explicit section/container widths. */
@media (min-width:768px) and (max-width:1024px){
  body .elementor .esi-native-hero-title h1{font-size:clamp(56px,7.2vw,68px)!important}
  body .elementor .esi-native-steps>.elementor-container{display:flex!important;flex-wrap:wrap!important;gap:14px!important}
  body .elementor .esi-native-steps>.elementor-container>.elementor-column{width:calc(50% - 7px)!important;max-width:calc(50% - 7px)!important;flex:0 0 calc(50% - 7px)!important;margin:0!important}
  body .elementor .esi-service-story-list,
  body .elementor .esi-service-story-list>.elementor-widget-wrap{height:auto!important}
  /* esi-service-reviews also gets an unconditional height:560.4px!important
     further up this file (desktop lock-down). Same specificity + !important
     on both sides means source order decides the tie, so this has to be
     re-asserted here, after that rule, or tablet reviews clip again. */
  body .elementor .esi-service-reviews{height:auto!important;min-height:0!important;overflow:visible!important}
  /* Reference design (checked directly at 768px) keeps every question
     text flush left and the icon pinned flush right, even for 2-line
     wrapped questions. Elementor's own accordion markup renders the icon
     BEFORE the title (class elementor-accordion-icon-left, confirmed on
     the real WordPress render), so margin-left:auto on the icon just
     shoves the icon+text pair rightward together instead of splitting
     them - order has to flip the visual position explicitly instead. */
  body .elementor .esi-service-faq .elementor-tab-title{justify-content:space-between!important;align-items:flex-start!important}
  body .elementor .esi-service-faq .elementor-tab-title .elementor-accordion-title{order:1!important}
  body .elementor .esi-service-faq .elementor-tab-title .elementor-accordion-icon{order:2!important;margin:0!important;flex-shrink:0!important}
  /* The benefits row's native Elementor column widths (25% each, sized for
     the 1180px desktop container) don't leave enough room at tablet widths
     once fixed per-column padding/border overhead is subtracted, so the 4th
     card wraps onto its own row with empty space beside it — confirmed on a
     real import (3-up then a lonely 4th). Force a clean 2x2 grid instead. */
  body .elementor .esi-service-benefits>.elementor-container{flex-wrap:wrap!important;gap:0!important}
  body .elementor .esi-service-benefits>.elementor-container>.elementor-column{width:50%!important;max-width:50%!important;flex:0 0 50%!important}
  body .elementor .esi-service-benefits>.elementor-container>.elementor-column>.elementor-widget-wrap{gap:0!important}
  body .elementor .esi-service-benefits>.elementor-container>.elementor-column:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.13)}
  body .elementor .esi-service-benefits>.elementor-container>.elementor-column:nth-child(2n){border-right:0}
}
@media (max-width:900px){
  body .elementor .esi-native-local>.elementor-container,
  body .elementor .esi-native-spotlight>.elementor-container{display:flex!important;flex-wrap:wrap!important;gap:40px!important}
  body .elementor .esi-native-local>.elementor-container>.elementor-column,
  body .elementor .esi-native-spotlight>.elementor-container>.elementor-column{width:100%!important;max-width:100%!important;flex:0 0 100%!important;margin:0!important}
  body .elementor .esi-native-cta>.elementor-container{display:flex!important;flex-wrap:wrap!important;gap:28px!important}
  body .elementor .esi-native-cta>.elementor-container>.elementor-column:first-child,
  body .elementor .esi-native-cta>.elementor-container>.elementor-column:last-child{width:100%!important;max-width:100%!important;flex:0 0 100%!important}
  body .elementor .esi-native-cta>.elementor-container>.elementor-column:last-child>.elementor-widget-wrap{display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-direction:row!important;flex-wrap:wrap!important;gap:18px!important;padding:0!important}
  body .elementor .esi-native-cta .esi-native-light-button,
  body .elementor .esi-native-cta .esi-native-phone{width:auto!important;max-width:100%!important;flex:0 0 auto!important;margin:0!important}
  body .elementor .esi-native-cta .esi-native-phone .elementor-button,
  body .elementor .esi-native-cta .esi-native-phone .elementor-button-text{white-space:nowrap!important}
}
@media (max-width:767px){
  body .elementor .esi-home-1 .elementor-section.esi-native-hero-actions.elementor-section-boxed>.elementor-container{width:100%!important;max-width:100%!important;display:flex!important;flex-wrap:nowrap!important;gap:12px!important}
  body .elementor .esi-home-1 .esi-native-hero-actions>.elementor-container>.elementor-column{width:calc(50% - 6px)!important;max-width:calc(50% - 6px)!important;flex:0 0 calc(50% - 6px)!important;min-width:0!important;margin:0!important}
  body .elementor .esi-home-1 .esi-native-hero-actions .elementor-widget-wrap,
  body .elementor .esi-home-1 .esi-native-hero-actions .elementor-widget-button,
  body .elementor .esi-home-1 .esi-native-hero-actions .elementor-button{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important}
  body .elementor .esi-home-1 .esi-native-hero-actions .elementor-button{display:flex!important;align-items:center!important;justify-content:center!important;padding:14px 7px!important;font-size:12.8px!important;line-height:20px!important;white-space:nowrap!important}
  body .elementor .esi-native-steps>.elementor-container>.elementor-column{width:100%!important;max-width:100%!important;flex:0 0 100%!important}
  body .elementor .esi-native-review-head>.elementor-container{display:flex!important;flex-wrap:wrap!important;gap:20px!important}
  body .elementor .esi-native-review-head>.elementor-container>.elementor-column{width:100%!important;max-width:100%!important;flex:0 0 100%!important}
  body .elementor .esi-native-rating h3,
  body .elementor .esi-native-stars h4{text-align:left!important}
  body .elementor .esi-service-reviews{height:auto!important;min-height:0!important;overflow:visible!important}
  body .elementor .esi-service-hero>.elementor-container,
  body .elementor .esi-service-story>.elementor-container{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important}
  body .elementor .esi-service-hero>.elementor-container>.elementor-column,
  body .elementor .esi-service-story>.elementor-container>.elementor-column{width:100%!important;max-width:100%!important;flex:0 0 100%!important;min-width:0!important}
  body .elementor .esi-service-benefits>.elementor-container{display:flex!important;flex-wrap:wrap!important}
  body .elementor .esi-service-benefits>.elementor-container>.elementor-column{width:50%!important;max-width:50%!important;flex:0 0 50%!important;min-width:0!important}
  body .elementor .esi-service-benefits h3{display:block!important;visibility:visible!important;opacity:1!important;color:#fff!important}
  body .elementor .esi-service-image-badge{right:24px!important;left:auto!important;max-width:calc(100% - 48px)!important}
  body .elementor .esi-service-image-badge .elementor-button{max-width:100%!important}
  /* Checked directly against the reference site at 375px: question text
     stays flush left, icon stays pinned flush right, for both single-line
     and 2-line wrapped questions - the icon top-aligns with the first
     line rather than centering across both. Elementor's own accordion
     markup renders the icon BEFORE the title (class
     elementor-accordion-icon-left, confirmed on the real WordPress
     render), so margin-left:auto on the icon just shoves the icon+text
     pair rightward together instead of splitting them - order has to
     flip the visual position explicitly instead. */
  body .elementor .esi-service-faq .elementor-tab-title{justify-content:space-between!important;align-items:flex-start!important}
  body .elementor .esi-service-faq .elementor-tab-title .elementor-accordion-title{order:1!important}
  body .elementor .esi-service-faq .elementor-tab-title .elementor-accordion-icon{order:2!important;margin:0!important;flex-shrink:0!important}
}
/* Reference design (checked directly) switches the benefits grid from 1
   column to 2 columns exactly at 576px, not at 430px - a narrower cutoff
   was an earlier guess made without the reference to check against. Below
   576px the 2-up grid (forced above by the ≤767px block, selector matched
   at equal specificity so it must come after that block to win) also
   leaves each card too little usable text width for words like
   "Elbillading"/"Rehabilitering" to fit on one line without overflow-wrap
   cutting them mid-word, so this single breakpoint fixes both. */
@media(max-width:575px){
  body .elementor .esi-service-benefits>.elementor-container>.elementor-column{width:100%!important;max-width:100%!important;flex:0 0 100%!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.13)}
  body .elementor .esi-service-benefits>.elementor-container>.elementor-column:last-child{border-bottom:0}
}
@media (max-width:560px){
  body .elementor .esi-native-cta{padding:70px 20px 100px!important}
  body .elementor .esi-native-cta .esi-native-section-title h2{font-size:40px!important;line-height:1.05!important;overflow-wrap:normal!important;word-break:normal!important}
  body .elementor .esi-native-cta>.elementor-container>.elementor-column:last-child>.elementor-widget-wrap{align-items:center!important;justify-content:flex-start!important;flex-direction:row!important;flex-wrap:wrap!important;gap:14px 18px!important}
  body .elementor .esi-native-cta .esi-native-light-button .elementor-button{min-width:170px!important}
  body .elementor .esi-native-cta .esi-native-phone .elementor-button{display:flex!important;align-items:center!important;min-height:48px!important}
}

/* Imported Elementor pages can append their generated post stylesheet after
   the plugin stylesheet. Keep the approved service heading metrics locked at
   the strongest page-local specificity without touching global typography.
   50.6px is the approved value at the 1265px desktop breakpoint this project
   tests against - checked directly against the reference site, it isn't a
   flat value below that width. Reference scales these headings fluidly
   (exactly 4vw, floored at 32px) all the way from mobile through tablet,
   only reaching 50.6px at 1265px - a flat, unconditional 50.6px here meant
   the CTA heading (the longest of the five) wrapped to 3-4 lines on mobile,
   which is what actually prompted this fix. clamp() reproduces that curve
   without needing separate breakpoint-scoped overrides. */
html body .elementor.elementor .esi-service-scope h2,
html body .elementor.elementor .esi-service-process h2,
html body .elementor.elementor .esi-service-faq h2,
html body .elementor.elementor .esi-service-related h2,
html body .elementor.elementor .esi-service-cta h2{font-size:clamp(32px,4vw,50.6px)!important;line-height:1.05!important}

/* Final shared desktop alignment: keep every service page's FAQ questions in
   one clean right-hand column and preserve the approved breathing room below
   the 24/7 badge inside the hero image. */
@media (min-width:1025px){
  html body .elementor.elementor .esi-service-faq-items>.elementor-widget-wrap{
    width:min(100%,720px)!important;
    margin-left:auto!important;
  }
  html body .elementor.elementor .esi-service-faq .elementor-tab-title{
    justify-content:flex-start!important;
    text-align:left!important;
  }
  html body .elementor.elementor .esi-service-faq .elementor-tab-title .elementor-accordion-icon{
    order:1!important;
    flex:0 0 auto!important;
    margin:0 14px 0 0!important;
  }
  html body .elementor.elementor .esi-service-faq .elementor-tab-title .elementor-accordion-title{
    order:2!important;
    flex:1 1 auto!important;
    text-align:left!important;
  }
  html body .elementor.elementor .esi-service-image-badge{
    bottom:36px!important;
  }
}

/* Shared interactive states for every imported service page. Hover effects
   are limited to precise pointing devices so touch screens keep their normal
   appearance; keyboard users receive the equivalent focus treatment. */
html body .elementor.elementor .esi-service-hero-copy>.elementor-widget-wrap>.elementor-widget-button:not(.esi-service-phone) .elementor-button,
html body .elementor.elementor .esi-service-phone .elementor-button,
html body .elementor.elementor .esi-service-cta-button .elementor-button,
html body .elementor.elementor .esi-service-cta-phone .elementor-button,
html body .elementor.elementor .esi-service-image-badge .elementor-button{
  transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease!important;
}
@media (hover:hover) and (pointer:fine){
  html body .elementor.elementor .esi-service-hero-copy>.elementor-widget-wrap>.elementor-widget-button:not(.esi-service-phone) .elementor-button:hover,
  html body .elementor.elementor .esi-service-cta-button .elementor-button:hover{
    color:#101827!important;
    background:#f8c72e!important;
    transform:translateY(-2px);
    box-shadow:0 10px 25px rgba(14,26,43,.2)!important;
  }
  html body .elementor.elementor .esi-service-phone .elementor-button:hover,
  html body .elementor.elementor .esi-service-cta-phone .elementor-button:hover{
    color:#f8c72e!important;
    transform:translateY(-2px);
  }
  html body .elementor.elementor .esi-service-image-badge .elementor-button:hover{
    color:#101827!important;
    background:#f8c72e!important;
    transform:translateY(-2px);
    box-shadow:0 10px 25px rgba(14,26,43,.2)!important;
  }
}
html body .elementor.elementor .esi-service-hero-copy>.elementor-widget-wrap>.elementor-widget-button:not(.esi-service-phone) .elementor-button:focus-visible,
html body .elementor.elementor .esi-service-phone .elementor-button:focus-visible,
html body .elementor.elementor .esi-service-cta-button .elementor-button:focus-visible,
html body .elementor.elementor .esi-service-cta-phone .elementor-button:focus-visible,
html body .elementor.elementor .esi-service-image-badge .elementor-button:focus-visible{
  outline:3px solid #f8c72e!important;
  outline-offset:4px!important;
}

/* The homepage uses its own native Elementor hooks, so mirror the lower
   service CTA interaction explicitly in the blue homepage CTA. */
html body .elementor.elementor .esi-native-cta .esi-native-light-button .elementor-button,
html body .elementor.elementor .esi-native-cta .esi-native-phone .elementor-button{
  transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease!important;
}
@media (hover:hover) and (pointer:fine){
  html body .elementor.elementor .esi-native-cta .esi-native-light-button .elementor-button:hover{
    color:#101827!important;
    background:#f8c72e!important;
    transform:translateY(-2px);
    box-shadow:0 10px 25px rgba(14,26,43,.2)!important;
  }
  html body .elementor.elementor .esi-native-cta .esi-native-phone .elementor-button:hover{
    color:#f8c72e!important;
    transform:translateY(-2px);
  }
}
html body .elementor.elementor .esi-native-cta .esi-native-light-button .elementor-button:focus-visible,
html body .elementor.elementor .esi-native-cta .esi-native-phone .elementor-button:focus-visible{
  outline:3px solid #f8c72e!important;
  outline-offset:4px!important;
}
