/* Labsense delad CSS — extraherad från inline för perf-cache. Auto-genererad. */

/* === skip-link === */
.skip-link{position:absolute;left:-9999px;top:0;background:#0A4DCC;color:#fff;padding:12px 16px;z-index:10000;border-radius:0 0 8px 0;font-weight:600;text-decoration:none}.skip-link:focus{left:0}

/* === nav-mega === */
.nav-mega{position:relative;display:inline-block}
.nav-mega>summary{list-style:none;cursor:pointer;font:inherit;color:#1A1D23;font-weight:600;font-size:16px;line-height:24px;padding:0 0 2px;border-bottom:1px solid transparent;display:inline-flex;align-items:center;gap:6px;user-select:none}
.nav-mega>summary::-webkit-details-marker{display:none}
.nav-mega>summary::marker{content:""}
.nav-mega>summary:hover,.nav-mega[open]>summary{border-bottom-color:#3F47CC}
.nav-mega>summary>a{color:inherit;font:inherit;text-decoration:none;border-bottom:0;padding:0;background:none}
.nav-mega>summary>a:hover{color:inherit;text-decoration:none;border-bottom:0}
.nav-mega__caret{font-size:11px;line-height:1;transition:transform 160ms ease;display:inline-block}
.nav-mega[open] .nav-mega__caret{transform:rotate(180deg)}
.nav-mega__panel{position:absolute;top:calc(100% + 12px);left:50%;right:auto;width:min(680px,calc(100vw - 32px));background:#fff;border:1px solid #D9D9D6;border-radius:8px;box-shadow:0 18px 36px -18px rgba(15,18,22,0.22),0 4px 12px -6px rgba(15,18,22,0.08);padding:24px;z-index:120;opacity:0;transform:translateX(-50%) translateY(-4px);pointer-events:none;transition:opacity 140ms ease,transform 140ms ease}
.nav-mega[open] .nav-mega__panel{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}
.nav-mega__panel::before{content:"";position:absolute;left:50%;margin-left:-6px;top:-7px;width:12px;height:12px;background:#fff;border-top:1px solid #D9D9D6;border-left:1px solid #D9D9D6;transform:rotate(45deg)}
.nav-mega:first-of-type .nav-mega__panel{left:-12px;right:auto;transform:translateY(-4px)}
.nav-mega[open]:first-of-type .nav-mega__panel{transform:translateY(0)}
.nav-mega:first-of-type .nav-mega__panel::before{left:38px;margin-left:0}
.nav-mega:last-of-type .nav-mega__panel{right:-12px;left:auto;transform:translateY(-4px)}
.nav-mega[open]:last-of-type .nav-mega__panel{transform:translateY(0)}
.nav-mega:last-of-type .nav-mega__panel::before{right:38px;left:auto;margin-left:0}
.nav-mega__panel .container,.nav-mega__inner{max-width:none;margin:0;padding:0}
.nav-mega__inner{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px;align-items:start}
.nav-mega__col{min-width:0}
.nav-mega__cta{grid-column:1/-1;padding:16px 0 0;margin-top:4px;border-top:1px solid #ECECE8;display:flex;align-items:center;justify-content:space-between;gap:16px}
.nav-mega__title{margin:0 0 10px;font-size:11px;line-height:16px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:#6E7279}
.nav-mega__links{display:flex;flex-direction:column;gap:2px}
.nav-mega__links a{color:#1A1D23;font-weight:500;font-size:14px;line-height:20px;padding:6px 8px;margin:0 -8px;border-radius:4px;transition:background 120ms ease,color 120ms ease}
.nav-mega__links a:hover{background:#F4F5FB;color:#3F47CC;text-decoration:none}
.nav-mega__lead{margin:0;color:#6E7279;font-size:13px;line-height:18px;max-width:36ch}
.nav-mega__sheet-head{display:none}
.nav-mega__cta .btn-link{white-space:nowrap}
@media (max-width:1100px){
  .nav-mega__panel{width:min(560px,calc(100vw - 32px));padding:20px}
  .nav-mega:first-of-type .nav-mega__panel{left:-8px;right:auto}
  .nav-mega:first-of-type .nav-mega__panel::before{left:30px;right:auto;margin-left:0}
  .nav-mega:last-of-type .nav-mega__panel{right:-8px;left:auto}
  .nav-mega:last-of-type .nav-mega__panel::before{right:30px;left:auto;margin-left:0}
  .nav-mega__inner{gap:20px 24px}
}
@media (max-width:900px){
  .nav-mega{display:block;width:100%;position:static}
  .nav-mega>summary{width:100%;justify-content:space-between;padding:12px 0;border-bottom:1px solid #D9D9D6;min-height:44px;font-size:15px}
  /* Mobil: fäll ut inline i hamburgermenyn istället för bottom-sheet med backdrop */
  .nav-mega__panel{position:static;width:auto;max-width:none;max-height:none;overflow:visible;border:0;border-radius:0;box-shadow:none;padding:4px 0 12px;background:transparent;opacity:1;transform:none;pointer-events:auto;transition:none;z-index:auto}
  .nav-mega__panel::before{display:none;content:none}
  .nav-mega__sheet-head{display:none}
  .nav-mega__inner{grid-template-columns:1fr 1fr;gap:14px 16px;padding:0}
  .nav-mega__col{padding:8px 0 4px}
  .nav-mega__title{margin:0 0 4px;font-size:10px;letter-spacing:0.08em;color:#8A8F96}
  .nav-mega__links{gap:0}
  .nav-mega__links a{padding:7px 6px;margin:0 -6px;font-size:13.5px;line-height:18px;border-bottom:0;border-radius:4px;min-height:0;display:block}
  .nav-mega__links a:active,.nav-mega__links a:hover{background:#F4F5FB}
  .nav-mega__cta{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #ECECE8;padding-top:10px;margin-top:6px}
  .nav-mega__cta .nav-mega__title{display:none}
  .nav-mega__cta .nav-mega__lead{display:none}
  .nav-mega__cta .btn-link{padding:8px 14px;background:#3F47CC;color:#fff;border-radius:6px;text-align:center;justify-content:center;font-size:14px;min-height:36px;flex:0 0 auto;margin-left:auto}
  .nav-mega__cta .btn-link:hover{background:#2C33A8;color:#fff;text-decoration:none}
  .nav-mega__backdrop{display:none !important}
}
@media (max-width:380px){
  .nav-mega__inner{grid-template-columns:1fr;gap:8px}
}
@media (max-width:767px){
  .header__nav{z-index:130;max-height:calc(100vh - 96px);max-height:calc(100dvh - 96px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}
  .header__nav[data-open="true"]{overflow-y:auto;pointer-events:auto}
}
.nav-mega__backdrop{position:fixed;inset:0;background:rgba(15,18,22,0.45);opacity:0;pointer-events:none;transition:opacity 200ms ease;z-index:999}
@media (min-width:901px){
  body.nav-mega-active .nav-mega__backdrop{opacity:1;pointer-events:auto}
  body.nav-mega-active{overflow:hidden}
}
@media (min-width:901px){.nav-mega__backdrop{display:none}}
@media (prefers-reduced-motion:reduce){
  .nav-mega__panel{transition:none;transform:none}
}

/* === footer === */
.footer{position:relative;background:radial-gradient(1200px 500px at 85% -10%,rgba(63,71,204,0.10),transparent 60%),linear-gradient(180deg,#0B0D11 0%,#08090C 100%);color:#E7E8EB;padding:96px 0 28px;font-size:15px;line-height:24px;font-feature-settings:"ss01","cv11"}
.footer::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.10) 25%,rgba(255,255,255,0.10) 75%,transparent)}
/* baseline link reset — remove old border-bottom underline */
.footer a{color:#E7E8EB;text-decoration:none;border-bottom:0;transition:color 200ms ease,opacity 200ms ease}
.footer a:hover{color:#fff;text-decoration:none}
.footer a:focus-visible{outline:none;color:#fff;border-radius:2px;box-shadow:0 0 0 2px rgba(63,71,204,0.55),0 0 0 4px rgba(63,71,204,0.15)}

/* shared premium underline — animated wipe-in from left, hairline, slight offset */
.footer__list a,
.footer__owner a,
.footer__legal a,
.footer__contact-mail,
.footer__contact-link{position:relative;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0% 1px;transition:background-size 320ms cubic-bezier(0.22,0.61,0.36,1),color 200ms ease,opacity 200ms ease;padding-bottom:2px}
.footer__list a:hover,
.footer__owner a:hover,
.footer__legal a:hover,
.footer__contact-mail:hover,
.footer__contact-link:hover{background-size:100% 1px}

.footer__grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.1fr;gap:64px;align-items:start;padding-bottom:72px}
.footer__h4{margin:0 0 22px;font-size:11px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:#7A828D}
.footer__tagline{margin:0 0 24px;font-size:22px;line-height:30px;max-width:24ch;color:#FFFFFF;font-weight:500;letter-spacing:-0.01em}
.footer__address{margin:0 0 20px;font-style:normal;color:#A6ADB6;font-size:14px;line-height:22px}
.footer__owner{margin:0;color:#8C939C;font-size:13px;line-height:22px;letter-spacing:0.01em}
.footer__owner a{color:#A6ADB6;background-size:100% 1px;background-image:linear-gradient(rgba(166,173,182,0.35),rgba(166,173,182,0.35))}
.footer__owner a:hover{color:#fff;background-image:linear-gradient(currentColor,currentColor);background-size:100% 1px}
.footer__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.footer__list a{display:inline-block;font-size:15px;line-height:22px;color:#D4D7DC}
.footer__list a:hover{color:#fff}
.footer__bottom{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between;padding-top:28px;margin-top:8px;border-top:1px solid rgba(255,255,255,0.06)}
.footer__rights{margin:0;color:#6B727B;font-size:12px;letter-spacing:0.02em}
.footer__legal{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}
.footer__legal li{display:flex;align-items:center;gap:20px;color:#4D535B;font-size:12px}
.footer__legal li:not(:last-child)::after{content:"";width:3px;height:3px;border-radius:50%;background:#3A3F45;display:inline-block}
.footer__legal a{color:#7A828D;font-size:12px;letter-spacing:0.02em}
.footer__legal a:hover{color:#E7E8EB}

/* contact block — premium tappable rows */
.footer__contact{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.footer__contact-link{display:flex;align-items:center;gap:14px;padding:10px 12px;margin:0 -12px;border-radius:12px;color:#E7E8EB;background:transparent;background-image:none !important;transition:background 220ms ease,color 200ms ease;min-height:48px;-webkit-tap-highlight-color:transparent}
.footer__contact-link:hover{background:rgba(255,255,255,0.04);color:#fff}
.footer__contact-link:active{background:rgba(255,255,255,0.07)}
.footer__contact-link:focus-visible{outline:none;background:rgba(63,71,204,0.12);box-shadow:0 0 0 1px rgba(63,71,204,0.55)}
.footer__contact-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);color:#C7CAD0;transition:background 220ms ease,border-color 220ms ease,color 220ms ease}
.footer__contact-link:hover .footer__contact-icon{background:rgba(63,71,204,0.18);border-color:rgba(63,71,204,0.45);color:#fff}
.footer__contact-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.footer__contact-value{font-size:15px;line-height:22px;color:#F2F3F5;font-weight:500;letter-spacing:-0.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.footer__contact-link--phone .footer__contact-value{font-variant-numeric:tabular-nums lining-nums;letter-spacing:0.01em}
.footer__contact-meta{font-size:12px;line-height:16px;color:#7A828D;letter-spacing:0.01em}

@media (hover:none){
  .footer__list a,.footer__owner a,.footer__legal a{background-size:100% 1px;transition:none}
}
@media (max-width:1024px){.footer{padding:72px 0 24px}.footer__grid{grid-template-columns:1fr 1fr;gap:40px;padding-bottom:48px}}
@media (max-width:640px){
  .footer{padding:48px 0 20px;font-size:14px;line-height:22px}
  .footer .container{padding-left:20px;padding-right:20px}
  .footer__grid{grid-template-columns:1fr;gap:28px;padding-bottom:28px}
  .footer__col{padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,0.06)}
  .footer__col:last-child{border-bottom:0;padding-bottom:0}
  .footer__h4{margin:0 0 14px;font-size:10.5px;letter-spacing:0.2em;color:#8C939C}
  .footer__tagline{font-size:19px;line-height:26px;margin:0 0 14px;max-width:none}
  .footer__address{margin:0 0 14px}
  .footer__owner{font-size:12.5px;line-height:20px}
  .footer__list{gap:2px}
  .footer__list a{padding:10px 0;font-size:15px;line-height:20px;min-height:40px;display:flex;align-items:center}
  /* contact rows — fixed layout, no jump on press */
  .footer__contact{gap:10px}
  .footer__contact-link{margin:0;padding:12px 14px;background:rgba(255,255,255,0.035);border:1px solid rgba(255,255,255,0.07);border-radius:12px;min-height:56px;gap:12px;will-change:background-color}
  .footer__contact-link:hover,.footer__contact-link:active,.footer__contact-link:focus-visible{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.10);box-shadow:none;transform:none}
  .footer__contact-icon{width:36px;height:36px;border-radius:9px}
  .footer__contact-value{font-size:15px;line-height:20px;white-space:normal;word-break:break-word;text-overflow:clip;overflow:visible}
  .footer__contact-meta{font-size:11.5px;line-height:15px;margin-top:2px}
  .footer__bottom{flex-direction:column;align-items:flex-start;gap:14px;padding-top:20px;margin-top:0}
  .footer__rights{font-size:11.5px;order:2}
  .footer__legal{order:1;gap:4px 14px}
  .footer__legal li{gap:14px;font-size:11.5px}
  .footer__legal a{font-size:11.5px}
}

/* === product-hero === */
.product-hero{padding:64px 0 56px;background:#fff;border-bottom:1px solid #ECECE8}
.product-hero__grid{display:grid;grid-template-columns:5fr 6fr;gap:56px;align-items:start}
.product-hero__media{background:#F6F5F1;border:1px solid #E5E5E0;border-radius:12px;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:24px}
.product-hero__media img{max-width:100%;max-height:100%;object-fit:contain}
.product-hero__info{padding-top:8px;min-height:480px;display:flex;flex-direction:column}
.product-hero__supplier{margin:0 0 12px;font-size:11px;line-height:16px;font-weight:600;text-transform:uppercase;letter-spacing:0.14em;color:#3F47CC;min-height:16px}
.product-hero__supplier a{color:inherit;border-bottom:1px solid transparent}
.product-hero__supplier a:hover{border-bottom-color:currentColor;text-decoration:none}
.product-hero__h1{margin:0 0 20px;font-size:40px;line-height:48px;font-weight:700;letter-spacing:-0.01em;min-height:48px}
.product-hero__lead{margin:0 0 24px;font-size:18px;line-height:28px;color:#3A3F45;min-height:56px}
.product-hero__tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 32px;padding:0;list-style:none;min-height:32px}
.product-hero__tags li{font-size:12px;font-weight:600;padding:6px 12px;background:#F4F5FB;color:#3F47CC;border-radius:999px;text-transform:uppercase;letter-spacing:0.06em}
.product-hero__tags li.is-segment{background:#F2F1EE;color:#1A1D23}
.product-hero__ctas{display:flex;flex-wrap:wrap;gap:12px;min-height:48px}
.btn-primary{display:inline-flex;align-items:center;gap:8px;background:#3F47CC;color:#fff;font-weight:600;font-size:15px;line-height:22px;padding:14px 22px;border-radius:8px;border:0;text-decoration:none;cursor:pointer;transition:background 150ms ease}
.btn-primary:hover{background:#2C33A8;color:#fff;text-decoration:none}
.btn-secondary{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#1A1D23;font-weight:600;font-size:15px;line-height:22px;padding:13px 21px;border-radius:8px;border:1px solid #1A1D23;text-decoration:none;transition:background 150ms ease,color 150ms ease}
.btn-secondary:hover{background:#1A1D23;color:#fff;text-decoration:none}

.product-section{padding:64px 0;border-top:1px solid #ECECE8;background:#fff}
.product-section--alt{background:#F8F8F4}
.product-section__inner{display:grid;grid-template-columns:240px 1fr;gap:56px;align-items:start;max-width:1080px}
.product-section__h2{margin:0;font-size:14px;line-height:20px;font-weight:600;text-transform:uppercase;letter-spacing:0.12em;color:#6E7279}
.product-section__body{font-size:16px;line-height:26px;color:#1A1D23}
.product-section__body p{margin:0 0 16px}
.product-section__body p:last-child{margin-bottom:0}

.app-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}
.app-list li{position:relative;padding:6px 0 6px 22px;font-size:15px;line-height:22px;color:#1A1D23}
.app-list li::before{content:"";position:absolute;left:0;top:14px;width:8px;height:8px;border-radius:50%;background:#3F47CC}

.spec-table{width:100%;border-collapse:collapse}
.spec-table th,.spec-table td{padding:14px 0;border-bottom:1px solid #E5E5E0;text-align:left;vertical-align:top;font-size:15px;line-height:22px}
.spec-table th{font-weight:600;color:#6E7279;width:40%;padding-right:24px}
.spec-table td{color:#1A1D23}
.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom:0}

.doc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.doc-list a{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff;border:1px solid #E5E5E0;border-radius:8px;color:#1A1D23;font-weight:500;font-size:15px;text-decoration:none;transition:border-color 150ms ease,background 150ms ease}
.doc-list a:hover{border-color:#3F47CC;background:#F8F9FE;text-decoration:none}
.doc-list__icon{width:20px;height:20px;flex:0 0 auto;color:#3F47CC}
.doc-list__label{flex:1}
.doc-list__hint{font-size:12px;color:#6E7279;font-weight:500}

.related{padding:80px 0;background:#F2F1EE;border-top:1px solid #E5E5E0}
.related__h2{margin:0 0 32px;font-size:24px;line-height:32px;font-weight:700}
.related__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.related-card{display:flex;flex-direction:column;background:#fff;border:1px solid #E5E5E0;border-radius:12px;padding:24px;text-decoration:none;color:inherit;transition:border-color 200ms ease,box-shadow 200ms ease,transform 200ms ease}
.related-card:hover{border-color:#3F47CC;box-shadow:0 14px 36px -18px rgba(15,18,22,0.18);text-decoration:none}
.related-card__supplier{margin:0 0 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.14em;color:#3F47CC}
.related-card__name{margin:0 0 12px;font-size:18px;line-height:24px;font-weight:700;color:#1A1D23}
.related-card__summary{margin:0 0 16px;font-size:14px;line-height:21px;color:#3A3F45;flex:1}
.related-card__cta{font-size:13px;font-weight:600;color:#3F47CC}
.related-card__cta::after{content:" →"}

/* .product-final dark-theme override removed — kanoniska reglerna nedan (rad ~174) styr utseendet */

@media (max-width:900px){
  .product-hero__grid{grid-template-columns:1fr;gap:32px}
  .product-section__inner{grid-template-columns:1fr;gap:16px;max-width:none}
  .app-list{grid-template-columns:1fr}
  .related__grid{grid-template-columns:1fr;gap:16px}
  .product-hero__h1{font-size:30px;line-height:38px}
}
@media (max-width:767px){
  .product-hero{padding:40px 0}
  .product-section{padding:48px 0}
  .product-hero__info{min-height:0}
  .product-hero__h1{min-height:38px}
  .product-hero__lead{min-height:84px}
  .product-hero__tags{min-height:72px}
}

/* === Labsense design system: knappar/länkar (global) === */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:15px;line-height:22px;padding:14px 22px;min-height:48px;border-radius:4px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background 150ms ease,border-color 150ms ease,color 150ms ease;white-space:nowrap;background:#3F47CC;color:#F7F7F4;border-color:#3F47CC}
.btn:hover{background:#2C33A8;border-color:#2C33A8;color:#F7F7F4;text-decoration:none}
.btn--primary{background:#3F47CC;color:#F7F7F4;border-color:#3F47CC}
.btn--secondary{background:transparent;color:#3F47CC;border-color:#3F47CC}
.btn--secondary:hover{background:#3F47CC;color:#F7F7F4}
.btn--ghost{background:transparent;color:#1A1D23;border-color:transparent}
.btn--ghost:hover{background:#D9D9D6}
.btn--inverse{background:#F7F7F4;color:#3F47CC;border-color:#F7F7F4}
.btn--inverse:hover{background:#E5E7FF;color:#3F47CC}
.btn--call{background:#1A1D23;color:#F7F7F4;border-color:#1A1D23;font-variant-numeric:tabular-nums lining-nums;letter-spacing:0.01em;padding:14px 24px;min-height:48px;display:inline-flex;align-items:center;gap:10px;position:relative}
.btn--call::before{content:"";display:inline-block;width:18px;height:18px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F7F7F4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.37 1.9.72 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.35 1.85.59 2.81.72A2 2 0 0 1 22 16.92z'/></svg>");background-repeat:no-repeat;background-size:contain;flex:0 0 auto}
.btn--call:hover{background:#000;border-color:#000;color:#F7F7F4;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,0.18)}
.btn--call:active{transform:translateY(0);box-shadow:0 2px 6px rgba(0,0,0,0.14)}
.btn--call:focus-visible{outline:2px solid #3F47CC;outline-offset:3px;box-shadow:0 0 0 5px rgba(63,71,204,0.25)}
.btn--call.btn--sm::before{width:16px;height:16px}
.btn--call.btn--lg::before{width:20px;height:20px}
@media (hover:none){.btn--call:hover{transform:none;box-shadow:none}}
.btn--sm{padding:10px 16px;font-size:14px;line-height:20px;min-height:40px}
.btn--lg{padding:18px 28px;font-size:17px;line-height:26px;min-height:56px}
.btn--block{width:100%}
.footer .btn--call{background:transparent;border:1px solid rgba(255,255,255,0.16);color:#FFFFFF;border-radius:999px;padding:10px 18px;min-height:42px;font-size:14px;letter-spacing:0.01em;backdrop-filter:saturate(140%) blur(2px);transition:background 200ms ease,border-color 200ms ease,transform 200ms ease}
.footer .btn--call::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.37 1.9.72 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.35 1.85.59 2.81.72A2 2 0 0 1 22 16.92z'/></svg>");width:14px;height:14px;opacity:0.85}
.footer .btn--call:hover{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.32);color:#fff;transform:none;box-shadow:none}
[data-bg="dark"] .btn--call{background:#3F47CC;border-color:#3F47CC;color:#fff}
[data-bg="dark"] .btn--call:hover{background:#2C33A8;border-color:#2C33A8}

/* Kanonisk final-CTA / product-final */
.final-cta,.product-final{background:#3F47CC;color:#F7F7F4;padding:128px 0;text-align:center}
.final-cta__h2,.product-final__h2{margin:0 auto 24px;max-width:70ch;color:#F7F7F4;font-size:36px;line-height:44px;font-weight:700;letter-spacing:-0.01em}
.final-cta__lead,.product-final__text,.product-final__lead{margin:0 auto 32px;max-width:70ch;color:#F7F7F4;font-size:20px;line-height:30px;opacity:.95}
.final-cta .btn,.final-cta .btn-primary,.product-final .btn,.product-final .btn-primary{background:#F7F7F4!important;color:#3F47CC!important;border-color:#F7F7F4!important}
.final-cta .btn:hover,.final-cta .btn-primary:hover,.product-final .btn:hover,.product-final .btn-primary:hover{background:#E5E7FF!important;border-color:#E5E7FF!important;color:#3F47CC!important}
.final-cta__secondary,.product-final__secondary{display:inline-block;margin-top:24px;color:#F7F7F4;font-weight:600;font-size:14px;line-height:20px;text-decoration:underline;text-underline-offset:3px}
.final-cta a:focus-visible,.final-cta button:focus-visible,.product-final a:focus-visible,.product-final button:focus-visible{outline:2px solid #F7F7F4;outline-offset:3px;box-shadow:0 0 0 5px rgba(26,29,35,0.6);border-radius:3px}
@media (max-width:767px){.final-cta,.product-final{padding:80px 0}.final-cta__h2,.product-final__h2{font-size:28px;line-height:36px}.final-cta__lead,.product-final__text,.product-final__lead{font-size:17px;line-height:26px}.final-cta .btn,.product-final .btn{width:100%}}

/* === Datasheets / Dokument === */
.ds-section{padding:48px 0;background:hsl(var(--surface, 0 0% 98%));border-top:1px solid hsl(var(--border, 220 13% 91%))}
.ds-wrap{max-width:880px;margin:0 auto;padding:0 24px}
.ds-title{font-size:1.5rem;font-weight:600;margin:0 0 20px;letter-spacing:-.01em}
.ds-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.ds-item{display:flex;align-items:center;gap:14px;padding:14px 18px;background:#fff;border:1px solid hsl(var(--border,220 13% 91%));border-radius:12px;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s,box-shadow .15s}
.ds-item:hover{border-color:hsl(var(--primary,220 90% 56%));transform:translateY(-1px);box-shadow:0 4px 14px -6px rgba(0,0,0,.12)}
.ds-icon{flex:0 0 auto;font-size:.7rem;font-weight:700;letter-spacing:.05em;background:hsl(var(--primary,220 90% 56%));color:#fff;padding:6px 8px;border-radius:6px}
.ds-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ds-label{font-weight:500;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ds-meta{font-size:.8rem;color:hsl(var(--muted-foreground,220 9% 46%))}
.ds-arrow{flex:0 0 auto;font-size:1.2rem;color:hsl(var(--muted-foreground,220 9% 46%))}
@media (max-width:640px){.ds-section{padding:32px 0}.ds-wrap{padding:0 16px}.ds-title{font-size:1.25rem}}

/* =====================================================================
   LX — Premium polish layer (Polestar/POC-inspired, ID-manual-locked)
   ===================================================================== */

/* Scroll-reveal — generic, used via JS adding [data-lx-in] */
.lx-reveal{opacity:0;transform:translateY(16px);transition:opacity 700ms cubic-bezier(.22,.61,.36,1),transform 700ms cubic-bezier(.22,.61,.36,1);will-change:opacity,transform}
.lx-reveal[data-lx-in="true"]{opacity:1;transform:none}
.lx-reveal--lg{transform:translateY(28px)}
.lx-reveal--delay-1{transition-delay:80ms}
.lx-reveal--delay-2{transition-delay:160ms}
.lx-reveal--delay-3{transition-delay:240ms}
.lx-reveal--delay-4{transition-delay:320ms}
@media (prefers-reduced-motion:reduce){.lx-reveal{opacity:1;transform:none;transition:none}}

/* Editorial overline shared utility */
.lx-overline{display:inline-flex;align-items:center;gap:10px;font-size:11px;line-height:16px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:#3F47CC;margin:0 0 24px}
.lx-overline::before{content:"";display:inline-block;width:24px;height:1px;background:#3F47CC}
.lx-overline--muted{color:#6E7279}
.lx-overline--muted::before{background:#6E7279}

/* Stat band — editorial counters */
.lx-stat{padding:96px 0;background:#F7F7F4;border-top:1px solid #E5E5E1;border-bottom:1px solid #E5E5E1}
.lx-stat__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.lx-stat__item{padding:8px 32px;border-left:1px solid #E5E5E1;display:flex;flex-direction:column;gap:16px}
.lx-stat__item:first-child{border-left:0;padding-left:0}
.lx-stat__num{font-family:Inter,system-ui,sans-serif;font-weight:700;font-size:clamp(56px,8vw,112px);line-height:1;letter-spacing:-0.03em;color:#1A1D23;font-variant-numeric:tabular-nums lining-nums}
.lx-stat__num small{font-size:0.45em;color:#3F47CC;font-weight:600;margin-left:4px;letter-spacing:0}
.lx-stat__label{font-size:13px;line-height:20px;color:#1A1D23;font-weight:500;max-width:32ch}
.lx-stat__label strong{display:block;font-size:11px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:#6E7279;margin-bottom:4px}
@media (max-width:767px){.lx-stat{padding:64px 0}.lx-stat__grid{grid-template-columns:1fr;gap:32px}.lx-stat__item{padding:24px 0 0;border-left:0;border-top:1px solid #E5E5E1}.lx-stat__item:first-child{padding-top:0;border-top:0}}

/* Split-CTA — half white, half Labsense Blue */
.lx-split{position:relative;background:#F7F7F4;border-top:1px solid #E5E5E1}
.lx-split__grid{display:grid;grid-template-columns:1fr 1fr;min-height:560px}
.lx-split__pane{padding:96px 64px;display:flex;flex-direction:column;justify-content:center}
.lx-split__pane--blue{background:#3F47CC;color:#F7F7F4}
.lx-split__overline{font-size:11px;line-height:16px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;margin:0 0 24px;color:#3F47CC}
.lx-split__pane--blue .lx-split__overline{color:#F7F7F4;opacity:0.7}
.lx-split__h2{margin:0 0 24px;font-weight:700;font-size:clamp(32px,4vw,52px);line-height:1.1;letter-spacing:-0.02em;color:#1A1D23;max-width:18ch}
.lx-split__pane--blue .lx-split__h2{color:#F7F7F4}
.lx-split__lead{margin:0 0 32px;font-size:18px;line-height:1.5;color:#1A1D23;max-width:42ch;opacity:0.85}
.lx-split__pane--blue .lx-split__lead{color:#F7F7F4;opacity:0.9}
.lx-split__cta{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;line-height:22px;padding:14px 22px;border:1px solid #1A1D23;border-radius:4px;color:#1A1D23;text-decoration:none;transition:background 180ms ease,color 180ms ease,border-color 180ms ease;align-self:flex-start}
.lx-split__cta:hover{background:#1A1D23;color:#F7F7F4}
.lx-split__pane--blue .lx-split__cta{background:#F7F7F4;color:#3F47CC;border-color:#F7F7F4}
.lx-split__pane--blue .lx-split__cta:hover{background:#E5E7FF;color:#3F47CC}
@media (max-width:900px){.lx-split__pane{padding:64px 32px}}
@media (max-width:767px){.lx-split__grid{grid-template-columns:1fr;min-height:0}.lx-split__pane{padding:64px 24px}}

/* Hairline rhythm — body link wipe-in underline (matches footer) */
main p a:not(.btn):not(.btn-link):not(.product-hero__supplier a):not([class*="card"]):not([style*="border:0"]),
main li > a:not(.btn):not(.btn-link):not([class*="card"]){background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0% 1px;transition:background-size 320ms cubic-bezier(0.22,0.61,0.36,1);padding-bottom:2px;text-decoration:none;border-bottom:0!important}
main p a:not(.btn):not(.btn-link):hover,
main li > a:not(.btn):not(.btn-link):hover{background-size:100% 1px}

/* Header — transparent over hero, solid on scroll (opt-in via body[data-lx-scrolled]) */
.header{transition:background-color 220ms ease,border-color 220ms ease,box-shadow 220ms ease}
body[data-lx-scrolled="true"] .header{background:#F7F7F4;border-bottom:1px solid #E5E5E1}

/* Product hero — premium media canvas, no shadow, no radius */
.product-hero__media{background:#F7F7F4!important;border-radius:0!important;padding:48px!important;display:flex;align-items:center;justify-content:center;border:1px solid #E5E5E1}
.product-hero__media img{box-shadow:none!important;border-radius:0!important;background:transparent!important;width:auto!important;max-width:100%!important;height:auto!important;max-height:480px;object-fit:contain!important;display:block}
@media (max-width:900px){.product-hero__media{padding:32px!important}}

/* Product gallery — kill rounded corners and gray backgrounds for editorial feel */
.product-section img[style*="border-radius:4px"]{border-radius:0!important;background:#F7F7F4!important;border:1px solid #E5E5E1}

/* Spec table — hairline, tabular, accent name col */
.spec-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums lining-nums}
.spec-table th,.spec-table td{padding:16px 24px 16px 0;text-align:left;border-bottom:1px solid #E5E5E1;font-size:15px;line-height:22px;vertical-align:top}
.spec-table th{font-weight:500;color:#6E7279;width:38%;font-size:13px;letter-spacing:0.02em;text-transform:none}
.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom:0}
.spec-table td{color:#1A1D23}
.spec-table tr:hover th{color:#3F47CC}

/* Segment cards — premium hairline frame, no shadow, blue ring on hover, arrow drift */
.segment-card{background:#F7F7F4;border:1px solid #E5E5E1!important;border-radius:0!important;box-shadow:none!important;overflow:hidden;transition:border-color 240ms ease,transform 320ms cubic-bezier(.22,.61,.36,1)}
.segment-card:hover{border-color:#3F47CC!important;transform:translateY(-2px)}
.segment-card .segment-card__link{transition:transform 240ms ease;display:inline-flex;align-items:center;gap:8px}
.segment-card:hover .segment-card__link{transform:translateX(4px);color:#3F47CC}
.segment-card__visual{border-radius:0!important}

/* Supplier-stripe — hairline rail */
.lx-suppliers-stripe{padding:64px 0;border-top:1px solid #E5E5E1;border-bottom:1px solid #E5E5E1;background:#F7F7F4}
.lx-suppliers-stripe__head{font-size:11px;line-height:16px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:#6E7279;margin:0 0 32px;text-align:center}
.lx-suppliers-stripe__rail{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:48px 64px}
.lx-suppliers-stripe__rail img{max-height:36px;width:auto;opacity:0.7;filter:grayscale(1) contrast(0.9);transition:opacity 200ms ease,filter 200ms ease}
.lx-suppliers-stripe__rail img:hover{opacity:1;filter:grayscale(0) contrast(1)}

/* Section rhythm — taller hero buffer, calmer spacing rhythm on premium pages */
.hero{padding-top:clamp(96px,12vw,160px)!important;padding-bottom:clamp(96px,12vw,160px)!important;border-bottom:1px solid #E5E5E1}

/* Body line-length cap per manual (apply only where not already set) */
.body-l,.body-m{max-width:65ch}

/* Print-style watermark variant — wordmark over Lab White block (used as alt for product media when no image present) */
.lx-watermark{background:#F7F7F4;border:1px solid #E5E5E1;aspect-ratio:4/3;display:flex;align-items:flex-end;justify-content:flex-start;padding:32px;font-weight:700;font-size:clamp(36px,5vw,72px);line-height:1;letter-spacing:-0.02em;color:#1A1D23;opacity:1}
.lx-watermark span{opacity:0.08}

/* ===========================================================
   LX Section Rhythm — konsekvent spacing över alla sektioner
   En enda klamrad token styr top+bottom på hero och sektioner
   så att varje breakpoint får exakt samma visuella rytm.
   =========================================================== */
:root{--lx-section:clamp(96px,11vw,152px)}
.hero{padding-top:var(--lx-section)!important;padding-bottom:var(--lx-section)!important}
.segments,.suppliers,.service-block,.proof,.split-cta,.lx-stat,.cat-block,.related,.faq,.product-section{padding-top:var(--lx-section)!important;padding-bottom:var(--lx-section)!important}
@media (max-width:640px){:root{--lx-section:76px}}

/* ===========================================================
   LX Calm Layer (2026.06) — mer luft + lugnare blå-användning
   Inom ID-manualens ramar. Färg-hex oförändrade, bara omfördelade.
   Manual ratio: 50% base / 35% blå / 10% grå / 5% röd. Vi sänker
   blå-andelen från ~45% till ~25% — basen får andas.
   =========================================================== */

/* 1. Större marginal under headlines för andrum */
.h1,.hero__h1,.product-hero__h1,.cat-block__h2,.final-cta__h2,.product-final__h2{margin-bottom:28px}

/* 2. Kickers / labels från blå → graphite. Blå sparas till knappar,
      länkar och lx-overline (där manualen vill ha brand-signal). */
.hero__kicker,
.cat-block__kicker,
.product-hero__supplier,
.related-card__supplier,
.product-section__h2,
.lx-suppliers-stripe__head,
.guide-puff__kicker,
.guide-puff__card-kicker{color:#1A1D23 !important}

/* 3. Final-CTA / product-final → Graphite-band istället för full blå.
      Manualen beskriver Graphite som "sober corporate framing" —
      passar avslutssektioner bättre än bredbandsblå. Primärknapp
      blir blå (kärn-ID), så brand-signalen är kvar. */
.final-cta,.product-final{background:#1A1D23 !important}
.final-cta .btn,.final-cta .btn-primary,
.product-final .btn,.product-final .btn-primary{
  background:#3F47CC !important;color:#F7F7F4 !important;border-color:#3F47CC !important
}
.final-cta .btn:hover,.final-cta .btn-primary:hover,
.product-final .btn:hover,.product-final .btn-primary:hover{
  background:#2C33A8 !important;border-color:#2C33A8 !important;color:#F7F7F4 !important
}

/* 4. Split-CTA: blå pane → graphite, knapp får vara blå */
.lx-split__pane--blue{background:#1A1D23}
.lx-split__pane--blue .lx-split__overline{color:#F7F7F4;opacity:0.55}
.lx-split__pane--blue .lx-split__cta{background:#3F47CC;color:#F7F7F4;border-color:#3F47CC}
.lx-split__pane--blue .lx-split__cta:hover{background:#2C33A8;border-color:#2C33A8;color:#F7F7F4}

/* 5. Lugnare hover — ingen lyft, bara mjuk border-skift */
.segment-card:hover{transform:none !important}
.related-card:hover{transform:none !important;box-shadow:none !important;border-color:#8A8D93}
.guide-puff__card:hover{transform:none !important;box-shadow:none !important;border-color:#8A8D93 !important}
.guide-puff__card{border-top-color:#8A8D93 !important}

/* 6. Luftigare spec-table */
.spec-table th,.spec-table td{padding-top:18px;padding-bottom:18px}

/* 7. Mjukare divider-linjer */
.cat-block,.hero,.faq,.related,.product-section,.lx-stat,.lx-suppliers-stripe,.lx-split{border-color:#E5E5E1 !important}

/* 8. Större gap i grids */
.related__grid{gap:32px}
@media (min-width:901px){
  .nav-mega__inner{gap:28px 32px}
}
