@font-face{font-family:Inter;src:url('fonts/inter-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url('fonts/inter-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url('fonts/inter-latin-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url('fonts/inter-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
.actions svg{width:18px;height:18px;fill:none;stroke:var(--paper);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
:root{--navy:#071426;--surface:#0a1b31;--paper:#f7f9fc;--muted:#9aa9bb;--line:rgba(247,249,252,.14);--blue:#146cff;--aqua:#20d7c5;--serif:Inter,sans-serif;--sans:Inter,sans-serif;--ease:cubic-bezier(.22,.61,.36,1)}
*{box-sizing:border-box}html{background:var(--navy);scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 60% -5%,rgba(47,120,255,.17),transparent 31rem),var(--navy);color:var(--paper);font-family:var(--sans)}a{color:inherit}.card{width:min(100%,560px);min-height:100svh;margin:auto;overflow:hidden;border-inline:1px solid rgba(247,249,252,.06)}.hero,.work,.capabilities,.contact{padding:28px 22px 80px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.wordmark{display:flex;align-items:baseline;gap:8px;text-transform:uppercase;text-decoration:none;font-family:var(--serif);font-weight:700}.wordmark b{color:var(--blue);font-size:23px}.wordmark span{font-size:18px}.lang{min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:99px;background:transparent;color:var(--paper);font:600 10px var(--sans);letter-spacing:.1em}.availability{margin:58px 0 0;color:var(--aqua);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.15em}.availability i{display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:var(--aqua);box-shadow:0 0 14px var(--aqua)}h1,h2{margin:22px 0 0;font:700 clamp(40px,12vw,64px)/.98 var(--serif);letter-spacing:-.055em}h1 em,h2 em{color:var(--blue);font-style:normal}.intro{max-width:35ch;margin:25px 0 0;color:var(--muted);font-size:15px;line-height:1.7}.primary{min-height:62px;margin-top:34px;padding:0 19px;display:flex;align-items:center;justify-content:space-between;background:var(--paper);color:var(--navy);text-decoration:none;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.13em}.primary b{font-size:20px}.actions{display:grid;grid-template-columns:repeat(4,1fr);margin-top:10px;border:1px solid var(--line)}.actions a,.actions button{min-width:0;min-height:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);text-decoration:none}.actions>:last-child{border-right:0}.actions span{color:var(--paper);font-size:17px}.actions small{font-size:8px;text-transform:uppercase;letter-spacing:.1em}.work,.contact{background:rgba(9,21,39,.5);border-top:1px solid var(--line)}.section-head{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.18em}.section-head p{margin:0}.section-head span{color:var(--aqua)}.work h2,.capabilities h2,.contact h2{font-size:clamp(34px,10vw,52px)}.gallery{display:grid;grid-auto-flow:column;grid-auto-columns:82%;gap:11px;margin:35px -22px 0;padding:0 22px 10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.gallery::-webkit-scrollbar{display:none}.gallery a{scroll-snap-align:start;position:relative;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line);text-decoration:none}.gallery img{width:100%;height:100%;object-fit:cover;filter:saturate(.75);transition:.5s}.gallery a:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(5,13,26,.94))}.gallery span{position:absolute;z-index:1;left:18px;right:18px;bottom:18px;font:600 21px var(--serif)}.gallery small{display:block;margin-bottom:7px;color:var(--aqua);font:600 8px var(--sans);text-transform:uppercase;letter-spacing:.15em}.cap-list{margin-top:34px;border-top:1px solid var(--line)}.cap-list a{min-height:106px;padding:18px 0;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:12px;border-bottom:1px solid var(--line);text-decoration:none}.cap-list b{color:var(--aqua);font-size:9px}.cap-list strong{display:block;font:600 18px var(--serif)}.cap-list small{display:block;margin-top:6px;color:var(--muted);font-size:11px;line-height:1.45}.cap-list i{color:var(--blue);font-style:normal}.contact dl{margin:35px 0 0;border-top:1px solid var(--line)}.contact dl div{padding:17px 0;display:grid;grid-template-columns:75px 1fr;gap:15px;border-bottom:1px solid var(--line)}.contact dt{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.15em}.contact dd{margin:0;font-size:12px;overflow-wrap:anywhere}.contact dd a{text-decoration:none}footer{padding:30px 22px max(36px,env(safe-area-inset-bottom));border-top:1px solid var(--line)}footer{display:flex;align-items:center;justify-content:space-between;gap:18px}footer .wordmark b{font-size:17px}footer .wordmark span{font-size:13px}footer small{max-width:25ch;text-align:right;color:var(--muted);font-size:7px;text-transform:uppercase;letter-spacing:.1em}.toast{position:fixed;z-index:5;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translate(-50%,20px);padding:10px 15px;border:1px solid var(--line);border-radius:99px;background:var(--paper);color:var(--navy);font-size:11px;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}:focus-visible{outline:2px solid var(--aqua);outline-offset:3px}@media(min-width:600px){body{padding:28px 0}.card{border:1px solid var(--line);border-radius:24px}.hero,.work,.capabilities,.contact{padding-inline:32px}.gallery{margin-inline:-32px;padding-inline:32px}}

/* Brand alignment: mirrors the main site's Inter typography, tokens and button system. */
body{background:radial-gradient(56% 38% at 22% 0%,rgba(20,108,255,.16),transparent 70%),radial-gradient(42% 30% at 92% 18%,rgba(32,215,197,.07),transparent 70%),var(--navy)}
.lang{min-width:92px;border-radius:6px;background:var(--paper);color:var(--navy);border-color:var(--paper);transition:background-color 180ms var(--ease),border-color 180ms var(--ease)}
.lang:hover{border-color:var(--aqua);background:rgba(32,215,197,.08)}
.availability i{box-shadow:none}
.primary{min-height:56px;padding-inline:22px;border:1.5px solid var(--blue);border-radius:6px;background:var(--blue);color:#fff;font-weight:600;transition:background-color 180ms var(--ease),border-color 180ms var(--ease),color 180ms var(--ease)}
.primary:hover{background:transparent;border-color:var(--paper);color:var(--paper)}
.actions{gap:8px;border:0}
.actions a,.actions button{border:1.5px solid rgba(247,249,252,.28);border-radius:6px;transition:background-color 180ms var(--ease),border-color 180ms var(--ease),color 180ms var(--ease)}
.actions a:hover,.actions button:hover{border-color:var(--aqua);background:rgba(32,215,197,.08);color:var(--paper)}
.actions>:last-child{border-right:1.5px solid rgba(247,249,252,.28)}
.hero h1 em,.work h2 em,.capabilities h2 em,.contact h2 em{color:var(--aqua)}
.cap-list i{color:var(--aqua)}
.cap-list a{grid-template-columns:1fr auto}
.gallery button{scroll-snap-align:start;position:relative;aspect-ratio:4/5;overflow:hidden;padding:0;border:1px solid var(--line);background:var(--surface);color:var(--paper);text-align:left;cursor:zoom-in}
.gallery button:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(5,13,26,.94))}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;gap:10px;margin:34px 0 0;padding:0;overflow:visible;scroll-snap-type:none}
.gallery button{width:100%;aspect-ratio:4/5;scroll-snap-align:none}
.gallery button:first-child{grid-column:1/-1;aspect-ratio:16/10}
.gallery button:first-child span{font-size:22px}
.gallery button:not(:first-child) span{left:13px;right:13px;bottom:13px;font-size:15px;line-height:1.1}
.gallery button:not(:first-child) small{font-size:7px;line-height:1.35}
.gallery button:hover img{transform:scale(1.025);filter:saturate(1)}
.nfc-feature{position:relative;padding:72px 22px 76px;overflow:hidden;border-top:1px solid var(--line);background:linear-gradient(145deg,rgba(20,108,255,.13),transparent 55%),var(--navy)}
.nfc-label{margin:0;color:var(--aqua);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.17em}.nfc-feature h2{max-width:9ch;margin-top:25px;font-size:clamp(38px,11vw,55px)}.nfc-feature h2 em{color:var(--aqua);font-style:normal}.nfc-feature>p:not(.nfc-label){max-width:37ch;margin:22px 0 0;color:var(--muted);font-size:13px;line-height:1.65}.nfc-feature>a{min-height:54px;margin-top:28px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--aqua);color:var(--paper);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.11em;text-decoration:none}.nfc-feature>a span{color:var(--aqua);font-size:18px}.nfc-mark{position:absolute;top:58px;right:22px;width:46px;height:46px;display:flex;align-items:center;justify-content:flex-end;gap:3px;opacity:.7}.nfc-mark i{display:block;border:1.5px solid var(--aqua);border-left:0;border-top-color:transparent;border-bottom-color:transparent;border-radius:0 50% 50% 0}.nfc-mark i:nth-child(1){width:6px;height:13px}.nfc-mark i:nth-child(2){width:9px;height:23px}.nfc-mark i:nth-child(3){width:12px;height:34px}
@media(min-width:600px){.nfc-feature{padding-inline:32px}.nfc-mark{right:32px}}
.service-area{padding:70px 22px 74px;border-top:1px solid var(--line);background:rgba(9,21,39,.5)}.service-area-label{margin:0;color:var(--aqua);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.17em}.service-area h2{margin-top:24px;font-size:clamp(35px,10vw,50px)}.service-area h2 em{color:var(--aqua);font-style:normal}.service-area-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:27px}.service-area-list span{padding:9px 13px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:10px}.service-area>a{min-height:52px;margin-top:24px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);color:var(--paper);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.11em;text-decoration:none}.service-area>a span{color:var(--aqua);font-size:18px}@media(min-width:600px){.service-area{padding-inline:32px}}
.project-viewer{width:100vw;max-width:none;height:100svh;max-height:none;margin:0;padding:0;border:0;background:#050d1a;color:var(--paper);overflow:hidden}
.project-viewer::backdrop{background:rgba(0,0,0,.9)}
.viewer-close{position:absolute;z-index:3;top:16px;right:16px;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:rgba(5,13,26,.75);color:white;font-size:25px}
.viewer-media{height:58svh;display:grid;place-items:center;padding:64px 18px 12px}
.viewer-media img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.viewer-copy{padding:22px 22px max(26px,env(safe-area-inset-bottom));border-top:1px solid var(--line)}
.viewer-copy h2{margin:8px 0 10px;font-size:30px;letter-spacing:-.03em}.viewer-meta{margin:0;color:var(--aqua);font-size:9px;text-transform:uppercase;letter-spacing:.15em}.viewer-outcome{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.viewer-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.viewer-actions a{min-height:50px;padding:12px;display:grid;place-items:center;border:1px solid var(--line);color:var(--paper);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;text-align:center;text-decoration:none}.viewer-actions a:last-child{background:var(--blue);border-color:var(--blue)}
