:root{color-scheme:dark;--bg:#0a1017;--surface:#111b25;--surface2:#1b2b39;--text:#f3f7f8;--muted:#b8c7d1;--accent:#a9e5ef;--rule:#3c4c59;--focus:#f8db7e;font-family:DM Sans,system-ui,sans-serif;font-size:16px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{background:var(--bg);color:var(--text);min-width:280px;margin:0;overflow-x:hidden}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}a:hover{color:var(--accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em;font-family:Manrope,system-ui,sans-serif}h1{font-size:clamp(3.35rem,10vw,9.5rem);line-height:1.02}h2{font-size:clamp(2.4rem,5.4vw,5.6rem);line-height:1.08}h3{font-size:clamp(1.35rem,2.3vw,2rem);line-height:1.2}p{line-height:1.7}.container{width:min(100% - 3rem,1280px);margin-inline:auto}.section{padding-block:clamp(4.5rem,10vw,10rem)}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--accent);font-size:.8rem;font-weight:700}.muted{color:var(--muted)}.text-large{max-width:57ch;font-size:clamp(1.13rem,2vw,1.45rem)}.button{background:var(--accent);border:1px solid var(--accent);color:#10202a;border-radius:100px;justify-content:center;align-items:center;gap:.6rem;min-height:48px;padding:1rem 1.35rem;font-weight:800;text-decoration:none;transition:background .2s,color .2s,transform .2s;display:inline-flex}.button:hover{color:#071720;background:#e3fbff;transform:translateY(-2px)}.button-secondary{border-color:var(--rule);color:var(--text);background:0 0}.button-secondary:hover{color:#071720}.button-row{flex-wrap:wrap;gap:1rem;display:flex}.skip-link{z-index:99999;background:var(--focus);color:#101010;padding:.8rem;position:fixed;top:-100px;left:1rem}.skip-link:focus{top:1rem}.site-header{z-index:50;border-bottom:1px solid var(--rule);backdrop-filter:blur(18px);background:#0a1017ee;position:sticky;top:0}.header-shell{justify-content:space-between;align-items:center;gap:1rem;height:82px;display:flex}.brand{letter-spacing:.06em;align-items:center;gap:.7rem;font-family:Manrope,system-ui,sans-serif;font-size:clamp(.95rem,2vw,1.23rem);font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{border:2px solid var(--accent);letter-spacing:-.03em;width:40px;height:40px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;font-size:.7rem;display:grid}.desktop-nav{align-items:center;gap:1.15rem;height:100%;display:flex}.nav-entry{align-items:center;gap:.15rem;height:100%;display:flex}.nav-main-link{padding:.7rem .3rem;font-weight:700;text-decoration:none}.nav-main-link[aria-current=page]{color:var(--accent)}.nav-toggle{width:44px;height:44px;color:var(--text);background:0 0;border:0;font-size:1rem}.nav-toggle[aria-expanded=true]{color:var(--accent)}.nav-panel{border-bottom:1px solid var(--rule);background:#15222dfb;width:100%;padding:2rem 0 2.4rem;position:absolute;top:100%;left:0;box-shadow:0 28px 40px #0009}.nav-panel[hidden]{display:none}.nav-panel-grid{grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);display:grid}.nav-links{gap:.4rem;display:grid}.nav-preview{border-left:1px solid var(--rule);padding:1rem 0 1rem 2rem}.nav-preview h2{font-size:clamp(1.7rem,3vw,3.5rem)}.nav-preview p{max-width:44ch}.nav-panel-link{border:1px solid #0000;border-radius:6px;padding:.7rem 1rem;text-decoration:none;display:block}.nav-panel-link:hover,.nav-panel-link:focus-visible{background:var(--surface2);border-color:var(--rule)}.nav-panel-link small{color:var(--muted);margin-top:.3rem;display:block}.header-cta{white-space:nowrap}.mobile-open{min-width:48px;min-height:48px;color:var(--text);border:1px solid var(--rule);background:0 0;border-radius:50%;font-size:1.2rem;display:none}.full-dialog{width:100%;max-width:none;height:100dvh;max-height:none;color:var(--text);overscroll-behavior:contain;background:#0b141d;border:0;margin:0;padding:0;overflow-y:auto}.full-dialog::backdrop{background:#000c}.dialog-top{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:1rem;padding:1.3rem 0;display:flex}.dialog-close{border:1px solid var(--rule);min-width:48px;min-height:48px;color:var(--text);background:var(--surface);border-radius:50%;font-size:1.3rem}.mobile-dialog-inner{min-height:100dvh;padding-bottom:calc(3rem + env(safe-area-inset-bottom))}.mobile-primary{gap:.2rem;margin-block:2rem;display:grid}.mobile-primary a{letter-spacing:-.04em;padding:.35rem 0;font-family:Manrope,sans-serif;font-size:clamp(2rem,8vw,3.2rem);font-weight:800;text-decoration:none}.mobile-groups{border-top:1px solid var(--rule);grid-template-columns:1fr 1fr;gap:2rem;padding-block:2rem;display:grid}.mobile-groups h3{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-size:1rem}.mobile-groups a{padding:.6rem 0;text-decoration:none;display:block}.mobile-bottom{border-top:1px solid var(--rule);flex-wrap:wrap;gap:1rem;padding-top:2rem;display:flex}.hero{isolation:isolate;background:radial-gradient(at 82% 25%,#1d627388,#0000 40%),linear-gradient(130deg,#102431,#080e15 68%);align-items:end;min-height:min(780px,85vh);padding:clamp(6rem,12vw,12rem) 0 6rem;display:flex;position:relative;overflow:hidden}.hero:after{content:"";z-index:-1;aspect-ratio:1;border:1px solid #a9e5ef3d;border-radius:50%;width:min(70vw,900px);position:absolute;top:-20%;right:-12%;box-shadow:0 0 0 70px #a9e5ef08,0 0 0 140px #a9e5ef06}.hero h1{max-width:11ch}.hero p{max-width:50ch}.hero .button-row{margin-top:2rem}.section-header{justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:2rem;display:flex}.section-header p{max-width:36ch}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;display:grid}.project-card{background:var(--surface);border:1px solid var(--rule);min-width:0;position:relative;overflow:hidden}.project-media{aspect-ratio:16/11;background:radial-gradient(circle at 80% 0,#36768755,#0000 55%),repeating-linear-gradient(150deg,#1c3340 0 1px,#14232d 1px 20px);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.project-media img{object-fit:cover;width:100%;height:100%;display:block}.project-placeholder{text-align:center;color:#bed6dd;text-transform:uppercase;letter-spacing:.2em;width:min(72%,400px);font-size:clamp(1rem,2.5vw,2rem);font-weight:800;line-height:1.3}.project-content{padding:1.4rem}.project-content a{font-family:Manrope,sans-serif;font-size:clamp(1.25rem,2.4vw,2rem);font-weight:800;line-height:1.2;text-decoration:none;display:block}.project-content .eyebrow{margin-bottom:.5rem}.project-card:hover{border-color:var(--accent)}.pill-nav{flex-wrap:wrap;gap:.5rem;margin:2rem 0;display:flex}.pill-nav a,.pill-nav button{border:1px solid var(--rule);color:var(--text);background:0 0;border-radius:50px;min-height:44px;padding:.65rem 1.2rem;text-decoration:none}.pill-nav [aria-current=page],.pill-nav [aria-pressed=true]{background:var(--accent);color:#101b22;border-color:var(--accent)}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.service-card{background:var(--surface);border-top:3px solid var(--accent);flex-direction:column;justify-content:space-between;min-height:320px;padding:2rem;display:flex}.service-card a{font-weight:700}.split{grid-template-columns:1fr 1fr;align-items:center;gap:3rem;display:grid}.statement{background:var(--surface);border-left:4px solid var(--accent);padding:2.5rem}.cta-band{background:#163843;padding:clamp(3rem,7vw,7rem) 0}.cta-band h2{max-width:14ch}.site-footer{border-top:1px solid var(--rule);color:var(--muted);padding:3rem 0}.footer-grid{flex-wrap:wrap;justify-content:space-between;gap:2rem;display:flex}.footer-links{flex-wrap:wrap;gap:1rem;display:flex}.footer-links a{text-decoration:none}.page-intro{background:linear-gradient(160deg,#0b1620,#152b37);padding:7rem 0 3rem}.page-intro h1{max-width:16ch;font-size:clamp(3rem,7.4vw,7rem)}.page-intro p{max-width:60ch}.prose{max-width:70ch}.prose p{font-size:1.05rem}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.field{flex-direction:column;gap:.45rem;margin-bottom:1.25rem;display:flex}.field label{font-weight:700}.field input,.field textarea,.field select{width:100%;min-height:48px;color:var(--text);background:#0c1720;border:1px solid #738998;border-radius:4px;padding:.8rem 1rem}.field textarea{resize:vertical;min-height:160px}.field-hint{color:var(--muted);font-size:.88rem}.form-status{border-left:4px solid var(--accent);background:var(--surface);margin:1rem 0;padding:1rem}.privacy-note{color:var(--muted);font-size:.9rem}.a11y-launcher{left:calc(1rem + env(safe-area-inset-left));bottom:calc(1rem + env(safe-area-inset-bottom));z-index:40;background:var(--accent);color:#0a1620;border:2px solid #0a1620;border-radius:50%;min-width:48px;min-height:48px;font-size:1.3rem;position:fixed}.a11y-dialog{width:min(400px,100vw);max-width:100vw;max-height:100dvh;color:var(--text);background:#14232f;border:0;margin:0;padding:1.4rem;position:fixed;inset:0 auto 0 0;overflow-y:auto}.a11y-dialog::backdrop{background:#000b}.a11y-row{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.a11y-row button{background:var(--surface2);border:1px solid var(--rule);color:var(--text);min-width:48px;min-height:44px;padding:.7rem}.a11y-row button[aria-pressed=true]{background:var(--accent);color:#07141b}.a11y-text-large{font-size:112.5%}.a11y-high-contrast{--muted:#fff;--accent:#fff;--rule:#d2e1ed;--focus:#ffe27e}.a11y-highlight-links a:not(.button){text-underline-offset:4px;text-decoration:underline 2px!important}.a11y-no-motion *,.a11y-no-motion :before,.a11y-no-motion :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}@media (width<=1000px){.desktop-nav,.header-cta{display:none}.mobile-open{place-items:center;display:inline-grid}.header-shell{height:72px}.split{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}}@media (width<=640px){.container{width:min(100% - 2rem,1280px)}.hero{min-height:680px;padding-block:6rem 4rem}.project-grid,.service-grid,.form-grid,.mobile-groups{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:start}.brand{font-size:.9rem}.brand-mark{width:35px;height:35px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}
