@font-face {
  font-family: "Mona Sans";
  font-style: normal;
  font-weight: 200 900;
  font-stretch: 75% 125%;
  font-display: swap;
  src: url("../assets/fonts/mona-sans-v4-latin.woff2") format("woff2");
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212,
    U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Mona Sans";
  font-style: normal;
  font-weight: 200 900;
  font-stretch: 75% 125%;
  font-display: swap;
  src: url("../assets/fonts/mona-sans-v4-latin-ext.woff2") format("woff2");
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
    U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Mona Sans Fallback";
  font-weight: 100 550;
  src: local("Arial"), local("ArialMT");
  size-adjust: 105%;
  ascent-override: 103.8%;
  descent-override: 30.5%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Mona Sans Fallback";
  font-weight: 551 900;
  src: local("Arial Bold"), local("Arial-BoldMT");
  size-adjust: 104.4%;
  ascent-override: 104.4%;
  descent-override: 30.7%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Mona Sans Display Fallback";
  src: local("Arial Black"), local("Arial-Black");
  size-adjust: 97%;
  ascent-override: 112.4%;
  descent-override: 33%;
  line-gap-override: 0%;
}

:root {
  --orange: #eb5e28;
  --apricot: #f69852;
  --ink: #1c1325;
  --paper: #fff;
  --mist: #f3f0f6;
  --orange-text: #b8451d;
  --muted: #5b5263;
  --on-ink-muted: #c9c2cf;
  --rule-soft: rgba(28, 19, 37, 0.14);
  --pop-yellow: #ffe46a;
  --pop-pink: #f68dff;
  --pop-blue: #758bfd;

  --s1: 4px;
  --s2: 8px;
  --s3: 12px;
  --s4: 16px;
  --s5: 24px;
  --s6: 32px;
  --s7: 48px;
  --s8: 64px;
  --s9: 96px;
  --s10: 144px;

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --font:
    "Mona Sans", "Mona Sans Fallback", ui-sans-serif, system-ui, -apple-system,
    "Segoe UI", Roboto, Arial, sans-serif;
  --font-display:
    "Mona Sans", "Mona Sans Display Fallback", "Mona Sans Fallback",
    ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial,
    sans-serif;

  --section-pad: 144px;
  --head-to-content: 64px;
  --row-pad: 32px;
}
@media (max-width: 960px) {
  :root {
    --section-pad: 96px;
  }
}
@media (max-width: 640px) {
  :root {
    --section-pad: 72px;
    --head-to-content: 40px;
    --row-pad: 24px;
  }
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  -webkit-tap-highlight-color: transparent;
}
html.smooth {
}
@media (prefers-reduced-motion: no-preference) {
  html.smooth {
    scroll-behavior: smooth;
  }
}
body {
  font-family: var(--font);
  font-size: 1.0625rem;
  line-height: 1.6;
  font-weight: 400;
  font-stretch: 100%;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--ink);
  background: var(--paper);
}
h1,
h2,
h3 {
  text-wrap: balance;
}
p,
li {
  text-wrap: pretty;
}
img {
  max-width: 100%;
  display: block;
}
a {
  color: inherit;
  text-decoration: none;
}
ul,
ol {
  list-style: none;
}
button {
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
}
:focus-visible {
  outline: 3px solid var(--ink);
  outline-offset: 3px;
  border-radius: 4px;
}
.on-ink :focus-visible,
.on-orange .btn-primary:focus-visible {
  outline-color: var(--apricot);
}
.on-orange :focus-visible {
  outline-color: var(--ink);
  outline-offset: 3px;
}

.t-display {
  font-size: clamp(2.625rem, 1.2rem + 5.4vw, 6.25rem);
  font-weight: 800;
  font-stretch: 125%;
  line-height: 0.92;
  letter-spacing: -0.035em;
}
.t-h2 {
  font-size: clamp(2rem, 1.25rem + 2.9vw, 4rem);
  font-weight: 760;
  font-stretch: 118%;
  line-height: 1;
  letter-spacing: -0.03em;
  max-width: 16ch;
}
.t-step {
  font-size: clamp(1.875rem, 1.2rem + 2.2vw, 3.25rem);
  font-weight: 760;
  font-stretch: 115%;
  line-height: 1.02;
  letter-spacing: -0.028em;
}
.t-stat {
  font-size: clamp(3rem, 2rem + 4vw, 6rem);
  font-weight: 800;
  font-stretch: 125%;
  line-height: 0.9;
  letter-spacing: -0.04em;
  font-variant-numeric: tabular-nums lining-nums;
}
.t-price {
  font-size: clamp(2rem, 1.6rem + 1.4vw, 2.75rem);
  font-weight: 800;
  font-stretch: 122%;
  line-height: 0.95;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums lining-nums;
}
.t-h3 {
  font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem);
  font-weight: 650;
  font-stretch: 105%;
  line-height: 1.2;
  letter-spacing: -0.012em;
}
.t-lead {
  font-size: clamp(1.125rem, 1.05rem + 0.35vw, 1.3125rem);
  font-weight: 400;
  font-stretch: 100%;
  line-height: 1.5;
  letter-spacing: -0.003em;
}
.t-small {
  font-size: 0.9375rem;
  font-weight: 500;
  font-stretch: 100%;
  line-height: 1.45;
  letter-spacing: 0.005em;
}
.t-label {
  font-size: 1rem;
  font-weight: 650;
  font-stretch: 110%;
  line-height: 1.2;
  letter-spacing: 0;
}
.t-button {
  font-size: 1rem;
  font-weight: 650;
  font-stretch: 105%;
  line-height: 1.25;
  letter-spacing: 0.005em;
}
.m-display {
  font-family: var(--font-display);
  font-weight: 800;
  font-stretch: 125%;
  letter-spacing: -0.03em;
  line-height: 0.92;
}

.t-display,
.t-h2,
.t-step,
.t-stat,
.t-price,
.t-page,
.t-h3-lg,
.footer-sign,
.sprint-price .price,
.ad-sponsor .avatar,
.grid-tiles span {
  font-family: var(--font-display);
}

.measure {
  max-width: 62ch;
}
.footer-sign {
  font-size: clamp(1.75rem, 1rem + 3vw, 3.5rem);
  font-weight: 800;
  font-stretch: 125%;
  line-height: 0.95;
  letter-spacing: -0.035em;
}

.container {
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: 48px;
}
@media (max-width: 960px) {
  .container {
    padding-inline: 32px;
  }
}
@media (max-width: 640px) {
  .container {
    padding-inline: 20px;
  }
}
.grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 24px;
}
@media (max-width: 640px) {
  .grid {
    column-gap: 16px;
  }
}

.section {
  padding-block: var(--section-pad);
}
.on-paper {
  background: var(--paper);
  color: var(--ink);
}
.on-mist {
  background: var(--mist);
  color: var(--ink);
}
.on-orange {
  background: var(--orange);
  color: var(--ink);
}
.on-ink {
  background: var(--ink);
  color: var(--paper);
}

.section-head h2 {
  grid-column: 1 / 9;
}
.section-lead {
  margin-top: var(--s5);
  max-width: 40rem;
}
@media (max-width: 640px) {
  .section-lead {
    margin-top: var(--s4);
  }
}
.section-body {
  margin-top: var(--head-to-content);
}

.btn {
  border-radius: 999px;
  min-height: 52px;
  padding: 0 26px;
  border: 1.5px solid transparent;
  font-size: 1rem;
  font-weight: 650;
  font-stretch: 105%;
  line-height: 1.25;
  letter-spacing: 0.005em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  touch-action: manipulation;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .btn:active {
    transform: scale(0.97);
    transition: transform 160ms var(--ease-out);
  }
}
@media (prefers-reduced-motion: reduce) {
  .btn:active {
    opacity: 0.8;
  }
}
.btn-sm {
  min-height: 44px;
  padding: 0 18px;
  font-size: 0.9375rem;
}

.on-paper .btn-primary,
.on-mist .btn-primary {
  background: var(--orange);
  color: var(--ink);
}
@media (hover: hover) and (pointer: fine) {
  .on-paper .btn-primary:hover,
  .on-mist .btn-primary:hover {
    background: var(--apricot);
  }
}
.on-orange .btn-primary {
  background: var(--ink);
  color: var(--paper);
}
@media (hover: hover) and (pointer: fine) {
  .on-orange .btn-primary:hover {
    background: #34253f;
  }
}
.on-orange .btn-primary:focus-visible {
  outline-color: var(--ink);
  outline-offset: 3px;
}
.on-ink .btn-primary {
  background: var(--orange);
  color: var(--ink);
}
@media (hover: hover) and (pointer: fine) {
  .on-ink .btn-primary:hover {
    background: var(--apricot);
  }
}
.on-ink .btn-primary:focus-visible {
  outline-color: var(--apricot);
}

.btn-ghost {
  background: transparent;
  border-color: var(--ink);
  color: var(--ink);
}
@media (hover: hover) and (pointer: fine) {
  .on-paper .btn-ghost:hover,
  .on-mist .btn-ghost:hover,
  .on-orange .btn-ghost:hover {
    background: var(--ink);
    color: var(--paper);
  }
}
.on-ink .btn-ghost {
  border-color: var(--paper);
  color: var(--paper);
}
@media (hover: hover) and (pointer: fine) {
  .on-ink .btn-ghost:hover {
    background: var(--paper);
    color: var(--ink);
  }
}
.on-ink .btn-ghost:focus-visible {
  outline-color: var(--apricot);
}

.btn-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
@media (max-width: 640px) {
  .btn-row {
    flex-direction: column;
  }
  .btn-row .btn {
    width: 100%;
  }
}

