/* Gentle, progressive disclosure for the Siddur celebration. */
.scroll-thread{position:fixed;inset:0 0 auto;height:4px;background:#c9d8e6;z-index:100;pointer-events:none}.scroll-thread span{display:block;width:100%;height:100%;background:#94714e;transform:scaleX(0);transform-origin:right;will-change:transform}
.hero-artwork{animation:hero-arrive 1.1s cubic-bezier(.16,1,.3,1) both}.unified-hero .hero-copy{animation:hero-arrive .9s .2s both}@keyframes hero-arrive{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
.chapter-nav{position:sticky;top:0;z-index:12;display:flex;align-items:center;justify-content:center;gap:12px;background:#fffaf2f5;backdrop-filter:blur(12px);padding:14px 22px;box-shadow:0 7px 22px #315b7e15;border-bottom:1px solid #ccd9e2}.chapter-nav>a{display:flex;align-items:center;gap:12px;text-decoration:none;border:1px solid #b7cada;border-radius:100px;padding:8px 22px;color:#315b7e;transition:background .25s,color .25s,box-shadow .25s,translate .25s;font-size:18px}.chapter-nav>a b{font:26px Bombasta;line-height:1}.chapter-nav>a.active{background:#315b7e;color:#fffaf2;box-shadow:0 5px 10px #315b7e22}.chapter-nav>a:hover{translate:0 -3px;background:#e3edf4}.chapter-nav>a.active:hover{background:#315b7e}.chapter-nav .chapter-contact{background:#e9ddc9;border-color:#d5c2a5;font-size:16px}
#songs .song-feature{scroll-margin-top:95px}.song-story h3{display:table;position:relative}.song-story h3:after{content:'';position:absolute;bottom:-6px;right:0;width:100%;height:7px;border-radius:50%;background:#c7aa7a80;transform:scaleX(0);transform-origin:right;transition:transform 1s .3s}.song-story.is-revealed h3:after{transform:scaleX(1)}
[data-reveal]{opacity:1}.motion-ready [data-reveal]:not(.is-revealed){opacity:0;translate:0 30px}.motion-ready [data-reveal]{transition:opacity .7s ease,translate .85s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready .song-art[data-reveal]:not(.is-revealed){translate:24px 0}.motion-ready .song-story[data-reveal]:not(.is-revealed){translate:-24px 0}
.surprise{position:relative;overflow:hidden}.surprise-button{display:flex;gap:14px;align-items:center;width:100%;border:0;background:transparent;text-align:right;color:inherit;padding:0}.surprise-button b{flex:1}.surprise-plus{display:grid;place-items:center;width:35px;height:35px;border:1px solid #bfa578;border-radius:50%;font:25px Arial;transition:rotate .35s,background .35s}.surprise-button[aria-expanded=true] .surprise-plus{rotate:45deg;background:#e6d5b5}.surprise-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s}.surprise-body>div{overflow:hidden}.surprise-body p{padding:0;margin:0!important}.surprise.open .surprise-body{grid-template-rows:1fr}.surprise.open .surprise-body p{padding-top:12px}.surprise-hint{display:block;font-size:14px;color:#94714e;opacity:.85;margin-top:3px}.surprise.open .surprise-hint{display:none}.surprise:hover .surprise-icon{rotate:18deg;scale:1.12}.surprise-icon{transition:rotate .4s,scale .4s}.surprise-button:focus-visible{outline:2px solid #527da3;outline-offset:6px}
.included{counter-reset:included}.included li{position:relative;isolation:isolate;overflow:hidden}.included li:after{counter-increment:included;content:'0' counter(included);position:absolute;left:18px;top:0;font:110px Bombasta;color:#527da313;z-index:-1}.steps{position:relative;gap:24px}.steps>div{padding:27px;background:#f0f4f7;border-radius:18px;border:1px solid #d7e2eb;position:relative}.steps .step-num{display:grid;place-items:center;width:70px;height:70px;border:1px dashed #8da6bb;border-radius:50%;background:#fffaf2;font-size:38px;color:#527da3;transition:rotate .4s,scale .4s}.steps>div:hover .step-num{rotate:-8deg;scale:1.08}.steps>div:before{content:'';width:calc(100% + 24px);height:1px;position:absolute;top:62px;right:50%;background:#b5cadb;z-index:-1}.steps>div:last-child:before{display:none}.price-grid .price-row{transition:transform .3s,background .3s,border-color .3s}.price-grid .price-row:hover{transform:translateY(-7px);background:#ffffff14;border-color:#d4b589}.media-panel{transition:box-shadow .3s,transform .3s}.media-panel:focus-within{box-shadow:0 0 0 3px #c8a66e70,0 16px 32px #315b7e18}.audio-panel.is-playing .wave{animation:sound-breathe 1.4s ease-in-out infinite}@keyframes sound-breathe{50%{opacity:.55;scale:1 .82}}
.faq details{border:1px solid #d8e2ea;padding:20px 25px;margin:12px 0;border-radius:14px;background:#fffaf2;transition:background .25s,box-shadow .25s}.faq details[open]{background:#eaf1f6;box-shadow:0 10px 24px #315b7e0c}.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font:28px Arial;color:#527da3;transition:rotate .3s}.faq details[open] summary:after{rotate:45deg}.section-title{position:relative}.contact-inner form:focus-within{box-shadow:0 15px 60px #17395026}
@media(max-width:800px){.chapter-nav{gap:7px;padding:10px 8px;justify-content:space-between}.chapter-nav>a{font-size:13px;padding:7px 10px;gap:6px}.chapter-nav>a b{font-size:20px}.chapter-nav .chapter-contact{display:none}.steps>div:before{display:none}.motion-ready .song-art[data-reveal]:not(.is-revealed),.motion-ready .song-story[data-reveal]:not(.is-revealed){translate:0 18px}#songs .song-feature{scroll-margin-top:75px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-artwork,.unified-hero .hero-copy{animation:none}.motion-ready [data-reveal],.motion-ready [data-reveal]:not(.is-revealed){opacity:1;translate:none;transition:none}.surprise-body,.surprise-plus,.song-story h3:after{transition:none}.audio-panel.is-playing .wave{animation:none}.chapter-nav>a:hover{translate:none}}
.surprise{display:block!important}.surprise-button>span:not(.surprise-icon):not(.surprise-plus){flex:1}.surprise-button b{display:block}.surprise-body>div{min-height:0}.surprise-body p{font-size:19px!important;line-height:1.55!important}.surprise-button .surprise-icon{flex:none}.chapter-nav{margin:0!important}
.hero-live-art{display:block;width:100%;max-width:1440px;height:auto;margin:0 auto;background:white;aspect-ratio:1942/809}.hero-static-fallback{position:absolute!important;width:1px!important;height:1px!important;clip-path:inset(50%);overflow:hidden}.hero-experience-tools{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin-top:23px}.hero-experience-tools button{display:inline-flex;align-items:center;gap:8px;border:1px solid #cfdae3;border-radius:100px;padding:8px 17px;background:#f4f7fa;color:#527da3;font:16px Agol;transition:background .25s,box-shadow .25s,transform .25s}.hero-experience-tools button:hover{background:#e7eff5;box-shadow:0 4px 12px #315b7e15;transform:translateY(-2px)}.hero-experience-tools button[aria-pressed=true]{background:#315b7e;color:#fffaf2}.sound-feedback{font-size:13px;color:#857055}.sound-feedback:empty{display:none}@media(max-width:800px){.hero-experience-tools{gap:8px}.hero-experience-tools button{font-size:14px;padding:8px 12px}}@media(prefers-reduced-motion:reduce){.hero-experience-tools .entrance-replay{display:none}}
/* A folding plaid cover for each musical surprise. */
.surprise{padding:0!important;border:0!important;background:#fff7e8!important;overflow:visible!important;border-radius:16px!important;box-shadow:0 6px 20px #315b7e14;perspective:1000px}.surprise-button{position:relative;z-index:2;isolation:isolate;min-height:108px;padding:22px 28px!important;color:#fff!important;border-radius:16px;transform-style:preserve-3d}.surprise-button:before{content:'';position:absolute;inset:0;z-index:-2;border-radius:16px;background:#806c59 url('plaid-band.webp') center/cover;transform-origin:top;transform:rotateX(0);transition:transform .7s cubic-bezier(.2,.7,.2,1),opacity .5s;backface-visibility:hidden;box-shadow:inset 0 0 0 1px #ffffff55,0 5px 12px #263b5320}.surprise-button:after{content:'';position:absolute;inset:0;z-index:-1;border-radius:16px;background:#17375060;transform-origin:top;transition:transform .7s cubic-bezier(.2,.7,.2,1),opacity .5s;backface-visibility:hidden}.surprise-button b{color:inherit!important;text-shadow:0 2px 5px #182b3b80}.surprise-hint{color:#fff!important;opacity:.95;text-shadow:0 1px 4px #182b3b80}.surprise-plus{border-color:#ffffffa0;background:#ffffff15;color:#fff}.surprise-icon{color:inherit!important}.surprise.open .surprise-button:before,.surprise.open .surprise-button:after{transform:rotateX(100deg);opacity:0}.surprise.open .surprise-button{color:#805f3e!important;transition:color .4s .3s}.surprise.open .surprise-button b{text-shadow:none}.surprise.open .surprise-plus{rotate:180deg;background:#e6d5b5;color:#805f3e;border-color:#bfa578}.surprise.open .surprise-body{padding:0 28px 24px}.surprise-body{padding:0 28px;transition:grid-template-rows .6s ease,padding .6s ease}.surprise-body p{color:#725c43!important}.surprise.open .surprise-body p{padding-top:0}.surprise-button:hover:before{filter:brightness(1.08)}@media(prefers-reduced-motion:reduce){.surprise-button:before,.surprise-button:after,.surprise-button,.surprise-body{transition:none}.surprise.open .surprise-button:before,.surprise.open .surprise-button:after{transform:none;opacity:0}}

/* Repeating song titles orbit outside the circular portraits. */
.song-orbit{position:relative;width:380px;height:380px;justify-self:center;margin:28px 0;isolation:isolate}.song-orbit .song-art{width:100%;height:100%;min-height:0;margin:0}.song-name-ring{position:absolute;inset:-30px;width:calc(100% + 60px);height:calc(100% + 60px);overflow:visible;pointer-events:none;animation:song-name-orbit 48s linear infinite;transform-origin:center;fill:#315b7e;font-family:Agol,Arial,sans-serif;font-size:14px;font-weight:700;letter-spacing:0;z-index:2}.song-feature:nth-of-type(even) .song-name-ring{animation-direction:reverse}@keyframes song-name-orbit{to{transform:rotate(360deg)}}
@media(min-width:801px) and (max-width:1000px){.song-orbit{width:270px;height:270px}}
@media(max-width:800px){.song-orbit{width:min(290px,74vw);height:min(290px,74vw);margin:32px auto}.song-name-ring{inset:-25px;width:calc(100% + 50px);height:calc(100% + 50px)}}
@media(prefers-reduced-motion:reduce){.song-name-ring{animation:none!important}}

.song-name-ring{font-size:10px;font-weight:300}.motion-ready .song-orbit .song-art[data-reveal]{opacity:1;translate:none;transition:none}

/* Sections slide over the preceding page; tall sections remain fully readable. */
.stack-mode body{overflow-x:clip}.stack-mode #songs>.songs{position:relative}.stack-mode #songs{position:relative;isolation:isolate}.stack-mode .scroll-stack-layer{position:sticky;top:var(--stack-top,0px);z-index:var(--stack-order);box-shadow:0 -18px 40px -28px #193d68aa;isolation:isolate}.stack-mode .hero.scroll-stack-layer{background:#fff}.stack-mode .songs-intro{background:#315b7e}.stack-mode main>section.section:not(#songs){background:#fcf8ef}.stack-mode footer{position:relative;z-index:30}.stack-mode .chapter-nav{z-index:40}.stack-mode main>.divider{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.stack-mode .scroll-stack-layer{position:relative;top:auto}}

/* Gentle arrivals alternate with the stacked song chapters. */
.stack-mode main>section:not(#songs):not(.scroll-stack-layer){position:relative;z-index:0}
.section-arrived .section-title,.section-arrived>.eyebrow{animation:section-arrival .85s cubic-bezier(.2,.7,.2,1) both}
@keyframes section-arrival{from{opacity:.35;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.section-arrived .section-title,.section-arrived>.eyebrow{animation:none}}

.section-arrived .song-heading{animation:section-arrival .85s cubic-bezier(.2,.7,.2,1) both}
@media(prefers-reduced-motion:reduce){.section-arrived .song-heading{animation:none}}
