/* FLT-738 Phase 2A. Separate from Phase 1 and every invitation stylesheet. */
.fl-landing-phase2 {
  padding-block:90px;
  scroll-margin-top:24px;
}

.fl-landing-p2-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:35px;
  margin-bottom:36px;
}

.fl-landing-p2-heading>p,
.fl-landing-p2-body {
  font-size:15px;
  line-height:1.8;
  color:var(--fl-muted);
}

.fl-landing-phase2 .fl-landing-p2-note {
  font-size:12px;
  color:var(--fl-muted);
  line-height:1.8;
}

.fl-landing-phase2 figcaption {
  margin-top:16px;
  font-size:11px;
  color:var(--fl-muted);
  text-align:center;
}

.fl-landing-p2-kicker {
  font-size:11px;
  color:var(--fl-brand-dark);
  letter-spacing:.13em;
  font-weight:500;
  margin-bottom:17px!important;
}

.fl-landing-design {
  background:var(--fl-canvas);
}

.fl-landing-phase2.fl-landing-design {
  padding-top:48px;
}

.fl-landing-design-wall {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:30px 20px;
  list-style:none;
  padding:0;
  margin:0;
}

.fl-landing-design-item {
  display:block;
  width:100%;
  text-align:left;
  background:none;
  border:0;
  color:var(--fl-ink);
  padding:0;
}

.fl-landing-design-intro {
  text-align:center;
  margin-bottom:40px;
}

.fl-landing-design-intro p {
  margin:16px auto 0;
  color:var(--fl-muted);
}

@media(max-width:767px) {
  .fl-landing-design-intro {
    margin-bottom:36px;
  }
}

.fl-landing-design-marquee {
  overflow:hidden;
  width:100%;
  max-width:100%;
}

.fl-landing-design-row+.fl-landing-design-row {
  margin-top:14px;
}

.fl-landing-design-track {
  display:flex;
  width:max-content;
  animation:fl-review-drift 104s linear infinite;
}

.fl-landing-design-row:nth-child(2) .fl-landing-design-track {
  animation-direction:reverse;
}

.fl-landing-design-group {
  display:flex;
  gap:14px;
  list-style:none;
  margin:0;
  padding:0 14px 0 0;
}

.fl-landing-design-marquee .fl-landing-design-item {
  width:clamp(148px,38vw,188px);
  flex:0 0 auto;
}

.fl-landing-design-item img {
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  background:transparent;
  border-radius:var(--fl-radius-md);
  transition:filter .18s;
}

@media(hover:hover) and (pointer:fine) {
  .fl-landing-design-row:hover .fl-landing-design-track {
    animation-play-state:paused;
  }
}

.fl-landing-design-item:hover img {
  filter:brightness(1.05);
}

.fl-landing-design-item>span {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:5px;
  padding-top:12px;
  min-height:44px;
  font-size:13px;
  font-weight:500;
}

.fl-landing-design-item>span>span {
  color:var(--fl-brand-primary);
}

.landing-2026 .fl-landing-design-dialog {
  width:min(480px,calc(100% - 32px));
  max-height:calc(100dvh - 32px);
  margin:auto;
  padding:0;
  border:0;
  background:#fff;
  color:var(--fl-ink);
  overflow:auto;
  border-radius:var(--fl-radius-lg);
}

.fl-landing-design-dialog::backdrop {
  background:#302d2b99;
}

.landing-2026 .fl-landing-dialog-close {
  position:absolute;
  top:8px;
  right:8px;
  z-index:1;
  min-width:44px;
  min-height:44px;
  padding:8px 4px;
  border:0;
  background:none;
  color:#aaa;
  font-size:24px;
  font-weight:300;
  line-height:1;
  -webkit-appearance:none;
  appearance:none;
  -webkit-tap-highlight-color:transparent;
}

.landing-2026 .fl-landing-dialog-close:focus,
.landing-2026 .fl-landing-dialog-close:active {
  outline:none;
  background:none;
  box-shadow:none;
}

@media (hover: hover) and (pointer: fine) {
  .landing-2026 .fl-landing-dialog-close:focus-visible {
    outline:1px solid #aaa;
    outline-offset:0;
  }
}

