.home-section { color: var(--red, #ba3b2b); background: var(--cream, #f6f2ea); }
.home-section .home-copy { text-align: center; }
.home-copy h2 { font-size: clamp(42px, 4.9vw, 70px); line-height: 1.04; letter-spacing: -.025em; font-weight: 560; margin: 0; }
.home-copy h2 span { display: block; }
.home-copy .home-body { max-width: 620px; margin: 21px auto 0; font-size: 18px; line-height: 1.45; letter-spacing: -.025em; text-wrap: balance; }
.home-personal-note { display: flex; align-items: center; justify-content: center; gap: 13px; margin-top: 22px; min-height: 24px; font-size: 14px; font-weight: 550; letter-spacing: -.015em; color: #762b25; }
.home-note-line { height: 1px; width: 27px; background: #ba3b2b50; }

#opening-story { overflow-anchor: none; }
#opening-story.opening-story-ready { position: relative; height: calc(var(--opening-screens, 3) * 100svh); isolation: isolate; }
.opening-story-ready .opening-story-canvas { position: sticky; top: 0; z-index: 2; height: 100svh; width: 100%; overflow: clip; --opening-home-reveal: 0; --opening-hero-opacity: 1; --opening-home-opacity: 0; --opening-invitation-opacity: 0; --opening-phone-scale: 1; }
/* Keep the markers in place without shortening the sticky canvas's exit boundary. */
.opening-story-ready > #ideas { margin-top: -100svh; padding: 0; height: calc((var(--opening-screens, 3) - 1) * 32svh); background: transparent; overflow: visible; pointer-events: none; }
.opening-story-ready > #home { padding: 0; height: calc((var(--opening-screens, 3) * 100svh) - ((var(--opening-screens, 3) - 1) * 32svh)); background: transparent; pointer-events: none; }
.opening-story-ready.opening-includes-invitation > #ideas { height: calc(var(--home-scroll-screens, 2) * 32svh); }
/* After the scroll-led landing, each scene gets one normal screen of distance. */
.opening-story-ready.opening-includes-invitation > #home { height: calc((var(--home-scroll-screens, 5) * .68 + var(--invitation-flight-screens, 0) + var(--invitation-scroll-screens, 4.5) * var(--invitation-landing-progress, .30)) * 100svh); }
.opening-story-ready.opening-includes-invitation > #invitation { padding: 0; height: calc(var(--invitation-rest-screens, 1) * 100svh); background: transparent; pointer-events: none; scroll-margin-top: 0; }
.opening-story-ready.opening-includes-invitation > #arrangements { padding: 0; height: calc((var(--work-section-screens, 1) + 1) * 100svh); background: transparent; pointer-events: none; scroll-margin-top: 0; }
.opening-story-ready .ideas-shell, .opening-story-ready .home-shell { padding: 0; }
.opening-story-ready .opening-story-canvas .ideas-copy,
.opening-story-ready .opening-story-canvas .home-copy,
.opening-story-ready .opening-story-canvas .invitation-copy,
.opening-story-ready .opening-story-canvas .arrangements-copy { position: absolute; top: var(--opening-copy-top, 112px); left: 50%; width: min(calc(100% - 56px), 1100px); transform: translateX(-50%); text-align: center; margin: 0; }
.opening-story-ready .opening-story-canvas .ideas-copy { opacity: var(--opening-hero-opacity); }
.opening-story-ready .opening-story-canvas .home-copy { color: var(--red, #ba3b2b); opacity: var(--opening-home-opacity); }
.opening-story-ready .opening-story-canvas .home-copy .home-body { color: #762b25; }
.opening-story-ready .opening-story-canvas .invitation-copy { color: var(--red, #ba3b2b); opacity: var(--opening-invitation-opacity); }
.opening-story-ready .opening-story-canvas .invitation-copy .section-description { color: #762b25; }
.opening-story-ready .opening-story-canvas .arrangements-copy { opacity: var(--opening-work-opacity, 0); }
.opening-story-ready .opening-story-canvas .invitation-phone-layer.is-active { opacity: var(--opening-invite-layer-opacity, 1); }
.opening-story-ready .opening-story-canvas .arrangements-phone-layer.is-active { opacity: var(--opening-work-layer-opacity, 1); }
.opening-story-ready .opening-story-canvas .ideas-stage { position: absolute; left: 50%; top: var(--opening-phone-top, 400px); bottom: auto; width: min(100%, 640px); margin: 0; transform: translateX(-50%); align-items: flex-end; }
.opening-story-ready .opening-story-canvas .ideas-device { transform: translateX(var(--opening-phone-x, 0px)) rotate(var(--opening-phone-roll, -4deg)) rotateY(var(--opening-phone-yaw, 4deg)) scale(var(--opening-phone-scale)); transform-origin: center bottom; }
.opening-story-ready .opening-story-canvas #relationship-phone { position: relative; z-index: 2; opacity: var(--opening-phone-opacity, 1); }
.phone-transfer-source { position: absolute; inset: 0; display: flex; justify-content: center; align-items: flex-end; z-index: 1; opacity: var(--opening-source-opacity, 0); pointer-events: none; }
.opening-story-ready .opening-story-canvas .phone-transfer-source .ideas-device { transform: translateX(var(--opening-source-x, 0px)) rotate(-4deg) rotateY(4deg) scale(var(--opening-phone-scale)); background: #dcb7a1; border-color: #5b342b; }
.phone-transfer-source .invitation-waiting,
.phone-transfer-source .invitation-receiver-waiting { display: none; }
.phone-transfer-source .invitation-ambient { opacity: 0; }
.opening-story-canvas .invitation-flight { position: absolute; z-index: 8; pointer-events: none; will-change: transform, opacity; }
.opening-story-ready .opening-story-canvas .ideas-stage:focus-visible { outline-color: #762b2588; }
.opening-story-ready .opening-story-canvas .ideas-feed { will-change: transform; }
.opening-story-ready .opening-story-canvas.opening-has-invitation .ideas-feed { transition: none; }
.opening-story-ready .opening-story-canvas .ideas-device { transition: background-color 450ms, border-color 450ms; will-change: transform; }
.opening-story-ready .opening-story-canvas.opening-has-invitation .ideas-invitation-peek { display: none; }
.opening-story-ready .opening-story-canvas.opening-has-invitation:not(.opening-invitation-mode) .ideas-stage.is-inviting .ideas-feed { opacity: 1; }
.opening-story-ready .opening-story-canvas .idea-card-featured { transition: none; }
.opening-story-ready .opening-story-canvas.opening-has-invitation:not(.opening-invitation-mode) .idea-card-featured.is-chosen { transform: translateX(var(--opening-choice-slide, 0px)) rotate(var(--opening-choice-turn, 0deg)); opacity: var(--opening-choice-opacity, 1); }
.opening-story-ready .opening-story-canvas.opening-invitation-mode .ideas-app-heading,
.opening-story-ready .opening-story-canvas.opening-invitation-mode .ideas-app-navigation { display: none; }
.opening-story-ready .opening-story-canvas.opening-invitation-mode .ideas-feed { display: none; }
.opening-story-ready .opening-story-canvas.opening-invitation-mode .ideas-viewport { overflow: clip; }
.opening-story-ready .opening-story-canvas.opening-invitation-mode .ideas-stage { outline-color: #762b25; }
.opening-story-ready .opening-story-canvas.opening-invitation-mode[data-phone-owner="jamie"] #relationship-phone { background-color: #c96c68; border-color: #973426; }

@media (max-width: 600px) {
  .home-copy h2 { font-size: clamp(33px, 9vw, 42px); line-height: 1.05; letter-spacing: -.025em; }
  .home-copy .home-body { max-width: 350px; margin-top: 17px; font-size: 16px; line-height: 1.4; text-wrap: wrap; }
  .home-personal-note { font-size: 12px; margin-top: 17px; gap: 9px; }
  .home-note-line { width: 19px; }
  .opening-story-ready .opening-story-canvas .ideas-copy,
  .opening-story-ready .opening-story-canvas .home-copy,
  .opening-story-ready .opening-story-canvas .invitation-copy,
  .opening-story-ready .opening-story-canvas .arrangements-copy { width: calc(100% - 40px); }
}
@media (max-width: 350px) {
  .opening-story-ready .opening-story-canvas .ideas-copy,
  .opening-story-ready .opening-story-canvas .home-copy,
  .opening-story-ready .opening-story-canvas .invitation-copy,
  .opening-story-ready .opening-story-canvas .arrangements-copy { width: calc(100% - 32px); }
  .home-copy h2 { font-size: 31px; }
}
@media (prefers-reduced-motion: reduce) {
  .opening-story-ready .opening-story-canvas .ideas-device { transition: none; transform: translateX(var(--opening-phone-x, 0px)) scale(var(--opening-phone-scale)); }
  .opening-story-ready .opening-story-canvas .phone-transfer-source .ideas-device { transform: translateX(var(--opening-source-x, 0px)) scale(var(--opening-phone-scale)); }
}
.opening-story-ready .opening-story-canvas.ideas-reduced-motion .ideas-device { transition: none; transform: translateX(var(--opening-phone-x, 0px)) scale(var(--opening-phone-scale)); }
.opening-story-ready .opening-story-canvas.ideas-reduced-motion .phone-transfer-source .ideas-device { transform: translateX(var(--opening-source-x, 0px)) scale(var(--opening-phone-scale)); }

/* On short screens, keep the promise and product visible with one signup action. */
@media (max-height: 600px) {
  .masthead { height: 60px; padding: 10px 24px; }
  .masthead nav a { display: none; }
  .masthead .brand { font-size: 19px; }
  .masthead .header-join { min-height: 44px; font-size: 12px; padding: 9px 14px; }
  .opening-story-ready .opening-story-canvas .ideas-title { font-size: clamp(28px, 7.7svh, 40px); }
  .opening-story-ready .opening-story-canvas .ideas-body { max-width: 680px; margin-top: 12px; font-size: 14px; line-height: 1.35; }
  .opening-story-ready .opening-story-canvas .ideas-join { display: none; }
  .opening-story-ready .opening-story-canvas .home-copy h2,
  .opening-story-ready .opening-story-canvas .invitation-copy h2,
  .opening-story-ready .opening-story-canvas .arrangements-copy h2 { font-size: 30px; line-height: 1.05; }
  .opening-story-ready .opening-story-canvas .home-body,
  .opening-story-ready .opening-story-canvas .home-personal-note,
  .opening-story-ready .opening-story-canvas .invitation-copy .section-eyebrow,
  .opening-story-ready .opening-story-canvas .invitation-copy .section-description,
  .opening-story-ready .opening-story-canvas .arrangements-copy .section-description { display: none; }
}

/* The actual feed card leaves its phone and stays on one continuous canvas path. */
.home-flight-card { position: absolute; left: 0; top: 0; z-index: 10; transform-origin: 0 0; color: #1b1916; will-change: transform, opacity; }
.home-flight-card > .idea-card { margin: 0; height: 100%; }
.home-flight-card::before { content: ''; position: absolute; inset: 0; z-index: -1; border-radius: 18px; box-shadow: 8px 16px 24px #762b2535; opacity: var(--flight-depth, 0); pointer-events: none; }
.opening-story-canvas .invitation-arriving { opacity: calc(var(--invite-arriving-opacity, 0) * var(--handoff-arrived, 1)); }
.opening-story-canvas .invitation-receiver-waiting { opacity: var(--handoff-waiting, var(--invite-waiting-opacity, 0)); }
/* Laptops: the words sit on the left and the phone or checklist on the right. */
.opening-story-ready .opening-story-canvas.opening-split .ideas-copy,
.opening-story-ready .opening-story-canvas.opening-split .home-copy,
.opening-story-ready .opening-story-canvas.opening-split .invitation-copy,
.opening-story-ready .opening-story-canvas.opening-split .arrangements-copy { left: var(--opening-copy-left); width: var(--opening-copy-width); transform: none; text-align: left; }
.opening-story-ready .opening-story-canvas.opening-split .ideas-copy p,
.opening-story-ready .opening-story-canvas.opening-split .home-copy p,
.opening-story-ready .opening-story-canvas.opening-split .invitation-copy p,
.opening-story-ready .opening-story-canvas.opening-split .arrangements-copy p { margin-left: 0; margin-right: 0; }
.opening-story-ready .opening-story-canvas.opening-split .home-personal-note { justify-content: flex-start; }
.opening-story-ready .opening-story-canvas.opening-split .ideas-stage { left: var(--opening-phone-center); width: var(--opening-phone-column); }
.opening-story-ready .opening-story-canvas.opening-split .arrangements-work-illustration { left: var(--opening-phone-center); width: var(--opening-phone-column); }
.opening-story-ready .opening-story-canvas.opening-split .ideas-title { font-size: clamp(42px, 5.25vw, 78px); }
.opening-story-ready .opening-story-canvas.opening-split .home-copy h2,
.opening-story-ready .opening-story-canvas.opening-split .invitation-copy h2,
.opening-story-ready .opening-story-canvas.opening-split .arrangements-copy h2 { font-size: clamp(42px, 4.8vw, 68px); }
@media (max-height: 600px) {
  /* Beside the phone there is room for every word, even in a short laptop window. */
  .opening-story-ready .opening-story-canvas.opening-split .ideas-join { display: inline-flex; }
  .opening-story-ready .opening-story-canvas.opening-split .home-body,
  .opening-story-ready .opening-story-canvas.opening-split .invitation-copy .section-eyebrow,
  .opening-story-ready .opening-story-canvas.opening-split .invitation-copy .section-description,
  .opening-story-ready .opening-story-canvas.opening-split .arrangements-copy .section-description { display: block; }
  .opening-story-ready .opening-story-canvas.opening-split .home-personal-note { display: flex; }
  .opening-story-ready .opening-story-canvas.opening-split .home-copy h2,
  .opening-story-ready .opening-story-canvas.opening-split .invitation-copy h2,
  .opening-story-ready .opening-story-canvas.opening-split .arrangements-copy h2 { font-size: clamp(32px, 7.5svh, 48px); }
}

.work-plan-flight { position: absolute; left: 50%; bottom: 0; z-index: 10; transform-origin: center bottom; color: #1b1916; will-change: transform, opacity; pointer-events: none; }
.work-plan-flight > .arrangements-ready-card { margin: 0; }
