/* GENERATED by scripts/12-extract-head-styles.ts — Webflow <head> <style> embeds.
   24 unique blocks from 34 pages. Do not hand-edit; re-run the script. */

/* from index.html */
html.w-mod-js:not(.w-mod-ix3) :is(.layout522_background-image-wrapper) {visibility: hidden !important;}

/* from index.html */
* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -o-font-smoothing: antialiased;
}
.nav_arrow-wrapper {
  display: none;
  align-items: center;
  justify-content: center;
}
.navbar12_dropdown-link {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* from index.html */
[data-underline-link] {
  text-decoration: none;
  position: relative;
}
[data-underline-link]::before,
[data-underline-link="alt"]::before,
[data-underline-link="alt"]::after {
  content: "";
  position: absolute;
  bottom: -0.0625em;
  left: 0;
  width: 100%;
  height: 0.0625em;
  background-color: currentColor;
  transition: transform 0.735s cubic-bezier(0.625, 0.05, 0, 1);
  transform-origin: right;
  transform: scaleX(0) rotate(0.001deg);
}
[data-underline-link="alt"]::before {
  transform-origin: left;
  transform: scaleX(1) rotate(0.001deg);
  transition-delay: 0.3s;
}
[data-underline-link="alt"]::after {
  transform-origin: right;
  transform: scaleX(0) rotate(0.001deg);
  transition-delay: 0s;
}
@media (hover: hover) and (pointer: fine) {
  [data-hover]:hover [data-underline-link]::before,
  [data-underline-link]:hover::before {
    transform-origin: left;
    transform: scaleX(1) rotate(0.001deg);
  }
  [data-hover]:hover [data-underline-link="alt"]::before,
  [data-underline-link="alt"]:hover::before {
    transform-origin: right;
    transform: scaleX(0) rotate(0.001deg);
    transition-delay: 0s;
  }
  [data-hover]:hover [data-underline-link="alt"]::after,
  [data-underline-link="alt"]:hover::after {
    transform-origin: left;
    transform: scaleX(1) rotate(0.001deg);
    transition-delay: 0.3s;
  }
}

/* from index.html */
[data-3d-hover-target] {
  transform: perspective(50vw);
  transform-style: preserve-3d;
  will-change: transform;
}
[data-3d-hover-inner="layer-1"] {
  transform: translateZ(3vw);
}
[data-3d-hover-inner="layer-2"] {
  transform: translateZ(5vw);
}
[data-3d-hover-inner="layer-3"] {
  transform: translateZ(6vw);
}
[data-3d-hover-inner="layer-4"] {
  transform: translateZ(8vw);
}

/* from index.html */
/* ------------------------- Scaling System by Osmo -------------------------  */
:root {
  --size-unit: 16;
  --size-container-ideal: 1440;
  --size-container-min: 992px;
  --size-container-max: 1920px;
  --size-container: clamp(var(--size-container-min), 100vw, var(--size-container-max));
  --size-font: calc(var(--size-container) / (var(--size-container-ideal) / var(--size-unit)));
}
@media screen and (max-width: 991px) {
  :root {
    --size-container-ideal: 834;
    --size-container-min: 768px;
    --size-container-max: 991px;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --size-container-ideal: 390;
    --size-container-min: 480px;
    --size-container-max: 767px;
  }
}
@media screen and (max-width: 479px) {
  :root {
    --size-container-ideal: 390;
    --size-container-min: 320px;
    --size-container-max: 479px;
  }
}
[data-underline-link] {
  text-decoration: none;
  position: relative;
}
[data-underline-link]::before {
  content: "";
  position: absolute;
  bottom: -0.0625em;
  left: 0;
  width: 100%;
  height: 0.1em;
  background-color: currentColor;
  transition: transform 0.735s cubic-bezier(0.625, 0.05, 0, 1);
  transform-origin: right;
  transform: scaleX(0) rotate(0.001deg);
}
@media (hover: hover) and (pointer: fine) {
  [data-hover]:hover [data-underline-link]::before,
  [data-underline-link]:hover::before {
    transform-origin: left;
    transform: scaleX(1) rotate(0.001deg);
  }  
}

/* from index.html */
/* Hide inactive panel */
[data-panel] { display: none; }
[data-panel].active { display: block; }
/* Tab item focus fix */
.tab-content__item {
  -webkit-tap-highlight-color: transparent;
  outline: none;
}
.tab-content__item:focus,
.tab-content__item:focus-visible,
.tab-content__item:active {
  outline: none !important;
  box-shadow: none !important;
}
.tab-content__item.active {
  background-color: #f5f0ef;
  border-radius: 12px;
}
/* Tab item main row */
.tab-content__item-main {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
}
/* Progress bar color */
.tab-progress {
  background-color: #ff9eb5 !important;
}
/* Fade inactive */
.tab-content__bottom:has(.tab-content__item.active) .tab-content__item:not(.active) {
  opacity: 0.5;
}
/* Toggle */
.toggle-wrapper {
  display: inline-flex;
  background: #E8E3DC;
  border-radius: 999px;
  padding: 4px !important;
  gap: 0;
  align-self: flex-start;
  width: auto !important;
}
.toggle-btn {
  padding: 8px 18px;
  border-radius: 999px;
  border: none;
  cursor: pointer;
  background: transparent;
  font-family: 'Switzer', sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  color: rgba(45, 0, 17, 0.4);
  transition: all 0.25s ease;
  white-space: nowrap;
  min-width: 80px;
  text-align: center;
}
.toggle-btn.active {
  background: #ffffff;
  color: #2D0011;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.tab-icon {
  flex-shrink: 0 !important;
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  min-height: 52px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
svg.tab-icon {
  transform-box: fill-box;
  transform-origin: center center;
  transition: transform 0.3s ease;
  transform: rotate(0deg);
}
.tab-content__item.active svg.tab-icon {
  transform: rotate(45deg);
}
.tab-icon__bg {
  fill: #ECE9E4;
  transition: fill 0.3s ease;
}
.tab-content__item.active .tab-icon__bg {
  fill: white !important;
}
/* Green dot pulse animation */
@keyframes dot-ping {
  0% { transform: scale(1); opacity: 0.75; }
  70%, 100% { transform: scale(2.4); opacity: 0; }
}
.icon-embed-tiny {
  position: relative;
  display: inline-flex;
  overflow: visible !important;
}
.icon-embed-tiny::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #38FB07;
  animation: dot-ping 1.8s cubic-bezier(0, 0, 0.2, 1) infinite;
}
/* ── LAYOUT 522 — shared bg-wrapper reveal (small + large) ── */
  /* Card shells — overflow:hidden clips anything that pokes past rounded corners */
  .layout522_card-small,
  .layout522_card-large {
    overflow: hidden !important;
    position: relative;
    min-height: 487px;
    will-change: transform;
  }
  /* BG wrapper appearance (translucent white + hairline border) */
  .layout522_card-content-bg {
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.5);
backdrop-filter: blur(14px);
  }
  /* Background image fills the whole card */
  .layout522_card-small .layout522_background-image-wrapper,
  .layout522_card-large .layout522_background-image-wrapper {
    overflow: hidden;
    position: absolute !important;
    inset: 0;
    z-index: 0;
  }
  .layout522_card-small .layout522_background-image,
  .layout522_card-large .layout522_background-image {
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    transform: scale(1);
    will-change: transform;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .layout522_card-small:hover .layout522_background-image,
  .layout522_card-large:hover .layout522_background-image {
    transform: scale(1.06);
  }
  /* BG wrapper — absolutely-positioned panel anchored to the bottom; it stays put */
  .layout522_card-small > .layout522_card-content-bg,
  .layout522_card-large > .layout522_card-content-bg {
    position: absolute !important;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    z-index: 1;
    overflow: hidden;
  }
  /* Inner content lives in flow inside the bg, sized to content via the grid-rows trick */
  .layout522_card-small-content,
  .layout522_card-small-content-soon,
  .layout522_card-large-content,
  .layout522_card-large-content-soon {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    display: grid !important;
    grid-template-rows: auto 0fr;
    justify-content: start !important; 
    transition: grid-template-rows 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  }
  /* The old huge top spacer was for absolute positioning — neutralize inside bg */
  .layout522_card-content-bg .margin-top.margin-xxxhuge {
    margin-top: 0 !important;
  }
  /* Button row (last child of content) must be able to collapse to 0fr */
  .layout522_card-small-content > *:last-child,
  .layout522_card-large-content > *:last-child {
    overflow: hidden;
    min-height: 0;
  }
  /* Reveal on card hover/focus — bg grows naturally with the expanding content */
  .layout522_card-small:hover .layout522_card-small-content,
  .layout522_card-small:focus-within .layout522_card-small-content,
  .layout522_card-large:hover .layout522_card-large-content,
  .layout522_card-large:focus-within .layout522_card-large-content {
    grid-template-rows: auto 1fr;
  }
  /* Button fade-in inside both card sizes */
  .layout522_card-small-content .button-wrapper,
  .layout522_card-large-content .button-wrapper {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.4s cubic-bezier(0.25, 1, 0.5, 1),
                transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    transition-delay: 0.1s;
    margin-top: 0.75rem;
    pointer-events: none;
  }
  .layout522_card-small:hover .layout522_card-small-content .button-wrapper,
  .layout522_card-small:focus-within .layout522_card-small-content .button-wrapper,
  .layout522_card-large:hover .layout522_card-large-content .button-wrapper,
  .layout522_card-large:focus-within .layout522_card-large-content .button-wrapper {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* ── HARD LEFT-ALIGN — catches every level of button container ── */
  /* The button-row grid item itself */
  .layout522_card-content-bg .layout522_card-small-content > *:last-child,
  .layout522_card-content-bg .layout522_card-large-content > *:last-child {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    justify-self: start !important;
    align-self: start !important;
    text-align: left !important;
    width: 100% !important;
    margin: 0 !important;
    /* keep the collapse behavior from earlier */
    overflow: hidden;
    min-height: 0;
  }
  /* The button-group flex container (and any combo like "button-group 4") */
  .layout522_card-content-bg .button-group,
  .layout522_card-content-bg [class*="button-group"] {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    align-self: flex-start !important;
  }
  /* The button-wrapper that contains the actual button */
  .layout522_card-content-bg .button-wrapper {
    align-self: flex-start !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    text-align: left !important;
  }
  /* The button itself */
  .layout522_card-content-bg .pris-btn,
  .layout522_card-content-bg a[class*="pris-btn"] {
    align-self: flex-start !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
  /* Long Danish button labels — keep on one line. The char-stagger spans break
     word boundaries, so without nowrap text wraps mid-word ("hjemm/e"). */
  .layout522_card-small [data-button-animate-chars],
  .layout522_card-large [data-button-animate-chars] {
    white-space: nowrap;
  }
  /* Mobile / no-hover devices — show revealed state by default */
  @media (hover: none), (max-width: 991px) {
    .layout522_card-small .layout522_card-small-content,
    .layout522_card-large .layout522_card-large-content {
      grid-template-rows: auto 1fr;
    }
    .layout522_card-small .layout522_card-small-content .button-wrapper,
    .layout522_card-large .layout522_card-large-content .button-wrapper {
      opacity: 1;
      transform: translateY(0);
      pointer-events: auto;
    }
  }
/* Blog card image scale */
.blog1_image-wrapper {
  overflow: hidden;
}
.blog1_image {
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  transform: scale(1);
  will-change: transform;
}
.blog1_item-link:hover .blog1_image {
  transform: scale(1.06);
}
.arrow_icon {
  transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.blog1_item-link:hover .arrow_icon {
  transform: scale(1.15);
}
/* Rich text bullet points */
.blog-post1-content_content ul {
  list-style-type: disc !important;
  padding-left: 1.5em !important;
  margin-bottom: 1em !important;
}
.blog-post1-content_content ol {
  list-style-type: decimal !important;
  padding-left: 1.5em !important;
  margin-bottom: 1em !important;
}
.blog-post1-content_content li {
  display: list-item !important;
  margin-bottom: 0.5em !important;
}
.fact-box * {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}
/* ── Button animation ── */
.pris-btn {
  overflow: hidden;
  cursor: pointer;
  position: relative;
}
.pris-btn_label {
  overflow: hidden;
}
/* Osmo Button Character Stagger */
.btn-animate-chars [data-button-animate-chars] {
  overflow: hidden;
  position: relative;
  display: inline-block;
}
.btn-animate-chars [data-button-animate-chars] span {
  display: inline-block;
  position: relative;
  text-shadow: 0px 1.3em currentColor;
  transform: translateY(0em) rotate(0.001deg);
  transition: transform 0.6s cubic-bezier(0.625, 0.05, 0, 1);
}
.btn-animate-chars:hover [data-button-animate-chars] span {
  transform: translateY(-1.3em) rotate(0.001deg);
}
.btn-animate-chars__bg {
  inset: 0;
  transition: inset 0.6s cubic-bezier(0.625, 0.05, 0, 1);
}
.btn-animate-chars:hover .btn-animate-chars__bg {
  inset: 0.125em;
}
/* ── Icon wrap — replaces the single SVG ── */
.pris-btn__icon-wrap {
  width: 30px;
  height: 30px;
  background-color: #2D0011;
  border-radius: 6.47867px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
/* Dark variant already exists, add light variant */
.pris-btn.dark .pris-btn__icon-wrap {
  background-color: #2D0011;
}
/* ── Arrow track ── */
.pris-btn__arrow-track {
  position: relative;
  width: 10px;
  height: 10px;
  overflow: hidden;
}
.pris-btn__arrow {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.45s cubic-bezier(0.76, 0, 0.24, 1);
}
.pris-btn__arrow--clone {
  transform: translateX(-200%);
}
.pris-btn:hover .pris-btn__arrow:not(.pris-btn__arrow--clone) {
  transform: translateX(200%);
}
.pris-btn:hover .pris-btn__arrow--clone {
  transform: translateX(0);
}
.pris-btn__icon-wrap {
  width: 40px;
  height: 40px;
  background-color: #2D0011;
  border-radius: 6.47867px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.pris-btn__icon-wrap--light {
  background-color: #ffacca;
}
/* Desktop only — stack panes for GSAP crossfade */
@media screen and (min-width: 480px) {
  .layout406_tabs-content {
    position: relative !important;
  }
  .layout406_tab-pane {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    pointer-events: none;
  }
  .layout406_tab-pane.w--tab-active {
    pointer-events: auto;
  }
}
/* ── header103 logo SVGs — mobile size fix ── */
@media screen and (max-width: 767px) {
  .header103_tab-content svg,
  .header103_tab-link svg {
    width: auto !important;
    height: 18px !important;
    max-width: 100% !important;
  }
}
@media screen and (max-width: 479px) {
  .header103_tab-content svg,
  .header103_tab-link svg {
    width: auto !important;
    height: 14px !important;
    max-width: 100% !important;
  }
}
/* Vertically center the image in auto-tabs sections */
  .tab-layout__col.is-image {
    display: flex;
    flex-direction: column;
  }
  .tab-layout__col.is-image .tab-visual__wrap {
    margin-top: auto;
    margin-bottom: auto;
  }
  /* More breathing room at the bottom of auto-tabs sections */
  .section_auto-tabs .padding-section-small {
    padding-bottom: 96px;
  }
  .tab-progress { display: none; }

/* from index.html */
.directional-blur-bottom {
    width: 100%;
    height: 3.75rem;
    position: fixed;
    left: 0;
    bottom: -1px;
    z-index: 900;
    pointer-events: none;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,1) 0%, rgba(0,0,0,0.95) 20%, rgba(0,0,0,0.7) 45%, rgba(0,0,0,0.35) 65%, rgba(0,0,0,0.15) 80%, rgba(0,0,0,0) 100%);
    mask-image: linear-gradient(to top, rgba(0,0,0,1) 0%, rgba(0,0,0,0.95) 20%, rgba(0,0,0,0.7) 45%, rgba(0,0,0,0.35) 65%, rgba(0,0,0,0.15) 80%, rgba(0,0,0,0) 100%);
    background: transparent;
  }
  .directional-blur-bottom.top {
    top: 40px;
    bottom: auto;
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 0%, rgba(0,0,0,0.95) 20%, rgba(0,0,0,0.7) 45%, rgba(0,0,0,0.35) 65%, rgba(0,0,0,0.15) 80%, rgba(0,0,0,0) 100%);
    mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 0%, rgba(0,0,0,0.95) 20%, rgba(0,0,0,0.7) 45%, rgba(0,0,0,0.35) 65%, rgba(0,0,0,0.15) 80%, rgba(0,0,0,0) 100%);
  }

/* from index.html */
/* Fix small card image scale base — matches Webflow scroll animation starting scale */
.section_layout522 .layout522_card-small .layout522_background-image {
  transform: scale(1.05) !important;
}
.section_layout522 .layout522_card-small:hover .layout522_background-image {
  transform: scale(1.1) !important;
}

/* from index.html */
.section_layout522 .layout522_card-small {
  transform: none !important;
}

/* from index.html */
@media (max-width: 479px) {
    .navbar2_dropdwn-toggle {
      background-color: transparent;
      transition: background-color 0.3s ease;
    }
    .navbar2_dropdwn-toggle.w--open {
      background-color: #fff6fa;
    }
  }

/* from om-frankly.html */
[data-gsap-slider-init] {
  --slider-status: on;
  --slider-spv: 3;
  --slider-gap: 1.5em;
}
@media screen and (max-width: 991px) {
   [data-gsap-slider-init] {
    --slider-status: on;
    --slider-spv: 2.25;
    --slider-gap: 1.5em;
  } 
}
@media screen and (max-width: 767px) {
  [data-gsap-slider-init] { 
    --slider-status: on;
    --slider-spv: 1.15;
    --slider-gap: 1em;
  }
}
[data-gsap-slider-item]:last-child {
  margin-right: 0;
}
/* Controls */
[data-gsap-slider-status="not-active"] [data-gsap-slider-controls] {
  display: none;
}
[data-gsap-slider-control-status="not-active"] { 
  background-color: transparent;
  color: #000;
  opacity: 0.4;
  pointer-events: none;
}
/* Customization */
.gsap-slider__control {
  transition: opacity 0.3s ease;
}
.demo-card-2 {
  transition: all 0.3s ease;
}
/* Only fade completely out of view cards */
[data-gsap-slider-item-status="not-active"] .demo-card-2 {
  opacity: 0.5;
}
.demo-card__tag {
  transition: all 0.3s ease;
}
/* Arrow button styling */
[data-gsap-slider-control] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  border: none;
  cursor: pointer;
  transition: opacity 0.3s ease, background-color 0.3s ease;
  background-color: transparent;
  color: #000;
}
[data-gsap-slider-control-status="active"] {
  background-color: #1a0a14;
  color: #ff9eb5;
}
[data-gsap-slider-control] svg {
  pointer-events: none;
}

/* from partnere.html */
.partners-bottom {
  overflow: hidden;
}
.partners-grid {
  transform: none !important;
  transition: none !important;
}
.partners-row {
  display: flex;
  flex-wrap: nowrap;
  width: max-content;
  will-change: transform;
}
@media (prefers-reduced-motion: reduce) {
  .partners-row { animation: none !important; }
}

/* from vilkar.html */
p br {
  display: block;
  margin-bottom: 1em;
  content: "";
}

/* from blog.html */
/* Hide category collect elements — only used by JS */
/* Filter buttons — base */
[data-filter-target] {
  transition: color 0.3s ease, background-color 0.3s ease !important;
  cursor: pointer !important;
  border: none !important;
  text-decoration: none !important;
  border-radius: 32px !important;
  padding: 8px 16px !important;
  font-family: 'Switzer', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}
/* Active filter button */
[data-filter-target][data-filter-status="active"] {
  background-color: #FFFFFF !important;
  color: #111111 !important;
}
/* Inactive filter button */
[data-filter-target][data-filter-status="not-active"] {
  background-color: transparent !important;
  color: #9E9E9E !important;
}
/* Filter card animations */
[data-filter-name][data-filter-status="active"] {
  transition: opacity 0.6s cubic-bezier(0.625, 0.05, 0, 1), 
              transform 0.6s cubic-bezier(0.625, 0.05, 0, 1);
  transform: scale(1) rotate(0.001deg);
  opacity: 1;
  visibility: visible;
  position: relative;
}
[data-filter-name][data-filter-status="transition-out"] {
  transition: opacity 0.45s cubic-bezier(0.625, 0.05, 0, 1), 
              transform 0.45s cubic-bezier(0.625, 0.05, 0, 1);
  transform: scale(0.9) rotate(0.001deg);
  opacity: 0;
  visibility: visible;
}
[data-filter-name][data-filter-status="not-active"] {
  transform: scale(0.9) rotate(0.001deg);
  opacity: 0;
  visibility: hidden;
  position: absolute;
}

/* from blog.html */
.header50_background-image-wrapper {
  overflow: hidden !important;
}

/* from detail_blog.html */
.section_header50 .header50_background-image-wrapper {
  overflow: hidden !important;
}

/* from .live-cache/_blog.html */
* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -o-font-smoothing: antialiased;
}
.nav_arrow-wrapper {
  display: none;
  align-items: center;
  justify-content: center;
}


