/* [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: #e5f0f7;
  --v2-pill-blue-fg: #23668f;
  --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-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
  --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: 65px;
  --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/habit.css [app-client] (css) */
.v2-hero__logo[data-brand="habit"], .v2-fixednav__logo[data-brand="habit"] {
  --habit-letters: 10px;
  --habit-line: 32.2371px;
  --habit-stroke: 2.74727;
  gap: calc(var(--habit-mark) * 27 / 70);
}

.v2-fixednav__logo[data-brand="habit"] {
  --habit-letters: 7.5px;
  --habit-line: 24.18px;
}

.v2-hero__logo[data-brand="habit"], .v2-fixednav__logo[data-brand="habit"], .v2-habit-lockup {
  --habit-mark: calc(var(--habit-letters) * 70 / 36.6303);
}

@media (max-width: 720px) {
  .v2-fixednav__logo[data-brand="habit"] {
    --habit-mark: 24px;
    --habit-stroke: 1.64063;
  }
}

[data-brand="habit"] > .v2-logo__mark.v2-logo__mark {
  width: var(--habit-mark);
  height: var(--habit-line);
}

[data-brand="habit"] > .v2-logo__word.v2-logo__word {
  width: calc(var(--habit-mark) * 189 / 70);
  height: var(--habit-line);
  clip-path: inset(0 0 calc((var(--habit-line)  - var(--habit-mark)) / 2 + var(--habit-mark) * 16.3697 / 70));
}

[data-brand="habit"] > .v2-logo__mark path {
  stroke-width: var(--habit-stroke);
}

@media (scripting: enabled) and (prefers-reduced-motion: no-preference) {
  [data-brand="habit"] > .v2-logo__word path {
    animation-name: v2-logo-letter-habit;
  }
}

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

.v2-habit-lockup {
  width: calc(var(--habit-mark) * 286 / 70);
  height: var(--habit-line);
  flex: none;
  display: block;
}

.v2-daily__glyph-art[data-brand="habit"] path:first-of-type {
  --trace-l: 300.737;
  --trace-u: 0;
  --trace-end: 150.368;
}

.v2-daily__glyph-art[data-brand="habit"] path:nth-of-type(2) {
  --trace-l: 290.863;
  --trace-u: 237.495;
  --trace-end: -92.0636;
}

.v2-daily__glyph-art[data-brand="habit"] path:nth-of-type(3) {
  --trace-l: 177.826;
  --trace-u: 0;
  --trace-end: 88.9132;
}

.v2-daily__glyph-art[data-brand="habit"] path:nth-of-type(4) {
  --trace-l: 102.173;
  --trace-u: 0;
  --trace-end: 51.0863;
}

.v2-daily__glyph-art[data-brand="habit"] path:nth-of-type(5) {
  --trace-l: 177.826;
  --trace-u: 9.3657;
  --trace-end: 79.5475;
}

.v2-daily__glyph-art[data-brand="habit"] path:nth-of-type(6) {
  --trace-l: 102.173;
  --trace-u: 9.3657;
  --trace-end: 41.7206;
}

/* [project]/apps/north.law/components/home-v2/nav.css [app-client] (css) */
.v2-nav {
  --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;
  }
}

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

/* [project]/apps/north.law/components/fixed-bar.css [app-client] (css) */
.v2-fixednav {
  --v2-fixednav-top: #ffffffde;
  --v2-fixednav-bottom: #ffffff9c;
  --v2-fixednav-muted: #4f5f6b;
  --v2-menu-ink: var(--v2-fixednav-muted);
  --v2-menu-lit: var(--v2-ink);
  --v2-menu-edge: var(--v2-menu-panel-edge);
  --v2-menu-focus: var(--v2-focus-ring);
  --v2-menu-panel-gap: 14px;
  --v2-nav-hit: 44px;
  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-menu-ink);
  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-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:not(.v2-fixednav--site) .v2-fixednav__logo {
    display: none;
  }
}

.v2-nav--fixed .v2-nav__link[aria-current="page"] {
  color: var(--v2-menu-lit);
}

