:root {
  --ink: #16212b;
  --ink-800: #22323f;
  --ink-100: #e8edf0;
  --slate: #3b5568;
  --slate-light: #7a94a6;
  --amber: #c86a1e;
  --amber-dark: #a94f10;
  --sand: #faf8f5;
  --sand-sunken: #f4f1ec;
  --white: #ffffff;
  --border: #e8e3db;
  --rule: #d6cfc4;
  --text-secondary: #6b6660;
  --success: #1e7a4c;
  --success-bg: #e7f4ed;
  --radius-control: 6px;
  --radius-card: 8px;
  --ease: cubic-bezier(.2, .8, .3, 1);
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: var(--sand);
  color: var(--ink);
  font-family: "Instrument Sans", sans-serif;
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
button, input, select, textarea {
  font: inherit;
}
button, a {
  -webkit-tap-highlight-color: transparent;
}
a {
  color: inherit;
  text-decoration: none;
}
h1, h2, h3, p, blockquote {
  margin-top: 0;
}
h1, h2 {
  font-family: "Instrument Serif", serif;
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.02;
}
h1 {
  font-size: clamp(3.5rem, 7vw, 6.8rem);
}
h2 {
  font-size: clamp(2.5rem, 4.5vw, 4.25rem);
}
h3 {
  font-size: 1.35rem;
  line-height: 1.3;
}
em {
  color: var(--amber);
  font-weight: 400;
}
.app {
  overflow: hidden;
}
.skip-link {
  background: var(--white);
  border: 2px solid var(--amber);
  left: 1rem;
  padding: .65rem 1rem;
  position: fixed;
  top: -5rem;
  z-index: 100;
}
.skip-link:focus {
  top: 1rem;
}
:focus-visible {
  outline: 2px solid var(--amber);
  outline-offset: 2px;
}
.site-header {
  background: rgba(250, 248, 245, .96);
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  z-index: 20;
}
.header-inner {
  align-items: center;
  display: flex;
  height: 78px;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1440px;
  padding: 0 3rem;
}
.header-logo {
  display: flex;
}
.logo-img {
  display: block;
  flex: 0 0 auto;
  height: 36px;
  width: auto;
}
.brand-mark-img {
  display: block;
  flex: 0 0 auto;
  height: 34px;
  object-fit: contain;
  width: auto;
}
.logo {
  align-items: center;
  display: inline-flex;
  gap: .75rem;
}
.logo-type {
  display: flex;
  flex-direction: column;
  line-height: 1;
}
.logo-type strong {
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: -.035em;
}
.logo-type small {
  font-size: .56rem;
  font-weight: 500;
  letter-spacing: .16em;
  margin-top: .35rem;
}
.logo--inverse {
  color: var(--sand);
}
.brand-mark {
  display: block;
  flex: 0 0 auto;
  height: 34px;
  object-fit: contain;
  position: relative;
  width: auto;
}
.mark-pillar {
  background: var(--ink);
  border-radius: 2px;
  height: 34px;
  left: 2px;
  position: absolute;
  top: 2px;
  width: 4px;
}
.mark-bowl {
  border: 4px solid var(--ink);
  border-left: 0;
  border-radius: 0 20px 20px 0;
  height: 34px;
  left: 6px;
  position: absolute;
  top: 2px;
  width: 30px;
}
.mark-bars {
  display: flex;
  flex-direction: column;
  gap: 5px;
  left: 9px;
  position: absolute;
  top: 9px;
}
.mark-bars span {
  background: var(--ink);
  border-radius: 4px;
  height: 3px;
  width: 16px;
}
.mark-bars span:nth-child(2) {
  width: 20px;
}
.mark-bars .mark-bar--amber {
  background: var(--amber);
}
.brand-mark--inverse .mark-pillar, .brand-mark--inverse .mark-bars span {
  background: var(--sand);
}
.brand-mark--inverse .mark-bars .mark-bar--amber {
  background: var(--amber);
}
.brand-mark--inverse .mark-bowl {
  border-color: var(--sand);
}
.site-header .logo-type strong {
  font-weight: 500;
}
.site-header .mark-pillar {
  border-radius: 5px;
  height: 34px;
  left: 1px;
  width: 7px;
}
.site-header .mark-bowl {
  border-width: 7px;
  border-left: 0;
  border-radius: 0 19px 19px 0;
  height: 34px;
  left: 12px;
  width: 25px;
}
.site-header .mark-bars {
  gap: 3px;
  left: 14px;
  top: 10px;
}
.site-header .mark-bars span {
  border-radius: 5px;
  height: 4px;
  width: 13px;
}
.site-header .mark-bars > span:first-child {
  font-weight: 500;
}
.site-header .mark-bars span:nth-child(2) {
  width: 17px;
}
.main-nav {
  align-items: center;
  display: flex;
  gap: 2rem;
}
.nav-link {
  align-items: center;
  display: flex;
  font-size: .9rem;
  font-weight: 500;
  height: 78px;
  position: relative;
}
.nav-link::after {
  background: var(--amber);
  bottom: 0;
  content: "";
  height: 3px;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transition: transform 120ms var(--ease);
  width: 100%;
}
.nav-link:hover::after, .nav-link--active::after {
  transform: scaleX(1);
}
.nav-cta {
  margin-left: .75rem;
}
.menu-button {
  background: none;
  border: 0;
  color: var(--ink);
  display: none;
  padding: .65rem;
}
.icon {
  flex: 0 0 auto;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.75;
}
.button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: var(--radius-control);
  cursor: pointer;
  display: inline-flex;
  font-size: .92rem;
  font-weight: 600;
  gap: .7rem;
  justify-content: center;
  min-height: 48px;
  padding: .65rem 1.25rem;
  transition: background 120ms var(--ease), border-color 120ms var(--ease), color 120ms var(--ease);
}
.button--primary {
  background: var(--ink);
  color: var(--white);
}
.button--primary:hover {
  background: var(--ink-800);
}
.button--secondary {
  background: transparent;
  border-color: var(--ink);
  color: var(--ink);
}
.button--secondary:hover {
  background: var(--ink-100);
}
.button--ghost {
  background: transparent;
}
.button--light {
  background: var(--sand);
  color: var(--ink);
}
.button--light:hover {
  background: var(--white);
}
.text-link {
  align-items: center;
  color: var(--amber-dark);
  display: inline-flex;
  font-weight: 600;
  gap: .65rem;
}
.text-link:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.button-row {
  align-items: center;
  display: flex;
  gap: 1.75rem;
}
.eyebrow {
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .14em;
  margin-bottom: 1.4rem;
}
.hero {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  max-width: 1440px;
  min-height: 1120px;
  padding: 7rem 3rem 9rem;
  position: relative;
}
.hero-clouds {
  height: 100%;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  width: 100%;
  z-index: 0;
}
.hero-cloud {
  filter: url("#hero-cloud-depth");
}
.hero-cloud-base {
  fill: url("#hero-cloud-base");
}
.hero-cloud-puff {
  fill: url("#hero-cloud-puff");
}
.hero-cloud-sheen {
  fill: var(--white);
  opacity: .32;
}
.hero-cloud--one {
  opacity: .48;
}
.hero-cloud--two {
  opacity: .42;
}
.hero-cloud--three {
  opacity: .3;
}
.hero-cloud--four {
  opacity: .32;
}
.hero-cloud--five {
  opacity: .38;
}
.hero-copy {
  max-width: 850px;
  position: relative;
  text-align: center;
  z-index: 2;
}
.hero h1 {
  margin-bottom: 2rem;
}
.hero-copy > p {
  color: var(--text-secondary);
  font-size: 1.22rem;
  line-height: 1.65;
  margin: 0 auto 2.25rem;
  max-width: 650px;
}
.hero .button-row {
  justify-content: center;
}
.hero-laptop {
  margin: 4rem auto 0;
  max-width: 940px;
  padding: 0;
  position: relative;
  width: 82%;
  z-index: 2;
}
.laptop-lid {
  background: var(--ink);
  border: 2px solid var(--ink-800);
  border-radius: 12px 12px 5px 5px;
  padding: 18px 12px 12px;
  position: relative;
}
.laptop-camera {
  background: var(--slate);
  border-radius: 50%;
  height: 5px;
  left: 50%;
  position: absolute;
  top: 7px;
  transform: translateX(-50%);
  width: 5px;
}
.laptop-screen {
  border-radius: 3px;
  overflow: hidden;
}
.hero-laptop .product-window {
  border: 0;
  border-radius: 0;
  grid-template-columns: 42px 1fr;
  min-height: 370px;
}
.hero-laptop .preview-sidebar {
  padding-top: .75rem;
}
.hero-laptop .preview-sidebar .brand-mark {
  transform: scale(.62);
}
.hero-laptop .preview-nav-lines {
  gap: .7rem;
  margin-top: 1.5rem;
}
.hero-laptop .preview-nav-lines span {
  margin-left: 10px;
  width: 18px;
}
.hero-laptop .preview-nav-lines span.active {
  height: 24px;
  width: 32px;
}
.hero-laptop .preview-content {
  padding: 1rem 1.25rem;
}
.hero-laptop .preview-top {
  padding-bottom: .75rem;
}
.hero-laptop .preview-top i {
  height: 22px;
  width: 22px;
}
.hero-laptop .preview-welcome {
  margin: 1rem 0;
  padding: 1rem;
}
.hero-laptop .preview-welcome strong {
  font-size: 1.2rem;
}
.hero-laptop .preview-welcome > span {
  padding: .5rem .7rem;
}
.hero-laptop .preview-grid {
  gap: .6rem;
}
.hero-laptop .preview-card {
  min-height: 86px;
  padding: .8rem;
}
.hero-laptop .approval-row {
  gap: .6rem;
  margin-top: .55rem;
  padding-top: .55rem;
}
.hero-laptop .approval-row:nth-of-type(2) {
  display: none;
}
.hero-laptop .preview-figure {
  font-size: 1.7rem;
  margin-top: .3rem;
}
.laptop-base {
  background: #d5d8d8;
  border-bottom: 4px solid #aeb4b5;
  border-radius: 0 0 14px 14px;
  height: 18px;
  margin: 0 -5%;
  position: relative;
}
.laptop-base span {
  background: #b8bdbd;
  border-radius: 0 0 6px 6px;
  height: 6px;
  left: 43%;
  position: absolute;
  top: 0;
  width: 14%;
}
.laptop-caption {
  color: var(--text-secondary);
  font-size: .78rem;
  margin: 1.5rem 0 0;
  text-align: center;
}
.product-window {
  background: #f7f8f9;
  border: 1px solid #526675;
  border-radius: var(--radius-card);
  display: grid;
  grid-template-columns: 74px 1fr;
  min-height: 520px;
  overflow: hidden;
}
.preview-sidebar {
  align-items: center;
  background: var(--ink);
  display: flex;
  flex-direction: column;
  padding-top: 1.5rem;
}
.preview-nav-lines {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-top: 4rem;
  width: 100%;
}
.preview-nav-lines span {
  background: #60717e;
  display: block;
  height: 3px;
  margin-left: 24px;
  width: 25px;
}
.preview-nav-lines span.active {
  background: var(--sand);
  border-left: 3px solid var(--amber);
  height: 30px;
  margin-left: 0;
  width: 52px;
}
.preview-content {
  padding: 2rem 3rem;
}
.preview-top {
  align-items: center;
  border-bottom: 1px solid #e3e7ea;
  display: flex;
  justify-content: space-between;
  padding-bottom: 1.5rem;
}
.preview-top span, .preview-card small {
  font-size: .67rem;
  font-weight: 600;
  letter-spacing: .1em;
}
.preview-top i {
  background: var(--slate-light);
  border-radius: 50%;
  height: 30px;
  width: 30px;
}
.preview-welcome {
  align-items: flex-end;
  background: var(--ink);
  border-radius: var(--radius-card);
  color: var(--white);
  display: flex;
  justify-content: space-between;
  margin: 2rem 0;
  padding: 2rem;
}
.preview-welcome small {
  display: block;
  margin-bottom: .35rem;
}
.preview-welcome strong {
  display: block;
  font-family: "Instrument Serif";
  font-size: 2rem;
  font-weight: 400;
}
.preview-welcome > span {
  background: var(--white);
  border-radius: var(--radius-control);
  color: var(--ink);
  font-size: .7rem;
  font-weight: 600;
  padding: .7rem 1rem;
}
.preview-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr 1fr;
}
.preview-card {
  background: var(--white);
  border: 1px solid #e3e7ea;
  border-radius: var(--radius-card);
  min-height: 150px;
  padding: 1.5rem;
}
.preview-card--wide {
  grid-column: span 2;
}
.approval-row {
  align-items: center;
  border-top: 1px solid #e3e7ea;
  display: grid;
  font-size: .75rem;
  grid-template-columns: 1fr auto auto;
  gap: 2rem;
  margin-top: 1rem;
  padding-top: 1rem;
}
.approval-row b {
  font-family: "IBM Plex Mono";
}
.approval-row em {
  background: var(--sand-sunken);
  border-radius: 999px;
  color: var(--text-secondary);
  font-size: .65rem;
  font-style: normal;
  padding: .25rem .6rem;
}
.preview-figure {
  display: block;
  font-size: 2.5rem;
  line-height: 1.2;
  margin-top: .75rem;
}
.preview-change {
  color: var(--success);
  font-size: .7rem;
}
.problem-section {
  margin: 0 auto;
  max-width: 1440px;
  padding: 9rem 3rem;
}
.problem-heading {
  align-items: end;
  display: grid;
  gap: 10%;
  grid-template-columns: 1.35fr .65fr;
  margin-bottom: 5rem;
}
.problem-heading h2 {
  margin-bottom: 0;
  max-width: 900px;
}
.problem-heading > p {
  color: var(--text-secondary);
  margin-bottom: .6rem;
  max-width: 480px;
}
.problem-list {
  border-bottom: 2px solid var(--ink);
  border-top: 2px solid var(--ink);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}
