@layer pages {
  [data-page="contact"] {
    .ct-hero {
      position: relative; isolation: isolate; overflow: clip; padding: clamp(24px, 4px + 4vw, 64px) 0 var(--section-pad);
      background-color: var(--bg);
      background-image:
        radial-gradient(44% 70% at 76% 56%, color-mix(in srgb, var(--purple-100) 90%, transparent) 0%, transparent 74%),
        radial-gradient(34% 44% at 0% 0%, color-mix(in srgb, var(--purple-50) 90%, transparent) 0%, transparent 80%);
    }
    .ct-hero__row {
      display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--s5); align-items: start;
      width: min(calc(100% - var(--gutter) * 2), 1320px); margin-inline: auto;
    }
    .ct-crumbs { grid-column: 1 / -1; margin-bottom: clamp(24px, 4px + 3.2vw, 56px); }
    .ct-hero__copy { grid-column: 1 / span 6; padding-right: clamp(0px, 3vw, 56px); }
    .ct-kicker { font-size: var(--fs-18); }
    .ct-h1 { margin-top: var(--s4); max-width: 12em; }
    .ct-hero__lede { margin-top: var(--s5); max-width: 40ch; }
    .ct-hero__actions { margin-top: var(--s6); }
    .ct-rings { position: absolute; z-index: -1; left: 50%; top: 0; width: 900px; height: auto; max-width: none; overflow: visible; pointer-events: none; }
    .ct-rings :is(.curves__a, .curves__b) { fill: none; stroke: var(--purple-300); stroke-width: 1.25; }
    .ct-rings .curves__a { --drift-x: -14; --drift-y: 10; stroke-opacity: .55; }
    .ct-rings .curves__b { --drift-x: 18; --drift-y: -12; stroke-opacity: .8; }
    .ct-rings .ct-rings__dot { fill: var(--bb-purple); stroke: none; }
    .ct-rings .ct-rings__dot--mint { fill: var(--bb-green); stroke: var(--purple-300); stroke-opacity: 1; }
    .ct-card { grid-column: 7 / span 6; min-width: 0; position: relative; }
    @media (width >= 1280px) { .ct-card { justify-self: end; width: min(100%, 536px); } }
    .ct-card bb-hubspot-form { --hs-min: 596px; }
    .ct-card:lang(nb) bb-hubspot-form { --hs-min: 617px; }
    @media (width < 640px) {
      .ct-card bb-hubspot-form { --hs-min: 912px; }
      .ct-card:lang(sv) bb-hubspot-form { --hs-min: 841px; }
      .ct-card:lang(nb) bb-hubspot-form { --hs-min: 861px; }
    }
    .ct-faqband { overflow: clip; }
    .ct-faqband .faq { padding-bottom: calc(var(--section-pad) + clamp(48px, 6vw, 96px)); }
    .ct-faqband .curves__art { max-width: none; }
    .ct-disc { fill-opacity: .22; }
    .ct-disc--5 { fill-opacity: .45; }
    .ct-disc--1 { --drift-x: -32; --drift-y: 12; }
    .ct-disc--2 { --drift-x: -16; --drift-y: 6; }
    .ct-disc--3 { --drift-x: 0; --drift-y: 0; }
    .ct-disc--4 { --drift-x: 16; --drift-y: -6; }
    .ct-disc--5 { --drift-x: 32; --drift-y: -12; }
    @media (width < 1280px) {
      .ct-hero__copy { padding-right: clamp(0px, 2vw, 32px); }
    }
    @media (width < 1120px) {
      .ct-hero__copy { grid-column: 1 / span 5; padding-right: 0; }
      .ct-card { grid-column: 6 / span 7; }
    }
    @media (width < 900px) {
      .ct-hero__row { grid-template-columns: minmax(0, 1fr); max-width: 640px; }
      .ct-hero__copy, .ct-card { grid-column: 1; }
      .ct-card { margin-top: clamp(32px, 12px + 3vw, 48px); }
    }
    @media (width < 640px) {
      .ct-kicker { font-size: var(--fs-16); }
      .ct-h1 { margin-top: var(--s3); }
      .ct-hero__lede { font-size: var(--fs-18); }
      .ct-hero__actions { margin-top: var(--s5); }
    }
  }
}
@layer sections {
  :is(bb-hubspot-form, bb-hubspot-frame) { display: block; position: relative; }
  :is(bb-hubspot-form, bb-hubspot-frame):not([data-state="ready"]) { min-height: var(--hs-min, 0px); }
  html:not(.js) :is(bb-hubspot-form, bb-hubspot-frame) { min-height: 0; }
  :is(bb-hubspot-form, bb-hubspot-frame)[data-state="failed"] { display: grid; align-content: center; }
  .hs-form-frame iframe { display: block; width: 100%; border: 0; }
  .hs-loading, .hs-fallback { font-size: var(--fs-14); line-height: 1.45; color: var(--muted); }
  .hs-fallback a { color: var(--accent-text); font-weight: var(--fw-strong); }
  .hs-loading { position: absolute; inset: 0 0 auto; }
  html:not(.js) .hs-loading, :is(bb-hubspot-form, bb-hubspot-frame):is([data-state="ready"], [data-state="failed"]) .hs-loading { display: none; }
  .hs-fallback { display: none; }
  html:not(.js) .hs-fallback, :is(bb-hubspot-form, bb-hubspot-frame)[data-state="failed"] .hs-fallback { display: block; }
  .hs-form {
    display: grid; gap: var(--s4);
    grid-template-columns: repeat(auto-fit, minmax(min(100%, max(200px, (100% - var(--s4)) / 2 - 1px)), 1fr));
  }
  .hs-form > :not(.hs-form-field),
  .hs-form > .hs-form-field:is(.hs-fieldtype-textarea, .hs-fieldtype-checkbox, .hs-fieldtype-booleancheckbox, .hs-fieldtype-radio) { grid-column: 1 / -1; }
  .hs-form-field { display: grid; gap: 6px; align-content: start; min-width: 0; }
  .hs-form-field > label { font-size: var(--fs-14); font-weight: var(--fw-strong); color: var(--ink); }
  .hs-form-required { margin-left: 2px; font-weight: 400; color: var(--muted); }
  .hs-form-field .input { position: relative; }
  .hs-input:is(input, select, textarea) {
    display: block; width: 100%; min-width: 0; border: 1px solid var(--line-strong); border-radius: var(--radius-2);
    background: var(--bg); color: var(--ink); font-size: var(--fs-16);
  }
  .hs-input:is(input, select) { height: 48px; padding: 0 14px; }
  .hs-input:is(textarea) { min-height: 112px; padding: 12px 14px; resize: vertical; line-height: 1.5; }
  .hs-input:is(input, select, textarea):hover { border-color: var(--text); }
  .hs-input:is(input, select, textarea):focus-visible {
    outline: 3px solid var(--focus); outline-offset: 1px; border-color: var(--bb-purple-hover); border-radius: var(--radius-2);
  }
  .hs-input.invalid.error { border-color: var(--bb-error); }
  .hs-error-msgs { display: grid; gap: 2px; margin-top: 6px; }
  .hs-error-msg, .hs_error_rollup { font-size: var(--fs-14); line-height: 1.4; color: var(--error-text); }
  .hs-fieldtype-select .hs-input { appearance: none; -webkit-appearance: none; padding-right: 40px; cursor: pointer; }
  .hs-fieldtype-select .hs-input.is-placeholder { color: var(--muted); }
  .hs-fieldtype-select option { color: var(--ink); }
  .hs-fieldtype-select .input::after {
    content: ""; position: absolute; right: 14px; top: 50%; width: 18px; height: 18px; margin-top: -9px; rotate: 180deg;
    background: var(--text); pointer-events: none;
    -webkit-mask: url("/assets/icons/chevron-up.svg?v=beeb27e6") center / contain no-repeat;
            mask: url("/assets/icons/chevron-up.svg?v=beeb27e6") center / contain no-repeat;
  }
  .legal-consent-container .hs-richtext { font-size: var(--fs-14); line-height: 1.45; color: var(--text); }
  .legal-consent-container a { color: var(--accent-text); font-weight: var(--fw-strong); }
  .hs_recaptcha { margin-top: 0 !important; }
  .hs_recaptcha:has(> .input:empty) { margin-top: calc(var(--s4) * -1) !important; }
  .hs_submit .actions { display: flex; justify-content: flex-end; }
  .hs-button {
    min-height: 48px; padding: 0 22px; border: 1px solid transparent; border-radius: var(--radius-2);
    background: var(--btn); color: var(--btn-fg); font: var(--fw-strong) var(--fs-16)/1.2 var(--font); cursor: pointer;
    transition: background-color .2s, box-shadow .2s var(--ease);
  }
  .hs-button:hover { background: var(--btn-hover); box-shadow: var(--btn-lift); }
  .hs-button:active { box-shadow: none; transition-duration: .06s; }
  @media (width < 640px) {
    .hs_submit .hs-button { width: 100%; }
  }
}
@layer sections {
  .faq__in { align-items: start; }
  .faq__in > h2 { grid-column: 1 / span 4; }
  .faq__list { grid-column: 5 / span 8; border-bottom: 1px solid var(--line); }
  .qa { border-top: 1px solid var(--line); }
  .qa summary {
    --c: var(--accent-text);
    display: flex; align-items: center; justify-content: space-between; gap: var(--s5);
    min-height: 64px; padding-block: 18px; cursor: pointer; list-style: none;
  }
  .qa summary::-webkit-details-marker { display: none; }
  .qa summary::after {
    content: ""; flex: none; width: 18px; height: 18px;
    background:
      linear-gradient(var(--c), var(--c)) 50% 50% / 100% 2px no-repeat,
      linear-gradient(var(--c), var(--c)) 50% 50% / 2px 100% no-repeat;
  }
  .qa[open] summary::after { background-size: 100% 2px, 2px 0; }
  .qa__q { font-size: var(--fs-20); line-height: 1.35; font-weight: var(--fw-strong); color: var(--ink); }
  .qa summary:hover .qa__q { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
  .qa__a { max-width: 62ch; padding: 0 44px 24px 0; font-size: var(--fs-18); line-height: 1.55; color: var(--text); text-wrap: pretty; }
  .qa__a--parts > :is(p, ul) + :is(p, ul) { margin-top: var(--s4); }
  .qa__ul { display: grid; gap: var(--s3); }
  .qa__ul li { position: relative; padding-left: 22px; }
  .qa__ul li::before { content: ""; position: absolute; left: 4px; top: .68em; width: 6px; height: 6px; border-radius: 50%; background: var(--accent-text); }
  .qa__ul strong { font-weight: var(--fw-strong); color: var(--ink); }
  .faq--center .faq__in > h2 { margin-bottom: var(--head-gap); text-align: center; }
  @media (width >= 900px) {
    .faq--center .faq__in > h2 { grid-column: 1 / -1; }
    .faq--center .faq__list { grid-column: 3 / span 8; }
  }
  .faq--center .qa__a strong { color: var(--ink); }
  .faq--center .qa__a a { color: var(--accent-text); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
  .faq--center .qa__a a:hover { text-decoration-thickness: 2px; }
  @media (width < 900px) {
    .faq__in { grid-template-columns: minmax(0, 1fr); row-gap: var(--s5); }
    .faq__in > h2, .faq__list { grid-column: 1; }
    .faq--center .faq__in { row-gap: 0; }
  }
  @media (width < 640px) {
    .qa summary { min-height: 56px; padding-block: 14px; gap: var(--s4); }
    .qa__q { font-size: var(--fs-18); }
    .qa__a { padding-right: 0; font-size: var(--fs-16); }
  }
}