.link {
  text-decoration-line: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 0.18em;
  transition:
    color 0.2s ease,
    text-decoration-thickness 0.2s ease;
}
.on-paper .link,
.on-mist .link {
  color: var(--orange-text);
}
@media (hover: hover) and (pointer: fine) {
  .on-paper .link:hover,
  .on-mist .link:hover {
    color: var(--ink);
    text-decoration-thickness: 2.5px;
  }
}
.on-orange .link {
  color: var(--ink);
  text-decoration-thickness: 2px;
}
@media (hover: hover) and (pointer: fine) {
  .on-orange .link:hover {
    text-decoration-thickness: 3px;
  }
}
.on-ink .link {
  color: var(--apricot);
  text-decoration-thickness: 1.5px;
}
@media (hover: hover) and (pointer: fine) {
  .on-ink .link:hover {
    color: var(--paper);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .link:active {
    opacity: 0.7;
  }
}

.rule-list {
  border-bottom: 0;
}
.rule-list > li {
  border-top: 2px solid var(--ink);
  padding-block: var(--row-pad);
}
.rule-list > li:last-child {
  border-bottom: 2px solid var(--ink);
}

header {
  position: sticky;
  top: 0;
  z-index: 100;
  height: 68px;
  background: var(--paper);
  border-bottom: 1px solid var(--rule-soft);
}
.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 68px;
  gap: 24px;
}
.logo img {
  height: 34px;
  width: auto;
  display: block;
}
.nav-links {
  display: flex;
  align-items: center;
  gap: 32px;
}
@media (max-width: 1080px) {
  .nav-links {
    gap: 24px;
  }
}
.nav-link {
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.005em;
  color: var(--ink);
  text-decoration: underline 2px transparent;
  text-underline-offset: 6px;
  transition:
    text-decoration-color 0.2s ease,
    color 0.2s ease;
}
@media (hover: hover) and (pointer: fine) {
  .nav-link:hover {
    text-decoration-color: var(--orange);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .nav-link:active {
    opacity: 0.7;
  }
}
.nav-link[aria-current] {
  text-decoration: underline 2px var(--orange);
  text-underline-offset: 6px;
}
.nav-cta {
  margin-left: 8px;
}
.nav-toggle {
  display: none;
}
@media (max-width: 768px) {
  .nav-links {
    position: absolute;
    top: 68px;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: var(--paper);
    padding: 8px 20px 24px;
    display: none;
    border-bottom: 1px solid var(--rule-soft);
  }
  .nav-links.open {
    display: flex;
  }
  @media (prefers-reduced-motion: no-preference) {
    .nav-links.open {
      opacity: 1;
      transform: translateY(0);
      transition:
        opacity 0.2s var(--ease-out),
        transform 0.2s var(--ease-out);
    }
    @starting-style {
      .nav-links.open {
        opacity: 0;
        transform: translateY(-8px);
      }
    }
  }
  .nav-links .nav-link {
    display: flex;
    align-items: center;
    height: 56px;
    border-top: 1px solid var(--rule-soft);
  }
  .nav-links li:first-child .nav-link {
    border-top: 0;
  }
  .nav-cta {
    margin-left: 0;
    margin-top: 12px;
  }
  .nav-cta .btn {
    width: 100%;
  }
  .nav-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    font-size: 1.25rem;
  }
}

.story {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 24px;
  padding-inline: max(48px, (100vw - 1280px)/2 + 48px);
  background: var(--orange);
  color: var(--ink);
}
.story-intro {
  grid-column: 1 / 8;
  grid-row: 1;
  min-height: calc(100svh - 68px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-block: 64px;
}
.story-stage {
  grid-column: 8 / 13;
  grid-row: 1 / span 6;
}
.story-canvas {
  position: sticky;
  top: 68px;
  height: calc(100svh - 68px);
}
[data-hero3d] {
  position: absolute;
  inset: 0;
}
.hero3d-canvas,
.hero3d-fallback {
  display: block;
  width: 100%;
  height: 100%;
  transition: opacity 0.16s ease;
}
.hero3d-fallback {
  color: var(--ink);
}
.story-step {
  grid-column: 1 / 7;
  min-height: 80svh;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.story-step[data-stage="1"] {
  grid-row: 2;
}
.story-step[data-stage="2"] {
  grid-row: 3;
}
.story-step[data-stage="3"] {
  grid-row: 4;
}
.story-step[data-stage="4"] {
  grid-row: 5;
}
.story-step[data-stage="5"] {
  grid-row: 6;
  min-height: 100svh;
}
@media (max-width: 960px) {
  .story {
    grid-template-columns: minmax(0, 1fr);
    padding-inline: 32px;
  }
  .story-intro {
    grid-column: 1;
    min-height: 0;
    padding-block: 48px 32px;
  }
  .story-stage {
    grid-column: 1;
    grid-row: 2 / span 6;
    z-index: 2;
    pointer-events: none;
  }
  .story-canvas {
    height: 44svh;
    background: var(--orange);
  }

  .story-canvas::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% - 1px);
    height: 24px;
    background: linear-gradient(var(--orange), rgb(235 94 40 / 0));
    pointer-events: none;
  }
  .story-step {
    grid-column: 1;
    min-height: 70svh;
  }
  .story-step[data-stage="1"] {
    padding-top: 44svh;
  }
}
@media (max-width: 640px) {
  .story {
    padding-inline: 20px;
  }
}

.story-intro h1 {
  margin-top: 0;
}
.story-intro .t-lead {
  margin-top: 32px;
  max-width: 34rem;
}
.story-intro .btn-row {
  margin-top: 40px;
}
@media (max-width: 640px) {
  .story-intro .t-lead {
    margin-top: 24px;
  }
  .story-intro .btn-row {
    margin-top: 32px;
  }
}
.trust-line {
  border-top: 2px solid var(--ink);
  padding-top: 16px;
  margin-top: 64px;
  max-width: 34rem;
}
@media (max-width: 640px) {
  .trust-line {
    margin-top: 48px;
  }
}

.step-label {
  display: flex;
  align-items: center;
  gap: 12px;
}
.step-num {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--ink);
  color: var(--orange);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 650;
  font-stretch: 110%;
  font-variant-numeric: tabular-nums;
  flex: none;
}
.story-step h2 {
  max-width: 15ch;
  margin-top: 16px;
}
.story-step > p:not(.step-label) {
  max-width: 30rem;
  margin-top: 24px;
  font-size: clamp(1.125rem, 1.05rem + 0.35vw, 1.3125rem);
  line-height: 1.5;
}
.story-step .link {
  margin-top: 24px;
  display: inline-block;
}
@media (max-width: 640px) {
  .story-step h2 {
    margin-top: 12px;
  }
  .story-step > p:not(.step-label) {
    margin-top: 16px;
  }
  .story-step .link {
    margin-top: 16px;
  }
}

@media (min-width: 961px) {
  .story-intro {
    padding-block: 32px;
  }
  .story-intro .t-display {
    font-size: min(clamp(2.625rem, 1.2rem + 5.4vw, 6.25rem), 10.5svh);
  }
  .trust-line {
    margin-top: 48px;
  }
}

.work .section-head p.t-lead {
  color: var(--muted);
  max-width: 40rem;
}
.work .section-note {
  margin-top: 16px;
  color: var(--muted);
}
.pieces {
  display: grid;
  grid-template-columns: 1fr 1.35fr 1.35fr;
  grid-template-areas: "ad web web" "creator brand grid" "crm crm crm";
  gap: 24px;
  margin-top: var(--head-to-content);
}
.piece {
  align-self: start;
}
.piece-ad {
  grid-area: ad;
}
.piece-web {
  grid-area: web;
}
.piece-brand {
  grid-area: brand;
}
.piece-grid {
  grid-area: grid;
}
.piece-crm {
  grid-area: crm;
}
.piece-creator {
  grid-area: creator;
}
@media (max-width: 960px) {
  .pieces {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "web web" "ad creator" "brand grid" "crm crm";
  }
}
@media (max-width: 640px) {
  .pieces {
    grid-template-columns: 1fr;
    grid-template-areas: none;
  }
  .piece-ad,
  .piece-creator,
  .piece-web,
  .piece-brand,
  .piece-grid,
  .piece-crm {
    grid-area: auto;
  }
  .piece-ad,
  .piece-creator {
    order: 1;
    width: 100%;
    max-width: 300px;
    margin-inline: auto;
  }
  .piece-web {
    order: 2;
  }
  .piece-brand {
    order: 3;
  }
  .piece-grid {
    order: 4;
  }
  .piece-crm {
    order: 5;
  }
}
.piece-art {
  cursor: default;
}
.piece figcaption {
  margin-top: 16px;
  max-width: 38ch;
  color: var(--muted);
}
.piece figcaption strong {
  color: var(--ink);
  font-weight: 650;
}

.audiences .rule-list {
  margin-top: var(--head-to-content);
}
.audiences .rule-list > li {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 24px;
}
.audiences h3 {
  grid-column: 1 / 6;
}
.audiences .rule-list p {
  grid-column: 6 / 13;
  max-width: 40rem;
}
@media (max-width: 960px) {
  .audiences .rule-list > li {
    grid-template-columns: 1fr;
    row-gap: 12px;
  }
  .audiences h3 {
    grid-column: 1;
  }
  .audiences .rule-list p {
    grid-column: 1;
  }
}

.proof .rule-list.ledger {
  margin-top: var(--head-to-content);
}
.ledger > li {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 24px;
  align-items: start;
}
.ledger .stat {
  grid-column: 1 / 5;
  color: var(--orange);
}
.ledger .ledger-text {
  grid-column: 5 / 10;
}
.ledger .ledger-text small {
  display: block;
  margin-top: 8px;
  color: var(--muted);
}
.ledger .ledger-link {
  grid-column: 10 / 13;
  justify-self: end;
  align-self: end;
  padding-bottom: 0.6em;
}
@media (max-width: 960px) {
  .ledger > li {
    grid-template-columns: 1fr;
    row-gap: 12px;
  }
  .ledger .stat,
  .ledger .ledger-text,
  .ledger .ledger-link {
    grid-column: 1;
    justify-self: start;
  }
}
.proof-quote {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 24px;
  margin-top: 64px;
}
.proof-quote blockquote {
  grid-column: 1 / 8;
  font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem);
  font-weight: 500;
  font-stretch: 110%;
  line-height: 1.3;
  hanging-punctuation: first;
  text-indent: -0.4em;
}
.proof-quote cite {
  display: block;
  margin-top: 16px;
  font-size: 0.9375rem;
  font-weight: 500;
  font-style: normal;
  text-indent: 0;
}
.proof-quote .client-line {
  grid-column: 8 / 13;
}
.proof-quote .client-line .link {
  margin-top: 16px;
  display: inline-block;
}
@media (max-width: 960px) {
  .proof-quote {
    grid-template-columns: 1fr;
    row-gap: 32px;
  }
  .proof-quote blockquote,
  .proof-quote .client-line {
    grid-column: 1;
  }
}

