.marketing-home {
  --ps-paper: #f7f7f5;
  --ps-white: #ffffff;
  --ps-ink: #101010;
  --ps-muted: #676763;
  --ps-line: #ddddda;
  --ps-soft: #eeeae6;
  --ps-coral: #ff4f40;
  margin: 0;
  color: var(--ps-ink);
  background: var(--ps-paper);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.marketing-home *,
.marketing-home *::before,
.marketing-home *::after {
  box-sizing: border-box;
}

.marketing-home a {
  color: inherit;
  text-decoration: none;
}

.marketing-home a:focus-visible,
.marketing-home button:focus-visible,
.marketing-home input:focus-visible,
.marketing-home textarea:focus-visible {
  outline: 3px solid rgba(255, 79, 64, 0.34);
  outline-offset: 3px;
}

.marketing-shell {
  width: min(100% - 48px, 1320px);
  margin-inline: auto;
}

.marketing-header {
  position: relative;
  z-index: 20;
}

.marketing-header__inner {
  display: flex;
  width: min(100% - 48px, 1400px);
  min-height: 82px;
  margin-inline: auto;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  border-bottom: 1px solid var(--ps-line);
}

.marketing-brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  flex: 0 0 auto;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.03em;
}

.marketing-brand__mark {
  display: block;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
}

.marketing-header nav {
  display: flex;
  align-items: center;
  gap: clamp(20px, 3vw, 42px);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.marketing-header nav a,
.marketing-login {
  transition: opacity 160ms ease;
}

.marketing-header nav a:hover,
.marketing-login:hover {
  opacity: 0.55;
}

.marketing-header__actions {
  display: flex;
  align-items: center;
  gap: 22px;
  font-size: 14px;
  font-weight: 500;
}

.marketing-button {
  display: inline-flex;
  min-height: 52px;
  padding: 0 25px;
  align-items: center;
  justify-content: center;
  gap: 20px;
  border: 1px solid var(--ps-line);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.015em;
  transition:
    transform 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease;
}

.marketing-button:hover {
  transform: translateY(-2px);
}

.marketing-button--dark {
  border-color: var(--ps-ink);
  color: white !important;
  background: var(--ps-ink);
}

.marketing-button--dark span {
  color: var(--ps-coral);
}

.marketing-button--dark:hover {
  background: #292927;
}

.marketing-button--light {
  color: var(--ps-ink);
  background: var(--ps-white);
}

.marketing-button--small {
  min-height: 44px;
  padding-inline: 22px;
}

.marketing-label {
  color: #858580;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.ps-hero {
  display: flex;
  width: min(100% - 48px, 1220px);
  min-height: 710px;
  margin-inline: auto;
  padding: 105px 0 60px;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.ps-status {
  display: inline-flex;
  padding: 8px 13px;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--ps-line);
  border-radius: 999px;
  color: #555551;
  background: rgba(255, 255, 255, 0.72);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.ps-status > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ps-coral);
  box-shadow: 0 0 0 4px rgba(255, 79, 64, 0.14);
}

.ps-hero h1 {
  max-width: 1080px;
  margin: 34px 0 25px;
  font-size: clamp(66px, 7.2vw, 108px);
  font-weight: 560;
  line-height: 0.94;
  letter-spacing: -0.065em;
}

.ps-hero h1 em {
  position: relative;
  font: italic 0.98em/0.9 Georgia, serif;
  letter-spacing: -0.05em;
}

.ps-hero h1 em::after {
  position: absolute;
  right: 0;
  bottom: -5px;
  left: 4%;
  height: 5px;
  border-radius: 99px;
  background: var(--ps-coral);
  content: "";
  transform: rotate(-1deg);
}

.ps-hero__copy {
  max-width: 690px;
  margin: 0;
  color: var(--ps-muted);
  font-size: 17px;
  line-height: 1.65;
}

.ps-hero__actions {
  display: flex;
  margin-top: 34px;
  align-items: center;
  gap: 12px;
}

.ps-providers {
  display: flex;
  margin-top: 28px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  flex-wrap: wrap;
  color: #627269;
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.ps-providers__status {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ps-coral);
  box-shadow: 0 0 0 5px rgba(255, 79, 64, 0.12);
}

.ps-providers strong {
  margin-right: 4px;
  font-weight: 700;
}

.ps-providers > span:not(.ps-providers__status) {
  padding: 7px 10px;
  border: 1px solid var(--ps-line);
  border-radius: 999px;
  color: var(--ps-ink);
  background: rgba(255, 255, 255, 0.65);
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.ps-product-section {
  padding: 0 28px 92px;
}

.ps-workspace {
  width: min(100%, 1320px);
  margin-inline: auto;
  overflow: hidden;
  border: 1px solid #d6d6d2;
  border-radius: 22px;
  background: var(--ps-white);
  box-shadow: 0 30px 90px rgba(22, 22, 18, 0.09);
}

.ps-workspace__header {
  display: flex;
  min-height: 68px;
  padding: 0 24px;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--ps-line);
}

