:root {
  color-scheme:dark;
  --bg:#100e16;
  --surface:#19151e;
  --surface-soft:#211a25;
  --border:#342a39;
  --text:#faf4f7;
  --muted:#b5aab9;
  --coral:#f6a0a7;
  --pink:#f3b2ce;
  --mint:#bbd9cc;
  --radius:24px;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Microsoft YaHei",sans-serif;
  font-synthesis:none;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:100px;
}
body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-size:16px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
a {
  color:inherit;
  text-decoration:none;
}
button,input {
  font:inherit;
}
img {
  max-width:100%;
  display:block;
}
svg {
  display:inline-block;
}
h1,h2,h3,h4,p,figure {
  margin:0;
}
h1,h2,h3,h4 {
  line-height:1.3;
  letter-spacing:-.035em;
}
a,summary,label {
  -webkit-tap-highlight-color:transparent;
}
a:focus-visible,summary:focus-visible {
  outline:2px solid var(--pink);
  outline-offset:6px;
  border-radius:4px;
}
::selection {
  background:#8b435c;
  color:#fff;
}
.wrap {
  width:min(1160px,calc(100% - 80px));
  margin-inline:auto;
}
.icon {
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex-shrink:0;
  vertical-align:middle;
}
.icon-library {
  position:absolute;
  width:0;
  height:0;
  overflow:hidden;
}
.skip-link {
  position:fixed;
  z-index:100;
  top:10px;
  left:16px;
  padding:10px 20px;
  background:var(--text);
  color:var(--bg);
  transform:translateY(-150%);
}
.skip-link:focus {
  transform:translateY(0);
}
.site-header {
  position:sticky;
  z-index:20;
  top:0;
  border-bottom:1px solid #ffffff09;
  background:#100e16eb;
  backdrop-filter:blur(18px);
}
.header-inner {
  height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand {
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-size:19px;
  font-weight:650;
  white-space:nowrap;
  letter-spacing:.035em;
}
.brand img {
  border-radius:10px;
}
.desktop-nav {
  display:flex;
  align-items:center;
  gap:36px;
  color:var(--muted);
  font-size:14px;
}
.desktop-nav a:hover,.desktop-nav a[aria-current="page"],.site-footer a:hover {
  color:var(--pink);
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:27px;
  min-height:54px;
  padding:12px 24px;
  border:1px solid transparent;
  border-radius:12px;
  background:var(--coral);
  color:#2b1520;
  font-size:15px;
  font-weight:650;
  line-height:1.5;
  transition:background .18s;
}
.button:hover {
  background:#ffc0c4;
}
.button-small {
  min-height:40px;
  padding:8px 18px;
  border-radius:9px;
  font-size:13px;
  gap:18px;
}
.quiet-button {
  display:inline-flex;
  align-items:center;
  gap:16px;
  min-height:54px;
  color:#e2d7e4;
  font-size:14px;
}
.quiet-button:hover,.text-link:hover {
  color:#ffd4df;
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-size:14px;
  color:var(--pink);
  font-weight:550;
}
.hero {
  position:relative;
  overflow:hidden;
  background:radial-gradient(ellipse at 77% 42%,#602d452b,transparent 52%);
}
.hero-inner {
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:720px;
  align-items:center;
  gap:28px;
  padding-block:32px 44px;
}
.hero-copy {
  position:relative;
  z-index:2;
  padding-bottom:16px;
}
.release-label {
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:25px;
  font-size:12px;
  color:var(--pink);
  letter-spacing:.08em;
}
.release-label>span {
  width:5px;
  height:5px;
  border-radius:100%;
  background:var(--coral);
  box-shadow:0 0 12px #f6a0a74d;
}
.hero h1 {
  font-size:clamp(42px,4.7vw,64px);
  font-weight:650;
  line-height:1.32;
  letter-spacing:-.045em;
}
.hero-description {
  margin-top:25px;
  color:var(--muted);
  font-size:16px;
  line-height:1.95;
}
.hero-actions {
  display:flex;
  align-items:center;
  gap:27px;
  margin-top:33px;
}
.hero-platforms {
  display:flex;
  flex-wrap:wrap;
  gap:15px;
  margin-top:26px;
  color:#a99aaa;
  font-size:11px;
}
.hero-platforms>span {
  display:flex;
  align-items:center;
  gap:5px;
}
.hero-platforms .icon {
  width:13px;
  height:13px;
}
.hero-platforms>span+span {
  padding-left:15px;
  border-left:1px solid var(--border);
}
.hero-art {
  height:680px;
  position:relative;
  width:100%;
  max-width:560px;
  justify-self:center;
  isolation:isolate;
}
.orbital {
  position:absolute;
  width:485px;
  height:485px;
  left:12px;
  top:91px;
  border:1px solid #d18bba16;
  border-radius:100%;
  z-index:-2;
}
.orbital-two {
  width:615px;
  height:615px;
  left:-54px;
  top:26px;
  border-color:#d18bba0a;
}
.bloom-note {
  position:absolute;
  right:0;
  top:25px;
  display:flex;
  align-items:center;
  gap:10px;
  transform:rotate(6deg);
  font-size:11px;
  color:#d1b5c9;
}
.note-flower {
  font-size:34px;
  line-height:1;
  color:var(--pink);
}
.phone-device {
  position:absolute;
  width:285px;
  height:auto;
  left:calc(50% - 142.5px);
  top:25px;
  padding:7px;
  border-radius:43px;
  background:linear-gradient(145deg,#65525f,#1f1a24 30%,#5b4956);
  box-shadow:0 35px 85px #0007,0 0 0 1px #8f708249;
  transform:rotate(-5deg);
}
.phone-screen {
  position:relative;
  width:100%;
  height:auto;
  overflow:hidden;
  border-radius:37px;
  background:linear-gradient(#fff1ed,#fff9f6 27%,#f9f4f2);
  color:#352831;
  border:1px solid #0b0a0e;
}
.phone-screenshot {
  display:block;
  width:100%;
  height:auto;
}
.hero-art figcaption {
  position:absolute;
  bottom:6px;
  width:100%;
  text-align:center;
  font-size:9px;
  color:#877989;
}
.moments-section {
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr 1fr;
  gap:35px;
  padding-block:44px 48px;
  border-block:1px solid var(--border);
}
.moments-intro>p {
  font-size:18px;
  line-height:1.7;
  color:var(--muted);
}
.moments-intro strong {
  font-weight:600;
  color:var(--text);
}
.moments-intro>span {
  display:block;
  font-size:12px;
  color:#998b9e;
  margin-top:12px;
}
.moment>.icon {
  color:var(--coral);
  width:24px;
  height:24px;
  margin:5px 0 14px;
}
.moment h2 {
  font-size:15px;
  font-weight:600;
  margin-bottom:10px;
}
.moment p {
  font-size:12px;
  color:var(--muted);
  line-height:1.85;
}
.section {
  padding-block:100px;
}
.section-heading {
  text-align:center;
  margin-bottom:48px;
}
.section-label {
  font-size:12px;
  color:var(--pink);
  margin-bottom:16px;
  letter-spacing:.04em;
}
.section-heading h2,.prepare-copy h2,.privacy-copy h2 {
  font-size:clamp(28px,3vw,39px);
  font-weight:600;
  line-height:1.5;
  letter-spacing:-.04em;
}
.section-heading>p:last-child {
  font-size:14px;
  line-height:1.9;
  color:var(--muted);
  margin-top:20px;
}
.feature-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.feature {
  padding:29px 28px 31px;
  border-radius:18px;
  border:1px solid #342a39;
  background:linear-gradient(145deg,#221a26,#19151e 75%);
}
.feature-icon {
  display:grid;
  place-items:center;
  width:43px;
  height:43px;
  background:#f6a0a70d;
  border:1px solid #f6a0a71a;
  border-radius:12px;
  color:var(--coral);
  margin-bottom:24px;
}
.feature-icon>.icon {
  width:22px;
  height:22px;
}
.feature h3 {
  font-size:17px;
  font-weight:600;
  margin-bottom:12px;
  letter-spacing:-.02em;
}
.feature p {
  font-size:13px;
  color:var(--muted);
  line-height:1.95;
  max-width:28em;
}
.sharing-spotlight {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  align-items:center;
  gap:36px;
  margin-top:26px;
  padding:36px;
  border:1px solid #614253;
  border-radius:22px;
  background:#211923;
}
.sharing-copy h2 {
  font-size:29px;
  font-weight:600;
  line-height:1.5;
}
.sharing-copy>p:not(.section-label) {
  margin-top:16px;
  color:var(--muted);
  font-size:13px;
  line-height:1.95;
  max-width:30em;
}
.sharing-copy>p:not(.section-label)+p {
  margin-top:10px;
}
.sharing-steps {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:0;
  margin:23px 0 19px;
  list-style:none;
  font-size:11px;
  color:#dfbfce;
}
.sharing-steps li+li:before {
  content:"→";
  color:#927487;
  margin-right:8px;
}
.sharing-copy .text-link {
  font-size:12px;
}
.sharing-examples {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  min-width:0;
}
.sharing-example {
  min-width:0;
  padding:22px 18px 17px;
  background:#16131b;
  border:1px solid #463143;
  border-radius:16px;
}
.sharing-example .mini-icon {
  width:34px;
  height:34px;
  border-radius:10px;
  margin-bottom:17px;
}
.sharing-example .mini-icon .icon {
  width:19px;
  height:19px;
}
.sharing-example h3 {
  font-size:15px;
  font-weight:550;
  line-height:1.6;
}
.sharing-example>p {
  font-size:11px;
  color:var(--muted);
  margin-top:8px;
}
.sharing-example ul {
  list-style:none;
  padding:0;
  margin:21px 0;
}
.sharing-example li {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:7px;
  font-size:12px;
  padding-block:7px;
}
.sharing-example li>span {
  font-size:10px;
  color:#bda3b7;
  white-space:nowrap;
}
.sharing-example-footer {
  display:flex;
  align-items:center;
  gap:7px;
  border-top:1px solid #ffffff0c;
  padding-top:13px;
  color:var(--pink);
  font-size:10px;
}
.sharing-example-footer .icon {
  width:14px;
  height:14px;
}
.sharing-note {
  grid-column:1/-1;
  font-size:11px;
  line-height:1.8;
  color:#b4a0b7;
}
@media(max-width:1000px) {
  .sharing-spotlight {
    grid-template-columns:1fr;
    gap:27px;
  }
  .sharing-copy>p:not(.section-label) {
    max-width:48em;
  }
}
@media(max-width:700px) {
  .sharing-spotlight {
    padding:26px 22px;
    border-radius:18px;
    margin-top:22px;
  }
  .sharing-copy h2 {
    font-size:26px;
  }
  .sharing-copy>p:not(.section-label) {
    font-size:13px;
  }
  .sharing-examples {
    grid-template-columns:1fr;
  }
  .sharing-example {
    padding:22px;
  }
  .sharing-example h3 {
    font-size:16px;
  }
  .sharing-example>p,.sharing-example li {
    font-size:12px;
  }
  .sharing-note {
    font-size:11px;
  }
}
.prepare-section {
  background:#17121b;
  border-block:1px solid #ffffff04;
  padding-block:86px;
}
.prepare-layout {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:90px;
}
.prepare-copy h2 {
  font-size:31px;
  line-height:1.6;
}
.prepare-copy>p:not(.section-label) {
  color:var(--muted);
  font-size:14px;
  line-height:2;
  margin-top:20px;
}
.prepare-copy .text-link {
  margin-top:26px;
}
.reminder-timeline {
  padding:29px 30px 20px;
  border:1px solid #44303d;
  border-radius:21px;
  background:linear-gradient(130deg,#2b1f2a,#1c1620);
  box-shadow:0 18px 45px #0001;
}
.timeline-heading {
  display:flex;
  align-items:center;
  gap:12px;
  padding-bottom:22px;
  border-bottom:1px solid #ffffff0b;
}
.mini-icon {
  display:grid;
  place-items:center;
  width:41px;
  height:41px;
  border-radius:12px;
  background:#f6a0a713;
  color:var(--coral);
  flex-shrink:0;
}
.mini-icon>.icon {
  width:22px;
  height:22px;
}
.timeline-heading>span:nth-child(2) {
  font-size:16px;
  font-weight:600;
}
.timeline-heading strong {
  display:block;
  color:#bba5b6;
  font-size:10px;
  font-weight:400;
  margin-top:2px;
}
.timeline-flower {
  margin-left:auto;
  font-size:32px;
  line-height:1;
  color:var(--pink);
  opacity:.7;
}
.reminder-timeline ol {
  list-style:none;
  margin:22px 0 8px;
  padding:0 0 0 10px;
}
.reminder-timeline li {
  position:relative;
  display:flex;
  gap:18px;
  padding:0 0 28px 21px;
  border-left:1px solid #b86f8b4d;
}
.reminder-timeline li:last-child {
  padding-bottom:0;
  border-left-color:transparent;
}
.timeline-dot {
  position:absolute;
  left:-4px;
  top:9px;
  width:7px;
  height:7px;
  border-radius:100%;
  background:var(--coral);
  box-shadow:0 0 0 5px #e594ad0a;
}
.timeline-when {
  font-size:10px;
  color:var(--pink);
  white-space:nowrap;
  padding-top:2px;
}
.reminder-timeline li strong {
  font-size:12px;
  font-weight:550;
  display:block;
}
.reminder-timeline li div>span {
  display:block;
  font-size:10px;
  color:#a795a8;
  margin-top:3px;
}
.example-note {
  font-size:9px;
  color:#8d7c91;
  text-align:right;
  margin-top:19px;
}
.glance-section {
  padding-bottom:70px;
}
.preview-switcher {
  position:relative;
}
.preview-radio {
  position:absolute;
  top:20px;
  width:1px;
  height:1px;
  clip-path:inset(50%);
  overflow:hidden;
}
.preview-tabs {
  display:flex;
  justify-content:center;
  gap:5px;
  width:max-content;
  max-width:100%;
  margin:0 auto 45px;
  padding:5px;
  background:#211a25;
  border:1px solid var(--border);
  border-radius:12px;
}
.preview-tabs label {
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  padding:9px 24px;
  cursor:pointer;
  border-radius:8px;
  color:var(--muted);
  transition:color .18s,background .18s;
}
#preview-events:checked~.preview-tabs label[for="preview-events"],#preview-calendar:checked~.preview-tabs label[for="preview-calendar"],#preview-widgets:checked~.preview-tabs label[for="preview-widgets"] {
  color:#2c1623;
  background:var(--coral);
  font-weight:600;
}
#preview-events:focus-visible~.preview-tabs label[for="preview-events"],#preview-calendar:focus-visible~.preview-tabs label[for="preview-calendar"],#preview-widgets:focus-visible~.preview-tabs label[for="preview-widgets"] {
  outline:2px solid #fff;
  outline-offset:3px;
}
.preview-panel {
  display:none;
  grid-template-columns:.85fr 1fr;
  align-items:center;
  gap:100px;
  min-height:420px;
  width:min(900px,100%);
  margin:auto;
}
#preview-events:checked~.events-panel,#preview-calendar:checked~.calendar-panel,#preview-widgets:checked~.widgets-panel {
  display:grid;
}
.preview-description>.mini-icon {
  margin-bottom:20px;
}
.preview-description h3 {
  font-size:29px;
  line-height:1.6;
  font-weight:550;
}
.preview-description>p {
  font-size:13px;
  color:var(--muted);
  margin-top:17px;
  line-height:1.9;
}
.check-list {
  list-style:none;
  padding:0;
  margin:24px 0 0;
}
.check-list li {
  font-size:11px;
  color:#cabbcf;
  margin-top:10px;
  display:flex;
  gap:9px;
  align-items:baseline;
}
.check-list li:before {
  content:"✓";
  color:var(--coral);
}
.preview-description>.preview-footnote {
  font-size:10px;
  max-width:24em;
  color:#97889c;
  margin-top:20px;
}
.showcase-surface {
  position:relative;
  width:100%;
  min-height:395px;
  border:1px solid #4b3646;
  border-radius:25px;
  padding:27px 29px;
  overflow:hidden;
  background:#251b28;
  box-shadow:0 23px 60px #0002;
}
.showcase-topline {
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:11px;
  color:#a98d9f;
  margin-bottom:26px;
}
.showcase-topline>span:last-child {
  color:var(--coral);
}
.event-pill {
  display:inline-block;
  color:var(--coral);
  background:#f6a0a712;
  padding:3px 9px;
  border-radius:6px;
  font-size:9px;
}
.event-showcase h4 {
  font-size:24px;
  font-weight:600;
  margin-top:11px;
  position:relative;
  z-index:1;
}
.event-showcase>p {
  font-size:10px;
  color:#bda5ba;
  margin-top:9px;
  position:relative;
  z-index:1;
}
.showcase-number {
  display:flex;
  align-items:baseline;
  gap:15px;
  margin-block:20px 23px;
  color:var(--coral);
  position:relative;
  z-index:1;
}
.showcase-number strong {
  font-size:72px;
  line-height:1;
  letter-spacing:-.06em;
  font-weight:600;
}
.showcase-number>span {
  font-size:12px;
}
.showcase-plan {
  position:relative;
  z-index:1;
  border-left:2px solid #c17891;
  padding:4px 0 4px 14px;
}
.showcase-plan>span {
  font-size:9px;
  display:block;
  color:#b496ab;
}
.showcase-plan strong {
  font-size:13px;
  display:block;
  margin-top:5px;
  font-weight:500;
}
.showcase-plan small {
  display:block;
  font-size:9px;
  color:#bda5ba;
  margin-top:6px;
}
.showcase-bottom {
  display:flex;
  justify-content:space-between;
  border-top:1px solid #ffffff0c;
  margin-top:25px;
  padding-top:13px;
  font-size:9px;
  color:#a98d9f;
}
.showcase-flower {
  position:absolute;
  right:-25px;
  top:70px;
  color:#eab3d3;
  font-size:220px;
  line-height:1;
  opacity:.055;
  transform:rotate(12deg);
}
.calendar-showcase {
  background:#201a26;
  padding:25px 27px;
  min-height:395px;
}
.calendar-showcase .showcase-topline {
  margin-bottom:20px;
}
.showcase-topline strong {
  color:#f1e3ed;
  font-size:16px;
  font-weight:550;
}
.calendar-week,.calendar-days {
  display:grid;
  grid-template-columns:repeat(7,1fr);
  text-align:center;
  font-size:12px;
  gap:5px;
}
.calendar-week {
  font-size:9px;
  color:#b195ad;
  margin-bottom:12px;
}
.calendar-days>span {
  height:29px;
  width:29px;
  line-height:29px;
  justify-self:center;
  position:relative;
  font-size:11px;
}
.calendar-days .muted {
  color:#77677e;
}
.calendar-days .chosen {
  background:var(--coral);
  color:#351b26;
  border-radius:100%;
  font-weight:650;
}
.calendar-days .has-event:after {
  position:absolute;
  content:"";
  width:3px;
  height:3px;
  left:13px;
  bottom:0;
  border-radius:100%;
  background:var(--coral);
}
.calendar-day-title {
  font-size:11px;
  font-weight:550;
  margin-top:22px;
  margin-bottom:12px;
}
.calendar-agenda {
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px 10px;
  background:#ffffff05;
  border:1px solid #ffffff08;
  border-radius:12px;
}
.calendar-agenda .mini-icon {
  width:30px;
  height:30px;
  border-radius:9px;
}
.calendar-agenda .icon {
  width:16px;
  height:16px;
}
.calendar-agenda>div {
  display:flex;
  flex-direction:column;
  gap:4px;
}
.calendar-agenda strong {
  font-size:10px;
  font-weight:550;
}
.calendar-agenda small {
  font-size:9px;
  color:#b3a0b9;
}
.calendar-agenda>span:last-child {
  font-size:9px;
  color:var(--coral);
  margin-left:auto;
}
.widgets-showcase {
  height:395px;
  position:relative;
}
.desktop-widget {
  position:absolute;
  left:50%;
  top:4px;
  overflow:hidden;
  width:215px;
  height:180px;
  padding:22px;
  border-radius:27px;
  background:#fff9f1;
  color:#ba5149;
  transform:translateX(-50%) rotate(-5deg);
  box-shadow:0 18px 45px #0003;
}
.desktop-widget>span:first-child {
  font-size:11px;
  font-weight:600;
}
.desktop-widget>strong {
  display:block;
  font-size:48px;
  line-height:1.4;
  letter-spacing:-.04em;
}
.desktop-widget>strong small {
  font-size:16px;
}
.desktop-widget>p {
  font-size:9px;
  color:#b88d82;
  margin-top:3px;
}
.widget-flower {
  position:absolute;
  font-size:130px;
  right:-15px;
  bottom:-30px;
  opacity:.12;
  line-height:1;
}
.schedule-widget {
  position:absolute;
  bottom:20px;
  left:12px;
  right:7px;
  z-index:2;
  padding:21px 23px;
  background:#fcf4f0;
  border-radius:24px;
  color:#51414b;
  transform:rotate(3deg);
  box-shadow:0 18px 45px #0003;
}
.schedule-widget>span {
  font-size:10px;
  color:#b95e5a;
  font-weight:650;
}
.schedule-widget>p {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  margin-top:13px;
}
.schedule-widget .icon {
  width:14px;
  height:14px;
  color:#c56464;
}
.schedule-widget strong {
  font-size:10px;
  font-weight:500;
  color:#a08991;
  margin-left:auto;
}
.preview-caption {
  text-align:center;
  font-size:10px;
  color:#938398;
  margin-top:35px;
}
.privacy-banner {
  display:grid;
  grid-template-columns:.75fr 1fr;
  align-items:center;
  gap:35px;
  border:1px solid #3f3442;
  background:radial-gradient(ellipse at 10% 50%,#7763841c,transparent 65%),#1b161f;
  border-radius:27px;
  padding:60px 70px;
}
.privacy-mark {
  position:relative;
  justify-self:center;
  width:163px;
  height:163px;
  border:1px solid #f4b9ce26;
  border-radius:100%;
  display:grid;
  place-items:center;
  background:#f4b9ce04;
  box-shadow:0 0 0 28px #f4b9ce03,0 0 0 29px #f4b9ce08;
}
.privacy-mark>.icon {
  width:57px;
  height:57px;
  stroke-width:1;
  color:var(--pink);
}
.privacy-petal {
  position:absolute;
  right:-3px;
  top:-14px;
  font-size:54px;
  line-height:1;
  color:var(--pink);
  transform:rotate(8deg);
}
.privacy-copy h2 {
  font-size:30px;
}
.privacy-copy>p:not(.section-label) {
  font-size:13px;
  line-height:2;
  color:var(--muted);
  margin-top:19px;
}
.privacy-copy .text-link {
  margin-top:23px;
}
.closing-section {
  position:relative;
  text-align:center;
  padding-block:20px 100px;
}
.closing-bloom {
  font-size:46px;
  color:var(--pink);
  line-height:1;
  margin-bottom:23px;
}
.closing-section>.section-label {
  font-size:12px;
  margin-bottom:14px;
  color:#bca4b7;
}
.closing-section h2 {
  font-size:clamp(26px,3vw,38px);
  font-weight:550;
  letter-spacing:-.04em;
  line-height:1.5;
}
.closing-section>p:not(.section-label) {
  font-size:13px;
  color:var(--muted);
  margin-top:17px;
}
.coming-soon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:13px 24px;
  background:#f6a0a711;
  color:var(--pink);
  border:1px solid #f6a0a73d;
  border-radius:11px;
  font-size:13px;
  margin-top:28px;
}
.coming-soon .icon {
  width:17px;
  height:17px;
}
.closing-section>.release-note {
  font-size:10px!important;
  margin-top:10px!important;
  color:#99869d!important;
}
.closing-section>.text-link {
  margin-top:22px;
  font-size:12px;
}
.site-footer {
  border-top:1px solid var(--border);
  padding-block:35px 20px;
}
.footer-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
}
.footer-top .brand {
  font-size:17px;
  gap:10px;
}
.footer-top .brand img {
  width:31px;
  height:31px;
  border-radius:8px;
}
.footer-top p {
  color:#a590aa;
  font-size:11px;
  margin-top:12px;
}
.footer-top nav {
  display:flex;
  flex-wrap:wrap;
  gap:27px;
  color:var(--muted);
  font-size:12px;
}
.footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:32px;
  padding-top:18px;
  border-top:1px solid #ffffff08;
  color:#8e7e94;
  font-size:10px;
}
.document-main {
  padding-top:70px;
  padding-bottom:100px;
  min-height:75vh;
}
.document-heading {
  max-width:720px;
  margin-bottom:44px;
}
.document-heading h1 {
  font-size:clamp(34px,4vw,48px);
  font-weight:600;
}
.document-heading>p:last-child {
  font-size:14px;
  color:var(--muted);
  line-height:1.9;
  margin-top:20px;
}
.document-heading .section-label {
  margin-bottom:14px;
}
.support-intro {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  margin-bottom:50px;
}
.contact-panel {
  border:1px solid var(--border);
  border-radius:20px;
  background:var(--surface);
  padding:28px;
}
.contact-panel h2 {
  font-size:19px;
  font-weight:550;
  margin-bottom:15px;
}
.contact-panel p,.contact-panel li {
  font-size:13px;
  color:var(--muted);
  line-height:1.9;
}
.contact-panel p+p {
  margin-top:12px;
}
.contact-panel ul {
  padding-left:20px;
  margin-bottom:0;
}
.contact-panel a {
  color:var(--pink);
  text-decoration:underline;
  text-underline-offset:4px;
}
.faq-list {
  max-width:900px;
}
.faq-list>h2 {
  font-size:25px;
  margin-bottom:22px;
}
.faq-list details {
  border-bottom:1px solid var(--border);
  padding:20px 0;
}
.faq-list summary {
  position:relative;
  font-size:16px;
  font-weight:500;
  cursor:pointer;
  list-style:none;
  padding-right:32px;
  line-height:1.7;
}
.faq-list summary::-webkit-details-marker {
  display:none;
}
.faq-list summary:after {
  content:"＋";
  position:absolute;
  right:5px;
  top:0;
  color:var(--coral);
  font-size:19px;
  font-weight:400;
}
.faq-list details[open] summary:after {
  content:"−";
}
.faq-answer {
  font-size:14px;
  color:var(--muted);
  line-height:1.95;
  padding-top:14px;
  max-width:58em;
}
.faq-answer p+p {
  margin-top:12px;
}
.faq-answer ul,.faq-answer ol {
  padding-left:21px;
}
.faq-answer a {
  color:var(--pink);
  text-decoration:underline;
  text-underline-offset:4px;
}
.document-layout {
  display:grid;
  grid-template-columns:200px 1fr;
  gap:70px;
  align-items:start;
}
.document-toc {
  position:sticky;
  top:120px;
  display:flex;
  flex-direction:column;
  gap:10px;
  font-size:12px;
  border-left:1px solid var(--border);
  padding-left:20px;
}
.document-toc>a {
  color:var(--muted);
}
.document-toc>a:hover {
  color:var(--pink);
}
.document-toc strong {
  font-size:13px;
  margin-bottom:8px;
  font-weight:550;
}
.document-toc ul {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:11px;
}
.document-body {
  max-width:730px;
  overflow-wrap:anywhere;
}
.document-body section+section {
  margin-top:36px;
}
.document-body h2 {
  font-size:22px;
  font-weight:550;
  margin-bottom:16px;
}
.document-body h3 {
  font-size:17px;
  margin:20px 0 12px;
}
.document-body p,.document-body li {
  font-size:14px;
  color:var(--muted);
  line-height:1.95;
}
.document-body p+p {
  margin-top:14px;
}
.document-body ul {
  padding-left:22px;
}
.document-body a {
  color:var(--pink);
  text-decoration:underline;
  text-underline-offset:4px;
}
.document-body strong {
  color:#eddfeb;
  font-weight:550;
}
.document-body .notice,.notice {
  border-left:2px solid var(--coral);
  background:#f6a0a708;
  padding:16px 20px;
  border-radius:0 10px 10px 0;
  color:#ddc5d7;
  font-size:13px;
  margin-bottom:28px;
}
.document-body .notice p {
  font-size:13px;
}
.document-updated {
  font-size:11px;
  color:#96819d;
  margin-top:12px;
}
.notice-panel {
  border:1px solid #f6a0a72b;
  border-left:2px solid var(--coral);
  border-radius:0 12px 12px 0;
  background:#f6a0a708;
  padding:17px 22px;
  margin-bottom:35px;
  font-size:13px;
  color:#ddc5d7;
  line-height:1.9;
}
.document-toc nav {
  display:flex;
  flex-direction:column;
  gap:12px;
}
.document-toc nav a {
  color:var(--muted);
}
.document-toc nav a:hover {
  color:var(--pink);
}
.contact-panel .text-link {
  margin-top:18px;
  text-decoration:none;
}
.small-note {
  font-size:11px!important;
  color:#a993af!important;
}
.faq-section>.section-heading {
  text-align:left;
  margin-bottom:12px;
}
.faq-section>.section-heading h2 {
  font-size:25px;
}
.faq-section>.section-heading p {
  margin-top:10px;
}
@media(min-width:1450px) {
  .hero-inner {
    min-height:770px;
  }
  .hero-art {
    transform:scale(1.04);
  }
}
@media(max-width:1100px) {
  .wrap {
    width:calc(100% - 64px);
  }
  .hero-inner {
    gap:0;
  }
  .hero h1 {
    font-size:48px;
  }
  .hero-art {
    height:680px;
    transform:scale(.92);
    transform-origin:center right;
  }
  .hero-actions {
    gap:18px;
  }
  .hero-platforms {
    gap:10px;
    font-size:10px;
  }
  .hero-platforms>span+span {
    padding-left:10px;
  }
  .moments-section {
    gap:24px;
  }
  .feature {
    padding:25px 23px;
  }
  .prepare-layout {
    gap:48px;
  }
  .prepare-copy h2 {
    font-size:28px;
  }
  .preview-panel {
    gap:60px;
    width:94%;
  }
  .privacy-banner {
    padding:50px 45px;
  }
  .document-layout {
    gap:45px;
  }
  .desktop-nav {
    gap:24px;
  }
}
@media(max-width:900px) {
  .hero-inner {
    grid-template-columns:1fr .95fr;
    min-height:650px;
  }
  .hero h1 {
    font-size:40px;
  }
  .hero-description {
    font-size:14px;
  }
  .hero-art {
    transform:scale(.82);
    transform-origin:center right;
    margin-left:-40px;
    width:470px;
    max-width:none;
    justify-self:end;
  }
  .hero-actions {
    gap:15px;
  }
  .hero-actions .button {
    font-size:12px;
    gap:12px;
    padding-inline:18px;
  }
  .quiet-button {
    font-size:12px;
    gap:8px;
  }
  .hero-platforms>span:last-child {
    width:100%;
    border:0;
    padding:0;
  }
  .moments-section {
    grid-template-columns:1fr 1fr;
    gap:35px 55px;
  }
  .moments-intro {
    grid-row:span 1;
  }
  .moment p br {
    display:none;
  }
  .feature-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .prepare-layout {
    gap:30px;
  }
  .prepare-copy h2 {
    font-size:25px;
  }
  .reminder-timeline {
    padding:24px 20px;
  }
  .reminder-timeline li {
    gap:12px;
    padding-left:16px;
  }
  .preview-panel {
    gap:40px;
    width:100%;
    grid-template-columns:.8fr 1fr;
  }
  .preview-description h3 {
    font-size:25px;
  }
  .desktop-widget {
    width:200px;
  }
  .privacy-banner {
    gap:45px;
  }
  .privacy-copy h2 {
    font-size:27px;
  }
  .privacy-mark {
    width:130px;
    height:130px;
  }
  .header-inner {
    height:76px;
  }
  .desktop-nav {
    gap:19px;
    font-size:12px;
  }
  .brand {
    font-size:17px;
  }
  .button-small {
    padding-inline:13px;
    gap:10px;
  }
  .document-layout {
    grid-template-columns:160px 1fr;
    gap:35px;
  }
}
@media(max-width:700px) {
  .wrap {
    width:calc(100% - 40px);
  }
  .header-inner {
    height:70px;
    gap:12px;
  }
  .brand {
    font-size:16px;
    gap:8px;
  }
  .brand img {
    width:31px;
    height:31px;
    border-radius:9px;
  }
  .desktop-nav {
    display:none;
  }
  .button-small {
    min-height:35px;
    font-size:11px;
    padding:7px 12px;
    border-radius:8px;
  }
  .hero-inner {
    grid-template-columns:minmax(0,1fr);
    padding-block:43px 20px;
    gap:5px;
  }
  .hero-copy {
    text-align:center;
    padding:0;
  }
  .release-label {
    justify-content:center;
    font-size:10px;
    margin-bottom:22px;
  }
  .hero h1 {
    font-size:clamp(37px,8vw,53px);
    line-height:1.4;
  }
  .hero-description {
    font-size:14px;
    margin-top:20px;
    line-height:1.9;
  }
  .hero-actions {
    justify-content:center;
    margin-top:26px;
    gap:25px;
  }
  .hero-actions .button {
    font-size:13px;
    min-height:47px;
    padding:12px 19px;
    gap:17px;
  }
  .quiet-button {
    min-height:47px;
    font-size:12px;
  }
  .hero-platforms {
    justify-content:center;
    font-size:10px;
    gap:12px;
    margin-top:22px;
  }
  .hero-platforms>span:last-child {
    width:auto;
    border-left:1px solid var(--border);
    padding-left:12px;
  }
  .hero-art {
    justify-self:center;
    width:440px;
    height:680px;
    transform:scale(.85);
    transform-origin:top center;
    margin:20px 0 -75px;
  }
  .bloom-note {
    right:-9px;
  }
  .hero-art figcaption {
    bottom:0;
  }
  .bloom-note {
    display:none;
  }
  .orbital-one {
    left:-15px;
  }
  .orbital-two {
    left:-80px;
  }
  .moments-section {
    padding-block:33px 37px;
    gap:30px 25px;
    margin-top:20px;
  }
  .moments-intro>p {
    font-size:17px;
  }
  .moments-intro>span {
    font-size:11px;
  }
  .moment>.icon {
    margin-bottom:10px;
    width:22px;
    height:22px;
  }
  .moment h2 {
    font-size:14px;
  }
  .moment p {
    font-size:11px;
  }
  .section {
    padding-block:65px;
  }
  .section-heading {
    margin-bottom:32px;
  }
  .section-label {
    font-size:11px;
    margin-bottom:12px;
  }
  .section-heading h2 {
    font-size:27px;
    line-height:1.5;
  }
  .section-heading>p:last-child {
    font-size:12px;
    margin-top:17px;
  }
  .feature-grid {
    gap:12px;
  }
  .feature {
    padding:20px 17px 23px;
    border-radius:15px;
  }
  .feature-icon {
    width:37px;
    height:37px;
    border-radius:10px;
    margin-bottom:19px;
  }
  .feature-icon>.icon {
    width:19px;
    height:19px;
  }
  .feature h3 {
    font-size:14px;
    line-height:1.6;
    margin-bottom:9px;
  }
  .feature p {
    font-size:12px;
    line-height:1.9;
  }
  .prepare-layout {
    grid-template-columns:1fr;
    gap:32px;
  }
  .prepare-copy {
    text-align:center;
  }
  .prepare-copy h2 {
    font-size:26px;
  }
  .prepare-copy>p:not(.section-label) {
    font-size:12px;
    margin-top:16px;
  }
  .prepare-copy .text-link {
    margin-top:20px;
    font-size:12px;
  }
  .reminder-timeline {
    max-width:440px;
    width:100%;
    margin:auto;
    padding:25px;
  }
  .timeline-heading>span:nth-child(2) {
    font-size:15px;
  }
  .reminder-timeline li {
    gap:18px;
    padding-left:20px;
    padding-bottom:25px;
  }
  .preview-tabs {
    margin-bottom:30px;
    padding:4px;
    gap:3px;
    border-radius:11px;
  }
  .preview-tabs label {
    padding:8px 18px;
    font-size:11px;
  }
  .preview-panel {
    grid-template-columns:1fr;
    gap:28px;
    min-height:0;
    max-width:440px;
  }
  .preview-description {
    text-align:center;
  }
  .preview-description>.mini-icon {
    margin:0 auto 17px;
  }
  .preview-description h3 {
    font-size:25px;
    line-height:1.5;
  }
  .preview-description>p {
    font-size:12px;
    margin-top:12px;
  }
  .check-list {
    display:none;
  }
  .preview-description>.preview-footnote {
    font-size:10px;
    max-width:none;
  }
  .showcase-surface {
    max-width:370px;
    justify-self:center;
    min-height:395px;
    padding:26px;
  }
  .widgets-showcase {
    width:min(370px,100%);
    margin:auto;
    height:350px;
  }
  .desktop-widget {
    top:6px;
  }
  .schedule-widget {
    bottom:10px;
    left:15px;
    right:15px;
    padding:20px;
  }
  .preview-caption {
    font-size:9px;
    margin-top:25px;
  }
  .privacy-banner {
    grid-template-columns:1fr;
    text-align:center;
    padding:45px 23px;
    gap:42px;
    border-radius:22px;
  }
  .privacy-mark {
    width:104px;
    height:104px;
    box-shadow:0 0 0 18px #f4b9ce03,0 0 0 19px #f4b9ce08;
  }
  .privacy-mark>.icon {
    width:42px;
    height:42px;
  }
  .privacy-petal {
    font-size:40px;
    right:-5px;
    top:-10px;
  }
  .privacy-copy h2 {
    font-size:25px;
  }
  .privacy-copy>p:not(.section-label) {
    font-size:11px;
    margin-top:17px;
  }
  .privacy-copy .text-link {
    font-size:12px;
    margin-top:20px;
  }
  .closing-section {
    padding-block:0 65px;
  }
  .closing-bloom {
    font-size:40px;
    margin-bottom:19px;
  }
  .closing-section h2 {
    font-size:25px;
  }
  .closing-section>p:not(.section-label) {
    font-size:11px;
  }
  .site-footer {
    padding-block:27px 18px;
  }
  .footer-top {
    align-items:flex-start;
    gap:25px;
  }
  .footer-top .brand {
    font-size:15px;
    gap:8px;
  }
  .footer-top .brand img {
    width:28px;
    height:28px;
  }
  .footer-top p {
    font-size:10px;
    max-width:16em;
  }
  .footer-top nav {
    flex-direction:column;
    font-size:11px;
    gap:8px;
  }
  .footer-bottom {
    font-size:9px;
    margin-top:25px;
    padding-top:15px;
    gap:15px;
  }
  .document-main {
    padding-top:42px;
    padding-bottom:65px;
  }
  .document-heading {
    margin-bottom:30px;
  }
  .document-heading h1 {
    font-size:32px;
  }
  .document-heading>p:last-child {
    font-size:13px;
    margin-top:17px;
  }
  .support-intro {
    grid-template-columns:1fr;
    gap:15px;
    margin-bottom:35px;
  }
  .contact-panel {
    padding:23px;
  }
  .faq-list>h2 {
    font-size:22px;
  }
  .faq-list details {
    padding-block:18px;
  }
  .faq-list summary {
    font-size:14px;
  }
  .faq-answer {
    font-size:13px;
  }
  .document-layout {
    grid-template-columns:1fr;
    gap:30px;
  }
  .document-toc {
    position:static;
    border:1px solid var(--border);
    border-radius:14px;
    padding:19px;
    font-size:12px;
    gap:9px;
  }
  .document-toc ul {
    flex-direction:row;
    flex-wrap:wrap;
    gap:10px 18px;
  }
  .document-body h2 {
    font-size:20px;
  }
  .document-body p,.document-body li {
    font-size:13px;
  }
  .document-body section+section {
    margin-top:30px;
  }
  .desktop-break {
    display:none;
  }
}
@media(max-width:380px) {
  .wrap {
    width:calc(100% - 32px);
  }
  .hero h1 {
    font-size:36px;
  }
  .hero-platforms {
    gap:8px;
    font-size:8px;
  }
  .hero-platforms>span+span {
    padding-left:8px;
  }
  .hero-actions {
    gap:17px;
  }
  .hero-art {
    transform:scale(.72);
    margin-bottom:-150px;
  }
  .moment h2 {
    font-size:12px;
  }
  .feature {
    padding:18px 14px;
  }
  .feature h3 {
    font-size:13px;
  }
  .feature p {
    font-size:12px;
  }
  .section-heading h2 {
    font-size:24px;
  }
  .preview-tabs label {
    padding-inline:14px;
  }
  .showcase-surface {
    padding-inline:21px;
  }
  .calendar-days {
    gap:3px;
  }
  .calendar-days>span {
    width:26px;
  }
  .desktop-widget {
    width:181px;
    height:170px;
    padding:19px;
  }
  .schedule-widget {
    left:4px;
    right:4px;
    padding-inline:16px;
  }
  .schedule-widget>p {
    font-size:10px;
    gap:5px;
  }
  .schedule-widget strong {
    font-size:9px;
  }
  .privacy-copy h2 {
    font-size:23px;
  }
  .closing-section h2 {
    font-size:22px;
  }
  .footer-bottom {
    font-size:8px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important;
  }
}
