/* Homepage card components (solution cards .sy, case cards .cs-card), shared by all pages.
   Generated from index.html styles. */
.cs-card{position:relative;overflow:hidden;border-radius:24px;padding:clamp(28px,3.4vw,48px);color:#fff;background:radial-gradient(120% 90% at 100% 0%,#1A3D78 0%,#0D1F42 55%,#0D1117 100%);display:flex;flex-direction:column;text-decoration:none;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.cs-card:hover{transform:translateY(-6px);box-shadow:0 40px 80px -40px rgba(12,31,61,.7)}
.cs-card.wr{background:radial-gradient(120% 90% at 100% 0%,#0F5868 0%,#0B2A44 55%,#0D1117 100%)}
.cs-card.wr .ring .fg{stroke:var(--s4)}
.cs-top{display:flex;gap:28px;align-items:center}
.cs-top p{margin:0;font:800 18px/1.3 var(--head);max-width:15ch}
.cs-card .label{margin:36px 0 10px;color:var(--sky)}
.cs-card.wr .label{color:var(--s4)}
.cs-card h3{font-size:clamp(26px,2.6vw,36px);letter-spacing:-.03em;line-height:1.08}
.cs-card .ctx{margin:10px 0 0;color:var(--on-d);font-size:17px}
.mini{margin:30px 0 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.16)}
.mini div{padding:18px 14px 0 0}
.mini div+div{padding-left:14px;border-left:1px solid rgba(255,255,255,.16)}
.mini b{display:block;font:800 30px/1 var(--head);letter-spacing:-.03em}
.mini span{display:block;margin-top:8px;font-size:14px;color:var(--on-d);line-height:1.35}
.cs-card .go{margin-top:auto;padding-top:32px;font:800 17px var(--head);display:inline-flex;gap:8px;align-items:center}
.cs-card:hover .go .ar{transform:translateX(4px)}
.cs-card .go .ar{transition:transform .2s}
@media (max-width:900px){.cols,.cs,.pe{grid-template-columns:1fr}}
@media (max-width:600px){.cs-top{flex-direction:column;align-items:flex-start}.ring{width:120px;height:120px}.mini b{font-size:24px}}
.cs{margin-top:64px;display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media (max-width:900px){.cs{grid-template-columns:1fr}}
.cs-card,.cs-card.wr{background:radial-gradient(110% 80% at 100% 0%,#003466 0%,#0D1117 62%)!important;border:1px solid rgba(255,255,255,.06)}
.cs-card.wr{background:radial-gradient(110% 80% at 0% 100%,#003466 0%,#0D1117 62%)!important}
.cs-card:before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--sky);transform:scaleX(.12);transform-origin:left;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.cs-card:hover:before{transform:scaleX(1)}
.cs-card:hover{box-shadow:0 40px 80px -40px rgba(13,17,23,.8)!important}
.cs-card.wr .ring .fg,.cs-card .ring .fg{stroke:var(--sky)!important}
.cs-card.wr .label,.cs-card .label{color:var(--sky)!important}
.cs-card .ctx{color:#9FB0C0!important}
.cs-card .mini b{font:800 clamp(30px,2.8vw,40px)/1 var(--head)!important;letter-spacing:-.03em;color:#fff!important}
.cs-card .mini b i{font-style:normal;color:var(--sky)}
.cs-card .mini span{color:#9FB0C0!important}
.cs-card .go{color:var(--sky)}
.sol8 .wrap>h2{max-width:18ch}
.syg{margin-top:clamp(56px,6vw,80px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));grid-template-rows:repeat(5,auto);column-gap:20px}
.sy{grid-row:span 5;display:grid;grid-template-rows:subgrid;row-gap:0;position:relative;padding:28px 32px 28px;border-radius:20px;background:radial-gradient(90% 60% at 100% 0%,rgba(0,52,102,.85),rgba(0,52,102,0) 70%),#0D1117;color:#fff;text-decoration:none;overflow:hidden;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s cubic-bezier(.16,1,.3,1)}
.sy:hover{transform:translateY(-6px);box-shadow:0 36px 60px -36px rgba(13,17,23,.8)}
.sy:focus-visible{outline:3px solid var(--sky);outline-offset:4px}
.sy-st{margin:0;display:flex;align-items:center;gap:12px;font:600 14px/1.3 var(--head);color:#C5D0E1}
.sy-b{display:flex;gap:4px}
.sy-b i{font:800 13px/1 var(--head);font-style:normal;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--sky);color:#0D1117}
.sy{container-type:inline-size}
.sy-verb{white-space:nowrap;margin:64px 0 0;font:800 min(17cqi,72px)/.92 var(--head);letter-spacing:-.04em;color:#fff}
.sy-verb span{color:var(--sky)}
.sy-what{margin-top:20px}
.sy-what h3{margin:0;font:800 clamp(22px,1.9vw,27px)/1.12 var(--head);letter-spacing:-.02em;color:#fff;max-width:16ch}
.sy-what p{margin:10px 0 0;font:400 19px/1.4 var(--body);color:#C5D0E1;max-width:24ch}
.sy-facts{list-style:none;margin:40px 0 0;padding:20px 0 0;border-top:1px solid rgba(255,255,255,.14);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;column-gap:16px;align-self:start}
.sy-facts li{display:flex;flex-direction:column;gap:6px}
.sy-facts b{font:800 19px/1 var(--head);letter-spacing:-.01em;color:#fff;white-space:nowrap}
.sy-facts span{font:400 15px/1.35 var(--body);color:#9FB0C0}
.sy-go{margin-top:40px;align-self:end;display:flex;align-items:center;justify-content:space-between;gap:16px;font:800 16px/1.2 var(--head);color:#fff}
.sy-ar{flex:none;width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(56,182,255,.6);display:grid;place-items:center;transition:background .35s,border-color .35s}
.sy-ar svg{width:18px;height:18px;fill:none;stroke:var(--sky);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:stroke .35s,transform .35s cubic-bezier(.16,1,.3,1)}
.sy:hover .sy-ar{background:var(--sky);border-color:var(--sky)}
.sy:hover .sy-ar svg{stroke:#0D1117;transform:translateX(2px)}
@media (max-width:1100px){.syg{grid-template-columns:1fr;grid-template-rows:none;row-gap:16px}.sy{grid-row:auto;grid-template-rows:none;display:flex;flex-direction:column}.sy-verb{margin-top:40px}}
@media (prefers-reduced-motion:reduce){.sy,.sy-ar,.sy-ar svg{transition:none}}
.sy{background:#0D1117!important;display:flex!important;flex-direction:column;border:1px solid rgba(255,255,255,.06)}
.sy-st{flex-direction:column;align-items:flex-start!important;gap:12px!important;min-height:76px}
.sy-b i{background:rgba(255,255,255,.06)!important;color:#5F6C82!important}
.sy-b i.on{background:var(--sky)!important;color:#0D1117!important}
.sy-verb{margin-top:48px!important}
.sy-what{min-height:142px}
.sy-facts{margin-top:36px!important}
.sy-go{margin-top:auto!important;padding-top:40px;align-self:stretch!important}
.sy{background:#fff!important;color:#003466!important;border:1px solid rgba(0,52,102,.08)!important;box-shadow:0 1px 2px rgba(0,52,102,.06),0 12px 28px -12px rgba(0,52,102,.18),0 32px 64px -32px rgba(0,52,102,.22)!important}
.sy:hover{box-shadow:0 2px 4px rgba(0,52,102,.06),0 20px 40px -16px rgba(0,52,102,.24),0 48px 80px -36px rgba(0,52,102,.32)!important}
.sy-st{color:#56657E!important}
.sy-b i{background:#EEF3F8!important;color:#8D98AB!important}
.sy-verb,.sy-what h3,.sy-facts b,.sy-go{color:#003466!important}
.sy-what p,.sy-facts span{color:#56657E!important}
.sy-facts{border-top-color:#DCE3EE!important}
.sy:hover .sy-ar svg{stroke:#003466!important}
.sol8 .sol-h{max-width:760px}
.sol8 .sol-h h2{margin:0}
.sol8 .sol-h p{margin:20px 0 0;font:400 clamp(19px,1.6vw,22px)/1.5 var(--body);color:var(--muted);max-width:60ch;text-wrap:pretty}
.sol8 .syg{margin-top:clamp(48px,5vw,64px)!important}
.sy-b i.on{background:var(--sky)!important;color:#003466!important}
.sy-st{font-size:15px!important}
.sy-facts span{font-size:16px!important}
.sy-what p{font-size:19px!important}
.cs-card .mini span{font-size:15px!important}
.sy{padding:36px 36px 32px!important;border-radius:24px!important;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s cubic-bezier(.16,1,.3,1),border-color .4s!important}
.sy:before{content:"";position:absolute;left:36px;right:36px;top:0;height:3px;border-radius:0 0 3px 3px;background:var(--sky);transform:scaleX(.18);transform-origin:left;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.sy:hover{border-color:rgba(56,182,255,.55)!important}
.sy:hover:before{transform:scaleX(1)}
.sy-b i{width:30px!important;height:30px!important;font-size:13px!important;border-radius:9px!important}
.sy-b i.on{box-shadow:0 6px 14px -6px rgba(56,182,255,.9)}
.sy-verb{margin-top:44px!important}
.sy-facts{margin-top:32px!important;padding:18px 18px 16px!important;border:0!important;border-radius:16px;background:#F4F8FC}
.sy-facts li+li{border-left:1px solid #DCE3EE;padding-left:14px}
.sy-ar{width:48px!important;height:48px!important;background:#003466;border-color:#003466!important}
.sy-ar svg{stroke:#fff!important}
.sy:hover .sy-ar{background:var(--sky)!important;border-color:var(--sky)!important}
.sy:hover .sy-ar svg{stroke:#003466!important}
.cs-card,.cs-card.wr{background:radial-gradient(60% 45% at 100% 0%,rgba(0,52,102,.9) 0%,rgba(0,52,102,0) 100%),#0D1117!important}
.sy-facts{padding:16px 14px 14px!important;column-gap:10px!important}
.sy-facts li{min-width:0}
.sy-facts li+li{padding-left:10px!important}
.sy-facts span{font-size:15px!important;overflow-wrap:anywhere}
@media (max-width:1100px){.sy-what{min-height:0!important}}
.xbox,.xbox.xo,.sy-facts{background:var(--panel)!important;border:0!important;border-radius:var(--r-in)!important}
.cs-card,.cs-card.wr{background:var(--dcard)!important;border:1px solid rgba(255,255,255,.07)!important;border-radius:var(--r-card)!important;box-shadow:none!important}
.cs-card:hover{box-shadow:0 30px 60px -30px rgba(0,0,0,.7)!important}
@media (hover:hover){.sy{transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s cubic-bezier(.16,1,.3,1),border-color .4s,opacity .45s,filter .45s!important}.syg:hover .sy:not(:hover){opacity:.45;filter:grayscale(1)}.syg:hover .sy:hover{transform:translateY(-8px)}}
.syg:focus-within .sy:not(:focus-visible):not(:hover){opacity:.45;filter:grayscale(1)}
@media (prefers-reduced-motion:reduce){.sy{transition:none!important}}
.cs{gap:32px!important}
.cs-card{padding:clamp(36px,4vw,56px)!important}
.cs-top{gap:32px!important}
.cs-top p{font-size:19px!important;line-height:1.35!important}
.cs-card .label{margin:56px 0 16px!important}
.cs-card h3{line-height:1.12!important}
.cs-card .ctx{margin-top:16px!important;font-size:18px!important;line-height:1.5}
.cs-card .mini{margin-top:48px!important}
.cs-card .mini div{padding-top:24px!important;padding-right:20px!important}
.cs-card .mini div+div{padding-left:20px!important}
.cs-card .mini span{margin-top:12px!important;font-size:15px!important;line-height:1.5!important}
.cs-card .go{padding-top:48px!important}
.sy-facts{grid-auto-flow:row!important;grid-template-columns:1fr!important;row-gap:0!important;padding:6px 18px!important}
.sy-facts li{display:grid!important;grid-template-columns:minmax(84px,auto) 1fr;column-gap:14px;align-items:baseline;padding:12px 0!important;border-left:0!important}
.sy-facts li+li{padding-left:0!important;border-top:1px solid #DCE3EE}
.sy-facts b{font-size:17px!important}
.sy-facts span{margin:0!important;font-size:15.5px!important;overflow-wrap:normal!important;color:#4A5870!important}
.sy-facts{align-self:stretch!important;width:100%;box-sizing:border-box}
.cs-card{position:relative}
.cs-card .label{position:absolute;top:clamp(36px,4vw,56px);right:clamp(36px,4vw,56px);margin:0!important;padding:8px 14px;border-radius:999px;background:rgba(56,182,255,.12);color:var(--sky)!important;font:700 12.5px/1 var(--head)!important;letter-spacing:.08em!important;text-transform:uppercase}
.cs-top{flex-direction:column!important;align-items:flex-start!important;gap:20px!important}
.cs-top p{font:800 clamp(22px,2vw,26px)/1.2 var(--head)!important;letter-spacing:-.02em;max-width:18ch!important;color:#fff}
.cs-card h3{margin-top:44px!important;font-size:clamp(28px,2.6vw,36px)!important;color:#fff}
.cs-card .ctx{margin-top:12px!important;font-size:17px!important;color:#9FB0C0!important}
.cs-card .mini{margin-top:40px!important;border-top:1px solid rgba(255,255,255,.12)!important}
.cs-card .mini b{font-size:clamp(34px,3vw,44px)!important}
.cs-card .mini span{font-size:15px!important;max-width:16ch;color:#B7C4D3!important}
@media (max-width:760px){.cs-card .label{position:static;display:inline-block;margin:16px 0 0!important}}
.cs-top p{text-wrap:balance;max-width:22ch!important}
.dark p:not(.label):not(.v):not(.m),.dark li,.dark cite,.founder p,.founder li,.cs-card .mini span,.cs-card .ctx,.lnames button{font-weight:500}
.dark .label,.cases .label,.xk,.cs-card .label{font-size:14px!important;letter-spacing:.12em!important}
.cs-card .mini span,.cases .fine{font-size:16px!important;color:#C5D0E1!important;line-height:1.55!important}
.cs-card .ctx{color:#C5D0E1!important}
@media (max-width:600px){.cs-card .mini{grid-template-columns:1fr!important}.cs-card .mini div{display:grid;grid-template-columns:112px 1fr;align-items:baseline;column-gap:14px;padding:16px 0!important;border-left:0!important}.cs-card .mini div+div{border-top:1px solid rgba(255,255,255,.12);padding-left:0!important}.cs-card .mini span{margin:0!important;max-width:none}}
@media (min-width:761px){.cs-top p{min-height:2lh}.cs-card .ctx{min-height:2lh}.cs-card .mini span{min-height:3lh}.cs-card .go{margin-top:0!important;padding-top:40px!important}}
.cs-card .mini span{max-width:none!important}
.cs-card .mini div{padding-right:12px!important}
.cs-card .mini div+div{padding-left:16px!important}
@media (min-width:761px) and (max-width:1280px){.cs-card .mini span{min-height:4lh}}
.cases .cs-top p{font:800 clamp(22px,2vw,26px)/1.2 var(--head)!important;letter-spacing:-.02em!important}
@media (min-width:900px){p,li,blockquote,.sp,.ctx,.art-tx p,.sy-facts span{text-wrap:pretty}h1,h2,h3,h4,.vm p.v,.vm p.m,.cs-top p,.cs-card .ctx,.tst .q p,.close .lede,.ft .tag,.ft .ms,.xbox.xo p{text-wrap:balance}.sy-facts span,#insights .art p,.pe p,.art h3,.sy-what p{text-wrap:balance}}
.sol8 .sol-h{max-width:none!important;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);column-gap:clamp(32px,5vw,80px);align-items:end}
.sol8 .sol-h h2{max-width:none!important;text-wrap:balance}
.sol8 .sol-h p{margin:0 0 6px!important;max-width:44ch!important}
.sy{padding:0!important;overflow:hidden}
.sy:before{left:0!important;right:0!important;z-index:2;border-radius:0!important}
.sy-im{aspect-ratio:3/2;overflow:hidden;background:#0D1117}
.sy-im img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.sy:hover .sy-im img{transform:scale(1.04)}
.sy-body{display:flex;flex-direction:column;flex:1;padding:28px 32px 30px}
.sy-st{flex-direction:row!important;align-items:center!important;gap:12px!important;min-height:0!important;font:600 14px/1.3 var(--head)!important;color:var(--muted)!important}
.sy-b i{width:26px!important;height:26px!important;font-size:12px!important;border-radius:7px!important;box-shadow:none!important}
.sy-b i.on{background:#003466!important;color:#fff!important}
.sy-verb{margin:24px 0 0!important;font:800 clamp(30px,2.4vw,36px)/1.05 var(--head)!important;letter-spacing:-.03em!important;color:#003466!important;white-space:normal!important}
.sy-what{margin-top:10px!important;min-height:0!important}
.sy-what h3{font:800 21px/1.25 var(--head)!important;letter-spacing:-.01em!important;color:#003466!important;min-height:0!important}
.sy-what p{margin-top:6px!important;font-size:17px!important;color:var(--muted)!important;min-height:0!important}
.sy-facts{margin-top:24px!important;margin-bottom:0!important}
.sy-go{margin-top:auto!important;padding-top:24px!important;justify-content:flex-start!important;gap:10px!important;font:800 15px/1 var(--head)!important;color:#003466!important}
.sy-go>span:first-child{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:999px;border:1.5px solid #003466;transition:background .3s,color .3s,border-color .3s}
.sy-ar{display:none!important}
.sy:hover .sy-go>span:first-child{background:var(--sky);border-color:var(--sky);color:#003466}
.sy-go>span:first-child:after{content:" →";white-space:pre}
@media (max-width:900px){.sol8 .sol-h{grid-template-columns:1fr;row-gap:16px}.sol8 .sol-h p{margin:0!important}}
.sol8 .sol-h{grid-template-columns:minmax(0,760px) minmax(0,1fr)!important;column-gap:64px!important}
.sy-st{min-height:2.7em!important}
.sy-facts{margin-top:auto!important}
.sy-what{margin-bottom:24px!important}
@media (max-width:1100px){.sol8 .sol-h{grid-template-columns:1fr!important;row-gap:16px}.sy-st{min-height:0!important}}
.sy-body{padding:30px 34px 34px!important}
.sy-verb{margin-top:32px!important;line-height:1.08!important}
.sy-what{margin-top:20px!important;margin-bottom:32px!important}
.sy-what h3{line-height:1.28!important}
.sy-what p{margin-top:10px!important;line-height:1.55!important;max-width:none!important}
.sy-facts li{padding:14px 0!important;line-height:1.45}
.sy-go{padding-top:28px!important;margin-top:0!important}
.cs-card{padding:0!important;overflow:hidden}
.cs-card:before{z-index:2}
.cs-im{aspect-ratio:16/9;overflow:hidden;background:#0D1117}
.cs-im img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.cs-card:hover .cs-im img{transform:scale(1.04)}
.cs-body{position:relative;display:flex;flex-direction:column;flex:1;padding:clamp(32px,3.6vw,48px)}
.cs-card .label{top:clamp(32px,3.6vw,48px)!important;right:clamp(32px,3.6vw,48px)!important}
@media (max-width:760px){.cs-card .label{position:static}}
.sol8 .sol-h{display:block!important}
.sol8 .sol-h h2{max-width:none!important}
.sol8 .sol-h p{margin:24px 0 0!important;max-width:62ch!important;text-wrap:balance}
.sy-st{flex-direction:column!important;align-items:flex-start!important;gap:12px!important;min-height:0!important}
.sy-sn{display:block;min-height:2.8em;font:600 15px/1.4 var(--head);color:#003466}
@media (max-width:1100px){.sy-sn{min-height:0}}

/* details box: content starts at the top of an equalised box */
.syg .sy-facts{box-sizing:border-box;align-content:start}
.syg .sy-what h3,.syg .sy-what p{box-sizing:border-box}
/* solutions section: more generous line spacing and row rhythm */
.sol8 .sol-h h2,#h-sol{line-height:1.12!important}
.sy-sn{line-height:1.55!important}
.sy-verb{margin-top:36px!important;line-height:1.12!important}
.sy-what{margin-top:24px!important;margin-bottom:36px!important}
.sy-what h3{line-height:1.36!important}
.sy-what p{margin-top:12px!important;line-height:1.7!important}
.sy-facts li{padding:16px 0!important;line-height:1.6!important}
.sy-go{padding-top:32px!important}
.sy-facts span{line-height:1.6!important}

/* solution card CTAs: filled buttons so they read as actions */
html body .sy .sy-go>span:first-child{background:#D9E3EE!important;border-color:#D9E3EE!important;color:#003466!important;min-height:48px!important;padding:0 22px!important;font-weight:800!important}
html body .sy:hover .sy-go>span:first-child,html body .sy:focus-visible .sy-go>span:first-child{background:#38B6FF!important;border-color:#38B6FF!important;color:#003466!important}
html body .sy.free .sy-go>span:first-child{background:#38B6FF!important;border-color:#38B6FF!important}