.plans .t-h2 {
  max-width: 18ch;
}
.plan-list {
  margin-top: var(--head-to-content);
}
.plan {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 24px;
  align-items: center;
  position: relative;
  transition: background-color 0.2s ease;
}
.plan-name {
  grid-column: 1 / 5;
}
.plan-name h3 {
  display: inline;
}
.badge {
  display: inline-block;
  background: var(--ink);
  color: var(--paper);
  font-size: 0.9375rem;
  font-weight: 650;
  padding: 4px 10px;
  border-radius: 999px;
  margin-left: 12px;
  vertical-align: 3px;
}
.plan-name p {
  margin-top: 8px;
  max-width: 36ch;
  color: var(--muted);
  font-size: 0.9375rem;
  font-weight: 500;
}
.plan-bar {
  grid-column: 5 / 9;
}
.bar-track {
  height: 10px;
  border-radius: 999px;
  background: var(--rule-soft);
}
.bar-fill {
  height: 100%;
  border-radius: 999px;
  background: var(--ink);
  width: calc(var(--h) / 65 * 100%);
  transition: background-color 0.2s ease;
}
.plan-bar p {
  margin-top: 10px;
  font-size: 0.9375rem;
  font-weight: 500;
}
.plan-price {
  grid-column: 9 / 11;
}
.plan-price small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
}
.plan-action {
  grid-column: 11 / 13;
  justify-self: end;
}
@media (hover: hover) and (pointer: fine) {
  .plan:hover {
    background: var(--paper);
    box-shadow: 0 0 0 16px var(--paper);
    clip-path: inset(0 -16px);
  }
  .plan:hover .bar-fill {
    background: var(--orange);
  }
  .plan:hover .plan-action .btn {
    background: var(--orange);
    color: var(--ink);
    border-color: transparent;
  }
}
.plan:focus-within {
  background: var(--paper);
  box-shadow: 0 0 0 16px var(--paper);
  clip-path: inset(0 -16px);
}
.plan:focus-within .bar-fill {
  background: var(--orange);
}
.plan:focus-within .plan-action .btn {
  background: var(--orange);
  color: var(--ink);
  border-color: transparent;
}
@media (max-width: 960px) {
  .plan {
    grid-template-columns: 1fr;
    row-gap: 12px;
  }
  .plan-name,
  .plan-bar {
    grid-column: 1;
  }
  .plan-price-row {
    grid-column: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .plan-price-row .plan-price,
  .plan-price-row .plan-action {
    grid-column: auto;
  }
}
@media (min-width: 961px) {
  .plan-price-row {
    display: contents;
  }
}
.plans-note {
  margin-top: 32px;
  color: var(--muted);
}
.plans-note .link {
  margin-left: 4px;
}

.sprint {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 24px;
}
.sprint-text {
  grid-column: 1 / 8;
}
.sprint-text .t-lead {
  margin-top: 24px;
}
.sprint-steps {
  margin-top: var(--head-to-content);
}
.sprint-steps li {
  border-top: 2px solid var(--ink);
  padding-block: 16px;
  display: flex;
  gap: 24px;
  align-items: baseline;
}
.sprint-steps li:last-child {
  border-bottom: 2px solid var(--ink);
}
.sprint-steps .step-n {
  font-size: 1rem;
  font-weight: 650;
  font-stretch: 110%;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  width: 2ch;
  flex: none;
}
.sprint-steps .step-t {
  font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem);
  font-weight: 650;
  font-stretch: 105%;
  line-height: 1.2;
}
.sprint-price {
  grid-column: 9 / 13;
  align-self: start;
}
@media (min-width: 961px) {
  .sprint-price {
    position: sticky;
    top: 100px;
  }
}
.sprint-price .price {
  font-size: clamp(2.625rem, 1.2rem + 5.4vw, 6.25rem);
  font-size: min(clamp(2.625rem, 1.2rem + 5.4vw, 6.25rem), 5rem);
  font-weight: 800;
  font-stretch: 125%;
  line-height: 0.92;
  letter-spacing: -0.035em;
}
.sprint-price .for-month {
  margin-top: 8px;
}
.sprint-price .price-note {
  margin-top: 16px;
  max-width: 28ch;
}
.sprint-price .btn-row {
  margin-top: 32px;
  flex-direction: column;
}
.sprint-price .btn-row .btn {
  width: 100%;
}
@media (max-width: 960px) {
  .sprint-text,
  .sprint-price {
    grid-column: 1 / -1;
  }
  .sprint-price {
    margin-top: var(--head-to-content);
  }
}

.on-ink .sprint-steps li {
  border-color: var(--paper);
}
.founder-photo {
  aspect-ratio: 4/5;
  max-width: 360px;
  margin-bottom: var(--s6);
  border: 2px dashed var(--on-ink-muted);
  border-radius: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--on-ink-muted);
  overflow: hidden;
}
.founder-photo:has(img) {
  border: 0;
}
.founder-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.faq {
  max-width: 860px;
  margin-top: var(--head-to-content);
}
.faq details {
  border-top: 2px solid var(--ink);
}
.faq details:last-child {
  border-bottom: 2px solid var(--ink);
}
.faq summary {
  font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem);
  font-weight: 650;
  font-stretch: 105%;
  list-style: none;
  padding: 24px 48px 24px 0;
  position: relative;
  cursor: pointer;
  color: var(--ink);
  transition: color 0.2s ease;
  outline-offset: -3px;
}
.faq summary::-webkit-details-marker {
  display: none;
}
.faq summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  color: var(--orange);
  font-size: 28px;
  font-weight: 300;
  transition: transform 0.2s var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
  .faq summary:hover {
    color: var(--orange-text);
  }
}
.faq details[open] summary::after {
  transform: translateY(-50%) rotate(45deg);
}
.faq-a {
  max-width: 62ch;
  color: var(--muted);
  padding-bottom: 24px;
  animation: faq-fade 0.2s var(--ease-out);
}
@media (prefers-reduced-motion: reduce) {
  .faq-a {
    animation: none;
  }
}
@keyframes faq-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.cta-band .t-lead {
  color: var(--on-ink-muted);
  margin-top: 24px;
  max-width: 40rem;
}
.cta-band .btn-row {
  margin-top: 40px;
}
footer.on-ink {
  padding: 64px 0 32px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}