.ps-workspace__header > div {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
}

.ps-workspace__header > span {
  color: #8a8a85;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.ps-workspace__mark {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 8px;
  color: white;
  background: var(--ps-ink);
  font-size: 12px;
}

.ps-metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid var(--ps-line);
}

.ps-metrics article {
  display: grid;
  min-height: 130px;
  padding: 24px;
  grid-template-columns: 1fr auto;
  align-content: space-between;
  border-right: 1px solid var(--ps-line);
}

.ps-metrics article:last-child {
  border-right: 0;
}

.ps-metrics span {
  grid-column: 1 / -1;
  color: var(--ps-muted);
  font-size: 10px;
  font-weight: 600;
}

.ps-metrics strong {
  align-self: end;
  font-size: 35px;
  font-weight: 560;
  letter-spacing: -0.05em;
}

.ps-metrics em {
  align-self: end;
  color: #9a4b43;
  font-size: 9px;
  font-style: normal;
  font-weight: 700;
}

.ps-workspace__body {
  display: grid;
  min-height: 455px;
  grid-template-columns: 1.35fr 0.65fr;
}

.ps-chart,
.ps-findings {
  padding: 28px;
}

.ps-chart {
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--ps-line);
}

.ps-panel-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.ps-panel-heading > div {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.ps-panel-heading span {
  color: #858580;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.ps-panel-heading strong {
  font-size: 14px;
}

.ps-panel-heading > span {
  padding: 7px 10px;
  border: 1px solid var(--ps-line);
  border-radius: 999px;
}

.ps-panel-heading b {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  color: white;
  background: var(--ps-coral);
  font-size: 10px;
}

.ps-chart__bars {
  display: flex;
  height: 285px;
  margin-top: 35px;
  padding: 0 10px;
  align-items: flex-end;
  justify-content: space-around;
  gap: 12px;
  background: repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent 70px,
    #ededeb 71px,
    #ededeb 72px
  );
}

.ps-chart__bars i {
  width: min(38px, 8%);
  min-height: 18px;
  border-radius: 7px 7px 2px 2px;
  background: #d8d7d3;
}

.ps-chart__bars i:nth-last-child(-n + 3) {
  background: var(--ps-coral);
}

.ps-chart__axis {
  display: flex;
  margin-top: 10px;
  justify-content: space-between;
  color: #989894;
  font-size: 9px;
}

.ps-findings {
  background: #fbfbfa;
}

.ps-findings article {
  padding: 26px 0;
  border-bottom: 1px solid var(--ps-line);
}

.ps-findings article > span {
  color: #9a4b43;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.ps-findings h2 {
  margin: 10px 0;
  font-size: 20px;
  font-weight: 560;
  line-height: 1.25;
  letter-spacing: -0.025em;
}

.ps-findings p {
  margin: 0 0 15px;
  color: var(--ps-muted);
  font-size: 11px;
  line-height: 1.55;
}

.ps-findings a {
  font-size: 12px;
  font-weight: 600;
}

.ps-product-caption {
  margin: 22px auto 0;
  color: #898985;
  font-size: 10px;
  text-align: center;
}

.ps-thesis {
  padding: 125px 28px;
  color: white;
  background: var(--ps-ink);
  text-align: center;
}

.ps-thesis p {
  max-width: 1100px;
  margin: 0 auto;
  font-size: clamp(55px, 6.5vw, 94px);
  font-weight: 540;
  line-height: 1.02;
  letter-spacing: -0.06em;
}

.ps-thesis em {
  color: var(--ps-coral);
  font: italic 1.03em/1 Georgia, serif;
}

.ps-method {
  padding-block: 120px;
}

.ps-section-heading {
  display: grid;
  grid-template-columns: 0.6fr 1.5fr 0.8fr;
  align-items: start;
  gap: 50px;
}

.ps-section-heading h2,
.ps-evidence__copy h2 {
  margin: 0;
  font-size: clamp(42px, 4.7vw, 70px);
  font-weight: 560;
  line-height: 1;
  letter-spacing: -0.055em;
}

.ps-section-heading p,
.ps-evidence__copy p {
  margin: 0;
  color: var(--ps-muted);
  font-size: 13px;
  line-height: 1.7;
}

.ps-method__grid {
  display: grid;
  margin-top: 90px;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--ps-line);
  border-bottom: 1px solid var(--ps-line);
}

.ps-method__grid article {
  display: flex;
  min-height: 390px;
  padding: 28px;
  flex-direction: column;
  border-right: 1px solid var(--ps-line);
}

