/* September UI: consistent type, alignment and quieter surfaces. */
:root{--shadow-soft:0 8px 28px #123d5910;--border-soft:#0c69af24}
nav{box-shadow:0 2px 12px #123d590d;border:1px solid #0c69af12;gap:28px}.hero-title{left:189px;top:333px}.hero-phone{width:208px;height:428px;left:880px;top:180px;filter:drop-shadow(0 4px 5px #0002)}.hero-garden{position:absolute;left:-174px;top:569px;width:1556px;height:519px;pointer-events:none}.bookshelf-button{z-index:3}
.town{height:auto;padding-top:1px;padding-bottom:0}.town h2{padding-top:183px}.town-facts{height:1100px;margin-top:136px}.book-count{width:428px;height:428px;left:664px}.book-count>img{width:428px;height:428px}.book-count strong{font-size:140px;letter-spacing:-4px}.book-count>span{font-size:48px;letter-spacing:0}.town-map{position:absolute;left:175px;top:524px;width:496px;height:496px;object-fit:contain}.place-count{top:612px}.town-closing{font-size:48px;line-height:1.54;text-align:center;letter-spacing:.04em;padding:90px 24px 0}.town-garden{position:relative;height:330px;margin-top:30px;overflow:hidden}.town-garden img{position:absolute;width:1556px;height:519px;max-width:none;left:calc(50% - 778px);top:-64px}.about{height:auto;padding:150px 0 160px}.about-content{margin-top:120px}.about-copy{line-height:2.25;font-weight:500}.about-copy p+p{margin-top:32px}.cta{box-shadow:none;margin-top:104px}.features{height:2224px;padding-top:253px}.feature-grid{margin-top:71px}.feature h3{line-height:1.6}.voices{height:auto;padding:140px 0 160px}.voice-track{padding-top:60px;padding-bottom:20px}.voice-card{box-shadow:var(--shadow-soft);border:1px solid var(--border-soft);height:auto;min-height:390px}.voice-person{font-size:13px}.voice-copy p{font-size:16px;line-height:1.8}.how>h2{box-shadow:var(--shadow-soft)}.step,.step-1,.step-2,.step-3{margin-left:260px;grid-template-columns:280px 458px;gap:104px;min-height:662px}.step-visual,.step-1 .step-visual,.step-2 .step-visual,.step-3 .step-visual{padding:44px 0 0 54px}.step-visual .phone,.step-1 .step-visual .phone,.step-3 .step-visual .phone{width:214px;height:443px}.step-badge,.step-1 .step-badge{width:115px;height:108px;color:var(--blue)}.step-1 .step-badge>img{width:115px;height:108px}.step-copy,.step-2 .step-copy,.step-3 .step-copy{padding-top:96px;color:white}.step-copy h3{color:white;line-height:1.55;font-size:32px;margin-bottom:24px;white-space:normal}.step-copy p{line-height:2;font-weight:500}.step-arrow,.step-1 .step-arrow,.step-2 .step-arrow,.step-3 .step-arrow{left:312px;top:530px}.places{height:auto;padding-bottom:170px}.place-list{gap:40px}.place{border:1px solid var(--border-soft);box-shadow:var(--shadow-soft);padding:72px 78px;border-radius:32px}.place:nth-child(3),.place:nth-child(4){margin-top:0}.place h3{line-height:1.9}.location{color:#687680}.more{color:#536d7f;border-color:#8ea3b1;line-height:1.6;padding:12px 16px;margin-top:38px}.place-placeholder{background:transparent;overflow:hidden;border-radius:30px}.place-placeholder img{width:100%;height:100%;object-fit:contain}.places .cta{margin-top:100px}.follow{height:1475px}.contact-button{box-shadow:0 4px 14px #0c69af18}.motion-enabled :is(.bookshelf-button,.try-button,.cta>:is(button,.access-link),.contact-button,.more,.social-copy button,.send-button):hover{scale:1.025}
/* A book stays still in the viewport; only its leaf follows the scroll. */
.book-scene{position:relative;width:100%;margin-top:0}.book-pin{position:relative}.book-stage{position:relative;aspect-ratio:1280/704;width:100%}.book-canvas{position:absolute;top:0;left:0;width:1280px;height:704px;transform-origin:top left;perspective:2400px}.book-canvas>.book-cover,.book-canvas>.book-spine,.book-canvas>.book-pages-left,.book-canvas>.book-pages-right{position:absolute}.book-spread{position:absolute;inset:0}.spread-half{position:absolute;top:0;width:640px;height:660px;overflow:hidden}.spread-left{left:0}.spread-right{right:0}.paper{position:absolute;top:0;left:0}.spread-right>.paper{left:auto;right:0;transform:scaleX(-1)}.book-caption{position:absolute;left:175px;top:257px;width:395px}.book-caption p{display:flex;align-items:center;gap:5px;color:#747474;font-size:16px;line-height:1.6;letter-spacing:.02em}.book-caption h3{font-size:32px;line-height:1.54;margin-top:8px;letter-spacing:.02em}.book-photo{position:absolute;left:151px;top:144px;width:408px;height:293px;object-fit:cover;border-radius:20px;transform:rotate(-1.33deg)}.book-leaf{display:none;position:absolute;left:50%;top:0;width:640px;height:660px;transform-origin:left center;transform-style:preserve-3d;z-index:5}.leaf-front,.leaf-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}.leaf-back{transform:rotateY(180deg)}.book-leaf .spread-half{left:0;right:auto}.leaf-front:after,.leaf-back:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#19281938,transparent 35%);opacity:var(--turn-shadow,0)}.book-controls{display:flex;align-items:center;justify-content:center;gap:20px;padding:18px 24px;color:var(--blue);min-height:76px}.book-controls button{width:44px;height:44px;border-radius:50%;border:1px solid #0c69af40;background:#fdfffb;font-size:22px}.book-controls button:disabled{opacity:.3;cursor:default}.book-controls p{font-size:16px;font-variant-numeric:tabular-nums}.book-total{opacity:.5}.book-hint{font-size:14px;font-weight:500;margin-left:14px}.book-interactive .book-pin{position:sticky;top:var(--book-top,80px)}.book-interactive .book-leaf{display:block}.book-interactive .book-spread{pointer-events:none}.book-interactive .book-spread .spread-half{visibility:hidden}.book-interactive .book-spread.show-left .spread-left,.book-interactive .book-spread.show-right .spread-right{visibility:visible}
/* The full set remains readable without motion or JavaScript. */
.book-scene:not(.book-interactive) .book-stage{aspect-ratio:auto;height:auto!important}.book-scene:not(.book-interactive) .book-canvas{position:relative;width:100%;height:auto;transform:none!important}.book-scene:not(.book-interactive) .book-canvas>img,.book-scene:not(.book-interactive) .paper,.book-scene:not(.book-interactive) .book-controls{display:none}.book-scene:not(.book-interactive) .book-spread{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px auto;padding:40px;width:90%;background:var(--paper);border-radius:16px}.book-scene:not(.book-interactive) .spread-half{position:relative;inset:auto;width:auto;height:auto;overflow:visible}.book-scene:not(.book-interactive) .book-caption{position:relative;inset:auto;width:auto}.book-scene:not(.book-interactive) .book-photo{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1.4;transform:none}.book-scene:not(.book-interactive) .book-caption p{font-size:14px}.book-scene:not(.book-interactive) .book-caption h3{font-size:24px}
@media(max-width:1023px){
.hero-title{left:24px;top:138px}.hero-phone{width:142px;height:292px;left:auto;right:35px;top:252px}.hero-garden{width:880px;height:auto;left:calc(50% - 440px);top:458px}.town h2{padding-top:92px}.town-facts{height:auto;margin:48px 24px 56px;gap:24px}.book-count{left:auto;width:264px;height:264px}.book-count>img{width:264px;height:264px}.book-count strong{font-size:84px;letter-spacing:-3px}.book-count>span{font-size:30px}.town-map{position:static;width:240px;height:240px;margin:20px auto -25px}.place-count{margin-top:0}.town-closing{font-size:27px;padding:56px 24px 0;line-height:1.65}.town-garden{height:165px;margin-top:24px}.town-garden img{width:780px;height:260px;left:calc(50% - 390px);top:-28px}.about{padding:80px 0 100px}.about-content{margin-top:56px}.about-copy{font-size:16px;line-height:2.1}.cta{margin-top:60px}.features{height:auto;padding:100px 0 110px}.feature-grid{margin-top:48px}.voices{padding:90px 0 100px}.voice-track{padding-top:40px}.how{background:var(--blue)}.how>h2{font-size:26px;min-height:96px}.step,.step-1,.step-2,.step-3{margin-left:0;min-height:0;gap:28px}.step-visual,.step-1 .step-visual,.step-2 .step-visual,.step-3 .step-visual{padding:36px 0 0 48px}.step-visual .phone,.step-1 .step-visual .phone,.step-3 .step-visual .phone{width:184px;height:380px}.step-copy,.step-2 .step-copy,.step-3 .step-copy{padding:0}.step-copy h3{font-size:24px;margin-bottom:16px}.step-arrow,.step-1 .step-arrow,.step-2 .step-arrow,.step-3 .step-arrow{top:auto;left:calc(50% - 40px);bottom:38px}.places{padding-bottom:100px}.place,.place.reverse{padding:28px;border-radius:24px}.place-placeholder{height:auto;aspect-ratio:1.25}.place h3{font-size:18px}.place-list{gap:28px}.places .cta{margin-top:60px}.follow{height:auto}.book-hint{display:block;font-size:12px;margin:0;width:100%;text-align:center}.book-controls{gap:16px;padding:12px 16px;flex-wrap:wrap;max-width:360px;margin:auto}.book-controls button{width:40px;height:40px}.book-scene:not(.book-interactive) .book-spread{grid-template-columns:1fr;padding:24px;gap:20px}.book-scene:not(.book-interactive) .book-caption h3{font-size:22px}
}
.hero{z-index:1}.hero-garden{z-index:2}.book-readable{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.arrow-chevron{filter:brightness(0) invert(1)}
@media(max-width:1023px){.book-readable{position:static;width:auto;height:auto;clip-path:none;text-align:center;font-size:17px;line-height:1.6;color:var(--ink);margin:18px 20px 0}.book-scene:not(.book-interactive) .book-readable{display:none}.hero{z-index:auto}}
/* A viewport-level link stays outside scaled/animated section ancestors. */
body>.bookshelf-button{position:fixed;top:auto;bottom:84px;right:24px;z-index:25;transform:none;filter:drop-shadow(0 5px 9px #183d4738);box-shadow:none}
body>.bookshelf-button:hover{filter:drop-shadow(0 7px 12px #183d4744);box-shadow:none;translate:none;scale:1}
.access-link{cursor:pointer}.cta>.access-link,.detail-cta>.access-link{width:fit-content}
.about-content{align-items:start}.about-content>h3{position:sticky;top:100px;align-self:start}
.town-map{isolation:isolate}.map-land,.map-pin{position:absolute;inset:0;width:100%;height:100%}.map-land{background:radial-gradient(ellipse at 45% 65%,#50b600,#42aa00 75%);mask:url('assets/a3359.png') center / contain no-repeat;-webkit-mask:url('assets/a3359.png') center / contain no-repeat}.map-pin{object-fit:contain;filter:drop-shadow(0 4px 4px #285a002a)}
button,.access-link,.contact-button{box-shadow:0 4px 10px #16354c24}
@media(max-width:1023px){body>.bookshelf-button{right:16px;bottom:74px;font-size:15px;height:64px;transform:none}body>.bookshelf-button>img{width:64px;height:64px}body>.bookshelf-button>span{padding:15px 20px 15px 48px;margin-left:16px}.town-map{position:relative}.about-content{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:18px;margin-inline:20px}.about-content>h3{font-size:22px;line-height:1.7;letter-spacing:.02em;top:28px;overflow-wrap:anywhere}.about-copy{margin-top:0;padding-top:0;font-size:16px;line-height:2}.about-copy br{display:none}}
@media(max-width:1023px){.about-content{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.about-content>h3{font-size:clamp(15px,4.6vw,18px);letter-spacing:0;line-height:1.9}}
/* Full-body figures sit beside, rather than inside, the phone crop. */
.step-person{position:absolute;left:-130px;bottom:-4px;width:192px;height:287px;object-fit:contain;object-position:center bottom;z-index:2;pointer-events:none}
.step-3 .step-person{width:193px;height:289px}.step-4 .step-person{left:-162px;width:247px;height:295px}
@media(max-width:1023px){.step-person,.step-3 .step-person{left:-58px;width:130px;height:195px}.step-4 .step-person{left:-77px;width:167px;height:200px}}
/* Clip each complete original chevron between its actual gaps. */
.arrow-chevron:nth-child(1){clip-path:inset(0 0 60.576923% 0);opacity:.4}
.arrow-chevron:nth-child(2){clip-path:inset(39.423077% 0 29.807692% 0);opacity:.7}
.arrow-chevron:nth-child(3){clip-path:inset(70.192308% 0 0 0);opacity:1}
.step-1 .step-person{transform:scaleX(-1)}
/* No entrance, drift, pulse or transition on the step arrows. */
.step-arrow,.arrow-chevron{animation:none!important;transition:none!important;transform:none!important;translate:none!important;scale:none!important;rotate:none!important}
.phone video.follow-video{object-fit:contain;background:#000}

/* The reel is ambient media; no playback controls or tap overlay. */
.follow-video{pointer-events:none}
.follow-video::-webkit-media-controls{display:none!important}
.follow-video::-webkit-media-controls-enclosure{display:none!important}
