/* Solutions V4: generated from the approved design by its build script (do not edit by hand).
   Base values are the design at 390px; the 768, 1024, 1100, 1280, 1380px blocks are its values at 900, 1060, 1200, 1300, 1440. */
.cf-so { font-variant-numeric: tabular-nums; }
.cf-so { --band:360px;--pad:41px;--sec:115px;--gap-hc:70px;--t-hero:72px;--t-h2:48px;--t-stmt:32px;--t-title:24px;--t-intro:20px }
@media (max-width:767px) { .cf-so { --band:200px;--pad:40px;--sec:60px;--gap-hc:40px;--t-hero:42px;--t-h2:35px;--t-stmt:24px;--t-title:22px;--t-intro:18px } }
@media (max-width:360px) { .cf-so { --pad:20px } }
:where(.cf-so) a { color: #264363; } :where(.cf-so) a:hover { color: #3E6FA5; }
.cf-so [hidden] { display: none !important; }
@media (max-width: 767px) { .soh0 { display: none !important; } }
@media (min-width: 768px) and (max-width: 1023px) { .soh1 { display: none !important; } }
@media (min-width: 1024px) and (max-width: 1099px) { .soh2 { display: none !important; } }
@media (min-width: 1100px) and (max-width: 1279px) { .soh3 { display: none !important; } }
@media (min-width: 1280px) and (max-width: 1379px) { .soh4 { display: none !important; } }
@media (min-width: 1380px) { .soh5 { display: none !important; } }
.so1 { outline: none; }
.so2 { position: relative; border-bottom: 1px dashed #C9C2B6; }
.so3 { position: absolute; left: 0; right: 0; bottom: -6px; display: flex; justify-content: center; pointer-events: none; z-index: 3; }
.so4 { position: relative; width: 100%; max-width: 1360px; height: 11px; }
.so5 { position: absolute; left: -6px; top: 0; width: 11px; height: 11px; border: 1px solid #8E8677; border-radius: 50%; background: #FFFFFF; }
.so6 { position: absolute; right: -6px; top: 0; width: 11px; height: 11px; border: 1px solid #8E8677; border-radius: 50%; background: #FFFFFF; }
.so7 { max-width: 1360px; margin: 0 auto; padding: var(--sec) var(--pad) 0; display: flex; flex-direction: column; gap: 32px; }
.so8 { margin: 0; font-family: 'Inter Tight',Inter,sans-serif; font-weight: 400; font-size: var(--t-hero); line-height: 0.98; letter-spacing: -0.035em; color: #122236; max-width: 13ch; text-wrap: balance; }
.so9 { margin: 0; max-width: 640px; font-size: var(--t-intro); line-height: 1.5; color: #24364F; text-wrap: pretty; }
.so10 { max-width: 1360px; margin: 0 auto; padding: var(--gap-hc) var(--pad) var(--gap-hc); }
.so11 { height: var(--band); background: #DCE7F4 url('/assets/ds/img/solutions/cf-solutions-band.webp') center/cover no-repeat; }
.so12 { max-width: 1360px; margin: 0 auto; padding: var(--sec) var(--pad); }
.so13 { margin: 0; font-family: 'Inter Tight',Inter,sans-serif; font-weight: 500; font-size: var(--t-title); line-height: 1.2; letter-spacing: -0.015em; color: #122236; }
.so14 { margin-top: 48px; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr); gap: 0 96px; border-top: 1px solid #122236; }
.so15 { display: flex; flex-direction: column; align-self: start; position: sticky; top: 88px; }
.so16 { min-height: 64px; display: flex; gap: 16px; align-items: baseline; padding: 20px 0 20px 20px; border: 0; border-bottom: 1px solid #D8D2C8; background: transparent; box-shadow: inset 3px 0 0 #122236; color: #122236; cursor: pointer; text-align: left; font: 500 20px/1.3 'Inter Tight',Inter,sans-serif; transition: padding 160ms,color 160ms; }
.so17 { min-height: 64px; display: flex; gap: 16px; align-items: baseline; padding: 20px 0 20px 0; border: 0; border-bottom: 1px solid #D8D2C8; background: transparent; box-shadow: none; color: #24364F; cursor: pointer; text-align: left; font: 400 20px/1.3 'Inter Tight',Inter,sans-serif; transition: padding 160ms,color 160ms; }
.so18 { flex: none; width: 24px; font: 500 12px/1 'Inter Tight',Inter,sans-serif; color: #122236; }
.so19 { flex: none; width: 24px; font: 500 12px/1 'Inter Tight',Inter,sans-serif; color: #3E6FA5; }
.so20 { flex: 1 1 auto; min-width: 0; }
.so21 { min-width: 0; padding-top: 48px; }
.so22 { display: flex; flex-direction: column; gap: 48px; }
.so23 { margin: 0; font-family: 'Inter Tight',Inter,sans-serif; font-weight: 400; font-size: var(--t-stmt); line-height: 1.2; letter-spacing: -0.02em; color: #122236; text-wrap: balance; max-width: 22ch; }
.so24 { display: grid; grid-template-columns: minmax(0,1fr); gap: 40px 48px; }
.so25 { display: flex; flex-direction: column; gap: 16px; }
.so26 { font-size: 14px; font-weight: 600; line-height: 1; color: #264363; }
.so27 { list-style: none; margin: 0; padding: 0; border-top: 1px solid #122236; }
.so28 { padding: 12px 0; border-bottom: 1px solid #EAE5DC; font-size: 16px; line-height: 1.5; color: #122236; }
.so29 { display: flex; flex-direction: column; gap: 12px; padding: 24px; background: #F7F5F2; }
.so30 { margin: 0; max-width: 640px; font: 400 20px/1.4 'Inter Tight',Inter,sans-serif; color: #122236; text-wrap: pretty; }
.so31 { display: grid; grid-template-columns: minmax(0,1fr); gap: 32px 48px; padding-top: 32px; border-top: 1px solid #122236; }
.so32 { margin: 0; max-width: 640px; font-size: 16px; line-height: 1.6; color: #24364F; text-wrap: pretty; }
.so33 { align-self: flex-start; display: inline-flex; align-items: center; gap: 12px; padding: 16px 24px; background: #122236; color: #FFFFFF; font-weight: 500; font-size: 16px; text-decoration: none; white-space: nowrap; transition: background 160ms; margin-top: 8px; }
.so33:hover { background:#24364F;color:#FFFFFF; }
.so34 { display: flex; flex-direction: column; gap: 8px; padding-bottom: 16px; border-bottom: 1px solid #EAE5DC; }
.so35 { align-self: flex-start; white-space: nowrap; font-weight: 600; font-size: 16px; color: #122236; text-decoration: none; border-bottom: 1px solid #122236; padding-bottom: 4px; }
.so35:hover { color:#3E6FA5;border-color:#4275AE; }
.so36 { font-size: 14px; line-height: 1.6; color: #264363; }
.so37 { margin-top: 40px; border-top: 1px solid #122236; }
.so38 { border-bottom: 1px solid #D8D2C8; }
.so39 { margin: 0; }
.so40 { width: 100%; min-height: 64px; display: flex; gap: 16px; align-items: center; padding: 20px 0; border: 0; background: transparent; color: #122236; cursor: pointer; text-align: left; font: 500 20px/1.3 'Inter Tight',Inter,sans-serif; }
.so41 { flex: none; font-size: 24px; line-height: 1; font-weight: 300; }
.so42 { padding: 8px 0 48px; }
.so43 { margin: 0; max-width: 640px; font-size: 14px; line-height: 1.6; color: #264363; margin-top: 48px; }
.so44 { position: relative; background: #F1EEE8; border-bottom: 1px dashed #C9C2B6; }
.so45 { display: flex; flex-direction: column; gap: 24px; }
.so46 { margin: 0; font-family: 'Inter Tight',Inter,sans-serif; font-weight: 400; font-size: var(--t-h2); line-height: 1.04; letter-spacing: -0.03em; color: #122236; text-wrap: balance; max-width: 14ch; }
.so47 { list-style: none; margin: var(--gap-hc) 0 0; padding: 0; display: grid; grid-template-columns: minmax(0,1fr); border-top: 1px solid #122236; }
.so48 { padding: 32px 0; border-left: 0; border-bottom: 1px solid #D8D2C8; display: flex; flex-direction: column; gap: 16px; }
.so49 { aspect-ratio: 16/9; background: #DCE7F4 url('/assets/ds/img/solutions/cf-v7-meddpicc.jpg') center/cover no-repeat; margin-bottom: 8px; }
.so50 { align-self: flex-start; font: 500 12px/1 'Inter Tight',Inter,sans-serif; color: #122236; border: 1px solid #122236; border-radius: 999px; padding: 5px 9px; background: #FFFFFF; white-space: nowrap; }
.so51 { margin: 0; font-size: 16px; line-height: 1.6; color: #24364F; text-wrap: pretty; }
.so52 { align-self: flex-start; white-space: nowrap; font-weight: 600; font-size: 16px; color: #122236; text-decoration: none; border-bottom: 1px solid #122236; padding-bottom: 4px; margin-top: auto; padding-top: 8px; }
.so52:hover { color:#3E6FA5;border-color:#4275AE; }
.so53 { padding: 32px 0; border-left: 0; border-bottom: 1px solid #D8D2C8; display: flex; flex-direction: column; gap: 16px; }
.so54 { aspect-ratio: 16/9; background: #DCE7F4 url('/assets/ds/img/solutions/cf-v7-sse.jpg') center/cover no-repeat; margin-bottom: 8px; }
.so55 { margin-top: 64px; display: grid; grid-template-columns: minmax(0,1fr); background: #122236; color: #FFFFFF; }
.so56 { min-height: 240px; background: #264363 url('/assets/ds/img/solutions/cf-v7-5days.jpg') center/cover no-repeat; }
.so57 { display: flex; flex-direction: column; gap: 24px; padding: 48px 24px; }
.so58 { align-self: flex-start; font: 500 12px/1 'Inter Tight',Inter,sans-serif; color: #122236; border-radius: 999px; padding: 5px 9px; background: #DCE7F4; white-space: nowrap; }
.so59 { margin: 0; font-family: 'Inter Tight',Inter,sans-serif; font-weight: 400; font-size: var(--t-stmt); line-height: 1.2; letter-spacing: -0.02em; color: #FFFFFF; text-wrap: balance; }
.so60 { margin: 0; max-width: 640px; font-size: 16px; line-height: 1.6; color: #DCE7F4; text-wrap: pretty; }
.so61 { align-self: flex-start; white-space: nowrap; font-weight: 600; font-size: 16px; color: #FFFFFF; text-decoration: none; border-bottom: 1px solid #FFFFFF; padding-bottom: 4px; }
.so61:hover { color:#DCE7F4;border-color:#DCE7F4; }
.so62 { margin: 0; font-family: 'Inter Tight',Inter,sans-serif; font-weight: 400; font-size: var(--t-h2); line-height: 1.04; letter-spacing: -0.03em; color: #122236; text-wrap: balance; max-width: 16ch; }
.so63 { list-style: none; margin: var(--gap-hc) 0 0; padding: 0; display: grid; grid-template-columns: repeat(1,minmax(0,1fr)); border-top: 1px solid #122236; }
.so64 { width: 1px; height: 14px; background: #122236; margin: -16px 0 -16px 16px; }
.so65 { height: 3px; background: #122236; }
.so66 { font: 500 12px/1 'Inter Tight',Inter,sans-serif; color: #264363; }
.so67 { margin-top: auto; padding-top: 8px; font-size: 14px; line-height: 1.6; color: #264363; }
.so68 { padding: 32px 0; border-left: 0; border-bottom: 1px solid #D8D2C8; display: flex; flex-direction: column; gap: 16px; }
.so69 { height: 3px; background: #4275AE; }
.so70 { align-self: flex-start; font: 500 12px/1 'Inter Tight',Inter,sans-serif; color: #122236; border: 1px solid #122236; border-radius: 999px; padding: 5px 9px; background: #DCE7F4; white-space: nowrap; }
.so71 { height: 3px; background: #8FB4DA; }
.so72 { max-width: 1360px; margin: 0 auto; padding: var(--sec) var(--pad); display: flex; flex-direction: column; gap: 32px; }
.so73 { margin: 0; font-family: 'Inter Tight',Inter,sans-serif; font-weight: 400; font-size: var(--t-stmt); line-height: 1.2; letter-spacing: -0.02em; color: #122236; max-width: 28ch; text-wrap: pretty; }
.so74 { background: #DCE7F4; -webkit-box-decoration-break: clone; box-decoration-break: clone; padding: 0 0.1em; }
.so75 { margin: 0; display: flex; flex-wrap: wrap; gap: 8px 24px; max-width: 960px; font-size: 16px; line-height: 1.6; color: #264363; }
.so76 { font-weight: 600; color: #122236; }
.so77 { position: relative; overflow: hidden; background: #FFFFFF; }
.so78 { position: absolute; inset: 0; pointer-events: none; }
.so79 { position: absolute; left: 7%; top: 16%; display: flex; align-items: center; }
.so80 { width: 28px; height: 28px; border: 1px solid #122236; border-radius: 50%; background: #FFFFFF; display: flex; align-items: center; justify-content: center; }
.so81 { width: 6px; height: 6px; border-radius: 50%; background: #122236; }
.so82 { height: 30px; border: 1px solid #122236; background: #DCE7F4; display: flex; align-items: center; padding: 0 12px; font: 500 12px/1 'Inter Tight',Inter,sans-serif; color: #122236; white-space: nowrap; }
.so83 { position: absolute; left: 74%; top: 12%; display: flex; align-items: center; }
.so84 { height: 30px; border: 1px solid #122236; background: #FFFFFF; display: flex; align-items: center; padding: 0 12px; font: 500 12px/1 'Inter Tight',Inter,sans-serif; color: #122236; white-space: nowrap; }
.so85 { position: absolute; left: 4%; top: 62%; display: flex; align-items: center; }
.so86 { height: 30px; border: 1px solid #122236; background: #F1EEE8; display: flex; align-items: center; padding: 0 12px; font: 500 12px/1 'Inter Tight',Inter,sans-serif; color: #122236; white-space: nowrap; }
.so87 { position: absolute; left: 78%; top: 58%; display: flex; align-items: center; }
.so88 { position: absolute; left: 18%; top: 84%; display: flex; align-items: center; }
.so89 { position: absolute; left: 64%; top: 86%; display: flex; align-items: center; }
.so90 { position: relative; max-width: 1360px; margin: 0 auto; padding: calc(var(--sec) * 1.4) var(--pad); display: flex; flex-direction: column; align-items: center; text-align: center; gap: 32px; }
.so91 { margin: 0; font-family: 'Inter Tight',Inter,sans-serif; font-weight: 400; font-size: var(--t-hero); line-height: 0.98; letter-spacing: -0.035em; color: #122236; max-width: 12ch; text-wrap: balance; background: rgba(255,255,255,0.85); }
.so92 { margin: 0; max-width: 640px; font-size: var(--t-intro); line-height: 1.5; color: #122236; text-wrap: pretty; background: rgba(255,255,255,0.88); }
.so93 { display: inline-flex; align-items: center; gap: 12px; padding: 16px 24px; background: #122236; color: #FFFFFF; font-weight: 500; font-size: 16px; text-decoration: none; white-space: nowrap; transition: background 160ms; }
.so93:hover { background:#24364F;color:#FFFFFF; }
@media (min-width: 768px) {
  .so47 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .so48 { padding: 32px 32px 0 0; border-bottom: 0; }
  .so53 { padding: 32px 0 0 32px; border-left: 1px solid #D8D2C8; border-bottom: 0; }
  .so57 { padding: 48px 48px; }
  .so63 { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .so68 { padding: 32px 32px 0 32px; border-left: 1px solid #D8D2C8; border-bottom: 0; }
}
@media (min-width: 1024px) {
  .so55 { grid-template-columns: minmax(0,1fr) minmax(0,1.6fr); }
}
@media (min-width: 1280px) {
  .so24 { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .so31 { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); }
}