.landing-2026 .fl-landing-dialog-close span {
  font-size:24px;
  font-weight:300;
  line-height:1;
}

.fl-landing-dialog-art {
  background:#f9f9f9;
  padding:28px 24px 12px;
  text-align:center;
}

.fl-landing-dialog-art img {
  display:block;
  margin:auto;
  width:auto;
  max-width:100%;
  height:min(500px,54dvh);
  object-fit:contain;
  border-radius:20px;
  overflow:hidden;
}

.fl-landing-dialog-copy {
  padding:16px 20px 20px;
}

.fl-landing-dialog-copy h3 {
  font-weight:700;
  font-size:20px;
  letter-spacing:-.03em;
  margin:0 0 16px;
  text-align:left;
}

.fl-landing-dialog-actions {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.fl-landing-design-dialog .fl-landing-dialog-actions a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 16px;
  border:1px solid;
  border-radius:var(--fl-radius-sm);
  font-size:14px;
  font-weight:500;
  line-height:1.2;
}

.fl-landing-dialog-preview {
  background:#fff;
  border-color:#d8d8d8;
  color:#111!important;
}

.fl-landing-dialog-preview:hover {
  background:#fff;
  border-color:#c8c8c8;
  color:#111!important;
}

.fl-landing-dialog-create {
  background:#111;
  border-color:#111;
  color:#fff!important;
}

.fl-landing-dialog-create:hover {
  background:#111;
  border-color:#111;
  color:#fff!important;
}

.fl-landing-highlights {
  background:var(--fl-canvas);
}

.fl-landing-phase2.fl-landing-highlights {
  padding-top:calc(96px - 70px);
  padding-bottom:76px;
}

.fl-landing-phase2.fl-landing-highlights.fl-landing-partner-section {
  padding-top:clamp(56px,6vw,80px);
  padding-bottom:0;
}

.fl-landing-phase2.fl-landing-highlights.fl-landing-feature-group {
  padding-top:calc(144px - 90px);
  padding-bottom:clamp(32px,4vw,48px);
}

.fl-landing-feature-group .fl-landing-feature:first-of-type {
  margin-top:72px;
}

.fl-landing-phase2.fl-landing-everything {
  padding-block:90px;
}

.fl-landing-highlights .fl-landing-feature {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  grid-template-areas:"copy media";
  gap:48px;
  align-items:center;
  margin-top:96px;
}

@media(min-width:768px) {
  .fl-landing-highlights .fl-landing-feature:has(.fl-landing-feature-media--story) {
    grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
    gap:36px;
  }
}

.fl-landing-partner-intro {
  text-align:center;
}

.fl-landing-partner-intro p {
  margin:16px auto 0;
  max-width:40em;
  color:var(--fl-muted);
}

.fl-landing-partner-intro .fl-landing-feature-media--partner {
  width:100%;
  margin:36px auto 0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}

.fl-landing-partner-intro .fl-landing-feature-media--partner img {
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  margin-inline:auto;
  border-radius:0;
  box-shadow:none;
}

@media(min-width:1100px) {
  .fl-landing-partner-intro .fl-landing-feature-media--partner { width:75%; }
}

.fl-landing-highlights .fl-landing-feature-copy { grid-area:copy; }
.fl-landing-highlights .fl-landing-feature-media { grid-area:media; }

.fl-landing-highlights .fl-landing-feature--media-first {
  grid-template-areas:"media copy";
}

.fl-landing-highlights .fl-landing-feature-copy h3 {
  font-size:34px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:-.04em;
}

.fl-landing-highlights .fl-landing-feature-copy>p:not(.fl-landing-p2-kicker):not(.fl-landing-feature-note) {
  margin-top:18px;
  font-size:15px;
  line-height:1.75;
  color:var(--fl-muted);
}

.fl-landing-feature-group .fl-landing-feature-copy>p:not(.fl-landing-p2-kicker):not(.fl-landing-feature-note) {
  font-size:17px;
  font-weight:300;
}