.v2-fixednav__logoart {
  filter: brightness(0);
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.v2-fixednav__mark {
  width: 24px;
  height: auto;
  display: block;
}

.v2-fixednav__word {
  width: 42px;
  height: auto;
  display: block;
}

@media (max-width: 779px) {
  .v2-fixednav--site .v2-fixednav__word {
    display: none;
  }

  .v2-fixednav--site .v2-fixednav__inner:has(.v2-fixednav__menu[open]) .v2-fixednav__panel {
    width: max-content;
    min-width: 180px;
    left: 50%;
    translate: -50%;
  }

  .v2-fixednav--site .v2-fixednav__panel .v2-nav__list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .v2-fixednav--site .v2-fixednav__panel .v2-nav__item {
    margin-right: 0;
    display: block;
  }

  .v2-fixednav--site .v2-fixednav__panel .v2-nav__item .v2-nav__link {
    letter-spacing: 1.2px;
    border: 0;
    margin: 0;
    padding: 0 10px;
    font-size: 12px;
    line-height: 44px;
  }

  .v2-fixednav--site .v2-fixednav__panel .v2-nav__link:after {
    display: none;
  }

  .v2-fixednav--site .v2-fixednav__panel .v2-nav__link[aria-current="page"] {
    box-shadow: inset 0 0 0 1px var(--v2-menu-edge);
  }

  .v2-fixednav--site .v2-fixednav__panel .v2-nav__pill {
    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__actions .v2-hero__video-cta {
  --i: 2;
  display: none;
}

.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, .v2-hero__actions .v2-hero__video-cta {
    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;
  }

  .v2-hero__actions {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .v2-hero__actions .ds-button {
    width: 100%;
  }
}

@media (max-width: 720px) and (scripting: enabled) {
  .v2-hero__actions .v2-hero__video-cta {
    display: inline-flex;
  }
}

/* [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: var(--v2-text-label-size);
  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: 4px 8px;
  display: inline-block;
}

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

.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);
  margin: 0 auto;
}

.v2-why__scene {
  --blue: var(--v2-pill-blue-fg);
  --room: 10px;
  --descent: 40px;
  margin-top: calc(var(--v2-space-section-media)  - var(--descent)  - var(--room));
  position: relative;
  container-type: inline-size;
}

.v2-why__flow {
  padding: calc(var(--descent)  + var(--room)) 0 var(--room);
  position: relative;
}

.v2-why__stage {
  --tool-h: 60px;
  --disc: 88px;
  --card: 112px;
  --gap: 8px;
  --lift: 20px;
  --fall: 110px;
  --cap: 36px;
  --drop: 48px;
  --rows: 2;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto var(--fall) var(--disc) var(--cap) var(--drop) var(--card) var(--cap);
  justify-items: center;
  width: 100%;
  max-width: 340px;
  margin: 0 auto;
  display: grid;
  position: relative;
}

.v2-why__tools {
  z-index: 1;
  gap: var(--lift) var(--gap);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  display: grid;
  position: relative;
}

.v2-why__tool, .v2-why__hub--claude .v2-why__tile {
  border: 1px solid var(--v2-border);
  background: var(--v2-white);
  box-shadow: var(--v2-shadow-row);
  color: var(--v2-ink);
  cursor: default;
}

.v2-why__float {
  min-width: 0;
  transform-origin: var(--pin, 50%) 100%;
}

.v2-why__float:nth-child(2) {
  --pin: calc(80% + 3.2px);
}

.v2-why__float:nth-child(3) {
  --pin: calc(20% - 3.2px);
}

.v2-why__float:nth-child(4) {
  --pin: calc(112% / 3 + 1.4933px);
}

.v2-why__float:nth-child(5) {
  --pin: calc(188% / 3 - 1.4933px);
}

.v2-why__tool {
  min-width: 0;
  height: var(--tool-h);
  border-radius: var(--v2-radius-m);
  align-items: center;
  gap: 6px;
  padding: 0 4px 0 8px;
  display: flex;
}

.v2-why__logo {
  width: var(--logo, 20px);
  height: var(--logo, 20px);
  flex: none;
  place-items: center;
  display: grid;
}

.v2-why__logo img {
  object-fit: contain;
  width: 100%;
  height: 100%;
  display: block;
}

.v2-why__icon {
  width: 18px;
  height: 18px;
  margin: 0 calc((var(--logo, 20px)  - 18px) / 2);
  fill: none;
  stroke: currentColor;
  stroke-width: 1px;
  stroke-linecap: round;
  stroke-linejoin: round;
  color: var(--v2-muted);
  flex: none;
  display: block;
}

.v2-why__icon path {
  vector-effect: non-scaling-stroke;
}

.v2-why__float--more {
  visibility: hidden;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.v2-why__float--more .v2-why__tool {
  overflow: hidden;
}

.v2-why__id {
  min-width: 0;
  display: grid;
}

.v2-why__name {
  white-space: nowrap;
  font-size: 12px;
  line-height: 18px;
}

.v2-why__category {
  color: var(--v2-muted-strong);
  font-size: 11px;
  line-height: 14px;
}

.v2-why__live {
  border-radius: var(--v2-radius-chip);
  background: var(--v2-pill-blue-bg);
  color: var(--v2-pill-blue-fg);
  font-family: var(--v2-mono);
  font-size: var(--v2-text-meta-size);
  letter-spacing: var(--v2-text-meta-tracking);
  text-transform: uppercase;
  align-items: center;
  gap: 6px;
  margin-left: auto;
  padding: 3px 8px;
  line-height: 18px;
  display: none;
}

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

.v2-why__hub {
  z-index: 1;
  position: relative;
}

.v2-why__hub--north {
  width: var(--disc);
  height: var(--disc);
  grid-row: 3;
}

.v2-why__hub--claude {
  width: var(--card);
  height: var(--card);
  grid-row: 6;
}

.v2-why__tile {
  transform-origin: center;
  place-content: center;
  justify-items: center;
  width: 100%;
  height: 100%;
  display: grid;
}

.v2-why__beat {
  transform-origin: center;
  width: 100%;
  height: 100%;
}

.v2-why__hub--north .v2-why__tile {
  background: linear-gradient(155deg, var(--v2-button-dark-hover) 0%, var(--v2-button-dark-bg) 68%);
  box-shadow: inset 0 1px 1px color-mix(in srgb, var(--v2-white) 34%, transparent), inset 0 -12px 20px -8px color-mix(in srgb, var(--v2-ink-deep) 60%, transparent), 0 14px 30px -12px color-mix(in srgb, var(--v2-ink-deep) 33%, transparent), 0 2px 6px color-mix(in srgb, var(--v2-ink-deep) 11%, transparent);
  border-radius: 50%;
}

.v2-why__hub--claude .v2-why__tile {
  border-radius: var(--v2-radius-l);
  isolation: isolate;
  position: relative;
}

.v2-why__hub--claude .v2-why__tile:before {
  content: "";
  z-index: -1;
  border-radius: inherit;
  opacity: 0;
  pointer-events: none;
  background: #d9775717;
  border: 1px solid #d97757;
  position: absolute;
  inset: -1px;
  box-shadow: 0 0 0 4px #d9775724, 0 8px 20px -6px #d9775766;
}

.v2-why__spark {
  width: var(--spark, 52px);
  height: var(--spark, 52px);
  display: block;
  overflow: visible;
}

.v2-why__spark-fill {
  fill: #d97757;
}

.v2-why__spark-line {
  fill: none;
  stroke: #d97757;
  stroke-width: .52px;
  stroke-linejoin: round;
  opacity: 0;
}

.v2-why__mark {
  width: var(--glyph, 40px);
  height: var(--glyph, 40px);
  fill: var(--v2-white);
  display: block;
}

.v2-why__caption {
  z-index: 1;
  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-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  align-self: start;
  margin: 12px 0 0;
  position: relative;
}

.v2-why__caption--north {
  grid-row: 4;
}

.v2-why__caption--claude {
  grid-row: 7;
}

.v2-why__paths {
  fill: none;
  pointer-events: none;
  position: absolute;
  overflow: visible;
}

.v2-why__paths stop {
  stop-color: var(--v2-border);
}

.v2-why__link stop:first-child {
  stop-color: var(--v2-white);
}

.v2-why__link stop:last-child {
  stop-color: #d97757;
}

.v2-why__sway {
  transform-box: fill-box;
  transform-origin: bottom;
}

.v2-why__base {
  stroke-width: 1px;
}

.v2-why__run {
  stroke: var(--blue);
  stroke-width: 1.5px;
  opacity: 0;
}

.v2-why__link .v2-why__run {
  stroke: #d97757;
}

.v2-why__curves--pairs {
  top: var(--tool-h);
  width: 100%;
  height: calc(var(--tool-h)  + var(--lift)  + var(--fall));
  left: 0;
}

.v2-why__link {
  top: calc(var(--rows) * var(--tool-h)  + (var(--rows)  - 1) * var(--lift)  + var(--fall)  + var(--disc)  + var(--cap));
  width: 2px;
  height: var(--drop);
  left: calc(50% - 1px);
}

.v2-why__curves--pairs .v2-why__sway {
  --h: 190;
}

.v2-why__curves--pairs .v2-why__sway:nth-child(n+4) {
  --h: 110;
}

.v2-why__curves--line {
  visibility: hidden;
  width: 100%;
  height: 2px;
  top: 0;
  left: 0;
}

@container (min-width: 290px) {
  .v2-why__stage {
    --logo: 24px;
  }

  .v2-why__tool {
    gap: 8px;
    padding: 0 8px 0 10px;
  }

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

@container (min-width: 560px) {
  .v2-why__stage {
    --logo: 28px;
    max-width: 520px;
  }

  .v2-why__tool {
    gap: 12px;
    padding: 0 12px 0 14px;
  }

  .v2-why__name {
    font-size: 15px;
    line-height: 20px;
  }

  .v2-why__category {
    white-space: nowrap;
    font-size: 12px;
    line-height: 16px;
  }

  .v2-why__live {
    display: inline-flex;
  }

  .v2-why__curves .v2-why__base {
    stroke-width: .65px;
  }

  .v2-why__curves .v2-why__run {
    stroke-width: .9px;
  }
}

@container (min-width: 980px) {
  .v2-why__flow {
    -webkit-mask-image: linear-gradient(to right, transparent, var(--v2-white) 120px, var(--v2-white) calc(100% - 120px), transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, var(--v2-white) 120px, var(--v2-white) calc(100% - 120px), transparent);
    mask-image: linear-gradient(to right, transparent, var(--v2-white) 120px, var(--v2-white) calc(100% - 120px), transparent);
    overflow: clip;
  }

  .v2-why__stage {
    --tool-h: 68px;
    --disc: 96px;
    --card: 124px;
    --gap: 12px;
    --peek: 108px;
    --fall: 104px;
    --rows: 1;
    --glyph: 44px;
    --spark: 58px;
    max-width: none;
  }

  .v2-why__tools {
    width: calc(150% - 2.5 * var(--gap)  - 3 * var(--peek));
    grid-template-columns: repeat(6, minmax(0, 1fr));
    justify-self: center;
  }

  .v2-why__float--more {
    visibility: visible;
    width: auto;
    position: static;
  }

  .v2-why__tools > .v2-why__float {
    --pin: 50%;
  }

  .v2-why__tool {
    gap: 10px;
    padding: 0 12px 0 14px;
  }

  .v2-why__live {
    display: none;
  }

  .v2-why__curves--line {
    top: var(--tool-h);
    left: calc(1.5 * var(--peek)  + .75 * var(--gap)  - 25%);
    width: calc(150% - 1.5 * var(--gap)  - 3 * var(--peek));
    height: var(--fall);
    visibility: visible;
  }

  .v2-why__curves .v2-why__base {
    stroke-width: 1px;
  }

  .v2-why__curves .v2-why__run {
    stroke-width: 1.5px;
  }

  .v2-why__curves--line .v2-why__sway {
    --h: 104;
  }

  .v2-why__curves--pairs {
    visibility: hidden;
  }
}

.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 {
  text-wrap: balance;
  max-width: 740px;
}

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

.v2-why__scene {
  --expo: cubic-bezier(.16, 1, .3, 1);
  --step: 90ms;
  --lead: .35s;
  --land: .7s;
  --ink: 2.1s;
  --done: 3.8s;
  --lap: 2.2s;
}

@media (scripting: enabled) and (prefers-reduced-motion: no-preference) {
  .v2-why__text .ds-heading__tag {
    --i: 1;
  }

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

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

  .v2-why__scene[data-reveal]:not([data-inview]) .v2-why__stage {
    opacity: 0;
  }

  .v2-why__scene[data-inview] .v2-why__tool {
    animation: v2-why-drop 1s var(--expo) calc(var(--i) * var(--step)  + var(--lead)) backwards;
  }

  .v2-why__scene[data-inview] .v2-why__tile {
    animation: v2-why-pop .8s var(--v2-ease-pop) calc(var(--i) * var(--step)  + var(--lead)) backwards;
  }

  .v2-why__scene[data-inview] .v2-why__caption {
    animation: v2-why-rise .9s var(--expo) calc(var(--i) * var(--step)  + var(--lead)) backwards;
  }

  .v2-why__scene[data-inview] .v2-why__base {
    animation: v2-why-draw 1.1s var(--expo) calc(var(--i) * var(--step)  + var(--lead)  + .45s) backwards;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .v2-why__flow[data-motion="idle"] {
    --play: paused;
  }

  .v2-why__scene[data-inview] .v2-why__flow[data-motion] .v2-why__run {
    animation: v2-why-run var(--lap) linear calc(var(--k) * .3s + var(--done)) infinite var(--play, running), v2-why-show .4s ease calc(var(--k) * .3s + var(--done)) forwards var(--play, running);
  }

  .v2-why__scene[data-inview] .v2-why__flow[data-motion] .v2-why__float {
    animation: v2-why-float var(--float) ease-in-out calc(var(--i) * var(--step)  + var(--lead)  + var(--land)) infinite var(--play, running);
  }

  .v2-why__scene[data-inview] .v2-why__flow[data-motion] .v2-why__curves .v2-why__sway {
    --up: calc(1 + 5 / var(--h));
    --down: calc(1 - 5 / var(--h));
    animation: v2-why-sway var(--float) ease-in-out calc(var(--i) * var(--step)  + var(--lead)  + var(--land)) infinite var(--play, running);
  }

  .v2-why__scene[data-inview] .v2-why__flow[data-motion] .v2-why__spark-line {
    animation: v2-why-outline 8s linear var(--ink) infinite var(--play, running);
  }

  .v2-why__scene[data-inview] .v2-why__flow[data-motion] .v2-why__spark-fill {
    animation: v2-why-fill 8s linear var(--ink) infinite var(--play, running);
  }

  .v2-why__scene[data-inview] .v2-why__flow[data-motion] .v2-why__spark {
    animation: v2-why-hover 6s ease-in-out var(--done) infinite var(--play, running);
  }

  .v2-why__scene[data-inview] .v2-why__flow[data-motion] .v2-why__beat {
    animation: v2-why-hit var(--lap) linear calc(var(--done)  + var(--lap)) infinite var(--play, running);
  }

  .v2-why__scene[data-inview] .v2-why__flow[data-motion] .v2-why__hub--claude .v2-why__tile:before {
    animation: v2-why-lit var(--lap) linear calc(var(--done)  + var(--lap)  + 6 * .3s) infinite var(--play, running);
  }
}

@media (scripting: enabled) and (prefers-reduced-motion: no-preference) {
  .v2-why__scene[data-inview] .v2-why__flow[data-motion="live"] .v2-why__spark-line {
    animation: v2-why-outline 8s linear var(--ink) infinite backwards var(--play, running);
  }

  .v2-why__scene[data-inview] .v2-why__flow[data-motion="live"] .v2-why__spark-fill {
    animation: v2-why-fill 8s linear var(--ink) infinite backwards var(--play, running);
  }
}

@keyframes v2-why-drop {
  from {
    opacity: 0;
    translate: 0 calc(-1 * var(--descent));
  }
}

@keyframes v2-why-pop {
  from {
    opacity: 0;
    scale: .6;
  }
}

@keyframes v2-why-rise {
  from {
    opacity: 0;
    translate: 0 28px;
  }
}

@keyframes v2-why-draw {
  from {
    stroke-dasharray: 1;
    stroke-dashoffset: 1px;
  }

  to {
    stroke-dasharray: 1;
    stroke-dashoffset: 0;
  }
}

@keyframes v2-why-run {
  from {
    stroke-dasharray: .03 .97;
    stroke-dashoffset: 1px;
  }

  to {
    stroke-dasharray: .03 .97;
    stroke-dashoffset: 0;
  }
}

@keyframes v2-why-show {
  to {
    opacity: .65;
  }
}

@keyframes v2-why-float {
  0%, 100% {
    translate: 0;
    rotate: none;
  }

  25% {
    translate: 0 -5px;
    rotate: var(--tilt);
  }

  75% {
    translate: 0 5px;
    rotate: calc(-1 * var(--tilt));
  }
}

@keyframes v2-why-sway {
  0%, 100% {
    scale: 1;
  }

  25% {
    scale: 1 var(--up);
  }

  75% {
    scale: 1 var(--down);
  }
}

@keyframes v2-why-outline {
  0% {
    opacity: 1;
    stroke-dasharray: 1;
    stroke-dashoffset: 1px;
    animation-timing-function: cubic-bezier(.16, 1, .3, 1);
  }

  15% {
    opacity: 1;
    stroke-dasharray: 1;
    stroke-dashoffset: 0;
  }

  21.25%, 95%, 100% {
    opacity: 0;
    stroke-dasharray: 1;
    stroke-dashoffset: 0;
  }
}

@keyframes v2-why-hover {
  0%, 100% {
    translate: 0;
  }

  25% {
    translate: 0 -2.75px;
  }

  75% {
    translate: 0 2.75px;
  }
}

@keyframes v2-why-fill {
  0%, 15% {
    opacity: 0;
  }

  21.25%, 95% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

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

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

  24%, 100% {
    scale: 1;
  }
}

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

  5%, 18% {
    opacity: 1;
  }

  41%, 100% {
    opacity: 0;
  }
}

/* [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;
  }
}

.v2-os__recording-note {
  max-width: 820px;
  font-size: var(--v2-text-small-size);
  line-height: var(--v2-text-small-leading);
  font-family: var(--v2-font);
  font-weight: var(--v2-weight-regular);
  color: var(--v2-muted-strong);
  text-align: center;
  margin: 64px auto 0;
}

/* [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) calc(2 * var(--v2-space-section));
  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 {
  --v2-card-light: .88;
  isolation: isolate;
  border: 1px solid var(--v2-border);
  border-radius: var(--v2-radius-m);
  background-color: var(--v2-band);
  padding: 24px;
  position: relative;
}

.v2-integrations__card:before {
  content: "";
  z-index: -1;
  border-radius: inherit;
  background: radial-gradient(260px 92px at 0 0, color-mix(in srgb, var(--v2-pill-blue-fg) 14%, var(--v2-pill-blue-bg)) 0%, var(--v2-pill-blue-bg) 34%, transparent 100%), linear-gradient(152deg, transparent 34%, var(--v2-white) 100%);
  opacity: var(--v2-card-light);
  position: absolute;
  inset: 0;
}

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

.v2-integrations__logo {
  --v2-logo-box: 40px;
  width: var(--v2-logo-box);
  height: var(--v2-logo-box);
  flex-shrink: 0;
  place-items: center;
  display: grid;
}

.v2-integrations__logo img {
  width: calc(var(--v2-logo-box) * var(--v2-logo-scale, 1));
  height: auto;
  max-height: calc(var(--v2-logo-box) * var(--v2-logo-scale, 1));
  object-fit: contain;
}

.v2-integrations__card[data-connector="netdocuments"] {
  --v2-logo-scale: .82;
}

.v2-integrations__card[data-connector="clio-mark"] {
  --v2-logo-scale: .86;
}

.v2-integrations__card[data-connector="sharepoint"] {
  --v2-logo-scale: .88;
}

.v2-integrations__card[data-connector="outlook"] {
  --v2-logo-scale: .86;
}

.v2-integrations__status {
  border-radius: var(--v2-radius-chip);
  color: var(--v2-pill-blue-fg);
  background: var(--v2-pill-blue-bg);
  font-family: var(--v2-mono);
  font-size: var(--v2-text-meta-size);
  letter-spacing: var(--v2-text-meta-tracking);
  text-transform: uppercase;
  --v2-halo-size: 18px;
  --v2-halo-seed: .28;
  --v2-halo-period: 2.8s;
  --v2-halo-peak: .45;
  align-items: center;
  gap: 6px;
  padding: 3px 8px;
  line-height: 18px;
  display: inline-flex;
}

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

.v2-integrations__status > span:after {
  content: "";
  width: var(--v2-halo-size);
  height: var(--v2-halo-size);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(var(--v2-halo-seed));
  background: radial-gradient(circle closest-side, currentColor 0% 30%, #0000 100%);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
}

.v2-integrations__card:first-child {
  --v2-halo-phase: 0s;
}

.v2-integrations__card:nth-child(2) {
  --v2-halo-phase: -1900ms;
}

.v2-integrations__card:nth-child(3) {
  --v2-halo-phase: -750ms;
}

.v2-integrations__card:nth-child(4) {
  --v2-halo-phase: -2450ms;
}

@media (prefers-reduced-motion: no-preference) {
  .v2-integrations__grid[data-motion] .v2-integrations__status > span:after {
    animation: v2-integrations-halo var(--v2-halo-period) var(--v2-ease-out) var(--v2-halo-phase, 0s) infinite var(--play, running);
  }

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

@keyframes v2-integrations-halo {
  0% {
    transform: translate(-50%, -50%) scale(var(--v2-halo-seed));
    opacity: 0;
  }

  8% {
    opacity: var(--v2-halo-peak);
  }

  45% {
    opacity: 0;
    transform: translate(-50%, -50%)scale(1);
  }

  100% {
    opacity: 0;
    transform: translate(-50%, -50%)scale(1);
  }
}

.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);
  font-size: var(--v2-text-small-size);
  line-height: var(--v2-text-small-leading);
  letter-spacing: var(--v2-text-label-tracking);
  text-transform: uppercase;
  color: var(--v2-muted-strong);
  margin: 0;
}

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

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .v2-integrations__card:before, .v2-integrations__logo img {
    transition: opacity var(--v2-dur-hover) var(--v2-ease-out), transform var(--v2-dur-hover) var(--v2-ease-out);
  }

  .v2-integrations__card:hover {
    --v2-card-light: 1;
  }

  .v2-integrations__card:hover .v2-integrations__logo img {
    transform: scale(1.04);
  }
}

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

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

  .v2-integrations__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-integrations__card {
    padding: 20px;
  }
}

/* [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: calc(2 * 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;
  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: 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 #09151d54, 0 2px 6px #09151d1c;
}

.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__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 44px, color-mix(in srgb, var(--blue) 36%, transparent) 50px, transparent 62px);
  opacity: .38;
  width: 128px;
  height: 128px;
  top: calc(50% + 3px);
}

.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 var(--v2-ease-out) infinite var(--play);
  }

  .v2-skills__map[data-motion] .v2-skills__ring--3 {
    animation: v2-skills-tremble-3 4s var(--v2-ease-out) 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) calc(var(--flight)  + 60ms) 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) calc(var(--flight)  + 60ms) both var(--play);
  }

  .v2-skills__map[data-motion] .v2-skills__mark-shape {
    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__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: .94;
  }

  to {
    opacity: .51;
    scale: 1.06;
  }
}

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

  4% {
    opacity: .6;
  }

  20% {
    opacity: .38;
  }

  42% {
    opacity: .19;
  }

  60% {
    opacity: .07;
  }

  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-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: cubic-bezier(.22, 1, .36, 1);
  }

  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: cubic-bezier(.22, 1, .36, 1);
  }

  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;
  }
}

.v2-skills__cursor, .v2-skills__tip {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
}

.v2-skills__cursor {
  z-index: 4;
  width: 16px;
  height: 20px;
  filter: drop-shadow(var(--v2-shadow-button));
}

.v2-skills__cursor svg {
  display: block;
}

.v2-skills__tip {
  z-index: 3;
  width: max-content;
  max-width: 264px;
}

.v2-skills__tip-card {
  border: 1px solid var(--v2-border);
  border-radius: var(--v2-radius-m);
  background: var(--v2-white);
  box-shadow: var(--v2-shadow-popover);
  color: var(--v2-ink);
  text-align: left;
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
  font-size: 13px;
  line-height: 18px;
  display: flex;
}

.v2-skills__tip-name {
  font-size: 14px;
  line-height: 20px;
  font-weight: var(--v2-weight-medium);
}

.v2-skills__tip-meta {
  font-family: var(--v2-mono);
  color: var(--v2-muted-strong);
  margin-top: 2px;
  font-size: 11px;
  line-height: 16px;
}

@media (prefers-reduced-motion: no-preference) and (min-width: 901px) and (hover: hover) and (pointer: fine) {
  .v2-skills__map[data-motion][data-tour] .v2-skills__cursor {
    visibility: visible;
    transform: translate(var(--cx), var(--cy));
    transition: opacity .15s var(--v2-ease-out), transform .15s var(--v2-ease-out);
  }

  .v2-skills__map[data-motion][data-tour="at"] .v2-skills__cursor {
    opacity: 1;
    transform: translate(calc(var(--cx)  + var(--cdx)), calc(var(--cy)  + var(--cdy)));
    transition: opacity 60ms var(--v2-ease-out);
  }

  .v2-skills__map[data-motion][data-tour="on"] .v2-skills__cursor, .v2-skills__map[data-motion][data-tour="tip"] .v2-skills__cursor, .v2-skills__map[data-motion][data-tour="leave"] .v2-skills__cursor {
    opacity: 1;
    transition: none;
  }

  .v2-skills__map[data-motion][data-tour] .v2-skills__tip {
    visibility: visible;
    transform: translate(var(--tx), var(--ty));
    transition: opacity .15s var(--v2-ease-out);
  }

  .v2-skills__map[data-motion][data-tour="tip"] .v2-skills__tip {
    opacity: 1;
  }

  .v2-skills__map[data-motion][data-hover] .v2-skills__tip {
    visibility: visible;
    opacity: 1;
    transform: translate(var(--tx), var(--ty));
    transition: opacity .15s var(--v2-ease-out);
  }

  .v2-skills__map[data-motion][data-tour] .v2-skills__tip-card {
    transition: transform .15s var(--v2-ease-out);
    transform: translateY(6px);
  }

  .v2-skills__map[data-motion][data-tour] .v2-skills__tip[data-side^="below"] .v2-skills__tip-card {
    transform: translateY(-6px);
  }

  .v2-skills__map[data-motion][data-tour] .v2-skills__tip[data-side="left"] .v2-skills__tip-card {
    transform: translateX(6px);
  }

  .v2-skills__map[data-motion][data-tour] .v2-skills__tip[data-side="right"] .v2-skills__tip-card {
    transform: translateX(-6px);
  }

  .v2-skills__map[data-motion][data-tour="tip"] .v2-skills__tip[data-side] .v2-skills__tip-card, .v2-skills__map[data-motion][data-hover] .v2-skills__tip[data-side] .v2-skills__tip-card {
    animation: v2-skills-tip-breathe 1.2s var(--v2-ease-in-out) .15s infinite alternate var(--play);
    transform: none;
  }

  .v2-skills__map[data-motion][data-hover] .v2-skills__cursor {
    visibility: visible;
    opacity: 0;
    transform: translate(var(--cx), var(--cy));
    transition: opacity 80ms var(--v2-ease-out), transform 80ms var(--v2-ease-out);
  }
}

@keyframes v2-skills-tip-breathe {
  from {
    translate: 0;
  }

  to {
    translate: 0 -1.5px;
  }
}

/* [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-gradient-band), var(--v2-white);
  color: var(--v2-ink);
  font-family: var(--v2-font);
}

.v2-daily__inner {
  --daily-split: .52s;
  --daily-matter: .46s;
  --daily-in: .42s;
  --daily-row-in: .34s;
  --daily-link-in: .46s;
  --daily-trace: 4.2s;
  --daily-rise: 5px;
  --daily-ease-enter: cubic-bezier(.3, .65, .45, .94);
  --daily-matter-at: .66s;
  --daily-head-at: 1.3s;
  --daily-spark-at: 1.36s;
  --daily-rows-at: 1.82s;
  --daily-sheen-at: 2.06s;
  --daily-context-at: 2.18s;
  --daily-loop-at: 2.5s;
  --daily-flow-a: 7s;
  --daily-flow-b: 11s;
  --daily-flow-c: 13s;
  --daily-close-at: 2.62s;
  --play: running;
  max-width: var(--v2-container);
  margin: 0 auto;
}

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

.v2-daily__flow {
  --daily-link: 190px;
  --daily-nest: 28px;
  grid-template-columns: minmax(0, 1fr) var(--daily-link) minmax(0, 1fr);
  align-items: stretch;
  margin-top: 48px;
  display: grid;
}

.v2-daily__brain, .v2-daily__claude {
  isolation: isolate;
  border-radius: var(--v2-radius-l);
  border: 1px solid #0000;
  flex-direction: column;
  padding: 28px;
  display: flex;
  position: relative;
}

.v2-daily__brain:before, .v2-daily__claude:before {
  content: "";
  z-index: -1;
  border: 1px solid var(--v2-border);
  border-radius: inherit;
  position: absolute;
  inset: -1px;
}

.v2-daily__brain:before {
  background: linear-gradient(152deg, var(--v2-card), var(--v2-band));
  box-shadow: var(--v2-shadow-card);
}

.v2-daily__brain:after, .v2-daily__claude:after {
  content: "";
  z-index: -1;
  border: 1px solid var(--v2-border);
  border-radius: inherit;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  inset: -1px;
}

.v2-daily__brand {
  align-items: center;
  gap: var(--v2-space-icon);
  font-size: var(--v2-text-lead-size);
  line-height: var(--v2-text-lead-leading);
  margin-bottom: 24px;
  display: flex;
}

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

.v2-daily__mark {
  background: var(--v2-ink);
  flex: none;
  width: 28px;
  height: 28px;
  -webkit-mask-image: url("/assets/v2/top/north-mark-nav.svg");
  mask-image: url("/assets/v2/top/north-mark-nav.svg");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

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

.v2-daily__glyph {
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.v2-daily__glyph-art {
  aspect-ratio: 1;
  fill: none;
  stroke-width: 2.5px;
  stroke-linejoin: round;
  width: 118%;
  position: absolute;
  bottom: -46%;
  right: -38%;
}

.v2-daily__glyph-from {
  stop-color: var(--v2-band);
}

.v2-daily__glyph-to {
  stop-color: var(--v2-pill-blue-bg);
}

.v2-daily__knowledge {
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.v2-daily__knowledge li {
  font-size: var(--v2-text-button-size);
  line-height: var(--v2-text-small-leading);
  color: var(--v2-muted-strong);
  align-items: center;
  display: flex;
}

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

@property --daily-wave-a {
  syntax: "<percentage>";
  inherits: false;
  initial-value: -30%;
}

@property --daily-wave-b {
  syntax: "<percentage>";
  inherits: false;
  initial-value: -30%;
}

@property --daily-wave-c {
  syntax: "<percentage>";
  inherits: false;
  initial-value: -30%;
}

.v2-daily__line {
  --daily-flow-to: 90deg;
  --daily-wave-a: -30%;
  --daily-wave-b: -30%;
  --daily-wave-c: -30%;
  transform-origin: 0;
  background-image: linear-gradient(var(--daily-flow-to), transparent calc(var(--daily-wave-a)  - 11%), var(--v2-pill-blue-fg) var(--daily-wave-a), transparent calc(var(--daily-wave-a)  + 11%)), linear-gradient(var(--daily-flow-to), transparent calc(var(--daily-wave-b)  - 17%), color-mix(in srgb, var(--v2-pill-blue-fg) 62%, transparent) var(--daily-wave-b), transparent calc(var(--daily-wave-b)  + 17%)), linear-gradient(var(--daily-flow-to), transparent calc(var(--daily-wave-c)  - 26%), color-mix(in srgb, var(--v2-pill-blue-fg) 34%, transparent) var(--daily-wave-c), transparent calc(var(--daily-wave-c)  + 26%)), linear-gradient(var(--daily-flow-to), var(--v2-border), color-mix(in srgb, var(--v2-pill-blue-fg) 45%, var(--v2-band)));
  height: 1px;
  position: relative;
}

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

.v2-daily__claude:before {
  background: var(--v2-gradient-night);
  border-color: var(--v2-line-dark);
  box-shadow: var(--v2-shadow-prompt), var(--v2-shadow-prompt-inner);
}

.v2-daily__grain {
  --daily-grain: .05;
  z-index: -1;
  border-radius: inherit;
  background-image: var(--v2-noise);
  opacity: var(--daily-grain);
  pointer-events: none;
  position: absolute;
  inset: -1px;
}

.v2-daily__sheen {
  z-index: -1;
  border-radius: inherit;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.v2-daily__sheen:before {
  content: "";
  background: linear-gradient(105deg, transparent 42%, var(--v2-hero-sub) 50%, transparent 58%);
  position: absolute;
  inset: -40% -70%;
}

.v2-daily__claude > p {
  font-size: var(--v2-text-lead-compact-size);
  font-weight: var(--v2-weight-regular);
  line-height: var(--v2-text-lead-compact-leading);
  color: var(--v2-hero-sub);
  margin: 0;
}

.v2-daily__context {
  color: var(--v2-hero-sub);
  font-size: var(--v2-text-small-size);
  line-height: var(--v2-text-small-leading);
  margin-top: auto;
}

.v2-daily__closing {
  max-width: 620px;
  font-size: var(--v2-text-lead-size);
  line-height: var(--v2-text-lead-leading);
  color: var(--v2-muted-strong);
  text-align: center;
  margin: 64px auto 0;
}

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

.v2-daily__flow[data-motion="idle"], .v2-daily__flow[data-motion="idle"] ~ .v2-daily__closing {
  --play: paused;
}

@media (scripting: enabled) and (prefers-reduced-motion: no-preference) {
  .v2-daily__flow:not([data-motion]) .v2-daily__brain {
    translate: calc(50% + var(--daily-link) / 2 - var(--daily-nest));
  }

  .v2-daily__flow:not([data-motion]) .v2-daily__claude {
    translate: calc(-50% - var(--daily-link) / 2 + var(--daily-nest));
  }

  .v2-daily__flow:not([data-motion]) .v2-daily__brain:before, .v2-daily__flow:not([data-motion]) .v2-daily__claude:before, .v2-daily__flow:not([data-motion]) .v2-daily__glyph, .v2-daily__flow:not([data-motion]) .v2-daily__grain, .v2-daily__flow:not([data-motion]) .v2-daily__brain:after, .v2-daily__flow:not([data-motion]) .v2-daily__claude:after, .v2-daily__flow:not([data-motion]) .v2-daily__brand, .v2-daily__flow:not([data-motion]) h3, .v2-daily__flow:not([data-motion]) .v2-daily__claude > p, .v2-daily__flow:not([data-motion]) .v2-daily__knowledge li, .v2-daily__flow:not([data-motion]) .v2-daily__context, .v2-daily__flow:not([data-motion]) .v2-daily__connection, .v2-daily__flow:not([data-motion]) ~ .v2-daily__closing {
    opacity: 0;
  }

  .v2-daily__flow[data-motion] .v2-daily__brain {
    animation: v2-daily-split-left var(--daily-split) var(--daily-ease-enter) backwards var(--play);
  }

  .v2-daily__flow[data-motion] .v2-daily__brain:before, .v2-daily__flow[data-motion] .v2-daily__claude:before, .v2-daily__flow[data-motion] .v2-daily__glyph, .v2-daily__flow[data-motion] .v2-daily__grain {
    animation: v2-daily-matter var(--daily-matter) var(--v2-ease-out) var(--daily-matter-at) backwards var(--play);
  }

  .v2-daily__flow[data-motion] .v2-daily__brain:after, .v2-daily__flow[data-motion] .v2-daily__claude:after {
    animation: v2-daily-blueprint calc(var(--daily-matter-at)  + var(--daily-matter)) linear backwards var(--play);
  }

  .v2-daily__flow[data-motion] .v2-daily__glyph {
    container-type: inline-size;
  }

  .v2-daily__glyph-art path:first-of-type {
    --trace-l: 175.043;
    --trace-u: 97.7073;
    --trace-end: -10.186;
  }

  .v2-daily__glyph-art path:nth-of-type(2) {
    --trace-l: 145.578;
    --trace-u: 76.0506;
    --trace-end: -3.2617;
  }

  .v2-daily__glyph-art path:nth-of-type(3) {
    --trace-l: 107.834;
    --trace-u: 0;
    --trace-end: 53.9169;
  }

  .v2-daily__glyph-art path:nth-of-type(4) {
    --trace-l: 137.758;
    --trace-u: 0;
    --trace-end: 68.8791;
  }

  .v2-daily__glyph-art path:nth-of-type(5) {
    --trace-l: 127.446;
    --trace-u: 0;
    --trace-end: 63.723;
  }

  .v2-daily__flow[data-motion] .v2-daily__glyph-art path {
    animation: v2-daily-trace var(--daily-trace) linear var(--daily-matter-at) backwards var(--play);
  }

  .v2-daily__flow[data-motion] .v2-daily__brand, .v2-daily__flow[data-motion] h3, .v2-daily__flow[data-motion] .v2-daily__claude > p {
    animation: v2-daily-in var(--daily-in) var(--v2-ease-out) var(--daily-head-at) backwards var(--play);
  }

  .v2-daily__flow[data-motion] .v2-daily__claude .v2-daily__brand img {
    animation: v2-daily-spark var(--v2-dur-spark) var(--v2-ease-pop) var(--daily-spark-at) backwards var(--play), v2-daily-spin 60s linear calc(var(--daily-spark-at)  + var(--v2-dur-spark)) infinite var(--play);
  }

  .v2-daily__flow[data-motion] .v2-daily__sheen {
    animation: v2-daily-sheen-lit var(--v2-dur-sheen) linear var(--daily-sheen-at) backwards var(--play);
  }

  .v2-daily__flow[data-motion] .v2-daily__sheen:before {
    animation: v2-daily-sheen var(--v2-dur-sheen) var(--v2-ease-in-out) var(--daily-sheen-at) backwards var(--play);
  }

  .v2-daily__flow[data-motion] .v2-daily__context {
    animation: v2-daily-in var(--daily-in) var(--v2-ease-out) var(--daily-context-at) backwards var(--play);
  }

  .v2-daily__flow[data-motion] .v2-daily__knowledge li {
    animation: v2-daily-row var(--daily-row-in) linear calc(var(--daily-rows-at)  + var(--i) * var(--v2-stagger)) backwards var(--play);
  }

  .v2-daily__flow[data-motion] .v2-daily__connection {
    animation: v2-daily-in var(--daily-link-in) var(--v2-ease-out) var(--daily-loop-at) backwards var(--play);
  }

  .v2-daily__flow[data-motion] .v2-daily__line {
    animation: v2-daily-link var(--daily-link-in) var(--v2-ease-in-out) var(--daily-loop-at) backwards var(--play), v2-daily-wave-a var(--daily-flow-a) linear var(--daily-loop-at) infinite backwards var(--play), v2-daily-wave-b var(--daily-flow-b) linear var(--daily-loop-at) infinite backwards var(--play), v2-daily-wave-c var(--daily-flow-c) linear var(--daily-loop-at) infinite backwards var(--play);
  }

  .v2-daily__flow[data-motion] .v2-daily__claude {
    animation: v2-daily-split-right var(--daily-split) var(--daily-ease-enter) backwards var(--play);
  }

  .v2-daily__flow[data-motion] ~ .v2-daily__closing {
    animation: v2-daily-in var(--daily-in) var(--v2-ease-out) var(--daily-close-at) backwards var(--play);
  }

  @keyframes v2-daily-split-left {
    from {
      translate: calc(50% + var(--daily-link) / 2 - var(--daily-nest));
    }
  }

  @keyframes v2-daily-split-right {
    from {
      translate: calc(-50% - var(--daily-link) / 2 + var(--daily-nest));
    }
  }

  @keyframes v2-daily-matter {
    from {
      opacity: 0;
    }
  }

  @keyframes v2-daily-trace {
    from {
      stroke-dasharray: 0cqw calc(var(--trace-l) * 1cqw);
      stroke-dashoffset: calc(var(--trace-u) * -1cqw);
    }

    to {
      stroke-dasharray: calc(var(--trace-l) * 1cqw) 0cqw;
      stroke-dashoffset: calc(var(--trace-end) * 1cqw);
    }
  }

  @keyframes v2-daily-blueprint {
    0% {
      opacity: 0;
    }

    15.2%, 58.9% {
      opacity: 1;
    }

    100% {
      opacity: 0;
    }
  }

  @keyframes v2-daily-in {
    from {
      opacity: 0;
      translate: 0 var(--daily-rise);
    }
  }

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

  @keyframes v2-daily-spark {
    from {
      opacity: 0;
      rotate: -90deg;
      scale: .6;
    }

    60% {
      opacity: 1;
    }
  }

  @keyframes v2-daily-sheen-lit {
    0%, 100% {
      opacity: 0;
    }

    30%, 70% {
      opacity: .3;
    }
  }

  @keyframes v2-daily-sheen {
    from {
      translate: -70%;
    }

    to {
      translate: 70%;
    }
  }

  @keyframes v2-daily-row {
    0% {
      opacity: 0;
      animation-timing-function: cubic-bezier(.22, 1, .36, 1);
      translate: 0 9px;
    }

    30% {
      opacity: 1;
    }

    55% {
      animation-timing-function: cubic-bezier(.34, 1.56, .64, 1);
      translate: 0 -3px;
    }

    100% {
      translate: 0;
    }
  }

  @keyframes v2-daily-link {
    from {
      scale: 0 1;
    }
  }

  @keyframes v2-daily-link-down {
    from {
      scale: 1 0;
    }
  }

  @keyframes v2-daily-wave-a {
    from {
      --daily-wave-a: -11%;
    }

    to {
      --daily-wave-a: 111%;
    }
  }

  @keyframes v2-daily-wave-b {
    from {
      --daily-wave-b: -17%;
    }

    to {
      --daily-wave-b: 117%;
    }
  }

  @keyframes v2-daily-wave-c {
    from {
      --daily-wave-c: -26%;
    }

    to {
      --daily-wave-c: 126%;
    }
  }

  @keyframes v2-daily-split-down {
    from {
      translate: 0 calc(50% + var(--daily-gap-y) / 2);
    }
  }

  @keyframes v2-daily-split-up {
    from {
      translate: 0 calc(-50% - var(--daily-gap-y) / 2);
    }
  }
}

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

  .v2-daily__connection {
    --daily-link: 48px;
    gap: 12px;
  }

  .v2-daily__line {
    --daily-flow-to: 180deg;
    width: 1px;
    height: var(--daily-link);
    transform-origin: top;
    margin-inline: auto;
  }

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

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

@media (scripting: enabled) and (prefers-reduced-motion: no-preference) and (max-width: 900px) {
  .v2-daily__flow {
    --daily-gap-y: 160px;
  }

  .v2-daily__flow:not([data-motion]) .v2-daily__brain {
    translate: 0 calc(50% + var(--daily-gap-y) / 2);
  }

  .v2-daily__flow:not([data-motion]) .v2-daily__claude {
    translate: 0 calc(-50% - var(--daily-gap-y) / 2);
  }

  .v2-daily__flow:not([data-motion]) .v2-daily__line {
    scale: 1 0;
  }

  .v2-daily__flow[data-motion] .v2-daily__brain {
    animation-name: v2-daily-split-down;
  }

  .v2-daily__flow[data-motion] .v2-daily__claude {
    animation-name: v2-daily-split-up;
  }

  .v2-daily__flow[data-motion] .v2-daily__line {
    animation-name: v2-daily-link-down, v2-daily-wave-a, v2-daily-wave-b, v2-daily-wave-c;
  }
}

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

/* [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__text .ds-heading__tag {
    --i: 1;
  }

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

  .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-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 {
  font-family: var(--v2-font);
  font-size: 28px;
  font-weight: var(--v2-weight-light);
  color: var(--v2-muted-strong);
  text-wrap: balance;
  max-width: 860px;
  margin-inline: auto;
  line-height: 40px;
}

.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__name {
  font-size: 28px;
  line-height: 36px;
  font-weight: var(--v2-weight-regular);
}

.v2-customer__quote .ds-quote__logo {
  max-width: 100%;
  height: 40px;
  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__quote .ds-quote__text {
    font-size: 24px;
    line-height: 34px;
  }

  .v2-customer__quote .ds-quote__name {
    font-size: 24px;
    line-height: 32px;
  }

  .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: 32px;
  }
}

/* [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_a80cbcb3._.css.map*/