.ps-method__grid article:last-child {
  border-right: 0;
}

.ps-method__grid article > span {
  color: var(--ps-coral);
  font-size: 10px;
  font-weight: 700;
}

.ps-method__grid h3 {
  margin: 75px 0 16px;
  font-size: 43px;
  font-weight: 560;
  letter-spacing: -0.05em;
}

.ps-method__grid p {
  max-width: 310px;
  margin: 0;
  color: var(--ps-muted);
  font-size: 13px;
  line-height: 1.7;
}

.ps-method__grid strong {
  display: flex;
  margin-top: auto;
  align-items: center;
  justify-content: space-between;
  color: #40403d;
  font-size: 12px;
  font-weight: 600;
}

.ps-method__grid strong i {
  color: var(--ps-coral);
  font-size: 17px;
  font-style: normal;
}

.ps-evidence {
  padding-block: 120px;
  background: var(--ps-soft);
}

.ps-evidence__grid {
  display: grid;
  grid-template-columns: 0.72fr 1.28fr;
  align-items: center;
  gap: 110px;
}

.ps-evidence__copy h2 {
  margin: 20px 0 25px;
}

.ps-evidence__copy p {
  max-width: 480px;
}

.ps-evidence__copy a {
  display: inline-block;
  margin-top: 32px;
  padding-bottom: 5px;
  border-bottom: 1px solid var(--ps-ink);
  font-size: 13px;
  font-weight: 600;
}

.ps-answer-card {
  padding: 36px;
  border: 1px solid #d5d0ca;
  border-radius: 18px;
  background: var(--ps-white);
  box-shadow: 0 24px 60px rgba(25, 22, 18, 0.07);
}

.ps-answer-card header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #88847f;
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ps-answer-card header strong {
  color: var(--ps-ink);
}

.ps-answer-card blockquote {
  margin: 70px 0;
  font: 400 clamp(25px, 2.6vw, 39px)/1.45 Georgia, serif;
}

.ps-answer-card mark {
  padding: 0 3px;
  background: #ffd3ce;
}

.ps-answer-card > div {
  display: grid;
  padding-top: 20px;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--ps-line);
}

.ps-answer-card > div span {
  display: flex;
  flex-direction: column;
  gap: 7px;
  color: #8b8b86;
  font-size: 9px;
}

.ps-answer-card > div strong {
  color: var(--ps-ink);
  font-size: 12px;
}

.ps-demo {
  padding-block: 120px;
  color: white;
  background: var(--ps-coral);
}

.ps-demo__grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  align-items: start;
  gap: 110px;
}

.ps-demo .marketing-label {
  color: rgba(255, 255, 255, 0.72);
}

.ps-demo__copy h2 {
  margin: 30px 0 24px;
  font-size: clamp(58px, 6vw, 90px);
  font-weight: 560;
  line-height: 0.9;
  letter-spacing: -0.065em;
}

.ps-demo__copy h2 em {
  font: italic 0.98em/0.9 Georgia, serif;
}

.ps-demo__copy p {
  max-width: 480px;
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 14px;
  line-height: 1.7;
}

.ps-demo__form {
  padding: 38px;
  border: 1px solid rgba(255, 255, 255, 0.36);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.1);
}

.ps-form__errors {
  margin: 0 0 24px;
  padding: 12px 14px;
  border-radius: 8px;
  color: #5f100a;
  background: rgba(255, 255, 255, 0.5);
  font-size: 13px;
  font-weight: 600;
}

.ps-form__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px 22px;
}

.ps-form__grid > div:last-child {
  grid-column: 1 / -1;
}

