/* Interaction styling stays separate from the versioned artwork renderer. */
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{--soft:#f4f6f3}
button,.button,.inline-link{transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}
button:not(:disabled):hover,.button:hover{transform:translateY(-2px)}
button:not(:disabled):active,.button:active{transform:translateY(0)}
.primary:hover{box-shadow:0 6px 16px #1736261c}
.eyebrow{font-size:.875rem;letter-spacing:.12em}
.topbar{position:sticky;top:0;z-index:20;background:rgb(255 255 255 / .95);backdrop-filter:blur(16px);max-width:none;padding-inline:max(32px,calc((100vw - 1240px)/2));border-color:#e9ede7}
.topbar .brand{font-size:1.9rem}.site-nav a{font-size:.9375rem}
.notice{background:#f6f5f0;text-align:center;max-width:none;font-size:.875rem;padding-block:9px}
.store-page .shell{max-width:1320px;padding:0 40px 30px}
.store-page h2,.about-page h2{font-size:clamp(2.7rem,4.4vw,4.4rem);line-height:1.04}
.store-page h2 em,.about-page h1 em,.about-page h2 em{color:var(--green)}
.store-hero{grid-template-columns:1.03fr 1fr;gap:0 65px;padding:70px 0 90px;min-height:750px}
.hero-intro h1{max-width:12ch;font-size:clamp(3.7rem,5.8vw,5.5rem);line-height:1.01;letter-spacing:-.025em;margin-bottom:25px}
.hero-intro h1 em{color:var(--green)}
.hero-memory{font-size:1.13rem;line-height:1.6;margin-bottom:15px}
.hero-intro .lead{max-width:38ch;font-size:1.05rem;margin-bottom:25px}
.hero-actions .stack{align-items:center;gap:18px}.hero-actions .button{padding:15px 23px}
.proof-line{font-size:.875rem;gap:9px 18px;margin:23px 0 17px}
.digital-note{font-size:.875rem;line-height:1.6}
.scroll-cue{display:inline-flex;gap:17px;font-size:.875rem;text-decoration:none;margin-top:22px;color:var(--muted)}
.scroll-cue span{display:inline-block;transition:transform .2s}.scroll-cue:hover span{transform:translateY(4px)}
.store-art{padding:22px 32px 21px;background:#f2f4f0;border:1px solid #e9eee7}
.art-caption{display:flex;justify-content:space-between;gap:14px;font-size:.875rem;color:var(--muted);margin-bottom:24px}
.art-caption span:last-child{font-variant-numeric:tabular-nums}
.hero-paper-wrap{position:relative;max-width:420px;margin:auto;--play-progress:0}
.store-art .paper{max-width:none;box-shadow:0 18px 35px #2635290b}
.art-playhead{pointer-events:none;position:absolute;left:calc(10% + 80% * var(--play-progress));top:19%;height:34%;width:1px;background:var(--green);opacity:0}
.is-playing .art-playhead{opacity:.8}
.store-art .radio-row{justify-content:center;gap:5px;padding:4px;background:#e8ede6;width:fit-content;max-width:100%;margin:24px auto 0;border-radius:7px}
.store-art .radio-row button{background:transparent;border:0;font-size:.875rem;padding:11px 17px}
.store-art .radio-row [aria-pressed=true]{background:white;color:var(--green);box-shadow:0 2px 5px #1e302012}
.art-example{text-align:center;margin:15px 0 5px}
.demo-disclosure{font-size:.75rem;line-height:1.5;color:var(--muted);text-align:center;margin:0}
.section-heading{max-width:680px;margin-bottom:45px}
.section-heading>p:not(.eyebrow){max-width:51ch;color:var(--muted);font-size:1.0625rem}
.section-heading h2{margin-bottom:24px}
.moments-section{padding:70px 0 85px;border-top:1px solid var(--line)}
.memory-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.memory-choice{padding:23px 20px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:start;min-height:190px;background:white;border:1px solid var(--line);border-radius:6px}
.memory-choice strong{font-family:Keepsake,Georgia,serif;font-size:1.8rem;font-weight:400;line-height:1.12;margin:16px 0 10px}
.memory-choice>span:last-child{font-size:.875rem;color:var(--muted);line-height:1.5}
.memory-number{font-size:.875rem;color:var(--muted);font-variant-numeric:tabular-nums}
.memory-choice[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white}
.memory-choice[aria-pressed=true] span{color:#e1e9e1}
.memory-detail{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:36px 32px;background:var(--soft);margin-top:18px;min-height:225px;border-radius:5px}
.memory-detail h3{font-family:Keepsake,Georgia,serif;font-size:2.1rem;font-weight:400;line-height:1.14;max-width:22ch;margin:0}
.memory-detail>div>p:not(.eyebrow){font-size:1.05rem;color:var(--muted);max-width:46ch}
.how-section{padding:80px 0 60px;border-top:1px solid var(--line)}
.how-journey{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.93fr);gap:90px;align-items:start}
.guide-visual{grid-column:2;grid-row:1;position:sticky;top:110px;background:var(--soft);border:1px solid #e5ebe2;border-radius:7px;padding:24px}
.guide-steps{grid-column:1;grid-row:1}
.guide-stage-top{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:.875rem;color:var(--muted);padding-bottom:16px;border-bottom:1px solid var(--line)}
.guide-panels{min-height:410px;display:grid;align-items:center}
.guide-panel{text-align:center;padding:16px 5px 12px;grid-area:1/1}
.guide-panel h3{font-family:Keepsake,Georgia,serif;font-size:2.25rem;font-weight:400;line-height:1.1;margin:10px 0 18px}
.guide-panel>.small{margin:12px auto 0;max-width:34ch}
.guide-wave{width:100%;height:90px;margin:10px auto}.guide-wave svg{display:block;height:100%;width:100%}
.guide-audio-meta{display:flex;justify-content:space-between;gap:15px;font-size:.875rem;color:var(--muted);margin:12px 0 18px}
.guide-mini-paper{width:150px;margin:0 auto 12px}
.guide-title-field{display:block;text-align:left;width:min(100%,320px);margin:auto}
.guide-title-field>span{font-size:.875rem;display:block;margin-bottom:8px}
.guide-title-field input{min-height:46px;font-size:1rem}
.guide-gift-message{font-family:Keepsake,Georgia,serif;font-size:1.8rem;line-height:1.12;margin-bottom:12px}
.gift-guide-panel .guide-mini-paper{width:90px}
.guide-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding-top:17px;border-top:1px solid var(--line);margin-bottom:15px}
.guide-nav button{display:flex;flex-direction:column;gap:7px;padding:11px 4px;font-size:.875rem;border-color:transparent;background:transparent}
.guide-nav button span{font-size:.8125rem}
.guide-nav button[aria-pressed=true]{background:white;border-color:var(--line);color:var(--green)}
.guide-step{position:relative;min-height:610px;min-height:72vh;padding:65px 0 90px 55px;border-left:1px solid var(--line);margin-left:20px;display:flex;flex-direction:column;justify-content:center}
.guide-step:last-child{min-height:580px}
.step-index{position:absolute;top:67px;left:-21px;background:white;border:1px solid var(--line);width:42px;height:42px;display:grid;place-items:center;border-radius:50%;font-size:.875rem;transition:background .25s,color .25s}
.guide-step.is-active .step-index{background:var(--green);color:white;border-color:var(--green)}
.guide-step h3{font-family:Keepsake,Georgia,serif;font-size:clamp(2.5rem,4vw,3.7rem);line-height:1.07;font-weight:400;margin-bottom:27px}
.guide-step>p:not(.eyebrow){max-width:40ch;font-size:1.05rem;color:var(--muted)}
.guide-step>.small{font-size:.9375rem!important}.guide-step .inline-link{align-self:start;margin-top:12px}
.gift-section{display:grid;grid-template-columns:1fr 1fr;gap:85px;background:var(--green);color:white;padding:65px;margin:35px 0 95px;border-radius:7px}
.gift-section .eyebrow,.gift-section .small{color:#dbe5d9}.gift-section h2{color:white}.gift-section h2 em{color:#d5e2cc}
.gift-intro>p:not(.eyebrow){max-width:35ch;font-size:1.075rem}
.gift-section .button{background:#fff;color:var(--green);margin-top:18px}
.gift-inclusions h3{font-family:Keepsake,Georgia,serif;font-size:2.3rem;font-weight:400;line-height:1.13}
.gift-inclusions .included{padding-left:19px;font-size:1rem;margin-bottom:24px}.gift-inclusions .included li{padding-block:7px}
.founder-note{display:grid;grid-template-columns:1fr 1fr;gap:0 90px;padding:0 0 90px;border-bottom:1px solid var(--line)}
.founder-note>.eyebrow{grid-column:1/-1}.founder-note h2{font-size:3.8rem}
.founder-note>div{padding-top:15px;max-width:47ch}.founder-note>div p{color:var(--muted);font-size:1.075rem}
.trust-faq{display:grid;grid-template-columns:.85fr 1fr;gap:110px;padding:90px 0}
.recording-promise>p:not(.eyebrow){color:var(--muted);max-width:39ch}.home-faq h2{font-size:2.8rem}
.home-faq summary{display:flex;align-items:center;justify-content:space-between;gap:15px;list-style:none;font-size:1rem;padding-block:4px}
.home-faq summary::-webkit-details-marker{display:none}.home-faq summary::after{content:"+";font-size:1.4rem;flex:none}
.home-faq details[open] summary::after{content:"−"}
.home-faq details>p{font-size:.9375rem;color:var(--muted);padding-top:15px}.faq-more{display:inline-block;margin-top:20px}
.closing-invitation{padding:70px 30px 55px;text-align:center;background:var(--soft);border-radius:7px}
.closing-invitation h2{font-size:clamp(3.1rem,5vw,4.9rem)}
.closing-invitation>p:not(.eyebrow){font-size:1.075rem;color:var(--muted)}
.closing-invitation .button{padding:16px 27px;margin:10px auto 20px;display:flex;width:fit-content}
.closing-invitation .small{font-size:.875rem!important;margin:20px 0 0}.shop-status{text-align:center;margin:24px 0 0}
.site-footer{max-width:1240px;padding:38px 0 42px;margin:0 auto}.site-footer .brand{font-size:1.9rem}
.about-page .editorial{max-width:1240px;padding:80px 40px}
.about-page h1{font-size:clamp(3.4rem,6.5vw,6.1rem);max-width:15ch;margin-bottom:35px}
.about-page .body-copy{max-width:none}.about-opening{max-width:680px;margin:0 0 80px}
.about-opening .lead{font-size:1.35rem;color:var(--ink);max-width:40ch}.about-opening p{font-size:1.1rem;max-width:54ch}
.sound-philosophy{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid var(--line);padding:75px 0}
.sound-philosophy p{font-size:1.1rem;color:var(--muted)}
.about-pullquote{font-family:Keepsake,Georgia,serif;font-size:clamp(2.5rem,4.8vw,4.6rem);line-height:1.15;margin:0 0 65px;max-width:23ch}
.founder-story{display:grid;grid-template-columns:.65fr 1fr;gap:80px;background:var(--soft);padding:55px;margin:0 0 75px}
.founder-story h2{font-size:2.8rem}.founder-story p{font-size:1.1rem;max-width:47ch}
.founder-signature{font-family:Keepsake,Georgia,serif;font-size:2.3rem!important;margin-bottom:0}
.founder-caption{font-size:.875rem!important;color:var(--muted)}
.about-finish{max-width:670px}.about-finish p{font-size:1.1rem;max-width:49ch}
/* The creator stays focused on the task, with optional reflection. */
.creator-page .shell{padding-top:35px}.creator-page .steps{gap:16px;margin-bottom:35px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.creator-page .steps li{flex:1;gap:8px}.creator-page .steps li span{width:30px;height:30px;flex:none;transition:background .3s}
.creator-page .steps li.is-complete span{border-color:var(--green);color:var(--green);background:var(--soft)}
.creator-page .preview{top:110px}.creator-page .preview-header{font-size:.875rem}
.creator-page .moment{position:relative;padding:24px 22px;border-radius:7px;min-height:143px}
.creator-page .moment strong{font-family:Keepsake,Georgia,serif;font-size:1.7rem;font-weight:400;line-height:1.08}
.creator-page .moment span{font-size:.9375rem;line-height:1.45;margin-top:13px}
.creator-page .moment[aria-pressed=true]{border-color:var(--green);box-shadow:inset 0 -3px var(--green)}
.moment-response{padding:18px 22px;background:var(--soft);border-left:2px solid var(--green);margin-top:20px;color:var(--muted);font-size:1rem}
.creator-page .upload{background:#f4f6f3;border-style:solid;padding:29px;margin-top:25px}
.creator-page .upload>strong{font-family:Keepsake,Georgia,serif;font-size:1.8rem;font-weight:400}
.creator-page .upload .small{font-size:.9375rem}.creator-page .interview{border-radius:5px;padding:21px}
.creator-page #stage-title{outline:none;scroll-margin-top:120px}.creator-page .preview-empty{background:#fff}
.creator-page .preview-empty p{font-size:2rem}.creator-page .section h2{font-size:2rem}
.creator-page .art-choice{transition:transform .2s,border-color .2s,box-shadow .2s}
.creator-page .art-choice[aria-pressed=true]{box-shadow:0 8px 22px #233d2810}
@media(max-width:1050px){
 .topbar{padding:18px 28px}.site-nav{gap:18px}.site-nav a{font-size:.875rem}
 .store-hero{gap:0 35px;min-height:680px;padding:55px 0 65px}.hero-intro h1{font-size:4.1rem}.store-art{padding:20px}
 .memory-choices{gap:10px}.memory-choice{padding:18px 15px}.memory-choice strong{font-size:1.5rem}
 .how-journey{gap:45px}.guide-visual{top:104px;padding:18px}.guide-step{padding-left:37px}
 .gift-section{gap:45px;padding:45px}.founder-note{gap:0 50px}.trust-faq{gap:55px}
 .site-footer{margin-inline:40px}.creator-page .steps{gap:10px}.creator-page .steps li{font-size:.8125rem}
}
@media(max-width:760px){
 html{scroll-padding-top:95px}.topbar{padding:14px 20px}.topbar .brand{font-size:1.6rem}.site-nav{gap:14px}.site-nav .desktop-link{display:none}
 .site-nav .button{padding:10px 14px}.notice{padding-inline:20px;font-size:.8125rem}
 .store-page .shell{padding-inline:24px}.store-page h2{font-size:3rem}
 .store-hero{grid-template-columns:1fr;grid-template-areas:"intro" "actions" "art";gap:25px;padding:40px 0 60px;min-height:0}
 .hero-intro h1{font-size:clamp(3.1rem,8.5vw,4.5rem);max-width:none;margin-bottom:22px}.hero-intro .lead{max-width:44ch;margin-bottom:0}
 .hero-memory{font-size:1.05rem}.hero-actions .proof-line{margin:18px 0}.digital-note{margin-bottom:0}.scroll-cue{margin-top:21px}
 .store-art{padding:20px 25px;margin-top:8px}.hero-paper-wrap{max-width:320px}.store-art .radio-row button{padding:11px 18px}
 .moments-section{padding:55px 0 60px}.section-heading{margin-bottom:30px}.section-heading>p:not(.eyebrow){font-size:1rem}
 .memory-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.memory-choice{min-height:167px;padding:18px}.memory-choice strong{font-size:1.65rem}
 .memory-detail{grid-template-columns:1fr;gap:22px;padding:25px;min-height:285px}.memory-detail h3{font-size:2.25rem;max-width:none}
 .memory-detail>div>p:not(.eyebrow){font-size:1rem}.how-section{padding:55px 0 30px}.how-journey{display:flex;flex-direction:column;gap:24px}
 .guide-visual{position:static;width:100%;padding:22px}.guide-steps{width:100%}.guide-panels{min-height:390px}
 .guide-step{min-height:0!important;padding:30px 0 35px 38px;margin-left:20px}.guide-step h3{font-size:2.65rem}
 .guide-step>p:not(.eyebrow){max-width:none;font-size:1rem}.step-index{top:25px}.guide-nav button{font-size:.875rem}.guide-stage-top{font-size:.8125rem}
 .gift-section{grid-template-columns:1fr;gap:40px;padding:35px 28px;margin:30px 0 60px}
 .gift-inclusions{border-top:1px solid #ffffff38;padding-top:28px}.gift-section .button{font-size:.9375rem;padding:13px}
 .founder-note{grid-template-columns:1fr;gap:0;padding-bottom:50px}.founder-note h2{font-size:3rem}.founder-note>div{padding-top:0}
 .trust-faq{grid-template-columns:1fr;gap:50px;padding:55px 0}.recording-promise>p:not(.eyebrow){max-width:none}
 .home-faq h2{font-size:2.6rem}.closing-invitation{padding:45px 18px}.closing-invitation h2{font-size:3.2rem}
 .site-footer{margin-inline:24px;padding-block:30px}.site-footer nav{margin-top:22px}
 .about-page .editorial{padding:45px 24px}.about-page h1{font-size:3.5rem}.about-opening{margin-bottom:45px}
 .about-opening .lead{font-size:1.2rem}.sound-philosophy{grid-template-columns:1fr;gap:15px;padding:45px 0}
 .sound-philosophy h2{font-size:3rem}.about-pullquote{font-size:3rem;margin-bottom:40px}
 .founder-story{grid-template-columns:1fr;gap:20px;padding:30px 25px;margin-bottom:45px}.founder-story h2{font-size:2.6rem;margin-bottom:0}
 .about-finish h2{font-size:3rem}.creator-page .steps{gap:6px}.creator-page .steps li{flex:initial;font-size:0}
 .creator-page .steps li[aria-current]{font-size:.875rem}.creator-page .moment{padding:20px 16px;min-height:150px}
 .creator-page .moment strong{font-size:1.5rem}.creator-page .moment span{font-size:.875rem}.creator-page .preview{top:95px}
}
@media(max-width:400px){
 .topbar{padding-inline:16px}.topbar .brand{font-size:1.4rem}.site-nav{gap:10px}.site-nav a{font-size:.8125rem}.site-nav .button{padding:9px 11px}
 .store-page .shell{padding-inline:20px}.hero-intro h1{font-size:3.1rem}.hero-actions .stack{gap:9px}.hero-actions .button{padding:13px 16px}
 .hero-actions .text-button{font-size:.875rem}.store-art{padding:18px 15px}.art-caption{font-size:.8125rem}
 .memory-choice{padding:16px 13px}.memory-choice strong{font-size:1.5rem}.memory-detail{padding:23px}
 .guide-visual{padding:17px}.guide-nav button{font-size:.8125rem}.gift-section{padding:30px 22px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}
 .art-playhead{display:none}.button:hover,button:not(:disabled):hover{transform:none}
}

.guide-title-status:empty{display:none}.guide-title-status{color:#8e2719!important}.guide-title-field input[aria-invalid=true]{border-color:#8e2719}
@media(min-width:761px) and (max-height:760px){.guide-visual{position:static}}

/* Photography gives the everyday moments a place alongside the artwork. */
.life-section{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:70px;margin:20px 0 100px}
.life-section figure{margin:0;overflow:hidden;border-radius:6px}.life-section img{display:block;width:100%;height:auto;aspect-ratio:1.3;object-fit:cover}
.life-section h2{font-size:clamp(2.8rem,4vw,4rem)}.life-section p:not(.eyebrow){max-width:35ch;color:var(--muted);font-size:1.06rem}.life-section .inline-link{display:inline-block;margin-top:10px}
.connection-image{display:block;width:100%;height:auto;aspect-ratio:1.65;object-fit:cover;border-radius:5px;margin:0 0 35px}
.hero-paper-wrap{padding:14px;max-width:420px;transition:padding .35s,background .35s,box-shadow .35s}
.hero-paper-wrap.is-framed{background:#ae8d66;border:1px solid #8d7152;box-shadow:inset 2px 2px 2px #e6d6bd,inset -2px -2px 3px #71583d,7px 15px 23px #25302524}
.hero-paper-wrap.is-framed .paper{box-shadow:0 0 0 4px #f6f3ed,0 0 0 5px #6f624c40}
.hero-paper-wrap:not(.is-framed){padding:0;background:transparent;box-shadow:none;border:0}
.art-display-controls{margin-top:14px;text-align:center}.art-display-controls .radio-row{gap:6px;justify-content:center;margin-top:0}.art-display-controls .radio-row button{padding:8px 12px;min-height:40px;font-size:.8125rem}
.art-display-controls>.text-button{font-size:.8125rem;padding-block:5px;min-height:34px}.store-art #edition-note{font-size:.8125rem;line-height:1.45;text-align:center;max-width:38ch;margin:8px auto 14px}
.store-art .demo-disclosure{max-width:44ch;margin-inline:auto}
.about-page .editorial{padding-top:60px}.about-hero{display:grid;grid-template-columns:1.08fr 1fr;gap:70px;align-items:center;margin-bottom:75px}
.about-hero .about-opening{margin:0;max-width:none}.about-page .about-hero h1{font-size:clamp(3.2rem,5.1vw,5rem);max-width:11ch;margin-bottom:28px;line-height:1.04;text-wrap:balance}
.about-hero .lead{font-size:1.18rem;max-width:none}.about-hero p:not(.eyebrow){font-size:1.03rem;max-width:45ch}
.story-image{margin:0}.story-image img{width:100%;height:auto;aspect-ratio:.86;object-fit:cover;object-position:55% 50%;display:block;border-radius:5px}
.story-image figcaption{font-family:Keepsake,Georgia,serif;font-size:1.35rem;color:var(--muted);margin-top:16px;line-height:1.25;max-width:28ch}
.about-purpose{display:grid;grid-template-columns:.9fr 1fr;gap:0 70px;padding:0 0 70px;border-bottom:1px solid var(--line);margin-bottom:70px}.about-purpose>.eyebrow{grid-column:1/-1}.about-purpose p:not(.eyebrow){font-size:1.1rem;max-width:46ch}
.about-origin{padding-top:28px;margin-top:35px;border-top:1px solid var(--line);font-size:1rem!important;color:var(--muted)}
.creator-editions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 10px}.creator-editions button{min-height:40px;padding:8px 12px;font-size:.875rem}.creator-editions [aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}
.edition-explanation{font-size:.875rem;color:var(--muted);line-height:1.5}.creator-page .preview{max-height:calc(100svh - 125px);overflow:auto}
@media(max-width:1050px){.life-section,.about-hero{gap:35px}.about-page .about-hero h1{font-size:3.8rem}.about-purpose{gap:0 40px}}
@media(max-width:760px){.life-section,.about-hero{grid-template-columns:1fr;gap:28px;margin-bottom:55px}.life-section{margin-top:15px}.life-section img{aspect-ratio:1.5}.life-section p:not(.eyebrow){max-width:none}.about-page .about-hero h1{font-size:3.5rem;max-width:12ch}.story-image img{aspect-ratio:1.35;object-position:center}.story-image figcaption{font-size:1.2rem;max-width:none}.about-purpose{grid-template-columns:1fr;gap:0;padding-bottom:40px;margin-bottom:45px}.about-purpose h2{font-size:3rem}.hero-paper-wrap{max-width:320px}.creator-page .preview{max-height:none;overflow:visible}.art-display-controls .radio-row button{font-size:.8rem}.connection-image{margin-bottom:25px}}
@media(prefers-reduced-motion:reduce){.hero-paper-wrap{transition:none}}

/* Four shared behaviours: arrive, follow, reshape and settle. JS reads ms values. */
:root{--motion-ease:cubic-bezier(.2,.7,.2,1);--motion-arrive:950ms;--motion-follow:1200ms;--motion-beat:180ms;--motion-reshape:1250ms;--motion-settle:1600ms;--motion-sweep:1100ms}
[data-reveal] :is(h1,h2,h3) em,.guide-step h3 em{display:inline-block}
.memory-choice{transition:background 240ms,border-color 240ms,color 240ms,transform 240ms var(--motion-ease)}
.memory-choice:not(:disabled):hover{transform:translateY(-1px)}
.memory-detail{position:relative;box-sizing:border-box}
.motion-panel-copy{position:absolute!important;inset:0;margin:0!important;min-height:0!important;pointer-events:none;z-index:1}
/* Reserve the mount's box in both states. Only the frame surface moves. */
.hero-paper-wrap,.hero-paper-wrap:not(.is-framed),.hero-paper-wrap.is-framed{padding:14px;border:0;background:none;box-shadow:none;transition:none;isolation:isolate}
.hero-paper-wrap::before{content:"";position:absolute;inset:0;z-index:-1;background:#ae8d66;border:1px solid #8d7152;box-shadow:inset 2px 2px 2px #e6d6bd,inset -2px -2px 3px #71583d,7px 15px 23px #25302524;opacity:0;transform:scale(1.035);transition:transform var(--motion-reshape) var(--motion-ease),opacity var(--motion-reshape) var(--motion-ease);pointer-events:none}
.hero-paper-wrap.is-framed::before{opacity:1;transform:scale(1)}
.hero-paper-wrap .paper,.hero-paper-wrap.is-framed .paper{box-shadow:0 0 0 4px #f6f3ed,0 0 0 5px #6f624c40}
.store-art .hero-paper-wrap{animation:reveal 1100ms var(--motion-ease) both}
.art-playhead{left:10%;width:80%;background:none;overflow:hidden;transition:none}
.art-playhead::before{content:"";position:absolute;inset:0;border-left:1px solid var(--green);transform:translateX(calc(var(--play-progress) * 99.8%))}
.guide-steps{position:relative;--guide-progress:0}
.guide-steps::before{content:"";position:absolute;top:0;bottom:0;left:20px;width:1px;background:var(--green);transform:scaleY(var(--guide-progress));transform-origin:top;pointer-events:none;z-index:1}
.step-index{z-index:2}
.gift-section{position:relative;isolation:isolate;overflow:hidden}
.gift-section.motion-green{background:#315642}
.gift-section.motion-green::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--green);transform-origin:top;animation:reveal var(--motion-sweep) var(--motion-ease) both;--reveal-from:scaleY(0);--reveal-opacity:1}
.home-faq summary::after,.home-faq details[open] summary::after{content:"+";transition:transform 200ms var(--motion-ease)}
.home-faq details[open] summary::after{transform:rotate(45deg)}
/* Native details keeps keyboard and no-JS behaviour; supporting browsers add height motion. */
@supports selector(details::details-content){
 .home-faq details::details-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows 300ms var(--motion-ease),content-visibility 300ms allow-discrete}
 .home-faq details[open]::details-content{grid-template-rows:1fr}
 .home-faq .faq-answer{min-height:0;overflow:hidden}
 .home-faq .faq-answer>div{padding-top:15px}
 .home-faq .faq-answer p{font-size:.9375rem;color:var(--muted);margin-bottom:0}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}
 .guide-steps::before,.art-playhead{display:none}
 .hero-paper-wrap::before{transform:none}
 .gift-section.motion-green{background:var(--green)}
 .memory-choice:not(:disabled):hover{transform:none}
}

/* Launch opening: the introduction and its actions stay together. */
.store-page .topbar{padding-block:14px}.store-page .topbar .brand{font-size:1.7rem}
.store-page .notice{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:4px 12px;padding:9px 20px;font-size:.875rem}
.notice a{font-weight:500;text-underline-offset:4px}.notice span{color:var(--ink)}
.store-hero{grid-template-areas:"intro art";grid-template-rows:auto;grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);gap:48px;min-height:0;padding:36px 0 66px;align-items:center}
.hero-intro{align-self:center;min-width:0}.hero-intro h1{font-size:clamp(3.3rem,5.1vw,4.8rem);max-width:none;line-height:1.04;margin-bottom:22px}
.hero-intro .lead{font-size:1.0625rem;max-width:39ch;margin-bottom:26px}
.hero-actions .stack{display:flex;flex-wrap:wrap;gap:12px 20px}.hero-actions .button{padding:14px 22px}
.hero-actions .purchase-line{margin:20px 0 12px;font-size:.9375rem;max-width:40ch}
.hero-actions .proof-line{margin:0 0 14px;font-size:.875rem;gap:4px 14px}
.hero-actions .scroll-cue{display:flex;width:fit-content;margin-top:17px;gap:12px}
.store-art{position:relative;isolation:isolate;min-width:0;padding:20px 26px;border-radius:8px;--pointer-x:50%;--pointer-y:35%}
.store-art::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at var(--pointer-x) var(--pointer-y),#fff9,transparent 65%);opacity:0;transition:opacity 700ms}
.art-caption{margin-bottom:18px;font-size:.875rem}.store-art .hero-paper-wrap{width:100%;max-width:clamp(240px,31svh,310px)}
.store-art .paper{width:100%}.store-art .paper svg{display:block;width:100%;height:auto}
.store-art>.radio-row{margin-top:18px}.store-art>.radio-row button{min-height:44px;padding:10px 16px}
.art-explore{display:flex;justify-content:center;flex-wrap:wrap;gap:2px 18px;margin:5px 0}
.art-explore button{font-size:.875rem;min-height:42px}.art-options{text-align:center;border:0;padding:0;margin:0}
.art-options summary{display:list-item;width:fit-content;margin:auto;font-size:.875rem;color:var(--muted);cursor:pointer;padding:8px 4px}
.art-options[open]{padding-bottom:6px}.art-options .art-display-controls{margin-top:7px}
.store-art .art-example{font-size:.875rem;margin:10px auto 6px}.store-art .demo-disclosure{font-size:.8125rem;line-height:1.4;max-width:46ch}
.art-display-controls .radio-row{flex-wrap:wrap}.store-art .art-display-controls .radio-row button{min-height:44px;font-size:.875rem}
#replay-art:disabled{display:none}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .store-art.is-pointer-active::after{opacity:1}
 .store-art .hero-paper-wrap{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform 750ms cubic-bezier(.2,.7,.2,1)}
 .store-art.is-pointer-active .hero-paper-wrap{transition-duration:180ms}
 .memory-choice:not(:disabled):hover{transform:translateY(-5px);box-shadow:0 12px 25px #26332c0c}
 .inline-link{background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size 550ms}
 .inline-link:hover{background-size:100% 1px}
}
@media(max-width:1000px) and (min-width:761px){.store-hero{gap:28px}.hero-intro h1{font-size:3.5rem}.store-art{padding:18px}.store-art .hero-paper-wrap{max-width:245px}.hero-actions .stack{gap:8px 13px}}
@media(max-width:760px){
 .store-page .topbar{padding-block:12px}.store-page .topbar .brand{font-size:1.5rem}.store-page .notice{font-size:.875rem;gap:2px 8px}.notice span{display:none}
 .store-hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "art";gap:30px;padding:32px 0 50px}
 .hero-intro h1{font-size:clamp(3.1rem,9.6vw,4.5rem);line-height:1.04;margin-bottom:18px}.hero-intro .lead{font-size:1rem;margin-bottom:22px;max-width:43ch}
 .hero-actions .scroll-cue{margin-top:14px}.hero-actions .purchase-line{margin-top:18px}
 .store-art{padding:20px;margin-top:0}.store-art .hero-paper-wrap{max-width:300px}.store-art>.radio-row button{padding-inline:16px}
 .store-art .art-example{font-size:0}.store-art .art-example::after{content:"One recording. Try all three styles.";font-size:.875rem}
}
@media(max-width:370px){.store-art{padding:16px 12px}.store-art>.radio-row button{padding-inline:12px}.hero-actions .stack{gap:8px}.store-page .topbar .brand{font-size:1.3rem}}
@media(prefers-reduced-motion:reduce){.store-art .hero-paper-wrap{transform:none!important}.store-art::after{display:none}#replay-art{display:none}}

html.artwork-dialog-open{overflow:hidden}

.newsletter-signup {display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(28px,5vw,80px);margin:clamp(72px,9vw,140px) 0;padding:clamp(28px,5vw,64px);border:1px solid var(--line,#d9ded7);background:#f3f4ef;}
.newsletter-signup h2 {font-size:clamp(2.4rem,4.2vw,4.8rem);line-height:1.05;margin:14px 0 22px;}
.newsletter-signup-copy>p:last-child {max-width:35ch;}
.newsletter-signup fieldset {border:0;padding:0;margin:0;min-width:0;}
.newsletter-signup .visually-hidden {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.newsletter-signup-inputs {display:flex;gap:8px;align-items:stretch;margin:10px 0 16px;}
.newsletter-signup-inputs input {width:100%;min-width:0;background:#fff;border:1px solid #9ca89f;border-radius:2px;padding:14px 16px;font:inherit;}
.newsletter-signup-inputs button {flex-shrink:0;white-space:nowrap;}
.newsletter-consent {display:flex;align-items:flex-start;gap:10px;max-width:40ch;font-size:.9rem;line-height:1.5;}
.newsletter-consent input {flex:0 0 auto;appearance:auto;width:18px;height:18px;margin:2px 0 0;accent-color:#274c3d;}
.newsletter-signup .small {line-height:1.6;}
.newsletter-status {font-size:.95rem;line-height:1.6;}
.newsletter-status:empty {display:none;}
.newsletter-honeypot {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
.newsletter-signup [hidden] {display:none!important;}
@media(max-width:760px){.newsletter-signup{grid-template-columns:1fr;gap:22px;}.newsletter-signup-inputs{flex-direction:column;}.newsletter-signup-inputs button{justify-content:center;}}

.newsletter-signup{margin:60px 0 24px;padding:44px;background:white;border-radius:7px}.newsletter-signup h2{font-size:clamp(2.8rem,4vw,3.8rem)}.newsletter-signup-action{min-width:0;min-height:180px;display:flex;flex-direction:column;justify-content:center}
.hero-subactions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 22px}.hero-subactions button{padding:8px 0;font-size:.875rem;min-height:44px}
.product-film-dialog{padding:24px;width:min(1100px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);border:0;background:white;color:var(--ink);overflow:auto;border-radius:8px}
.product-film-dialog::backdrop{background:#16291fe8;backdrop-filter:blur(8px)}
.film-dialog-bar,.film-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:20px}.film-dialog-bar{margin-bottom:20px}.film-dialog-bar h2{font-size:2rem;margin:0}.film-dialog-bar button{flex-shrink:0}
.product-film-dialog video{display:block;width:100%;height:auto;max-height:65dvh;background:#f6f5f0;aspect-ratio:16/9}.film-dialog-footer{margin-top:20px}.film-dialog-footer p{margin:0;font-size:.9375rem;color:var(--muted)}.film-dialog-footer .button{flex-shrink:0}
.film-description{margin-top:16px;font-size:.875rem;color:var(--muted)}.film-description p{max-width:80ch;margin:12px 0 0}
@media(max-width:760px){.newsletter-signup{padding:28px;margin-top:40px}.newsletter-signup-action{min-height:0}.product-film-dialog{padding:16px}.film-dialog-bar h2{font-size:1.6rem}.film-dialog-footer{align-items:flex-start;flex-direction:column}.hero-subactions{gap:4px 18px}}

/* Product-page final: one brand, a clear offer and optional exploration. */
:root{--motion-ease:cubic-bezier(.45,0,.25,1);--motion-arrive:1400ms;--motion-follow:1800ms;--motion-beat:200ms;--motion-reshape:2000ms;--motion-settle:2200ms;--motion-sweep:1600ms}
.store-page .topbar{padding-block:20px}.store-page .topbar .brand{font-size:1.85rem}.store-page .site-nav{gap:30px}.site-nav .nav-create{color:var(--green);text-underline-offset:5px;text-decoration:underline}
.store-hero{padding:48px 0 70px;gap:65px;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr)}
.hero-intro h1{font-size:clamp(3.25rem,5.1vw,4.65rem);max-width:14ch;line-height:1.04;margin-bottom:26px}
.hero-intro .lead{max-width:39ch;font-size:1.0625rem;line-height:1.65;margin-bottom:26px}
.hero-actions .purchase-line{display:flex;flex-direction:column;gap:4px;margin:0 0 26px;font-size:.9375rem;color:var(--muted);line-height:1.5}.hero-actions .purchase-line strong{font-size:1.2rem;color:var(--ink)}
.hero-actions .stack{gap:16px 24px}.hero-actions .button{padding:15px 25px}.hero-actions .shop-status{font-size:.875rem;line-height:1.5;text-align:left;margin:19px 0 0;color:var(--muted)}
.store-art{padding:32px 26px 22px;background:#f4f5f2;border:0;border-radius:6px}.store-art .hero-paper-wrap{animation:none;max-width:clamp(280px,34svh,340px)}
.store-art>.demo-disclosure{margin:22px auto 8px;font-size:.8125rem;color:var(--muted)}
.art-tools{border:0;padding:0;margin:0;text-align:center}.art-tools>summary{width:fit-content;margin:auto;padding:10px 4px;font-size:.875rem;cursor:pointer;color:var(--green);text-underline-offset:4px}
.art-tools[open]{margin-top:8px;border-top:1px solid var(--line);padding-top:12px}.art-tools>.radio-row{margin-top:10px}.art-tools .art-explore{margin:4px 0}.store-art .art-example{font-size:.875rem;max-width:38ch;margin:14px auto 4px}.store-art .art-example::after{content:none}
.sound-meaning{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:65px 0 70px;border-top:1px solid var(--line)}.sound-meaning h2{margin-bottom:0}.sound-meaning-copy{padding-top:27px;max-width:45ch}.sound-meaning-copy p{font-size:1.1rem;line-height:1.7;color:var(--muted)}.sound-meaning-copy p:last-child{margin-bottom:0}
.moments-section{padding:60px 0 70px}.memory-choice{min-height:180px}.memory-choice strong{font-size:1.7rem}.memory-detail{min-height:210px}.memory-detail h3{max-width:22ch}
.how-section{padding:65px 0 40px}.how-links{display:flex;align-items:center;flex-wrap:wrap;gap:10px 26px}.how-links button,.how-links a{font-size:.9375rem}.how-links button{padding-inline:0}
.guide-step,.guide-step:last-child{min-height:0;padding:36px 0 42px 48px}.guide-step h3{font-size:clamp(2.3rem,3.1vw,3rem);margin-bottom:22px}.guide-step>p:not(.eyebrow){font-size:1rem}.step-index{top:38px}.guide-step .eyebrow{font-size:.8125rem}.guide-step .inline-link{margin-top:0}
.guide-visual{top:100px}.guide-panels{min-height:390px}.gift-section{margin:30px 0 30px;padding:55px}.gift-inclusions h3{font-family:Instrument,system-ui,sans-serif;font-size:1.0625rem;margin-bottom:20px}.gift-section .gift-intro p{font-size:1.1rem;line-height:1.65}
.trust-faq{padding:70px 0;gap:85px}.recording-promise{padding-top:6px}.closing-invitation{padding:55px 25px}.closing-invitation h2{font-size:clamp(3rem,4.8vw,4.4rem)}
@media(max-width:1000px) and (min-width:761px){.store-hero{gap:36px}.hero-intro h1{font-size:3.5rem}.store-art{padding:28px 18px 18px}.store-art .hero-paper-wrap{max-width:270px}.sound-meaning{gap:40px}}
@media(max-width:760px){
 .store-page .topbar{padding-block:17px}.store-page .topbar .brand{font-size:1.65rem}.store-page .site-nav{gap:16px}.site-nav .nav-create{font-size:.875rem}
 .store-hero{padding:38px 0 48px;gap:30px;grid-template-columns:minmax(0,1fr)}.hero-intro h1{font-size:clamp(3.1rem,10vw,4rem);max-width:14ch;margin-bottom:22px}.hero-intro .lead{font-size:1rem;line-height:1.65;margin-bottom:22px}.hero-actions .purchase-line{margin-bottom:22px}.hero-actions .stack{gap:12px 20px}.hero-actions .button{padding:14px 20px}
 .store-art{padding:28px 20px 18px}.store-art .hero-paper-wrap{max-width:300px}.sound-meaning{grid-template-columns:1fr;gap:24px;padding:42px 0 48px}.sound-meaning-copy{padding-top:0;max-width:none}.sound-meaning-copy p{font-size:1.0625rem}
 .moments-section{padding:45px 0 50px}.memory-choice{min-height:178px}.memory-choice strong{font-size:1.5rem}.memory-detail{min-height:245px;gap:18px}.memory-detail h3{font-size:2rem}
 .how-section{padding:48px 0 30px}.guide-step,.guide-step:last-child{padding:28px 0 32px 38px}.step-index{top:28px}.guide-step h3{font-size:2.55rem}.gift-section{padding:34px 26px;margin:22px 0 15px}.trust-faq{padding:48px 0;gap:42px}.closing-invitation{padding:44px 23px}
}
@media(prefers-reduced-motion:reduce){.store-art .hero-paper-wrap{animation:none!important;transform:none!important}}

.newsletter-signup{border:0;border-top:1px solid var(--line);border-radius:0;padding:50px 0 24px;margin:48px 0 0;background:white}.newsletter-signup h2{font-size:3rem;margin-top:0}.newsletter-signup-copy>p:last-child{max-width:36ch;color:var(--muted)}
@media(max-width:760px){.newsletter-signup{padding:38px 0 12px;margin-top:36px;gap:24px}.newsletter-signup h2{font-size:2.7rem}}

/* September UX refresh: product first, quieter controls, readable at every age. */
.store-page .store-hero{grid-template-areas:"intro art";grid-template-rows:1fr;min-height:660px;padding:44px 0 64px;gap:64px;align-items:center}
.store-page .hero-intro{align-self:center}
.store-page .hero-intro h1{font-size:clamp(3.5rem,6.2vw,6.4rem);max-width:11ch;line-height:.99;letter-spacing:-.035em}
.store-page .hero-intro .lead{font-size:1.18rem;line-height:1.6;max-width:31ch;margin:26px 0}
.purchase-line{display:flex;flex-direction:column;gap:5px;margin:24px 0;font-size:1rem}.purchase-line strong{font-size:1.45rem}.purchase-line span{color:var(--muted);font-size:.9rem}
.store-page .hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:26px 0 12px}
.store-page .hero-actions .primary{padding:18px 28px;background:#183e32;color:white;border-color:#183e32;border-radius:6px;font-weight:600}
.store-page .hero-caption{border-top:1px solid var(--line);padding-top:22px;margin-top:28px;font-size:.9rem;color:var(--muted)}
.store-page .store-art{background:#e9eeeb;border:0;border-radius:180px 180px 10px 10px;padding:38px 35px 18px}
.store-page .hero-paper-wrap{max-width:285px;box-shadow:12px 24px 30px #10231b24;transform:rotate(-3deg)}
.store-page .art-tools{border:0;margin-top:8px}.store-page .art-tools>summary{font-size:.875rem;text-align:center}.store-page .store-art .radio-row{margin-top:12px;background:transparent}.store-page .art-example{text-align:center}
.store-page .art-explore{justify-content:center}.store-page .art-options{margin-top:8px}
.store-page .section-heading h2{font-size:clamp(2.5rem,4vw,4rem)}
.store-page .moments-section,.store-page .how-section,.store-page .gift-section,.store-page .trust-faq{padding-top:60px;padding-bottom:60px}
.store-page .walkthrough{border-top:1px solid var(--line);margin-top:20px}.store-page .walkthrough>summary{padding:20px 0;font-size:1.1rem}
.store-page .how-journey{margin-top:20px}.store-page .guide-steps{display:none}.store-page .how-journey{grid-template-columns:1fr}.store-page .guide-visual{position:relative;top:auto;max-width:620px;margin:auto;width:100%}
.store-page .recording-promise img{width:100%;height:400px;object-fit:cover;border-radius:8px}.store-page .recording-promise{align-self:start}
.creator-page #stage-title{font-size:clamp(2.2rem,3.7vw,3.5rem);line-height:1.1;margin-bottom:24px}
.creator-page .upload{padding:26px;background:#f5f7f5;border:1px dashed #8f9f95;border-radius:10px}.creator-page .upload .primary{border-radius:6px}
.creator-page .starting-points{margin-top:24px}.creator-page .starting-points .choices{margin-top:16px}
.creator-page .interview{background:none;padding:0;margin:18px 0}.creator-page .preview-header{color:var(--ink)}
.creator-page .preview-foot{font-size:.875rem}.creator-page .check{line-height:1.5}.creator-page .check input{min-width:20px;min-height:20px}
.creator-page .steps li{font-size:.95rem}.creator-page .field>span{font-size:1rem}.creator-page .actions .primary{border-radius:6px;min-height:50px}
.creator-page .section h2{font-size:1.65rem}.creator-page .notice{font-size:.875rem;padding:10px 20px}.creator-page .site-footer{padding-top:24px;padding-bottom:24px}
button,a.button,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #227353;outline-offset:4px}
@media(min-width:641px){.creator-page .workspace{grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:60px}.creator-page .preview{position:sticky;top:105px;align-self:start}.creator-page .preview .paper{max-width:350px;margin:auto}.creator-page:has(#review-art) .workspace{display:block}.creator-page:has(#review-art) .preview{display:none}}
@media(max-width:760px){.store-page .store-hero{grid-template-columns:1fr;grid-template-areas:"intro" "art";gap:28px;padding-top:28px}.store-page .hero-intro h1{font-size:clamp(3rem,11vw,4.7rem);max-width:none}.store-page .hero-intro .lead{margin:18px 0;font-size:1.05rem}.store-page .hero-caption{display:none}.store-page .store-art{padding:26px 25px 16px;margin-top:0}.store-page .hero-paper-wrap{max-width:250px}.store-page .moments-section,.store-page .how-section,.store-page .gift-section,.store-page .trust-faq{padding-block:38px}.store-page .recording-promise img{height:280px}}
@media(max-width:640px){.creator-page .steps{display:flex;gap:12px;justify-content:space-between}.creator-page .steps li{font-size:.875rem}.creator-page .steps li span{width:24px;height:24px}.creator-page .art-focus{padding:18px;background:#edf1ed;border-radius:8px}.creator-page .art-focus .paper{max-width:230px;margin:auto}.creator-page #stage-title{font-size:2.25rem}.creator-page .upload{padding:20px}.creator-page .product-offer{display:none}.creator-page .actions{position:sticky;bottom:0;background:#fff;padding:14px 0;border-top:1px solid var(--line);z-index:5}.creator-page .actions .primary{flex:1}}
@media(prefers-reduced-motion:reduce){.store-page .hero-paper-wrap{transform:none}}
