/* [project]/apps/north.law/components/home-v2/tokens.css [app-client] (css) */
:root {
  --v2-font: var(--font-suisse), ui-sans-serif, system-ui, sans-serif;
  --v2-mono: var(--font-suisse-mono), ui-monospace, SFMono-Regular, monospace;
  --v2-ink: #09141c;
  --v2-ink-deep: #09151d;
  --v2-ink-button: #0d1a25;
  --v2-line-dark: #1f3a4a;
  --v2-muted: #687d8d;
  --v2-muted-2: #899ba9;
  --v2-border: #d0dae1;
  --v2-band: #f5f8fa;
  --v2-card: #fdfefe;
  --v2-hero-sub: #e5ecef;
  --v2-pill-blue-bg: #f1f6f9;
  --v2-pill-blue-fg: #62b2e2;
  --v2-pill-sand-bg: #f8e8d7;
  --v2-pill-sand-fg: #e2a462;
  --v2-radius-s: 3px;
  --v2-radius-m: 8px;
  --v2-radius-l: 16px;
  --v2-container: 1062px;
  --v2-gutter: clamp(16px, 8.5vw, 109px);
  --v2-ease-out: cubic-bezier(.22, 1, .36, 1);
  --v2-ease-in-out: cubic-bezier(.65, 0, .35, 1);
  --v2-ease-pop: cubic-bezier(.34, 1.56, .64, 1);
  --v2-dur-hover: .18s;
  --v2-dur-base: .32s;
  --v2-dur-reveal: .7s;
  --v2-dur-hero: 1.2s;
  --v2-stagger: 80ms;
  --v2-reveal-distance: 16px;
  --v2-ink-heading: #08141c;
  --v2-ink-ui: #08141d;
  --v2-ink-label: #0a161e;
  --v2-night-end: #132d3e;
  --v2-night-sidebar-end: #0e222f;
  --v2-night-active: #15242f;
  --v2-night-line: #253847;
  --v2-night-text: #8a9caa;
  --v2-white: #fff;
  --v2-photo-fallback: #0b0b0a;
  --v2-pill-glass-bg: #fff3;
  --v2-pill-glass-fg: var(--v2-white);
  --v2-status-ready-bg: var(--v2-pill-blue-bg);
  --v2-status-ready-fg: var(--v2-pill-blue-fg);
  --v2-status-transcribing-bg: #fbf2e6;
  --v2-status-transcribing-fg: #d69941;
  --v2-status-live: #d45b5b;
  --v2-line-row: #e1e6ef;
  --v2-line-soft: #edf0f8;
  --v2-line-chip: #eaecee;
  --v2-line-meta: #e9e9eb;
  --v2-line-grid: #d0dae1a3;
  --v2-line-grid-active: #e9eef1a3;
  --v2-text-meta: #b0b1b4;
  --v2-button-light-bg: var(--v2-white);
  --v2-button-light-hover: var(--v2-pill-blue-bg);
  --v2-button-dark-bg: var(--v2-ink-deep);
  --v2-button-dark-hover: var(--v2-line-dark);
  --v2-glass-hover: #ffffff1f;
  --v2-focus-ring: var(--v2-ink);
  --v2-focus-gap: var(--v2-white);
  --v2-focus-width: 2px;
  --v2-weight-thin: 100;
  --v2-weight-light: 300;
  --v2-weight-regular: 400;
  --v2-weight-medium: 500;
  --v2-text-display-size: 64px;
  --v2-text-display-leading: 72px;
  --v2-text-title-size: 32px;
  --v2-text-title-leading: 42px;
  --v2-text-title-compact-size: 28px;
  --v2-text-title-compact-leading: 36px;
  --v2-text-lead-size: 20px;
  --v2-text-lead-leading: 32px;
  --v2-text-lead-compact-size: 18px;
  --v2-text-lead-compact-leading: 28px;
  --v2-text-card-title-size: 18px;
  --v2-text-card-title-leading: 22px;
  --v2-text-button-size: 14px;
  --v2-text-button-leading: 32px;
  --v2-text-button-tracking: .14px;
  --v2-text-small-size: 13px;
  --v2-text-small-leading: 22px;
  --v2-text-label-size: 12px;
  --v2-text-label-leading: 24px;
  --v2-text-label-tracking: 1.2px;
  --v2-text-nav-leading: 40px;
  --v2-text-meta-size: 10px;
  --v2-text-meta-leading: 24px;
  --v2-text-meta-tracking: 1px;
  --v2-text-numeral-size: 64px;
  --v2-text-numeral-leading: 100px;
  --v2-text-numeral-tracking: 6.4px;
  --v2-radius-chip: 4px;
  --v2-shadow-button: 0 2px 2px #00000029;
  --v2-shadow-button-text: 0 1px 2px #00000029;
  --v2-shadow-button-outline: 0 2px 4px #00000029;
  --v2-shadow-glass: 0 1px 12px #00000029;
  --v2-shadow-card: 0 -2px 8px #00000014;
  --v2-shadow-row: 0 1px 1px #eaf0f6;
  --v2-shadow-control: 0 2px 2px #0000000f;
  --v2-shadow-control-on: inset -6px 5px 4px #0f1f2ba3;
  --v2-shadow-prompt: 0 2px 12px #0000003d;
  --v2-shadow-prompt-inner: inset 20px 14px 32px #ffffff14;
  --v2-shadow-popover: 0 16px 40px #09141c1f, 0 2px 6px #09141c0f;
  --v2-shadow-headline: 0 1px 6px #00000029;
  --v2-shadow-numeral: 0 0 1px #00000080;
  --v2-shadow-numeral-active: 0 2px 8px #0000003d;
  --v2-gradient-hero-veil: linear-gradient(-51.128deg, #00000041 27.257%, #000000a3 84.174%);
  --v2-gradient-deploy-veil: linear-gradient(-50.529deg, #0006 27.257%, #000 84.174%);
  --v2-gradient-band: linear-gradient(to bottom, #f5f8fa00 0%, #f5f8fa 19.032%);
  --v2-gradient-screen: linear-gradient(174.17deg, #fdfefe 8.507%, #e7ecf4a3 72.04%);
  --v2-gradient-fade: linear-gradient(to bottom, #f5f8fa00 1.005%, #f5f8fa);
  --v2-gradient-night: linear-gradient(136.92deg, #09151d 54.879%, #132d3e 79.256%);
  --v2-gradient-numeral: linear-gradient(116.16deg, #09151d 54.879%, #132d3e 79.256%);
  --v2-gradient-sidebar: linear-gradient(to bottom, #09151d, #0e222f);
  --v2-gradient-control-on: linear-gradient(177.92deg, #15242f 16.286%, #21394a 96.759%);
  --v2-gradient-glass: linear-gradient(198.7deg, #ffffff1a 10.861%, #fff0 148.58%);
  --v2-blur-glass: 2px;
  --v2-space-frame: 8px;
  --v2-space-icon: 10px;
  --v2-space-card: 16px;
  --v2-space-stack: 24px;
  --v2-space-actions: 24px;
  --v2-space-body-actions: 40px;
  --v2-space-section-compact: 48px;
  --v2-space-section: 56px;
  --v2-space-section-media: 64px;
  --v2-frame: 1280px;
  --v2-measure: 519px;
  --v2-dur-arrow: .36s;
  --v2-dur-spark: .5s;
  --v2-dur-sheen: .6s;
  --v2-press-scale: .98;
}

@media (max-width: 1024px) {
  :root {
    --v2-text-small-size: 14px;
    --v2-text-label-size: 14px;
    --v2-text-meta-size: 12px;
  }
}

:root {
  --v2-muted-strong: #5b6f7e;
  --v2-error: #b83a3a;
  --v2-border-control: #8293a1;
  --v2-border-hover: #6f8190;
}

/* [project]/apps/north.law/components/ds/button.css [app-client] (css) */
:root {
  --ds-dur-edge: 1.2s;
  --ds-nudge: 4px;
  --ds-edge-gradient: linear-gradient(to bottom left, #fff 6.9%, #fff0 78.6%, #fff 97.6%);
}

@property --ds-edge-turn {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

.ds-button {
  --ds-button-bg: transparent;
  --ds-button-hover: var(--ds-button-bg);
  --ds-button-shadow: 0 0 #0000;
  --ds-sheen: #fff3;
  --ds-focus-gap: var(--v2-ink);
  --ds-focus-ring: var(--v2-white);
  justify-content: center;
  align-items: center;
  gap: var(--v2-space-icon);
  border-radius: var(--v2-radius-s);
  background-color: var(--ds-button-bg);
  box-shadow: var(--ds-button-shadow);
  font-family: var(--v2-font);
  font-size: var(--v2-text-button-size);
  font-weight: var(--v2-weight-medium);
  line-height: var(--v2-text-button-leading);
  white-space: nowrap;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background-color var(--v2-dur-hover) var(--v2-ease-out), transform var(--v2-dur-hover) var(--v2-ease-out);
  border: 1px solid #0000;
  flex: none;
  padding: 8px 16px;
  text-decoration: none;
  display: inline-flex;
  position: relative;
}

.ds-button--light {
  --ds-button-bg: var(--v2-button-light-bg);
  --ds-button-hover: var(--v2-button-light-hover);
  --ds-sheen: #fffffff2;
  border-color: var(--v2-line-dark);
  color: var(--v2-ink-button);
  letter-spacing: var(--v2-text-button-tracking);
  text-shadow: var(--v2-shadow-button-text);
  filter: drop-shadow(var(--v2-shadow-button));
}

.ds-button--glass {
  --ds-button-hover: var(--v2-glass-hover);
  --ds-button-shadow: var(--v2-shadow-glass);
  --ds-sheen: #ffffff47;
  background-image: var(--v2-gradient-glass);
  color: var(--v2-white);
  -webkit-backdrop-filter: blur(var(--v2-blur-glass));
  backdrop-filter: blur(var(--v2-blur-glass));
  border-color: #0000;
}

.ds-button--dark {
  --ds-button-bg: var(--v2-button-dark-bg);
  --ds-button-hover: var(--v2-button-dark-hover);
  --ds-sheen: #ffffff29;
  --ds-focus-gap: var(--v2-focus-gap);
  --ds-focus-ring: var(--v2-focus-ring);
  color: var(--v2-white);
  letter-spacing: var(--v2-text-button-tracking);
  filter: drop-shadow(var(--v2-shadow-button));
  border-width: 0;
}

@media (hover: hover) {
  .ds-button:hover {
    background-color: var(--ds-button-hover);
  }
}

.ds-button:active {
  transform: scale(var(--v2-press-scale));
}

.ds-button:focus-visible {
  outline: var(--v2-focus-width) solid var(--ds-focus-ring);
  outline-offset: var(--v2-focus-width);
  box-shadow: 0 0 0 var(--v2-focus-width) var(--ds-focus-gap), var(--ds-button-shadow);
}

.ds-button__label {
  position: relative;
}

.ds-button__icon {
  flex: none;
  width: 16px;
  height: 16px;
  display: block;
  position: relative;
}

.ds-button__icon svg {
  width: 16px;
  height: 16px;
  display: block;
}

.ds-button__spark svg {
  transition: transform var(--v2-dur-hover) var(--v2-ease-out);
}

.ds-button--glass:before, .ds-button--glass:after, .ds-edge:before {
  content: "";
  border-radius: inherit;
  pointer-events: none;
  -webkit-mask-composite: xor;
  padding: 1px;
  position: absolute;
  inset: -1px;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor, source-over;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
}

.ds-button--glass:before, .ds-edge:before {
  background: var(--ds-edge-gradient);
}

.ds-button--glass:after {
  background: conic-gradient(from calc(var(--ds-edge-turn)  - 30deg), #fff0 0deg, #fff 100deg, #fff0 140deg, #fff0 180deg, #fff 280deg, #fff0 320deg);
  opacity: 0;
  transition: opacity var(--v2-dur-base) var(--v2-ease-out);
}

.ds-button__sheen {
  border-radius: inherit;
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.ds-button__sheen:after {
  content: "";
  background: linear-gradient(110deg, transparent 25%, var(--ds-sheen) 50%, transparent 75%);
  width: 60%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  transform: translateX(-100%);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .ds-button__arrow svg {
    transition: translate var(--v2-dur-hover) var(--v2-ease-out);
  }

  .ds-button:is(:hover, :focus-visible) .ds-button__arrow svg {
    translate: var(--ds-nudge) 0;
  }

  .ds-button--glass:before {
    transition: opacity var(--v2-dur-base) var(--v2-ease-out);
  }

  .ds-button--glass:hover:before {
    opacity: 0;
  }

  .ds-button--glass:hover:after {
    opacity: 1;
    transition-duration: var(--v2-dur-hover);
    animation: ds-edge-turn var(--ds-dur-edge) var(--v2-ease-in-out);
  }

  .ds-button:hover .ds-button__spark svg {
    transition-duration: var(--v2-dur-spark);
    transform: rotate(90deg);
  }

  .ds-button:hover .ds-button__sheen:after {
    transition: transform var(--v2-dur-sheen) var(--v2-ease-in-out);
    transform: translateX(170%);
  }
}

@keyframes ds-edge-turn {
  from {
    --ds-edge-turn: 0deg;
  }

  to {
    --ds-edge-turn: 360deg;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ds-button {
    transition: background-color .15s linear;
  }

  .ds-button:active {
    transform: none;
  }

  .ds-button__sheen {
    display: none;
  }
}

/* [project]/apps/north.law/components/home-v2/nav.css [app-client] (css) */
.v2-nav, .v2-fixednav {
  --v2-nav-hit: 44px;
}

.v2-nav__list {
  --v2-nav-pad: 12px;
  --v2-nav-lead-pad: 16px;
  --v2-nav-line: 40px;
  align-items: center;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.v2-nav__item {
  position: relative;
}

.v2-nav__link {
  border-radius: var(--v2-radius-s);
  font-family: var(--v2-mono);
  font-size: 12px;
  font-weight: 400;
  line-height: var(--v2-nav-line);
  letter-spacing: 1.2px;
  text-transform: uppercase;
  white-space: nowrap;
  color: #fff;
  opacity: .5;
  transition: opacity var(--v2-dur-base) var(--v2-ease-out);
  text-decoration: none;
  display: block;
  position: relative;
}

.v2-nav__link--lead {
  padding: 0 var(--v2-nav-lead-pad);
  border: 1px solid #0000;
}

.v2-nav__item:first-child {
  margin-right: calc(-1 * (var(--v2-nav-lead-pad)  + 1px));
}

.v2-nav--card .v2-nav__item:first-child {
  margin-left: calc(-1 * (var(--v2-nav-lead-pad)  + 1px));
}

.v2-nav__item + .v2-nav__item .v2-nav__link {
  margin: 0 calc(-1 * var(--v2-nav-pad));
  padding: 0 var(--v2-nav-pad);
}

.v2-nav__link:after {
  content: "";
  inset: calc((var(--v2-nav-line)  - var(--v2-nav-hit)) / 2) 0;
  position: absolute;
}

.v2-nav__link:hover, .v2-nav__link:focus-visible, .v2-nav__link.is-lit {
  opacity: 1;
}

.v2-nav__link:focus-visible {
  outline-offset: 3px;
  outline: 2px solid #fff;
}

.v2-nav__label {
  opacity: var(--v2-hero-fade, 1);
}

.v2-nav__pill {
  border-radius: var(--v2-radius-s);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  transform-origin: 0;
  opacity: var(--v2-hero-fade, 1);
  pointer-events: none;
  background: linear-gradient(198.18deg, #ffffff1a 10.861%, #fff0 148.58%);
  border: 1px solid #0000;
  position: absolute;
  inset: 0;
  box-shadow: 0 1px 12px #00000029;
}

.v2-nav__pill[data-off] {
  opacity: 0;
  scale: .9;
}

@media (scripting: enabled) and (prefers-reduced-motion: no-preference) {
  .v2-nav--card .v2-nav__item {
    animation: v2-nav-drop var(--v2-dur-base) var(--v2-ease-out) calc(var(--v2-hero-stage, .75s)  + .52s + var(--i, 0) * var(--v2-stagger)) backwards;
  }

  .v2-nav--card .v2-nav__pill {
    animation: v2-nav-settle .42s var(--v2-ease-out) calc(var(--v2-hero-stage, .75s)  + .9s) backwards;
  }

  .v2-nav--card .v2-nav__pill:before {
    animation: v2-nav-edge .36s var(--v2-ease-out) calc(var(--v2-hero-stage, .75s)  + 1.06s) backwards;
  }
}

@keyframes v2-nav-drop {
  from {
    opacity: 0;
    translate: 0 -8px;
  }
}

@keyframes v2-nav-settle {
  from {
    opacity: 0;
    scale: 1 .7;
  }
}

@keyframes v2-nav-edge {
  from {
    opacity: 0;
  }
}

.v2-fixednav {
  --v2-fixednav-top: #ffffffde;
  --v2-fixednav-bottom: #ffffff9c;
  --v2-fixednav-muted: #4f5f6b;
  z-index: 50;
  border-radius: var(--v2-radius-m);
  background: linear-gradient(180deg, var(--v2-fixednav-top), var(--v2-fixednav-bottom));
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  backdrop-filter: blur(16px) saturate(140%);
  width: fit-content;
  max-width: calc(100% - 16px);
  font-family: var(--v2-font);
  visibility: hidden;
  transition: transform var(--v2-dur-base) var(--v2-ease-out), visibility 0s linear var(--v2-dur-base);
  margin: 0 auto;
  padding: 4px 14px 4px 16px;
  position: fixed;
  top: 8px;
  left: 0;
  right: 0;
  transform: translateY(calc(-100% - 12px));
  box-shadow: 0 0 0 1px #09141c0f, 0 8px 24px #09141c14;
}

.v2-fixednav:before {
  content: "";
  border-radius: inherit;
  pointer-events: none;
  -webkit-mask-composite: xor;
  background: linear-gradient(to bottom left, #fff 6.9%, #fff6 78.6%, #fff 97.6%);
  padding: 1px;
  position: absolute;
  inset: 0;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor, source-over;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
}

.v2-fixednav[data-shown] {
  visibility: visible;
  transition: transform var(--v2-dur-base) var(--v2-ease-out);
  transform: none;
}

.v2-fixednav__inner {
  align-items: center;
  gap: 24px;
  min-height: 32px;
  display: flex;
  position: relative;
}

.v2-fixednav__logo {
  color: var(--v2-ink);
  border-radius: 2px;
  flex: none;
  align-items: center;
  gap: 6px;
  display: inline-flex;
  position: relative;
}

.v2-fixednav__logo:after {
  content: "";
  inset: calc((24px - var(--v2-nav-hit)) / 2);
  position: absolute;
}

.v2-fixednav__logo svg {
  fill: var(--v2-ink);
}

.v2-fixednav__logo .v2-logo__mark {
  width: 24px;
  height: 24.18px;
}

.v2-fixednav__logo .v2-logo__word {
  width: 42px;
  height: 7.5px;
}

.v2-fixednav__logo:focus-visible {
  outline: 2px solid var(--v2-focus-ring);
  outline-offset: 3px;
}

@media (scripting: enabled) and (prefers-reduced-motion: no-preference) {
  .v2-fixednav__logo .v2-logo__mark path {
    animation-name: v2-logo-draw-ink;
  }
}

@keyframes v2-logo-draw-ink {
  0% {
    stroke: #09141c;
    stroke-dashoffset: 1px;
    fill-opacity: 0;
  }

  60% {
    stroke: #09141c;
    stroke-dashoffset: 0;
    fill-opacity: 0;
  }

  100% {
    stroke: #09141c00;
    stroke-dashoffset: 0;
    fill-opacity: 1;
  }
}

.v2-fixednav .v2-nav {
  position: static;
}

.v2-nav--fixed .v2-nav__list {
  --v2-nav-pad: 10px;
  --v2-nav-line: 30px;
  gap: 20px;
}

.v2-nav--fixed .v2-nav__link {
  color: var(--v2-fixednav-muted);
  opacity: 1;
  font-size: 11px;
  line-height: var(--v2-nav-line);
  letter-spacing: 1.1px;
  transition: color var(--v2-dur-base) var(--v2-ease-out);
}

.v2-nav--fixed .v2-nav__list {
  --v2-nav-lead-pad: 10px;
}

.v2-nav--fixed .v2-nav__link:is(:hover, :focus-visible, .is-lit) {
  color: var(--v2-ink);
}

.v2-nav--fixed .v2-nav__link:focus-visible {
  outline-color: var(--v2-focus-ring);
}

.v2-nav--fixed .v2-nav__pill {
  --ds-edge-gradient: linear-gradient(to bottom left, #09141c47 6.9%, #09141c17 78.6%, #09141c47 97.6%);
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  background: none;
}

@media (prefers-reduced-motion: reduce) {
  .v2-fixednav, .v2-fixednav[data-shown] {
    transition: none;
    transform: none;
  }
}

@media (max-width: 720px) {
  .v2-nav__list {
    --v2-nav-pad: 8px;
    gap: 16px;
  }

  .v2-fixednav {
    padding: 4px 10px 4px 12px;
  }

  .v2-fixednav__inner {
    gap: 12px;
  }

  .v2-nav--fixed .v2-nav__list {
    --v2-nav-pad: 7px;
    gap: 14px;
  }

  .v2-fixednav__logo .v2-logo__word {
    display: none;
  }
}

@media (max-width: 380px) {
  .v2-fixednav__logo {
    display: none;
  }
}

@media (max-width: 360px) {
  .v2-fixednav {
    padding: 4px 6px;
  }

  .v2-nav--fixed .v2-nav__list {
    gap: 8px;
  }
}

/* [project]/apps/north.law/components/home-v2/video-player.css [app-client] (css) */
.v2-vp {
  background: none;
  border: 0;
  width: 100vw;
  max-width: 100vw;
  height: 100dvh;
  max-height: 100dvh;
  padding: 0;
  overflow: hidden;
}

.v2-vp[open] {
  justify-content: center;
  align-items: center;
  display: flex;
}

.v2-vp::backdrop {
  background: #000000eb;
}

.v2-vp__frame {
  will-change: transform;
  width: min(1280px, 100vw, 177.778dvh - 56.8889px);
  max-width: 100vw;
  display: flex;
}

.v2-vp__video {
  background: #000;
  width: 100%;
  height: auto;
  max-height: 100dvh;
  display: block;
}

.v2-vp__close {
  width: 44px;
  height: 44px;
  color: var(--v2-white);
  cursor: pointer;
  transition: background-color var(--v2-dur-hover) var(--v2-ease-out), opacity var(--v2-dur-hover) var(--v2-ease-out);
  background: #00000073;
  border: 0;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: flex;
  position: absolute;
  top: clamp(12px, 2.5vw, 28px);
  right: clamp(12px, 2.5vw, 28px);
}

.v2-vp__close:hover {
  background: #000000bf;
}

.v2-vp__close:focus-visible {
  outline: var(--v2-focus-width) solid var(--v2-white);
  outline-offset: 3px;
}

:root.v2-vp-locked {
  padding-right: var(--v2-vp-gutter, 0px);
  overflow: hidden;
}

@media (prefers-reduced-motion: no-preference) {
  .v2-vp[open] .v2-vp__frame {
    animation: v2-vp-rise var(--v2-dur-base) var(--v2-ease-out);
  }

  .v2-vp[open]::backdrop, .v2-vp[open] .v2-vp__close {
    animation: v2-vp-veil var(--v2-dur-base) var(--v2-ease-out);
  }

  .v2-vp[data-closing] .v2-vp__frame {
    animation: v2-vp-rise var(--v2-dur-base) var(--v2-ease-out) reverse both;
  }

  .v2-vp[data-closing]::backdrop, .v2-vp[data-closing] .v2-vp__close {
    animation: v2-vp-veil var(--v2-dur-base) var(--v2-ease-out) reverse both;
  }
}

@keyframes v2-vp-rise {
  from {
    transform: translate(var(--v2-vp-x, 0px), var(--v2-vp-y, 0px)) scale(var(--v2-vp-scale, .06));
    opacity: 0;
  }
}

@keyframes v2-vp-veil {
  from {
    opacity: 0;
  }
}

/* [project]/apps/north.law/components/home-v2/hero.css [app-client] (css) */
.v2-hero {
  padding: var(--v2-space-frame);
  background: var(--v2-white);
  position: relative;
}

.v2-hero__stage {
  clip-path: inset(var(--v2-space-frame) round var(--v2-radius-m));
  background: var(--v2-photo-fallback);
  position: absolute;
  inset: 0;
  overflow: clip;
}

.v2-hero__media {
  inset: var(--v2-space-frame);
  position: absolute;
}

.v2-hero__media:after {
  content: "";
  background: var(--v2-gradient-hero-veil);
  position: absolute;
  inset: 0;
}

.v2-hero__photo {
  object-fit: cover;
}

.v2-hero__card {
  --v2-hero-fade: 1;
  min-height: clamp(560px, 53.6vw, 686px);
  padding: 18px calc(var(--v2-gutter)  - 8px) clamp(48px, 8vw, 102px);
  border-radius: var(--v2-radius-m);
  color: var(--v2-white);
  font-family: var(--v2-font);
  position: relative;
  overflow: clip;
}

.v2-hero__col {
  max-width: var(--v2-container);
  margin: 0 auto;
}

.v2-hero__bar {
  align-items: center;
  min-height: 42px;
  display: flex;
  position: relative;
}

.v2-hero__logo {
  border-radius: 2px;
  align-items: center;
  gap: 8px;
  margin-top: 2px;
  margin-left: -6px;
  display: inline-flex;
}

.v2-hero__logo svg, .v2-fixednav__logo svg {
  flex: none;
  display: block;
}

.v2-hero__bar .v2-nav {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.v2-hero__title {
  letter-spacing: 0;
  max-width: 8.25em;
  color: var(--v2-white);
  text-shadow: var(--v2-shadow-headline);
  margin: clamp(48px, 7.7vw, 98px) 0 0;
  font-size: clamp(40px, 5vw, 64px);
  font-weight: 400;
  line-height: 1.125;
}

.v2-hero__line {
  display: block;
}

.v2-hero__line-text {
  display: inline-block;
}

.v2-hero__claude {
  white-space: nowrap;
  position: relative;
}

.v2-hero__asterisk {
  pointer-events: none;
  width: .594em;
  height: .594em;
  position: absolute;
  top: -.1875em;
  left: calc(100% - .234em);
}

.v2-hero__thin {
  font-weight: var(--v2-weight-regular);
}

.v2-hero__body {
  flex-direction: column;
  gap: 40px;
  margin-top: 24px;
  display: flex;
}

.v2-hero__sub {
  max-width: 420px;
  font-size: var(--v2-text-lead-size);
  font-weight: var(--v2-weight-light);
  line-height: var(--v2-text-lead-leading);
  color: var(--v2-hero-sub);
  margin: 0;
}

.v2-hero__sub a {
  color: inherit;
  border-radius: 2px;
  text-decoration: underline;
}

.v2-hero__actions {
  flex-wrap: wrap;
  gap: 16px 24px;
  display: flex;
}

.v2-hero__actions .ds-button + .ds-button {
  --i: 1;
}

.v2-hero__logo:focus-visible, .v2-hero__sub a:focus-visible {
  outline: var(--v2-focus-width) solid var(--v2-white);
  outline-offset: 3px;
}

.v2-hero__video {
  width: 88px;
  color: inherit;
  text-align: inherit;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  background: none;
  border: 0;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  padding: 0;
  display: flex;
  position: absolute;
  top: clamp(200px, 42.42%, 291px);
  left: 70.41%;
}

@media not (scripting: enabled) {
  .v2-hero__video {
    display: none;
  }
}

.v2-video__svg {
  border-radius: 11px;
  display: block;
}

.v2-hero__video:focus-visible {
  outline: none;
}

.v2-hero__video:focus-visible .v2-video__svg {
  outline: var(--v2-focus-width) solid var(--v2-white);
  outline-offset: -8px;
}

.v2-hero__video-label {
  font-family: var(--v2-mono);
  font-size: var(--v2-text-meta-size);
  line-height: var(--v2-text-meta-leading);
  letter-spacing: var(--v2-text-meta-tracking);
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--v2-white);
}

.v2-hero__logo, .v2-hero__title, .v2-hero__sub, .v2-hero__actions .ds-button, .v2-hero__video {
  opacity: var(--v2-hero-fade);
}

.v2-hero {
  --v2-hero-stage: .75s;
}

@media (scripting: enabled) and (prefers-reduced-motion: no-preference) {
  .v2-hero__photo {
    animation: v2-hero-photo-in 1s var(--v2-ease-in-out) backwards, v2-hero-photo-settle 1.6s var(--v2-ease-out) backwards;
  }

  .v2-hero[data-intro="b"] .v2-hero__photo {
    animation-name: v2-hero-photo-lift, v2-hero-photo-settle;
  }

  .v2-hero__col, .v2-hero__video {
    animation: v2-hero-hold 1ms linear var(--v2-hero-stage) backwards;
  }

  .v2-logo__mark path {
    stroke-width: .75px;
    stroke-dasharray: 1;
    animation: v2-logo-draw .64s var(--v2-ease-out) calc(var(--v2-hero-stage)  + var(--i, 0) * 70ms) both;
  }

  .v2-logo__word path {
    animation: v2-logo-letter .38s var(--v2-ease-out) calc(var(--v2-hero-stage)  + .4s + var(--i, 0) * 60ms) both;
  }

  .v2-hero__line-text {
    animation: v2-hero-line-clipped var(--v2-dur-reveal) var(--v2-ease-out) calc(var(--v2-hero-stage)  + .2s + var(--i, 0) * 90ms) backwards;
  }

  @supports (overflow-clip-margin: 1px) {
    .v2-hero__line {
      overflow-clip-margin: .3em;
      overflow: clip;
    }

    .v2-hero__line-text {
      animation-name: v2-hero-line;
    }
  }

  .v2-asterisk__shape {
    -webkit-mask: url("#v2-asterisk-draw");
    mask: url("#v2-asterisk-draw");
  }

  .v2-asterisk__ray {
    stroke-dasharray: 1;
    animation: v2-hero-ray .3s var(--v2-ease-out) calc(var(--v2-hero-stage)  + .5s + var(--i, 0) * 36ms) backwards;
  }

  .v2-hero__asterisk {
    animation: v2-hero-asterisk-arrive .9s var(--v2-ease-pop) calc(var(--v2-hero-stage)  + .5s) backwards, v2-hero-spin 60s linear calc(var(--v2-hero-stage)  + 1.4s) infinite;
  }

  .v2-hero__sub {
    animation: v2-hero-rise var(--v2-dur-reveal) var(--v2-ease-out) calc(var(--v2-hero-stage)  + .6s) backwards;
  }

  .v2-hero__actions .ds-button {
    animation: v2-hero-rise var(--v2-dur-reveal) var(--v2-ease-out) calc(var(--v2-hero-stage)  + .7s + var(--i, 0) * var(--v2-stagger)) backwards;
  }

  .v2-video__edge {
    stroke-dasharray: 1;
    animation: v2-hero-trace .52s var(--v2-ease-in-out) calc(var(--v2-hero-stage)  + .9s) backwards;
  }

  .v2-video__fill {
    animation: v2-hero-fade-in .42s var(--v2-ease-out) calc(var(--v2-hero-stage)  + 1.15s) backwards;
  }

  .v2-video__play {
    transform-box: fill-box;
    transform-origin: center;
    animation: v2-hero-pop .46s var(--v2-ease-pop) calc(var(--v2-hero-stage)  + 1.15s) backwards;
  }

  .v2-hero__video-label > span {
    animation: v2-hero-type 1ms steps(1) calc(var(--v2-hero-stage)  + 1.26s + var(--i, 0) * 26ms) backwards;
  }

  .v2-hero__video:before {
    content: "";
    opacity: 0;
    width: 64px;
    height: 64px;
    animation: v2-hero-wave 4s var(--v2-ease-out) calc(var(--v2-hero-stage)  + 1.9s) infinite;
    border-radius: 3px;
    position: absolute;
    top: 11px;
    left: 12px;
    box-shadow: 0 0 0 1px #ffffff8c;
  }

  .v2-hero[data-idle] .v2-hero__asterisk {
    animation-play-state: running, paused;
  }

  .v2-hero[data-idle] .v2-hero__video:before {
    animation-play-state: paused;
  }
}

@keyframes v2-hero-hold {
  from {
    visibility: hidden;
  }
}

@keyframes v2-hero-photo-in {
  from {
    opacity: 0;
  }
}

@keyframes v2-hero-photo-lift {
  from {
    clip-path: inset(100% 0 0);
  }

  to {
    clip-path: inset(0);
  }
}

@keyframes v2-hero-photo-settle {
  from {
    scale: 1.06;
  }
}

@keyframes v2-logo-draw {
  0% {
    stroke: #fff;
    stroke-dashoffset: 1px;
    fill-opacity: 0;
  }

  60% {
    stroke: #fff;
    stroke-dashoffset: 0;
    fill-opacity: 0;
  }

  100% {
    stroke: #fff0;
    stroke-dashoffset: 0;
    fill-opacity: 1;
  }
}

@keyframes v2-logo-letter {
  from {
    opacity: 0;
    translate: 0 6px;
  }
}

@keyframes v2-hero-line {
  from {
    transform: translateY(calc(100% + .3em));
  }
}

@keyframes v2-hero-line-clipped {
  from {
    clip-path: inset(-.5em -.5em 100%);
    transform: translateY(100%);
  }

  to {
    clip-path: inset(-.5em);
    transform: none;
  }
}

@keyframes v2-hero-ray {
  from {
    stroke-dashoffset: 1px;
  }

  to {
    stroke-dashoffset: 0;
  }
}

@keyframes v2-hero-asterisk-arrive {
  from {
    rotate: -40deg;
  }
}

@keyframes v2-hero-spin {
  to {
    transform: rotate(1turn);
  }
}

@keyframes v2-hero-rise {
  from {
    opacity: 0;
    translate: 0 var(--v2-reveal-distance);
  }
}

@keyframes v2-hero-trace {
  from {
    stroke-dashoffset: 1px;
  }

  to {
    stroke-dashoffset: 0;
  }
}

@keyframes v2-hero-fade-in {
  from {
    opacity: 0;
  }
}

@keyframes v2-hero-pop {
  from {
    opacity: 0;
    scale: 0;
  }
}

@keyframes v2-hero-type {
  from {
    opacity: 0;
  }
}

@keyframes v2-hero-wave {
  0% {
    opacity: .7;
    scale: 1;
  }

  40%, 100% {
    opacity: 0;
    scale: 1.45;
  }
}

@property --v2-wave-r {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --v2-wave-a {
  syntax: "<number>";
  inherits: false;
  initial-value: 0;
}

.v2-hero__wave {
  display: none;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .v2-hero__wave {
    --v2-wave-x: calc(70.41% + 44px);
    --v2-wave-y: calc(clamp(200px, 42.42%, 291px)  + 43px);
    pointer-events: none;
    -webkit-mask-image: radial-gradient(circle at var(--v2-wave-x) var(--v2-wave-y), transparent calc(var(--v2-wave-r)  - 110px), rgba(0, 0, 0, var(--v2-wave-a)) var(--v2-wave-r), transparent calc(var(--v2-wave-r)  + 70px));
    -webkit-mask-image: radial-gradient(circle at var(--v2-wave-x) var(--v2-wave-y), transparent calc(var(--v2-wave-r)  - 110px), rgba(0, 0, 0, var(--v2-wave-a)) var(--v2-wave-r), transparent calc(var(--v2-wave-r)  + 70px));
    mask-image: radial-gradient(circle at var(--v2-wave-x) var(--v2-wave-y), transparent calc(var(--v2-wave-r)  - 110px), rgba(0, 0, 0, var(--v2-wave-a)) var(--v2-wave-r), transparent calc(var(--v2-wave-r)  + 70px));
    opacity: 0;
    visibility: hidden;
    transition: opacity .4s var(--v2-ease-out), visibility 0s linear .4s;
    animation: 1.2s linear infinite paused v2-hero-blur-wave;
    display: block;
    position: absolute;
    inset: 0;
  }

  .v2-hero__wave-photo {
    object-fit: cover;
    filter: blur(8px);
  }

  .v2-hero__video:after {
    --v2-wave-a: 0;
    content: "";
    width: 64px;
    height: 64px;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, var(--v2-wave-a));
    opacity: 0;
    animation: v2-hero-pulse 1.2s var(--v2-ease-out) infinite paused;
    transition: opacity .4s var(--v2-ease-out);
    border-radius: 3px;
    position: absolute;
    top: 11px;
    left: 12px;
  }

  .v2-hero:has(.v2-hero__video:hover) .v2-hero__wave {
    opacity: 1;
    visibility: visible;
    transition: opacity .16s var(--v2-ease-out);
    animation-play-state: running;
  }

  .v2-hero__video:hover:after {
    opacity: 1;
    transition-duration: .16s;
    animation-play-state: running;
  }
}

@keyframes v2-hero-blur-wave {
  0% {
    --v2-wave-r: 0px;
    --v2-wave-a: 0;
  }

  10% {
    --v2-wave-a: 1;
  }

  100% {
    --v2-wave-r: 1100px;
    --v2-wave-a: 0;
  }
}

@keyframes v2-hero-pulse {
  from {
    --v2-wave-a: .9;
    scale: 1;
  }

  to {
    --v2-wave-a: 0;
    scale: 1.6;
  }
}

@media (max-width: 720px) {
  .v2-hero__wave-photo {
    object-position: 68% 50%;
  }
}

@property --v2-video-turn {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

.v2-video__play-solid {
  opacity: 0;
  transition: opacity var(--v2-dur-hover) var(--v2-ease-out);
}

.v2-hero__video-ring {
  display: none;
}

@media (hover: hover) {
  .v2-hero__video:hover .v2-video__play-solid {
    opacity: 1;
  }
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .v2-video__edge {
    transition: opacity .4s var(--v2-ease-out);
  }

  .v2-hero__video-ring {
    pointer-events: none;
    background: conic-gradient(from calc(var(--v2-video-turn)  - 55deg), #fff0 0deg, #fff 100deg, #fff0 140deg, #fff0 180deg, #fff 280deg, #fff0 320deg);
    -webkit-mask-composite: xor;
    opacity: 0;
    width: 64px;
    height: 64px;
    transition: opacity .4s var(--v2-ease-out);
    border-radius: 3px;
    padding: 1px;
    animation: 2.4s linear infinite paused v2-video-edge-turn;
    display: block;
    position: absolute;
    top: 11px;
    left: 12px;
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor, source-over;
    mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  }

  .v2-hero__video:hover .v2-video__edge {
    opacity: 0;
  }

  .v2-hero__video:hover .v2-hero__video-ring {
    opacity: 1;
    transition-duration: var(--v2-dur-hover);
    animation-play-state: running;
  }
}

@media (hover: hover) and (prefers-reduced-motion: reduce) {
  .v2-video__play-solid {
    transition: opacity .15s linear;
  }
}

@keyframes v2-video-edge-turn {
  to {
    --v2-video-turn: 360deg;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .v2-hero__stage {
    --v2-hero-closed: calc(1 - var(--v2-hero-stretch, 0));
    clip-path: inset(calc(var(--v2-space-frame) * var(--v2-hero-closed)) round calc(var(--v2-radius-m) * var(--v2-hero-closed)));
  }

  .v2-hero__media {
    transform: translateY(calc(8% * var(--v2-hero-exit, 0))) scale(calc(1 + .05 * var(--v2-hero-stretch, 0)  + .07 * var(--v2-hero-exit, 0)));
  }

  .v2-hero__card {
    --v2-hero-fade: calc(1 - .4 * var(--v2-hero-exit, 0));
  }
}

@media (max-width: 720px) {
  .v2-hero__bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .v2-hero__logo {
    margin-left: 0;
    padding: 5px 0;
  }

  .v2-hero__bar .v2-nav {
    position: static;
    transform: none;
  }

  .v2-hero__photo {
    object-position: 68% 50%;
  }

  .v2-hero__media:after {
    background: linear-gradient(#0006, #0006), var(--v2-gradient-hero-veil);
  }

  .v2-hero__video {
    display: none;
  }
}

/* [project]/apps/north.law/components/ds/tag.css [app-client] (css) */
.ds-tag {
  border-radius: var(--v2-radius-s);
  width: fit-content;
  max-width: 100%;
  font-family: var(--v2-mono);
  font-size: calc(var(--v2-text-label-size)  + 1px);
  font-weight: var(--v2-weight-regular);
  line-height: var(--v2-text-label-leading);
  letter-spacing: var(--v2-text-label-tracking);
  text-transform: uppercase;
  margin: 0;
  padding: 5px 10px;
  display: inline-block;
}

.ds-tag--blue {
  color: #23668f;
  background: #e5f0f7;
}

.ds-tag--sand {
  background: var(--v2-pill-sand-bg);
  color: var(--v2-pill-sand-fg);
}

.ds-tag--glass {
  background: var(--v2-pill-glass-bg);
  color: var(--v2-pill-glass-fg);
}

/* [project]/apps/north.law/components/ds/section-heading.css [app-client] (css) */
.ds-heading {
  align-items: flex-start;
  gap: var(--v2-space-stack);
  font-family: var(--v2-font);
  flex-direction: column;
  display: flex;
}

.ds-heading--center {
  text-align: center;
  align-items: center;
}

.ds-heading--light {
  color: var(--v2-ink);
}

.ds-heading--dark {
  color: var(--v2-white);
}

.ds-heading__title {
  font-size: var(--v2-text-title-size);
  font-weight: var(--v2-weight-regular);
  line-height: var(--v2-text-title-leading);
  margin: 0;
}

.ds-heading__lead {
  font-size: var(--v2-text-lead-size);
  font-weight: var(--v2-weight-light);
  line-height: var(--v2-text-lead-leading);
  margin: 0;
}

.ds-heading--light .ds-heading__lead {
  color: var(--v2-muted-strong);
}

.ds-heading--dark .ds-heading__lead {
  color: var(--v2-hero-sub);
}

.ds-heading__line {
  display: block;
}

.ds-heading__actions {
  gap: 16px var(--v2-space-actions);
  margin-top: calc(var(--v2-space-body-actions)  - var(--v2-space-stack));
  flex-wrap: wrap;
  display: flex;
}

.ds-heading--center .ds-heading__actions {
  justify-content: center;
}

.ds-heading__title {
  --i: 1;
}

.ds-heading__lead {
  --i: 2;
}

.ds-heading__actions {
  --i: 3;
}

@media (max-width: 900px) {
  .ds-heading__title {
    font-size: var(--v2-text-title-compact-size);
    line-height: var(--v2-text-title-compact-leading);
  }

  .ds-heading__line {
    display: inline;
  }
}

/* [project]/apps/north.law/components/motion/motion.css [app-client] (css) */
@media (scripting: enabled) and (prefers-reduced-motion: no-preference) {
  [data-reveal]:not([data-inview]) .v2-reveal {
    opacity: 0;
  }

  [data-reveal][data-inview] .v2-reveal {
    animation: v2-reveal var(--reveal-dur, var(--v2-dur-reveal)) var(--reveal-ease, var(--v2-ease-out)) calc(var(--i, 0) * var(--v2-stagger)) backwards;
  }
}

@keyframes v2-reveal {
  from {
    opacity: 0;
    translate: 0 var(--reveal-y, var(--v2-reveal-distance));
    scale: var(--reveal-scale, 1);
  }
}

/* [project]/apps/north.law/components/home-v2/why.css [app-client] (css) */
.v2-why {
  padding: calc(2 * var(--v2-space-section)  - var(--v2-space-frame)) var(--v2-gutter) var(--v2-space-section);
  background: var(--v2-white);
  color: var(--v2-ink);
  font-family: var(--v2-font);
}

.v2-why__inner {
  max-width: var(--v2-container);
  grid-template-columns: minmax(0, 504.03fr) minmax(0, 519fr);
  align-items: center;
  column-gap: 38.97px;
  margin: 0 auto;
  display: grid;
}

.v2-why__media {
  aspect-ratio: 1;
  border-radius: var(--v2-radius-l);
  background: var(--v2-photo-fallback);
  position: relative;
  overflow: hidden;
  box-shadow: 0 18px 40px -24px #09141c61;
}

.v2-why__frame {
  position: absolute;
  inset: 0;
  scale: 1.14;
}

.v2-why__photo {
  object-fit: cover;
}

.v2-why__text .ds-heading__title {
  color: var(--v2-ink-heading);
}

.v2-why__text .ds-heading__title .ds-heading__line:nth-child(-n+2) {
  display: inline;
}

.v2-why__text .ds-heading__title .ds-heading__line:nth-child(2n) {
  font-weight: var(--v2-weight-regular);
}

.v2-why__text .ds-heading__lead {
  max-width: var(--v2-measure);
}

@media (max-width: 900px) {
  .v2-why__inner {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 40px;
  }
}

@media (max-width: 720px) {
  .v2-why {
    padding-top: var(--v2-space-section-compact);
    padding-bottom: var(--v2-space-section-compact);
  }
}

@media (scripting: enabled) and (prefers-reduced-motion: no-preference) {
  .v2-why[data-reveal]:not([data-inview]) .v2-why__media {
    clip-path: circle(0 at 0 100%);
  }

  .v2-why[data-inview] .v2-why__media {
    animation: v2-why-open .9s var(--v2-ease-in-out) backwards;
  }

  .v2-why[data-inview] .v2-why__frame {
    animation: v2-why-settle .9s var(--v2-ease-out) backwards;
  }

  .v2-why__text .ds-heading__tag {
    --i: 3;
  }

  .v2-why__text .ds-heading__title {
    --i: 4;
  }

  .v2-why__text .ds-heading__lead {
    --i: 5;
  }
}

@keyframes v2-why-open {
  from {
    clip-path: circle(0 at 0 100%);
  }

  to {
    clip-path: circle(142% at 0 100%);
  }
}

@keyframes v2-why-settle {
  from {
    scale: 1.24;
  }
}

@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .v2-why__media {
      view-timeline: --v2-why block;
    }

    .v2-why__photo {
      animation: linear both v2-why-drift;
      animation-timeline: --v2-why;
      animation-range: cover;
    }
  }
}

@keyframes v2-why-drift {
  from {
    translate: 0 -5.5%;
  }

  to {
    translate: 0 5.5%;
  }
}

/* [project]/apps/north.law/components/home-v2/meeting-demo/meeting-demo.css [app-client] (css) */
.v2-os__stage {
  transform-origin: 0 0;
  width: 1062px;
  height: 560px;
  scale: min(1, tan(atan2(100cqw, 1062px)));
  color: var(--v2-ink);
  font-family: var(--v2-font);
  text-align: left;
  position: relative;
}

.v2-os__app {
  border: 1px solid var(--v2-border);
  border-radius: var(--v2-radius-l);
  background: linear-gradient(174.17deg, #fdfefe 8.507%, #e7ecf4a3 72.04%);
  height: 100%;
  display: flex;
  overflow: hidden;
  box-shadow: 0 -2px 8px #00000014;
}

.v2-os__stage img {
  flex: none;
  display: block;
}

.v2-os__side {
  background: linear-gradient(#09151d, #0e222f);
  flex: none;
  width: 150px;
}

.v2-os__client {
  border-bottom: 1px solid #253847;
  align-items: center;
  gap: 8px;
  height: 56px;
  padding: 0 16px 0 19px;
  display: flex;
}

.v2-os__client-logo {
  align-items: center;
  gap: 5px;
  display: inline-flex;
}

.v2-os__client-mark {
  width: 14px;
  height: 14px;
}

.v2-os__client-word {
  width: 37px;
  height: 7px;
}

.v2-os__menu {
  margin: 0;
  padding: 16px 4px;
  list-style: none;
}

.v2-os__menu-item {
  border-radius: var(--v2-radius-s);
  color: #8a9caa;
  white-space: nowrap;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  font-size: 12px;
  line-height: 24px;
  display: flex;
}

.v2-os__menu-item.is-active {
  color: #fff;
  background: #15242f;
}

.v2-os__main {
  flex-direction: column;
  flex: 1;
  gap: 16px;
  min-width: 0;
  display: flex;
}

.v2-os__bar {
  border-bottom: 1px solid #edf0f8;
  flex: none;
  justify-content: space-between;
  align-items: center;
  height: 56px;
  padding: 16px;
  display: flex;
}

.v2-os__bar-title {
  color: #000;
  font-size: 14px;
  font-weight: 400;
  line-height: 24px;
}

.v2-os__switch {
  border-radius: var(--v2-radius-s);
  filter: drop-shadow(0 2px 2px #0000000f);
  background: #fff;
  border: 1px solid #0000001f;
  display: flex;
}

.v2-os__switch-item {
  color: #000;
  align-items: center;
  height: 32px;
  padding: 0 16px;
  font-size: 12px;
  font-weight: 400;
  line-height: 24px;
  display: flex;
}

.v2-os__switch-item.is-on {
  border-radius: var(--v2-radius-s) 0 0 var(--v2-radius-s);
  color: #fff;
  background: linear-gradient(177.92deg, #15242f 16.286%, #21394a 96.759%);
  box-shadow: inset -6px 5px 4px #0f1f2ba3;
}

.v2-os__list, .v2-os__rows {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.v2-os__list {
  padding: 0 16px;
}

.v2-os__week, .v2-os__card-meta, .v2-os__prompt-meta, .v2-os__panel-meta, .v2-os__label, .v2-os__source {
  font-family: var(--v2-mono);
  letter-spacing: 1px;
  white-space: nowrap;
  font-size: 10px;
  line-height: 24px;
}

.v2-os__week, .v2-os__label {
  color: #0a161e;
}

.v2-os__card {
  border-radius: var(--v2-radius-m);
  filter: drop-shadow(0 1px 1px #eaf0f6);
  transform-origin: 50%;
  background: #fff;
  border: 1px solid #e1e6ef;
  flex-direction: column;
  flex: none;
  gap: 8px;
  padding: 16px;
  display: flex;
  position: relative;
}

.v2-os__card-top, .v2-os__card-meta, .v2-os__card-foot {
  align-items: center;
  display: flex;
  position: relative;
}

.v2-os__card-top {
  gap: 8px;
}

.v2-os__card-title {
  flex: 1;
  min-width: 0;
  position: relative;
  overflow: hidden;
}

.v2-os__card-title-text, .v2-os__summary, .v2-os__panel-title {
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  overflow: hidden;
}

.v2-os__card-title-text {
  color: #08141d;
  font-size: 13px;
  line-height: 24px;
}

.v2-os__shimmer {
  pointer-events: none;
  background: linear-gradient(90deg, #fff0, #ffffffe6 50%, #fff0);
  width: 40%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}

.v2-os__status-slot {
  flex: none;
  justify-items: end;
  display: grid;
}

.v2-os__status-slot > * {
  grid-area: 1 / 1;
}

.v2-os__status {
  letter-spacing: 1px;
  white-space: nowrap;
  border-radius: 4px;
  flex: none;
  align-items: center;
  gap: 8px;
  padding: 0 8px;
  font-size: 10px;
  font-weight: 500;
  line-height: 24px;
  display: inline-flex;
}

.v2-os__status--ready {
  color: #62b2e2;
  background: #f1f6f9;
}

.v2-os__status--transcribing {
  color: #d69941;
  background: #fbf2e6;
}

.v2-os__lock, .v2-os__matter {
  border: 1px solid #eaecee;
  border-radius: 4px;
  flex: none;
  align-items: center;
  padding: 0 4px;
  display: flex;
}

.v2-os__lock {
  height: 24px;
}

.v2-os__card-meta {
  color: #b0b1b4;
  gap: 10px;
}

.v2-os__matter {
  text-transform: uppercase;
  gap: 4px;
  height: 26px;
}

.v2-os__meta-item {
  align-items: center;
  gap: 10px;
  display: flex;
}

.v2-os__rule {
  background: #e9e9eb;
  flex: none;
  width: 1px;
  height: 8px;
}

.v2-os__card-foot {
  gap: 12px;
  height: 20px;
}

.v2-os__summary-slot {
  flex: 1;
  min-width: 0;
  position: relative;
}

.v2-os__summary {
  color: var(--v2-muted);
  font-size: 12px;
  line-height: 20px;
}

.v2-os__skeleton {
  background: #edf1f5;
  border-radius: 4px;
  width: 62%;
  height: 8px;
  position: absolute;
  top: 6px;
  left: 0;
}

.v2-os__people {
  flex: none;
  display: flex;
}

.v2-os__person {
  width: 20px;
  height: 20px;
  font-family: var(--v2-mono);
  color: #4a5f71;
  background: #e1e6ef;
  border-radius: 50%;
  flex: none;
  place-items: center;
  font-size: 9px;
  line-height: 1;
  display: grid;
  box-shadow: 0 0 0 1.5px #fff;
}

.v2-os__people .v2-os__person + .v2-os__person {
  margin-left: -3px;
}

.v2-os__card-hover, .v2-os__card-flash {
  border-radius: var(--v2-radius-m);
  position: absolute;
  inset: -1px;
}

.v2-os__card-hover {
  background: #f5f8fa;
  border: 1px solid #c9d4dd;
}

.v2-os__card-flash {
  background: #e8f3fa;
}

.v2-os__chevron {
  color: var(--v2-muted);
  position: absolute;
  top: calc(50% - 8px);
  right: 2px;
}

.v2-os__fade {
  background: linear-gradient(#f5f8fa00 1.005%, #f5f8fa);
  width: 1119px;
  height: 199px;
  position: absolute;
  top: 365px;
  left: -24px;
}

.v2-os__fade:before {
  content: "";
  -webkit-backdrop-filter: blur(1px);
  backdrop-filter: blur(1px);
  position: absolute;
  inset: 0;
  -webkit-mask-image: linear-gradient(#0000 1.005%, #000);
  mask-image: linear-gradient(#0000 1.005%, #000);
}

.v2-os__panel-clip {
  border-bottom-right-radius: 15px;
  position: absolute;
  inset: 57px 1px 1px 151px;
  overflow: hidden;
}

.v2-os__panel-turn {
  transform-origin: 100% 45%;
  width: 440px;
  position: absolute;
  top: 12px;
  right: 12px;
}

.v2-os__panel {
  border-radius: var(--v2-radius-m);
  background: #fff;
  border: 1px solid #e1e6ef;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  padding: 18px 20px;
  display: flex;
  position: relative;
  box-shadow: 0 16px 40px #09141c1f, 0 2px 6px #09141c0f;
}

.v2-os__panel-shade {
  border-radius: inherit;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  inset: -1px;
  box-shadow: 0 30px 60px #09141c38, 0 6px 16px #09141c1a;
}

.v2-os__panel-head {
  border-bottom: 1px solid #edf0f8;
  align-items: flex-start;
  gap: 10px;
  padding-bottom: 12px;
  display: flex;
}

.v2-os__panel-titles {
  flex-direction: column;
  flex: 1;
  min-width: 0;
  display: flex;
}

.v2-os__panel-title {
  color: #08141d;
  font-size: 14px;
  line-height: 24px;
}

.v2-os__panel-meta {
  color: #b0b1b4;
  text-transform: uppercase;
  align-items: center;
  gap: 10px;
  display: flex;
  overflow: hidden;
}

.v2-os__panel-close {
  color: var(--v2-muted-2);
  flex: none;
  margin-top: 4px;
}

.v2-os__panel-section {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.v2-os__tldr {
  color: #08141d;
  margin: 0;
  font-size: 13px;
  line-height: 22px;
}

.v2-os__source {
  color: var(--v2-muted-2);
}

.v2-os__actions {
  margin: 0;
  padding: 0;
  list-style: none;
}

.v2-os__action {
  border-top: 1px solid #f0f3f7;
  align-items: center;
  gap: 10px;
  padding: 7px 0;
  display: flex;
}

.v2-os__action:first-child {
  border-top: 0;
}

.v2-os__check {
  background: #fff;
  border: 1px solid #c5d1da;
  border-radius: 4px;
  flex: none;
  width: 16px;
  height: 16px;
  position: relative;
}

.v2-os__check-fill {
  background: var(--v2-ink-deep);
  border-radius: 4px;
  position: absolute;
  inset: -1px;
}

.v2-os__check-mark {
  position: absolute;
  top: 2px;
  left: 2px;
}

.v2-os__action-text {
  color: #08141d;
  flex: 0 auto;
  min-width: 0;
  margin-right: auto;
  font-size: 13px;
  line-height: 22px;
  position: relative;
}

.v2-os__strike {
  transform-origin: 0;
  background: currentColor;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
}

.v2-os__due {
  border-radius: var(--v2-radius-s);
  font-family: var(--v2-mono);
  letter-spacing: 1px;
  color: #4a5f71;
  background: #f1f6f9;
  flex: none;
  padding: 0 6px;
  font-size: 10px;
  line-height: 20px;
}

.v2-os__prompt-pos {
  width: 439px;
  position: absolute;
  top: 354px;
  left: 638px;
}

.v2-os__prompt {
  border-radius: var(--v2-radius-m);
  color: #fff;
  background: linear-gradient(136.92deg, #09151d 54.879%, #132d3e 79.256%) border-box;
  border: 3px solid #ffffff14;
  padding: 24px;
  position: relative;
  box-shadow: 0 2px 12px #0000003d, inset 20px 14px 32px #ffffff14;
}

.v2-os__prompt-idle, .v2-os__prompt-rec {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.v2-os__prompt-rec {
  padding: 24px;
  position: absolute;
  inset: 0;
}

.v2-os__prompt-logo {
  align-items: center;
  gap: 8px;
  display: flex;
}

.v2-os__mark {
  height: 24px;
}

.v2-os__prompt-text {
  margin: 0;
  font-size: 13px;
  line-height: 22px;
}

.v2-os__prompt-text span {
  display: block;
}

.v2-os__prompt-meta {
  color: #f5f8fa80;
  align-items: center;
  gap: 10px;
  display: flex;
  overflow: hidden;
}

.v2-os__prompt-meta .v2-os__rule {
  background: #f5f8fa80;
}

.v2-os__prompt-meta > .v2-os__meta-item:first-child .v2-os__rule, .v2-os__live-dot + .v2-os__meta-item .v2-os__rule {
  display: none;
}

.v2-os__live-dot {
  background: #d45b5b;
  border-radius: 50%;
  flex: none;
  width: 6px;
  height: 6px;
  margin-right: -2px;
}

.v2-os__prompt-actions {
  gap: 32px;
  display: flex;
}

.v2-os__prompt-btn {
  border-radius: var(--v2-radius-s);
  letter-spacing: .12px;
  white-space: nowrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
  height: 42px;
  font-size: 12px;
  font-weight: 500;
  line-height: 32px;
  display: flex;
  position: relative;
}

.v2-os__prompt-btn--record {
  border: 1px solid var(--v2-line-dark);
  color: var(--v2-ink-button);
  filter: drop-shadow(0 2px 2px #00000029);
  background: #fff;
  flex: 1;
}

.v2-os__prompt-btn--cancel {
  border: 1px solid #fff;
  flex: none;
  width: 160px;
  box-shadow: 0 2px 4px #00000029;
}

.v2-os__prompt-btn--stop {
  border: 1px solid #fff;
  margin-top: auto;
  box-shadow: 0 2px 4px #00000029;
}

.v2-os__btn-hover {
  border-radius: inherit;
  background: #09151d14;
  position: absolute;
  inset: 0;
}

.v2-os__prompt-btn--stop .v2-os__btn-hover {
  background: #ffffff24;
}

.v2-os__stop-icon {
  background: #d45b5b;
  border-radius: 1.5px;
  width: 8px;
  height: 8px;
}

.v2-os__rec-head {
  justify-content: space-between;
  align-items: center;
  height: 24px;
  display: flex;
}

.v2-os__rec-live {
  font-family: var(--v2-mono);
  letter-spacing: 1px;
  color: #f5f8fa;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  line-height: 24px;
  display: flex;
}

.v2-os__rec-dot {
  background: #d45b5b;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  box-shadow: 0 0 0 3px #d45b5b40;
}

.v2-os__timer {
  height: 24px;
  font-family: var(--v2-mono);
  letter-spacing: 1px;
  font-size: 12px;
  line-height: 24px;
  overflow: hidden;
}

.v2-os__timer-strip {
  flex-direction: column;
  display: flex;
}

.v2-os__rec-title {
  flex-direction: column;
  margin: 0;
  font-size: 13px;
  line-height: 22px;
  display: flex;
}

.v2-os__levels {
  align-items: center;
  gap: 3px;
  height: 22px;
  display: flex;
}

.v2-os__level {
  background: #f5f8fa8c;
  border-radius: 2px;
  width: 3px;
  height: 22px;
  transform: scaleY(.4);
}

.v2-os__cursor {
  transform-origin: 1px 1px;
  filter: drop-shadow(0 1px 1.5px #00000059);
  pointer-events: none;
  position: absolute;
  top: -1px;
  left: -1px;
  overflow: visible;
}

[data-demo="prompt"], [data-demo="prompt-rec"], [data-demo="record-hover"], [data-demo="stop-hover"], [data-demo="row-hover"], [data-demo="row-flash"], [data-demo="row-shimmer"], [data-demo="row-skeleton"], [data-demo="row-chevron"], [data-demo="status-trans"], [data-demo="cursor"] {
  opacity: 0;
}

[data-demo="check-text"] {
  opacity: .45;
}

@media (prefers-reduced-motion: no-preference) {
  [data-visible="true"] .v2-os__live-dot {
    animation: v2-os-breathe 2.4s var(--v2-ease-in-out) infinite;
  }
}

@keyframes v2-os-breathe {
  50% {
    opacity: .35;
    scale: .8;
  }
}

@media (max-width: 1279.98px) {
  .v2-os__fade:before {
    display: none;
  }
}

@media (max-width: 720px) {
  .v2-os__stage {
    width: auto;
    height: 700px;
    scale: none;
  }

  .v2-os__side, .v2-os__switch, .v2-os__lock, .v2-os__card-meta, .v2-os__people, .v2-os__strike, .v2-os__cursor, .v2-os__action .v2-os__person, .v2-os__prompt-btn--cancel, .v2-os__prompt-text span + span, .v2-os__rows > .v2-os__card:nth-child(n+5), .v2-os__card:not(.v2-os__card--new) .v2-os__card-foot {
    display: none;
  }

  .v2-os__week, .v2-os__label, .v2-os__source, .v2-os__panel-meta, .v2-os__prompt-meta, .v2-os__status, .v2-os__due, .v2-os__rec-live {
    font-size: 12px;
  }

  .v2-os__source, .v2-os__panel-meta {
    white-space: normal;
    line-height: 18px;
  }

  .v2-os__panel-meta {
    flex-wrap: wrap;
    overflow: visible;
  }

  .v2-os__panel-meta .v2-os__meta-item + .v2-os__meta-item {
    display: none;
  }

  .v2-os__bar-title, .v2-os__panel-title {
    font-size: 16px;
    line-height: 22px;
  }

  .v2-os__card-title-text {
    font-size: 15px;
    line-height: 22px;
  }

  .v2-os__summary {
    font-size: 14px;
    line-height: 21px;
  }

  .v2-os__tldr, .v2-os__prompt-text, .v2-os__rec-title {
    font-size: 15px;
    line-height: 23px;
  }

  .v2-os__action-text {
    font-size: 14px;
    line-height: 21px;
  }

  .v2-os__prompt-btn {
    height: 48px;
    font-size: 14px;
  }

  .v2-os__timer {
    font-size: 14px;
  }

  .v2-os__card-title-text, .v2-os__panel-title, .v2-os__summary {
    white-space: normal;
    text-overflow: clip;
    overflow: visible;
  }

  .v2-os__card-top {
    align-items: flex-start;
  }

  .v2-os__card-foot {
    height: auto;
  }

  .v2-os__skeleton {
    width: 100%;
    box-shadow: 0 21px #edf1f5;
  }

  .v2-os__skeleton:after {
    content: "";
    background: inherit;
    border-radius: 4px;
    width: 55%;
    height: 8px;
    position: absolute;
    top: 42px;
    left: 0;
  }

  .v2-os__panel-clip {
    left: 1px;
  }

  .v2-os__panel-turn {
    transform-origin: 100% 100%;
    width: auto;
    inset: auto 8px 8px;
  }

  .v2-os__panel {
    padding: 16px;
  }

  .v2-os__panel-head {
    gap: 8px;
    display: grid;
  }

  .v2-os__panel-title {
    padding-right: 26px;
  }

  .v2-os__panel-head > .v2-os__status {
    justify-self: start;
  }

  .v2-os__panel-close {
    margin-top: 0;
    position: absolute;
    top: 16px;
    right: 16px;
  }

  .v2-os__action {
    padding: 9px 0;
  }

  .v2-os__action-text {
    flex: auto;
  }

  .v2-os__fade {
    width: auto;
    inset: auto 0 0;
  }

  .v2-os__prompt-pos {
    width: auto;
    inset: auto 12px 12px;
  }

  .v2-os__prompt, .v2-os__prompt-rec {
    padding: 20px;
  }

  .v2-os__prompt-btn--record {
    flex: 1;
  }
}

/* [project]/apps/north.law/components/home-v2/north-os.css [app-client] (css) */
.v2-os {
  padding: var(--v2-space-section) var(--v2-gutter);
  background: var(--v2-gradient-band), var(--v2-white);
  color: var(--v2-ink);
  font-family: var(--v2-font);
  scroll-margin-top: 8px;
  overflow-x: clip;
}

.v2-os__inner {
  max-width: var(--v2-container);
  margin: 0 auto;
}

.v2-os__head {
  max-width: 1086px;
  margin: 0 auto;
}

.v2-os__frame {
  --reveal-y: 24px;
  aspect-ratio: 1062 / 560;
  min-height: 0;
  margin-top: var(--v2-space-section-media);
  position: relative;
  container-type: inline-size;
}

.v2-os__frame .v2-os__prompt-pos {
  --i: 6;
  --reveal-y: 12px;
  --reveal-scale: .96;
  --reveal-ease: var(--v2-ease-pop);
}

.v2-os__hint {
  border: 1px solid var(--v2-line-row);
  border-radius: var(--v2-radius-s);
  font-family: var(--v2-mono);
  font-size: var(--v2-text-meta-size);
  letter-spacing: var(--v2-text-meta-tracking);
  color: var(--v2-muted);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--v2-dur-base) var(--v2-ease-out);
  background: #ffffffd9;
  align-items: center;
  gap: 6px;
  padding: 0 8px;
  line-height: 22px;
  display: flex;
  position: absolute;
  bottom: 16px;
  left: 16px;
}

.v2-os__hint svg {
  flex: none;
}

[data-mode="hover"]:not([data-playing="true"]) .v2-os__hint {
  opacity: 1;
}

@media (max-width: 720px) {
  .v2-os {
    padding-top: var(--v2-space-section-compact);
    padding-bottom: var(--v2-space-section-compact);
  }

  .v2-os__head .ds-heading__lead {
    font-size: var(--v2-text-lead-compact-size);
    line-height: var(--v2-text-lead-compact-leading);
  }

  .v2-os__frame {
    aspect-ratio: auto;
    margin-top: var(--v2-space-section-compact);
    container-type: normal;
  }
}

/* [project]/apps/north.law/components/home-v2/firm-brain.css [app-client] (css) */
.v2-brain {
  padding: var(--v2-space-section) var(--v2-gutter) var(--v2-space-section);
  background: var(--v2-band);
  color: var(--v2-ink);
  font-family: var(--v2-font);
  overflow-x: clip;
}

.v2-brain__inner {
  max-width: var(--v2-container);
  margin: 0 auto;
}

.v2-brain__grid {
  grid-template-columns: minmax(0, 1fr) 408px;
  align-items: center;
  gap: 48px 64px;
  display: grid;
}

.v2-brain__stack {
  --tilt: -6deg;
  --dx: 16px;
  --dy: 45px;
  --h: 155px;
  --shrink: 0px;
  --w: min(376px, 100cqw - 5 * var(--dx));
  --pad-x: 24px;
  --pad-y: 22px;
  --title-size: 30px;
  --title-line: 36px;
  --title-rest: 18px;
  --title-rest-scale: .6;
  --gap-title: 6px;
  --row-left: 20px;
  --row-right: 18px;
  --num-slot: 28px;
  --front-rise: calc(var(--pad-y)  - (var(--h)  - var(--dy)  + (var(--dy)  - var(--title-line)) / 2));
  --front-dx: calc(var(--pad-x)  - var(--row-left)  - var(--num-slot));
  --p: .35;
  --pa: .35;
  --tilt-x: 12deg;
  --tilt-y: -4deg;
  --ry-rest: -6deg;
  --rx: calc(var(--p) * var(--tilt-x));
  --ry: calc(var(--ry-rest)  + var(--p) * var(--tilt-y));
  --spread: calc(var(--pa) * 7px);
  perspective: 1500px;
  perspective-origin: 46%;
  padding-block: 72px;
  position: relative;
  container-type: inline-size;
}

.v2-brain__stack:before {
  content: "";
  pointer-events: none;
  background: radial-gradient(closest-side, #62b2e22e, #62b2e200 100%) 70% 70% / 60% 70% no-repeat, radial-gradient(closest-side, #132d3e1a, #132d3e00 100%) 25% 30% / 70% 75% no-repeat;
  position: absolute;
  inset: 8% 4%;
}

.v2-brain__plane {
  width: fit-content;
  transform: rotate(var(--tilt)) rotateX(var(--rx)) rotateY(var(--ry));
  margin-inline: auto;
  display: grid;
  position: relative;
}

.v2-brain__layers {
  grid-area: 1 / 1;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.v2-brain__slot {
  z-index: calc(10 - var(--level));
  width: calc(var(--w)  - 2 * var(--level) * var(--shrink));
  height: var(--h);
  margin-top: calc(var(--level) * var(--dy));
  margin-left: calc(var(--level) * (var(--dx)  + var(--shrink)));
  translate: 0 calc((var(--level)  - 2.5) * var(--spread));
  grid-area: 1 / 1;
  position: relative;
}

.v2-brain__card {
  --card-bg: none;
  --card-solid: none;
  --card-gloss: .18;
  --hx: 0px;
  --hy: 0px;
  --hrx: 0deg;
  --hry: 0deg;
  --lift: 0px;
  --card-shadow: 0 1px 2px #09151d0d, 0 16px 30px -18px #09151d42;
  --card-shadow-lift: 0 2px 4px #09151d12, 0 24px 38px -18px #09151d52;
  --card-shadow-front: 0 4px 10px #09151d1a, 0 40px 60px -24px #09151d6b;
  --ds-edge-gradient: linear-gradient(to bottom left, #fffc 6.9%, #ffffff2e 55%, #09141c17 97.6%);
  box-sizing: border-box;
  background: linear-gradient(160deg, rgba(255, 255, 255, var(--card-gloss)) 0%, #fff0 38%), var(--card-bg);
  width: 100%;
  height: 100%;
  box-shadow: var(--card-shadow), inset 0 1px 0 #ffffff8c;
  translate: var(--hx) calc(var(--lift)  + var(--hy));
  transform: perspective(900px) rotateX(var(--hrx)) rotateY(var(--hry));
  border: 0;
  border-radius: 12px;
  position: relative;
}

.v2-brain__card > * {
  pointer-events: none;
}

.v2-brain__card--head {
  --card-bg: linear-gradient(150deg, #204057c2 0%, #122a3ab3 100%);
  --card-gloss: .07;
  --card-shadow: 0 2px 5px #09151d1a, 0 28px 46px -24px #09151d6b;
  --ds-edge-gradient: linear-gradient(to bottom left, #ffffff80 6.9%, #ffffff0f 60%, #ffffff38 97.6%);
  padding: var(--pad-y) var(--pad-x);
  color: var(--v2-white);
  box-shadow: var(--card-shadow), inset 0 1px 0 #ffffff29;
  -webkit-backdrop-filter: blur(12px) saturate(118%) brightness(1.04);
  backdrop-filter: blur(12px) saturate(118%) brightness(1.04);
  flex-direction: column;
  display: flex;
}

.v2-brain__slot:first-child > .v2-brain__card--layer {
  --card-bg: linear-gradient(150deg, #96afc38f 0%, #849fb580 100%);
  --card-solid: linear-gradient(150deg, #b2c5d4 0%, #a4bbcd 100%);
}

.v2-brain__slot:nth-child(2) > .v2-brain__card--layer {
  --card-bg: linear-gradient(150deg, #aec3d385 0%, #9bb4c775 100%);
  --card-solid: linear-gradient(150deg, #c4d4e1 0%, #b6cad9 100%);
}

.v2-brain__slot:nth-child(3) > .v2-brain__card--layer {
  --card-bg: linear-gradient(150deg, #c6d6e380 0%, #b4c9d970 100%);
  --card-solid: linear-gradient(150deg, #d5e2ec 0%, #c8d9e6 100%);
}

.v2-brain__slot:nth-child(4) > .v2-brain__card--layer {
  --card-bg: linear-gradient(150deg, #e0ecf57a 0%, #cedfec6b 100%);
  --card-solid: linear-gradient(150deg, #e7f1f8 0%, #dae8f2 100%);
}

.v2-brain__slot:nth-child(5) > .v2-brain__card--layer {
  --card-bg: linear-gradient(150deg, #fcffff75 0%, #e8f2f966 100%);
  --card-solid: linear-gradient(150deg, #f7fbfe 0%, #ecf4fa 100%);
}

.v2-brain__name {
  font-size: var(--title-size);
  font-weight: var(--v2-weight-regular);
  line-height: var(--title-line);
  color: var(--v2-white);
  margin: 0;
}

.v2-brain__sub {
  margin: var(--gap-title) 0 0;
  font-size: 14px;
  font-weight: var(--v2-weight-regular);
  line-height: var(--v2-text-small-leading);
  color: var(--v2-white);
}

.v2-brain__card--layer {
  text-align: left;
  color: var(--v2-ink);
  cursor: pointer;
  appearance: none;
  padding: 0;
  font-family: inherit;
  display: block;
}

.v2-brain__fill {
  border-radius: inherit;
  background: linear-gradient(160deg, rgba(255, 255, 255, var(--card-gloss)) 0%, #fff0 38%), var(--card-solid);
  opacity: 0;
  position: absolute;
  inset: 0;
}

.v2-brain__row {
  right: var(--row-right);
  bottom: 0;
  left: var(--row-left);
  height: var(--dy);
  align-items: center;
  display: flex;
  position: absolute;
}

.v2-brain__card--layer:focus-visible {
  outline: var(--v2-focus-width) solid var(--v2-focus-ring);
  outline-offset: var(--v2-focus-width);
  box-shadow: 0 0 0 var(--v2-focus-width) var(--v2-focus-gap), var(--card-shadow-lift);
}

.v2-brain__num {
  font-family: var(--v2-mono);
  font-size: var(--v2-text-meta-size);
  line-height: var(--v2-text-meta-leading);
  letter-spacing: var(--v2-text-meta-tracking);
  color: #09141cd1;
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
}

.v2-brain__label {
  min-width: 0;
  margin-left: var(--num-slot);
  margin-right: calc(2 * var(--pad-x)  - var(--row-left)  - var(--row-right)  - var(--num-slot));
  transform-origin: 0;
  scale: var(--title-rest-scale);
  flex: 1;
  position: relative;
}

.v2-brain__label-text {
  font-size: var(--title-size);
  font-weight: var(--v2-weight-regular);
  line-height: var(--title-line);
  white-space: nowrap;
  text-overflow: ellipsis;
  display: block;
  overflow: hidden;
}

.v2-brain__sub-line {
  top: calc(100% + var(--gap-title));
  font-size: 14px;
  font-weight: var(--v2-weight-regular);
  line-height: var(--v2-text-small-leading);
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #09141cbd;
  opacity: 0;
  position: absolute;
  left: 0;
  right: 0;
  overflow: hidden;
}

.v2-brain__sheen {
  border-radius: inherit;
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.v2-brain__sheen:after {
  content: "";
  background: linear-gradient(105deg, #fff0 20%, #ffffff24 50%, #fff0 80%);
  width: 55%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  transform: translateX(-100%);
}

.v2-brain__copy {
  flex-direction: column;
  align-items: flex-start;
  display: flex;
}

.v2-brain__tag {
  --i: 9;
}

.v2-brain__title {
  font-size: var(--v2-text-title-size);
  font-weight: var(--v2-weight-regular);
  line-height: var(--v2-text-title-leading);
  color: var(--v2-ink);
  margin: 16px 0 0;
}

.v2-brain__title em {
  font-style: normal;
  font-weight: var(--v2-weight-regular);
}

.v2-brain__text {
  font-size: var(--v2-text-lead-size);
  font-weight: var(--v2-weight-light);
  line-height: var(--v2-text-lead-leading);
  color: var(--v2-muted-strong);
  margin: 24px 0 0;
}

.v2-brain__text + .v2-brain__text {
  margin-top: 18px;
}

.v2-brain__slot[data-front] {
  z-index: 20;
}

.v2-brain__slot[data-front] > .v2-brain__card {
  --lift: -12px;
  box-shadow: var(--card-shadow-front), inset 0 1px 0 #ffffff8c;
  scale: 1.07;
}

.v2-brain__slot[data-front] > .v2-brain__card > .v2-brain__fill, .v2-brain__slot[data-front] .v2-brain__sub-line {
  opacity: 1;
}

.v2-brain__slot[data-front] .v2-brain__label {
  translate: var(--front-dx) var(--front-rise);
  scale: 1;
}

.v2-brain__slot[data-front] .v2-brain__num {
  opacity: 0;
  translate: -10px -50%;
}

.v2-brain__slot[data-back] > .v2-brain__card {
  opacity: .78;
  scale: .97;
}

@media (prefers-reduced-motion: no-preference) {
  .v2-brain__card {
    transition: translate var(--v2-dur-base) var(--v2-ease-out), transform var(--v2-dur-base) var(--v2-ease-out), scale var(--v2-dur-base) var(--v2-ease-out), opacity var(--v2-dur-base) var(--v2-ease-out), box-shadow var(--v2-dur-base) var(--v2-ease-out);
  }

  .v2-brain__fill, .v2-brain__sub-line {
    transition: opacity var(--v2-dur-base) var(--v2-ease-out);
  }

  .v2-brain__label {
    transition: translate var(--v2-dur-base) var(--v2-ease-out), scale var(--v2-dur-base) var(--v2-ease-out);
  }

  .v2-brain__num {
    transition: opacity var(--v2-dur-hover) var(--v2-ease-out), translate var(--v2-dur-hover) var(--v2-ease-out);
  }
}

.v2-brain__slot {
  --enter-delay: calc((5 - var(--level)) * var(--v2-stagger));
  --wave-a: 3px;
  --wave-step: .62s;
  --wave-hold: 1;
}

@media (scripting: enabled) and (prefers-reduced-motion: no-preference) {
  [data-reveal]:not([data-inview]) .v2-brain__card, [data-reveal]:not([data-inview]) .v2-brain__stack:before {
    opacity: 0;
  }

  [data-reveal][data-inview] .v2-brain__card {
    animation: v2-brain-fade var(--v2-dur-base) var(--v2-ease-out) var(--enter-delay) backwards, v2-brain-settle 1s linear var(--enter-delay) backwards;
  }

  [data-reveal][data-inview] .v2-brain__card--head {
    animation: v2-brain-fade var(--v2-dur-base) var(--v2-ease-out) var(--enter-delay) backwards, v2-brain-settle 1s linear var(--enter-delay) backwards, v2-brain-frost 1s linear var(--enter-delay) backwards;
  }

  [data-reveal][data-inview] .v2-brain__stack:before {
    animation: v2-brain-fade var(--v2-dur-reveal) var(--v2-ease-out) backwards;
  }

  [data-reveal][data-inview] .v2-brain__sheen:after {
    animation: v2-brain-sheen .9s var(--v2-ease-in-out) calc(var(--enter-delay)  + .9s);
  }

  [data-reveal][data-inview] .v2-brain__slot {
    animation: v2-brain-wave 18s cubic-bezier(.37, 0, .63, 1) calc(var(--enter-delay)  + 1.1s + var(--level) * var(--wave-step)) infinite;
  }

  [data-reveal][data-inview] .v2-brain__stack[data-rest] .v2-brain__slot {
    animation-play-state: paused;
  }

  [data-reveal][data-inview] .v2-brain__slot[data-front] {
    --wave-hold: 0;
  }
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .v2-brain__card--layer {
    transition: translate var(--v2-dur-base) var(--v2-ease-out), transform var(--v2-dur-base) var(--v2-ease-out), opacity var(--v2-dur-base) var(--v2-ease-out), box-shadow var(--v2-dur-base) var(--v2-ease-out);
  }

  .v2-brain__slot:not([data-front]) > .v2-brain__card--layer:hover {
    --lift: -6px;
    box-shadow: var(--card-shadow-lift), inset 0 1px 0 #fff9;
  }
}

@keyframes v2-brain-fade {
  from {
    opacity: 0;
  }
}

@keyframes v2-brain-settle {
  0% {
    transform: translateY(40px) rotate(calc(-1 * var(--tilt)));
    animation-timing-function: cubic-bezier(.22, 1, .36, 1);
  }

  45% {
    transform: translateY(0) rotate(calc(-1 * var(--tilt)));
    animation-timing-function: cubic-bezier(.65, 0, .35, 1);
  }

  100% {
    transform: none;
  }
}

@keyframes v2-brain-frost {
  0%, 85% {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

@keyframes v2-brain-sheen {
  from {
    transform: translateX(-100%);
  }

  to {
    transform: translateX(190%);
  }
}

@keyframes v2-brain-wave {
  0%, 100% {
    transform: translateY(0);
  }

  9% {
    transform: translateY(calc(var(--wave-a) * var(--wave-hold) * -1));
  }

  19% {
    transform: translateY(calc(var(--wave-a) * var(--wave-hold) * .36));
  }

  30% {
    transform: translateY(calc(var(--wave-a) * var(--wave-hold) * -.68));
  }

  41% {
    transform: translateY(calc(var(--wave-a) * var(--wave-hold) * .24));
  }

  52% {
    transform: translateY(calc(var(--wave-a) * var(--wave-hold) * -.94));
  }

  63% {
    transform: translateY(calc(var(--wave-a) * var(--wave-hold) * .44));
  }

  74% {
    transform: translateY(calc(var(--wave-a) * var(--wave-hold) * -.58));
  }

  85% {
    transform: translateY(calc(var(--wave-a) * var(--wave-hold) * .2));
  }

  93% {
    transform: translateY(calc(var(--wave-a) * var(--wave-hold) * -.3));
  }
}

@media (max-width: 1055px) {
  .v2-brain__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 900px) {
  .v2-brain__title {
    font-size: var(--v2-text-title-compact-size);
    line-height: var(--v2-text-title-compact-leading);
  }
}

@media (min-width: 721px) and (max-width: 1055px) {
  .v2-brain__copy > * {
    max-width: 560px;
  }
}

@media (max-width: 720px) {
  .v2-brain {
    padding-top: var(--v2-space-section-compact);
    padding-bottom: var(--v2-space-section-compact);
  }

  .v2-brain__stack {
    --tilt: 0deg;
    --tilt-x: 0deg;
    --tilt-y: 0deg;
    --ry-rest: 0deg;
    --spread: 0px;
    --dx: 0px;
    --dy: 44px;
    --h: 140px;
    --shrink: 5px;
    --w: 100cqw;
    --pad-x: 20px;
    --pad-y: 18px;
    --title-size: 24px;
    --title-line: 30px;
    --title-rest: 16px;
    --title-rest-scale: .6667;
    perspective: none;
    padding-block: 24px;
    padding-inline: 5px;
  }

  .v2-brain__plane {
    transform: none;
  }

  .v2-brain__slot[data-front] > .v2-brain__card {
    --lift: -16px;
    scale: 1.02;
  }
}

/* [project]/apps/north.law/components/home-v2/integrations.css [app-client] (css) */
.v2-integrations {
  padding: var(--v2-space-section) var(--v2-gutter);
  background: var(--v2-white);
  color: var(--v2-ink);
  font-family: var(--v2-font);
}

.v2-integrations__inner {
  max-width: var(--v2-container);
  margin: 0 auto;
}

.v2-integrations .ds-heading__lead {
  max-width: 700px;
}

.v2-integrations__grid {
  margin: var(--v2-space-body-actions) 0 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  padding: 0;
  list-style: none;
  display: grid;
}

.v2-integrations__card {
  border: 1px solid var(--v2-border);
  border-radius: var(--v2-radius-m);
  background: var(--v2-band);
  padding: 24px;
}

.v2-integrations__top {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 32px;
  display: flex;
}

.v2-integrations__logo {
  border: 1px solid var(--v2-line-chip);
  border-radius: var(--v2-radius-m);
  background: var(--v2-white);
  flex-shrink: 0;
  place-items: center;
  width: 56px;
  height: 56px;
  display: grid;
}

.v2-integrations__logo img {
  object-fit: contain;
}

.v2-integrations__status {
  border: 1px solid var(--v2-border);
  border-radius: var(--v2-radius-chip);
  color: #23668f;
  font-family: var(--v2-mono);
  letter-spacing: 1px;
  text-transform: uppercase;
  background: #e5f0f7;
  align-items: center;
  gap: 6px;
  padding: 3px 8px;
  font-size: 10px;
  line-height: 18px;
  display: inline-flex;
}

.v2-integrations__status > span {
  background: currentColor;
  border-radius: 50%;
  width: 5px;
  height: 5px;
}

.v2-integrations__name {
  font-size: var(--v2-text-card-title-size);
  line-height: var(--v2-text-card-title-leading);
  font-weight: var(--v2-weight-regular);
  margin: 0 0 8px;
}

.v2-integrations__category, .v2-integrations__caption {
  font-family: var(--v2-mono);
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--v2-muted-strong);
  margin: 0;
  font-size: 11px;
  line-height: 20px;
}

.v2-integrations__upcoming {
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 24px;
  margin-top: 32px;
  display: flex;
}

.v2-integrations__chips {
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.v2-integrations__chips li {
  border: 1px solid var(--v2-line-chip);
  border-radius: var(--v2-radius-chip);
  color: var(--v2-muted-strong);
  font-size: var(--v2-text-small-size);
  line-height: var(--v2-text-small-leading);
  padding: 6px 12px;
}

@media (max-width: 1050px) {
  .v2-integrations__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 540px) {
  .v2-integrations__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-integrations__card {
    padding: 20px;
  }

  .v2-integrations__top {
    margin-bottom: 24px;
  }
}

/* [project]/apps/north.law/components/home-v2/deploy.css [app-client] (css) */
.v2-deploy#deploy {
  padding: 0 var(--v2-space-frame);
}

.v2-deploy {
  --v2-deploy-bleed: 56px;
  background: var(--v2-white);
  color: var(--v2-white);
  font-family: var(--v2-font);
}

.v2-deploy__card {
  --play: running;
  min-height: 680px;
  padding: var(--v2-space-section-media) 0;
  border-radius: var(--v2-radius-m);
  background: #000;
  align-items: center;
  display: flex;
  position: relative;
  overflow: clip;
}

.v2-deploy__card[data-motion="idle"] {
  --play: paused;
}

.v2-deploy__frame {
  inset: calc(-1 * var(--v2-deploy-bleed));
  pointer-events: none;
  position: absolute;
}

.v2-deploy__sail {
  position: absolute;
  inset: 0;
}

.v2-deploy__photo {
  object-fit: cover;
}

.v2-deploy__card:after {
  content: "";
  background: var(--v2-gradient-deploy-veil);
  pointer-events: none;
  position: absolute;
  inset: 0;
}

.v2-deploy__inner {
  --v2-deploy-stack: 500px;
  --v2-deploy-card: 330px;
  z-index: 1;
  grid-template-columns: minmax(0, 525px) var(--v2-deploy-stack);
  padding: 0 max(calc(var(--v2-gutter)  - var(--v2-space-frame)), calc((100% - var(--v2-container)) / 2));
  flex: 1;
  justify-content: space-between;
  align-items: center;
  column-gap: 32px;
  display: grid;
  position: relative;
}

.v2-deploy__text {
  padding-left: 1px;
}

.v2-deploy__text .ds-heading__title .ds-heading__line {
  display: inline;
}

.v2-deploy__text .ds-heading__title .ds-heading__line:first-child {
  margin-right: .25em;
}

.v2-deploy__text .ds-heading__title .ds-heading__line + .ds-heading__line {
  font-weight: var(--v2-weight-regular);
  white-space: pre-wrap;
  text-indent: -.25em;
  display: inline-block;
}

.v2-deploy__text .ds-heading__lead {
  max-width: 525px;
}

.v2-deploy__cards {
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.v2-deploy__step {
  width: var(--v2-deploy-card);
  position: relative;
}

.v2-deploy__step:first-child {
  z-index: 3;
  rotate: -1.4deg;
}

.v2-deploy__step:nth-child(2) {
  z-index: 2;
  margin: -16px 0 0 auto;
  rotate: 1.1deg;
}

.v2-deploy__step:nth-child(3) {
  z-index: 1;
  margin: -16px 0 0 20px;
  rotate: -.8deg;
}

.v2-deploy__glass {
  border-radius: var(--v2-radius-m);
  background: var(--v2-gradient-glass), #09151d7a;
  box-shadow: 0 24px 48px -24px #0000008f, var(--v2-shadow-glass);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  backdrop-filter: blur(16px) saturate(140%);
  border: 1px solid #0000;
  flex-direction: column;
  gap: 8px;
  padding: 20px 24px 24px;
  display: flex;
  position: relative;
}

.v2-deploy__key {
  font-family: var(--v2-mono);
  font-size: var(--v2-text-label-size);
  line-height: var(--v2-text-label-leading);
  letter-spacing: var(--v2-text-label-tracking);
  text-transform: uppercase;
  color: #ffffffb8;
  margin: 0 0 4px;
}

.v2-deploy__title {
  font-size: var(--v2-text-card-title-size);
  font-weight: var(--v2-weight-medium);
  line-height: var(--v2-text-card-title-leading);
  margin: 0;
}

.v2-deploy__body {
  font-size: var(--v2-text-small-size);
  font-weight: var(--v2-weight-regular);
  line-height: var(--v2-text-small-leading);
  color: #fffc;
  margin: 0;
}

.v2-deploy__glass:after {
  content: "";
  border-radius: inherit;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  inset: -1px;
  box-shadow: 0 32px 56px -20px #000000b8;
}

@media (max-width: 1100px) {
  .v2-deploy__inner {
    --v2-deploy-stack: 420px;
    --v2-deploy-card: 300px;
  }

  .v2-deploy__step:nth-child(3) {
    margin-left: 10px;
  }
}

@media (max-width: 900px) {
  .v2-deploy__card {
    min-height: 0;
    padding: 96px 0;
  }

  .v2-deploy__inner {
    row-gap: var(--v2-space-body-actions);
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-deploy__cards {
    gap: 12px;
    max-width: 525px;
  }

  .v2-deploy__step, .v2-deploy__step:nth-child(n) {
    width: auto;
    margin: 0;
    rotate: none;
  }
}

@media (max-width: 720px) {
  .v2-deploy__card {
    padding: var(--v2-space-section) 0;
  }
}

@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .v2-deploy__frame {
      animation: linear both v2-deploy-pass;
      animation-timeline: view();
      animation-range: cover;
    }
  }
}

@keyframes v2-deploy-pass {
  from {
    translate: 0 -26px;
    scale: 1.1;
  }

  to {
    translate: 0 26px;
    scale: 1;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .v2-deploy__card[data-motion] .v2-deploy__sail {
    animation: v2-deploy-drift-x 23s steps(48) infinite alternate var(--play);
  }

  .v2-deploy__card[data-motion] .v2-deploy__photo {
    animation: v2-deploy-drift-y 31s steps(48) infinite alternate var(--play);
  }
}

@keyframes v2-deploy-drift-x {
  from {
    transform: translateX(-8px);
  }

  to {
    transform: translateX(8px);
  }
}

@keyframes v2-deploy-drift-y {
  from {
    translate: 0 -7px;
  }

  to {
    translate: 0 7px;
  }
}

@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) and (min-width: 901px) {
    .v2-deploy {
      view-timeline: --v2-deploy block;
    }

    .v2-deploy__step {
      animation: linear both v2-deploy-float-1;
      animation-timeline: --v2-deploy;
      animation-range: cover;
    }

    .v2-deploy__step:nth-child(2) {
      animation-name: v2-deploy-float-2;
    }

    .v2-deploy__step:nth-child(3) {
      animation-name: v2-deploy-float-3;
    }
  }
}

@keyframes v2-deploy-float-1 {
  from {
    translate: 0 -30px;
  }

  to {
    translate: 0 30px;
  }
}

@keyframes v2-deploy-float-2 {
  from {
    translate: 0 -19px;
  }

  to {
    translate: 0 21px;
  }
}

@keyframes v2-deploy-float-3 {
  from {
    translate: 0 -14px;
  }

  to {
    translate: 0 18px;
  }
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .v2-deploy__glass {
    transition: transform var(--v2-dur-base) var(--v2-ease-out);
  }

  .v2-deploy__glass:after {
    transition: opacity var(--v2-dur-base) var(--v2-ease-out);
  }

  .v2-deploy__step:hover {
    z-index: 4;
  }

  .v2-deploy__step:hover .v2-deploy__glass {
    transform: translateY(-6px);
  }

  .v2-deploy__step:hover .v2-deploy__glass:after {
    opacity: 1;
  }
}

/* [project]/apps/north.law/components/home-v2/skills.css [app-client] (css) */
.v2-skills {
  padding: var(--v2-space-section) var(--v2-gutter) var(--v2-space-section);
  background: var(--v2-white);
  color: var(--v2-ink);
  font-family: var(--v2-font);
  scroll-margin-top: 24px;
}

.v2-skills__inner {
  max-width: var(--v2-container);
  margin: 0 auto;
}

.v2-skills .ds-heading__line + .ds-heading__line {
  font-weight: var(--v2-weight-regular);
}

.v2-skills__head .ds-heading__lead {
  text-wrap: balance;
  max-width: 720px;
}

.v2-skills__map {
  --hub-y: 250px;
  --hub-r: 120px;
  --chip-half: 88px;
  --launch: 50px;
  --blue: var(--v2-pill-blue-fg);
  --disc-ink: var(--v2-button-dark-bg);
  --disc-lit: var(--v2-button-dark-hover);
  --mark-ink: #d7e6f2;
  --mark-lit: #fff;
  --mark-size: 40px;
  --play: running;
  height: 500px;
  margin-top: var(--v2-space-body-actions);
  position: relative;
  container-type: inline-size;
}

.v2-skills__map[data-motion="idle"] {
  --play: paused;
}

.v2-skills__chip, .v2-skills__ray {
  --dx: calc(var(--side) * (var(--hub-r)  + var(--chip-half)  + var(--t) * (50cqw - var(--hub-r)  - 2 * var(--chip-half))));
  --dy: calc(var(--y)  - var(--hub-y));
  --ux: cos(atan2(var(--dy), var(--dx)));
  --uy: sin(atan2(var(--dy), var(--dx)));
}

.v2-skills__sway {
  display: contents;
}

@media (min-width: 901px) {
  .v2-skills__sway {
    transform-origin: 50% var(--hub-y);
    display: block;
    position: absolute;
    inset: 0;
  }
}

.v2-skills__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.v2-skills__chip {
  z-index: 1;
  left: calc(50% + var(--dx));
  top: var(--y);
  display: flex;
  position: absolute;
  transform: translate(-50%, -50%);
}

.v2-skills__chip-box {
  border: 1px solid var(--v2-border);
  border-radius: var(--v2-radius-m);
  background: var(--v2-white);
  box-shadow: var(--v2-shadow-row);
  white-space: nowrap;
  color: var(--v2-ink);
  isolation: isolate;
  align-items: center;
  gap: 8px;
  padding: 8px 14px 8px 12px;
  font-size: 14px;
  line-height: 20px;
  display: inline-flex;
  position: relative;
}

.v2-skills__chip-box:before {
  content: "";
  z-index: -1;
  border: 1px solid var(--blue);
  border-radius: inherit;
  background: var(--v2-pill-blue-bg);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--blue) 18%, transparent), 0 8px 20px -6px color-mix(in srgb, var(--blue) 65%, transparent);
  opacity: 0;
  pointer-events: none;
  position: absolute;
  inset: -1px;
}

.v2-skills__icon {
  flex: none;
  display: block;
}

.v2-skills__hub {
  z-index: 2;
  left: 50%;
  top: var(--hub-y);
  width: 0;
  height: 0;
  color: var(--v2-ink);
  position: absolute;
}

.v2-skills__core {
  width: 0;
  height: 0;
  position: absolute;
  inset: 0;
}

.v2-skills__ring, .v2-skills__halo, .v2-skills__sonar, .v2-skills__mark, .v2-skills__flash {
  transform-origin: 0 0;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.v2-skills__flash {
  opacity: 0;
  pointer-events: none;
  background: radial-gradient(112% 112% at 26% 16%, #ffffff38 0%, #ffffff12 40%, #fff0 68%);
  width: 88px;
  height: 88px;
  box-shadow: inset 0 2px 3px #ffffff5c, inset 0 -14px 22px -8px #000000b8, inset 0 0 0 1px #ffffff1a;
}

.v2-skills__press {
  z-index: 3;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  background: none;
  border: 0;
  border-radius: 50%;
  width: 88px;
  height: 88px;
  padding: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.v2-skills__press:focus-visible {
  outline: var(--v2-focus-width) solid var(--v2-focus-ring);
  outline-offset: 6px;
}

.v2-skills__press-label {
  clip-path: inset(50%);
  white-space: nowrap;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

@media (scripting: none) {
  .v2-skills__press {
    display: none;
  }
}

.v2-skills__ring {
  place-items: center;
  display: grid;
}

.v2-skills__ring--2:before, .v2-skills__ring--3:before {
  content: "";
  border-radius: inherit;
  background: linear-gradient(150deg, color-mix(in srgb, var(--v2-muted-2) 50%, transparent) 4%, color-mix(in srgb, var(--blue) 26%, transparent) 36%, color-mix(in srgb, var(--v2-border) 52%, transparent) 66%, color-mix(in srgb, var(--v2-muted-2) 16%, transparent) 100%);
  -webkit-mask-composite: xor;
  pointer-events: none;
  padding: 1px;
  position: absolute;
  inset: 0;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor, source-over;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
}

.v2-skills__ring--2 {
  width: 160px;
  height: 160px;
}

.v2-skills__ring--3 {
  width: calc(2 * var(--hub-r));
  height: calc(2 * var(--hub-r));
  opacity: .55;
}

.v2-skills__ring--1 {
  background: radial-gradient(112% 112% at 26% 16%, #ffffff2b 0%, #ffffff0d 36%, #fff0 64%), linear-gradient(155deg, var(--disc-lit) 0%, var(--disc-ink) 68%);
  border: 0;
  width: 88px;
  height: 88px;
  box-shadow: inset 0 1px 1px #ffffff57, inset 0 -12px 20px -8px #0009, 0 14px 30px -12px #09151d80, 0 2px 6px #09151d29;
}

.v2-skills__ring--1:before {
  content: "";
  border-radius: inherit;
  background: linear-gradient(150deg, #ffffffe6 4%, color-mix(in srgb, var(--blue) 62%, transparent) 32%, #ffffff0f 62%, #ffffff42 100%);
  -webkit-mask-composite: xor;
  pointer-events: none;
  padding: 1px;
  position: absolute;
  inset: 0;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor, source-over;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
}

.v2-skills__ring--1:after {
  content: "";
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(150deg, #fff0 24%, #ffffff17 31%, #ffffff42 34%, #ffffff17 37%, #fff0 44%);
  position: absolute;
  inset: 0;
}

.v2-skills__mark {
  width: var(--mark-size);
  height: var(--mark-size);
  filter: drop-shadow(0 -.7px .6px #000000bf) drop-shadow(0 .8px #ffffff3d);
  border-radius: 0;
  display: block;
  overflow: visible;
}

.v2-skills__mark-shape {
  width: 100%;
  height: 100%;
  display: block;
  overflow: visible;
}

.v2-skills__mark-stop--rest {
  stop-color: var(--mark-ink);
}

.v2-skills__mark-stop--lit {
  stop-color: var(--mark-lit);
}

.v2-skills__halo {
  background: radial-gradient(circle, transparent 0 54px, color-mix(in srgb, var(--blue) 30%, transparent) 64px, transparent 92px);
  opacity: .5;
  width: 180px;
  height: 180px;
}

.v2-skills__sonar {
  border: 2px solid color-mix(in srgb, var(--blue) 60%, transparent);
  opacity: 0;
  width: 400px;
  height: 400px;
}

.v2-skills__rays {
  position: absolute;
  inset: 0;
}

.v2-skills__ray {
  left: 50%;
  top: var(--hub-y);
  width: hypot(var(--dx), var(--dy));
  background: linear-gradient(90deg, color-mix(in srgb, var(--blue) 75%, transparent), color-mix(in srgb, var(--blue) 30%, transparent) 45%, color-mix(in srgb, var(--blue) 0%, transparent));
  transform-origin: 0;
  height: 1px;
  rotate: atan2(var(--dy), var(--dx));
  margin-top: -.5px;
  position: absolute;
}

.v2-skills__ray:before {
  content: "";
  inset: -.5px 0 -.5px var(--launch);
  background: linear-gradient(90deg, color-mix(in srgb, var(--blue) 10%, transparent), var(--blue));
  transform-origin: 0;
  opacity: 0;
  position: absolute;
}

.v2-skills__ray:after {
  content: "";
  background: radial-gradient(circle at 35% 30%, var(--v2-white) 0 14%, color-mix(in srgb, var(--blue) 60%, white) 38%, var(--blue) 72%);
  width: 8px;
  height: 8px;
  box-shadow: 0 0 10px 1px color-mix(in srgb, var(--blue) 55%, transparent);
  opacity: 0;
  border-radius: 50%;
  position: absolute;
  top: -3.5px;
  left: -4px;
}

.v2-skills__rays, .v2-skills__hub {
  --i: 4;
}

@media (prefers-reduced-motion: no-preference) {
  .v2-skills__map[data-motion] .v2-skills__ring--1, .v2-skills__map[data-motion] .v2-skills__mark {
    animation: v2-skills-breathe 2.4s var(--v2-ease-in-out) infinite alternate var(--play);
  }

  .v2-skills__map[data-motion] .v2-skills__halo {
    animation: v2-skills-halo 2.4s var(--v2-ease-in-out) infinite alternate var(--play);
  }

  .v2-skills__map[data-motion] .v2-skills__sonar {
    animation: v2-skills-sonar 4s linear infinite var(--play);
  }

  .v2-skills__map[data-motion] .v2-skills__sonar--echo {
    animation-delay: .6s;
  }

  .v2-skills__map[data-motion] .v2-skills__ring--2 {
    animation: v2-skills-tremble-2 4s linear infinite var(--play);
  }

  .v2-skills__map[data-motion] .v2-skills__ring--3 {
    animation: v2-skills-tremble-3 4s linear infinite var(--play);
  }

  .v2-skills__map[data-motion] .v2-skills__ray[data-shot="a"]:after {
    animation: v2-skills-ball-a var(--flight) cubic-bezier(.45, .05, .3, 1) both var(--play);
  }

  .v2-skills__map[data-motion] .v2-skills__ray[data-shot="b"]:after {
    animation: v2-skills-ball-b var(--flight) cubic-bezier(.45, .05, .3, 1) both var(--play);
  }

  .v2-skills__map[data-motion] .v2-skills__ray[data-shot="a"]:before {
    animation: v2-skills-trail-a calc(var(--flight) * 1.4) cubic-bezier(.45, .05, .3, 1) both var(--play);
  }

  .v2-skills__map[data-motion] .v2-skills__ray[data-shot="b"]:before {
    animation: v2-skills-trail-b calc(var(--flight) * 1.4) cubic-bezier(.45, .05, .3, 1) both var(--play);
  }

  .v2-skills__map[data-motion] .v2-skills__chip[data-hit="a"] {
    animation: v2-skills-hit-a .62s linear var(--flight) both var(--play);
  }

  .v2-skills__map[data-motion] .v2-skills__chip[data-hit="b"] {
    animation: v2-skills-hit-b .62s linear var(--flight) both var(--play);
  }

  .v2-skills__map[data-motion] .v2-skills__chip[data-hit="a"] .v2-skills__chip-box:before {
    animation: v2-skills-lit-a 1.1s var(--v2-ease-out) var(--flight) both var(--play);
  }

  .v2-skills__map[data-motion] .v2-skills__chip[data-hit="b"] .v2-skills__chip-box:before {
    animation: v2-skills-lit-b 1.1s var(--v2-ease-out) var(--flight) both var(--play);
  }

  .v2-skills__map[data-motion] .v2-skills__mark-shape, .v2-skills__map[data-motion] .v2-skills__mark-plate {
    will-change: transform;
  }

  .v2-skills__map[data-motion] .v2-skills__mark[data-shot="a"] .v2-skills__mark-shape {
    animation: v2-skills-mark-pop-a .44s linear both var(--play);
  }

  .v2-skills__map[data-motion] .v2-skills__mark[data-shot="b"] .v2-skills__mark-shape {
    animation: v2-skills-mark-pop-b .44s linear both var(--play);
  }

  .v2-skills__map[data-motion] .v2-skills__mark[data-shot="a"] .v2-skills__mark-plate {
    animation: v2-skills-mark-ink-a .9s linear both var(--play);
  }

  .v2-skills__map[data-motion] .v2-skills__mark[data-shot="b"] .v2-skills__mark-plate {
    animation: v2-skills-mark-ink-b .9s linear both var(--play);
  }

  .v2-skills__map[data-motion] .v2-skills__core[data-press="a"] {
    animation: v2-skills-press-a .46s linear both var(--play);
  }

  .v2-skills__map[data-motion] .v2-skills__core[data-press="b"] {
    animation: v2-skills-press-b .46s linear both var(--play);
  }

  .v2-skills__map[data-motion] .v2-skills__core[data-press="a"] .v2-skills__flash {
    animation: v2-skills-buzz-a .52s linear both var(--play);
  }

  .v2-skills__map[data-motion] .v2-skills__core[data-press="b"] .v2-skills__flash {
    animation: v2-skills-buzz-b .52s linear both var(--play);
  }

  @media (min-width: 901px) {
    .v2-skills__map[data-motion] .v2-skills__chip-box {
      animation: v2-skills-wander-1 var(--wander) steps(96) var(--wander-at) infinite var(--play), v2-skills-depth var(--depth) steps(48) var(--depth-at) infinite alternate var(--play);
    }

    .v2-skills__map[data-motion] .v2-skills__ray {
      animation: v2-skills-spoke-1 var(--wander) steps(96) var(--wander-at) infinite var(--play);
    }

    .v2-skills__map[data-motion] .v2-skills__sway {
      animation: v2-skills-sway 37s steps(48) infinite alternate var(--play);
    }

    .v2-skills__map[data-motion] .v2-skills__chip:nth-child(2n) .v2-skills__chip-box {
      animation-name: v2-skills-wander-2, v2-skills-depth;
    }

    .v2-skills__map[data-motion] .v2-skills__ray:nth-child(2n) {
      animation-name: v2-skills-spoke-2;
    }

    @supports (animation-timeline: view()) {
      .v2-skills__map {
        view-timeline: --v2-skills block;
      }

      .v2-skills__map[data-motion] .v2-skills__list {
        transform-origin: 50% var(--hub-y);
        animation: v2-skills-tide linear both var(--play);
        animation-timeline: --v2-skills;
        animation-range: cover;
      }
    }
  }
}

@keyframes v2-skills-breathe {
  from {
    scale: 1;
  }

  to {
    scale: 1.06;
  }
}

@keyframes v2-skills-halo {
  from {
    opacity: .25;
    scale: .88;
  }

  to {
    opacity: .7;
    scale: 1.08;
  }
}

@keyframes v2-skills-sonar {
  0% {
    opacity: 0;
    scale: .27;
  }

  4% {
    opacity: .6;
  }

  75% {
    opacity: 0;
    scale: 1;
  }

  100% {
    opacity: 0;
    scale: 1;
  }
}

@keyframes v2-skills-tremble-2 {
  0%, 12.1%, 18.9%, 27.1%, 33.9%, 100% {
    scale: 1;
  }

  13.7%, 28.7% {
    scale: 1.012;
  }

  15.6%, 30.6% {
    scale: .995;
  }

  17.2%, 32.2% {
    scale: 1.003;
  }
}

@keyframes v2-skills-tremble-3 {
  0%, 32.6%, 39.4%, 47.6%, 54.4%, 100% {
    scale: 1;
  }

  34.2%, 49.2% {
    scale: 1.008;
  }

  36.1%, 51.1% {
    scale: .996;
  }

  37.7%, 52.7% {
    scale: 1.002;
  }
}

@keyframes v2-skills-ball-a {
  0% {
    opacity: 0;
    translate: var(--launch) 0;
    scale: .4;
  }

  18%, 88% {
    opacity: 1;
    scale: 1;
  }

  100% {
    opacity: 0;
    translate: var(--reach) 0;
    scale: .7;
  }
}

@keyframes v2-skills-ball-b {
  0% {
    opacity: 0;
    translate: var(--launch) 0;
    scale: .4;
  }

  18%, 88% {
    opacity: 1;
    scale: 1;
  }

  100% {
    opacity: 0;
    translate: var(--reach) 0;
    scale: .7;
  }
}

@keyframes v2-skills-trail-a {
  0% {
    opacity: 1;
    scale: 0 1;
  }

  71.4% {
    opacity: 1;
    scale: var(--reach-scale) 1;
  }

  100% {
    opacity: 0;
    scale: var(--reach-scale) 1;
  }
}

@keyframes v2-skills-trail-b {
  0% {
    opacity: 1;
    scale: 0 1;
  }

  71.4% {
    opacity: 1;
    scale: var(--reach-scale) 1;
  }

  100% {
    opacity: 0;
    scale: var(--reach-scale) 1;
  }
}

@keyframes v2-skills-hit-a {
  0% {
    animation-timing-function: cubic-bezier(.22, 1, .36, 1);
    translate: 0;
  }

  22% {
    translate: calc(var(--ux) * 4px) calc(var(--uy) * 4px);
    animation-timing-function: cubic-bezier(.34, 1.56, .64, 1);
  }

  100% {
    translate: 0;
  }
}

@keyframes v2-skills-hit-b {
  0% {
    animation-timing-function: cubic-bezier(.22, 1, .36, 1);
    translate: 0;
  }

  22% {
    translate: calc(var(--ux) * 4px) calc(var(--uy) * 4px);
    animation-timing-function: cubic-bezier(.34, 1.56, .64, 1);
  }

  100% {
    translate: 0;
  }
}

@keyframes v2-skills-lit-a {
  0% {
    opacity: 0;
  }

  12%, 45% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@keyframes v2-skills-lit-b {
  0% {
    opacity: 0;
  }

  12%, 45% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@keyframes v2-skills-mark-pop-a {
  0% {
    animation-timing-function: cubic-bezier(.22, 1, .36, 1);
    scale: 1;
  }

  18% {
    animation-timing-function: cubic-bezier(.34, 1.56, .64, 1);
    scale: .93;
  }

  100% {
    scale: 1;
  }
}

@keyframes v2-skills-mark-pop-b {
  0% {
    animation-timing-function: cubic-bezier(.22, 1, .36, 1);
    scale: 1;
  }

  18% {
    animation-timing-function: cubic-bezier(.34, 1.56, .64, 1);
    scale: .93;
  }

  100% {
    scale: 1;
  }
}

@keyframes v2-skills-mark-ink-a {
  0% {
    animation-timing-function: cubic-bezier(.22, 1, .36, 1);
    translate: 0;
  }

  32% {
    animation-timing-function: cubic-bezier(.45, .05, .55, .95);
    translate: -18px -18px;
  }

  100% {
    translate: 0;
  }
}

@keyframes v2-skills-mark-ink-b {
  0% {
    animation-timing-function: cubic-bezier(.22, 1, .36, 1);
    translate: 0;
  }

  32% {
    animation-timing-function: cubic-bezier(.45, .05, .55, .95);
    translate: -18px -18px;
  }

  100% {
    translate: 0;
  }
}

@keyframes v2-skills-wander-1 {
  0% {
    transform: none;
  }

  14% {
    transform: translate(calc(var(--ux) * var(--dr) * .72 - var(--uy) * var(--dt) * .38), calc(var(--uy) * var(--dr) * .72 + var(--ux) * var(--dt) * .38));
  }

  31% {
    transform: translate(calc(var(--ux) * var(--dr) * .41 - var(--uy) * var(--dt) * -.66), calc(var(--uy) * var(--dr) * .41 + var(--ux) * var(--dt) * -.66));
  }

  48% {
    transform: translate(calc(var(--ux) * var(--dr) * -.55 - var(--uy) * var(--dt) * -.83), calc(var(--uy) * var(--dr) * -.55 + var(--ux) * var(--dt) * -.83));
  }

  64% {
    transform: translate(calc(var(--ux) * var(--dr) * -.88 - var(--uy) * var(--dt) * .24), calc(var(--uy) * var(--dr) * -.88 + var(--ux) * var(--dt) * .24));
  }

  82% {
    transform: translate(calc(var(--ux) * var(--dr) * -.27 - var(--uy) * var(--dt) * .79), calc(var(--uy) * var(--dr) * -.27 + var(--ux) * var(--dt) * .79));
  }

  100% {
    transform: none;
  }
}

@keyframes v2-skills-wander-2 {
  0% {
    transform: none;
  }

  11% {
    transform: translate(calc(var(--ux) * var(--dr) * -.48 - var(--uy) * var(--dt) * .69), calc(var(--uy) * var(--dr) * -.48 + var(--ux) * var(--dt) * .69));
  }

  26% {
    transform: translate(calc(var(--ux) * var(--dr) * -.83 - var(--uy) * var(--dt) * -.18), calc(var(--uy) * var(--dr) * -.83 + var(--ux) * var(--dt) * -.18));
  }

  44% {
    transform: translate(calc(var(--ux) * var(--dr) * -.21 - var(--uy) * var(--dt) * -.74), calc(var(--uy) * var(--dr) * -.21 + var(--ux) * var(--dt) * -.74));
  }

  59% {
    transform: translate(calc(var(--ux) * var(--dr) * .62 - var(--uy) * var(--dt) * -.42), calc(var(--uy) * var(--dr) * .62 + var(--ux) * var(--dt) * -.42));
  }

  77% {
    transform: translate(calc(var(--ux) * var(--dr) * .91 - var(--uy) * var(--dt) * .35), calc(var(--uy) * var(--dr) * .91 + var(--ux) * var(--dt) * .35));
  }

  100% {
    transform: none;
  }
}

@keyframes v2-skills-spoke-1 {
  0% {
    rotate: atan2(var(--dy), var(--dx));
  }

  14% {
    rotate: calc(atan2(var(--dy), var(--dx))  + atan2(calc(var(--dt) * .38), hypot(var(--dx), var(--dy))));
  }

  31% {
    rotate: calc(atan2(var(--dy), var(--dx))  + atan2(calc(var(--dt) * -.66), hypot(var(--dx), var(--dy))));
  }

  48% {
    rotate: calc(atan2(var(--dy), var(--dx))  + atan2(calc(var(--dt) * -.83), hypot(var(--dx), var(--dy))));
  }

  64% {
    rotate: calc(atan2(var(--dy), var(--dx))  + atan2(calc(var(--dt) * .24), hypot(var(--dx), var(--dy))));
  }

  82% {
    rotate: calc(atan2(var(--dy), var(--dx))  + atan2(calc(var(--dt) * .79), hypot(var(--dx), var(--dy))));
  }

  100% {
    rotate: atan2(var(--dy), var(--dx));
  }
}

@keyframes v2-skills-spoke-2 {
  0% {
    rotate: atan2(var(--dy), var(--dx));
  }

  11% {
    rotate: calc(atan2(var(--dy), var(--dx))  + atan2(calc(var(--dt) * .69), hypot(var(--dx), var(--dy))));
  }

  26% {
    rotate: calc(atan2(var(--dy), var(--dx))  + atan2(calc(var(--dt) * -.18), hypot(var(--dx), var(--dy))));
  }

  44% {
    rotate: calc(atan2(var(--dy), var(--dx))  + atan2(calc(var(--dt) * -.74), hypot(var(--dx), var(--dy))));
  }

  59% {
    rotate: calc(atan2(var(--dy), var(--dx))  + atan2(calc(var(--dt) * -.42), hypot(var(--dx), var(--dy))));
  }

  77% {
    rotate: calc(atan2(var(--dy), var(--dx))  + atan2(calc(var(--dt) * .35), hypot(var(--dx), var(--dy))));
  }

  100% {
    rotate: atan2(var(--dy), var(--dx));
  }
}

@keyframes v2-skills-depth {
  from {
    scale: calc(1 - var(--dz));
  }

  to {
    scale: calc(1 + var(--dz));
  }
}

@keyframes v2-skills-sway {
  0% {
    rotate: -1.4deg;
  }

  12.5% {
    rotate: -1.29deg;
  }

  25% {
    rotate: -.99deg;
  }

  37.5% {
    rotate: -.54deg;
  }

  50% {
    rotate: none;
  }

  62.5% {
    rotate: .54deg;
  }

  75% {
    rotate: .99deg;
  }

  87.5% {
    rotate: 1.29deg;
  }

  100% {
    rotate: 1.4deg;
  }
}

@keyframes v2-skills-press-a {
  0% {
    animation-timing-function: cubic-bezier(.3, 0, .2, 1);
    scale: 1;
  }

  13% {
    animation-timing-function: cubic-bezier(.34, 1.56, .64, 1);
    scale: .93;
  }

  100% {
    scale: 1;
  }
}

@keyframes v2-skills-press-b {
  0% {
    animation-timing-function: cubic-bezier(.3, 0, .2, 1);
    scale: 1;
  }

  13% {
    animation-timing-function: cubic-bezier(.34, 1.56, .64, 1);
    scale: .93;
  }

  100% {
    scale: 1;
  }
}

@keyframes v2-skills-buzz-a {
  0% {
    opacity: 0;
    animation-timing-function: cubic-bezier(.3, 0, .2, 1);
  }

  12% {
    opacity: 1;
    animation-timing-function: var(--v2-ease-out);
  }

  100% {
    opacity: 0;
  }
}

@keyframes v2-skills-buzz-b {
  0% {
    opacity: 0;
    animation-timing-function: cubic-bezier(.3, 0, .2, 1);
  }

  12% {
    opacity: 1;
    animation-timing-function: var(--v2-ease-out);
  }

  100% {
    opacity: 0;
  }
}

@keyframes v2-skills-tide {
  from {
    scale: .992;
  }

  to {
    scale: 1.008;
  }
}

@media (max-width: 900px) {
  .v2-skills__map {
    height: auto;
    container-type: normal;
  }

  .v2-skills__rays, .v2-skills__hub {
    display: none;
  }

  .v2-skills__list {
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    display: flex;
  }

  .v2-skills__chip {
    --ux: 0;
    --uy: -1;
    z-index: auto;
    position: relative;
    top: auto;
    left: auto;
    transform: none;
  }
}

@media (max-width: 720px) {
  .v2-skills {
    padding-top: var(--v2-space-section-compact);
    padding-bottom: var(--v2-space-section-compact);
    scroll-margin-top: 40px;
  }
}

/* [project]/apps/north.law/components/home-v2/daily-claude.css [app-client] (css) */
.v2-daily {
  padding: var(--v2-space-section) var(--v2-gutter);
  background: var(--v2-band);
  color: var(--v2-ink);
  font-family: var(--v2-font);
}

.v2-daily__inner {
  max-width: var(--v2-container);
  margin: 0 auto;
}

.v2-daily .ds-heading__lead {
  max-width: 740px;
}

.v2-daily__flow {
  grid-template-columns: minmax(0, 1fr) 190px minmax(0, 1fr);
  align-items: center;
  margin-top: 48px;
  display: grid;
}

.v2-daily__brain, .v2-daily__claude {
  border: 1px solid var(--v2-border);
  border-radius: var(--v2-radius-l);
  padding: 28px;
}

.v2-daily__brain {
  background: var(--v2-white);
}

.v2-daily__brand {
  align-items: center;
  gap: 10px;
  margin-bottom: 28px;
  font-size: 20px;
  line-height: 30px;
  display: flex;
}

.v2-daily__brand img {
  object-fit: contain;
}

.v2-daily__brain .v2-daily__brand img {
  filter: brightness(0);
}

.v2-daily__claude .v2-daily__brand img {
  filter: brightness(1.8);
}

.v2-daily__flow h3 {
  font-size: 24px;
  line-height: 32px;
  font-weight: var(--v2-weight-regular);
  margin: 0 0 24px;
}

.v2-daily__knowledge {
  margin: 0;
  padding: 0;
  list-style: none;
}

.v2-daily__knowledge li {
  border-top: 1px solid var(--v2-line-chip);
  align-items: center;
  gap: 16px;
  padding: 10px 0;
  font-size: 15px;
  line-height: 22px;
  display: flex;
}

.v2-daily__knowledge li > span {
  font-family: var(--v2-mono);
  color: var(--v2-muted-strong);
  font-size: 10px;
}

.v2-daily__connection {
  text-align: center;
  font-family: var(--v2-mono);
  color: var(--v2-muted-strong);
  flex-direction: column;
  gap: 16px;
  font-size: 10px;
  line-height: 18px;
  display: flex;
}

.v2-daily__line {
  background: var(--v2-border);
  height: 1px;
  position: relative;
}

.v2-daily__line:after {
  content: "";
  border-top: 1px solid #23668f;
  border-right: 1px solid #23668f;
  width: 6px;
  height: 6px;
  position: absolute;
  top: -3px;
  right: 2px;
  rotate: 45deg;
}

.v2-daily__line > span {
  background: #23668f;
  width: 24px;
  height: 3px;
  position: absolute;
  top: -1px;
  left: calc(50% - 12px);
}

.v2-daily__claude {
  background: var(--v2-ink-deep);
  color: var(--v2-white);
}

.v2-daily__claude > p {
  font-size: 18px;
  font-weight: var(--v2-weight-regular);
  color: var(--v2-hero-sub);
  margin: 0;
  line-height: 28px;
}

.v2-daily__context {
  border-top: 1px solid var(--v2-line-dark);
  color: var(--v2-hero-sub);
  margin-top: 28px;
  padding-top: 20px;
  font-size: 13px;
  line-height: 22px;
}

.v2-daily__closing {
  border-top: 1px solid var(--v2-border);
  text-align: center;
  margin: 48px 0 0;
  padding-top: 32px;
  font-size: 24px;
  line-height: 34px;
}

.v2-daily__mobile-break {
  display: none;
}

@media (prefers-reduced-motion: no-preference) {
  .v2-daily[data-inview] .v2-daily__line > span {
    animation: v2-daily-connect 1.6s var(--v2-ease-out) 2;
  }

  @keyframes v2-daily-connect {
    0% {
      opacity: 0;
      transform: translateX(-48px);
    }

    25%, 70% {
      opacity: 1;
    }

    100% {
      opacity: 0;
      transform: translateX(48px);
    }
  }
}

@media (max-width: 900px) {
  .v2-daily__flow {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    max-width: 500px;
    margin-inline: auto;
  }

  .v2-daily__connection {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 12px;
  }

  .v2-daily__connection > span:last-child {
    display: none;
  }

  .v2-daily__line {
    width: 40px;
    margin-inline: 8px;
    rotate: 90deg;
  }

  .v2-daily__line > span {
    display: none;
  }

  .v2-daily__closing {
    font-size: 20px;
    line-height: 30px;
  }

  .v2-daily__mobile-break {
    display: block;
  }
}

/* [project]/apps/north.law/components/home-v2/manifesto.css [app-client] (css) */
.v2-manifesto {
  padding: var(--v2-space-section) var(--v2-gutter);
  background: var(--v2-white);
  color: var(--v2-ink);
  font-family: var(--v2-font);
}

.v2-manifesto__inner {
  max-width: var(--v2-container);
  grid-template-columns: minmax(0, 504.03fr) minmax(0, 519fr);
  align-items: center;
  column-gap: 38.97px;
  margin: 0 auto;
  display: grid;
}

.v2-manifesto__media {
  aspect-ratio: 1;
  border-radius: var(--v2-radius-l);
  background: var(--v2-photo-fallback);
  position: relative;
  overflow: hidden;
  box-shadow: 0 18px 40px -24px #09141c61;
}

.v2-manifesto__frame {
  position: absolute;
  inset: 0;
  scale: 1.14;
}

.v2-manifesto__photo {
  object-fit: cover;
  object-position: 100% 50%;
}

.v2-manifesto__text .ds-heading__lead {
  max-width: var(--v2-measure);
}

.v2-manifesto__text .ds-heading__line {
  display: block;
}

@media (max-width: 900px) {
  .v2-manifesto__inner {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 40px;
  }
}

@media (max-width: 720px) {
  .v2-manifesto {
    padding-top: var(--v2-space-section-compact);
    padding-bottom: var(--v2-space-section-compact);
  }
}

@media (scripting: enabled) and (prefers-reduced-motion: no-preference) {
  .v2-manifesto[data-reveal]:not([data-inview]) .v2-manifesto__media {
    clip-path: circle(0 at 0 100%);
  }

  .v2-manifesto[data-inview] .v2-manifesto__media {
    animation: v2-manifesto-open .9s var(--v2-ease-in-out) backwards;
  }

  .v2-manifesto[data-inview] .v2-manifesto__frame {
    animation: v2-manifesto-settle .9s var(--v2-ease-out) backwards;
  }

  .v2-manifesto__text .ds-heading__tag {
    --i: 3;
  }

  .v2-manifesto__text .ds-heading__lead {
    --i: 6;
  }

  .v2-manifesto__text .ds-heading__title.v2-reveal {
    opacity: 1;
    animation: none;
  }

  .v2-manifesto[data-reveal]:not([data-inview]) .ds-heading__line {
    clip-path: inset(-.5em -.5em 100%);
    transform: translateY(100%);
  }

  .v2-manifesto[data-inview] .ds-heading__line {
    animation: v2-manifesto-line var(--v2-dur-reveal) var(--v2-ease-out) calc(4 * var(--v2-stagger)) backwards;
  }

  .v2-manifesto[data-inview] .ds-heading__line:nth-child(2) {
    animation-delay: calc(5 * var(--v2-stagger));
  }
}

@keyframes v2-manifesto-open {
  from {
    clip-path: circle(0 at 0 100%);
  }

  to {
    clip-path: circle(142% at 0 100%);
  }
}

@keyframes v2-manifesto-settle {
  from {
    scale: 1.24;
  }
}

@keyframes v2-manifesto-line {
  from {
    clip-path: inset(-.5em -.5em 100%);
    transform: translateY(100%);
  }

  to {
    clip-path: inset(-.5em);
    transform: none;
  }
}

@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .v2-manifesto__media {
      view-timeline: --v2-manifesto block;
    }

    .v2-manifesto__photo {
      animation: linear both v2-manifesto-drift;
      animation-timeline: --v2-manifesto;
      animation-range: cover;
    }
  }
}

@keyframes v2-manifesto-drift {
  from {
    translate: 0 -5.5%;
  }

  to {
    translate: 0 5.5%;
  }
}

/* [project]/apps/north.law/components/ds/quote.css [app-client] (css) */
.ds-quote {
  font-family: var(--v2-font);
  color: var(--v2-ink);
  margin: 0;
}

.ds-quote__text {
  max-width: 920px;
  font-size: 36px;
  font-weight: var(--v2-weight-regular);
  text-wrap: pretty;
  margin: 0;
  line-height: 48px;
}

.ds-quote--hang .ds-quote__text {
  text-indent: -.4em;
}

@supports (hanging-punctuation: first) {
  .ds-quote--hang .ds-quote__text {
    text-indent: 0;
    hanging-punctuation: first;
  }
}

.ds-quote__caption {
  align-items: center;
  gap: var(--v2-space-card);
  margin-top: var(--v2-space-body-actions);
  padding-top: var(--v2-space-stack);
  border-top: 1px solid var(--v2-border);
  display: flex;
}

.ds-quote__avatar {
  border-radius: 50%;
  flex: none;
  place-items: center;
  width: 56px;
  height: 56px;
  display: grid;
  position: relative;
  overflow: hidden;
}

.ds-quote__avatar--initials {
  border: 1px solid var(--v2-border);
  background: var(--v2-band);
  font-family: var(--v2-mono);
  letter-spacing: var(--v2-text-meta-tracking);
  color: var(--v2-muted-strong);
  font-size: 14px;
  line-height: 1;
}

.ds-quote__avatar--photo {
  background: var(--v2-ink-deep);
}

.ds-quote__avatar--photo img {
  object-fit: cover;
  filter: grayscale() contrast(1.05);
  width: 100%;
  height: 100%;
}

.ds-quote__avatar--photo:after {
  content: "";
  border-radius: inherit;
  background: var(--v2-night-end);
  mix-blend-mode: color;
  border: 1px solid #09151d29;
  position: absolute;
  inset: 0;
}

.ds-quote__who {
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  display: flex;
}

.ds-quote__name {
  font-size: 16px;
  font-weight: var(--v2-weight-regular);
  line-height: 24px;
}

.ds-quote__role {
  font-family: var(--v2-mono);
  font-size: var(--v2-text-label-size);
  letter-spacing: var(--v2-text-label-tracking);
  text-transform: uppercase;
  color: var(--v2-muted-strong);
  line-height: 20px;
}

.ds-quote__logo {
  flex: none;
  width: auto;
  height: 32px;
  margin-left: auto;
}

@media (max-width: 1100px) {
  .ds-quote__text {
    font-size: 32px;
    line-height: 42px;
  }
}

@media (max-width: 720px) {
  .ds-quote__text {
    font-size: 24px;
    line-height: 34px;
  }

  .ds-quote__caption {
    margin-top: var(--v2-space-stack);
    grid-template-columns: auto minmax(0, 1fr);
    display: grid;
  }

  .ds-quote__caption:not(:has(.ds-quote__avatar)) {
    grid-template-columns: minmax(0, 1fr);
  }

  .ds-quote__logo {
    grid-column: 1 / -1;
    height: 28px;
    margin: 8px 0 0;
  }
}

/* [project]/apps/north.law/components/home-v2/customer.css [app-client] (css) */
.v2-customer {
  padding: var(--v2-space-section) var(--v2-gutter) var(--v2-space-section);
  background: var(--v2-white);
  color: var(--v2-ink);
  font-family: var(--v2-font);
  scroll-margin-top: 24px;
}

.v2-customer__inner {
  align-items: center;
  gap: var(--v2-space-stack);
  max-width: var(--v2-container);
  flex-direction: column;
  margin: 0 auto;
  display: flex;
}

.v2-customer__quote {
  text-align: center;
  width: 100%;
}

.v2-customer__quote .ds-quote__text {
  text-wrap: balance;
  max-width: 860px;
  margin-inline: auto;
}

.v2-customer__quote .ds-quote__caption {
  align-items: center;
  gap: var(--v2-space-card);
  margin-top: var(--v2-space-body-actions);
  border-top: 0;
  flex-direction: column;
  padding-top: 0;
  display: flex;
}

.v2-customer__quote .ds-quote__who {
  align-items: center;
  gap: 4px;
}

.v2-customer__quote .ds-quote__logo {
  height: 24px;
  margin: 8px 0 0;
}

.v2-customer__quote--portrait .ds-quote__avatar--photo {
  background: var(--v2-band);
  width: 80px;
  height: 80px;
  box-shadow: inset 0 0 0 1px var(--v2-line-grid);
}

.v2-customer__quote--portrait .ds-quote__avatar--photo img {
  filter: none;
}

.v2-customer__quote--portrait .ds-quote__avatar--photo:after {
  content: none;
}

@media (max-width: 720px) {
  .v2-customer {
    padding-top: var(--v2-space-section-compact);
    padding-bottom: var(--v2-space-section-compact);
    scroll-margin-top: 40px;
  }

  .v2-customer__quote--portrait .ds-quote__avatar--photo {
    width: 64px;
    height: 64px;
  }

  .v2-customer__quote .ds-quote__logo {
    height: 22px;
  }
}

/* [project]/apps/north.law/components/ds/accordion.css [app-client] (css) */
.ds-accordion {
  border-top: 1px solid var(--v2-border);
  font-family: var(--v2-font);
}

.ds-accordion__item {
  border-bottom: 1px solid var(--v2-border);
}

.ds-accordion__summary {
  justify-content: space-between;
  align-items: center;
  gap: var(--v2-space-stack);
  padding: var(--v2-space-stack) 0;
  cursor: pointer;
  font-family: var(--v2-font);
  font-size: var(--v2-text-lead-size);
  font-weight: var(--v2-weight-regular);
  line-height: var(--v2-text-lead-leading);
  color: var(--v2-ink);
  border-radius: var(--v2-radius-m);
  -webkit-tap-highlight-color: transparent;
  list-style: none;
  transition: none;
  display: flex;
  position: relative;
}

.ds-accordion__summary::-webkit-details-marker {
  display: none;
}

.ds-accordion__summary:hover {
  color: var(--v2-ink);
}

.ds-accordion__summary:before {
  content: "";
  inset: 4px calc(-1 * var(--v2-space-card));
  z-index: -1;
  border-radius: var(--v2-radius-m);
  background: var(--v2-band);
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

.ds-accordion__item {
  isolation: isolate;
  position: relative;
}

@media (hover: hover) {
  .ds-accordion__summary:hover:before {
    opacity: 1;
  }
}

.ds-accordion__summary:focus-visible {
  outline: none;
}

.ds-accordion__summary:focus-visible:before {
  opacity: 1;
  outline: var(--v2-focus-width) solid var(--v2-focus-ring);
  box-shadow: inset 0 0 0 var(--v2-focus-width) var(--v2-focus-gap);
  transition: none;
}

.ds-accordion__question {
  min-width: 0;
}

.ds-accordion__icon {
  width: 16px;
  height: 16px;
  color: var(--v2-ink);
  flex: none;
  position: relative;
}

.ds-accordion__icon:before, .ds-accordion__icon:after {
  content: "";
  background: currentColor;
  border-radius: 1px;
  width: 16px;
  height: 1.5px;
  margin: -.75px 0 0 -8px;
  position: absolute;
  top: 50%;
  left: 50%;
}

.ds-accordion__icon:after {
  rotate: 90deg;
}

.ds-accordion__item[open] .ds-accordion__icon:after {
  rotate: none;
}

.ds-accordion__answer {
  max-width: 640px;
  padding: 0 calc(16px + var(--v2-space-stack)) var(--v2-space-stack) 0;
  font-size: 16px;
  font-weight: var(--v2-weight-regular);
  color: var(--v2-muted-strong);
  line-height: 26px;
}

@media (max-width: 720px) {
  .ds-accordion__summary {
    font-size: var(--v2-text-lead-compact-size);
    line-height: var(--v2-text-lead-compact-leading);
  }

  .ds-accordion__answer {
    padding-right: 0;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .ds-accordion__icon:after {
    transition: rotate var(--v2-dur-base) var(--v2-ease-out);
  }

  .ds-accordion__summary:before {
    transition: opacity var(--v2-dur-hover) var(--v2-ease-out);
  }

  .ds-accordion__item[open] .ds-accordion__answer {
    animation: ds-accordion-open var(--v2-dur-base) var(--v2-ease-out);
  }

  @supports selector(::details-content) {
    .ds-accordion__item::details-content {
      opacity: 0;
      transition: opacity var(--v2-dur-hover) var(--v2-ease-out), content-visibility var(--v2-dur-hover) allow-discrete;
    }

    .ds-accordion__item[open]::details-content {
      opacity: 1;
    }
  }
}

@keyframes ds-accordion-open {
  from {
    opacity: 0;
    translate: 0 8px;
  }
}

/* [project]/apps/north.law/components/home-v2/faq.css [app-client] (css) */
.v2-faq {
  padding: var(--v2-space-section) var(--v2-gutter) var(--v2-space-section);
  background: var(--v2-white);
  color: var(--v2-ink);
  font-family: var(--v2-font);
  scroll-margin-top: 24px;
}

.v2-faq__inner {
  row-gap: var(--v2-space-stack);
  max-width: var(--v2-container);
  grid-template-columns: minmax(0, 1fr);
  margin: 0 auto;
  display: grid;
}

.ds-accordion.v2-faq__list {
  border-top-color: #d0dae161;
}

.v2-faq__list .ds-accordion__item {
  border-bottom-color: #d0dae161;
  scroll-margin-top: 96px;
}

.v2-faq__list .ds-accordion__answer {
  max-width: 680px;
  scroll-margin-top: 176px;
}

.v2-faq__list .ds-accordion__icon {
  color: var(--v2-muted);
}

.v2-faq__list .ds-accordion__icon:before, .v2-faq__list .ds-accordion__icon:after {
  height: 1px;
  margin: -.5px 0 0 -8px;
}

.v2-faq__list .ds-accordion__summary:focus-visible .ds-accordion__icon {
  color: var(--v2-ink);
}

@media (hover: hover) {
  .v2-faq__list .ds-accordion__summary:hover .ds-accordion__icon {
    color: var(--v2-ink);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .v2-faq__list .ds-accordion__icon {
    transition: color var(--v2-dur-hover) var(--v2-ease-out);
  }
}

@media (min-width: 1240px) {
  .v2-faq__list .ds-accordion__item {
    column-gap: var(--v2-space-body-actions);
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.58fr);
    align-items: start;
    display: grid;
  }

  .v2-faq__list .ds-accordion__summary {
    grid-area: 1 / 1 / 2 / -1;
    align-self: stretch;
    align-items: flex-start;
  }

  .v2-faq__list .ds-accordion__icon {
    margin-top: 8px;
  }

  .v2-faq__list .ds-accordion__item::details-content {
    grid-area: 1 / 2 / 2 / -1;
  }

  .v2-faq__list .ds-accordion__item > .ds-accordion__answer {
    grid-area: 1 / 2 / 2 / -1;
  }

  .v2-faq__list .ds-accordion__answer {
    max-width: none;
    padding-right: calc(16px + var(--v2-space-stack));
    padding-top: 28px;
  }
}

@media (max-width: 720px) {
  .v2-faq {
    padding-top: var(--v2-space-section-compact);
    padding-bottom: var(--v2-space-section-compact);
    scroll-margin-top: 40px;
  }
}

@media (prefers-reduced-motion: no-preference) {
  @supports (interpolate-size: allow-keywords) and selector(::details-content) {
    .v2-faq__list {
      interpolate-size: allow-keywords;
    }

    .v2-faq__list .ds-accordion__item::details-content {
      block-size: 0;
      transition: block-size var(--v2-dur-base) var(--v2-ease-in-out), opacity var(--v2-dur-base) var(--v2-ease-in-out), content-visibility var(--v2-dur-base) allow-discrete;
      overflow: hidden;
    }

    .v2-faq__list .ds-accordion__item[open]::details-content {
      block-size: auto;
      transition: block-size var(--v2-dur-base) var(--v2-ease-out), opacity var(--v2-dur-hover) var(--v2-ease-out), content-visibility var(--v2-dur-base) allow-discrete;
    }
  }
}

/* [project]/apps/north.law/components/ds/field.css [app-client] (css) */
.ds-field {
  --ds-field-height: 48px;
  min-width: 0;
  font-family: var(--v2-font);
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.ds-field__label {
  font-family: var(--v2-mono);
  font-size: var(--v2-text-label-size);
  font-weight: var(--v2-weight-regular);
  letter-spacing: var(--v2-text-label-tracking);
  text-transform: uppercase;
  color: var(--v2-muted-strong);
  line-height: 16px;
}

.ds-field__required {
  color: var(--v2-ink);
}

.ds-field__control {
  width: 100%;
  min-height: var(--ds-field-height);
  border: 1px solid var(--v2-border-control);
  border-radius: var(--v2-radius-m);
  background: var(--v2-white);
  color: var(--v2-ink);
  font-family: var(--v2-font);
  font-size: 16px;
  font-weight: var(--v2-weight-regular);
  transition: border-color var(--v2-dur-hover) var(--v2-ease-out);
  margin: 0;
  padding: 11px 16px;
  line-height: 24px;
  display: block;
}

.ds-field__control::placeholder {
  color: var(--v2-muted-strong);
  opacity: 1;
}

textarea.ds-field__control {
  resize: vertical;
  min-height: 120px;
}

.ds-field__select {
  display: block;
  position: relative;
}

select.ds-field__control {
  appearance: none;
  cursor: pointer;
  padding-right: 44px;
}

.ds-field__chevron {
  width: 16px;
  height: 16px;
  color: var(--v2-muted-strong);
  pointer-events: none;
  position: absolute;
  top: 50%;
  right: 16px;
  translate: 0 -50%;
}

.ds-field__chevron svg {
  display: block;
}

@media (hover: hover) {
  .ds-field__control:hover {
    border-color: var(--v2-border-hover);
  }
}

.ds-field__control:focus-visible {
  border-color: var(--v2-ink);
  outline: var(--v2-focus-width) solid var(--v2-focus-ring);
  outline-offset: var(--v2-focus-width);
  box-shadow: 0 0 0 var(--v2-focus-width) var(--v2-focus-gap);
}

.ds-field--invalid .ds-field__control, .ds-field--invalid .ds-field__control:hover {
  border-color: var(--v2-error);
}

.ds-field__error {
  color: var(--v2-error);
  font-size: var(--v2-text-small-size);
  font-weight: var(--v2-weight-regular);
  animation: ds-field-error-in var(--v2-dur-hover) var(--v2-ease-out);
  margin: 0;
  line-height: 20px;
}

@keyframes ds-field-error-in {
  from {
    opacity: 0;
    translate: 0 -4px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ds-field__control {
    transition: none;
  }

  .ds-field__error {
    animation: .15s linear ds-field-error-fade;
  }
}

@keyframes ds-field-error-fade {
  from {
    opacity: 0;
  }
}

/* [project]/apps/north.law/components/ds/select.css [app-client] (css) */
.ds-select {
  display: block;
  position: relative;
}

.ds-field__select:has( > .ds-select) > select.ds-field__control {
  display: none;
}

.ds-field__select:has( > .ds-select) > .ds-field__chevron {
  display: none;
}

.ds-select__button {
  justify-content: space-between;
  align-items: center;
  gap: var(--v2-space-card);
  text-align: left;
  cursor: pointer;
  display: flex;
}

.ds-select__value {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.ds-select__value--empty {
  color: var(--v2-muted-strong);
}

.ds-select__chevron {
  width: 16px;
  height: 16px;
  color: var(--v2-muted-strong);
  flex: none;
  place-items: center;
  display: grid;
}

.ds-select__button[aria-expanded="true"] .ds-select__chevron {
  rotate: 180deg;
}

.ds-select__menu {
  z-index: 20;
  border: 1px solid var(--v2-border);
  border-radius: var(--v2-radius-m);
  background: var(--v2-white);
  width: max-content;
  min-width: 100%;
  max-width: min(340px, 100vw - 32px);
  max-height: 320px;
  box-shadow: var(--v2-shadow-popover);
  font-family: var(--v2-font);
  padding: 4px;
  position: absolute;
  top: calc(100% + 6px);
  left: auto;
  right: 0;
  overflow-y: auto;
}

.ds-select__menu--up {
  top: auto;
  bottom: calc(100% + 6px);
}

.ds-select__option {
  justify-content: space-between;
  align-items: center;
  gap: var(--v2-space-card);
  border-radius: var(--v2-radius-s);
  min-height: 40px;
  color: var(--v2-ink);
  cursor: pointer;
  padding: 8px 10px 8px 12px;
  font-size: 16px;
  line-height: 24px;
  display: flex;
}

.ds-select__option[data-active="true"] {
  background: var(--v2-band);
}

.ds-select__option[aria-disabled="true"] {
  color: var(--v2-muted);
  cursor: default;
}

.ds-select__label {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.ds-select__tick {
  width: 14px;
  height: 14px;
  color: var(--v2-ink);
  flex: none;
  place-items: center;
  display: grid;
}

@media (prefers-reduced-motion: no-preference) {
  .ds-select__menu {
    animation: ds-select-in var(--v2-dur-hover) var(--v2-ease-out);
  }

  .ds-select__menu--up {
    animation-name: ds-select-in-up;
  }

  .ds-select__menu--closing {
    pointer-events: none;
    animation-name: ds-select-out;
    animation-fill-mode: forwards;
  }

  .ds-select__menu--up.ds-select__menu--closing {
    animation-name: ds-select-out-up;
  }

  .ds-select__chevron {
    transition: rotate var(--v2-dur-hover) var(--v2-ease-out);
  }

  .ds-select__option {
    transition: background-color var(--v2-dur-hover) var(--v2-ease-out);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ds-select__menu--closing {
    display: none;
  }
}

@keyframes ds-select-in {
  from {
    opacity: 0;
    translate: 0 -4px;
  }
}

@keyframes ds-select-in-up {
  from {
    opacity: 0;
    translate: 0 4px;
  }
}

@keyframes ds-select-out {
  to {
    opacity: 0;
    translate: 0 -4px;
  }
}

@keyframes ds-select-out-up {
  to {
    opacity: 0;
    translate: 0 4px;
  }
}

@media (forced-colors: active) {
  .ds-select__menu {
    border-color: canvastext;
  }

  .ds-select__option[data-active="true"] {
    color: highlighttext;
    forced-color-adjust: none;
    background: highlight;
  }
}

/* [project]/apps/north.law/components/ds/surface.css [app-client] (css) */
.ds-surface {
  border: 1px solid var(--v2-border);
  border-radius: var(--v2-radius-l);
  box-shadow: var(--v2-shadow-card);
}

.ds-surface--card {
  background: var(--v2-card);
}

.ds-surface--screen {
  background: var(--v2-gradient-screen);
  overflow: hidden;
}

/* [project]/apps/north.law/components/home-v2/contact.css [app-client] (css) */
.v2-contact {
  padding: var(--v2-space-section) var(--v2-gutter) var(--v2-space-section);
  background: var(--v2-band);
  color: var(--v2-ink);
  font-family: var(--v2-font);
  scroll-margin-top: 16px;
}

.v2-contact__inner {
  column-gap: var(--v2-space-section);
  max-width: var(--v2-container);
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  align-items: start;
  margin: 0 auto;
  display: grid;
}

.v2-contact__aside {
  padding-top: 40px;
}

.v2-contact__heading .ds-heading__line + .ds-heading__line {
  font-weight: var(--v2-weight-regular);
}

.v2-contact__built {
  max-width: 100%;
  margin: var(--v2-space-body-actions) 0 0;
  color: var(--v2-muted-strong);
  font-family: var(--v2-mono);
  font-size: var(--v2-text-label-size);
  line-height: var(--v2-text-label-leading);
  letter-spacing: var(--v2-text-label-tracking);
  text-transform: uppercase;
  text-wrap: balance;
}

.v2-contact__built b {
  font-weight: inherit;
}

.v2-contact__spark {
  vertical-align: -1px;
  width: 12px;
  height: 12px;
  display: inline-block;
}

.v2-contact__card {
  padding: 40px;
}

.v2-lead {
  display: grid;
}

.v2-lead > * {
  grid-area: 1 / 1;
  min-width: 0;
}

.v2-lead__form {
  container-type: inline-size;
}

.v2-lead__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 24px 20px;
  display: grid;
}

.v2-lead__wide {
  grid-column: 1 / -1;
}

.v2-lead {
  --v2-lead-line: #d0dae1;
  --v2-lead-line-hover: #8596a4;
  --v2-lead-hint: #657988;
  --v2-lead-rise: 0 1px 2px #09141c0d;
  --v2-lead-ring: #09141c80;
  --v2-lead-glow: 0 0 14px 5px #09141c21;
}

.v2-lead .ds-field__control {
  border-color: var(--v2-lead-line);
  box-shadow: 0 0 0 0 var(--v2-focus-gap), 0 0 0 0 #09141c00, 0 0 0 0 #09141c00, var(--v2-lead-rise);
  transition: border-color var(--v2-dur-hover) var(--v2-ease-out), background-color var(--v2-dur-hover) var(--v2-ease-out), box-shadow var(--v2-dur-hover) var(--v2-ease-out);
}

.v2-lead .ds-field__control::placeholder {
  color: var(--v2-lead-hint);
  opacity: 1;
}

.v2-lead .ds-field__control:focus-visible {
  border-color: var(--v2-ink);
  box-shadow: 0 0 0 var(--v2-focus-width) var(--v2-focus-gap), 0 0 0 5px var(--v2-lead-ring), var(--v2-lead-glow), var(--v2-lead-rise);
  outline: none;
}

.v2-lead .ds-field--invalid .ds-field__control, .v2-lead .ds-field--invalid .ds-field__control:hover {
  border-color: var(--v2-error);
  box-shadow: 0 0 0 0 var(--v2-focus-gap), 0 0 0 3px #b83a3a1f, 0 0 0 0 #09141c00, var(--v2-lead-rise);
}

.v2-lead .ds-field--invalid .ds-field__control:focus-visible {
  border-color: var(--v2-error);
  box-shadow: 0 0 0 var(--v2-focus-width) var(--v2-focus-gap), 0 0 0 5px #b83a3abf, 0 0 14px 5px #b83a3a2e, var(--v2-lead-rise);
}

@media (hover: hover) {
  .v2-lead .ds-field__control:hover {
    border-color: var(--v2-lead-line-hover);
  }
}

@media (prefers-reduced-motion: reduce) {
  .v2-lead .ds-field__control {
    transition: none;
  }
}

@media (forced-colors: active) {
  .v2-lead .ds-field__control:focus-visible, .v2-lead .ds-field--invalid .ds-field__control:focus-visible {
    outline: var(--v2-focus-width) solid;
    outline-offset: var(--v2-focus-width);
  }
}

.v2-lead .ds-field__label {
  color: var(--v2-ink);
  font-family: var(--v2-font);
  font-size: var(--v2-text-small-size);
  font-weight: var(--v2-weight-medium);
  letter-spacing: 0;
  text-transform: none;
  line-height: 20px;
}

.v2-lead .ds-select__value--empty, .v2-lead .ds-select__chevron {
  color: var(--v2-lead-hint);
}

.v2-lead select.ds-field__control:has(option[value=""]:checked) {
  color: var(--v2-lead-hint);
}

.v2-lead select.ds-field__control option {
  color: var(--v2-ink);
}

.v2-lead .ds-field__control:autofill {
  box-shadow: inset 0 0 0 100px var(--v2-white);
  -webkit-text-fill-color: var(--v2-ink);
}

.v2-lead textarea.ds-field__control {
  resize: none;
  field-sizing: content;
  min-height: 96px;
  max-height: 240px;
}

@supports not (field-sizing: content) {
  .v2-lead textarea.ds-field__control {
    resize: vertical;
  }
}

.v2-lead__actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 24px;
  margin-top: 32px;
  display: flex;
}

.v2-lead__submit {
  flex: none;
  display: flex;
  position: relative;
}

.v2-lead__promise {
  color: var(--v2-muted-strong);
  font-size: var(--v2-text-small-size);
  flex: 220px;
  margin: 0;
  line-height: 20px;
}

@container (max-width: 440px) {
  .v2-lead__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-lead__submit, .v2-lead__submit .ds-button {
    flex: 100%;
  }
}

.v2-lead .ds-button[aria-disabled="true"] {
  background-color: var(--ds-button-bg);
  cursor: progress;
  transform: none;
}

.v2-lead__progress {
  border-radius: 0 0 var(--v2-radius-s) var(--v2-radius-s);
  opacity: 0;
  pointer-events: none;
  height: 2px;
  transition: opacity var(--v2-dur-hover) var(--v2-ease-out);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}

.v2-lead__progress:after {
  content: "";
  background: linear-gradient(90deg, #fff0, #ffffffe6, #fff0);
  width: 40%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  translate: -100%;
}

.v2-lead .ds-button[aria-busy="true"] + .v2-lead__progress {
  opacity: 1;
}

.v2-lead .ds-button[aria-busy="true"] + .v2-lead__progress:after {
  animation: v2-lead-progress 1.1s var(--v2-ease-in-out) infinite;
}

@keyframes v2-lead-progress {
  to {
    translate: 250%;
  }
}

.v2-lead[data-state="sent"] .v2-lead__form {
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--v2-dur-base) var(--v2-ease-out), visibility 0s linear var(--v2-dur-base);
}

.v2-lead__success {
  pointer-events: none;
  align-self: center;
}

.v2-lead[data-state="sent"] .v2-lead__success {
  pointer-events: auto;
}

.v2-lead__success:focus {
  outline: none;
}

.v2-lead__success-body {
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  display: flex;
}

.v2-lead__check {
  stroke: var(--v2-ink);
  stroke-width: 1.5px;
  stroke-linecap: round;
  stroke-linejoin: round;
  margin-bottom: 16px;
}

.v2-lead__check circle {
  stroke: var(--v2-border-control);
}

.v2-lead__success-title {
  font-size: var(--v2-text-title-size);
  font-weight: var(--v2-weight-regular);
  line-height: var(--v2-text-title-leading);
  margin: 0;
}

.v2-lead__success-text {
  max-width: 360px;
  font-size: var(--v2-text-lead-compact-size);
  font-weight: var(--v2-weight-regular);
  line-height: var(--v2-text-lead-compact-leading);
  margin: 0;
}

@media (prefers-reduced-motion: no-preference) {
  .v2-lead__success-body:not([hidden]) {
    animation: v2-lead-rise var(--v2-dur-reveal) var(--v2-ease-out) .12s backwards;
  }

  .v2-lead__success-body:not([hidden]) .v2-lead__check :is(circle, path) {
    stroke-dasharray: 1;
    animation: v2-lead-draw .6s var(--v2-ease-in-out) .2s backwards;
  }

  .v2-lead__success-body:not([hidden]) .v2-lead__check path {
    animation-duration: .42s;
    animation-delay: .62s;
  }
}

@keyframes v2-lead-rise {
  from {
    opacity: 0;
    translate: 0 var(--v2-reveal-distance);
  }
}

@keyframes v2-lead-draw {
  from {
    stroke-dashoffset: 1px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .v2-lead[data-state="sent"] .v2-lead__form {
    transition: opacity .15s linear, visibility 0s linear .15s;
  }

  .v2-lead__success-body:not([hidden]) {
    animation: .15s linear v2-lead-fade;
  }

  .v2-lead .ds-button[aria-busy="true"] + .v2-lead__progress:after {
    opacity: .5;
    width: 100%;
    animation: none;
    translate: none;
  }
}

@keyframes v2-lead-fade {
  from {
    opacity: 0;
  }
}

@media (max-width: 900px) {
  .v2-contact__inner {
    row-gap: var(--v2-space-section);
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-contact__aside {
    padding-top: 0;
  }
}

@media (max-width: 720px) {
  .v2-contact {
    padding-top: var(--v2-space-section-compact);
    padding-bottom: var(--v2-space-section-compact);
    scroll-margin-top: 40px;
  }

  .v2-contact__inner {
    row-gap: var(--v2-space-body-actions);
  }

  .v2-contact__card {
    padding: 24px;
  }
}

/* [project]/apps/north.law/components/home-v2/footer.css [app-client] (css) */
.v2-footer {
  --v2-footer-link: #fffc;
  padding: var(--v2-space-section) var(--v2-gutter) var(--v2-space-body-actions);
  background: var(--v2-ink-deep) var(--v2-gradient-night);
  color: var(--v2-white);
  font-family: var(--v2-font);
}

.v2-footer__inner {
  max-width: var(--v2-container);
  margin: 0 auto;
}

.v2-footer__top {
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--v2-space-body-actions) var(--v2-space-section);
  flex-wrap: wrap;
  display: flex;
}

.v2-footer__brand {
  align-items: flex-start;
  gap: var(--v2-space-card);
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.v2-footer__logo {
  align-items: center;
  gap: 12px;
  display: flex;
}

.v2-footer__mark {
  width: 32px;
  height: auto;
  display: block;
}

.v2-footer__word {
  width: 68px;
  height: auto;
  display: block;
}

.v2-footer__tagline {
  max-width: 22em;
  color: var(--v2-footer-link);
  font-size: 15px;
  font-weight: var(--v2-weight-regular);
  margin: 0;
  line-height: 24px;
}

.v2-footer__tagline, .v2-footer__legal {
  text-wrap: balance;
}

.v2-footer__cols {
  column-gap: var(--v2-space-section-media);
  grid-template-columns: repeat(2, minmax(0, max-content));
  display: grid;
}

.v2-footer__title {
  color: var(--v2-night-text);
  font-family: var(--v2-mono);
  font-size: var(--v2-text-meta-size);
  font-weight: var(--v2-weight-regular);
  line-height: var(--v2-text-label-leading);
  letter-spacing: var(--v2-text-meta-tracking);
  text-transform: uppercase;
  margin: 0 0 8px;
}

.v2-footer__links {
  margin: 0;
  padding: 0;
  list-style: none;
}

.v2-footer__links--split {
  column-gap: var(--v2-space-body-actions);
  grid-template-rows: repeat(3, auto);
  grid-auto-flow: column;
  display: grid;
}

.v2-footer__link {
  min-height: 32px;
  color: var(--v2-footer-link);
  transition: color var(--v2-dur-hover) var(--v2-ease-out);
  border-radius: 2px;
  align-items: center;
  margin: 0 -4px;
  padding: 0 4px;
  font-size: 14px;
  line-height: 16px;
  text-decoration: none;
  display: inline-flex;
}

.v2-footer__label {
  position: relative;
}

.v2-footer__label:after {
  content: "";
  transform-origin: 0;
  height: 1px;
  transition: scale var(--v2-dur-base) var(--v2-ease-out);
  background: currentColor;
  position: absolute;
  bottom: -3px;
  left: 0;
  right: 0;
  scale: 0 1;
}

@media (hover: hover) {
  .v2-footer__link:hover {
    color: var(--v2-white);
  }

  .v2-footer__link:hover .v2-footer__label:after {
    scale: 1;
  }
}

.v2-footer__link:focus-visible {
  color: var(--v2-white);
  outline: var(--v2-focus-width) solid var(--v2-white);
  outline-offset: var(--v2-focus-width);
}

.v2-footer__bottom {
  justify-content: space-between;
  gap: 8px var(--v2-space-actions);
  margin-top: var(--v2-space-body-actions);
  padding-top: var(--v2-space-stack);
  flex-wrap: wrap;
  display: flex;
  position: relative;
}

.v2-footer__rule {
  background: var(--v2-night-line);
  transform-origin: 0;
  height: 1px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.v2-footer__legal {
  color: var(--v2-night-text);
  font-size: var(--v2-text-small-size);
  font-weight: var(--v2-weight-regular);
  margin: 0;
  line-height: 20px;
}

.v2-footer__link--inline {
  min-height: 0;
  font-size: inherit;
  line-height: inherit;
  margin: 0;
  padding: 0;
  display: inline;
}

.v2-footer__link--inline .v2-footer__label {
  text-underline-offset: 3px;
  -webkit-text-decoration: underline #fff6;
  text-decoration: underline #fff6;
  text-decoration-thickness: 1px;
}

.v2-footer__link--inline .v2-footer__label:after {
  content: none;
}

@media (hover: hover) {
  .v2-footer__link--inline:hover .v2-footer__label {
    text-decoration-color: currentColor;
  }
}

@media (scripting: enabled) and (prefers-reduced-motion: no-preference) {
  .v2-footer[data-reveal]:not([data-inview]) .v2-footer__rule {
    scale: 0 1;
  }

  .v2-footer[data-inview] .v2-footer__rule {
    animation: v2-footer-trace .9s var(--v2-ease-in-out) .16s backwards;
  }
}

@keyframes v2-footer-trace {
  from {
    scale: 0 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .v2-footer__link, .v2-footer__label:after {
    transition: none;
  }
}

@media (max-width: 720px) {
  .v2-footer {
    padding-top: var(--v2-space-section-compact);
    padding-bottom: 32px;
  }

  .v2-footer__top {
    flex-direction: column;
  }

  .v2-footer__cols {
    column-gap: var(--v2-space-stack);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .v2-footer__links--split {
    display: block;
  }

  .v2-footer__bottom {
    flex-direction: column;
  }
}

@media (max-width: 1024px) {
  .v2-footer__link {
    min-width: 44px;
    min-height: 44px;
  }

  .v2-footer__link--inline {
    min-width: 0;
    min-height: 0;
  }
}

/*# sourceMappingURL=apps_north_law_components_d2677c9c._.css.map*/