@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@500&display=swap');

:root {
  /* Overlay layers */
  --z-overlay: 400;

  --z-spotlight: 1000; /* Tutorial spotlights/guided help */

  /* System layers */
  --z-critical: 2000; /* Critical system notifications */

  /* spacing */
  --spacing-1: 0.25rem;
  --spacing-2: 0.5rem;
  --spacing-3: 0.75rem;
  --spacing-4: 1rem;
  --spacing-6: 1.5rem;
  --spacing-8: 2rem;
  --spacing-12: 3rem;
  --spacing-16: 4rem;
  --spacing-20: 5rem;
}

:root {
  --background: #071019;
  --foreground: #f3f7fa;
  --surface: #0c1823;
  --surface-foreground: #f3f7fa;
  --sidebar: #09141e;
  --sidebar-foreground: #f3f7fa;
  --card: #101e2a;
  --card-foreground: #f3f7fa;
  --popup: #101e2a;
  --popup-foreground: #f3f7fa;
  --primary: #1687e8;
  --primary-foreground: #ffffff;
  --secondary: #182a39;
  --secondary-foreground: #e9f1f7;
  --accent: #1687e8;
  --accent-foreground: #ffffff;
  --muted: #172531;
  --muted-foreground: #9fb0bf;
  --success: #4fa87b;
  --success-foreground: #06130c;
  --error: #e36a6a;
  --error-foreground: #1d0606;
  --warning: #e0aa4e;
  --warning-foreground: #1b1002;
  --info: #1687e8;
  --info-foreground: #ffffff;
  --info-hover: #2b96ee;
  --info-active: #0c73ca;
  --border: #29404f;
  --font-family-base: 'IBM Plex Sans', sans-serif;
  --font-family-display: 'Barlow Condensed', sans-serif;
  --font-family-monospace: 'IBM Plex Mono', monospace;
  --font-family-cursive: cursive;
  --shadow: 0 10px 30px rgba(0,0,0,.22);
  --shadow-md: 0 18px 45px rgba(0,0,0,.3);
  --shadow-lg: 0 28px 70px rgba(0,0,0,.4);
  --shadow-focus: 0 0 0 3px rgba(22,135,232,.28);
  --radius-sm: 4px;
  --radius: 7px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-full: 999px;
  --animation-duration-fast: 120ms;
  --animation-duration-normal: 220ms;
  --animation-duration-slow: 480ms;
  --chart-color-1: #1687e8;
  --chart-color-2: #69a8d8;
  --chart-color-3: #9fb0bf;
  --chart-color-4: #4fa87b;
  --chart-color-5: #e0aa4e;
}
.dark {
  --background: #071019;
  --foreground: #f3f7fa;
  --surface: #0c1823;
  --surface-foreground: #f3f7fa;
  --card: #101e2a;
  --card-foreground: #f3f7fa;
  --muted: #172531;
  --muted-foreground: #9fb0bf;
  --border: #29404f;
}
html{scroll-behavior:smooth}body{margin:0}svg{vertical-align:middle}
.page{background:#060b12;color:#f1f3f6;font-family:'IBM Plex Sans',sans-serif;line-height:1.65;overflow:clip}
.page *{box-sizing:border-box}.page a{color:inherit;text-decoration:none}.page a:focus-visible{outline:3px solid #58acff;outline-offset:6px}.page img{display:block;max-width:100%}.page figure{margin:0}.page h1,.page h2,.page h3,.page h4,.page p{margin:0}.page h1,.page h2,.page h3{font-family:'Barlow Condensed',sans-serif;line-height:1.05;font-weight:600}.page section[id]{scroll-margin-top:25px}
.topline{padding:10px 5%;background:#02050a;border-bottom:1px solid #26303c;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.8px;color:#b9c6d3}.topline span:last-child{display:flex;align-items:center;gap:12px}.topline i{width:3px;height:3px;background:#3c9fff;border-radius:50%}
.header{min-height:132px;display:flex;align-items:center;justify-content:space-between;padding:16px 5%;gap:30px;background:#070d16}.brand{display:block;width:110px;flex-shrink:0}.brand img{width:110px;height:110px;object-fit:contain}.header nav{display:flex;gap:36px;margin-left:auto;margin-right:35px;font-size:14px}.header nav a:hover{color:#55adff}.headerCall{display:flex;align-items:center;gap:10px;border:1px solid #405063;padding:13px 20px;font-size:14px}
.hero{min-height:650px;position:relative;display:flex;align-items:center;padding:85px 7% 110px;isolation:isolate}.heroImage{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center 54%;z-index:-3}.heroShade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,8,17,.94),rgba(2,8,17,.63) 46%,rgba(2,8,17,.1)),linear-gradient(0deg,rgba(2,8,17,.75),transparent 40%);z-index:-2}.heroContent{max-width:820px}.kicker{display:block;color:#5babfa;font-size:11px;letter-spacing:2.3px;font-weight:600;margin-bottom:24px}.hero h1{font-size:clamp(58px,6.4vw,100px);letter-spacing:-1.5px;line-height:.99;text-shadow:0 3px 35px #0007}.hero h1 em{font-style:normal;color:#e0e7ed}.heroContent>p{font-size:19px;max-width:490px;color:#d5dde7;margin-top:28px}.actions{display:flex;gap:30px;align-items:center;margin-top:38px}.primary{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:#0878e7;padding:17px 24px;color:white!important;font-size:14px;font-weight:600;transition:background .2s}.primary:hover{background:#198efa}.lightLink,.textLink{display:inline-flex;gap:13px;align-items:center;font-size:14px;border-bottom:1px solid #637386;padding:8px 0}.heroCaption{position:absolute;bottom:25px;left:7%;right:7%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.4px;color:#d6e2ee}.trust{display:flex;justify-content:space-between;gap:20px;padding:25px 7%;border-bottom:1px solid #27313f;background:#0b1421;font-size:12px;color:#ced8e3}.trust span{display:flex;align-items:center;gap:10px}.trust svg{width:18px;color:#59a9fa}
.intro,.services,.fieldwork,.approach{padding:100px 7%}.intro{display:grid;grid-template-columns:1fr 3fr;gap:50px}.intro h2{font-size:clamp(38px,4vw,58px);letter-spacing:-.5px}.intro h2 span{color:#8999aa}.intro p{max-width:750px;margin-top:28px;color:#b7c3d0;font-size:17px}.sectionTitle{display:flex;justify-content:space-between;gap:55px;align-items:end;margin-bottom:48px}.sectionTitle h2{font-size:clamp(45px,4.7vw,68px)}.sectionTitle>p,.sectionTitle>div:last-child:not(:first-child){max-width:350px;color:#aab8c9;font-size:16px}.services{background:#0c1522;border-block:1px solid #243044}.serviceGrid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid #314053;border-top:1px solid #314053}.serviceGrid article{padding:32px;border-right:1px solid #314053;border-bottom:1px solid #314053;transition:background .2s}.serviceGrid article:hover{background:#13243a}.serviceTop{display:flex;justify-content:space-between;color:#68aff4;font-family:'IBM Plex Mono',monospace;font-size:12px;margin-bottom:35px}.serviceGrid h3{font-size:32px;letter-spacing:-.3px}.serviceGrid h4{font-size:13px;font-weight:500;margin-top:19px;color:#eef4fa}.serviceGrid p{font-size:14px;color:#a8b9cc;margin-top:8px;line-height:1.75}.muted{color:#97a8bc!important;font-size:13px!important;margin-top:10px!important}
.fieldwork{padding-bottom:75px}.widePhoto{background:#101822}.widePhoto img{width:100%;height:560px;object-fit:cover;object-position:center 55%}.widePhoto a{display:block}.widePhoto figcaption{display:flex;justify-content:space-between;gap:20px;padding:20px 24px;border-bottom:1px solid #2a3747;font-size:11px;color:#a9bed5;letter-spacing:1px}.projectNotes{display:grid;grid-template-columns:1fr 1.5fr .8fr;gap:50px;align-items:start;padding-top:36px}.projectNotes h3{font-size:36px}.projectNotes p{font-size:15px;color:#acbacb}.projectNotes a{justify-self:end;white-space:nowrap}
.mapping{display:grid;grid-template-columns:1fr 1.2fr;gap:65px;padding:50px 7% 105px;align-items:center}.mapping h2{font-size:48px}.mapping h2 span{color:#92a8c0}.mappingCopy>p{color:#b4c3d2;font-size:15px;margin-top:24px}.mapping ul{padding-left:18px;color:#d8e6f4;font-size:14px;margin:25px 0}.mapping li{padding:6px 0}.mapping li::marker{color:#2995ff}.mapping figure{border:1px solid #324053;background:#111b28}.mapping figure img{width:100%;height:auto}.mapping figcaption{font-size:10px;letter-spacing:.8px;color:#aec0d4;line-height:1.8;padding:20px}.fine{font-size:12px!important;line-height:1.8!important;color:#9dacc0!important}
.workGallery{padding:90px 7% 105px;background:#09111c;border-top:1px solid #243044}.galleryGrid{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:1fr 1fr;gap:14px}.galleryGrid figure{position:relative;min-height:270px;overflow:hidden;background:#111b28;border:1px solid #2c3a4b}.galleryGrid .galleryLead{grid-row:1/3;min-height:555px}.galleryGrid img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .35s ease}.galleryGrid figure:hover img{transform:scale(1.015)}.galleryGrid figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px 18px;background:linear-gradient(0deg,#030811e8,#03081110);font-size:10px;letter-spacing:1.1px;color:#d9e6f2}
.thermal{padding:90px 7%;background:linear-gradient(120deg,#102b4a,#071422 70%);border-block:1px solid #2a4768;display:grid;grid-template-columns:.7fr 1.3fr;gap:55px 70px;align-items:start}.thermalHeading>svg{color:#50a8ff;margin-bottom:20px}.thermal .kicker{margin-bottom:20px}.thermal h2{font-size:62px}.thermal h2 span{color:#9eb8d2}.thermalHeading>p{margin-top:20px;color:#b2c8de;font-size:16px;max-width:460px}.thermalPair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.thermalPair figure{border:1px solid #36516d;background:#09131f}.thermalPair img{width:100%;aspect-ratio:1.35/1;object-fit:cover}.thermalPair figcaption{padding:12px 14px;font-size:9px;letter-spacing:1px;color:#bcd0e4}.thermalCopy{grid-column:2}.thermalUses{margin:0 0 22px;display:grid;grid-template-columns:repeat(3,1fr);gap:0}.thermalUses span{padding:10px 12px 10px 0;border-bottom:1px solid #304760;font-size:12px;color:#e5edf6}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;margin-top:65px}.steps article{border-top:1px solid #3a5068;padding-top:22px}.steps article>span{font-family:'IBM Plex Mono',monospace;color:#5ba7f5;font-size:12px}.steps h3{font-size:35px;margin:25px 0 16px}.steps p{color:#acbbcc;font-size:14px}.owner{margin-top:80px;border:1px solid #304159;display:grid;grid-template-columns:1fr 1.3fr auto;gap:50px;align-items:center;padding:38px}.owner .kicker{margin-bottom:16px}.owner h3{font-size:35px}.owner p{color:#b8c7d8;font-size:14px}.owner>div p{margin-top:10px}.owner>svg{color:#459cf3}
.fieldBook{padding:80px 7%;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;background:#081421;border-top:1px solid #26394e}.fieldBook h2{font-size:clamp(48px,5vw,72px)}.fieldBook>div:first-child>p{max-width:580px;color:#afbdcc;font-size:16px;margin:24px 0 30px}.fieldBookPanel{border:1px solid #30445b;padding:34px;background:#0a1522}.fieldBookPanel>span{font-size:10px;letter-spacing:1.8px;color:#58aaff}.fieldBookPanel>strong{display:block;font-size:30px;line-height:1.15;color:#edf4fb;margin:16px 0 25px}.fieldBookPanel>div{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #2d4054}.fieldBookPanel>div span{padding:12px 8px 12px 0;border-bottom:1px solid #2d4054;color:#c3d2e1;font-size:12px}.fieldBookPanel>p{font-size:11px;color:#8295a8;margin-top:22px}
.contact{padding:85px 7%;display:grid;grid-template-columns:1fr 1fr;gap:100px;background:#e7edf3;color:#0a192c}.contact .kicker{color:#1764af}.contact h2{font-size:85px;letter-spacing:-1px}.contact>div>p{font-size:16px;color:#42566b;max-width:420px;margin:25px 0 30px}.contactDetails{align-self:center;min-width:0}.contactDetails>a,.contactDetails>div{position:relative;display:block;border-bottom:1px solid #b1c0ce;padding:23px 35px 23px 0}.contactDetails span{display:block;font-size:10px;letter-spacing:2px;color:#546e87;margin-bottom:7px}.contactDetails strong{font-weight:500;font-size:clamp(15px,1.65vw,24px);overflow-wrap:anywhere}.contactDetails svg{position:absolute;right:0;top:42px;width:18px;color:#216eb5}.contactDetails>p{font-size:12px!important;color:#52687e!important}
.footer{display:grid;grid-template-columns:110px 1fr auto;gap:40px;padding:50px 7%;align-items:center;background:#03080e;color:#91a5bb;font-size:12px}.footer img{width:110px;height:110px}.footer strong{color:#eef4fa;font-size:15px}.footer p{margin:10px 0}.footer a:hover{color:#58aaff}
@media(min-width:1700px){.hero{min-height:760px}.page main>section{padding-left:max(7%,calc((100vw - 1450px)/2));padding-right:max(7%,calc((100vw - 1450px)/2))}}
@media(max-width:1050px){.header nav{margin:0;gap:22px}.intro{grid-template-columns:1fr;gap:5px}.serviceGrid article{padding:25px}.projectNotes{grid-template-columns:1fr 1.6fr}.projectNotes a{grid-column:2;justify-self:start}.mapping{gap:35px}.thermal{gap:35px}.galleryGrid{grid-template-columns:1.15fr .85fr}.contact{gap:45px}.owner{gap:28px}.trust{flex-wrap:wrap}.hero h1{font-size:75px}}
@media(max-width:700px){.topline{padding:10px 6%;justify-content:center}.topline>span:first-child{display:none}.topline span:last-child{font-size:8px;letter-spacing:1px;gap:8px}.header{padding:15px 6%;min-height:0;gap:16px;flex-wrap:wrap}.brand,.brand img{width:88px;height:88px}.headerCall{margin-left:auto;font-size:12px;padding:12px}.header nav{order:3;width:100%;justify-content:space-between;gap:12px;border-top:1px solid #243346;padding-top:15px;font-size:12px}.hero{min-height:620px;padding:65px 6% 95px;align-items:start}.heroImage{object-position:60% center}.heroShade{background:linear-gradient(90deg,#020811db,#02081170),linear-gradient(0deg,#020811a8,transparent)}.hero h1{font-size:60px;line-height:1.01;letter-spacing:-1px}.hero .kicker{font-size:9px;letter-spacing:1.7px;max-width:270px}.heroContent>p{font-size:16px;max-width:330px;margin-top:25px}.actions{flex-direction:column;align-items:start;gap:16px;margin-top:28px}.primary{padding:15px 20px}.heroCaption{left:6%;right:6%;flex-direction:column;gap:4px;font-size:8px}.trust{padding:20px 6%;display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:10px}.trust svg{width:15px}.intro,.services,.fieldwork,.approach{padding:64px 6%}.kicker{font-size:10px;margin-bottom:20px}.intro h2{font-size:39px}.intro p{font-size:15px;margin-top:22px}.sectionTitle{display:block;margin-bottom:30px}.sectionTitle h2{font-size:47px}.sectionTitle>p,.sectionTitle>div:last-child:not(:first-child){margin-top:24px;font-size:14px}.serviceGrid{grid-template-columns:1fr}.serviceGrid article{padding:26px}.serviceTop{margin-bottom:20px}.serviceGrid h3{font-size:32px}.serviceGrid h4{margin-top:15px}.widePhoto img{height:360px;object-position:50% center}.widePhoto figcaption{padding:16px;flex-direction:column;gap:7px;font-size:9px}.projectNotes{display:block;padding-top:28px}.projectNotes h3{font-size:34px;margin-bottom:18px}.projectNotes p{font-size:14px}.projectNotes a{margin-top:20px}.mapping{grid-template-columns:1fr;padding:0 6% 64px;gap:28px}.workGallery{padding:60px 6%}.galleryGrid{grid-template-columns:1fr;grid-template-rows:auto}.galleryGrid .galleryLead{grid-row:auto;min-height:360px}.galleryGrid figure{min-height:260px}.mapping h2{font-size:42px}.mapping figcaption{padding:16px}.thermal{grid-template-columns:1fr;padding:55px 6%;gap:28px}.thermal h2{font-size:51px}.thermalPair{grid-template-columns:1fr}.thermalCopy{grid-column:1}.thermalUses{grid-template-columns:1fr}.thermalCopy>p{font-size:15px}.steps{grid-template-columns:1fr 1fr;gap:30px 22px;margin-top:40px}.steps h3{font-size:31px;margin:18px 0 12px}.steps p{font-size:13px}.owner{grid-template-columns:1fr;padding:26px;margin-top:50px;gap:20px}.owner>svg{display:none}.contact{grid-template-columns:1fr;padding:60px 6%;gap:25px}.contact h2{font-size:69px}.contactDetails strong{font-size:17px}.contact>div>p{font-size:15px}.footer{grid-template-columns:90px 1fr;gap:23px;padding:35px 6%;font-size:11px}.footer img{width:90px;height:90px}.footer strong{font-size:13px}.footer>p{grid-column:1/-1;border-top:1px solid #243346;padding-top:20px;margin:0}}
@media(prefers-reduced-motion:reduce){.page *{transition:none!important}}