.navbar12_dropdown-link {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* from .live-cache/_blog.html */
[data-3d-hover-target] {
  transform: perspective(50vw);
  transform-style: preserve-3d;
  will-change: transform;
}

[data-3d-hover-inner="layer-1"] {
  transform: translateZ(3vw);
}

[data-3d-hover-inner="layer-2"] {
  transform: translateZ(5vw);
}

[data-3d-hover-inner="layer-3"] {
  transform: translateZ(6vw);
}

[data-3d-hover-inner="layer-4"] {
  transform: translateZ(8vw);
}

/* from .live-cache/_blog.html */
/* ------------------------- Scaling System by Osmo -------------------------  */
:root {
  --size-unit: 16;
  --size-container-ideal: 1440;
  --size-container-min: 992px;
  --size-container-max: 1920px;
  --size-container: clamp(var(--size-container-min), 100vw, var(--size-container-max));
  --size-font: calc(var(--size-container) / (var(--size-container-ideal) / var(--size-unit)));
}
@media screen and (max-width: 991px) {
  :root {
    --size-container-ideal: 834;
    --size-container-min: 768px;
    --size-container-max: 991px;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --size-container-ideal: 390;
    --size-container-min: 480px;
    --size-container-max: 767px;
  }
}
@media screen and (max-width: 479px) {
  :root {
    --size-container-ideal: 390;
    --size-container-min: 320px;
    --size-container-max: 479px;
  }
}

[data-underline-link] {
  text-decoration: none;
  position: relative;
}
[data-underline-link]::before {
  content: "";
  position: absolute;
  bottom: -0.0625em;
  left: 0;
  width: 100%;
  height: 0.1em;
  background-color: currentColor;
  transition: transform 0.735s cubic-bezier(0.625, 0.05, 0, 1);
  transform-origin: right;
  transform: scaleX(0) rotate(0.001deg);
}
@media (hover: hover) and (pointer: fine) {
  [data-hover]:hover [data-underline-link]::before,
  [data-underline-link]:hover::before {
    transform-origin: left;
    transform: scaleX(1) rotate(0.001deg);
  }  
}

/* from .live-cache/_blog.html */
/* Hide inactive panel */
[data-panel] { display: none; }
[data-panel].active { display: block; }

/* Tab item focus fix */
.tab-content__item {
  -webkit-tap-highlight-color: transparent;
  outline: none;
}
.tab-content__item:focus,
.tab-content__item:focus-visible,
.tab-content__item:active {
  outline: none !important;
  box-shadow: none !important;
}

.tab-content__item.active {
  background-color: #f5f0ef;
  border-radius: 12px;
}

/* Tab item main row */
.tab-content__item-main {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
}

/* Progress bar color */
.tab-progress {
  background-color: #ff9eb5 !important;
}

/* Fade inactive */
.tab-content__bottom:has(.tab-content__item.active) .tab-content__item:not(.active) {
  opacity: 0.5;
}

/* Toggle */
.toggle-wrapper {
  display: inline-flex;
  background: #E8E3DC;
  border-radius: 999px;
  padding: 4px !important;
  gap: 0;
  align-self: flex-start;
  width: auto !important;
}
.toggle-btn {
  padding: 8px 18px;
  border-radius: 999px;
  border: none;
  cursor: pointer;
  background: transparent;
  font-family: 'Switzer', sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  color: rgba(45, 0, 17, 0.4);
  transition: all 0.25s ease;
  white-space: nowrap;
  min-width: 80px;
  text-align: center;
}
.toggle-btn.active {
  background: #ffffff;
  color: #2D0011;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.tab-icon {
  flex-shrink: 0 !important;
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  min-height: 52px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

svg.tab-icon {
  transform-box: fill-box;
  transform-origin: center center;
  transition: transform 0.3s ease;
  transform: rotate(0deg);
}

.tab-content__item.active svg.tab-icon {
  transform: rotate(45deg);
}

.tab-icon__bg {
  fill: #ECE9E4;
  transition: fill 0.3s ease;
}

.tab-content__item.active .tab-icon__bg {
  fill: white !important;
}

/* Green dot pulse animation */
@keyframes dot-ping {
  0% { transform: scale(1); opacity: 0.75; }
  70%, 100% { transform: scale(2.4); opacity: 0; }
}
.icon-embed-tiny {
  position: relative;
  display: inline-flex;
  overflow: visible !important;
}
.icon-embed-tiny::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #38FB07;
  animation: dot-ping 1.8s cubic-bezier(0, 0, 0.2, 1) infinite;
}


/* ── LAYOUT 522 — shared bg-wrapper reveal (small + large) ── */

  /* Card shells — overflow:hidden clips anything that pokes past rounded corners */
  .layout522_card-small,
  .layout522_card-large {
    overflow: hidden !important;
    position: relative;
    min-height: 487px;
    will-change: transform;
  }

  /* BG wrapper appearance (translucent white + hairline border) */
  .layout522_card-content-bg {
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.5);
backdrop-filter: blur(14px);
  }


  /* Background image fills the whole card */
  .layout522_card-small .layout522_background-image-wrapper,
  .layout522_card-large .layout522_background-image-wrapper {
    overflow: hidden;
    position: absolute !important;
    inset: 0;
    z-index: 0;
  }
  .layout522_card-small .layout522_background-image,
  .layout522_card-large .layout522_background-image {
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    transform: scale(1);
    will-change: transform;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .layout522_card-small:hover .layout522_background-image,
  .layout522_card-large:hover .layout522_background-image {
    transform: scale(1.06);
  }

  /* BG wrapper — absolutely-positioned panel anchored to the bottom; it stays put */
  .layout522_card-small > .layout522_card-content-bg,
  .layout522_card-large > .layout522_card-content-bg {
    position: absolute !important;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    z-index: 1;
    overflow: hidden;
  }

  /* Inner content lives in flow inside the bg, sized to content via the grid-rows trick */
  .layout522_card-small-content,
  .layout522_card-small-content-soon,
  .layout522_card-large-content,
  .layout522_card-large-content-soon {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    display: grid !important;
    grid-template-rows: auto 0fr;
    justify-content: start !important; 
    transition: grid-template-rows 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  }

  /* The old huge top spacer was for absolute positioning — neutralize inside bg */
  .layout522_card-content-bg .margin-top.margin-xxxhuge {
    margin-top: 0 !important;
  }

  /* Button row (last child of content) must be able to collapse to 0fr */
  .layout522_card-small-content > *:last-child,
  .layout522_card-large-content > *:last-child {
    overflow: hidden;
    min-height: 0;
  }

  /* Reveal on card hover/focus — bg grows naturally with the expanding content */
  .layout522_card-small:hover .layout522_card-small-content,
  .layout522_card-small:focus-within .layout522_card-small-content,
  .layout522_card-large:hover .layout522_card-large-content,
  .layout522_card-large:focus-within .layout522_card-large-content {
    grid-template-rows: auto 1fr;
  }

  /* Button fade-in inside both card sizes */
  .layout522_card-small-content .button-wrapper,
  .layout522_card-large-content .button-wrapper {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.4s cubic-bezier(0.25, 1, 0.5, 1),
                transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    transition-delay: 0.1s;
    margin-top: 0.75rem;
    pointer-events: none;
  }
  .layout522_card-small:hover .layout522_card-small-content .button-wrapper,
  .layout522_card-small:focus-within .layout522_card-small-content .button-wrapper,
  .layout522_card-large:hover .layout522_card-large-content .button-wrapper,
  .layout522_card-large:focus-within .layout522_card-large-content .button-wrapper {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }

  /* ── HARD LEFT-ALIGN — catches every level of button container ── */
  /* The button-row grid item itself */
  .layout522_card-content-bg .layout522_card-small-content > *:last-child,
  .layout522_card-content-bg .layout522_card-large-content > *:last-child {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    justify-self: start !important;
    align-self: start !important;
    text-align: left !important;
    width: 100% !important;
    margin: 0 !important;
    /* keep the collapse behavior from earlier */
    overflow: hidden;
    min-height: 0;
  }
  /* The button-group flex container (and any combo like "button-group 4") */
  .layout522_card-content-bg .button-group,
  .layout522_card-content-bg [class*="button-group"] {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    align-self: flex-start !important;
  }
  /* The button-wrapper that contains the actual button */
  .layout522_card-content-bg .button-wrapper {
    align-self: flex-start !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    text-align: left !important;
  }
  /* The button itself */
  .layout522_card-content-bg .pris-btn,
  .layout522_card-content-bg a[class*="pris-btn"] {
    align-self: flex-start !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  /* Long Danish button labels — keep on one line. The char-stagger spans break
     word boundaries, so without nowrap text wraps mid-word ("hjemm/e"). */
  .layout522_card-small [data-button-animate-chars],
  .layout522_card-large [data-button-animate-chars] {
    white-space: nowrap;
  }

  /* Mobile / no-hover devices — show revealed state by default */
  @media (hover: none), (max-width: 991px) {
    .layout522_card-small .layout522_card-small-content,
    .layout522_card-large .layout522_card-large-content {
      grid-template-rows: auto 1fr;
    }
    .layout522_card-small .layout522_card-small-content .button-wrapper,
    .layout522_card-large .layout522_card-large-content .button-wrapper {
      opacity: 1;
      transform: translateY(0);
      pointer-events: auto;
    }
  }

  



/* Blog card image scale */
.blog1_image-wrapper {
  overflow: hidden;
}
.blog1_image {
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  transform: scale(1);
  will-change: transform;
}
.blog1_item-link:hover .blog1_image {
  transform: scale(1.06);
}
.arrow_icon {
  transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.blog1_item-link:hover .arrow_icon {
  transform: scale(1.15);
}

/* Rich text bullet points */
.blog-post1-content_content ul {
  list-style-type: disc !important;
  padding-left: 1.5em !important;
  margin-bottom: 1em !important;
}
.blog-post1-content_content ol {
  list-style-type: decimal !important;
  padding-left: 1.5em !important;
  margin-bottom: 1em !important;
}
.blog-post1-content_content li {
  display: list-item !important;
  margin-bottom: 0.5em !important;
}
.fact-box * {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* ── Button animation ── */
.pris-btn {
  overflow: hidden;
  cursor: pointer;
  position: relative;
}
.pris-btn_label {
  overflow: hidden;
}

/* Osmo Button Character Stagger */
.btn-animate-chars [data-button-animate-chars] {
  overflow: hidden;
  position: relative;
  display: inline-block;
}
.btn-animate-chars [data-button-animate-chars] span {
  display: inline-block;
  position: relative;
  text-shadow: 0px 1.3em currentColor;
  transform: translateY(0em) rotate(0.001deg);
  transition: transform 0.6s cubic-bezier(0.625, 0.05, 0, 1);
}
.btn-animate-chars:hover [data-button-animate-chars] span {
  transform: translateY(-1.3em) rotate(0.001deg);
}
.btn-animate-chars__bg {
  inset: 0;
  transition: inset 0.6s cubic-bezier(0.625, 0.05, 0, 1);
}
.btn-animate-chars:hover .btn-animate-chars__bg {
  inset: 0.125em;
}


/* ── Icon wrap — replaces the single SVG ── */
.pris-btn__icon-wrap {
  width: 30px;
  height: 30px;
  background-color: #2D0011;
  border-radius: 6.47867px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* Dark variant already exists, add light variant */
.pris-btn.dark .pris-btn__icon-wrap {
  background-color: #2D0011;
}

/* ── Arrow track ── */
.pris-btn__arrow-track {
  position: relative;
  width: 10px;
  height: 10px;
  overflow: hidden;
}
.pris-btn__arrow {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.45s cubic-bezier(0.76, 0, 0.24, 1);
}
.pris-btn__arrow--clone {
  transform: translateX(-200%);
}
.pris-btn:hover .pris-btn__arrow:not(.pris-btn__arrow--clone) {
  transform: translateX(200%);
}
.pris-btn:hover .pris-btn__arrow--clone {
  transform: translateX(0);
}

.pris-btn__icon-wrap {
  width: 40px;
  height: 40px;
  background-color: #2D0011;
  border-radius: 6.47867px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pris-btn__icon-wrap--light {
  background-color: #ffacca;
}


/* Desktop only — stack panes for GSAP crossfade */
@media screen and (min-width: 480px) {
  .layout406_tabs-content {
    position: relative !important;
  }
  .layout406_tab-pane {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    pointer-events: none;
  }
  .layout406_tab-pane.w--tab-active {
    pointer-events: auto;
  }
}


/* ── header103 logo SVGs — mobile size fix ── */
@media screen and (max-width: 767px) {
  .header103_tab-content svg,
  .header103_tab-link svg {
    width: auto !important;
    height: 18px !important;
    max-width: 100% !important;
  }
}

@media screen and (max-width: 479px) {
  .header103_tab-content svg,
  .header103_tab-link svg {
    width: auto !important;
    height: 14px !important;
    max-width: 100% !important;
  }
}



/* Vertically center the image in auto-tabs sections */
  .tab-layout__col.is-image {
    display: flex;
    flex-direction: column;
  }
  .tab-layout__col.is-image .tab-visual__wrap {
    margin-top: auto;
    margin-bottom: auto;
  }

  /* More breathing room at the bottom of auto-tabs sections */
  .section_auto-tabs .padding-section-small {
    padding-bottom: 96px;
  }
  .tab-progress { display: none; }

/* from .live-cache/_blog.html */
.directional-blur-bottom {
    width: 100%;
    height: 3.75rem;
    position: fixed;
    left: 0;
    bottom: -1px;
    z-index: 900;
    pointer-events: none;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,1) 0%, rgba(0,0,0,0.95) 20%, rgba(0,0,0,0.7) 45%, rgba(0,0,0,0.35) 65%, rgba(0,0,0,0.15) 80%, rgba(0,0,0,0) 100%);
    mask-image: linear-gradient(to top, rgba(0,0,0,1) 0%, rgba(0,0,0,0.95) 20%, rgba(0,0,0,0.7) 45%, rgba(0,0,0,0.35) 65%, rgba(0,0,0,0.15) 80%, rgba(0,0,0,0) 100%);
    background: transparent;
  }

  .directional-blur-bottom.top {
    top: 40px;
    bottom: auto;
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 0%, rgba(0,0,0,0.95) 20%, rgba(0,0,0,0.7) 45%, rgba(0,0,0,0.35) 65%, rgba(0,0,0,0.15) 80%, rgba(0,0,0,0) 100%);
    mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 0%, rgba(0,0,0,0.95) 20%, rgba(0,0,0,0.7) 45%, rgba(0,0,0,0.35) 65%, rgba(0,0,0,0.15) 80%, rgba(0,0,0,0) 100%);
  }

/* from .live-cache/_blog.html */
/* Hide category collect elements — only used by JS */


/* Filter buttons — base */
[data-filter-target] {
  transition: color 0.3s ease, background-color 0.3s ease !important;
  cursor: pointer !important;
  border: none !important;
  text-decoration: none !important;
  border-radius: 32px !important;
  padding: 8px 16px !important;
  font-family: 'Switzer', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* Active filter button */
[data-filter-target][data-filter-status="active"] {
  background-color: #FFFFFF !important;
  color: #111111 !important;
}

/* Inactive filter button */
[data-filter-target][data-filter-status="not-active"] {
  background-color: transparent !important;
  color: #9E9E9E !important;
}

/* Filter card animations */
[data-filter-name][data-filter-status="active"] {
  transition: opacity 0.6s cubic-bezier(0.625, 0.05, 0, 1), 
              transform 0.6s cubic-bezier(0.625, 0.05, 0, 1);
  transform: scale(1) rotate(0.001deg);
  opacity: 1;
  visibility: visible;
  position: relative;
}
[data-filter-name][data-filter-status="transition-out"] {
  transition: opacity 0.45s cubic-bezier(0.625, 0.05, 0, 1), 
              transform 0.45s cubic-bezier(0.625, 0.05, 0, 1);
  transform: scale(0.9) rotate(0.001deg);
  opacity: 0;
  visibility: visible;
}
[data-filter-name][data-filter-status="not-active"] {
  transform: scale(0.9) rotate(0.001deg);
  opacity: 0;
  visibility: hidden;
  position: absolute;
}

/* from .live-cache/_en.html */
@media (max-width: 479px) {
    .navbar2_dropdwn-toggle {
      background-color: transparent;
      transition: background-color 0.3s ease;
    }

    .navbar2_dropdwn-toggle.w--open {
      background-color: #fff6fa;
    }
  }

/* from .live-cache/_en_partnere.html */
.partners-bottom {
  overflow: hidden;
}

.partners-grid {
  transform: none !important;
  transition: none !important;
}

.partners-row {
  display: flex;
  flex-wrap: nowrap;
  width: max-content;
  will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
  .partners-row { animation: none !important; }
}