:root {
  --color-indigo: #3A34C9;
  --color-blue: #2E86E0;
  --gradient-flow: linear-gradient(90deg, #3A34C9 0%, #2E86E0 100%);
  --color-ink: #0E1220;
  --color-slate: #4A5468;
  --color-gray: #6B7690;
  --color-fog: #F2F5FA;
  --color-border: #DCE1EC;
  --color-white: #FFFFFF;
  --color-success: #17B378;
  --color-warning: #F5A623;
  --color-error: #E5484D;
  --font-display: 'Inter Tight', 'Inter', sans-serif;
  --font-body: 'Inter', sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;
  --radius-btn: 8px;
  --radius-card: 12px;
  --space-unit: 8px;
  --max-content-width: 1280px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--color-fog);font-family:var(--font-body),system-ui,sans-serif;-webkit-font-smoothing:antialiased;color:var(--color-ink)}
a{color:var(--color-indigo);text-decoration:none}
a:hover{color:var(--color-blue)}
::selection{background:rgba(46,134,224,.35);color:#0E1220}
input::placeholder,textarea::placeholder{color:#8A93A8}
button{font-family:inherit;border:none;background:none;cursor:pointer}

[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}
[data-reveal].fwf-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1 !important;transform:none !important;transition:none !important}}

/* ---- Nav links ---- */
.fwf-desktop-nav a{cursor:pointer;font-size:15px;font-weight:500;color:#4A5670;transition:color .15s;white-space:nowrap;text-decoration:none}
.fwf-desktop-nav a:hover,.fwf-desktop-nav a.active{color:#0E1220}
.fwf-mobile-nav a{display:block;cursor:pointer;padding:11px 6px;font-size:16px;color:#26364F;border-bottom:1px solid #E6EAF1;text-decoration:none}
.fwf-mobile-nav a:last-child{border-bottom:none}
.fwf-mobile-nav a.active{color:#0E1220;font-weight:600}
.fwf-mobile-nav{display:none;border-top:1px solid #E6EAF1;padding:12px 24px 18px;flex-direction:column;gap:4px}
.fwf-mobile-nav.open{display:flex}

/* ---- Hover-style utility (replaces inline style-hover attribute) ---- */
.fwf-hover-brighten:hover{filter:brightness(1.08)}
.fwf-hover-dim:hover{filter:brightness(.94)}
.fwf-hover-border:hover{border-color:#9FB7E1 !important}
.fwf-hover-border-shadow:hover{border-color:#9FB7E1 !important;box-shadow:0 14px 34px rgba(20,34,60,.07)}
.fwf-hover-dark:hover{color:#0E1220 !important}
.fwf-hover-blue:hover{color:#1D4E97 !important}
.fwf-hover-row:hover{background:#FFFFFF}

/* ---- Tabs (mode switcher / testimonial switcher) ---- */
.fwf-tab{cursor:pointer;padding:0 2px 12px;font-size:15.5px;font-weight:600;color:#6B7690;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;background:none}
.fwf-tab.active{color:#0E1220;border-bottom-color:#2E86E0}
.fwf-tab-lg{font-size:16px;padding-bottom:14px}

/* ---- Image placeholder (replaces <image-slot>) ---- */
.img-placeholder{width:100%;height:100%;min-height:120px;display:flex;align-items:center;justify-content:center;background:#E9EEF5;color:#7A8298;font-size:13.5px;text-align:center;padding:16px}

/* ---- Responsive ---- */
@media (max-width:1040px){
  .fwf-mods,.fwf-roles,.fwf-stats{grid-template-columns:repeat(2,1fr) !important}
}
@media (max-width:860px){
  .fwf-desktop-nav{display:none !important}
  .fwf-burger{display:flex !important}
  .fwf-hero-grid,.fwf-feat,.fwf-feat-rev,.fwf-sol,.fwf-contact,.fwf-endorse,.fwf-feat-card,.fwf-steps,.fwf-foot{grid-template-columns:1fr !important}
  .fwf-feat-rev>div:first-child{order:2}
  .fwf-news-row{grid-template-columns:1fr !important;gap:8px !important}
  .fwf-news-row span:last-child{display:none}
  .fwf-quote-photo{display:none !important}
}
@media (max-width:560px){
  .fwf-mods,.fwf-roles,.fwf-stats,.fwf-fields{grid-template-columns:1fr !important}
}

/* ---- Footer social links ---- */
.fwf-social a{color:#B7BFD1;transition:color .15s;display:inline-flex}
.fwf-social a:hover{color:#FFFFFF}

/* ---- Nav dropdowns (Solutions / Industries / Services / About) ---- */
.fwf-nav-drop{position:relative}
.fwf-nav-drop-panel{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%);min-width:280px;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:0 20px 44px rgba(14,18,32,.14);padding:10px;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;z-index:60}
.fwf-nav-drop:hover .fwf-nav-drop-panel,.fwf-nav-drop:focus-within .fwf-nav-drop-panel{opacity:1;visibility:visible}
.fwf-nav-drop-panel a{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:8px;color:var(--color-ink);font-size:14.5px;font-weight:600}
.fwf-nav-drop-panel a:hover{background:var(--color-fog)}
.fwf-nav-drop-panel a span{font-size:12.5px;font-weight:400;color:var(--color-slate)}
.fwf-nav-drop-panel .fwf-drop-all{border-top:1px solid var(--color-border);margin-top:6px;padding-top:12px;color:var(--color-indigo);font-size:13.5px}
@media (max-width:860px){.fwf-nav-drop-panel{display:none !important}}

/* ---- Form focus state ---- */
.fwf-fields input:focus,.fwf-fields textarea:focus{outline:2px solid var(--color-indigo);outline-offset:2px;border-color:var(--color-indigo)}
