/* Home-only full-page journey. Other routes keep their ordinary scrolling. */
html:has(body.v2-home){scroll-snap-type:y mandatory;scroll-padding:0;scroll-behavior:smooth}body.v2-home{--lyrics-space:clamp(90px,13dvh,150px);--home-header-height:62px}.v2-home .page{width:100%;max-width:none;margin:0;--home-header-height:62px}.v2-home #home-main{outline:none}.v2-home .home-header{position:fixed;z-index:25;top:var(--lyrics-space);left:50%;transform:translateX(-50%);width:min(calc(100% - 64px),1180px);margin:0;padding:10px 0;gap:20px;flex-wrap:nowrap}.home-nav-toggle{border:0;padding:5px 0;background:transparent;text-align:left;white-space:nowrap;font-family:inherit;line-height:1.5}.nav-toggle-mark{display:inline-block;margin-left:10px;font-size:16px;color:var(--muted);transition:transform .32s}.home-header[data-nav-open=true] .nav-toggle-mark{transform:rotate(-180deg)}.home-header .nav{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-9px);transition:opacity .32s ease,transform .32s ease,visibility 0s .32s}.home-header[data-nav-open=true] .nav{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity .32s ease,transform .32s ease,visibility 0s}.home-screen{position:relative;height:100dvh;min-height:0;box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always;padding:calc(var(--lyrics-space) + var(--home-header-height) + 18px) 0 88px;scroll-margin:0;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.screen-scroll{overflow-y:auto;overflow-x:hidden;min-height:0;max-height:100%;width:100%;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#8fa2b545 transparent;overscroll-behavior-y:auto;outline:none;scroll-padding:12px}.screen-inner{width:min(calc(100% - 64px),960px);margin:0 auto}.screen-welcome .screen-inner{max-width:1180px}.v2-home .cinema-welcome{min-height:0;padding:25px 20px 35px;scroll-margin:0}.cinema-welcome h1{font-size:clamp(40px,5.8vw,78px)}.screen-next{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:.08em;color:var(--muted);white-space:nowrap}.screen-next span{margin-left:8px}.v2-home .screen-journal .intro{padding:24px 28px;margin:0 auto 14px;gap:24px;grid-template-columns:minmax(0,1fr) 170px}.screen-journal .portrait-button{width:170px;margin-top:4px}.screen-journal .photo-caption{font-size:10px;margin-top:7px}.v2-home .screen-journal .intro h2{font-size:25px;margin-bottom:12px}.screen-journal .intro p.bio{font-size:17px;line-height:1.8;margin-bottom:9px}.screen-journal .intro .eyebrow{margin-bottom:10px;font-size:9px}.screen-journal .intro .text-link{font-size:13px;margin-top:6px}.v2-home .screen-journal .now{margin:0 auto 14px;padding:10px 16px;font-size:12px}.v2-home .screen-journal .notes{padding:22px 28px;margin:0}.screen-journal .section-heading{margin-bottom:15px}.screen-journal .section-heading h2{font-size:22px}.screen-journal .tools{margin-bottom:14px;gap:14px}.screen-journal .month{margin-bottom:4px;font-size:11px}.screen-journal .post{padding:10px 0;gap:12px}.screen-journal .post-title{font-size:17px}.screen-journal .post-excerpt{font-size:14px;margin-top:3px;line-height:1.65}.screen-journal .post time{font-size:12px}.screen-journal .draft-note{font-size:11px;margin-top:12px}.screen-continue{display:block;text-align:center;font-size:12px;margin:18px 0 4px;color:var(--muted)}.screen-final .screen-inner{max-width:820px}.v2-home .screen-final .about{padding:36px 40px;margin:0}.screen-final .about h2{font-size:28px;margin-bottom:22px}.screen-final .about p{font-size:16px;line-height:2}.v2-home .screen-final .footer{width:100%;margin:18px 0 0;padding:15px 8px;background:none;border:0;border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 20px;font-size:11px;text-shadow:0 1px 5px #0009}.screen-final .footer .icp-record{flex-basis:100%;margin:0;font-size:11px;line-height:1.8}.home-pagination{position:fixed;z-index:15;right:16px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:12px}.home-pagination button{width:7px;height:7px;border:0;border-radius:8px;padding:0;background:var(--ink);opacity:.35;transition:height .25s,opacity .25s;position:relative}.home-pagination button:before{content:"";position:absolute;inset:-7px}.home-pagination button[aria-current=true]{height:25px;opacity:1;background:var(--blue)}.home-pagination button:focus-visible{outline-offset:6px}.sound-invite{display:flex;align-items:flex-start;gap:15px;width:340px;max-width:calc(100vw - 32px);padding:23px 25px 21px;right:24px;bottom:88px;border:1px solid var(--blue);border-radius:16px;background:var(--paper);box-shadow:0 15px 70px #0005;font-size:13px}.sound-invite[hidden]{display:none}.sound-invite-icon{flex:none;font-size:28px;color:var(--blue);line-height:1.3}.sound-invite-title{font-size:19px;font-weight:650;margin:0 0 7px}.sound-invite-copy{font-size:12px;color:var(--muted);margin:0 0 17px;line-height:1.8}.sound-invite-action{padding:10px 16px;min-height:42px;font-size:13px;font-weight:600;background:var(--blue);color:var(--paper);border:0;border-radius:8px}.sound-invite-note{font-size:10px;color:var(--muted);display:inline-block;margin-left:10px}.sound-invite-close{position:absolute;right:10px;top:7px;border:0;background:transparent;color:var(--muted);font-size:22px;padding:2px 7px}.sound-invite-action:hover{filter:brightness(1.07)}
@media(min-width:1600px) and (min-height:900px){.v2-home .screen-journal .intro{padding:30px 34px;grid-template-columns:minmax(0,1fr) 200px;margin-bottom:20px}.screen-journal .portrait-button{width:200px}.screen-journal .intro p.bio{font-size:16px;line-height:1.9}.v2-home .screen-journal .notes{padding:28px 34px}.screen-journal .post{padding:12px 0}.screen-journal .post-title{font-size:16px}.screen-journal .tools{margin-bottom:20px}.screen-journal .section-heading{margin-bottom:20px}}
@media(max-width:760px){.v2-home .home-header{width:calc(100% - 36px);flex-wrap:wrap;gap:10px;padding:6px 0}.home-header .nav{width:100%;justify-content:space-between;gap:10px}.home-header .wordmark{font-size:23px}.home-screen{padding-top:calc(var(--lyrics-space) + var(--home-header-height) + 16px);padding-bottom:88px}.screen-inner{width:calc(100% - 40px)}.v2-home .cinema-welcome{padding:18px 0}.cinema-welcome h1{font-size:clamp(31px,8vw,46px);letter-spacing:-1px}.cinema-welcome h1>span{font-size:15px}.cinema-eyebrow{font-size:9px;letter-spacing:.12em}.cinema-note{font-size:10px}.screen-next{bottom:78px;font-size:10px}.v2-home .screen-journal .intro{padding:20px 17px;gap:14px;grid-template-columns:minmax(0,1fr) min(30vw,130px)}.screen-journal .portrait-button{width:100%}.v2-home .screen-journal .intro h2{font-size:23px;grid-column:1;grid-row:2;margin:0}.screen-journal .intro-copy{display:contents}.screen-journal .intro .eyebrow{font-size:8px;margin:0;grid-column:1;grid-row:1;align-self:end}.screen-journal .intro p.bio{font-size:16px;line-height:1.9;margin:0;grid-column:1/-1}.screen-journal .intro .text-link{grid-column:1/-1;margin:0;font-size:12px}.screen-journal .portrait-group{grid-column:2;grid-row:1/3}.v2-home .screen-journal .now{padding:11px 14px;font-size:11px}.v2-home .screen-journal .notes{padding:20px 17px}.screen-journal .tools{flex-direction:column;align-items:stretch;gap:12px}.screen-journal .search{width:100%}.screen-journal .search input{font-size:16px}.screen-journal .filters{gap:3px}.screen-journal .filter{font-size:12px;padding:3px 9px}.screen-journal .post{grid-template-columns:43px minmax(0,1fr) 12px;gap:8px;padding:12px 0}.screen-journal .post-title{font-size:16px}.screen-journal .post-excerpt{font-size:13px}.screen-journal .section-heading h2{font-size:21px}.screen-journal .section-heading .note-count{font-size:11px}.screen-journal .draft-note{font-size:10px}.v2-home .screen-final .about{padding:26px 22px}.screen-final .about h2{font-size:24px;margin-bottom:18px}.screen-final .about p{font-size:16px;line-height:1.95}.v2-home .screen-final .footer{font-size:10px;padding:12px 0;gap:5px 12px;margin-top:15px}.screen-final .footer .icp-record{font-size:10px}.home-pagination{right:7px;gap:14px}.home-pagination button{width:5px;height:5px}.home-pagination button[aria-current=true]{height:19px}.sound-invite{right:16px;left:auto;bottom:80px;width:calc(100% - 32px);padding:21px 23px}.sound-invite-title{font-size:19px}.sound-invite-copy{font-size:12px}.sound-invite-action{min-height:44px}.sound-invite-note{font-size:11px}}
@media(max-height:600px){body.v2-home{--lyrics-space:clamp(64px,11dvh,90px)}.home-screen{padding-bottom:72px;padding-top:calc(var(--lyrics-space) + var(--home-header-height) + 8px)}.v2-home .cinema-welcome{padding:8px 0}.cinema-eyebrow{margin-bottom:12px}.cinema-welcome h1{font-size:clamp(27px,5vw,44px);margin-bottom:17px}.cinema-welcome h1>span{font-size:14px;margin-top:10px}.cinema-note{display:none}.screen-next{display:none}.cinema-sound{padding:8px 14px;min-height:40px}}
@media(prefers-reduced-motion:reduce){html:has(body.v2-home){scroll-behavior:auto}.screen-scroll{scroll-behavior:auto}.home-header .nav,.nav-toggle-mark,.home-pagination button{transition:none!important}.home-header .nav{transform:none!important}}

