/* One product follows the group through its week. */
.week-story{--intro-progress:0;position:relative;isolation:isolate;overflow:clip}
.story-landscape{position:absolute;inset:-88px 0 auto;height:max(850px,105svh);z-index:-2;background:linear-gradient(0deg,var(--paper) 0%,#fbf8f100 35%),linear-gradient(90deg,#fbf8f1 4%,#fbf8f1eb 25%,#fbf8f19c 48%,#fbf8f124 75%),url('assets/hero-banner.webp') center bottom/cover no-repeat}
.story-layout{width:min(1230px,calc(100% - 200px));margin:auto;display:grid;grid-template-columns:1.13fr 1fr;column-gap:75px;position:relative}
.story-intro,.story-chapter{grid-column:1;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.story-intro{min-height:max(760px,calc(100svh - 88px));padding-block:50px 110px}
.story-intro h1{font-size:clamp(48px,4.8vw,73px);line-height:1.11;letter-spacing:-2.8px;margin:25px 0 28px}
.story-intro .eyebrow{font-size:11px}.story-intro .hero-tagline{font-size:21px}.story-intro .hero-actions{width:100%}
.scroll-invitation{display:flex;align-items:center;gap:20px;font-size:12px;color:var(--green);min-height:44px;margin-top:35px}.scroll-invitation>span{font-size:20px;transition:transform .3s}.scroll-invitation:hover>span{transform:translateY(5px)}
.product-track{grid-column:2;grid-row:1 / 8;align-self:stretch;min-width:0;padding-block:75px 140px;position:relative;z-index:2}
.product-sticky{position:sticky;top:max(24px,calc(50svh - 305px))}
.hero-product{position:relative;isolation:isolate;width:100%;margin:auto;transform:scale(calc(1 - var(--intro-progress)*.07));transform-origin:center}
.demo-shell{width:100%;max-width:435px;height:545px;border-radius:22px}.demo-shell:hover{transform:none;box-shadow:0 40px 90px -25px #1c332568}
.demo-controls{min-height:44px}.beat-buttons{transition:opacity .25s}.in-journey .beat-buttons{display:none}.in-journey .demo-controls{justify-content:flex-end;padding-right:20px}.loop-toggle{background:#fbf8f1c9;backdrop-filter:blur(8px)}
.art-panels{position:absolute;inset:0 0 70px;z-index:-1;pointer-events:none;opacity:calc(1 - var(--intro-progress));transform:scale(calc(1 - var(--intro-progress)*.4));transform-origin:center;will-change:transform,opacity}
.art-panel{position:absolute;object-fit:cover;border-radius:5px;box-shadow:0 10px 24px #20372718}.art-orchard{width:74%;height:86%;left:-17%;top:10%;object-position:23% center;transform:rotate(-8deg)}.art-valley{width:91%;height:82%;right:-17%;top:-5%;object-position:80% center;transform:rotate(8deg)}
.story-chapter{min-height:max(680px,95svh);padding-block:100px 130px;scroll-margin-top:0}.chapter-copy{max-width:480px}.chapter-copy>.eyebrow{font-size:11px;letter-spacing:.15em;margin-bottom:25px}.chapter-copy h2{font-size:clamp(36px,3.7vw,56px);line-height:1.19;letter-spacing:-1.9px;margin-bottom:28px}.chapter-body{font-size:18px;line-height:1.8;color:var(--muted);max-width:425px}.chapter-close{font-size:15px;line-height:1.7;color:var(--green);margin-top:25px;max-width:370px}
#pray h2 em{position:relative}#pray h2 em:after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--gold);transform:rotate(-2deg);border-radius:50%}
.journey-rail{position:absolute;left:max(12px,calc((100% - 1470px)/2));top:0;bottom:150px;width:88px;pointer-events:none;z-index:5;padding-top:max(760px,calc(100svh - 88px))}
.journey-nav{position:sticky;top:calc(50svh - 155px);display:flex;flex-direction:column;gap:7px;opacity:0;transition:opacity .35s;pointer-events:none}.in-journey .journey-nav{opacity:1;pointer-events:auto}
.journey-nav:before{content:'';position:absolute;width:1px;left:20px;top:20px;bottom:20px;background:#bcc8b5;z-index:-1}.journey-nav>a{display:flex;align-items:center;gap:7px;min-height:44px;font-size:11px;color:var(--muted)}.journey-dot{width:41px;height:41px;display:grid;place-items:center;flex-shrink:0}.journey-dot>span{height:8px;width:8px;border:1px solid #9dac94;border-radius:50%;background:var(--paper);color:transparent;font-size:9px;display:grid;place-items:center;transition:width .3s,height .3s,background .3s,color .3s}.journey-name{opacity:0;transition:opacity .3s}.journey-nav>a:hover .journey-name,.journey-nav>a:focus-visible .journey-name,.journey-nav>a[aria-current=step] .journey-name{opacity:1}.journey-nav>a[aria-current=step]{color:var(--green)}.journey-nav>a[aria-current=step] .journey-dot>span{width:27px;height:27px;background:var(--green);border-color:var(--green);color:white}.journey-nav>a.is-complete .journey-dot>span{background:#91a081;border-color:#91a081}
.capture-summary{position:absolute;inset:77px 28px 25px;text-align:left;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .5s,transform .5s}.capture-heading{font:500 28px/1.3 Lora,serif;margin-bottom:20px}.capture-summary .result-row{padding-block:18px;gap:12px}.capture-summary .result-row>.icon:last-child{margin-left:auto;width:18px}.capture-ready{color:var(--green);font-size:13px;margin-top:25px;text-align:center;opacity:0;transition:opacity .5s}.capture-ready.is-shown{opacity:1}.listening-moment{transition:opacity .4s}.gather-processed .listening-moment{opacity:0;visibility:hidden}.gather-processed .capture-summary{opacity:1;visibility:visible;transform:none}
.week-prayers{position:absolute;left:28px;right:28px;bottom:32px;text-align:center;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .6s,transform .6s}.week-prayers>p{font-size:13px;color:var(--green);margin-bottom:13px}.week-prayer-days{display:flex;justify-content:center;gap:30px}.week-prayer-days>span{display:flex;flex-direction:column;align-items:center;font-size:11px;color:var(--muted);gap:5px}.week-prayer-days b{display:grid;place-items:center;background:var(--sage);border-radius:50%;height:39px;width:39px;font-size:21px;opacity:.2;transform:scale(.85);transition:opacity .5s,transform .5s}.week-prayer-days>.is-shown b{opacity:1;transform:none}.week-praying .prayer-response{opacity:0;visibility:hidden}.week-praying .week-prayers{opacity:1;visibility:visible;transform:none}.prayer-response{transition:opacity .4s}
.closing-section{position:relative;padding-block:90px 120px}.closing-section:before{content:'';position:absolute;inset:-70px -56px -50px;z-index:-1;background:linear-gradient(var(--paper),#fbf8f1d9),url('assets/hero-banner.webp') center/cover}.closing-section h2{font-size:clamp(48px,6vw,80px)}
@media(min-width:1600px){.story-layout{column-gap:100px}.product-track{padding-top:95px}.demo-shell{height:555px}}
@media(min-width:851px) and (max-width:1100px){.story-layout{width:calc(100% - 130px);column-gap:40px;grid-template-columns:1fr 1fr;margin-left:90px}.story-intro h1{font-size:51px}.story-intro .eyebrow{font-size:9px}.story-intro .button{font-size:12px;padding-inline:18px}.journey-name{display:none}.journey-rail{width:44px;left:20px}.chapter-copy h2{font-size:39px}.chapter-body{font-size:16px}.demo-scene{padding-inline:20px}.art-valley{right:-9%}}
@media(max-width:850px){
  .story-layout{display:flex;flex-direction:column;width:calc(100% - 48px)}
  .story-intro{min-height:0;align-items:center;text-align:center;padding:35px 0 65px}.story-intro h1{font-size:clamp(43px,7.8vw,64px);letter-spacing:-2px;margin-block:25px}.story-intro h1 br:nth-of-type(2){display:none}.story-intro .eyebrow{font-size:10px}.story-intro .hero-tagline{font-size:19px;margin-bottom:25px}.scroll-invitation{margin-top:20px}
  .story-landscape{height:1080px;top:-76px;background:linear-gradient(0deg,var(--paper),#fbf8f130 45%,#fbf8f1e8 80%),url('assets/hero-banner.webp') 65% bottom/auto 95% no-repeat}
  .product-track{position:sticky;top:52px;padding:0;flex:none;width:100%;margin:0 auto;z-index:3;height:470px}.product-sticky{position:relative;top:0}.hero-product{width:min(360px,100%);transform:scale(calc(1 - var(--intro-progress)*.04));transform-origin:top center}
  .product-track:before{content:'';position:absolute;z-index:-1;inset:-52px -24px -10px;background:linear-gradient(var(--paper) 82%,#fbf8f100);opacity:var(--intro-progress)}
  .demo-shell{height:420px;border-radius:19px}.demo-top{min-height:59px;padding:13px 21px}.group-identity>img{height:32px;width:32px}.group-identity strong{font-size:15px}.demo-scenes{height:360px}.demo-scene{padding:18px 21px}.scene-heading{margin-bottom:10px}.scene-heading h2{font-size:22px}.scene-heading>span{font-size:11px}.week-strip>div{font-size:16px;padding:5px 0;gap:3px}.meeting-preview{margin-top:16px}.meeting-preview h3{font-size:22px}.meeting-preview>p:not(.overline){font-size:12px}.study-line{margin-top:11px;font-size:12px}.rsvp-line{margin-top:21px;gap:6px}.plan-avatars>.avatar{width:29px;height:29px}.rsvp-added .plan-avatars>.sixth-avatar{width:29px}.rsvp-count{font-size:11px}.rsvp-action{font-size:11px;min-width:67px}
  .demo-controls{margin-top:9px;gap:5px}.beat{font-size:11px;padding-inline:8px}.in-journey .demo-controls{padding-right:0}.art-panels{bottom:40px}.art-orchard{left:-8%;width:65%}.art-valley{right:-8%;width:80%}
  .scene-meta{margin-bottom:17px;font-size:12px}.speaker-avatar>.avatar{height:70px;width:70px}.spoken-request{font-size:23px;margin-top:19px}.waveform{height:37px;margin-block:20px 14px}.listening-indicator{font-size:12px}.capture-summary{inset:61px 23px 20px}.capture-heading{font-size:25px;margin-bottom:13px}.capture-summary .result-row{padding-block:13px;font-size:16px}.capture-ready{margin-top:20px;font-size:12px}
  .captured-card{padding:15px 17px}.captured-card .avatar{width:31px;height:31px}.captured-card h3{font-size:25px;margin-block:14px 17px}.capture-status{height:36px;font-size:11px}.prayer-response{margin-top:15px}.praying-avatars{min-height:37px}.praying-avatars>.avatar{height:35px;width:35px}.praying-copy{font-size:12px;margin-top:6px}.week-prayers{bottom:17px}.week-prayers>p{margin-bottom:6px}.week-prayer-days{gap:29px}.week-prayer-days b{height:32px;width:32px;font-size:18px}
  .recap-card{padding:16px}.recap-title strong{font-size:18px}.recap-card>p{margin-top:6px;font-size:12px}.recap-bottom{padding-top:8px;margin-top:10px;font-size:11px}.message{font-size:12px;margin-top:16px}.message p{padding:9px 12px}.message.outgoing{margin-top:12px}.message span:not(.avatar){font-size:10px}.stone-landscape{height:92px}.stone-copy{padding:15px 18px}.stone-copy h3{font-size:28px;margin-block:13px 7px}.stone-copy>p{font-size:12px}.celebration-response{margin-top:17px;font-size:12px}
  .story-chapter{min-height:calc(100svh - 20px);padding:95px 0 140px;justify-content:flex-start;align-items:center;scroll-margin-top:530px}.chapter-copy{max-width:480px;text-align:center}.chapter-copy>.eyebrow{font-size:10px;margin-bottom:16px}.chapter-copy h2{font-size:35px;line-height:1.19;letter-spacing:-1.3px;margin-bottom:19px}.chapter-body{font-size:16px;line-height:1.7;max-width:410px}.chapter-close{font-size:13px;margin:18px auto 0;max-width:330px}
  .journey-rail{padding:0;position:absolute;inset:0 0 120px;width:100%;z-index:6;pointer-events:none}.journey-nav{top:0;height:49px;flex-direction:row;justify-content:center;gap:4px;background:#fbf8f1ed;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);width:100%;padding-inline:9px}.journey-nav:before{display:none}.journey-nav>a{flex:1;justify-content:center;gap:0;max-width:85px;font-size:11px;min-height:44px}.journey-dot{width:15px;height:24px}.journey-dot>span{height:5px;width:5px}.journey-nav>a[aria-current=step] .journey-dot>span{height:6px;width:6px;color:transparent}.journey-name{opacity:1}.journey-nav>a[aria-current=step]{font-weight:600}
  .closing-section{padding-block:45px 80px}.closing-section:before{inset:-30px -24px}.closing-section h2{font-size:56px}
}
@media(max-width:430px){.story-layout{width:calc(100% - 36px)}.story-intro h1{font-size:43px}.story-intro .eyebrow{font-size:9px}.story-intro{padding-top:30px}.chapter-copy h2{font-size:32px}.chapter-body{font-size:15px}.demo-scene{padding-inline:19px}.praying-copy{font-size:12px}.beat{padding-inline:7px}.closing-section h2{font-size:49px}}
@media(max-width:850px) and (max-height:740px){.product-track{height:375px}.hero-product{width:min(330px,100%)}.demo-shell{height:340px}.demo-scenes{height:287px}.demo-top{min-height:52px;padding-block:10px}.group-identity>img{width:28px;height:28px}.demo-scene{padding:12px 18px}.scene-heading h2{font-size:19px}.scene-heading{margin-bottom:6px}.week-strip>div{font-size:13px;padding:3px 0}.week-strip small{font-size:9px}.meeting-preview{margin-top:10px}.meeting-preview h3{font-size:19px}.meeting-preview .overline{font-size:9px}.study-line{margin-top:5px;font-size:11px}.rsvp-line{margin-top:11px}.speaker-avatar>.avatar{height:52px;width:52px}.scene-meta{margin-bottom:12px;font-size:11px}.spoken-request{font-size:20px;margin-top:14px}.waveform{margin-block:13px 6px;height:30px}.listening-indicator{font-size:11px}.captured-card{padding:11px 14px}.captured-card h3{font-size:22px;margin-block:9px 12px}.captured-card .avatar{width:25px;height:25px}.person{font-size:12px}.capture-status{height:31px}.prayer-response{margin-top:10px}.praying-avatars>.avatar{width:29px;height:29px}.praying-avatars{min-height:30px}.praying-copy{font-size:11px;margin-top:3px}.week-prayers{bottom:10px}.week-prayers>p{font-size:11px}.week-prayer-days b{height:27px;width:27px;font-size:16px}.week-prayer-days>span{font-size:10px}.recap-card{padding:12px}.recap-title strong{font-size:16px}.recap-bottom{margin-top:5px;padding-top:5px}.message{margin-top:10px;font-size:11px}.message p{padding:7px 10px}.message.outgoing{margin-top:6px}.stone-landscape{height:60px}.stone-copy{padding:11px 15px}.stone-copy h3{font-size:25px;margin-block:9px 5px}.stone-copy>p{font-size:11px}.stone-copy .avatar{width:25px;height:25px}.celebration-response{margin-top:10px;font-size:11px}.capture-summary{inset:46px 20px 12px}.capture-heading{font-size:23px;margin-bottom:6px}.capture-summary .result-row{padding-block:10px;font-size:14px}.capture-ready{margin-top:14px;font-size:11px}.story-chapter{padding-top:45px;padding-bottom:100px;scroll-margin-top:420px}.chapter-copy h2{font-size:29px}.chapter-body{font-size:14px}.chapter-close{font-size:12px;margin-top:13px}}
@media(prefers-reduced-motion:reduce){.hero-product,.art-panels{transform:none}.art-panels{opacity:calc(1 - var(--intro-progress))}}

@media(max-width:430px){.closing-section:before{inset:-30px -18px}}

/* Keep chapter controls with the product so they never cover the next heading. */
.journey-nav{visibility:hidden}.in-journey .journey-nav{visibility:visible}
@media(max-width:850px){
 .story-chapter{min-height:max(580px,75svh)}
 .in-journey .demo-controls{position:absolute;right:9px;top:6px;margin:0;padding:0}
 .in-journey .demo-more{visibility:hidden}
 .in-journey .loop-toggle{background:transparent;border-color:transparent;backdrop-filter:none}
}

.week-story{scroll-margin-top:88px}