.footer-sign {
  margin-bottom: 64px;
}
.footer-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 24px;
  row-gap: 40px;
}
.footer-about {
  grid-column: 1 / 5;
}
.footer-about img {
  height: 38px;
  width: auto;
  margin-bottom: 16px;
}
.footer-about p {
  color: var(--on-ink-muted);
  max-width: 32ch;
}
.footer-about .hours {
  color: var(--paper);
  font-weight: 600;
  margin-top: 16px;
}
.footer-col-studio {
  grid-column: 6 / 8;
}
.footer-col-do {
  grid-column: 8 / 10;
}
.footer-col-talk {
  grid-column: 10 / 13;
}
.footer-col h3 {
  color: var(--paper);
}
.footer-col ul {
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.footer-col a {
  font-size: 0.9375rem;
  color: var(--on-ink-muted);
  transition: color 0.2s ease;
}
@media (hover: hover) and (pointer: fine) {
  .footer-col a:hover {
    color: var(--apricot);
  }
}
.footer-bottom {
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  color: var(--on-ink-muted);
}
@media (max-width: 960px) {
  .footer-about {
    grid-column: 1 / 13;
  }
  .footer-col-studio {
    grid-column: 1 / 5;
  }
  .footer-col-do {
    grid-column: 5 / 9;
  }
  .footer-col-talk {
    grid-column: 9 / 13;
  }
}
@media (max-width: 640px) {
  .footer-col-studio {
    grid-column: 1 / 7;
  }
  .footer-col-do {
    grid-column: 7 / 13;
    grid-row: 2 / span 2;
  }
  .footer-col-talk {
    grid-column: 1 / 7;
  }
}

.nowrap {
  white-space: nowrap;
}
.piece {
  container-type: inline-size;
}
.piece-art {
  position: relative;
}
.piece-art * {
  box-sizing: border-box;
}

.piece-inner {
  display: contents;
  --u: 1;
}

.piece-ad .piece-art {
  aspect-ratio: 9/16;
  background: var(--ink);
  padding: calc(var(--u, 1) * 2.6cqi);
  border-radius: calc(var(--u, 1) * 11cqi);
}
.ad-screen {
  border-radius: calc(var(--u, 1) * 8.5cqi);
  background: var(--pop-yellow);
  height: 100%;
  padding: calc(var(--u, 1) * 6cqi) calc(var(--u, 1) * 6cqi)
    calc(var(--u, 1) * 5cqi);
  display: grid;
  grid-template-rows: auto auto 1fr auto auto auto auto;
}
.ad-progress {
  display: flex;
  gap: calc(var(--u, 1) * 1.5cqi);
}
.ad-progress span {
  height: calc(var(--u, 1) * 0.9cqi);
  border-radius: 999px;
  flex: 1;
  background: rgba(28, 19, 37, 0.25);
}
.ad-progress span:first-child {
  background: var(--ink);
}
.ad-sponsor {
  display: flex;
  align-items: center;
  gap: calc(var(--u, 1) * 1.8cqi);
  margin-top: calc(var(--u, 1) * 4cqi);
}
.ad-sponsor .avatar {
  width: calc(var(--u, 1) * 8cqi);
  height: calc(var(--u, 1) * 8cqi);
  border-radius: 50%;
  background: var(--ink);
  color: var(--apricot);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-stretch: 125%;
  font-size: calc(var(--u, 1) * 5cqi);
}
.ad-sponsor .lines p:first-child {
  font-size: calc(var(--u, 1) * 4.2cqi);
  font-weight: 650;
}
.ad-sponsor .lines p:last-child {
  font-size: calc(var(--u, 1) * 3.4cqi);
  color: rgba(28, 19, 37, 0.7);
}
.ad-hero {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.ad-disc {
  width: calc(var(--u, 1) * 80cqi);
  height: calc(var(--u, 1) * 80cqi);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.6);
}
.ad-burger {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.ad-burger .bun-top {
  width: calc(var(--u, 1) * 62cqi);
  height: calc(var(--u, 1) * 28cqi);
  background: var(--apricot);
  border-radius: calc(var(--u, 1) * 31cqi) calc(var(--u, 1) * 31cqi)
    calc(var(--u, 1) * 6cqi) calc(var(--u, 1) * 6cqi);
  position: relative;
}
.ad-burger .bun-top span {
  position: absolute;
  width: calc(var(--u, 1) * 3cqi);
  height: calc(var(--u, 1) * 1.6cqi);
  background: #fff4ec;
  opacity: 0.3;
  border-radius: 50%;
  top: 30%;
}
.ad-burger .bun-top span:nth-child(1) {
  left: 30%;
  transform: rotate(-20deg);
}
.ad-burger .bun-top span:nth-child(2) {
  left: 50%;
  transform: rotate(10deg);
}
.ad-burger .bun-top span:nth-child(3) {
  left: 68%;
  transform: rotate(-5deg);
}
.ad-burger .cheese {
  width: calc(var(--u, 1) * 66cqi);
  height: calc(var(--u, 1) * 5cqi);
  background: var(--orange);
  border-radius: calc(var(--u, 1) * 1.5cqi);
  transform: rotate(-3deg);
}
.ad-burger .patty {
  width: calc(var(--u, 1) * 64cqi);
  height: calc(var(--u, 1) * 12cqi);
  background: var(--ink);
  border-radius: calc(var(--u, 1) * 6cqi);
}
.ad-burger .bun-bottom {
  width: calc(var(--u, 1) * 62cqi);
  height: calc(var(--u, 1) * 11cqi);
  background: var(--apricot);
  border-radius: calc(var(--u, 1) * 3cqi) calc(var(--u, 1) * 3cqi)
    calc(var(--u, 1) * 9cqi) calc(var(--u, 1) * 9cqi);
}
.ad-headline {
  font-size: calc(var(--u, 1) * 13cqi);
  color: var(--ink);
  margin-top: calc(var(--u, 1) * 4cqi);
}
.ad-sub {
  font-size: calc(var(--u, 1) * 4.4cqi);
  font-weight: 500;
  margin-top: calc(var(--u, 1) * 2cqi);
}
.ad-cta {
  margin-top: calc(var(--u, 1) * 5cqi);
  height: calc(var(--u, 1) * 12cqi);
  border-radius: 999px;
  background: var(--ink);
  color: var(--pop-yellow);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(var(--u, 1) * 4.8cqi);
  font-weight: 650;
}
.ad-swipe {
  margin-top: calc(var(--u, 1) * 3cqi);
  display: flex;
  justify-content: center;
}
.ad-swipe span {
  width: calc(var(--u, 1) * 3.5cqi);
  height: calc(var(--u, 1) * 3.5cqi);
  border-right: 2px solid var(--ink);
  border-bottom: 2px solid var(--ink);
  transform: rotate(45deg);
}

.piece-creator .piece-art {
  aspect-ratio: 3/5;
  background: var(--paper);
  border: 2px solid var(--ink);
  border-radius: 28px;
  overflow: hidden;
  padding: 6cqi;
  display: flex;
  flex-direction: column;
  gap: 4.5cqi;
}
@media (min-width: 641px) and (max-width: 960px) {
  .piece-creator .piece-art {
    aspect-ratio: 9/16;
  }
}
.cr-head {
  display: flex;
  align-items: center;
  gap: 3.5cqi;
}
.cr-avatars {
  display: flex;
}
.cr-avatars span {
  width: 11cqi;
  height: 11cqi;
  border-radius: 50%;
  border: 2px solid var(--paper);
  display: grid;
  place-items: center;
  font-size: 5cqi;
  font-weight: 800;
}
.cr-avatars .a1 {
  background: var(--pop-blue);
}
.cr-avatars .a2 {
  background: var(--orange);
  margin-left: -3.5cqi;
  color: var(--ink);
}
.cr-names {
  display: grid;
  line-height: 1.2;
}
.cr-names b {
  font-size: 4.6cqi;
  font-weight: 700;
}
.cr-names span {
  font-size: max(9px, 4cqi);
  color: var(--muted);
  font-weight: 500;
}
.cr-reel {
  flex: 1;
  min-height: 40cqi;
  background: var(--pop-pink);
  border-radius: 5cqi;
  position: relative;
  overflow: hidden;
}
.cr-sun {
  position: absolute;
  width: 62%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--pop-yellow);
  left: 50%;
  bottom: 8%;
  translate: -50% 0;
}
.cr-person {
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -50% 0;
  width: 52%;
  height: 62%;
}
.cr-face {
  position: absolute;
  left: 50%;
  bottom: 46%;
  z-index: 1;
  translate: -50% 0;
  width: 44%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--apricot);
  border: 2px solid var(--ink);
}
.cr-body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 52%;
  background: var(--ink);
  border-radius: 50% 50% 0 0 / 60% 60% 0 0;
}
.cr-hook {
  position: absolute;
  left: 4cqi;
  right: 14cqi;
  top: 4cqi;
  background: var(--paper);
  color: var(--ink);
  font-size: max(9px, 3.8cqi);
  font-weight: 700;
  line-height: 1.15;
  padding: 2cqi 3cqi;
  border-radius: 3cqi;
}
.cr-side {
  position: absolute;
  right: 3.5cqi;
  bottom: 12cqi;
  display: grid;
  gap: 2.5cqi;
}
.cr-side i {
  display: block;
  width: 6cqi;
  height: 6cqi;
  border-radius: 50%;
  background: var(--paper);
  opacity: 0.9;
}
.cr-side i:first-child {
  background: var(--orange);
}
.cr-tag {
  position: absolute;
  left: 4cqi;
  bottom: 4cqi;
  background: var(--ink);
  color: var(--paper);
  font-size: max(9px, 3.6cqi);
  font-weight: 650;
  padding: 1.2cqi 3cqi;
  border-radius: 999px;
}
.cr-brief {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3cqi;
  border-top: 2px solid var(--rule-soft);
  padding-top: 4cqi;
}
.cr-brief .k {
  font-size: max(9px, 3.4cqi);
  color: var(--muted);
  font-weight: 500;
}
.cr-brief .v {
  font-size: max(9px, 4.4cqi);
  font-weight: 650;
  line-height: 1.2;
}
.cr-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5cqi;
}
.cr-status,
.cr-code {
  display: inline-flex;
  align-items: center;
  gap: 2cqi;
  border-radius: 999px;
  padding: 2cqi 3.6cqi;
  font-size: max(9px, 3.8cqi);
  font-weight: 650;
}
.cr-status {
  background: var(--mist);
}
.cr-code {
  border: 2px dashed var(--ink);
}
.cr-tick {
  width: 4.6cqi;
  height: 4.6cqi;
  border-radius: 50%;
  background: var(--orange);
  position: relative;
  flex: none;
}
.cr-tick::after {
  content: "";
  position: absolute;
  left: 1.65cqi;
  top: 0.8cqi;
  width: 1.1cqi;
  height: 2.2cqi;
  border-right: 2px solid var(--ink);
  border-bottom: 2px solid var(--ink);
  rotate: 40deg;
}

.piece-web .piece-art {
  aspect-ratio: 16/10;
  background: var(--paper);
  border: 2px solid var(--ink);
  border-radius: 28px;
  overflow: hidden;
}
.web-chrome {
  height: calc(var(--u, 1) * 5.5cqi);
  background: var(--mist);
  border-bottom: 2px solid var(--ink);
  display: flex;
  align-items: center;
  padding-inline: calc(var(--u, 1) * 2.4cqi);
  position: relative;
}
.web-chrome .dots {
  display: flex;
  gap: calc(var(--u, 1) * 1cqi);
}
.web-chrome .dots span {
  width: calc(var(--u, 1) * 1.4cqi);
  height: calc(var(--u, 1) * 1.4cqi);
  border-radius: 50%;
  background: rgba(28, 19, 37, 0.25);
}
.web-chrome .url {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: calc(var(--u, 1) * 34cqi);
  height: calc(var(--u, 1) * 3cqi);
  background: var(--paper);
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(var(--u, 1) * 1.7cqi);
  color: var(--muted);
}
.web-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: calc(var(--u, 1) * 2.4cqi) calc(var(--u, 1) * 4cqi);
}
.web-nav .wordmark {
  font-size: calc(var(--u, 1) * 2.4cqi);
}
.web-nav .links {
  display: flex;
  gap: calc(var(--u, 1) * 2.4cqi);
  font-size: calc(var(--u, 1) * 1.7cqi);
  font-weight: 500;
}
.piece-web .book {
  background: var(--orange);
  color: var(--ink);
  font-size: calc(var(--u, 1) * 1.7cqi);
  font-weight: 650;
  padding: calc(var(--u, 1) * 0.8cqi) calc(var(--u, 1) * 2cqi);
  border-radius: 999px;
}
.web-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: calc(var(--u, 1) * 3cqi);
  padding: calc(var(--u, 1) * 1cqi) calc(var(--u, 1) * 4cqi)
    calc(var(--u, 1) * 3cqi);
}
.web-hero-left {
  align-self: end;
}
.web-hero-left h3 {
  font-size: calc(var(--u, 1) * 5.6cqi);
  max-width: 12ch;
}
.web-hero-left p {
  font-size: calc(var(--u, 1) * 1.9cqi);
  color: var(--muted);
  margin-top: calc(var(--u, 1) * 1.4cqi);
}
.web-hero-left .book {
  display: inline-block;
  margin-top: calc(var(--u, 1) * 2.4cqi);
  font-size: calc(var(--u, 1) * 2cqi);
  padding: calc(var(--u, 1) * 1.3cqi) calc(var(--u, 1) * 2.6cqi);
}
.web-plate-panel {
  background: var(--ink);
  border-radius: calc(var(--u, 1) * 2.4cqi);
  aspect-ratio: 4/3;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.web-plate {
  width: calc(var(--u, 1) * 22cqi);
  height: calc(var(--u, 1) * 22cqi);
  border-radius: 50%;
  background: var(--apricot);
  position: relative;
}
.web-plate::after {
  content: "";
  position: absolute;
  inset: calc(var(--u, 1) * 1.5cqi);
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.35);
}
.web-plate-pink {
  position: absolute;
  width: calc(var(--u, 1) * 9cqi);
  height: calc(var(--u, 1) * 9cqi);
  border-radius: 50%;
  background: var(--pop-pink);
  top: 25%;
  right: 25%;
  transform: translate(50%, -50%);
}
.web-plate-blue {
  position: absolute;
  width: calc(var(--u, 1) * 4cqi);
  height: calc(var(--u, 1) * 4cqi);
  border-radius: 50%;
  background: var(--pop-blue);
  left: calc(50% - var(--u, 1) * 9.8cqi);
  top: calc(50% + var(--u, 1) * 5.8cqi);
}
.web-tabs {
  border-top: 2px solid var(--ink);
  padding: calc(var(--u, 1) * 1.6cqi) calc(var(--u, 1) * 4cqi);
  display: flex;
  gap: calc(var(--u, 1) * 4cqi);
}
.web-tabs span {
  font-size: calc(var(--u, 1) * 1.8cqi);
  color: var(--muted);
  font-weight: 500;
  padding-bottom: calc(var(--u, 1) * 0.6cqi);
}
.web-tabs span:first-child {
  font-weight: 650;
  color: var(--ink);
  border-bottom: calc(var(--u, 1) * 0.5cqi) solid var(--orange);
}
@container (max-width:520px) {
  .piece-web .piece-inner {
    --u: 1.7;
  }
  .piece-web .piece-art {
    aspect-ratio: 4/5;
  }
  .web-plate-panel {
    order: -1;
  }
  .web-nav .links,
  .web-hero-left p {
    display: none;
  }
  .web-hero {
    grid-template-columns: 1fr;
  }
  .web-plate-panel {
    aspect-ratio: 16/9;
  }
}