.fl-landing-highlights .fl-landing-feature-note {
  margin-top:16px;
  font-size:13px;
  line-height:1.7;
  color:var(--fl-muted);
}

.fl-landing-feature-group .fl-landing-feature-note {
  display:inline-block;
  width:fit-content;
  max-width:100%;
  padding:8px 12px;
  border:0;
  border-radius:var(--fl-radius-sm);
  background:color-mix(in srgb,var(--fl-brand-action) 6%,var(--fl-canvas));
  color:var(--fl-brand-rose);
  box-shadow:none;
}

.fl-landing-feature-group .fl-landing-feature-note strong {
  font-weight:700;
  color:inherit;
}

.fl-landing-highlights .fl-landing-feature-chips {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  list-style:none;
  margin:22px 0 0;
  padding:0;
}

.fl-landing-highlights .fl-landing-feature-chips li {
  padding:6px 12px;
  border-radius:var(--fl-radius-sm);
  background:var(--fl-canvas-alt);
  color:var(--fl-ink);
  font-size:13px;
  font-weight:500;
}

.fl-landing-highlights .fl-landing-feature-link {
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:12px;
  color:var(--fl-brand-action);
  font-size:14px;
  font-weight:600;
}

.fl-landing-highlights .fl-landing-feature-link:hover {
  color:var(--fl-brand-action-hover);
}

.fl-landing-highlights .fl-landing-feature-media {
  min-width:0;
  grid-area:media;
}

.fl-landing-highlights .fl-landing-feature-media--heart-qr,
.fl-landing-highlights .fl-landing-feature-media--guest-custom {
  border-radius:var(--fl-radius-lg);
  overflow:hidden;
}

.fl-landing-highlights .fl-landing-feature-media--heart-qr img,
.fl-landing-highlights .fl-landing-feature-media--guest-custom img {
  display:block;
  width:100%;
  height:auto;
  margin-inline:auto;
  border-radius:var(--fl-radius-lg);
}

.fl-landing-highlights .fl-landing-feature-media--story {
  display:flex;
  flex-direction:column;
  align-items:stretch;
}

.fl-landing-highlights .fl-landing-feature-player {
  position:relative;
  width:100%;
  aspect-ratio:4/3;
  border-radius:var(--fl-radius-lg);
  background:var(--fl-canvas-alt);
  overflow:hidden;
}

.fl-landing-highlights .fl-landing-feature-video,
.fl-landing-highlights .fl-landing-feature-poster {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center var(--fl-story-y,8%);
}

.fl-landing-highlights .fl-landing-feature-player.is-playing .fl-landing-feature-poster {
  visibility:hidden;
}

.fl-landing-highlights .fl-landing-feature-play {
  position:absolute;
  z-index:1;
  right:16px;
  bottom:16px;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  padding:0;
  border:0;
  border-radius:50%;
  background:color-mix(in srgb,var(--fl-ink) 72%,transparent);
  color:#fff;
}

.fl-landing-highlights .fl-landing-feature-play-icon {
  width:18px;
  height:18px;
}

.fl-landing-highlights .fl-landing-feature-play [data-feature-pause-icon] { display:none; }

.fl-landing-highlights .fl-landing-feature-play[aria-pressed="true"] [data-feature-play-icon] { display:none; }

.fl-landing-highlights .fl-landing-feature-play[aria-pressed="true"] [data-feature-pause-icon] { display:block; }


.fl-landing-highlight {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:65px;
  align-items:center;
  margin-top:60px;
}

.fl-landing-highlight h3,
.fl-landing-story-highlight h3 {
  font-size:clamp(24px,2.4vw,34px);
  font-weight:600;
  line-height:1.55;
  letter-spacing:-.045em;
}

.fl-landing-highlight-copy>p:not(.fl-landing-p2-kicker) {
  font-size:14px;
  color:var(--fl-muted);
  margin-top:22px;
  line-height:1.85;
}

.fl-landing-highlight-copy .fl-landing-p2-note {
  font-size:12px!important;
  padding-top:18px;
  border-top:1px solid var(--fl-line);
}

