*{box-sizing:border-box}
body{margin:0;background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
@keyframes dlxR{from{transform:translateY(16px)}to{transform:none}}
@media (prefers-reduced-motion:reduce){[data-reveal]{animation:none !important}}

#site-header{position:sticky;top:0;z-index:200;background:#fff;border-bottom:1px solid #E5E9F0;transition:box-shadow .25s ease}
#site-header.scrolled{box-shadow:0 2px 14px rgba(11,37,69,0.08)}
.nav-inner{max-width:1180px;margin:0 auto;padding:0 24px;height:68px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav-logo{display:flex;align-items:center;flex:none}
.nav-logo img{height:26px;width:auto;display:block}
.nav-desktop{display:flex;align-items:center;gap:30px}
.nav-tab{text-decoration:none;font-family:Inter,sans-serif;font-size:15px;white-space:nowrap;transition:color .2s ease;cursor:pointer;font-weight:500;color:#46586E}
.nav-tab:hover{color:#0B2545}
body.page-home #tab-home,body.page-solutions #tab-solutions,body.page-dlxai #tab-dlxai,body.page-about #tab-about{font-weight:600;color:#0B2545}
.sol-group{position:relative;padding:22px 0;display:flex;align-items:center}
.sol-tab{display:inline-flex;align-items:center;gap:5px}
.caret{font-size:13px;line-height:1;color:#0B2545;margin-left:1px;transition:transform .2s ease;display:inline-block}
.sol-group:hover .caret{transform:rotate(180deg)}
.sol-panel{position:absolute;top:100%;left:-14px;opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.sol-group:hover .sol-panel{opacity:1;transform:translateY(0);pointer-events:auto}
.sol-card{width:640px;max-width:calc(100vw - 36px);background:#fff;border:1px solid #E5E9F0;border-radius:4px;box-shadow:0 12px 36px rgba(11,37,69,0.12);overflow:hidden}
.sol-strip{height:3px;background:linear-gradient(90deg,#12B5BC,#FB8B2E)}
.sol-list{padding:10px}
.sol-row{display:block;text-decoration:none;padding:12px 14px;border-radius:4px;transition:background .15s ease}
.sol-row:hover{background:#F7F8FB}
.sol-row-t{font-family:Inter,sans-serif;font-weight:600;font-size:14px;color:#0B2545}
.sol-row-d{font-family:Inter,sans-serif;font-weight:400;font-size:13px;color:#9AA7B8;margin-top:3px;line-height:1.45}
.sol-cols{display:flex;align-items:stretch}
.sol-col-main{flex:1 1 56%;padding:8px;border-right:1px solid #EEF1F6}
.sol-col-feat{flex:1 1 44%;padding:8px;background:#F8FAFC}
.sol-col-label{font-family:Inter,sans-serif;font-weight:600;font-size:10px;letter-spacing:.10em;text-transform:uppercase;color:#9AA7B8;padding:9px 14px 6px}
.sol-row-hero{background:#EAF7F8}
.sol-row-hero:hover{background:#DFF2F4}
.sol-row-hero .sol-row-d{color:#0E7C81}
.nav-cta{flex:none;white-space:nowrap;background:#FB8B2E;color:#fff;font-family:Inter,sans-serif;font-weight:600;font-size:15px;text-decoration:none;padding:11px 20px;border-radius:4px;transition:background .18s ease,transform .18s ease}
.nav-cta:hover{background:#E97A1C;transform:translateY(-2px)}
.nav-burger{display:none;flex:none;width:42px;height:42px;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:transparent;border:1px solid #E5E9F0;border-radius:4px;cursor:pointer;padding:0}
.nav-burger span{width:20px;height:2px;background:#0B2545;border-radius:2px;transition:transform .25s ease,opacity .2s ease}
body.mob-open .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.mob-open .nav-burger span:nth-child(2){opacity:0}
body.mob-open .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-mobile{display:none;border-top:1px solid #E5E9F0;background:#fff;padding:14px 24px 24px}
.nav-mobile a{display:block;text-decoration:none;font-family:Inter,sans-serif;font-weight:500;font-size:17px;color:#0B2545;padding:13px 0;border-bottom:1px solid #EEF1F6}
.nav-mobile a.nav-mobile-cta{text-align:center;margin-top:18px;background:#FB8B2E;color:#fff;font-weight:600;font-size:16px;padding:14px 20px;border-radius:4px;border-bottom:none}
@media (max-width:879px){
  .nav-desktop{display:none}
  .nav-burger{display:flex}
  body.mob-open .nav-mobile{display:block}
}

/* ---- DLX AI animations ---- */
@keyframes dlxFlow{to{background-position:200% center}}
.dlx-flow{background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:dlxFlow 5s linear infinite}

@keyframes dlxDraw{to{stroke-dashoffset:0}}
@keyframes dlxFade{to{opacity:1}}
@keyframes dlxBar{to{transform:scaleX(1)}}
@keyframes dlxCol{to{transform:scaleY(1)}}
@keyframes dlxShim{0%{background-position:160% 0}100%{background-position:-60% 0}}
@keyframes dlxPulseO{0%,100%{box-shadow:0 0 0 0 rgba(251,139,46,.5)}50%{box-shadow:0 0 0 5px rgba(251,139,46,0)}}
@keyframes dlxPulseM{0%,100%{box-shadow:0 0 0 0 rgba(222,26,134,.55)}50%{box-shadow:0 0 0 5px rgba(222,26,134,0)}}
@keyframes dlxPulseC{0%,100%{box-shadow:0 0 0 0 rgba(14,147,152,.45)}50%{box-shadow:0 0 0 6px rgba(14,147,152,0)}}

[data-anim] .dlx-draw{stroke-dasharray:var(--dl,360);stroke-dashoffset:var(--dl,360)}
[data-anim].in .dlx-draw{animation:dlxDraw 1.5s ease forwards}
[data-anim] .dlx-fade{opacity:0}
[data-anim].in .dlx-fade{animation:dlxFade 1s ease .55s forwards}
[data-anim] .dlx-bar{transform:scaleX(0);transform-origin:left}
[data-anim].in .dlx-bar{animation:dlxBar 1s cubic-bezier(.2,.7,.2,1) forwards}
[data-anim] .dlx-col{transform:scaleY(0);transform-origin:bottom}
[data-anim].in .dlx-col{animation:dlxCol .9s cubic-bezier(.2,.7,.2,1) forwards}
.dlx-shimmer{background-image:linear-gradient(90deg,#CFECEE 0%,#EAF8F9 50%,#CFECEE 100%);background-size:220% 100%;animation:dlxShim 2.4s linear infinite}
.dlx-pulse-o{animation:dlxPulseO 1.9s ease-in-out infinite}
.dlx-pulse-m{animation:dlxPulseM 1.9s ease-in-out infinite}
.dlx-pulse-c{animation:dlxPulseC 2.1s ease-in-out infinite}

@media (prefers-reduced-motion:reduce){
  .dlx-flow,.dlx-shimmer,.dlx-pulse-o,.dlx-pulse-m,.dlx-pulse-c{animation:none}
  [data-anim] .dlx-draw{stroke-dashoffset:0}
  [data-anim] .dlx-fade{opacity:1}
  [data-anim] .dlx-bar{transform:none}
  [data-anim] .dlx-col{transform:none}
}

@keyframes dlxBlink{0%,49%{opacity:1}50%,100%{opacity:0}}
.dlx-caret{color:#12B5BC;font-weight:600;animation:dlxBlink 1s step-end infinite}
@keyframes dlxDot{0%,80%,100%{transform:translateY(0);opacity:.45}40%{transform:translateY(-3px);opacity:1}}
.dlx-typing{display:inline-flex;gap:3px;align-items:center;vertical-align:middle}
.dlx-typing i{width:5px;height:5px;border-radius:50%;background:#12B5BC;animation:dlxDot 1.2s infinite}
.dlx-typing i:nth-child(2){animation-delay:.15s}
.dlx-typing i:nth-child(3){animation-delay:.3s}
@media (prefers-reduced-motion:reduce){.dlx-caret,.dlx-typing i{animation:none}}