@font-face {
  font-family: Jost;
  src: url("/fonts/jost-latin-var.woff2") format("woff2-variations"),
       url("/fonts/jost-latin-var.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Jost fallback";
  src: local("Arial"), local("Helvetica"), local("Liberation Sans"), local("Roboto");
  font-weight: 100 900;
  size-adjust: 102.3599%;
  ascent-override: 104.5332%;
  descent-override: 36.6355%;
  line-gap-override: 0.0%;
}
@font-face {
  font-family: "Jost caps fallback";
  src: local("Arial"), local("Helvetica"), local("Liberation Sans"), local("Roboto");
  font-weight: 400;
  size-adjust: 91.6583%;
  ascent-override: 116.7379%;
  descent-override: 40.9128%;
  line-gap-override: 0.0%;
}
@font-face {
  font-family: "Jost caps fallback";
  src: local("Arial"), local("Helvetica"), local("Liberation Sans"), local("Roboto");
  font-weight: 600;
  size-adjust: 98.0589%;
  ascent-override: 109.1181%;
  descent-override: 38.2423%;
  line-gap-override: 0.0%;
}

.mr-stage{position:fixed;inset:0 auto auto 0;width:100vw;height:100lvh;overflow:hidden;z-index:0;pointer-events:none;contain:strict}.mr-stage.mr-black{background:#000}.mr-world{position:absolute;left:0;top:0;transform-origin:0 0}.mr-world img,.mr-world video,.mr-mv{position:absolute;display:block;max-width:none;max-height:none;margin:0}.mr-world video{object-fit:fill;transition:opacity .4s linear}.mr-mv{background:#fff}.mr-pm picture,.mr-pm video{visibility:hidden}.mr-gl{position:absolute;left:0;top:0;width:100%;height:100%}.mr-vt{position:absolute;left:0;top:0;width:2px;height:2px;opacity:0}.mr-pause{position:fixed;right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));z-index:50;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(8,18,32,.55);color:#fff;display:grid;place-items:center;cursor:pointer}.mr-pause:focus-visible{outline:2px solid #fff;outline-offset:3px}.mr-pause[hidden]{display:none}@media (prefers-reduced-motion:reduce){.mr-world video{transition:none}}
:root {
  --ink: #14304f;
  --bg: #dce4ea;
  --display: max(clamp(34.6429px, calc(29.4694px + 1.3265vw), 48.5714px), 3.373vw);
  --display-ls: calc(0.0299em + 0.1813px);
  --wordmark-ls: calc(0.0549em + 0.1813px);
  --mark-ls: calc(0.1449em + 0.1813px);
  --small: max(12px, 0.8333vw);
  --small-ls: calc(0.1049em + 0.1813px);
  --role-ls: calc(0.0849em + 0.1813px);
  --mixed-ls: calc(-0.0073em + 0.673px);
  --title-ls: calc(0.0039em + 0.673px);
  --cred-ls: calc(0.0439em + 0.673px);
  --nav-size: max(12px, 0.8333vw);
  --nav-ls: calc(0.0299em + 0.1813px);
  --nav-gap: calc(2 * var(--nav-size));
  --body: 17px;
  --body-lh: 1.6;
  --list-size: calc(var(--body) * 1.18);
  --w-text: 600;
  --w-head: 400;
  --w-hover: 760;
  --measure: 34em;
  --margin: 32px;
  --col-left: var(--margin);
  --col-right: var(--margin);
  --rest-top: 64svh;
  --head-h: 64px;
  --band-fade: 2px;

  --ease-settle: cubic-bezier(0.4, 0, 0.1, 1);
  --ease-arrive: cubic-bezier(0.33333, 1, 0.66667, 1);
  --dur-hover: 200ms;
  --dur-ui: 400ms;
  --dur-fade: 1000ms;
  --dur-travel: 1600ms;
  --stagger: 150ms;

  --layout: "band";
}
@media (min-aspect-ratio: 6/5) {
  :root {
    --layout: "column";
    --margin: 4.1667vw;
    --col-left: 52vw;
    --col-right: 6vw;
    --rest-top: 18svh;
    --body: 18px;
    --measure: 36em;
    --head-h: max(72px, 9svh);
  }
}
@media (min-aspect-ratio: 16/9) { :root { --body: 19px; --col-left: 50vw; } }
@media (orientation: landscape) and (max-height: 500px) and (pointer: coarse) {
  :root { --body: 15px; --rest-top: 22svh; --head-h: 56px; --display: max(26px, 5.2vmin); }
}
@media (orientation: landscape) and (max-height: 500px) and (pointer: coarse) and (min-aspect-ratio: 6/5) { :root { --col-left: 58vw; } }

*, *::before, *::after { box-sizing: border-box; }
html { background: var(--bg); -webkit-text-size-adjust: 100%; }
body {
  margin: 0; color: var(--ink);
  font-family: Jost, "Jost fallback", "Century Gothic", system-ui, sans-serif;
  font-size: var(--body); line-height: var(--body-lh); font-weight: var(--w-text);
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
a { color: inherit; }
p { margin: 0 0 0.9em; max-width: var(--measure); text-wrap: pretty; hanging-punctuation: first; }
h1, h2, h3 { text-wrap: balance; }
ul { list-style: none; margin: 0; padding: 0; }
address { font-style: normal; }
::selection { background: var(--ink); color: var(--bg); }
:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; box-shadow: 0 0 0 2px #fff; }

.stage { position: fixed; inset: 0 auto auto 0; width: 100vw; height: 100lvh; overflow: hidden; z-index: 0; background: var(--bg); }
.stage > picture > img, .stage > noscript > picture > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 31.934% 40.204%; }

.display, .wordmark {
  font-weight: var(--w-head); text-transform: uppercase; letter-spacing: var(--display-ls);
  font-size: var(--display); line-height: calc(1.2em + 9.7px); margin: 0; text-wrap: balance;
}
.wordmark { font-size: min(calc(var(--display) * 1.5), calc((100vw - var(--col-left) - var(--col-right)) / 9.2), 72px); line-height: 1.1; letter-spacing: var(--wordmark-ls); }
.wordmark .w { white-space: nowrap; }
.label {
  font-weight: var(--w-text); text-transform: uppercase; letter-spacing: var(--small-ls);
  font-size: var(--small); line-height: 1.2; margin: 0 0 1.1em;
}
.display, .wordmark, .label, .portal .tier, .mark, .nav a, .social a, .role, .back, .foot .legal, .contact .under, .draft-mark {
  font-family: Jost, "Jost caps fallback", "Century Gothic", system-ui, sans-serif;
}
.big { font-size: calc(var(--display) * 0.8); line-height: 1.25; letter-spacing: var(--mixed-ls); font-weight: var(--w-text); }

.top {
  position: fixed; top: 0; left: 0; right: 0; z-index: 3; height: var(--head-h);
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; column-gap: var(--nav-gap);
  padding: env(safe-area-inset-top) max(var(--margin), env(safe-area-inset-right)) 0 max(var(--margin), env(safe-area-inset-left));
}
.top > .mark { justify-self: start; }
.mark, .nav a, .social a {
  text-decoration: none; text-transform: uppercase; font-weight: var(--w-text);
  font-size: var(--nav-size); line-height: 1.6; letter-spacing: var(--nav-ls);
  position: relative; display: inline-block;
}
.mark { letter-spacing: var(--mark-ls); }
.nav ul { display: flex; flex-wrap: nowrap; gap: 0 var(--nav-gap); }
.mark::before, .nav a::before, .social a::before { content: ""; position: absolute; left: -8px; right: -8px; top: 50%; height: max(44px, 100%); transform: translateY(-50%); }
@media (max-width: 749.98px) {
  :root { --head-h: 76px; --nav-gap: 1.6em; }
  .top { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; }
  .nav ul { justify-content: center; }
}
@media (max-width: 749.98px) and (orientation: landscape) and (max-height: 500px) and (pointer: coarse) { :root { --head-h: 56px; } }

@property --sy { syntax: '<length>'; inherits: false; initial-value: 0px; }
@property --band { syntax: '<length>'; inherits: false; initial-value: 0px; }
@property --edge { syntax: '<length>'; inherits: false; initial-value: 0px; }
main {
  --band: var(--head-h);
  -webkit-mask-image: linear-gradient(to bottom, transparent calc(var(--sy) + var(--band) + var(--edge)), #000 calc(var(--sy) + var(--band) + var(--edge) + var(--band-fade)));
  mask-image: linear-gradient(to bottom, transparent calc(var(--sy) + var(--band) + var(--edge)), #000 calc(var(--sy) + var(--band) + var(--edge) + var(--band-fade)));
  transition: --band var(--dur-ui) var(--ease-arrive), --edge var(--dur-hover) var(--ease-settle);
}
@keyframes band-sy { from { --sy: 0px; } to { --sy: 100000px; } }
@supports (animation-timeline: scroll()) {
  main { animation: band-sy 1ms linear both; animation-timeline: scroll(root); animation-range: 0px 100000px; }
}
@media (prefers-reduced-motion: reduce) { main { transition: none; } }

.nav a, .social a { display: inline-grid; }
.nav a > .t, .social a > .t, .nav a::after, .social a::after { grid-area: 1 / 1; }
.nav a::after, .social a::after {
  content: attr(data-text); font-weight: var(--w-hover); visibility: hidden; pointer-events: none; user-select: none;
}
.nav .t, .social .t {
  position: relative; font-weight: var(--w-text);
  transition: font-weight var(--dur-hover) var(--ease-arrive), letter-spacing var(--dur-hover) var(--ease-arrive),
    text-shadow var(--dur-hover) var(--ease-arrive);
}
.nav .t::after, .social .t::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -5px; height: 2px; background: currentColor;
  transform: scaleX(0); transform-origin: 100% 50%; transition: transform var(--dur-ui) var(--ease-settle);
}
@media (hover: hover) and (pointer: fine) {
  .nav a:hover .t, .social a:hover .t { font-weight: var(--w-hover); }
  .nav a:hover .t::after, .social a:hover .t::after { transform: scaleX(1); transform-origin: 0 50%; }
  [data-hover="b"] .nav a:hover .t, [data-hover="b"] .social a:hover .t { letter-spacing: calc(var(--nav-ls) - 0.015em); }
  [data-hover="c"] .nav a:hover .t, [data-hover="c"] .social a:hover .t { text-shadow: 0 0 14px rgba(20, 48, 79, 0.28); }
}
.nav a:focus-visible .t, .social a:focus-visible .t { font-weight: var(--w-hover); }
.nav a:focus-visible .t::after, .social a:focus-visible .t::after { transform: scaleX(1); transform-origin: 0 50%; }
[data-hover="b"] .nav a:focus-visible .t, [data-hover="b"] .social a:focus-visible .t { letter-spacing: calc(var(--nav-ls) - 0.015em); }
[data-hover="c"] .nav a:focus-visible .t, [data-hover="c"] .social a:focus-visible .t { text-shadow: 0 0 14px rgba(20, 48, 79, 0.28); }
.nav a[aria-current] .t::after { transform: scaleX(1); transform-origin: 0 50%; opacity: 0.55; }
@media (prefers-reduced-motion: reduce) { .nav .t, .social .t, .nav .t::after, .social .t::after { transition: none; } }

main { position: relative; z-index: 1; display: block; }
main:focus, [tabindex="-1"]:focus { outline: none; box-shadow: none; }
.beat {
  position: relative; min-height: 100svh;
  padding: var(--rest-top) var(--col-right) 22svh var(--col-left);
}
.beat > *, .beat .chapter, .beat .group, .beat .services, .beat .filings { max-width: var(--measure); }
.beat h2.display { margin-bottom: 1.4em; font-size: min(var(--display), 45px); }
.beat[id] { scroll-margin-top: 0; }
.services[id], .names li[id] { scroll-margin-top: var(--rest-top); }

@media (min-aspect-ratio: 2/1) and (min-width: 1280px) { .beat#team { scroll-margin-top: 55px; } }
.chapter + .chapter, .chapter + .services, .group + .group, .filings { margin-top: 3.2em; }
@media (min-aspect-ratio: 6/5) { .beat .chapter + .chapter { margin-top: max(3.2em, 14lvh); } }
@media not all and (min-aspect-ratio: 6/5) {
  .services[id] { scroll-margin-top: 0; padding-top: var(--rest-top); margin-top: 0; }
}

.home { display: flex; flex-direction: column; justify-content: flex-end; min-height: 100svh; padding-bottom: 10svh; }
.home .lead { margin-top: 1.4em; font-size: calc(var(--body) * 1.12); max-width: 26em; }
@media (min-aspect-ratio: 6/5) { .home { justify-content: center; padding-top: 30svh; padding-bottom: 14svh; } }

.home {
  display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(calc(100svh + 8px), auto) auto;
  justify-content: normal; align-content: start; align-items: start;
  padding-top: 0; padding-bottom: max(var(--foot-pb), env(safe-area-inset-bottom, 0px));
}
.home .wordmark { margin-top: var(--rest-top); }
.home .lead { margin: 0; }
@media (min-aspect-ratio: 6/5) {
  :root { --h-top: calc(var(--head-h) + max(1.5svh, 8px)); --h-lines: 3; }
  .home {
    --h-w: min(calc(var(--display) * 1.5), calc((100vw - var(--col-left) - var(--col-right)) / 9.2), 72px);
    --h-ls: calc(var(--body) * 1.12);
    --h-wx: calc((1.1 * var(--h-w) - round(1.07 * var(--h-w), 1px) - round(0.375 * var(--h-w), 1px)) / 2);
    --h-off: calc(1.1 * var(--h-w) - round(1.07 * var(--h-w), 1px) - round(down, var(--h-wx) + clamp(0px, -1000 * var(--h-wx), 0.0078125px), 1px)
      + round(down, (1.6 * var(--h-ls) - round(1.07 * var(--h-ls), 1px) - round(0.375 * var(--h-ls), 1px)) / 2, 1px)
      + round(1.07 * var(--h-ls), 1px) - 0.7 * var(--h-ls));
    --h-room: calc(100svh - var(--h-top) - max(var(--foot-pb), env(safe-area-inset-bottom, 0px)) - 2.2 * var(--h-w) - var(--h-lines) * 1.6 * var(--h-ls));
  }
  .home .wordmark { margin-top: calc(var(--h-top) + max(0px, (var(--h-room) - 14 * var(--h-ls) - 9 * var(--h-off)) / 2)); }
}
@media (min-aspect-ratio: 6/5) and (min-width: 1280px) {
  .home .wordmark { align-self: center; margin: var(--head-h) 0 8px; }
}
@media screen and (pointer: coarse) and (min-width: 700px) and (min-height: 501px) {
  .wordmark { font-size: calc(min(calc(var(--display) * 1.5), calc((100vw - var(--col-left) - var(--col-right)) / 9.2)) * 72 / 91.83); }
  .beat h2.display { font-size: calc(var(--display) * 45 / 64.76); }
}
@media screen and (pointer: coarse) and (min-width: 700px) and (min-height: 501px) and (min-aspect-ratio: 6/5) {
  .home { --h-w: calc(min(calc(var(--display) * 1.5), calc((100vw - var(--col-left) - var(--col-right)) / 9.2)) * 72 / 91.83); }
}
@media (min-aspect-ratio: 6/5) and (orientation: landscape) and (max-height: 500px) { :root { --h-lines: 4; } }

.beat h3.label, .portal .tier {
  font-size: var(--list-size); line-height: 1.2; font-weight: var(--w-text); text-transform: uppercase;
  letter-spacing: var(--small-ls); margin: 0 0 calc(1.1 * var(--small));
}
@media (max-width: 375px) {
  .beat h3.label, .portal .tier { max-width: 13em; }
}

.names li { font-size: var(--body); line-height: var(--body-lh); font-weight: var(--w-text); letter-spacing: normal; padding: 0.18em 0; }
@media (min-aspect-ratio: 6/5) {
  .beat .services, .beat .names {
    --names-size: var(--body);
    max-width: max(var(--measure), calc(var(--names-size) * 15));
  }
  .beat .names {
    columns: 2 calc(var(--names-size) * 6.4);
    column-gap: max(2.4em, calc(var(--names-size) * 1.2));
  }
  .names li { break-inside: avoid; }
}
.beat .services .names { padding-inline-start: var(--list-size); }
@media (min-aspect-ratio: 6/5) {
  .beat .services { container-type: inline-size; }
  .beat .services, .beat .names { max-width: calc(max(var(--measure), calc(var(--names-size) * 15)) + var(--list-size)); }
  .beat .names {
    column-gap: max(calc(var(--names-size) * 1.2), calc(100cqw - var(--list-size) - min(100cqw, max(var(--measure), calc(var(--names-size) * 15)))
      + max(2.4em, calc(var(--names-size) * 1.2))));
  }
}
@media (min-aspect-ratio: 6/5) { .beat .chapter + .services { margin-top: max(3.2em, 14lvh); } }
@media not all and (min-aspect-ratio: 6/5) {
  .services[id] { padding-top: calc(var(--rest-top) - var(--head-h) - 0.9em); scroll-margin-top: calc(var(--head-h) + 0.9em); }
}

.roster { display: grid; grid-template-columns: 1fr; gap: 1.2em 2.4em; }
@media (min-aspect-ratio: 6/5) { .roster { grid-template-columns: 1fr 1fr; } .beat#team .group, .beat#team > h2 { max-width: 46em; } }
.person { display: flex; flex-direction: column; }
.person .name { text-decoration: none; font-size: calc(var(--body) * 1.22); line-height: 1.3; width: fit-content; }
.person .title, .person .cred { font-size: var(--small); letter-spacing: var(--title-ls); line-height: 1.55; }
.person .cred { letter-spacing: var(--cred-ls); }

.links li + li { margin-top: 0.5em; }
.links a, .under, .back a, .foot a { text-decoration: none; position: relative; display: inline-block; padding: 2px 0; }
.links a::after, .under::after, .back a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor; opacity: 0.4;
  transition: opacity var(--dur-ui) linear;
}
.links a { font-size: var(--body); line-height: var(--body-lh); font-weight: var(--w-text); letter-spacing: normal; }
.portal .logins, .filings .links { padding-inline-start: var(--list-size); }
@media (hover: hover) and (pointer: fine) {
  .links a:hover::after, .under:hover::after, .back a:hover::after { opacity: 1; }
  .person .name:hover, .contact .big:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.22em; }
  .foot a:hover { text-decoration: underline; text-underline-offset: 0.3em; }
}
.links a:focus-visible::after, .under:focus-visible::after, .back a:focus-visible::after { opacity: 1; }
.links a:active::after, .under:active::after, .back a:active::after { opacity: 1; height: 2px; }

.contact .contact-grid { display: grid; gap: 2.6em; }
.contact .block { display: flex; flex-direction: column; gap: 0.35em; }
:root { --pe-big: var(--list-size); }
.contact .big { text-decoration: none; width: fit-content; white-space: nowrap; font-size: var(--pe-big); line-height: var(--body-lh); letter-spacing: normal; }
.contact address.big { display: flex; flex-direction: column; }
.contact .under { margin-top: 0.9em; font-size: var(--small); text-transform: uppercase; letter-spacing: var(--small-ls); width: fit-content; }
:root {
  --pe-reach: calc(3.2 * var(--pe-big) + 0.35 * var(--body));
  --pe-addr-h: calc(1.2 * var(--list-size) + 3.6 * var(--small) + 0.7 * var(--body) + 4.8 * var(--pe-big) + 4px);
  --pe-bar: 0px;
}
.contact { min-height: 0; padding-bottom: var(--pe-pb); }
.contact .contact-grid { gap: 0; }
.contact .reach { margin-top: var(--pe-reach-mt); }
.contact .social { margin-top: var(--pe-gs); height: var(--pe-soc); }
.contact h2.display { margin-bottom: max(1.4em, calc(var(--pe-addr) + 8px - var(--pe-addr-h))); }
.contact .social ul { display: flex; flex-wrap: wrap; gap: 0.6em var(--nav-gap); }
@media not all and (min-aspect-ratio: 6/5) {
  :root {
    --pe-rock: 52lvh;
    --pe-rest: calc(var(--pe-reach) + var(--pe-soc) + var(--pe-pb) + var(--pe-foot));
    --pe-reach-mt: calc(100lvh - var(--pe-rest) - var(--pe-gs) - var(--pe-addr));
  }
}
@media (max-width: 699px) { @media not all and (min-aspect-ratio: 6/5) {
  :root {
    --pe-addr: calc(30.7lvh - 12px);
    --pe-bar: 82px;
    --pe-soc: calc(3.2 * var(--nav-size) + 8px);
    --pe-pb: 44.94px;
    --pe-foot: calc(8px + 104px + max(var(--foot-pb), env(safe-area-inset-bottom)));
    --pe-gs: clamp(8px, calc(100lvh - var(--pe-rock) - 12px - var(--pe-bar) - var(--pe-rest)), 48px);
  }
  .contact { --rest-top: 56svh; }
  .contact .social ul { max-width: 12em; row-gap: 8px; }
  .contact .social li { font-size: var(--nav-size); line-height: 1.6; }
} }
@media (min-width: 700px) { @media not all and (min-aspect-ratio: 6/5) {
  :root {
    --pe-addr: calc(30.7lvh - 16px);
    --pe-bar: 56px;
    --pe-soc: calc(1.6 * var(--body));
    --pe-pb: 5lvh;
    --pe-foot: calc(24px + 4.2 * var(--small) + 4px + max(var(--foot-pb), env(safe-area-inset-bottom)));
    --pe-gs: clamp(24px, calc(100lvh - var(--pe-rock) - 4px - var(--pe-bar) - var(--pe-rest)), max(44px, 6lvh));
  }
} }
@media (min-aspect-ratio: 6/5) {
  :root {
    --pe-addr: calc(33lvh - 16px);
    --pe-soc: calc(3.8 * var(--body));
    --pe-pb: calc(8lvh - (var(--foot-pb) - 4lvh));
    --pe-foot: calc(4lvh + 6.2 * var(--small) + 8px + max(var(--foot-pb), env(safe-area-inset-bottom)));
    --pe-reach-top: calc(39lvh + max(3lvh, 24px) + var(--pe-bar));
    --pe-reach-mt: calc(var(--pe-reach-top) - var(--pe-addr));
    --pe-gs: max(1.6em, calc(100lvh - var(--pe-reach-top) - var(--pe-reach) - var(--pe-soc) - var(--pe-pb) - var(--pe-foot)));
  }
}
@media (min-aspect-ratio: 6/5) and (pointer: coarse) { :root { --pe-bar: 56px; } }
:root { --pe-addr: 0px; }
@media (min-aspect-ratio: 6/5) and (max-height: 640px) { .foot .legal { max-width: 26em; } }
@media (min-aspect-ratio: 6/5) and (max-height: 640px) {
  :root {
    --pe-soc: calc(3.8 * var(--body));
    --pe-foot: calc(4lvh + 7.8 * var(--small) + 8px + max(var(--foot-pb), env(safe-area-inset-bottom)));
    --pe-pb: 12px;
    --pe-reach-mt: calc(33lvh - var(--pe-reach));
    --pe-gs: calc(67lvh + 8px - var(--pe-soc) - var(--pe-pb) - var(--pe-foot));
  }
}

@media (min-aspect-ratio: 6/5) and (min-width: 1440px) and (min-height: 880px) {
  .contact {
    --e-d: min(var(--display), 45px); --e-hx: calc((1.2 * var(--e-d) + 9.7px - round(1.07 * var(--e-d), 1px) - round(0.375 * var(--e-d), 1px)) / 2);
    --e-s: var(--small); --e-sx: calc((1.6 * var(--e-s) - round(1.07 * var(--e-s), 1px) - round(0.375 * var(--e-s), 1px)) / 2);
    --e-l: var(--list-size);
    --e-lx: calc((1.2 * var(--e-l) - round(1.07 * var(--e-l), 1px) - round(0.375 * var(--e-l), 1px)) / 2);
    --e-tx: calc((1.6 * var(--e-l) - round(1.07 * var(--e-l), 1px) - round(0.375 * var(--e-l), 1px)) / 2);
    --pe-reach-mt: calc(1.4 * var(--e-d)
      + 1.2 * var(--e-d) + 9.7px - round(1.07 * var(--e-d), 1px) - round(down, var(--e-hx) + clamp(0px, -1000 * var(--e-hx), 0.0078125px), 1px)
      - 2px - 1.6 * var(--e-s) + round(1.07 * var(--e-s), 1px) + round(down, var(--e-sx), 1px)
      + round(down, var(--e-lx) + clamp(0px, -1000 * var(--e-lx), 0.0078125px), 1px) - round(down, var(--e-tx), 1px));
  }
}
@media screen and (pointer: coarse) and (min-width: 1440px) and (min-height: 880px) and (min-aspect-ratio: 6/5) {
  .contact { --e-d: calc(var(--display) * 45 / 64.76); }
}
.contact {
  --d203-l: var(--pe-big); --d203-s: var(--small);
  --d203-al: round(1.07 * var(--d203-l), 1px); --d203-as: round(1.07 * var(--d203-s), 1px);
  --d203-xl: calc((1.6 * var(--d203-l) - var(--d203-al) - round(0.375 * var(--d203-l), 1px)) / 2);
  --d203-xs: calc((1.6 * var(--d203-s) - var(--d203-as) - round(0.375 * var(--d203-s), 1px)) / 2);
  --d203-hl: round(down, var(--d203-xl) + clamp(0px, -1000 * var(--d203-xl), 0.0078125px), 1px);
  --d203-hs: round(down, var(--d203-xs) + clamp(0px, -1000 * var(--d203-xs), 0.0078125px), 1px);
  --d203-m: round(nearest, calc(1.6 * var(--d203-l) - 2 * (var(--d203-hl) + var(--d203-al)) + 0.35em + 0.9 * var(--d203-s)
    - 1.6 * var(--d203-s) + 2 * (var(--d203-hs) + var(--d203-as)) - 0.741 * var(--d203-s) + 0.714 * var(--d203-l)), 0.015625px);
  margin-top: calc(var(--pe-reach-mt) - var(--d203-m));
}
.contact .reach { margin-top: var(--d203-m); }
@media (max-width: 699px) { @media not all and (min-aspect-ratio: 6/5) {
  .contact { --d203-m: var(--pe-reach-mt); }
} }
@media (max-width: 699px) { @media not all and (min-aspect-ratio: 6/5) {
  :root {
    --pe-g-off: calc(1.6 * var(--pe-big) - round(1.07 * var(--pe-big), 1px)
        - round(down, (1.6 * var(--pe-big) - round(1.07 * var(--pe-big), 1px) - round(0.375 * var(--pe-big), 1px)) / 2, 1px)
      + round(down, (1.6 * var(--nav-size) - round(1.07 * var(--nav-size), 1px) - round(0.375 * var(--nav-size), 1px)) / 2, 1px)
      + round(1.07 * var(--nav-size), 1px) - 0.7 * var(--nav-size));
    --pe-gs-room: calc(100lvh - var(--pe-rock) - 12px - var(--pe-bar) - var(--pe-rest));
    --pe-gs: clamp(8px, var(--pe-gs-room), calc(3 * clamp(8px, var(--pe-gs-room), 48px) + 2 * var(--pe-g-off)));
  }
} }
@media (min-width: 700px) { @media not all and (min-aspect-ratio: 6/5) {
  :root {
    --pe-g-off: calc(1.6 * var(--pe-big) - round(1.07 * var(--pe-big), 1px)
        - round(down, (1.6 * var(--pe-big) - round(1.07 * var(--pe-big), 1px) - round(0.375 * var(--pe-big), 1px)) / 2, 1px)
      + round(down, (1.6 * var(--body) - round(1.07 * var(--body), 1px) - round(0.375 * var(--body), 1px)) / 2, 1px)
      + round(1.07 * var(--body), 1px) - 0.7 * var(--nav-size));
    --pe-gs-room: calc(100lvh - var(--pe-rock) - 4px - var(--pe-bar) - var(--pe-rest));
    --pe-gs: clamp(24px, var(--pe-gs-room), calc(3 * clamp(24px, var(--pe-gs-room), max(44px, 6lvh)) + 2 * var(--pe-g-off)));
  }
} }
@media (min-aspect-ratio: 6/5) { :root { --pe-pb: 0px; } }

.bio-head, .legal-head { min-height: 60svh; display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: 6svh; }
.role { margin-top: 1em; font-size: var(--small); text-transform: uppercase; letter-spacing: var(--role-ls); display: flex; flex-wrap: wrap; gap: 0 0.8em; }
.prose { padding: 0 var(--col-right) 18svh var(--col-left); position: relative; }
.prose > * { max-width: var(--measure); }
.prose h2.label { margin-top: 2.4em; }
.draft-mark { margin: 1em 0 0; font-size: var(--small); letter-spacing: 0.3em; font-weight: var(--w-text); }
.back { margin-top: 3em; font-size: var(--small); text-transform: uppercase; letter-spacing: var(--small-ls); }

:root { --foot-pb: 4lvh; }
@media (min-aspect-ratio: 6/5) { @media not all and (min-aspect-ratio: 2/1) { :root { --foot-pb: 6lvh; } } }
@media (max-width: 699px) { @media not all and (min-aspect-ratio: 6/5) { :root { --foot-pb: 12px; } } }
@media (min-width: 700px) { @media not all and (min-aspect-ratio: 6/5) { :root { --foot-pb: 24px; } } }
.foot {
  position: relative; z-index: 0; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between;
  gap: 1em 2.4em; padding: 4svh max(var(--margin), env(safe-area-inset-right)) max(var(--foot-pb), env(safe-area-inset-bottom)) var(--col-left);
  font-size: var(--small); letter-spacing: var(--title-ls);
}
.foot .copy { margin: 0; max-width: none; }
.foot .legal { display: flex; flex-wrap: wrap; gap: 0.4em 1.8em; text-transform: uppercase; letter-spacing: var(--small-ls); }
.foot .legal { padding-right: calc(20px + 1.8em); }
.foot { height: var(--pe-foot); align-content: flex-end; }
@media (max-width: 699px) { @media not all and (min-aspect-ratio: 6/5) {
  .foot { padding-top: 8px; }
  .foot .copy { max-width: 19.5em; }
  .foot .legal { max-width: 26em; }
} }
@media (min-width: 700px) { @media not all and (min-aspect-ratio: 6/5) { .foot { padding-top: 24px; } } }
@media (min-aspect-ratio: 6/5) { .foot { padding-top: 4lvh; } }
@media (orientation: landscape) and (max-height: 500px) and (pointer: coarse) and (min-aspect-ratio: 6/5) { .foot { padding-left: 50vw; } }

html.js .reveal {
  opacity: 0; transform: translateY(20px);
  transition: transform var(--dur-travel) var(--ease-arrive), opacity var(--dur-fade) linear;
  transition-delay: calc(var(--i, 0) * var(--stagger));
}
html.js .reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { html.js .reveal { opacity: 1; transform: none; transition: none; } }
html.js .bio .reveal { transition: transform var(--dur-travel) var(--ease-arrive); transition-delay: calc(var(--i, 0) * var(--stagger)); }
html.js .bio .reveal.is-in { animation: slg-in var(--dur-fade) linear calc(var(--i, 0) * var(--stagger)) both; }
@keyframes slg-in { from { opacity: 0.001; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { html.js .bio .reveal { transition: none; } html.js .bio .reveal.is-in { animation: none; } }
html.js .stage[data-hero="runtime"] ~ main .home > * {
  opacity: 0; transform: translateY(20px);
  transition: transform var(--dur-travel) var(--ease-arrive), opacity var(--dur-fade) linear;
  transition-delay: calc(var(--i, 0) * var(--stagger));
  animation: slg-lit var(--dur-fade) linear 2.5s both;
}
html.js .stage[data-hero="runtime"] ~ main .home > :nth-child(2) { --i: 1; }
html.js.is-lit .stage[data-hero="runtime"] ~ main .home > * { opacity: 1; transform: none; animation: none; }
@keyframes slg-lit { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  html.js .stage[data-hero="runtime"] ~ main .home > * { transform: none; transition: none; }
  @keyframes slg-lit { from { opacity: 0; } to { opacity: 1; } }
}

.mr-pause {
  background: none; border: 0; border-radius: 0; color: var(--ink);
  bottom: calc(max(var(--foot-pb), env(safe-area-inset-bottom)) + 2px + var(--small) * var(--body-lh) / 2 - 22px);
}
.mr-pause:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; box-shadow: 0 0 0 2px #fff; }
@media not all and (min-aspect-ratio: 6/5) {
  .mr-pause { right: calc(4px + env(safe-area-inset-right)); justify-items: end; padding: 0 calc(var(--margin) / 2 - 14px) 0 0; }
  .mr-pause:focus-visible { outline-offset: -2px; box-shadow: inset 0 0 0 4px #fff; }
}
@media (min-aspect-ratio: 6/5) {
  .mr-pause { right: calc(min(var(--margin), var(--col-right) - 20.17px) - 12px + env(safe-area-inset-right)); }
}

.skip {
  position: absolute; left: var(--margin); top: 0; z-index: 5; padding: 8px 12px; background: var(--bg); color: var(--ink);
  transform: translateY(-120%); transition: transform var(--dur-hover) var(--ease-arrive);
}
.skip:focus-visible { transform: translateY(8px); }
@media (prefers-reduced-motion: reduce) { .skip { transition: none; } }
.vh, .draft-tag { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

.beat h2.display { margin-top: calc(2.6 * (var(--display) - min(var(--display), 45px))); }
@media screen and (pointer: coarse) and (min-width: 700px) and (min-height: 501px) { .beat h2.display { margin-top: 0; } }

@media (aspect-ratio < 3/5) { .stage { background-color: #b6c3d5; } }
@media (3/5 <= aspect-ratio < 6/5) { .stage { background-color: #b9c6d7; } }
@media (6/5 <= aspect-ratio < 2/1) { .stage { background-color: #c6d2e2; } }
@media (aspect-ratio >= 2/1) { .stage { background-color: #bcc9db; } }
@page {
  size: auto;
  margin: 16mm 16mm 18mm;
  @bottom-right {
    content: counter(page) " / " counter(pages);
    font: 600 7pt/1 Jost, "Jost fallback", "Century Gothic", sans-serif;
    letter-spacing: 0.14em;
    color: #14304f;
  }
}

@media print {
  :root {
    --margin: 0; --col-left: 0; --col-right: 0; --rest-top: 0; --head-h: auto;
    --body: 10pt; --body-lh: 1.5; --measure: 38em;
    --display: 16pt; --small: 7.5pt; --nav-size: 7.5pt;
  }
  html, body { background: #fff; }
  body { color: var(--ink); font-size: var(--body); line-height: var(--body-lh); }

  .skip, .stage, .nav, .back, .mr-pause { display: none !important; }
  body[data-doc="page"] .top { display: none !important; }
  .top {
    position: static; transform: none; transition: none; height: auto; display: block;
    padding: 0; margin: 0 0 9mm;
  }
  .mark { font-size: 8pt; letter-spacing: 0.16em; }
  .mark::before, .social a::before { content: none; }

  .reveal, html.js .reveal { opacity: 1 !important; transition: none !important; }

  main, .beat, .home, .contact, .bio-head, .legal-head, .prose, .foot {
    position: static; min-height: 0 !important; padding: 0 !important;
  }
  .home, .bio-head, .legal-head { display: block; }
  .beat > *, .beat .chapter, .beat .group, .beat .services, .beat .filings, .prose > * { max-width: var(--measure); }
  .beat + .beat { margin-top: 11mm; }
  main { -webkit-mask-image: none !important; mask-image: none !important; animation: none !important; }
  .contact .social { height: auto; }
  .contact .reach { margin-top: 4mm; }
  .beat.contact { break-before: page; }
  .home { margin-bottom: 4mm; }
  .bio-head, .legal-head { margin-bottom: 7mm; }

  .wordmark { font-size: 25pt; line-height: 1.1; letter-spacing: 0.06em; }
  .home .lead { margin-top: 5mm; font-size: 11pt; max-width: 34em; }
  .display { font-size: var(--display); line-height: 1.2; }
  .beat h2.display { margin-bottom: 5mm; }
  .label { font-size: var(--small); margin: 0 0 2.5mm; }
  .big { font-size: 12.5pt; line-height: 1.3; }
  p { orphans: 3; widows: 3; }
  h1, h2, h3 { break-after: avoid; break-inside: avoid; }
  .chapter + .chapter, .chapter + .services, .group + .group, .filings { margin-top: 6mm; }
  .prose h2.label { margin-top: 6mm; }

  .names { columns: 2; column-gap: 8mm; }
  .names li { font-size: 10.5pt; padding: 0.4mm 0; break-inside: avoid; }
  .roster { display: block; }
  .person { display: inline-block; vertical-align: top; width: 50%; padding-right: 8mm; margin-bottom: 3.5mm; break-inside: avoid; }
  .person .name, .person .title, .person .cred { display: block; }
  .person .name { font-size: 10.5pt; }
  .person .title, .person .cred { font-size: 7.5pt; }
  .links li { break-inside: avoid; }
  .links a { font-size: 10.5pt; }
  .portal { break-inside: avoid; }
  .portal .tier { font-size: 10.5pt; margin: 0 0 1mm; }
  .portal .logins { padding-left: 10.5pt; }
  .beat h3.label, .portal .tier { font-size: 10.5pt; line-height: 1.2; margin: 0 0 2mm; }
  .names li, .links a { font-size: var(--body); line-height: var(--body-lh); }
  .filings .links { padding-left: 10.5pt; }

  .contact .contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 8mm; break-inside: avoid; }
  .contact .block { break-inside: avoid; }
  .contact .under { margin-top: 2.5mm; }
  .contact .social { margin-top: 6mm; break-inside: avoid; }
  .contact .social ul { display: block; columns: 2; column-gap: 8mm; }
  .contact .social li { margin: 0 0 1.2mm; break-inside: avoid; }

  a { text-decoration: none; color: inherit; }
  .nav a, .social a { display: inline; }
  .links a::after, .under::after, .social .t::after { content: none; }
  html a[href^="http://"]::after, html a[href^="https://"]::after {
    content: " (" attr(href) ")";
    position: static; display: inline; visibility: visible; opacity: 1; transform: none;
    width: auto; height: auto; background: none; grid-area: auto;
    font-size: 0.78em; font-weight: var(--w-text); letter-spacing: 0.01em; text-transform: none;
    overflow-wrap: anywhere; word-break: break-all;
    pointer-events: none; user-select: text;
  }

  .foot {
    display: block; margin-top: 8mm; padding-top: 3mm !important; border-top: 0.5pt solid currentColor;
    font-size: 7.5pt; letter-spacing: 0.06em; break-inside: avoid;
    break-before: avoid;
  }
  .foot .copy { margin: 0 0 1.5mm; }
  .foot .legal { display: flex; flex-wrap: wrap; gap: 0.5mm 6mm; }
}
