/*
Theme Name: FOCUX Tech
Theme URI: https://focuxtech.com
Description: Update-safe child theme for FOCUX Tech.
Author: FOCUX Tech
Template: cyber-security-elementor
Version: 2.3.0
Text Domain: focux-tech
*/

:root { --fx-ink:#06101f; --fx-panel:#0b1729; --fx-panel-2:#101f36; --fx-line:rgba(149,190,255,.17); --fx-text:#f4f8ff; --fx-muted:#a8bbd5; --fx-blue:#21a6ff; --fx-cyan:#48e0ff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body.focux-site { margin:0; overflow-x:hidden; background:var(--fx-ink); color:var(--fx-text); font-family:Inter,Outfit,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.6; }
body.focux-site::before { content:""; position:fixed; inset:0; z-index:-3; pointer-events:none; background:radial-gradient(circle at 82% -5%,rgba(20,115,225,.19),transparent 28rem),radial-gradient(circle at 5% 40%,rgba(4,102,180,.11),transparent 30rem),#06101f; }
a { color:inherit; text-decoration:none; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:3px solid var(--fx-cyan); outline-offset:3px; }
.fx-wrap { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.fx-skip { position:absolute; left:-9999px; top:0; z-index:999; padding:12px 16px; background:#fff; color:#000; }
.fx-skip:focus { left:12px; top:12px; }
.fx-header { position:sticky; top:0; z-index:100; border-bottom:1px solid rgba(135,184,255,.12); background:rgba(5,14,29,.74); backdrop-filter:blur(16px); }
.fx-nav { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.fx-logo { display:flex; align-items:center; max-width:185px; flex:0 0 auto; }
.fx-logo .custom-logo-link { display:flex; align-items:center; }
.fx-logo .custom-logo { width:auto; max-width:158px; max-height:54px; object-fit:contain; }
.fx-logo-fallback { font-size:1.2rem; font-weight:800; letter-spacing:.11em; }
.fx-logo-fallback span { color:var(--fx-cyan); }
.fx-menu { display:flex; align-items:center; gap:25px; margin:0; padding:0; list-style:none; }
.fx-menu a { color:#dce9ff; font-size:.93rem; font-weight:650; transition:color .2s ease; }
.fx-menu a:hover,.fx-menu .current-menu-item>a { color:var(--fx-cyan); }
.fx-nav-actions { display:flex; align-items:center; gap:12px; }
.fx-button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; padding:11px 20px; border:1px solid rgba(72,224,255,.65); border-radius:4px; background:linear-gradient(135deg,#168fe5,#24c9ed); box-shadow:0 10px 26px rgba(15,156,242,.2); color:#fff; font-size:.9rem; font-weight:800; letter-spacing:.01em; cursor:pointer; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.fx-button:hover { transform:translateY(-2px); box-shadow:0 15px 30px rgba(15,156,242,.36); color:#fff; }
.fx-button--ghost { background:rgba(255,255,255,.025); border-color:var(--fx-line); box-shadow:none; color:#e7f1ff; }
.fx-button--ghost:hover { border-color:var(--fx-cyan); background:rgba(72,224,255,.09); }
.fx-menu-toggle { display:none; width:46px; height:42px; padding:0; border:1px solid var(--fx-line); background:transparent; color:#fff; border-radius:4px; cursor:pointer; }
.fx-hero { position:relative; overflow:hidden; min-height:690px; display:flex; align-items:center; isolation:isolate; }
.fx-hero::before,.fx-hero::after { content:""; position:absolute; pointer-events:none; z-index:-1; }
.fx-hero::before { inset:0; opacity:.48; background-image:linear-gradient(rgba(72,224,255,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(72,224,255,.065) 1px,transparent 1px); background-size:55px 55px; mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.25),transparent); }
.fx-hero::after { right:-100px; bottom:-180px; width:680px; height:680px; border:1px solid rgba(72,224,255,.25); border-radius:50%; box-shadow:0 0 0 56px rgba(34,163,255,.025),0 0 0 112px rgba(34,163,255,.018),0 0 110px rgba(32,175,255,.22); }
.fx-hero-inner { padding:110px 0 120px; max-width:790px; }
.fx-eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 19px; color:var(--fx-cyan); font-size:.73rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.fx-eyebrow::before { width:31px; height:1px; background:currentColor; content:""; }
h1,h2,h3,p { margin-top:0; }
.fx-hero h1 { max-width:760px; margin-bottom:24px; font-size:clamp(2.8rem,6vw,5.7rem); font-weight:800; line-height:.99; letter-spacing:-.055em; text-wrap:balance; }
.fx-hero h1 em { display:block; color:#79dfff; font-style:normal; }
.fx-lead { max-width:650px; margin-bottom:34px; color:#c8d7eb; font-size:clamp(1rem,1.7vw,1.17rem); }
.fx-button-row { display:flex; flex-wrap:wrap; gap:13px; }
.fx-hero-metric { position:absolute; right:max(3.5vw,30px); top:50%; width:202px; padding:17px; border:1px solid rgba(72,224,255,.22); border-radius:8px; background:rgba(7,23,43,.63); box-shadow:0 17px 48px rgba(0,0,0,.2); backdrop-filter:blur(7px); }
.fx-hero-metric strong { display:block; margin-bottom:4px; color:#9aeaff; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }
.fx-hero-metric span { color:#daeaff; font-size:.84rem; }
.fx-hero-nodes { position:absolute; right:7vw; top:21%; width:360px; height:330px; z-index:-1; opacity:.7; }
.fx-node { position:absolute; width:10px; height:10px; border:2px solid var(--fx-cyan); border-radius:50%; box-shadow:0 0 20px var(--fx-cyan); }
.fx-node:nth-child(1){top:17%;left:15%}.fx-node:nth-child(2){top:8%;right:18%}.fx-node:nth-child(3){bottom:21%;left:29%}.fx-node:nth-child(4){bottom:9%;right:10%}.fx-node::after { content:""; position:absolute; width:155px; height:1px; top:3px; left:6px; transform-origin:left center; background:linear-gradient(90deg,rgba(72,224,255,.76),transparent); }
.fx-node:nth-child(1)::after{transform:rotate(-14deg)}.fx-node:nth-child(2)::after{transform:rotate(125deg);width:190px}.fx-node:nth-child(3)::after{transform:rotate(-27deg);width:165px}.fx-node:nth-child(4)::after{display:none}
.fx-section { padding:110px 0; }
.fx-section--tight { padding:82px 0; }
.fx-section--panel { position:relative; border-block:1px solid var(--fx-line); background:rgba(11,25,45,.58); }
.fx-section-heading { max-width:700px; margin-bottom:46px; }
.fx-section-heading h2,.fx-about h2,.fx-cta h2 { margin-bottom:13px; font-size:clamp(2rem,4vw,3.45rem); line-height:1.05; letter-spacing:-.045em; }
.fx-section-heading p { color:var(--fx-muted); font-size:1.08rem; }
.fx-grid { display:grid; gap:18px; }
.fx-services { grid-template-columns:repeat(5,1fr); }
.fx-card { position:relative; min-width:0; padding:28px; overflow:hidden; border:1px solid var(--fx-line); border-radius:8px; background:linear-gradient(145deg,rgba(23,47,82,.6),rgba(8,20,38,.65)); transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease; }
.fx-card::before { position:absolute; top:0; left:0; width:100%; height:2px; content:""; background:linear-gradient(90deg,transparent,var(--fx-cyan),transparent); opacity:0; transition:opacity .28s; }
.fx-card:hover { transform:translateY(-7px); border-color:rgba(72,224,255,.6); box-shadow:0 22px 45px rgba(0,0,0,.21); }
.fx-card:hover::before { opacity:1; }
.fx-icon { width:48px; height:48px; display:grid; place-items:center; margin-bottom:22px; border:1px solid rgba(72,224,255,.35); border-radius:6px; background:rgba(48,172,255,.09); color:#79e8ff; }
.fx-icon svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.7; }
.fx-card h3 { margin-bottom:10px; font-size:1.15rem; line-height:1.25; }
.fx-card p { min-height:72px; margin-bottom:19px; color:var(--fx-muted); font-size:.9rem; }
.fx-card-link { color:#8deaff; font-size:.82rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.fx-card-link::after { margin-left:7px; content:"→"; transition:margin .18s; }.fx-card-link:hover::after{margin-left:11px}
.fx-features { grid-template-columns:repeat(4,1fr); }.fx-features .fx-card p { min-height:0; margin-bottom:0; }
.fx-expertise { display:flex; flex-wrap:wrap; gap:11px; }
.fx-badge { display:inline-flex; align-items:center; gap:9px; padding:12px 15px; border:1px solid var(--fx-line); border-radius:4px; background:rgba(15,34,62,.55); color:#dce9fb; font-size:.89rem; font-weight:650; transition:border-color .2s,background .2s; }
.fx-badge::before { width:6px; height:6px; border-radius:50%; background:var(--fx-cyan); box-shadow:0 0 10px var(--fx-cyan); content:""; }.fx-badge:hover{border-color:rgba(72,224,255,.65);background:rgba(22,70,110,.42)}
.fx-about { display:grid; grid-template-columns:1.15fr .85fr; gap:70px; align-items:center; }.fx-about-copy p { max-width:630px; color:var(--fx-muted); font-size:1.04rem; }
.fx-about-panel { min-height:330px; padding:34px; display:flex; flex-direction:column; justify-content:end; border:1px solid rgba(72,224,255,.28); border-radius:8px; background:linear-gradient(145deg,rgba(21,76,123,.46),rgba(7,20,39,.9)),repeating-linear-gradient(90deg,transparent 0,transparent 39px,rgba(115,223,255,.055) 40px); box-shadow:inset 0 0 75px rgba(43,176,255,.1); }
.fx-about-panel span { color:#7ceaff; font-size:.75rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }.fx-about-panel strong { margin-top:9px; font-size:clamp(1.6rem,3vw,2.5rem); line-height:1.05; }
.fx-process { display:grid; grid-template-columns:repeat(4,1fr); position:relative; gap:25px; }.fx-process::before { position:absolute; top:26px; right:12%; left:12%; height:1px; background:linear-gradient(90deg,transparent,var(--fx-cyan),transparent); content:""; opacity:.55; }.fx-step { position:relative; }.fx-step-number { position:relative; z-index:1; display:grid; place-items:center; width:53px; height:53px; margin-bottom:24px; border:1px solid var(--fx-cyan); border-radius:50%; background:#0a1a31; color:#8deeff; font-size:.9rem; font-weight:800; }.fx-step h3 { margin-bottom:7px; font-size:1.1rem; }.fx-step p { color:var(--fx-muted); font-size:.91rem; }
.fx-cta { position:relative; overflow:hidden; padding:90px 0; border:1px solid rgba(72,224,255,.28); border-radius:10px; background:radial-gradient(circle at 75% 50%,rgba(8,125,210,.32),transparent 36%),linear-gradient(135deg,#0c2949,#09182d); text-align:center; }.fx-cta::before { position:absolute; inset:0; opacity:.45; content:""; background-image:linear-gradient(45deg,transparent 48%,rgba(89,221,255,.12) 49%,transparent 51%); background-size:42px 42px; }.fx-cta>* { position:relative; }.fx-cta p { max-width:630px; margin:0 auto 29px; color:#c8dcf3; }
.fx-page-hero { padding:105px 0 78px; border-bottom:1px solid var(--fx-line); background:radial-gradient(circle at 80% 0,rgba(21,122,225,.25),transparent 35%); }.fx-page-hero h1 { max-width:870px; margin-bottom:14px; font-size:clamp(2.65rem,5vw,4.6rem); line-height:1.03; letter-spacing:-.05em; }.fx-page-hero p { max-width:700px; margin:0; color:var(--fx-muted); font-size:1.1rem; }
.fx-page-content { max-width:840px; color:#c5d3e5; }.fx-page-content h2 { margin-top:48px; color:#fff; font-size:1.8rem; }.fx-page-content h3 { margin-top:30px; color:#eaf4ff; }.fx-page-content p { margin-bottom:18px; }.fx-page-content ul { padding-left:22px; }.fx-page-content li { margin-bottom:9px; }.fx-service-list { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin:36px 0; padding:0; list-style:none; }.fx-service-list li { margin:0; padding:15px; border:1px solid var(--fx-line); background:rgba(14,34,61,.45); color:#d8e9fe; }.fx-service-list li::before { margin-right:9px; color:var(--fx-cyan); content:"✓"; }
.fx-contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:45px; align-items:start; }.fx-contact-note { padding:29px; border:1px solid var(--fx-line); border-radius:8px; background:rgba(13,32,58,.6); }.fx-contact-note p { color:var(--fx-muted); }.fx-form { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }.fx-form .fx-field--wide { grid-column:1/-1; }.fx-field label { display:block; margin-bottom:7px; color:#cfe2fa; font-size:.86rem; font-weight:750; }.fx-field input,.fx-field textarea,.fx-field select { width:100%; border:1px solid rgba(146,190,245,.25); border-radius:4px; background:rgba(5,17,32,.75); color:#fff; font:inherit; padding:12px 13px; }.fx-field textarea { min-height:150px; resize:vertical; }.fx-form .fx-button { justify-self:start; }.fx-honeypot { position:absolute !important; left:-9999px !important; }.fx-notice { margin-bottom:20px; padding:14px 16px; border:1px solid rgba(72,224,255,.35); background:rgba(24,107,146,.19); color:#d9f5ff; }.fx-notice--error { border-color:rgba(255,151,151,.45); background:rgba(126,35,44,.2); color:#ffe3e3; }
.fx-team-page>.wp-block-group { margin-block:0; }.fx-team-hero { position:relative; overflow:hidden; background-image:radial-gradient(circle at 78% 48%,rgba(31,166,255,.12),transparent 27%),linear-gradient(180deg,rgba(8,24,43,.84),rgba(5,15,29,.96)),var(--fx-team-hero-image,none); background-position:center; background-size:auto,auto,cover; }.fx-team-hero::after { position:absolute; right:7%; bottom:-190px; width:410px; height:410px; border:1px solid rgba(72,224,255,.18); border-radius:50%; box-shadow:0 0 0 55px rgba(72,224,255,.025),0 0 80px rgba(33,166,255,.13); content:""; pointer-events:none; }.fx-team-hero .fx-wrap { position:relative; z-index:1; }.fx-team-hero-lead { margin-bottom:10px !important; color:#eaf5ff !important; font-size:clamp(1.12rem,2vw,1.35rem) !important; font-weight:700; }.fx-team-hero-copy { max-width:720px !important; margin-top:0 !important; color:#9fb5cf !important; font-size:1rem !important; }
.fx-team-section,.fx-team-members-section,.fx-team-cta-section { position:relative; background:linear-gradient(180deg,rgba(6,17,32,.48),rgba(5,14,27,.82)); }.fx-team-section { padding-bottom:48px; }.fx-team-members-section { padding-top:0; }.fx-team-cta-section { padding-top:0; }.fx-team-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.72fr); gap:70px; align-items:end; margin:0; }.fx-team-intro h2 { max-width:650px; margin:0; font-size:clamp(2rem,4vw,3.35rem); line-height:1.06; letter-spacing:-.045em; }.fx-team-intro>p { margin:0; color:var(--fx-muted); font-size:1.02rem; }
.fx-team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }.fx-team-card { position:relative; min-width:0; overflow:hidden; border:1px solid rgba(130,183,238,.2); border-radius:8px; background:linear-gradient(155deg,rgba(18,42,73,.82),rgba(5,16,31,.96)); box-shadow:0 18px 42px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.025); transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease; }.fx-team-card::before { position:absolute; z-index:2; top:0; right:0; left:0; height:2px; background:linear-gradient(90deg,transparent,var(--fx-cyan),transparent); content:""; opacity:.5; transition:opacity .28s ease; }.fx-team-card:hover { transform:translateY(-7px); border-color:rgba(72,224,255,.52); box-shadow:0 25px 54px rgba(0,0,0,.32),0 0 28px rgba(34,166,240,.08); }.fx-team-card:hover::before { opacity:1; }.fx-team-photo { position:relative; aspect-ratio:4/5; overflow:hidden; border-bottom:1px solid var(--fx-line); background:#08182c; }.fx-team-photo::after { position:absolute; right:0; bottom:0; left:0; height:38%; content:""; background:linear-gradient(transparent,rgba(5,15,29,.68)); pointer-events:none; }.fx-team-photo-image { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; transition:transform .45s ease,filter .45s ease; }.fx-team-card:hover .fx-team-photo-image { transform:scale(1.035); filter:saturate(1.04) contrast(1.02); }
.fx-team-photo-placeholder { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; background:radial-gradient(circle at 50% 34%,rgba(72,224,255,.14),transparent 22%),linear-gradient(135deg,rgba(24,81,127,.31),rgba(7,18,35,.96)),repeating-linear-gradient(45deg,transparent 0,transparent 17px,rgba(119,213,255,.035) 18px,rgba(119,213,255,.035) 19px); color:#89dff5; }.fx-team-photo-placeholder::before { width:84px; height:84px; margin-bottom:17px; border:1px solid rgba(72,224,255,.3); border-radius:50%; background:radial-gradient(circle at 50% 35%,rgba(126,228,255,.55) 0 14%,transparent 15%),radial-gradient(ellipse at 50% 78%,rgba(126,228,255,.3) 0 27%,transparent 28%); content:""; box-shadow:0 0 38px rgba(31,174,235,.14); }.fx-team-photo-placeholder span { font-size:.72rem; font-weight:800; letter-spacing:.2em; }.fx-team-photo-placeholder strong { color:#e8f8ff; font-size:1.42rem; line-height:1; letter-spacing:.12em; }
.fx-team-card-body { padding:25px 24px 29px; }.fx-team-card-body h3 { margin:0 0 7px; color:#f5f9ff; font-size:1.25rem; line-height:1.25; letter-spacing:-.015em; }.fx-team-role { margin:0 0 16px; color:var(--fx-cyan); font-size:.75rem; font-weight:800; letter-spacing:.085em; text-transform:uppercase; }.fx-team-bio { margin:0; color:#9fb2c9; font-size:.91rem; line-height:1.7; }.fx-team-links { display:flex; gap:9px; margin-top:19px; }.fx-team-links a { display:grid; place-items:center; width:36px; height:36px; border:1px solid rgba(72,224,255,.25); border-radius:4px; background:rgba(72,224,255,.055); color:#8deeff; transition:transform .2s ease,border-color .2s ease,background .2s ease; }.fx-team-links a:hover { transform:translateY(-2px); border-color:rgba(72,224,255,.62); background:rgba(72,224,255,.12); color:#dffaff; }.fx-team-links svg { width:18px; height:18px; fill:currentColor; }.fx-team-empty { padding:48px 30px; border:1px dashed rgba(103,173,230,.28); border-radius:8px; background:rgba(10,28,51,.42); text-align:center; }.fx-team-empty h3 { margin:0 0 8px; color:#f1f7ff; font-size:1.45rem; }.fx-team-empty p:last-child { margin:0; color:var(--fx-muted); }.fx-team-cta-section .fx-cta { width:min(1180px,100%); margin-inline:auto; }.fx-team-cta-button { display:flex; justify-content:center; margin:0; }.fx-team-cta-button .wp-block-button__link { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:11px 20px; border:1px solid rgba(72,224,255,.65); border-radius:4px; background:linear-gradient(135deg,#168fe5,#24c9ed); box-shadow:0 10px 26px rgba(15,156,242,.2); color:#fff; font-size:.9rem; font-weight:800; text-decoration:none; transition:transform .2s ease,box-shadow .2s ease; }.fx-team-cta-button .wp-block-button__link:hover { transform:translateY(-2px); box-shadow:0 15px 30px rgba(15,156,242,.36); color:#fff; }
.fx-blog-list { display:grid; gap:17px; }.fx-empty { padding:45px; border:1px dashed var(--fx-line); color:var(--fx-muted); text-align:center; }.fx-post-card { padding:28px; border:1px solid var(--fx-line); background:rgba(13,32,58,.55); }.fx-post-card h2 { margin-bottom:8px; font-size:1.45rem; }.fx-post-card p { margin:0; color:var(--fx-muted); }
.fx-footer { margin-top:0; border-top:1px solid var(--fx-line); background:#050d1a; }.fx-footer-main { display:grid; grid-template-columns:1.6fr 1fr 1.2fr; gap:45px; padding:70px 0 48px; }.fx-footer-main.has-contact{grid-template-columns:1.45fr 1fr 1.15fr .9fr}.fx-footer .fx-logo { margin-bottom:19px; }.fx-footer p,.fx-footer li { color:#91a7c3; font-size:.91rem; }.fx-footer h3 { margin-bottom:15px; color:#fff; font-size:.85rem; letter-spacing:.12em; text-transform:uppercase; }.fx-footer ul { margin:0; padding:0; list-style:none; }.fx-footer li { margin:0 0 10px; }.fx-footer a:hover,.fx-footer a:focus-visible { color:var(--fx-cyan); }.fx-footer-contact h3{margin-bottom:14px}.fx-footer-contact p{margin:0 0 12px}.fx-footer-phone{display:inline-flex;align-items:center;gap:8px;color:#b8cae6;font-size:.95rem;font-weight:600}.fx-footer-phone i{color:var(--fx-cyan);font-size:.88rem}.fx-footer-contact-link{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid rgba(72,224,255,.56);border-radius:5px;color:var(--fx-cyan)!important;font-size:.88rem;font-weight:700;letter-spacing:.01em;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.fx-footer-contact-link:hover,.fx-footer-contact-link:focus-visible{border-color:var(--fx-cyan);background:rgba(72,224,255,.11);box-shadow:0 0 14px rgba(25,199,255,.2);outline:none;transform:translateY(-1px)}.fx-footer-social{display:flex;flex-wrap:nowrap;gap:9px;margin-top:4px}.fx-footer-social a{display:grid;flex:0 0 34px;place-items:center;width:34px;height:34px;border:1px solid rgba(72,224,255,.42);border-radius:50%;color:#b8cae6;transition:color .2s ease,border-color .2s ease,background-color .2s ease,box-shadow .2s ease,transform .2s ease}.fx-footer-social a:hover,.fx-footer-social a:focus-visible{border-color:var(--fx-cyan);background:rgba(72,224,255,.09);box-shadow:0 0 12px rgba(25,199,255,.22);outline:none;transform:translateY(-1px)}.fx-footer-social i{font-size:15px;line-height:1}.fx-footer-bottom { display:flex; justify-content:space-between; gap:20px; padding:20px 0; border-top:1px solid rgba(150,190,245,.12); color:#7187a3; font-size:.82rem; }
.fx-reveal { opacity:0; transform:translateY(17px); transition:opacity .6s ease,transform .6s ease; }.fx-reveal.is-visible { opacity:1; transform:none; }
@media (max-width:1040px) { .fx-services{grid-template-columns:repeat(3,1fr)}.fx-features,.fx-team-grid{grid-template-columns:repeat(2,1fr)}.fx-card p{min-height:0}.fx-hero-metric{display:none}.fx-hero-nodes{right:-25px;opacity:.4}.fx-about{gap:40px}.fx-menu{gap:16px}.fx-nav{gap:15px}.fx-footer-main,.fx-footer-main.has-contact{gap:28px;grid-template-columns:repeat(2,1fr)}.fx-footer-main>.fx-footer-brand{grid-column:1/-1} }
@media (max-width:780px) { .fx-wrap{width:min(100% - 32px,1180px)}.fx-nav{min-height:72px}.fx-menu-toggle{display:grid;place-items:center}.fx-menu-toggle svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2}.fx-nav-actions .fx-button{display:none}.fx-menu{position:absolute;top:72px;right:16px;left:16px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px;border:1px solid var(--fx-line);border-radius:6px;background:#0b1a31;box-shadow:0 20px 40px rgba(0,0,0,.4)}.fx-menu.is-open{display:flex}.fx-menu li a{display:block;padding:12px}.fx-hero{min-height:620px}.fx-hero-inner{padding:78px 0 95px}.fx-hero-nodes{display:none}.fx-section{padding:76px 0}.fx-services{grid-template-columns:repeat(2,1fr)}.fx-about{grid-template-columns:1fr}.fx-about-panel{min-height:245px}.fx-process{grid-template-columns:1fr;gap:12px}.fx-process::before{top:0;bottom:0;left:26px;width:1px;height:auto}.fx-step{display:grid;grid-template-columns:70px 1fr}.fx-step-number{grid-row:span 2;margin:0}.fx-step h3{align-self:end;margin:0}.fx-step p{grid-column:2;margin:6px 0 14px}.fx-contact-grid{grid-template-columns:1fr}.fx-team-intro{grid-template-columns:1fr;gap:24px}.fx-footer-main{grid-template-columns:1fr 1fr}.fx-footer-main>:first-child{grid-column:1/-1}.fx-page-hero{padding:75px 0 57px} }
@media (max-width:520px) { .fx-services,.fx-features,.fx-team-grid,.fx-footer-main,.fx-footer-main.has-contact,.fx-form,.fx-service-list{grid-template-columns:1fr}.fx-hero h1{font-size:2.65rem}.fx-button-row .fx-button{width:100%}.fx-cta{padding:62px 22px}.fx-footer-main>:first-child{grid-column:auto}.fx-footer-bottom{flex-direction:column}.fx-card{padding:23px}.fx-page-hero h1{font-size:2.45rem}.fx-team-card-body{padding:22px}.fx-team-photo{aspect-ratio:4/5} }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after{scroll-behavior:auto !important;transition-duration:.01ms !important;animation-duration:.01ms !important;animation-iteration-count:1 !important} }

/* Premium interaction layer: restrained motion using compositor-friendly properties. */
@keyframes fx-grid-drift { from { background-position:0 0,0 0; } to { background-position:55px 55px,-55px 55px; } }
@keyframes fx-orbit-pulse { 0%,100% { transform:scale(1) rotate(0deg); opacity:.72; } 50% { transform:scale(1.025) rotate(2deg); opacity:.92; } }
@keyframes fx-node-pulse { 0%,100% { opacity:.58; transform:scale(.92); } 50% { opacity:1; transform:scale(1.08); } }
@keyframes fx-hero-item-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@keyframes fx-page-in { from { opacity:.86; transform:translateY(5px); } to { opacity:1; transform:none; } }
@keyframes fx-security-scan { from { transform:translateY(-100%); } to { transform:translateY(100%); } }
.fx-hero { --fx-mouse-x:0; --fx-mouse-y:0; }
.fx-hero::before { animation:fx-grid-drift 32s linear infinite; will-change:background-position; }
.fx-hero::after { animation:fx-orbit-pulse 18s ease-in-out infinite; will-change:transform,opacity; }
.fx-hero-nodes { transform:translate3d(calc(var(--fx-mouse-x) * 7px),calc(var(--fx-mouse-y) * 7px),0); transition:transform .8s ease-out; will-change:transform; }
.fx-node { animation:fx-node-pulse 4.8s ease-in-out infinite; will-change:transform,opacity; }
.fx-node:nth-child(2) { animation-delay:-1.6s; }.fx-node:nth-child(3) { animation-delay:-3.1s; }.fx-node:nth-child(4) { animation-delay:-.8s; }
.fx-hero.is-ready .fx-eyebrow { animation:fx-hero-item-in .52s cubic-bezier(.22,.7,.25,1) both; }
.fx-hero.is-ready h1 { animation:fx-hero-item-in .68s .08s cubic-bezier(.22,.7,.25,1) both; }
.fx-hero.is-ready .fx-lead { animation:fx-hero-item-in .58s .18s cubic-bezier(.22,.7,.25,1) both; }
.fx-hero.is-ready .fx-hero-capabilities { animation:fx-hero-item-in .52s .24s cubic-bezier(.22,.7,.25,1) both; }
.fx-hero.is-ready .fx-button-row { animation:fx-hero-item-in .52s .3s cubic-bezier(.22,.7,.25,1) both; }
.fx-grid > .fx-reveal:nth-child(2) { transition-delay:.06s; }.fx-grid > .fx-reveal:nth-child(3) { transition-delay:.12s; }.fx-grid > .fx-reveal:nth-child(4) { transition-delay:.18s; }.fx-grid > .fx-reveal:nth-child(5) { transition-delay:.24s; }.fx-grid > .fx-reveal:nth-child(6) { transition-delay:.3s; }
@media (hover:hover) and (pointer:fine) {
  .fx-card:hover .fx-icon { transform:translateY(-2px); border-color:rgba(72,224,255,.62); box-shadow:0 0 18px rgba(72,224,255,.12); }
  .fx-card-link:hover::after { margin-left:11px; }
}
.fx-security-page .fx-page-hero { position:relative; overflow:hidden; }
.fx-security-page .fx-page-hero::after { position:absolute; inset:0; content:""; pointer-events:none; opacity:.14; background:repeating-linear-gradient(180deg,transparent 0,transparent 46px,rgba(72,224,255,.35) 47px,transparent 48px); animation:fx-security-scan 9s linear infinite; }
main#main-content { animation:fx-page-in .35s ease-out both; }
@media (max-width:780px) { .fx-hero::before { animation-duration:52s; }.fx-hero::after { animation-duration:26s; }.fx-hero-nodes { transition:none; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; }.fx-hero-nodes { transform:none !important; } }

/* Approved homepage prototype integration. */
@keyframes fx-intro-mark-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@keyframes fx-intro-out { to { opacity:0; visibility:hidden; } }
@keyframes fx-data-flow { to { stroke-dashoffset:-90; } }
.fx-intro { position:fixed; inset:0; z-index:999; display:grid; place-items:center; background:#06101f; pointer-events:none; animation:fx-intro-out .55s .25s ease forwards; }
.fx-intro-mark { opacity:0; transform:translateY(8px); color:#f4f8ff; font-size:1.4rem; font-weight:800; letter-spacing:.18em; animation:fx-intro-mark-in .42s .08s ease forwards; }
.fx-intro-mark span { color:var(--fx-cyan); }
.fx-hero-nodes { display:none; }
.fx-infra-visual { position:absolute; top:21%; right:4vw; width:min(40vw,470px); height:370px; transform:translate3d(calc(var(--fx-mouse-x,0) * 8px),calc(var(--fx-mouse-y,0) * 8px),0); transition:transform .8s ease-out; pointer-events:none; }
.fx-infra-visual svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.fx-infra-visual line { stroke:rgba(72,224,255,.3); stroke-width:1; stroke-dasharray:5 9; animation:fx-data-flow 8s linear infinite; }
.fx-infra-visual line:nth-child(2) { animation-delay:-2s; }.fx-infra-visual line:nth-child(3) { animation-delay:-4s; }.fx-infra-visual line:nth-child(4) { animation-delay:-6s; }
.fx-infra-node { position:absolute; display:grid; place-items:center; width:112px; height:58px; border:1px solid rgba(72,224,255,.4); border-radius:7px; background:rgba(10,30,53,.9); box-shadow:0 0 28px rgba(34,166,240,.08); color:#dff8ff; font-size:.68rem; font-weight:800; letter-spacing:.1em; text-align:center; }
.fx-infra-node::before { position:absolute; width:8px; height:8px; border-radius:50%; background:var(--fx-cyan); box-shadow:0 0 15px var(--fx-cyan); content:""; animation:fx-node-pulse 3.8s ease-in-out infinite; }
.fx-infra-node--business { left:36%; top:3%; }.fx-infra-node--infrastructure { left:2%; top:42%; }.fx-infra-node--cloud { right:3%; top:42%; }.fx-infra-node--security { left:16%; bottom:4%; }.fx-infra-node--comms { right:16%; bottom:4%; }
.fx-infra-node--business::before { top:-5px; right:17px; }.fx-infra-node--infrastructure::before { top:17px; right:-5px; }.fx-infra-node--cloud::before { top:17px; left:-5px; }.fx-infra-node--security::before { top:-5px; right:18px; }.fx-infra-node--comms::before { top:-5px; left:18px; }
@media (max-width:1040px) { .fx-infra-visual { right:-4vw; opacity:.48; } }
@media (max-width:780px) { .fx-hero { display:block; } .fx-infra-visual { position:relative; top:auto; right:auto; width:100%; height:260px; margin:-40px 0 40px; opacity:.8; transform:none; } .fx-infra-node { width:92px; height:48px; font-size:.58rem; } .fx-infra-node--business { left:35%; top:0; }.fx-infra-node--infrastructure { left:0; top:39%; }.fx-infra-node--cloud { right:0; top:39%; }.fx-infra-node--security { left:12%; bottom:0; }.fx-infra-node--comms { right:12%; bottom:0; } }
@media (max-width:520px) { .fx-infra-visual { height:230px; transform:scale(.92); transform-origin:center top; } }
@media (prefers-reduced-motion:reduce) { .fx-intro { opacity:0; visibility:hidden; } .fx-infra-visual { transform:none !important; } }

/* 2.0 — extended site system */
[id] { scroll-margin-top:100px; }
.fx-nav { width:min(1320px,calc(100% - 40px)); min-height:78px; gap:20px; }
.fx-primary-nav { min-width:0; margin-left:auto; }
.fx-menu { gap:14px; }
.fx-menu a { font-size:.82rem; white-space:nowrap; }
.fx-menu-link-row { display:flex; align-items:center; gap:2px; }
.fx-menu-item { position:relative; }
.fx-menu-item.is-current>.fx-menu-link-row>a,.fx-menu a[aria-current=page] { color:var(--fx-cyan); }
.fx-submenu-toggle { width:24px; height:30px; display:grid; place-items:center; padding:0; border:0; background:transparent; color:#bcd0e9; cursor:pointer; }
.fx-submenu-toggle svg { width:10px; height:7px; fill:none; stroke:currentColor; stroke-width:1.7; transition:transform .2s ease; }
.fx-submenu { position:absolute; top:calc(100% + 15px); left:-18px; z-index:110; width:270px; margin:0; padding:10px; visibility:hidden; opacity:0; transform:translateY(8px); border:1px solid var(--fx-line); border-radius:7px; background:#09172b; box-shadow:0 22px 45px rgba(0,0,0,.42); list-style:none; transition:opacity .2s ease,transform .2s ease,visibility .2s ease; }
.fx-submenu::before { position:absolute; right:0; bottom:100%; left:0; height:16px; content:""; }
.fx-submenu a { display:block; padding:10px 11px; border-radius:4px; color:#c9d8ec; white-space:normal; }
.fx-submenu a:hover,.fx-submenu a:focus-visible { background:rgba(72,224,255,.075); color:var(--fx-cyan); }
.fx-menu-item.has-submenu:hover>.fx-submenu,.fx-menu-item.has-submenu:focus-within>.fx-submenu,.fx-menu-item.has-submenu.is-submenu-open>.fx-submenu { visibility:visible; opacity:1; transform:none; }
.fx-menu-item.is-submenu-open .fx-submenu-toggle svg { transform:rotate(180deg); }
.fx-nav-actions .fx-button { min-height:42px; padding:9px 14px; font-size:.78rem; white-space:nowrap; }
.fx-hero-capabilities { display:flex; flex-wrap:wrap; gap:8px 17px; max-width:690px; margin:-12px 0 31px; padding:0; list-style:none; color:#a8bed9; font-size:.78rem; font-weight:750; letter-spacing:.06em; text-transform:uppercase; }
.fx-hero-capabilities li { display:flex; align-items:center; gap:8px; }
.fx-hero-capabilities li::before { width:5px; height:5px; border-radius:50%; background:var(--fx-cyan); box-shadow:0 0 9px rgba(72,224,255,.75); content:""; }
.fx-section-heading { max-width:790px; }
.fx-section-heading>p:not(.fx-eyebrow) { max-width:720px; }
.fx-services { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.fx-service-card { display:flex; flex-direction:column; }
.fx-service-card h2,.fx-solution-card h2,.fx-industry-card h2 { margin:0 0 10px; color:#fff; font-size:1.2rem; line-height:1.25; }
.fx-service-card>p { min-height:0; }
.fx-service-card .fx-card-link { margin-top:auto; padding-top:20px; }
.fx-capability-list { display:grid; gap:8px; margin:1px 0 5px; padding:16px 0 0; border-top:1px solid rgba(149,190,255,.12); list-style:none; color:#b8c9dc; font-size:.82rem; }
.fx-capability-list li { position:relative; margin:0; padding-left:16px; }
.fx-capability-list li::before { position:absolute; top:.68em; left:0; width:5px; height:5px; border-radius:50%; background:var(--fx-cyan); content:""; }
.fx-capability-list--compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
.fx-capability-list--large { gap:12px; border-top:0; padding-top:0; font-size:.94rem; }
.fx-solutions { grid-template-columns:repeat(3,minmax(0,1fr)); }
.fx-solution-card { min-height:260px; }
.fx-solution-card>p { min-height:0; margin-bottom:16px; }
.fx-industries { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.fx-industry-card { padding:27px; border:1px solid var(--fx-line); border-radius:8px; background:rgba(11,27,49,.55); transition:transform .25s ease,border-color .25s ease,background .25s ease; }
.fx-industry-card:hover { transform:translateY(-4px); border-color:rgba(72,224,255,.45); background:rgba(16,43,72,.67); }
.fx-industry-card p { margin:0; color:var(--fx-muted); font-size:.91rem; }
.fx-split-panel { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:70px; align-items:center; }
.fx-split-copy h2 { margin-bottom:17px; font-size:clamp(2.2rem,4.4vw,4rem); line-height:1.02; letter-spacing:-.05em; }
.fx-split-copy>p:not(.fx-eyebrow) { max-width:560px; margin-bottom:27px; color:var(--fx-muted); }
.fx-check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; padding:28px; border:1px solid var(--fx-line); border-radius:9px; background:rgba(7,20,38,.58); }
.fx-check-grid span { position:relative; padding:13px 13px 13px 38px; border:1px solid rgba(149,190,255,.12); border-radius:5px; background:rgba(19,44,75,.55); color:#d7e6f7; font-size:.88rem; font-weight:650; }
.fx-check-grid span::before { position:absolute; top:14px; left:14px; color:var(--fx-cyan); content:"✓"; font-weight:900; }
.fx-microsoft-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:20px; }
.fx-tech-panel { min-width:0; padding:30px; border:1px solid var(--fx-line); border-radius:8px; background:linear-gradient(145deg,rgba(18,43,75,.63),rgba(6,19,36,.72)); }
.fx-tech-panel h3 { margin-bottom:22px; color:#fff; font-size:1.05rem; letter-spacing:.04em; text-transform:uppercase; }
.fx-client-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:stretch; }
.fx-client-grid--compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
.fx-client-card { display:flex; flex-direction:column; min-width:0; height:auto; padding:20px; border:1px solid rgba(149,190,255,.17); border-radius:8px; background:rgba(13,29,51,.72); text-align:center; transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease; }
.fx-client-card:hover { transform:translateY(-4px); border-color:rgba(72,224,255,.45); background:rgba(18,42,70,.78); box-shadow:0 17px 33px rgba(0,0,0,.19); }
.fx-client-logo { width:100%; height:160px; min-height:160px; display:flex; align-items:center; justify-content:center; margin:0; padding:24px; box-sizing:border-box; overflow:hidden; flex-shrink:0; border-radius:5px; background:rgba(243,247,251,.94); }
.fx-client-grid--compact .fx-client-logo { height:160px; min-height:160px; }
.fx-client-logo img { display:block; max-width:90%; max-height:120px; width:auto; height:auto; object-fit:contain; }
.fx-client-card h3 { position:static; margin:16px 0 0; padding:0; overflow-wrap:anywhere; color:#edf6ff; font-size:.92rem; line-height:1.35; }
.fx-client-card p { position:static; min-height:0; margin:9px 0 0; padding:0; color:var(--fx-muted); font-size:.81rem; line-height:1.6; overflow-wrap:anywhere; }
.fx-health-check fieldset { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0 0 24px; padding:0; border:0; }
.fx-health-check legend { grid-column:1/-1; margin-bottom:8px; color:#edf6ff; font-size:1.1rem; font-weight:750; }
.fx-check-option { display:flex; align-items:center; gap:10px; padding:13px; border:1px solid var(--fx-line); border-radius:5px; background:rgba(16,38,66,.55); color:#d7e6f7; cursor:pointer; }
.fx-check-option input { accent-color:var(--fx-cyan); }
.fx-health-score { margin:20px 0 10px; color:var(--fx-cyan)!important; font-size:1.2rem!important; font-weight:800; }
.fx-client-empty { display:grid; grid-template-columns:auto 1fr; gap:20px; align-items:center; min-height:150px; padding:27px; border:1px dashed rgba(116,185,236,.34); border-radius:8px; background:rgba(8,25,47,.48); }
.fx-client-empty-mark { width:66px; height:66px; display:grid; place-items:center; border:1px solid rgba(72,224,255,.4); border-radius:50%; color:var(--fx-cyan); font-weight:850; letter-spacing:.08em; }
.fx-client-empty h3 { margin:0 0 4px; font-size:1.12rem; }
.fx-client-empty p { max-width:650px; margin:0; color:var(--fx-muted); font-size:.9rem; }
.fx-section-action { margin:27px 0 0; }
.fx-trust-count { display:inline-flex; margin-top:24px!important; padding:8px 12px; border:1px solid rgba(72,224,255,.27); border-radius:4px; color:#cceefe!important; font-size:.8rem!important; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.fx-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.fx-project-card { padding:29px; border:1px solid var(--fx-line); border-radius:8px; background:linear-gradient(145deg,rgba(17,40,69,.72),rgba(7,18,34,.78)); }
.fx-project-card h3,.fx-project-card h2 { margin-bottom:22px; font-size:1.35rem; line-height:1.2; }
.fx-project-industry { margin-bottom:9px; color:var(--fx-cyan); font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.fx-project-detail { padding:14px 0; border-top:1px solid rgba(149,190,255,.12); }
.fx-project-detail strong { display:block; margin-bottom:4px; color:#d8ecff; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.fx-project-detail p { margin:0; color:var(--fx-muted); font-size:.87rem; }
.fx-project-tech { display:flex; flex-wrap:wrap; gap:7px; margin:17px 0; }
.fx-project-tech span { padding:5px 8px; border:1px solid var(--fx-line); color:#b9cce3; font-size:.72rem; }
.fx-project-empty { padding:42px; border:1px dashed rgba(117,183,235,.31); border-radius:8px; background:rgba(9,25,45,.45); }
.fx-project-empty h2,.fx-project-empty h3 { margin-bottom:9px; font-size:1.45rem; }
.fx-project-empty p:last-child { max-width:680px; margin:0; color:var(--fx-muted); }
.fx-features { grid-template-columns:repeat(3,minmax(0,1fr)); }
.fx-value-card p { min-height:0; margin-bottom:0; }
.fx-button-row--center { justify-content:center; }
.fx-contact-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.fx-contact-links a { min-width:0; padding:13px; border:1px solid var(--fx-line); border-radius:5px; background:rgba(16,38,66,.55); }
.fx-contact-links span,.fx-contact-links strong { display:block; overflow-wrap:anywhere; }
.fx-contact-links span { color:#7f94ae; font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.fx-contact-links strong { margin-top:3px; color:#d9eaff; font-size:.82rem; }
.fx-contact-links a:hover { border-color:rgba(72,224,255,.5); }
.fx-contact-links--stacked { grid-template-columns:1fr; margin-top:24px; }
.fx-service-detail { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr); gap:60px; align-items:start; }
.fx-service-detail .fx-page-content { max-width:none; }
.fx-service-capabilities { padding:29px; border:1px solid var(--fx-line); border-radius:8px; background:rgba(13,32,58,.58); }
.fx-service-capabilities h2 { margin-bottom:20px; font-size:1.35rem; }
.fx-footer-main.has-contact { grid-template-columns:1.35fr .75fr 1fr 1.12fr .85fr; gap:32px; }

@media (max-width:1180px) {
  .fx-menu-toggle{display:grid;place-items:center;order:3}.fx-menu-toggle svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2}.fx-primary-nav{position:absolute;top:78px;right:20px;left:20px;display:none;margin:0}.fx-primary-nav.is-open{display:block}.fx-menu{max-height:calc(100vh - 100px);overflow-y:auto;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:12px;border:1px solid var(--fx-line);border-radius:7px;background:#09172b;box-shadow:0 22px 45px rgba(0,0,0,.45)}.fx-menu-link-row{justify-content:space-between}.fx-menu a{display:block;padding:12px;font-size:.92rem}.fx-submenu-toggle{width:44px;height:44px}.fx-submenu{position:static;width:auto;max-height:0;margin:0 8px;padding:0 10px;visibility:visible;overflow:hidden;opacity:1;transform:none;border:0;background:rgba(4,15,29,.5);box-shadow:none;transition:max-height .25s ease,padding .25s ease}.fx-menu-item.is-submenu-open>.fx-submenu{max-height:430px;padding:8px 10px}.fx-menu-item.has-submenu:hover>.fx-submenu:not(:focus-within){transform:none}.fx-submenu a{padding:9px 10px;font-size:.84rem}.fx-nav-actions{margin-left:auto}.fx-nav-actions .fx-button{display:inline-flex}.fx-footer-main.has-contact{grid-template-columns:repeat(3,minmax(0,1fr))}.fx-footer-brand{grid-column:1/-1}
}
@media (max-width:900px) {
  .fx-solutions,.fx-industries,.fx-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fx-client-grid,.fx-client-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.fx-split-panel,.fx-microsoft-grid,.fx-service-detail{grid-template-columns:1fr;gap:35px}.fx-footer-main.has-contact{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:780px) {
  .fx-primary-nav{top:72px;right:16px;left:16px}.fx-menu{position:static;right:auto;left:auto}.fx-services{grid-template-columns:repeat(2,minmax(0,1fr))}.fx-nav-actions .fx-button{display:none}.fx-hero-capabilities{gap:7px 14px}.fx-capability-list--compact{grid-template-columns:1fr}.fx-check-grid{padding:20px}.fx-footer-brand{grid-column:1/-1}
}
@media (max-width:520px) {
  .fx-wrap,.fx-nav{width:min(100% - 32px,1180px)}.fx-services,.fx-solutions,.fx-industries,.fx-project-grid,.fx-features{grid-template-columns:1fr}.fx-client-grid,.fx-client-grid--compact{grid-template-columns:1fr;gap:14px}.fx-client-card{padding:16px}.fx-client-logo,.fx-client-grid--compact .fx-client-logo{height:140px;min-height:140px;padding:18px}.fx-client-card h3{font-size:.84rem}.fx-client-empty{grid-template-columns:1fr;text-align:center}.fx-client-empty-mark{margin:auto}.fx-check-grid{grid-template-columns:1fr;padding:15px}.fx-health-check fieldset{grid-template-columns:1fr}.fx-tech-panel{padding:22px}.fx-project-empty{padding:29px 23px}.fx-hero-capabilities{font-size:.69rem}.fx-service-detail{gap:28px}.fx-footer-main.has-contact{grid-template-columns:1fr}.fx-footer-brand{grid-column:auto}
}
