/* Cinematic family photographs and a browsable publisher's library. */
.cinema-hero { position:relative; isolation:isolate; min-height:650px; display:flex; align-items:center; overflow:hidden; background:#18291f; color:#f7f3e8; }
.cinema-image,.cinema-shade { position:absolute; inset:0; width:100%; height:100%; }
.cinema-image { object-fit:cover; object-position:center 52%; z-index:-2; }
.cinema-shade { background:linear-gradient(90deg,rgba(12,25,18,.82),rgba(12,25,18,.45) 38%,transparent 68%),linear-gradient(0deg,rgba(12,25,18,.25),transparent 45%); z-index:-1; }
.cinema-content { padding-block:75px 84px; }
.cinema-content .eyebrow { color:#e2dcc6; font-size:11px; margin-bottom:30px; letter-spacing:.16em; }
.cinema-content h1 { max-width:570px; font-size:clamp(60px,6.1vw,89px); line-height:1.01; letter-spacing:-.035em; margin:0 0 30px; color:inherit; }
.cinema-content h1 em { color:#e7d2aa; }
.cinema-content>p:not(.eyebrow) { max-width:420px; font-size:19px; line-height:1.65; color:#f1eee4; }
.cinema-actions { display:flex; align-items:center; flex-wrap:wrap; gap:25px; margin:34px 0 18px; }
.cinema-hero .button { background:#f7f3e8; color:#21362c; border:1px solid #f7f3e8; }
.cinema-hero .button:hover { background:#e7d2aa; border-color:#e7d2aa; }
.cinema-library-link { display:inline-flex; align-items:center; gap:18px; font-size:14px; text-decoration:none; border-bottom:1px solid #dedbc099; padding-bottom:7px; }
.cinema-content .cinema-note { font-size:12px!important; color:#d4d5c9!important; }
.cinema-caption { position:absolute; bottom:26px; right:max(40px,calc((100vw - 1280px)/2)); font:italic 20px var(--serif); color:#e6dfc9; }
.cinema-hero--library { min-height:490px; }
.cinema-hero--library .cinema-content h1 { font-size:clamp(56px,6vw,80px); }
.cinema-hero--library .cinema-content>.button { margin-top:28px; }
.library-section { background:#24392e; color:#f7f3e8; padding:76px 0 46px; scroll-margin-top:20px; }
.library-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:35px; }
.library-heading .eyebrow { color:#c3cbbd; font-size:10px; margin-bottom:17px; }
.library-heading h2 { font-size:clamp(39px,4vw,58px); line-height:1.05; color:inherit; }
.library-heading h2 em { color:#dbcaab; }
.library-heading>p { max-width:320px; font-size:16px; line-height:1.7; color:#d1d8cb; }
.library-browse { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:28px; }
.library-filters { display:flex; gap:8px; overflow:auto; scrollbar-width:none; min-width:0; padding:5px; margin-left:-5px; }
.library-filters button { flex-shrink:0; white-space:nowrap; padding:12px 17px; border:1px solid #cdd3c13b; background:transparent; border-radius:2px; color:#e2e7da; font:400 14px var(--sans); cursor:pointer; }
.library-filters button[aria-pressed=true] { background:#f0ebdf; color:#24392e; border-color:#f0ebdf; }
.library-filters button:hover { border-color:#d3ceb5; }
.library-filters button span { opacity:.6; margin-left:7px; font-size:11px; }
.library-filters button { font-size:16px; }
.library-arrows { display:flex; gap:8px; flex-shrink:0; }
.library-arrows button { height:44px; width:44px; border:1px solid #cdd3c155; background:transparent; color:#f7f3e8; font:23px var(--serif); cursor:pointer; }
.library-arrows button:disabled { opacity:.3; cursor:default; }
.library-arrows[hidden] { display:none; }
.library-rail { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 64px)/3); gap:32px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-padding:4px; padding:12px 4px 27px; margin-inline:-4px; scrollbar-width:thin; scrollbar-color:#a0ac9777 transparent; }
.library-book { min-width:0; scroll-snap-align:start; }
.library-book[hidden] { display:none; }
.library-cover { display:block; position:relative; perspective:1200px; text-decoration:none; margin:0 10px 28px 2px; }
.library-cover .cover-face { transform:rotateY(-5deg); transform-origin:left center; border-color:#b7baa861; box-shadow:4px 4px 0 #d4ccb9,7px 7px 0 #b2aa94,11px 15px 22px #101e1988; }
.library-cover:hover .cover-face,.library-cover:focus-visible .cover-face { transform:translateY(-6px) rotateY(0); }
.library-cover-action { position:absolute; bottom:16px; right:12px; padding:10px 14px; background:#f7f3e8; color:#24392e; font:500 13px var(--sans); box-shadow:0 3px 14px #0003; opacity:0; transform:translateY(5px); transition:opacity .2s,transform .2s; }
.library-cover:hover .library-cover-action,.library-cover:focus-visible .library-cover-action { opacity:1; transform:none; }
.library-book-info h3 { font-size:34px; color:#f7f3e8; margin:8px 0 13px; line-height:1.1; }
.library-book-info h3 a { text-decoration:none; }
.library-book-info h3 a:hover { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.library-book-meta { color:#bcc9b7; font-size:12px; line-height:1.6; }
.library-book-meta span { white-space:nowrap; }
.library-book-info>p:not(.library-book-meta) { font-size:16px; color:#d5dccc; line-height:1.7; min-height:82px; }
.library-book-bottom { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:20px; margin-top:22px; border-top:1px solid #cdd3c12e; }
.library-book-bottom>span { font-size:11px; color:#b8c5b3; }
.library-read { border:0; background:none; color:#f7f3e8; padding:12px 0; font:500 16px var(--sans); cursor:pointer; }
.library-read span { margin-left:12px; }
.library-foot { display:flex; justify-content:space-between; align-items:center; gap:32px; padding-top:24px; border-top:1px solid #cdd3c12e; margin-top:15px; }
.library-foot p { max-width:600px; font-size:12px; line-height:1.7; color:#bfcbb8; }
.library-foot>a { font:500 14px var(--sans); white-space:nowrap; text-decoration:none; padding-block:10px; }
.library-foot>a span { margin-left:14px; }
.page-previews { padding-block:75px 82px; }
.page-previews .section-top h2 { font-size:44px; }
.page-previews .section-top>p { font-size:15px; color:var(--muted); }
.scene-rail { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin-top:34px; }
.scene-card { min-width:0; display:block; color:var(--ink); text-decoration:none; }
.scene-image { display:block; position:relative; overflow:hidden; aspect-ratio:1.6; background:#e5dfd0; }
.scene-image img { position:absolute; width:100%; height:auto; left:0; bottom:-18%; transition:transform .4s; }
.scene-card-1 .scene-image img { bottom:-34%; }
.scene-card-2 .scene-image img { bottom:auto; top:0; }
.scene-card:hover .scene-image img { transform:scale(1.035); }
.scene-caption { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:17px; }
.scene-caption small { display:block; font:400 11px var(--sans); margin-bottom:7px; color:var(--muted); }
.scene-caption strong { font:400 25px/1.15 var(--serif); }
.scene-caption>span:last-child { font-size:24px; color:var(--forest); }
@media(min-width:1500px) { .cinema-hero { min-height:710px; } .cinema-hero--library { min-height:550px; } }
@media(max-width:1000px) {
 .cinema-hero { min-height:610px; }
 .cinema-content h1 { max-width:440px; font-size:68px; }
 .cinema-content>p:not(.eyebrow) { font-size:17px; }
 .cinema-image { object-position:58% center; }
 .library-rail { grid-auto-columns:calc((100% - 48px)/3); gap:24px; }
 .library-heading>p { max-width:280px; }
 .library-book-info h3 { font-size:29px; }
 .library-book-info>p:not(.library-book-meta) { font-size:16px; min-height:109px; }
 .library-book-bottom { flex-wrap:wrap; gap:8px; }
}
@media(max-width:760px) {
 .promise-strip span { max-width:none; display:flex; gap:10px; align-items:baseline; }
 .promise-strip span:before { display:inline; margin:0; }
 .cinema-hero { min-height:720px; align-items:flex-end; }
 .cinema-image { height:62%; object-position:72% center; }
 .cinema-shade { background:linear-gradient(0deg,#18291f 0%,#18291f 32%,rgba(24,41,31,.96) 40%,rgba(24,41,31,.28) 65%,rgba(24,41,31,.05)); }
 .cinema-content { padding-block:290px 34px; }
 .cinema-content .eyebrow { font-size:9px; letter-spacing:.12em; margin-bottom:19px; }
 .cinema-content h1 { font-size:clamp(48px,11.5vw,72px); max-width:470px; line-height:1.01; margin-bottom:22px; }
 .cinema-content>p:not(.eyebrow) { font-size:16px; line-height:1.6; }
 .cinema-actions { gap:22px; margin-top:25px; }
 .cinema-actions .button { padding:18px 20px; font-size:14px; }
 .cinema-library-link { font-size:13px; gap:12px; }
 .cinema-caption { display:none; }
 .cinema-content .cinema-note { font-size:11px!important; }
 .cinema-hero--library { min-height:610px; }
 .cinema-hero--library .cinema-content { padding-top:280px; }
 .cinema-hero--library .cinema-content h1 { font-size:57px; }
 .library-section { padding-block:48px 30px; }
 .library-heading { display:block; margin-bottom:25px; }
 .library-heading h2 { font-size:42px; }
 .library-heading>p { margin-top:22px; max-width:390px; font-size:15px; }
 .library-browse { gap:12px; }
 .library-filters button { font-size:15px; padding:12px 14px; }
 .library-arrows { display:none; }
 .library-rail { grid-auto-columns:min(77vw,350px); gap:24px; margin-right:calc(-1 * var(--library-gutter,20px)); padding-right:20px; }
 .library-book-info h3 { font-size:34px; }
 .library-book-info>p:not(.library-book-meta) { min-height:82px; font-size:16px; }
 .library-book-bottom { flex-wrap:nowrap; }
 .library-foot { display:block; margin-top:7px; padding-top:20px; }
 .library-foot>a { display:inline-block; margin-top:12px; }
 .page-previews { padding-block:47px 54px; }
 .page-previews .section-top { gap:17px; }
 .page-previews .section-top h2 { font-size:38px; }
 .scene-rail { display:grid; grid-auto-flow:column; grid-template-columns:none; grid-auto-columns:min(78vw,350px); overflow:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; gap:20px; padding-bottom:15px; margin-top:25px; scrollbar-width:thin; }
 .scene-card { scroll-snap-align:start; }
 .scene-caption strong { font-size:25px; }
}
@media(prefers-reduced-motion:reduce) { .library-cover .cover-face,.library-cover:hover .cover-face { transform:none; } .scene-card:hover .scene-image img { transform:none; } }
