
:root{--bg:#05080d;--panel:#0a111c;--panel2:#0e1725;--ink:#f4f7fb;--muted:#9aabc2;--blue:#2478ff;--blue2:#65a8ff;--red:#c82027;--line:rgba(125,168,230,.2);--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 85% 5%,#0c2250 0,transparent 28%),linear-gradient(180deg,#03060a,#07101a 65%,#03060a);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}
header{position:sticky;top:0;z-index:50;background:rgba(3,7,12,.84);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav{height:76px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.13em}.mark{width:40px;height:40px;border:1px solid #2b78ff;background:linear-gradient(145deg,#06101e,#102b59);display:grid;place-items:center;clip-path:polygon(22% 0,100% 0,78% 100%,0 100%);font-size:14px}.brand small{display:block;color:var(--blue2);font-size:9px;letter-spacing:.22em}.links{margin-left:auto;display:flex;gap:18px;align-items:center}.links a{font-size:13px;color:#cbd6e6}.links a:hover,.links a.active{color:white}.cta{padding:10px 16px;border:1px solid #317cff;background:linear-gradient(135deg,#123264,#1767dc);border-radius:999px}.menuBtn{display:none;margin-left:auto;background:none;border:0;color:white;font-size:26px}
.hero{min-height:690px;position:relative;display:grid;align-items:end;overflow:hidden;border-bottom:1px solid var(--line)}.heroMedia{position:absolute;inset:0}.heroMedia img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.08)}.heroMedia:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,7,12,.94) 0%,rgba(3,7,12,.75) 42%,rgba(6,16,31,.28) 72%,rgba(3,7,12,.72) 100%),linear-gradient(0deg,#05080d 0,transparent 38%)}.heroContent{position:relative;z-index:2;padding:120px 0 90px;max-width:790px}.eyebrow{display:inline-flex;gap:10px;align-items:center;color:#90baff;text-transform:uppercase;font-size:12px;letter-spacing:.18em}.eyebrow:before{content:'';width:36px;height:2px;background:var(--red)}h1{font-size:clamp(44px,6vw,82px);line-height:.98;margin:20px 0 22px;letter-spacing:-.045em}h1 span{color:#68a9ff}.lead{max-width:680px;font-size:19px;color:#c2cede}.actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:10px;padding:13px 20px;border-radius:4px;border:1px solid #326ee0;background:#0c2245}.btn.primary{background:linear-gradient(135deg,#1859c8,#2f87ff);border-color:#4995ff}.btn.ghost{background:rgba(5,8,13,.45);border-color:#53647c}.heroStats{position:absolute;right:4vw;bottom:54px;z-index:3;display:grid;grid-template-columns:repeat(2,145px);gap:10px}.stat{padding:18px;background:rgba(5,12,22,.72);border:1px solid var(--line);backdrop-filter:blur(10px)}.stat b{font-size:26px;display:block;color:#8ebeff}.stat span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
section{padding:90px 0}.sectionHead{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.sectionHead h2{font-size:clamp(34px,4vw,54px);margin:0;letter-spacing:-.03em}.sectionHead p{max-width:520px;color:var(--muted);margin:0}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{position:relative;background:linear-gradient(145deg,rgba(15,28,47,.92),rgba(6,13,23,.94));border:1px solid var(--line);padding:28px;min-height:230px;overflow:hidden}.card:before{content:'';position:absolute;inset:0 auto auto 0;width:3px;height:70px;background:linear-gradient(var(--blue),var(--red))}.card .num{font-size:11px;color:#6c8bb2;letter-spacing:.16em}.card h3{font-size:22px;margin:22px 0 10px}.card p{color:var(--muted);font-size:14px}.arrow{margin-top:20px;color:#76acff;font-weight:700}.split{display:grid;grid-template-columns:1.08fr .92fr;gap:42px;align-items:center}.mediaFrame{position:relative;border:1px solid var(--line);padding:10px;background:#08111c}.mediaFrame:before{content:'';position:absolute;left:-12px;top:28px;width:4px;height:46%;background:var(--red)}.mediaFrame img,.mediaFrame video{width:100%;height:480px;object-fit:cover}.kicker{color:#78aefe;text-transform:uppercase;letter-spacing:.15em;font-size:12px}.copy h2{font-size:48px;line-height:1.04;margin:10px 0 22px}.copy p{color:#aab9cd}.featureList{display:grid;gap:12px;margin-top:25px}.feature{display:flex;gap:14px;padding:13px 0;border-top:1px solid var(--line)}.dot{width:9px;height:9px;border-radius:50%;background:#367fff;box-shadow:0 0 14px #367fff;margin-top:7px}.band{padding:58px 0;background:linear-gradient(100deg,#071426,#0a2144 62%,#09162a);border-block:1px solid var(--line)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.metric b{font-size:45px;color:#7fb2ff}.metric span{display:block;color:var(--muted);font-size:13px}.mosaic{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-auto-rows:260px;gap:12px}.mosaic img{width:100%;height:100%;object-fit:cover;border:1px solid var(--line)}.mosaic .tall{grid-row:span 2}.mosaic .wide{grid-column:span 2}.pageHero{padding:115px 0 72px;border-bottom:1px solid var(--line);background:linear-gradient(120deg,#081120,#0d2042 55%,#07101b)}.pageHero h1{font-size:58px;margin-bottom:12px}.pageHero p{max-width:760px;color:#b0bfd2;font-size:18px}.serviceGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.serviceBlock{padding:28px;border:1px solid var(--line);background:#08121f}.serviceBlock h3{font-size:23px;margin:0 0 10px}.serviceBlock ul{margin:0;padding-left:18px;color:#a8b6c8}.serviceBlock li{margin:7px 0}.gallery{columns:4 260px;column-gap:12px}.gallery figure{break-inside:avoid;margin:0 0 12px;background:#08111c;border:1px solid var(--line);padding:6px}.gallery img{width:100%;height:auto}.videoGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.videoGrid video{width:100%;height:340px;object-fit:cover;border:1px solid var(--line);background:black}.contactBox{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contactCard{padding:34px;border:1px solid var(--line);background:#08121f}.contactCard h3{font-size:26px;margin-top:0}.contactCard p{color:var(--muted)}footer{padding:42px 0;border-top:1px solid var(--line);background:#03070c;color:#8ea0b7}.foot{display:flex;justify-content:space-between;gap:30px}.miniNav{display:flex;gap:14px;flex-wrap:wrap}
@media(max-width:980px){.links{display:none;position:absolute;left:0;right:0;top:76px;background:#060d16;padding:18px 20px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.links.open{display:flex}.menuBtn{display:block}.heroStats{display:none}.grid3,.metrics{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.mosaic{grid-template-columns:1fr 1fr}.videoGrid{grid-template-columns:1fr}.contactBox{grid-template-columns:1fr}.serviceGrid{grid-template-columns:1fr}}
@media(max-width:620px){.wrap{width:min(var(--max),calc(100% - 24px))}.hero{min-height:620px}.heroContent{padding:100px 0 60px}.grid3,.metrics,.mosaic{grid-template-columns:1fr}.mosaic .wide{grid-column:auto}.mosaic .tall{grid-row:auto}.copy h2{font-size:38px}.pageHero h1{font-size:44px}.sectionHead{display:block}.sectionHead p{margin-top:12px}.mediaFrame img,.mediaFrame video{height:340px}.foot{display:block}.miniNav{margin-top:18px}}

.brandLogo{width:185px;height:auto;max-height:60px;object-fit:contain}.nav{gap:16px}.links{gap:10px}.links a{font-size:12px}.projectSection{scroll-margin-top:100px;padding:60px 0;border-bottom:1px solid var(--line)}.projectGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.projectGrid figure{margin:0;background:#08121f;border:1px solid var(--line);overflow:hidden}.projectGrid img,.projectGrid video{width:100%;height:260px;object-fit:contain;background:#eef0f2}.projectGrid video{background:#03070c}.projectGrid figcaption{padding:16px;color:#b8c7db;font-size:14px;overflow-wrap:anywhere}.categoryLinks{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.mediaFrame img{object-fit:contain;background:#eef0f2}.lightbox{max-width:95vw;max-height:94vh;background:#07101a;color:white;border:1px solid #53647c;padding:15px}.lightbox::backdrop{background:rgba(0,0,0,.9)}.lightbox img{max-width:88vw;max-height:78vh;object-fit:contain}.lightbox button{background:#2478ff;color:white;border:0;padding:10px 18px;margin-bottom:12px;cursor:pointer}body.modal-open{overflow:hidden}
@media(max-width:1180px){.links{display:none;position:absolute;left:0;right:0;top:76px;background:#060d16;padding:18px 20px;flex-direction:column;align-items:flex-start;max-height:calc(100vh - 76px);overflow-y:auto}.links.open{display:flex}.menuBtn{display:block}}@media(max-width:800px){.projectGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.projectGrid{grid-template-columns:1fr}.projectGrid img,.projectGrid video{height:250px}}


/* VISIMAQ responsive image proportions fix */
img { max-width:100%; height:auto; }
.projectGrid img { width:100%; height:260px; object-fit:contain; object-position:center; }
.gallery img { width:100%; height:auto; object-fit:contain; }
.mediaFrame img { width:100%; height:auto; max-height:480px; object-fit:contain; }
.mosaic img { width:100%; height:100%; object-fit:contain; }
.heroMedia img { width:100%; height:100%; object-fit:cover; object-position:center; }
.projectGrid figure, .gallery figure { min-width:0; }
@media(max-width:520px){.projectGrid img {height:250px;}}

/* Gallery compact thumbnails - desktop and mobile */
@media (min-width: 1100px) {
  .projectGrid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
}
@media (min-width: 650px) and (max-width:1099px) {
  .projectGrid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
}
@media (max-width:649px) {
  .projectGrid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
}
.projectGrid figure { min-width:0; }
.projectGrid .photo-link { display:flex; align-items:center; justify-content:center; height:180px; overflow:hidden; background:#0a1420; }
.projectGrid .photo-link img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; background:transparent; }
.projectGrid video { width:100%; height:180px; object-fit:contain; background:#03070c; }
.projectGrid figcaption { padding:10px 12px; font-size:12px; line-height:1.4; }
@media (max-width:649px) { .projectGrid .photo-link,.projectGrid video {height:140px;} .projectGrid figcaption{font-size:11px;padding:8px;} }

/* Gallery thumbnails v3: compact, override earlier sizing */
@media(min-width:1100px){.projectSection .projectGrid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}}
@media(min-width:700px) and (max-width:1099px){.projectSection .projectGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}}
@media(min-width:450px) and (max-width:699px){.projectSection .projectGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}}
@media(max-width:449px){.projectSection .projectGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
.projectSection .projectGrid .photo-link{height:115px;min-height:0;overflow:hidden}
.projectSection .projectGrid .photo-link img{width:100%;height:100%;max-height:115px;object-fit:contain}
.projectSection .projectGrid video{height:115px;max-height:115px;object-fit:contain}
.projectSection .projectGrid figcaption{padding:7px;font-size:11px;line-height:1.3}
@media(max-width:699px){.projectSection .projectGrid .photo-link,.projectSection .projectGrid video{height:95px;max-height:95px}.projectSection .projectGrid .photo-link img{max-height:95px}}

/* Compact project thumbnails on every service page; Gallery stays unchanged */
.projectSection .projectGrid video{height:115px;max-height:115px;object-fit:contain;background:#03070c}
@media(max-width:699px){.projectSection .projectGrid video{height:95px;max-height:95px}}
/* Other large inline photos */
.mediaFrame img{height:auto!important;max-height:300px!important;object-fit:contain!important}
.mosaic{grid-auto-rows:160px}
.mosaic img{object-fit:contain!important}
@media(max-width:620px){.mediaFrame img{max-height:220px!important}.mosaic{grid-auto-rows:140px}}

/* SEO landing page additions — preserves original VISIMAQ theme */
.seo-intro{max-width:1100px;margin:28px auto;padding:22px 26px;border-left:4px solid #1674c3;background:rgba(20,100,180,.08);line-height:1.65}.seo-intro h2{margin:0 0 12px}.seo-intro p{margin:0 0 12px}.seo-intro a{color:#3699e8}.seo-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.seo-links a{padding:9px 14px;border:1px solid #1674c3;border-radius:6px;text-decoration:none}.seo-landing{max-width:1080px;margin:35px auto;padding:24px;line-height:1.7}.seo-landing h1{font-size:clamp(30px,4vw,52px);line-height:1.13}.seo-landing .cta{display:inline-block;background:#1674c3;color:white;padding:12px 22px;border-radius:6px;text-decoration:none}.seo-landing img{max-width:100%;height:auto;object-fit:contain}.seo-landing section{margin:32px 0}.seo-landing .tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px}.seo-landing .tiles a{border:1px solid #456;padding:16px;border-radius:8px;text-decoration:none;color:inherit}@media(max-width:700px){.seo-intro,.seo-landing{margin:18px 12px;padding:16px}}