.ps-form label {
  display: block;
  margin-bottom: 8px;
  color: rgba(255, 255, 255, 0.74);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ps-form input:not([type="submit"]),
.ps-form textarea {
  width: 100%;
  padding: 12px 0;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 0;
  color: white;
  background: transparent;
  font: 400 16px/1.4 "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.ps-form input::placeholder,
.ps-form textarea::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.ps-form input:not([type="submit"]):focus,
.ps-form textarea:focus {
  outline: 0;
  border-bottom-color: white;
  box-shadow: none;
}

.ps-form .has-error {
  border-bottom-color: #64130e !important;
}

.ps-form textarea {
  min-height: 76px;
  resize: vertical;
}

.ps-form__actions {
  display: flex;
  margin-top: 34px;
  align-items: center;
  gap: 20px;
}

.ps-form__actions input[type="submit"] {
  min-height: 54px;
  padding: 0 27px;
  border: 0;
  border-radius: 999px;
  color: white;
  background: var(--ps-ink);
  font: 600 14px/1 "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.015em;
  cursor: pointer;
  transition: transform 180ms ease, background-color 180ms ease;
}

.ps-form__actions input[type="submit"]:hover {
  background: #292927;
  transform: translateY(-2px);
}

.ps-form__actions span {
  color: rgba(255, 255, 255, 0.7);
  font-size: 11px;
}

.ps-demo__confirmation {
  min-height: 280px;
}

.ps-demo__confirmation h3 {
  margin: 42px 0 18px;
  font-size: 42px;
  font-weight: 560;
  letter-spacing: -0.04em;
}

.ps-demo__confirmation p {
  max-width: 480px;
  margin: 0;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.7;
}

.marketing-footer {
  padding: 80px 0 30px;
  background: var(--ps-paper);
}

.marketing-footer__grid {
  display: grid;
  grid-template-columns: 1.5fr 0.5fr 0.5fr;
  gap: 80px;
}

.marketing-footer__grid > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 13px;
}

.marketing-footer__grid p {
  max-width: 350px;
  margin: 10px 0 0;
  color: var(--ps-muted);
  font-size: 13px;
  line-height: 1.6;
}

.marketing-footer__grid > div:not(:first-child) a {
  color: #464643;
  font-size: 13px;
}

.marketing-footer__grid > div:not(:first-child) a:hover {
  color: var(--ps-coral);
}

.marketing-footer__legal {
  display: flex;
  margin-top: 70px;
  padding-top: 24px;
  justify-content: space-between;
  border-top: 1px solid var(--ps-line);
  color: #8b8b86;
  font-size: 10px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

@media (max-width: 1050px) {
  .marketing-header nav {
    display: none;
  }

  .ps-workspace__body,
  .ps-evidence__grid,
  .ps-demo__grid {
    grid-template-columns: 1fr;
  }

  .ps-chart {
    border-right: 0;
    border-bottom: 1px solid var(--ps-line);
  }

  .ps-section-heading {
    grid-template-columns: 0.5fr 1.5fr;
  }

  .ps-section-heading p {
    grid-column: 2;
  }

  .ps-evidence__grid,
  .ps-demo__grid {
    max-width: 780px;
  }
}

@media (max-width: 720px) {
  .marketing-shell,
  .marketing-header__inner,
  .ps-hero {
    width: min(100% - 32px, 1320px);
  }

  .marketing-header__inner {
    min-height: 70px;
  }

  .marketing-login {
    display: none;
  }

  .marketing-button--small {
    min-height: 42px;
    padding-inline: 18px;
    font-size: 13px;
  }

  .ps-hero {
    min-height: auto;
    padding: 80px 0 76px;
  }

  .ps-hero h1 {
    font-size: clamp(53px, 15.5vw, 76px);
  }

  .ps-hero__actions {
    width: 100%;
    flex-direction: column;
  }

  .ps-hero__actions .marketing-button {
    width: 100%;
  }

  .ps-providers {
    margin-top: 24px;
  }

  .ps-providers strong {
    width: calc(100% - 25px);
  }

  .ps-product-section {
    padding: 0 12px 72px;
  }

  .ps-workspace__header > span {
    display: none;
  }

  .ps-metrics {
    grid-template-columns: repeat(2, 1fr);
  }

  .ps-metrics article:nth-child(2) {
    border-right: 0;
  }

  .ps-metrics article:nth-child(-n + 2) {
    border-bottom: 1px solid var(--ps-line);
  }

  .ps-chart__bars {
    height: 220px;
    gap: 6px;
  }

  .ps-thesis {
    padding-block: 90px;
  }

  .ps-thesis p {
    font-size: 49px;
  }

  .ps-method,
  .ps-evidence,
  .ps-demo {
    padding-block: 85px;
  }

  .ps-section-heading,
  .ps-method__grid,
  .ps-form__grid,
  .marketing-footer__grid {
    grid-template-columns: 1fr;
  }

  .ps-section-heading {
    gap: 25px;
  }

  .ps-section-heading p {
    grid-column: auto;
  }

  .ps-method__grid {
    margin-top: 60px;
  }

  .ps-method__grid article {
    min-height: 300px;
    border-right: 0;
    border-bottom: 1px solid var(--ps-line);
  }

  .ps-method__grid h3 {
    margin-top: 50px;
  }

  .ps-evidence__grid,
  .ps-demo__grid {
    gap: 65px;
  }

  .ps-answer-card,
  .ps-demo__form {
    padding: 25px;
  }

  .ps-answer-card blockquote {
    margin: 50px 0;
    font-size: 27px;
  }

  .ps-demo__copy h2 {
    font-size: clamp(58px, 16vw, 82px);
  }

  .ps-form__grid > div:last-child {
    grid-column: auto;
  }

  .ps-form__actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .marketing-footer__grid {
    gap: 45px;
  }

  .marketing-footer__legal {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .marketing-home * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