.fl-landing-heart-visual {
  padding:36px 25px 22px;
  background:#eee9e1;
  border-radius:var(--fl-radius-lg);
}

.fl-landing-paper-invite {
  max-width:270px;
  margin:auto;
  padding:25px 25px 22px;
  text-align:center;
  background:#fffdf9;
  box-shadow:5px 8px 0 #d9cec199;
}

.fl-landing-paper-invite>p,
.fl-landing-paper-invite>small {
  display:block;
  font:9px/1.6 Georgia,serif;
  letter-spacing:.15em;
}

.fl-landing-paper-invite strong {
  display:block;
  font-size:20px;
  font-weight:400;
  margin:22px 0;
}

.fl-landing-paper-invite i {
  font:italic 24px Georgia,serif;
  margin:0 10px;
  color:var(--fl-brand-dark);
}

.fl-landing-paper-rule {
  display:block;
  width:40px;
  height:1px;
  background:var(--fl-line);
  margin:auto;
}

.fl-landing-heart-code {
  width:145px;
  max-width:100%;
  height:auto;
  margin:20px 0;
  color:var(--fl-brand-dark);
}

.fl-landing-story-highlight {
  margin-top:90px;
  padding-block:55px;
  border-top:1px solid var(--fl-line);
  border-bottom:1px solid var(--fl-line);
}

.fl-landing-story-scroll {
  overflow-x:auto;
  padding-bottom:14px;
  scrollbar-color:#b39b9b #eee9e1;
}

.fl-landing-story-strip {
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:15px;
  list-style:none;
  padding:0;
  margin:0;
}

.fl-landing-story-photo {
  aspect-ratio:4/5;
  background:#e9e0d6;
  display:grid;
  place-items:center;
  position:relative;
}

.fl-landing-story-photo::before {
  content:"";
  position:absolute;
  inset:17% 22%;
  border:1px solid #c4afa1;
  border-radius:50% 50% 0 0;
}

.fl-landing-story-photo span {
  font:italic 30px Georgia,serif;
  color:#826d65;
  z-index:1;
}

.fl-landing-story-strip li:nth-child(even) .fl-landing-story-photo {
  background:#e6e7dd;
}

.fl-landing-story-strip li:nth-child(3n) .fl-landing-story-photo {
  background:#e5d8d8;
}

.fl-landing-story-strip p {
  font-size:12px;
  text-align:center;
  margin-top:14px;
}

.fl-landing-story-hint {
  margin-top:8px!important;
}

.fl-landing-story-hint span {
  display:none;
}

.fl-landing-guest-source {
  width:fit-content;
  margin:0 auto 35px;
  font-size:14px;
  padding:12px 20px;
  border-block:1px solid #cdbbb7;
  position:relative;
}

.fl-landing-guest-source::after {
  content:"";
  position:absolute;
  height:35px;
  width:1px;
  background:#cdbbb7;
  top:100%;
  left:50%;
}

.fl-landing-guest-letters {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  border-top:1px solid #cdbbb7;
  padding-top:20px;
}

.fl-landing-guest-letters>div {
  background:#f1e8df;
  padding:20px 14px;
  min-width:0;
}

