/* Homepage Solutions: real CMS records, manual scrolling, independent hover panels. */
body.corelong-home #solutions {   --sc-ease:cubic-bezier(.22,1,.36,1); position:relative; isolation:isolate; overflow:hidden; padding:80px 0 48px; border:0; background:linear-gradient(125deg,var(--bg-primary),var(--bg-gold)); }
body.corelong-home #solutions::before,body.corelong-home #solutions::after { content:""; position:absolute; z-index:-1; width:120%; height:540px; border:1px solid color-mix(in srgb,var(--brand-gold) 13%,transparent); border-radius:50%; pointer-events:none; }
body.corelong-home #solutions::before { top:-340px; right:-30%; transform:rotate(-18deg); box-shadow:0 20px 0 color-mix(in srgb,var(--brand-gold) 2.5%,transparent); }
body.corelong-home #solutions::after { bottom:-420px; left:-20%; transform:rotate(-7deg); box-shadow:0 -20px 0 color-mix(in srgb,var(--brand-gold) 2.5%,transparent); }
body.corelong-home #solutions > .cl-wrap { width:min(calc(100% - 10.4%),1560px); }
body.corelong-home #solutions .cl-section-head { display:flex; align-items:flex-end; gap:40px; margin:0; padding-bottom:28px; border-bottom:1px solid var(--bg-soft); }
body.corelong-home #solutions .cl-section-head::after { width:96px; height:1px; background:var(--sc-gold); }
body.corelong-home #solutions .cl-eyebrow { display:flex; align-items:center; gap:24px; margin:0 0 24px; color:var(--brand-gold-ink); font-size:var(--type-eyebrow)!important; font-weight:600; letter-spacing:3px; }
body.corelong-home #solutions .cl-eyebrow::before { content:""; flex:none; width:50px; height:1px; background:var(--sc-gold); }
body.corelong-home #solutions .cl-section-head h2 { max-width:920px; margin:0; color:var(--sc-ink); font:400 var(--type-page)/1.1 var(--font-heading)!important; letter-spacing:-.045em; }
body.corelong-home #solutions .cl-view-all { display:inline-flex; flex:none; align-items:center; justify-content:center; gap:16px; min-width:280px; min-height:58px; padding:0 30px; margin-bottom:4px; border:1px solid var(--brand-gold); border-radius:999px; background:linear-gradient(135deg,var(--bg-gold),var(--brand-gold-light)); color:var(--sc-ink); box-shadow:inset 0 0 0 2px var(--bg-primary),0 6px 16px color-mix(in srgb,var(--brand-navy) 4%,transparent); font:600 var(--type-body)/1.2 var(--font-body); font-size:var(--type-body)!important; }
body.corelong-home #solutions .cl-view-all:hover { background:linear-gradient(135deg,var(--bg-gold),var(--brand-gold-light)); }
body.corelong-home #solutions .cl-view-all .cl-arrow { transition:transform 250ms ease; }
body.corelong-home #solutions .cl-view-all:hover .cl-arrow { transform:translateX(4px); }
body.corelong-home #solutions .sc-carousel { position:relative; }
body.corelong-home #solutions .cl-solution-stream { width:100%; margin:0; padding:36px 5.2% 105px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding-inline:5.2vw; scrollbar-width:none; overscroll-behavior-x:contain; cursor:grab; touch-action:pan-x pan-y; }
body.corelong-home #solutions .cl-solution-stream::-webkit-scrollbar { display:none; }
body.corelong-home #solutions .cl-solution-stream::before,body.corelong-home #solutions .cl-solution-stream::after { content:none; }
body.corelong-home #solutions .cl-solution-track { width:max-content; animation:none; transform:none; will-change:auto; }
body.corelong-home #solutions .cl-solution-group { gap:18px; padding:0; }
body.corelong-home #solutions .sc-card { position:relative; flex:none; width:calc((89.6vw - 54px)/4); height:450px; min-height:0; padding:14px; overflow:visible; border:0; border-radius:18px; background:transparent; box-shadow:none; scroll-snap-align:start; color:var(--sc-ink); isolation:isolate; transition:transform 420ms var(--sc-ease); }
body.corelong-home #solutions .sc-card::before { content:""; position:absolute; z-index:-1; inset:0; border:1px solid var(--bg-soft); border-radius:18px; background:var(--bg-primary); box-shadow:0 8px 24px color-mix(in srgb,var(--brand-navy) 4.5%,transparent); transition:bottom 300ms var(--sc-ease),box-shadow 420ms ease,border-color 300ms ease; }
body.corelong-home #solutions .sc-card::after { content:none; }
body.corelong-home #solutions .sc-media { position:relative; flex:none; height:270px; overflow:hidden; border-radius:12px; background:radial-gradient(ellipse at 50% 28%,var(--bg-primary),var(--bg-soft)); }
body.corelong-home #solutions .fp-image-link { display:block; height:100%; }
body.corelong-home #solutions .sc-card img { display:block; width:100%; height:100%; padding:30px 14px 10px; object-fit:contain; background:transparent; filter:none; transition:transform 500ms var(--sc-ease); }
body.corelong-home #solutions .sc-category { position:absolute; top:14px; left:14px; max-width:calc(100% - 72px); padding:7px 14px; border:1px solid var(--border-default); border-radius:999px; background:color-mix(in srgb,var(--bg-soft) 90%,transparent); color:var(--sc-ink); font:400 var(--type-eyebrow)/1.2 var(--font-body); }
body.corelong-home #solutions .sc-copy { display:block; flex:none; min-height:0; padding:22px 10px 0; }
body.corelong-home #solutions .sc-copy h3 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:50px; margin:0 0 8px; color:var(--sc-ink); font:600 var(--type-card)/1.2 var(--font-heading)!important; letter-spacing:-.035em; }
body.corelong-home #solutions .fp-title-link { color:inherit; text-decoration:none; }
body.corelong-home #solutions .sc-copy p { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin:0; padding-right:44px; color:var(--text-body); font:400 var(--type-description)/1.55 var(--font-body)!important; }
body.corelong-home #solutions svg { display:block; flex:none; width:18px; height:18px; margin:0; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
body.corelong-home #solutions .sc-circle { position:absolute; right:20px; bottom:20px; display:grid; place-items:center; width:46px; height:46px; border:1px solid var(--sc-gold); border-radius:50%; background:var(--bg-primary); color:var(--sc-ink); transition:opacity 200ms ease; }
body.corelong-home #solutions .sc-float { position:absolute; right:14px; top:14px; display:grid; gap:8px; opacity:0; transform:translateY(10px); pointer-events:none; transition:opacity 250ms ease,transform 250ms var(--sc-ease); }
body.corelong-home #solutions .sc-icon { display:grid; place-items:center; box-sizing:border-box; width:44px; height:44px; min-height:0; margin:0; padding:0; border:0; border-radius:50%; background:var(--bg-primary); color:var(--sc-ink); box-shadow:0 4px 14px color-mix(in srgb,var(--brand-navy) 10%,transparent); cursor:pointer; }
body.corelong-home #solutions .sc-icon[aria-pressed="true"] { color:var(--brand-navy-light); background:var(--bg-soft); }
body.corelong-home #solutions .sc-icon[aria-pressed="true"] svg { fill:color-mix(in srgb,var(--brand-navy-light) 12%,transparent); }
body.corelong-home #solutions .sc-actions { position:absolute; top:calc(100% - 28px); right:24px; left:24px; display:grid; grid-template-columns:1fr 1fr; gap:8px; opacity:0; transform:translateY(12px); visibility:hidden; transition:opacity 260ms ease,transform 260ms var(--sc-ease),visibility 260ms; }
body.corelong-home #solutions .sc-actions :is(a,button) { display:flex; align-items:center; justify-content:center; box-sizing:border-box; min-width:0; height:40px; margin:0; padding:0 8px; gap:8px; border:1px solid var(--sc-gold); border-radius:999px; background:var(--bg-primary); color:var(--sc-ink); font:400 var(--type-description)/1 var(--font-body); text-decoration:none; cursor:pointer; transition:background 250ms ease,transform 250ms ease; }
body.corelong-home #solutions .sc-actions .sc-detail { grid-column:1/-1; height:44px; color:var(--bg-primary); border-color:var(--brand-navy-light); background:linear-gradient(135deg,var(--brand-navy-light),var(--brand-navy)); }
body.corelong-home #solutions .sc-actions :is(a,button):hover { background:var(--bg-gold); transform:translateY(-1px); }
body.corelong-home #solutions .sc-actions .sc-detail:hover { background:var(--brand-navy-light); }
body.corelong-home #solutions .sc-nav { position:absolute; z-index:12; top:210px; display:grid; place-items:center; width:52px; height:52px; margin:0; padding:0; border:1px solid var(--border-default); border-radius:50%; color:var(--sc-ink); background:color-mix(in srgb,var(--bg-primary) 96%,transparent); box-shadow:0 6px 20px color-mix(in srgb,var(--brand-navy) 9%,transparent); cursor:pointer; transition:transform 250ms ease; }
body.corelong-home #solutions .sc-prev { left:2.8%; }
body.corelong-home #solutions .sc-next { right:2.8%; }
body.corelong-home #solutions .sc-nav:hover { transform:scale(1.06); }
body.corelong-home #solutions .sc-nav:disabled { opacity:.4; cursor:default; }
body.corelong-home #solutions .sc-pagination { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:-12px; padding-inline:16px; }
body.corelong-home #solutions .sc-pagination button { display:grid; place-items:center; width:34px; height:26px; margin:0; padding:0; border:0; border-radius:999px; background:transparent; cursor:pointer; }
body.corelong-home #solutions .sc-pagination button::before { content:""; width:34px; height:6px; border-radius:999px; background:var(--border-default); }
body.corelong-home #solutions .sc-pagination button[aria-current="true"]::before { background:var(--brand-gold); }
body.corelong-home #solutions [hidden] { display:none!important; }
body.corelong-home #solutions :is(a,button,.cl-solution-stream):focus-visible { outline:2px solid var(--brand-navy-light); outline-offset:3px; }
body.corelong-home #solutions .is-dragging { cursor:grabbing; scroll-snap-type:none; user-select:none; }
@media (hover:hover) and (pointer:fine) {
 body.corelong-home #solutions .sc-card:is(:hover,:focus-within) { z-index:10; transform:translateY(-10px); }
 body.corelong-home #solutions .sc-card:is(:hover,:focus-within)::before { bottom:-84px; border-color:var(--border-strong); box-shadow:0 22px 48px color-mix(in srgb,var(--brand-navy-light) 14%,transparent),0 0 0 1px color-mix(in srgb,var(--border-strong) 20%,transparent); }
 body.corelong-home #solutions .sc-card:is(:hover,:focus-within) img { transform:scale(1.04); }
 body.corelong-home #solutions .sc-card:is(:hover,:focus-within) .sc-circle { opacity:0; pointer-events:none; }
 body.corelong-home #solutions .sc-card:is(:hover,:focus-within) .sc-float { opacity:1; transform:none; pointer-events:auto; }
 body.corelong-home #solutions .sc-card:is(:hover,:focus-within) .sc-icon { animation:sc-action 250ms var(--sc-ease) both; }
 body.corelong-home #solutions .sc-card:is(:hover,:focus-within) .sc-icon:nth-child(2) { animation-delay:50ms; }
 body.corelong-home #solutions .sc-card:is(:hover,:focus-within) .sc-actions { opacity:1; visibility:visible; transform:none; transition-delay:60ms; }
}
body.corelong-home #solutions .sc-icon:hover svg,body.corelong-home #solutions .sc-actions :is(a,button):hover svg { animation:sc-icon 450ms ease 1; }
@keyframes sc-action { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@keyframes sc-icon { 50% { transform:translateY(-1px); } }
@media (min-width:1024px) and (max-width:1439px) { body.corelong-home #solutions .sc-card { width:calc((89.6vw - 54px)/3.15); } body.corelong-home #solutions .cl-section-head h2 { font-size:var(--type-section)!important; } }
@media (min-width:768px) and (max-width:1023px) { body.corelong-home #solutions .sc-card { width:calc((89.6vw - 36px)/2.15); } }
@media (max-width:1023px) { body.corelong-home #solutions .cl-section-head { align-items:flex-start; flex-direction:column; gap:24px; } body.corelong-home #solutions .cl-section-head h2 { font-size:var(--type-section)!important; } }
@media (max-width:767px) { body.corelong-home #solutions { padding:48px 0 32px; } body.corelong-home #solutions > .cl-wrap { width:calc(100% - 32px); } body.corelong-home #solutions .cl-eyebrow { gap:12px; letter-spacing:2px; font-size:var(--type-eyebrow)!important; } body.corelong-home #solutions .cl-eyebrow::before { width:28px; } body.corelong-home #solutions .cl-view-all { min-height:48px; font-size:var(--type-description); padding-inline:22px; } body.corelong-home #solutions .cl-solution-stream { padding:24px 16px 32px; scroll-padding-inline:16px; } body.corelong-home #solutions .sc-card { width:calc((100vw - 50px)/1.1); height:530px; } body.corelong-home #solutions .sc-media { height:250px; } body.corelong-home #solutions .sc-nav { display:none; } body.corelong-home #solutions .sc-pagination { margin:0; } body.corelong-home #solutions .sc-copy { padding-top:18px; } }
@media (hover:none), (pointer:coarse), (max-width:767px) { body.corelong-home #solutions .sc-card { height:560px; } body.corelong-home #solutions .sc-circle { display:none; } body.corelong-home #solutions .sc-actions { top:auto; bottom:16px; opacity:1; visibility:visible; transform:none; } body.corelong-home #solutions .sc-actions :is(a,button) { height:44px; } body.corelong-home #solutions .sc-float { opacity:1; transform:none; pointer-events:auto; } }
@media (prefers-reduced-motion:reduce) { body.corelong-home #solutions *,body.corelong-home #solutions *::before { animation:none!important; transition:none!important; } body.corelong-home #solutions .sc-card:is(:hover,:focus-within),body.corelong-home #solutions .sc-card:is(:hover,:focus-within) img { transform:none; } }
