/* Current website styles. Preserve cascade order in build-website.mjs. */
:root {
  --ink: #102b40;
  --muted: #576b7c;
  --blue: #0879bd;
  --deep: #071e31;
  --silver: #eff3f7;
  --line: #dbe4ec;
  --white: #fff;
  --radius: 24px;
  color-scheme: light;
  font-family: DM, Arial, sans-serif;
  color: var(--ink);
  font-synthesis: none;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 24px;
}
body {
  margin: 0;
  background: #fff;
}
button,
a {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
button {
  font: inherit;
  cursor: pointer;
}
button,
a {
  transition:
    background 0.18s,
    color 0.18s,
    box-shadow 0.18s,
    transform 0.18s;
}
a {
  color: inherit;
  text-decoration: none;
}
button {
  color: inherit;
}
button:focus-visible,
a:focus-visible,
summary:focus-visible {
  outline: 3px solid #0999e9;
  outline-offset: 5px;
}
button:active {
  transform: translateY(1px);
}
img {
  max-width: 100%;
  display: block;
}
svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  display: block;
}
h1,
h2,
h3,
p {
  margin: 0;
}
h1,
h2,
h3 {
  font-weight: 550;
}
h2 {
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: -2.1px;
}
p {
  line-height: 1.65;
}
button[hidden],
[hidden] {
  display: none !important;
}
.wrap {
  width: min(1320px, calc(100% - 96px));
  margin-inline: auto;
}
.skip-link {
  position: fixed;
  left: 20px;
  top: -80px;
  background: white;
  padding: 15px;
  z-index: 100;
}
.skip-link:focus {
  top: 15px;
}
.header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 106px;
  gap: 32px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 25px;
  font-weight: 650;
  letter-spacing: -1.05px;
  min-height: 44px;
}
.button {
  min-height: 54px;
  border: 1px solid transparent;
  background: var(--ink);
  color: white;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  padding: 14px 25px;
  font-size: 14px;
  font-weight: 550;
  white-space: nowrap;
}
.button span {
  font-size: 20px;
  line-height: 1;
}
.button:hover {
  background: #086fa9;
  box-shadow: 0 4px 16px #0879bd25;
}
.button.small {
  min-height: 46px;
  padding: 10px 22px;
}
h1 {
  font-size: clamp(64px, 5.65vw, 84px);
  letter-spacing: -4.8px;
  line-height: 1.035;
  margin: 26px 0 24px;
}
h1 span {
  color: var(--blue);
}
.actions {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 32px;
}
.secondary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  font-size: 14px;
  font-weight: 550;
  white-space: nowrap;
}
.secondary:hover {
  color: var(--blue);
}
.observation {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  border: 1px solid #e1e8ef;
  border-radius: 10px;
  padding: 13px;
  margin-bottom: 8px;
}
.observation strong {
  display: block;
  font-size: 11px;
  font-weight: 550;
}
.observation small {
  display: block;
  font-size: 9px;
  color: var(--muted);
  margin-top: 3px;
}
.status {
  font-size: 9px;
  color: #88601d;
  background: #fff5df;
  border-radius: 99px;
  padding: 5px 8px;
  white-space: nowrap;
}
summary {
  cursor: pointer;
  display: flex;
  list-style: none;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  font-weight: 550;
  min-height: 54px;
  gap: 20px;
}
summary::-webkit-details-marker {
  display: none;
}
summary > span {
  font-size: 22px;
  color: var(--blue);
}
details[open] summary > span {
  transform: rotate(45deg);
}
details p {
  font-size: 13px;
  line-height: 1.75;
  color: var(--muted);
  padding-bottom: 16px;
}
dialog {
  border: 1px solid #dce5ed;
  border-radius: 24px;
  max-width: 620px;
  width: calc(100% - 40px);
  max-height: 85vh;
  padding: 44px;
  color: var(--ink);
  box-shadow: 0 25px 100px #031a3240;
}
dialog::backdrop {
  background: #061e3290;
  backdrop-filter: blur(5px);
}
dialog h2 {
  font-size: 34px;
  letter-spacing: -1.2px;
  margin: 20px 0;
}
dialog p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--muted);
}
dialog h3 {
  font-size: 18px;
  margin: 25px 0 10px;
}
@media (min-width: 1600px) {
  .observation {
    padding: 14px;
  }
  .observation strong {
    font-size: 12px;
  }
  .observation small {
    font-size: 10px;
  }
}
@media (max-width: 1150px) {
  .wrap {
    width: calc(100% - 64px);
  }
  h1 {
    font-size: 65px;
    letter-spacing: -3.7px;
  }
  .actions {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  h2 {
    font-size: 43px;
  }
}
@media (max-width: 850px) {
  .header {
    min-height: 92px;
    gap: 20px;
  }
  .brand {
    font-size: 22px;
  }
  .header > .button {
    font-size: 12px;
    padding-inline: 18px;
  }
  .actions {
    flex-direction: row;
    align-items: center;
    gap: 25px;
  }
  .observation strong {
    font-size: 13px;
  }
  .observation small {
    font-size: 11px;
  }
  .observation {
    padding: 14px;
  }
  .status {
    font-size: 10px;
  }
}
@media (max-width: 600px) {
  .wrap {
    width: calc(100% - 40px);
  }
  .header {
    min-height: 88px;
    gap: 8px;
  }
  .brand {
    font-size: 23px;
    gap: 6px;
  }
  .brand img {
    width: 36px;
    height: 36px;
  }
  .header > .button {
    display: none;
  }
  .actions {
    gap: 16px;
    margin-top: 25px;
    flex-wrap: wrap;
  }
  .button {
    font-size: 12px;
    min-height: 50px;
    padding: 13px 18px;
    gap: 13px;
  }
  .secondary {
    font-size: 12px;
    gap: 8px;
  }
  .observation {
    padding: 11px 9px;
    gap: 7px;
  }
  .observation strong {
    font-size: 10px;
  }
  .observation small {
    font-size: 9px;
  }
  .status {
    font-size: 8px;
    padding: 5px 6px;
  }
  h2 {
    font-size: 36px;
    letter-spacing: -1.6px;
  }
  dialog {
    padding: 35px 25px;
  }
  dialog h2 {
    font-size: 29px;
  }
  dialog p {
    font-size: 14px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *:before,
  *:after {
    transition: none !important;
    animation: none !important;
  }
}
.observation:hover {
  border-color: #91bfdc;
  background: #f6fbff;
}
.night {
  --ink: #e8edf2;
  --muted: #a2afbd;
  --blue: #64c4ff;
  --deep: #080d14;
  --silver: #111b26;
  --line: #293746;
  --white: #101822;
  color: var(--ink);
  color-scheme: dark;
}
body.night {
  background: #080d14;
}
.night .header,
.header.night {
  border-bottom: 1px solid #1c2733;
}
.night .button {
  background: linear-gradient(180deg, #edf2f7, #cbd6df);
  border-color: #e2eaf1;
  color: #0a2132;
  box-shadow:
    0 1px 0 #ffffff66 inset,
    0 3px 14px #0002;
}
.night .button:hover {
  background: #f6fbff;
  box-shadow: 0 0 25px #63bfff24;
}
.night .button.small {
  background: #142331;
  color: #e8eff7;
  border-color: #3c5265;
  box-shadow: 0 1px 0 #b4d6f21c inset;
}
.night .button.small:hover {
  background: #213a4d;
  border-color: #5b7e9a;
}
.night .observation {
  background: #172432;
  border-color: #2c3f51;
  box-shadow: 0 1px 0 #c3def506 inset;
}
.night .observation:hover {
  background: #1c3042;
  border-color: #507a9a;
}
.night .status {
  color: #e0c990;
  background: #3a3020;
}
.night .skip-link {
  background: #193145;
  color: white;
}
.night dialog {
  background: #101d29;
  border-color: #3c586e;
  color: #e8edf2;
}
body[data-tone="mixed"] .header {
  background: #080d14;
  box-shadow: 0 0 0 100vmax #080d14;
  clip-path: inset(0 -100vmax);
}
body[data-art="neural"] {
  --network-bg: #101b27;
  --network-shade: #101b27cc;
}
body[data-art-version="structured"] {
  --network-bg: #080d14;
  --network-shade: #080d14b0;
}
.lower-wrap {
  padding-inline: 30px;
}
.questions-section h2 {
  font-size: clamp(36px, 3.2vw, 51px);
  line-height: 1.1;
  letter-spacing: -0.045em;
  margin: 20px 0 0;
  font-weight: 500;
}
.questions-section {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 90px;
  padding-block: 95px;
}
.question-list details {
  border-bottom: 1px solid #2e495c;
}
.question-list details:first-child {
  border-top: 1px solid #2e495c;
}
.question-list summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  list-style: none;
  font-size: 16px;
  color: #dceaf5;
  padding: 24px 0;
  cursor: pointer;
  min-height: 64px;
}
.question-list summary::-webkit-details-marker {
  display: none;
}
.question-list summary > span {
  color: #7fccff;
  font-size: 23px;
  font-weight: 300;
  transition: transform 0.2s;
}
.question-list details[open] summary > span {
  transform: rotate(45deg);
}
.question-list details > p {
  color: #a7bfd0;
  font-size: 15px;
  line-height: 1.8;
  margin: 0;
  padding: 0 25px 25px 0;
}
.question-list summary:focus-visible {
  outline: 2px solid #7acbff;
  outline-offset: 5px;
}
.walkthrough-form h3 {
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.5px;
  margin: 0 0 8px;
}
.form-preview-label {
  font-size: 11px;
  color: #9fbdd2;
  margin: 0 0 23px;
  line-height: 1.6;
}
.walkthrough-form label {
  display: block;
  font-size: 12px;
  color: #c4dae9;
  line-height: 1.5;
  margin-bottom: 16px;
}
.form-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.walkthrough-form input,
.walkthrough-form textarea {
  width: 100%;
  max-width: 100%;
  display: block;
  margin-top: 8px;
  border: 1px solid #41617b;
  border-radius: 7px;
  background: #0b1c2a;
  color: #eaf5ff;
  padding: 12px;
  font: inherit;
  font-size: 14px;
  line-height: 1.4;
  min-height: 45px;
  resize: vertical;
}
.walkthrough-form input::placeholder,
.walkthrough-form textarea::placeholder {
  color: #839eb2;
  opacity: 1;
}
.walkthrough-form input:focus,
.walkthrough-form textarea:focus {
  outline: 2px solid #77c7f8;
  outline-offset: 2px;
}
.walkthrough-form > .button {
  background: #91d7ff;
  color: #09273b;
  border: 1px solid #b1e5ff;
  border-radius: 8px;
  min-height: 51px;
  font-size: 13px;
  width: 100%;
  justify-content: center;
  font-weight: 600;
}
.walkthrough-form > .button:hover {
  background: #b4e7ff;
}
.request-preview {
  border-top: 1px solid #486c86;
  margin-top: 23px;
  padding-top: 19px;
  overflow-wrap: anywhere;
}
.request-preview strong {
  font-size: 14px;
  color: #b5e5ff;
}
.request-preview p {
  font-size: 13px;
  color: #d1e6f5;
  line-height: 1.7;
  margin: 12px 0;
}
.request-preview > span {
  font-size: 11px;
  color: #a7c4d8;
  line-height: 1.6;
}
@media (max-width: 1150px) {
  .questions-section {
    gap: 45px;
  }
  .form-pair {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
@media (max-width: 850px) {
  .questions-section {
    grid-template-columns: 1fr;
    gap: 38px;
  }
  .questions-section {
    padding-block: 65px;
  }
  .form-pair {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
}
@media (max-width: 600px) {
  .lower-wrap {
    padding-inline: 0;
  }
  .questions-section h2 {
    font-size: 37px;
  }
  .questions-section {
    padding-block: 55px;
  }
  .question-list summary {
    font-size: 16px;
    padding-block: 21px;
  }
  .question-list details > p {
    font-size: 15px;
    padding-right: 0;
  }
  .walkthrough-form h3 {
    font-size: 22px;
  }
  .form-pair {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .walkthrough-form input,
  .walkthrough-form textarea {
    font-size: 16px;
  }
  .walkthrough-form > .button {
    font-size: 12px;
    padding-inline: 10px;
  }
  .form-preview-label {
    font-size: 11px;
  }
}
.access-story {
  padding-top: 90px;
  border-top: 0;
  gap: 90px;
}
@media (max-width: 1150px) {
  .access-story {
    gap: 50px;
  }
}
@media (max-width: 850px) {
  .access-story {
    gap: 35px;
    padding-top: 65px;
  }
}
@media (max-width: 600px) {
  .access-story {
    padding-top: 50px;
  }
}
.questions-section h2 {
  margin-top: 0;
}
body.night {
  background: #122a3e;
}
.questions-section {
  border-color: #43617a;
}
.question-list details,
.question-list details:first-child {
  border-color: #456179;
}
.closing-invitation {
  background: #e4eef6;
  color: #18394f;
  padding: 82px 0 86px;
  margin: 0;
}
.c32-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 100px;
  align-items: center;
  padding-inline: 30px;
}
.c32-copy h2 {
  font-size: clamp(44px, 4.2vw, 66px);
  line-height: 1.07;
  letter-spacing: -0.045em;
  font-weight: 500;
  color: #173b54;
  margin: 0 0 27px;
}
.c32-copy h2 em {
  font-style: normal;
  color: #0b65d6;
}
.c32-copy > p {
  font-size: 18px;
  line-height: 1.8;
  color: #496b82;
  max-width: 390px;
  margin: 0;
}
.walkthrough-form.c32-form {
  color-scheme: light;
  background: #fff;
  border: 1px solid #d2e1ed;
  border-radius: 17px;
  padding: 34px;
  box-shadow: 0 18px 44px -30px #315e8360;
}
.c32-form .form-pair {
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.walkthrough-form.c32-form label {
  font-size: 14px;
  color: #254a64;
  margin-bottom: 19px;
}
.walkthrough-form.c32-form input,
.walkthrough-form.c32-form textarea {
  background: #f5f8fc;
  color: #163e5a;
  border: 1px solid #b8cddd;
  padding: 13px 14px;
  border-radius: 7px;
  font-size: 16px;
  line-height: 1.5;
  margin-top: 8px;
}
.walkthrough-form.c32-form input::placeholder,
.walkthrough-form.c32-form textarea::placeholder {
  color: #637f92;
}
.walkthrough-form.c32-form input:focus,
.walkthrough-form.c32-form textarea:focus {
  outline: 2px solid #1678e3;
  outline-offset: 2px;
}
.c32-form .form-preview-label {
  font-size: 13px;
  line-height: 1.6;
  color: #56738a;
  margin: 0 0 19px;
}
.walkthrough-form.c32-form > .button {
  background: #0965df;
  border-color: #0965df;
  color: #fff;
  font-size: 15px;
  min-height: 54px;
  border-radius: 8px;
}
.walkthrough-form.c32-form > .button:hover {
  background: #0752b5;
  border-color: #0752b5;
}
.c32-form .request-preview {
  border-color: #bdd1df;
}
.c32-form .request-preview strong {
  color: #14568d;
}
.c32-form .request-preview p {
  color: #274d69;
}
.c32-form .request-preview > span {
  color: #506e85;
}
@media (max-width: 1100px) {
  .c32-layout {
    gap: 60px;
  }
  .walkthrough-form.c32-form {
    padding: 29px;
  }
  .c32-copy h2 {
    font-size: 53px;
  }
}
@media (max-width: 850px) {
  .c32-layout {
    grid-template-columns: 0.85fr 1.15fr;
    gap: 35px;
    padding-inline: 0;
  }
  .c32-copy h2 {
    font-size: 44px;
  }
  .c32-copy > p {
    font-size: 17px;
  }
  .c32-form .form-pair {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .walkthrough-form.c32-form {
    padding: 25px;
  }
  .closing-invitation {
    padding-block: 62px;
  }
}
@media (max-width: 650px) {
  .c32-layout {
    grid-template-columns: 1fr;
    gap: 31px;
  }
  .c32-copy h2 {
    font-size: 43px;
    margin-bottom: 21px;
  }
  .c32-copy > p {
    font-size: 16px;
    line-height: 1.75;
  }
  .closing-invitation {
    padding-block: 49px;
  }
  .walkthrough-form.c32-form {
    padding: 25px 21px;
    border-radius: 14px;
  }
  .c32-form .form-preview-label {
    font-size: 12px;
  }
}
.f33-spotlight {
  background: #f6f8fa;
  color: #173b54;
  padding: 0;
  border-block: 1px solid #cedde8;
}
.closing-invitation.c33-contact {
  background: #071628
    url("/website-assets/assets/background-navy-glass-v33-v52.webp") center
    top/cover no-repeat;
  padding: 92px 0 100px;
  color: #f2f8ff;
  position: relative;
  isolation: isolate;
  border-top: 1px solid #446584;
}
.c33-contact::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, #0a1b3210 20%, #07162840 55%, #071628c9);
}
.c33-contact .c32-layout {
  gap: 105px;
  align-items: start;
}
.c33-contact .c32-copy {
  padding-top: 30px;
}
.c33-contact .c32-copy h2 {
  font-size: clamp(48px, 4.8vw, 76px);
  line-height: 1.05;
  color: #e7edf4;
  letter-spacing: -0.05em;
  margin-bottom: 32px;
}
.c33-contact .c32-copy h2 em {
  color: #74c9ff;
}
.c33-contact .c32-copy > p {
  color: #bdcee0;
  font-size: 18px;
  line-height: 1.85;
  max-width: 385px;
}
.c33-contact .walkthrough-form.c32-form {
  color-scheme: dark;
  border: 0;
  border-left: 1px solid #607d9b80;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0 0 0 43px;
}
.c33-contact .walkthrough-form.c32-form label {
  font-size: 14px;
  color: #d1e0ee;
  margin-bottom: 25px;
}
.c33-contact .walkthrough-form.c32-form input,
.c33-contact .walkthrough-form.c32-form textarea {
  background: #0a1d3399;
  border: 0;
  border-bottom: 1px solid #7694b1;
  border-radius: 0;
  color: #f0f7ff;
  padding: 11px 9px;
  font-size: 16px;
  margin-top: 7px;
}
.c33-contact .walkthrough-form.c32-form input::placeholder,
.c33-contact .walkthrough-form.c32-form textarea::placeholder {
  color: #8fa8bf;
}
.c33-contact .walkthrough-form.c32-form input:focus,
.c33-contact .walkthrough-form.c32-form textarea:focus {
  outline: 2px solid #71c4ff;
  outline-offset: 2px;
  background: #102b46;
}
.c33-contact .c32-form .form-preview-label {
  color: #a6bdd2;
  font-size: 12px;
  line-height: 1.7;
  margin-bottom: 19px;
}
.c33-contact .walkthrough-form.c32-form > .button {
  background: linear-gradient(110deg, #d6e3ed, #8fcfff);
  color: #102c46;
  border: 1px solid #b8d9f1;
  border-radius: 4px;
  box-shadow: none;
  min-height: 54px;
  justify-content: space-between;
  padding-inline: 21px;
}
.c33-contact .walkthrough-form.c32-form > .button:hover {
  background: #d3eaff;
  border-color: #e0effa;
}
.c33-contact .request-preview {
  border-color: #51718e;
}
.c33-contact .request-preview strong {
  color: #b4e1ff;
}
.c33-contact .request-preview p {
  color: #d9e8f5;
}
.c33-contact .request-preview > span {
  color: #afc7dc;
}
@media (max-width: 1100px) {
  .c33-contact .c32-layout {
    gap: 65px;
  }
  .c33-contact .walkthrough-form.c32-form {
    padding-left: 30px;
  }
  .c33-contact .c32-copy h2 {
    font-size: 58px;
  }
}
@media (max-width: 850px) {
  .closing-invitation.c33-contact {
    padding-block: 70px;
  }
  .c33-contact .c32-layout {
    gap: 35px;
  }
  .c33-contact .c32-copy h2 {
    font-size: 47px;
  }
  .c33-contact .c32-copy > p {
    font-size: 16px;
  }
  .c33-contact .walkthrough-form.c32-form {
    padding-left: 25px;
  }
}
@media (max-width: 650px) {
  .closing-invitation.c33-contact {
    padding-block: 52px 60px;
    background-position: 28% center;
  }
  .c33-contact::before {
    background: #07162855;
  }
  .c33-contact .c32-layout {
    gap: 34px;
  }
  .c33-contact .c32-copy {
    padding-top: 0;
  }
  .c33-contact .c32-copy h2 {
    font-size: 48px;
    margin-bottom: 24px;
  }
  .c33-contact .c32-copy > p {
    max-width: none;
  }
  .c33-contact .walkthrough-form.c32-form {
    border-left: 0;
    border-top: 1px solid #607d9b80;
    padding: 30px 0 0;
  }
  .c33-contact .c32-form .form-preview-label {
    font-size: 12px;
  }
}
.f33-spotlight {
  background:
    linear-gradient(95deg, #f6f8fafc 35%, #f6f8faee 65%, #f6f8fabf),
    url("/website-assets/assets/background-silver-blue-v33-v52.webp") right
      20% / cover no-repeat;
}
.r34-questions-band {
  background: linear-gradient(180deg, #18364b, #152e43);
  border-top: 1px solid #668ba240;
}
.r34-questions-band .questions-section {
  border-top: 0;
  padding-block: 75px 82px;
}
.c33-contact .c32-form .form-preview-label {
  font-size: 14px;
  color: #c0d3e4;
  line-height: 1.6;
  margin: 0 0 18px;
}
@media (max-width: 650px) {
  .f33-spotlight {
    background-position: 65% center;
  }
  .r34-questions-band .questions-section {
    padding-block: 52px 58px;
  }
  .c33-contact .c32-form .form-preview-label {
    font-size: 14px;
  }
}
.f33-spotlight {
  background:
    radial-gradient(ellipse at 82% 55%, #dce9f4 0, transparent 45%),
    linear-gradient(120deg, #fafbfc, #eef3f7);
}
@media (max-width: 600px) {
  .f33-spotlight {
    background:
      radial-gradient(ellipse at 70% 82%, #dce9f4, transparent 53%), #f6f8fa;
  }
}
.f33-spotlight {
  border: 0;
}
.questions-section {
  padding: 72px 30px 80px;
  display: block !important;
}
.questions-section > div:first-child {
  margin-bottom: 30px;
}
.questions-section h2 {
  font-size: 42px !important;
  line-height: 1.15;
  max-width: none;
}
.questions-section h2 br {
  display: none;
}
.question-list {
  max-width: 880px;
}
.question-list summary {
  font-size: 17px;
}
.question-list p {
  font-size: 16px;
  line-height: 1.85;
}
@media (max-width: 600px) {
  .questions-section {
    padding: 52px 0;
  }
  .questions-section h2 {
    font-size: 36px !important;
  }
}
.f33-spotlight {
  background:
    radial-gradient(ellipse at 75% 60%, #82bee451, transparent 52%),
    repeating-linear-gradient(
      165deg,
      transparent 0 120px,
      #6298be0a 121px 122px,
      transparent 123px 190px
    ),
    linear-gradient(125deg, #f7fafc, #e8f1f8 55%, #c8dfef);
}
.r34-questions-band {
  background:
    radial-gradient(ellipse at 90% 50%, #3676a858, transparent 60%),
    repeating-radial-gradient(
      ellipse at 115% 60%,
      transparent 0 90px,
      #75bce610 91px 92px,
      transparent 93px 145px
    ),
    linear-gradient(130deg, #112b41, #204962);
}
summary:focus-visible {
  outline: 3px solid #2894e5;
  outline-offset: 4px;
}
body {
  background:
    radial-gradient(ellipse at 70% 100%, #23577b, transparent 14%),
    linear-gradient(120deg, #122a3e, #173c55);
}
.s41-section {
  padding: 86px 0;
}
.s41-section h2 {
  font-size: clamp(38px, 3.4vw, 57px);
  line-height: 1.08;
  letter-spacing: -0.045em;
  font-weight: 500;
  margin: 0 0 24px;
}
.s41-section h2 em {
  font-style: normal;
  color: #8fd5ff;
}
.s41-section p {
  font-size: 17px;
  line-height: 1.8;
}
.s41-source-picker {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin: 36px auto 30px;
}
.s41-source-picker button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  padding: 13px 25px;
  min-height: 64px;
  background: #f0f7fbc9;
  border: 1px solid #b6d0e1;
  border-radius: 9px;
  color: #36556e;
  font: 500 17px inherit;
  cursor: pointer;
}
.s41-source-picker img {
  width: 32px;
  height: 32px;
  object-fit: contain;
}
.s41-source-picker button[aria-pressed="true"] {
  background: linear-gradient(125deg, #154669, #0b324f);
  color: #fff;
  box-shadow: 0 7px 16px -8px #144e86;
}
.s41-section button:focus-visible,
.s41-section summary:focus-visible {
  outline: 3px solid #43a6ec;
  outline-offset: 4px;
}
.s41-section button:hover {
  filter: brightness(1.12);
}
.s41-source-picker button {
  font-family: inherit;
  font-size: 16px;
  font-weight: 500;
}
@media (max-width: 850px) {
  .s41-section {
    padding: 62px 0;
  }
}
@media (max-width: 600px) {
  .s41-section {
    padding: 50px 0;
  }
  .s41-section h2 {
    font-size: 38px;
  }
  .s41-section p {
    font-size: 16px;
  }
  .s41-source-picker {
    gap: 6px;
  }
  .s41-source-picker button {
    flex: 1;
    gap: 8px;
    padding: 12px 6px;
    font-size: 13px;
  }
  .s41-source-picker img {
    width: 24px;
    height: 24px;
  }
}
.s41-source-picker button {
  transition:
    transform 0.22s,
    border-color 0.22s,
    box-shadow 0.22s,
    background 0.22s;
}
@media (hover: hover) {
  .s41-source-picker button:hover {
    transform: translateY(-3px);
  }
}
@keyframes j42-feedback {
  from {
    filter: brightness(1.28);
    transform: translateY(5px);
  }
  to {
    filter: brightness(1);
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .s41-source-picker button {
    transition: none;
  }
}
.s43-sources {
  background:
    linear-gradient(130deg, #e6f0f8db, #cfdfebad),
    url("/website-assets/assets/background-sources-silver-v35-v52.webp")
      center/cover;
  color: #143951;
}
.s43-sources .s41-source-picker {
  justify-content: flex-start;
  margin: 32px 0 0;
  gap: 10px;
}
.s43-sources .s41-source-picker button {
  min-width: 165px;
}
.s43-details {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 75px;
  border-top: 1px solid #6593b36b;
  margin-top: 25px;
  padding-top: 32px;
}
.s43-details h3 {
  font-size: 27px;
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: -0.02em;
  margin: 0 0 17px;
}
.s43-details p {
  font-size: 16px;
  line-height: 1.8;
  color: #48677b;
  margin: 0;
  max-width: 530px;
}
.s43-source ul {
  list-style: none;
  padding: 0;
  margin: 28px 0 0;
  display: grid;
  gap: 16px;
}
.s43-source li {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #234a66;
  font-size: 16px;
}
.s43-source li:before {
  content: "";
  width: 8px;
  height: 8px;
  flex: none;
  background: linear-gradient(135deg, #64b6f2, #156bab);
  border: 1px solid #409ad7;
  transform: rotate(45deg);
}
.s43-scan {
  border-left: 1px solid #6997b857;
  padding-left: 40px;
  scroll-margin-top: 35px;
}
.s43-scan-step {
  position: relative;
  padding-left: 23px;
  border-left: 1px solid #729cb779;
  padding-bottom: 19px;
}
.s43-scan-step:before {
  content: "";
  position: absolute;
  left: -5px;
  top: 6px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #3a93cb;
  box-shadow: 0 0 0 4px #d7e9f5;
}
.s43-scan-step strong {
  font-size: 16px;
  font-weight: 500;
}
.s43-scan-step p {
  margin-top: 7px;
  font-size: 15px;
}
.s43-scan > a {
  display: inline-flex;
  align-items: center;
  gap: 25px;
  min-height: 44px;
  color: #12699f;
  font-size: 15px;
  text-decoration: none;
}
@media (max-width: 850px) {
  .s43-details {
    gap: 30px;
  }
  .s43-scan {
    padding-left: 25px;
  }
  .s43-sources .s41-source-picker button {
    min-width: 130px;
  }
}
@media (max-width: 600px) {
  .s43-details {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .s43-sources .s41-source-picker button {
    min-width: 0;
    min-height: 55px;
  }
  .s43-details {
    padding-top: 25px;
  }
  .s43-scan {
    border-left: 0;
    border-top: 1px solid #6997b857;
    padding: 25px 0 0;
  }
  .s43-details h3 {
    font-size: 24px;
  }
  .s43-source ul {
    margin-top: 23px;
  }
}
body.night {
  background: #081423;
}
.r34-questions-band {
  background:
    radial-gradient(ellipse at 83% 45%, #1b345333, transparent 70%),
    linear-gradient(135deg, #081624, #0d1c2c);
  border-color: #627d9344;
}
.closing-invitation.c33-contact {
  background:
    linear-gradient(110deg, #071220a8, #071322dd),
    url("/website-assets/assets/background-navy-glass-v33-v52.webp")
      center/cover;
}
.c33-contact::before {
  background: linear-gradient(90deg, transparent, #06111f55);
}
.s43-sources {
  background:
    linear-gradient(125deg, #eef1f6ed, #e2e8f0b8),
    url("/website-assets/assets/background-sources-silver-v35-v52.webp")
      center/cover;
}
@keyframes d45-reveal {
  from {
    opacity: 0.35;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.a46-section {
  color: #e1eef9;
  background:
    radial-gradient(ellipse at 38% 58%, #1f568b33, transparent 60%),
    linear-gradient(130deg, #071422e8, #0b1c31ed),
    url("/website-assets/assets/background-evidence-light-v35-v52.webp")
      center/cover;
  padding: 84px 0 76px;
}
.a46-heading {
  display: grid;
  grid-template-columns: 1.12fr 1fr;
  gap: 75px;
  align-items: center;
}
.a46-heading h2 {
  font-size: clamp(36px, 3.1vw, 52px);
  margin: 0;
}
.a46-heading > p {
  color: #b4cbdd;
  font-size: 17px;
  line-height: 1.85;
  max-width: 530px;
  margin: 0;
}
.a46-picker {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin: 40px 0 24px;
}
.a46-picker button {
  font: 500 15px/1.5 inherit;
  font-family: inherit;
  color: #b7d0e3;
  background: #10263a85;
  border: 1px solid #53738e70;
  border-radius: 10px;
  padding: 12px 22px;
  min-height: 63px;
  cursor: pointer;
  transition:
    background 0.2s,
    border-color 0.2s;
}
.a46-picker button > span {
  display: block;
  font-size: 12px;
  color: #96b5cd;
  margin-top: 3px;
}
.a46-picker button[aria-pressed="true"] {
  background: linear-gradient(110deg, #1f496e99, #14345377);
  border-color: #6bbbed;
  color: #e5f6ff;
}
.a46-picker button[aria-pressed="true"] > span {
  color: #bedcf1;
}
.a46-map {
  position: relative;
  max-width: 1190px;
  margin: auto;
}
.a46-person,
.a46-resource {
  text-align: center;
  min-width: 0;
}
.a46-avatar {
  position: relative;
  display: grid;
  place-items: center;
  width: 98px;
  height: 98px;
  margin: 0 auto 23px;
  color: #a6ddff;
  border: 1px solid #79b6e68c;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 20%, #3b79aa6b, #112d49 70%);
  box-shadow:
    0 0 0 11px #386c9216,
    0 0 55px -22px #3ca8ff99;
}
.a46-avatar svg {
  width: 45px;
  height: 45px;
}
.a46-avatar svg[hidden] {
  display: none;
}
.a46-person h3,
.a46-resource h3 {
  font-size: 21px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -0.025em;
  margin: 0;
  overflow-wrap: anywhere;
}
.a46-person p,
.a46-resource p {
  font-size: 13px;
  color: #8fb2ce;
  margin: 9px 0 0;
}
.a46-relation {
  align-self: center;
  margin-top: -25px;
  text-align: center;
}
.a46-relation > span {
  display: block;
  color: #8ebbd8;
  font-size: 12px;
  line-height: 1.5;
}
.a46-relation > strong {
  display: inline-block;
  font-size: 17px;
  font-weight: 500;
  color: #b7e7ff;
  padding: 8px 20px;
  margin-top: 9px;
  border: 1px solid #5799ca80;
  border-radius: 25px;
  background: linear-gradient(115deg, #21476bb3, #112e4a);
}
.a46-relation > svg {
  display: block;
  width: 100%;
  height: 20px;
  margin-top: 18px;
  stroke: #83c9f7;
  stroke-width: 1.3;
  overflow: visible;
}
@keyframes a46-draw {
  from {
    stroke-dashoffset: 1;
  }
  to {
    stroke-dashoffset: 0;
  }
}
.a46-resource {
  padding: 27px 15px 26px;
  border: 1px solid #4a718f66;
  background: linear-gradient(140deg, #18365385, #0e21398c);
  border-radius: 15px;
}
.a46-resource img {
  object-fit: contain;
  filter: drop-shadow(0 8px 9px #0004);
}
.a46-map[data-kind="service"] .a46-relation > strong {
  color: #b8cddd;
  border-color: #69849a88;
  background: #193045;
}
.a46-picker button:hover {
  border-color: #9ed6fc;
}
.a46-picker button:focus-visible {
  outline: 3px solid #8acffe;
  outline-offset: 4px;
}
@media (max-width: 900px) {
  .a46-heading {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .a46-heading > p {
    max-width: 740px;
  }
  .a46-person h3,
  .a46-resource h3 {
    font-size: 18px;
  }
  .a46-resource {
    padding-inline: 10px;
  }
  .a46-relation > strong {
    font-size: 15px;
    padding: 8px 12px;
  }
  .a46-avatar {
    width: 80px;
    height: 80px;
  }
}
@media (max-width: 600px) {
  .a46-section {
    padding-block: 55px;
  }
  .a46-heading h2 {
    font-size: 37px;
  }
  .a46-heading > p {
    font-size: 16px;
  }
  .a46-picker {
    margin-top: 28px;
    gap: 8px;
  }
  .a46-picker button {
    flex: 1;
    padding: 11px 9px;
    font-size: 14px;
  }
  .a46-picker button > span {
    font-size: 11px;
  }
  .a46-person {
    grid-column: 1;
  }
  .a46-relation {
    grid-column: 2;
    margin-top: 0;
  }
  .a46-resource {
    grid-column: 3;
    padding: 22px 8px;
  }
  .a46-avatar {
    width: 64px;
    height: 64px;
    margin-bottom: 17px;
    box-shadow: 0 0 0 6px #386c9216;
  }
  .a46-avatar svg {
    width: 32px;
    height: 32px;
  }
  .a46-person h3,
  .a46-resource h3 {
    font-size: 15px;
  }
  .a46-person p,
  .a46-resource p {
    font-size: 11px;
    line-height: 1.6;
  }
  .a46-resource img {
    width: 33px;
    height: 33px;
  }
  .a46-relation > span {
    font-size: 10px;
  }
  .a46-relation > strong {
    font-size: 12px;
    padding: 7px 9px;
  }
  .a46-relation > svg {
    margin-top: 10px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .a46-picker button {
    transition: none;
  }
}
.f33-spotlight {
  overflow: clip;
}
.c33-contact .c32-copy > p + p {
  margin-top: 18px;
}
.a51 {
  position: relative;
  isolation: isolate;
  padding: 90px 0 82px;
  background: #081525
    url("/website-assets/assets/hero-v48/optical-background-1672.webp")
    center/cover;
  color: #e5f2fa;
  overflow: clip;
  scroll-margin-top: 24px;
}
.a51::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(115deg, rgba(6, 19, 33, 0.72), rgba(9, 29, 49, 0.73)),
    radial-gradient(ellipse at 22% 40%, #13568155, transparent 60%);
  z-index: -1;
}
.a51 .a51-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 70px;
  margin-bottom: 32px;
}
.a51 .a51-intro h2 {
  font-size: clamp(36px, 3.7vw, 62px);
  line-height: 1.09;
  letter-spacing: -0.04em;
  margin: 0;
  font-weight: 550;
  color: #e5f2fa;
}
.a51 h2 em {
  color: #8fd8ff;
  font-style: normal;
}
.a51 p {
  color: #aecbdc;
  font-size: 17px;
  line-height: 1.65;
  margin: 0;
}
.a51 .a51-intro p {
  max-width: 530px;
  justify-self: end;
}
.a51-tabs {
  display: flex;
  gap: 28px;
  border-bottom: 1px solid #779db940;
  margin-bottom: 38px;
}
.a51-tabs button {
  background: none;
  border: 0;
  border-bottom: 3px solid transparent;
  padding: 16px 2px;
  color: #adc6d8;
  font: inherit;
  font-size: 17px;
  cursor: pointer;
  min-height: 52px;
}
.a51-tabs button[aria-selected="true"] {
  color: #e7f7ff;
  border-color: #85d4ff;
}
.a51 button:focus-visible {
  outline: 3px solid #b3e5ff;
  outline-offset: 5px;
}
.a51 button:hover {
  color: white;
}
.a51 [hidden] {
  display: none !important;
}
.a51-canvas {
  min-height: 438px;
}
.a51-map {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(190px, 0.8fr) minmax(0, 1fr);
  align-items: center;
  gap: 36px;
}
.a51 h3,
.a51 h4 {
  margin: 0;
  color: #e5f2fa;
  letter-spacing: -0.02em;
}
.a51 h3 {
  font-size: 21px;
  font-weight: 550;
}
.a51 h4 {
  font-size: 19px;
  font-weight: 550;
}
.a51 svg {
  width: 32px;
  height: 32px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
  color: #91d8ff;
  flex-shrink: 0;
}
.a51-customer {
  padding: 25px 26px 28px;
  border: 1px solid #76bde46b;
  border-radius: 18px;
  background: linear-gradient(140deg, #163e5e99, #0c203699);
  box-shadow:
    inset 0 1px 0 #a8d9f21c,
    0 20px 60px #02091533;
}
.a51-boundary-title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 26px;
}
.a51-boundary-title h3 {
  font-size: 18px;
}
.a51-boundary-title svg {
  width: 24px;
  height: 24px;
}
.a51-scanner {
  display: flex;
  align-items: center;
  gap: 17px;
}
.a51-scanner p,
.a51-stores p {
  font-size: 14px;
}
.a51-core {
  position: relative;
  display: grid;
  place-items: center;
  min-width: 76px;
  height: 76px;
  border: 1px solid #73c5f577;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 20%, #38749b, #0a1727 76%);
  box-shadow:
    0 0 0 9px #5fabd508,
    0 0 36px #51b6f425;
}
.a51-core img {
  object-fit: contain;
}
.a51-fork {
  display: flex;
  margin: 17px 22% 14px;
  height: 28px;
  border-top: 1px solid #5996bc;
  position: relative;
}
.a51-fork:before {
  content: "";
  position: absolute;
  left: 50%;
  top: -18px;
  height: 18px;
  border-left: 1px solid #5996bc;
}
.a51-fork i {
  width: 50%;
  border-left: 1px solid #5996bc;
}
.a51-fork i:last-child {
  border-left: 0;
  border-right: 1px solid #5996bc;
}
.a51-stores {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  text-align: center;
}
.a51-stores svg {
  width: 29px;
  height: 29px;
  margin-bottom: 10px;
}
.a51-stores h4 {
  font-size: 17px;
  margin-bottom: 4px;
}
.a51-relay {
  position: relative;
  text-align: center;
}
.a51-relay-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin: 0 auto 16px;
  border: 1px solid #6bb8e25e;
  border-radius: 16px;
  background: #19476a44;
}
.a51-relay h3 {
  font-size: 20px;
}
.a51-relay p {
  font-size: 15px;
  margin: 10px 0 16px;
}
.a51-relay strong {
  font-size: 14px;
  font-weight: 550;
  line-height: 1.6;
  color: #92d7ff;
}
.a51-link {
  position: absolute;
  right: calc(100% + 4px);
  width: 28px;
  top: 28px;
  height: 1px;
  background: #7cd4ff;
}
.a51-link-end {
  right: auto;
  left: calc(100% + 4px);
}
.a51-link:after {
  content: "";
  position: absolute;
  right: 0;
  top: -3px;
  width: 6px;
  height: 6px;
  border-top: 1px solid #7cd4ff;
  border-right: 1px solid #7cd4ff;
  transform: rotate(45deg);
}
.a51-link span {
  display: block;
  width: 8px;
  height: 3px;
  background: #d9f4ff;
  box-shadow: 0 0 10px #4fb7ff;
  animation: a51-travel 1.3s ease-out 3;
}
.a51-review {
  padding: 8px 0;
}
.a51-review > h3 {
  margin: 20px 0 8px;
}
.a51-review p {
  font-size: 15px;
}
.a51-browser {
  border: 1px solid #8dbae270;
  border-radius: 10px;
  background: linear-gradient(145deg, #1b4162, #0b1c30);
  box-shadow: 0 18px 40px #02081355;
  overflow: hidden;
}
.a51-browser-bar {
  display: flex;
  gap: 5px;
  padding: 10px 13px;
  border-bottom: 1px solid #769ebb35;
}
.a51-browser-bar i {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #95bfda;
}
.a51-browser-body {
  display: grid;
  grid-template-columns: 34px 1fr 54px;
  align-items: center;
  gap: 14px;
  padding: 24px 17px;
}
.a51-browser-body b {
  display: block;
  height: 4px;
  border-radius: 3px;
  background: #7ab4d450;
  margin: 7px 0;
}
.a51-browser-body b:first-child {
  width: 80%;
  background: #c0e9ff;
}
.a51-browser-body b:last-child {
  width: 65%;
}
.a51-browser-chart {
  height: 43px;
  display: flex;
  align-items: end;
  gap: 5px;
}
.a51-browser-chart i {
  width: 8px;
  height: 80%;
  background: linear-gradient(#96ddff, #267ac4);
  border-radius: 3px 3px 0 0;
}
.a51-browser-chart i:nth-child(2) {
  height: 45%;
}
.a51-browser-chart i:nth-child(3) {
  height: 65%;
}
.a51-browser-chart i:nth-child(4) {
  height: 35%;
}
.a51-explanation {
  display: grid;
  grid-template-columns: 1fr 1.7fr;
  gap: 48px;
  border-top: 1px solid #7094ad38;
  margin-top: 32px;
  padding-top: 24px;
}
.a51-explanation h3 {
  font-size: 19px;
  line-height: 1.5;
  max-width: 300px;
}
.a51-explanation p {
  font-size: 15px;
}
.a51-pipeline {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  margin: 4px 0 34px;
}
.a51-pipeline button {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  text-align: left;
  background: linear-gradient(140deg, #153c5955, #0c243433);
  border: 1px solid #6397b540;
  border-radius: 12px;
  padding: 20px;
  color: #b3cadb;
  font: inherit;
  cursor: pointer;
  min-width: 0;
  transition:
    background 0.2s,
    border-color 0.2s;
}
.a51-pipeline button:not(:last-child):after {
  content: "→";
  position: absolute;
  left: calc(100% + 6px);
  top: 47%;
  color: #73a7c6;
}
.a51-pipeline button[aria-pressed="true"] {
  background: linear-gradient(140deg, #275f86aa, #12345499);
  border-color: #8fd8ff;
  box-shadow: 0 6px 28px #020c2533;
}
.a51-pipeline span {
  font-size: 19px;
  color: #e5f4fc;
}
.a51-pipeline small {
  font-size: 14px;
  line-height: 1.4;
}
.a51-stage-detail {
  display: grid;
  grid-template-columns: 0.85fr 1.4fr;
  gap: 55px;
  align-items: center;
  padding: 12px 7% 0;
}
.a51-stage-art {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 206px;
  isolation: isolate;
}
.a51-stage-orbit {
  position: absolute;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  border: 1px solid #71bdff35;
  box-shadow:
    0 0 0 18px #458ec50a,
    0 0 0 38px #458ec507;
  transform: rotateX(20deg);
  z-index: -1;
}
.a51-stage-core {
  display: grid;
  place-items: center;
  width: 88px;
  height: 88px;
  border: 1px solid #8dd4ff88;
  border-radius: 23px;
  transform: rotate(-7deg);
  background: linear-gradient(135deg, #286085dd, #112a45);
  box-shadow:
    10px 16px 0 #081a2a88,
    0 0 55px #4aaeee22;
  margin-bottom: 25px;
}
.a51-stage-core svg {
  width: 44px;
  height: 44px;
  transform: rotate(7deg);
}
.a51-stage-art span {
  font-size: 15px;
  color: #bedcf1;
  background: #0b2035cc;
  padding: 5px 14px;
  border-radius: 20px;
}
.a51-stage-copy h3 {
  font-size: 27px;
  line-height: 1.2;
  margin-bottom: 16px;
}
.a51-stage-copy p {
  font-size: 17px;
}
.a51-stage-copy p + p {
  margin-top: 14px;
  color: #91b5cf;
  font-size: 15px;
}
.a51-stores svg {
  margin-left: auto;
  margin-right: auto;
}
@keyframes a51-travel {
  from {
    transform: translateX(0);
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  to {
    transform: translateX(23px);
    opacity: 0;
  }
}
@media (max-width: 1000px) {
  .a51-map {
    grid-template-columns: 1.3fr 0.8fr;
    gap: 28px;
  }
  .a51-review {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: 180px 1fr;
    column-gap: 25px;
  }
  .a51-browser {
    grid-row: 1/5;
  }
  .a51-review > h3 {
    margin-top: 0;
  }
  .a51-link-end {
    display: none;
  }
  .a51-explanation {
    gap: 28px;
  }
  .a51-intro {
    gap: 30px !important;
  }
  .a51-pipeline {
    gap: 20px;
  }
  .a51-pipeline button {
    padding: 16px;
  }
  .a51-pipeline small {
    font-size: 13px;
  }
  .a51-stage-detail {
    padding: 0;
    gap: 28px;
  }
}
@media (max-width: 600px) {
  .a51 {
    padding: 56px 0;
  }
  .a51 .a51-intro {
    grid-template-columns: 1fr;
    gap: 20px !important;
  }
  .a51 .a51-intro p {
    font-size: 17px;
  }
  .a51-tabs {
    gap: 20px;
    margin-bottom: 28px;
  }
  .a51-tabs button {
    font-size: 16px;
  }
  .a51-map {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .a51-customer {
    padding: 21px 18px;
  }
  .a51-boundary-title {
    margin-bottom: 24px;
    gap: 10px;
  }
  .a51-boundary-title h3 {
    font-size: 16px;
  }
  .a51-scanner h4 {
    font-size: 19px;
  }
  .a51-stores h4 {
    font-size: 16px;
  }
  .a51-stores p {
    font-size: 13px;
  }
  .a51-relay {
    padding: 15px 8px 15px 78px;
    text-align: left;
    min-height: 130px;
  }
  .a51-relay-icon {
    position: absolute;
    left: 2px;
    top: 20px;
    margin: 0;
  }
  .a51-relay strong {
    font-size: 14px;
  }
  .a51-relay strong br {
    display: none;
  }
  .a51-relay p {
    margin: 7px 0 10px;
  }
  .a51-link {
    top: -22px;
    left: 30px;
    width: 1px;
    height: 36px;
    background: #7cd4ff66;
  }
  .a51-link:after {
    top: auto;
    bottom: 0;
    left: -3px;
    transform: rotate(135deg);
  }
  .a51-link span {
    display: none;
  }
  .a51-link-end {
    display: block;
    top: auto;
    bottom: -22px;
    height: 32px;
  }
  .a51-review {
    display: block;
    padding: 18px 0 0;
  }
  .a51-browser {
    width: 190px;
    margin-bottom: 20px;
  }
  .a51-review > h3 {
    margin: 0 0 8px;
  }
  .a51-explanation {
    grid-template-columns: 1fr;
    gap: 12px;
    padding-top: 23px;
    margin-top: 24px;
  }
  .a51-explanation h3 {
    max-width: none;
    font-size: 20px;
  }
  .a51-explanation p {
    font-size: 16px;
  }
  .a51-pipeline {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .a51-pipeline button {
    padding: 17px 14px;
    gap: 9px;
  }
  .a51-pipeline button:after {
    display: none;
  }
  .a51-pipeline span {
    font-size: 17px;
  }
  .a51-pipeline small {
    font-size: 13px;
  }
  .a51-stage-detail {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .a51-stage-art {
    min-height: 184px;
  }
  .a51-stage-copy h3 {
    font-size: 25px;
  }
  .a51-stage-copy p {
    font-size: 16px;
  }
  .a51-canvas {
    min-height: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .a51 * {
    animation: none !important;
    transition: none !important;
  }
}
#environment,
#approach {
  scroll-margin-top: 24px;
}
@media (max-width: 600px) {
  .a51 {
    padding-block: 48px;
  }
  .a51 .a51-intro {
    margin-bottom: 24px;
  }
  .a51-review {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    column-gap: 16px;
    row-gap: 8px;
  }
  .a51-review .a51-browser {
    grid-column: 1;
    grid-row: 1/3;
    width: 86px;
    height: 86px;
    margin: 0;
  }
  .a51-review > h3 {
    grid-column: 2;
    align-self: end;
    margin: 0;
    font-size: 19px;
  }
  .a51-review > p {
    grid-column: 2;
    margin: 0;
  }
  .a51-browser-body {
    grid-template-columns: 1fr;
    padding: 13px;
  }
  .a51-browser-body > div {
    display: none;
  }
  .a51-browser-body > svg {
    margin: auto;
  }
  .a46-picker {
    margin-bottom: 16px;
  }
}
.a51 .a51-intro,
.a46-section .a46-heading {
  display: block;
  max-width: 1160px;
  margin: 0 auto 40px;
  text-align: left;
}
.a51 .a51-intro h2,
.a46-section .a46-heading h2 {
  max-width: 900px;
  margin: 0;
  line-height: 1.08;
}
.a51 .a51-intro > p,
.a46-section .a46-heading > p {
  max-width: 730px;
  margin: 23px 0 0;
  font-size: 19px;
  line-height: 1.7;
}
.a51 .a51-intro,
.a46-section .a46-heading {
  text-align: center;
}
.a51 .a51-intro h2,
.a46-section .a46-heading h2,
.a51 .a51-intro > p,
.a46-section .a46-heading > p {
  margin-left: auto;
  margin-right: auto;
}
.a46-section .a46-heading {
  margin-bottom: 28px;
}
.a46-section .a46-picker {
  margin-bottom: 30px;
}
.s43-scan {
  padding-bottom: 0;
}
.r34-questions-band {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(ellipse at 50% 30%, #17527370, transparent 65%),
    radial-gradient(ellipse at 85% 95%, #18477255, transparent 55%),
    linear-gradient(145deg, #081a2b, #102a40 55%, #081a2b);
  overflow: hidden;
}
.r34-questions-band:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: repeating-radial-gradient(
    ellipse at 50% 40%,
    transparent 0 85px,
    #88cef30b 86px,
    transparent 87px 150px
  );
  mask-image: linear-gradient(transparent, #000 40%, transparent);
}
.r34-questions-band .questions-section {
  display: block;
  width: calc(100% - 48px);
  max-width: 920px;
  margin: 0 auto;
  padding: 86px 0 90px;
  border: 0;
}
.r34-questions-band .questions-section h2 {
  max-width: none;
  margin: 0 0 42px;
  text-align: center;
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1.14;
  letter-spacing: -0.04em;
  color: #e6f3fd;
}
.r34-questions-band .question-list {
  width: 100%;
  border: 0;
  display: grid;
  gap: 12px;
}
.r34-questions-band .question-list details {
  position: relative;
  margin: 0;
  padding: 0;
  border: 1px solid #7bbde52f;
  border-radius: 12px;
  background: linear-gradient(110deg, #173950a8, #0a2136c9);
  box-shadow: 0 5px 18px #03101c12;
  transition:
    transform 220ms ease,
    box-shadow 220ms ease,
    border-color 220ms ease;
}
.r34-questions-band .question-list summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 28px;
  min-height: 78px;
  list-style: none;
  cursor: pointer;
  color: #e0f0fb;
  font-size: 19px;
  line-height: 1.4;
  font-weight: 500;
}
.r34-questions-band .question-list summary::-webkit-details-marker {
  display: none;
}
.r34-questions-band .question-list summary > span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  font-size: 24px;
  font-weight: 400;
  color: #8fd7ff;
  transition: transform 220ms ease;
}
.r34-questions-band .question-list details:hover {
  border-color: #7bbde57a;
}
.r34-questions-band .question-list details[open] {
  transform: translateX(8px);
  border-color: #82cdf7aa;
  background: linear-gradient(110deg, #1c4864, #112e48);
  box-shadow:
    -4px 0 0 #86d5ff,
    0 18px 44px #020d1c55;
}
.r34-questions-band .question-list details[open] summary > span {
  transform: rotate(45deg);
}
.r34-questions-band .question-list details p {
  max-width: 760px;
  padding: 0 76px 26px 28px;
  margin: 0;
  color: #c1d9e9;
  font-size: 17px;
  line-height: 1.75;
}
.r34-questions-band .question-list details[open] p {
  animation: faq54-answer 220ms ease-out;
}
.r34-questions-band .question-list summary:focus-visible {
  outline: 3px solid #8cd7ff;
  outline-offset: 4px;
  border-radius: 10px;
}
@keyframes faq54-answer {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (max-width: 650px) {
  .a51 .a51-intro,
  .a46-section .a46-heading {
    text-align: left;
    margin-bottom: 28px;
  }
  .a51 .a51-intro > p,
  .a46-section .a46-heading > p {
    font-size: 17px;
    line-height: 1.65;
    margin-top: 18px;
  }
  .r34-questions-band .questions-section {
    width: calc(100% - 40px);
    padding: 55px 0 60px;
  }
  .r34-questions-band .questions-section h2 {
    font-size: 36px;
    margin-bottom: 28px;
  }
  .r34-questions-band .question-list summary {
    padding: 19px 18px;
    font-size: 17px;
    gap: 12px;
    min-height: 72px;
  }
  .r34-questions-band .question-list details p {
    padding: 0 18px 22px;
    font-size: 16px;
  }
  .r34-questions-band .question-list details[open] {
    transform: none;
    box-shadow:
      inset 3px 0 0 #86d5ff,
      0 12px 28px #020d1c33;
  }
}
@media (prefers-reduced-motion: reduce) {
  .r34-questions-band .question-list details,
  .r34-questions-band .question-list summary > span {
    transition: none;
  }
  .r34-questions-band .question-list details[open] {
    transform: none;
  }
  .r34-questions-band .question-list details[open] p {
    animation: none;
  }
}
@keyframes j56-copy-in {
  from {
    opacity: 0.35;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.q57-band {
  background:
    radial-gradient(ellipse at 50% 15%, #164f752f, transparent 65%),
    linear-gradient(135deg, #081a2b, #10263e 65%, #081a2b);
}
.q57-band:before {
  opacity: 0.35;
}
.q57-band .questions-section {
  max-width: 880px;
  padding: 64px 0;
}
.q57-band .questions-section h2 {
  font-size: clamp(30px, 3.4vw, 44px);
  margin: 0 0 32px;
  line-height: 1.15;
}
.q57-band .question-list {
  gap: 0;
  border-top: 1px solid #8fcdf438;
}
.q57-band .question-list details {
  border: 0;
  border-bottom: 1px solid #8fcdf438;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transition: background 180ms ease;
}
.q57-band .question-list summary {
  font-size: 18px;
  min-height: 64px;
  padding: 18px 20px;
  gap: 20px;
  line-height: 1.5;
}
.q57-band .question-list summary > span {
  width: 24px;
  height: 24px;
  flex-basis: 24px;
  font-size: 23px;
}
.q57-band .question-list details:hover {
  background: #72c9ff08;
}
.q57-band .question-list details[open] {
  transform: none;
  background: linear-gradient(110deg, #17436866, #102b4420);
  box-shadow: inset 2px 0 #8fd7ff;
  border-color: #8fcdf460;
}
.q57-band .question-list details p {
  max-width: 780px;
  padding: 0 62px 16px 20px;
  font-size: 17px;
  line-height: 1.7;
}
.q57-band .question-list details p:last-child {
  padding-bottom: 24px;
}
@media (max-width: 650px) {
  .q57-band .questions-section {
    width: calc(100% - 40px);
    padding: 44px 0;
  }
  .q57-band .questions-section h2 {
    font-size: 30px;
    margin-bottom: 24px;
  }
  .q57-band .question-list summary {
    font-size: 17px;
    padding: 17px 12px;
    min-height: 64px;
    gap: 12px;
  }
  .q57-band .question-list details p {
    padding: 0 16px 14px 12px;
    font-size: 16px;
  }
  .q57-band .question-list details p:last-child {
    padding-bottom: 20px;
  }
}
.q57-band {
  background-image:
    linear-gradient(
      0deg,
      #071522 0%,
      transparent 16%,
      transparent 88%,
      #071522 100%
    ),
    url("/website-assets/faq-bg-v58-glass.png");
  background-color: #071522;
  background-size: cover;
  background-position: center;
}
.q57-band:before {
  display: none;
}
.q57-band .question-list {
  background: linear-gradient(110deg, #07152244, #07152220);
  border-top-color: #8fcdf440;
}
.q57-band .question-list details[open] {
  background: linear-gradient(110deg, #163c5cbb, #071522bb);
}
@media (max-width: 650px) {
  .q57-band {
    background-position: right center;
  }
  .q57-band .question-list {
    background: #071522aa;
  }
}
.closing-invitation.c59-contact {
  padding: 68px 0 72px;
  border-top: 0;
  background-image:
    linear-gradient(
      180deg,
      #071522 0%,
      #071522a8 28%,
      #07152250 70%,
      #071522 100%
    ),
    url("/website-assets/assets/background-navy-glass-v33-v52.webp");
  background-color: #071522;
  background-position: center;
  background-size: cover;
}
.c59-contact:before {
  background: linear-gradient(90deg, #07152218, #07152255);
}
.c59-contact .c32-layout {
  max-width: 1160px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
  gap: 76px;
  align-items: center;
}
.c59-contact .c32-copy {
  padding: 0;
}
.c59-contact .c32-copy h2 {
  font-size: clamp(40px, 4vw, 58px);
  line-height: 1.08;
  letter-spacing: -0.04em;
  margin: 0 0 24px;
}
.c59-contact .c32-copy > p {
  font-size: 18px;
  line-height: 1.7;
  max-width: 445px;
  margin: 0;
  color: #c3d8e8;
}
.c59-demo-topics {
  list-style: none;
  margin: 28px 0 0;
  padding: 0;
  max-width: 440px;
  display: grid;
  gap: 17px;
}
.c59-demo-topics li {
  position: relative;
  padding-left: 24px;
  color: #c3d8e8;
  font-size: 16px;
  line-height: 1.65;
}
.c59-demo-topics li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 6px;
  height: 6px;
  background: #8fd7ff;
  border-radius: 50%;
  box-shadow: 0 0 12px #43a4dc55;
}
.c59-contact .walkthrough-form.c32-form {
  padding: 30px;
  border: 1px solid #86bde535;
  border-radius: 12px;
  background: linear-gradient(140deg, #132d42e8, #091c2dec);
  box-shadow: 0 20px 60px #0003;
}
.c59-contact .c32-form h3 {
  margin: 0 0 24px;
  color: #e5f3fc;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -0.02em;
}
.c59-contact .walkthrough-form.c32-form label {
  display: block;
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 1.5;
  color: #d7e8f4;
}
.c59-optional {
  font-size: 13px;
  color: #9fb9ce;
  font-weight: 400;
}
.c59-contact .walkthrough-form.c32-form input,
.c59-contact .walkthrough-form.c32-form textarea {
  width: 100%;
  min-height: 48px;
  margin: 7px 0 0;
  padding: 12px 14px;
  border: 1px solid #729db44d;
  border-radius: 6px;
  background: #081b2bc9;
  color: #f0f7ff;
  font: inherit;
  font-size: 16px;
  box-sizing: border-box;
}
.c59-contact .walkthrough-form.c32-form textarea {
  min-height: 94px;
  resize: vertical;
}
.c59-contact .walkthrough-form.c32-form input:focus,
.c59-contact .walkthrough-form.c32-form textarea:focus {
  outline: 2px solid #8fd7ff;
  outline-offset: 2px;
  background: #0d253b;
}
.c59-contact .walkthrough-form.c32-form > .button {
  border-radius: 6px;
  min-height: 50px;
  justify-content: center;
  gap: 20px;
  font-size: 16px;
  background: linear-gradient(110deg, #a8dfff, #82cfff);
  color: #08263c;
}
.c59-contact .c32-form .form-preview-label {
  font-size: 13px;
  line-height: 1.5;
  color: #a9c3d7;
  text-align: center;
  margin: 14px 0 0;
}
.c59-contact .request-preview {
  margin-top: 18px;
  font-size: 15px;
  overflow-wrap: anywhere;
}
@media (max-width: 900px) {
  .c59-contact .c32-layout {
    gap: 36px;
  }
  .c59-contact .walkthrough-form.c32-form {
    padding: 24px;
  }
  .c59-contact .form-pair {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 650px) {
  .closing-invitation.c59-contact {
    padding: 42px 0 48px;
    background-position: 30% center;
  }
  .c59-contact .c32-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .c59-contact .c32-copy h2 {
    font-size: 42px;
    margin-bottom: 20px;
  }
  .c59-contact .c32-copy > p {
    font-size: 17px;
  }
  .c59-demo-topics {
    gap: 12px;
    margin-top: 22px;
  }
  .c59-contact .walkthrough-form.c32-form {
    padding: 22px 18px;
  }
  .c59-contact .c32-form h3 {
    font-size: 23px;
    margin-bottom: 20px;
  }
}
.s61-header {
  position: sticky;
  top: 0;
  z-index: 80;
  background: linear-gradient(100deg, #081827f5, #10273cf5);
  border-bottom: 1px solid #8bc9f026;
  backdrop-filter: blur(16px);
  color: #e4f2fc;
}
.s61-bar {
  display: flex;
  align-items: center;
  gap: 40px;
  min-height: 80px;
  max-width: 1320px;
}
.s61-bar .brand {
  color: #eaf4fc;
  font-size: 25px;
  gap: 12px;
  flex-shrink: 0;
}
.s61-bar .brand img {
  width: 40px;
  height: 40px;
}
.s61-nav {
  display: flex;
  align-items: center;
  gap: 32px;
  margin-left: auto;
}
.s61-nav a,
.s61-login {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  color: #c8dfef;
  font-size: 15px;
}
.s61-actions {
  display: flex;
  align-items: center;
  gap: 28px;
}
.s61-contact {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 20px;
  border-radius: 6px;
  background: #91d7ff;
  color: #09273e;
  font-size: 15px;
  font-weight: 600;
}
.s61-header a:hover {
  color: #9dddff;
}
.s61-contact:hover {
  background: #b4e6ff;
  color: #09273e !important;
}
.s61-header a[aria-current="page"] {
  text-decoration: underline;
  text-underline-offset: 7px;
}
.s61-menu {
  display: none;
}
.s61-mobile[hidden] {
  display: none !important;
}
.s61-header a:focus-visible,
.s61-header button:focus-visible {
  outline: 2px solid #9bdfff;
  outline-offset: 4px;
  border-radius: 4px;
}
.s61-header ~ main [id] {
  scroll-margin-top: 98px;
}
.s61-subpage {
  background: #071522;
  color: #e5f3fd;
}
.s61-subpage .q57-band {
  min-height: 650px;
  padding-top: 25px;
}
.s61-subpage .q57-band .questions-section h1 {
  font-size: clamp(38px, 4.8vw, 58px);
  line-height: 1.12;
  letter-spacing: -0.04em;
  text-align: center;
  margin: 0 0 22px;
  color: #e6f3fd;
}
.s61-page-intro {
  max-width: 610px;
  text-align: center;
  margin: 0 auto 35px;
  font-size: 18px;
  line-height: 1.65;
  color: #bfd7e8;
}
.s61-faq-contact {
  max-width: 880px;
  margin: 28px auto 0;
  padding: 26px 0 0;
  border-top: 1px solid #88b8db33;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.s61-faq-contact p {
  margin: 0;
  font-size: 18px;
  color: #d4eafa;
}
.s61-faq-contact a {
  min-height: 44px;
  display: flex;
  align-items: center;
  color: #98daff;
  font-size: 16px;
  gap: 16px;
}
.s61-subpage .c59-contact {
  padding-top: 70px;
  padding-bottom: 80px;
}
.s61-subpage .c32-copy h1 {
  font-size: clamp(42px, 4.5vw, 62px);
  line-height: 1.08;
  letter-spacing: -0.04em;
  color: #e8f5ff;
  margin: 0 0 24px;
}
.s61-subpage .c32-copy h1 em {
  font-style: normal;
  color: #8ed5ff;
}
@media (max-width: 900px) {
  .s61-bar {
    gap: 24px;
  }
  .s61-nav {
    gap: 24px;
  }
  .s61-actions {
    gap: 18px;
  }
}
@media (max-width: 760px) {
  .s61-bar {
    min-height: 68px;
    gap: 12px;
    width: calc(100% - 32px);
  }
  .s61-bar .brand {
    font-size: 22px;
    gap: 8px;
  }
  .s61-bar .brand img {
    width: 32px;
    height: 32px;
  }
  .s61-nav,
  .s61-login {
    display: none;
  }
  .s61-actions {
    margin-left: auto;
    gap: 12px;
  }
  .s61-contact {
    font-size: 14px;
    padding: 10px 13px;
  }
  .s61-menu {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 6px 0;
    border: 0;
    background: none;
    color: #d5edff;
    font: inherit;
    font-size: 14px;
    cursor: pointer;
  }
  .s61-mobile {
    display: grid;
    padding-bottom: 16px;
    width: calc(100% - 40px);
  }
  .s61-mobile a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
    border-top: 1px solid #91bada26;
    color: #d4eafb;
    font-size: 16px;
  }
  .s61-header ~ main [id] {
    scroll-margin-top: 82px;
  }
}
@media (max-width: 600px) {
  .s61-subpage .q57-band {
    padding-top: 0;
  }
  .s61-page-intro {
    font-size: 17px;
    margin-bottom: 26px;
  }
  .s61-faq-contact {
    display: block;
  }
  .s61-faq-contact a {
    margin-top: 10px;
  }
  .s61-subpage .c59-contact {
    padding: 44px 0 50px;
  }
  .s61-subpage .c32-copy h1 {
    font-size: 43px;
  }
}
@media (max-width: 380px) {
  .s61-bar .brand {
    font-size: 20px;
  }
  .s61-contact {
    padding-inline: 10px;
  }
  .s61-actions {
    gap: 10px;
  }
  .s61-menu span {
    display: none;
  }
}

/* Public deployment explainer: one cloud at a time, with detail on demand. */
.deployment-page { --ink: #143852; --muted: #416077; --blue: #126da6; color: var(--ink); background: #f7fafc; font-size: 17px; line-height: 1.6; }
.deployment-page p, .deployment-page h1, .deployment-page h2, .deployment-page h3 { margin: 0; }
.deployment-page h1, .deployment-page h2, .deployment-page h3 { color: inherit; }
.deployment-eyebrow { color: var(--blue); font-size: 13px; font-weight: 650; letter-spacing: .11em; text-transform: uppercase; }
.deployment-hero { padding: 42px 0 46px; color: #eef8ff; background: linear-gradient(100deg, #041222dd, #071d3699 65%, #0c2c4955), url('/website-assets/assets/hero-glass-live/background-1536.webp') center / cover, #06192c; }
.deployment-hero .deployment-eyebrow { color: #a6ddfa; margin-bottom: 12px; }
.deployment-hero h1 { font-size: clamp(42px, 4.5vw, 64px); line-height: 1.12; letter-spacing: -.045em; font-weight: 550; }
.deployment-hero h1 em { color: #98d8fa; font-style: normal; }
.deployment-intro { max-width: 900px; margin-top: 16px !important; color: #d5e9f5; font-size: 21px; }
.deployment-hero-note { margin-top: 10px !important; color: #c5deed; font-size: 16px; }
.deployment-content { padding-top: 28px; padding-bottom: 36px; }
.deployment-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 800px; margin: 0 auto; }
.deployment-choices a { display: flex; align-items: center; gap: 16px; min-height: 88px; padding: 16px 22px; border: 1px solid #b9cfde; border-radius: 14px; background: #fff; color: var(--ink); text-decoration: none; }
.deployment-choices a:hover { border-color: #126da6; background: #eef7fc; }
.deployment-choices a[aria-selected="true"] { border-color: #126da6; background: #e9f5fd; box-shadow: 0 0 0 1px #126da6; }
.deployment-choices img { width: 40px; height: 40px; object-fit: contain; flex: none; }
.deployment-choices strong { display: block; font-size: 19px; line-height: 1.35; font-weight: 650; }
.deployment-choices a > span > span { display: block; margin-top: 3px; color: var(--muted); font-size: 14px; }
.deployment-choice-arrow { margin-left: auto; font-size: 22px; color: var(--blue); }
.deployment-provider { padding: 42px 0 0; scroll-margin-top: 90px; }
.deployment-provider[hidden] { display: none; }
.deployment-provider:focus-visible { outline: 3px solid #126da6; outline-offset: 8px; border-radius: 8px; }
.deployment-heading { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: end; gap: 40px; margin-bottom: 28px; }
.deployment-heading h2 { margin-top: 9px; font-size: clamp(30px, 3vw, 39px); line-height: 1.18; letter-spacing: -.035em; }
.deployment-heading > p { color: var(--muted); font-size: 16px; }
.deployment-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 28px; list-style: none; margin: 0; padding: 0; }
.deployment-step { min-width: 0; }
.deployment-step-visual { height: 126px; position: relative; overflow: hidden; border: 1px solid #d6e9f4; border-radius: 13px; background: #edf7fc; }
.deployment-step-art { display: block; width: 100%; height: 100%; }
.deployment-step-number { position: absolute; top: 10px; left: 10px; z-index: 1; display: flex; justify-content: center; align-items: center; width: 34px; height: 34px; border-radius: 50%; background: #0785a3; color: #fff; font-size: 21px; line-height: 1; font-weight: 650; box-shadow: 0 0 0 3px #f7fafc; }
.deployment-step-location { margin-top: 14px !important; color: var(--blue); font-size: 12px; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; }
.deployment-step h3 { margin-top: 5px; font-size: 22px; line-height: 1.25; letter-spacing: -.02em; font-weight: 600; }
.deployment-step > p:last-child { margin-top: 9px; color: var(--muted); font-size: 16px; line-height: 1.55; }
.deployment-guide { display: flex; align-items: center; gap: 32px; margin-top: 36px; padding: 24px 32px; border: 1px solid #c8dfed; border-radius: 16px; background: linear-gradient(120deg, #fff, #edf6fc); }
.deployment-guide-preview { display: block; flex: 0 0 114px; border: 1px solid #d1e0eb; border-radius: 6px; box-shadow: 0 5px 16px #123e5c12; overflow: hidden; }
.deployment-guide-preview img { display: block; width: 100%; height: auto; }
.deployment-guide h3 { margin-top: 6px; font-size: clamp(24px, 2.5vw, 30px); line-height: 1.25; letter-spacing: -.025em; }
.deployment-guide p:not(.deployment-eyebrow) { margin-top: 7px; color: var(--muted); font-size: 16px; }
.deployment-guide-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 18px; }
.deployment-button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 48px; padding: 12px 20px; border-radius: 9px; background: #123e5c; color: #fff; font-weight: 600; font-size: 15px; white-space: nowrap; text-decoration: none; }
.deployment-button:hover { background: #1b567b; }
.deployment-text-link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: #126da6; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; font-size: 15px; }
.deployment-source-note { margin-top: 16px !important; color: var(--muted); font-size: 15px; }
.deployment-details { margin-top: 24px; border: 1px solid #c8dce9; border-radius: 13px; overflow: hidden; background: #fff; }
.deployment-details details + details { border-top: 1px solid #d6e4ed; }
.deployment-details summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; list-style: none; padding: 17px 22px; min-height: 58px; color: var(--ink); font-size: 17px; font-weight: 600; line-height: 1.4; cursor: pointer; }
.deployment-details summary::-webkit-details-marker { display: none; }
.deployment-details summary::after { content: ''; flex: none; width: 9px; height: 9px; border-right: 2px solid #126da6; border-bottom: 2px solid #126da6; transform: rotate(45deg); margin: -4px 4px 0 0; }
.deployment-details details[open] summary::after { transform: rotate(225deg); margin-top: 4px; }
.deployment-details summary:hover { background: #f0f7fb; }
.deployment-details-body { padding: 0 22px 22px; color: var(--muted); font-size: 16px; }
.deployment-details-body p + p { margin-top: 12px; }
.deployment-details-body ul { margin: 0; padding-left: 22px; }
.deployment-details-body li + li { margin-top: 12px; }
.deployment-details-body strong { color: var(--ink); }
.deployment-page code { font-size: .9em; overflow-wrap: anywhere; color: var(--ink); }
.deployment-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; padding: 26px 24px; margin-top: 32px; border-radius: 14px; background: #e8f2f9; }
.deployment-principles > div { display: flex; gap: 14px; align-items: start; }
.deployment-principles svg { flex: none; width: 30px; height: 30px; margin-top: 2px; fill: none; stroke: #126da6; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.deployment-principles h3 { font-size: 18px; line-height: 1.3; letter-spacing: -.015em; }
.deployment-principles p { margin-top: 7px; color: var(--muted); font-size: 15px; line-height: 1.5; }
.deployment-help { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 28px; padding: 28px 30px; border: 1px solid #c8dfed; border-radius: 14px; background: linear-gradient(110deg, #edf7fd, #e2f0fa); }
.deployment-help h2 { font-size: clamp(26px, 2.7vw, 33px); line-height: 1.2; letter-spacing: -.03em; }
.deployment-help p { max-width: 690px; margin-top: 9px; color: var(--muted); font-size: 16px; }
@media (max-width: 1000px) {
  .deployment-steps { gap: 28px 20px; }
  .deployment-step-visual { height: 110px; }
  .deployment-step h3 { font-size: 20px; }
  .deployment-heading { gap: 28px; }
  .deployment-principles { gap: 20px; padding: 24px 20px; }
  .deployment-principles > div { flex-direction: column; gap: 10px; }
}
@media (max-width: 760px) {
  .deployment-hero { padding: 32px 0 34px; background-image: linear-gradient(110deg, #041222e8, #071d36b5), url('/website-assets/assets/hero-glass-live/background-800.webp'); }
  .deployment-hero h1 { font-size: clamp(38px, 8vw, 58px); }
  .deployment-intro { font-size: 18px; line-height: 1.5; }
  .deployment-hero-note { font-size: 15px; }
  .deployment-content { padding-top: 22px; }
  .deployment-choices { gap: 12px; }
  .deployment-choices a { gap: 11px; padding: 14px; min-height: 100px; flex-wrap: wrap; align-content: center; }
  .deployment-choices img { width: 30px; height: 30px; }
  .deployment-choices strong { font-size: 16px; }
  .deployment-choices a > span > span { font-size: 13px; }
  .deployment-choice-arrow { display: none; }
  .deployment-provider { padding-top: 32px; }
  .deployment-heading { grid-template-columns: 1fr; gap: 14px; margin-bottom: 24px; }
  .deployment-heading h2 { font-size: clamp(28px, 6vw, 36px); }
  .deployment-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 22px; }
  .deployment-step-visual { height: 114px; }
  .deployment-guide { padding: 22px; gap: 24px; }
  .deployment-guide-preview { flex-basis: 95px; }
  .deployment-principles { grid-template-columns: 1fr; gap: 22px; }
  .deployment-principles > div { flex-direction: row; gap: 16px; }
  .deployment-help { flex-direction: column; align-items: start; gap: 20px; padding: 24px; }
}
@media (max-width: 480px) {
  .deployment-choices a { align-items: start; flex-direction: column; flex-wrap: nowrap; gap: 9px; padding: 14px; min-height: 130px; }
  .deployment-steps { grid-template-columns: 1fr; gap: 30px; }
  .deployment-step-visual { height: 124px; }
  .deployment-step-art { max-width: 355px; margin: 0 auto; }
  .deployment-step h3 { font-size: 22px; }
  .deployment-guide { align-items: start; gap: 16px; padding: 20px 18px; }
  .deployment-guide-preview { flex-basis: 72px; }
  .deployment-guide h3 { font-size: 23px; }
  .deployment-guide-actions { flex-direction: column; align-items: start; gap: 8px; }
  .deployment-guide .deployment-button { white-space: normal; text-align: center; padding: 10px 14px; font-size: 14px; }
  .deployment-details summary { padding: 16px 18px; font-size: 16px; }
  .deployment-details-body { padding: 0 18px 20px; }
}
@media (prefers-reduced-motion: reduce) { .deployment-page *, .deployment-page *::before, .deployment-page *::after { transition: none; animation: none; } }

/* Shared website callout: icon, concise explanation, and one primary action. */
.website-callout {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 28px;
  padding: 32px;
  color: #143852;
  background: linear-gradient(135deg, #ffffff, #f2f8fc);
  border: 1px solid #b9d0e3;
  border-radius: 24px;
  box-shadow: 0 12px 32px #1438520a, inset 0 1px #ffffff;
}
.website-callout-icon {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  color: #126da6;
  background: linear-gradient(145deg, #eff9ff, #dceef9);
  border: 1px solid #c4dfef;
  border-radius: 16px;
}
.website-callout-icon svg { width: 28px; height: 28px; }
.website-callout-copy { min-width: 0; }
.website-callout .website-callout-eyebrow {
  margin: 0 0 10px;
  color: #126da6;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .12em;
  line-height: 1.4;
  text-transform: uppercase;
}
.website-callout h2 {
  margin: 0 0 10px;
  color: #143852;
  font-size: clamp(24px, 2.2vw, 30px);
  font-weight: 550;
  letter-spacing: -.03em;
  line-height: 1.2;
  text-wrap: balance;
}
.website-callout-copy > p:last-child {
  max-width: 650px;
  margin: 0;
  color: #416077;
  font-size: 16px;
  line-height: 1.65;
}
.website-callout-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 48px;
  padding: 14px 22px;
  color: #ffffff;
  background: #174a6b;
  border: 1px solid #174a6b;
  border-radius: 999px;
  box-shadow: 0 4px 12px #14385212;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;
}
.website-callout-action:hover { color: #ffffff; background: #0f3954; border-color: #0f3954; }
.website-callout-action:focus-visible { outline: 2px solid #126da6; outline-offset: 4px; }
@media (max-width: 1000px) {
  .website-callout { grid-template-columns: auto minmax(0, 1fr); gap: 20px 24px; }
  .website-callout-action { grid-column: 2; justify-self: start; }
}
@media (max-width: 760px) {
  .website-callout { grid-template-columns: minmax(0, 1fr); padding: 24px; border-radius: 20px; }
  .website-callout-icon { display: none; }
  .website-callout-action { grid-column: 1; justify-self: stretch; white-space: normal; }
}

/* Current website styles. Preserve cascade order in build-website.mjs. */
#main #perspective .p70-layout {
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 90px;
  max-width: 1120px;
  align-items: center;
}
#main #perspective .p70-copy {
  grid-column: 1;
  grid-row: 1;
}
#main #perspective .p70-copy h2 {
  font-size: clamp(32px, 3.3vw, 46px);
  max-width: 650px;
  line-height: 1.18;
}
#main #perspective .p70-copy > p {
  font-size: 18px;
  line-height: 1.8;
  max-width: 590px;
}
#main #perspective .p70-portrait {
  grid-column: 2;
  grid-row: 1;
  width: 280px;
  padding: 0;
  border: 1px solid #82b5d466;
  border-radius: 100px 100px 18px 18px;
  background: none;
  box-shadow: 0 20px 55px -25px #000b;
}
#main #perspective .p70-portrait::before {
  inset: 16px -16px -16px 16px;
  border: 1px solid #90c9eb33;
  border-radius: 100px 100px 18px 18px;
  background: none;
}
#main #perspective .p70-portrait img {
  height: 330px;
  border-radius: 100px 100px 18px 18px;
  object-position: center 20%;
}
#main #perspective .p70-person {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-top: 28px;
  padding-top: 25px;
  border-top: 1px solid #91bad744;
}
#main #perspective .p70-person h3 {
  font-size: 21px;
}
#main #perspective .p70-person p {
  font-size: 14px;
  line-height: 1.7;
}
#main #perspective .p70-experience {
  padding-left: 28px;
  border-left: 1px solid #91bad744;
}
#main #questions {
  max-width: 960px;
  padding-block: 76px;
}
#main #questions h2 {
  margin-bottom: 34px;
}
#main #questions .question-list {
  border: 0;
  max-width: none;
  width: 100%;
  margin: 0;
  display: block;
  background: none;
  overflow: visible;
}
#main #questions .question-list details {
  margin: 0;
  border-radius: 0;
  box-shadow: none;
  background: none;
  border: 1px solid transparent;
  border-bottom-color: #8faec266;
  padding: 0 22px;
  transition:
    background 0.18s ease,
    border-color 0.18s ease;
}
#main #questions .question-list details:first-child {
  border-top-color: #8faec266;
}
#main #questions .question-list summary {
  padding: 24px 0;
  font-size: 18px;
  line-height: 1.55;
  gap: 24px;
}
#main #questions .question-list summary > span {
  display: grid;
  place-items: center;
  flex: 0 0 29px;
  width: 29px;
  height: 29px;
  border-radius: 50%;
  background: #d9eaf5;
  color: #25617f;
  font-size: 21px;
  line-height: 1;
  transition:
    background 0.18s ease,
    color 0.18s ease;
}
#main #questions .question-list details:hover {
  background: #ffffff44;
}
#main #questions .question-list details[open] {
  border-color: #a0bfd366;
  background: linear-gradient(115deg, #ffffffc9, #ecf6fcaa);
  border-radius: 10px;
}
#main #questions .question-list details[open] summary {
  color: #124565;
}
#main #questions .question-list details[open] summary > span {
  background: #194765;
  color: #e6f6ff;
}
#main #questions .question-list details p {
  padding: 0 50px 14px 0;
  font-size: 16px;
  line-height: 1.8;
  color: #345b74;
  max-width: 810px;
}
#main #questions .question-list details p:last-child {
  padding-bottom: 26px;
}
#main #questions .question-list a {
  color: #116b9b;
  text-decoration: underline;
  text-underline-offset: 3px;
}
#main #questions .question-list a:hover {
  color: #08476d;
}
#main #questions .question-list a:focus-visible {
  outline: 2px solid #1e759f;
  outline-offset: 3px;
}
#main #questions .question-list summary:focus-visible {
  outline: 2px solid #1e759f;
  outline-offset: 5px;
  border-radius: 4px;
}
#main #conversation .c32-layout {
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  align-items: center;
  gap: 76px;
  max-width: 1200px;
}
#main #conversation .c32-copy > p {
  font-size: 18px;
  line-height: 1.8;
  max-width: 490px;
}
#main #conversation .c71-demo-topics {
  margin-top: 30px;
  padding: 0;
  max-width: 490px;
}
#main #conversation .c71-demo-topics li {
  position: relative;
  padding: 18px 0 18px 34px;
  border-top: 1px solid #80a6bf33;
  margin: 0;
}
#main #conversation .c71-demo-topics li::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 26px;
  width: 10px;
  height: 6px;
  transform: rotate(-45deg);
  border-left: 2px solid #90d5fc;
  border-bottom: 2px solid #90d5fc;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
#main #conversation .c71-demo-topics strong {
  font-size: 17px;
  margin-bottom: 6px;
  color: #e6f5ff;
}
#main #conversation .c71-demo-topics span {
  font-size: 15px;
  line-height: 1.75;
  color: #bbd3e4;
}
#main #conversation .c32-form {
  padding: 34px;
  border: 1px solid #c5dceb;
  border-radius: 18px;
  background: linear-gradient(145deg, #f6fbff, #dceaf4);
  box-shadow: 0 22px 55px -22px #0009;
}
#main #conversation .c32-form h3 {
  color: #173f5a;
  font-size: 25px;
  line-height: 1.35;
  letter-spacing: -0.025em;
  margin: 0 0 13px;
}
#main #conversation .c32-form .c71-form-intro {
  color: #47677f;
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 24px;
}
#main #conversation .c32-form label {
  color: #264e69;
  font-size: 14px;
  line-height: 1.6;
}
#main #conversation .c32-form .c59-optional {
  color: #536e81;
}
#main #conversation .c32-form input,
#main #conversation .c32-form textarea {
  color: #193e58;
  background: #f9fcff;
  border: 1px solid #6b899f;
  border-radius: 7px;
  box-shadow: 0 1px 2px #183a4f08;
  min-height: 48px;
  padding: 12px 14px;
  font-size: 16px;
  line-height: 1.5;
}
#main #conversation .c32-form input::placeholder,
#main #conversation .c32-form textarea::placeholder {
  color: #60788b;
  opacity: 1;
}
#main #conversation .c32-form input:focus,
#main #conversation .c32-form textarea:focus {
  outline: 2px solid #2583b5;
  outline-offset: 2px;
  border-color: #2583b5;
  box-shadow: none;
}
#main #conversation .c32-form .button {
  background: linear-gradient(115deg, #174d70, #0c304d);
  border: 1px solid #225677;
  color: #f0f8ff;
  min-height: 54px;
  box-shadow: 0 4px 10px #10324d1c;
  transition:
    background 0.18s ease,
    box-shadow 0.18s ease;
}
#main #conversation .c32-form .button:hover {
  background: linear-gradient(115deg, #22658d, #15466b);
  color: #fff;
  box-shadow: 0 5px 15px #10324d30;
  transform: none;
}
#main #conversation .c32-form .button:focus-visible {
  outline: 2px solid #2583b5;
  outline-offset: 4px;
}
#main #conversation .c32-form .form-preview-label {
  color: #4c6a80;
  font-size: 12px;
  line-height: 1.6;
  margin-top: 14px;
}
#main #conversation .c32-form .request-preview {
  background: #e1f0f8;
  border-color: #84aec8;
  color: #204b67;
}
#main #conversation .c32-form .request-preview strong,
#main #conversation .c32-form .request-preview p {
  color: #204b67;
}
@media (max-width: 1000px) {
  #main #perspective .p70-layout {
    gap: 48px;
    grid-template-columns: minmax(0, 1fr) 230px;
  }
  #main #perspective .p70-portrait {
    width: 230px;
  }
  #main #perspective .p70-portrait img {
    height: 290px;
  }
  #main #conversation .c32-layout {
    gap: 36px;
  }
  #main #conversation .c32-form {
    padding: 28px;
  }
}
@media (max-width: 900px) {
  #main #perspective .p70-layout {
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 25px;
  }
  #main #perspective .p70-copy {
    display: contents;
  }
  #main #perspective .p70-copy h2 {
    grid-column: 1/-1;
    grid-row: 1;
    margin: 0;
  }
  #main #perspective .p70-copy > p {
    grid-column: 1/-1;
    grid-row: 2;
    margin: 0;
    font-size: 16px;
    max-width: 680px;
  }
  #main #perspective .p70-portrait {
    grid-column: 1;
    grid-row: 3;
    width: 120px;
    border-radius: 40px 40px 12px 12px;
  }
  #main #perspective .p70-portrait img {
    height: 156px;
    border-radius: 40px 40px 12px 12px;
  }
  #main #perspective .p70-portrait::before {
    inset: 8px -8px -8px 8px;
    border-radius: 40px 40px 12px 12px;
  }
  #main #perspective .p70-person {
    grid-column: 2;
    grid-row: 3;
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
  }
  #main #perspective .p70-experience {
    margin-top: 12px;
    padding: 0;
    border: 0;
  }
}
@media (max-width: 760px) {
  #main #conversation .c32-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  #main #conversation .c32-copy > p,
  #main #conversation .c71-demo-topics {
    max-width: none;
  }
  #main #conversation .c71-demo-topics {
    margin-top: 24px;
  }
  #main #conversation .c71-demo-topics li {
    padding-top: 16px;
    padding-bottom: 16px;
  }
  #main #conversation .c32-form {
    padding: 26px 22px;
  }
  #main #questions {
    padding-block: 52px;
  }
  #main #questions .question-list details {
    padding-inline: 15px;
  }
  #main #questions .question-list summary {
    font-size: 16px;
    gap: 15px;
    padding-block: 21px;
  }
  #main #questions .question-list details p {
    padding-right: 0;
    font-size: 15px;
    line-height: 1.75;
  }
}
@media (max-width: 360px) {
  #main #perspective .p70-layout {
    grid-template-columns: 95px minmax(0, 1fr);
    gap: 25px 20px;
  }
  #main #perspective .p70-portrait {
    width: 95px;
  }
  #main #perspective .p70-portrait img {
    height: 138px;
  }
  #main #perspective .p70-person h3 {
    font-size: 18px;
  }
  #main #perspective .p70-person p {
    font-size: 13px;
  }
  #main #conversation .c32-form {
    padding: 24px 18px;
  }
  #main #conversation .c32-form h3 {
    font-size: 23px;
  }
}
@media (prefers-reduced-motion: reduce) {
  #main #questions .question-list details,
  #main #questions .question-list summary > span,
  #main #conversation .c32-form .button {
    transition: none;
  }
}
@media (max-width: 760px) {
  #main #conversation .c32-copy {
    display: contents;
  }
  #main #conversation .c32-copy > h1,
  #main #conversation .c32-copy > h2 {
    grid-row: 1;
    margin: 0;
  }
  #main #conversation .c32-copy > p {
    grid-row: 2;
    margin: 0;
    font-size: 17px;
  }
  #main #conversation .c32-form {
    grid-row: 3;
  }
  #main #conversation .c71-demo-topics {
    grid-row: 4;
    margin: 0;
  }
}