.piece-brand .piece-art {
  aspect-ratio: 1/1;
  background: var(--paper);
  border: 2px solid var(--ink);
  border-radius: 28px;
  padding: calc(var(--u, 1) * 7cqi);
  display: grid;
  grid-template-rows: 1fr auto;
  gap: calc(var(--u, 1) * 6cqi);
}
.brand-top {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: calc(var(--u, 1) * 5cqi);
}
.brand-mark {
  width: calc(var(--u, 1) * 26cqi);
  height: calc(var(--u, 1) * 26cqi);
  border-radius: 50%;
  background: transparent;
  border: 2px dashed var(--ink);
  color: var(--ink);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 650;
  font-stretch: 100%;
  font-size: calc(var(--u, 1) * 3.6cqi);
  line-height: 1.15;
}
.brand-word {
  font-size: calc(var(--u, 1) * 8.5cqi);
  margin-top: calc(var(--u, 1) * 3cqi);
}
.brand-tag {
  font-size: calc(var(--u, 1) * 3.8cqi);
  font-weight: 500;
  color: var(--muted);
  margin-top: calc(var(--u, 1) * 1.6cqi);
}
.brand-spec {
  text-align: right;
}
.brand-spec .aa {
  font-size: calc(var(--u, 1) * 26cqi);
  line-height: 0.8;
}
.brand-spec p {
  font-size: calc(var(--u, 1) * 2.8cqi);
  color: var(--muted);
  margin-top: calc(var(--u, 1) * 1cqi);
}
.brand-spec .aa {
  color: var(--ink);
}
.brand-chips {
  display: flex;
  height: calc(var(--u, 1) * 17cqi);
  border: 2px solid var(--ink);
  border-radius: calc(var(--u, 1) * 3.5cqi);
  overflow: hidden;
}
.brand-chips span {
  flex: 1;
  position: relative;
  border-left: 2px solid var(--ink);
}
.brand-chips span:first-child {
  border-left: 0;
}
.brand-chips span::after {
  content: attr(data-hex);
  position: absolute;
  left: calc(var(--u, 1) * 1.8cqi);
  bottom: calc(var(--u, 1) * 1.8cqi);
  font-size: calc(var(--u, 1) * 2.8cqi);
  font-weight: 650;
}
.brand-chips .chip-ink {
  background: var(--ink);
}
.brand-chips .chip-ink::after {
  color: var(--paper);
}
.brand-chips .chip-apricot {
  background: var(--apricot);
}
.brand-chips .chip-apricot::after {
  color: var(--ink);
}
.brand-chips .chip-pink {
  background: var(--pop-pink);
}
.brand-chips .chip-pink::after {
  color: var(--ink);
}
.brand-chips .chip-paper {
  background: var(--paper);
}
.brand-chips .chip-paper::after {
  color: var(--ink);
}
@container (max-width:360px) {
  .brand-spec p:not(.aa) {
    display: none;
  }
}

.piece-grid .piece-art {
  aspect-ratio: 4/5;
  background: var(--mist);
  border-radius: 28px;
  padding: calc(var(--u, 1) * 6cqi);
}
.grid-profile {
  display: flex;
  align-items: center;
  gap: calc(var(--u, 1) * 3cqi);
  margin-bottom: calc(var(--u, 1) * 4.5cqi);
}
.grid-profile .avatar {
  width: calc(var(--u, 1) * 11cqi);
  height: calc(var(--u, 1) * 11cqi);
  border-radius: 50%;
  background: var(--pop-pink);
  border: 2px solid var(--ink);
}
.grid-profile p:first-child {
  font-size: calc(var(--u, 1) * 4.6cqi);
  font-weight: 650;
}
.grid-profile p:last-child {
  font-size: calc(var(--u, 1) * 3.4cqi);
  color: var(--muted);
}
.grid-tiles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(var(--u, 1) * 1.4cqi);
}
.grid-tiles > div {
  aspect-ratio: 1/1;
  border-radius: calc(var(--u, 1) * 2cqi);
  overflow: hidden;
  position: relative;
}
.grid-tiles span {
  position: absolute;
  left: 0;
  bottom: 0;
  padding: calc(var(--u, 1) * 2.6cqi);
  font-size: calc(var(--u, 1) * 4cqi);
  line-height: 0.95;
  font-weight: 800;
  font-stretch: 125%;
  letter-spacing: -0.03em;
}
.tile-1 {
  background: var(--pop-pink);
}
.tile-1 span {
  color: var(--ink);
}
.tile-2 {
  background: var(--ink);
}
.tile-2::after {
  content: "";
  position: absolute;
  width: 60%;
  height: 60%;
  border-radius: 50%;
  background: var(--apricot);
  inset: 20%;
}
.tile-3 {
  background: var(--apricot);
}
.tile-3 span {
  color: var(--ink);
  font-size: calc(var(--u, 1) * 3.2cqi);
  font-weight: 650;
  position: absolute;
  left: 0;
  bottom: 0;
  padding: calc(var(--u, 1) * 2.6cqi);
  font-stretch: 100%;
  letter-spacing: 0;
}
.tile-4 {
  display: flex;
}
.tile-4 .half {
  flex: 1;
  position: relative;
}
.tile-4 .half:first-child {
  background: var(--ink);
}
.tile-4 .half:first-child span {
  color: var(--paper);
  font-size: calc(var(--u, 1) * 3.2cqi);
  font-weight: 650;
  position: absolute;
  left: 8%;
  bottom: 8%;
  padding: 0;
  font-stretch: 100%;
  letter-spacing: 0;
}
.tile-4 .half:last-child {
  background: var(--pop-pink);
}
.tile-4 .half:last-child span {
  color: var(--ink);
  font-size: calc(var(--u, 1) * 3.2cqi);
  font-weight: 650;
  position: absolute;
  left: 8%;
  bottom: 8%;
  padding: 0;
  font-stretch: 100%;
  letter-spacing: 0;
}
.tile-5 {
  background: var(--orange);
}
.tile-5 span {
  color: var(--ink);
}
.tile-6 {
  background: var(--pop-blue);
}
.tile-6 .dot-ink {
  position: absolute;
  width: 40%;
  height: 40%;
  border-radius: 50%;
  background: var(--ink);
  right: 15%;
  bottom: 15%;
}
.tile-6 .dot-paper {
  position: absolute;
  width: 18%;
  height: 18%;
  border-radius: 50%;
  background: var(--paper);
  left: 18%;
  top: 18%;
}
.tile-7 {
  background: var(--paper);
  box-shadow: inset 0 0 0 2px var(--ink);
}
.tile-7 span {
  color: var(--ink);
}
.tile-8 {
  background: var(--apricot);
}
.tile-8 .dot {
  position: absolute;
  width: 55%;
  height: 55%;
  border-radius: 50%;
  background: var(--pop-pink);
  border: 2px solid var(--ink);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.tile-9 {
  background: var(--ink);
}
.tile-9 span {
  color: var(--paper);
}
@container (max-width:320px) {
  .piece-grid .piece-inner {
    --u: 1.3;
  }
  .tile-3 span,
  .tile-7 span {
    display: none;
  }
}

.piece-crm .piece-art {
  aspect-ratio: 21/8;
  background: var(--mist);
  border-radius: 28px;
  padding: calc(var(--u, 1) * 2.4cqi);
}
.crm-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: calc(var(--u, 1) * 2cqi);
}
.crm-top h3 {
  font-size: calc(var(--u, 1) * 1.8cqi);
}
.crm-top .pills {
  display: flex;
  gap: calc(var(--u, 1) * 1cqi);
}
.crm-top .pills span {
  border: 2px solid var(--rule-soft);
  border-radius: 999px;
  padding: calc(var(--u, 1) * 0.5cqi) calc(var(--u, 1) * 1.2cqi);
  font-size: calc(var(--u, 1) * 1.2cqi);
  font-weight: 500;
}
.crm-cols {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: calc(var(--u, 1) * 1.6cqi);
}
.crm-col-head {
  display: flex;
  align-items: center;
  gap: calc(var(--u, 1) * 0.6cqi);
  margin-bottom: calc(var(--u, 1) * 1.2cqi);
  font-size: calc(var(--u, 1) * 1.4cqi);
  font-weight: 650;
}
.crm-col-head .dot {
  width: calc(var(--u, 1) * 0.8cqi);
  height: calc(var(--u, 1) * 0.8cqi);
  border-radius: 50%;
}
.dot-orange {
  background: var(--orange);
}
.dot-apricot {
  background: var(--apricot);
}
.dot-pink {
  background: var(--pop-pink);
}
.dot-blue {
  background: var(--pop-blue);
}
.crm-cards {
  display: flex;
  flex-direction: column;
  gap: calc(var(--u, 1) * 1cqi);
}
.crm-card {
  background: var(--paper);
  border-radius: calc(var(--u, 1) * 1.2cqi);
  border: 2px solid var(--rule-soft);
  padding: calc(var(--u, 1) * 1.2cqi);
  position: relative;
}
.crm-card p {
  font-size: calc(var(--u, 1) * 1.3cqi);
  font-weight: 650;
}
.crm-card span {
  display: inline-block;
  margin-top: calc(var(--u, 1) * 0.8cqi);
  background: var(--mist);
  border-radius: 999px;
  padding: calc(var(--u, 1) * 0.3cqi) calc(var(--u, 1) * 0.9cqi);
  font-size: calc(var(--u, 1) * 1.05cqi);
  font-weight: 500;
}
.crm-card .crm-tick {
  margin: 0;
  padding: 0;
  position: absolute;
  top: calc(var(--u, 1) * -1cqi);
  right: calc(var(--u, 1) * -1cqi);
  width: calc(var(--u, 1) * 3cqi);
  height: calc(var(--u, 1) * 3cqi);
  border-radius: 50%;
  background: var(--orange);
  display: flex;
  align-items: center;
  justify-content: center;
}
.crm-tick::after {
  content: "";
  width: calc(var(--u, 1) * 0.8cqi);
  height: calc(var(--u, 1) * 1.5cqi);
  border-bottom: 2px solid var(--ink);
  border-right: 2px solid var(--ink);
  transform: rotate(35deg) translate(-10%, -15%);
}
@container (max-width:640px) {

  .piece-crm .piece-inner {
    --u: 2.6;
  }
  .piece-crm .piece-art {
    aspect-ratio: 4/3;

    padding: 18px;
  }
  .crm-cols {
    grid-template-columns: repeat(2, 1fr);
  }
  .crm-col:nth-child(3),
  .crm-col:nth-child(4) {
    display: none;
  }
  .crm-top .pills {
    display: none;
  }
}

