:root{color-scheme:dark;--bg: #17191c;--surface: #1f2225;--surface-2: #24282d;--ink: #e9ecef;--muted: #adb5bd;--faint: #6b727a;--line: #383e44;--line-strong: #4a5158;--accent: #f5564d;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{height:100%}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font:15px/1.6 var(--sans)}.mark{display:inline-block;flex:none}nav{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 28px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-family:var(--mono);color:var(--ink);text-decoration:none}.brand .mark{width:22px;height:22px}.brand .name{font-size:12px;letter-spacing:.18em;text-transform:uppercase}.navlinks{display:flex;flex-wrap:wrap;gap:22px}.navlinks a{font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;color:var(--muted);text-decoration:none;padding-bottom:2px;border-bottom:1px solid transparent}.navlinks a:hover,.navlinks a.active{color:var(--ink);border-bottom-color:var(--accent)}main{flex:1}.wrap{width:100%;max-width:880px;margin:0 auto;padding:0 28px}.hero{min-height:calc(100vh - 122px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px;padding:48px 24px}.hero .mark{width:76px;height:76px}.hero h1{margin:0;font-size:20px;font-weight:600;letter-spacing:.22em;text-transform:uppercase}.rule{width:44px;height:2px;background:var(--line-strong);border:0;margin:2px 0}.tag{margin:0;color:var(--muted);font-size:13.5px;font-style:italic;letter-spacing:.04em}.lede{margin:6px 0 0;color:var(--muted);font-size:14px;max-width:46ch}.page-head{padding:56px 0 24px;border-bottom:1px solid var(--line)}.page-head .kicker{font-family:var(--mono);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.page-head h1{margin:8px 0 0;font-size:26px;font-weight:600;letter-spacing:.01em}.page-head p{margin:12px 0 0;color:var(--muted);max-width:58ch}.section{padding:26px 0;border-top:1px solid var(--line)}.section:first-of-type{border-top:none}.section h2{margin:0 0 8px;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.section h2 .idx{font-family:var(--mono);color:var(--accent);margin-right:12px;font-size:13px}.section p{margin:0;color:var(--muted);max-width:64ch}.contact a,a.email{color:var(--accent);text-decoration:none}.contact a:hover,a.email:hover{text-decoration:underline}.logo-wall{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:20px}.logo-chip{flex:0 0 auto;width:150px;display:flex;align-items:center;justify-content:center;height:66px;padding:12px 16px;background:#f4f4f2;border:1px solid var(--line);border-radius:6px}.logo-chip img{max-height:100%;max-width:100%;width:auto;object-fit:contain}.request-access{text-align:center;margin-bottom:32px}.request-access p{max-width:none;margin:4px 0 0}.projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:18px;margin-top:20px}.project{display:block;padding:20px 22px;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:6px}.project:hover{border-color:var(--accent)}.project .code{font-family:var(--mono);font-size:15px;letter-spacing:.08em;color:var(--accent)}.project .desc{margin:8px 0 0;color:var(--muted);font-size:13.5px}.project .tags{margin:12px 0 0;display:flex;gap:8px;flex-wrap:wrap}.project .pill{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line-strong);border-radius:999px;padding:2px 8px}.project .meta{margin:12px 0 0;font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.04em}.ukdi-banner{display:flex;align-items:center;justify-content:center;gap:34px;flex-wrap:wrap;background:#f4f4f2;border:1px solid var(--line);border-radius:8px;padding:26px 34px;margin-top:24px}.ukdi-crest{height:120px;width:auto}.ukdi-partner{margin:0;max-width:32ch;color:#1f2225;font-size:15px;line-height:1.55}.solus-panel{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:24px 26px}.solus-intro{margin:0}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:22px 26px;margin:22px 0}.metric{display:flex;flex-direction:column}.metric-num{font-family:var(--mono);font-size:30px;line-height:1;font-weight:600;color:var(--accent)}.metric-label{margin-top:7px;color:var(--muted);font-size:12.5px}.solus-panel .cta{margin-bottom:0}.applications{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 34px;margin-top:36px}.app h3{margin:0 0 6px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.app p{margin:0;color:var(--muted);font-size:13.5px}@media (max-width: 900px){.applications{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.applications{grid-template-columns:1fr}}.cta{margin-top:26px}.arrow-link{font-family:var(--mono);font-size:13px;color:var(--accent);text-decoration:none;letter-spacing:.04em}.arrow-link:hover{text-decoration:underline}.wrap-wide{width:100%;max-width:1180px;margin:0 auto;padding:0 clamp(18px,4vw,28px)}.solus-lead{display:grid;grid-template-columns:1fr minmax(300px,420px);gap:36px;align-items:start}.shot{margin:0}.shot img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:8px;background:#0e0f11}.shot-full{margin-top:24px}@media (max-width: 760px){.solus-lead{grid-template-columns:1fr}}.img-duo{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}@media (max-width: 640px){.img-duo{grid-template-columns:1fr}}.contact-box{margin-top:18px;padding:22px 26px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.contact-box p{margin:0}.contact-box .contact-note{margin-top:12px}.pgp-row{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}.pgp-fpr{font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;color:var(--ink)}.notfound{min-height:calc(100vh - 122px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:24px}.notfound .code{font-family:var(--mono);font-size:56px;line-height:1;color:var(--accent);font-weight:600}.notfound h1{margin:0;font-size:16px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.notfound p{margin:0;color:var(--muted);font-size:13.5px}.home-link{margin-top:6px;font-family:var(--mono);font-size:12.5px;color:var(--accent);text-decoration:none;border:1px solid var(--line);padding:7px 12px}.home-link:hover{border-color:var(--accent)}footer{padding:20px 28px;color:var(--faint);font-size:11.5px;letter-spacing:.04em;text-align:center;border-top:1px solid var(--line)}@media (max-width: 560px){nav{padding:14px 18px}.wrap{padding:0 18px}.page-head{padding-top:40px}}.lp-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 28px;background:#17191cb8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.lp-solus{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:7px 14px;border:1px solid var(--line-strong);border-radius:4px}.lp-solus:hover{color:var(--ink);border-color:var(--accent)}.lp-hero{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:80px 24px}.lp-hero-inner{display:flex;flex-direction:column;align-items:center;gap:16px}.lp-hero .mark{width:88px;height:88px}.lp-hero h1{margin:4px 0 0;font-size:22px;font-weight:600;letter-spacing:.28em;text-transform:uppercase}.lp-cue{margin-top:28px;display:inline-flex;flex-direction:column;align-items:center;gap:9px;text-decoration:none;color:var(--faint);font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase}.lp-cue:hover{color:var(--muted)}.lp-cue-chevron{width:10px;height:10px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}.lp-section{padding:clamp(64px,10vh,122px) 0}.lp-section-tight{padding:clamp(40px,6vh,72px) 0}.lp-kicker{margin:0;font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.lp-h2{margin:12px 0 0;font-size:clamp(22px,3.2vw,32px);font-weight:600;letter-spacing:.01em;line-height:1.25;max-width:22ch}.lp-intro{margin:14px 0 0;color:var(--muted);max-width:60ch}.lp-lead{display:grid;grid-template-columns:1fr minmax(300px,400px);gap:40px;align-items:stretch;margin-top:28px}.lp-lead>div{display:flex;flex-direction:column}.lp-lead>div>p{margin:0;color:var(--muted);max-width:60ch}.lp-lead .lp-actions{margin-top:auto}.lp-lead .shot{margin:0}.lp-lead .shot img{display:block;width:100%;height:auto}@media (max-width: 820px){.lp-lead{grid-template-columns:1fr;align-items:start}.lp-lead>div{display:block}.lp-lead .lp-actions{margin-top:28px}}.lp-metrics{display:grid;grid-template-columns:repeat(4,auto);gap:22px 34px;margin-top:26px;justify-content:start}.lp-metric{display:flex;flex-direction:column}.lp-metric-num{font-family:var(--mono);font-size:26px;line-height:1;font-weight:600;color:var(--accent)}.lp-metric-label{margin-top:7px;color:var(--muted);font-size:12px}@media (max-width: 560px){.lp-metrics{grid-template-columns:1fr 1fr}}.lp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:28px}.lp-actions-stack{flex-direction:column;align-items:flex-start;gap:10px}.lp-btn{font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;color:var(--bg);background:var(--accent);text-decoration:none;padding:10px 18px;border-radius:4px;border:1px solid var(--accent)}.lp-btn:hover{filter:brightness(1.08)}.lp-more{font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;color:var(--accent);text-decoration:none}.lp-more:hover{text-decoration:underline}.lp-arrow{display:inline-block;transition:transform .18s ease}.lp-btn:hover .lp-arrow,.lp-more:hover .lp-arrow{transform:translate(3px)}.lp-inv{display:grid;grid-template-columns:minmax(280px,430px) 1fr;gap:40px;align-items:start;margin-top:28px}.lp-cases{display:grid;gap:16px}.lp-inv-copy .lp-intro{margin-top:0}.lp-svc{list-style:none;margin:22px 0 0;padding:0}.lp-svc li{padding:14px 0;border-top:1px solid var(--line)}.lp-svc li:first-child{border-top:none;padding-top:0}.lp-svc h3{margin:0;font-size:14.5px;letter-spacing:.04em;color:var(--ink)}.lp-svc p{margin:5px 0 0;color:var(--muted);font-size:13px}@media (max-width: 820px){.lp-inv{grid-template-columns:1fr}}.lp-band{height:56vh;min-height:320px;position:relative;overflow:hidden;border-block:1px solid var(--line)}.lp-band img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}.lp-band:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#17191c99,#17191c73 50%,#17191cb8)}@media (max-width: 760px){.lp-band{height:40vh;min-height:220px}}@media (hover: hover){.lp-band{background-size:cover;background-position:center;background-attachment:fixed}.lp-band>img{display:none}.lp-band-cam{background-image:url(inv-cam.jpg)}.lp-band-embassy{background-image:url(inv-embassy.jpg)}.lp-band-aerial{background-image:url(inv-aerial.jpg)}}@media (prefers-reduced-motion: no-preference){@supports (animation-timeline: view()){.lp-reveal{opacity:0;transform:translateY(26px);animation:lp-rise linear both;animation-timeline:view();animation-range:entry 10% cover 30%}@keyframes lp-rise{to{opacity:1;transform:none}}.lp-hero-inner{animation:lp-hero-out linear both;animation-timeline:view();animation-range:exit 0% exit 100%}@keyframes lp-hero-out{to{opacity:0;transform:translateY(-24px)}}.lp-cue{animation:lp-cue-fade linear both;animation-timeline:scroll(root);animation-range:0 35vh}@keyframes lp-cue-fade{to{opacity:0}}@media (hover: none){.lp-band{overflow:clip}.lp-band>img{top:-30%;height:160%;animation:lp-band-drift linear;animation-timeline:view();animation-range:entry 0% exit 100%}@keyframes lp-band-drift{0%{transform:translateY(-16%)}to{transform:translateY(16%)}}}}}@media (max-width: 560px){.lp-nav{padding:12px 18px}.lp-hero h1{letter-spacing:.2em}}
