@font-face {
  font-family: Montserrat;
  src: url("/assets/montserrat.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: Playfair;
  src: url("/assets/playfair-display.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
}
:root {
  color-scheme: dark;
  --bg: #0b0910;
  --surface: #15111c;
  --text: #f8f5fa;
  --muted: #aaa2b3;
  --pink: #f398cb;
  --line: #ffffff16;
  --purple: #aa64ee;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Montserrat, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
}
button,
a {
  -webkit-tap-highlight-color: transparent;
}
button {
  font: inherit;
}
a {
  color: inherit;
  text-decoration: none;
}
button {
  cursor: pointer;
}
img {
  max-width: 100%;
  height: auto;
  display: block;
}
button:disabled {
  cursor: not-allowed;
}
button:focus-visible,
a:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--pink);
  outline-offset: 6px;
}
[hidden] {
  display: none !important;
}
::selection {
  background: #8a327d;
  color: white;
}
.wrap {
  max-width: 1240px;
  width: calc(100% - 112px);
  margin-inline: auto;
}
.header {
  height: 100px;
  max-width: 1440px;
  margin: auto;
  padding: 0 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  gap: 28px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 22px;
  letter-spacing: -1px;
  white-space: nowrap;
}
.brand b {
  font-weight: 650;
}
.brand img {
  flex-shrink: 0;
}
.header nav {
  display: flex;
  gap: 32px;
  font-size: 13px;
  font-weight: 500;
  color: #c6bfce;
}
.header nav a:hover,
.text-link:hover {
  color: var(--pink);
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 17px 23px;
  border-radius: 7px;
  background: linear-gradient(115deg, #ec67b8, #ab65ee);
  color: #120b18;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.5;
  border: 1px solid transparent;
  transition:
    filter 0.2s,
    transform 0.2s;
}
.button:hover {
  filter: brightness(1.13);
  transform: translateY(-2px);
}
.button span {
  font-size: 20px;
  line-height: 1;
}
.button-small {
  padding: 12px 19px;
  background: #ffffff0a;
  border-color: #ffffff29;
  color: var(--text);
  font-size: 12px;
}
.hero {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 50px;
  min-height: 745px;
  padding-top: 72px;
  padding-bottom: 70px;
  align-items: center;
}
.eyebrow {
  font-size: 12px;
  letter-spacing: 2.2px;
  font-weight: 650;
  color: var(--pink);
  margin: 0 0 27px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.line {
  width: 28px;
  height: 1px;
  background: var(--pink);
}
h1,
h2,
h3,
p {
  margin-top: 0;
}
h1 {
  font-size: clamp(56px, 5.1vw, 76px);
  font-weight: 550;
  letter-spacing: -3.8px;
  line-height: 1.06;
  margin-bottom: 28px;
}
em {
  font-family: Playfair, Georgia, serif;
  color: var(--pink);
  font-weight: 450;
  font-style: italic;
  letter-spacing: -1.7px;
}
h1 em {
  line-height: 1.08;
}
.hero-description {
  font-size: 14px;
  color: #b8b0c0;
  line-height: 1.85;
  max-width: 475px;
  margin-bottom: 29px;
}
.hero-actions {
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
}
.text-link {
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 13px;
  background: none;
  border: 0;
  padding: 0;
  line-height: 1.7;
  transition: color 0.2s;
}
.hero-note {
  font-size: 12px;
  color: #91899e;
  margin: 22px 0 0;
}
.hero-note span {
  margin: 0 10px;
  color: #ad6ed0;
}
.hero-visual {
  position: relative;
  min-width: 0;
  min-height: 620px;
  display: flex;
  justify-content: center;
  align-items: center;
  isolation: isolate;
}
.hero-visual:before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -30px -80px;
  background: radial-gradient(
    ellipse,
    #7025794f 0,
    #622d5924 37%,
    transparent 68%
  );
  pointer-events: none;
}
.orbit {
  position: absolute;
  border: 1px solid #bc7bba14;
  border-radius: 50%;
  z-index: -1;
  transform: rotate(-22deg);
  pointer-events: none;
}
.orbit-one {
  width: 104%;
  height: 76%;
}
.orbit-two {
  width: 124%;
  height: 97%;
}
.app-shot {
  width: 282px;
  transform: rotate(7deg);
  padding: 7px;
  border: 1px solid #7f687b;
  border-radius: 34px;
  background: #1b1420;
  box-shadow:
    0 30px 90px #0009,
    0 0 45px #c174a91a;
  overflow: hidden;
}
.app-shot img {
  border-radius: 27px;
  width: 100%;
  aspect-ratio: 1080 / 1889;
}
.visual-caption {
  position: absolute;
  top: 5px;
  left: 34px;
  font-size: 12px;
  letter-spacing: 2px;
  color: #9c849f;
  display: flex;
  flex-direction: column;
  line-height: 1.9;
}
.float-card {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 12px;
  background: #211a2beb;
  border: 1px solid #a882b132;
  border-radius: 11px;
  padding: 16px 19px;
  box-shadow: 0 15px 40px #0005;
  backdrop-filter: blur(16px);
}
.float-card strong {
  display: block;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.6;
}
.float-card div > span {
  display: block;
  font-size: 12px;
  color: #b6a8c1;
}
.icon {
  width: 35px;
  height: 35px;
  border-radius: 9px;
  background: #cc7ade1c;
  color: #e8a4e6;
  font-size: 25px;
  display: grid;
  place-items: center;
}
.encrypted {
  top: 136px;
  left: -19px;
  transform: rotate(-5deg);
}
.revoked {
  bottom: 100px;
  right: -15px;
  transform: rotate(-4deg);
}
.check {
  background: #c892e01f;
  color: #dab3eb;
  border-radius: 50%;
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  font-size: 12px;
}
.visual-footnote {
  position: absolute;
  bottom: 6px;
  font-size: 12px;
  letter-spacing: 0.7px;
  color: #817388;
}
.promise-strip {
  border-block: 1px solid var(--line);
  background: #100c16;
}
.promise-strip > .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  padding-block: 28px;
}
.promise-strip .wrap > span {
  font-size: 12px;
  color: #8f829d;
  letter-spacing: 1.3px;
  line-height: 1.9;
}
.promise-strip b {
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0;
  color: #d4cbdc;
}
.promise-strip p {
  margin: 0;
  font-size: 12px;
  color: #d5ccdd;
  display: flex;
  align-items: center;
  gap: 14px;
}
.promise-strip p span {
  color: var(--pink);
  font-size: 24px;
}
.section {
  padding-block: 112px;
}
h2 {
  font-size: clamp(34px, 3.5vw, 49px);
  line-height: 1.16;
  font-weight: 500;
  letter-spacing: -2px;
  margin-bottom: 25px;
}
h3 {
  font-weight: 550;
  font-size: 19px;
  line-height: 1.35;
  letter-spacing: -0.5px;
}
.difference {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px;
  align-items: center;
}
.difference h2 {
  margin-bottom: 0;
}
.difference-copy {
  padding-top: 25px;
}
.difference-copy p {
  font-size: 14px;
  color: var(--muted);
}
.difference-copy .large-copy {
  color: #e0d8e6;
  font-size: 20px;
  line-height: 1.6;
}
.accent {
  color: var(--pink);
}
.demo-section {
  background:
    radial-gradient(ellipse at 80% 50%, #54244835, transparent 70%), #151019;
  border: 1px solid #bb83b52b;
  border-radius: 18px;
  padding: 65px 70px 30px;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  column-gap: 80px;
}
.demo-copy {
  padding-top: 15px;
}
.demo-copy > p:not(.eyebrow) {
  font-size: 14px;
  color: var(--muted);
  max-width: 400px;
}
.demo-instructions {
  list-style: none;
  padding: 0;
  margin: 25px 0 32px;
  display: grid;
  gap: 12px;
}
.demo-instructions li {
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #d0c2d4;
}
.demo-instructions li > span {
  border: 1px solid #9c779940;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  color: var(--pink);
  font-size: 12px;
}
.sender-control > span {
  display: block;
  font-size: 12px;
  letter-spacing: 1.5px;
  color: #94829c;
  margin-bottom: 13px;
}
.button-outline {
  background: #b278bf10;
  color: #f6c6eb;
  border: 1px solid #d096ca50;
  font-size: 12px;
  padding: 14px 20px;
}
.button-outline:disabled {
  opacity: 0.45;
  transform: none;
}
.reset {
  display: block;
  margin-top: 16px;
  color: var(--pink);
  font-size: 12px;
}
.demo-recipient {
  background: #0d0a11;
  border: 1px solid #ffffff20;
  border-radius: 16px;
  padding: 18px;
  width: 100%;
  max-width: 340px;
  justify-self: end;
}
.demo-top {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
}
.avatar {
  display: grid;
  place-items: center;
  background: #41243e;
  color: var(--pink);
  border-radius: 50%;
  width: 34px;
  height: 34px;
  font-size: 13px;
}
.demo-top strong {
  display: block;
  font-size: 12px;
  line-height: 1.4;
}
.demo-top div > span {
  display: block;
  font-size: 12px;
  color: #96829c;
}
.demo-label {
  margin-left: auto;
  border: 1px solid #76637d5c;
  border-radius: 4px;
  padding: 2px 6px;
  font-size: 12px;
  letter-spacing: 1px;
  color: #b39abc;
}
.demo-photo {
  height: 300px;
  position: relative;
  border-radius: 9px;
  overflow: hidden;
  isolation: isolate;
  background: #261d28;
}
.demo-photo > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 18%;
  filter: blur(22px) brightness(0.55);
  transform: scale(1.15);
  transition:
    filter 0.3s,
    transform 0.3s;
}
.photo-cover {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  padding: 18px;
  transition: opacity 0.2s;
  background: #160e1b22;
}
.lock-symbol {
  font-size: 37px;
  color: #fae0fa;
  margin-bottom: 12px;
}
.photo-cover strong {
  font-size: 12px;
}
.photo-cover > span:last-child {
  font-size: 12px;
  color: #e0cfe1;
  margin-top: 5px;
}
.photo-tag {
  position: absolute;
  bottom: 13px;
  left: 14px;
  font-size: 12px;
  letter-spacing: 1.5px;
  color: #f3dfef;
}
.demo-photo.is-visible > img {
  filter: none;
  transform: scale(1);
}
.demo-photo.is-visible .photo-cover {
  opacity: 0;
}
.demo-photo.is-revoked > img {
  visibility: hidden;
}
.demo-photo.is-revoked {
  background: repeating-linear-gradient(
    135deg,
    #201724,
    #201724 2px,
    #1b141f 2px,
    #1b141f 10px
  );
}
.hold-button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border-radius: 7px;
  border: 1px solid #b785be4a;
  background: #312038;
  color: #f1dcef;
  font-size: 12px;
  font-weight: 600;
  padding: 13px 8px;
  margin-top: 14px;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
}
.hold-button span {
  font-size: 21px;
}
.hold-button:disabled {
  color: #948398;
  background: #201823;
}
.demo-status {
  text-align: center;
  font-size: 12px;
  color: #bfa3c6;
  margin: 10px 0 0;
  min-height: 16px;
}
.demo-disclaimer {
  grid-column: 1/-1;
  text-align: center;
  font-size: 12px;
  color: #8e7c96;
  margin: 32px 0 0;
}
.section-heading {
  display: flex;
  justify-content: space-between;
  gap: 70px;
  align-items: end;
  margin-bottom: 44px;
}
.section-heading h2 {
  margin: 0;
}
.section-heading > p {
  max-width: 360px;
  font-size: 13px;
  color: var(--muted);
  margin: 0;
}
.steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
}
.steps article {
  border-top: 1px solid #c192c44a;
  padding-top: 25px;
}
.step-number {
  display: block;
  font-family: Playfair, Georgia, serif;
  font-size: 36px;
  color: #b577af;
  margin-bottom: 20px;
}
.steps p {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.85;
}
.step-tag {
  font-size: 12px;
  letter-spacing: 1.15px;
  color: #c593c6;
}
.security-note {
  margin: 35px 0 0;
  padding: 17px 23px;
  background: #ffffff03;
  border-left: 2px solid #ad78b1;
  font-size: 12px;
  color: #a99bb1;
}
.comparison-section {
  background: #110d17;
  border-block: 1px solid var(--line);
}
.comparison-section h2 {
  max-width: 950px;
}
.comparison {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 40px;
  gap: 22px;
}
.comparison article {
  padding: 35px;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.comparison .secret-comparison {
  border-color: #ac65b55c;
  background: linear-gradient(130deg, #9f549d13, #9f549d04);
}
.comparison-label {
  font-size: 12px;
  letter-spacing: 1.5px;
  color: #a499ad;
  display: flex;
  align-items: center;
  gap: 7px;
  height: 30px;
  margin-bottom: 23px;
}
.secret-comparison .comparison-label {
  color: var(--pink);
}
.comparison h3 {
  font-size: 25px;
  margin-bottom: 18px;
}
.comparison p {
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 22px;
}
.comparison p:last-child {
  margin-bottom: 0;
}
.comparison strong {
  font-weight: 500;
  color: #d5c9dd;
}
.comparison .highlight {
  color: #eeb5e0;
}
.comparison-note {
  max-width: 820px;
  color: #8f839c;
  font-size: 12px;
  margin: 22px 0 0;
}
.everyday {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 130px;
  align-items: center;
}
.everyday-visual {
  position: relative;
  display: flex;
  justify-content: center;
  background: radial-gradient(ellipse, #66346035, transparent 68%);
}
.everyday-visual > img {
  width: 255px;
  border: 5px solid #211926;
  outline: 1px solid #846a833b;
  border-radius: 26px;
  transform: rotate(-5deg);
  box-shadow: 0 30px 65px #0006;
}
.small-stamp {
  position: absolute;
  bottom: 45px;
  right: -35px;
  background: #251b2bef;
  border: 1px solid #9763a446;
  border-radius: 9px;
  padding: 18px 23px;
  font-size: 12px;
  letter-spacing: 1.3px;
  transform: rotate(4deg);
}
.small-stamp em {
  font-size: 21px;
  letter-spacing: -0.5px;
}
.feature-row {
  display: flex;
  gap: 20px;
  padding-top: 21px;
  margin-top: 21px;
  border-top: 1px solid var(--line);
}
.feature-row > span {
  font-size: 23px;
  color: var(--pink);
  width: 24px;
  flex-shrink: 0;
}
.feature-row h3 {
  font-size: 17px;
  margin-bottom: 9px;
}
.feature-row p {
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 0;
}
.faq {
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 85px;
}
.faq h2 {
  font-size: 37px;
}
.faq-list details {
  border-bottom: 1px solid #ffffff1b;
}
.faq-list summary {
  padding: 22px 0;
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  gap: 25px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.6;
}
.faq-list summary::-webkit-details-marker {
  display: none;
}
.faq-list summary > span {
  font-size: 21px;
  color: var(--pink);
  line-height: 1;
}
.faq-list details[open] summary > span {
  transform: rotate(45deg);
}
.faq-list details p {
  font-size: 13px;
  color: var(--muted);
  padding-right: 24px;
  line-height: 1.9;
}
.availability {
  text-align: center;
  position: relative;
  border: 1px solid #b486bb30;
  border-radius: 18px;
  padding: 55px 30px 65px;
  background:
    radial-gradient(ellipse at 50% 0, #7e3f7140, transparent 68%), #130e19;
  overflow: hidden;
  margin-bottom: 70px;
}
.availability > img {
  margin: 0 auto 13px;
}
.availability .eyebrow {
  justify-content: center;
  font-size: 12px;
  margin-bottom: 22px;
}
.availability h2 {
  font-size: 56px;
}
.availability > p:not(.eyebrow) {
  color: #b6a4bf;
  font-size: 13px;
}
.coming-soon {
  display: inline-flex;
  align-items: center;
  text-align: left;
  gap: 15px;
  padding: 12px 24px;
  margin: 10px 0 20px;
  border: 1px solid #c4a2cb45;
  background: #0d0a10;
  border-radius: 9px;
}
.coming-soon > span:first-child {
  font-size: 33px;
  color: var(--pink);
}
.coming-soon > span:last-child {
  font-size: 12px;
  letter-spacing: 1px;
  color: #beaec6;
}
.coming-soon strong {
  display: block;
  font-size: 17px;
  font-weight: 550;
  letter-spacing: 0;
  color: #f5eef8;
}
.availability .availability-note {
  font-size: 12px !important;
  color: #96869e !important;
  margin-bottom: 0;
}
.footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 35px;
  flex-wrap: wrap;
}
.footer .brand {
  font-size: 17px;
}
.footer p,
.footer > a:not(.brand),
.footer > span {
  font-size: 12px;
  color: #94869c;
  margin: 0;
}
.skip-link {
  position: fixed;
  top: -100px;
  left: 20px;
  z-index: 10;
  background: var(--pink);
  color: #130c18;
  padding: 12px;
}
.skip-link:focus {
  top: 10px;
}
@media (min-width: 1600px) {
  .hero {
    min-height: 800px;
  }
  .hero-visual {
    min-height: 660px;
  }
  .app-shot {
    width: 305px;
  }
}
@media (max-width: 1150px) {
  .wrap {
    width: calc(100% - 72px);
  }
  .header {
    padding-inline: 36px;
  }
  .header nav {
    gap: 19px;
    font-size: 12px;
  }
  .hero {
    gap: 20px;
  }
  h1 {
    font-size: 59px;
  }
  .hero-visual {
    min-height: 580px;
  }
  .app-shot {
    width: 250px;
  }
  .encrypted {
    left: -10px;
  }
  .revoked {
    right: -5px;
    bottom: 85px;
  }
  .float-card {
    padding: 12px;
    gap: 8px;
  }
  .float-card strong {
    font-size: 12px;
  }
  .float-card div > span {
    font-size: 12px;
  }
  .demo-section {
    padding: 45px 40px 25px;
    gap: 40px;
  }
  .difference {
    gap: 55px;
  }
  .everyday {
    gap: 70px;
  }
  .faq {
    gap: 45px;
  }
  .hero-actions {
    gap: 18px;
  }
  .orbit-two {
    width: 105%;
  }
  .hero-visual:before {
    inset: -20px -20px;
  }
}
@media (max-width: 800px) {
  .wrap {
    width: calc(100% - 40px);
  }
  .header {
    height: 82px;
    padding-inline: 20px;
    gap: 14px;
  }
  .brand {
    font-size: 19px;
  }
  .brand img {
    width: 42px;
  }
  .header nav {
    display: none;
  }
  .header-cta {
    font-size: 12px;
    padding: 10px 13px;
  }
  .hero {
    grid-template-columns: 1fr;
    padding-top: 46px;
    padding-bottom: 35px;
    gap: 10px;
  }
  .hero-copy {
    max-width: 600px;
  }
  .eyebrow {
    font-size: 12px;
    letter-spacing: 1.6px;
    margin-bottom: 22px;
  }
  h1 {
    font-size: clamp(48px, 9vw, 68px);
    letter-spacing: -2.6px;
  }
  .desktop-break {
    display: none;
  }
  .hero-description {
    font-size: 14px;
    max-width: 550px;
  }
  .hero-actions {
    gap: 20px;
  }
  .hero-note {
    font-size: 12px;
  }
  .hero-visual {
    min-height: 590px;
    max-width: 490px;
    width: 100%;
    margin: auto;
  }
  .app-shot {
    width: 260px;
  }
  .visual-caption {
    top: 20px;
    left: 15px;
  }
  .encrypted {
    left: 0;
    top: 160px;
  }
  .revoked {
    right: 0;
    bottom: 85px;
  }
  .float-card strong {
    font-size: 12px;
  }
  .float-card div > span {
    font-size: 12px;
  }
  .promise-strip > .wrap {
    flex-wrap: wrap;
    gap: 15px;
    justify-content: center;
    padding-block: 23px;
  }
  .promise-strip .wrap > span {
    width: 100%;
    text-align: center;
    margin-bottom: 3px;
  }
  .promise-strip p {
    font-size: 12px;
    gap: 7px;
  }
  .promise-strip p span {
    font-size: 18px;
  }
  .section {
    padding-block: 70px;
  }
  .difference {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .difference h2 br:nth-child(2) {
    display: none;
  }
  .difference-copy {
    padding: 0;
  }
  .difference-copy .large-copy {
    font-size: 19px;
  }
  .demo-section {
    grid-template-columns: 1fr;
    padding: 35px 24px 24px;
    gap: 35px;
  }
  .demo-copy {
    padding: 0;
  }
  .demo-recipient {
    justify-self: center;
    max-width: 350px;
  }
  .demo-disclaimer {
    margin: 0;
    font-size: 12px;
  }
  .demo-copy > p:not(.eyebrow) {
    max-width: none;
  }
  .section-heading {
    display: block;
  }
  .section-heading > p {
    max-width: 100%;
    margin-top: 25px;
  }
  .steps {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .step-number {
    float: left;
    margin: 0 22px 50px 0;
    font-size: 31px;
  }
  .steps article {
    padding-top: 23px;
  }
  .steps h3 {
    margin-bottom: 12px;
  }
  .steps p {
    margin-bottom: 14px;
  }
  .step-tag {
    font-size: 12px;
  }
  .comparison {
    grid-template-columns: 1fr;
  }
  .comparison article {
    padding: 26px;
  }
  .comparison-note {
    font-size: 12px;
  }
  .everyday {
    grid-template-columns: 1fr;
    gap: 55px;
  }
  .everyday-visual {
    order: 2;
    margin: 0 auto;
    width: 100%;
    max-width: 370px;
  }
  .everyday-visual > img {
    width: 235px;
  }
  .small-stamp {
    right: 0;
  }
  .faq {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .faq h2 {
    font-size: 35px;
  }
  .faq-list summary {
    font-size: 14px;
  }
  .availability {
    padding: 38px 22px 45px;
    margin-bottom: 38px;
  }
  .availability h2 {
    font-size: 43px;
  }
  .footer {
    gap: 20px;
    padding-bottom: 30px;
  }
  .footer p {
    display: none;
  }
  .footer > span {
    width: 100%;
    font-size: 12px;
  }
  .hero-visual:before {
    inset: 0;
  }
  .orbit-one {
    width: 90%;
  }
  .orbit-two {
    width: 100%;
  }
  .security-note {
    font-size: 12px;
  }
  .text-link {
    font-size: 13px;
  }
  .demo-top div > span,
  .demo-status {
    font-size: 12px;
  }
  .demo-top strong {
    font-size: 14px;
  }
  .demo-instructions li {
    font-size: 13px;
  }
  .hold-button {
    font-size: 13px;
  }
  .photo-cover strong {
    font-size: 14px;
  }
  .photo-cover > span:last-child {
    font-size: 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *:before,
  *:after {
    transition: none !important;
    animation: none !important;
  }
}
.header-tools {
  display: flex;
  align-items: center;
  gap: 23px;
}
.language-switch {
  display: flex;
  align-items: center;
  gap: 3px;
  white-space: nowrap;
}
.language-switch button {
  border: 0;
  background: none;
  color: #9a8da3;
  font: inherit;
  font-size: 12px;
  padding: 10px 5px;
}
.language-switch button[aria-pressed="true"] {
  color: #f4c2e4;
  font-weight: 750;
}
.language-switch > span {
  font-size: 12px;
  color: #665671;
}
.store-badge {
  display: block;
  margin: 10px auto 23px;
  background: transparent;
  border: 0;
  padding: 8px;
  filter: grayscale(1);
  opacity: 0.48;
  cursor: not-allowed;
}
.store-badge img {
  width: 220px;
  height: auto;
}
.availability .store-soon {
  color: var(--pink) !important;
  font-size: 14px !important;
  margin: 23px 0 0;
}
.hero-description,
.difference-copy p,
.demo-copy > p:not(.eyebrow),
.section-heading > p,
.steps p,
.comparison p,
.feature-row p,
.faq-list details p,
.availability > p:not(.eyebrow) {
  font-size: 16px;
}
.header nav,
.text-link,
.button,
.demo-instructions li,
.hold-button,
.faq-list summary {
  font-size: 14px;
}
.hero-note,
.security-note,
.comparison-note,
.demo-disclaimer {
  font-size: 12px;
}
.header nav {
  gap: 24px;
}
.hero {
  gap: 35px;
}
.hero-actions {
  gap: 18px;
}
.demo-section {
  column-gap: 50px;
}
.demo-recipient {
  max-width: 360px;
}
.demo-copy h2 {
  font-size: 43px;
}
.float-card {
  max-width: 300px;
}
.float-card strong {
  font-size: 14px;
}
.float-card div > span {
  font-size: 12px;
}
.encrypted {
  left: -28px;
  top: 120px;
}
.revoked {
  right: -22px;
  bottom: 68px;
}
.hero-visual {
  min-height: 660px;
}
.visual-caption {
  font-size: 10px;
}
.visual-footnote {
  bottom: 0;
}
.hero-description {
  max-width: 520px;
}
.footer > a:not(.brand) {
  font-size: 12px;
}
@media (max-width: 1100px) {
  .header nav {
    font-size: 12px;
    gap: 18px;
  }
  .header-tools {
    gap: 12px;
  }
  .header-cta {
    font-size: 12px;
  }
  .hero-actions {
    align-items: flex-start;
    flex-direction: column;
  }
  .float-card {
    max-width: 270px;
  }
  .float-card strong {
    font-size: 12px;
  }
  .float-card div > span {
    font-size: 12px;
  }
  .demo-section {
    gap: 35px;
  }
  .demo-copy h2 {
    font-size: 37px;
  }
}
@media (max-width: 800px) {
  .hero-actions {
    flex-direction: row;
    align-items: center;
  }
  .header-tools {
    gap: 12px;
  }
  .hero-visual {
    min-height: 610px;
  }
  .float-card {
    max-width: 280px;
  }
  .encrypted {
    left: 0;
    top: 135px;
  }
  .revoked {
    right: 0;
    bottom: 75px;
  }
  .hero {
    gap: 10px;
  }
  .demo-copy h2 {
    font-size: 35px;
  }
  .hero-description br {
    display: none;
  }
  .header-cta {
    display: none;
  }
  .language-switch button {
    font-size: 14px;
    min-height: 44px;
    min-width: 32px;
  }
  .demo-recipient {
    max-width: 350px;
  }
  .promise-strip p {
    font-size: 12px;
  }
  .hero-note span {
    margin: 0 4px;
  }
}
main {
  overflow-x: clip;
}
/* Readability, security warning and information pages */
.promise-strip .wrap > span {
  font-size: 14px;
  color: #bdb2c8;
}
.promise-strip b,
.promise-strip p {
  font-size: 16px;
  color: #eee5f3;
}
.promise-strip > .wrap {
  gap: 24px;
  flex-wrap: wrap;
}
.promise-strip p span {
  font-size: 26px;
}
.hold-button {
  touch-action: manipulation;
  min-height: 48px;
}
.safety-warning {
  margin-top: 72px;
  padding: 40px 48px;
  border: 1px solid #d7a56170;
  border-left: 5px solid #e5b06b;
  border-radius: 14px;
  background: linear-gradient(110deg, #332319, #1c1520);
}
.safety-warning .eyebrow {
  color: #f3c58b;
  font-size: 14px;
}
.safety-warning h2 {
  font-size: 38px;
}
.safety-warning h2 em {
  color: #f3c58b;
}
.safety-warning > p:not(.eyebrow) {
  font-size: 17px;
  color: #d5c7cc;
  max-width: 1040px;
}
.safety-warning strong {
  color: #fff2e3;
}
.safety-warning .text-link {
  font-size: 15px;
  color: #f5ce9c;
}
.footer > a:not(.brand) {
  font-size: 14px;
}
.footer {
  gap: 18px;
}
.footer > p {
  display: none;
}
.demo-status,
.demo-disclaimer,
.security-note,
.comparison-note {
  font-size: 14px;
}
.step-tag {
  font-size: 12px;
}
.info-page {
  padding-top: 65px;
  padding-bottom: 95px;
}
.info-hero {
  max-width: 900px;
  padding-bottom: 48px;
  border-bottom: 1px solid var(--line);
}
.info-hero h1 {
  font-size: clamp(38px, 4.3vw, 62px);
  line-height: 1.12;
  letter-spacing: -2px;
}
.info-intro {
  font-size: 20px;
  color: #c7bacf;
}
.updated {
  font-size: 14px;
  color: #a89ab3;
}
.info-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 65px;
  padding-top: 42px;
}
.info-toc {
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-self: start;
  position: sticky;
  top: 28px;
}
.info-toc a {
  font-size: 14px;
  color: #cbb4d5;
  line-height: 1.5;
}
.info-toc a:hover {
  color: var(--pink);
}
.info-sections section {
  padding-bottom: 28px;
  margin-bottom: 28px;
  border-bottom: 1px solid var(--line);
  scroll-margin-top: 30px;
}
.info-sections h2 {
  font-size: 27px;
  letter-spacing: -0.6px;
  line-height: 1.3;
}
.prose {
  font-size: 17px;
  line-height: 1.85;
  color: #c6bacf;
}
.prose a {
  color: var(--pink);
  text-decoration: underline;
  text-underline-offset: 4px;
  overflow-wrap: anywhere;
}
.prose strong {
  color: #fff1fa;
}
.info-sections section:last-child {
  border: 0;
}
.info-page article[hidden] {
  display: none;
}
@media (max-width: 800px) {
  .promise-strip > .wrap {
    justify-content: flex-start;
    gap: 20px;
  }
  .promise-strip .wrap > span {
    text-align: left;
  }
  .promise-strip p {
    font-size: 16px;
    width: 100%;
  }
  .safety-warning {
    padding: 28px 23px;
    margin-top: 42px;
  }
  .safety-warning h2 {
    font-size: 32px;
  }
  .safety-warning > p:not(.eyebrow) {
    font-size: 16px;
  }
  .info-page {
    padding-top: 35px;
  }
  .info-layout {
    grid-template-columns: 1fr;
    gap: 38px;
  }
  .info-toc {
    position: static;
    border-left: 2px solid #b882bb;
    padding-left: 20px;
  }
  .info-hero h1 {
    font-size: 40px;
    letter-spacing: -1.2px;
  }
  .info-intro {
    font-size: 18px;
  }
  .info-sections h2 {
    font-size: 25px;
  }
  .prose {
    font-size: 16px;
  }
}
.promise-strip .screen-note {
  display: block;
  margin: 0 auto 24px;
  padding: 17px 23px;
  background: #ffffff03;
  border-left: 2px solid #ad78b1;
  font-size: 14px;
  color: #a99bb1;
}
.promise-strip > .wrap:first-child {
  padding-bottom: 15px;
}
.promise-strip .wrap > span {
  max-width: 225px;
}
.promise-strip p {
  white-space: normal;
}
button.demo-photo {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  color: var(--text);
  font: inherit;
  text-align: initial;
  cursor: pointer;
}
button.demo-photo:disabled {
  cursor: not-allowed;
}
.info-toc a[aria-current="location"] {
  color: var(--pink);
  font-weight: 700;
}
/* Language links remain crawlable and keep the existing switch appearance. */
.language-switch a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #9a8da3;
  font-size: 14px;
  padding: 10px 5px;
  min-height: 44px;
  min-width: 32px;
}
.language-switch a[aria-current="page"] {
  color: #f4c2e4;
  font-weight: 750;
}
.language-switch a:hover {
  color: #fff;
}
.breadcrumbs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  font-size: 14px;
  color: #b3a3bf;
  margin-bottom: 30px;
}
.breadcrumbs a {
  color: var(--pink);
}
.breadcrumbs a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
/* Two-device walkthrough, styled after the Android photo conversation. */
.guided-demo.demo-section { display:block; padding:60px 48px 28px; }
.guided-demo .demo-copy { text-align:center; padding:0; }
.guided-demo .demo-copy h2 { font-size:clamp(30px,4vw,48px); max-width:800px; margin:0 auto 18px; }
.guided-demo .demo-copy>p:not(.eyebrow) { max-width:680px; margin:0 auto; font-size:17px; }
.demo-guide { display:flex; align-items:center; gap:22px; max-width:820px; min-height:116px; margin:32px auto; padding:20px 24px; border:1px solid #da8db954; border-radius:16px; background:#261b2b; }
#guide-count { color:#eaa1cb; font-size:14px; font-weight:700; white-space:nowrap; }
.demo-guide strong { display:block; font-size:20px; line-height:1.45; }
.demo-guide p { margin:6px 0 0; color:#cbbdcc; font-size:15px; line-height:1.6; }
.guide-pulse { flex:none; margin-left:auto; width:14px; height:14px; border:2px solid #f0abd3; border-radius:50%; animation:guide-breathe 3s ease-in-out infinite; }
.demo-guide:not(.is-complete) strong { animation:guide-text 3s ease-in-out infinite; }
.demo-guide.is-complete { border-color:#75d0b6; }
.demo-guide.is-complete .guide-pulse { animation:none; background:#75d0b6; border-color:#75d0b6; }
.demo-phones { display:grid; grid-template-columns:repeat(2,minmax(0,320px)); justify-content:center; gap:72px; }
.phone-column { min-width:0; }
.phone-role { display:grid; grid-template-columns:10px 1fr; align-items:center; gap:5px 10px; margin:0 0 16px; }
.phone-role strong { font-size:18px; }
.phone-role>span:last-child { grid-column:2; color:#b7a8be; font-size:14px; }
.role-dot { width:8px; height:8px; background:#e9a0c9; border-radius:50%; }
.recipient-dot { background:#b39de8; }
.demo-device { position:relative; overflow:hidden; border:5px solid #403743; border-radius:36px; background:radial-gradient(ellipse at 75% 70%,#482640,transparent 75%),#190c12; box-shadow:0 24px 50px #0005,inset 0 0 0 1px #ffffff1a; min-height:560px; display:flex; flex-direction:column; color:#f0edf0; }
.device-status { display:flex; justify-content:space-between; padding:12px 22px 5px; font-size:10px; font-weight:600; }
.device-header { display:flex; align-items:center; gap:10px; padding:10px 14px 15px; }
.device-header>span:first-child { font-size:30px; line-height:1; margin-right:8px; }
.device-header strong { font-size:21px; }
.device-menu { margin-left:auto; font-size:24px; color:#d67a84; }
.device-tabs { display:flex; justify-content:space-around; border-bottom:1px solid #cdb9c580; font-size:14px; font-weight:600; color:#b9acb4; }
.device-tabs span { position:relative; padding:10px 0 13px; }
.device-tabs .selected { color:#e6a1c2; }
.device-tabs .selected:after { content:''; position:absolute; height:3px; border-radius:5px; background:#e6a1c2; left:0; right:0; bottom:0; }
.device-conversation { padding:0 14px; flex:1; }
.conversation-date { text-align:center; font-size:10px; color:#b7a4b0; margin:13px 0; }
.sent-photo, .guided-demo button.app-photo { width:76%; height:210px; position:relative; border:1px solid #72545d; border-radius:17px; overflow:hidden; background:#26131d; }
.sent-photo { margin-left:auto; }
.sent-photo>img, .guided-demo button.app-photo>img { width:100%; height:100%; object-fit:cover; object-position:center 35%; display:block; transition:filter .35s,opacity .35s; }
.sent-photo>span { position:absolute; bottom:10px; left:12px; right:12px; color:#fb577e; font-size:22px; display:flex; justify-content:space-between; }
.sent-photo>span>span { color:#ddd3da; font-size:14px; }
.guided-demo button.app-photo { margin:0 auto 0 0; cursor:pointer; padding:0; display:block; font:inherit; color:white; }
.guided-demo button.app-photo>img { filter:blur(15px) brightness(.65); transform:scale(1.12); }
.guided-demo button.app-photo.is-visible>img { filter:none; transform:none; }
.guided-demo button.app-photo.is-revoked>img { opacity:.16; filter:blur(22px); }
.app-photo-lock { position:absolute; top:45%; left:0; right:0; text-align:center; font-size:32px; color:#f6d4e9; }
.app-photo.is-visible .app-photo-lock { opacity:0; }
.app-photo-reaction { position:absolute; right:12px; bottom:10px; color:#fb577e; font-size:22px; }
.sent-caption, .received-caption { font-size:11px; color:#d1becb; margin:8px 0 15px; }
.sent-caption { text-align:right; }
.app-revoke { display:flex; align-items:center; justify-content:center; gap:8px; position:relative; width:100%; min-height:48px; padding:10px 12px; border:1px solid #dc7e9180; border-radius:12px; color:#ffb3c2; background:#462331; font:600 13px/1.35 Montserrat,sans-serif; cursor:pointer; }
.app-revoke>span:first-child { font-size:22px; }
.app-revoke:disabled { opacity:.5; cursor:default; }
.sender-note { font-size:11px; line-height:1.6; color:#bda8b8; text-align:center; margin:10px 3px; }
.app-feedback { color:#d7c3d0; background:#ffffff08; border-radius:9px; padding:12px 8px; font-size:12px; text-align:center; margin:0; }
.is-revoked~.app-feedback { color:#ffc0ce; }
.device-bottom { display:flex; justify-content:space-between; align-items:center; padding:14px 16px 12px; color:#c3a4ba; }
.app-camera { width:39px; height:39px; display:grid; place-items:center; border-radius:50%; background:white; color:#150e15; font-size:30px; line-height:1; }
.device-home { height:3px; width:32%; background:#dbd1d6; opacity:.65; border-radius:3px; margin:0 auto 8px; }
.click-ring { display:none; position:absolute; pointer-events:none; width:38px; height:38px; border:3px solid #ffe0f2; border-radius:50%; background:#ef94ca18; animation:action-breathe 2.8s ease-in-out infinite; }
.is-guided>.click-ring { display:block; }
.app-photo>.click-ring { top:calc(50% - 19px); left:calc(50% - 19px); }
.app-revoke>.click-ring { right:4px; top:calc(50% - 19px); }
.demo-finish { display:flex; justify-content:center; min-height:48px; margin:24px 0 0; }
.guided-demo .demo-disclaimer { text-align:center; max-width:760px; margin:16px auto 0; font-size:13px; line-height:1.7; }
.guided-demo button:focus-visible { outline:3px solid #f6d0eb; outline-offset:4px; }
@keyframes guide-breathe { 0%,100% { opacity:1; box-shadow:0 0 0 5px #e6a1c230; } 50% { opacity:.55; box-shadow:0 0 0 12px #e6a1c208; } }
@keyframes action-breathe { 0%,100% { box-shadow:0 0 0 5px #ef94ca55,0 0 18px #ef94ca60; } 50% { box-shadow:0 0 0 12px #ef94ca18,0 0 30px #ef94ca90; } }
.guided-demo .demo-device { transition:filter .45s ease, opacity .45s ease; }
.guided-demo .demo-device.is-inactive { filter:grayscale(1); opacity:.42; }
#reset-demo { position:relative; padding:14px 16px 14px 62px; min-height:52px; }
#reset-demo.is-guided::before { content:''; position:absolute; left:10px; top:calc(50% - 15px); width:30px; height:30px; border:3px solid #ffe0f2; border-radius:50%; background:#ef94ca18; animation:action-breathe 2.8s ease-in-out infinite; pointer-events:none; }
@media(prefers-reduced-motion:reduce) { #reset-demo.is-guided::before { animation:none; box-shadow:0 0 0 5px #ef94ca55; } }
@keyframes guide-text { 0%,100% { opacity:1; } 50% { opacity:.65; } }
@media(max-width:700px) {
  .guided-demo.demo-section { padding:34px 16px 24px; }
  .demo-phones { gap:14px; }
  .demo-guide { padding:15px; gap:12px; min-height:140px; margin:24px auto; }
  .demo-guide strong { font-size:17px; }
  .demo-guide p { font-size:13px; }
  .guide-pulse { display:none; }
  #guide-count { font-size:11px; }
  .demo-device { min-height:425px; border-width:3px; border-radius:23px; }
  .phone-role { gap:4px 6px; grid-template-columns:7px 1fr; }
  .phone-role strong { font-size:13px; }
  .phone-role>span:last-child { font-size:11px; }
  .device-status { padding:10px 10px 3px; font-size:8px; }
  .device-header { padding:7px 7px 10px; gap:5px; }
  .device-header strong { font-size:13px; }
  .device-header img { width:17px; height:17px; }
  .device-header>span:first-child { font-size:21px; margin:0; }
  .device-menu { font-size:17px; }
  .device-tabs { font-size:10px; }
  .device-conversation { padding:0 7px; }
  .conversation-date { font-size:8px; }
  .sent-photo,.guided-demo button.app-photo { width:94%; height:150px; border-radius:12px; }
  .app-revoke { font-size:10px; padding:7px 4px; min-height:44px; gap:3px; }
  .app-revoke>span:first-child { font-size:16px; }
  .sent-caption,.received-caption { font-size:9px; min-height:24px; margin-bottom:8px; }
  .sender-note { font-size:9px; }
  .app-feedback { font-size:10px; padding:10px 4px; }
  .device-bottom { padding:10px; }
  .app-camera { width:28px; height:28px; font-size:23px; }
}
@media(prefers-reduced-motion:reduce) { .guided-demo *, .guided-demo *:after { animation:none!important; transition:none!important; } }
.guided-demo .demo-device { height:610px; }
.demo-guide { position:sticky; top:76px; z-index:5; background:#261b2b; }
.app-photo-lock svg { width:30px; height:30px; }
.device-bottom>span:first-child svg { width:15px; height:15px; }
@media(max-width:700px) { .guided-demo .demo-device { height:480px; } .app-camera svg { width:19px; height:19px; } .demo-guide { top:66px; } }
@media(max-width:700px) { .guided-demo .sender-note { display:none; } }
/* Plans share the site's editorial typography and plum/pink palette. */
.plans-heading { max-width:780px; margin:0 auto 44px; text-align:center; }
.plans-heading h2 { font-size:clamp(32px,4.1vw,52px); line-height:1.17; margin:0 0 22px; }
.plans-heading>p:last-child { color:var(--muted); font-size:18px; line-height:1.75; max-width:640px; margin:auto; }
.plan-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:1000px; margin:auto; }
.plan-card { position:relative; display:flex; flex-direction:column; padding:38px; border:1px solid #b09eb42f; border-radius:24px; background:#151019; }
.plan-premium { border-color:#dc8ec591; background:radial-gradient(ellipse at 100% 0,#7c3a623b,transparent 70%),linear-gradient(140deg,#2b192d,#19111f); box-shadow:0 15px 60px #9e437817; }
.plan-kicker { font-size:11px; font-weight:700; letter-spacing:.12em; color:#c9b6ce; margin:0 0 22px; }
.plan-premium .plan-kicker { color:#f1b0d6; }
.plan-card h3 { font-size:32px; margin:0 0 14px; font-weight:600; display:flex; justify-content:space-between; align-items:center; }
.premium-spark { color:#eda5d1; font-size:40px; font-weight:400; }
.plan-intro { color:#c3b5ca; font-size:16px; line-height:1.7; min-height:56px; margin:0 0 30px; max-width:360px; }
.plan-price { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.plan-price strong { font-size:clamp(38px,4vw,52px); letter-spacing:-.05em; font-weight:600; line-height:1.2; }
.plan-price>span { color:#cbbdd1; font-size:14px; }
.plan-price-note { margin:12px 0 26px; min-height:42px; font-size:14px; line-height:1.6; color:#cbbdd1; }
.plan-features { list-style:none; padding:24px 0; margin:0 0 18px; border-top:1px solid #c4acc029; display:grid; gap:18px; }
.plan-features li { display:flex; align-items:center; gap:13px; font-size:17px; line-height:1.5; }
.plan-features li>span:first-child { color:#e8a1cf; font-size:17px; }
.plan-link { margin-top:auto; padding:16px 20px; border:1px solid #ac83aa66; border-radius:10px; display:flex; align-items:center; justify-content:space-between; gap:12px; font-weight:600; font-size:14px; color:#f6ecf6; text-decoration:none; transition:background .2s; }
.plan-link:hover { background:#ffffff0c; }
.plan-premium .plan-link { background:#e3a0cd; color:#241322; border-color:#e3a0cd; }
.plan-premium .plan-link:hover { background:#edb6db; }
.plan-release { text-align:center; margin:14px 0 0; font-size:12px; color:#bcaac4; }
.plan-protection { display:flex; align-items:center; gap:20px; max-width:1000px; margin:24px auto 0; padding:24px 28px; border:1px solid #b09eb429; border-radius:16px; background:#17111c; }
.plan-lock { color:#e7abd2; flex:none; }
.plan-protection h3 { font-size:17px; line-height:1.5; margin:0 0 6px; }
.plan-protection p { font-size:14px; line-height:1.7; color:#bfafc9; margin:0; }
.plan-protection a { font-size:13px; color:#e6acd3; flex-shrink:0; text-underline-offset:5px; }
.plans-terms { max-width:800px; text-align:center; margin:22px auto 0; color:#ae9eb8; font-size:13px; line-height:1.8; }
@media(max-width:760px) {
 .plan-grid { grid-template-columns:1fr; max-width:500px; }
 .plan-card { padding:28px; }
 .plan-intro { min-height:0; }
 .plan-price-note { min-height:0; }
 .plan-protection { flex-wrap:wrap; padding:22px; }
 .plan-protection>div:nth-child(2) { flex:1; min-width:200px; }
 .plan-protection>a { margin-left:46px; }
 .plans-heading>p:last-child { font-size:16px; }
}
.plan-card h3 { min-height:50px; }
.app-lock-section { display:flex; gap:30px; align-items:flex-start; padding:32px; margin-bottom:80px; border:1px solid #bc8db34d; border-radius:20px; background:linear-gradient(120deg,#281a2b,#151019); }
.app-lock-icon { flex:none; color:#edb1d8; display:grid; place-items:center; width:72px; height:72px; border-radius:18px; background:#e1a3d00c; border:1px solid #e1a3d02c; }
.app-lock-section h2 { font-size:clamp(24px,3vw,34px); line-height:1.3; max-width:850px; margin:0 0 18px; }
.app-lock-section p:not(.eyebrow) { color:#c9bbd0; font-size:16px; line-height:1.8; max-width:900px; margin:0 0 20px; }
@media(max-width:600px) { .app-lock-section { padding:24px; gap:20px; flex-direction:column; margin-bottom:55px; } .app-lock-icon { width:56px; height:56px; } }
/* Keep guidance beside the devices instead of covering their headers. */
.guided-demo.demo-section { display:grid; grid-template-columns:minmax(220px, .8fr) minmax(0, 2fr); column-gap:32px; row-gap:28px; }
.guided-demo .demo-copy { grid-column:1 / -1; }
.guided-demo .demo-guide { grid-column:1; grid-row:2; position:sticky; top:110px; align-self:start; margin:58px 0 0; padding:22px; display:grid; grid-template-columns:1fr auto; gap:16px; min-height:0; }
.guided-demo .demo-guide>div { grid-column:1 / -1; grid-row:2; }
.guided-demo .demo-guide .guide-pulse { grid-column:2; grid-row:1; }
.guided-demo .demo-guide strong { font-size:19px; }
.guided-demo .demo-phones { grid-column:2; grid-row:2; gap:24px; }
.guided-demo .phone-role { position:sticky; top:100px; z-index:6; padding:12px 10px; margin:0 0 12px; border:1px solid #bb83b52b; border-radius:12px; background:#1b1420; box-shadow:0 5px 16px #0002; }
.guided-demo .phone-role strong { font-size:15px; }
.guided-demo .phone-role>span:last-child { font-size:12px; }
.guided-demo .demo-finish { grid-column:2; margin:0; }
.guided-demo .demo-disclaimer { grid-column:1 / -1; margin:0 auto; }
@media(max-width:1000px) {
 .guided-demo.demo-section { display:block; }
 .guided-demo .demo-guide { position:static; display:flex; margin:24px auto; max-width:664px; }
 .guided-demo .demo-phones { max-width:664px; margin:auto; }
 .guided-demo .phone-role { top:16px; }
 .guided-demo .demo-finish { margin:24px 0 16px; }
}
@media(max-width:700px) {
 .guided-demo .demo-phones { gap:14px; }
 .guided-demo .demo-guide { padding:15px; gap:12px; }
 .guided-demo .demo-guide strong { font-size:17px; }
 .guided-demo .phone-role { padding:10px 6px; }
 .guided-demo .phone-role strong { font-size:12px; }
 .guided-demo .phone-role>span:last-child { font-size:10px; }
}
/* Central guidance connects sender and recipient without covering either app. */
@media(min-width:1001px) {
 .guided-demo.demo-section { grid-template-columns:minmax(0,1fr) minmax(190px,.82fr) minmax(0,1fr); column-gap:24px; }
 .guided-demo .demo-phones { display:contents; }
 .guided-demo .phone-column:first-child { grid-column:1; grid-row:2; }
 .guided-demo .phone-column:last-child { grid-column:3; grid-row:2; }
 .guided-demo .demo-guide { grid-column:2; grid-row:2; margin-top:110px; padding:20px; top:110px; }
 .guided-demo .demo-guide::after { content:'⟶'; grid-column:1 / -1; display:block; text-align:center; font-size:58px; line-height:1.2; color:#efb5d9; animation:send-direction 3s ease-in-out infinite; }
 .guided-demo .demo-finish { grid-column:1 / -1; }
}
@keyframes send-direction { 0%,100% { transform:translateX(-5px); opacity:.6; } 55% { transform:translateX(5px); opacity:1; } }
@media(prefers-reduced-motion:reduce) { .guided-demo .demo-guide::after { animation:none; } }
/* Plain role labels stay in the normal flow above their phones. */
.guided-demo .phone-role {
  position:static;
  z-index:auto;
  padding:0;
  margin:0 0 16px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
