@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Source+Serif+4:opsz,wght@8..60,400;8..60,500;8..60,600;8..60,400&display=swap');
:root{--navy:#09233a;--ink:#142d49;--teal:#05a7b5;--gold:#c18a18;--muted:#6e8192;--paper:#f7f8f6;--line:#d4dddf}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;background:#fff;line-height:1.7}a{color:inherit;text-decoration:none}.site-header{height:106px;background:var(--navy);display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);gap:36px;position:sticky;top:0;z-index:10}.brand{width:210px;height:90px;display:block;flex-shrink:0}.brand img{width:100%;height:100%;object-fit:contain}.nav{display:flex;align-items:center;gap:26px;color:#f6f8fa;font-size:13px;font-weight:700}.nav a:hover,.text-link:hover{color:var(--teal)}.nav-cta{background:#f6bb38;color:#09233a;padding:15px 20px;min-width:225px;display:flex;justify-content:space-between;gap:20px}.menu-toggle{display:none;background:none;border:1px solid #789;color:white;padding:8px 12px;font-size:22px}.section-wrap{width:min(1500px,calc(100% - 12vw));margin:0 auto}.hero{min-height:690px;padding:80px 0 50px;display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;background:linear-gradient(90deg,#f7f8f6,#f1f4f2)}.hero-copy{padding-left:0}.eyebrow,.section-no,.project-meta,.status,.section-index,.cap-tags,.footer-bottom{font-size:10px;font-weight:700;letter-spacing:1.5px}.eyebrow{display:flex;align-items:center;gap:14px;color:#496177;white-space:nowrap}.dash{display:inline-block;width:25px;height:2px;background:var(--teal)}.muted{margin-left:10px;color:#98a4ad}.hero h1,h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(48px,5vw,86px);line-height:1.02;letter-spacing:-2.8px;font-weight:400;margin:28px 0}.hero h1 em,h2 em{color:var(--teal);font-weight:400}.lead{font-size:16px;line-height:1.9;color:#607588;max-width:490px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--ink);border:0;color:#fff;font:700 13px 'DM Sans',sans-serif;padding:20px 22px;cursor:pointer}.button span,.text-link span,.under-link span{color:var(--teal)}.text-link{font-size:13px;font-weight:700}.status{display:flex;align-items:center;gap:10px;margin-top:60px;color:#607588;font-size:9px;letter-spacing:1.1px}.status span{width:9px;height:9px;background:#00b8a9;border-radius:50%;box-shadow:0 0 0 5px #d9f1ed}.hero-art{height:520px;position:relative;background:var(--navy);overflow:hidden}.hero-art>img{width:100%;height:100%;object-fit:cover;filter:brightness(.67)}.art-overlay{position:absolute;inset:auto 7% 9%;color:white;display:flex;flex-direction:column;gap:12px}.art-overlay small{font-size:9px;color:#44d6dd;letter-spacing:1.5px;font-weight:700}.art-overlay strong{font:400 clamp(35px,3.5vw,58px)/.98 'Playfair Display',Georgia,serif;letter-spacing:-1px}.art-overlay span{font-size:9px;letter-spacing:1.2px;font-weight:700}.section-index{text-align:right;grid-column:2;color:#8d9ba5;margin-top:-22px}.section{padding-top:115px;padding-bottom:115px}.section-heading{display:grid;grid-template-columns:1.4fr .7fr;gap:6vw;align-items:center;margin-bottom:48px}.section-no{color:#607589}.section-heading h2,.approach h2,.capability-layout h2,.contact-layout h2{font-size:clamp(40px,4vw,66px);margin:10px 0 0}.section-heading h2 em{display:inline-block}.section-heading h2 .gold{color:var(--gold)}.section-heading>p,.approach .section-heading>p{color:#667c8e;font-size:14px;max-width:490px;line-height:2}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-height:235px;padding:24px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;background:#fbfcfa}.service-card b,.standards-grid b{color:var(--teal);font-size:11px;letter-spacing:1px}.service-card>span{position:absolute;right:24px;top:20px;color:var(--teal)}h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.25}.service-card h3{font-size:25px;margin:24px 0 12px}.service-card p,.project-card p,.standards-grid p{font-size:13px;line-height:1.8;color:#657b8e;margin:0}.service-card i{display:block;width:27px;height:2px;background:var(--teal);margin-top:24px}.dark-band{background:var(--ink);color:white;padding:85px 0}.capability-layout{display:grid;grid-template-columns:.75fr 1fr;gap:9vw;align-items:center}.globe{height:330px;overflow:hidden;border:1px solid #24435d;background:#102c45}.globe img{width:100%;height:100%;object-fit:cover}.capability-layout h2{font-size:clamp(38px,4vw,62px);margin:18px 0}.capability-layout h2 em{color:#41d3dc}.capability-layout p{max-width:630px;color:#c2cfda;font-size:14px;line-height:2}.cap-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}.cap-tags span{border:1px solid #3c566d;padding:8px 10px;font-size:8px}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.project-card{border:1px solid var(--line);background:#fff}.project-card>img{display:block;width:100%;height:230px;object-fit:cover;filter:saturate(.8)}.project-content{padding:22px}.project-meta{font-size:9px;color:#657b8e;display:flex;justify-content:space-between;gap:12px;letter-spacing:1px}.project-meta span{color:var(--gold);white-space:nowrap;letter-spacing:0}.project-card h3{font-size:27px;margin:18px 0 10px}.project-card small{display:block;border-top:1px solid var(--line);padding-top:15px;margin-top:20px;color:var(--gold);font-size:10px;letter-spacing:.3px}.disclaimer{color:#8293a0;font-size:11px;margin-top:24px}.approach{padding-top:70px;padding-bottom:90px}.approach .section-heading{margin-bottom:10px}.under-link{display:inline-flex;gap:25px;border-bottom:1px solid var(--teal);padding:12px 0;font-size:13px;font-weight:700}.standards{padding-top:45px;padding-bottom:95px}.standards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6vw;margin-top:48px}.standards-grid article{border-top:1px solid var(--line);padding-top:22px}.standards-grid h3{font-size:27px;margin:22px 0 10px}.contact-band{background:#eef3f0;padding:100px 0}.contact-layout{display:grid;grid-template-columns:.75fr 1fr;gap:8vw}.contact-layout h2{font-size:clamp(48px,5vw,78px);margin:25px 0}.contact-layout h2 em{color:var(--teal)}.contact-layout>div>p{max-width:400px;color:#63798b;font-size:14px;line-height:2}.email-link{display:inline-block;margin-top:28px;border-bottom:1px solid var(--teal);padding-bottom:8px;font-weight:700}.contact-layout form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:700;color:#243d54}input,select,textarea{font:400 13px 'DM Sans',sans-serif;color:#20384f;background:white;border:1px solid #cfd9dc;padding:15px;min-width:0;border-radius:0}textarea{resize:vertical}.contact-layout form .button{align-self:flex-start}.form-note{font-size:11px;color:#788995;margin:0}.footer{background:#061f34;color:white;padding:35px 0 22px}.footer-inner{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:30px}.footer-inner>img{width:190px;height:90px;object-fit:contain}.footer-inner>p{font:italic 20px 'Playfair Display',serif}.footer-inner>a{font-size:10px;font-weight:700;letter-spacing:1px}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid #294055;padding-top:20px;color:#c3d0d8;font-size:9px}
@media(max-width:1050px){.site-header{height:90px}.brand{width:170px;height:78px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:90px;left:0;right:0;background:var(--navy);padding:22px 6vw 28px;flex-direction:column;align-items:stretch;gap:18px}.nav.open{display:flex}.nav-cta{min-width:0}.hero{grid-template-columns:1fr;gap:35px;padding-top:55px}.hero-art{height:430px}.section-index{grid-column:1}.section-heading{grid-template-columns:1fr;gap:12px}.capability-layout,.contact-layout{grid-template-columns:1fr;gap:45px}.globe{max-width:560px}.section-wrap{width:calc(100% - 9vw)}}
@media(max-width:680px){.site-header{padding:0 5vw}.hero h1{font-size:49px;letter-spacing:-1.7px}.eyebrow{font-size:8px;gap:8px;white-space:normal;flex-wrap:wrap}.muted{margin-left:0}.hero-art{height:320px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.status{margin-top:38px}.section{padding-top:70px;padding-bottom:70px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.service-card h3{margin-top:16px}.project-grid{grid-template-columns:1fr}.project-card>img{height:200px}.project-meta{font-size:8px}.project-content{padding:18px}.standards-grid{grid-template-columns:1fr;gap:30px}.dark-band{padding:60px 0}.globe{height:260px}.cap-tags{line-height:1.5}.contact-band{padding:70px 0}.form-row{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr;gap:15px}.footer-inner>p{margin:0}.footer-bottom{gap:12px;flex-wrap:wrap}.section-heading h2,.approach h2,.capability-layout h2{letter-spacing:-1.5px}}


/* Hero layout refinement: keep the headline to two balanced lines and avoid duplicate image text. */
.hero{grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr);gap:4.2vw}
.hero-copy{min-width:0}
.hero h1{font-size:clamp(46px,4.45vw,76px);letter-spacing:-2.5px;line-height:1.04;max-width:760px}
.hero h1 .precision{white-space:nowrap}
.hero-art{min-width:0;height:500px}
.hero-art>img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.78)}
.art-caption{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;gap:12px;padding:12px 16px;background:rgba(5,28,46,.55);color:#d4e1e8;font-size:8px;letter-spacing:1px;font-weight:700}
@media(max-width:1050px){
  .hero{grid-template-columns:1fr;gap:34px}
  .hero h1{font-size:clamp(48px,7vw,74px)}
  .hero-art{height:430px}
}
@media(max-width:680px){
  .hero h1{font-size:clamp(43px,11vw,56px);letter-spacing:-1.6px;line-height:1.05}
  .hero h1 .precision{white-space:normal}
  .hero-art{height:300px}
  .art-caption{font-size:7px;padding:9px}
}


/* Globe panel cleanup: remove screenshot edges and cropped lettering. */
.globe{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#102c45;border:1px solid #24435d;min-height:330px}
.globe img{width:100%;height:100%;object-fit:cover;object-position:center center;filter:brightness(.95);display:block}
.globe-label{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;color:#d7e9ee;font-size:10px;font-weight:700;letter-spacing:2px;text-shadow:0 1px 5px #061b2e}
.globe-label i{display:inline-block;width:7px;height:7px;background:#f2b936;border-radius:50%;box-shadow:0 0 0 4px rgba(242,185,54,.18)}


/* Dedicated Projects page and status filters */
.projects-preview .projects-more{margin-top:28px}
.projects-hero{padding-top:100px;padding-bottom:55px}
.projects-hero h1{font:400 clamp(52px,6vw,88px)/1.02 'Playfair Display',Georgia,serif;letter-spacing:-2.8px;margin:22px 0}
.projects-hero h1 em{color:var(--teal);font-weight:400}
.projects-hero>p{max-width:720px;color:#667c8e;line-height:2;font-size:15px}
.project-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-top:36px}
.project-tab{border:1px solid #cdd8dc;background:white;color:var(--ink);padding:13px 18px;font:600 12px 'DM Sans',sans-serif;cursor:pointer}
.project-tab:hover,.project-tab.active{background:var(--ink);border-color:var(--ink);color:white}
.project-listing{padding-top:10px;padding-bottom:100px}
.project-status-heading{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin:42px 0 24px}
.project-status-heading h2{font:400 34px 'Playfair Display',Georgia,serif;margin:0}
.project-status-heading p{margin:0 0 0 auto;color:#718496;font-size:12px}
.status-dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.status-dot.ongoing{background:#09a9b5;box-shadow:0 0 0 5px #d8f1ef}
.status-dot.completed{background:#bd8618;box-shadow:0 0 0 5px #f4e8cc}
.project-meta span{color:var(--teal)}
.status-card[hidden],.project-status-heading[hidden]{display:none!important}
.project-contact{display:flex;justify-content:space-between;align-items:center;gap:30px}
.project-contact h2{font:400 clamp(42px,4vw,60px) 'Playfair Display',Georgia,serif;margin:12px 0}
@media(max-width:680px){.projects-hero{padding-top:65px}.projects-hero h1{letter-spacing:-1.5px}.project-status-heading{align-items:flex-start}.project-status-heading p{flex-basis:100%;margin-left:22px}.project-contact{align-items:flex-start;flex-direction:column}}


/* User-supplied final artwork for hero and global connections panel */
.hero-art{position:relative;overflow:hidden;background:#071b2c}
.hero-art>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-art .art-caption{position:absolute;top:0;left:0;right:0;background:transparent;color:rgba(255,255,255,.86);text-shadow:0 1px 4px #061b2e}
.globe{position:relative;overflow:hidden;background:#09223a;border:1px solid #24435d;min-height:0}
.globe img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.globe-label{display:none!important}


/* Refined logo presentation based on the user's supplied clean reference. */
.brand{display:flex;align-items:center;justify-content:center;overflow:hidden;background:#082238;height:88px;width:220px;padding:0 12px}
.brand img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;max-height:78px}
.footer-inner>img{display:block;width:220px;height:auto;max-height:95px;object-fit:contain;object-position:left center;background:transparent}
.footer{overflow:hidden}
.footer-inner{overflow:hidden}
.project-empty{border:1px solid #d6e0e3;background:#f8faf9;padding:34px 36px;margin:0 0 28px;min-height:150px}
.project-empty>span{font-size:10px;letter-spacing:2px;color:var(--teal);font-weight:700}
.project-empty h3{font:400 30px 'Playfair Display',Georgia,serif;color:var(--ink);margin:18px 0 8px}
.project-empty p{font-size:14px;line-height:1.8;color:#6a7f90;margin:0;max-width:640px}
.project-empty[hidden]{display:none!important}
@media(max-width:680px){.brand{width:180px;height:72px}.brand img{max-height:64px}.footer-inner>img{width:180px}}


/* Brand and typography refinement — use the supplied master artwork without cropping. */
.site-header .brand{
  width:252px;
  height:100px;
  padding:5px 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#001d32;
  overflow:hidden;
}
.site-header .brand img{
  width:100%;
  height:100%;
  max-height:none;
  object-fit:contain;
  object-position:center;
  display:block;
}
.footer-inner>img{
  width:252px;
  max-width:100%;
  max-height:none;
  height:auto;
  object-fit:contain;
  object-position:left center;
  background:transparent;
}
body{
  font-family:'DM Sans',Arial,sans-serif;
  font-synthesis:none;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
.hero h1,h2,.service-card h3,.project-card h3,.project-empty h3{
  font-family:'Playfair Display',Georgia,'Times New Roman',serif;
  font-synthesis:none;
  text-wrap:balance;
}
.hero h1{
  font-size:clamp(48px,4.7vw,78px);
  line-height:1.06;
  letter-spacing:-2.2px;
  max-width:740px;
}
.hero-art{
  height:auto;
  aspect-ratio:1.22 / 1;
  min-height:430px;
}
.hero-art>img{object-fit:cover;object-position:center}
.section{padding-top:100px;padding-bottom:100px}
.section-heading{margin-bottom:42px}
.service-card{transition:background-color .2s ease,border-color .2s ease}
.service-card:hover{background:#fff;border-color:#b8cbd0}
.nav{letter-spacing:.05px}
.nav-cta{font-weight:700}
.footer{background:#061f33}
.footer-inner{align-items:center}
.project-status-heading h2{font-size:clamp(34px,3.4vw,52px);letter-spacing:-1.3px}
@media(max-width:900px){
  .site-header .brand{width:210px;height:86px}
  .hero{grid-template-columns:1fr;gap:36px;padding-top:54px}
  .hero-art{aspect-ratio:1.45/1;min-height:0}
  .hero h1{max-width:850px}
}
@media(max-width:680px){
  .site-header{height:82px;padding:0 18px}
  .site-header .brand{width:185px;height:72px;padding:4px}
  .hero{padding-top:40px}
  .hero h1{font-size:clamp(42px,11vw,60px);letter-spacing:-1.5px}
  .hero-art{aspect-ratio:1/1;min-height:0}
  .section{padding-top:72px;padding-bottom:72px}
  .footer-inner>img{width:185px}
}


/* Project gallery: consistent image framing, no baked-in border slivers, polished 2x2 layout. */
.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 30px;align-items:stretch}
.project-card{min-width:0;overflow:hidden;border:1px solid #d7e0e2;display:flex;flex-direction:column;box-shadow:0 8px 24px rgba(9,35,58,.035);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.project-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(9,35,58,.09);border-color:#bdcdd2}
.project-image{position:relative;overflow:hidden;aspect-ratio:2.25/1;background:#09233a;isolation:isolate}
.project-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.88) contrast(1.02);transition:transform .45s ease}
.project-card:hover .project-image img{transform:scale(1.025)}
.project-image:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(180deg,transparent,rgba(4,24,40,.72));pointer-events:none}
.project-image>span{position:absolute;z-index:1;left:20px;right:16px;bottom:15px;color:#f2f7f9;font-size:8px;line-height:1.4;letter-spacing:1.35px;font-weight:700;text-shadow:0 1px 4px rgba(0,0,0,.4)}
.project-content{padding:24px 26px 22px;display:flex;flex-direction:column;flex:1}
.project-meta{font-size:9px;line-height:1.5;letter-spacing:1.1px;align-items:flex-start}
.project-meta span{font-size:9px;letter-spacing:0;display:inline-flex;align-items:center;gap:5px}
.project-card h3{font-size:clamp(24px,2vw,31px);letter-spacing:-.45px;line-height:1.22;margin:19px 0 12px}
.project-card p{font-size:13px;line-height:1.85;max-width:680px}
.project-card small{margin-top:auto;padding-top:17px;font-size:10px;color:#b17a13;letter-spacing:.35px}
.projects-preview .disclaimer{max-width:900px;line-height:1.8}
@media(max-width:900px){.project-grid{gap:20px}.project-content{padding:20px}.project-meta{flex-wrap:wrap}.project-card h3{font-size:25px}}
@media(max-width:680px){.project-grid{grid-template-columns:1fr;gap:22px}.project-image{aspect-ratio:1.9/1}.project-content{padding:20px}.project-card h3{font-size:26px}.project-image>span{font-size:7px;left:14px;bottom:12px}.project-meta{font-size:8px}.project-meta span{font-size:8px}}

/* v11 — engineering-led visual language, measured typography and technical illustration panels */
:root{--navy:#071f33;--ink:#112d46;--teal:#00a7b5;--gold:#d6a22e;--paper:#f4f7f5;--line:#d4dfe2}
body{font-family:'Manrope','DM Sans',Arial,sans-serif;letter-spacing:-.012em}
.nav,.button,input,select,textarea{font-family:'Manrope','DM Sans',Arial,sans-serif}
.hero h1,h2,.service-card h3,.project-card h3,.project-empty h3,.projects-hero h1,.project-status-heading h2,.project-contact h2{font-family:'Source Serif 4','Playfair Display',Georgia,serif;font-optical-sizing:auto;font-weight:400;letter-spacing:-.035em}
.section-no,.eyebrow,.status,.project-meta,.project-image>span,.lab-card-top,.lab-kicker,.lab-note,.pixel-caption,.footer-bottom{font-family:'IBM Plex Mono',monospace;letter-spacing:.075em}
.hero{background:linear-gradient(115deg,#f8f9f7 0%,#f1f5f3 58%,#e9f0ef 100%);position:relative}
.hero:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;background-image:linear-gradient(rgba(18,53,75,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(18,53,75,.12) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(90deg,black,transparent 65%)}
.hero-copy,.hero-art,.section-index{position:relative;z-index:1}
.hero h1{font-size:clamp(48px,4.55vw,78px);line-height:1.02;letter-spacing:-.045em}
.lead{max-width:520px;color:#536b7c}
.hero-art{box-shadow:0 24px 55px rgba(5,29,47,.16);border:1px solid rgba(255,255,255,.7)}
.hero-art:after{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid rgba(255,255,255,.2);background:linear-gradient(135deg,rgba(2,24,40,.18),transparent 45%,rgba(2,24,40,.25))}
.art-caption{z-index:2;font-family:'IBM Plex Mono',monospace;letter-spacing:.08em}
.site-header{box-shadow:0 4px 20px rgba(3,22,36,.08)}
.nav{font-size:12px;letter-spacing:0}
.nav a:not(.nav-cta){position:relative}
.nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--teal);transition:right .2s}
.nav a:not(.nav-cta):hover:after{right:0}
.button{box-shadow:0 5px 0 rgba(4,22,36,.08);transition:transform .2s,box-shadow .2s,background .2s}
.button:hover{transform:translateY(-2px);box-shadow:0 9px 20px rgba(4,22,36,.13);background:#0b3b59}
.service-card{background:rgba(251,252,250,.82)}
.service-card b{font-family:'IBM Plex Mono',monospace}
.project-card{box-shadow:0 12px 34px rgba(7,31,51,.045)}
.project-image{background:#071f33}
.project-image img{object-position:center;filter:saturate(.96) contrast(1.04)}
.project-image:after{inset:35% 0 0;background:linear-gradient(180deg,transparent 0%,rgba(4,24,40,.78) 100%)}
.project-content{padding:25px 27px 24px}
.project-card h3{font-size:clamp(24px,1.9vw,32px);line-height:1.18}
.project-meta span{font-family:'Manrope',sans-serif;letter-spacing:0}
.dark-band{background:radial-gradient(ellipse at 15% 50%,#193c57 0%,#112e47 43%,#0c263d 100%);position:relative;overflow:hidden}
.dark-band:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.1;background-image:linear-gradient(rgba(175,210,222,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(175,210,222,.18) 1px,transparent 1px);background-size:40px 40px}
.capability-layout{position:relative;z-index:1}
.globe{box-shadow:0 20px 50px rgba(0,0,0,.18)}
.engineering-lab{padding:110px 0 115px;background:#eef3f1;position:relative;overflow:hidden}
.engineering-lab:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(14,52,74,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(14,52,74,.055) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(180deg,transparent,#000 18%,#000 90%,transparent)}
.engineering-lab .section-wrap{position:relative;z-index:1}
.lab-heading{display:grid;grid-template-columns:1.2fr .7fr;gap:7vw;align-items:end;margin-bottom:45px}
.lab-heading h2{font-size:clamp(42px,4.2vw,68px);line-height:1.03;margin:15px 0 0}
.lab-heading h2 em{color:var(--teal);font-style:italic}
.lab-heading>p{color:#617787;font-size:14px;line-height:2;max-width:490px;margin:0 0 6px}
.lab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.lab-card{min-width:0;background:#fbfcfa;border:1px solid #d1dcdf;box-shadow:0 12px 32px rgba(7,31,51,.045);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s}
.lab-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(7,31,51,.11);border-color:#a9c4cb}
.lab-card-dark{background:#0b2941;color:#f4f7f7;border-color:#1d4058}
.lab-card-top{padding:14px 16px;display:flex;justify-content:space-between;gap:12px;font-size:8px;color:#6b8190;border-bottom:1px solid #dce4e5}
.lab-card-dark .lab-card-top{color:#a7c0cd;border-color:#29475c}
.diagram{height:220px;overflow:hidden;background:#f5f8f6;border-bottom:1px solid #d6e1e2}
.diagram svg{width:100%;height:100%;display:block}
.diagram-power{background:#0b2941}
.lab-card-copy{padding:23px 23px 25px;display:flex;flex-direction:column;flex:1}
.lab-kicker{font-size:8px;color:#008f9b;line-height:1.7}
.lab-card-dark .lab-kicker{color:#5ed3dc}
.lab-card h3{font-family:'Source Serif 4',Georgia,serif;font-size:27px;line-height:1.18;letter-spacing:-.03em;margin:13px 0 10px;font-weight:400}
.lab-card p{font-size:12px;line-height:1.9;color:#657b8b;margin:0}
.lab-card-dark p{color:#c2d0d9}
.lab-note{font-size:9px;color:#738793;line-height:1.8;margin:22px 0 0}
.diagram-pixel{position:relative;background:linear-gradient(180deg,#cbdfe4 0%,#edf2ef 72%,#c2d3d1 72%,#c2d3d1 100%);isolation:isolate}
.pixel-skyline{position:absolute;inset:0;overflow:hidden;image-rendering:pixelated;background-image:linear-gradient(90deg,rgba(19,60,82,.07) 1px,transparent 1px),linear-gradient(rgba(19,60,82,.07) 1px,transparent 1px);background-size:10px 10px}
.pixel-block{position:absolute;bottom:48px;background:#77909b;border:4px solid #e1e8e6;box-shadow:inset -7px 0 #58717f}
.pixel-block:after{content:"";position:absolute;inset:10px;background:repeating-linear-gradient(90deg,#dce9e8 0 7px,transparent 7px 16px),repeating-linear-gradient(0deg,transparent 0 13px,#dce9e8 13px 17px)}
.b1{left:5%;width:21%;height:72px}.b2{left:30%;width:23%;height:115px;background:#6f8794}.b3{left:56%;width:18%;height:87px}.b4{left:77%;width:18%;height:133px;background:#617b88}.b5{left:37%;bottom:164px;width:9%;height:35px;background:#d4a02d;border-color:#f5d37b}
.pixel-crane{position:absolute;left:49%;top:13%;width:42%;height:4px;background:#d59d2e;box-shadow:0 5px 0 rgba(18,49,67,.16)}
.pixel-crane:before{content:"";position:absolute;left:13%;top:0;width:4px;height:130px;background:#d59d2e}.pixel-crane:after{content:"";position:absolute;left:13%;top:0;width:4px;height:36px;background:#d59d2e;transform:rotate(36deg);transform-origin:top}
.pixel-ground{position:absolute;left:0;right:0;bottom:28px;height:20px;background:repeating-linear-gradient(90deg,#173b52 0 15px,#e1b44d 15px 22px,#173b52 22px 36px)}
.pixel-route{position:absolute;left:7%;right:8%;bottom:39px;height:3px;background:#00a8b5;box-shadow:0 0 0 4px rgba(0,168,181,.15)}
.pixel-node{position:absolute;width:11px;height:11px;border:2px solid white;background:#00a8b5;box-shadow:0 0 0 3px rgba(0,168,181,.22)}.n1{left:15%;bottom:34px}.n2{left:48%;bottom:34px}.n3{right:17%;bottom:34px}
.pixel-caption{position:absolute;left:14px;right:14px;top:13px;display:flex;justify-content:space-between;gap:10px;color:#173b52;font-size:8px;font-weight:600}
.contact-band{background:linear-gradient(115deg,#edf3f0,#e5eeeb)}
.footer{background:#041b2d}
@media(max-width:1050px){.lab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-card:last-child{grid-column:1/-1}.lab-heading{grid-template-columns:1fr;gap:15px}.engineering-lab{padding:80px 0}}
@media(max-width:680px){.lab-grid{grid-template-columns:1fr}.lab-card:last-child{grid-column:auto}.lab-heading h2{font-size:42px}.lab-card h3{font-size:26px}.diagram{height:205px}.engineering-lab{padding:68px 0}.project-content{padding:20px}.nav{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* Reliable back-to-top navigation */
html { scroll-behavior: smooth; scroll-padding-top: 16px; }
body#top { scroll-margin-top: 0; }
.back-to-top, .footer-inner > a[href="#top"] {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: color .2s ease, opacity .2s ease;
}
.back-to-top:hover, .footer-inner > a[href="#top"]:hover { color: #41d3dc; }