:root {
  --error: #b42318;
}
[hidden] {
  display: none !important;
}
html {
  scroll-padding-top: 68px;
}
.vh {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.t-page {
  font-size: clamp(2.5rem, 1.3rem + 4.6vw, 5.5rem);
  font-weight: 800;
  font-stretch: 125%;
  line-height: 0.94;
  letter-spacing: -0.035em;
}
.t-h3-lg {
  font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.5rem);
  font-weight: 760;
  font-stretch: 115%;
  line-height: 1.05;
  letter-spacing: -0.025em;
}

.page-head {
  padding-block: 96px 64px;
}
.page-head .container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 24px;
}
.crumbs {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 48px;
}
.page-head h1 {
  grid-column: 1 / 11;
  max-width: 16ch;
}
.page-lead {
  grid-column: 1 / 8;
  margin-top: 32px;
  max-width: 40rem;
}
.page-note {
  grid-column: 1 / 8;
  margin-top: 64px;
  padding-top: 16px;
  border-top: 2px solid var(--ink);
  max-width: 40rem;
}
@media (max-width: 960px) {
  .page-head {
    padding-block: 64px 48px;
  }
  .page-head h1,
  .page-lead,
  .page-note {
    grid-column: 1 / -1;
  }
}
@media (max-width: 640px) {
  .page-head {
    padding-block: 48px;
  }
  .crumbs {
    margin-bottom: 32px;
  }
  .page-lead {
    margin-top: 24px;
  }
  .page-note {
    margin-top: 48px;
  }
}

.section-actions {
  margin-top: 40px;
}
.subhead {
  margin-top: var(--s9);
}
@media (max-width: 640px) {
  .section-actions {
    margin-top: 32px;
  }
  .subhead {
    margin-top: var(--s8);
  }
}

.rows {
  margin-top: var(--head-to-content);
}
.rows > li {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 24px;
}
.rows > li > h3 {
  grid-column: 1 / 6;
}
.rows > li > p,
.rows > li > div {
  grid-column: 6 / 13;
  max-width: 40rem;
}
@media (max-width: 960px) {
  .rows > li {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 12px;
  }
  .rows > li > h3,
  .rows > li > p,
  .rows > li > div {
    grid-column: 1;
  }
}

.sprint-steps .step-d {
  margin-top: 4px;
  max-width: 52ch;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
}
.on-paper .step-d,
.on-mist .step-d {
  color: var(--muted);
}
.on-ink .step-d {
  color: var(--on-ink-muted);
}
.sprint-steps.is-compact {
  margin-top: 24px;
}
.sprint-steps.is-compact .step-t {
  font-size: 1.0625rem;
  font-weight: 600;
  font-stretch: 100%;
  line-height: 1.45;
}

.month-list {
  margin-top: 24px;
}
.month-list li {
  border-top: 2px solid var(--ink);
  padding-block: 12px;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.45;
}
.month-list li:last-child {
  border-bottom: 2px solid var(--ink);
}
.month-list strong {
  font-weight: 650;
}

.quote {
  font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem);
  font-weight: 500;
  font-stretch: 110%;
  line-height: 1.3;
  hanging-punctuation: first;
  text-indent: -0.4em;
}
.quote cite {
  display: block;
  margin-top: 16px;
  font-size: 0.9375rem;
  font-weight: 500;
  font-style: normal;
  text-indent: 0;
}
.quote-list {
  margin-top: var(--head-to-content);
}
.quote-list .quote {
  max-width: 46rem;
}

@keyframes locate {
  from {
    border-top-color: var(--orange);
  }
}
.svc:target,
.case:target {
  animation: locate 1.2s ease;
}

.svc-list {
  margin-top: var(--head-to-content);
}
.svc {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 24px;
  border-top: 2px solid var(--ink);
  padding-block: 48px;
}
.svc:last-child {
  border-bottom: 2px solid var(--ink);
}
.svc-name {
  grid-column: 1 / 6;
}
.svc-name h3 {
  max-width: 14ch;
}
.svc-body {
  grid-column: 6 / 13;
  max-width: 44rem;
}
.ticks {
  margin-top: 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 24px;
  row-gap: 8px;
}
.ticks li {
  position: relative;
  padding-left: 24px;
  font-size: 1rem;
  line-height: 1.45;
}
.ticks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.7em;
  width: 12px;
  height: 2px;
  background: currentColor;
}
.svc-proof {
  margin-top: 24px;
  color: var(--muted);
}
@media (max-width: 960px) {
  .svc {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 16px;
  }
  .svc-name,
  .svc-body {
    grid-column: 1;
  }
}
@media (max-width: 640px) {
  .svc {
    padding-block: 32px;
  }
  .ticks {
    grid-template-columns: 1fr;
  }
}

.swipe-hint {
  display: none;
}
.price-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin-top: var(--head-to-content);
}
.price-col {
  display: flex;
  flex-direction: column;
  border-top: 2px solid var(--ink);
  padding: 24px 16px;
  transition: background-color 0.2s ease;
}
.price-col h3 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
}
.price-col .badge {
  margin-left: 0;
  vertical-align: baseline;
}
.price-col .fit {
  margin-top: 12px;
  color: var(--muted);
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.45;
}
.price-col .t-price {
  margin-top: 24px;
}
.price-col .t-price small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
}
.price-col .bar-track {
  margin-top: 24px;
}
.price-col .meta {
  margin-top: 10px;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.45;
}
.incl {
  margin-top: 24px;
  margin-bottom: 32px;
  padding-top: 16px;
  border-top: 2px solid var(--ink);
}
.incl li {
  position: relative;
  padding: 6px 0 6px 28px;
  font-size: 0.9375rem;
  line-height: 1.4;
}
.incl li::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 9px;
  width: 6px;
  height: 11px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(40deg);
}
.incl li.no {
  color: var(--muted);
}
.incl li.no::before {
  left: 0;
  top: 16px;
  width: 12px;
  height: 2px;
  border: 0;
  background: currentColor;
  transform: none;
}
.price-col .btn {
  margin-top: auto;
  width: 100%;
}
@media (min-width: 961px) {

  .price-grid {
    grid-template-rows: repeat(7, auto);
  }
  .price-col {
    display: grid;
    grid-row: span 7;
    grid-template-rows: subgrid;
    row-gap: 0;
  }
  .price-col .btn {
    align-self: end;
  }
}

.price-col.featured,
.price-col:focus-within {
  background: var(--paper);
}
.price-col.featured .bar-fill,
.price-col:focus-within .bar-fill {
  background: var(--orange);
}
.price-col.featured .btn,
.price-col:focus-within .btn {
  background: var(--orange);
  color: var(--ink);
  border-color: transparent;
}
.price-grid:has(.price-col:focus-within)
  .price-col.featured:not(:focus-within) {
  background: transparent;
}
.price-grid:has(.price-col:focus-within)
  .price-col.featured:not(:focus-within)
  .bar-fill {
  background: var(--ink);
}
.price-grid:has(.price-col:focus-within)
  .price-col.featured:not(:focus-within)
  .btn {
  background: transparent;
  color: var(--ink);
  border-color: var(--ink);
}
@media (hover: hover) and (pointer: fine) {
  .price-col:hover {
    background: var(--paper);
  }
  .price-col:hover .bar-fill {
    background: var(--orange);
  }
  .price-col:hover .btn {
    background: var(--orange);
    color: var(--ink);
    border-color: transparent;
  }
  .price-col:hover .btn:hover {
    background: var(--apricot);
    color: var(--ink);
  }
  .price-grid:has(.price-col:hover) .price-col.featured:not(:hover) {
    background: transparent;
  }
  .price-grid:has(.price-col:hover) .price-col.featured:not(:hover) .bar-fill {
    background: var(--ink);
  }
  .price-grid:has(.price-col:hover) .price-col.featured:not(:hover) .btn {
    background: transparent;
    color: var(--ink);
    border-color: var(--ink);
  }
}
.price-grid-note {
  margin-top: 32px;
  max-width: 62ch;
  color: var(--muted);
}
@media (max-width: 960px) {
  .price-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 48px;
  }
}
@media (max-width: 640px) {
  .swipe-hint {
    display: block;
    margin-top: 16px;
    color: var(--muted);
  }
  .price-grid {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 85%;
    gap: 16px;
    margin: 24px -20px 0;
    padding: 0 20px 16px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 20px;
    scrollbar-width: none;
  }
  .price-grid::-webkit-scrollbar {
    display: none;
  }
  .price-col {
    scroll-snap-align: start;
  }
}

.pf-board {
  margin-top: var(--head-to-content);
  padding: 64px 48px 56px;
  background: var(--mist);
  border-radius: 28px;
  min-height: 560px;
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  column-gap: 56px;
  row-gap: 40px;
  align-items: start;
  scroll-margin-top: 88px;
}
.pf-fallback {
  grid-column: 1 / -1;
  align-self: center;
}
.pf-main {
  position: relative;
  display: flex;
  flex-direction: column;
}
.pf-notes {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 40px 28px;
  padding-top: 8px;
}
.pf-notes > :nth-child(3n + 2) {
  --dy: 22px;
}
.pf-notes > :nth-child(3n) {
  --dy: -6px;
}

.pf-note {
  position: relative;
  box-sizing: border-box;
  border: 2px solid var(--ink);
  color: var(--ink);
  text-align: left;
  rotate: var(--r, 0deg);
  translate: 0 var(--dy, 0px);
}
.pf-pin::before {
  content: "";
  position: absolute;
  top: -11px;
  left: 50%;
  width: 18px;
  height: 18px;
  margin-left: -9px;
  border-radius: 50%;
  box-sizing: border-box;
  border: 2px solid var(--ink);
  background: var(--orange);
  z-index: 2;
}
.pf-pin-1::before {
  background: var(--ink);
}
.pf-pin-2::before {
  background: var(--pop-blue);
}
.pf-pin-3::before {
  background: var(--pop-yellow);
}
.pf-tape::before {
  content: "";
  position: absolute;
  top: -15px;
  left: 50%;
  width: 96px;
  height: 28px;
  margin-left: -48px;
  background: rgba(246, 152, 82, 0.6);
  rotate: -3deg;
  z-index: 2;
}

