/*
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: 1.0.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-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 .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 { color:var(--fx-cyan); }.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{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{gap:28px} }
@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-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-footer-main,.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} }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after{scroll-behavior:auto !important;transition-duration:.01ms !important;animation-duration:.01ms !important;animation-iteration-count:1 !important} }