/* Raise the desktop opening without changing the journal and final screens. */
@media (min-width:761px) and (min-height:601px) {
  .v2-home .page[data-active-screen="0"] .home-header {
    top:clamp(52px,7dvh,100px);
  }
  .v2-home .screen-welcome {
    --lyrics-space:clamp(52px,7dvh,100px);
    padding-bottom:clamp(100px,22dvh,280px);
  }
}

/* The smaller greeting leads into the main opening line. */
.cinema-greeting{margin:0 0 14px;font-size:clamp(22px,2.1vw,30px);font-weight:450;line-height:1.6;letter-spacing:.02em}
.cinema-greeting span{margin-left:.14em;font-weight:600;letter-spacing:-.025em}
@media(min-width:761px){
  .screen-welcome .screen-inner{width:min(calc(100% - 64px),1180px)}
  .v2-home .screen-welcome .cinema-welcome{padding-inline:0}
}
@media(max-width:760px){.cinema-greeting{font-size:21px;margin-bottom:13px}.v2-home .cinema-welcome h1{font-size:clamp(29px,7.6vw,43px)}}
@media(max-height:600px){.cinema-greeting{font-size:19px;margin-bottom:10px}}

@media(max-width:760px){.screen-welcome .screen-inner{width:calc(100% - 36px)}}