.pf-sticky {
  background: var(--pop-yellow);
  border-radius: 6px;
  padding-bottom: 30px !important;
}
.pf-sticky::after {
  content: "";
  position: absolute;
  right: -2px;
  bottom: -2px;
  width: 28px;
  height: 28px;
  background: linear-gradient(
    315deg,
    var(--mist) 0 50%,
    var(--ink) 50% calc(50% + 2px),
    #f2cf3a calc(50% + 2px)
  );
}
.pf-oval {
  background: var(--pop-pink);
  border-radius: 999px;
}
.pf-ticket {
  background: var(--pop-blue);
  border-radius: 16px;
  padding-left: 44px !important;
}
.pf-ticket::after {
  content: "";
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 22px;
  border-left: 2px dashed rgba(28, 19, 37, 0.45);
}
.pf-tag {
  background: var(--apricot);
  border-radius: 14px 22px 22px 14px;
  padding-left: 40px !important;
}
.pf-tag::after {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  width: 12px;
  height: 12px;
  margin-top: -6px;
  border-radius: 50%;
  box-sizing: border-box;
  border: 2px solid var(--ink);
  background: var(--mist);
}
.pf-card {
  background: var(--paper);
  border-radius: 18px;
}
.pf-plan {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
  border-radius: 28px;
}
.pf-ghost {
  background: transparent;
  border: 2px dashed rgba(28, 19, 37, 0.45);
  color: var(--muted);
  border-radius: 14px;
  padding: 14px 18px;
  font-size: 0.9375rem;
  line-height: 1.45;
  flex-basis: 100%;
  max-width: 520px;
}

.pf-q,
.pf-plan {
  padding: 44px 36px 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.pf-lbl {
  font-size: 0.8125rem;
  font-weight: 650;
  font-stretch: 110%;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--orange-text);
}
.pf-plan .pf-lbl {
  color: var(--apricot);
}
.pf-q-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.pf-q-title {
  font-size: clamp(1.875rem, 1.3rem + 1.6vw, 2.5rem);
  font-weight: 800;
  font-stretch: 125%;
  line-height: 0.98;
  letter-spacing: -0.035em;
  font-family: var(--font-display);
}
.pf-q-title:focus {
  outline: none;
}
.pf-hint {
  font-size: 1.0625rem;
  line-height: 1.6;
}
.pf-dots {
  display: flex;
  gap: 8px;
}
.pf-dots span {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid var(--ink);
  box-sizing: border-box;
}
.pf-dots .on {
  background: var(--ink);
}
.pf-dots .now {
  background: var(--orange);
}
.pf-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.pf-q .btn-primary {
  align-self: flex-start;
}
.pf-textbtn {
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.18em;
  padding: 12px 4px;
  cursor: pointer;
}
.pf-plan-name {
  font-size: clamp(3rem, 2rem + 2.5vw, 4rem);
  font-weight: 800;
  font-stretch: 125%;
  line-height: 0.9;
  letter-spacing: -0.04em;
  font-family: var(--font-display);
  overflow-wrap: anywhere;
}
.pf-plan-name:focus {
  outline: none;
}
.pf-price {
  font-size: 1.875rem;
  font-weight: 800;
  font-stretch: 122%;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums lining-nums;
  font-family: var(--font-display);
}
.pf-price small {
  font-family: var(--font);
  font-size: 1rem;
  font-weight: 500;
  font-stretch: 100%;
  letter-spacing: 0;
}
.pf-meta {
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--on-ink-muted);
}
.pf-plan .pf-row .btn {
  flex: 1 1 auto;
}
.pf-plan.pf-tape::before {
  left: 28%;
}
.pf-flag {
  position: absolute;
  right: -12px;
  top: -20px;
  padding: 10px 16px;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.25;
  z-index: 3;
}

.pf-opt {
  width: min(100%, 250px);
  min-height: 150px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  cursor: pointer;
  transition:
    scale 0.12s var(--ease-out),
    rotate 0.2s ease,
    translate 0.2s ease;
}
.pf-opt strong {
  font-size: 1.5rem;
  font-weight: 760;
  font-stretch: 115%;
  line-height: 1.05;
  letter-spacing: -0.02em;
}
.pf-sub {
  font-size: 0.9375rem;
  line-height: 1.45;
}
.pf-opt.pf-oval {
  width: min(100%, 270px);
  padding: 28px 40px;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.pf-opt:active {
  scale: 0.97;
}
.pf-stamp {
  position: absolute;
  right: -14px;
  top: -14px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--ink);
  display: grid;
  place-items: center;
  z-index: 3;
  animation: pf-stamp 0.16s var(--ease-out);
}
.pf-stamp::after {
  content: "";
  width: 9px;
  height: 16px;
  border-right: 3px solid var(--paper);
  border-bottom: 3px solid var(--paper);
  rotate: 40deg;
  translate: -1px -2px;
}
.pf-teaser {
  width: 200px;
  min-height: 150px;
  padding: 28px 22px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  justify-content: center;
}
.pf-teaser.pf-oval {
  align-items: center;
  text-align: center;
}
.pf-teaser strong {
  font-size: 1.875rem;
  font-weight: 800;
  font-stretch: 122%;
  letter-spacing: -0.03em;
  font-family: var(--font-display);
}
.pf-feat {
  width: 172px;
  min-height: 112px;
  padding: 22px 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
}
.pf-feat b {
  font-size: 1.0625rem;
  font-weight: 700;
  font-stretch: 100%;
  line-height: 1.12;
  letter-spacing: -0.015em;
  hyphens: manual;
}
.pf-feat.pf-ticket b {
  font-stretch: 100%;
}
.pf-feat.pf-oval {
  width: 184px;
  padding: 20px 26px;
  align-items: center;
  text-align: center;
}

.pf-feat.pf-ticket,
.pf-feat.pf-tag {
  padding-left: 34px !important;
  padding-right: 16px;
}
.pf-feat.pf-ticket::after {
  left: 16px;
}
.pf-feat.pf-tag::after {
  left: 11px;
}
.pf-why {
  font-size: 0.875rem;
  line-height: 1.4;
}

.pf-in {
  animation: pf-in 0.24s var(--ease-out) backwards;
  animation-delay: calc((var(--i, 0) - 1) * 40ms);
}
@keyframes pf-in {
  from {
    opacity: 0;
    translate: 0 calc(var(--dy, 0px) + 8px);
  }
}

.pf-q .pf-lbl,
.pf-q .pf-q-title,
.pf-q .pf-hint,
.pf-opt strong,
.pf-opt .pf-sub {
  transition:
    opacity 0.14s var(--ease-out),
    translate 0.14s var(--ease-out);
}
.pf-fading .pf-q .pf-lbl,
.pf-fading .pf-q .pf-q-title,
.pf-fading .pf-q .pf-hint,
.pf-fading .pf-opt strong,
.pf-fading .pf-opt .pf-sub {
  opacity: 0;
  translate: 0 4px;
}
@media (prefers-reduced-motion: reduce) {
  .pf-q .pf-lbl,
  .pf-q .pf-q-title,
  .pf-q .pf-hint,
  .pf-opt strong,
  .pf-opt .pf-sub {
    transition: none;
  }
}

.pf-out > * {
  animation: pf-out 0.12s var(--ease-out) forwards;
  pointer-events: none;
}
@keyframes pf-out {
  to {
    opacity: 0;
    translate: 0 calc(var(--dy, 0px) - 6px);
  }
}
@keyframes pf-stamp {
  from {
    opacity: 0;
    scale: 0.8;
  }
}
@keyframes pf-fade {
  from {
    opacity: 0;
  }
}

.pf-feat b {
  overflow-wrap: normal;
}
.pf-price small {
  white-space: nowrap;
}

