/* Product storytelling shares the actual recipient renderer and the brand's paper. */
.product-story-page{background:#f6f1e7;color:#1c2733;font:17px/1.6 var(--font-body,system-ui,sans-serif)}
.product-story-page h1,.product-story-page h2,.product-story-page h3{font-family:var(--font-display,Georgia,serif);font-weight:400;letter-spacing:-.055em}
.product-story-page em{color:#764c1c}
.product-story-page .eyebrow{font-size:12px;letter-spacing:.16em;line-height:1.5;color:#764c1c}
.product-story-page a,.product-story-page button{min-height:44px}
.product-story-page a:focus-visible,.product-story-page button:focus-visible{outline:3px solid #764c1c;outline-offset:5px}
.product-story-page .button,.home-how-teaser .button{border-radius:30px;font-size:15px;gap:20px;padding:13px 23px;background:#1c2733;color:#f6f1e7;border-color:#1c2733}
.story-nav{position:sticky;top:var(--keepze-header-height,92px);z-index:70;display:flex;align-items:center;gap:28px;padding:8px clamp(20px,5vw,76px);border-bottom:1px solid #1c273320;background:#f6f1e7f5}
.story-nav-name{font-weight:600;margin-right:auto;display:flex;align-items:center;font-size:15px}
.story-nav nav{gap:22px;font-size:14px}
.story-nav nav a{display:flex;align-items:center;white-space:nowrap}
.story-nav>.button{min-height:44px;padding:8px 17px;font-size:14px;white-space:nowrap}
.product-story-page section[id]{scroll-margin-top:174px}
.story-hero{padding:68px 24px 88px;text-align:center;position:relative}
.story-hero-copy{position:relative;z-index:1}
.story-hero-copy .eyebrow{margin-bottom:22px}
.story-hero h1{font-size:clamp(68px,8.5vw,128px);line-height:.98;margin:0 0 28px}
.story-hero-copy>p:last-child{font-size:clamp(17px,1.6vw,21px);line-height:1.5;margin:0 auto;max-width:44ch}
.story-hero-stage{position:relative;max-width:1160px;margin:24px auto 0}
.story-margin-note{position:absolute;z-index:2;left:3%;top:20%;font:italic 27px/1.1 var(--font-display,Georgia,serif);color:#764c1c;transform:rotate(-7deg);pointer-events:none}
.product-demo{position:relative;isolation:isolate;min-width:0;scroll-margin-top:calc(var(--keepze-header-height,92px) + 16px)}
.product-story-page .product-demo{scroll-margin-top:calc(var(--keepze-header-height,92px) + 74px)}
.product-demo .demo-mount{min-width:0;min-height:0}
.demo-fallback{min-height:420px;display:grid;justify-items:center;align-content:center;gap:16px;padding:30px}
.demo-fallback img{width:auto;max-width:65%;height:300px;object-fit:contain;box-shadow:6px 10px 25px #1c273321;transform:rotate(-4deg)}
.demo-fallback p{margin:0 auto;text-align:center;font-size:15px;max-width:36ch}
.product-demo[data-ready=true]>.demo-fallback{display:none}
.product-demo .card-presentation.card-presentation-inline{max-width:1100px;height:clamp(480px,62vw,680px);border-radius:0;background:transparent;font-family:var(--font-body,system-ui,sans-serif)}
.product-demo .card-presentation-inline .presentation-stage{padding:12px 0}
.product-demo .card-presentation-inline footer{display:block;padding:12px 8px 16px}
.product-demo .card-presentation-inline footer p{max-width:none;font-size:14px;flex:none;color:#55606b}
.product-demo .card-presentation-inline nav{gap:8px;font-size:14px}
.product-demo .card-presentation-inline button{min-height:44px;padding:9px 15px;border-radius:24px;font:500 14px/1.3 var(--font-body,system-ui,sans-serif)}
.product-demo .card-presentation-inline .presentation-opening{max-width:900px}
.story-design-picker{margin:24px auto 0;display:flex;flex-direction:column;align-items:center;gap:14px}
.story-design-picker>span{font:italic 23px var(--font-display,Georgia,serif)}
#story-designs{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.story-design-button{display:flex;align-items:center;gap:10px;min-height:62px;padding:7px 15px 7px 8px;border:1px solid #1c27332b;border-radius:40px;background:transparent;color:inherit;font:500 14px var(--font-body,system-ui,sans-serif)}
.story-design-button img{width:30px;height:43px;object-fit:contain;border-radius:2px}
.story-design-button[aria-pressed=true]{border-color:#764c1c;background:#e4d9c24d;box-shadow:0 0 0 1px #764c1c}
.story-demo-note{max-width:64ch;font-size:13px;line-height:1.5;color:#55606b;margin:20px auto}
.story-hero-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:24px;margin-top:28px}
.story-section{padding:104px max(24px,calc((100vw - 1280px)/2));}
.story-section h2{font-size:clamp(46px,5.4vw,82px);line-height:1.04;margin-bottom:28px}
.story-section-copy>p:not(.eyebrow){max-width:39ch;font-size:18px;line-height:1.65}
.story-personal{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:48px;background:#e4d9c24d;border-top:1px solid #1c273315;border-bottom:1px solid #1c273315}
.story-personal .product-demo .card-presentation-inline{height:590px}
.story-note-options{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0 18px}
.story-note-options button{border-radius:24px;border:1px solid #1c27334d;background:transparent;color:inherit;padding:10px 16px;font:500 15px var(--font-body,system-ui,sans-serif)}
.story-note-options button[aria-pressed=true]{background:#1c2733;border-color:#1c2733;color:#f6f1e7}
.story-caption{text-align:center;font-size:14px;color:#55606b;margin:16px auto 0}
.story-section-heading{max-width:800px;margin:0 auto 40px;text-align:center}
.story-section-heading>p:not(.eyebrow){font-size:19px;line-height:1.6;margin:0 auto;max-width:54ch}
.story-together{background:#dce5ea70}
.story-group-layout{display:grid;grid-template-columns:1.45fr .65fr;align-items:center;gap:48px;max-width:1280px;margin:auto}
.story-group-layout .card-presentation-inline{height:620px}
.story-side-number{display:block;font:400 48px/1.05 var(--font-display,Georgia,serif);letter-spacing:-.05em;margin:0 0 28px;color:#764c1c}
.story-group-copy>p{font-size:17px}
.story-group-copy .text-button{display:inline-flex;align-items:center;margin-top:16px;font-size:15px}
.story-group-copy .story-demo-note{font-size:13px;margin:12px 0}
.story-keep{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:72px;min-height:720px}
.story-section-copy .story-keeping-detail{font-size:14px;line-height:1.6;color:#55606b}
.story-kept-art{position:relative;padding:50px 12px 16px}
.story-kept-cards{height:330px;position:relative;display:flex;align-items:flex-end;justify-content:center;gap:0;perspective:1200px}
.story-kept-cards a{display:block;width:40%;max-width:190px;flex-shrink:0;transform:rotate(-8deg) translateX(15px);transition:transform .35s}
.story-kept-cards a:nth-child(2){z-index:2;transform:rotate(0deg) translateY(-16px)}
.story-kept-cards a:nth-child(3){transform:rotate(8deg) translateX(-15px)}
.story-kept-cards a:hover{transform:translateY(-28px) rotate(0deg)}
.story-kept-cards img{display:block;width:100%;height:auto;box-shadow:3px 9px 22px #1c273326;border-radius:2px}
.story-shelf-line{display:block;height:12px;width:100%;background:#d1bc99;border-top:3px solid #e4d9c2;box-shadow:0 14px 24px #1c27331a;margin-top:12px}
.story-kept-art>p{text-align:center;margin:30px 0 0;font:italic 21px var(--font-display,Georgia,serif);color:#764c1c}
.story-next{background:#1c2733;color:#f6f1e7}
.story-next .eyebrow,.story-next em{color:#d9a867}
.story-future-previews{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:56px}
.story-future-previews article{min-width:0}
.future-art{height:380px;display:grid;place-items:center;position:relative;isolation:isolate;overflow:hidden}
.future-art img{height:330px;width:auto;max-width:90%;object-fit:contain;transform:rotate(-6deg);box-shadow:0 18px 45px #0004}
.future-light{position:absolute;inset:0;background:radial-gradient(ellipse at 15% 50%,#d9a86755,transparent 50%);opacity:0;pointer-events:none}
.story-future-motion.is-playing .future-art img{animation:story-cover-breathe 4s ease-in-out infinite}
.story-future-motion.is-playing .future-light{animation:story-light 4s ease-in-out infinite}
.future-copy{padding-top:28px;border-top:1px solid #f6f1e72e;margin-top:28px}
.future-copy h3{font-size:33px;margin:16px 0}
.future-copy>p{font-size:17px;max-width:40ch;color:#e4d9c2}
.story-status{font-size:12px;letter-spacing:.04em;color:#d9a867}
.story-next button,.story-next .text-button{color:#f6f1e7}
.story-next>.text-button{display:table;margin:44px auto 0}
.story-next .story-demo-note{color:#e4d9c2;font-size:13px;margin-left:0}
.future-reveal{height:380px;position:relative;display:flex;flex-direction:column;gap:28px;align-items:center;justify-content:center;background:#e4d9c2;color:#1c2733;isolation:isolate}
.future-ribbon{position:absolute;z-index:-1;inset:0 45%;background:#764c1c;transform-origin:top center;transition:transform .8s ease,opacity .8s ease}
.future-reveal.is-open .future-ribbon{transform:translateY(-100%);opacity:0}
.future-reveal button{background:#f6f1e7;color:#1c2733;border:1px solid #1c2733;padding:12px 20px;border-radius:28px;font:500 15px var(--font-body,system-ui,sans-serif)}
.future-reveal-words{font:400 40px/1.05 var(--font-display,Georgia,serif);text-align:center;letter-spacing:-.04em}
.story-finish{text-align:center;padding-top:120px;padding-bottom:120px}
.story-finish h2{font-size:clamp(44px,5vw,74px)}
.story-finish>p{margin-left:auto;margin-right:auto}
.story-finish>.text-button{display:table;margin:16px auto 0}
.story-footer{border-top:1px solid #1c273320;padding:32px max(24px,calc((100vw - 1280px)/2));}
.story-footer nav{font-size:14px;gap:24px;flex-wrap:wrap}
.story-footer nav a{display:flex;align-items:center}
.keepsake-example-label{font-size:12px;text-align:center;color:#55606b;margin:0 auto 12px}
.keepsake-example-status{font-size:16px;line-height:1.5;text-align:center;max-width:42ch;margin:16px auto}
.keepsake-example-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px}
.keepsake-example-detail{font-size:13px;line-height:1.5;text-align:center;max-width:44ch;color:#55606b;margin:16px auto 0}
.kept-example-cover{display:block;height:270px;width:auto;max-width:90%;object-fit:contain;margin:42px auto;transform:rotate(-4deg);box-shadow:5px 10px 25px #1c27332b}
.home-shelf-showcase #home-shelf-guide{width:100%;display:block;min-width:0;padding:0;background:none;border:0;box-shadow:none}
.home-shelf-showcase #home-shelf-guide .card-presentation-inline,.story-keepsake-guide .card-presentation-inline{height:540px}
.story-keep:has(.story-keepsake-guide){grid-template-columns:.8fr 1.2fr;gap:36px}
@media(max-width:760px){.story-keep:has(.story-keepsake-guide){grid-template-columns:1fr}.home-shelf-showcase #home-shelf-guide .card-presentation-inline,.story-keepsake-guide .card-presentation-inline{height:530px}}
.story-noscript{padding:24px;margin:auto;max-width:70ch}
.home-how-teaser{margin:0!important;background:#dce5ea!important;box-shadow:none!important;padding-top:64px!important;padding-bottom:64px!important;border-block:1px solid #1c27331a}
.home-how-teaser .how-intro h2{font:400 clamp(42px,4.8vw,70px)/1.02 var(--font-display,Georgia,serif);letter-spacing:-.05em}
.home-how-teaser .how-intro>p:not(.eyebrow){font-size:18px;line-height:1.6;max-width:38ch}
.home-how-teaser .eyebrow{color:#764c1c;font-size:12px}
.home-how-teaser .steps{align-content:center;gap:28px}
.home-how-teaser .steps p{font-size:16px;color:#475560}
.home-how-teaser .steps h3{font-size:22px}
.home-how-teaser .steps li>span{font-size:13px;color:#764c1c}
.keepze-home .home-feature-opening{grid-template-columns:1.2fr .8fr;gap:5%;align-items:center}
.keepze-home .opening-art.product-demo{display:block;aspect-ratio:auto;min-height:580px;background:none;overflow:visible;padding:0}
.keepze-home .home-feature-opening .product-demo .card-presentation-inline{height:580px}
.keepze-home .together-art.product-demo{min-height:580px;background:none;border:0;cursor:default}
.keepze-home .together-art.product-demo .card-presentation-inline{height:580px}
.keepze-home .feature-visual.product-demo{border:0;cursor:default}
.keepze-home .feature-visual.product-demo:hover{box-shadow:none}
.keepze-home .home-hero-copy h1{font-size:clamp(46px,4.8vw,78px)}
@keyframes story-cover-breathe{0%,100%{transform:rotate(-6deg) translateY(0)}50%{transform:rotate(-3deg) translateY(-12px)}}
@keyframes story-light{0%,100%{opacity:.1;transform:translateX(-15%)}50%{opacity:1;transform:translateX(20%)}}
@media(min-width:1800px){.story-section{padding-inline:calc((100vw - 1320px)/2)}}
@media(max-width:1000px){.story-nav nav{display:none}.story-personal{gap:24px;grid-template-columns:.9fr 1.1fr}.story-group-layout{gap:24px;grid-template-columns:1.3fr .8fr}.story-keep{gap:32px}.story-kept-cards{height:270px}.story-future-previews{gap:32px}.story-section{padding-block:80px}.story-section-copy>p:not(.eyebrow){font-size:17px}}
@media(max-width:760px){.story-hero{padding:48px 16px 64px}.story-hero h1{font-size:76px}.story-hero-copy>p:last-child{max-width:35ch}.desktop-break{display:none}.story-margin-note{left:2%;top:12%;font-size:20px}.story-section{padding:64px 20px}.story-personal,.story-group-layout,.story-keep{grid-template-columns:1fr;gap:28px}.story-section-copy{max-width:540px}.story-section h2{font-size:58px}.story-personal .card-presentation-inline{height:560px}.story-group-layout .card-presentation-inline{height:570px}.story-group-copy{max-width:540px;margin:auto}.story-side-number{font-size:38px;margin-bottom:20px}.story-kept-art{max-width:500px;width:100%;margin:auto}.story-kept-cards{height:310px}.story-future-previews{grid-template-columns:1fr;gap:60px;max-width:540px;margin-inline:auto}.story-section-heading>p:not(.eyebrow){font-size:17px}.story-nav{padding:8px 16px;gap:10px}.story-nav-name{font-size:13px}.story-nav>.button{font-size:13px;padding:8px 12px;gap:10px}.product-story-page section[id]{scroll-margin-top:155px}.story-footer{gap:12px}.story-footer nav{width:100%;gap:20px}.keepze-home .home-feature-opening{display:flex;flex-direction:column-reverse;gap:16px}.keepze-home .home-feature-opening .opening-art.product-demo{width:100%;min-height:520px}.keepze-home .home-feature-opening .product-demo .card-presentation-inline{height:540px}.keepze-home .home-feature-opening .feature-copy{width:100%}}
@media(max-width:400px){.story-hero h1{font-size:65px}.story-nav-name{max-width:120px;line-height:1.25}.story-margin-note{display:none}.story-design-button{padding-right:12px}.story-design-picker>span{font-size:21px}.story-section h2{font-size:49px}.story-kept-cards{height:260px}.product-demo .card-presentation-inline nav{gap:6px}.product-demo .card-presentation-inline button{font-size:13px;padding:9px 12px}.story-personal .product-demo .card-presentation-inline{height:530px}.story-hero-actions{gap:10px}.future-art,.future-reveal{height:330px}.future-art img{height:290px}}
@media(prefers-reduced-motion:reduce){.product-story-page *,.product-story-page *::before,.product-story-page *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.story-future-motion.is-playing .future-light{opacity:.4}.story-future-motion.is-playing .future-art img{transform:rotate(-3deg)} }
@media(max-width:560px){.story-hero{padding-top:32px}.story-hero-copy .eyebrow{margin-bottom:18px}.story-hero h1{font-size:60px;margin-bottom:20px}.story-hero-copy>p:last-child{font-size:17px;line-height:1.45}.story-hero-stage{margin-top:8px}.story-hero-stage .product-demo .card-presentation-inline{height:410px}.story-hero-stage .demo-fallback{min-height:360px}}
@media(max-width:359px){.story-hero h1{font-size:52px}}

.home-shelf-showcase #home-shelf-guide .keepsake-example-label{color:#f6f1e7}
.home-shelf-showcase #home-shelf-guide .keepsake-example-detail,.home-shelf-showcase #home-shelf-guide .card-presentation-inline footer p,.home-shelf-showcase #home-shelf-guide .presentation-context{color:#f6f1e7}
.home-shelf-showcase #home-shelf-guide .text-button{color:#f6f1e7;border-color:#d9a867}
.home-shelf-showcase #home-shelf-guide .keepsake-example-actions .button{background:#f6f1e7;color:#1c2733;border-color:#f6f1e7}

/* Keep static content until the shared presentation actually reports ready. */
.product-demo[data-ready=true]>.demo-fallback{display:none}
.product-demo[data-ready=false]>.demo-fallback{display:grid}

/* Embedded stories grow with their controls; never overlap the next action. */
.product-demo .card-presentation.card-presentation-inline{height:auto!important;max-height:none;overflow:visible;grid-template-rows:auto auto}
.product-demo .card-presentation-inline .presentation-body{grid-template-rows:auto minmax(560px,auto)}
@media(max-width:560px){.product-demo .card-presentation-inline .presentation-body{grid-template-rows:auto minmax(520px,auto)}}

/* The inherited ritual used cream type; this retained blue teaser is light. */
.keepze-home #how.home-how-teaser h2,.keepze-home #how.home-how-teaser h3,.keepze-home #how.home-how-teaser .how-intro>p:not(.eyebrow){color:#1c2733}
.keepze-home #how.home-how-teaser .eyebrow{color:#764c1c}
