:root {
  --paper:#f2eee5;
  --surface:#fffaf1;
  --raised:#e8e0d3;
  --ink:#442143;
  --muted:#6e5268;
  --soft:#715c6d;
  --line:#c9b7c2;
  --signal:#f14d28;
  --signal-ink:#442143;
  --signal-head:#442143;
  --signal-line:#c9b7c2;
  --radius:0px;
  --font:Arial,Helvetica,sans-serif
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font);
  font-size:16px;
  -webkit-font-smoothing:antialiased
}
a {
  color:inherit;
  text-decoration:none
}
button,select {
  font:inherit
}
.skip {
  position:absolute;
  left:-9999px;
  top:16px;
  background:var(--ink);
  color:white;
  padding:12px 16px;
  z-index:10
}
.skip:focus {
  left:16px
}
.site-head {
  min-height:72px;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:center;
  padding:12px max(24px,5vw);
  gap:32px
}
.wordmark {
  font-size:28px;
  font-weight:400;
  letter-spacing:-.04em
}
.wordmark span {
  display:none
}
.site-head nav {
  display:flex;
  align-items:center;
  gap:clamp(16px,2vw,28px);
  margin-left:auto
}
.site-head nav a,.lang {
  font-size:14px;
  color:var(--muted);
  transition:color .16s cubic-bezier(.22,1,.36,1)
}
.site-head nav a:hover,.lang:hover {
  color:var(--signal-ink)
}
.head-actions {
  display:flex;
  align-items:center;
  gap:20px
}
.button {
  display:inline-flex;
  gap:16px;
  align-items:center;
  justify-content:center;
  background:var(--ink);
  color:#fff;
  padding:12px 20px;
  font-size:14px;
  font-weight:500;
  min-height:48px;
  border:1px solid var(--ink);
  border-radius:var(--radius);
  transition:background-color .16s cubic-bezier(.22,1,.36,1),color .16s cubic-bezier(.22,1,.36,1)
}
.button:hover {
  background:#61345f
}
.button-small {
  padding:8px 16px;
  min-height:40px
}
.menu-toggle {
  display:none;
  border:0;
  background:none;
  padding:8px
}
.menu-toggle span {
  display:block;
  width:22px;
  height:1px;
  background:var(--ink);
  margin:6px
}
.hero {
  padding:80px 5vw 88px;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  gap:6vw;
  align-items:center;
  max-width:1600px;
  margin:auto
}
.hero-copy {
  max-width:620px
}
.hero-copy .button {
  background:var(--ink);
  border-color:var(--ink)
}
.hero-copy .button:hover {
  background:#61345f;
  border-color:#61345f
}
.eyebrow,.section-kicker,.row-index,.visual-label,.visual-caption,.hero-note,.foot-bottom,.back-top,.related>span,.form-heading span,.form-heading p,.aside-number,.chooser-head>span,.chooser>footer {
  font-size:13px;
  line-height:20px;
  font-weight:400;
  letter-spacing:0;
  color:var(--muted);
  margin:0
}
.eyebrow {
  margin:0 0 20px
}
.hero-copy>.eyebrow,.page-heading>.eyebrow,.section-kicker {
  color:var(--signal-ink)
}
.hero h1,.page-heading h1,.chooser h1 {
  font-size:clamp(44px,5.2vw,76px);
  line-height:1.04;
  letter-spacing:-.045em;
  font-weight:400;
  margin:0 0 24px;
  max-width:850px;
  color:var(--signal)
}
.hero h1 {
  font-size:clamp(56px,6.6vw,104px);
  line-height:.98
}
.hero h1 span { display:block }
.compute-mark { display:block; width:100%; height:auto; color:var(--ink) }
.compute-caption { border-top:1px solid var(--line); margin-top:28px; padding-top:16px; display:flex; justify-content:space-between; gap:16px; font-size:13px; color:var(--muted) }
.workload-table { margin:32px 0 0 }
.index-links a:hover,.related a:hover { background:var(--surface) }
.hero-intro {
  font-size:18px;
  line-height:1.6;
  color:var(--muted);
  max-width:480px;
  margin-bottom:24px
}
.hero-note {
  display:block;
  margin-top:16px
}
.hero-visual {
  padding:24px 0;
  min-width:0;
  margin:0;
  max-width:440px;
  justify-self:end;
  width:100%
}
.workload-table {
  width:100%;
  border-collapse:collapse;
  font-size:14px;
  line-height:1.45;
  text-align:left
}
.workload-table caption {
  text-align:left;
  font-size:14px;
  font-weight:500;
  padding:0 0 16px
}
.workload-table th {
  font-size:13px;
  font-weight:500;
  color:#fff;
  background:var(--signal-head)
}
.workload-table td:first-child {
  color:var(--ink);
  font-weight:500
}
.workload-table th,.workload-table td {
  padding:12px 10px;
  border-bottom:1px solid var(--signal-line);
  vertical-align:top
}
.workload-table th:first-child,.workload-table td:first-child {
  padding-left:12px
}
.workload-table tr:last-child td {
  border-bottom:0
}
.workload-status {
  color:var(--muted);
  font-size:13px;
  margin:16px 0 0
}
.home-index {
  border-top:1px solid var(--line);
  padding:64px 5vw 80px;
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:5vw
}
.index-main h2,.statement h2,.next-step h2,.faq h2,.brief-aside h2 {
  font-size:28px;
  line-height:1.28;
  letter-spacing:-.02em;
  font-weight:500;
  margin:0 0 16px
}
.index-main>p {
  color:var(--muted);
  line-height:1.65;
  max-width:560px;
  margin-bottom:32px
}
.index-links {
  border-top:1px solid var(--line)
}
.index-links a,.related a {
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  border-bottom:1px solid var(--line);
  padding:16px 0
}
.index-links span,.related a span {
  font-size:13px;
  color:var(--soft)
}
.index-links strong {
  font-size:16px;
  font-weight:500
}
.index-links b,.related b {
  font-weight:400;
  color:var(--muted)
}
.statement {
  background:var(--raised);
  color:var(--ink);
  padding:72px 15vw 72px 30vw
}
.statement h2 {
  max-width:800px
}
.statement>p:not(.eyebrow) {
  max-width:600px;
  color:var(--muted);
  line-height:1.7
}
.text-link {
  display:inline-block;
  color:var(--signal-ink);
  border-bottom:1px solid var(--signal-line);
  padding:8px 0;
  font-size:14px;
  margin-top:12px
}
.page-hero {
  padding:80px 10vw 56px 15vw;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
  gap:7vw;
  border-bottom:1px solid var(--line)
}
.page-heading h1 {
  max-width:820px;
  margin:0
}
.page-intro {
  align-self:end
}
.page-intro p {
  font-size:18px;
  line-height:1.65;
  color:var(--muted);
  margin:0 0 16px
}
.content-sections {
  padding:8px 15vw 64px
}
.content-row {
  display:block;
  padding:32px 0;
  border-top:1px solid var(--line)
}
.row-index {
  font-variant-numeric:tabular-nums
}
.content-row h2 {
  font-size:22px;
  line-height:1.3;
  font-weight:500;
  margin:0 0 12px
}
.content-row p {
  font-size:16px;
  line-height:1.7;
  color:var(--muted);
  max-width:760px;
  margin:0
}
.faq {
  background:var(--raised);
  padding:64px 15vw;
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:7vw
}
.faq h2 {
  font-size:36px
}
.faq details {
  border-top:1px solid var(--line);
  padding:16px 0
}
.faq details:last-child {
  border-bottom:1px solid var(--line)
}
.faq summary {
  cursor:pointer;
  list-style:none;
  font-size:16px;
  display:flex;
  justify-content:space-between;
  gap:24px
}
.faq summary::-webkit-details-marker {
  display:none
}
.faq summary span {
  color:var(--muted)
}
.faq details p {
  color:var(--muted);
  line-height:1.65;
  margin:12px 32px 0 0
}
.guide-note {
  padding:40px 15vw;
  background:var(--raised);
  display:grid;
  grid-template-columns:1fr 2fr auto;
  gap:24px;
  align-items:center
}
.guide-note .eyebrow {
  margin:0
}
.guide-note>p:nth-child(2) {
  font-size:20px;
  line-height:1.45;
  margin:0
}
.next-step {
  padding:64px 15vw;
  display:grid;
  grid-template-columns:1fr 2fr auto;
  align-items:center;
  gap:24px
}
.next-step .eyebrow {
  margin:0
}
.next-step h2 {
  margin:0
}
.related {
  background:var(--raised);
  padding:32px 5vw;
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:4vw
}
.related a {
  grid-template-columns:1fr auto;
  font-size:14px
}
.related>div {
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:32px
}
.brief-section {
  padding:56px 15vw 64px;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:8vw;
  background:var(--raised)
}
.brief-form {
  display:flex;
  flex-direction:column;
  gap:20px
}
.form-heading {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  border-bottom:1px solid var(--line);
  padding-bottom:12px;
  margin-bottom:4px;
  gap:16px
}
.brief-form label {
  display:flex;
  flex-direction:column;
  gap:8px;
  font-size:14px
}
.brief-form select {
  width:100%;
  background:var(--surface);
  border:1px solid var(--line);
  padding:12px;
  color:var(--ink);
  border-radius:var(--radius);
  min-height:48px
}
.brief-form .button {
  cursor:pointer;
  margin-top:4px
}
.form-note {
  font-size:13px;
  color:var(--muted);
  margin:-8px 0 0
}
.brief-form output {
  font-size:14px;
  color:var(--ink);
  min-height:20px
}
.brief-aside {
  padding:24px 0;
  align-self:center
}
.brief-aside h2 {
  font-size:40px;
  margin:20px 0
}
.brief-aside p {
  color:var(--muted);
  line-height:1.7
}
.brief-aside .prelaunch-card {
  border-left:2px solid var(--ink);
  padding:12px 16px;
  background:var(--paper);
  font-size:14px;
  margin-top:24px
}
.site-foot {
  padding:48px 5vw 24px
}
.foot-top {
  display:grid;
  grid-template-columns:1fr 2fr auto;
  gap:32px;
  align-items:start;
  padding-bottom:40px
}
.foot-top p {
  font-size:14px;
  line-height:1.6;
  color:var(--muted);
  max-width:620px;
  margin:0
}
.back-top {
  color:var(--muted)
}
.foot-bottom {
  border-top:1px solid var(--line);
  padding-top:16px;
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center
}
.foot-bottom>div {
  display:flex;
  gap:20px;
  flex-wrap:wrap
}
.chooser {
  min-height:100vh;
  display:flex;
  flex-direction:column;
  padding:24px 5vw
}
.chooser-head,.chooser>footer {
  display:flex;
  justify-content:space-between;
  align-items:center
}
.chooser main {
  max-width:1000px;
  margin:auto;
  padding:64px 0;
  width:100%
}
.chooser h1 {
  max-width:850px
}
.chooser h1 em {
  font-style:normal;
  font-weight:500;
  color:var(--signal-ink)
}
.chooser-copy {
  color:var(--muted);
  font-size:18px;
  margin:20px 0 40px
}
.language-options {
  border-top:1px solid var(--line);
  max-width:640px
}
.language-options a {
  display:grid;
  grid-template-columns:56px 1fr auto;
  align-items:center;
  border-bottom:1px solid var(--line);
  padding:20px 0
}
.language-options span {
  font-size:14px;
  color:var(--muted)
}
.language-options strong {
  font-weight:500;
  font-size:18px
}
.language-options b {
  font-weight:400;
  color:var(--muted)
}
.chooser>footer {
  border-top:1px solid var(--line);
  padding-top:16px
}
.site-head a:focus-visible,.button:focus-visible,.menu-toggle:focus-visible,.language-options a:focus-visible,.index-links a:focus-visible,.related a:focus-visible,.text-link:focus-visible,.back-top:focus-visible,summary:focus-visible,select:focus-visible {
  outline:3px solid var(--signal-ink);
  outline-offset:3px
}
@media(max-width:1050px) {
  .site-head {
    padding-left:24px;
    padding-right:24px;
    gap:24px
  }
  .site-head nav {
    gap:16px
  }
  .site-head nav a {
    font-size:13px
  }
  .head-actions {
    gap:12px
  }
  .hero {
    padding-left:5vw;
    padding-right:5vw
  }
  .page-hero {
    padding-left:8vw;
    padding-right:8vw
  }
  .content-sections,.faq,.brief-section {
    padding-left:8vw;
    padding-right:8vw
  }
  .guide-note,.next-step {
    padding-left:8vw;
    padding-right:8vw
  }
}
@media(max-width:760px) {
  .site-head {
    min-height:64px;
    padding:8px 5vw;
    justify-content:space-between
  }
  .head-actions {
    margin-left:auto
  }
  .site-head nav {
    display:none;
    position:absolute;
    top:64px;
    left:0;
    right:0;
    padding:12px 5vw 20px;
    background:var(--paper);
    border-bottom:1px solid var(--line);
    z-index:5;
    align-items:stretch;
    flex-direction:column;
    gap:0
  }
  .site-head nav.is-open {
    display:flex
  }
  .site-head nav a {
    padding:12px 0;
    border-bottom:1px solid var(--line);
    font-size:15px
  }
  .menu-toggle {
    display:block
  }
  .head-actions .button-small {
    display:none
  }
  .hero {
    grid-template-columns:1fr;
    padding:48px 5vw;
    gap:32px
  }
  .hero h1,.page-heading h1 {
    font-size:clamp(38px,10vw,56px);
    line-height:1.05
  }
  .hero-intro,.page-intro p {
    font-size:16px
  }
  .hero-visual {
    padding:0;
    max-width:320px;
    justify-self:start
  }
  .workload-table {
    min-width:0;
    table-layout:fixed;
    font-size:13px
  }
  .workload-table th,.workload-table td {
    padding:12px 8px
  }
  .home-index {
    padding:48px 5vw 56px;
    grid-template-columns:1fr;
    gap:24px
  }
  .index-main h2,.statement h2 {
    font-size:34px
  }
  .statement {
    padding:48px 8vw
  }
  .page-hero {
    padding:48px 5vw 36px;
    grid-template-columns:1fr;
    gap:24px
  }
  .content-sections {
    padding:0 5vw 48px
  }
  .content-row {
    grid-template-columns:1fr;
    gap:12px;
    padding:24px 0
  }
  .content-row h2 {
    font-size:20px
  }
  .content-row p {
    font-size:15px
  }
  .faq {
    padding:48px 5vw;
    grid-template-columns:1fr;
    gap:16px
  }
  .faq h2 {
    font-size:30px
  }
  .guide-note {
    padding:36px 5vw;
    grid-template-columns:1fr;
    gap:16px
  }
  .guide-note>p:nth-child(2) {
    font-size:18px
  }
  .guide-note .button {
    justify-self:start
  }
  .next-step {
    padding:48px 5vw;
    grid-template-columns:1fr;
    gap:16px
  }
  .next-step h2 {
    font-size:32px
  }
  .next-step .button {
    justify-self:start
  }
  .related {
    padding:28px 5vw;
    grid-template-columns:1fr;
    gap:12px
  }
  .related>div {
    grid-template-columns:1fr
  }
  .brief-section {
    padding:40px 5vw;
    grid-template-columns:1fr;
    gap:24px
  }
  .brief-aside {
    padding-top:8px
  }
  .brief-aside h2 {
    font-size:32px
  }
  .form-heading {
    align-items:flex-start;
    flex-direction:column
  }
  .foot-top {
    grid-template-columns:1fr auto;
    gap:20px
  }
  .foot-top p {
    grid-column:1/-1;
    grid-row:2
  }
  .foot-bottom {
    align-items:flex-start;
    flex-direction:column
  }
  .foot-bottom>div {
    gap:12px
  }
  .site-foot {
    padding:36px 5vw 20px
  }
  .chooser {
    padding:20px 5vw 16px
  }
  .chooser main {
    padding:48px 0
  }
  .chooser h1 {
    font-size:clamp(36px,10vw,40px)
  }
  .chooser>footer {
    align-items:flex-start;
    flex-direction:column;
    gap:8px
  }
  .chooser-copy {
    font-size:16px;
    margin:16px 0 32px
  }
  .chooser-head>span {
    font-size:12px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*::before,*::after {
    transition:none!important
  }
}
