.elementor-kit-4{--e-global-color-primary:#1135CB;--e-global-color-secondary:#1B2133;--e-global-color-text:#0E1220;--e-global-color-accent:#FF6A13;--e-global-color-steel:#5C6478;--e-global-color-paper:#F4F5F7;--e-global-color-surface:#FFFFFF;--e-global-color-inkraised:#262E42;--e-global-color-line:#DCE0E8;--e-global-color-linedark:#333C55;--e-global-color-muteddark:#9099AE;--e-global-color-signallift:#7B93FF;--e-global-typography-primary-font-family:"Archivo";--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:1em;--e-global-typography-primary-letter-spacing:-0.03em;--e-global-typography-secondary-font-family:"Archivo";--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:1.1em;--e-global-typography-secondary-letter-spacing:-0.02em;--e-global-typography-text-font-family:"IBM Plex Sans";--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.65em;--e-global-typography-accent-font-family:"IBM Plex Mono";--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1em;--e-global-typography-accent-letter-spacing:0.18em;color:#0E1220;font-family:"IBM Plex Sans", Sans-serif;font-size:17px;font-weight:400;line-height:1.65em;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ===== Revisjonsrunde 2 — 2026-09-04 ===== */

/* B. Mobile/tablet header alignment.
   The nav-menu widget lays out [main nav | burger | dropdown nav] as a flex
   column with a 24px gap plus an 8px margin on the dropdown. Closed, that made
   the widget 65px tall against a 33px burger, so the burger sat 16px above the
   logo's centre line, and `margin:0 auto` centred it in its own box instead of
   placing it at the header's right edge. The 8px dropdown offset is restored
   only while the menu is actually open. */
@media (max-width:1024px){
  body .elementor-82 .elementor-element.elementor-element-e8ea2de{
    gap:0 !important; row-gap:0 !important;
  }
  body .elementor-82 .elementor-element.elementor-element-e8ea2de
    .elementor-nav-menu__container.elementor-nav-menu--dropdown{
    margin-top:0 !important;
  }
  body .elementor-82 .elementor-element.elementor-element-e8ea2de
    .elementor-menu-toggle.elementor-active
    + .elementor-nav-menu__container.elementor-nav-menu--dropdown{
    margin-top:8px !important;
  }
  body .elementor-82 .elementor-element.elementor-element-e8ea2de .elementor-menu-toggle{
    margin:0 0 0 auto !important;
  }
}

/* C. FAQ accordion "+" was 28px against a 19px title — bigger than the text it
   belongs to. 17px reads as a neat secondary mark. */
.elementor-accordion .elementor-accordion-icon{
  font-size:17px;
  width:1.15em;
}
.elementor-accordion .elementor-accordion-icon i{ font-size:inherit; }

/* D. A long unbreakable mailto address (post@bjarnejohansen.no) overran its
   container at tablet width and pushed the page 2px wide, producing a
   horizontal scrollbar. */
a[href^="mailto:"], a[href^="tel:"]{ overflow-wrap:anywhere; }
/* E. Homepage hero was still a two-column grid at tablet, leaving the headline
   a 321px column — the 64px h1 wrapped to SIX lines at 768px. The approved
   mockup only splits the hero at >=860px and stacks below that, so match its
   breakpoint exactly rather than Elementor's 1024px tablet stop. Stacked, the
   headline gets 637px and sets in two lines at the same 64px. */
@media (max-width:859px){
  body .elementor-49 .elementor-element.elementor-element-aae80b3{
    grid-template-columns:1fr !important;
  }
}
/* anchor-offset */
/* Sticky header is 80px (72px under 768px). Any in-page jump must clear it, or the
   heading you jumped to sits behind the header. Scoped to main so header/footer
   ids are untouched. */
.elementor-location-main [id],
.elementor-page [id]{scroll-margin-top:96px}
@media (max-width:767px){
  .elementor-location-main [id],
  .elementor-page [id]{scroll-margin-top:84px}
}

/* text-rag */
/* Avoid a single word alone on a paragraph's last line. Measured: 28 -> 3 orphans
   across the first eight pages at 1280px. Progressive enhancement — older engines
   just wrap as before. Headings keep balance, which suits display type. */
.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
.elementor-widget-theme-post-content p,
.bjdel p, .frm_description, .frm_primary_label{text-wrap:pretty}

/* rev7-headings */
.e-grid > .e-con-inner > .e-con,
.e-grid > .e-con{container-type:inline-size}
@container (max-width:320px){
  .elementor-widget-heading h3,
  .elementor-widget-heading h4{font-size:21px !important;line-height:1.28 !important}
}
@container (max-width:250px){
  .elementor-widget-heading h3,
  .elementor-widget-heading h4{font-size:19px !important;line-height:1.3 !important}
}
.e-grid > .e-con-inner > .e-con .elementor-widget-heading h1,
.e-grid > .e-con .elementor-widget-heading h1{font-size:clamp(26px,9.6cqw,80px) !important}
/* end rev7-headings *//* End custom CSS */