.pf-ping {
  position: absolute;
  top: -11px;
  left: 50%;
  width: 18px;
  height: 18px;
  margin-left: -9px;
  border: 2px solid var(--orange);
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  z-index: 1;
}
.pf-opt[aria-pressed="true"] .pf-ping {
  display: none;
}
@keyframes pf-ping {
  0% {
    opacity: 0.7;
    scale: 1;
  }
  50%,
  100% {
    opacity: 0;
    scale: 2.2;
  }
}
.pf-go {
  position: relative;
}
.pf-go::after {
  content: "";
  position: absolute;
  inset: -4px;
  border: 2px solid var(--orange);
  border-radius: 999px;
  opacity: 0;
  pointer-events: none;
}
@keyframes pf-ring {
  0% {
    opacity: 0.6;
    scale: 1;
  }
  70%,
  100% {
    opacity: 0;
    scale: 1.06;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .pf-ping {
    animation: pf-ping 2.6s var(--ease-out) var(--d, 0s) infinite;
  }
  .pf-go::after {
    animation: pf-ring 1.8s var(--ease-out) 1s 3;
  }
}

.pf-board {
  position: relative;
}
.pf-cue-svg {
  position: absolute;
  left: 0;
  top: 0;
  overflow: visible;
  pointer-events: none;
}
.pf-cue-line,
.pf-cue-head {
  fill: none;
  stroke: var(--ink);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.pf-cue-line {
  transition: stroke-dashoffset 0.7s var(--ease-out) 0.35s;
}
.pf-cue-head {
  opacity: 0;
  transition: opacity 0.15s ease 1s;
}
.pf-cue-svg.on .pf-cue-head {
  opacity: 1;
}
@keyframes pf-nudge {
  40% {
    translate: 0 -6px;
  }
}
.pf-nudge {
  animation: pf-nudge 0.38s var(--ease-out);
}
@media (max-width: 960px) {
  .pf-cue .pf-notes {
    margin-top: 36px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .pf-cue-line,
  .pf-cue-head {
    transition: none;
  }
  .pf-nudge {
    animation: none;
  }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .pf-opt:hover {
    rotate: 0deg;
    translate: 0 calc(var(--dy, 0px) - 3px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .pf-in {
    animation-name: pf-fade;
  }
  .pf-stamp {
    animation-name: pf-fade;
  }
  .pf-opt {
    transition: none;
  }
  .pf-opt:active {
    scale: none;
  }
}

@media (max-width: 960px) {
  .pf-board {
    grid-template-columns: minmax(0, 1fr);
    padding: 56px 32px 40px;
    min-height: 0;
  }
  .pf-main {
    max-width: 560px;
  }
}
@media (max-width: 640px) {
  .pf-board {
    padding: 40px 16px 28px;
    border-radius: 24px;
    row-gap: 32px;
  }
  .pf-note {
    rotate: calc(var(--r, 0deg) * 0.5);
  }
  .pf-notes > :nth-child(n) {
    --dy: 0px;
  }
  .pf-q,
  .pf-plan {
    padding: 32px 20px 22px;
    gap: 12px;
  }
  .pf-notes {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }
  .pf-opt,
  .pf-opt.pf-oval {
    width: auto;
    min-height: 0;
    padding: 20px 22px;
  }
  .pf-opt strong {
    font-size: 1.3125rem;
  }
  .pf-notes > .pf-opt:nth-child(odd) {
    margin-right: 16px;
  }
  .pf-notes > .pf-opt:nth-child(even) {
    margin-left: 16px;
  }
  .pf-teasers,
  .pf-feats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px 14px;
  }
  .pf-teaser,
  .pf-feat,
  .pf-feat.pf-oval {
    width: auto;
    min-height: 96px;
    padding: 18px 14px;
  }
  .pf-teaser strong {
    font-size: 1.5rem;
  }
  .pf-feat b {
    font-size: 1rem;
    font-stretch: 92%;
  }
  .pf-ticket {
    padding-left: 34px !important;
  }
  .pf-ticket::after {
    left: 15px;
  }
  .pf-feat.pf-ticket,
  .pf-feat.pf-tag {
    padding-left: 30px !important;
  }
  .pf-feat.pf-ticket::after {
    left: 14px;
  }
  .pf-ghost {
    grid-column: 1 / -1;
  }
  .pf-flag {
    position: relative;
    right: auto;
    top: auto;
    align-self: flex-end;
    margin-top: -14px;
  }
}
@media (max-width: 380px) {
  .pf-feat.pf-ticket {
    padding: 18px 10px 18px 22px !important;
  }
  .pf-feat.pf-ticket::after {
    left: 9px;
  }
  .pf-feat.pf-tag {
    padding-left: 30px !important;
  }

  .pf-feat b,
  .pf-feat.pf-ticket b {
    font-size: 0.9375rem;
    font-stretch: 85%;
  }
  .pf-feat.pf-ticket b {
    font-size: 0.875rem;
    font-stretch: 75%;
  }
}

.case {
  border-top: 2px solid var(--ink);
  padding-top: 48px;
}
.case + .case {
  margin-top: var(--s9);
}
.case-head,
.case-rows > div,
.case-foot {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 24px;
}
.case-head {
  align-items: end;
}
.case-title {
  grid-column: 1 / 8;
}
.case-title .t-lead {
  margin-top: 16px;
  color: var(--muted);
  max-width: 32rem;
}
.case-stat {
  grid-column: 8 / 13;
}
.case-stat .t-stat {
  color: var(--orange);
}
.case-stat .t-h3 {
  margin-top: 8px;
}
.case-rows {
  margin-top: var(--s8);
}
.case-rows > div {
  padding-block: 12px;
}
.case-rows dt {
  grid-column: 1 / 4;
  padding-top: 0.15em;
}
.case-rows dd {
  grid-column: 4 / 11;
  max-width: 62ch;
}
.case-foot {
  margin-top: var(--s7);
}
.case-foot > * {
  grid-column: 4 / 11;
}
.case-foot > * + * {
  margin-top: 24px;
}
.case-services {
  color: var(--muted);
}
@media (max-width: 960px) {
  .case-head,
  .case-rows > div,
  .case-foot {
    grid-template-columns: minmax(0, 1fr);
  }
  .case-title,
  .case-stat,
  .case-rows dt,
  .case-rows dd,
  .case-foot > * {
    grid-column: 1;
  }
  .case-stat {
    margin-top: 32px;
  }
  .case-rows dd {
    margin-top: 4px;
  }
}
@media (max-width: 640px) {
  .case {
    padding-top: 32px;
  }
  .case + .case {
    margin-top: var(--s8);
  }
  .case-rows {
    margin-top: 40px;
  }
}

.bio {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 24px;
  align-items: start;
}
.bio-photo {
  grid-column: 1 / 6;
  aspect-ratio: 4/5;
  border-radius: 28px;
  overflow: hidden;
}
.bio-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bio-text {
  grid-column: 7 / 13;
}
.bio-text .t-h2 {
  max-width: 14ch;
}
.bio-text .t-lead {
  margin-top: 24px;
}
.bio-text .t-lead + p {
  margin-top: 16px;
  color: var(--on-ink-muted);
  max-width: 62ch;
}
.bio-facts {
  margin-top: 48px;
}
.bio-facts li {
  display: flex;
  align-items: baseline;
  gap: 24px;
  border-top: 2px solid var(--paper);
  padding-block: 24px;
}
.bio-facts li:last-child {
  border-bottom: 2px solid var(--paper);
}
.bio-facts .t-price {
  min-width: 4.2ch;
  flex: none;
}
.bio-facts li p:last-child {
  color: var(--on-ink-muted);
}
.bio .btn-row {
  margin-top: 48px;
}
@media (max-width: 960px) {
  .bio-photo {
    grid-column: 1 / -1;
    max-width: 420px;
  }
  .bio-text {
    grid-column: 1 / -1;
    margin-top: 48px;
  }
}

.contact-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 24px;
  margin-top: var(--head-to-content);
  align-items: start;
}
.contact-main {
  grid-column: 1 / 8;
}
.contact-aside {
  grid-column: 9 / 13;
}
@media (min-width: 961px) {
  .contact-aside {
    position: sticky;
    top: 100px;
  }
}
.aside-head {
  margin-top: 48px;
}
.contact-list {
  margin-top: 24px;
}
.contact-list > div + div {
  margin-top: 16px;
}
.contact-list dt {
  font-size: 0.9375rem;
  font-weight: 650;
  font-stretch: 105%;
}
.contact-list dd {
  margin-top: 2px;
}
.contact-list > div {
  position: relative;
  min-height: 44px;
  padding-left: 58px;
}
.contact-list .ci {
  position: absolute;
  left: 0;
  top: 0;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1.5px solid var(--ink);
  border-radius: 999px;
  color: var(--ink);
  transition: background-color 0.2s ease;
}
.contact-list .ci svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.contact-list .ci .ci-dot {
  fill: currentColor;
  stroke: none;
}
@media (hover: hover) and (pointer: fine) {
  .contact-list > div:has(a:hover) .ci {
    background: var(--orange);
  }
}
.contact-list > div:has(a:focus-visible) .ci {
  background: var(--orange);
}
.form {
  display: grid;
  gap: 24px;
}
.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.form label {
  display: block;
  margin-bottom: 8px;
  font-size: 1rem;
  font-weight: 650;
  font-stretch: 105%;
  line-height: 1.25;
}
.form .optional {
  font-weight: 400;
  font-stretch: 100%;
  color: var(--muted);
}
.field-hint {
  margin: -4px 0 8px;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--muted);
}
.form input,
.form select,
.form textarea {
  display: block;
  width: 100%;
  min-height: 52px;
  padding: 12px 16px;
  font: inherit;
  font-size: 1rem;
  line-height: 1.4;
  color: var(--ink);
  background: var(--paper);
  border: 1.5px solid var(--ink);
  border-radius: 14px;
  transition: border-color 0.2s ease;
}
.form select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 44px;
  cursor: pointer;
  background: var(--paper)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231c1325' stroke-width='2'/%3E%3C/svg%3E")
    no-repeat right 18px center;
}
.form textarea {
  min-height: 160px;
  resize: vertical;
}
.form input:user-invalid,
.form select:user-invalid,
.form textarea:user-invalid {
  border-color: var(--error);
}
.form [aria-invalid="true"] {
  border-color: var(--error);
}
.field-error {
  margin-top: 8px;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--error);
}
.form > .btn {
  justify-self: start;
}
.form .btn[disabled] {
  opacity: 0.7;
  cursor: progress;
}
#form-msg {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--muted);
}
#form-msg[data-state="error"] {
  color: var(--error);
}
#form-msg a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
.form-success {
  border-top: 2px solid var(--ink);
  border-bottom: 2px solid var(--ink);
  padding-block: 32px;
}
.form-success:focus {
  outline: none;
}
.form-success p {
  margin-top: 12px;
  max-width: 52ch;
  color: var(--muted);
}
@media (prefers-reduced-motion: no-preference) {
  .form-success {
    animation: faq-fade 0.2s var(--ease-out);
  }
}
@media (max-width: 960px) {
  .contact-main,
  .contact-aside {
    grid-column: 1 / -1;
  }
  .contact-aside {
    margin-top: var(--s8);
  }
}
@media (max-width: 640px) {
  .form-row {
    grid-template-columns: 1fr;
  }
  .form > .btn {
    justify-self: stretch;
  }
}

.form-consent {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--muted);
  max-width: 52ch;
}
.form-consent a {
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
.legal {
  max-width: 68ch;
}
.legal h2 {
  font-size: clamp(1.375rem, 1.2rem + 0.6vw, 1.75rem);
  font-weight: 700;
  font-stretch: 110%;
  line-height: 1.15;
  letter-spacing: -0.015em;
  margin-top: var(--s7);
}
.legal h2:first-child {
  margin-top: 0;
}
.legal p,
.legal ul {
  margin-top: var(--s4);
}
.legal ul {
  list-style: disc;
  padding-left: 1.25em;
}
.legal li + li {
  margin-top: var(--s2);
}
.legal a {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
.legal .todo,
.case .todo {
  background: var(--pop-yellow);
  padding: 0 4px;
}
.footer-legal a {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.skip-link {
  position: absolute;
  left: 16px;
  top: -100px;
  z-index: 200;
  background: var(--ink);
  color: var(--paper);
  padding: 12px 20px;
  border-radius: 999px;
  font-weight: 650;
}
.skip-link:focus {
  top: 12px;
}
main:focus {
  outline: none;
}
.page-head .btn-row {
  grid-column: 1 / -1;
}

.story-step .link,
.ledger-link,
.client-line .link,
.crumbs .link {
  position: relative;
}
.story-step .link::after,
.ledger-link::after,
.client-line .link::after,
.crumbs .link::after {
  content: "";
  position: absolute;
  inset: -10px -6px;
}

.founder-photo picture,
.bio-photo picture {
  display: block;
  width: 100%;
  height: 100%;
}