.fl-landing-guest-letters>div:nth-child(2) { background:#e7e9e0; }
.fl-landing-guest-letters>div:nth-child(3) { background:#eedfe1; }

.fl-landing-guest-letters small {
  font-size:10px;
  color:var(--fl-brand-dark);
}

.fl-landing-guest-letters p {
  font-size:13px;
  margin-block:20px;
  line-height:1.8;
}

.fl-landing-guest-letters span {
  font-size:10px;
  color:var(--fl-muted);
}

.fl-landing-everything {
  background:var(--fl-canvas-alt);
}

.fl-landing-everything-intro {
  text-align:center;
  margin-bottom:40px;
}

.fl-landing-everything-intro p {
  margin:16px auto 0;
  color:var(--fl-muted);
}

.fl-landing-feature-list {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0 30px;
  list-style:none;
  padding:0;
  margin:0 0 35px;
}

.fl-landing-feature-list li {
  padding:17px 0;
  border-bottom:1px solid var(--fl-line);
  font-size:16px;
}

.fl-landing-feature-list li>span[aria-hidden] {
  margin-right:8px;
  color:var(--fl-brand-dark);
}

.fl-landing-feature-upcoming span:not([aria-hidden]) {
  color:var(--fl-muted);
  font-size:11px;
  margin-left:5px;
}

.fl-landing-international {
  display:flex;
  gap:36px;
  align-items:center;
  border-left:2px solid var(--fl-brand-action);
  padding:20px 30px;
  margin-top:40px;
  background:#FAF7F8;
  border-radius:0;
}

.fl-landing-international-mark {
  font:italic 29px/1.05 Georgia,serif;
  color:var(--fl-brand-action);
}

.fl-landing-international h3 {
  font-size:21px;
  font-weight:600;
  margin-bottom:8px;
}

.fl-landing-international p { font-size:13px; color:var(--fl-muted); }

.fl-landing-proof {
  background:var(--fl-canvas);
}

.fl-landing-review-proof { text-align:right; }
.fl-landing-review-metrics { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px 28px; margin:0 0 14px; }
.fl-landing-review-metrics dt { font-size:12px; color:var(--fl-muted); margin-bottom:4px; }
.fl-landing-review-metrics dd { margin:0; font-size:26px; font-weight:600; color:var(--fl-ink); white-space:nowrap; }
.fl-landing-review-proof>a { font-size:13px; color:var(--fl-brand-action); }
.fl-landing-review-list {
  column-count:1;
  column-gap:14px;
  list-style:none;
  margin:0;
  padding:0;
}
.fl-landing-review-card {
  break-inside:avoid;
  -webkit-column-break-inside:avoid;
  margin:0 0 14px;
  padding:22px;
  border:0.5px solid var(--fl-line);
  background:#faf7f8;
  border-radius:var(--fl-radius-md);
}
.fl-landing-review-card .fl-landing-review-score { margin:0 0 12px; font-size:12px; color:var(--fl-muted); font-weight:500; }
.fl-landing-review-score span { letter-spacing:.08em; color:#F5B301; font-weight:400; font-size:16px; }
.fl-landing-review-card .fl-landing-review-summary { margin:0 0 10px; font-size:16px; font-weight:700; line-height:1.4; color:var(--fl-ink); }
.fl-landing-review-mark { color:var(--fl-brand-action); font-weight:400; }
.fl-landing-review-card blockquote { margin:0; font-size:15px; font-weight:300; line-height:1.8; }
.fl-landing-review-card blockquote p,
.fl-landing-guest-reactions blockquote p { margin:0; }
.fl-landing-review-card .fl-landing-review-source,
.fl-landing-guest-reactions .fl-landing-reaction-source {
  display:flex;
  align-items:center;
  gap:8px;
  margin:16px 0 0;
  font-size:12px;
  line-height:1.4;
  font-weight:300;
  color:var(--fl-muted);
}
.fl-landing-guest-reactions {
  background:var(--fl-canvas-alt);
}
.fl-landing-guest-reactions-intro {
  text-align:center;
  margin-bottom:40px;
}
.fl-landing-guest-reactions-intro p {
  margin:16px auto 0;
  color:var(--fl-muted);
}
.fl-landing-guest-reactions ul { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; align-items:start; list-style:none; margin:0; padding:0; }
.fl-landing-guest-reactions li { margin:0; padding:22px; border:0.5px solid var(--fl-line); border-radius:var(--fl-radius-md); background:#fff; }
.fl-landing-guest-reactions blockquote { margin:0; font-size:15px; font-weight:300; line-height:1.75; color:var(--fl-ink); }
.fl-landing-reaction-avatar {
  position:relative;
  width:22px;
  height:22px;
  border-radius:50%;
  background:color-mix(in srgb,var(--fl-ink) 10%,var(--fl-canvas));
  flex:0 0 auto;
  overflow:hidden;
}
.fl-landing-reaction-avatar::before,
.fl-landing-reaction-avatar::after {
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  background:color-mix(in srgb,var(--fl-ink) 32%,var(--fl-canvas));
}
.fl-landing-reaction-avatar::before { width:8px; height:8px; border-radius:50%; top:4px; }
.fl-landing-reaction-avatar::after { width:14px; height:8px; border-radius:7px 7px 0 0; bottom:0; }
@media(min-width:768px) {
  .fl-landing-review-list { column-count:2; }
  .fl-landing-guest-reactions ul { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(min-width:1100px) {
  .fl-landing-review-list { column-count:3; }
}
@keyframes fl-review-drift { from { transform:translateX(0); } to { transform:translateX(-50%); } }

.fl-landing-trial {
  background:var(--fl-canvas);
  color:var(--fl-ink);
  text-align:center;
  position:relative;
  overflow:hidden;
}

.fl-landing-trial-layout {
  display:flex;
  flex-direction:column;
  align-items:center;
  position:relative;
  isolation:isolate;
}

.fl-landing-trial-layout::before {
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:720px;
  height:300px;
  transform:translate(-50%,-12%);
  pointer-events:none;
  z-index:0;
  background:radial-gradient(
    ellipse at center,
    rgba(214,0,111,.07) 0%,
    rgba(214,0,111,.03) 38%,
    rgba(214,0,111,0) 72%
  );
}

.fl-landing-trial-layout>* {
  position:relative;
  z-index:1;
}

.fl-landing-trial-accent {
  color:var(--fl-brand-action);
}

.fl-landing-trial .fl-landing-p2-body {
  margin:16px 0 0;
  max-width:28em;
}

.fl-landing-phase2.fl-landing-trial .fl-landing-button {
  margin-top:28px;
  background:var(--fl-brand-action);
  border-color:var(--fl-brand-action);
  color:var(--fl-on-action)!important;
  min-height:60px;
  padding:16px 36px;
  font-size:16px;
  gap:0;
}

.fl-landing-phase2.fl-landing-trial .fl-landing-button:hover {
  background:var(--fl-brand-action-hover);
  border-color:var(--fl-brand-action-hover);
  color:var(--fl-on-action)!important;
}

.landing-2026 .fl-landing-creator-preview {
  width:min(860px,100%);
  margin:18px 0 0;
}

.fl-landing-creator-preview img { width:100%; height:auto; display:block; }

.fl-landing-price-faq {
  background:var(--fl-canvas);
}

.fl-landing-price-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);
  gap:80px;
}

.fl-landing-price-placeholder { margin-top:32px; border-top:1px solid var(--fl-line); padding-top:25px; }
.fl-landing-price-placeholder p { font-size:13px; color:var(--fl-muted); }
.fl-landing-price-placeholder h3 { font-size:clamp(28px,3vw,36px); font-weight:600; letter-spacing:-.04em; color:var(--fl-ink); white-space:nowrap; margin:10px 0; }
.fl-landing-price-placeholder span { font-size:12px; color:var(--fl-muted); }
.fl-landing-faq { min-width:0; }
.fl-landing-faq-item { border-bottom:1px solid var(--fl-line); }
.fl-landing-faq-item:first-child { border-top:1px solid var(--fl-line); }
.fl-landing-faq-item h3 { font-size:15px; font-weight:600; }

.fl-landing-faq-item button {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:100%;
  min-height:68px;
  background:none;
  border:0;
  text-align:left;
  color:var(--fl-ink);
  padding:18px 4px;
  -webkit-appearance:none;
  appearance:none;
  -webkit-tap-highlight-color:transparent;
}

.fl-landing-faq-item button:active {
  background:none;
}

.fl-landing-faq-item button>span { font-size:24px; font-weight:300; color:var(--fl-brand-primary); flex-shrink:0; }
.fl-landing-faq-item [role="region"] { padding:8px 24px 28px 4px; font-size:14px; color:var(--fl-muted); line-height:1.9; }

.fl-landing-phase2.fl-landing-final {
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  border:0;
  border-radius:0;
  min-height:560px;
  padding:72px 0;
  background:#000 url("/static/images/landing/final-cta-wedding-wall.jpg") center center / cover no-repeat;
  color:#fff;
}

.fl-landing-phase2.fl-landing-final::before {
  content:"";
  position:absolute;
  inset:0;
  background:#000;
  opacity:.5;
  pointer-events:none;
}

.fl-landing-final-copy { position:relative; z-index:1; }

.fl-landing-final-copy p {
  margin:16px auto 0;
  max-width:36em;
  color:#fff;
}

.fl-landing-phase2.fl-landing-final .fl-landing-button {
  margin-top:28px;
  background:var(--fl-brand-action);
  border-color:var(--fl-brand-action);
  color:var(--fl-on-action)!important;
  min-height:60px;
  padding:16px 36px;
  font-size:16px;
  gap:0;
}

.fl-landing-phase2.fl-landing-final .fl-landing-button:hover {
  background:var(--fl-brand-action-hover);
  border-color:var(--fl-brand-action-hover);
  color:var(--fl-on-action)!important;
}

.fl-landing-final h2 { color:#fff; font-size:clamp(23px,3.2vw,44px); }

@media(max-width:1000px) {
  .fl-landing-highlight { gap:35px; }
  .fl-landing-guest-letters { gap:7px; }
  .fl-landing-guest-letters>div { padding-inline:10px; }
  .fl-landing-design-wall { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .fl-landing-price-layout { gap:40px; }
  .fl-landing-feature-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media(max-width:767px) {
  .fl-landing-phase2 { padding-block:60px; }
  .fl-landing-phase2.fl-landing-design { padding-top:40px; }
  .fl-landing-p2-heading { display:block; margin-bottom:28px; }
  .fl-landing-p2-heading>p { margin-top:20px; font-size:13px; }
  .fl-landing-design-wall { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px 10px; }
  .fl-landing-design-item>span { font-size:11px; padding-top:7px; align-items:flex-start; gap:2px; }
  .fl-landing-design-item>span>span { display:none; }
  .fl-landing-highlight { grid-template-columns:1fr; gap:25px; margin-top:38px; }
  .fl-landing-highlights .fl-landing-feature,
  .fl-landing-highlights .fl-landing-feature--media-first {
    grid-template-columns:1fr;
    grid-template-areas:"copy" "media";
    gap:24px;
    margin-top:68px;
  }
  .fl-landing-phase2.fl-landing-highlights { padding-top:calc(68px - 50px); padding-bottom:52px; }
  .fl-landing-phase2.fl-landing-highlights.fl-landing-partner-section { padding-bottom:0; }
  .fl-landing-phase2.fl-landing-highlights.fl-landing-feature-group { padding-top:calc(96px - 60px); }
  .fl-landing-feature-group .fl-landing-feature:first-of-type { margin-top:48px; }
  .fl-landing-phase2.fl-landing-everything { padding-block:60px; }
  .fl-landing-highlights .fl-landing-feature-copy>p:not(.fl-landing-p2-kicker):not(.fl-landing-feature-note) { font-size:14px; }
  .fl-landing-feature-group .fl-landing-feature-copy>p:not(.fl-landing-p2-kicker):not(.fl-landing-feature-note) { font-size:17px; }
  .fl-landing-highlights .fl-landing-feature-copy h3 { font-size:27px; }
  .fl-landing-heart-highlight .fl-landing-highlight-copy { grid-row:1; }
  .fl-landing-heart-visual { padding:25px 20px 20px; }
  .fl-landing-paper-invite { max-width:230px; padding-block:22px; }
  .fl-landing-paper-invite strong { margin-block:16px; }
  .fl-landing-heart-code { width:115px; margin-block:16px; }
  .fl-landing-highlight-copy>p:not(.fl-landing-p2-kicker) { margin-top:18px; font-size:13px; }
  .fl-landing-story-highlight { margin-top:50px; padding-block:35px; }
  .fl-landing-story-strip { grid-template-columns:repeat(7,minmax(112px,1fr)); gap:12px; }
  .fl-landing-story-photo { aspect-ratio:1; }
  .fl-landing-story-hint span { display:inline; }
  .fl-landing-guest-source { margin-top:10px; }
  .fl-landing-guest-letters { gap:8px; }
  .fl-landing-guest-letters>div { padding:17px 10px; }
  .fl-landing-guest-letters p { font-size:12px; margin:14px 0 0; }
  .fl-landing-guest-letters span { display:none; }
  .fl-landing-everything-intro,
  .fl-landing-guest-reactions-intro { margin-bottom:36px; }
  .fl-landing-feature-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; margin:0 0 25px; }
  .fl-landing-feature-list li { font-size:16px; padding-block:14px; }
  .fl-landing-international { gap:20px; padding:20px; margin-top:28px; }
  .fl-landing-international-mark { font-size:22px; }
  .fl-landing-international h3 { font-size:18px; }
  .fl-landing-international p { font-size:12px; }
  .fl-landing-international .fl-landing-keep {
    white-space:nowrap;
    overflow-wrap:normal;
  }
  .fl-landing-proof .fl-landing-p2-heading { display:block; }
  .fl-landing-review-proof { text-align:left; margin-top:26px; }
  .fl-landing-review-metrics { justify-content:flex-start; gap:16px 22px; }
  .fl-landing-review-metrics dd { font-size:24px; }
  .fl-landing-review-card blockquote { font-size:14px; }
  .fl-landing-review-card .fl-landing-review-summary { font-size:15px; }
  .fl-landing-phase2.fl-landing-trial .fl-landing-button { min-height:56px; padding:14px 28px; font-size:15px; }
  .landing-2026 .fl-landing-creator-preview { margin-top:10px; }
  .fl-landing-trial-layout::before {
    width:120vw;
    height:250px;
    transform:translate(-50%,-8%);
  }
  .fl-landing-price-layout { grid-template-columns:1fr; gap:30px; }
  .fl-landing-price-placeholder { margin-top:25px; padding-top:20px; }
  .fl-landing-faq-item h3 { font-size:14px; }
  .fl-landing-faq-item button { min-height:64px; }
  .fl-landing-faq-item [role="region"] { font-size:13px; }
  .fl-landing-phase2.fl-landing-final { min-height:480px; padding:64px 0; }
  .fl-landing-phase2.fl-landing-final .fl-landing-button { min-height:56px; padding:14px 28px; font-size:15px; }
}

@media(max-width:600px) {
  .landing-2026 .fl-landing-design-dialog { width:min(520px,calc(100% - 24px)); }
  .fl-landing-dialog-art { padding:32px 20px 8px; }
  .fl-landing-dialog-art img { height:min(340px,40dvh); }
  .fl-landing-dialog-copy { padding:16px 18px 18px; }
  .fl-landing-dialog-copy h3 { font-size:18px; margin-bottom:14px; }
}

@media(max-width:389px) {
  .fl-landing-review-metrics { flex-direction:column; gap:12px; }
}

@media(max-width:359px) {
  .fl-landing-design-dialog .fl-landing-dialog-actions a {
    min-height:44px;
    padding:10px 12px;
    font-size:13px;
  }
  .fl-landing-international { padding:16px; gap:15px; }
  .fl-landing-international-mark { display:none; }
  .fl-landing-guest-letters>div { padding-inline:8px; }
  .fl-landing-guest-letters small { font-size:9px; }
  .fl-landing-feature-list li { font-size:16px; }
  .fl-landing-feature-upcoming span:not([aria-hidden]) { display:block; margin:2px 0 0; }
  .fl-landing-phase2 .fl-landing-button { padding-inline:16px; gap:12px; }
}

@media(prefers-reduced-motion:reduce) {
  .fl-landing-phase2 * { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

@media(prefers-reduced-motion:reduce) {
  .fl-landing-design-marquee { overflow:visible; }
  .fl-landing-design-track { display:block; width:auto; transform:none; }
  .fl-landing-design-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; width:auto; padding:0 20px; }
  .fl-landing-design-group[aria-hidden="true"] { display:none; }
  .fl-landing-design-marquee .fl-landing-design-item { width:auto; }
}

@media(prefers-reduced-motion:reduce) and (min-width:768px) {
  .fl-landing-design-group { grid-template-columns:repeat(6,minmax(0,1fr)); padding:0 24px; }
}
