/* ===== Uploaded custom logo (force a clean size; the file is a big square) ===== */
.ga-header .ga-logo img,
.ga-header-inner img.ga-custom-logo,
.ga-header-inner .custom-logo{ height:46px !important; width:auto !important; max-width:200px; display:block; }
.ga-footer .ga-logo img,
.ga-footer img.ga-custom-logo,
.ga-footer .custom-logo{ height:60px !important; width:auto !important; max-width:220px; display:block; }
@media(max-width:768px){ .ga-header .ga-logo img, .ga-header-inner img.ga-custom-logo{ height:38px !important; } }

/* ===== Mega menu ===== */
.ga-plus{ color:var(--lime); font-weight:700; margin-left:3px; display:inline-block; transition:transform .2s; }
.ga-mega-wrap:hover .ga-plus, .ga-mega-wrap.is-open .ga-plus{ transform:rotate(45deg); }
.ga-header-inner{ position:relative; }
.ga-mega{ position:absolute; left:0; right:0; top:100%; padding-top:14px; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(8px); transition:opacity .2s, transform .2s, visibility .2s; z-index:120; }
.ga-mega-wrap:hover > .ga-mega, .ga-mega-wrap.is-open > .ga-mega{ opacity:1; visibility:visible; pointer-events:auto; transform:none; }
.ga-mega-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; background:rgba(12,12,14,.98); border:1px solid var(--line); border-radius:18px; padding:26px; box-shadow:0 30px 80px -30px rgba(0,0,0,.85); backdrop-filter:blur(16px); }
.ga-mega-head{ display:flex; align-items:center; gap:8px; color:var(--lime); font-weight:600; font-size:14px; font-family:var(--display); margin-bottom:14px; }
.ga-mega-head .mi{ font-size:16px; }
.ga-mega-col ul{ list-style:none; margin:0; padding:0; display:grid; gap:9px; }
.ga-mega-col li a{ font-size:13px; color:var(--muted); transition:.15s; }
.ga-mega-col li a:hover{ color:var(--fg); }
.ga-mega-more{ font-size:13px; color:var(--fg); font-weight:600; }
.ga-mega-more:hover{ color:var(--lime); }
@media(max-width:980px){ .ga-mega{ display:none; } }

/* ===== Mobile groups ===== */
.ga-mobile-groups{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:20px; }
.ga-mobile-groups a{ border:1px solid var(--line); background:var(--coal); border-radius:14px; padding:16px; font-size:14px; font-weight:500; }
.ga-mobile-groups a .mi{ display:block; color:var(--lime); font-size:20px; margin-bottom:8px; }

/* ===== Services hub groups ===== */
.ga-svc-group{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:14px; }
.ga-svc-group-l{ display:flex; align-items:center; gap:16px; }

/* ===== Tools page ===== */
.ga-tool-badge{ display:inline-block; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.08em; padding:3px 10px; border-radius:99px; margin-top:14px; }
.ga-tool-live{ background:rgba(205,255,58,.15); color:var(--lime); }
.ga-tool-soon{ background:rgba(255,255,255,.08); color:var(--muted); }

/* ===== Portfolio filter ===== */
.ga-filters{ display:flex; flex-wrap:wrap; gap:8px; }
.ga-filter{ border:1px solid var(--line); background:none; color:var(--muted); padding:10px 20px; border-radius:99px; font-size:14px; font-weight:500; cursor:pointer; transition:.2s; font-family:var(--sans); }
.ga-filter:hover{ color:var(--fg); border-color:rgba(205,255,58,.4); }
.ga-filter.is-active{ background:var(--lime); color:#000; border-color:var(--lime); }
.ga-port[hidden]{ display:none; }

/* ===== Forms (CF7 + static) ===== */
.ga-field{ margin-bottom:16px; }
.ga-field label{ display:block; font-size:14px; font-weight:500; margin-bottom:6px; }
.ga-field input, .ga-field textarea, .ga-field select{ width:100%; background:var(--coal); border:1px solid var(--line); border-radius:12px; padding:12px 14px; color:var(--fg); font-size:14px; font-family:var(--sans); outline:none; transition:.2s; }
.ga-field input::placeholder, .ga-field textarea::placeholder{ color:var(--faint); }
.ga-field input:focus, .ga-field textarea:focus, .ga-field select:focus{ border-color:var(--lime); }
.ga-field .wpcf7-form-control-wrap{ display:block; }
.ga-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.wpcf7-not-valid-tip{ color:#ff7676; font-size:12px; margin-top:5px; display:block; }
.wpcf7 form .wpcf7-response-output{ border:1px solid var(--line); border-radius:12px; padding:12px 16px; margin:18px 0 0; font-size:14px; color:var(--fg); }
.wpcf7 form.sent .wpcf7-response-output{ border-color:rgba(205,255,58,.4); background:rgba(205,255,58,.08); }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output{ border-color:rgba(255,118,118,.4); background:rgba(255,118,118,.08); }
.wpcf7-spinner{ background-color:var(--lime); }
.wpcf7 input[type=submit]{ cursor:pointer; }

.ga-contact-card{ display:flex; align-items:center; gap:16px; border:1px solid var(--line); background:rgba(12,12,14,.5); border-radius:18px; padding:22px; transition:.2s; }
.ga-contact-card:hover{ border-color:rgba(205,255,58,.4); }
.ga-contact-card .ic{ width:48px; height:48px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:rgba(205,255,58,.1); color:var(--lime); font-size:20px; flex:none; }
.ga-contact-card b{ display:block; font-size:15px; }
.ga-contact-card span.l{ display:block; font-size:12px; text-transform:uppercase; letter-spacing:.1em; color:var(--faint); }
.ga-map{ position:relative; min-height:280px; border:1px solid var(--line); background:rgba(12,12,14,.5); border-radius:24px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:12px; overflow:hidden; }

@media(max-width:768px){ .ga-form-grid{ grid-template-columns:1fr; } .ga-mega-grid{ grid-template-columns:1fr; } }
