*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#142237;margin:0;font-family:system-ui,sans-serif}img{max-width:100%;display:block}a{color:inherit}:focus-visible{outline-offset:4px;outline:3px solid #38aad3}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.site-shell{--base:#080e1a;--surface:#111c2c;--line:#29384d;--text:#f1f7ff;--muted:#adbed3;--signal:#75e8ff;--gutter:max(5vw, calc((100% - 1280px) / 2));color:var(--text);background:var(--base)}.site-shell h2{letter-spacing:-.055em;margin:0 0 1.75rem;font-size:clamp(2rem,5vw,4rem);line-height:1.05}.eyebrow{color:var(--signal);letter-spacing:.13em;text-transform:uppercase;margin:0 0 1rem;font:650 .75rem/1.5 ui-monospace,monospace}.hero{isolation:isolate;flex-direction:column;min-height:clamp(560px,77vh,960px);display:flex;position:relative;overflow:hidden}.hero-slides,.hero-slide,.hero:before{position:absolute;inset:0}.hero-slides{z-index:-2;background:#142237}.hero:before{content:"";z-index:-1;background:linear-gradient(90deg,#080e1af7,#080e1ab8 43%,#080e1a29),linear-gradient(#0000 55%,#080e1a)}.hero-slide{opacity:0;animation:21s linear infinite hero-transition;display:flex}.hero-slide:first-child{animation-delay:-1.05s}.hero-slide:nth-child(2){animation-delay:5.95s}.hero-slide:nth-child(3){animation-delay:12.95s}.hero-slide img{object-fit:cover;width:100%;height:100%}.hero-collage img{width:50%}@keyframes hero-transition{0%{opacity:0;transform:scale(1)}5%,33.333%{opacity:1}38.333%,to{opacity:0;transform:scale(1.09)}}@media (prefers-reduced-motion:reduce){.hero-slide{animation:none}.hero-slide:first-child{opacity:1}}.masthead{margin-inline:var(--gutter);border-bottom:1px solid #ffffff40;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.9rem 2rem;padding-block:1.25rem;display:flex}.masthead a{text-decoration:none}.wordmark{letter-spacing:.1em;font:750 1.2rem ui-monospace,monospace}.wordmark span{color:var(--signal)}.hero nav{flex-wrap:wrap;gap:.65rem 1.5rem;font-size:.9rem;display:flex}.hero nav a:hover{color:var(--signal)}.brand{margin:auto var(--gutter);padding-block:4rem}.brand h1{letter-spacing:-.075em;max-width:13ch;margin:0;font-size:clamp(2.65rem,8vw,7.8rem);line-height:.94}.brand h1 span{color:var(--signal)}.hero-summary{color:#d0dcec;max-width:43ch;margin:1.5rem 0;line-height:1.65}.action{background:var(--signal);color:#081522;gap:1rem;padding:.8rem 1rem;font-weight:750;text-decoration:none;display:inline-flex}.action:hover{background:#bbf5ff}.services,.about,.projects,.clients,.contact{padding:clamp(3rem, 7vw, 7rem) var(--gutter);border-top:1px solid var(--line)}.service-grid,.grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.service-grid article,.projects article{background:var(--surface);padding:clamp(1.2rem,3vw,2.4rem)}.service-grid span{color:var(--signal);font:650 .85rem ui-monospace,monospace}.service-grid h3,.projects h3{margin:1rem 0 .4rem;font-size:clamp(1.1rem,2vw,1.5rem)}.service-grid p,.projects article p{color:var(--muted);margin:0}.about,.contact{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(1.75rem,6vw,6rem);display:grid}.about{background:var(--surface)}.about img{aspect-ratio:4/3;object-fit:cover;border:1px solid #53667e;width:100%}.copy p:not(.eyebrow){color:var(--muted);line-height:1.75}.projects{background-image:linear-gradient(#75e8ff09 1px,#0000 1px),linear-gradient(90deg,#75e8ff09 1px,#0000 1px);background-size:32px 32px}.projects img{aspect-ratio:1;object-fit:contain;width:min(100%,250px)}.clients{color:#111c2c;background:#eef4fa}.clients .eyebrow{color:#215470}.clients .grid{background:#c4d2e0;border-color:#c4d2e0;grid-template-columns:repeat(4,minmax(0,1fr))}.clients img{object-fit:contain;background:#fff;width:100%;height:165px;padding:1rem}.contact{background:var(--surface)}.contact a:not(.action){overflow-wrap:anywhere;width:fit-content;color:var(--text);text-underline-offset:.2em;display:block}.contact .phone{margin-bottom:.75rem;font-size:clamp(1.35rem,3vw,2.2rem)}.contact address{color:var(--muted);margin:1.75rem 0 .75rem;font-style:normal}.contact iframe{border:1px solid var(--line);width:100%;height:100%;min-height:320px}.copyright{padding:1.5rem var(--gutter);border-top:1px solid var(--line);color:var(--muted);margin:0;font-size:.85rem}@media (width<=720px){.masthead{flex-direction:column;align-items:flex-start}.hero nav{gap:.65rem 1rem}.service-grid,.about,.projects .grid,.contact{grid-template-columns:1fr}.clients .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clients img{height:120px}}.projects .grid{background:0 0;border:0;gap:1.25rem}.projects .project-card{border:1px solid var(--line);background:linear-gradient(155deg, #18263a, var(--surface) 65%);border-radius:.9rem;grid-template-rows:auto 1fr auto;gap:1.25rem;padding:1.25rem;display:grid}.project-art{background:#e8eef5;border-radius:.55rem;place-items:center;min-height:12rem;padding:1rem;display:grid}.project-art img{border-radius:.4rem;width:min(100%,9.5rem)}.projects .project-details h3{margin:0 0 .35rem}.project-link{width:100%;color:var(--signal);font:inherit;background:#12263a;border:1px solid #456780;border-radius:.4rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;font-weight:650;text-decoration:none;display:flex}a.project-link:hover{background:var(--signal);color:var(--base)}.project-link:disabled{color:var(--muted)}.project-actions{gap:.65rem;display:grid}.project-link.windows-download{background:0 0}.project-link[aria-disabled=true]{color:var(--muted);cursor:default}a.project-link[aria-disabled=true]:hover{color:var(--muted);background:0 0}.copyright{flex-wrap:wrap;justify-content:space-between;gap:.75rem 2rem;display:flex}.copyright a{color:var(--signal);text-underline-offset:.2em}.policy-page{color:#595959;background:#fff;min-height:100vh;font:15px/1.85 Arial,sans-serif}.policy-topbar{color:#fff;background:linear-gradient(90deg,#030b11,#307bb9 26%);justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem clamp(1rem,5vw,8rem);display:flex}.policy-topbar a{overflow-wrap:anywhere;font-weight:700;text-decoration:none}.policy-social{color:#2876b5;text-align:center;background:#fff;border-radius:50%;flex:0 0 28px;height:28px;font:700 25px/33px Arial,sans-serif}.policy-masthead{justify-content:space-between;align-items:center;gap:1rem;max-width:1180px;margin:auto;padding:0 2rem 2rem;display:flex}.policy-brand{color:#257ba5;text-align:center;justify-items:center;font-size:1.2rem;font-weight:700;text-decoration:none;display:grid}.policy-home{color:#fff;text-transform:uppercase;background:#2d79ba;padding:1rem 1.5rem;text-decoration:none}.policy-home:hover{background:#215b8d}.privacy-policy{overflow-wrap:anywhere;max-width:1180px;margin:auto;padding:.5rem 2rem 2rem}.privacy-policy h1,.privacy-policy h2{text-align:center;text-transform:uppercase;line-height:1.25}.privacy-policy h1,.privacy-policy h1+h2{color:#111;margin:0 0 1.5rem;font-size:clamp(1.5rem,3vw,1.9rem)}.privacy-policy h2{color:#363636;margin:3rem 0 1.5rem;font-size:1.5rem}.privacy-policy p{margin:0 0 1.65rem}.policy-footer{color:#454d58;text-align:center;background:#ededed;padding:1.25rem 1rem}.policy-footer p{margin:0}.policy-footer a{color:#1769a6;text-decoration:none}.policy-footer a:hover{text-decoration:underline}@media (width<=540px){.policy-masthead,.privacy-policy{padding-inline:1rem}.policy-brand{font-size:.9rem}.policy-brand img{width:110px;height:110px}.policy-home{padding:.6rem 1rem}}@media (width>=721px){.projects .project-card{grid-row:span 3;grid-template-rows:subgrid}.project-actions{align-self:start}}
