
    :root{--ink:#121719;--muted:#586066;--line:#d8dbdb;--paper:#f7f7f5;--blue:#7dc6d5;--dark:#071c25}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:#b3dfe5;color:#071c25}
    .nav{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,4.5vw,72px);border-bottom:1px solid var(--line);background:rgba(247,247,245,.94);position:sticky;top:0;z-index:20;backdrop-filter:blur(16px)}.brand{font-size:25px;font-weight:790;letter-spacing:-.095em;line-height:1;padding-right:4px}.brand span{color:#7d8589}.nav-links{display:flex;gap:clamp(24px,2.4vw,42px);align-items:center;font-size:14px;font-weight:550}.nav-links a:not(.pill):hover,.text-link:hover{color:#397f8a}.pill{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--ink);border-radius:999px;padding:11px 18px;transition:background .25s,color .25s}.pill:hover{background:var(--ink);color:#fff}.external{font-size:1.08em}.menu-toggle{display:none;border:0;background:none;padding:8px;font-size:15px}
    .hero{min-height:min(820px,calc(100svh - 76px));padding:clamp(40px,7vw,100px) clamp(24px,4.5vw,72px) 48px;display:flex;flex-direction:column;justify-content:space-between}.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:680}.hero h1{font-size:clamp(64px,9.2vw,154px);line-height:.93;letter-spacing:-.087em;font-weight:680;max-width:1430px;margin:74px 0 70px}.hero h1 em{font-style:normal;color:#8b989b}.hero-bottom{display:flex;justify-content:space-between;gap:30px;align-items:end;border-top:1px solid var(--line);padding-top:24px}.hero-bottom p{font-size:clamp(18px,1.7vw,25px);line-height:1.4;letter-spacing:-.025em;max-width:560px;margin:0}.hero-bottom .small{font-size:13px;color:var(--muted);line-height:1.5;max-width:215px;text-align:right}.scroll-cue{display:block;margin-top:22px;font-size:21px}
    .flagship{position:relative;background:var(--dark);color:#fff;min-height:760px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:48px clamp(24px,4.5vw,72px) 60px}.flagship::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,15,22,.86),rgba(3,20,27,.38) 72%),linear-gradient(0deg,rgba(2,15,22,.65),transparent 55%),url('assets/pond.jpg') center/cover no-repeat;transform:scale(1.01)}.flagship>*{position:relative}.flagship .eyebrow{color:#bfd6dc}.flagship-body{max-width:950px}.flagship h2{font-size:clamp(80px,13vw,205px);letter-spacing:-.095em;font-weight:650;line-height:.86;margin:0 0 30px}.flagship h3{font-size:clamp(28px,3.8vw,57px);line-height:1.08;letter-spacing:-.055em;font-weight:500;margin:0 0 36px}.flagship-bottom{display:flex;align-items:end;justify-content:space-between;gap:40px}.flagship-bottom p{font-size:clamp(17px,1.55vw,21px);line-height:1.45;max-width:490px;color:#dce9e9;margin:0}.light-link{font-size:16px;border-bottom:1px solid rgba(255,255,255,.65);padding-bottom:9px;white-space:nowrap;transition:color .2s}.light-link:hover{color:#a6e1e7}
    .section{padding:140px clamp(24px,4.5vw,72px)}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:40px}.section-head h2{font-size:clamp(43px,5.4vw,80px);line-height:1.02;letter-spacing:-.07em;font-weight:590;margin:0;max-width:950px}.section-head .eyebrow{margin-top:12px}.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:100px;border-top:1px solid var(--ink)}.cap{min-height:320px;padding:27px 35px 35px 0;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line)}.cap+ .cap{padding-left:35px}.cap:last-child{border-right:0}.cap .num{font-size:13px;color:#6e777b}.cap h3{font-size:clamp(28px,2.8vw,42px);line-height:1.08;letter-spacing:-.06em;font-weight:570;margin:0 0 16px}.cap p{max-width:320px;color:var(--muted);font-size:17px;line-height:1.52;margin:0}
    .work{padding:105px clamp(24px,4.5vw,72px) 130px;border-top:1px solid var(--line)}.work-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:0 0 70px}.work h2{font-size:clamp(43px,5vw,76px);line-height:1;letter-spacing:-.07em;font-weight:580;margin:26px 0 0}.work-head p{max-width:360px;font-size:17px;line-height:1.5;color:var(--muted);margin:0}.work-row{display:grid;grid-template-columns:minmax(180px,1fr) 1.2fr 1fr;gap:24px;align-items:baseline;padding:29px 0;border-top:1px solid var(--line)}.work-row:last-child{border-bottom:1px solid var(--line)}.work-row h3{font-size:clamp(27px,2.7vw,40px);letter-spacing:-.06em;font-weight:570;margin:0}.work-row p{font-size:17px;line-height:1.45;margin:0}.work-row span{font-size:13px;color:var(--muted);text-align:right}
    .system{background:#e8ebea;padding:clamp(95px,10vw,160px) clamp(24px,4.5vw,72px)}.system-top{display:flex;justify-content:space-between;align-items:start;gap:50px}.system h2{max-width:1050px;font-size:clamp(45px,6.7vw,104px);line-height:.98;letter-spacing:-.078em;font-weight:580;margin:0}.system .intro{max-width:290px;font-size:17px;line-height:1.5;color:#485257;margin:8px 0 0}.process{display:grid;grid-template-columns:repeat(4,1fr);margin-top:120px;border-top:1px solid #879196}.step{padding-top:21px;position:relative}.step:not(:last-child):after{content:"";height:1px;background:#879196;position:absolute;top:-1px;left:0;right:0}.step .dot{width:9px;height:9px;border-radius:50%;background:#121719;position:absolute;top:-5px;left:0}.step h3{font-size:clamp(24px,2.7vw,40px);letter-spacing:-.055em;font-weight:560;margin:22px 0 12px}.step p{font-size:15px;line-height:1.45;color:#5a6367;max-width:210px;margin:0}
    .company{display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding:145px clamp(24px,4.5vw,72px)}.company h2{font-size:clamp(48px,6vw,92px);line-height:1;letter-spacing:-.075em;font-weight:580;margin:25px 0 0}.company-copy{padding-top:27px}.company-copy p{font-size:clamp(21px,2.2vw,31px);letter-spacing:-.035em;line-height:1.34;margin:0 0 25px}.company-copy .detail{font-size:16px;letter-spacing:0;line-height:1.6;color:var(--muted);max-width:540px}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:8px;margin-top:24px;font-weight:590;font-size:16px}
    footer{background:#111719;color:#f1f3f1;padding:105px clamp(24px,4.5vw,72px) 35px}footer h2{font-size:clamp(60px,10vw,150px);line-height:.94;letter-spacing:-.083em;font-weight:580;margin:28px 0 64px;max-width:1200px}footer .cta{display:inline-block;border-bottom:1px solid #cbd4d3;font-size:clamp(19px,2vw,28px);padding-bottom:13px}footer .cta:hover{color:#a3dce4}footer .bottom{border-top:1px solid #465052;margin-top:135px;padding-top:25px;display:flex;justify-content:space-between;gap:20px;align-items:end;color:#adb7b8;font-size:13px;line-height:1.6}footer .bottom a:hover{color:#fff}footer .links{display:flex;gap:24px;flex-wrap:wrap}
    @media(max-width:800px){.nav{height:68px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;padding:24px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.nav.open .nav-links{display:flex}.nav-links a{padding:13px 0}.nav-links .pill{justify-content:center;margin-top:12px}.hero{min-height:690px;padding-top:40px}.hero h1{margin:80px 0 55px;font-size:clamp(57px,12vw,100px)}.hero-bottom{align-items:start}.hero-bottom .small{display:none}.flagship{min-height:660px}.flagship h2{font-size:clamp(69px,14vw,120px)}.flagship-bottom{align-items:start;flex-direction:column}.section{padding-top:95px;padding-bottom:95px}.section-head{grid-template-columns:1fr;gap:27px}.cap-grid{margin-top:70px}.cap{min-height:300px;padding-right:20px}.cap+ .cap{padding-left:20px}.cap p{font-size:15px}.system-top{display:block}.system .intro{margin-top:28px}.process{margin-top:80px}.company{gap:7vw;padding-top:105px;padding-bottom:105px}}
    @media(max-width:600px){.hero{min-height:calc(100svh - 68px)}.hero h1{font-size:clamp(55px,13.4vw,82px);letter-spacing:-.08em}.hero-bottom p{font-size:19px}.flagship{min-height:680px;padding-top:35px;padding-bottom:42px}.flagship::before{background:linear-gradient(0deg,rgba(2,15,22,.9),rgba(3,20,27,.3) 80%),url('assets/pond.jpg') 60% center/cover no-repeat}.flagship h2{font-size:clamp(64px,16vw,100px)}.flagship h3{font-size:34px}.flagship-bottom p{font-size:17px}.section-head h2{font-size:48px}.cap-grid{display:block}.cap,.cap+ .cap{min-height:0;border-right:0;border-bottom:1px solid var(--line);padding:24px 0 30px;gap:40px}.cap:last-child{border-bottom:0}.cap h3{font-size:34px}.work{padding-top:85px;padding-bottom:100px}.work-head{display:block;margin-bottom:45px}.work-head p{margin-top:22px}.work-row{grid-template-columns:1fr auto;gap:10px;padding:25px 0}.work-row h3{grid-column:1}.work-row p{grid-column:1/-1;grid-row:2;font-size:16px}.work-row span{grid-column:2;grid-row:1;align-self:center;white-space:nowrap}.system h2{font-size:52px}.process{grid-template-columns:1fr 1fr;row-gap:35px;margin-top:70px}.step h3{font-size:27px}.step p{font-size:14px;padding-right:10px}.company{display:block}.company-copy{padding-top:55px}.company h2{font-size:62px}footer{padding-top:75px}footer h2{font-size:63px}footer .bottom{margin-top:100px;display:block}footer .links{margin-bottom:25px}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

    .press{padding:115px clamp(24px,4.5vw,72px) 130px;background:#eef0ef}.press-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:66px}.press h2{font-size:clamp(43px,5vw,76px);line-height:1;letter-spacing:-.07em;font-weight:580;margin:26px 0 0}.press-head p{max-width:335px;color:var(--muted);font-size:17px;line-height:1.5;margin:0}.press-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(45px,7vw,110px)}.press-col h3{font-size:14px;letter-spacing:.13em;text-transform:uppercase;margin:0 0 20px}.press-item{display:block;border-top:1px solid #c4cbca;padding:22px 0 25px}.press-item:last-of-type{border-bottom:1px solid #c4cbca}.press-item .source{display:block;color:#5d686b;font-size:13px;margin-bottom:10px}.press-item strong{display:block;font-size:clamp(19px,2vw,27px);line-height:1.2;letter-spacing:-.035em;font-weight:570}.press-item:hover strong{color:#397f8a}.press .text-link{margin-top:34px}
    .coverage-main{padding:100px clamp(24px,4.5vw,72px) 140px}.coverage-intro{border-bottom:1px solid var(--line);padding-bottom:75px}.coverage-intro h1{font-size:clamp(58px,8vw,125px);line-height:.94;letter-spacing:-.08em;font-weight:600;margin:55px 0 33px;max-width:1100px}.coverage-intro p{max-width:650px;font-size:20px;line-height:1.45;color:#465055;margin:0}.coverage-group{padding-top:85px}.coverage-group h2{font-size:clamp(38px,4.5vw,68px);letter-spacing:-.065em;font-weight:580;margin:18px 0 55px}.coverage-entry{display:grid;grid-template-columns:190px minmax(0,1fr) 110px;gap:30px;padding:28px 0;border-top:1px solid var(--line);align-items:start}.coverage-entry:last-child{border-bottom:1px solid var(--line)}.coverage-entry .meta{font-size:14px;line-height:1.5;color:#687176}.coverage-entry h3{font-size:clamp(22px,2.3vw,32px);letter-spacing:-.04em;line-height:1.2;font-weight:570;margin:0 0 10px}.coverage-entry p{font-size:16px;line-height:1.5;color:var(--muted);max-width:750px;margin:0}.coverage-entry>a{font-size:14px;text-align:right;text-decoration:underline;text-underline-offset:5px}.coverage-entry>a:hover{color:#397f8a}.coverage-note{font-size:14px;color:var(--muted);line-height:1.5;margin:24px 0 0}
    @media(max-width:700px){.press{padding-top:90px;padding-bottom:100px}.press-head{display:block;margin-bottom:45px}.press-head p{margin-top:24px}.press-grid{display:block}.press-col+.press-col{margin-top:70px}.coverage-main{padding-top:70px}.coverage-intro{padding-bottom:60px}.coverage-intro h1{margin-top:45px}.coverage-entry{grid-template-columns:1fr auto;gap:9px 18px}.coverage-entry .meta{grid-column:1/-1}.coverage-entry h3,.coverage-entry p{grid-column:1}.coverage-entry>a{grid-column:2;grid-row:2;white-space:nowrap}.coverage-entry p{grid-column:1/-1}.coverage-group{padding-top:70px}}

    .md-status{display:inline-flex;align-items:center;gap:19px;border:1px solid var(--line);background:#fff;padding:10px 22px 10px 0;margin:14px 0 4px;min-height:91px}.md-mark{display:block;position:relative;overflow:hidden;width:132px;height:69px;flex:none}.md-mark img{position:absolute;max-width:none;width:559px;height:795px;left:-218px;top:-588px}.md-status strong{display:block;font-size:17px;letter-spacing:-.025em;font-weight:650}.md-status small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.md-status:hover{border-color:#397f8a}
    footer .offices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px;max-width:1000px;margin-top:100px}footer .offices h3{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#a8bbbf;margin:0 0 16px}footer address{font-size:15px;line-height:1.65;font-style:normal;color:#e3e9e8}footer .bottom{margin-top:105px}
    @media(max-width:700px){footer .offices{grid-template-columns:1fr;gap:32px;margin-top:75px}footer .bottom{margin-top:85px}}

/* Extends the existing .work, .work-head and .work-row conventions. */
.serve {
  padding: 32px clamp(24px, 4.5vw, 72px) 28px;
  background: var(--paper);
  scroll-margin-top: 76px;
}
.serve .serve-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 30px;
  align-items: end;
  margin-bottom: 24px;
}
.serve h2 {
  font-size: clamp(43px, 3.9vw, 76px);
  margin-top: 20px;
}
.serve h2 span { color: var(--muted); letter-spacing: -.07em; }
.serve-head > p { text-align: right; }
.serve-caption {
  margin: 0;
  padding: 8px 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}
.serve-list + .serve-list { border-top: 1px solid var(--line); }
.serve .work-row {
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.14fr) minmax(0, .51fr);
  padding-block: 24.5px;
}
.serve .work-row h3 {
  font-size: 24px;
  line-height: 1.15;
}
.serve .work-row > * { min-width: 0; overflow-wrap: anywhere; }
.serve-list .work-row:last-child { border-bottom: 0; }
.serve-list:last-child .work-row:last-child { border-bottom: 1px solid var(--line); }
@media (max-width: 800px) {
  .serve { padding-top: 64px; padding-bottom: 64px; scroll-margin-top: 68px; }
  .serve .serve-head { grid-template-columns: minmax(0, 1fr); gap: 0; margin-bottom: 32px; }
  .serve h2 { font-size: 43px; line-height: 1.05; }
  .serve h2 span { font-size: clamp(16px, 5.3vw, 36px); }
  .serve-head > p { max-width: none; margin-top: 22px; font-size: 16px; text-align: left; }
  .serve .work-row { grid-template-columns: minmax(0, 1fr); gap: 6px; padding-block: 21.25px; }
  .serve .work-row > * { grid-column: 1; grid-row: auto; }
  .serve .work-row h3 { font-size: 27px; }
  .serve .work-row p { font-size: 16px; }
  .serve .work-row span { text-align: left; white-space: normal; }
}

/* MD badge in footer: sits beside the addresses on wide screens. Transparent on dark;
   logo inverted so the cert's white paper drops out */
footer .offices {
    grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
    max-width: none;
    align-items: start
}

footer .md-status {
    background: transparent;
    border-color: #465052;
    margin: 0;
    justify-self: end
}

footer .md-status:hover {
    border-color: #a3dce4
}

footer .md-mark img {
    filter: invert(1) hue-rotate(180deg);
    mix-blend-mode: screen
}

footer .md-status small {
    color: #adb7b8
}

@media (max-width: 1100px) {
    footer .offices {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    footer .md-status {
        grid-column: 1 / -1;
        justify-self: start
    }
}

@media (max-width: 700px) {
    footer .offices {
        grid-template-columns: 1fr
    }
}