.problem-list article {
  border-right: 1px solid var(--rule);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 330px;
  padding: 1.5rem;
  transition: background 180ms var(--ease), color 180ms var(--ease);
}
.problem-list article:first-child {
  padding-left: 0;
}
.problem-list article:last-child {
  border-right: 0;
  padding-right: 0;
}
.problem-list article:hover {
  background: var(--ink);
  color: var(--sand);
}
.problem-list article > span {
  color: var(--amber);
  font-family: "IBM Plex Mono";
  font-size: .72rem;
}
.problem-list article h3 {
  font-family: "Instrument Serif";
  font-size: 1.65rem;
  font-weight: 400;
  margin-bottom: .75rem;
}
.problem-list article p {
  color: var(--text-secondary);
  font-size: .9rem;
  margin-bottom: 0;
}
.problem-list article:hover p {
  color: #bdc6cc;
}
.story-image {
  margin: 0;
  overflow: hidden;
  position: relative;
}
.story-image::after {
  background: linear-gradient(to top, rgba(22, 33, 43, .55), transparent 45%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}
.story-image img {
  filter: saturate(.76) sepia(.08);
  height: 100%;
  object-fit: cover;
  transition: transform 600ms var(--ease), filter 240ms var(--ease);
  width: 100%;
}
.story-image:hover img {
  filter: saturate(.9);
  transform: scale(1.025);
}
.section {
  margin: 0 auto;
  max-width: 1440px;
  padding: 8rem 3rem;
}
.section h2 {
  margin-bottom: 0;
}
.large-copy {
  color: var(--ink);
  font-size: 1.28rem;
  line-height: 1.6;
}
.about-origin > div > p:last-child {
  color: var(--text-secondary);
}
.answer-section {
  background: var(--white);
  padding: 9rem max(3rem, calc((100vw - 1344px) / 2));
}
.answer-heading {
  align-items: end;
  display: grid;
  gap: 10%;
  grid-template-columns: 1.35fr .65fr;
  margin-bottom: 5rem;
}
.answer-heading h2 {
  margin-bottom: 0;
  max-width: 900px;
}
.answer-heading > p {
  color: var(--text-secondary);
  margin-bottom: .6rem;
  max-width: 520px;
}
.pillar-list {
  border-bottom: 2px solid var(--ink);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, 1fr);
}
.pillar-list article {
  border-right: 1px solid var(--border);
  min-height: 310px;
  padding: 0 2.5rem 2.5rem;
  position: relative;
}
.pillar-list article:first-child {
  padding-left: 0;
}
.pillar-list article:last-child {
  border-right: 0;
  padding-right: 0;
}
.pillar-bar {
  height: 4px;
  margin-bottom: 2rem;
  overflow: hidden;
  width: 100%;
}
.pillar-bar span {
  background: var(--ink);
  display: block;
  height: 100%;
  transform-origin: left;
  transition: transform 240ms var(--ease);
  width: 72%;
}
.pillar-list article:nth-child(2) .pillar-bar span {
  width: 100%;
}
.pillar-list article:nth-child(3) .pillar-bar span {
  width: 82%;
}
.pillar-bar span.pillar-bar--active {
  background: var(--amber);
}
.pillar-list article:hover .pillar-bar span {
  transform: scaleX(.9);
}
.pillar-number {
  color: var(--text-secondary);
  font-family: "IBM Plex Mono";
  font-size: .72rem;
}
.pillar-list h3 {
  font-family: "Instrument Serif";
  font-size: 2.25rem;
  font-weight: 400;
  margin: 4rem 0 1rem;
}
.pillar-list p {
  color: var(--text-secondary);
  margin: 0;
  max-width: 300px;
}
.section--services {
  border-top: 1px solid var(--border);
}
.section-heading {
  align-items: end;
  display: flex;
  justify-content: space-between;
  margin-bottom: 4rem;
}
.section-heading > div {
  max-width: 800px;
}
.section-heading > p {
  color: var(--text-secondary);
  max-width: 430px;
}
.service-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, 1fr);
}
.service-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  min-height: 330px;
  padding: 2rem;
  transition: border-color 120ms var(--ease), transform 120ms var(--ease);
}
.service-card:hover {
  border-color: var(--slate-light);
  transform: translateY(-3px);
}
.service-card-top {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 4rem;
}
.service-icon {
  align-items: center;
  background: var(--sand-sunken);
  border-radius: var(--radius-control);
  color: var(--slate);
  display: flex;
  height: 48px;
  justify-content: center;
  width: 48px;
}
.service-number {
  color: var(--text-secondary);
  font-family: "IBM Plex Mono";
  font-size: .7rem;
}
.service-card h3 {
  margin-bottom: .85rem;
}
.service-card p {
  color: var(--text-secondary);
  font-size: .95rem;
  margin-bottom: 0;
}
.product-feature-grid {
  border-top: 2px solid var(--ink);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.product-feature-card {
  border-bottom: 1px solid var(--border);
  border-right: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 330px;
  overflow: hidden;
  padding: 2rem;
  position: relative;
  transition: background 180ms var(--ease), transform 180ms var(--ease);
}
.product-feature-card:nth-child(3n) {
  border-right: 0;
}
.product-feature-card:hover {
  background: var(--white);
  transform: translateY(-3px);
}
.product-feature-image, .product-feature-overlay {
  height: 100%;
  inset: 0;
  opacity: 0;
  position: absolute;
  transition: opacity 240ms var(--ease), transform 600ms var(--ease);
  width: 100%;
}
.product-feature-image {
  filter: saturate(.7) sepia(.08);
  object-fit: cover;
  transform: scale(1.04);
}
.product-feature-overlay {
  background: rgba(22, 33, 43, .76);
  z-index: 1;
}
.product-feature-card:hover .product-feature-image, .product-feature-card:hover .product-feature-overlay {
  opacity: 1;
}
.product-feature-card:hover .product-feature-image {
  transform: scale(1);
}
.product-feature-card > div {
  position: relative;
  z-index: 2;
}
.product-feature-meta {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
}
.product-feature-meta > span:last-child {
  color: var(--text-secondary);
  font-family: "IBM Plex Mono";
  font-size: .7rem;
}
.product-feature-card h3 {
  margin: 4rem 0 .75rem;
}
.product-feature-card p {
  color: var(--text-secondary);
  margin: 0;
  max-width: 330px;
}
.product-feature-rule {
  background: var(--amber);
  bottom: 0;
  height: 3px;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms var(--ease);
  width: 100%;
  z-index: 3;
}
.product-feature-card:hover .product-feature-rule {
  transform: scaleX(1);
}
.product-feature-card:hover h3, .product-feature-card:hover p, .product-feature-card:hover .product-feature-meta > span:last-child {
  color: var(--white);
}
.product-feature-card:hover .service-icon {
  background: var(--sand);
  color: var(--ink);
}
.audience-section {
  background: var(--ink);
  color: var(--sand);
  padding: 8rem max(3rem, calc((100vw - 1344px) / 2));
}
.audience-heading {
  align-items: end;
  display: grid;
  gap: 10%;
  grid-template-columns: 1.35fr .65fr;
  margin-bottom: 5rem;
}
.audience-heading h2 {
  margin-bottom: 0;
  max-width: 850px;
}
.audience-heading > p {
  color: #bdc6cc;
  margin-bottom: .6rem;
  max-width: 480px;
}
.audience-pathway {
  border-bottom: 1px solid #526675;
  border-top: 1px solid #526675;
  display: grid;
  grid-template-columns: minmax(220px, .72fr) 2.28fr;
}
.audience-pathway-intro {
  border-right: 1px solid #526675;
  display: flex;
  flex-direction: column;
  min-height: 475px;
  padding: 2.25rem 3rem 2.25rem 0;
}
.audience-pathway-count {
  color: var(--amber);
  font-family: "Instrument Serif";
  font-size: clamp(5.5rem, 9vw, 9rem);
  letter-spacing: -.06em;
  line-height: .78;
}
.audience-pathway-intro p {
  color: #bdc6cc;
  font-family: "IBM Plex Mono";
  font-size: .7rem;
  letter-spacing: .12em;
  margin: 1.25rem 0 0;
  text-transform: uppercase;
}
.audience-pathway-rule {
  background: #526675;
  height: 1px;
  margin: auto 0 1.5rem;
  width: 3rem;
}
.audience-pathway-intro strong {
  font-family: "Instrument Serif";
  font-size: 1.45rem;
  font-weight: 400;
  line-height: 1.2;
  max-width: 170px;
}
.audience-list {
  padding-left: 3rem;
}
.audience-list details {
  border-bottom: 1px solid #526675;
  position: relative;
  transition: background 240ms var(--ease);
}
.audience-list details:last-child {
  border-bottom: 0;
}
.audience-list details::before {
  background: var(--amber);
  content: "";
  height: 0;
  left: -3rem;
  position: absolute;
  transition: height 240ms var(--ease);
  width: 3px;
}
.audience-list summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 32px 80px minmax(170px, .8fr) minmax(260px, 1.2fr) 24px;
  min-height: 95px;
  transition: padding 240ms var(--ease);
}
.audience-list summary::-webkit-details-marker {
  display: none;
}
.audience-list summary::marker {
  content: "";
}
.audience-list details:hover, .audience-list details[open] {
  background: linear-gradient(90deg, rgba(255, 255, 255, .045), transparent 72%);
}
.audience-list details:hover::before, .audience-list details[open]::before {
  height: 100%;
}
.audience-list details:hover summary, .audience-list details[open] summary {
  padding-left: 1rem;
}
.audience-number, .audience-action {
  font-family: "IBM Plex Mono";
  font-size: .65rem;
  text-transform: uppercase;
}
.audience-number {
  color: var(--amber);
}
.audience-action {
  color: #8294a0;
  letter-spacing: .08em;
}
.audience-list h3 {
  color: var(--sand);
  font-family: "Instrument Serif";
  font-size: 1.65rem;
  font-weight: 400;
  margin: 0;
}
.audience-list p {
  color: #bdc6cc;
  font-size: .88rem;
  margin: 0;
}
.audience-arrow {
  color: #8294a0;
  display: flex;
  opacity: 0;
  transform: translateX(-8px);
  transition: opacity 180ms var(--ease), transform 240ms var(--ease);
}
.audience-list details:hover .audience-arrow, .audience-list details[open] .audience-arrow {
  color: var(--amber);
  opacity: 1;
  transform: translateX(0);
}
.audience-list details[open] .audience-arrow {
  transform: rotate(90deg);
}
.audience-detail {
  align-items: center;
  animation: audience-detail-in 320ms var(--ease) both;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 136px 1fr;
  padding: 0 3rem 1.5rem 8rem;
}
.audience-detail > span {
  color: #8294a0;
  font-family: "IBM Plex Mono";
  font-size: .62rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.audience-detail > div {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.audience-detail > div span {
  border: 1px solid #526675;
  border-radius: 999px;
  color: #d5dce0;
  font-size: .72rem;
  padding: .3rem .65rem;
}
.audience-section.is-visible .audience-pathway-count {
  animation: audience-count-in 700ms var(--ease) 180ms both;
}
.audience-section.is-visible .audience-pathway-rule {
  animation: audience-rule-in 700ms var(--ease) 300ms both;
  transform-origin: left;
}
.audience-section.is-visible .audience-list details {
  animation: audience-row-in 520ms var(--ease) both;
}
.audience-section.is-visible .audience-list details:nth-child(1) {
  animation-delay: 180ms;
}
.audience-section.is-visible .audience-list details:nth-child(2) {
  animation-delay: 250ms;
}
.audience-section.is-visible .audience-list details:nth-child(3) {
  animation-delay: 320ms;
}
.audience-section.is-visible .audience-list details:nth-child(4) {
  animation-delay: 390ms;
}
.audience-section.is-visible .audience-list details:nth-child(5) {
  animation-delay: 460ms;
}
@keyframes audience-row-in {
  from {
    opacity: 0;
    transform: translateX(24px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes audience-count-in {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes audience-rule-in {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}
@keyframes audience-detail-in {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.steps {
  border-top: 2px solid var(--ink);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.step {
  border-right: 1px solid var(--border);
  padding: 2rem 2rem 0 0;
}
.step + .step {
  padding-left: 2rem;
}
.step:last-child {
  border: 0;
}
.step > span {
  color: var(--amber);
  font-family: "IBM Plex Mono";
  font-size: .8rem;
}
.step h3 {
  margin: 3rem 0 1rem;
}
.step p {
  color: var(--text-secondary);
  font-size: .95rem;
}
.cta-section {
  align-items: center;
  background: var(--slate);
  color: var(--white);
  display: flex;
  justify-content: space-between;
  padding: 6rem max(3rem, calc((100vw - 1344px) / 2));
}
.cta-section > div {
  max-width: 850px;
}
.cta-section h2 {
  font-size: clamp(2.5rem, 4.5vw, 4.5rem);
  margin: 0;
}
.cta-supporting-copy {
  color: var(--ink-100);
  font-size: .95rem;
  margin: 1rem 0 0;
  max-width: 720px;
}
.page-hero {
  align-items: end;
  display: grid;
  gap: 8%;
  grid-template-columns: 1.6fr 1fr;
  margin: 0 auto;
  max-width: 1440px;
  min-height: 570px;
  padding: 8rem 3rem 6rem;
}
.page-hero h1 {
  font-size: clamp(3.5rem, 6.3vw, 6rem);
  margin-bottom: 0;
}
.page-hero > p {
  color: var(--text-secondary);
  font-size: 1.15rem;
  margin-bottom: .75rem;
  max-width: 530px;
}
.contact-page-hero {
  isolation: isolate;
  overflow: hidden;
  position: relative;
}
.contact-hero-background {
  filter: saturate(.62) sepia(.12);
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center 46%;
  opacity: .2;
  position: absolute;
  width: 100%;
  z-index: -2;
}
.contact-hero-overlay {
  background: linear-gradient(90deg, rgba(250, 248, 245, .98) 0%, rgba(250, 248, 245, .9) 48%, rgba(250, 248, 245, .68) 100%);
  inset: 0;
  position: absolute;
  z-index: -1;
}
.about-origin {
  align-items: center;
  background: var(--white);
  display: grid;
  gap: 10%;
  grid-template-columns: .8fr 1.2fr;
  max-width: none;
  padding-left: max(3rem, calc((100vw - 1344px) / 2));
  padding-right: max(3rem, calc((100vw - 1344px) / 2));
}
.origin-mark {
  align-items: center;
  background: var(--sand-sunken);
  display: flex;
  height: 450px;
  justify-content: center;
}
.origin-mark .brand-mark {
  height: 168px;
  transform: none;
  width: auto;
}
.growth-section {
  background: var(--sand);
  padding: 8rem max(3rem, calc((100vw - 1200px) / 2));
}
.growth-intro {
  display: grid;
  gap: 7%;
  grid-template-columns: .85fr 1.15fr;
}
.growth-intro h2 {
  font-size: clamp(3rem, 4.5vw, 4.25rem);
  margin: 0;
  max-width: 520px;
}
.growth-copy {
  max-width: 650px;
  padding-top: .25rem;
}
.growth-copy p {
  margin-bottom: 1.25rem;
}
.growth-copy p:last-child {
  margin-bottom: 0;
}
.growth-stats {
  border-bottom: 1px solid var(--rule);
  border-top: 1px solid var(--rule);
  display: grid;
  gap: 3rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 4rem;
  padding: 1.75rem 0;
}
.growth-stats strong {
  display: block;
  font-family: "IBM Plex Mono";
  font-size: 1.85rem;
  font-weight: 500;
  letter-spacing: .02em;
  line-height: 1.2;
}
.growth-stats p {
  margin: .45rem 0 0;
}
.values-section {
  margin: 0 auto;
  max-width: 1440px;
  padding: 8rem 3rem;
}
.values-grid {
  border-top: 2px solid var(--ink);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.values-grid article {
  border-bottom: 1px solid var(--border);
  min-height: 235px;
  padding: 2rem 4rem 2.5rem 0;
}
.values-grid article:nth-child(even) {
  border-left: 1px solid var(--border);
  padding-left: 3rem;
}
.values-grid article > span {
  color: var(--amber);
  font-family: "IBM Plex Mono";
  font-size: .7rem;
}
.values-grid h3 {
  font-family: "Instrument Serif";
  font-size: 2rem;
  font-weight: 400;
  margin: 3rem 0 .75rem;
}
.values-grid p {
  color: var(--text-secondary);
  font-size: 1.05rem;
  max-width: 500px;
}
.mission-section {
  background: var(--ink);
  color: var(--sand);
  display: grid;
  gap: 1px;
  grid-template-columns: 1fr 1fr;
}
.mission-section > div {
  padding: 7rem max(3rem, calc((100vw - 1344px) / 2));
}
.mission-section > div:first-child {
  border-right: 1px solid #3b4a56;
  padding-right: 5rem;
}
.mission-section > div:last-child {
  padding-left: 5rem;
  padding-right: max(3rem, calc((100vw - 1344px) / 2));
}
.mission-section p:last-child {
  font-family: "Instrument Serif";
  font-size: 2.1rem;
  line-height: 1.3;
  max-width: 560px;
}
.photo-story-section, .service-story-section {
  align-items: center;
  background: var(--white);
  display: grid;
  gap: 8%;
  grid-template-columns: .9fr 1.1fr;
  padding: 8rem max(3rem, calc((100vw - 1344px) / 2));
}
.photo-story-section > div > p {
  color: var(--text-secondary);
  max-width: 570px;
}
.story-card {
  background: var(--sand);
  border: 1px solid var(--border);
  border-left: 3px solid var(--amber);
  border-radius: var(--radius-card);
  margin-top: 2.5rem;
  padding: 1.5rem;
  transition: transform 120ms var(--ease);
}
.story-card:hover {
  transform: translateX(4px);
}
.story-card > span {
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .12em;
}
.story-card blockquote {
  font-family: "Instrument Serif";
  font-size: 1.4rem;
  line-height: 1.45;
  margin: 1rem 0 0;
}
.story-image {
  height: 600px;
}
.story-image figcaption {
  bottom: 1.5rem;
  color: var(--white);
  left: 1.5rem;
  max-width: 75%;
  position: absolute;
  z-index: 2;
}
.feature-tabs-section {
  background: var(--white);
  padding: 0 max(3rem, calc((100vw - 1344px) / 2)) 8rem;
}
.feature-tabs {
  border-bottom: 1px solid var(--border);
  display: flex;
  gap: 2rem;
  margin-bottom: 4rem;
  overflow-x: auto;
}
.feature-tab {
  align-items: center;
  background: none;
  border: 0;
  border-bottom: 3px solid transparent;
  color: var(--text-secondary);
  cursor: pointer;
  display: flex;
  flex: 0 0 auto;
  gap: .65rem;
  min-height: 68px;
  padding: 0 .5rem;
}
.feature-tab--active {
  border-color: var(--amber);
  color: var(--ink);
  font-weight: 600;
}
.feature-detail {
  align-items: center;
  display: grid;
  gap: 7%;
  grid-template-columns: .8fr 1.2fr;
}
.feature-detail .product-window {
  min-height: 430px;
}
.feature-detail .preview-card {
  min-height: 110px;
}
.service-dashboard {
  animation: service-dashboard-in 420ms var(--ease) both;
  background: #f4f6f7;
  border: 1px solid #cbd3d8;
  border-radius: var(--radius-card);
  box-shadow: 0 22px 60px rgba(22, 33, 43, .12);
  display: grid;
  grid-template-columns: 64px 1fr;
  min-height: 500px;
  overflow: hidden;
}
.service-dashboard-sidebar {
  align-items: center;
  background: var(--ink);
  display: flex;
  flex-direction: column;
  gap: .75rem;
  padding: 1.25rem 0;
}
.service-dashboard-sidebar .brand-mark {
  height: 28px;
  margin-bottom: 1.5rem;
  transform: none;
  width: auto;
}
.service-dashboard-sidebar > span {
  align-items: center;
  border-left: 3px solid transparent;
  color: #8294a0;
  display: flex;
  height: 42px;
  justify-content: center;
  width: 100%;
}
.service-dashboard-sidebar > span.active {
  background: var(--ink-800);
  border-left-color: var(--amber);
  color: var(--sand);
}
.service-dashboard-main {
  min-width: 0;
  padding: 1.25rem 1.5rem 1.5rem;
}
.service-dashboard-topbar {
  align-items: center;
  border-bottom: 1px solid #dbe1e4;
  color: var(--text-secondary);
  display: flex;
  font-family: "IBM Plex Mono";
  font-size: .55rem;
  justify-content: space-between;
  letter-spacing: .08em;
  padding-bottom: 1rem;
}
.service-dashboard-topbar i {
  align-items: center;
  background: var(--slate);
  border-radius: 50%;
  color: var(--white);
  display: flex;
  font-size: .52rem;
  font-style: normal;
  height: 28px;
  justify-content: center;
  width: 28px;
}
.service-dashboard-title {
  align-items: end;
  display: flex;
  justify-content: space-between;
  padding: 1.5rem 0 1.25rem;
}
.service-dashboard-title small, .service-dashboard-stats small, .service-dashboard-activity > small {
  color: var(--text-secondary);
  display: block;
  font-size: .55rem;
  font-weight: 600;
  letter-spacing: .1em;
}
.service-dashboard-title strong {
  display: block;
  font-family: "Instrument Serif";
  font-size: 1.65rem;
  font-weight: 400;
  line-height: 1.1;
  margin-top: .25rem;
}
.service-dashboard-title > span {
  color: var(--text-secondary);
  font-size: .68rem;
}
.service-dashboard-stats {
  display: grid;
  gap: .6rem;
  grid-template-columns: repeat(3, 1fr);
}
.service-dashboard-stats > div {
  background: var(--white);
  border: 1px solid #dbe1e4;
  border-radius: var(--radius-control);
  padding: .8rem;
}
.service-dashboard-stats strong {
  display: block;
  font-size: 1.15rem;
  margin-top: .35rem;
}
.service-dashboard-content {
  display: grid;
  gap: .75rem;
  grid-template-columns: 1.45fr .75fr;
  margin-top: .75rem;
}
.service-dashboard-table, .service-dashboard-activity {
  background: var(--white);
  border: 1px solid #dbe1e4;
  border-radius: var(--radius-control);
  overflow: hidden;
}
.service-dashboard-table-head, .service-dashboard-row {
  align-items: center;
  display: grid;
  gap: .6rem;
  grid-template-columns: 1.3fr 1fr auto;
  padding: .75rem;
}
.service-dashboard-table-head {
  background: var(--sand-sunken);
  color: var(--text-secondary);
  font-size: .52rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.service-dashboard-row {
  border-top: 1px solid #edf0f2;
  font-size: .66rem;
}
.service-dashboard-row > span:first-child {
  font-weight: 600;
}
.service-dashboard-status {
  background: var(--success-bg);
  border-radius: 999px;
  color: var(--success);
  font-size: .55rem;
  padding: .2rem .45rem;
  white-space: nowrap;
}
.service-dashboard-activity {
  padding: .85rem;
}
.service-dashboard-activity > div {
  margin-top: 1rem;
}
.service-dashboard-activity div > span {
  align-items: center;
  display: flex;
  font-size: .58rem;
  justify-content: space-between;
}
.service-dashboard-activity b {
  font-weight: 500;
}
.service-dashboard-activity em {
  color: var(--text-secondary);
  font-family: "IBM Plex Mono";
  font-size: .52rem;
  font-style: normal;
}
.service-dashboard-activity div > i {
  background: var(--ink-100);
  border-radius: 99px;
  display: block;
  height: 4px;
  margin-top: .45rem;
  overflow: hidden;
}
.service-dashboard-activity div > i span {
  background: var(--amber);
  display: block;
  height: 100%;
  width: 72%;
}
.service-dashboard-activity div:nth-of-type(2) > i span {
  width: 86%;
}
.service-dashboard-activity div:nth-of-type(3) > i span {
  width: 58%;
}
@keyframes service-dashboard-in {
  from {
    opacity: 0;
    transform: translateY(10px) scale(.99);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.check-list {
  display: flex;
  flex-direction: column;
  gap: .8rem;
  list-style: none;
  padding: 0;
}
.check-list li {
  align-items: center;
  display: flex;
  gap: .7rem;
}
.check-list .icon {
  color: var(--success);
}
.service-story-section {
  background: var(--ink);
  color: var(--sand);
  grid-template-columns: 1fr 1fr;
}
.story-image--wide {
  height: 680px;
}
.service-story-copy h2 {
  max-width: 600px;
}
.connection-cards {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  margin-top: 2.5rem;
}
.connection-cards article {
  background: var(--ink-800);
  border: 1px solid #3b4a56;
  border-radius: var(--radius-card);
  display: grid;
  gap: .25rem 1rem;
  grid-template-columns: 36px 1fr;
  padding: 1.25rem;
  transition: background 120ms var(--ease), transform 120ms var(--ease);
}
.connection-cards article:hover {
  background: var(--slate);
  transform: translateX(4px);
}
.connection-cards article > span {
  color: var(--amber);
  font-family: "IBM Plex Mono";
  font-size: .7rem;
  grid-row: span 2;
}
.connection-cards article p {
  color: #bdc6cc;
  font-size: .84rem;
  margin: 0;
}
.pricing-section {
  margin: 0 auto;
  max-width: 1440px;
  padding: 1rem 3rem 8rem;
}
.billing-toggle {
  background: var(--sand-sunken);
  border: 1px solid var(--border);
  border-radius: var(--radius-control);
  display: flex;
  margin: 0 auto .85rem;
  padding: .25rem;
  width: fit-content;
}
.billing-toggle button {
  background: none;
  border: 0;
  border-radius: 4px;
  color: var(--text-secondary);
  cursor: pointer;
  min-height: 42px;
  padding: .4rem 1.25rem;
}
.billing-toggle button.active {
  background: var(--ink);
  color: var(--sand);
  font-weight: 600;
}
.billing-summary {
  color: var(--text-secondary);
  font-size: .82rem;
  margin: 0 auto 3.5rem;
  text-align: center;
}
.pricing-grid {
  align-items: stretch;
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(4, 1fr);
}
.price-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  display: flex;
  flex-direction: column;
  padding: 2rem;
  position: relative;
}
.price-card--featured {
  border: 2px solid var(--ink);
}
.price-card--network {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--white);
}
.price-card--network .plan-limit {
  border-color: var(--slate);
}
.price-card--network .button--secondary {
  border-color: var(--white);
  color: var(--white);
}
.price-card--network .button--secondary:hover {
  background: var(--ink-800);
}
.recommended {
  background: var(--ink);
  border-radius: 4px;
  color: var(--white);
  font-size: .58rem;
  font-weight: 600;
  left: 1.5rem;
  letter-spacing: .08em;
  padding: .35rem .55rem;
  position: absolute;
  top: 0;
  transform: translateY(-50%);
  white-space: nowrap;
}
.price-card h2 {
  font-family: "Instrument Serif";
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 0;
  margin-bottom: .65rem;
}
.price-card > p:first-of-type {
  color: var(--text-secondary);
  min-height: 82px;
}
.price {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  margin-top: 1.5rem;
}
.price > span {
  font-family: "IBM Plex Mono";
  font-size: .8rem;
}
.price strong {
  font-family: "IBM Plex Mono";
  font-size: 2.85rem;
  line-height: 1;
}
.price small {
  color: var(--text-secondary);
  font-size: .68rem;
  margin-left: .4rem;
}
.price-card .billing-note {
  color: var(--text-secondary);
  font-size: .72rem;
  margin: .65rem 0 1.25rem;
  min-height: 44px;
}
.price-card--network > p:first-of-type, .price-card--network .billing-note, .price-card--network .price small {
  color: var(--ink-100);
}
.price-card .plan-limit {
  border-bottom: 1px solid var(--border);
  border-top: 1px solid var(--border);
  font-size: .82rem;
  font-weight: 600;
  margin: 0;
  padding: .85rem 0;
}
.price-card .button {
  margin: 1.25rem 0 1.5rem;
  width: 100%;
}
.price-card .plan-inherits {
  color: var(--ink);
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 .75rem;
}
.price-card .check-list {
  font-size: .82rem;
  margin: 0;
  padding-top: 0;
}
.price-card .check-list li {
  align-items: flex-start;
}
.price-card .check-list .icon {
  color: var(--slate);
  height: 17px;
  margin-top: .2rem;
  width: 17px;
}
.price-card .check-list--grow {
  font-size: 1rem;
  gap: .75rem;
  line-height: 1.55;
}
.price-card .check-list--grow li {
  gap: .9rem;
}
.price-card .check-list--grow .icon {
  flex: 0 0 auto;
  height: 19px;
  width: 19px;
}
.price-card .check-list--established {
  font-size: 1rem;
  gap: .75rem;
  line-height: 1.55;
}
.price-card .check-list--established li {
  gap: .9rem;
}
.price-card .check-list--established .icon {
  flex: 0 0 auto;
  height: 19px;
  width: 19px;
}
.price-card .check-list--established .check-list-heading {
  display: block;
  font-weight: 600;
}
.price-card .check-list--network {
  background: var(--ink);
  border-radius: 0 0 var(--radius-card) var(--radius-card);
  color: var(--white);
  font-size: 1rem;
  gap: .75rem;
  line-height: 1.55;
  margin: 0 -2rem -2rem;
  padding: 1rem 1rem 2rem;
}
.price-card .check-list--network li {
  gap: .9rem;
}
.price-card .check-list--network .icon {
  color: var(--amber);
  flex: 0 0 auto;
  height: 19px;
  width: 19px;
}
.price-card .check-list--network .check-list-heading {
  display: block;
  font-weight: 600;
}
.pricing-inclusions {
  border-top: 2px solid var(--ink);
  display: grid;
  gap: 6%;
  grid-template-columns: .65fr 1.35fr;
  margin-top: 7rem;
  padding-top: 3rem;
}
.pricing-inclusions-heading h2 {
  font-size: 2.7rem;
  max-width: 380px;
}
.pricing-inclusions-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.pricing-inclusions-grid article {
  border-bottom: 1px solid var(--border);
  display: flex;
  gap: 1rem;
  min-height: 130px;
  padding: 1.25rem 1.5rem 1.25rem 0;
}
.pricing-inclusions-grid article:nth-child(even) {
  border-left: 1px solid var(--border);
  padding-left: 1.5rem;
}
.pricing-inclusions-grid .icon {
  color: var(--success);
  flex: 0 0 auto;
  margin-top: .2rem;
}
.pricing-inclusions-grid strong {
  display: block;
  font-size: .9rem;
}
.pricing-inclusions-grid p {
  color: var(--text-secondary);
  font-size: .8rem;
  margin: .35rem 0 0;
}
.pricing-tour-section {
  background: var(--white);
  padding: 8rem max(3rem, calc((100vw - 1344px) / 2));
}
.pricing-tour-heading {
  align-items: end;
  display: grid;
  gap: 10%;
  grid-template-columns: 1.35fr .65fr;
  margin-bottom: 4rem;
}
.pricing-tour-heading h2 {
  margin: 0;
  max-width: 780px;
}
.pricing-tour-heading > p {
  color: var(--text-secondary);
  margin-bottom: .6rem;
  max-width: 430px;
}
.pricing-tour-grid {
  border-top: 2px solid var(--ink);
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.pricing-tour-grid article {
  align-items: start;
  border-bottom: 1px solid var(--border);
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 30px 1fr auto;
  min-height: 155px;
  padding: 1.5rem 2rem 1.5rem 0;
}
.pricing-tour-grid article:nth-child(even) {
  border-left: 1px solid var(--border);
  padding-left: 2rem;
}
.pricing-tour-grid article > span {
  color: var(--amber);
  font-family: "IBM Plex Mono";
  font-size: .68rem;
}
.pricing-tour-grid h3 {
  font-family: "Instrument Serif";
  font-size: 1.4rem;
  font-weight: 400;
  margin: 0 0 .4rem;
}
.pricing-tour-grid p {
  color: var(--text-secondary);
  font-size: .8rem;
  margin: 0;
}
.pricing-tour-grid strong {
  background: var(--sand-sunken);
  border-radius: 999px;
  font-size: .62rem;
  font-weight: 500;
  padding: .3rem .55rem;
  white-space: nowrap;
}
.founding-section {
  align-items: center;
  background: var(--ink);
  color: var(--sand);
  display: flex;
  justify-content: space-between;
  padding: 6rem max(3rem, calc((100vw - 1100px) / 2));
}
.founding-section > div {
  max-width: 750px;
}
.founding-section h2 {
  font-size: clamp(2.8rem, 5vw, 4.4rem);
  margin-bottom: 1.5rem;
}
.founding-section p {
  color: #bdc6cc;
  margin: 0;
  max-width: 680px;
}
.founding-section .button {
  flex: 0 0 auto;
  margin-left: 3rem;
}
.pricing-compare-section {
  margin: 0 auto;
  max-width: 1440px;
  padding: 8rem 3rem;
}
.pricing-compare-heading {
  margin-bottom: 3rem;
}
.pricing-compare-heading h2 {
  margin-bottom: 0;
}
.pricing-table-wrap {
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  overflow-x: auto;
}
.pricing-table {
  border-collapse: collapse;
  min-width: 820px;
  width: 100%;
}
.pricing-table th, .pricing-table td {
  border-bottom: 1px solid var(--border);
  padding: 1rem 1.25rem;
  text-align: left;
}
.pricing-table thead {
  background: var(--ink);
  color: var(--sand);
}
.pricing-table thead th {
  font-size: .75rem;
  letter-spacing: .06em;
}
.pricing-table tbody th {
  font-size: .85rem;
  font-weight: 500;
  width: 30%;
}
.pricing-table td {
  color: var(--text-secondary);
  font-size: .8rem;
}
.pricing-table td.is-included {
  color: var(--success);
}
.pricing-table td.is-included .icon {
  display: inline-block;
  height: 17px;
  margin-right: .4rem;
  vertical-align: middle;
  width: 17px;
}
.pricing-table tbody tr:last-child th, .pricing-table tbody tr:last-child td {
  border-bottom: 0;
}
.faq-section {
  border-top: 1px solid var(--border);
  display: grid;
  gap: 8%;
  grid-template-columns: .7fr 1.3fr;
  margin: 0 auto;
  max-width: 1440px;
  padding: 8rem 3rem;
}
.faq-list {
  border-top: 2px solid var(--ink);
}
.faq-item {
  border-bottom: 1px solid var(--border);
  padding: 0;
}
.faq-item button {
  align-items: center;
  background: none;
  border: 0;
  color: var(--ink);
  cursor: pointer;
  display: flex;
  font-weight: 600;
  justify-content: space-between;
  min-height: 76px;
  padding: 1rem 0;
  text-align: left;
  width: 100%;
}
.faq-item button span:last-child {
  color: var(--amber);
  font-size: 1.4rem;
}
.faq-item p {
  color: var(--text-secondary);
  padding: 0 3rem 1.5rem 0;
}
.legal-hero {
  margin: 0 auto;
  max-width: 1200px;
  padding: 9rem 3rem 6rem;
}
.legal-hero h1 {
  max-width: 900px;
}
.legal-hero > p {
  color: var(--slate);
  font-size: 1.2rem;
  max-width: 720px;
}
.legal-hero > strong {
  display: block;
  font-family: "Instrument Serif";
  font-size: 1.5rem;
  font-weight: 400;
  margin-top: 2.5rem;
}
.legal-disclaimer {
  align-items: start;
  border-bottom: 1px solid var(--rule);
  border-top: 1px solid var(--rule);
  display: grid;
  gap: 2rem;
  grid-template-columns: 180px 1fr;
  margin: 0 auto;
  max-width: 1200px;
  padding: 2rem 3rem;
}
.legal-disclaimer > span, .legal-status {
  color: var(--amber-dark);
  font-family: "IBM Plex Mono";
  font-size: .64rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.legal-disclaimer p {
  color: var(--text-secondary);
  margin: 0;
  max-width: 760px;
}
.legal-quick-section, .legal-library-section {
  padding: 8rem max(3rem, calc((100vw - 1200px) / 2));
}
.legal-library-section {
  background: var(--white);
}
.legal-section-heading {
  margin-bottom: 4rem;
  max-width: 800px;
}
.legal-section-heading h2 {
  margin-bottom: 1.25rem;
}
.legal-section-heading > p {
  color: var(--text-secondary);
  max-width: 680px;
}
.legal-quick-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr 1fr;
}
.legal-quick-grid article {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  display: grid;
  grid-template-columns: 1fr auto;
  min-height: 290px;
  padding: 2rem;
  transition: border-color 180ms var(--ease), transform 180ms var(--ease);
}
.legal-quick-grid article:hover {
  border-color: var(--slate-light);
  transform: translateY(-3px);
}
.legal-card-number {
  color: var(--amber);
  font-family: "IBM Plex Mono";
  font-size: .7rem;
}
.legal-quick-grid h3 {
  font-family: "Instrument Serif";
  font-size: 2rem;
  font-weight: 400;
  grid-column: span 2;
  margin: 3rem 0 .5rem;
}
.legal-quick-grid p {
  color: var(--text-secondary);
  grid-column: span 2;
  margin-bottom: 1.5rem;
  max-width: 480px;
}
.legal-quick-grid .text-link {
  align-self: end;
  grid-column: span 2;
  justify-self: start;
}
.legal-category-list {
  border-top: 2px solid var(--ink);
}
.legal-category {
  border-bottom: 1px solid var(--rule);
  display: grid;
  gap: 6%;
  grid-template-columns: .55fr 1.45fr;
  padding: 3rem 0;
}
.legal-category > div:first-child p {
  color: var(--text-secondary);
  font-size: .88rem;
  max-width: 310px;
}
.legal-category h3 {
  font-family: "Instrument Serif";
  font-size: 1.8rem;
  font-weight: 400;
  margin-bottom: .75rem;
}
.legal-document-list {
  display: flex;
  flex-direction: column;
}
.legal-document-row {
  align-items: center;
  border-bottom: 1px solid var(--border);
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr auto 22px;
  padding: 1.15rem 0;
  transition: color 120ms var(--ease), padding 120ms var(--ease);
}
.legal-document-row:first-child {
  padding-top: 0;
}
.legal-document-row:last-child {
  border-bottom: 0;
}
.legal-document-row:hover {
  color: var(--amber-dark);
  padding-left: .5rem;
}
.legal-document-row strong, .legal-document-row small {
  display: block;
}
.legal-document-row small {
  color: var(--text-secondary);
  font-size: .76rem;
  margin-top: .25rem;
}
.legal-document-row .icon {
  color: var(--amber);
}
.legal-category--future {
  border-bottom: 0;
}
.legal-future-item {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding-top: .25rem;
}
.legal-rights-section {
  align-items: center;
  background: var(--ink);
  color: var(--sand);
  display: grid;
  gap: 10%;
  grid-template-columns: 1.2fr .8fr;
  padding: 7rem max(3rem, calc((100vw - 1200px) / 2));
}
.legal-rights-section p {
  color: #bdc6cc;
  max-width: 620px;
}
.legal-rights-links {
  border-top: 1px solid #526675;
  display: flex;
  flex-direction: column;
}
.legal-rights-links a {
  align-items: center;
  border-bottom: 1px solid #526675;
  display: flex;
  justify-content: space-between;
  padding: 1.1rem 0;
}
.legal-rights-links a:hover {
  color: var(--amber);
}
.legal-contact-section {
  align-items: end;
  display: grid;
  gap: 5%;
  grid-template-columns: .9fr 1fr auto;
  margin: 0 auto;
  max-width: 1200px;
  padding: 7rem 3rem;
}
.legal-contact-section h2 {
  font-size: 2.8rem;
  margin-bottom: 0;
}
.legal-contact-section > p {
  color: var(--text-secondary);
  margin-bottom: .5rem;
}
.legal-document-page {
  background: var(--sand);
}
.legal-document-header {
  margin: 0 auto;
  max-width: 1100px;
  padding: 6rem 3rem 4rem;
}
.legal-breadcrumb {
  align-items: center;
  color: var(--text-secondary);
  display: flex;
  flex-wrap: wrap;
  font-size: .76rem;
  gap: .6rem;
  margin-bottom: 5rem;
}
.legal-breadcrumb a:hover {
  color: var(--amber-dark);
}
.legal-document-header h1 {
  font-size: clamp(3.5rem, 6vw, 5.8rem);
  margin-bottom: 1.5rem;
  max-width: 900px;
}
.legal-document-header > p {
  color: var(--slate);
  font-size: 1.2rem;
  max-width: 700px;
}
.legal-document-meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.5rem;
  margin-top: 2rem;
}
.legal-document-meta > span:not(.legal-status) {
  color: var(--text-secondary);
  font-family: "IBM Plex Mono";
  font-size: .68rem;
}
.legal-document-notice {
  background: var(--amber);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--amber) 8%, var(--white));
  }
  border: 1px solid var(--amber);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px solid color-mix(in srgb, var(--amber) 24%, var(--border));
  }
  border-radius: var(--radius-card);
  margin: 0 auto 4rem;
  max-width: 1040px;
  padding: 1.5rem 2rem;
}
.legal-document-notice p {
  color: var(--text-secondary);
  margin: .4rem 0 0;
}
.legal-document-layout {
  display: grid;
  gap: 6%;
  grid-template-columns: 240px minmax(0, 700px);
  margin: 0 auto;
  max-width: 1040px;
  padding: 0 2rem 8rem;
}
.legal-document-toc {
  align-self: start;
  position: sticky;
  top: 110px;
}
.legal-document-toc > span {
  color: var(--text-secondary);
  font-family: "IBM Plex Mono";
  font-size: .65rem;
  letter-spacing: .1em;
}
.legal-document-toc ol, .legal-mobile-toc ol {
  list-style: decimal-leading-zero;
  margin: 1.25rem 0 0;
  padding-left: 2rem;
}
.legal-document-toc li {
  color: var(--text-secondary);
  font-size: .76rem;
  margin-bottom: .7rem;
  padding-left: .25rem;
}
.legal-document-toc a:hover {
  color: var(--amber-dark);
}
.legal-document-content {
  min-width: 0;
}
.legal-document-content > section {
  border-top: 1px solid var(--rule);
  padding: 3rem 0;
  scroll-margin-top: 110px;
}
.legal-document-content > section:first-child {
  border-top: 2px solid var(--ink);
}
.legal-document-content > section > span {
  color: var(--amber);
  font-family: "IBM Plex Mono";
  font-size: .7rem;
}
.legal-document-content h2 {
  font-family: "Instrument Serif";
  font-size: 2.2rem;
  margin: .8rem 0 1.25rem;
}
.legal-document-content p {
  color: var(--slate);
  line-height: 1.8;
}
.legal-history div {
  display: grid;
  gap: 1rem;
  grid-template-columns: 110px 1fr auto;
}
.legal-history div p {
  margin: 0;
}
.legal-history time {
  color: var(--text-secondary);
  font-family: "IBM Plex Mono";
  font-size: .68rem;
}
.legal-mobile-toc {
  display: none;
}
.legal-related-section {
  align-items: start;
  background: var(--white);
  display: grid;
  gap: 8%;
  grid-template-columns: .8fr 1.2fr;
  padding: 6rem max(3rem, calc((100vw - 1040px) / 2));
}
.legal-related-section h2 {
  font-size: 2.8rem;
}
.legal-related-section > div:last-child {
  border-top: 1px solid var(--border);
  display: flex;
  flex-direction: column;
}
.legal-related-section a {
  align-items: center;
  border-bottom: 1px solid var(--border);
  display: flex;
  justify-content: space-between;
  padding: 1rem 0;
}
.legal-related-section a:hover {
  color: var(--amber-dark);
}
.contact-section {
  background: var(--white);
  display: grid;
  gap: 10%;
  grid-template-columns: .75fr 1.25fr;
  padding: 7rem max(3rem, calc((100vw - 1344px) / 2));
}
.contact-copy > p {
  color: var(--text-secondary);
  max-width: 440px;
}
.contact-detail {
  border-top: 1px solid var(--border);
  margin-top: 2rem;
  padding-top: 1.25rem;
}
.contact-detail span {
  display: block;
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .12em;
  margin-bottom: .4rem;
}
.contact-detail a {
  color: var(--amber-dark);
}
.contact-detail p {
  margin: 0;
}
.contact-steps {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  margin-top: 2.5rem;
}
.contact-steps article {
  align-items: flex-start;
  background: var(--sand);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  display: flex;
  gap: 1rem;
  padding: 1rem;
  transition: border-color 120ms var(--ease), transform 120ms var(--ease);
}
.contact-steps article:hover {
  border-color: var(--slate-light);
  transform: translateX(4px);
}
.contact-steps span {
  color: var(--amber);
  font-family: "IBM Plex Mono";
  font-size: .7rem;
  margin-top: .2rem;
}
.contact-steps p {
  color: var(--text-secondary);
  font-size: .82rem;
  margin: 0;
}
.contact-steps strong {
  color: var(--ink);
}
.contact-form {
  background: var(--sand);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  padding: 2.5rem;
}
.contact-form label {
  display: flex;
  flex-direction: column;
  font-size: .86rem;
  font-weight: 600;
  gap: .5rem;
  margin-bottom: 1.25rem;
}
.contact-form input, .contact-form select, .contact-form textarea {
  background: var(--white);
  border: 1px solid var(--rule);
  border-radius: var(--radius-control);
  color: var(--ink);
  min-height: 48px;
  padding: .75rem;
}
.contact-form textarea {
  resize: vertical;
}
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus {
  border-color: var(--amber);
  outline: 2px solid var(--amber);
  outline-offset: 2px;
}
.form-row {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr 1fr;
}
.form-note {
  color: var(--text-secondary);
  font-size: .8rem;
}
.success-panel {
  align-items: flex-start;
  background: var(--sand);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 540px;
  padding: 4rem;
}
.success-icon {
  align-items: center;
  background: var(--success-bg);
  border-radius: 50%;
  color: var(--success);
  display: flex;
  height: 56px;
  justify-content: center;
  margin-bottom: 2rem;
  width: 56px;
}
.success-panel p {
  color: var(--text-secondary);
  max-width: 550px;
}
footer {
  background: var(--ink);
  color: var(--sand);
  padding: 5rem max(3rem, calc((100vw - 1344px) / 2)) 2rem;
}
.footer-main {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.footer-brand p {
  color: #aeb8bf;
  margin-top: 2rem;
  max-width: 390px;
}
.footer-links {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(3, 1fr);
}
.footer-links > div {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: .65rem;
}
.footer-links span {
  color: #aeb8bf;
  font-size: .68rem;
  letter-spacing: .12em;
  margin-bottom: .6rem;
}
.footer-links a:hover {
  color: var(--amber);
}
.footer-bottom {
  border-top: 1px solid #3b4a56;
  color: #aeb8bf;
  display: flex;
  font-size: .72rem;
  justify-content: space-between;
  margin-top: 5rem;
  padding-top: 1.5rem;
}
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 600ms var(--ease), transform 600ms var(--ease);
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.service-card.reveal:nth-child(2), .step.reveal:nth-child(2), .values-grid article.reveal:nth-child(2), .price-card.reveal:nth-child(2), .assurance-cards article.reveal:nth-child(2) {
  transition-delay: 80ms;
}
.service-card.reveal:nth-child(3), .step.reveal:nth-child(3), .values-grid article.reveal:nth-child(3), .price-card.reveal:nth-child(3), .assurance-cards article.reveal:nth-child(3) {
  transition-delay: 160ms;
}
.service-card.reveal:nth-child(5), .values-grid article.reveal:nth-child(5) {
  transition-delay: 80ms;
}
.service-card.reveal:nth-child(6), .values-grid article.reveal:nth-child(6) {
  transition-delay: 160ms;
}
.product-window {
  transition: border-color 180ms var(--ease), transform 240ms var(--ease);
}
.product-window:hover {
  border-color: var(--slate-light);
  transform: translateY(-4px);
}
body {
  background: var(--sand-sunken);
}
.app {
  background: var(--sand);
  box-shadow: 0 0 60px rgba(22, 33, 43, .08);
  margin: 0 auto;
  max-width: 1440px;
  min-width: 0;
  width: 100%;
}
.site-header {
  background: rgba(250, 248, 245, .92);
}
.header-inner {
  max-width: 1280px;
}
.hero {
  background: radial-gradient(circle at 18% 34%, var(--amber), transparent 24%), radial-gradient(circle at 82% 42%, var(--slate-light), transparent 26%);
  @supports (color: color-mix(in lab, red, red)) {
    background: radial-gradient(circle at 18% 34%, color-mix(in srgb, var(--amber) 10%, transparent), transparent 24%), radial-gradient(circle at 82% 42%, color-mix(in srgb, var(--slate-light) 13%, transparent), transparent 26%);
  }
  max-width: 1280px;
}
.hero-copy {
  max-width: 880px;
}
.hero-laptop {
  max-width: 860px;
  width: 76%;
}
.laptop-lid {
  box-shadow: 0 30px 70px rgba(22, 33, 43, .16);
}
.home-trust-strip {
  background: var(--white);
  border-bottom: 1px solid var(--border);
  border-top: 1px solid var(--border);
  margin: 0 auto;
  max-width: 1200px;
  padding: 3.5rem 2.5rem;
  text-align: center;
}
.home-trust-strip > p {
  font-family: "Instrument Serif";
  font-size: 1.8rem;
  margin-bottom: 2rem;
}
.home-trust-strip > div {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 4rem;
  justify-content: center;
}
.home-trust-strip span {
  align-items: center;
  color: var(--slate);
  display: inline-flex;
  font-size: .82rem;
  font-weight: 600;
  gap: .55rem;
}
.home-trust-strip .icon {
  color: var(--amber);
}
.problem-section {
  max-width: 1200px;
  padding: 9rem 2.5rem;
}
.problem-heading {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin: 0 auto 4rem;
  max-width: 820px;
  text-align: center;
}
.problem-heading > p {
  margin: 0;
  max-width: 650px;
}
.problem-list {
  border: 0;
  gap: .8rem;
  grid-template-columns: repeat(6, 1fr);
}
.problem-list article, .problem-list article:first-child, .problem-list article:last-child {
  border: 0;
  border-radius: var(--radius-card);
  grid-column: span 2;
  min-height: 260px;
  padding: 1.75rem;
}
.problem-list article:nth-child(4) {
  grid-column: 2 / span 2;
}
.problem-list article:nth-child(1) {
  background: var(--amber);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--amber) 9%, var(--white));
  }
}
.problem-list article:nth-child(2) {
  background: var(--slate-light);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--slate-light) 14%, var(--white));
  }
}
.problem-list article:nth-child(3) {
  background: var(--sand-sunken);
}
.problem-list article:nth-child(4) {
  background: var(--success);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--success) 9%, var(--white));
  }
}
.problem-list article:nth-child(5) {
  background: var(--ink-100);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--ink-100) 78%, var(--white));
  }
}
.problem-list article:hover {
  color: var(--ink);
  transform: translateY(-4px);
}
.problem-list article:hover p {
  color: var(--text-secondary);
}
.answer-section {
  padding: 9rem max(3rem, calc((100vw - 1200px) / 2));
}
.answer-heading {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin: 0 auto 4rem;
  max-width: 820px;
  text-align: center;
}
.answer-heading > p {
  margin: 0;
  max-width: 650px;
}
.pillar-list {
  border: 0;
  gap: .8rem;
}
.pillar-list article, .pillar-list article:first-child, .pillar-list article:last-child {
  border: 0;
  border-radius: var(--radius-card);
  min-height: 300px;
  padding: 2rem;
}
.pillar-list article:nth-child(1) {
  background: var(--slate-light);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--slate-light) 12%, var(--white));
  }
}
.pillar-list article:nth-child(2) {
  background: var(--amber);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--amber) 10%, var(--white));
  }
}
.pillar-list article:nth-child(3) {
  background: var(--sand-sunken);
}
.pillar-list h3 {
  margin-top: 3rem;
}
.section {
  max-width: 1200px;
  padding: 9rem 2.5rem;
}
.section-heading {
  align-items: center;
  flex-direction: column;
  gap: 1.5rem;
  margin: 0 auto 4rem;
  max-width: 850px;
  text-align: center;
}
.section-heading > p {
  margin: 0;
  max-width: 650px;
}
.product-feature-grid {
  border: 0;
  gap: .8rem;
}
.product-feature-card, .product-feature-card:nth-child(2n), .product-feature-card:nth-child(3n) {
  border: 0;
  border-radius: var(--radius-card);
  min-height: 275px;
  padding: 2rem;
}
.product-feature-card:nth-child(1), .product-feature-card:nth-child(6) {
  background: var(--amber);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--amber) 9%, var(--white));
  }
}
.product-feature-card:nth-child(2), .product-feature-card:nth-child(5) {
  background: var(--slate-light);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--slate-light) 13%, var(--white));
  }
}
.product-feature-card:nth-child(3) {
  background: var(--sand-sunken);
}
.product-feature-card:nth-child(4) {
  background: var(--success);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--success) 8%, var(--white));
  }
}
.product-feature-image, .product-feature-overlay {
  display: none;
}
.product-feature-card:hover {
  background: var(--ink);
}
.product-feature-card h3 {
  font-family: "Instrument Serif";
  font-size: 1.65rem;
  font-weight: 400;
  margin-top: 3.5rem;
}
.audience-section {
  background: var(--ink);
  color: var(--white);
  padding: 9rem max(3rem, calc((100vw - 1200px) / 2));
}
.audience-heading {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin: 0 auto 4rem;
  max-width: 850px;
  text-align: center;
}
.audience-heading > p {
  color: var(--white);
  margin: 0;
  max-width: 650px;
}
.audience-pathway {
  background: var(--ink);
  border: 0;
  border-radius: var(--radius-card);
  color: var(--sand);
  overflow: hidden;
}
.process-section .steps {
  border: 0;
  gap: .8rem;
}
.process-section .step, .process-section .step + .step {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  min-height: 260px;
  padding: 2rem;
}
.process-section .step:nth-child(2) {
  background: var(--amber);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--amber) 8%, var(--white));
  }
}
.process-section .step h3 {
  margin-top: 4rem;
}
.cta-section {
  border-radius: var(--radius-card);
  margin: 0 3rem 3rem;
  padding-left: max(3rem, calc((100vw - 1200px) / 2));
  padding-right: max(3rem, calc((100vw - 1200px) / 2));
}
.page-hero {
  align-items: center;
  background: radial-gradient(circle at 18% 48%, var(--amber), transparent 27%), radial-gradient(circle at 82% 45%, var(--slate-light), transparent 29%);
  @supports (color: color-mix(in lab, red, red)) {
    background: radial-gradient(circle at 18% 48%, color-mix(in srgb, var(--amber) 9%, transparent), transparent 27%), radial-gradient(circle at 82% 45%, color-mix(in srgb, var(--slate-light) 12%, transparent), transparent 29%);
  }
  grid-template-columns: 1fr;
  justify-items: center;
  max-width: 1280px;
  min-height: 560px;
  text-align: center;
}
.page-hero-copy {
  max-width: 920px;
}
.page-hero > p {
  margin: 0;
  max-width: 650px;
}
.about-origin, .photo-story-section, .service-story-section, .contact-section {
  gap: 6%;
}
.values-section, .pricing-section, .pricing-compare-section, .faq-section {
  max-width: 1200px;
}
.service-grid {
  gap: .8rem;
}
.service-card {
  border-radius: var(--radius-card);
}
.service-card:nth-child(1), .service-card:nth-child(6) {
  background: var(--amber);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--amber) 8%, var(--white));
  }
}
.service-card:nth-child(2), .service-card:nth-child(5) {
  background: var(--slate-light);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--slate-light) 12%, var(--white));
  }
}
.service-card:nth-child(3), .service-card:nth-child(4) {
  background: var(--sand-sunken);
}
@media (max-width: 1024px) {
  .header-inner {
    padding: 0 1.5rem;
  }
  .menu-button {
    display: block;
  }
  .main-nav {
    align-items: stretch;
    background: var(--sand);
    border-bottom: 1px solid var(--border);
    display: none;
    flex-direction: column;
    gap: 0;
    left: 0;
    padding: 1rem 1.5rem 2rem;
    position: absolute;
    top: 78px;
    width: 100%;
  }
  .main-nav--open {
    display: flex;
  }
  .nav-link {
    border-bottom: 1px solid var(--border);
    height: 56px;
  }
  .nav-link::after {
    bottom: auto;
    height: 100%;
    left: -.75rem;
    top: 0;
    width: 3px;
  }
  .nav-cta {
    margin: 1.5rem 0 0;
  }
  .hero, .page-hero {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .section, .values-section, .pricing-section, .faq-section {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .service-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .product-feature-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .product-feature-card:nth-child(3n) {
    border-right: 1px solid var(--border);
  }
  .product-feature-card:nth-child(2n) {
    border-right: 0;
  }
  .feature-detail {
    grid-template-columns: 1fr;
  }
  .feature-detail .product-window {
    margin-top: 3rem;
  }
  .feature-detail .service-dashboard {
    margin-top: 3rem;
  }
  .pricing-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .pricing-inclusions {
    gap: 3rem;
    grid-template-columns: 1fr;
  }
  .pricing-inclusions-heading h2 {
    max-width: 600px;
  }
  .pricing-tour-section, .founding-section {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .pricing-compare-section {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .audience-section {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .audience-pathway {
    grid-template-columns: minmax(180px, .55fr) 1.45fr;
  }
  .audience-pathway-intro {
    padding-right: 2rem;
  }
  .audience-list {
    padding-left: 2rem;
  }
  .audience-list summary {
    gap: .75rem;
    grid-template-columns: 28px 64px minmax(120px, .8fr) minmax(180px, 1.2fr) 20px;
  }
  .audience-list details::before {
    left: -2rem;
  }
  .audience-detail {
    grid-template-columns: 112px 1fr;
    padding-left: 6.5rem;
  }
}
@media (max-width: 720px) {
  body {
    font-size: 17px;
  }
  .app {
    box-shadow: none;
  }
  h1 {
    font-size: 3.6rem;
  }
  .logo-type small {
    display: none;
  }
  .hero {
    min-height: auto;
    padding: 6rem 1.25rem 7rem;
  }
  .hero-copy > p {
    font-size: 1.05rem;
  }
  .button-row {
    align-items: center;
    flex-direction: column;
    gap: 1.25rem;
  }
  .hero-laptop {
    margin-top: 3rem;
    padding-top: 0;
    width: 100%;
  }
  .hero-clouds {
    height: 100%;
    transform: scaleX(1.35);
  }
  .laptop-screen {
    aspect-ratio: 640 / 416;
    container-type: inline-size;
    height: auto;
    overflow: hidden;
  }
  .laptop-fit {
    height: 416px;
    transform: scale(calc(100cqi / 640px));
    transform-origin: top left;
    width: 640px;
  }
  .hero-laptop .product-window {
    min-height: 0;
    width: 640px;
  }
  .hero-laptop .preview-sidebar .brand-mark {
    height: 26px;
    transform: none;
  }
  .hero-laptop .preview-nav-lines span.active {
    background: var(--amber);
    border-left: 0;
    height: 3px;
    margin-left: 10px;
    width: 22px;
  }
  .laptop-lid {
    padding: 16px 8px 8px;
  }
  .laptop-base {
    margin-left: -2%;
    margin-right: -2%;
  }
  .product-window {
    grid-template-columns: 44px 1fr;
    min-height: 390px;
  }
  .preview-sidebar {
    padding-top: 1rem;
  }
  .preview-sidebar .brand-mark {
    transform: scale(.7);
  }
  .preview-nav-lines {
    margin-top: 2rem;
  }
  .preview-nav-lines span {
    margin-left: 10px;
    width: 18px;
  }
  .preview-nav-lines span.active {
    width: 34px;
  }
  .preview-content {
    padding: 1rem;
  }
  .preview-welcome {
    align-items: flex-start;
    flex-direction: column;
    padding: 1rem;
  }
  .preview-welcome strong {
    font-size: 1.2rem;
  }
  .preview-welcome > span {
    margin-top: 1rem;
  }
  .preview-grid {
    grid-template-columns: 1fr;
  }
  .preview-card--wide {
    grid-column: auto;
  }
  .approval-row {
    gap: .5rem;
    grid-template-columns: 1fr auto;
  }
  .approval-row em {
    display: none;
  }
  .hero-laptop .preview-welcome {
    align-items: flex-end;
    flex-direction: row;
  }
  .hero-laptop .preview-welcome strong {
    font-size: 1.2rem;
  }
  .hero-laptop .preview-welcome > span {
    margin-top: 0;
  }
  .hero-laptop .preview-grid {
    grid-template-columns: 1fr 1fr;
  }
  .hero-laptop .preview-card--wide {
    grid-column: span 2;
  }
  .hero-laptop .approval-row {
    grid-template-columns: 1fr auto auto;
  }
  .hero-laptop .approval-row em {
    display: inline;
  }
  .preview-card {
    min-height: 100px;
    padding: 1rem;
  }
  .problem-section {
    padding: 6rem 1.25rem;
  }
  .problem-heading {
    align-items: start;
    gap: 2rem;
    grid-template-columns: 1fr;
    margin-bottom: 3rem;
  }
  .problem-list {
    grid-template-columns: 1fr;
  }
  .problem-list article, .problem-list article:first-child, .problem-list article:last-child {
    border-bottom: 1px solid var(--rule);
    border-right: 0;
    flex-direction: row;
    gap: 2rem;
    grid-column: 1;
    justify-content: flex-start;
    min-height: auto;
    padding: 1.5rem 0;
  }
  .problem-list article:nth-child(4) {
    grid-column: 1;
  }
  .problem-list article:last-child {
    border-bottom: 0;
  }
  .problem-list article > span {
    min-width: 28px;
  }
  .section, .values-section {
    padding: 5rem 1.25rem;
  }
  .growth-section {
    padding: 6rem 2rem;
  }
  .page-hero, .about-origin, .feature-detail, .faq-section, .contact-section, .photo-story-section, .service-story-section {
    grid-template-columns: 1fr;
  }
  .answer-section {
    padding: 6rem 1.25rem;
  }
  .answer-heading {
    align-items: start;
    gap: 2rem;
    grid-template-columns: 1fr;
    margin-bottom: 3rem;
  }
  .pillar-list {
    grid-template-columns: 1fr;
  }
  .pillar-list article, .pillar-list article:first-child, .pillar-list article:last-child {
    border-bottom: 1px solid var(--border);
    border-right: 0;
    min-height: auto;
    padding: 2rem 0;
  }
  .pillar-list article:first-child {
    padding-top: 0;
  }
  .pillar-list article:last-child {
    border-bottom: 0;
  }
  .pillar-list h3 {
    margin: 2rem 0 .75rem;
  }
  .section-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 2rem;
  }
  .service-grid {
    grid-template-columns: 1fr;
  }
  .product-feature-grid {
    grid-template-columns: 1fr;
  }
  .product-feature-card, .product-feature-card:nth-child(2n), .product-feature-card:nth-child(3n) {
    border-right: 0;
    min-height: 280px;
    padding: 1.5rem;
  }
  .service-card {
    min-height: 290px;
  }
  .audience-section {
    padding: 6rem 1.25rem;
  }
  .audience-heading {
    align-items: start;
    gap: 2rem;
    grid-template-columns: 1fr;
    margin-bottom: 3rem;
  }
  .audience-pathway {
    grid-template-columns: 1fr;
  }
  .audience-pathway-intro {
    border-bottom: 1px solid #526675;
    border-right: 0;
    display: grid;
    gap: .5rem 1rem;
    grid-template-columns: auto 1fr;
    min-height: auto;
    padding: 1.75rem 0;
  }
  .audience-pathway-count {
    font-size: 4rem;
    grid-row: span 2;
  }
  .audience-pathway-intro p {
    align-self: end;
    margin: 0;
  }
  .audience-pathway-rule {
    display: none;
  }
  .audience-pathway-intro strong {
    font-family: "Instrument Sans";
    font-size: .9rem;
    max-width: none;
  }
  .audience-list {
    padding-left: 0;
  }
  .audience-list summary {
    display: grid;
    gap: .45rem 1rem;
    grid-template-columns: 32px 1fr 20px;
    min-height: auto;
    padding: 1.5rem 0;
  }
  .audience-list details::before {
    left: -1.25rem;
  }
  .audience-list details:hover summary, .audience-list details[open] summary {
    padding-left: .5rem;
  }
  .audience-action {
    grid-column: 2;
    grid-row: 1;
  }
  .audience-list h3 {
    grid-column: 2;
    grid-row: 2;
  }
  .audience-list p {
    grid-column: 2;
    grid-row: 3;
  }
  .audience-number {
    grid-row: 1 / span 3;
  }
  .audience-arrow {
    grid-column: 3;
    grid-row: 1 / span 3;
    opacity: 1;
    transform: none;
  }
  .audience-detail {
    display: block;
    padding: 0 0 1.5rem 3rem;
  }
  .audience-detail > span {
    display: block;
    margin-bottom: .75rem;
  }
  .steps {
    grid-template-columns: 1fr;
  }
  .step, .step + .step {
    border-bottom: 1px solid var(--border);
    border-right: 0;
    padding: 2rem 0;
  }
  .step h3 {
    margin-top: 1.5rem;
  }
  .cta-section {
    align-items: flex-start;
    flex-direction: column;
    gap: 2rem;
    padding: 5rem 1.25rem;
  }
  .cta-section {
    margin: 0 1.25rem 1.25rem;
  }
  .home-trust-strip {
    padding: 3rem 1.25rem;
  }
  .home-trust-strip > div {
    gap: 1.25rem 2rem;
  }
  .page-hero {
    align-items: start;
    gap: 2rem;
    min-height: auto;
    padding: 6rem 1.25rem 4rem;
  }
  .page-hero h1 {
    font-size: 3.5rem;
  }
  .about-origin {
    padding: 4rem 1.25rem;
  }
  .origin-mark {
    height: 300px;
  }
  .growth-section {
    padding: 5rem 1.25rem;
  }
  .growth-intro {
    gap: 2rem;
    grid-template-columns: 1fr;
  }
  .growth-intro h2 {
    font-size: 3.25rem;
  }
  .growth-stats {
    gap: 0;
    grid-template-columns: 1fr;
    margin-top: 3rem;
    padding: 0;
  }
  .growth-stats > div {
    border-bottom: 1px solid var(--rule);
    padding: 1.5rem 0;
  }
  .growth-stats > div:last-child {
    border-bottom: 0;
  }
  .values-grid {
    grid-template-columns: 1fr;
  }
  .values-grid article, .values-grid article:nth-child(even) {
    border-left: 0;
    min-height: auto;
    padding: 2rem 0;
  }
  .values-grid h3 {
    margin-top: 1.5rem;
  }
  .mission-section {
    grid-template-columns: 1fr;
  }
  .mission-section > div, .mission-section > div:first-child, .mission-section > div:last-child {
    border-bottom: 1px solid #3b4a56;
    border-right: 0;
    padding: 4rem 1.25rem;
  }
  .photo-story-section, .service-story-section {
    gap: 3rem;
    padding: 5rem 1.25rem;
  }
  .story-image, .story-image--wide {
    height: 480px;
  }
  .feature-tabs-section {
    padding: 0 1.25rem 5rem;
  }
  .feature-tabs {
    gap: 1rem;
  }
  .service-dashboard {
    grid-template-columns: 48px 1fr;
    min-height: 430px;
  }
  .service-dashboard-main {
    padding: 1rem;
  }
  .service-dashboard-sidebar .brand-mark {
    height: 24px;
    transform: none;
  }
  .logo-img {
    height: 30px;
  }
  .origin-mark .brand-mark {
    height: 132px;
    width: auto;
  }
  .service-dashboard-sidebar > span {
    height: 38px;
  }
  .service-dashboard-title {
    align-items: flex-start;
    flex-direction: column;
    gap: .5rem;
  }
  .service-dashboard-title > span {
    display: none;
  }
  .service-dashboard-stats {
    gap: .4rem;
  }
  .service-dashboard-stats > div {
    padding: .65rem .5rem;
  }
  .service-dashboard-stats strong {
    font-size: .9rem;
  }
  .service-dashboard-content {
    grid-template-columns: 1fr;
  }
  .service-dashboard-activity {
    display: none;
  }
  .service-dashboard-table-head, .service-dashboard-row {
    gap: .35rem;
    padding: .65rem .5rem;
  }
  .pricing-section {
    padding: 1rem 1.25rem 5rem;
  }
  .billing-toggle {
    width: 100%;
  }
  .billing-toggle button {
    flex: 1;
  }
  .pricing-grid {
    grid-template-columns: 1fr;
  }
  .price-card > p:first-of-type {
    min-height: auto;
  }
  .pricing-inclusions {
    margin-top: 5rem;
  }
  .pricing-inclusions-grid {
    grid-template-columns: 1fr;
  }
  .pricing-inclusions-grid article:nth-child(even) {
    border-left: 0;
    padding-left: 0;
  }
  .pricing-tour-section {
    padding: 5rem 1.25rem;
  }
  .pricing-tour-heading {
    align-items: start;
    gap: 2rem;
    grid-template-columns: 1fr;
    margin-bottom: 3rem;
  }
  .pricing-tour-grid {
    grid-template-columns: 1fr;
  }
  .pricing-tour-grid article, .pricing-tour-grid article:nth-child(even) {
    border-left: 0;
    grid-template-columns: 28px 1fr;
    min-height: auto;
    padding: 1.5rem 0;
  }
  .pricing-tour-grid article > strong {
    grid-column: 2;
    justify-self: start;
  }
  .founding-section {
    align-items: flex-start;
    flex-direction: column;
    gap: 2rem;
    padding: 5rem 1.25rem;
  }
  .founding-section .button {
    margin-left: 0;
  }
  .pricing-compare-section {
    padding: 5rem 1.25rem;
  }
  .faq-section {
    gap: 3rem;
    padding: 5rem 1.25rem;
  }
  .legal-hero {
    padding: 6rem 1.25rem 4rem;
  }
  .legal-hero > p {
    font-size: 1.05rem;
  }
  .legal-disclaimer {
    gap: 1rem;
    grid-template-columns: 1fr;
    padding: 1.5rem 1.25rem;
  }
  .legal-quick-section, .legal-library-section {
    padding: 5rem 1.25rem;
  }
  .legal-section-heading {
    margin-bottom: 3rem;
  }
  .legal-quick-grid {
    grid-template-columns: 1fr;
  }
  .legal-quick-grid article {
    min-height: 260px;
    padding: 1.5rem;
  }
  .legal-category {
    gap: 2rem;
    grid-template-columns: 1fr;
    padding: 2.5rem 0;
  }
  .legal-document-row {
    align-items: start;
    gap: .75rem;
    grid-template-columns: 1fr 20px;
  }
  .legal-document-row .legal-status {
    grid-column: 1;
    grid-row: 2;
  }
  .legal-document-row .icon {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
  .legal-future-item {
    align-items: flex-start;
    flex-direction: column;
    gap: .75rem;
  }
  .legal-rights-section, .legal-contact-section, .legal-related-section {
    grid-template-columns: 1fr;
  }
  .legal-rights-section {
    gap: 3rem;
    padding: 5rem 1.25rem;
  }
  .legal-contact-section {
    align-items: start;
    gap: 2rem;
    padding: 5rem 1.25rem;
  }
  .legal-document-header {
    padding: 4rem 1.25rem 3rem;
  }
  .legal-breadcrumb {
    margin-bottom: 3rem;
  }
  .legal-document-header h1 {
    font-size: 3.4rem;
  }
  .legal-document-notice {
    margin: 0 1.25rem 2rem;
    padding: 1.25rem;
  }
  .legal-document-layout {
    display: block;
    padding: 0 1.25rem 5rem;
  }
  .legal-document-toc {
    display: none;
  }
  .legal-mobile-toc {
    border-bottom: 1px solid var(--rule);
    border-top: 1px solid var(--rule);
    display: block;
    margin: 0 1.25rem 3rem;
    padding: 1rem 0;
  }
  .legal-mobile-toc summary {
    cursor: pointer;
    font-weight: 600;
  }
  .legal-mobile-toc li {
    color: var(--text-secondary);
    font-size: .82rem;
    margin-bottom: .65rem;
  }
  .legal-document-content > section {
    padding: 2.5rem 0;
  }
  .legal-document-content h2 {
    font-size: 1.85rem;
  }
  .legal-history div {
    grid-template-columns: 1fr;
  }
  .legal-related-section {
    gap: 2rem;
    padding: 5rem 1.25rem;
  }
  .contact-section {
    gap: 3rem;
    padding: 5rem 1.25rem;
  }
  .contact-form {
    padding: 1.25rem;
  }
  .form-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .success-panel {
    min-height: auto;
    padding: 2rem;
  }
  footer {
    padding: 4rem 1.25rem 2rem;
  }
  .footer-main, .footer-links {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: .5rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
  .reveal {
    opacity: 1;
    transform: none;
  }
  .audience-section.is-visible .audience-pathway-count, .audience-section.is-visible .audience-pathway-rule, .audience-section.is-visible .audience-list details, .audience-detail {
    animation: none;
  }
  .service-dashboard {
    animation: none;
  }
}

html, body, #root, #root > div {
  height: auto !important;
  min-height: 100%;
  overflow: visible !important;
}
#root > div {
  display: block;
  min-width: 0;
  width: 100%;
}
body {
  overflow-x: hidden !important;
  overflow-y: auto !important;
}
.form-error {
  color: #a94f10;
  margin-bottom: 1rem;
}