/* Scripted easing keeps each full-screen journey continuous before snap settles. */
html.home-screen-transitioning{scroll-snap-type:none!important;scroll-behavior:auto!important}
.v2-home .home-header{transition:top .6s cubic-bezier(.22,.65,.3,1)}
@media(prefers-reduced-motion:reduce){.v2-home .home-header{transition:none}}

/* FHD and scaled desktop windows need a smaller opening than a full 2K viewport. */
@media(min-width:761px) and (max-width:1920px) and (min-height:601px){
  .v2-home .screen-welcome .cinema-greeting{
    font-size:clamp(20px,min(1.8vw,3dvh),27px);
    line-height:1.6;
    margin-bottom:18px;
  }
  .v2-home .screen-welcome .cinema-welcome h1{
    font-size:clamp(38px,min(4.8vw,7.2dvh),68px);
    line-height:1.4;
    letter-spacing:-.025em;
    margin-bottom:28px;
  }
  .v2-home .screen-welcome .cinema-welcome h1>span{
    font-size:clamp(16px,min(1.65vw,2.8dvh),22px);
    line-height:1.7;
    letter-spacing:.045em;
    margin-top:18px;
  }
  .v2-home .screen-welcome .cinema-actions{gap:22px}
  .v2-home .screen-welcome .cinema-sound{font-size:13px;padding:11px 18px;min-height:44px}
  .v2-home .screen-welcome .cinema-note{margin-top:24px;letter-spacing:.06em}
}
.home-collection-panel{padding:28px 32px;background:rgba(15,22,32,.76);border:1px solid rgba(255,255,255,.13);border-radius:14px;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
:root[data-theme=light] .home-collection-panel{background:rgba(250,252,254,.82);border-color:rgba(40,55,72,.16)}
.screen-collections .section-heading{align-items:flex-end;margin-bottom:15px}.screen-collections .eyebrow{font-size:9px;margin:0 0 10px;letter-spacing:.16em}.screen-collections .section-heading h2{font-size:28px;margin:0}.home-collection-all{flex:none;font-size:13px;white-space:nowrap;color:var(--blue)}.home-collection-all span{margin-left:5px}.home-collection-intro{font-size:16px;line-height:1.85;color:var(--muted);margin:0 0 16px}.home-collection-count{color:var(--muted);font-size:11px;margin:0 0 12px}.home-collection-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.home-collection-list>li{min-width:0}.home-collection-card{display:flex;flex-direction:column;height:100%;padding:19px 22px;border:1px solid var(--line);border-radius:11px;background:#ffffff04;color:var(--ink);text-decoration:none;transition:background .2s,border-color .2s,transform .2s}.home-collection-card:hover{border-color:var(--blue);background:var(--blue-soft);transform:translateY(-3px)}.home-collection-card:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.home-collection-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px;margin-bottom:12px}.home-collection-kind{color:var(--blue)}.home-collection-meta time{font-variant-numeric:tabular-nums}.home-collection-card h3{font-size:18px;line-height:1.5;margin:0 0 10px;font-weight:600;overflow-wrap:anywhere}.home-collection-description{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 14px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.home-collection-open{font-size:12px;color:var(--blue);margin-top:auto}
@media(max-width:760px){.home-collection-panel{padding:22px 18px}.screen-collections .section-heading h2{font-size:24px}.home-collection-intro{font-size:15px}.home-collection-list{grid-template-columns:1fr;gap:12px}.home-collection-card{padding:18px}.home-collection-card h3{font-size:18px}.home-collection-description{font-size:14px}.home-collection-all{font-size:12px}}
@media(max-height:700px) and (min-width:761px){.home-collection-panel{padding:22px 26px}.home-collection-card{padding:16px 18px}.home-collection-card h3{font-size:17px}.home-collection-intro{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){.home-collection-card{transition:none}.home-collection-card:hover{transform:none}}
/* Resource previews remain still until the visitor opens their reader. */
.home-collection-card{padding:0;overflow:hidden}.home-collection-info{display:flex;flex:1;flex-direction:column;padding:18px 20px}.home-collection-preview{position:relative;display:flex;align-items:center;justify-content:center;gap:24px;aspect-ratio:2.25;overflow:hidden;flex:none;border-bottom:1px solid var(--line);isolation:isolate}.home-preview-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.home-collection-card:hover .home-preview-image{transform:scale(1.035)}.home-preview-badge{position:absolute;right:12px;bottom:11px;padding:4px 9px;border:1px solid #ffffff30;border-radius:20px;background:#0c1526c9;color:#f3f7fb;font-size:10px;line-height:1.5;backdrop-filter:blur(8px);font-variant-numeric:tabular-nums}.preview-web{background:#f7f9ff}.preview-web .home-preview-image{object-fit:contain}.preview-book{background:radial-gradient(ellipse at 25% 15%,#f5f6e9,#d5dfd1);color:#293d32;padding:16px 20px}.home-book-cover{display:block;width:clamp(75px,8vw,106px);height:auto;max-height:88%;object-fit:contain;transform:rotate(-5deg);box-shadow:7px 10px 18px #1c302d32;border-radius:2px;flex:none}.home-preview-copy{min-width:0;display:flex;flex-direction:column;gap:7px;padding-bottom:15px}.home-preview-kicker{font-size:8px;letter-spacing:.13em;opacity:.6}.home-preview-copy>strong{font-size:clamp(15px,1.4vw,19px);line-height:1.5;font-weight:600}.home-preview-line{font-size:11px;line-height:1.6;opacity:.75}.preview-music{background:radial-gradient(ellipse at 15% 10%,#4b6652,#1b3027 75%);color:#eff4e9;padding:18px 20px}.home-mini-record{position:relative;width:clamp(104px,12vw,142px);aspect-ratio:1;border-radius:50%;flex:none;background:repeating-radial-gradient(circle,#090d0a 0 2px,#222a23 2.5px 3px,#0b100c 3.5px 5px);box-shadow:0 10px 20px #0007;border:5px solid #0b140f}.home-mini-record:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 30deg,transparent,#ffffff20 25deg,transparent 55deg,transparent 190deg,#ffffff16 215deg,transparent 245deg)}.home-mini-label{position:absolute;inset:28%;display:grid;place-items:center;border-radius:50%;background:linear-gradient(125deg,#b2bf8e,#668267);color:#1e3a2b;font:italic 600 26px/1 Georgia,serif;border:2px solid #263c2b}.home-mini-label:after{content:"";position:absolute;width:5px;height:5px;top:calc(50% - 2.5px);left:calc(50% - 2.5px);border-radius:50%;background:#10261c;box-shadow:0 0 0 1px #dfebce88}.home-collection-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}.home-collection-tags>span{font-size:10px;line-height:1.6;color:var(--muted);background:var(--soft);padding:3px 7px;border-radius:4px}.home-collection-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.home-collection-credit{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.home-collection-footer .home-collection-open{white-space:nowrap;flex:none;margin:0}
@media(max-width:760px){.home-collection-info{padding:18px}.home-collection-card{padding:0}.home-collection-preview{gap:18px;min-height:140px}.home-preview-copy{gap:5px}.home-preview-copy>strong{font-size:16px}.home-preview-line{font-size:11px}.home-mini-record{width:112px}.home-book-cover{width:78px}.home-preview-badge{font-size:9px;right:9px;bottom:8px}.home-collection-credit{font-size:10px}}
@media(prefers-reduced-motion:reduce){.home-preview-image{transition:none}.home-collection-card:hover .home-preview-image{transform:none}}
.home-preview-image{position:absolute;inset:0}
@media(max-width:760px){.home-collection-preview{min-height:156px}}

/* A fuller closing chapter, with room to read on shorter screens. */
.v2-home .screen-final .screen-inner{max-width:960px}
.v2-home .screen-final .about-eyebrow{font-size:10px;line-height:1.6;letter-spacing:.16em;margin:0 0 12px}
.v2-home .screen-final .about h2{margin:0 0 12px}
.v2-home .screen-final .about-lead{font-size:clamp(20px,1.7vw,24px);line-height:1.65;color:var(--ink);font-weight:500;margin:0 0 15px;letter-spacing:.015em}
.v2-home .screen-final .about-story{font-size:16px;line-height:1.9;margin:0 0 25px;max-width:820px}
.about-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.about-path{min-width:0;display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:17px}
.about-path-label{color:var(--blue);font-size:11px;letter-spacing:.08em}
.about-path h3{font-size:17px;line-height:1.7;font-weight:600;margin:9px 0 8px;letter-spacing:-.02em}
.v2-home .screen-final .about-path p{font-size:14px;line-height:1.9;margin:0 0 14px}
.about-path>a{font-size:13px;margin-top:auto;align-self:flex-start;min-height:32px;display:inline-flex;align-items:center;gap:7px}
.about-connect{border-top:1px solid var(--line);margin-top:23px;padding-top:20px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px}
.v2-home .screen-final .about-invitation{font-size:15px;line-height:1.8;color:var(--ink);margin:0 0 3px}
.about-message{display:inline-flex;align-items:center;gap:8px;font-size:13px;min-height:32px}
.v2-home .screen-final .contact{margin:0;min-width:0;font-size:15px;line-height:1.8}
.screen-final .contact>span{display:block;font-size:11px;color:var(--muted);margin-bottom:3px}
.screen-final .contact>a{overflow-wrap:anywhere}
.screen-final .contact-value{font-weight:500;color:var(--ink);overflow-wrap:anywhere;user-select:all}
@media(max-width:760px){
  .v2-home .screen-final .about-eyebrow{font-size:9px;letter-spacing:.12em}
  .v2-home .screen-final .about-lead{font-size:21px}
  .v2-home .screen-final .about-story{line-height:1.95;margin-bottom:23px}
  .about-paths{grid-template-columns:1fr;gap:20px}
  .about-path{padding-top:16px}
  .about-path h3{font-size:18px;margin-top:7px}
  .v2-home .screen-final .about-path p{font-size:15px;margin-bottom:7px}
  .about-path>a,.about-message{min-height:40px;font-size:14px}
  .about-connect{flex-direction:column;align-items:flex-start;gap:15px;margin-top:22px}
  .v2-home .screen-final .contact{font-size:15px}
}