#main #questions .question-list details[open] summary > span {
  transform: none;
  font-size: 0;
}
#main #questions .question-list details[open] summary > span::after {
  content: "−";
  font-size: 21px;
}

/* Current website styles. Preserve cascade order in build-website.mjs. */
.s61-header {
  background: linear-gradient(110deg, #071625f5, #0c2033f2 65%, #123149ef);
  border-bottom-color: #7cc7f52b;
  box-shadow:
    0 8px 28px #01091424,
    inset 0 1px #caeaff0a;
}
.s61-header::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 4%,
    #82d4ff80 24%,
    #bceaff26 52%,
    transparent 86%
  );
  pointer-events: none;
}
.s61-bar .brand img {
  filter: drop-shadow(0 0 9px #5bbaff38);
}
.s61-nav a {
  position: relative;
}
.s61-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 4px;
  height: 1px;
  background: #91d7ff;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
}
.s61-nav a:hover::after,
.s61-nav a:focus-visible::after {
  transform: scaleX(1);
}
.s61-contact {
  border: 1px solid #bce9ff99;
  border-radius: 10px;
  background: linear-gradient(135deg, #c9efff, #91d7ff);
  box-shadow:
    inset 0 1px #ffffffa0,
    0 3px 16px #57b9ff18;
  transition:
    box-shadow 180ms ease,
    filter 180ms ease;
}
.s61-contact:hover {
  background: linear-gradient(135deg, #dbf5ff, #a8e1ff);
  box-shadow:
    inset 0 1px #fff,
    0 4px 22px #57b9ff30;
}
@media (max-width: 760px) {
  .s61-header {
    background: linear-gradient(120deg, #071625f5, #0d263cf2);
  }
  .s61-menu {
    border-bottom: 1px solid #8bd6ff50;
  }
  .s61-menu span {
    transition: transform 180ms ease;
  }
  .s61-menu[aria-expanded="true"] span {
    transform: rotate(45deg);
  }
  .s61-mobile {
    padding-top: 6px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .s61-nav a::after,
  .s61-contact,
  .s61-menu span {
    transition: none;
  }
}

/* Current website styles. Preserve cascade order in build-website.mjs. */
body.night .closing-v65 .questions-section .question-list details p {
  color: #365a70;
}
.s61-header a:focus-visible,
.s61-header button:focus-visible {
  outline: 2px solid #90d5fc;
  outline-offset: 4px;
}
@media (prefers-reduced-motion: reduce) {
  .question-list details,
  .question-list details * {
    animation: none !important;
    transition: none !important;
  }
}
#questions .question-list {
  border-top: 0;
  display: grid;
  gap: 6px;
}
#questions .question-list details {
  border: 1px solid transparent;
  border-bottom-color: #486a8430;
  border-radius: 12px;
  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}
#questions .question-list details[open] {
  background: linear-gradient(115deg, #f9fcffeb, #e3f0fad9);
  border-color: #9cbed780;
  box-shadow:
    inset 3px 0 #287cba,
    0 10px 28px -18px #163f6666;
}
#questions .question-list summary {
  padding: 18px 22px;
  min-height: 68px;
}
#questions .question-list summary > span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  flex-basis: 28px;
  border: 1px solid #39759945;
  border-radius: 50%;
  font-size: 20px;
  transition:
    transform 180ms ease,
    background-color 180ms ease;
}
#questions .question-list details[open] summary {
  color: #124d76;
}
#questions .question-list details[open] summary > span {
  background: #cce6f7;
  transform: rotate(45deg);
}
#questions .question-list details p {
  padding: 0 66px 14px 22px;
  line-height: 1.75;
}
#questions .question-list details p:last-child {
  padding-bottom: 24px;
}
@media (prefers-reduced-motion: no-preference) {
  #questions .question-list details[open] p {
    animation: faq-answer-in 180ms ease-out;
  }
  @keyframes faq-answer-in {
    from {
      opacity: 0.5;
      transform: translateY(3px);
    }
    to {
      opacity: 1;
      transform: none;
    }
  }
}
@media (max-width: 650px) {
  #questions .question-list summary {
    padding: 17px 14px;
    gap: 14px;
  }
  #questions .question-list details p {
    padding: 0 18px 14px 16px;
  }
  #questions .question-list details p:last-child {
    padding-bottom: 22px;
  }
}
.c32-layout > * {
  min-width: 0;
}
.walkthrough-form .button {
  white-space: normal;
  max-width: 100%;
  min-width: 0;
}
@media (max-width: 400px) {
  .walkthrough-form .button {
    padding: 15px 12px;
    font-size: 14px;
    gap: 8px;
  }
  .walkthrough-form h3 {
    overflow-wrap: break-word;
  }
}

