
body.calma-book{
  --pink:#E7067F; --cream:#F5F0E8; --burgundy:#610E36; --gold:#C4A265; --night:#08142A;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){ body.calma-book:not([data-theme="light"]){ --night:#08142A; } }
body.calma-book[data-theme="dark"]{ --night:#08142A; }
.book-page *,.book-page *::before,.book-page *::after{box-sizing:inherit;margin:0;padding:0}
.book-page [hidden]{display:none!important}
html{scroll-padding-top:env(safe-area-inset-top,0px);background:var(--night)}
body.calma-book{background:var(--night);color:var(--cream);font-family:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
.book-page img{display:block}

/* HERO: the Book over the city, captions only */
.book-page .hero{position:relative;height:230vh}
.book-page .stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;isolation:isolate}
.book-page .sky{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 100%;z-index:0}
.book-page .mark{position:absolute;z-index:6;top:calc(22px + env(safe-area-inset-top,0px));left:28px;
  font-family:Cinzel,"Trajan Pro",Georgia,serif;font-weight:500;letter-spacing:.18em;font-size:15px;color:var(--cream);text-decoration:none;min-height:24px}
.book-page .mark:focus-visible{outline:2px solid var(--pink);outline-offset:6px;border-radius:2px}

.book-page .book{position:absolute;z-index:3;left:0;top:0;width:0;height:0;
  transform:translate(var(--cx),var(--cy)) translateY(var(--rise,0px));will-change:transform}
.book-page .fan{position:absolute;z-index:1;left:0;top:0;width:0;height:0}
.book-page .page{position:absolute;left:calc(var(--W) * -.494);top:calc(var(--R) * -1);width:var(--W);height:var(--R);
  transform-origin:49.4% 100%;transform:rotate(calc(var(--a) * var(--k,1) * 1deg))}
.book-page .page img{width:100%;height:100%;max-width:none;pointer-events:none;user-select:none}
.book-page .page .tintp{position:absolute;inset:0;background:var(--pink);opacity:.16;
  -webkit-mask:var(--pageimg) center/100% 100% no-repeat;mask:var(--pageimg) center/100% 100% no-repeat}
.book-page .base{position:absolute;z-index:2;max-width:none;width:calc(var(--R) * 1.9257);left:calc(var(--R) * -.9622);top:calc(var(--R) * -1.0038)}
.book-page .disc{position:absolute;z-index:3;max-width:none;width:calc(var(--R) * .1864);height:calc(var(--R) * .1864);
  left:calc(var(--R) * -.0932);top:calc(var(--R) * -.0932);animation:turn 140s linear infinite}
@keyframes turn{to{transform:rotate(360deg)}}

.book-page .words{position:absolute;z-index:5;left:50%;transform:translateX(-50%);top:var(--wordsTop);width:min(900px,92vw);text-align:center}
.book-page .words h1{font-family:Gloock,Georgia,serif;font-weight:400;font-size:clamp(40px,5.4vw,84px);line-height:1.02;color:var(--cream);letter-spacing:-.01em;text-wrap:balance}
.book-page .words .verse{font-family:Gloock,Georgia,serif;font-size:clamp(26px,2.3vw,36px);line-height:1.1;color:var(--pink);margin:.38em 0 .3em}
.book-page .words .cite{font-family:Fraunces,Georgia,serif;font-style:italic;font-size:clamp(17px,1.35vw,20px);color:var(--cream);opacity:.88}


/* reveal follows the Book opening: name at 30% open, verse and citation at 80% */
.book-page .words h1{opacity:0;transform:translateY(16px);transition:opacity 1.4s cubic-bezier(.2,.7,.2,1),transform 1.4s cubic-bezier(.2,.7,.2,1)}
.book-page .words .verse{opacity:0;clip-path:inset(0 100% 0 0);transition:clip-path 1.5s cubic-bezier(.45,.05,.3,1)}
.book-page .words .cite{opacity:0;transition:opacity 1.2s ease .9s}
.book-page .words.s1 h1{opacity:1;transform:none}
.book-page .words.s2 .verse{opacity:1;clip-path:inset(0 0 0 0)}
.book-page .words.s2 .cite{opacity:.88}

/* the folded pink page floods the screen and becomes the next section */
.book-page .flood{position:absolute;inset:0;z-index:4;background:var(--pink);pointer-events:none;clip-path:circle(0px at 50% 40%)}

/* INVITE: pink, roses, one ask */
.book-page .invite{position:relative;z-index:2;margin-top:-30vh;background:var(--pink);min-height:100vh;min-height:100svh;overflow:hidden;
  display:flex;align-items:center;justify-content:center;padding:16vh 24px;text-align:center;color:#fff}
.book-page .invite .rose{position:absolute;max-width:none;pointer-events:none;transform-origin:50% 50%;
  transform:scale(var(--sc,.9)) rotate(var(--rot,0deg));clip-path:polygon(50% 50%,50% 50%,50% 50%);will-change:clip-path,transform}
.book-page .invite .peony{width:min(21vw,340px);left:2.5%;bottom:7%;--r0:-24deg;--r1:-6deg}
.book-page .invite .red{width:min(24vw,340px);right:2.5%;top:9%;--r0:24deg;--r1:6deg;transition-delay:.25s}
.book-page .invite .irisv{position:absolute;z-index:0;pointer-events:none;overflow:visible}
.book-page .invite .inner{position:relative;z-index:1;max-width:640px}
.book-page .invite .eyebrow{font-weight:700;font-size:19px;letter-spacing:.16em;text-transform:uppercase}
.book-page .invite h2{font-family:Gloock,Georgia,serif;font-weight:400;font-size:clamp(40px,5vw,76px);line-height:1.04;margin:.35em 0 .4em;text-wrap:balance}
.book-page .invite .lead{font-family:Gloock,Georgia,serif;font-size:clamp(24px,2vw,30px);line-height:1.3;max-width:620px;margin:0 auto 34px;text-wrap:balance}
.book-page .invite .pill{background:var(--burgundy);color:#fff}
.book-page .invite .pill:focus-visible{outline:2px solid #fff;outline-offset:4px}
.book-page .invite .fine{margin-top:18px;font-weight:700;font-size:19px}
.book-page .pill{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 26px;border-radius:999px;
  font-weight:700;font-size:19px;text-decoration:none;font-family:inherit}
.book-page .pill svg{width:16px;height:16px;transition:transform .35s ease}
.book-page .pill:hover svg{transform:translateX(3px)}
@media (max-width:640px){ .book-page .invite .peony{width:44vw;left:3%;bottom:3%} .book-page .invite .red{width:46vw;right:3%;top:3%} }


/* THE BOOK: closed until you ask, then a real book you leaf through */
.book-page .saga{position:relative;z-index:2;height:780vh;background:#08142A}
.book-page .sstage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;isolation:isolate}
.book-page .nsky{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0;max-width:none;z-index:0}
.book-page .tome-in{position:absolute;z-index:6;left:0;right:0;top:10vh;display:flex;flex-direction:column;align-items:center;will-change:transform,opacity}
.book-page .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.book-page .book3d{--H:min(54vh,700px);--W:calc(var(--H) * .7451);position:relative;width:calc(var(--W) * 2);height:var(--H);perspective:2600px}
.book-page .spread{position:absolute;inset:0;transform-style:preserve-3d;transform:translateX(calc(var(--W) * -.5));transition:transform 1.1s cubic-bezier(.3,.1,.2,1)}
.book-page .book3d.open .spread{transform:none}
.book-page .lf{position:absolute;left:var(--W);top:0;width:var(--W);height:var(--H);transform-origin:0 50%;transform-style:preserve-3d;
  transition:transform 1.15s cubic-bezier(.35,.05,.2,1);transform:rotateY(0deg)}
.book-page .lf.turned{transform:rotateY(-180deg)}
.book-page .lf .face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.book-page .lf .back{transform:rotateY(180deg)}
.book-page .lf img.bg{position:absolute;inset:0;width:100%;height:100%;max-width:none}
.book-page .lf .page-in{position:absolute;inset:0}
.book-page .lf .back img.bg{filter:brightness(.97)}
.book-page .lf:not(.cover) .face{box-shadow:inset 10px 0 18px -14px rgba(27,19,32,.35)}
.book-page .lf:not(.cover) .back{box-shadow:inset -10px 0 18px -14px rgba(27,19,32,.35)}

/* cover */
.book-page .cv-title{position:absolute;left:30%;right:30%;top:16.2%;height:7.4%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  font-family:Gloock,Georgia,serif;color:#D8B46A;line-height:1;text-shadow:0 1px 0 rgba(0,0,0,.45)}
.book-page .cv-title span{font-size:calc(var(--H) * .019);letter-spacing:.08em}
.book-page .cv-title b{font-weight:400;font-size:calc(var(--H) * .036);margin-top:.12em;letter-spacing:.02em}
.book-page .cv-med{position:absolute;left:50%;top:48.2%;width:33%;aspect-ratio:1;transform:translate(-50%,-50%)}
.book-page .cv-med .ring{position:absolute;inset:0;width:100%;height:100%;max-width:none;animation:turn 70s linear infinite}
.book-page .cv-med .fig{position:absolute;left:26%;top:27%;width:48%;max-width:none}

/* leaf furniture */
.book-page .lf .med{position:absolute;left:50%;top:8.35%;width:15%;aspect-ratio:1;transform:translate(-50%,-50%)}
.book-page .lf .med img{width:100%;height:100%;max-width:none}
.book-page .lf .med .fig{position:absolute;left:25%;top:27%;width:50%;height:auto}
.book-page .lf .med b{position:absolute;inset:0;display:grid;place-items:center;font-family:Gloock,Georgia,serif;font-weight:400;font-size:calc(var(--H) * .043);color:var(--burgundy);padding-top:.1em}
.book-page .lf .body{position:absolute;left:17%;right:17%;top:20%;bottom:15%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--burgundy)}
.book-page .lf .line{font-family:Gloock,Georgia,serif;font-size:calc(var(--H) * .046);line-height:1.18}
.book-page .lf .line.todo{font-family:"Jost",sans-serif;font-size:calc(var(--H) * .022);letter-spacing:.04em;opacity:.75}
.book-page .lf .rule{width:56px;height:2px;background:var(--gold);margin:1.4em 0 .9em}
.book-page .lf .who{font-family:"Jost",sans-serif;font-weight:700;font-size:calc(var(--H) * .024);letter-spacing:.14em;text-transform:uppercase}
.book-page .lf .where{font-family:"Jost",sans-serif;font-size:calc(var(--H) * .022);margin-top:.35em;opacity:.85}
.book-page .lf .epi{font-family:Gloock,Georgia,serif;font-size:calc(var(--H) * .06);line-height:1.12;text-wrap:balance}
.book-page .lf .chap{font-family:Gloock,Georgia,serif;font-size:calc(var(--H) * .085);line-height:1}
.book-page .lf .chap-name{font-family:Fraunces,Georgia,serif;font-style:italic;font-size:calc(var(--H) * .034)}
.book-page .lf .tintp{position:absolute;inset:0;background:var(--pink);opacity:.12;
  -webkit-mask:var(--leafimg) center/100% 100% no-repeat;mask:var(--leafimg) center/100% 100% no-repeat}
.book-page .lf .yours{font-family:Gloock,Georgia,serif;font-size:calc(var(--H) * .056);line-height:1.12;margin-bottom:1.1em}
.book-page .lf .yours-pill{font-size:calc(var(--H) * .022);min-height:44px;background:var(--pink);color:#fff}

.book-page .lf .exl{font-family:"Jost",sans-serif;font-weight:700;font-size:calc(var(--H) * .02);letter-spacing:.24em;text-transform:uppercase;margin-bottom:1.6em}
.book-page .lf .plate{font-family:Fraunces,Georgia,serif;font-style:italic;font-size:calc(var(--H) * .04)}
.book-page .lf .blank{display:block;width:72%;height:2px;background:var(--gold);margin:2.4em 0 1.4em}
.book-page .lf .plate-sub{font-family:Gloock,Georgia,serif;font-size:calc(var(--H) * .03);line-height:1.25;margin-bottom:1.3em;text-wrap:balance}

/* controls */
.book-page .tome-ui{position:relative;margin-top:3vh;min-height:120px;display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--cream)}
.book-page .tome-ui .pill{background:var(--pink);color:#fff;border:0;cursor:pointer}
.book-page .tome-ui .pill:focus-visible,.book-page .navb:focus-visible,.book-page .closeb:focus-visible{outline:2px solid var(--cream);outline-offset:4px}
.book-page .tome-ui .hint{margin-top:14px;font-size:17px;opacity:.9}
.book-page .tome-nav{display:none;align-items:center;gap:22px}
.book-page .book-open .tome-nav{display:flex}
.book-page .book-open .tome-closed{display:none}
.book-page .navb{width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(245,240,232,.55);background:transparent;color:var(--cream);cursor:pointer;display:grid;place-items:center}
.book-page .navb:hover{border-color:var(--cream)}
.book-page .navb[disabled]{opacity:.3;cursor:default}
.book-page .navb svg{width:18px;height:18px}
.book-page .tome-label{min-width:170px;font-family:Gloock,Georgia,serif;font-size:22px}
.book-page .tome-label span{color:var(--gold)}
.book-page .tome-row2{display:none;margin-top:16px;gap:20px;align-items:center;justify-content:center;flex-wrap:wrap}
.book-page .book-open .tome-row2{display:flex}
.book-page .closeb{background:none;border:0;color:var(--cream);font:inherit;font-size:17px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:rgba(245,240,232,.5);cursor:pointer;min-height:44px}
.book-page #passOn[hidden]{display:none}
.book-page .copied{display:block;min-height:1.5em;margin-top:8px;font-size:16px}

@media (max-width:820px){
  .book-page .tome-in{top:8vh}
  .book-page .book3d{--H:min(62vh,calc(86vw / .7451));}
  .book-page .book3d.open .spread{transform:translateX(calc(var(--W) * -.5))}
  .book-page .tome-label{min-width:130px;font-size:19px}
}



/* THE SAINTS: one long scene. The page you wrote leaves the Book, the sun comes up, and it becomes a feather */
.book-page .dawn{position:absolute;z-index:2;left:var(--dl);top:var(--dt);width:var(--dw);height:var(--dh);background:#E53760;overflow:visible;
  transform-origin:var(--zx) var(--zy);will-change:transform,clip-path}
.book-page .dawn>*{position:absolute}
.book-page .dawn img{max-width:none;user-select:none;pointer-events:none}
.book-page .dawn .dplate{left:0;width:100%;bottom:0;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 7%);mask-image:linear-gradient(to bottom,transparent 0,#000 7%)}
.book-page .wing2{transform-style:preserve-3d}
.book-page .wing2.l{transform-origin:100% 50%}
.book-page .wing2.r{transform-origin:0% 50%}
.book-page .wing2 img{position:absolute;inset:0;width:100%;height:100%}
.book-page .piece{transform-origin:50% 50%}
.book-page .piece img{position:absolute;inset:0;width:100%;height:100%}
.book-page .tail2{width:0;height:0}
.book-page .f2{position:absolute;left:calc(var(--fw) / -2);bottom:0;width:var(--fw);height:var(--fl);transform-origin:50% 100%;
  transform:rotate(calc(var(--a) * var(--k,0) * 1deg)) scale(var(--fs,.6));opacity:var(--fo,0)}
.book-page .f2 img{width:100%;height:100%}
.book-page .flyp{position:absolute;z-index:25;left:0;top:0;visibility:hidden;transform-style:preserve-3d;will-change:transform}
.book-page .flyp .fface,.book-page .flyp .ffeather{position:absolute;inset:0;backface-visibility:hidden}
.book-page .flyp .fface{container-type:size}
.book-page .flyp .flyleaf{left:0;top:0;width:100%;height:100%;transform:none!important;transition:none;visibility:visible!important}
.book-page .flyp .ffeather{width:100%;height:100%;max-width:none;opacity:0}
.book-page .flyp.feather .fface{opacity:0}.book-page .flyp.feather .ffeather{opacity:1}
.book-page .scopy{position:absolute;z-index:26;left:0;right:0;top:13vh;text-align:center;color:#2A0E2E;padding:0 24px;visibility:hidden}
.book-page .scopy h2{font-family:Gloock,Georgia,serif;font-weight:400;font-size:clamp(32px,3.4vw,54px);line-height:1.05;text-wrap:balance;clip-path:inset(0 var(--sc1,100%) 0 0)}
.book-page .scopy p{margin:.5em auto 0;font-size:clamp(17px,1.25vw,20px);max-width:560px;opacity:var(--sc2,0);font-weight:600}
.book-page .scopy .row{opacity:var(--sc2,0)}
.book-page .scopy .btn.go{background:var(--burgundy);color:#fff}
.book-page .scopy .btn.ghost{color:#2A0E2E}
.book-page .iris{position:absolute;inset:0;z-index:30;background:var(--pink);pointer-events:none}
.book-page .dive{position:absolute;inset:0;z-index:40;background:#F6C1D6;opacity:0;pointer-events:none}
.book-page .feedroom{position:relative;z-index:2;height:560vh;background:#F6C1D6}
.book-page .fstage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#F6C1D6;isolation:isolate}
.book-page .fphone{position:absolute;left:50%;top:50%;height:var(--ph);aspect-ratio:836/1571;transform:translate(-50%,-50%) scale(var(--fs,1));transform-origin:var(--fox,50%) var(--foy,50%);will-change:transform}
.book-page .fframe{position:absolute;inset:0;width:100%;height:100%;max-width:none;pointer-events:none;z-index:3}
.book-page .fscreen{position:absolute;left:8.61%;top:5.6%;width:82.42%;height:88.6%;border-radius:calc(var(--ph) * .045);overflow:hidden;background:#F6C1D6;z-index:1;container-type:inline-size}
.book-page .lock{position:absolute;inset:0;z-index:2;background:#F34C65;display:flex;flex-direction:column;justify-content:flex-end;will-change:transform}
.book-page .lock-img{position:absolute;left:0;bottom:0;width:100%;max-width:none;height:auto}
.book-page .lock-top{position:absolute;z-index:1;left:0;right:0;top:9%;text-align:center;color:#fff;padding:0 8%}
.book-page .lock-date{font-weight:700;font-size:max(16px,4.6cqi);letter-spacing:.04em}
.book-page .lock-line{font-family:Gloock,Georgia,serif;font-size:max(24px,9.5cqi);line-height:1.08;margin-top:.35em;text-wrap:balance}
.book-page .lock-hint{position:absolute;z-index:1;left:0;right:0;bottom:3%;text-align:center;color:#fff;font-weight:700;font-size:max(18.7px,4.4cqi)}
.book-page .lockblack{position:absolute;inset:0;z-index:5;background:#08080d;opacity:0;pointer-events:none}
.book-page .flist{position:absolute;left:0;right:0;top:0;padding:16% 5% 12%;will-change:transform;color:var(--burgundy)}
.book-page .fpost{background:#FFF8F0;border-radius:18px;padding:14px 14px 12px;margin-bottom:12px;box-shadow:0 1px 0 rgba(97,14,54,.08)}
.book-page .fpost .who{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.book-page .fpost .av{width:34px;height:34px;border-radius:50%;background:var(--pink);color:#fff;display:grid;place-items:center;font-weight:700;font-size:16px;flex:none}
.book-page .fpost .nm{font-weight:700;font-size:16px;line-height:1.2}
.book-page .fpost .ct{font-size:16px;opacity:.8;line-height:1.2}
.book-page .fpost .v{font-family:Gloock,Georgia,serif;font-size:21px;line-height:1.2;margin:2px 0 12px}
.book-page .fpost .acts{display:flex;gap:8px;flex-wrap:wrap}
.book-page .pinch,.book-page .pass{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border-radius:999px;border:1.5px solid rgba(97,14,54,.35);background:transparent;color:var(--burgundy);font:inherit;font-weight:700;font-size:16px;cursor:pointer}
.book-page .pinch svg{width:16px;height:16px}
.book-page .pinch[aria-pressed="true"]{background:var(--pink);border-color:var(--pink);color:#fff}
.book-page .pinch:focus-visible,.book-page .pass:focus-visible,.book-page .fpost .pill:focus-visible{outline:2px solid var(--burgundy);outline-offset:2px}
.book-page .fpost.story{background:var(--burgundy);color:#fff}
.book-page .fpost.story .eb{font-weight:700;font-size:16px;letter-spacing:.14em;text-transform:uppercase;color:#F3D9A4}
.book-page .fpost.story .v{font-size:26px;margin:8px 0 6px;color:#fff}
.book-page .fpost.story p{font-size:16px;opacity:.92;margin-bottom:12px}
.book-page .fpost.story .pill{background:var(--pink);color:#fff;min-height:44px;font-size:17px}
.book-page .fpost.how .v{font-size:22px}
.book-page .fpost.how ol{margin:0 0 12px 1.1em;font-size:16px;line-height:1.35}
.book-page .fpost.how .pill{background:var(--burgundy);color:#fff;min-height:44px;font-size:16px;border:0;cursor:pointer}
.book-page .fpost.end{background:transparent;box-shadow:none;text-align:center;padding:26px 6px}
.book-page .fpost.end .v{font-size:22px}
.book-page .fside{position:absolute;top:50%;transform:translateY(-50%);width:min(30vw,400px);color:var(--burgundy);opacity:0}
.book-page .fside.l{left:max(4vw,calc(50% - var(--pw) / 2 - min(30vw,400px) - 5vw))}
.book-page .fside.r{right:max(4vw,calc(50% - var(--pw) / 2 - min(30vw,400px) - 5vw))}
.book-page .fside .eyebrow{font-weight:700;font-size:17px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.6em}
.book-page .fside h2{font-family:Gloock,Georgia,serif;font-weight:400;font-size:clamp(34px,3.2vw,52px);line-height:1.05}
.book-page .fside p{margin-top:.7em;font-size:18px;line-height:1.45}
.book-page .howto{margin:0 0 18px 1.1em;font-size:18px;line-height:1.4}
.book-page .howto li{margin-bottom:.5em}
.book-page .tagbtn{background:var(--burgundy);color:#fff;border:0;cursor:pointer}
.book-page .tagbtn:focus-visible{outline:2px solid var(--burgundy);outline-offset:4px}
.book-page .flash{position:absolute;inset:0;z-index:20;pointer-events:none;opacity:0;background:radial-gradient(circle at 18% 10%,#FFFDF8 0,#FFF6EA 45%,rgba(255,246,234,.85) 100%)}
.book-page .fdark{position:absolute;inset:0;z-index:21;background:#E7067F;opacity:0;pointer-events:none}
.book-page .closeroom{position:relative;z-index:2;height:620vh;margin-top:-200vh;background:#08080d}
.book-page .cstage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#08142A;isolation:isolate}
.book-page .csky{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 100%;max-width:none}
.book-page .cbook{position:absolute;left:50%;top:50%;width:calc(var(--pw) * 2);height:var(--phh);transform-style:preserve-3d;will-change:transform;transform-origin:75% 50%}
.book-page .cpage{position:absolute;top:0;width:var(--pw);height:100%;transform-style:preserve-3d}
.book-page .cpage.cr{left:50%}
.book-page .cpage.cl{left:0;transform-origin:100% 50%;will-change:transform}
.book-page .cface{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.book-page .cface.cback{transform:rotateY(180deg);left:0;top:0;width:100%;height:100%;visibility:hidden}
.book-page .cface.cback.lf{position:absolute;transition:none;left:0!important;top:0!important;width:100%!important;height:100%!important;transform:rotateY(180deg)!important;transform-origin:50% 50%!important}
.book-page .cbg{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:fill}
.book-page .cpage.cr>.cbg{position:absolute}
.book-page .cbody{position:absolute;left:14%;right:14%;top:15%;bottom:11%;color:var(--burgundy);text-align:center;display:flex;flex-direction:column}
.book-page .ceb{font-weight:700;font-size:16px;letter-spacing:.16em;text-transform:uppercase}
.book-page .csub{font-family:Gloock,Georgia,serif;font-size:calc(var(--phh) * .03);line-height:1.15;margin:.3em 0 .6em}
.book-page .cdump{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:6% 8%;align-content:center;padding:2% 3%}
.book-page .pol{margin:0;background:#FFFCF5;padding:5% 5% 14%;box-shadow:0 2px 6px rgba(27,19,32,.18);transform:translate(var(--tx,0),var(--ty,0)) rotate(var(--r));opacity:var(--po,1);position:relative}
.book-page .pol::before,.book-page .pol::after{content:"";position:absolute;width:16%;aspect-ratio:1;background:linear-gradient(135deg,#C4A265 50%,transparent 50%)}
.book-page .pol::before{left:-3%;top:-3%}
.book-page .pol::after{right:-3%;bottom:-3%;transform:rotate(180deg)}
.book-page .pol img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;max-width:none}
.book-page .cr h2{font-family:Gloock,Georgia,serif;font-weight:400;font-size:calc(var(--phh) * .058);line-height:1.08;margin:.35em 0 .3em;text-wrap:balance}
.book-page .cnote{font-size:17px;line-height:1.45;margin-top:.4em}
.book-page .cnames{list-style:none;columns:2;column-gap:10%;margin:.8em 0;font-size:16px;line-height:1.5;font-family:Gloock,Georgia,serif;color:#7a4a1c}
.book-page .cform{margin-top:auto;margin-bottom:auto;text-align:left}
.book-page .cform label{display:block;font-weight:700;font-size:16px;margin-bottom:6px;text-align:center}
.book-page .crow{display:flex;gap:8px}
.book-page .crow input{flex:1;min-width:0;font:inherit;font-size:17px;padding:8px 10px;border:0;border-bottom:2px solid rgba(97,14,54,.45);background:rgba(255,252,244,.85);border-radius:4px 4px 0 0;color:#1B1320}
.book-page .crow input:focus{outline:2px solid var(--pink);outline-offset:1px}
.book-page .crow .btn{white-space:nowrap}
.book-page .cmsg{min-height:1.3em;font-size:16px;font-weight:700;text-align:center;margin-top:4px}
.book-page .cend{font-family:Fraunces,Georgia,serif;font-style:italic;font-size:19px;margin-top:6px}
.book-page .cstrip{position:absolute;left:50%;top:50%;width:0;height:0;opacity:0;background:linear-gradient(90deg,#B8913F,#F1D68A 30%,#C4A265 55%,#F3DE9C 80%,#B8913F);will-change:width,height,transform}
.book-page .cstrip.b{background:url(img/book-ad561f7474.webp) repeat-x center/auto 100%}
.book-page .cblack{position:absolute;inset:0;background:#E7067F;pointer-events:none;z-index:9}
.book-page .sitefoot{position:relative;z-index:2;background:#260F4E;color:var(--cream)}
.book-page .fborder{height:var(--bh,84px);background:url(img/book-d335a41314.webp) repeat-x center/auto 100%}
.book-page .fin{padding:56px 24px 64px;text-align:center}
.book-page .fwm{font-family:Cinzel,Georgia,serif;letter-spacing:.3em;font-size:22px;color:#E9D3A0}
.book-page .sitefoot nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;margin:24px 0}
.book-page .sitefoot nav a{color:var(--cream);text-decoration:none;font-weight:600;font-size:17px;padding:6px 2px}
.book-page .sitefoot nav a:hover,.book-page .sitefoot nav a:focus-visible{text-decoration:underline;text-underline-offset:5px}
.book-page .fsmall{font-size:16px;opacity:.85}
@media (max-aspect-ratio:4/5){ .book-page .fside{display:none} }

/* buttons and fields shared by the bookplate and the saints */
.book-page .row{display:flex;gap:12px;justify-content:center;align-items:center;margin-top:10px;flex-wrap:wrap}
.book-page .btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 20px;border-radius:999px;border:0;cursor:pointer;font:inherit;font-weight:700;font-size:17px}
.book-page .btn.go{background:var(--burgundy);color:#fff}
.book-page .btn.ghost{background:transparent;color:var(--burgundy);text-decoration:underline;text-underline-offset:4px;padding:0 8px}
.book-page .btn:focus-visible{outline:2px solid var(--pink);outline-offset:3px}

/* the bookplate: invitation, then the pen, then your line */
.book-page .lf .bp{left:12%;right:12%;top:16%;bottom:12%}
@media (max-aspect-ratio:4/5){.book-page .lf .bp{left:13.5%;right:13.5%;top:13%;bottom:9%}.book-page .bp .k{margin-bottom:.2em}.book-page .bp .btn{font-size:16px;padding:0 12px;white-space:nowrap}.book-page .bp .row{flex-wrap:nowrap;gap:6px;margin-top:4px}.book-page .bp .chk{margin:0 0 4px}.book-page .bp .err{min-height:1.1em}}
.book-page .bp-form,.book-page .bp-done{display:none;width:100%}
.book-page .bp.writing .bp-a,.book-page .bp.done .bp-a{display:none}
.book-page .bp.writing .bp-form{display:block;position:relative;height:100%}
.book-page .bp.done .bp-done{display:flex;flex-direction:column;align-items:center}
.book-page .bp .step{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;opacity:0;visibility:hidden;transition:opacity .45s ease;text-align:left}
.book-page .bp .step.on{opacity:1;visibility:visible}
.book-page .bp .k{font-family:"Jost",sans-serif;font-weight:700;font-size:16px;letter-spacing:.14em;text-transform:uppercase;text-align:center;margin-bottom:.5em}
.book-page .fld{display:block;margin-bottom:8px;color:var(--burgundy)}
.book-page .fld span{display:block;font-family:"Jost",sans-serif;font-weight:700;font-size:16px;margin-bottom:3px}
.book-page .fld input,.book-page .fld textarea{width:100%;font-family:"Jost",sans-serif;font-size:17px;color:#1B1320;background:rgba(255,252,244,.85);border:0;border-bottom:2px solid rgba(97,14,54,.45);border-radius:4px 4px 0 0;padding:7px 8px}
.book-page .fld textarea{font-family:Gloock,Georgia,serif;font-size:21px;line-height:1.25;resize:none;min-height:4.4em}
.book-page .fld input:focus,.book-page .fld textarea:focus{outline:2px solid var(--pink);outline-offset:1px}
.book-page .fld small{display:block;font-family:"Jost",sans-serif;font-size:16px;margin-top:3px}
.book-page .chk{display:flex;gap:8px;align-items:flex-start;font-family:"Jost",sans-serif;font-size:16px;line-height:1.28;margin:2px 0 6px;color:var(--burgundy);cursor:pointer}
.book-page .chk input{width:22px;height:22px;flex:none;margin-top:1px;accent-color:var(--burgundy)}
.book-page .err{min-height:1.3em;font-family:"Jost",sans-serif;font-size:16px;font-weight:700;text-align:center;color:var(--burgundy)}
.book-page .bp-done .line{font-family:Gloock,Georgia,serif;font-size:calc(var(--H) * .046);line-height:1.18;overflow-wrap:anywhere}
.book-page .bp-done .queued{margin-top:1.4em;font-family:"Jost",sans-serif;font-size:16px}
.book-page .pinch .step.on{transition:transform .7s cubic-bezier(.6,0,.4,1),opacity .6s ease .1s;transform:scale(.02);opacity:0}
.book-page .salt{position:absolute;width:7px;height:7px;background:var(--pink);border-radius:1px;pointer-events:none;z-index:7}
.book-page .flyp .bp-a .yours-pill{display:none}


/* night lifts like a veil; ink rises; the painted bird */
.book-page .nsky{z-index:3;object-position:50% 100%}
.book-page .nsky.top{-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 72%,transparent 90%);mask-image:linear-gradient(to bottom,#000 0,#000 72%,transparent 90%);will-change:transform}
.book-page .nsky.roofs{z-index:4;-webkit-mask-image:linear-gradient(to bottom,transparent 66%,#000 69%);mask-image:linear-gradient(to bottom,transparent 66%,#000 69%)}
.book-page .ink{position:absolute;inset:0;z-index:24;pointer-events:none}
.book-page .ink span{position:absolute;left:0;top:0;font-family:Gloock,Georgia,serif;white-space:pre;line-height:1;will-change:transform,color,opacity}
.book-page .lf .inked{visibility:hidden}
.book-page .ptail{-webkit-mask-image:conic-gradient(from calc(var(--A,0deg) * -1) at var(--px) var(--py),#000 0deg,#000 calc(var(--A,0deg) * 2),transparent calc(var(--A,0deg) * 2 + 6deg));
  mask-image:conic-gradient(from calc(var(--A,0deg) * -1) at var(--px) var(--py),#000 0deg,#000 calc(var(--A,0deg) * 2),transparent calc(var(--A,0deg) * 2 + 6deg));transform-origin:var(--px) var(--py)}
.book-page .psun{will-change:clip-path}
.book-page .dawn.phone{background:#E84262}
.book-page .dawn.phone .pbd{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 6%);mask-image:linear-gradient(to bottom,transparent 0,#000 6%)}

.book-page .stories{position:absolute;inset:0;z-index:1}
.book-page .story{position:absolute;inset:0;overflow:hidden;background:#1B1320;will-change:transform;z-index:calc(10 - var(--i))}
.book-page .story .sbg{position:absolute;inset:-8%;width:116%;height:116%;max-width:none;object-fit:cover;filter:blur(18px) saturate(1.1) brightness(.85)}
.book-page .story .sph{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--op,50%) 50%}
.book-page .story:nth-child(1) .sph{--op:46%}.book-page .story:nth-child(2) .sph{--op:44%}.book-page .story:nth-child(4) .sph{--op:38%}
.book-page .story::after{content:"";position:absolute;left:0;right:0;bottom:0;height:30%;background:linear-gradient(to top,rgba(27,19,32,.55),transparent);pointer-events:none}
.book-page .story .scap{z-index:1}
.book-page .story .scap{position:absolute;left:0;right:0;bottom:12%;text-align:center;color:#fff;font-weight:700;font-size:max(17px,4.4cqi);text-shadow:0 1px 2px rgba(27,19,32,.55)}
.book-page .sbars{position:absolute;z-index:20;left:5%;right:5%;top:4.5%;display:flex;gap:4px}
.book-page .sbars i{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.4);overflow:hidden;position:relative}
.book-page .sbars i::after{content:"";position:absolute;inset:0;background:#fff;transform-origin:0 50%;transform:scaleX(var(--b,0))}
.book-page .social{position:absolute;inset:0;z-index:0;background:#F34C65;color:#fff;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:10% 8%;text-align:center}
.book-page .so-eb{font-weight:700;font-size:16px;letter-spacing:.14em;text-transform:uppercase;color:#FFE3B0}
.book-page .so-h{font-family:Gloock,Georgia,serif;font-size:max(26px,9cqi);line-height:1.05;margin-bottom:8px}
.book-page .so-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:56px;padding:10px 14px;border-radius:18px;background:#FFF8F0;color:var(--burgundy);text-decoration:none;font-weight:700;font-size:17px}
.book-page .so-btn span{font-weight:600;font-size:16px;opacity:.85}
.book-page .so-btn.app{background:var(--burgundy);color:#fff}
.book-page .so-btn:focus-visible,.book-page .so-tag:focus-visible{outline:2px solid #fff;outline-offset:3px}
.book-page .so-tag{margin-top:4px;background:transparent;border:0;color:#fff;font:inherit;font-weight:700;font-size:17px;text-decoration:underline;text-underline-offset:4px;cursor:pointer;min-height:44px}
.book-page .social .copied{font-size:16px;font-weight:700;min-height:1.2em}
.book-page .cstill{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px}
.book-page .cst-h{font-family:Gloock,Georgia,serif;font-size:calc(var(--phh) * .06);line-height:1.05}
.book-page .cst-p{font-size:17px;line-height:1.45;max-width:24em}
.book-page .cstill .pill{background:var(--burgundy);color:#fff}


/* THE JUKEBOX (placeholder until its painting arrives) */
.book-page .jukeroom{position:relative;z-index:2;background:#120a1f;color:var(--cream);min-height:80vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:12vh 24px}
.book-page .jk-in{max-width:620px}
.book-page .jukeroom .eyebrow,.book-page .cardroom .eyebrow{font-weight:700;font-size:17px;letter-spacing:.16em;text-transform:uppercase;color:#E9C987}
.book-page .jukeroom h2,.book-page .cardroom h2{font-family:Gloock,Georgia,serif;font-weight:400;font-size:clamp(36px,4vw,60px);line-height:1.05;margin:.3em 0}
.book-page .jukeroom p{font-size:18px;line-height:1.5}
/* SAINT CARDS: dealt like a hand, flipped one by one, saved as lock screens */
.book-page .cardroom{position:relative;z-index:2;height:440vh;background:#4A1430}
.book-page .kstage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:radial-gradient(ellipse at 50% 60%,#3a1a66 0,#260F4E 60%,#170838 100%)}
.book-page .khead{position:absolute;left:50%;transform:translateX(-50%);width:min(560px,80vw);top:18.5vh;text-align:center;color:var(--cream);padding:0 24px;opacity:0}
.book-page .khead p:last-child{font-size:18px;line-height:1.45;max-width:560px;margin:.3em auto 0;opacity:.92}
.book-page .kdeck{position:absolute;left:50%;top:0;width:0;height:0;transform-origin:0 0;will-change:transform}
.book-page .kcard{position:absolute;left:0;top:0;width:var(--cw);aspect-ratio:5/7;margin:0;padding:0;border:0;background:none;cursor:pointer;perspective:1400px;transform-origin:50% 135%;transform:translate(-50%,-50%) translate(var(--x,0),var(--y,0)) rotate(var(--r,0deg));transition:filter .25s ease;z-index:var(--z,1)}
.book-page .kcard:hover .kin,.book-page .kcard:focus-visible .kin{transform:rotateY(var(--fy,0deg)) translateY(-14px)}
.book-page .kcard:focus-visible{outline:none}
.book-page .kcard:focus-visible .kfront{box-shadow:0 0 0 3px #F1D68A}
.book-page .kin{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateY(var(--fy,0deg));transition:transform .25s ease}
.book-page .kface{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:14px;overflow:hidden}
.book-page .kfront{background:#FFF8F0;padding:5%;box-shadow:0 10px 24px rgba(10,4,20,.45);border:3px solid #C4A265}
.book-page .kfront img{display:block;width:100%;height:66%;object-fit:cover;max-width:none;border-radius:8px;border:1.5px solid #C4A265}
.book-page .kband{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:34%;padding:1% 2% 0;color:var(--burgundy)}
.book-page .kt{font-family:Gloock,Georgia,serif;font-size:max(16px,calc(var(--cw) * .085));line-height:1.06;text-wrap:balance}
.book-page .kl{font-family:Fraunces,Georgia,serif;font-style:italic;font-size:max(16px,calc(var(--cw) * .07));line-height:1.12;margin-top:3%;opacity:.9;text-wrap:balance}
.book-page .kbackf{transform:rotateY(180deg);background:repeating-linear-gradient(45deg,#610E36 0 10px,#6d1340 10px 20px);border:3px solid #C4A265;box-shadow:0 10px 24px rgba(10,4,20,.45);display:grid;place-items:center}
.book-page .kmed{width:56%;aspect-ratio:1;border-radius:50%;border:2px solid #C4A265;background:center/42% no-repeat var(--fig),center/92% no-repeat var(--med),#610E36}
.book-page .klight{position:fixed;inset:0;z-index:200;background:rgba(18,8,32,.82);display:grid;place-items:center;padding:24px}
.book-page .klight[hidden]{display:none}
.book-page .klbox{display:flex;gap:36px;align-items:center;flex-wrap:wrap;justify-content:center}
.book-page .klcard{width:min(46vh,78vw);aspect-ratio:5/7;background:#FFF8F0;padding:4.5%;border:3px solid #C4A265;border-radius:16px;--cw:min(46vh,78vw)}
.book-page .klcard img{display:block;width:100%;height:66%;object-fit:cover;max-width:none;border-radius:10px;border:1.5px solid #C4A265}
.book-page .klact{display:flex;flex-direction:column;gap:12px;align-items:flex-start;max-width:280px}
.book-page .klact .pill{background:var(--pink);color:#fff;border:0;cursor:pointer}
.book-page .kghost{color:var(--cream)!important}
.book-page .kmsg{min-height:1.3em;color:var(--cream);font-weight:700;font-size:16px}


/* TYPE AT SMALL SIZES: open up the tracking and leading as the type gets smaller */
html{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-kerning:normal}
body.calma-book{letter-spacing:.008em}
.book-page .t-disp-s{letter-spacing:.022em!important;word-spacing:.06em;line-height:max(1.16,var(--lh,1.16))!important}
.book-page .t-disp-xs{letter-spacing:.035em!important;word-spacing:.08em;line-height:1.22!important}
.book-page .t-ital-s{letter-spacing:.018em!important;line-height:1.28!important}
.book-page .t-body-s{letter-spacing:.014em!important;line-height:1.5!important}
.book-page .t-caps-s{letter-spacing:.18em!important}


/* SAINT CARDS ONLY: modern type. Editorial serif for the saints, a quiet grotesk for reading, mono for labels */
.book-page .cardroom,.book-page .klight{font-family:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-.003em}
.book-page .cardroom .eyebrow{font-family:"Geist Mono",ui-monospace,Menlo,monospace;font-weight:500;font-size:14px;letter-spacing:.1em;color:#E9C987}
.book-page .cardroom h2{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:clamp(46px,5vw,84px);line-height:.95;letter-spacing:-.022em;margin:.25em 0 .3em}
.book-page .khead p:last-child{font-family:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif;font-weight:400;font-size:17px;line-height:1.55;opacity:.85}
.book-page .cardroom .kt,.book-page .klight .kt{font-family:"Instrument Serif",Georgia,serif;font-weight:400;letter-spacing:-.005em;line-height:1.02;font-size:max(18px,calc(var(--cw) * .095))}
.book-page .cardroom .kl,.book-page .klight .kl{font-family:"Geist Mono",ui-monospace,Menlo,monospace;font-style:normal;font-weight:500;text-transform:uppercase;letter-spacing:.03em;line-height:1.35;font-size:max(13px,calc(var(--cw) * .05));margin-top:6%;opacity:.8}
.book-page .klight .kt{font-size:calc(var(--cw) * .09)}
.book-page .klight .kl{font-size:calc(var(--cw) * .042)}
.book-page .klact .pill,.book-page .klact .btn{font-family:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif;font-weight:500}
.book-page .kmsg{font-family:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif;font-weight:500}
.book-page .cardroom .t-disp-s,.book-page .cardroom .t-disp-xs,.book-page .cardroom .t-ital-s,.book-page .cardroom .t-body-s,.book-page .cardroom .t-caps-s,.book-page .klight .t-disp-s,.book-page .klight .t-disp-xs,.book-page .klight .t-ital-s,.book-page .klight .t-body-s,.book-page .klight .t-caps-s{letter-spacing:inherit!important;word-spacing:normal!important;line-height:inherit!important}


/* SAINT CARDS: classic playing-card layout. Rounded picture, big serif name, a gold rule with an ornament, tracked small caps */
.book-page .kfront{background:#FCF8F1!important;border:1px solid #E6D6B4!important;border-radius:16px!important;padding:6.6% 6.6% 0!important;box-shadow:0 12px 28px rgba(10,4,20,.45)!important;display:flex;flex-direction:column}
.book-page .kfront img,.book-page .klcard img{height:auto!important;aspect-ratio:1/.9!important;border-radius:10px!important;border:1.5px solid #C4A265!important;flex:none}
.book-page .kband{flex:1;height:auto!important;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3% 1% 5%!important;gap:0}
.book-page .cardroom .kt,.book-page .klight .kt{font-family:"Cormorant Garamond",Garamond,Georgia,serif!important;font-weight:500!important;letter-spacing:-.01em!important;line-height:.98!important;color:#E7067F;font-size:calc(var(--cw) * .096)!important;text-wrap:balance}
.book-page .kband .kt::after{content:"";display:block;width:76%;height:calc(var(--cw) * .055);margin:5% auto 4%;background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZD0nTTEyIDRsNSA4LTUgOC01LTh6JyBmaWxsPScjQzRBMjY1Jy8+PGNpcmNsZSBjeD0nMycgY3k9JzEyJyByPScxLjMnIGZpbGw9JyNDNEEyNjUnLz48Y2lyY2xlIGN4PScyMScgY3k9JzEyJyByPScxLjMnIGZpbGw9JyNDNEEyNjUnLz48L3N2Zz4=) center/auto 100% no-repeat,linear-gradient(#C4A265,#C4A265) left center/42% 1px no-repeat,linear-gradient(#C4A265,#C4A265) right center/42% 1px no-repeat}
.book-page .cardroom .kl,.book-page .klight .kl{font-family:"Cormorant Garamond",Garamond,Georgia,serif!important;font-style:normal!important;font-weight:600!important;text-transform:uppercase;letter-spacing:.16em!important;line-height:1.35!important;color:#6A1240;font-size:max(10.5px,calc(var(--cw) * .036))!important;margin-top:0!important;opacity:1!important;text-wrap:balance}
.book-page .klcard{background:#FCF8F1!important;border:1px solid #E6D6B4!important;border-radius:18px!important;padding:6.6% 6.6% 0!important;display:flex;flex-direction:column}


/* THE BOOK'S PAGES: the new painted page, set like a printed book */
.book-page .lf .body{left:15%!important;right:15%!important;top:17%!important;bottom:13%!important;color:#5A1638}
.book-page .lf .line{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:500;font-size:calc(var(--H) * .064);line-height:1.12;letter-spacing:-.005em;font-feature-settings:"liga","dlig";text-wrap:balance;color:#5A1638}
.book-page .lf .rule{width:44%;height:calc(var(--H) * .018);margin:1.3em 0 1em;background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZD0nTTEyIDRsNSA4LTUgOC01LTh6JyBmaWxsPScjQzRBMjY1Jy8+PGNpcmNsZSBjeD0nMycgY3k9JzEyJyByPScxLjMnIGZpbGw9JyNDNEEyNjUnLz48Y2lyY2xlIGN4PScyMScgY3k9JzEyJyByPScxLjMnIGZpbGw9JyNDNEEyNjUnLz48L3N2Zz4=) center/auto 100% no-repeat,linear-gradient(#C4A265,#C4A265) left center/40% 1px no-repeat,linear-gradient(#C4A265,#C4A265) right center/40% 1px no-repeat}
.book-page .lf .who{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:600;font-size:calc(var(--H) * .021);letter-spacing:.26em;text-transform:uppercase;color:#5A1638}
.book-page .lf .where{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-style:italic;font-weight:500;font-size:calc(var(--H) * .023);margin-top:.3em;opacity:1;color:#5A1638}
.book-page .lf .epi{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:500;font-size:calc(var(--H) * .062);line-height:1.08;color:#5A1638}
.book-page .lf .chap{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:500;font-size:calc(var(--H) * .09);color:#5A1638}
.book-page .lf .chap-name{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-style:italic;font-weight:500;font-size:calc(var(--H) * .036);color:#5A1638}
.book-page .lf .exl{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:600;font-size:calc(var(--H) * .02);letter-spacing:.28em}
.book-page .lf .plate{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-style:italic;font-weight:500;font-size:calc(var(--H) * .044)}
.book-page .lf .plate-sub{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:500;font-size:calc(var(--H) * .032)}
.book-page .lf .yours{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:500;font-size:calc(var(--H) * .05);line-height:1.1;color:#5A1638}
.book-page .lf .bp-done .line{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:500}
.book-page .lf .t-disp-s,.book-page .lf .t-disp-xs,.book-page .lf .t-ital-s,.book-page .lf .t-body-s,.book-page .lf .t-caps-s{letter-spacing:inherit!important;word-spacing:normal!important;line-height:inherit!important}


/* SAINT CARDS AS TAROT: the painted frame, numeral in the oval, the saint's name on the plaque */
.book-page .cardroom h2{font-family:Gloock,Georgia,serif!important;font-weight:400!important;letter-spacing:-.005em!important;line-height:1.02!important}
.book-page .kcard{aspect-ratio:4/7!important}
.book-page .kfront{background:none!important;border:0!important;border-radius:3.5%/2%!important;padding:0!important;display:block!important;box-shadow:0 12px 26px rgba(10,4,20,.5)!important}
.book-page .kfront img,.book-page .klcard img{position:absolute!important;inset:0;width:100%!important;height:100%!important;aspect-ratio:auto!important;border:0!important;border-radius:0!important;object-fit:fill!important}
.book-page .kcard .knum,.book-page .klcard .knum{position:absolute;left:43%;width:14%;top:3.1%;height:5.4%;display:grid;place-items:center;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:600;color:#6A1240;font-size:calc(var(--cw) * .07);letter-spacing:.04em}
.book-page .kcard .kt,.book-page .klcard .kt{position:absolute!important;left:15%;width:70%;top:75.6%;height:11.4%;display:grid!important;place-items:center;text-align:center;font-family:"Cormorant Garamond",Garamond,Georgia,serif!important;font-weight:600!important;color:#E7067F!important;font-size:calc(var(--cw) * .082)!important;line-height:1!important;letter-spacing:-.005em!important}
.book-page .kcard .kt::after,.book-page .klcard .kt::after{display:none!important}
.book-page .kbackf{background:none!important;border:0!important;box-shadow:0 12px 26px rgba(10,4,20,.5)!important}
.book-page .kbackf img{position:absolute;inset:0;width:100%;height:100%;max-width:none}
.book-page .kbackf .kmed{position:absolute;left:23%;top:48.8%;width:54%;transform:translateY(-50%);border:0!important;background:center/40% no-repeat var(--fig),center/92% no-repeat var(--med)!important}
.book-page .klcard{position:relative;width:min(40vh,70vw)!important;--cw:min(40vh,70vw);aspect-ratio:4/7!important;padding:0!important;border:0!important;background:none!important;border-radius:3%/1.7%!important;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.5)}
.book-page .kll{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:600;text-transform:uppercase;letter-spacing:.16em;line-height:1.45;font-size:17px;color:#F3D9A4;max-width:16em}


/* SAINT CARDS, reference layout: picture under the arch, a deep plaque holding the name, a gold rule, the line in spaced capitals */
.book-page .kcard,.book-page .klcard{aspect-ratio:1600/2258!important}
.book-page .kcard .knum,.book-page .klcard .knum{top:4%!important;height:6.7%!important}
.book-page .kplq{position:absolute;left:15%;width:70%;top:64.8%;height:19%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:0}
.book-page .kcard .kplq .kt,.book-page .klcard .kplq .kt{position:static!important;display:flex!important;flex-direction:column;align-items:center;width:auto;height:auto;font-family:"Cormorant Garamond",Garamond,Georgia,serif!important;font-weight:600!important;font-size:calc(var(--cw) * .076)!important;line-height:1!important;letter-spacing:-.01em!important}
.book-page .kplq .k1{color:#E7067F}
.book-page .kplq .k2{color:#9E1554}
.book-page .kdiv{display:block;width:70%;height:calc(var(--cw) * .032);margin:3.5% 0 3%;background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZD0nTTEyIDRsNSA4LTUgOC01LTh6JyBmaWxsPScjQzRBMjY1Jy8+PGNpcmNsZSBjeD0nMycgY3k9JzEyJyByPScxLjMnIGZpbGw9JyNDNEEyNjUnLz48Y2lyY2xlIGN4PScyMScgY3k9JzEyJyByPScxLjMnIGZpbGw9JyNDNEEyNjUnLz48L3N2Zz4=) center/auto 100% no-repeat,linear-gradient(#C4A265,#C4A265) left center/42% 1px no-repeat,linear-gradient(#C4A265,#C4A265) right center/42% 1px no-repeat}
.book-page .kl2{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:600;text-transform:uppercase;letter-spacing:.14em;line-height:1.28;color:#6A1240;font-size:calc(var(--cw) * .029);text-wrap:balance}
.book-page .klcard{width:min(calc(66vh * .7086),74vw)!important;--cw:min(calc(66vh * .7086),74vw)!important}


/* the Book's backdrop: sun and moon drop in on their threads, the roses bloom */
.book-page div.nsky{position:absolute;left:0;top:0;width:100%;height:125%;overflow:hidden}
.book-page div.nsky.top{-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 80%,transparent 100%)!important;mask-image:linear-gradient(to bottom,#000 0,#000 80%,transparent 100%)!important}
.book-page .nplate{position:absolute;left:0;top:0;width:100%;height:80%;object-fit:cover;object-position:50% 50%;max-width:none}
.book-page .norn{position:absolute;max-width:none;will-change:transform;pointer-events:none}


/* the saint cards' room: plum with a faint gold jharokha arch */
.book-page .kstage{background:#4A1430!important}
.book-page .kstage.bk-near{background:#4A1430 url(img/book-a66f42227a.webp) center/cover no-repeat!important}


.book-page .cardroom .khead h2{font-size:clamp(36px,3.6vw,54px)!important;white-space:nowrap;margin:.2em 0 .25em}
.book-page .cardroom .khead p:last-child{font-size:17px;max-width:30em;margin:0 auto}
@media (max-aspect-ratio:4/5){.book-page .khead{top:12vh!important}.book-page .cardroom .khead h2{white-space:normal}}


/* hover: the card under the pointer lifts out of the fan; click: it rises to the middle of the screen */
@property --hs{syntax:'<number>';inherits:false;initial-value:1}
.book-page .kcard{transform:translate(-50%,-50%) translate(var(--x,0),var(--y,0)) rotate(var(--r,0deg)) scale(var(--hs,1))!important;transition:--hs .28s cubic-bezier(.2,.8,.2,1),filter .28s ease}
@media (hover:hover){
  .book-page .kdeck:hover .kcard{filter:brightness(.82) saturate(.9)}
  .book-page .kdeck .kcard:hover,.book-page .kdeck .kcard:focus-visible{--hs:1.16;z-index:90!important;filter:none}
}
.book-page .kcard:focus-visible{--hs:1.16;z-index:90!important}
.book-page .kcard:hover .kin,.book-page .kcard:focus-visible .kin{transform:rotateY(var(--fy,0deg)) translateY(-10px)!important}
.book-page .klight{transition:background-color .3s ease}
.book-page .klight.in{background:rgba(18,8,32,.86)}
.book-page .klight:not(.in){background:rgba(18,8,32,0)}
.book-page .klact{opacity:0;transform:translateY(8px);transition:opacity .35s ease .15s,transform .35s ease .15s}
.book-page .klight.in .klact{opacity:1;transform:none}
.book-page .knav{display:flex;gap:10px;margin:4px 0}
.book-page .knb{width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(243,217,164,.7);background:transparent;color:#F3D9A4;font-size:20px;cursor:pointer}
.book-page .knb:hover,.book-page .knb:focus-visible{background:rgba(243,217,164,.15);outline:none}

/* on the cream parchment, the Book's controls are plum */
.book-page .tome-ui{color:#5A1638!important}
.book-page .navb{border-color:rgba(90,22,56,.45)!important;color:#5A1638!important}
.book-page .navb:hover{border-color:#5A1638!important}
.book-page .closeb{color:#5A1638!important;text-decoration-color:rgba(90,22,56,.45)!important}
.book-page .tome-ui .pill:focus-visible,.book-page .navb:focus-visible,.book-page .closeb:focus-visible{outline-color:#5A1638!important}


/* the saints' room gets the illuminated border */
.book-page .sframe{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:fill;z-index:22;pointer-events:none;opacity:0;will-change:opacity,transform}


.book-page .scopy h2{max-width:min(40vw,560px);margin:0 auto;font-size:clamp(30px,3vw,46px)!important;line-height:1.02!important;text-wrap:balance}
.book-page .scopy p{max-width:min(36vw,480px)!important;font-size:16px!important;margin-top:.45em!important}
.book-page .scopy .row{margin-top:8px}


/* LULLABIES: six picture records; click one and it turns while its song plays */
.book-page .musroom{position:relative;z-index:2;height:260vh;background:#efe2c4}
.book-page .mstage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#efe2c4}
.book-page .mbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none}
.book-page .mhead{position:absolute;left:50%;transform:translateX(-50%);top:9vh;width:min(760px,84vw);text-align:center;color:#5A1638;z-index:3}
.book-page .mhead .eyebrow{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:600;font-size:17px;letter-spacing:.32em;text-transform:uppercase;color:#9E1554;margin-bottom:.2em}
.book-page .mhead h2{font-family:Gloock,Georgia,serif;font-weight:400;font-size:clamp(28px,2.7vw,42px);line-height:1.04;margin:.1em 0 .12em;text-wrap:balance}
@media (min-aspect-ratio:4/5){.book-page .mhead h2{white-space:nowrap}}
.book-page .msub{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(19px,1.5vw,24px)}
.book-page .mnote{font-size:16px;line-height:1.45;margin-top:.35em;opacity:.9}
.book-page .mrule{display:block;width:180px;height:12px;margin:.5em auto .3em;background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZD0nTTEyIDRsNSA4LTUgOC01LTh6JyBmaWxsPScjQzRBMjY1Jy8+PGNpcmNsZSBjeD0nMycgY3k9JzEyJyByPScxLjMnIGZpbGw9JyNDNEEyNjUnLz48Y2lyY2xlIGN4PScyMScgY3k9JzEyJyByPScxLjMnIGZpbGw9JyNDNEEyNjUnLz48L3N2Zz4=) center/auto 100% no-repeat,linear-gradient(#C4A265,#C4A265) left center/42% 1px no-repeat,linear-gradient(#C4A265,#C4A265) right center/42% 1px no-repeat}
.book-page .mcta{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:600;font-size:15px;letter-spacing:.24em;text-transform:uppercase;color:#6A1240}
.book-page .mside{position:absolute;top:58%;transform:translateY(-50%);font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:600;font-size:16px;letter-spacing:.3em;line-height:2;text-transform:uppercase;color:#6A1240;text-align:center;z-index:3}
.book-page .mside.l{left:max(9vw,calc(50% - var(--gw) / 2 - 15vw))}.book-page .mside.r{right:max(9vw,calc(50% - var(--gw) / 2 - 15vw))}
.book-page .vgrid{position:absolute;left:50%;top:var(--gtop);transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,var(--vd));gap:var(--vgap) calc(var(--vgap) * 1.3);z-index:4}
.book-page .vcell{opacity:var(--vo,1);transform:translateY(var(--vy,0px));will-change:transform,opacity}
.book-page .vin{position:relative;display:block;width:var(--vd);height:var(--vd);padding:0;border:0;background:none;border-radius:50%;cursor:pointer;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
@media (hover:hover){ .book-page .vin:hover{transform:translateY(-6px) scale(1.03)} }
.book-page .vin:focus-visible{outline:3px solid #E7067F;outline-offset:6px}
.book-page .vspin{position:absolute;inset:0;border-radius:50%;box-shadow:0 10px 24px rgba(40,10,30,.35);animation:vrot 7s linear infinite;animation-play-state:paused}
.book-page .vin.on .vspin{animation-play-state:running}
@keyframes vrot{to{transform:rotate(360deg)}}
.book-page .vgroove{position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(circle at 50% 50%,#17111a 0 1.2px,#2a2030 1.2px 2.6px);box-shadow:inset 0 0 0 2px #C4A265}
.book-page .vgroove::after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 30deg,transparent 0 40deg,rgba(255,255,255,.08) 55deg,transparent 70deg 200deg,rgba(255,255,255,.06) 220deg,transparent 240deg)}
.book-page .vart{position:absolute;inset:9%;width:82%;height:82%;max-width:none;border-radius:50%;box-shadow:0 0 0 2px #C4A265,0 0 0 5px rgba(23,17,26,.9),0 0 0 6px #C4A265}
.book-page .vhole{position:absolute;left:50%;top:50%;width:9%;height:9%;transform:translate(-50%,-50%);border-radius:50%;background:#F3E6CC;box-shadow:0 0 0 2px #C4A265,inset 0 1px 2px rgba(0,0,0,.35)}
.book-page .vprog{position:absolute;inset:-7px;width:calc(100% + 14px);height:calc(100% + 14px);transform:rotate(-90deg);pointer-events:none}
.book-page .vprog circle{fill:none;stroke:#E7067F;stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-dasharray:100;stroke-dashoffset:var(--vp,100);opacity:0;transition:opacity .3s}
.book-page .vin.on .vprog circle{opacity:1}
.book-page .vlab{position:absolute;left:50%;bottom:calc(var(--vd) * -.13);transform:translateX(-50%);padding:.4em 1.05em .4em .45em;border-radius:999px;background:#F7EEDC;box-shadow:0 0 0 1.5px #C4A265,0 6px 14px rgba(40,10,30,.25);display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:.6em;align-items:center;color:#5A1638;text-align:left;z-index:2;white-space:nowrap}
.book-page .vlab .vpb{grid-row:1 / span 2;grid-column:1;margin:0}
.book-page .vlab .vt{grid-column:2;grid-row:1}.book-page .vlab .vl{grid-column:2;grid-row:2}
.book-page .vt{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:600;font-size:clamp(16px,calc(var(--vd) * .085),21px);line-height:1.05;white-space:nowrap}
.book-page .vl{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(13px,calc(var(--vd) * .06),16px);line-height:1.2;white-space:nowrap;opacity:.9}
.book-page .vpb{width:32px;height:32px;margin-top:0;border-radius:50%;background:#6A1240;display:grid;place-items:center}
.book-page .vpb svg{width:14px;height:14px;fill:#F7EEDC}
.book-page .vpb .pa{display:none}.book-page .vin.on .vpb .pa{display:inline}.book-page .vin.on .vpb .pl{display:none}
.book-page .mnow{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;left:0;bottom:0;color:#5A1638;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-style:italic;font-weight:500;font-size:19px;z-index:4;min-height:1.4em}
.book-page .mblack{position:absolute;inset:0;background:#E7067F;pointer-events:none;z-index:9}
@media (max-aspect-ratio:4/5){ .book-page .mhead{top:11vh} .book-page .mnote{font-size:15px} .book-page .mside{display:none} .book-page .vgrid{grid-template-columns:repeat(2,var(--vd))} }

/* the painted records: the title sits on each record's own blank label and turns with it */
.book-page .vspin{box-shadow:0 12px 26px rgba(40,10,30,.35)!important}
.book-page .vdisc{position:absolute;inset:0;width:100%;height:100%;max-width:none;border-radius:50%}
.book-page .vtitle{position:absolute;left:30%;width:40%;top:77.6%;height:8.6%;display:grid;place-items:center;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:600;color:#6A1240;font-size:calc(var(--vd) * .062);letter-spacing:.06em;line-height:1}
.book-page .vin>.vpb{position:absolute;left:50%;bottom:calc(var(--vd) * -.16);transform:translateX(-50%);width:34px;height:34px;box-shadow:0 0 0 2px #F7EEDC,0 0 0 3.5px #C4A265}


/* playing: the record comes to the middle and grows; everything else steps back */
.book-page .vcell{position:relative;transform:translate(var(--fx,0px),calc(var(--fy,0px) + var(--vy,0px))) scale(var(--fs,1));opacity:calc(var(--vo,1) * var(--vf,1));transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .5s ease}
.book-page .vcell.playing{z-index:20}
.book-page .mstage.focus .vcell:not(.playing){--vf:0;pointer-events:none}
.book-page .mhead,.book-page .mside{transition:opacity .5s ease}
.book-page .mstage.focus .mhead,.book-page .mstage.focus .mside{opacity:0!important}
.book-page .mstage.focus .vin:hover{transform:none}
.book-page .mback{position:absolute;left:50%;top:10.5vh;transform:translate(-50%,-10px);z-index:21;opacity:0;pointer-events:none;background:none;border:0;color:#5A1638;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:600;font-size:18px;letter-spacing:.14em;text-transform:uppercase;text-decoration:underline;text-underline-offset:6px;text-decoration-color:rgba(90,22,56,.4);cursor:pointer;min-height:44px;padding:0 12px;transition:opacity .5s ease .3s,transform .5s ease .3s}
.book-page .mstage.focus .mback{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
.book-page .mback:focus-visible{outline:2px solid #E7067F;outline-offset:4px}

.book-page .vcell.playing .vin>.vpb{transform:translateX(-50%) scale(calc(1 / var(--fs,1)));transform-origin:50% 0}
.book-page .vcell .vin>.vpb{transition:transform .8s cubic-bezier(.2,.8,.2,1)}
@media (max-aspect-ratio:4/5){.book-page .mback{top:9vh}}


/* PHONE: one big record at a time, swipe through the six */
.book-page .mswipe{display:none}
@media (max-aspect-ratio:4/5){
  .book-page .mhead{top:9.5vh;width:68vw}
  .book-page .mhead .eyebrow{font-size:14px}
  .book-page .mhead h2{font-size:clamp(22px,6.5vw,29px)!important}
  .book-page .msub{font-size:18px}
  .book-page .mnote{font-size:15px;line-height:1.4}
  .book-page .mcta{font-size:13px;letter-spacing:.18em}
  .book-page .vgrid{left:0;transform:none;width:100%;display:flex;grid-template-columns:none;gap:7vw;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    padding:4vh calc(50vw - var(--vd) / 2) calc(var(--vd) * .22 + 5vh);scrollbar-width:none;overscroll-behavior-x:contain}
  .book-page .vgrid::-webkit-scrollbar{display:none}
  .book-page .vcell{flex:0 0 var(--vd);scroll-snap-align:center}
  .book-page .mstage.focus .vgrid{overflow-x:hidden}
  .book-page .mswipe{display:block;position:absolute;left:0;right:0;text-align:center;top:var(--swtop);font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:600;font-size:14px;letter-spacing:.24em;text-transform:uppercase;color:#6A1240;z-index:4;transition:opacity .5s}
  .book-page .mstage.focus .mswipe{opacity:0}
}

@media (max-aspect-ratio:4/5) and (max-height:720px){ .book-page .mnote{display:none} .book-page .mhead{top:10.5vh;width:64vw} .book-page .mhead h2{font-size:6.2vw!important} .book-page .mswipe{display:none!important} }

/* THE CARRIER: one record, our burgundy medallion at its centre, passes from the phone to the lullabies, to the saint cards, to the last minute */
.book-page .carrier{position:fixed;left:0;top:0;width:var(--cvd,40vmin);height:var(--cvd,40vmin);z-index:300;pointer-events:none;opacity:0;will-change:transform,opacity;transform-origin:50% 50%}
.book-page .cvspin{position:absolute;inset:0;border-radius:50%;animation:vrot 5s linear infinite;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.book-page .cvgroove{position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(circle at 50% 50%,#130d16 0 1.3px,#271c2c 1.3px 2.8px);box-shadow:inset 0 0 0 2px #C4A265}
.book-page .cvgroove::after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 20deg,transparent 0 35deg,rgba(255,255,255,.09) 50deg,transparent 66deg 195deg,rgba(255,255,255,.07) 215deg,transparent 235deg)}
.book-page .cvmed{position:absolute;inset:36%;border-radius:50%;background:center/100% no-repeat var(--med),#610E36;box-shadow:0 0 0 2px #C4A265}
.book-page .cvfig{position:absolute;inset:41.5%;background:center/76% no-repeat var(--fig)}

/* the page turn: each stage is a page; its back is hidden */
.book-page #fstage{background:#F6C1D6}



/* under the records: the promise and the instruction */
.book-page .mfoot{position:absolute;left:50%;transform:translateX(-50%);top:var(--ftop);width:min(760px,86vw);text-align:center;color:#5A1638;z-index:3;transition:opacity .5s ease}
.book-page .mfoot .mrule{margin:0 auto .5em}
.book-page .mft{font-family:Gloock,Georgia,serif;font-size:clamp(22px,2vw,30px);line-height:1.1}
.book-page .mfoot .mcta{margin-top:.45em;text-transform:none;letter-spacing:.06em;font-size:18px;font-style:italic;font-weight:500}
.book-page .mstage.focus .mfoot{opacity:0!important}
@media (max-aspect-ratio:4/5){ .book-page .mft{font-size:clamp(19px,5.4vw,23px)} .book-page .mfoot{width:70vw} .book-page .mfoot .mcta{font-size:16px} .book-page .mswipe{display:none!important} .book-page .mfoot .mrule{display:none} }


/* the phone's screen turns into the lullabies room, then the camera dives in */
.book-page .fnext{position:absolute;left:50%;top:50%;width:var(--nw,100%);height:var(--nh,100%);transform:translate(-50%,-50%);object-fit:cover;max-width:none;z-index:6;opacity:0;pointer-events:none}


/* THE LAST MINUTE: a plain field the colour of the card's back, the medallion at its centre */
.book-page .lastroom{position:relative;z-index:2;height:200vh;background:#0A3E50}
.book-page .lstage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#0A3E50;color:#F3E6CC}
.book-page .ltop{position:absolute;left:50%;transform:translateX(-50%);top:9vh;width:min(640px,86vw);text-align:center;transition:opacity .6s ease}
.book-page .ltop .eyebrow{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:600;font-size:16px;letter-spacing:.3em;text-transform:uppercase;color:#E9C987}
.book-page .ltop h2{font-family:Gloock,Georgia,serif;font-weight:400;font-size:clamp(30px,3.2vw,48px);line-height:1.05;margin:.25em 0 .3em}
.book-page .ltop p:last-child{font-size:17px;opacity:.9}
.book-page .lmed{position:absolute;left:50%;top:50%;width:var(--lmd);height:var(--lmd);transform:translate(-50%,-50%)}
.book-page .lmd{position:absolute;inset:0;border-radius:50%;background:center/40% no-repeat var(--fig),center/92% no-repeat var(--med);animation:turn 140s linear infinite}
.book-page .lfig{display:none}
.book-page .lring{position:absolute;inset:-9%;width:118%;height:118%;transform:rotate(-90deg);overflow:visible}
.book-page .lrt{fill:none;stroke:rgba(233,201,135,.25);stroke-width:.6}
.book-page .lrp{fill:none;stroke:#E9C987;stroke-width:1.1;stroke-dasharray:100;stroke-dashoffset:100;stroke-linecap:round}
.book-page .lbot{position:absolute;left:50%;transform:translateX(-50%);top:calc(50% + var(--lmd) * .62);text-align:center;width:86vw}
.book-page .lgo{background:#E7067F;color:#fff;border:0;cursor:pointer}
.book-page .lcount{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-style:italic;font-size:22px;margin-top:10px;min-height:1.4em;color:#F3E6CC}
.book-page .lafter{position:absolute;left:50%;transform:translateX(-50%);top:calc(50% + var(--lmd) * .62);width:min(560px,88vw);text-align:center}
.book-page .lafter h2{font-family:Gloock,Georgia,serif;font-weight:400;font-size:clamp(26px,2.6vw,38px);outline:none}
.book-page .lq{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-style:italic;font-size:21px;margin:.2em 0 .7em}
.book-page .lform{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.book-page .lform input{flex:1 1 220px;max-width:300px;font:inherit;font-size:17px;padding:10px 12px;border:0;border-bottom:2px solid rgba(233,201,135,.6);background:rgba(243,230,204,.1);color:#F3E6CC;border-radius:4px 4px 0 0}
.book-page .lform input::placeholder{color:rgba(243,230,204,.6)}
.book-page .lform input:focus{outline:2px solid #E7067F;outline-offset:2px}
.book-page .lform .pill{background:#E7067F;color:#fff;border:0;cursor:pointer}
.book-page .lmsg{min-height:1.3em;font-weight:700;font-size:16px;margin-top:8px}
.book-page .lsmall{font-size:15px;opacity:.8;margin-top:4px}
.book-page .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.book-page .lstage.running .ltop,.book-page .lstage.done .ltop{opacity:0}
.book-page .lstage.done .lbot{display:none}
.book-page .lstage.done .lmed{transition:top .8s ease,width .8s ease,height .8s ease;top:30%;--lmd:var(--lmd2)}
/* THE HANDOFF CARD: one object that is first a record, then a card */
.book-page .flip{position:fixed;left:0;top:0;z-index:300;pointer-events:none;opacity:0;perspective:1600px}
.book-page .flin{position:absolute;inset:0;transform-style:preserve-3d}
.book-page .ff,.book-page .fbk{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.book-page .ff img,.book-page .fbk img{position:absolute;inset:0;width:100%;height:100%;max-width:none}
.book-page .fbk{transform:rotateY(180deg)}
.book-page .fbk .kmed{position:absolute;left:23%;top:48.8%;width:54%;aspect-ratio:1;transform:translateY(-50%);border-radius:50%;background:center/40% no-repeat var(--fig),center/92% no-repeat var(--med)}
.book-page .fbk img{transition:none}
.book-page .mplum{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none;opacity:0;z-index:8;pointer-events:none}
.book-page .kblue{position:absolute;inset:0;background:#0A3E50;opacity:0;z-index:30;pointer-events:none}
@media (prefers-reduced-motion: reduce){.book-page .lmd{animation:none}.book-page .lstage.done .lmed{transition:none}}

@media (prefers-reduced-motion: reduce){.book-page .cvspin{animation:none}}

@media (prefers-reduced-motion: reduce){.book-page .vcell,.book-page .mback,.book-page .mhead,.book-page .mside{transition:none}}

@media (prefers-reduced-motion: reduce){ .book-page .vspin{animation:none} .book-page .vin{transition:none} }

@media (prefers-reduced-motion: reduce){.book-page .kcard{transition:none}.book-page .klact{transition:none}}

@media (prefers-reduced-motion: reduce){
  .book-page .hero{height:100vh;height:100svh}
  .book-page .disc{animation:none}
  .book-page .words h1,.book-page .words .verse,.book-page .words .cite{transition:none}
  .book-page .invite .rose{--sc:1;clip-path:none!important}
  .book-page .flood{display:none}
  .book-page .invite{margin-top:0}
  .book-page .lf,.book-page .spread{transition:none!important}
  .book-page .cv-med .ring{animation:none}
}


/* ===== v2: one peacock feather carries the second half ===== */
.book-page .quill,.book-page .qeye{position:fixed;left:0;top:0;z-index:310;pointer-events:none;opacity:0;max-width:none;height:auto;will-change:transform,opacity}
.book-page .quill{transform-origin:50% 20%}
.book-page .qeye{transform-origin:50% 50%;z-index:311}
.book-page .qwash{position:fixed;inset:0;z-index:300;pointer-events:none;opacity:0;background:#E7067F}
.book-page .flip,.book-page .carrier,.book-page .mplum,.book-page .kblue,.book-page .lockblack,.book-page .fnext{display:none!important}
.book-page .lock-quill{position:absolute;z-index:1;left:50%;top:86%;width:19cqi;max-width:none;height:auto;transform:translate(-50%,-50%) rotate(90deg);pointer-events:none}
/* rooms overlap by one screen; each waits, hidden, until its stage reaches the top */
.book-page .lastroom{margin-top:-100vh;background:transparent!important;pointer-events:none}
.book-page .cardroom{height:260vh!important}
.book-page .lastroom{height:200vh}
.book-page .klight{pointer-events:auto}
/* saint cards: one shallow arc */
.book-page .kdeck{left:50%!important;top:0!important;width:0;height:0;transform:none!important}
.book-page .kcard{transform-origin:50% 50%!important}
.book-page .kstage.kph .kdeck{left:0!important;top:var(--ky)!important;width:100%;height:calc(var(--cw) / .7086 + 70px);transform:translateY(-50%)!important;display:flex;align-items:center;gap:6vw;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;padding:0 calc((100% - var(--cw)) / 2);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.book-page .kstage.kph .kdeck::-webkit-scrollbar{display:none}
.book-page .kstage.kph .kcard{position:relative!important;left:auto!important;top:auto!important;flex:0 0 var(--cw);transform:translate(var(--x,0),var(--y,0)) rotate(var(--r,0deg)) scale(var(--hs,1))!important;scroll-snap-align:center}
.book-page .kstage.kph .kswipe{display:block}
.book-page .kswipe{display:none;position:absolute;left:0;right:0;top:calc(var(--ky) + var(--cw) / .7086 / 2 + 66px);text-align:center;color:#E9C987;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-style:italic;font-size:18px}
.book-page .cardroom .khead{top:12vh!important}
/* the last minute: the feather's eye, opened up to fill the room */
.book-page .lstage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:radial-gradient(ellipse at 50% 48%,#1d4560 0,#143044 55%,#0c2232 100%);color:#F3E6CC;pointer-events:auto}
.book-page .lmtop{position:absolute;left:50%;transform:translateX(-50%);top:6vh;width:min(720px,88vw);text-align:center;opacity:0}
.book-page .lmtop .eyebrow{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:600;font-size:16px;letter-spacing:.3em;text-transform:uppercase;color:#E9C987;margin:0}
.book-page .lmtop h2{font-family:Gloock,Georgia,serif;font-weight:400;font-size:clamp(30px,3.4vw,50px);line-height:1.05;margin:.25em 0 .3em;text-wrap:balance}
.book-page .lmtop p.lmsub{font-size:17px;opacity:.9;margin:0}
.book-page .lmeye{position:absolute;opacity:0}
.book-page .lmeye svg{display:block;width:100%;height:auto;overflow:visible}
.book-page .lmrp{fill:none;stroke:#F6E3A6;stroke-width:4.5;stroke-dasharray:100;stroke-dashoffset:100;stroke-linecap:round}
.book-page .lmeye .lmcore{transition:opacity 1.2s ease}
.book-page .lstage.running .lmcore,.book-page .lstage.done .lmcore{opacity:0}
.book-page .lmcount{position:absolute;left:50%;top:57.7%;transform:translate(-50%,-50%);font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:600;font-size:calc(var(--lmw,300px) * .1);color:#F3E6CC;letter-spacing:.02em;font-variant-numeric:lining-nums tabular-nums}
.book-page .lstage.done .lmcount{opacity:0;transition:opacity .8s ease}
.book-page .lmbot{position:absolute;left:50%;transform:translateX(-50%);width:min(560px,90vw);text-align:center;opacity:0}
.book-page .lmpause{background:none;border:1px solid rgba(233,201,135,.6);color:#F3E6CC;border-radius:999px;font:inherit;font-weight:700;font-size:15px;padding:7px 16px;cursor:pointer}
.book-page .lmpause:focus-visible{outline:2px solid #E7067F;outline-offset:2px}
.book-page .lmq{font-family:Gloock,Georgia,serif;font-size:22px;margin:14px 0 10px}
.book-page .lmbot .lform{margin:0}
.book-page .lmbot .lsmall{font-size:16px;opacity:.85;margin-top:10px}
.book-page .lmbot .lmsg{min-height:1.3em;margin-top:6px}
.book-page .lmbook{position:absolute;left:50%;bottom:0;transform:translate(-50%,115%)}
.book-page .lmbook .lmcover{position:absolute;inset:0;width:100%;height:100%;max-width:none;z-index:2}
.book-page .lmqf{position:absolute;left:0;top:0;z-index:1;max-width:none;height:auto;opacity:0;transform-origin:50% 20%}
.book-page .vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-aspect-ratio:4/5){
  .book-page .lmtop{top:4vh}.book-page .lmtop p.lmsub{display:none}
  .book-page .lmq{font-size:20px;margin:10px 0 8px}
  .book-page .lmbot .lsmall{font-size:15px}
}

/* v3: real feather, one saturation band */
body.calma-book{--field:#C94A84}
.book-page .quill{transform-origin:50.2% 19.8%}
.book-page .qeye{transform-origin:49.5% 52.46%}
.book-page .lock-quill{width:18cqi!important}
.book-page .lmqf{transform-origin:50.2% 19.8%}
.book-page .lmeye img{display:block;width:100%;height:auto;max-width:none}
.book-page .lmeye svg{position:absolute;inset:0;width:100%;height:100%}
.book-page .lmrp{stroke:#F3DE9C;stroke-width:34}
.book-page .lmcount{top:55.4%!important;font-size:calc(var(--lmw,300px) * .075)!important}
.book-page .flood,.book-page .iris,.book-page .cblack,.book-page .mblack,.book-page .fdark{background:var(--field)!important}
.book-page .dawn{filter:saturate(.84) brightness(.97)}
.book-page .invite{background:var(--field)!important}
.book-page .rose{filter:saturate(.85)}
.book-page .cstrip.b,.book-page .fborder{filter:saturate(.72) brightness(.96)}

/* v4: the feather falls, it never flies */
.book-page .lock-quill{display:none!important}
.book-page .kstage.kph .kswipe{display:none!important}
.book-page .lstage{background:radial-gradient(ellipse at 50% 48%,#5e1c40 0,#4A1430 55%,#2f0b1e 100%)!important}
.book-page .lmeye{z-index:3}
.book-page .lmbook{z-index:2;transform:translateX(-50%)!important}
.book-page .lmpage{position:absolute;inset:0;width:100%;height:100%;max-width:none;z-index:0;opacity:0;transform-origin:50% 50%}
.book-page .lmbook .lmcover{transform-origin:0 50%;opacity:0}
.book-page .lastroom{z-index:3!important}

/* v5: menu, footer after Minute Mindfulness, peacock and the app on her phone */
.book-page .cmenu{position:fixed;left:0;right:0;top:0;z-index:400;display:flex;justify-content:space-between;align-items:center;padding:calc(14px + env(safe-area-inset-top,0px)) clamp(16px,3vw,36px) 0;pointer-events:none;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .35s ease}
.book-page .cmenu.away{transform:translateY(-130%);opacity:0}
.book-page .cmenu>*{pointer-events:auto}
.book-page .cm-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#F5F0E8}
.book-page .cm-med{position:relative;width:44px;height:44px;display:block}
.book-page .cm-med i,.book-page .cm-med b{position:absolute;inset:0;background-position:center;background-repeat:no-repeat}
.book-page .cm-med i{background-image:var(--medimg);background-size:100%;animation:turn 30s linear infinite;animation-play-state:paused}
.book-page .cm-med b{background-image:var(--figimg);background-size:44%}
.book-page .cm-brand:hover .cm-med i,.book-page .cm-brand:focus-visible .cm-med i,.book-page .cm-sheet .cm-med i{animation-play-state:running}
.book-page .cm-wm{font-family:Cinzel,Georgia,serif;font-weight:600;letter-spacing:.24em;font-size:15px;transition:opacity .4s ease}
.book-page .cm-wm.gone{opacity:0;pointer-events:none}
.book-page .cm-btn{display:inline-flex;align-items:center;gap:10px;background:#E7067F;color:#fff;border:0;border-radius:999px;padding:11px 20px 11px 16px;font:700 16px/1 "Jost",system-ui,sans-serif;cursor:pointer;min-height:44px}
.book-page .cm-btn:focus-visible,.book-page .cm-brand:focus-visible,.book-page .cm-links a:focus-visible,.book-page .cm-store:focus-visible,.book-page .cm-soc a:focus-visible{outline:2px solid #F3DE9C;outline-offset:3px}
.book-page .cm-lines{display:grid;gap:5px;width:18px}.book-page .cm-lines i{display:block;height:2px;background:#fff;border-radius:2px}.book-page .cm-lines i:last-child{width:70%}
.book-page .cm-sheet{position:fixed;inset:0;z-index:500;background:radial-gradient(ellipse at 30% 20%,#3d1650 0,#260F4E 55%,#170838 100%);color:#F5F0E8;display:flex;flex-direction:column;padding:calc(14px + env(safe-area-inset-top,0px)) clamp(16px,3vw,36px) calc(24px + env(safe-area-inset-bottom,0px));overflow-y:auto;transform:translateY(-100%);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.book-page .cm-sheet.in{transform:none}
.book-page .cm-top{display:flex;justify-content:space-between;align-items:center}
.book-page .cm-close{background:transparent;border:1.5px solid rgba(243,222,156,.6)}
.book-page .cm-body{flex:1;display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(24px,5vw,80px);align-items:center;max-width:1240px;width:100%;margin:0 auto;padding:clamp(24px,5vh,56px) 0}
.book-page .cm-links{display:grid;gap:clamp(6px,1.4vh,14px)}
.book-page .cm-links a{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;text-decoration:none;color:#F5F0E8;padding:4px 0}
.book-page .cm-n{font-family:Gloock,Georgia,serif;font-size:clamp(34px,4.4vw,64px);line-height:1;transition:color .25s ease,transform .25s ease}
.book-page .cm-l{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-style:italic;font-size:clamp(18px,1.5vw,22px);color:#E9C987}
.book-page .cm-links a:hover .cm-n{color:#F3A9C8;transform:translateX(6px)}
.book-page .cm-links a[aria-current] .cm-n{color:#F3A9C8}
.book-page .cm-side{display:grid;gap:28px;align-content:center}
.book-page .cm-app{display:flex;gap:18px;align-items:center}
.book-page .cm-icon{width:88px;height:88px;border-radius:22.5%;flex:none;display:block}
.book-page .cm-ah{font-family:Gloock,Georgia,serif;font-size:24px;line-height:1.15;margin:0 0 4px}
.book-page .cm-as{font-size:16px;opacity:.88;margin:0 0 12px}
.book-page .cm-store{display:inline-block;background:#F5F0E8;color:#610E36;border-radius:999px;padding:12px 18px;font-weight:700;font-size:16px;text-decoration:none}
.book-page .cm-soc{display:flex;gap:22px;margin:0;font-size:17px}.book-page .cm-soc a{color:#F5F0E8;text-underline-offset:5px}
@media (max-width:820px){.book-page .cm-body{grid-template-columns:1fr;align-items:start}.book-page .cm-links a{display:grid;gap:2px}.book-page .cm-n{font-size:clamp(32px,9vw,44px)}.book-page .cm-wm{font-size:13px;letter-spacing:.2em}.book-page .cm-med{width:38px;height:38px}}
@media (prefers-reduced-motion:reduce){.book-page .cm-sheet,.book-page .cmenu{transition:none}.book-page .cm-med i{animation:none}}
/* phone room: the peacock and the app */
.book-page .pea{position:absolute;inset:0;z-index:4;background:var(--field);visibility:hidden;will-change:transform;overflow:hidden}
.book-page .pea-img{position:absolute;left:0;top:0;width:100%;height:auto;max-width:none;-webkit-mask-image:linear-gradient(#000 88%,transparent);mask-image:linear-gradient(#000 88%,transparent)}
.book-page .pea-app{position:absolute;left:0;right:0;bottom:5%;display:grid;justify-items:center;text-align:center;padding:0 8%;color:#FFF8FB}
.book-page .pea-icon{width:18cqi;height:18cqi;border-radius:22.5%;display:block;margin-bottom:3cqi}
.book-page .pea-h{font-family:Gloock,Georgia,serif;font-size:max(17px,7.4cqi);line-height:1.08;margin:0 0 1.5cqi;text-wrap:balance}
.book-page .pea-s{font-size:max(13px,4.2cqi);margin:0 0 4cqi;opacity:.92}
.book-page .pea-btn{display:inline-block;background:#FFF8FB;color:#610E36;border-radius:999px;padding:3cqi 6cqi;font-weight:700;font-size:max(13px,4.2cqi);text-decoration:none;white-space:nowrap}
/* footer, after Minute Mindfulness, in the page's field rose */
.book-page .foot2{background:#E7067F!important;color:#FFF8FB}
.book-page .foot2 .fborder{position:relative}
.book-page .foot2 .ftin{padding:clamp(48px,8vh,84px) clamp(24px,7vw,120px) 0;overflow:hidden}
.book-page .foot2 a{color:#FFF8FB;text-decoration:none}.book-page .foot2 a:hover{text-decoration:underline;text-underline-offset:5px}
.book-page .foot2 .f2app{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,80px);align-items:center;max-width:1180px;margin:0 auto clamp(56px,9vh,96px)}
.book-page .foot2 .k{font-family:Cinzel,Georgia,serif;font-weight:600;letter-spacing:.18em;font-size:14px;margin:0 0 1em}
.book-page .foot2 h2{font-family:Gloock,Georgia,serif;font-weight:400;font-size:clamp(40px,5vw,78px);line-height:1;letter-spacing:-.01em;margin:0 0 .4em;color:#FFF8FB}
.book-page .foot2 p.d{font-size:clamp(17px,1.4vw,21px);line-height:1.5;margin:0 0 1.6em;max-width:34ch}
.book-page .foot2 .store{display:inline-flex;align-items:center;gap:.6em;background:#FFF8FB;color:#610E36;border-radius:999px;padding:1em 1.6em;font:700 17px/1 "Jost",system-ui,sans-serif}
.book-page .foot2 .store:hover{text-decoration:none;transform:translateY(-2px)}
.book-page .foot2 .store small{display:block;font:500 11px/1 "Jost",system-ui,sans-serif;letter-spacing:.06em;opacity:.75;margin-bottom:4px}
.book-page .foot2 .free{font-size:15px;margin:14px 0 0;opacity:.9}
.book-page .foot2 .f2phone{justify-self:center;position:relative;width:min(188px,46vw);aspect-ratio:9/19;border-radius:32px;background:#1B1320;padding:9px;box-shadow:0 24px 48px rgba(97,14,54,.35)}
.book-page .foot2 .scr{position:relative;width:100%;height:100%;border-radius:24px;background:#F5F0E8;overflow:hidden;display:grid;justify-items:center;align-content:center;text-align:center;padding:18px}
.book-page .foot2 .notch{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:34%;height:15px;border-radius:10px;background:#1B1320}
.book-page .foot2 .pclock{position:relative;width:74%;aspect-ratio:1;margin-bottom:14px}
.book-page .foot2 .pclock svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.book-page .foot2 .pclock .pm{position:absolute;left:8%;top:8%;width:84%;height:84%;max-width:none;will-change:transform}
.book-page .foot2 .pclock .pf{position:absolute;left:50%;top:50%;height:34%;width:auto;max-width:none;transform:translate(-50%,-52%)}
.book-page .foot2 .pn{font-family:Gloock,Georgia,serif;font-size:18px;color:#E7067F;margin:0 0 8px}
.book-page .foot2 .pt{font-family:Gloock,Georgia,serif;font-size:13px;line-height:1.2;color:#610E36;margin:0 0 16px}
.book-page .foot2 .pb{font:700 10px/1 "Jost",system-ui,sans-serif;color:#FFF8FB;background:#E7067F;border-radius:999px;padding:9px 14px}
.book-page .foot2 .fcols{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;max-width:1180px;margin:0 auto;padding:clamp(32px,5vh,48px) 0;border-top:1.5px solid rgba(255,248,251,.35)}
.book-page .foot2 .fcols h3{font-family:Cinzel,Georgia,serif;font-weight:600;letter-spacing:.16em;font-size:13px;margin:0 0 14px;color:#FFF8FB}
.book-page .foot2 .fcols ul{list-style:none;margin:0;padding:0}.book-page .foot2 .fcols li{margin:0 0 10px;font-size:16px}
.book-page .foot2 .fcols .line{font-family:Gloock,Georgia,serif;font-size:22px;line-height:1.25;margin:0}
.book-page .foot2 .flegal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;max-width:1180px;margin:0 auto;padding:18px 0 22px;font-size:14px;border-top:1.5px solid rgba(255,248,251,.35)}
.book-page .foot2 .fbig{font-family:Cinzel,Georgia,serif;font-weight:600;letter-spacing:.06em;font-size:clamp(48px,11.2vw,190px);line-height:.8;text-align:center;color:#FFF8FB;margin:clamp(12px,3vh,32px) 0 0;white-space:nowrap;transform:translateY(.12em);opacity:.95}
@media (max-width:760px){.book-page .foot2 .f2app{grid-template-columns:1fr}.book-page .foot2 .f2phone{justify-self:start}.book-page .foot2 .fcols{grid-template-columns:1fr 1fr}}
.book-page .hero .mark{display:none!important}
.book-page .lmbook{bottom:calc(21vh + env(safe-area-inset-bottom,0px))!important}

/* v6: the peacock carries the second half; a capsule menu; the tarot border */
.book-page .musroom,.book-page .cardroom{margin-top:-100vh;background:transparent!important;pointer-events:none}
.book-page .fborder{height:clamp(56px,6.4vw,96px)!important;background-size:auto 100%!important;filter:none!important}
.book-page .pkcam{position:fixed;left:0;top:0;width:100vw;height:100vh;z-index:305;pointer-events:none;transform-origin:0 0;will-change:transform}
.book-page .kstage{will-change:transform}
.book-page .pk{position:absolute;left:0;top:0;width:686px;height:583px;transform-origin:0 0;opacity:0;will-change:transform}
.book-page .pkt{position:absolute;left:0;top:0;width:686px;height:580px;max-width:none;-webkit-mask-image:conic-gradient(from calc(var(--A,0deg) * -1) at 344px 350px,#000 0deg,#000 calc(var(--A,0deg) * 2),transparent calc(var(--A,0deg) * 2 + 6deg));mask-image:conic-gradient(from calc(var(--A,0deg) * -1) at 344px 350px,#000 0deg,#000 calc(var(--A,0deg) * 2),transparent calc(var(--A,0deg) * 2 + 6deg))}
.book-page .pkb{position:absolute;left:70px;top:70px;width:553px;height:513px;max-width:none}
.book-page #peaBird{z-index:1}
.book-page .pea-app{z-index:2}
.book-page .lmend{position:absolute;left:50%;bottom:calc(4vh + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:min(760px,90vw);text-align:center;opacity:0;z-index:4}
.book-page .lmend p{font-family:Gloock,Georgia,serif;font-size:clamp(19px,1.7vw,24px);line-height:1.2;margin:0 0 12px;color:#F5F0E8;text-wrap:balance}
.book-page .lmend .pill{display:inline-flex;align-items:center;gap:8px;background:#E7067F;color:#fff;border-radius:999px;padding:12px 20px;font-weight:700;font-size:16px;text-decoration:none;min-height:44px}
.book-page .lmend .pill svg{width:16px;height:16px}
.book-page .cm2{position:fixed;left:0;right:0;top:calc(12px + env(safe-area-inset-top,0px));z-index:400;display:flex;justify-content:center;pointer-events:none;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .35s ease;padding:0 12px}
.book-page .cm2.away{transform:translateY(-140%);opacity:0}
.book-page .cm2-cap{pointer-events:auto;display:flex;align-items:center;gap:4px;background:rgba(245,240,232,.95);border-radius:999px;padding:6px 6px 6px 8px;box-shadow:0 8px 28px rgba(38,15,78,.22)}
.book-page .cm2-home{display:block;padding:2px;border-radius:50%}
.book-page .cm2-home .cm-med{width:38px;height:38px}
.book-page .cm2-home:hover .cm-med i,.book-page .cm2-home:focus-visible .cm-med i{animation-play-state:running}
.book-page .cm2-links{display:flex;align-items:center}
.book-page .cm2-l{position:relative;color:#260F4E;text-decoration:none;font:600 15px/1 "Jost",system-ui,sans-serif;padding:12px 13px;border-radius:999px;white-space:nowrap}
.book-page .cm2-l:hover{background:rgba(38,15,78,.07)}
.book-page .cm2-l[aria-current]::after{content:"";position:absolute;left:50%;bottom:3px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:#E7067F}
.book-page .cm2-app{background:#E7067F;color:#fff;text-decoration:none;font:700 15px/1 "Jost",system-ui,sans-serif;padding:13px 18px;border-radius:999px;margin-left:6px;white-space:nowrap}
.book-page .cm2-more{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;background:#260F4E;cursor:pointer;margin-left:4px}
.book-page .cm2-more .cm-lines i{background:#F5F0E8}
.book-page .cm2-l:focus-visible,.book-page .cm2-app:focus-visible,.book-page .cm2-more:focus-visible,.book-page .cm2-home:focus-visible,.book-page .cm2-sheet a:focus-visible,.book-page .cm2-close:focus-visible{outline:2px solid #E7067F;outline-offset:2px}
.book-page .cm2-back{position:fixed;inset:0;z-index:490;background:rgba(27,19,32,.45);opacity:0;transition:opacity .35s ease}
.book-page .cm2-back.in{opacity:1}
.book-page .cm2-sheet{position:fixed;left:0;right:0;bottom:0;z-index:500;background:#F5F0E8;color:#260F4E;border-radius:26px 26px 0 0;padding:10px 22px calc(22px + env(safe-area-inset-bottom,0px));max-height:88vh;overflow-y:auto;transform:translateY(105%);transition:transform .42s cubic-bezier(.2,.8,.2,1)}
.book-page .cm2-sheet.in{transform:none}
.book-page .cm2-grab{display:block;width:42px;height:5px;border-radius:3px;background:rgba(38,15,78,.25);margin:0 auto 14px}
.book-page .cm2-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin-bottom:18px}
.book-page .cm2-grid a{display:grid;gap:3px;padding:12px 10px;border-radius:14px;text-decoration:none;color:#260F4E;background:rgba(38,15,78,.05)}
.book-page .cm2-grid a[aria-current]{background:rgba(231,6,127,.1)}
.book-page .cm2-n{font-family:Gloock,Georgia,serif;font-size:21px;line-height:1.05}
.book-page .cm2-s{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-style:italic;font-size:16px;color:#610E36}
.book-page .cm2-sheet .cm-app{margin:4px 0 14px}.book-page .cm2-sheet .cm-ah{color:#260F4E;font-size:20px}.book-page .cm2-sheet .cm-as{color:#260F4E}
.book-page .cm2-sheet .cm-store{background:#E7067F;color:#fff}
.book-page .cm2-soc{display:flex;gap:20px;margin:0 0 14px}.book-page .cm2-soc a{color:#260F4E;font-weight:600}
.book-page .cm2-close{width:100%;min-height:46px;border-radius:999px;border:1.5px solid rgba(38,15,78,.3);background:transparent;color:#260F4E;font:700 16px/1 "Jost",system-ui,sans-serif;cursor:pointer}
@media (max-width:1020px){.book-page .cm2{justify-content:flex-end}.book-page .cm2-links{display:none}.book-page .cm2-more{display:inline-flex}.book-page .cm2-cap{width:100%;justify-content:flex-start}.book-page .cm2-app{margin-left:auto}}
@media (prefers-reduced-motion:reduce){.book-page .cm2,.book-page .cm2-sheet,.book-page .cm2-back{transition:none}}
.book-page .cardroom{overflow:clip}
html,body.calma-book{overflow-x:clip}

/* v7: app blocks use the icon, Apple's badge and iPhone only; the footer phone gets colour */
.book-page .pea-badge{display:block;line-height:0}.book-page .pea-badge img{height:max(34px,11cqi);width:auto;display:block}
.book-page .pea-only{font-size:max(12px,3.6cqi);margin:2.2cqi 0 0;opacity:.92}
.book-page .appbadge{display:inline-block;line-height:0;border-radius:8px}.book-page .appbadge img{height:48px;width:auto;display:block}
.book-page .appbadge:focus-visible{outline:2px solid #F3DE9C;outline-offset:3px}
.book-page .appnote{font-size:15px;margin:8px 0 0;opacity:.9}
.book-page .cm2-sheet .appnote{color:#260F4E}
.book-page .f2get{display:flex;align-items:center;gap:18px}
.book-page .f2icon{width:76px;height:76px;border-radius:22.5%;display:block;flex:none;box-shadow:0 8px 20px rgba(97,14,54,.25)}
.book-page .foot2 .scr{background:url(img/book-3febace1b2.webp) top center/100% auto no-repeat,#C94A84!important;align-content:start!important;padding-top:34%!important}
.book-page .foot2 .pclock{width:62%!important;margin-bottom:auto!important}
.book-page .foot2 .pclock svg circle:first-child{stroke:rgba(255,248,251,.35)!important}
.book-page .foot2 .pn{color:#FFF8FB!important;margin-top:38%!important}
.book-page .foot2 .pt{color:#FFF8FB!important}
.book-page .foot2 .pb{background:#FFF8FB!important;color:#E7067F!important}
.book-page .foot2 .pclock{background:radial-gradient(circle,#F5F0E8 0 47%,transparent 48%)}
.book-page .foot2 .pclock svg circle:last-child{stroke:#FFF8FB!important}

/* v8: the footer phone is the app's own front door */
.book-page .foot2 .f2phone{display:block;text-decoration:none!important}
.book-page .foot2 .f2phone:hover{transform:translateY(-3px);transition:transform .3s ease}
.book-page .foot2 .f2phone:focus-visible{outline:3px solid #F3DE9C;outline-offset:6px}
.book-page .foot2 .scr{background:#260F4E!important;display:grid!important;align-content:center!important;justify-items:center;gap:0;padding:22px 14px!important}
.book-page .foot2 .scr .ph-icon{width:46%;height:auto;aspect-ratio:1;border-radius:22.5%;display:block;margin-bottom:14px;box-shadow:0 10px 24px rgba(0,0,0,.35)}
.book-page .foot2 .ph-name{font-family:Gloock,Georgia,serif;font-size:17px;line-height:1.1;color:#FFF8FB;margin-bottom:6px}
.book-page .foot2 .ph-line{font-size:11px;line-height:1.35;color:#F3DE9C;margin-bottom:16px;max-width:15ch}
.book-page .foot2 .ph-cta{font:700 12px/1 "Jost",system-ui,sans-serif;color:#fff;background:#E7067F;border-radius:999px;padding:10px 16px;margin-bottom:12px}
.book-page .foot2 .ph-badge{height:30px;width:auto;display:block;margin-bottom:8px}
.book-page .foot2 .ph-note{font-size:9.5px;color:#FFF8FB;opacity:.85}

/* v9: phone fixes */
@media (max-aspect-ratio:4/5){
  .book-page .fphone{top:calc(50% + 5vh)!important}
  .book-page .fside.l{display:block!important;left:50%!important;top:max(28px,4vh)!important;width:88vw!important;text-align:center;transform:translateX(-50%)!important;z-index:5}
  .book-page .fside.l h2{white-space:normal!important;text-wrap:balance}
  .book-page .fside.l p:not(.eyebrow){display:none}
  .book-page .fside.l h2{font-size:clamp(26px,7.4vw,34px)!important}
  .book-page .fside.l .eyebrow{font-size:14px;margin-bottom:.35em}
  .book-page .tome-ui .hint{max-width:76vw;margin-left:auto;margin-right:auto;font-size:16px;text-wrap:balance}
  .book-page .lmbot .lform input{flex:1 1 130px!important;min-width:0}
  .book-page .lmbot .lform{flex-wrap:nowrap!important}
}
@media (max-aspect-ratio:4/5) and (max-height:760px){
  .book-page .lmtop{top:3vh!important}.book-page .lmtop h2{font-size:28px!important}
  .book-page .lmq{font-size:18px!important;margin:8px 0 6px!important}
  .book-page .lmbot .lsmall{font-size:14px!important;margin-top:6px!important}
  .book-page .lmpause{padding:6px 14px!important}
}

/* v10: Saints at dawn, desktop, in the tarot style */
.book-page .pwing,.book-page .psaint{position:absolute;max-width:none;opacity:0}
.book-page .pwing{transform-origin:50% 60%}
.book-page .psaint{transform-origin:50% 100%}
.book-page .dawn:not(.phone){filter:none!important}
.book-page .dawn.phone{filter:none!important;background:#E8806E}
@media (max-aspect-ratio:4/5){ .book-page .scopy{top:7vh!important} .book-page .scopy h2{max-width:86vw!important;font-size:clamp(28px,8vw,36px)!important} .book-page .scopy p{max-width:80vw!important;font-size:15px!important} }

/* v11: the tarot peacock carries the page */
.book-page .pk{width:806px!important;height:684px!important}
.book-page .pkt{width:806px!important;height:563px!important;-webkit-mask-image:conic-gradient(from calc(var(--A,0deg) * -1) at 404px 544px,#000 0deg,#000 calc(var(--A,0deg) * 2),transparent calc(var(--A,0deg) * 2 + 6deg))!important;mask-image:conic-gradient(from calc(var(--A,0deg) * -1) at 404px 544px,#000 0deg,#000 calc(var(--A,0deg) * 2),transparent calc(var(--A,0deg) * 2 + 6deg))!important}
.book-page .pkb{left:308px!important;top:103px!important;width:194px!important;height:581px!important}
.book-page .pkf{position:absolute;left:95px;top:103px;width:618px;height:585px;max-width:none}
.book-page .vtitle{font-size:calc(var(--vd,160px) * .048)!important;letter-spacing:.02em!important;line-height:1.02!important;text-align:center;text-wrap:balance;left:28%!important;width:44%!important}

/* v10 (15 Oct): sitewide nav band, sound, the canonical end, 16px phone floor */
.book-page .cm2.band{position:fixed;top:0;left:0;right:0;z-index:400;display:flex;align-items:center;gap:22px;padding:calc(10px + env(safe-area-inset-top,0px)) clamp(16px,4vw,48px) 10px;color:#F5F0E8;pointer-events:auto;justify-content:flex-start}
.book-page .cm2.band::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:rgba(27,19,32,.48);-webkit-backdrop-filter:blur(8px) saturate(1.1);backdrop-filter:blur(8px) saturate(1.1)}
.book-page .cm2.band.away{transform:none;opacity:1}
.book-page .bmark{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-family:Cinzel,Georgia,serif;font-weight:500;font-size:18px;letter-spacing:.14em;white-space:nowrap;border-radius:8px}
.book-page .bmark .cm-med{width:40px;height:40px}
.book-page .blinks{display:flex;align-items:center;gap:26px;margin-left:auto;font:600 15px/1 "Jost",system-ui,sans-serif}
.book-page .blinks a{position:relative;color:inherit;text-decoration:none;padding:12px 0;white-space:nowrap}
.book-page .blinks a:hover{text-decoration:underline;text-decoration-color:#E7067F;text-decoration-thickness:2px;text-underline-offset:5px}
.book-page .blinks a[aria-current]::after{content:"";position:absolute;left:50%;bottom:2px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:#E7067F}
.book-page .blinks .send{background:#E7067F;color:#fff;font-weight:700;padding:11px 18px;border-radius:999px}
.book-page .blinks .send:hover{text-decoration:none;background:#C9056F}
.book-page .blinks .send:focus-visible{outline-color:#F5F0E8}
.book-page .sndbtn{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid rgba(245,240,232,.75);background:none;color:inherit;display:grid;place-items:center;cursor:pointer;padding:0}
.book-page .sndbtn .wv{display:none}.book-page .sndbtn[aria-pressed="true"] .wv{display:inline}.book-page .sndbtn[aria-pressed="true"] .xx{display:none}
.book-page .bmenu{display:none;flex:none;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid rgba(245,240,232,.75);background:none;color:#F5F0E8;font:600 16px/1 "Jost",system-ui,sans-serif;cursor:pointer}
.book-page .bmark:focus-visible,.book-page .blinks a:focus-visible,.book-page .sndbtn:focus-visible,.book-page .bmenu:focus-visible{outline:2px solid #E7067F;outline-offset:3px}
@media (max-width:1020px){.book-page .blinks{display:none}.book-page .cm2.band{gap:12px}.book-page .sndbtn{margin-left:auto}.book-page .bmenu{display:inline-flex;align-items:center}.book-page .bmark{font-size:16px}.book-page .bmark .cm-med{width:36px;height:36px}}
@media (max-width:360px){.book-page .bword{display:none}}
.book-page .lmapp{display:none;align-items:center;justify-content:center;gap:14px;margin:0 0 14px;text-align:left}
.book-page .lstage.done .lmapp{display:flex}
.book-page .lmicon{width:64px;height:64px;border-radius:22.5%;display:block;flex:none;box-shadow:0 8px 20px rgba(0,0,0,.3)}
.book-page .lmapp .appnote{color:#F5F0E8;font-size:16px;margin:6px 0 0}
.book-page .lstage.done .lmtop p.lmsub{display:block!important;font-size:17px;text-wrap:balance;max-width:34ch;margin:0 auto}
.book-page .lstage.done .lmtop h2{font-size:clamp(26px,3vw,44px)}
@media (max-aspect-ratio:4/5){
  .book-page .lmbot .lsmall,.book-page .lmbot .lsmall{font-size:16px!important}
  .book-page .lstage.done .lmtop p.lmsub{font-size:16px}
  .book-page .lstage.done .lmtop h2{font-size:24px!important}
  .book-page .lstage.done .lmbot .lsmall{display:none}
  .book-page .lmicon{width:54px;height:54px}.book-page .lmapp .appbadge img{height:42px}
}

/* v10: 16px floor on phones */
@media (max-width:760px){
  .book-page .who{font-size:max(16px,calc(var(--H) * .021))!important;letter-spacing:.18em!important}
  .book-page .exl{font-size:max(16px,calc(var(--H) * .02))!important;letter-spacing:.2em!important}
  .book-page .plate-sub{font-size:max(16px,calc(var(--H) * .032))!important}
  .book-page .yours-pill{font-size:16px!important;padding:0 16px!important}
  .book-page .eyebrow,.book-page .foot2 .k,.book-page .foot2 .fcols h3,.book-page .flegal,.book-page .appnote{font-size:16px!important}
  .book-page .foot2 .f2phone{display:none!important}
  .book-page .book-open .tome-row2{flex-wrap:wrap!important;justify-content:center!important;gap:4px 16px!important;max-width:92vw;margin-left:auto;margin-right:auto}
}
@media (max-width:820px) and (max-height:720px){.book-page .book3d{--H:min(52vh,calc(86vw / .7451))!important}.book-page .tome-in{top:calc(58px + 1vh)!important}.book-page .tome-ui{margin-top:2vh!important}}
.book-page .lmtop{top:calc(64px + 2vh)}
@media (max-aspect-ratio:4/5){.book-page .lmtop{top:calc(60px + env(safe-area-inset-top,0px))!important}.book-page .lstage.done .lmtop h2{font-size:22px!important;margin:0 0 .3em!important}.book-page .lstage.done .lmtop .eyebrow{display:none}}
@media (max-aspect-ratio:4/5){.book-page .lstage.done .lmtop{top:calc(74px + env(safe-area-inset-top,0px))!important}}

/* v12: sweet and salty. The saints hold the signs; the saint in red carries the red into the feed */
.book-page .dgone{display:none!important}
.book-page .sframe{display:none!important}
.book-page .dawn,.book-page .dawn.phone{filter:none!important}
.book-page .dawn .pbd{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 5%);mask-image:linear-gradient(to bottom,transparent 0,#000 5%)}
.book-page .sglow{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(255,236,170,.95) 0,rgba(255,214,140,.55) 22%,rgba(255,190,130,0) 62%);mix-blend-mode:screen;opacity:0;pointer-events:none;will-change:opacity,transform}
.book-page .dive{background:#C8102E!important}
.book-page .feedroom,.book-page .fstage,.book-page #fstage,.book-page .fscreen{background:#C8102E!important}
.book-page .fside{color:#F5F0E8!important}
.book-page .invite,.book-page .flood,.book-page .iris{background:#E7067F!important}
.book-page .kdiv{display:flex!important;align-items:center;justify-content:center;background:linear-gradient(#C4A265,#C4A265) left center/33% 1px no-repeat,linear-gradient(#C4A265,#C4A265) right center/33% 1px no-repeat!important}
.book-page .kdiv b{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:700;font-size:calc(var(--cw) * .03);letter-spacing:.22em;margin-right:-.22em;line-height:1;color:#9E1554}
@media (max-aspect-ratio:4/5){ .book-page .scopy h2{max-width:min(92vw,360px)!important;font-size:30px!important} .book-page .scopy p{max-width:min(70vw,262px)!important;font-size:16px!important} }
.book-page .foot2 .fbig{display:none!important}
.book-page .foot2 .flegal{padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))!important}


.book-page{box-sizing:border-box}

/* phone = reduced-motion version (generated) */
html.cs-lite .book-page .lmd{animation:none}
html.cs-lite .book-page .lstage.done .lmed{transition:none}
html.cs-lite .book-page .cvspin{animation:none}
html.cs-lite .book-page .vcell,html.cs-lite .book-page .mback,html.cs-lite .book-page .mhead,html.cs-lite .book-page .mside{transition:none}
html.cs-lite .book-page .vspin{animation:none}
html.cs-lite .book-page .vin{transition:none}
html.cs-lite .book-page .kcard{transition:none}
html.cs-lite .book-page .klact{transition:none}
html.cs-lite .book-page .hero{height:100vh;height:100svh}
html.cs-lite .book-page .disc{animation:none}
html.cs-lite .book-page .words h1,html.cs-lite .book-page .words .verse,html.cs-lite .book-page .words .cite{transition:none}
html.cs-lite .book-page .invite .rose{--sc:1;clip-path:none!important}
html.cs-lite .book-page .flood{display:none}
html.cs-lite .book-page .invite{margin-top:0}
html.cs-lite .book-page .lf,html.cs-lite .book-page .spread{transition:none!important}
html.cs-lite .book-page .cv-med .ring{animation:none}
html.cs-lite .book-page .cm-sheet,html.cs-lite .book-page .cmenu{transition:none}
html.cs-lite .book-page .cm-med i{animation:none}
html.cs-lite .book-page .cm2,html.cs-lite .book-page .cm2-sheet,html.cs-lite .book-page .cm2-back{transition:none}
/* end of generated phone block */
