@charset "UTF-8";
.brand-name>span{position:relative;left:1px}
.brand-symbol{display:block;width:48px;height:48px;flex-shrink:0}
.page-hero>.wrap{text-align:center}
.page-hero>.wrap>h1{max-width:26ch;margin-inline:auto;text-wrap:balance}
.page-hero>.wrap>.eyebrow,.page-hero>.wrap>.lead{margin-inline:auto}
.page-hero>.wrap>.lead{max-width:68ch;text-wrap:pretty}
.section-head.foundation-heading{display:block;text-align:center}
.section-head.foundation-heading h2{max-width:none}
.section-head.foundation-heading .eyebrow{margin-inline:auto}
.wrap.cta{display:grid;grid-template-columns:1.2fr 1fr}
.wrap.cta>.button,.about-page .wrap.cta>.button{justify-self:center;align-self:center}
@media(max-width:760px){.wrap.cta{grid-template-columns:1fr}.wrap.cta>.button{margin-top:0}}
.case-main>ul{margin:1.3rem 0 0}
.about-page .bio,.about-page .intro-grid,.about-page .bio-credentials,.about-page .cta{display:grid;grid-template-columns:.9fr 1.45fr;column-gap:5rem;align-items:start}
.about-page .bio{row-gap:2rem}
.about-page .bio-credentials{grid-column:1/-1}
.about-page .bio-credentials .credential{margin-top:0}
.about-page .leadership-portrait{max-width:360px}
.about-page .cta>.button{justify-self:start;align-self:center}
@media(max-width:1000px){.about-page .bio,.about-page .intro-grid,.about-page .bio-credentials,.about-page .cta{column-gap:3rem}}
@media(max-width:760px){.about-page .bio,.about-page .intro-grid,.about-page .bio-credentials,.about-page .cta{grid-template-columns:1fr;gap:2rem}}
/* Let the opening panel occupy the remaining viewport beneath navigation. */
.home-page .hero-grid{min-height:calc(100vh - var(--home-header-height,105px));min-height:calc(100svh - var(--home-header-height,105px));align-content:center;align-items:center}
.home-page .hero-aside{align-self:center}
@media print{.home-page .hero-grid{min-height:0}}
.services-layout{display:grid;grid-template-columns:.65fr 2.3fr;gap:3rem;align-items:start}
.services-visual{position:sticky;top:100px;min-width:0}
.services-visual canvas{display:block;width:100%;height:360px}
.services-list{min-width:0}
.services-list .service-detail{grid-template-columns:1.3fr 1fr;gap:2.5rem}
@media(max-width:1000px){.services-layout{grid-template-columns:180px 1fr;gap:2rem}.services-list .service-detail{grid-template-columns:1fr}.services-list .service-detail ul{grid-column:auto}}
@media(max-width:760px){.services-layout{grid-template-columns:1fr;gap:1rem}.services-visual{top:0;z-index:2;background:linear-gradient(#101925 85%,transparent)}.services-visual canvas{height:110px;width:min(100%,400px);margin:auto}.services-list .service-detail{scroll-margin-top:130px;gap:1rem}}
@media print{.services-visual{display:none}.services-layout{display:block}}
:root{--ink:#14283c;--navy:#10283f;--blue:#165dc5;--muted:#546475;--line:#d5dfe7;--paper:#fff;--wash:#f0f4f7;--light:#cad8e4;--max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:.25em}a:hover{color:var(--blue)}a:focus-visible,button:focus-visible{outline:3px solid #eea52c;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:1.08}h1{font-size:clamp(2.8rem,5.8vw,5.4rem)}h2{font-size:clamp(2.1rem,3.8vw,3.5rem)}h3{font-size:1.3rem;font-weight:600;line-height:1.3;letter-spacing:-.025em}p+p{margin-top:1.1rem}p{max-width:69ch}ul{padding-left:1.2rem}li+li{margin-top:.45rem}.wrap{max-width:var(--max);margin:auto;width:calc(100% - 96px)}.skip{position:absolute;left:1rem;top:-100px;z-index:10;background:white;padding:1rem}.skip:focus{top:1rem}.header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:104px}.brand{text-decoration:none;display:flex;align-items:center;gap:.85rem;flex-shrink:0}.brand-mark{height:44px;width:44px;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:Georgia,serif;font-size:1.25rem;letter-spacing:-.12em;padding-right:.12em}.brand-name{font-size:1rem;font-weight:600;line-height:1.2;letter-spacing:.11em;text-transform:uppercase}.brand-name span{display:block;letter-spacing:.29em;font-size:.69rem;font-weight:400;margin-top:.4rem}.nav{display:flex;flex-wrap:wrap;align-items:center;gap:1.7rem}.nav a{text-decoration:none;font-size:.9rem;padding:.35rem 0;border-bottom:2px solid transparent}.nav a[aria-current=page]{border-color:var(--blue);color:var(--blue)}.nav .nav-contact{background:var(--ink);color:white;padding:.65rem 1rem;border:0}.nav .nav-contact:hover{background:var(--blue)}.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;line-height:1.5;margin-bottom:1.6rem;color:var(--blue)}.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:6rem;align-items:center;padding:90px 0 80px}.hero .eyebrow{color:#aacbfa}.hero h1{max-width:12ch}.hero h1 em{font-style:normal;color:#a9c9f0}.hero-copy{margin-top:1.8rem;color:#d7e1eb;font-size:1.1rem;max-width:48ch}.actions{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;margin-top:2rem}.button{display:inline-block;text-decoration:none;padding:.85rem 1.25rem;background:var(--blue);color:#fff;font-size:.93rem;font-weight:600;line-height:1.5;border:1px solid var(--blue)}.button:hover{background:#104ba2;color:white}.button-light{background:#fff;border-color:#fff;color:var(--navy)}.button-light:hover{background:#dce9f9;color:var(--navy)}.text-link{font-size:.92rem;font-weight:600}.hero .text-link:hover{color:#aacbfa}.hero-aside{border-top:1px solid #5b7287;align-self:end;margin-bottom:.2rem}.hero-aside .aside-label{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:#b7c8d7;padding:1.25rem 0}.hero-aside article{padding:1.25rem 0 1.5rem;border-bottom:1px solid #395369;display:grid;grid-template-columns:2rem 1fr;gap:1rem}.hero-aside .number{color:#95bdef;font-family:Georgia,serif;font-size:1.1rem}.hero-aside h3{font-size:1.1rem;font-weight:400;margin-bottom:.4rem}.hero-aside p{font-size:.92rem;color:#bdccda;line-height:1.55}.sector-bar{background:#e9eff4}.sector-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.25rem 0;font-size:.85rem;color:#354c62}.sector-inner p{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.11em}.sector-list{display:flex;gap:2rem;flex-wrap:wrap}.section{padding:88px 0}.section-tint{background:var(--wash)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:3rem}.section-head h2{max-width:19ch}.section-head>p{max-width:42ch;color:var(--muted)}.intro-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:5rem}.intro-grid>div>p{color:var(--muted);font-size:1.05rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}.service-card{border-top:2px solid var(--ink);padding-top:1.4rem}.service-card .index{display:block;color:var(--blue);font-family:Georgia,serif;font-size:1rem;margin-bottom:1.4rem}.service-card h3{margin-bottom:1rem}.service-card p{color:var(--muted);font-size:.96rem}.service-card a{display:inline-block;margin-top:1.25rem}.project-list{border-top:1px solid var(--line)}.project-row{display:grid;grid-template-columns:1fr 1.1fr auto;gap:2.3rem;padding:1.7rem 0;border-bottom:1px solid var(--line);text-decoration:none;align-items:center}.project-row:hover h3{color:var(--blue)}.project-row p{color:var(--muted);font-size:.94rem}.tagline{font-size:.73rem;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:.45rem}.project-row .arrow{font-size:1.5rem;color:var(--blue)}.note{font-size:.85rem!important;color:var(--muted);margin-top:1.5rem;max-width:86ch}.capability{background:var(--navy);color:white}.capability .eyebrow{color:#a5c5ef}.capability p{color:#c9d7e3}.capability ul{list-style:none;padding:0;margin:1.5rem 0 0}.capability li{border-bottom:1px solid #395369;padding:.7rem 0;font-size:.94rem}.cta{display:flex;align-items:center;justify-content:space-between;gap:3rem}.cta p{color:var(--muted);margin-top:1rem}.cta h2{max-width:22ch}.footer{padding:42px 0 26px;border-top:1px solid var(--line)}.footer-top{display:flex;justify-content:space-between;gap:3rem;margin-bottom:2.5rem}.footer-copy{font-size:.88rem;color:var(--muted);margin-top:1rem;max-width:37ch}.footer-links{display:flex;flex-wrap:wrap;align-items:start;gap:1.5rem;font-size:.88rem}.footer-bottom{display:flex;justify-content:space-between;gap:2rem;border-top:1px solid var(--line);padding-top:1.4rem;color:var(--muted);font-size:.78rem}.page-hero{padding:72px 0 64px;background:var(--wash)}.page-hero h1{font-size:clamp(2.6rem,5vw,4.6rem);max-width:17ch}.page-hero .lead{font-size:1.15rem;max-width:62ch;color:var(--muted);margin-top:1.65rem}.service-detail{display:grid;grid-template-columns:.65fr 1.3fr 1fr;gap:3rem;padding:2.5rem 0;border-top:1px solid var(--line);scroll-margin-top:2rem}.service-detail:last-child{border-bottom:1px solid var(--line)}.service-detail .index{font-family:Georgia,serif;font-size:2rem;color:var(--blue)}.service-detail h2{font-size:2rem;margin-bottom:1.1rem;letter-spacing:-.035em}.service-detail p,.service-detail li{color:var(--muted);font-size:.96rem}.service-detail ul{margin:0}.case{display:grid;grid-template-columns:.9fr 1.5fr;gap:4rem;border-top:1px solid var(--line);padding:3rem 0;scroll-margin-top:2rem}.case h2{font-size:2.05rem;letter-spacing:-.03em}.case .affiliation{font-size:.84rem;margin-top:1rem;color:var(--muted)}.case-main>p{color:var(--muted)}.case h3{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin:1.8rem 0 .6rem}.case li{color:var(--muted);font-size:.96rem}.chips{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.4rem}.chip{font-size:.75rem;border:1px solid var(--line);padding:.25rem .65rem;background:#fff;color:#40566b}.additional-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem 4rem}.additional-grid h3{margin-bottom:.7rem}.additional-grid p{color:var(--muted);font-size:.96rem}.bio{display:grid;grid-template-columns:.9fr 1.45fr;gap:5rem}.bio-sign{font-family:Georgia,serif;font-size:2.7rem;line-height:1.15;letter-spacing:-.04em}.bio-sign small{display:block;font-family:Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;color:var(--blue);margin-top:1rem}.bio-main p{color:var(--muted)}.credential{margin-top:2rem;border-top:1px solid var(--line);padding-top:1.3rem}.credential p{font-size:.9rem;color:var(--muted)}.credential h3{font-size:1rem;margin-bottom:.5rem}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:2.6rem}.team-grid h3{margin-bottom:.7rem}.team-grid p{color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:6rem}.contact-grid h2{font-size:2.4rem}.email-link{font-size:clamp(1rem,2vw,1.45rem);display:inline-block;overflow-wrap:anywhere;color:var(--blue);margin:1.3rem 0 1rem}.contact-grid p{color:var(--muted)}.contact-aside{border-top:2px solid var(--ink);padding-top:1.5rem}.contact-aside h3{margin-bottom:1rem}.contact-aside ol{padding-left:1.2rem;color:var(--muted)}.contact-small{font-size:.87rem}.contact-grid .button{margin:1rem 0}.not-found{text-align:center;padding:100px 0}.not-found h1{margin-bottom:2rem}.not-found p{margin:auto}.not-found a{margin-top:2rem}
/* Dark editorial palette with silver typography and blue accents. */
:root{color-scheme:dark;--ink:#ecf1f7;--navy:#111f30;--blue:#9cc6ff;--muted:#b2c0d0;--line:#35475c;--paper:#101925;--wash:#172436;--light:#cad8e4}
.header{background:#0c1520}.brand-mark{background:#dbe8f6;color:#14283c}.brand:hover{color:#bfd9fb}.nav .nav-contact{background:#c6dcf7;color:#10283f}.nav .nav-contact:hover{background:#e2edfb;color:#10283f}.skip{background:#dce9f9;color:#10283f}.hero{background:linear-gradient(125deg,#102136,#172e47)}.hero h1 em{color:#accff9}.hero-aside{border-top-color:#68829c}.hero-aside article{border-bottom-color:#405971}.sector-bar{background:#1d3045}.sector-inner{color:#d0dcea}.service-card{border-top-color:#7391af}.project-row:hover{background:#1c2d42}.chip{background:#1c3047;color:#c5d7eb;border-color:#405971}.capability{background:#142a41}.button{background:#accff9;color:#102239;border-color:#accff9}.button:hover{background:#d1e4ff;color:#102239}.button-light{background:#d8e8fa;border-color:#d8e8fa;color:#102239}.button-light:hover{background:#fff;color:#102239}.contact-aside{border-top-color:#7391af}.leadership-portrait{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:92% center;max-width:440px;border:1px solid #53677c;margin:0 0 1.8rem}.bio-sign{font-size:2.3rem}.footer{background:#0c1520}.note{color:#bccadc}.eyebrow,.tagline{color:#a9ceff}.nav a[aria-current=page]{color:#b9d6ff}.nav .nav-contact[aria-current=page]{color:#102239;box-shadow:inset 0 -3px #457fbd}
@media print{:root{color-scheme:light;--paper:#fff;--ink:#14283c;--muted:#465567;--wash:#fff;--blue:#194a80;--line:#aab7c4}.hero,.capability,.sector-bar{background:#fff!important;color:#14283c}.hero h1 em,.eyebrow,.tagline{color:#194a80}.chip{background:#fff;color:#14283c}.leadership-portrait{max-width:220px}}
.network-background{position:absolute;inset:0;pointer-events:none;opacity:.65}
.network-background canvas{display:block;width:100%;height:100%}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(16,33,54,.83),rgba(16,33,54,.48) 52%,rgba(23,46,71,.6))}
.hero-grid{position:relative;z-index:1;align-items:start}
.hero-aside{align-self:start;margin-top:0}
.hero-aside article{display:block}
.hero-aside .aside-label{padding-top:1.25rem}
.laura-profile{border-top:1px solid var(--line);background:#132031}
@media(max-width:760px){.network-background{opacity:.45}.hero::after{background:rgba(16,33,54,.65)}}
@media print{.network-background{display:none}}
.form-intro{margin:1.25rem 0 2rem}#contact-form{position:relative}#contact-form label{display:block;font-size:.94rem;margin-bottom:1.2rem;color:var(--ink)}#contact-form label span{color:var(--muted);font-size:.85rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}#contact-form input,#contact-form textarea{display:block;width:100%;background:#172638;border:1px solid #58718b;color:#ecf1f7;font:inherit;font-size:1rem;border-radius:3px;padding:.8rem;margin-top:.45rem}#contact-form textarea{resize:vertical;min-height:160px}#contact-form input:focus-visible,#contact-form textarea:focus-visible{outline:2px solid #a9ceff;outline-offset:3px}#contact-form textarea::placeholder{color:#a2b3c5}.form-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}#contact-security{margin-top:1.4rem;min-height:65px;max-width:100%}#contact-form button{font:inherit;cursor:pointer}#contact-form button:disabled{opacity:.55;cursor:not-allowed}#form-status{font-size:.9rem;margin-top:.6rem;min-height:3em}#form-status[data-state=error]{color:#ffb3ac}#form-status[data-state=success]{color:#ade1c6}@media(max-width:760px){.form-row{grid-template-columns:1fr;gap:0}}
@media(min-width:1500px){.hero-grid{padding:110px 0 100px}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.header-inner{gap:1.5rem}.nav{gap:1rem}.hero-grid{gap:3rem;grid-template-columns:1.3fr 1fr}.intro-grid,.bio{gap:3rem}.contact-grid{gap:3rem}.service-detail{grid-template-columns:.3fr 1.2fr 1fr;gap:2rem}.sector-inner{align-items:start}.sector-list{gap:.6rem 1.5rem}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header-inner{display:block;padding:22px 0 16px}.brand{width:max-content}.nav{margin-top:20px;justify-content:space-between;gap:.5rem}.nav a{font-size:.83rem}.nav .nav-contact{padding:.45rem .65rem}.hero-grid{grid-template-columns:1fr;padding:55px 0;gap:3rem}.hero h1{max-width:13ch}.hero-aside{max-width:none}.hero-aside article{padding:1rem 0}.section{padding:56px 0}.section-head{display:block;margin-bottom:2rem}.section-head>p{margin-top:1.2rem}.service-grid{grid-template-columns:1fr;gap:2rem}.service-card .index{margin-bottom:.8rem}.intro-grid,.bio,.team-grid,.contact-grid,.case,.additional-grid{grid-template-columns:1fr;gap:2rem}.project-row{grid-template-columns:1fr auto;gap:.75rem 1rem}.project-row>p{grid-column:1;grid-row:2}.project-row .arrow{grid-column:2;grid-row:1/3}.sector-inner{display:block}.sector-list{margin-top:.7rem}.cta{display:block}.cta .button{margin-top:1.5rem}.footer-top,.footer-bottom{flex-direction:column;gap:1.5rem}.footer-links{gap:1rem 1.5rem}.page-hero{padding:50px 0}.service-detail{grid-template-columns:2rem 1fr;gap:1rem}.service-detail ul{grid-column:2}.case{padding:2.5rem 0}.case .affiliation{margin-top:.65rem}.case h3{margin-top:1.3rem}.contact-grid{gap:3rem}.actions{gap:1rem}.nav-contact[aria-current=page]{box-shadow:inset 0 -3px #9dbde9}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.header,.footer,.actions,.cta,.skip{display:none}.wrap{width:100%}.section,.page-hero{padding:20px 0}.hero,.capability{background:white;color:black}.hero p,.capability p{color:#333}.hero-grid{padding:20px 0}.case,.service-detail{break-inside:avoid}a{color:inherit}}

/* A viewport-sized network stays behind the complete homepage. */
.home-page{isolation:isolate;background:#102136}
.home-page>.network-background{position:fixed;inset:0;z-index:-1;opacity:.8;background:linear-gradient(125deg,#102136,#172e47)}
.home-page>.network-background canvas{width:100%;height:100%}
.home-page .hero{background:rgba(16,33,54,.48)}
.home-page .hero::after{display:none}
.home-page main>.section{background:rgba(16,25,37,.76)}
.home-page main>.section-tint{background:rgba(23,36,54,.76)}
.home-page main>.capability{background:rgba(20,42,65,.72)}
.home-page .sector-bar{background:rgba(29,48,69,.8)}
.home-page .header,.home-page .footer{background:rgba(12,21,32,.88)}
.technical-grid{display:grid;grid-template-columns:1fr 1.25fr;align-items:center;gap:4rem}
.technical-face img{display:block;width:100%;height:auto;max-width:480px;mix-blend-mode:screen}
.technical-face{mask-image:radial-gradient(ellipse at center,#000 45%,transparent 72%)}
.technical-expertise h3{margin:1.6rem 0 .75rem}
.technical-expertise p:not(.eyebrow){color:var(--muted)}
.technical-expertise .text-link{display:inline-block;margin-top:1.5rem}
@media(max-width:760px){.technical-grid{grid-template-columns:1fr;gap:1.5rem}.technical-face{max-width:300px;margin:auto}.home-page .hero{background:rgba(16,33,54,.62)}}
@media print{.home-page main>.section,.home-page .hero{background:white}}
/* Phone reading and touch controls. */
@media(max-width:760px){
  .nav{justify-content:flex-start;gap:.25rem .5rem}
  .nav a,.nav .nav-contact{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:.875rem;padding:.45rem .5rem}
  .footer-links a,.actions .text-link{display:inline-flex;align-items:center;min-height:44px}
  .button{min-height:44px;max-width:100%;text-align:center}
  .hero-grid>div,.intro-grid>div,.bio>div,.case>div,.contact-grid>div,.project-row>div,.technical-grid>div{min-width:0}
  main h1,main h2,main h3,.brand-name{overflow-wrap:break-word}
  .hero-aside p,.service-card p,.service-detail p,.service-detail li,.project-row p,.case li,.additional-grid p,.credential p{font-size:1rem}
  .services-visual canvas{height:72px}
  .services-list .service-detail{scroll-margin-top:90px}
}
@media(max-width:360px){
  .nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem .5rem}
  .home-page .hero h1{font-size:2.5rem}
}
