:root{
  --navy:#0A3A66;--deep:#061D31;--cyan:#00A3E0;--cyan-bright:#27B7ED;--light:#EAF4FA;--off:#F7FAFC;
  --charcoal:#1F2937;--grey:#5B677A;--line:#D7E3EC;--white:#FFFFFF;--shell:1240px;
  --shadow:0 26px 70px rgba(5,35,58,.14)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--charcoal);font-family:"Source Sans 3",Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit}button,input,textarea,select{font:inherit}.shell{width:min(calc(100% - 48px),var(--shell));margin:0 auto}.section{padding:116px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:-9999px;top:0;background:#fff;color:var(--navy);padding:.7rem 1rem;z-index:1000}.skip-link:focus{left:1rem;top:1rem}

.site-header{position:fixed;z-index:100;left:0;right:0;top:0;height:88px;display:flex;align-items:center;transition:background .25s ease,box-shadow .25s ease,backdrop-filter .25s ease}.site-header.is-scrolled{background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(10,58,102,.09)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand img{width:176px}.primary-nav{display:flex;align-items:center;gap:1.75rem}.primary-nav a{text-decoration:none;color:var(--navy);font-family:Montserrat,Arial,sans-serif;font-size:.73rem;font-weight:700;letter-spacing:.04em;transition:color .2s ease}.primary-nav a:hover{color:var(--cyan)}.nav-cta{background:var(--navy);color:white!important;padding:.78rem 1.15rem}.nav-cta:hover{background:var(--cyan)}.nav-toggle{display:none;border:0;background:none;padding:.5rem}.nav-toggle span:not(.sr-only){display:block;width:24px;height:2px;background:var(--navy);margin:5px 0}

.hero{position:relative;min-height:930px;padding:145px 0 100px;background:linear-gradient(180deg,#fff 0%,#fff 86%,#f7fafc 100%);overflow:hidden}.hero-backdrop{position:absolute;right:-120px;top:-150px;width:560px;height:560px;background:radial-gradient(circle,rgba(0,163,224,.14),transparent 68%)}.hero-grid{position:relative;display:grid;grid-template-columns:.96fr 1.04fr;gap:5.6rem;align-items:center;z-index:2}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.2em;color:var(--navy);font-family:Montserrat,Arial,sans-serif;font-size:.69rem;font-weight:800;margin-bottom:1.35rem}.hero h1,h2,h3{font-family:Montserrat,Arial,sans-serif;margin:0;letter-spacing:-.045em}.hero h1{font-size:clamp(4.2rem,6.8vw,7.4rem);line-height:.9;color:var(--navy);max-width:720px}.hero h1 span{color:#67A6E4}.hero-lede{font-size:1.23rem;line-height:1.5;color:#4f6174;max-width:680px;margin:2rem 0 0}.hero-actions{display:flex;align-items:center;gap:1.6rem;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 1.35rem;text-decoration:none;font-family:Montserrat,Arial,sans-serif;font-size:.82rem;font-weight:700;transition:transform .2s ease,background .2s ease,color .2s ease}.button-primary{background:var(--navy);color:white}.button-primary:hover{background:var(--cyan);transform:translateY(-2px)}.text-link{font-family:Montserrat,Arial,sans-serif;font-size:.82rem;font-weight:700;text-decoration:none;color:var(--navy);padding-bottom:.15rem;border-bottom:1px solid #b8c7d3}.text-link span{color:var(--cyan)}.brand-line{position:relative;z-index:3;margin-top:2.55rem;display:inline-flex;align-items:center;gap:.78rem;color:var(--navy);font-family:Montserrat,Arial,sans-serif;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.15em;background:rgba(255,255,255,.88);padding:.55rem .7rem .55rem 0}.brand-line i,.footer-line i{width:5px;height:5px;border-radius:50%;background:var(--cyan);display:inline-block}

.hero-visual{position:relative;padding:34px 0 54px 42px;min-height:655px}.hero-visual::before{content:"";position:absolute;left:0;top:0;width:190px;height:100%;background:linear-gradient(180deg,#79B7E6,var(--cyan));clip-path:polygon(50% 0,100% 0,50% 100%,0 100%);opacity:.82}.hero-photo-wrap{position:absolute;inset:52px 0 40px 76px;background:#c5d5e0;box-shadow:var(--shadow);overflow:hidden}.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.03);opacity:0;transform:scale(1.025);transition:opacity .9s ease,transform 5.8s ease}.hero-slide.is-active{opacity:1;transform:scale(1)}.hero-photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(3,25,44,.48) 100%);pointer-events:none}.hero-label{position:absolute;left:40px;top:95px;z-index:3;background:white;padding:1.08rem 1.2rem 1.05rem;min-width:190px;box-shadow:0 16px 35px rgba(5,35,58,.12);display:grid;gap:.14rem}.hero-label span{color:var(--cyan);font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:.67rem;letter-spacing:.1em}.hero-label strong{color:var(--navy);font-family:Montserrat,Arial,sans-serif;font-size:1rem}.hero-label small{color:#607082}.hero-badge{position:absolute;right:0;bottom:40px;z-index:3;background:var(--deep);border-top:4px solid #69ACE8;color:white;padding:1rem 1.3rem;font-family:Montserrat,Arial,sans-serif;font-size:.88rem;font-weight:700;line-height:1.35}.hero-controls{position:absolute;right:18px;top:68px;z-index:4;display:flex;gap:.35rem}.hero-controls button{border:0;background:rgba(6,29,49,.78);color:#dce9f1;width:34px;height:34px;cursor:pointer;font-family:Montserrat,Arial,sans-serif;font-size:.61rem;font-weight:700;transition:background .2s ease,color .2s ease}.hero-controls button:hover,.hero-controls button.is-active{background:var(--cyan);color:white}.signal-bar{position:absolute;left:0;right:0;bottom:0;height:58px;background:var(--deep);display:flex;align-items:center;color:#d8e6ef;overflow:hidden}.signal-track{display:flex;align-items:center;gap:3.7rem;width:max-content;white-space:nowrap;text-transform:uppercase;font-family:Montserrat,Arial,sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.12em;animation:signalMove 30s linear infinite}.signal-track span::before{content:"";display:inline-block;width:5px;height:5px;background:#67A6E4;border-radius:50%;margin-right:.7rem;vertical-align:middle}@keyframes signalMove{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.intro{background:white}.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:7rem}.intro-heading h2,.capabilities h2,.testbed h2,.technology h2,.suffolk h2,.approach h2,.commercial h2,.contact h2{font-family:Montserrat,Arial,sans-serif;color:var(--navy);font-size:clamp(2.7rem,4.3vw,4.8rem);line-height:.98;letter-spacing:-.055em}.intro-copy{padding-top:2.3rem;color:#536577;font-size:1.1rem}.intro-proof{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.4rem}.intro-proof div{border-top:4px solid var(--cyan);background:var(--off);padding:1.35rem 1.2rem}.intro-proof strong{display:block;color:var(--navy);font-family:Montserrat,Arial,sans-serif;font-size:2.5rem;line-height:1}.intro-proof span{display:block;color:#657485;margin-top:.5rem;font-size:.88rem}

.place-gallery{padding:0 0 110px;background:white}.place-grid{display:grid;grid-template-columns:1.2fr .78fr .72fr;gap:1rem;align-items:stretch}.place-image,.place-statement{position:relative;overflow:hidden;min-height:430px;margin:0}.place-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.76) contrast(1.02);transition:transform .8s cubic-bezier(.2,.65,.3,1),filter .3s ease}.place-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(3,29,49,.72) 100%);pointer-events:none}.place-image:hover img{transform:scale(1.025);filter:saturate(.9) contrast(1.04)}.place-image figcaption{position:absolute;left:1.5rem;right:1.5rem;bottom:1.35rem;z-index:2;color:white}.place-image figcaption span{display:block;text-transform:uppercase;letter-spacing:.18em;font-family:Montserrat,Arial,sans-serif;font-size:.63rem;font-weight:800;color:#8ec8f2}.place-image figcaption strong{display:block;font-family:Montserrat,Arial,sans-serif;font-size:1.05rem;line-height:1.3;margin-top:.35rem}.place-image-tall img{object-position:center 48%}.place-statement{background:var(--navy);color:white;padding:2.2rem;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.place-statement img{width:110px;opacity:.14;filter:brightness(0) invert(1)}.place-statement div{display:flex;flex-direction:column;min-width:0;max-width:100%;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:clamp(1.95rem,2.25vw,2.75rem);line-height:.94;letter-spacing:-.045em}.place-statement div span{display:block;max-width:100%;white-space:nowrap}.place-statement div span:nth-child(2){color:#69ACE8}.place-statement div span:nth-child(3){color:var(--cyan-bright)}.place-statement p{color:#c8d8e3;margin:2rem 0 0}

.capabilities{background:var(--off);padding:110px 0}.capabilities-head{display:grid;grid-template-columns:1fr .55fr;gap:6rem;align-items:end;margin-bottom:4rem}.capabilities-head p{color:#657485;font-size:1.08rem;margin:0 0 .65rem}.capability-list{border-top:1px solid var(--line)}.cap-row{display:grid;grid-template-columns:.35fr .6fr 1.2fr 1.65fr;gap:2rem;align-items:center;padding:2.15rem max(24px,calc((100vw - var(--shell))/2));border-bottom:1px solid var(--line);transition:background .25s ease,transform .25s ease}.cap-row:hover{background:white}.cap-index{font-family:Montserrat,Arial,sans-serif;color:var(--cyan);font-weight:800;font-size:1rem}.cap-type{text-transform:uppercase;letter-spacing:.12em;color:#708091;font-size:.67rem;font-family:Montserrat,Arial,sans-serif;font-weight:800}.cap-row h3{color:var(--navy);font-size:1.85rem}.cap-row p{color:#56687a;margin:0}.cap-row-dark{position:relative;background:var(--deep);border-color:rgba(255,255,255,.08);overflow:hidden}.cap-row-dark::after{content:"03";position:absolute;right:1rem;top:-3.1rem;color:rgba(255,255,255,.035);font-family:Montserrat,Arial,sans-serif;font-size:11rem;font-weight:800;line-height:1}.cap-row-dark:hover{background:#08263f}.cap-row-dark h3,.cap-row-dark p{color:white}.cap-row-dark .cap-type{color:#9bb4c5}.cap-row-dark a{position:relative;z-index:2;color:var(--cyan-bright);text-decoration:none;font-family:Montserrat,Arial,sans-serif;font-size:.75rem;font-weight:800;justify-self:end}

.testbed{position:relative;background:var(--deep);padding:120px 0;color:white;overflow:hidden}.testbed-watermark{position:absolute;left:-2rem;top:-4rem;font-family:Montserrat,Arial,sans-serif;font-size:26rem;font-weight:800;color:rgba(255,255,255,.025);line-height:1;pointer-events:none}.testbed-grid{position:relative;display:grid;grid-template-columns:.92fr 1.08fr;gap:5.5rem;align-items:center;z-index:1}.section-kicker-light{color:var(--cyan-bright)}.testbed-copy h2{color:white}.testbed-copy p{color:#c5d5df;font-size:1.06rem;max-width:610px}.testbed-copy .testbed-lede{color:#edf5f8;font-size:1.23rem;margin-top:2rem}.testbed-tags{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}.testbed-tags span{border:1px solid rgba(255,255,255,.22);padding:.5rem .75rem;color:#e2edf4;font-size:.8rem}.testbed-visual{position:relative;min-height:590px;border-left:6px solid var(--cyan);box-shadow:0 38px 90px rgba(0,0,0,.22);overflow:hidden}.testbed-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.04);transition:transform .8s ease}.testbed-visual:hover img{transform:scale(1.025)}.testbed-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,29,49,.05),rgba(5,29,49,.25));pointer-events:none}.testbed-stamp{position:absolute;right:0;bottom:0;background:white;display:flex;gap:0}.testbed-stamp span{padding:.8rem 1rem;color:var(--navy);font-family:Montserrat,Arial,sans-serif;font-size:.62rem;font-weight:800;letter-spacing:.12em;border-left:1px solid var(--line)}

.technology{background:white}.technology-grid{display:grid;grid-template-columns:1fr 1fr;gap:7rem;align-items:center}.technology-visual{position:relative;min-height:600px;background:var(--light);overflow:hidden;box-shadow:var(--shadow)}.technology-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.78) hue-rotate(5deg)}.tech-corner{position:absolute;right:0;bottom:0;width:155px;height:155px;background:var(--cyan);clip-path:polygon(100% 0,100% 100%,0 100%);opacity:.9}.tech-caption{position:absolute;left:0;bottom:0;background:rgba(6,29,49,.9);color:white;padding:1rem 1.2rem;font-family:Montserrat,Arial,sans-serif;font-weight:700;line-height:1.25}.technology-copy p{color:#536577;font-size:1.08rem;max-width:610px}.tech-stack{margin-top:2.3rem;border-top:1px solid var(--line)}.tech-stack div{display:grid;grid-template-columns:150px 1fr;align-items:center;border-bottom:1px solid var(--line);padding:1rem 0}.tech-stack span{font-family:Montserrat,Arial,sans-serif;color:var(--navy);font-size:1.35rem;font-weight:800}.tech-stack small{color:#667789;font-size:.9rem}

.suffolk{background:var(--light);padding:100px 0}.suffolk-card{display:grid;grid-template-columns:1.1fr .9fr;background:var(--navy);min-height:600px;box-shadow:var(--shadow);overflow:hidden}.suffolk-photo{min-height:600px}.suffolk-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.04)}.suffolk-copy{padding:5rem 4.5rem;color:#d5e3ec;display:flex;flex-direction:column;justify-content:center}.suffolk-copy h2{color:white}.suffolk-copy p{font-size:1.06rem;color:#c4d4df}

.approach-heading{display:grid;grid-template-columns:1fr .55fr;gap:5rem;align-items:end;margin-bottom:3rem}.approach-heading p{color:var(--grey);font-size:1.08rem;margin:0 0 .8rem}.approach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.approach-step{position:relative;background:var(--off);padding:2.1rem 1.8rem 2.25rem;min-height:280px;overflow:hidden;transition:transform .25s ease,background .25s ease}.approach-step::before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:var(--cyan);transform:scaleX(.24);transform-origin:left;transition:transform .28s ease}.approach-step:hover{transform:translateY(-7px);background:var(--light)}.approach-step:hover::before{transform:scaleX(1)}.approach-step span{display:block;color:var(--cyan);font-family:Montserrat,Arial,sans-serif;font-size:2.6rem;font-weight:800;letter-spacing:-.06em}.approach-step h3{margin:2.6rem 0 .7rem;color:var(--navy);font-size:1.5rem}.approach-step p{margin:0;color:#5b6c7e}

.commercial{position:relative;background:white;overflow:hidden}.commercial-mark{position:absolute;width:540px;right:-160px;bottom:-190px;opacity:.045}.commercial-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:7rem;z-index:1}.commercial-copy{padding-top:2.5rem;color:#526476;font-size:1.08rem}.text-link-dark{display:inline-block;margin-top:1.2rem}.contact{position:relative;overflow:hidden;background:var(--navy);color:white;padding:110px 0}.contact-mark{position:absolute;width:640px;right:-175px;top:-220px;opacity:.06;filter:brightness(0) invert(1)}.contact-grid{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:6rem;align-items:end;z-index:1}.contact h2{color:white;max-width:790px}.contact-action{display:flex;flex-direction:column;gap:1.4rem;align-items:flex-start}.contact-email{color:white;text-decoration:none;font-weight:700;font-size:1.1rem;border-bottom:1px solid rgba(255,255,255,.45)}.contact-email:hover{color:var(--cyan-bright);border-color:var(--cyan-bright)}.button-light{background:white;color:var(--navy)}.button-light:hover{background:var(--cyan);color:white;transform:translateY(-2px)}.site-footer{padding:34px 0;background:white;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1fr auto auto;gap:2rem;align-items:center}.footer-brand img{width:150px}.footer-line{color:var(--navy);text-transform:uppercase;font-size:.62rem;font-weight:800;letter-spacing:.14em;display:flex;align-items:center;gap:.7rem}.footer-copy{color:var(--grey);font-size:.72rem}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .68s ease,transform .68s cubic-bezier(.2,.65,.3,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-delay{transition-delay:.12s}.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}

@media(max-width:1050px){
  .site-header{height:72px;background:rgba(255,255,255,.95)}.nav-toggle{display:block}.primary-nav{display:none;position:absolute;top:72px;left:24px;right:24px;background:white;padding:1rem;flex-direction:column;align-items:stretch;gap:0;box-shadow:var(--shadow);border:1px solid var(--line)}.primary-nav.is-open{display:flex}.primary-nav a{padding:.9rem .5rem}.nav-cta{text-align:center;margin-top:.4rem}
  .hero{padding-top:110px;min-height:auto;padding-bottom:0}.hero-grid,.intro-grid,.testbed-grid,.technology-grid,.commercial-grid,.contact-grid{grid-template-columns:1fr;gap:3.5rem}.hero-visual{min-height:570px}.hero-photo-wrap{inset:50px 0 40px 70px}.signal-bar{position:relative;margin-top:3rem}.signal-track{animation:none;padding:0 1.2rem;overflow:auto}.signal-track span:nth-child(n+7){display:none}.capabilities-head{grid-template-columns:1fr;gap:1.5rem}.cap-row{grid-template-columns:.4fr .7fr 1.1fr 1.5fr;gap:1.1rem}.testbed-watermark{right:-1rem;left:auto;font-size:18rem}.technology-visual{min-height:500px}.suffolk-card{grid-template-columns:1fr}.suffolk-photo{min-height:450px}.approach-heading{grid-template-columns:1fr;gap:1rem}.approach-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.footer-copy{grid-column:1/-1}.place-grid{grid-template-columns:1fr 1fr}.place-statement{grid-column:1/-1;min-height:300px}.place-statement div{font-size:2.8rem}
}
@media(max-width:700px){
  .shell{width:min(calc(100% - 32px),var(--shell))}.section{padding:82px 0}.brand img{width:155px}.hero h1{font-size:clamp(3.4rem,16vw,5rem)}.hero-lede{font-size:1.05rem}.hero-actions{flex-direction:column;align-items:flex-start}.brand-line{margin-top:2rem;flex-wrap:wrap}.hero-visual{min-height:480px;padding-left:24px}.hero-visual::before{width:120px}.hero-photo-wrap{inset:48px 0 28px 45px}.hero-label{left:24px;top:82px;min-width:175px}.hero-badge{right:0;bottom:28px;font-size:.8rem}.hero-controls{right:10px;top:58px}.signal-bar{height:54px}.signal-track{gap:1.5rem}.intro-grid{gap:2rem}.intro-copy{padding-top:0}.intro-proof{grid-template-columns:1fr}.place-grid{grid-template-columns:1fr}.place-image,.place-statement{min-height:360px}.place-statement{grid-column:auto}.cap-row{grid-template-columns:60px 1fr;padding:1.65rem 20px;gap:.75rem 1rem}.cap-type{grid-column:2}.cap-row h3{grid-column:2;font-size:1.55rem}.cap-row p{grid-column:2}.cap-row a{display:none}.cap-row-dark p{padding-right:0}.testbed{padding:86px 0}.testbed-visual{min-height:420px}.testbed-stamp{left:0;right:auto;flex-wrap:wrap}.technology-visual{min-height:390px}.tech-stack div{grid-template-columns:100px 1fr}.suffolk{padding:70px 0}.suffolk-photo{min-height:360px}.suffolk-copy{padding:2.6rem 2rem}.approach-grid{grid-template-columns:1fr}.approach-step{min-height:220px}.contact{padding:80px 0}.footer-grid{grid-template-columns:1fr}.footer-line{justify-content:flex-start;flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}.signal-track{animation:none}}

/* v5.1 visual QA refinements */
.hero-copy,.hero-visual,.intro-heading,.intro-copy,.place-image,.place-statement,.capabilities-head>*,.testbed-grid>*,.technology-grid>*,.suffolk-card>*,.commercial-grid>*,.contact-grid>*{min-width:0}
.place-image figcaption strong{overflow-wrap:break-word}
@media(min-width:1051px){.place-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.76fr) minmax(0,.84fr)}.place-statement div{font-size:clamp(1.95rem,2.25vw,2.45rem)}}
@media(max-width:1050px) and (min-width:701px){.place-statement div{font-size:clamp(2.15rem,4vw,2.8rem)}}
@media(max-width:700px){.place-statement div{font-size:clamp(2rem,10vw,3rem)}.place-statement div span{white-space:normal}.hero-label{max-width:calc(100% - 84px)}.hero-badge{max-width:78%}.contact-email{overflow-wrap:anywhere}.footer-line{row-gap:.4rem}}

/* v5.1 cross-layout safeguards */
.cap-row>*{min-width:0}
.cap-row h3,.cap-row p{overflow-wrap:break-word}
.cap-row-dark a{grid-column:4;justify-self:start;margin-top:-.55rem}
.contact-email{overflow-wrap:anywhere}
.footer-grid>*{min-width:0}
.technology-copy,.testbed-copy,.suffolk-copy,.commercial-copy,.contact-action{min-width:0}
@media(max-width:1050px) and (min-width:701px){.cap-row-dark a{grid-column:4}}
@media(max-width:700px){.cap-row-dark a{display:none}}