/* Shared public-site footer. Keep all footer styling in this file. */
@font-face {
  font-family: DM;
  src: url("/website-assets/assets/dm-sans-latin-var.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
}
.f61-footer a:focus-visible,
.f61-footer button:focus-visible {
  outline: 2px solid #9bdfff;
  outline-offset: 4px;
  border-radius: 4px;
}
.f61-footer {
  position: relative;
  color: #dceaf5;
  border-top: 1px solid #a4d8ff26;
  background: #051321 url("/website-assets/footer-optical-v61.png") center
    bottom/cover no-repeat;
  isolation: isolate;
}
.f61-footer:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    #051321e6,
    #051321c9 35%,
    #051321b8 70%,
    #051321d9
  );
}
.f61-inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
}
.f61-top {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 48px;
  padding: 50px 0 24px;
}
.f61-intro .f61-brand {
  color: #ecf7ff;
  font-size: 25px;
  gap: 12px;
  width: fit-content;
  min-height: 44px;
}
.f61-intro .f61-brand img {
  width: 44px;
  height: 44px;
}
.f61-intro p {
  font-size: 19px;
  line-height: 1.5;
  margin: 20px 0 14px;
  color: #e6f0f8;
}
.f61-parent {
  font-size: 14px;
  color: #c4d6e5;
}
.f61-links h2 {
  font-size: 16px;
  letter-spacing: 0;
  line-height: 1.5;
  margin: 7px 0 13px;
  color: #f2f8ff;
  font-weight: 650;
}
.f61-links a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  width: fit-content;
  font-size: 16px;
  color: #dceaf5;
  line-height: 1.5;
}
.f61-footer a:hover {
  color: #a4e1ff;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.f61-bottom {
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 14px 0 20px;
  border-top: 1px solid #8dcafa40;
  color: #c4d6e5;
}
.f61-bottom p {
  font-size: 14px;
  margin: 0;
}
.f61-bottom nav {
  display: flex;
  gap: 24px;
  margin-left: auto;
}
.f61-bottom a,
.f61-bottom button {
  font-size: 14px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: #dceaf5;
}
@media (max-width: 900px) {
  .f61-top {
    gap: 28px;
    grid-template-columns: 1.3fr 1fr 1fr;
  }
  .f61-intro {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
  }
  .f61-intro p {
    margin: 0;
  }
  .f61-parent {
    margin-top: 12px;
  }
  .f61-top .f61-links {
    grid-column: auto;
  }
}
@media (max-width: 600px) {
  .f61-top {
    padding: 32px 0 15px;
    gap: 26px 20px;
    grid-template-columns: 1fr 1fr;
  }
  .f61-intro {
    display: block;
  }
  .f61-intro p {
    margin: 15px 0 12px;
    font-size: 18px;
  }
  .f61-top .f61-links:last-child {
    grid-column: 1/-1;
  }
  .f61-top .f61-links:last-child a {
    display: inline-flex;
    margin-right: 22px;
  }
  .f61-links h2 {
    margin: 0 0 8px;
  }
  .f61-bottom {
    flex-wrap: wrap;
    gap: 0 22px;
    padding: 12px 0;
  }
  .f61-bottom nav {
    margin-left: 0;
    gap: 22px;
  }
  .f61-bottom p {
    width: 100%;
    padding: 8px 0;
  }
}
/* Scoped foundation: this component also renders outside the standalone website. */
.f61-footer { font-family: DM, var(--font-dm-sans, Arial), sans-serif; font-size: 16px; line-height: 1.5; text-align: left; }
.f61-footer, .f61-footer *, .f61-footer *::before, .f61-footer *::after { box-sizing: border-box; }
.f61-footer a { text-decoration: none; transition: color 180ms ease; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.f61-footer .f61-inner { width: min(1200px, calc(100% - 96px)); margin-inline: auto; }
.f61-footer .f61-brand { display: inline-flex; align-items: center; font-weight: 650; letter-spacing: -1.05px; text-decoration: none; }
.f61-footer .f61-brand img { display: block; flex: 0 0 auto; max-width: 100%; }
@media (max-width: 1150px) { .f61-footer .f61-inner { width: calc(100% - 64px); } }
@media (max-width: 600px) { .f61-footer .f61-inner { width: calc(100% - 40px); } }
@media (prefers-reduced-motion: reduce) { .f61-footer a { transition: none; } }
