/* Customer narratives share the site's quiet typography and colored chapters. */
.editorial-page { color: var(--ink); }
.editorial-page :is(h1, h2, h3) { font-weight: 700; text-wrap: balance; }
.editorial-page :is(h1, h2, h3, p, dd, li) { overflow-wrap: break-word; }
.editorial-page h1 { font-size: clamp(40px, 4.7vw, 64px); letter-spacing: -.015em; line-height: 1.07; }
.editorial-intro { padding-block: 88px 60px; }
.editorial-intro h1 { max-width: 920px; }
.editorial-intro > p { max-width: 670px; margin-top: 26px; font-size: 21px; line-height: 1.43; color: var(--muted); }
.editorial-section-heading { max-width: 820px; margin-bottom: 38px; font-size: 40px; line-height: 1.12; letter-spacing: -.015em; }
.customer-theme-blue { --story-surface: #edf3fc; --story-gradient: var(--chapter-blue); }
.customer-theme-violet { --story-surface: #f3effa; --story-gradient: var(--chapter-lilac); }
.customer-theme-green { --story-surface: #eff5f0; --story-gradient: var(--chapter-mint); }
.customer-theme-orange { --story-surface: #fbf1e9; --story-gradient: var(--chapter-peach); }
/* Brand accents are limited to customer cards with an established palette. */
.customer-story-card[data-customer="ica-gruppen"] { --customer-accent: #ad2923; --story-surface: #fff3f1; --story-gradient: linear-gradient(135deg, #fff3f1, #fff8f6); }
.customer-story-card[data-customer="payex"] { --customer-accent: #19663c; }
.customer-story-card[data-customer="haglofs"] { --customer-accent: #343f31; }
.customer-story-card[data-customer="granges"] { --customer-accent: #922c2c; --story-surface: #fff3f1; --story-gradient: linear-gradient(135deg, #fff3f1, #fff8f6); }
.customer-story-card[data-customer="mustad"] { --customer-accent: #1c449b; }
.customer-story-card[data-customer="ahlsell"] { --customer-accent: #0073b6; --story-surface: #edf3fc; --story-gradient: var(--chapter-blue); }
.customer-story-card { display: flex; flex-direction: column; color: var(--ink); border-radius: 26px; overflow: hidden; background: var(--story-surface); text-decoration: none; min-width: 0; transition: box-shadow 180ms ease; }
.customer-story-card:hover { box-shadow: 0 10px 28px #2823400d; }
.customer-card-media { aspect-ratio: 1.6; overflow: hidden; display: grid; place-items: center; background: #f5f5f7; }
.customer-card-media > img { width: 100%; height: 100%; display: block; object-fit: contain; }
.customer-card-copy { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 30px; }
.customer-brand-logo { object-fit: contain; object-position: left center; width: auto; max-width: min(180px, 100%); height: 42px; display: block; }
.customer-brand-name { display: block; font-size: 23px; line-height: 1.25; font-weight: 650; letter-spacing: -.025em; }
.customer-story-card .customer-brand-name { color: var(--customer-accent, var(--ink)); }
.customer-card-focus { display: block; font-size: 12px; line-height: 1.4; color: #635c70; margin-top: 22px; }
.customer-card-copy > h2 { font-size: 25px; line-height: 1.18; letter-spacing: -.01em; margin-top: 12px; text-wrap: pretty; }
.customer-card-copy > p { font-size: 17px; line-height: 1.5; color: #625d6a; margin-top: 22px; }
.customer-card-link { display: flex; align-items: center; gap: 10px; font-size: 15px; line-height: 1.4; color: var(--customer-accent, var(--purple)); padding-top: 27px; margin-top: auto; }
.customer-card-link > svg { flex-shrink: 0; transition: transform 180ms ease; }
.customer-story-card:hover .customer-card-link > svg { transform: translateX(3px); }
.customer-story-card:focus-visible { outline: 3px solid var(--customer-accent, var(--purple)); outline-offset: 5px; }
.customer-story-featured { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); background: var(--story-gradient); }
.customer-story-featured .customer-card-media { height: 100%; min-height: 430px; aspect-ratio: auto; padding: 28px; background: transparent; }
.customer-story-featured .customer-card-media img { height: auto; max-height: 500px; border-radius: 14px; box-shadow: 0 12px 45px #18345212; }
.customer-story-featured .customer-card-copy { padding: 48px 48px 48px 20px; }
.customer-story-featured .customer-card-copy > h2 { font-size: 38px; }
.customer-all-stories { padding-block: 94px 100px; }
.customer-story-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.customer-story-grid-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.customer-story-grid-pair .customer-card-media { aspect-ratio: 1.9; }
.editorial-closing { background: var(--chapter-lilac); padding-block: 96px; text-align: center; }
.editorial-closing h2 { max-width: 760px; margin-inline: auto; font-size: 48px; letter-spacing: -.015em; line-height: 1.12; }
.editorial-closing p { max-width: 590px; margin: 24px auto 30px; font-size: 21px; line-height: 1.43; color: #61586d; }
.editorial-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }
.editorial-actions .button { max-width: 100%; text-align: center; white-space: normal; }
.editorial-back { display: inline-flex; align-items: center; gap: 10px; color: #625773; font-size: 14px; line-height: 1.5; margin-bottom: 48px; }
.editorial-back > svg { flex-shrink: 0; }
.editorial-back:hover { color: var(--purple); }
.customer-detail-hero { background: var(--story-gradient); padding-block: 42px 76px; }
.customer-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.customer-hero-grid > * { min-width: 0; }
.customer-hero-copy h1 { font-size: clamp(38px, 3.6vw, 52px); margin-top: 30px; }
.customer-hero-copy > p { margin-top: 26px; color: #615b6b; font-size: 19px; line-height: 1.45; }
.customer-hero-media { display: grid; place-items: center; margin: 0; }
.customer-hero-media img { display: block; width: 100%; height: auto; max-height: 480px; object-fit: contain; border-radius: 18px; box-shadow: 0 18px 50px #253b6b12; }
[data-customer="gathr-outdoors"] .customer-card-media,
[data-customer="gathr-outdoors"] .customer-hero-media { background: #183b35; }
[data-customer="gathr-outdoors"] .customer-card-media img { padding: 42px; }
[data-customer="gathr-outdoors"] .customer-hero-media { border-radius: 22px; padding: 38px; }
[data-customer="gathr-outdoors"] .customer-hero-media img { box-shadow: none; }
.customer-article-layout { display: grid; grid-template-columns: minmax(0, 270px) minmax(0, 680px); justify-content: space-between; gap: 80px; padding-block: 80px 88px; }
.customer-story-facts { align-self: start; position: sticky; top: 96px; min-width: 0; }
.customer-story-facts dl { margin: 0 0 36px; }
.customer-story-facts dl > div + div { margin-top: 24px; }
.customer-story-facts dt { color: var(--muted); font-size: 13px; margin-bottom: 7px; }
.customer-story-facts dd { font-size: 17px; font-weight: 500; margin: 0; }
.customer-story-facts h2 { font-size: 19px; line-height: 1.3; margin-bottom: 19px; text-wrap: pretty; }
.customer-story-facts ul { display: grid; gap: 16px; list-style: none; padding: 0; margin: 0 0 28px; }
.customer-story-facts li { display: flex; gap: 10px; color: #615c68; font-size: 14px; line-height: 1.5; }
.customer-story-facts li > svg { flex-shrink: 0; margin-top: 3px; color: #687761; }
.customer-story-facts .button { font-size: 14px; white-space: normal; text-align: center; max-width: 100%; }
.customer-story-body { min-width: 0; }
.customer-story-body p { font-size: 18px; line-height: 1.7; letter-spacing: -.008em; color: #55515c; }
.customer-story-body p + p { margin-top: 20px; }
.customer-story-introduction > p:first-child { font-size: 23px; line-height: 1.5; color: #302c35; }
.customer-article-section { margin-top: 48px; }
.customer-article-section h2 { font-size: 32px; line-height: 1.2; letter-spacing: -.01em; margin-bottom: 22px; text-wrap: pretty; }
.customer-story-quote { margin: 46px 0; padding: 34px; border-radius: 24px; background: var(--story-surface); }
.customer-story-quote blockquote { margin: 0; }
.customer-story-quote blockquote p { color: #332b40; font-size: 27px; line-height: 1.4; font-weight: 500; letter-spacing: -.015em; }
.customer-story-quote figcaption { display: grid; gap: 3px; font-size: 14px; margin-top: 24px; color: #645b70; }
.customer-story-quote figcaption strong { font-weight: 600; color: #332b40; }
.customer-story-quote figcaption small { font-size: 11px; margin-top: 6px; }
.customer-story-body .customer-story-note { margin-top: 46px; font-size: 12px; line-height: 1.5; color: var(--muted); }
.customer-related { padding-block: 80px; background: #f7f7f9; }
:lang(sv) .editorial-page :is(h1, h2, h3, .customer-brand-name) { hyphens: manual; }
@media (max-width: 1068px) {
  .customer-story-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .customer-story-featured .customer-card-copy { padding: 32px 32px 32px 10px; }
  .customer-story-featured .customer-card-copy > h2 { font-size: 30px; }
  .customer-story-featured .customer-card-media { min-height: 380px; padding: 24px; }
  .customer-hero-grid { gap: 36px; }
  .customer-hero-copy h1 { font-size: 40px; }
  .customer-article-layout { gap: 48px; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .editorial-intro { padding-block: 62px 42px; }
  .editorial-intro h1 { font-size: 44px; }
  .customer-story-featured { grid-template-columns: 1fr; }
  .customer-story-featured .customer-card-media { min-height: 0; padding: 28px; }
  .customer-story-featured .customer-card-media img { max-height: 340px; }
  .customer-story-featured .customer-card-copy { padding: 8px 30px 32px; }
  .customer-story-featured .customer-card-copy > h2 { font-size: 32px; }
  .customer-story-grid { gap: 20px; }
  .customer-card-copy { padding: 24px; }
  .customer-card-copy > h2 { font-size: 23px; }
  .customer-brand-name { font-size: 21px; }
  .customer-all-stories { padding-block: 64px; }
  .editorial-section-heading { font-size: 34px; }
  .customer-hero-grid { grid-template-columns: 1fr; gap: 36px; }
  .customer-detail-hero { padding-bottom: 48px; }
  .editorial-back { margin-bottom: 34px; }
  .customer-hero-copy { max-width: 620px; }
  .customer-hero-media img { max-height: 400px; }
  .customer-article-layout { grid-template-columns: 1fr; gap: 44px; padding-block: 48px 64px; }
  .customer-story-facts { position: static; background: var(--story-surface); border-radius: 22px; padding: 28px; }
  .customer-story-facts dl { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 24px; }
  .customer-story-facts dl > div + div { margin-top: 0; }
  .customer-story-facts .button { display: none; }
  .customer-story-facts ul { margin-bottom: 0; }
  .customer-related { padding-block: 60px; }
  .editorial-closing { padding-block: 70px; }
  .editorial-closing h2 { font-size: 38px; }
}
@media (max-width: 540px) {
  .editorial-intro h1 { font-size: 38px; }
  .editorial-intro > p, .editorial-closing p { font-size: 19px; }
  .customer-story-grid { grid-template-columns: 1fr; }
  .customer-card-copy { padding: 28px; }
  .customer-story-featured .customer-card-media { padding: 20px; }
  .customer-story-featured .customer-card-copy { padding: 8px 24px 30px; }
  .customer-story-featured .customer-card-copy > h2 { font-size: 28px; }
  .customer-hero-copy h1 { font-size: 36px; }
  .customer-hero-copy > p { font-size: 18px; }
  .customer-article-section h2 { font-size: 27px; }
  .customer-story-introduction > p:first-child { font-size: 21px; }
  .customer-story-body p { font-size: 17px; line-height: 1.65; }
  .customer-story-quote { padding: 26px; }
  .customer-story-quote blockquote p { font-size: 23px; }
  .customer-story-facts { padding: 24px; }
  .customer-story-facts dl { grid-template-columns: 1fr; gap: 20px; }
  .editorial-closing h2 { font-size: 34px; }
  .editorial-section-heading { font-size: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  .customer-story-card, .customer-card-link > svg { transition: none; }
}
.customer-story-filters { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 32px; }
.customer-story-filters button { padding: 12px 18px; background: #f5f5f7; color: var(--muted); border: 0; border-radius: 24px; font: inherit; font-size: 14px; font-weight: 500; cursor: pointer; }
.customer-story-filters button[aria-pressed="true"] { background: #ede7fa; color: var(--purple); }
.customer-filter-context { margin-bottom: 30px; }
.customer-filter-context h2 { font-size: 28px; letter-spacing: -.025em; margin-bottom: 16px; }
.customer-product-next { margin-block: 30px; }
.customer-product-next .text-link { font-size: 14px; line-height: 1.5; }
