:root{--art-bird-s:url(art/bird-s.webp);--art-bird:url(art/bird.webp);--art-bow-s:url(art/bow-s.webp);--art-bow:url(art/bow.webp);--art-corner-s:url(art/corner-s.webp);--art-corner:url(art/corner.webp);--art-couple:url(art/couple.webp);--art-dove-s:url(art/dove-s.webp);--art-dove:url(art/dove.webp);--art-eglant-s:url(art/eglant-s.webp);--art-eglant:url(art/eglant.webp);--art-fl14-s:url(art/fl14-s.webp);--art-fl14:url(art/fl14.webp);--art-fl8-s:url(art/fl8-s.webp);--art-fl8:url(art/fl8.webp);--art-garland-s:url(art/garland-s.webp);--art-garland:url(art/garland.webp);--art-grain:url(art/grain.webp);--art-grain-page:url(art/grain-page.webp);--art-hawthorn-s:url(art/hawthorn-s.webp);--art-hawthorn:url(art/hawthorn.webp);--art-honey-s:url(art/honey-s.webp);--art-honey:url(art/honey.webp);--art-lemon-s:url(art/lemon-s.webp);--art-lemon:url(art/lemon.webp);--art-magnolia-s:url(art/magnolia-s.webp);--art-magnolia:url(art/magnolia.webp);--art-rosef-s:url(art/rosef-s.webp);--art-rosef:url(art/rosef.webp);--art-rosew-s:url(art/rosew-s.webp);--art-rosew:url(art/rosew.webp);--art-salis-s:url(art/salis-s.webp);--art-salis:url(art/salis.webp);--art-scallop-s:url(art/scallop-s.webp);--art-scallop:url(art/scallop.webp);--art-temple-s:url(art/temple-s.webp);--art-temple:url(art/temple.webp);--art-tower-s:url(art/tower-s.webp);--art-tower:url(art/tower.webp);--art-trellis-s:url(art/trellis-s.webp);--art-trellis:url(art/trellis.webp);--art-tulip-s:url(art/tulip-s.webp);--art-tulip:url(art/tulip.webp);--art-vase-s:url(art/vase-s.webp);--art-vase:url(art/vase.webp);--art-vine-s:url(art/vine-s.webp);--art-vine:url(art/vine.webp);--art-wash:url(art/wash.webp);--art-wc:url(art/wc.webp);--art-wheat-s:url(art/wheat-s.webp);--art-wheat:url(art/wheat.webp);--art-wreath-s:url(art/wreath-s.webp);--art-wreath:url(art/wreath.webp)}
html,body{margin:0}img{max-width:100%}[hidden]:not([hidden=until-found i]){display:none!important}

.ai-wreath{--m:var(--art-wreath);--ms:var(--art-wreath-s)}
.ai-eglant{--ms:var(--art-eglant-s)}
.ai-rosef{--ms:var(--art-rosef-s)}
.ai-rosew{--ms:var(--art-rosew-s)}
.ai-tulip{--ms:var(--art-tulip-s)}
.ai-dove{--ms:var(--art-dove-s)}
.ai-honey{--ms:var(--art-honey-s)}
.ai-wheat{--ms:var(--art-wheat-s)}
.ai-scallop{--ms:var(--art-scallop-s)}
.ai-trellis{--ms:var(--art-trellis-s)}
.ai-hawthorn{--ms:var(--art-hawthorn-s)}
.ai-tower{--ms:var(--art-tower-s)}
.ai-salis{--ms:var(--art-salis-s)}
.lp-thumb .ai.eng,.lp-thumb .ai-tower,.lp-thumb .ai-salis,.lp-thumb .mo-img,.tpl .thumb .ai.eng,.tpl .thumb .ai-tower,.tpl .thumb .ai-salis,.dt .dai.eng,.dt .ai-tower,.dt .ai-salis,.dthumb .ai.eng,.dthumb .ai-tower,.dthumb .ai-salis,.mini .ai.eng,.mini .ai-tower,.mini .ai-salis{-webkit-mask-image:var(--ms,var(--m))!important;mask-image:var(--ms,var(--m))!important}
.ai-eglant{--m:var(--art-eglant)}
.ai-rosef{--m:var(--art-rosef)}
.ai-rosew{--m:var(--art-rosew)}
.ai-tulip{--m:var(--art-tulip)}
.ai-dove{--m:var(--art-dove)}
.ai-honey{--m:var(--art-honey)}
.ai-wheat{--m:var(--art-wheat)}
.ai-scallop{--m:var(--art-scallop)}
.ai-trellis{--m:var(--art-trellis)}
.ai-hawthorn{--m:var(--art-hawthorn)}
.ai-wc{background-image:var(--art-wc)}
.ai-tower{--m:var(--art-tower)}
.ai-salis{--m:var(--art-salis)}
.page.grain::after{background-image:var(--art-grain-page)}
.ai-fl8{--m:var(--art-fl8)}
.ai-fl8{--ms:var(--art-fl8-s)}
.ai-fl14{--m:var(--art-fl14)}
.ai-fl14{--ms:var(--art-fl14-s)}
.ai-bird{--m:var(--art-bird)}
.ai-bird{--ms:var(--art-bird-s)}
.ai-vine{--m:var(--art-vine)}
.ai-vine{--ms:var(--art-vine-s)}
.ai-corner{--m:var(--art-corner)}
.ai-corner{--ms:var(--art-corner-s)}
.ai-garland{--m:var(--art-garland)}
.ai-garland{--ms:var(--art-garland-s)}
.ai-bow{--m:var(--art-bow)}
.ai-bow{--ms:var(--art-bow-s)}
.ai-lemon{--m:var(--art-lemon)}
.ai-lemon{--ms:var(--art-lemon-s)}
.ai-magnolia{--m:var(--art-magnolia)}
.ai-magnolia{--ms:var(--art-magnolia-s)}
.ai-vase{--m:var(--art-vase)}
.ai-vase{--ms:var(--art-vase-s)}
.ai-temple{--m:var(--art-temple)}
.ai-temple{--ms:var(--art-temple-s)}


:root{
  --bg:#fafaf9;--surface:#fff;--muted:#f4f3f1;--muted-2:#eceae6;--border:#e9e7e3;--border-2:#d9d6d1;
  --ink:#1f1e1c;--ink-2:#55514c;--quiet:#8e8a84;
  --gold-50:#fffaf2;--gold-100:#fff3e4;--gold-200:#ffe6c9;--gold-300:#f0cfa2;--gold:#b68235;--gold-700:#8a6127;--gold-900:#5d4119;
  --ui:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --r:8px;--r-lg:12px;
  --spring:cubic-bezier(.34,1.56,.64,1);--turn:cubic-bezier(.55,.05,.2,1);--out:cubic-bezier(.2,.8,.2,1);
  --pw:min(280px,62vw);--open:1;--sheet:#fffdf8;
}
@media (max-width:700px){:root{--open:.7}}
@media (max-height:800px) and (min-width:701px){:root{--pw:230px}}
@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
[hidden]{display:none!important}
*{box-sizing:border-box}
html,body{height:100%;background:var(--bg);color:var(--ink)}
body{font-family:var(--ui);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;margin:0;font-feature-settings:"cv11","ss01"}
button,input,textarea,select{font:inherit;color:inherit}
svg.i{width:18px;height:18px;fill:currentColor;flex:none}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* ---------- primitives ---------- */
.logo{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);min-width:0}
.logo .sq{width:28px;height:28px;border-radius:7px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:700;font-size:15px;flex:none;transition:transform 450ms var(--spring)}
.logo:hover .sq{transform:rotate(-8deg)}
.logo .word{font-weight:600;font-size:15px;letter-spacing:-.01em;white-space:nowrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:var(--r);border:1px solid var(--ink);background:var(--ink);color:#fff;font-weight:600;font-size:14px;cursor:pointer;white-space:nowrap;transition:background .15s,transform 450ms var(--spring)}
.btn svg{transition:transform 450ms var(--spring)}
.btn:hover{background:#000}
.btn:hover svg.nudge{transform:translateX(3px)}
.btn:active{transform:scale(.97)}
.btn.lg{height:48px;padding:0 20px;font-size:15px;border-radius:10px}
.btn.ghost{background:transparent;border-color:transparent;color:var(--ink-2)}
.btn.ghost:hover{background:var(--muted);color:var(--ink)}
.btn.outline{background:var(--surface);border-color:var(--border-2);color:var(--ink)}
.btn.outline:hover{background:var(--muted)}
.btn.ready{animation:ping 600ms var(--spring)}
@keyframes ping{40%{transform:scale(1.06)}}
.shake{animation:shake 400ms ease}
@keyframes shake{20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}
.ib{width:36px;height:36px;border-radius:var(--r);border:0;background:transparent;display:grid;place-items:center;cursor:pointer;color:var(--ink-2);transition:background .15s,color .15s}
.ib:hover{background:var(--muted);color:var(--ink)}
.ib:disabled{opacity:.35;cursor:default;background:transparent}
.ib.on{background:var(--muted-2);color:var(--ink)}
.ib svg{transition:transform 450ms var(--spring)}
.ib:hover:not(:disabled) svg.spin-l{transform:rotate(-45deg)}
.ib:hover:not(:disabled) svg.spin-r{transform:rotate(45deg)}
.ib:hover:not(:disabled) svg.pop{transform:scale(1.12)}
.chip{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:var(--r);border:1px solid var(--border-2);background:var(--surface);cursor:pointer;font-size:14px;font-weight:500;white-space:nowrap;color:var(--ink);transition:background .15s,border-color .15s}
.chip svg{color:var(--ink-2);transition:transform 450ms var(--spring),color .15s}
.chip:hover{background:var(--muted)}
.chip:hover svg{transform:translateY(-1px) scale(1.08)}
.chip[aria-pressed=true]{background:var(--gold-100);border-color:var(--gold);color:var(--gold-900)}
.chip[aria-pressed=true] svg{color:var(--gold-700)}
.field{min-width:0;display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;border-radius:var(--r);border:1px solid var(--border-2);background:var(--surface);transition:border-color .15s,box-shadow .15s}
.field svg{color:var(--quiet);transition:color .15s}
.field input{flex:1;min-width:0;border:0;background:transparent;font-size:14px;height:38px;outline:none}
.field input::placeholder,.ta::placeholder{color:var(--quiet)}
.field:hover{border-color:var(--quiet)}
.field:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-100)}
.field:focus-within svg{color:var(--gold-700)}
.ta{border-radius:var(--r);border:1px solid var(--border-2);background:var(--surface);padding:9px 12px;min-height:96px;resize:vertical;width:100%;font-size:14px;line-height:1.55;transition:border-color .15s,box-shadow .15s}
.ta:hover{border-color:var(--quiet)}
.ta:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-100)}
.bar2{display:flex;gap:4px}
.bar2 span{width:28px;height:4px;border-radius:4px;background:var(--border-2)}
.bar2 span.on{background:var(--ink)}

/* ---------- colour tiles ---------- */
.tile{width:36px;height:36px;border-radius:11px;background:var(--tb,var(--muted));color:var(--tf,var(--ink-2));display:grid;place-items:center;flex:none;transition:transform 450ms var(--spring),background .2s}
.tile svg{width:19px;height:19px}
.c-rose{--tb:#fde7ee;--tf:#d63d6b}.c-amber{--tb:#fff0d4;--tf:#c27a07}.c-sky{--tb:#e2efff;--tf:#2d6fd2}
.c-violet{--tb:#eee7ff;--tf:#7448d8}.c-mint{--tb:#dcf5e8;--tf:#16935c}.c-coral{--tb:#ffe6dc;--tf:#dd5a31}
.c-teal{--tb:#dbf3f3;--tf:#11848a}.c-ink{--tb:#efeeec;--tf:#3a3733}.c-gold{--tb:#fff0dc;--tf:#a8741f}

/* ---------- onboarding: Letterpress ---------- */
#onboard{--paper:#f3eee5;--ink:#2a2622;--muted:#6f665c;--faint:#8a7f72;--rule:#d9cfc1;--gold:#9a6f38;--navy:#1f3f63;--olive:#6b7a3a;
  min-height:100vh;min-height:100dvh;position:relative;overflow:hidden;background-color:var(--paper);color:var(--ink);font-family:'Jost',system-ui,sans-serif;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .25 0 0 0 0 .2 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
#onboard svg.i{width:20px;height:20px;fill:currentColor}
.lp-prog{position:fixed;top:0;left:0;right:0;height:2px;z-index:30}
.lp-prog span{display:block;height:100%;width:0;background:var(--gold);transition:width 700ms var(--out)}
.lp-brand{position:absolute;top:28px;left:0;right:0;display:flex;justify-content:center;z-index:5;pointer-events:none}
.lp-brand a{pointer-events:auto;font-size:11.5px;font-weight:400;letter-spacing:.28em;text-transform:uppercase;color:var(--faint);text-decoration:none;padding:6px 10px}
.lp-back{position:fixed;top:18px;left:18px;z-index:20;width:46px;height:46px;border-radius:50%;border:1px solid var(--rule);background:rgba(255,253,248,.7);display:grid;place-items:center;cursor:pointer;color:var(--ink);transition:opacity .3s,transform .45s var(--spring),background .2s,border-color .2s}
.lp-back svg{transition:transform .45s var(--spring)}
@media (hover:hover){.lp-back:hover{background:#fffdf8;border-color:#b9ab98}.lp-back:hover svg{transform:translateX(-3px)}}
#onboard[data-step=welcome] .lp-back,#onboard[data-step=build] .lp-back{opacity:0;pointer-events:none;transform:scale(.8)}

.lp-stage{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,300px) minmax(0,460px);justify-content:center;align-items:center;gap:72px;padding:90px 32px 70px}
.lp-cardcol{display:grid;place-items:center;position:relative;transition:transform 700ms var(--out)}
.lp-q{display:grid;grid-template-columns:minmax(0,1fr)}
.lp-step{grid-area:1/1;min-width:0;transition:opacity 420ms var(--out)}
.lp-step > *{transition:transform 560ms var(--out)}
.lp-step.pre{opacity:0}.lp-step.pre > *{transform:translateY(14px)}
.lp-step.leave{opacity:0;transition-duration:220ms}
#onboard[data-step=welcome] .lp-stage,#onboard[data-step=build] .lp-stage{grid-template-columns:minmax(0,1fr);gap:40px;justify-items:center;align-content:center}
#onboard[data-step=welcome] .lp-q,#onboard[data-step=build] .lp-q{text-align:center;width:min(640px,100%)}

.lp-h{font-family:'Jost',sans-serif;font-weight:300;letter-spacing:-.015em;line-height:1.08;margin:0;text-wrap:balance}
.lp-h em{font-style:normal;font-weight:400;color:var(--gold)}
h1.lp-h{font-size:clamp(40px,6.2vw,64px)}
h2.lp-h{font-size:clamp(32px,3.8vw,42px)}
.lp-lede{color:var(--muted);font-size:17px;font-weight:300;margin:14px 0 0}
.lp-row{display:flex;align-items:center;gap:14px;margin-top:32px}
#onboard[data-step=welcome] .lp-row,#onboard[data-step=build] .lp-row{justify-content:center}
.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;padding:0 28px;border-radius:999px;border:0;background:var(--ink);color:var(--paper);font-family:'Jost';font-size:16px;font-weight:400;letter-spacing:.03em;cursor:pointer;transition:transform 450ms var(--spring),background .2s}
.lp-btn svg{transition:transform 450ms var(--spring)}
.lp-btn:active{transform:scale(.97)}
@media (hover:hover){.lp-btn:hover{background:#000}.lp-btn:hover svg{transform:translateX(4px)}}
.lp-btn.round{width:58px;height:58px;padding:0}

.lp-fields{display:grid;gap:14px;margin-top:30px}
.lp-fields.two{grid-template-columns:1.3fr 1fr;gap:22px}
.lp-line{position:relative;display:flex;align-items:center;gap:12px;border-bottom:1px solid #cbbfae;transition:border-color .2s}
.lp-line:focus-within{border-color:var(--ink)}
.lp-line svg{color:var(--gold);flex:none}
.lp-line input{flex:1;min-width:0;width:100%;border:0;background:transparent;padding:12px 0;font-family:'Jost';font-size:24px;font-weight:300;color:var(--ink);outline:none;border-radius:0;-webkit-appearance:none;appearance:none;min-height:56px}
.lp-line input::placeholder{color:#b9ad9c}
.lp-line input::-webkit-date-and-time-value{text-align:left}
.lp-line.shake{animation:shake 380ms ease}

.lp-list{margin-top:26px;border-top:1px solid var(--rule)}
.lp-list:empty{display:none}
.lp-list button{display:flex;align-items:center;gap:16px;width:100%;min-height:62px;border:0;border-bottom:1px solid var(--rule);background:transparent;font-family:'Jost';font-size:21px;font-weight:300;text-align:left;cursor:pointer;color:var(--ink);padding:8px 4px;transition:padding .3s var(--out)}
.lp-list button .ico{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--gold);background:rgba(154,111,56,.08);flex:none;transition:background .25s,color .25s,transform .45s var(--spring)}
.lp-list button .ico svg{width:19px;height:19px}
.lp-list button .lbl{flex:1;min-width:0}
.lp-list button small{display:block;font-size:13.5px;color:var(--faint);margin-top:1px}
.lp-list button .dot{width:12px;height:12px;border-radius:50%;border:1px solid #b9ab98;flex:none;transition:background .2s,border-color .2s,transform .4s var(--spring)}
@media (hover:hover){.lp-list button:hover{padding-left:12px}.lp-list button:hover .ico{transform:rotate(-8deg)}}
.lp-list button[aria-pressed=true] .ico{background:var(--gold);color:#fffdf8}
.lp-list button[aria-pressed=true] .dot{background:var(--gold);border-color:var(--gold);transform:scale(1.25)}

.lp-ticks{display:grid;gap:12px;justify-items:center;margin-top:22px}
.lp-ticks div{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:300;color:var(--muted);opacity:0;transform:translateY(6px);transition:opacity 400ms var(--out),transform 500ms var(--out)}
.lp-ticks div.in{opacity:1;transform:none}
.lp-ticks i{width:22px;height:22px;border-radius:50%;background:var(--gold);color:#fffdf8;display:grid;place-items:center}
.lp-ticks i svg{width:12px!important;height:12px!important}

/* the card (a real booklet in miniature) */
.lp-bk{--pw:250px;position:relative;width:var(--pw);height:calc(var(--pw)*210/148);transform-origin:left center;transform:rotate(-2deg);transition:transform 1100ms var(--turn),width 600ms var(--out),height 600ms var(--out);cursor:pointer;-webkit-tap-highlight-color:transparent}
.lp-bk.open{transform:translateX(50%) scale(.86) rotate(0)}
#onboard[data-step=welcome] .lp-bk{--pw:min(230px,50vw)}
.lp-bk::before{content:"";position:absolute;left:6%;right:-4%;bottom:-5%;height:12%;border-radius:50%;background:rgba(60,40,20,.28);filter:blur(14px);transition:left 1100ms var(--turn)}
.lp-bk.open::before{left:-100%}
.lp-bk .pg{position:absolute;inset:0;background:#fffdf8;border-radius:2px 4px 4px 2px;text-align:center;container-type:inline-size;overflow:hidden;font-family:'EB Garamond',Georgia,serif;color:#2a2622}
.lp-bk .right{box-shadow:0 0 0 1px rgba(60,40,20,.06),1px 1px 0 #f4f0e7,2px 2px 0 #ebe5da,3px 3px 0 rgba(60,40,20,.08)}
.lp-bk .right::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,30,28,.1),rgba(31,30,28,0) 12%);pointer-events:none}
.lp-bk .scene{position:absolute;inset:0;perspective:1500px;perspective-origin:0 50%;z-index:2}
.lp-bk .leaf{position:absolute;inset:0;transform-origin:left center;transform-style:preserve-3d;transition:transform 1100ms var(--turn)}
.lp-bk.open .leaf{transform:rotateY(-180deg)}
.lp-bk .face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:2px 4px 4px 2px;overflow:hidden;box-shadow:0 0 0 1px rgba(60,40,20,.06),0 30px 50px -30px rgba(60,40,20,.45)}
.lp-bk .back{transform:rotateY(180deg)}

.lp-bk .back::after{content:"";position:absolute;inset:0;background:linear-gradient(270deg,rgba(31,30,28,.1),rgba(31,30,28,0) 12%)}
.lp-bk .in{position:absolute;inset:9% 9%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.lp-bk .top{font-size:4.6cqw;letter-spacing:.26em;text-transform:uppercase;color:var(--navy);padding-left:.26em;min-height:1.4em;line-height:1.4;transition:opacity .5s}
.lp-bk .art{height:0;opacity:0;overflow:hidden;transition:height 700ms var(--out),opacity 600ms var(--out),margin 700ms var(--out)}
.lp-bk .art svg{width:36cqw;height:40cqw;stroke:var(--navy);fill:none;stroke-width:1.1}
.lp-bk.has-venue .art{height:40cqw;opacity:1;margin:4cqw 0 5cqw}
.lp-bk .ofm{font-style:italic;font-size:6.6cqw;color:#8b867f;margin-bottom:3cqw}
.lp-bk .nm{font-size:10cqw;line-height:1.12;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);padding-left:.1em;max-width:100%;overflow-wrap:anywhere}
.lp-bk .nm.blank{width:56%;height:10cqw;border-bottom:1px solid #ddd5c9}
.lp-bk .amp{font-style:italic;font-size:9cqw;color:var(--gold);line-height:1.1;margin:1cqw 0}
.lp-bk .orn{display:flex;align-items:center;gap:2.4cqw;color:var(--olive);margin:4cqw 0 3cqw}
.lp-bk .orn::before,.lp-bk .orn::after{content:"";width:10cqw;height:1px;background:currentColor;opacity:.55}
.lp-bk .orn i{width:1.6cqw;height:1.6cqw;background:currentColor;transform:rotate(45deg)}
.lp-bk .date{font-size:5.6cqw;min-height:1.3em;transition:opacity .5s}
.lp-bk .time{font-size:3.8cqw;letter-spacing:.3em;text-transform:uppercase;color:var(--navy);padding-left:.3em;margin-top:1cqw;min-height:1.3em}
.lp-bk .pop{animation:pop 700ms var(--out)}
@keyframes pop{0%{opacity:0;transform:translateY(4px)}100%{opacity:1;transform:none}}
.lp-bk .ord{position:absolute;inset:10% 11%;display:flex;flex-direction:column;align-items:center;gap:1.6cqw}
.lp-bk .ord .big{font-size:5cqw;letter-spacing:.24em;text-transform:uppercase;color:var(--navy);padding-left:.24em}
.lp-bk .ord .h{font-size:3.7cqw;letter-spacing:.22em;text-transform:uppercase;color:var(--navy);margin-top:3cqw;padding-left:.22em}
.lp-bk .ord .d{font-style:italic;font-size:3.9cqw;color:var(--olive)}
.lp-bk .ord .t{font-style:italic;font-size:5.4cqw;line-height:1.2}
.lp-bk .ord .f{position:absolute;bottom:-4%;left:0;right:0;font-size:3.8cqw;color:#8b867f}
.lp-bk .ord > *{animation:pop 600ms var(--out) both}

}

/* screen fade */
.screen{transition:opacity 420ms var(--out)}
.screen.fade{opacity:0}

/* v3 additions */
.lp-bk .mini{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.lp-bk .mini .page,.lp-thumb .page{transform-origin:0 0;transform:scale(var(--s,.45));box-shadow:none;position:absolute;top:0;left:0}
.lp-bk .mini .page [data-f]:empty,.lp-bk .mini .page [data-c]:empty,.lp-bk .mini .page [data-r]:empty,.lp-thumb .page [data-c]:empty,.lp-thumb .page [data-r]:empty{display:none}
#onboard[data-step=style] .lp-stage,#onboard[data-step=cover] .lp-stage{grid-template-columns:minmax(0,1fr);justify-items:center}
#onboard[data-step=style] .lp-cardcol,#onboard[data-step=cover] .lp-cardcol{display:none}
#onboard[data-step=style] .lp-q,#onboard[data-step=cover] .lp-q{width:min(980px,100%);text-align:center}
#onboard[data-step=style] .lp-row,#onboard[data-step=cover] .lp-row{justify-content:center}
.lp-styles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 22px;margin-top:34px}
.lp-covers{display:grid;grid-template-columns:repeat(3,minmax(0,200px));justify-content:center;gap:26px;margin-top:34px}
.lp-opt{position:relative;border:0;background:transparent;padding:0;cursor:pointer;display:grid;gap:12px;justify-items:center;color:var(--muted);font-family:'Jost';font-size:15px;font-weight:300;transition:color .2s}
.lp-thumb{position:relative;width:100%;aspect-ratio:148/210;overflow:hidden;border-radius:2px;box-shadow:0 0 0 1px rgba(60,40,20,.08),0 18px 30px -20px rgba(60,40,20,.5);transition:transform 500ms var(--spring),box-shadow .25s;background:#fff}
.lp-opt .cap{display:flex;align-items:center;gap:8px}
.lp-opt .cap svg{width:17px;height:17px;color:var(--gold)}
@media (hover:hover){.lp-opt:hover .lp-thumb{transform:translateY(-6px) rotate(-1deg)}.lp-opt:hover{color:var(--ink)}}
.lp-opt[aria-pressed=true]{color:var(--ink)}
.lp-opt[aria-pressed=true] .lp-thumb{box-shadow:0 0 0 2px var(--gold),0 22px 34px -20px rgba(60,40,20,.55);transform:translateY(-4px)}
.lp-opt .chg{position:absolute;right:8px;top:8px;width:34px;height:34px;border-radius:50%;background:rgba(255,253,248,.92);display:grid;place-items:center;color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.15)}
.lp-opt .chg svg{width:17px;height:17px}
.lp-steppers{margin-top:26px;border-top:1px solid var(--rule)}
.lp-steppers .row{display:flex;align-items:center;gap:16px;min-height:66px;border-bottom:1px solid var(--rule);padding:6px 4px}
.lp-steppers .ico{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--gold);background:rgba(154,111,56,.08);flex:none}
.lp-steppers .ico svg{width:19px;height:19px}
.lp-steppers .lbl{flex:1;font-size:21px;font-weight:300}
.lp-steppers .stp{display:flex;align-items:center;gap:6px}
.lp-steppers .stp button{width:38px;height:38px;border-radius:50%;border:1px solid var(--rule);background:rgba(255,253,248,.6);display:grid;place-items:center;cursor:pointer;color:var(--ink);transition:background .2s,border-color .2s,transform .4s var(--spring)}
.lp-steppers .stp button:disabled{opacity:.3;cursor:default}
.lp-steppers .stp button:not(:disabled):active{transform:scale(.9)}
@media (hover:hover){.lp-steppers .stp button:not(:disabled):hover{border-color:#b9ab98;background:#fffdf8}}
.lp-steppers .stp svg{width:16px;height:16px}
.lp-steppers .n{min-width:28px;text-align:center;font-size:24px;font-weight:300;font-variant-numeric:tabular-nums}
.lp-switch{width:52px;height:30px;border-radius:999px;border:0;background:#d9cfc1;position:relative;cursor:pointer;transition:background .25s}
.lp-switch::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fffdf8;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .4s var(--spring)}
.lp-switch[aria-checked=true]{background:var(--gold)}
.lp-switch[aria-checked=true]::after{transform:translateX(22px)}
}
.lp-cardcol{transition:opacity 260ms var(--out)}.lp-cardcol.lp-fading{opacity:0}
.lp-ticks div{text-align:center}


/* WebKit renders nested scaled content inside 3D faces as blank: stay flat except while a page is turning */
.lp-bk:not(.is3d) .scene{perspective:none}
.lp-bk:not(.is3d) .leaf,.lp-bk:not(.is3d) .face{transform-style:flat;-webkit-transform-style:flat}
.lp-bk:not(.is3d) .face{backface-visibility:visible;-webkit-backface-visibility:visible}
.lp-bk:not(.is3d):not(.settled) .leaf{transform:none}
.lp-bk:not(.is3d):not(.settled) .back{display:none}
.lp-bk.settled .leaf{transform:none!important;transition:none!important}
.lp-bk.settled .front{display:none}
.lp-bk.settled .back{transform:translateX(-100%)}

/* ===== onboarding layout: one source of truth for every screen size ===== */
#onboard{--cw:280px;--qw:480px}
.lp-stage{grid-template-columns:var(--cw) minmax(0,var(--qw));gap:clamp(48px,6vw,96px);justify-content:center;align-content:center;align-items:center;padding:clamp(84px,11vh,120px) clamp(24px,5vw,64px) clamp(48px,8vh,88px)}
.lp-bk{--pw:var(--cw)}
.lp-q{width:100%;max-width:var(--qw)}
.lp-step{text-align:left}
#onboard[data-step=welcome] .lp-step,#onboard[data-step=build] .lp-step{text-align:center}
#onboard[data-step=welcome] .lp-stage,#onboard[data-step=build] .lp-stage{grid-template-columns:minmax(0,640px);gap:clamp(28px,5vh,48px)}
#onboard[data-step=welcome] .lp-bk{--pw:clamp(170px,26vh,250px)}
#onboard[data-step=build] .lp-bk{--pw:clamp(160px,24vh,240px)}
#onboard[data-step=style] .lp-stage,#onboard[data-step=cover] .lp-stage{grid-template-columns:minmax(0,1040px)}
#onboard[data-step=style] .lp-q,#onboard[data-step=cover] .lp-q{max-width:none}
#onboard[data-step=style] .lp-step,#onboard[data-step=cover] .lp-step{text-align:center}
#onboard[data-step=style] .lp-row,#onboard[data-step=cover] .lp-row{justify-content:center}
.lp-bk.open{transform:translateX(50%) scale(.62)}
#onboard[data-step=build] .lp-bk.open{transform:translateX(50%) scale(.9)}
.lp-styles{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.4vw,32px);max-width:880px;margin-inline:auto}
.lp-covers{grid-template-columns:repeat(3,minmax(0,210px))}
h2.lp-h{font-size:clamp(30px,3.2vw,46px)}
@media (min-width:1300px){#onboard{--cw:310px;--qw:520px}.lp-bk.open{transform:translateX(22%) scale(.78)}}
@media (min-width:1700px){#onboard{--cw:380px;--qw:600px}h1.lp-h{font-size:76px}h2.lp-h{font-size:52px}.lp-line input{font-size:28px}.lp-list button,.lp-steppers .lbl{font-size:23px}.lp-styles{max-width:1040px}.lp-covers{grid-template-columns:repeat(3,minmax(0,250px))}}

/* tablets, narrow desktop windows and phones: stack */
@media (max-width:999px){
  #onboard{--qw:520px}
  .lp-stage{grid-template-columns:minmax(0,var(--qw));justify-items:center;gap:clamp(20px,4vh,40px);padding:clamp(76px,10vh,110px) 22px clamp(28px,6vh,64px)}
  .lp-bk{--pw:clamp(112px,19vh,190px)}
  .lp-bk.open{transform:translateX(50%) scale(.82)}
  .lp-cardcol{min-height:calc(var(--pw-min,112px)*1.42)}
  .lp-styles{grid-template-columns:repeat(3,minmax(0,1fr));max-width:600px}
  .lp-covers{grid-template-columns:repeat(3,minmax(0,1fr));max-width:600px;margin-inline:auto}
}
@media (max-width:600px){
  .lp-styles{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}
  .lp-covers{gap:10px}
  .lp-opt{font-size:13px}
  .lp-opt .cap{flex-direction:column;gap:4px;text-align:center}
  .lp-fields.two{grid-template-columns:1fr;gap:6px}
  .lp-list button,.lp-steppers .lbl{font-size:18px}
  h1.lp-h{font-size:clamp(34px,10vw,44px)}
  h2.lp-h{font-size:clamp(27px,7.6vw,32px)}
  #onboard[data-step=style] .lp-step,#onboard[data-step=cover] .lp-step{text-align:left}
  #onboard[data-step=style] .lp-row,#onboard[data-step=cover] .lp-row{justify-content:flex-start}
}
/* short screens (phones in landscape, small laptop windows): keep the question in view */
@media (max-height:620px) and (max-width:999px){
  #onboard:not([data-step=welcome]):not([data-step=build]) .lp-cardcol{display:none}
  #onboard[data-step=welcome] .lp-bk{--pw:130px}
}
/* ---------- builder (Reactive Resume layout) ---------- */
#builder{height:100vh;height:100dvh;display:grid;grid-template-rows:auto 1fr;background:var(--bg)}
.topbar{display:flex;align-items:center;gap:10px;height:52px;padding:0 12px;padding-top:env(safe-area-inset-top,0px);border-bottom:1px solid var(--border);background:var(--surface)}
.topbar .crumb{font-size:14px;color:var(--quiet);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:8px}
.topbar .crumb b{font-weight:600;color:var(--ink)}
.topbar .crumb .slash{color:var(--border-2)}
.topbar .sp{flex:1}
.saved{display:flex;align-items:center;gap:6px;color:var(--quiet);font-size:13px;opacity:0;transition:opacity .4s}
.saved.on{opacity:1}
.saved svg{color:var(--gold);width:15px;height:15px}
.btn.print:hover svg{transform:translateY(-1px)}

.work{display:grid;grid-template-columns:48px 340px 1fr 300px 48px;min-height:0}
.rail{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 0;background:var(--surface)}
.rail.l{border-right:1px solid var(--border)}.rail.r{border-left:1px solid var(--border)}
.panel{background:var(--surface);overflow:auto;min-height:0;overscroll-behavior:contain}
.panel.l{border-right:1px solid var(--border)}.panel.r{border-left:1px solid var(--border)}
.sec{padding:18px 16px 6px;scroll-margin-top:0}
.sec + .sec{border-top:1px solid var(--border)}
.sech{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:15px;font-weight:600;letter-spacing:-.01em}
.sech svg{color:var(--ink-2)}
.stack{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding-bottom:14px}

.canvas{position:relative;min-height:0;overflow:hidden;background:var(--muted);background-image:radial-gradient(var(--muted-2) 1px,transparent 1px);background-size:18px 18px}
.viewport{position:absolute;inset:0;overflow:auto;display:grid;place-items:start center;padding:36px 30px 110px;cursor:grab}
.viewport.drag{cursor:grabbing}
.spreads{display:flex;flex-direction:column;align-items:center;gap:32px}
.spreads.side{flex-direction:row;align-items:flex-start}
.spreads.single .spread{padding:0!important;flex-direction:column;gap:20px}
.spread{display:flex;position:relative}
.spread.pair .page:first-child::after{content:"";position:absolute;inset:0;background:linear-gradient(270deg,rgba(31,30,28,.08),rgba(31,30,28,0) 10%);pointer-events:none}
.spread.pair .page:last-child::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,30,28,.08),rgba(31,30,28,0) 10%);pointer-events:none}
.dock{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:flex;align-items:center;gap:2px;padding:4px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.9);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);box-shadow:0 8px 24px -12px rgba(31,30,28,.25);white-space:nowrap}
.dock .pct{min-width:52px;text-align:center;font-size:13px;font-weight:500;color:var(--ink-2);font-variant-numeric:tabular-nums;border:0;background:transparent;cursor:pointer;height:36px;border-radius:var(--r)}
.dock .pct:hover{background:var(--muted)}
.dock .sep{width:1px;height:20px;background:var(--border);margin-inline:3px}

/* items */
.items{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}
.item{border-radius:10px;border:1px solid transparent;background:var(--surface);transition:border-color .15s,background .15s,box-shadow .15s}
.item:hover{background:var(--muted)}
.item.open{border-color:var(--border-2);background:var(--surface);box-shadow:0 6px 20px -12px rgba(31,30,28,.25)}
.item.dragging{opacity:.4}
.item.over-top{box-shadow:inset 0 2px 0 var(--gold)}
.item.over-bot{box-shadow:inset 0 -2px 0 var(--gold)}
.ihead{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 4px 0 2px;cursor:pointer}
.grip{width:26px;height:36px;display:grid;place-items:center;color:var(--border-2);cursor:grab;border:0;background:transparent;touch-action:none;border-radius:6px;transition:color .15s}
.item:hover .grip{color:var(--quiet)}
.grip:hover{color:var(--ink)!important;background:var(--muted-2)}
.tico{width:30px;height:30px;border-radius:8px;background:var(--muted);display:grid;place-items:center;color:var(--ink-2);flex:none;transition:background .15s,color .15s}
.tico svg{width:16px;height:16px}
.item.open .tico,.item:hover .tico{background:var(--gold-100);color:var(--gold-700)}
.ititle{flex:1;min-width:0}
.ititle .t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}
.ititle .m{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px;color:var(--quiet)}
.item .del{opacity:0;transition:opacity .15s}
.item:hover .del,.item.open .del,.item:focus-within .del{opacity:1}
.del:hover{color:#b3261e!important;background:#fdecea!important}
.del:hover svg{transform:rotate(-12deg)}
.ibody{display:grid;gap:8px;padding:2px 10px 12px}
.dirs{display:flex;gap:4px;flex-wrap:wrap}
.dirs .chip{height:30px;padding:0 10px;font-size:12.5px;border-radius:999px}
.addrow{display:flex;flex-wrap:wrap;gap:6px}
.item.hl:not(.open){background:var(--gold-50)}
.addbtn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:40px;border-radius:10px;border:1px dashed var(--border-2);background:transparent;cursor:pointer;font-weight:500;color:var(--ink-2);transition:background .15s,border-color .15s,color .15s}
.addbtn:hover{background:var(--muted);border-color:var(--quiet);color:var(--ink)}
.addbtn svg{transition:transform 450ms var(--spring)}
.addbtn:hover svg{transform:rotate(90deg)}
.addpanel{border:1px solid var(--border-2);border-radius:10px;padding:8px}
.notice{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:var(--gold-100);color:var(--gold-900);font-size:13px;font-weight:500}
.notice svg{color:var(--gold)}

/* right panel */
.tpls{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tpl{border:0;padding:0;background:transparent;cursor:pointer;display:grid;gap:6px;justify-items:center;font-size:12.5px;font-weight:500;color:var(--ink-2)}
.tpl .thumb{width:100%;aspect-ratio:148/210;border-radius:4px;overflow:hidden;position:relative;box-shadow:0 0 0 1px var(--border-2);transition:transform 450ms var(--spring),box-shadow .15s}
.tpl .thumb .page{transform-origin:top left;position:absolute;top:0;left:0;box-shadow:none}
.tpl:hover .thumb{transform:translateY(-3px)}
.tpl[aria-pressed=true] .thumb{box-shadow:0 0 0 2px var(--gold)}
.tpl[aria-pressed=true]{color:var(--gold-900)}
.swatches{display:flex;gap:8px;flex-wrap:wrap}
.sw{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-2);cursor:pointer;transition:transform 450ms var(--spring)}
.sw:hover{transform:scale(1.1)}
.sw[aria-pressed=true]{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--gold)}
.ceremonies{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}
.ceremonies .chip{justify-content:flex-start;overflow:hidden}
.confirm{grid-column:1/-1;display:grid;gap:8px;padding:10px;border-radius:10px;border:1px solid var(--gold);background:var(--gold-50);color:var(--gold-900);font-size:13px}
.confirm .acts{display:flex;gap:6px}
.bigopt{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border-2);background:var(--surface);cursor:pointer;text-align:left;transition:background .15s,border-color .15s}
.bigopt:hover{background:var(--muted);border-color:var(--quiet)}
.bigopt .pic{width:36px;height:36px;border-radius:8px;background:var(--muted);flex:none;display:grid;place-items:center;color:var(--ink-2);transition:background .15s,color .15s}
.bigopt:hover .pic{background:var(--gold-100);color:var(--gold-700)}
.bigopt .pic svg{width:20px;height:20px;transition:transform 450ms var(--spring)}
.bigopt:hover .pic svg{transform:translateY(-2px)}
.bigopt b{font-weight:600;display:block}
.bigopt span{font-size:12.5px;color:var(--quiet)}
.bigopt .arrow{margin-left:auto;color:var(--quiet);transition:transform 450ms var(--spring)}
.bigopt:hover .arrow{transform:translateX(3px);color:var(--ink)}

/* mobile */
.tabs{display:none}
@media (max-width:900px){
  .work{grid-template-columns:1fr}
  .rail{display:none}
  .panel.l,.panel.r{border:0}
  .panel,.canvas{grid-row:1;grid-column:1}
  #builder:not([data-tab=content]) .panel.l{display:none}
  #builder:not([data-tab=design]) .panel.r{display:none}
  #builder:not([data-tab=preview]) .canvas{display:none}
  #builder{grid-template-rows:auto 1fr auto}
  .tabs{display:flex;gap:4px;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--surface)}
  .tabs button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;border:0;background:transparent;border-radius:10px;padding:6px 0;font-size:11.5px;font-weight:500;color:var(--quiet);cursor:pointer}
  .tabs button svg{width:22px;height:22px;transition:transform 450ms var(--spring)}
  .tabs button[aria-pressed=true]{color:var(--ink)}
  .tabs button[aria-pressed=true] svg{color:var(--gold-700);transform:translateY(-1px)}
  .topbar .word,.saved{display:none}
  .btn.print .lbl{display:none}.btn.print{width:40px;padding:0}
  .dock{bottom:12px}
  .dock .hide-s{display:none}
  .field input,.ta,.namebar input{font-size:16px}
}

/* ---------- builder colour + space pass ---------- */
.work{grid-template-columns:56px 372px 1fr 328px 56px}
.rail{gap:6px;padding:14px 0}
.rail .ib{width:40px;height:40px;border-radius:12px}
.sec{padding:24px 20px 10px}
.sech{font-size:16px;gap:10px;margin-bottom:16px}
.sech .tile{width:30px;height:30px;border-radius:9px}.sech .tile svg{width:17px;height:17px}
.stack{gap:10px;padding-bottom:16px}
.field{height:44px;border-radius:12px;padding:0 14px}.field input{height:42px}
.ta{border-radius:12px}
.btn{border-radius:10px}
.ib{border-radius:10px}
.chip{border-radius:10px;height:38px}
.items{gap:4px}
.ihead{min-height:58px;gap:10px}
.item{border-radius:14px}
.items .tico{width:36px;height:36px;border-radius:11px;background:var(--tb);color:var(--tf)}
.items .item.open .tico,.items .item:hover .tico{background:var(--tb);color:var(--tf);transform:rotate(-5deg)}
.tico{transition:transform 450ms var(--spring)}
.ibody{padding:4px 12px 14px;gap:10px}
.addbtn{height:48px;border-radius:14px}
.addpanel{border-radius:14px;padding:10px}
.addrow .chip svg{color:var(--tf)}
.ceremonies .chip svg{color:var(--tf)}
.ceremonies .chip[aria-pressed=true]{background:var(--tb);border-color:var(--tf);color:var(--ink)}
.bigopt{border-radius:14px;padding:12px 14px}
.bigopt .pic{background:var(--tb);color:var(--tf);border-radius:11px;width:40px;height:40px}
.bigopt:hover .pic{background:var(--tb);color:var(--tf)}
.canvas{background-color:#f3f1ee;background-image:radial-gradient(#e4e0da 1px,transparent 1px)}
.dock{border-radius:14px;padding:5px}
.tpls{gap:12px}
.tpl .thumb{border-radius:6px}
.sw{width:40px;height:40px}
.topbar{height:58px;padding:0 14px}

@media (max-width:900px){.work{grid-template-columns:1fr}}

/* ---------- booklet pages (real size, 96dpi A5) ---------- */
.page{--acc:#1f3f63;--acc2:#6b7a3a;--mut:#8b867f;--ink:#262421;--hf:'EB Garamond';--nf:'EB Garamond';--tf:'EB Garamond';--bf:'EB Garamond';
  width:559px;height:794px;background:var(--sheet);position:relative;overflow:hidden;flex:none;
  font-family:var(--bf),'EB Garamond',Georgia,serif;font-size:15px;line-height:1.5;color:var(--ink);
  font-variant-numeric:oldstyle-nums;font-kerning:normal;text-rendering:optimizeLegibility;
  box-shadow:0 0 0 1px rgba(31,30,28,.05),0 1px 2px rgba(31,30,28,.08),0 24px 48px -24px rgba(31,30,28,.35)}
.page .pin{position:absolute;inset:62px 60px 80px;z-index:1}
.page .folio{position:absolute;bottom:34px;left:0;right:0;text-align:center;font-size:12px;color:var(--mut);letter-spacing:.1em;z-index:1}
.page.blank .pin{display:none}

/* type roles (Hanover defaults) */
.lab{font-family:var(--hf),'EB Garamond',serif;font-weight:500;font-size:12.5px;line-height:1.35;letter-spacing:.28em;text-transform:uppercase;color:var(--acc);padding-left:.28em}
.dir{font-style:italic;font-size:13px;line-height:1.4;color:var(--acc2);margin-top:3px}
.ti{font-family:var(--tf),'EB Garamond',serif;font-style:italic;font-size:22px;line-height:1.2;margin-top:9px}
.cr{font-size:12.5px;line-height:1.45;color:var(--mut);margin-top:5px}
.pp{font-size:12.5px;line-height:1.45;margin-top:2px}
.bd{font-size:14.5px;line-height:1.62;margin-top:12px}
.bd p,.vs p{margin:0}
.bd p + p{margin-top:.7em}
.blk{position:relative;text-align:center;margin-bottom:28px}
.blk.reading .bd{text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.blk.prayer .bd{text-align:center}
.blk.text .bd{margin-top:0}
.vs{margin-top:16px;text-align:left;display:grid;gap:12px;counter-reset:v;padding-left:34px;max-width:360px;margin-inline:auto}
.vs p{position:relative;counter-increment:v;font-size:14.5px;line-height:1.5}
.vs p::before{content:counter(v);position:absolute;left:-30px;top:.1em;font-family:var(--hf),'EB Garamond',serif;font-size:12px;font-weight:600;color:var(--acc)}
.orn{display:flex;align-items:center;justify-content:center;gap:9px;margin:12px auto 0;color:var(--acc2)}
.orn::before,.orn::after{content:"";width:48px;height:1px;background:currentColor;opacity:.55}
.orn i{width:6px;height:6px;background:currentColor;transform:rotate(45deg)}
.blk.title{margin-bottom:34px}
.blk.title .big{font-family:var(--hf),'EB Garamond',serif;font-size:21px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--acc);padding-left:.24em}
.blk.heading{margin:10px 0 26px}
.blk.heading .lab{font-size:14px;letter-spacing:.3em}

/* cover + back base */
.cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:70px 58px;z-index:1}
.cover .top{font-family:var(--hf),'EB Garamond',serif;font-weight:500;font-size:14px;letter-spacing:.26em;text-transform:uppercase;color:var(--acc);padding-left:.26em}
.cover .art{margin:26px 0 30px;color:var(--acc);display:grid;place-items:center}
.cover .art svg.line{width:150px;height:auto;display:block;stroke:currentColor;fill:none;stroke-width:1.1}
.cover .art.photo{width:100%;max-width:300px;aspect-ratio:4/5;overflow:hidden;border-radius:1px;background:#e9e4dc}
.cover .art.photo img{width:100%;height:100%;object-fit:cover;display:block}
.cover .art.photo.empty svg{width:54px;height:54px;fill:#b8ae9f}
.cover .ofm{font-style:italic;font-size:21px;color:var(--mut)}
.cover .nm{font-family:var(--nf),'EB Garamond',serif;font-size:38px;line-height:1.12;letter-spacing:.1em;text-transform:uppercase;color:var(--acc);padding-left:.1em;margin-top:8px;overflow-wrap:anywhere}
.cover .amp{font-style:italic;font-size:34px;line-height:1.1;color:var(--acc2);margin:2px 0}
.cover .nmrow{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 .45em}
.cover .date{font-size:17px;margin-top:4px}
.cover .time{font-family:var(--hf),'EB Garamond',serif;font-size:11.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--acc);padding-left:.3em;margin-top:5px}
.cover .venue{font-size:15px}
.cover .title{font-size:12px;letter-spacing:.3em;text-transform:uppercase;padding-left:.3em}
.cover .orn{margin:18px auto 14px}
.cover .mono{font-family:'Pinyon Script',cursive;font-size:40px;color:var(--acc);line-height:1}
.backpage{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 70px;z-index:1}
.backpage .btitle{font-style:italic;font-size:20px;color:var(--acc);margin-bottom:20px}
.backpage .roles{display:grid;gap:14px;margin-bottom:10px}
.backpage .rl{font-family:var(--hf),'EB Garamond',serif;font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--acc);padding-left:.26em}
.backpage .rn{font-size:15px;margin-top:2px}
.backpage .note{font-style:italic;font-size:20px;line-height:1.35;color:var(--acc);max-width:360px}
.backpage.with-roles .note{font-size:15px;color:var(--ink)}

/* ===== Hanover ===== */
.t-hanover{--acc:#1f3f63;--acc2:#6b7a3a;--nf:'Cinzel';--hf:'Cinzel'}
.t-hanover .lab,.t-hanover .cover .top,.t-hanover .cover .time,.t-hanover .blk.title .big,.t-hanover .rl{font-weight:600;font-size:11.5px}
.t-hanover .blk.title .big{font-size:19px}
.t-hanover .cover .nm{font-size:34px;letter-spacing:.06em;text-transform:none;font-variant:small-caps}

/* ===== Portrait (photo led) ===== */
.t-portrait{--acc:#2b2926;--acc2:#7d7870;--mut:#8a857d}
.t-portrait .cover{justify-content:flex-start;padding:46px 46px 40px}
.t-portrait .cover .art{margin:0;flex:none}
.t-portrait .cover .art.photo{max-width:none;width:100%;aspect-ratio:auto;height:470px}
.t-portrait .cover .art.photo img{filter:grayscale(1) contrast(1.05)}
.t-portrait .cover .art svg.line{width:210px}
.t-portrait .cover.art-church .art{height:470px}
.t-portrait .cover .txt{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.t-portrait .cover.art-names .txt{justify-content:center}
.t-portrait .cover .nm{font-size:25px;letter-spacing:.18em;margin:0;color:#4a4641;padding-left:.18em}
.t-portrait .cover .amp{font-style:normal;font-size:22px;color:#4a4641;margin:0}
.t-portrait .cover .title{font-size:13px;letter-spacing:.24em;color:#6d6862;margin-bottom:10px}
.t-portrait .cover .venue,.t-portrait .cover .date{font-style:italic;font-size:15.5px;letter-spacing:.06em;color:#6d6862}
.t-portrait .lab{font-family:'EB Garamond';font-style:italic;text-transform:none;letter-spacing:.02em;font-size:19px;font-weight:400;color:var(--ink);padding:0}
.t-portrait .ti{font-style:normal;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:#55514b;margin-top:4px}
.t-portrait .cr,.t-portrait .pp{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mut)}
.t-portrait .dir{font-style:normal;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--mut)}
.t-portrait .dir::before{content:"("}.t-portrait .dir::after{content:")"}
.t-portrait .orn{display:none}
.t-portrait .blk.title .big{font-size:15px;letter-spacing:.34em;color:#55514b}
.t-portrait .blk.heading .lab{font-size:22px}
.t-portrait .vs p::before{color:var(--mut);font-weight:400}

/* ===== Border ===== */
.t-border{--acc:#7a1f22;--acc2:#7a1f22;--mut:#6e6a64;--ink:#2d2a27}
.t-border .cover{justify-content:space-between;padding:120px 60px 96px}
.t-border .cover .topb,.t-border .cover .botb{display:flex;flex-direction:column;align-items:center;gap:6px}
.t-border .cover .ofm{font-style:normal;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--mut);margin-bottom:16px}
.t-border .cover .nm{font-size:21px;letter-spacing:.16em;color:var(--ink);margin:0}
.t-border .cover .amp{font-style:normal;font-size:15px;color:var(--ink);margin:4px 0}
.t-border .cover .venue,.t-border .cover .date{font-style:italic;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--mut)}
.t-border .cover .date{margin-top:10px}
.t-border .cover .art{margin:0}
.t-border .cover .art svg.line{width:120px;color:var(--acc)}
.t-border .cover .art.photo{max-width:230px}
.t-border .lab{font-family:'EB Garamond';font-weight:500;font-size:15px;letter-spacing:.14em;color:var(--ink)}
.t-border .ti{font-size:15px;color:#4a4641;margin-top:3px}
.t-border .cr,.t-border .pp{font-style:italic}
.t-border .dir{color:var(--mut)}
.t-border .orn{color:var(--acc)}
.t-border .vs p::before{color:var(--acc)}

/* ===== Meadow ===== */
.t-meadow{--acc:#3b4a33;--acc2:#4466b8;--mut:#6f7466;--ink:#343a30}
.t-meadow .cover{padding:150px 120px 120px;gap:2px}
.t-meadow .cover .ofm{font-size:13px;letter-spacing:.28em;color:var(--mut);margin-bottom:26px}
.t-meadow .cover .nm{font-size:25px;letter-spacing:.2em;color:#4c5147;margin:0;padding-left:.2em}
.t-meadow .cover .amp{font-style:normal;font-size:22px;color:#4c5147;margin:8px 0}
.t-meadow .cover .art{margin:20px 0 6px}
.t-meadow .cover .art svg.line{width:90px;color:var(--acc)}
.t-meadow .cover .art.photo{width:150px;aspect-ratio:3/4;border-radius:75px 75px 4px 4px}
.t-meadow .cover .venue,.t-meadow .cover .date{font-size:14px;letter-spacing:.12em;color:#5a5f53;margin-top:14px}
.t-meadow .cover .date{margin-top:2px}
.t-meadow .lab{font-family:'EB Garamond';font-style:italic;text-transform:none;letter-spacing:.04em;font-size:15px;font-weight:400;color:#5a5f53;padding:0}
.t-meadow .ti{font-style:normal;font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);margin-top:3px}
.t-meadow .cr,.t-meadow .pp{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--mut)}
.t-meadow .dir{color:var(--acc2)}
.t-meadow .orn{color:var(--acc2)}
.t-meadow .blk.title .big{color:var(--ink);font-size:17px}

/* ===== Laureate ===== */
.t-laureate{--acc:#4a5bb0;--acc2:#4a5bb0;--mut:#6c6c78;--ink:#2e2f3a}
.t-laureate .cover{padding:110px 90px}
.t-laureate .cover .nm{font-size:17px;letter-spacing:.26em;color:var(--ink);margin:0;padding-left:.26em}
.t-laureate .cover .amp{font-style:normal;font-size:14px;color:var(--ink);margin:8px 0}
.t-laureate .cover .title,.t-laureate .cover .date,.t-laureate .cover .time,.t-laureate .cover .venue{font-family:'Jost',sans-serif;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);padding-left:.2em}
.t-laureate .cover .title{margin:36px 0 22px}
.t-laureate .cover .time{margin-top:6px;letter-spacing:.2em}
.t-laureate .cover .venue{margin-top:24px;line-height:1.9;max-width:260px}
.t-laureate .cover .art{margin:0 0 22px}
.t-laureate .cover .art svg.line{width:70px}
.t-laureate .cover .art.photo{width:130px;border-radius:50%;aspect-ratio:1}
.t-laureate .lab{font-family:'Jost',sans-serif;font-weight:400;font-size:11px;letter-spacing:.26em;color:var(--acc)}
.t-laureate .cr,.t-laureate .pp{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.06em}
.t-laureate .orn{color:var(--acc)}
.t-laureate .dir{color:var(--mut)}
.t-laureate .blk.title .big{font-family:'Jost';font-weight:400;font-size:15px}

/* ===== Cottage ===== */
.t-cottage{--acc:#5b7a60;--acc2:#5b7a60;--mut:#6d7c6f;--ink:#46574a}
.t-cottage .cover{padding:96px 70px 70px;gap:0}
.t-cottage .cover .title{font-size:30px;letter-spacing:.32em;line-height:1.15;color:var(--ink);padding-left:.32em}
.t-cottage .cover .title i{font-size:18px;letter-spacing:0;text-transform:none}
.t-cottage .cover .ofm{font-style:normal;font-size:14px;letter-spacing:.18em;color:var(--mut);margin:34px 0 16px}
.t-cottage .cover .nm{font-size:17px;letter-spacing:.28em;color:var(--ink);margin:0;padding-left:.28em}
.t-cottage .cover .amp{font-size:16px;color:var(--mut);margin:6px 0}
.t-cottage .cover .art{margin:30px 0 26px}
.t-cottage .cover .art.photo{width:210px;aspect-ratio:4/3;border-radius:4px}
.t-cottage .cover .date{font-size:22px;letter-spacing:.16em;color:var(--ink)}
.t-cottage .cover .venue{font-size:14px;letter-spacing:.14em;color:var(--mut);margin-top:6px}
.t-cottage .lab{font-weight:500;font-size:13px;letter-spacing:.26em;color:var(--ink)}
.t-cottage .dir,.t-cottage .cr{color:var(--mut)}
.t-cottage .orn{color:var(--acc)}
.t-cottage .pin{inset:70px 68px 86px}
.t-cottage .blk.title .big{color:var(--ink)}

/* ===== Heritage ===== */
.t-heritage{--acc:#1d2a4a;--acc2:#1d2a4a;--mut:#4d5670;--ink:#1d2a4a}
.t-heritage .cover{padding:90px 70px 80px;gap:0}
.t-heritage .cover .ofm,.t-heritage .cover .date,.t-heritage .cover .time,.t-heritage .cover .venue{font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);line-height:2.2;padding-left:.14em}
.t-heritage .cover .ofm{margin-bottom:10px}
.t-heritage .cover .nm{font-family:'Pinyon Script',cursive;text-transform:none;letter-spacing:0;font-size:46px;line-height:1.2;color:var(--ink);padding:0;margin:0}
.t-heritage .cover .amp{font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin:8px 0}
.t-heritage .cover .date{margin-top:30px}
.t-heritage .cover .art{margin:22px 0 4px}
.t-heritage .cover .art svg.line{width:80px}
.t-heritage .cover .art.photo{width:150px;aspect-ratio:1;border-radius:50%}
.t-heritage .cover .title{font-family:'Pinyon Script',cursive;text-transform:none;letter-spacing:0;font-size:26px;color:var(--ink);margin-top:auto;padding:0}
.t-heritage .lab{font-size:12px;letter-spacing:.2em;color:var(--ink)}
.t-heritage .ti{font-family:'Pinyon Script',cursive;font-style:normal;font-size:26px}
.t-heritage .dir,.t-heritage .cr{color:var(--mut)}
.t-heritage .orn{color:var(--acc)}
.t-heritage .backpage .btitle,.t-heritage .backpage .note{font-family:'Pinyon Script',cursive;font-style:normal;font-size:28px}

/* ===== Minimal ===== */
.t-minimal{--acc:#a8843f;--acc2:#a8843f;--mut:#6b6864;--ink:#2d2b29;--bf:'EB Garamond'}
.t-minimal .cover{justify-content:flex-start;padding:180px 60px 64px}
.t-minimal .cover .title{font-size:34px;letter-spacing:.36em;line-height:1.12;color:var(--acc);padding-left:.36em}
.t-minimal .cover .nmrow{margin-top:36px;gap:0 .5em;align-items:center}
.t-minimal .cover .nm{font-size:16px;letter-spacing:.32em;color:var(--ink);margin:0;padding-left:.32em}
.t-minimal .cover .amp{font-family:'Pinyon Script',cursive;font-style:normal;font-size:24px;color:var(--mut);margin:0}
.t-minimal .cover .art{margin:40px 0 0}
.t-minimal .cover .art svg.line{width:90px;color:var(--acc)}
.t-minimal .cover .art.photo{width:180px;aspect-ratio:4/5}
.t-minimal .cover .botb{margin-top:auto;display:flex;flex-direction:column;gap:4px}
.t-minimal .cover .date{font-size:12.5px;letter-spacing:.14em;color:var(--mut)}
.t-minimal .cover .venue{font-size:12.5px;letter-spacing:.1em;color:var(--mut)}
.t-minimal .lab{font-family:'EB Garamond';font-weight:600;font-size:13px;letter-spacing:.24em;color:var(--ink)}
.t-minimal .ti,.t-minimal .cr,.t-minimal .pp,.t-minimal .bd,.t-minimal .vs p{font-family:'Jost',sans-serif;font-style:normal;font-weight:300}
.t-minimal .ti{font-size:13px;margin-top:4px}
.t-minimal .cr,.t-minimal .pp{font-size:11.5px}
.t-minimal .dir{font-family:'Jost';font-style:italic;font-weight:300;font-size:12px;color:var(--mut)}
.t-minimal .vs{text-align:center;padding-left:0}
.t-minimal .vs p::before{display:none}
.t-minimal .bd,.t-minimal .vs p{font-size:12.5px;line-height:1.55}
.t-minimal .orn{display:none}
.t-minimal .blk{margin-bottom:22px}
.t-minimal .blk.title .big{color:var(--acc);font-weight:400;font-size:18px;letter-spacing:.34em}
.t-minimal .backpage .rl{font-family:'EB Garamond';font-weight:600;font-size:12.5px;letter-spacing:.22em;color:var(--ink)}
.t-minimal .backpage .rn,.t-minimal .backpage .note{font-family:'Jost';font-weight:300;font-style:normal;font-size:13px;color:var(--ink)}
.t-minimal .backpage .btitle{font-family:'EB Garamond';font-style:normal;font-weight:600;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink)}

/* editing */
#spreads [contenteditable]{outline:none;border-radius:3px;cursor:text;min-width:1em;transition:background .15s,box-shadow .15s}
#spreads [contenteditable]:hover{box-shadow:0 0 0 4px rgba(182,130,53,.10);background:rgba(182,130,53,.07)}
#spreads [contenteditable]:focus{box-shadow:0 0 0 4px rgba(182,130,53,.16);background:rgba(182,130,53,.08)}
#spreads .blk.active{outline:1.5px dashed rgba(182,130,53,.55);outline-offset:10px;border-radius:4px}
#spreads [data-f]:empty,#spreads [data-c]:empty{display:none}
#spreads [data-r]:empty::before,#spreads .backpage [data-c]:empty::before{content:attr(data-ph);color:#c3bcb1;font-style:italic;letter-spacing:0;text-transform:none}
#spreads .backpage [data-c]:empty{display:block}
#spreads [data-photo]{cursor:pointer}
#spreads .blk.active [data-f]:empty{display:block}
#spreads .blk.active [data-f]:empty::before{content:attr(data-ph);color:#c3bcb1;font-style:italic;letter-spacing:0;text-transform:none;font-weight:400}
#measure [data-f]:empty{display:none}

/* format toolbar */
.fmt{position:absolute;top:12px;left:50%;z-index:15;display:flex;align-items:center;gap:2px;padding:5px;border-radius:14px;border:1px solid var(--border);background:rgba(255,255,255,.96);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 10px 30px -14px rgba(31,30,28,.35);transform:translate(-50%,-8px);opacity:0;pointer-events:none;transition:opacity 200ms var(--out),transform 300ms var(--out);max-width:calc(100% - 24px);overflow-x:auto;scrollbar-width:none}
.fmt.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.fmt select{height:34px;border:0;border-radius:9px;background:var(--muted);padding:0 26px 0 10px;font-size:13px;font-weight:500;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-2) 50%),linear-gradient(135deg,var(--ink-2) 50%,transparent 50%);background-position:calc(100% - 13px) 15px,calc(100% - 9px) 15px;background-size:4px 4px;background-repeat:no-repeat;max-width:150px}
.fmt .ib{width:34px;height:34px;border-radius:9px;font-weight:700;font-size:15px;color:var(--ink)}
.fmt .ib.on{background:var(--gold-100);color:var(--gold-900)}
.fmt .ib svg{width:17px;height:17px}
.fmt .sep{width:1px;height:20px;background:var(--border);margin-inline:4px;flex:none}
.fmt .dot{width:22px;height:22px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--border-2);cursor:pointer;flex:none;margin:0 2px;transition:transform 300ms var(--spring)}
.fmt .dot:hover{transform:scale(1.15)}
.accents{display:flex;gap:8px;flex-wrap:wrap}
.fontchips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.fontchips .chip{justify-content:center;height:46px;font-size:17px}

/* print */
#printroot{display:none}

/* ===== v13 builder: letterpress chrome, card panels ===== */
#builder{--lp:#f3eee5;--lps:#fbf8f2;--lpc:#fffdf9;--lpi:#2a2622;--lpm:#6f665c;--lpf:#9a8f82;--lpr:#e6ddd1;--lpg:#b68235;--lpg2:#9a6f38;--lpgb:rgba(154,111,56,.09);
  font-family:Jost,system-ui,sans-serif;background:var(--lp);color:var(--lpi)}
#builder .topbar{background:var(--lps);border-bottom:1px solid var(--lpr);height:62px;padding:0 18px}
#builder .topbar .crumb{font-family:'EB Garamond',serif;font-size:19px;color:var(--lpi)}
#builder .topbar .crumb b{font-weight:400}
#builder .topbar .crumb .slash{display:none}
#builder .btn.print{background:var(--lpi);color:#fffdf9;border-radius:999px;height:42px;padding:0 18px;border:0;font-family:Jost}
#builder .saved{color:var(--lpf)}
#builder .rail{display:none!important}
#builder .logo .word{display:none}
#left>*:not(#nleft),#right>*:not(#nright){display:none!important}
#builder .panel{background:var(--lps);border-color:var(--lpr)!important}
#builder .panel.l,#builder .panel.r{padding:16px 16px 120px}
#builder .canvas{background:var(--lp);background-image:radial-gradient(rgba(42,38,34,.07) 1px,transparent 1px);background-size:22px 22px}
@media (min-width:901px){#builder .work{grid-template-columns:clamp(320px,28vw,410px) minmax(0,1fr) clamp(300px,25vw,380px)}}
#builder .dock{border-radius:999px;border:0;box-shadow:0 0 0 1px var(--lpr),0 14px 30px -18px rgba(42,38,34,.5);background:#fffdf9}
#builder .tabs{background:var(--lps);border-top:1px solid var(--lpr)}
#builder .tabs button{font-family:Jost}

.ncards{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.nc{background:var(--lpc);border-radius:20px;box-shadow:0 0 0 1px var(--lpr);transition:box-shadow .3s,transform .35s var(--spring);min-width:0}
.nc:hover{box-shadow:0 0 0 1px #d8cbb8,0 14px 24px -22px rgba(42,38,34,.55)}
.nc.open{box-shadow:0 0 0 1.5px var(--lpg),0 20px 34px -26px rgba(42,38,34,.55)}
.nc.act:not(.open){box-shadow:0 0 0 1px #d8cbb8}
.nc.dragging{opacity:.45}
.nc.ov-t{box-shadow:0 -3px 0 0 var(--lpg),0 0 0 1px var(--lpr)}.nc.ov-b{box-shadow:0 3px 0 0 var(--lpg),0 0 0 1px var(--lpr)}
.nh{display:flex;align-items:center;gap:14px;padding:11px 12px 11px 12px;cursor:pointer;min-width:0}
.nd{width:42px;height:42px;border-radius:50%;background:#f6efe3;color:var(--lpg2);display:grid;place-items:center;flex:none;transition:transform .45s var(--spring),background .25s,color .25s}
.nd svg{width:19px;height:19px}
.nh:hover .nd{transform:rotate(-10deg) scale(1.06)}
.nc.open>.nh .nd{background:var(--lpg);color:#fffdf9}
.nx{flex:1;min-width:0;display:block}
.nx b{display:block;font-weight:400;font-size:15.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nx em{display:block;font-family:'EB Garamond',serif;font-size:16px;color:var(--lpm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ng{width:26px;height:36px;display:grid;place-items:center;color:#cdbfad;opacity:0;cursor:grab;touch-action:none;transition:opacity .2s;flex:none}
.nc:hover .ng{opacity:1}
@media (hover:none){.ng{opacity:.7}}
.nb{padding:2px 20px 16px 20px;display:grid;grid-template-columns:minmax(0,1fr);gap:2px;animation:nrise .35s var(--spring)}
@keyframes nrise{from{opacity:0;transform:translateY(-4px)}}
.hf{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--lpr);padding:3px 0;min-width:0}
.hf:focus-within{border-color:var(--lpg)}
.hf>svg{width:16px;height:16px;color:var(--lpf);flex:none}
.hf input,.hf textarea{flex:1;min-width:0;border:0;background:transparent;outline:none;font:inherit;font-size:15px;padding:9px 0;color:var(--lpi);resize:vertical}
.hf input.serif{font-family:'EB Garamond',serif;font-size:17px}
.hf textarea{font-family:'EB Garamond',serif;font-size:16px;line-height:1.5}
.hf.ta2{align-items:flex-start}.hf.ta2>svg{margin-top:12px}
.hf.role2{display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding-top:8px}
.hf.role2 small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--lpf)}
.hf.role2 input{padding:4px 0 8px}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 14px}
.dirs2,.cers2{display:flex;flex-wrap:wrap;gap:6px;padding:10px 0 6px}
.dirs2 button,.cers2 button{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px;border:0;background:transparent;box-shadow:inset 0 0 0 1px var(--lpr);font:inherit;font-size:13px;color:var(--lpm);cursor:pointer;transition:background .2s,color .2s}
.dirs2 button:hover,.cers2 button:hover{background:var(--lpgb);color:var(--lpi)}
.dirs2 button[aria-pressed=true],.cers2 button[aria-pressed=true]{background:var(--lpi);color:#fffdf9;box-shadow:none}
.cers2 button svg{width:15px;height:15px}
.askline{display:flex;align-items:center;gap:8px;padding:6px 0;color:var(--lpm);font-size:14px}
.askline>svg{width:16px;height:16px;color:var(--lpg)}.askline span{flex:1}
.cardfoot{display:flex;justify-content:flex-end;padding-top:8px}
.nbin,.nuse,.nwords{width:36px;height:36px;border-radius:50%;border:0;background:transparent;display:grid;place-items:center;color:var(--lpf);cursor:pointer;transition:background .2s,color .2s,transform .35s var(--spring)}
.nbin:hover{background:#f7e9e6;color:#a5473b}
.nbin svg,.nuse svg,.nwords svg{width:17px;height:17px}
.nuse{background:var(--lpi);color:#fffdf9}.nuse:hover{transform:scale(1.07)}.nuse.on{background:var(--lpg)}
.nwords{box-shadow:inset 0 0 0 1px var(--lpr)}.nwords:hover{color:var(--lpi)}.nwords.on{background:#f6efe3;color:var(--lpg2);box-shadow:none}
.hr{height:1px;background:var(--lpr);margin:12px 0 6px}
.cpl .names{display:block;font-family:'EB Garamond',serif;font-size:22px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cpl .names i{color:var(--lpg);font-style:italic}
.cpl .meta{display:flex;gap:12px;color:var(--lpf);font-size:12.5px;margin-top:3px;white-space:nowrap;overflow:hidden}
.cpl .meta span{display:inline-flex;align-items:center;gap:4px;overflow:hidden;text-overflow:ellipsis}
.cpl .meta svg{width:13px;height:13px;flex:none}
.naddbtn{display:flex;align-items:center;justify-content:center;height:58px;border-radius:20px;border:1.5px dashed #d9cfc1;background:transparent;cursor:pointer;color:var(--lpg2);transition:background .2s,border-color .2s}
.naddbtn:hover{background:var(--lpgb);border-color:var(--lpg)}
.naddbtn .nd{background:transparent;width:36px;height:36px}
.naddbtn:hover .nd{transform:rotate(90deg)}
.pills2{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0 12px}
.pills2 button{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border-radius:999px;border:0;background:transparent;box-shadow:inset 0 0 0 1px var(--lpr);font:inherit;font-size:13.5px;color:var(--lpm);cursor:pointer}
.pills2 button svg{width:15px;height:15px;transition:transform .4s var(--spring)}
.pills2 button:hover svg{transform:scale(1.15) rotate(-8deg)}
.pills2 button[aria-pressed=true]{background:var(--lpi);color:#fffdf9;box-shadow:none}
.addtypes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px}
.addtypes button{display:flex;align-items:center;gap:10px;padding:6px;border:0;background:transparent;border-radius:14px;font:inherit;font-size:14.5px;color:var(--lpi);cursor:pointer;text-align:left}
.addtypes button:hover{background:#f7f1e6}
.addtypes .nd{width:36px;height:36px}
/* readings: index of first lines */
.fl{padding:2px 0 0}
.flh{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--lpf);margin:10px 0 2px}
.fli{display:flex;align-items:baseline;gap:8px;padding:8px 0;cursor:pointer;min-width:0}
.fli .t{font-family:'EB Garamond',serif;font-style:italic;font-size:17.5px;color:#5a534b;transition:color .2s;min-width:0}
.fli:hover .t{color:var(--lpi)}
.fli .lead{flex:1;min-width:12px;border-bottom:1.5px dotted #d6ccbe;transform:translateY(-4px)}
.fli .r{font-size:12px;color:var(--lpf);white-space:nowrap}
.fli .ok{color:var(--lpg);display:grid}.fli .ok svg{width:15px;height:15px}
.fli.on .t{color:var(--lpg2)}
.flx{font-family:'EB Garamond',serif;font-size:15.5px;line-height:1.6;color:#8e8577;padding:0 0 10px}
.flx-acts{display:flex;gap:8px;margin-top:8px}
/* music: programme */
.pgh{font-family:'EB Garamond',serif;font-style:italic;font-size:20px;color:var(--lpg2);text-align:center;margin:6px 0 2px}
.musr{display:flex;align-items:baseline;gap:8px;padding:4px 0}
.musr input{flex:0 1 55%;min-width:0;border:0;background:transparent;outline:none;font-family:'EB Garamond',serif;font-size:17px;padding:4px 0;color:var(--lpi);border-bottom:1px solid transparent}
.musr input:focus{border-bottom-color:var(--lpg)}
.musr .lead{flex:1;border-bottom:1.5px dotted #d6ccbe;transform:translateY(-4px);min-width:10px}
.musr .what{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--lpf)}
.musr .rm{width:24px;height:24px;border:0;background:transparent;display:grid;place-items:center;color:#cfc4b4;cursor:pointer;opacity:0;transition:opacity .2s}
.musr:hover .rm{opacity:1}.musr .rm svg{width:13px;height:13px}
@media (hover:none){.musr .rm{opacity:1}}
.addi{display:flex;flex-wrap:wrap;gap:5px;padding:10px 0 4px}
.addi button{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 10px;border:0;border-radius:999px;background:transparent;box-shadow:inset 0 0 0 1px var(--lpr);font:inherit;font-size:12.5px;color:var(--lpm);cursor:pointer}
.addi button svg{width:11px;height:11px}
.addi button:hover{background:var(--lpgb);color:var(--lpi)}
.addi button.pre{color:var(--lpg2);box-shadow:inset 0 0 0 1px #dcc9a5}
.trk{display:flex;align-items:center;gap:12px;padding:6px 0}
.trk .pl{width:36px;height:36px;border-radius:50%;border:0;background:transparent;box-shadow:inset 0 0 0 1px var(--lpr);display:grid;place-items:center;color:var(--lpi);cursor:pointer;flex:none;transition:all .25s}
.trk .pl:hover{background:var(--lpi);color:#fff;box-shadow:none}.trk .pl.on{background:var(--lpg);color:#fff;box-shadow:none}
.trk .pl svg{width:14px;height:14px}
.trk .tt{flex:1;min-width:0}.trk .tt b{display:block;font-family:'EB Garamond',serif;font-weight:400;font-size:17px;color:#5a534b}.trk .tt small{color:var(--lpf);font-size:12.5px}
.trk.on .tt b{color:var(--lpi)}
.trk .ck{width:32px;height:32px;border-radius:50%;border:0;background:transparent;display:grid;place-items:center;color:#cfc4b4;cursor:pointer}
.trk .ck:hover{color:var(--lpi)}.trk.on .ck{color:var(--lpg)}.trk .ck svg{width:18px;height:18px}
.yt{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#1d1a17;margin:2px 0 8px}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt a{position:absolute;right:8px;bottom:8px;width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center}.yt a svg{width:15px;height:15px}
/* design cards */
.dpv{width:52px;flex:none;display:grid;place-items:center}
.dpv .dthumb{display:block;width:40px;aspect-ratio:559/794;position:relative;overflow:hidden;border-radius:3px;box-shadow:0 0 0 1px var(--lpr)}
.dpv .dthumb .page{position:absolute;top:0;left:0;transform-origin:0 0;box-shadow:none}
.dpv .dsq{width:52px;height:52px;box-shadow:inset 0 0 0 1px var(--lpr)!important;border-radius:14px}
.dpv .dsq.dwide{height:40px}
.dpv .dai{display:block;width:34px;height:34px;background-position:center;background-size:contain;background-repeat:no-repeat}
.dpv .dai.eng,.dpv .ai-tower.dai,.dpv .ai-salis.dai{-webkit-mask-image:var(--ms,var(--m));mask-image:var(--ms,var(--m));background-color:var(--acc);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.dpv .dsq{display:grid;place-items:center}
.dots2{display:flex}.dots2 i{width:20px;height:20px;border-radius:50%;margin:0 -3px}
.dgrid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 10px}
.dgrid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 8px}
.dtpl{border:0;background:transparent;padding:0;cursor:pointer;display:grid;gap:6px;justify-items:center;font:inherit;font-size:12.5px;color:var(--lpm)}
.dtpl .dthumb{display:block;width:100%;aspect-ratio:559/794;position:relative;overflow:hidden;border-radius:4px;box-shadow:0 0 0 1px var(--lpr),0 10px 16px -14px rgba(42,38,34,.5);transition:transform .45s var(--spring),box-shadow .2s}
.dtpl .dthumb .page{position:absolute;top:0;left:0;transform-origin:0 0;box-shadow:none}
.dtpl:hover .dthumb{transform:translateY(-3px)}
.dtpl[aria-pressed=true]{color:var(--lpi)}.dtpl[aria-pressed=true] .dthumb{box-shadow:0 0 0 2px var(--lpg)}
#nright .dt .dsq{box-shadow:inset 0 0 0 1px var(--lpr)}
#nright .dt[aria-pressed=true] .dsq,#nright .dt[aria-pressed=true] .dthumb{box-shadow:0 0 0 2px var(--lpg)}
.dots3{display:flex;flex-wrap:wrap;gap:12px;padding:4px 0}
.dotb{width:32px;height:32px;border-radius:50%;border:0;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);transition:transform .35s var(--spring),box-shadow .2s}
.dotb:hover{transform:scale(1.12)}
.dotb[aria-pressed=true]{box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),0 0 0 3px var(--lpc),0 0 0 5px var(--lpg)}
.dotb.grainb{background:#f7f0e1 radial-gradient(rgba(80,60,30,.35) .8px,transparent 1px) 0 0/4px 4px}
/* print menu */
.printmenu{position:fixed;z-index:80;width:250px;background:#fffdf9;border-radius:18px;padding:6px;box-shadow:0 0 0 1px #e6ddd1,0 24px 44px -24px rgba(42,38,34,.55);font-family:Jost;animation:nrise .3s var(--spring)}
.printmenu[hidden]{display:none}
.printmenu button{display:flex;align-items:center;gap:12px;width:100%;padding:8px;border:0;background:transparent;border-radius:12px;cursor:pointer;text-align:left;font:inherit;color:#2a2622}
.printmenu button:hover{background:#f7f1e6}
.printmenu .nd{width:38px;height:38px;border-radius:50%;background:#f6efe3;color:#9a6f38;display:grid;place-items:center}
.printmenu .nd svg{width:18px;height:18px}
.printmenu b{display:block;font-weight:400;font-size:15px}.printmenu small{color:#9a8f82;font-size:12.5px}
/* on the page: quiet the rest, no boxes */
#spreads .blk.active{outline:none!important}
#spreads [contenteditable]:focus{box-shadow:none!important;background:transparent!important}
#spreads .blk{transition:opacity .3s ease}
#spreads.quiet .page .blk:not(.hl):not(.active){opacity:.28}
#spreads.quiet .page .cover,#spreads.quiet .page .backpage{opacity:.4;transition:opacity .3s}


.cover .motif.mo-laurel{height:92px}.cover .motif.mo-bells{height:58px}.cover .motif.mo-rings{height:62px}
.t-laureate .cover .motif.mo-laurel{height:84px;margin-bottom:40px}
.t-heritage .cover .motif.mo-bells{height:56px;margin-bottom:40px}


.dock{z-index:40;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 10px 30px -14px rgba(31,30,28,.35)}
.fmt{z-index:41}
/* engravings */
.cover .ai.eng{-webkit-mask-image:var(--m);mask-image:var(--m);background:var(--acc);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;aspect-ratio:var(--ar);width:calc(var(--bw)*1px*var(--ps,1))}
.t-hanover{--ps:.85}.t-portrait{--ps:1.9}.t-border{--ps:.85}.t-laureate{--ps:.55}.t-cottage{--ps:1}.t-heritage{--ps:.6}.t-minimal{--ps:.75}
.t-portrait .cover .art.pic .ai.eng{max-height:430px}
.cover .motif.mo-img{-webkit-mask-image:var(--m);mask-image:var(--m);height:66px;aspect-ratio:var(--ar);width:auto;background:var(--acc);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;margin-bottom:28px}
.t-portrait .cover .motif.mo-img{height:44px}
.dt .dai.eng{-webkit-mask-image:var(--m);mask-image:var(--m);background-color:var(--acc);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
/* onboarding row: back, skip, continue */
.lp-back{display:none!important}
#onboard .lp-row{justify-content:flex-start!important}
.lp-grow{flex:1}
.lp-prev{width:52px;height:52px;border-radius:50%;border:1px solid var(--rule);background:transparent;display:grid;place-items:center;color:var(--ink);cursor:pointer;flex:none;transition:background .2s,border-color .2s}
.lp-prev svg{width:20px;height:20px;transition:transform .45s var(--spring)}
@media (hover:hover){.lp-prev:hover{background:#fffdf8;border-color:#b9ab98}.lp-prev:hover svg{transform:translateX(-3px)}}
.lp-skip{margin:0!important;order:0!important;padding:12px 10px}
.lp-row .lp-btn.round{margin-left:6px}


.lp-skip{margin-right:auto;order:-1;background:none;border:0;padding:12px 4px;font:inherit;font-size:16px;color:var(--faint);cursor:pointer;letter-spacing:.02em;transition:color .2s}
.lp-skip:hover{color:var(--ink)}
#onboard:not([data-step=welcome]):not([data-step=build]) .lp-row{justify-content:flex-end!important}
.lp-list button.hint .ico{animation:lphint 2.4s ease-in-out infinite}
@keyframes lphint{0%,100%{box-shadow:0 0 0 0 rgba(154,111,56,0)}50%{box-shadow:0 0 0 7px rgba(154,111,56,.16)}}


/* ===== swappable components ===== */
.page *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
.page{-webkit-print-color-adjust:exact;print-color-adjust:exact}
.page .fr{position:absolute;pointer-events:none;z-index:2;color:var(--acc)}
.page .fr svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.fr-line{inset:26px;border:1px solid var(--acc)}
.fr-double{inset:22px;border:1.5px solid var(--acc)}
.fr-double::after{content:"";position:absolute;inset:4px;border:.75px solid var(--acc)}
.fr-band{inset:0;border:16px solid var(--acc)}
.fr-triple{inset:26px;border:5px double var(--acc);outline:1px solid var(--acc);outline-offset:4px}
.coverpage .fr-triple::after{content:"";position:absolute;inset:44px;border:4px double var(--acc);outline:1px solid var(--acc);outline-offset:4px}
.fr-octagon,.fr-sketch{inset:0}
.page .fl{position:absolute;inset:0;z-index:0;pointer-events:none;background-position:center;background-size:100% 100%;background-repeat:no-repeat}
/* one page-sized sheet of grain (the same 280px tile, laid out in advance): repeating tiles leave hairline seams in printed PDFs */
.page.grain::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background-size:100% 100%;background-repeat:no-repeat}
.page .cover,.page .backpage,.page .pin{z-index:1}

/* spacing when frames or flowers are on */
.page.pf-band .pin,.page.pf-triple .pin,.page.pf-octagon .pin{inset:80px 76px 96px}
.page.pf-band .folio,.page.pf-triple .folio,.page.pf-octagon .folio{bottom:44px}
.page.pf-sketch .pin{inset:72px 70px 88px}
.page.pf-band .backpage,.page.pf-triple .backpage,.page.pf-octagon .backpage{padding:96px 90px}
.coverpage.pf-triple .cover{padding:120px 100px}
.coverpage.pf-band .cover{padding-left:70px;padding-right:70px}
.page.pl-forget .cover{padding:200px 118px 190px}
.page.pl-forget .backpage{padding:210px 118px 200px}
.page.pl-roses .cover{padding:230px 84px 220px}
.page.pl-roses .backpage{padding:210px 90px}
.page.pl-roses .cover .art.pic{margin:14px 0 16px}.page.pl-roses .cover .ai-wc{width:210px}.page.pl-roses .cover .ai-salis{width:190px}.page.pl-roses .cover .ai-tower{width:70px}
.page.pl-meadow .cover{padding-bottom:300px;padding-top:80px}
.page.pl-meadow .backpage{padding-bottom:300px;padding-top:70px}
.page.pl-forget .cover .art.pic .ai-wc{width:210px}
.page.pl-meadow .cover .art.photo,.page.pl-forget .cover .art.photo{max-height:230px;width:auto;aspect-ratio:4/5}
.page.pl-forget.t-portrait .cover .art.photo,.page.pl-meadow.t-portrait .cover .art.photo,.page.pl-roses.t-portrait .cover .art.photo{height:300px;width:240px}

/* cover pictures */
.cover .art.pic{margin:26px 0 28px;display:grid;place-items:center;flex:none}
.cover .ai{display:block;background-position:center;background-size:contain;background-repeat:no-repeat}
.cover .ai-wc{width:270px;aspect-ratio:620/543}
.cover .ai-tower,.cover .ai-salis{-webkit-mask-image:var(--m);mask-image:var(--m);background:var(--acc);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.cover .ai-tower{width:112px;aspect-ratio:460/971}
.cover .ai-salis{width:260px;aspect-ratio:760/674}
.t-portrait .cover .art.pic{height:470px;margin:0;width:100%}
.t-portrait .cover .ai-wc{width:100%;height:100%;aspect-ratio:auto}
.t-portrait .cover .ai-salis{width:420px}
.t-portrait .cover .ai-tower{width:200px}
.t-border .cover .ai-wc{width:230px}.t-border .cover .ai-salis{width:220px}.t-border .cover .ai-tower{width:90px}
.t-laureate .cover .art.pic{margin:0 0 20px}.t-laureate .cover .ai-wc{width:170px}.t-laureate .cover .ai-salis{width:150px}.t-laureate .cover .ai-tower{width:60px}
.t-heritage .cover .ai-wc{width:190px}.t-heritage .cover .ai-salis{width:170px}.t-heritage .cover .ai-tower{width:64px}
.t-minimal .cover .ai-wc{width:220px}.t-minimal .cover .ai-salis{width:200px}.t-minimal .cover .ai-tower{width:74px}
.t-cottage .cover .ai-wc{width:280px}
.t-meadow .cover .art.pic{margin:22px 0 10px}.t-meadow .cover .ai-wc{width:220px}.t-meadow .cover .ai-salis{width:190px}.t-meadow .cover .ai-tower{width:70px}
.t-hanover .cover .art.pic{margin:22px 0 22px}.t-hanover .cover .ai-tower{width:96px}.t-hanover .cover .ai-wc{width:240px}.t-hanover .cover .ai-salis{width:230px}
.cover .art.photo.empty{background:repeating-linear-gradient(135deg,#ebe6de 0 10px,#e4ded4 10px 20px)}

/* motifs */
.cover .motif{color:var(--acc);flex:none;display:block}
.cover svg.mo-laurel{width:78px;height:78px;margin-bottom:40px}
.cover svg.mo-bells{width:76px;height:48px;margin-bottom:40px}
.cover svg.mo-cross{width:22px;height:34px;margin-bottom:30px}
.cover svg.mo-rings{width:54px;height:34px;margin-bottom:34px}
.cover .mono.motif{font-size:42px;line-height:1;margin-bottom:22px}
.t-cottage .cover .mono.motif{margin:auto 0 0;padding-top:18px;margin-bottom:0}
.t-portrait .cover .motif{margin-bottom:10px!important}
.t-portrait .cover svg.mo-laurel{width:40px;height:40px}
.t-border .cover .motif{margin-bottom:22px}
.t-minimal .cover .motif{margin-bottom:30px}

/* names style override */
.page.nm-caps .cover .nm{font-family:var(--nf),'EB Garamond',serif;font-style:normal;font-variant:normal;text-transform:uppercase;letter-spacing:.2em;padding-left:.2em;font-size:26px;line-height:1.25}
.page.nm-script .cover .nm{font-family:'Pinyon Script',cursive;font-style:normal;font-variant:normal;text-transform:none;letter-spacing:0;padding:0;font-size:50px;line-height:1.15}
.page.nm-italic .cover .nm{font-family:'EB Garamond',serif;font-style:italic;font-variant:normal;text-transform:none;letter-spacing:.01em;padding:0;font-size:42px;line-height:1.1}
.page.nm-script.t-portrait .cover .nm,.page.nm-italic.t-portrait .cover .nm{font-size:34px}
.page.nm-caps.t-portrait .cover .nm{font-size:22px}

/* ===== Rosa ===== */
.t-rosa{--acc:#9b4f5e;--acc2:#6f8a6a;--mut:#8d7c79;--ink:#3b3033}
.t-rosa .cover{gap:0}
.t-rosa .cover .ofm{font-style:normal;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--mut);padding-left:.3em;margin-bottom:18px}
.t-rosa .cover .nm{font-family:'Pinyon Script',cursive;text-transform:none;letter-spacing:0;padding:0;font-size:54px;line-height:1.1;color:var(--acc);margin:0}
.t-rosa .cover .amp{font-style:italic;font-size:22px;color:var(--mut);margin:4px 0}
.t-rosa .cover .orn{color:var(--acc2);margin:24px auto 22px}
.t-rosa .cover .date{font-style:italic;font-size:17px;color:var(--ink);margin:0}
.t-rosa .cover .venue{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--mut);padding-left:.24em;margin-top:8px}
.t-rosa .lab{font-size:12px;letter-spacing:.28em;color:var(--acc)}
.t-rosa .ti{color:var(--ink)}
.t-rosa .dir,.t-rosa .cr{color:var(--mut)}
.t-rosa .orn{color:var(--acc2)}
.t-rosa .backpage .btitle,.t-rosa .backpage:not(.with-roles) .note{font-family:'Pinyon Script',cursive;font-style:normal;font-size:32px}

/* Meadow closer to the botanical frame reference */
.t-meadow .cover .ofm{font-style:italic;font-size:30px;letter-spacing:.01em;text-transform:none;color:#4c5147;margin-bottom:22px;padding:0}
/* Minimal gold foil */
.t-minimal .cover .title{background:linear-gradient(118deg,#9c7636 0%,#e6cf94 24%,#a8843f 46%,#f0dca6 64%,#9a7433 86%,#c9a764 100%);-webkit-background-clip:text;background-clip:text;color:transparent;caret-color:#2d2b29}

/* brand */
.lp-brand a{display:flex;align-items:center;gap:10px;font-family:'EB Garamond',serif;font-size:17px;letter-spacing:0;text-transform:none;color:var(--ink)}
.lp-brand .mk{width:30px;height:30px;color:#b68235;flex:none}
.logo .mk{width:34px;height:34px;color:#b68235;flex:none;transition:transform 450ms var(--spring)}
.logo:hover .mk{transform:rotate(-8deg)}
.logo .word{font-family:'EB Garamond',serif;font-weight:400;font-size:19px;letter-spacing:0}
@media (max-width:600px){.logo .word{display:none}.lp-brand a{font-size:15px}.lp-brand .mk{width:26px;height:26px}}
.lp-covers.lp-four{grid-template-columns:repeat(4,minmax(0,170px));gap:20px}
@media (max-width:999px){.lp-covers.lp-four{grid-template-columns:repeat(2,minmax(0,1fr));max-width:420px;margin-inline:auto}}

/* builder component tiles */
.decos{display:grid;gap:16px}
.drow .dh{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#57504a;margin-bottom:8px}
.drow .dh .i{width:16px;height:16px;color:var(--gold,#b68235)}
.drow .dh .dsw{margin-left:auto;transform:scale(.8);transform-origin:right center}
.dtiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.dt{padding:0;border:0;background:none;cursor:pointer;border-radius:5px;transition:transform .35s var(--spring),box-shadow .25s}
.dt .dthumb{display:block;position:relative;aspect-ratio:559/794;overflow:hidden;border-radius:4px;box-shadow:0 0 0 1px rgba(31,30,28,.1),0 6px 14px -10px rgba(31,30,28,.5)}
.dt .dthumb .page{position:absolute;top:0;left:0;transform-origin:0 0;box-shadow:none;pointer-events:none}
.dt:hover{transform:translateY(-2px)}
.dt[aria-pressed=true] .dthumb{box-shadow:0 0 0 2px var(--gold,#b68235),0 8px 16px -10px rgba(31,30,28,.5)}
.dtiles-art,.dtiles-motif{grid-template-columns:repeat(6,minmax(0,1fr))}
.dtiles-art{grid-template-columns:repeat(5,minmax(0,1fr))}
.dtiles-names{grid-template-columns:repeat(3,minmax(0,1fr))}
.dt .dsq{display:grid;place-items:center;aspect-ratio:1;border-radius:6px;overflow:hidden;box-shadow:0 0 0 1px rgba(31,30,28,.1),0 6px 14px -10px rgba(31,30,28,.5)}
.dt .dsq.dwide{aspect-ratio:auto;height:44px}
.dt[aria-pressed=true] .dsq{box-shadow:0 0 0 2px var(--gold,#b68235),0 8px 16px -10px rgba(31,30,28,.5)}
.dt .dnone{width:44%;aspect-ratio:1;border-radius:50%;border:1.5px solid #cfc6ba;position:relative}
.dt .dnone::after{content:"";position:absolute;left:50%;top:-8%;bottom:-8%;width:1.5px;background:#cfc6ba;transform:rotate(45deg)}
.dt .dmo{width:62%;height:62%}
.dt .dmono{font-family:'Pinyon Script',cursive;font-weight:400;font-size:20px}
.dt .dph{width:100%;height:100%;object-fit:cover}
.dt .dcam{width:40%;height:40%;color:#a79d90}
.dt .dai{display:block;width:40px;height:40px;background-position:center;background-size:contain;background-repeat:no-repeat}
.dt .ai-tower,.dt .ai-salis{-webkit-mask-image:var(--m);mask-image:var(--m);background-color:var(--acc);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
@media (min-width:1000px){.lp-styles{grid-template-columns:repeat(4,minmax(0,1fr));max-width:820px;gap:22px 18px}.lp-covers.lp-four{grid-template-columns:repeat(2,minmax(0,150px))}}
@media (min-width:1700px){.lp-styles{max-width:1120px}}

@media print{
  body>*:not(#printroot){display:none!important}
  #printroot{display:block}
  #printroot .page{box-shadow:none;break-after:page;margin:0}
  #printroot .sheet{width:297mm;height:210mm;display:flex;break-after:page;overflow:hidden}
  #printroot .sheet .page{width:148.5mm;height:210mm;transform:none}
  html,body{background:#fff}
}
/* ===== v14 ===== */
#onboard[data-step=welcome] .lp-row,#onboard[data-step=build] .lp-row{justify-content:center!important}
/* top bar: mark, wordmark, couple */
#builder .logo{gap:10px;flex:none}
#builder .logo .mk{width:32px;height:32px}
#builder .logo .word{display:inline!important;font-family:'EB Garamond',serif;font-size:23px;font-weight:500;letter-spacing:-.005em;color:var(--lpi);line-height:1}
#builder .topbar .crumb{margin-left:10px;padding-left:18px;border-left:1px solid var(--lpr);line-height:26px;font-style:italic;font-size:18px;color:var(--lpm);min-width:0}
#builder .topbar .crumb b{font-weight:400;color:var(--lpm)}
@media (max-width:600px){
  #builder .topbar{padding:0 12px;gap:6px}
  #builder .logo{gap:7px}#builder .logo .mk{width:26px;height:26px}
  #builder .logo .word{font-size:17px}
  #builder .topbar .crumb{margin-left:4px;padding-left:10px;font-size:15px}
}
@media (max-width:380px){#builder .topbar .crumb{display:none}}
/* booklet: tune and chorus */
.blk .tune{max-width:390px;margin:14px auto 2px;color:inherit}
.blk .tune svg{display:block;width:100%;height:auto;overflow:visible}
.blk .tune svg path,.blk .tune svg text{fill:currentColor}
.vs p:has(> i:only-child){counter-increment:none;padding-left:18px}
.vs p:has(> i:only-child)::before{content:none}
.blk.cont .vs{margin-top:0}
/* hymn card */
.hsearch{margin-bottom:2px}
.hlist .fli[hidden]{display:none}
.hmore{background:none;border:0;padding:8px 0 4px;font:inherit;font-size:13px;color:var(--lpg2);cursor:pointer;text-decoration:underline;text-decoration-color:#d9c6a8;text-underline-offset:4px}
.hmore[hidden]{display:none}
.hy{padding:2px 0 4px}
.hyt{display:flex;align-items:baseline;gap:12px;margin-bottom:6px}
.hyt .t{font-family:'EB Garamond',serif;font-size:20px;line-height:1.25;color:var(--lpi);flex:1;min-width:0}
.hchg{background:none;border:0;padding:4px 0;font:inherit;font-size:13px;color:var(--lpg2);cursor:pointer;text-decoration:underline;text-decoration-color:#d9c6a8;text-underline-offset:4px;flex:none}
.hyl{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--lpf);margin:10px 0 2px}
.vrow{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;padding:7px 0;font:inherit;text-align:left;cursor:pointer;color:inherit;min-width:0}
.vrow .vn{font-family:'EB Garamond',serif;font-size:14px;color:var(--lpg);width:14px;flex:none;text-align:center}
.vrow .vl{font-family:'EB Garamond',serif;font-style:italic;font-size:17px;color:#5a534b;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s}
.vrow .vk{width:20px;height:20px;border-radius:50%;border:1.5px solid #d6ccbe;display:grid;place-items:center;flex:none;color:#fff;transition:background .2s,border-color .2s}
.vrow .vk svg{width:12px;height:12px;opacity:0;transition:opacity .2s}
.vrow[aria-pressed=true] .vk{background:var(--lpg);border-color:var(--lpg)}
.vrow[aria-pressed=true] .vk svg{opacity:1}
.vrow[aria-pressed=false] .vl{color:#b3a999}
.vch{padding:0 0 4px 24px;font-size:12.5px;color:var(--lpf)}
.htog{margin-top:8px;padding-top:12px;border-top:1px solid var(--lpr)}
.htog .vl{font-style:normal;font-family:inherit;font-size:14.5px;color:var(--lpi)}
.htog .sw{width:38px;height:22px;border-radius:11px;background:#e3dace;position:relative;flex:none;transition:background .25s}
.htog .sw::after{content:'';position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.18);transition:transform .35s var(--spring)}
.htog[aria-pressed=true] .sw{background:var(--lpg)}
.htog[aria-pressed=true] .sw::after{transform:translateX(16px)}
.hynote{font-size:12.5px;line-height:1.5;color:var(--lpf);padding:6px 0}

/* ===== v15: room to breathe ===== */
.page .pin{inset:66px 60px 104px}
.page .folio{bottom:40px}
.page.pf-band .pin,.page.pf-triple .pin,.page.pf-octagon .pin,.page.pf-stripes .pin,.page.pf-corners .pin,.page.pf-posy .pin{inset:86px 78px 116px}
.page.pf-band .folio,.page.pf-triple .folio,.page.pf-octagon .folio,.page.pf-stripes .folio,.page.pf-corners .folio,.page.pf-posy .folio{bottom:50px}
.page.pf-wash .pin{inset:80px 72px 112px}.page.pf-wash .folio{bottom:48px}
.blk{margin-bottom:46px}
.blk.title{margin-bottom:46px}
.blk.heading{margin:12px 0 38px}
.blk .lab{line-height:1.3}
.blk .dir{margin-top:5px;font-size:13px}
.blk .ti{margin-top:12px;font-size:23px;line-height:1.22;color:var(--ink);text-wrap:balance}
.blk .cr{margin-top:6px;font-size:11.5px;letter-spacing:.06em;color:var(--mut)}
.blk .pp{margin-top:6px;font-size:13.5px;font-style:italic;color:var(--ink)}
.blk .bd{margin-top:18px}
.blk .vs{margin-top:20px;gap:14px}
.blk .tune{margin-top:18px}
.blk.title .big,.cover .title{text-wrap:balance}
/* nothing but the part in hand */
#spreads.quiet .page .blk:not(.hl):not(.active){opacity:.2}
#spreads .blk.active [data-f]:empty::before,#spreads .blk.hl [data-f]:empty::before{color:#9f978b;opacity:.85}
#spreads .blk.active{opacity:1!important}
#measure .blk.active [data-f]:empty{display:block}
#measure .blk.active [data-f]:empty::before{content:attr(data-ph)}

/* ===== zoom menu ===== */
.zmenu{position:fixed;z-index:80;width:188px;background:#fffdf9;border-radius:18px;padding:6px;box-shadow:0 0 0 1px #e6ddd1,0 24px 44px -24px rgba(42,38,34,.55);font-family:Jost;animation:nrise .3s var(--spring)}
.zmenu[hidden]{display:none}
.zmenu button{display:flex;align-items:center;justify-content:space-between;width:100%;height:36px;padding:0 12px;border:0;background:transparent;border-radius:11px;cursor:pointer;font:inherit;font-size:14px;color:#2a2622;font-variant-numeric:tabular-nums}
.zmenu button:hover{background:#f7f1e6}
.zmenu button[aria-current=true]{color:#9a6f38}
.zmenu button svg{width:15px;height:15px}
.zmenu .zr{height:1px;background:#eee5d8;margin:5px 8px}
.zmenu .zfit{gap:10px;justify-content:flex-start}
.zmenu .zfit span{flex:1;text-align:left}
.zmenu .zfit small{color:#9a8f82;font-size:12px}

/* ===== font menu ===== */
#f-font{display:none!important}
.fontbtn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 10px 0 12px;border:0;background:transparent;border-radius:10px;cursor:pointer;color:var(--ink);max-width:190px}
.fontbtn:hover{background:var(--muted)}
.fontbtn b{font-weight:400;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fontbtn svg{width:13px;height:13px;flex:none;opacity:.6}
.fontmenu{position:fixed;z-index:90;width:268px;max-height:min(460px,70vh);overflow-y:auto;background:#fffdf9;border-radius:18px;padding:6px;box-shadow:0 0 0 1px #e6ddd1,0 24px 44px -24px rgba(42,38,34,.55);animation:nrise .3s var(--spring);overscroll-behavior:contain}
.fontmenu[hidden]{display:none}
.fontmenu .fg{font-family:Jost;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:#9a8f82;padding:12px 12px 4px}
.fontmenu button{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:4px 12px;border:0;background:transparent;border-radius:11px;cursor:pointer;color:#2a2622;text-align:left}
.fontmenu button:hover{background:#f7f1e6}
.fontmenu button span{flex:1;font-size:20px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fontmenu button svg{width:15px;height:15px;color:#9a6f38;opacity:0}
.fontmenu button[aria-current=true] svg{opacity:1}
.dgrid2f{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;margin-top:12px}
.dfont2{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:4px 10px;border:0;background:transparent;border-radius:12px;cursor:pointer;color:var(--lpi);text-align:left;box-shadow:inset 0 0 0 1px transparent;transition:background .2s,box-shadow .2s}
.dfont2:hover{background:var(--lpgb)}
.dfont2[aria-pressed=true]{box-shadow:inset 0 0 0 1.5px var(--lpg)}
.dfont2 span{font-size:21px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.dfgh{grid-column:1/-1;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--lpf);padding:10px 2px 0}

/* ===== motifs ===== */
.cover .motif.mo-wide{height:auto;width:210px;margin-bottom:26px}
.cover .motif.mo-rule{display:flex;align-items:center;gap:10px;width:170px;height:12px;background:none;-webkit-mask:none;mask:none;margin-bottom:26px}
.cover .motif.mo-rule::before,.cover .motif.mo-rule::after{content:"";flex:1;height:1px;background:var(--acc)}
.cover .motif.mo-rule i{width:6px;height:6px;background:var(--acc);transform:rotate(45deg);flex:none}
.dsq .dai.eng.ai-fl8,.dsq .dai.eng.ai-fl14{width:84%!important;height:22%!important}
.dsq .drule{display:flex;align-items:center;gap:5px;width:64%}
.dsq .drule::before,.dsq .drule::after{content:"";flex:1;height:1px;background:var(--acc)}
.dsq .drule i{width:5px;height:5px;background:var(--acc);transform:rotate(45deg)}

/* ===== new frames ===== */
.fr-stripes{inset:18px;--sw:30px;background:
  repeating-linear-gradient(90deg,var(--acc) 0 1.1px,transparent 1.1px 4.4px) top left/100% var(--sw) no-repeat,
  repeating-linear-gradient(90deg,var(--acc) 0 1.1px,transparent 1.1px 4.4px) bottom left/100% var(--sw) no-repeat,
  repeating-linear-gradient(0deg,var(--acc) 0 1.1px,transparent 1.1px 4.4px) left var(--sw)/var(--sw) calc(100% - 2*var(--sw)) no-repeat,
  repeating-linear-gradient(0deg,var(--acc) 0 1.1px,transparent 1.1px 4.4px) right var(--sw)/var(--sw) calc(100% - 2*var(--sw)) no-repeat}
.fr-stripes::after{content:"";position:absolute;inset:calc(var(--sw) + 6px);border:.75px solid var(--acc)}
.fr-corners{inset:24px}
.fr-corners::before{content:"";position:absolute;inset:0;--cl:.8px;--c:118px;background:linear-gradient(var(--acc),var(--acc)) var(--c) 12px/calc(100% - 2*var(--c)) var(--cl) no-repeat,linear-gradient(var(--acc),var(--acc)) var(--c) calc(100% - 12px)/calc(100% - 2*var(--c)) var(--cl) no-repeat,linear-gradient(var(--acc),var(--acc)) 18px var(--c)/var(--cl) calc(100% - 2*var(--c)) no-repeat,linear-gradient(var(--acc),var(--acc)) calc(100% - 18px) var(--c)/var(--cl) calc(100% - 2*var(--c)) no-repeat}
.fr-corners i{position:absolute;width:120px;height:120px;background:var(--acc);-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.fr-corners i:nth-child(1){left:0;top:0}
.fr-corners i:nth-child(2){right:0;top:0;transform:scaleX(-1)}
.fr-corners i:nth-child(3){left:0;bottom:0;transform:scaleY(-1)}
.fr-corners i:nth-child(4){right:0;bottom:0;transform:scale(-1)}
.fr-wash{inset:0}
.fr-wash svg{position:absolute;inset:0;width:100%;height:100%}
.fr-posy{inset:0}
.fr-posy svg{position:absolute;inset:0;width:100%;height:100%}

/* ===== Minimal, reworked: an editorial page ===== */
.t-minimal{--acc:#2d2b29;--acc2:#8a8177;--mut:#8a8177;--ink:#2d2b29;--hf:'Jost';--nf:'Cormorant Garamond';--tf:'Cormorant Garamond'}
.t-minimal .cover{align-items:flex-start;justify-content:flex-start;text-align:left;padding:92px 64px 70px 68px}
.t-minimal .cover .title{order:0;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17px;letter-spacing:.01em;text-transform:none;padding:0;color:var(--mut);background:none!important;-webkit-background-clip:border-box;background-clip:border-box;white-space:nowrap}
.t-minimal .cover .nmrow{order:1;flex-direction:column;align-items:flex-start;gap:0;margin-top:10px}
.t-minimal .cover .nm,.page.nm-caps.t-minimal .cover .nm{font-family:var(--nf),'Cormorant Garamond',serif;font-weight:400;font-size:52px;line-height:1;letter-spacing:-.005em;text-transform:none;font-variant:normal;color:var(--ink);padding:0;margin:0}
.t-minimal .cover .amp{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:34px;line-height:1.05;color:var(--mut);margin:4px 0 4px 34px}
.t-minimal .cover .motif{order:-1;margin:0 0 22px}
.t-minimal .cover .art{order:2;margin:auto 0 0!important;align-self:flex-start}
.t-minimal .cover .art.pic .ai.eng{width:calc(var(--bw)*.62px)}
.t-minimal .cover .ai-salis{width:150px}.t-minimal .cover .ai-tower{width:52px}.t-minimal .cover .ai-wc{width:170px}
.t-minimal .cover .art.photo{width:200px;max-width:none;height:250px}
.t-minimal .cover .botb{order:3;align-self:flex-end;text-align:right;margin-top:34px;gap:5px}
.t-minimal .cover .art ~ .botb{margin-top:18px}
.t-minimal .cover .date,.t-minimal .cover .venue{font-family:'Jost',sans-serif;font-weight:400;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);padding-left:.22em}
.t-minimal .cover .venue{color:var(--mut)}
.t-minimal .pin{text-align:left}
.t-minimal .blk{text-align:left;margin-bottom:40px}
.t-minimal .blk.title{margin-bottom:44px}
.t-minimal .blk.title .big{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;font-size:30px;letter-spacing:0;text-transform:none;color:var(--ink);padding:0;white-space:nowrap}
.t-minimal .blk.heading .lab{font-family:'Jost';font-weight:400;font-size:10.5px;letter-spacing:.26em;color:var(--mut);padding:0 0 10px;border-bottom:.75px solid #d9d3ca}
.t-minimal .lab{font-family:'Jost',sans-serif;font-weight:500;font-size:10px;letter-spacing:.24em;color:var(--ink);padding-left:0}
.t-minimal .dir{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;font-size:14.5px;color:var(--mut);margin-top:3px}
.t-minimal .ti{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:24px;margin-top:8px}
.t-minimal .cr{font-family:'Jost',sans-serif;font-style:normal;font-weight:300;font-size:10.5px;letter-spacing:.08em}
.t-minimal .pp{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:15px}
.t-minimal .bd,.t-minimal .vs p{font-family:'EB Garamond',serif;font-weight:400;font-size:13.5px;line-height:1.6}
.t-minimal .vs{text-align:left;padding-left:26px;margin-inline:0;max-width:none}
.t-minimal .vs p::before{display:block;left:-26px;font-family:'Jost';font-size:10px;font-weight:400;color:var(--mut)}
.t-minimal .blk.reading .bd,.t-minimal .blk.prayer .bd{text-align:left}
.t-minimal .blk .tune{margin-left:0}
.t-minimal .folio{text-align:left;left:68px;font-family:'Jost';font-size:10px;letter-spacing:.2em}
.t-minimal .backpage{align-items:flex-start;text-align:left}
.t-minimal .backpage .btitle{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;font-size:26px;letter-spacing:0;text-transform:none}
.t-minimal .backpage .rl{font-family:'Jost';font-weight:500;font-size:10px;letter-spacing:.24em}
.t-minimal .backpage .rn,.t-minimal .backpage .note{font-family:'Cormorant Garamond',serif;font-size:16px}

/* ===== Pinstripe ===== */
.t-pinstripe{--acc:#2b2926;--acc2:#2b2926;--mut:#6b6660;--ink:#2b2926;--hf:'Libre Caslon Text';--nf:'Libre Caslon Text';--tf:'Libre Caslon Text'}
.t-pinstripe .cover{padding:110px 96px}
.t-pinstripe .cover .ofm{font-family:'Libre Caslon Text',serif;font-style:italic;font-size:15px;color:var(--ink)}
.t-pinstripe .cover .title{font-family:'Libre Caslon Text',serif;font-size:10px;letter-spacing:.24em;margin-top:6px;color:var(--ink)}
.t-pinstripe .cover .nmrow{margin-top:12px;gap:0 .4em}
.t-pinstripe .cover .nm,.page.nm-caps.t-pinstripe .cover .nm{font-family:var(--nf),'Libre Caslon Text',serif;font-weight:700;font-size:21px;letter-spacing:.14em;line-height:1.2;text-transform:uppercase;color:var(--ink);margin:0}
.t-pinstripe .cover .amp{font-family:'Libre Caslon Text',serif;font-style:normal;font-weight:700;font-size:21px;letter-spacing:.14em;color:var(--ink);margin:0}
.t-pinstripe .cover .mid{display:flex;justify-content:center;width:100%;margin:34px 0 26px}
.t-pinstripe .cover .mid .art{margin:0!important}
.t-pinstripe .cover .date{display:flex;align-items:center;justify-content:center;gap:14px;font-family:'Libre Caslon Text',serif;font-size:11px;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap;color:var(--ink);margin:0 0 10px;padding-left:.24em}
.t-pinstripe .cover .date::before,.t-pinstripe .cover .date::after{content:'';width:22px;height:0;border-top:.75px solid currentColor;opacity:.55;flex:none}
.t-pinstripe .cover .date:empty::before,.t-pinstripe .cover .date:empty::after{display:none}
.t-pinstripe .cover .ai.eng{width:calc(var(--bw)*.58px)}
.t-pinstripe .cover .ai-tower{width:58px}.t-pinstripe .cover .ai-salis{width:140px}.t-pinstripe .cover .ai-wc{width:150px}
.t-pinstripe .cover .venue{font-family:'Libre Caslon Text',serif;font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase}
.t-pinstripe .cover .place{font-family:'Libre Caslon Text',serif;font-style:italic;font-size:13px;margin-top:4px}
.t-pinstripe .lab{font-family:'Libre Caslon Text',serif;font-weight:700;font-size:10.5px;letter-spacing:.2em;color:var(--ink)}
.t-pinstripe .ti{font-family:'Libre Caslon Text',serif;font-style:italic;font-size:19px}
.t-pinstripe .dir{color:var(--mut)}
.t-pinstripe .blk.title .big{font-family:'Libre Caslon Text',serif;font-weight:700;font-size:14px;letter-spacing:.24em;color:var(--ink)}
.t-pinstripe .vs p::before{color:var(--ink)}

/* ===== Filigree ===== */
.t-filigree{--acc:#2a2826;--acc2:#2a2826;--mut:#6d6862;--ink:#2a2826;--hf:'Cormorant Garamond';--nf:'Cormorant Garamond';--tf:'Cormorant Garamond'}
.t-filigree .cover{padding:120px 96px}
.t-filigree .cover .ofm{font-family:'Cormorant Garamond',serif;font-variant:small-caps;font-style:normal;font-size:22px;letter-spacing:.14em;color:var(--ink)}
.t-filigree .cover .nm,.page.nm-caps.t-filigree .cover .nm{font-family:var(--nf),'Cormorant Garamond',serif;font-weight:400;font-size:44px;letter-spacing:.18em;padding-left:.18em;line-height:1.1;text-transform:uppercase;color:var(--ink);margin:2px 0}
.t-filigree .cover .amp{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:34px;line-height:1;color:var(--ink);margin:4px 0}
.page:not(.coverpage):not(.backp) .fr-stripes{background:none;inset:22px;border:1.2px solid var(--acc)}
.page:not(.coverpage):not(.backp) .fr-stripes::after{inset:5px}
.page.pf-stripes:not(.coverpage):not(.backp) .pin{inset:72px 66px 108px}
.t-filigree .cover .scr{font-family:'Pinyon Script',cursive;font-size:24px;line-height:1.3;margin-top:24px}
.t-filigree .cover .motif{margin:26px 0!important}
.t-filigree .cover .date{font-family:'Pinyon Script',cursive;font-size:25px;margin-top:0}
.t-filigree .cover .venue{font-family:'Cormorant Garamond',serif;font-variant:small-caps;font-size:17px;letter-spacing:.14em;margin-top:8px}
.t-filigree .cover .art.pic{margin:26px 0 8px}
.t-filigree .cover .ai.eng{width:calc(var(--bw)*.5px)}
.t-filigree .cover .ai-tower{width:56px}.t-filigree .cover .ai-salis{width:130px}.t-filigree .cover .ai-wc{width:140px}
.t-filigree .lab{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:13px;letter-spacing:.24em;color:var(--ink)}
.t-filigree .ti{font-family:'Pinyon Script',cursive;font-style:normal;font-size:27px;line-height:1.2}
.t-filigree .blk.title .big{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:20px;letter-spacing:.26em;color:var(--ink)}
.t-filigree .orn i{background:var(--ink)}

/* ===== Painted ===== */
.t-painted{--acc:#c07d8b;--acc2:#8ea86d;--mut:#77726b;--ink:#35332f;--hf:'EB Garamond';--nf:'EB Garamond';--tf:'EB Garamond'}
.t-painted .cover{padding:96px 84px 80px}
.t-painted .cover .title{font-family:'EB Garamond',serif;font-size:32px;letter-spacing:0;text-transform:none;color:var(--ink);padding:0;line-height:1}
.t-painted .cover .ofm{font-family:'EB Garamond',serif;font-style:normal;font-size:15px;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);margin-top:6px}
.t-painted .cover .of{font-family:'EB Garamond',serif;font-style:italic;font-size:30px;line-height:1;color:var(--ink);margin:4px 0}
.t-painted .cover .nmrow{gap:0 .3em}
.t-painted .cover .nm,.page.nm-caps.t-painted .cover .nm{font-family:var(--nf),'EB Garamond',serif;font-size:54px;letter-spacing:0;text-transform:none;font-variant:normal;color:var(--ink);padding:0;margin:0;line-height:1.1}
.t-painted .cover .amp{font-family:'EB Garamond',serif;font-style:normal;font-size:54px;color:var(--ink);margin:0;line-height:1.1}
.t-painted .cover .art.pic{margin:28px 0}
.t-painted .cover .venue,.t-painted .cover .date{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink)}
.t-painted .cover .date{margin-top:6px}
.t-painted .lab{color:var(--ink);font-weight:500}
.t-painted .dir{color:var(--acc)}
.t-painted .blk.title .big{color:var(--ink)}
.t-painted .vs p::before{color:var(--acc)}

/* ===== Posy ===== */
.t-posy{--acc:#2f6a9c;--acc2:#2f6a9c;--mut:#5d7c98;--ink:#244d74;--hf:'Jost';--nf:'La Belle Aurore';--tf:'EB Garamond'}
.t-posy .page,.page.t-posy{color:var(--ink)}
.t-posy .cover{padding:100px 86px}
.t-posy .cover .nmrow{flex-direction:column;align-items:center;gap:0}
.t-posy .cover .nm,.page.nm-caps.t-posy .cover .nm{font-family:var(--nf),'La Belle Aurore',cursive;font-size:54px;letter-spacing:0;text-transform:none;font-variant:normal;color:var(--acc);padding:0;margin:0;line-height:1.05}
.t-posy .cover .amp{font-family:'Jost';font-style:normal;font-size:20px;color:var(--acc);margin:2px 0}
.t-posy .cover .title{font-family:'Jost';font-weight:500;font-size:12px;letter-spacing:.2em;color:var(--acc);margin-top:30px}
.t-posy .cover .date{font-family:'La Belle Aurore',cursive;font-size:24px;color:var(--acc);margin-top:6px}
.t-posy .cover .venue{font-family:'Jost';font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--acc);margin-top:6px}
.t-posy .cover .art.pic{margin:32px 0 0}
.t-posy .cover .ai.eng{width:calc(var(--bw)*.52px)}
.t-posy .cover .ai-tower{width:56px}.t-posy .cover .ai-salis{width:130px}.t-posy .cover .ai-wc{width:140px}
.t-posy .lab{font-family:'Jost';font-weight:500;font-size:11px;letter-spacing:.2em;color:var(--acc)}
.t-posy .ti{font-family:'La Belle Aurore',cursive;font-style:normal;font-size:25px;color:var(--acc)}
.t-posy .blk.title .big{font-family:'Jost';font-weight:500;font-size:15px;letter-spacing:.24em;color:var(--acc)}
.t-posy .bd,.t-posy .vs p,.t-posy .cr,.t-posy .pp{color:var(--ink)}
.t-pinstripe{--ps:.6}.t-filigree{--ps:.5}.t-painted{--ps:.9}.t-posy{--ps:.55}

/* the couple's own lettering choice wins */
.page.page.nm-script .cover .nm{font-family:'Pinyon Script',cursive;font-weight:400;text-transform:none;letter-spacing:0;padding:0;font-size:50px;line-height:1.15}
.page.page.nm-italic .cover .nm{font-family:var(--nf),'EB Garamond',serif;font-style:italic;font-weight:400;text-transform:none;letter-spacing:.01em;padding:0;font-size:42px;line-height:1.1}
#spreads [contenteditable]:hover{box-shadow:none!important;background:transparent!important}
/* ===== v16: what's in the service, said in a sentence ===== */
#onboard[data-step=contents] .lp-stage{grid-template-columns:minmax(0,820px);justify-items:center;gap:clamp(18px,3vh,30px)}
#onboard[data-step=contents] .lp-bk{--pw:clamp(210px,min(290px,40vw,calc((100dvh - 480px)/1.42)),290px)}
#onboard[data-step=contents] .lp-stage{grid-template-columns:minmax(0,880px)!important}
#onboard[data-step=contents] .lp-q{max-width:880px!important}
#onboard[data-step=contents] .lp-step{max-width:none;width:100%}
#onboard[data-step=contents] .lp-steppers{border-top:0;margin-top:0}
.lp-sent .nw{white-space:nowrap}
#onboard[data-step=contents] .lp-bk.open{transform:translateX(50%) scale(1)}
#onboard[data-step=contents] .lp-cardcol{display:grid!important;min-height:0}
#onboard[data-step=contents] .lp-step[data-step=contents] .lp-h{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
#onboard[data-step=contents] .lp-q{width:100%;text-align:center}
.lp-spreads{display:flex;justify-content:center;align-items:flex-end;gap:8px;flex-wrap:wrap;margin:0 0 clamp(18px,3.5vh,34px)}
.lp-spreads button{display:flex;gap:0;padding:4px;border:0;background:none;cursor:pointer;position:relative;transition:transform .4s var(--spring)}
.lp-spreads button:hover{transform:translateY(-3px)}
.lp-spreads button i{display:block;width:20px;height:28px;background:#fffdf8;box-shadow:0 2px 6px -3px rgba(60,40,20,.45)}
.lp-spreads button i.gap{background:none;box-shadow:none}
.lp-spreads button::after{content:"";position:absolute;left:22%;right:22%;bottom:-5px;height:2px;border-radius:2px;background:transparent;transition:background .3s}
.lp-spreads button[aria-current=true]::after{background:var(--gold)}
.lp-sent{font-family:'EB Garamond',Georgia,serif;font-size:clamp(25px,3.1vw,38px);line-height:1.55;color:var(--ink);text-wrap:balance;max-width:820px;margin:0 auto}
.lp-w{font:inherit;color:var(--ink);background:none;border:0;padding:0 .08em;cursor:pointer;border-bottom:2px dotted #cdb48e;transition:color .25s,border-color .25s;white-space:nowrap}
.lp-w:hover{color:var(--gold)}
.lp-w.empty{color:#9a8f82;font-style:italic}
.lp-w.hint{animation:lpwpulse 2.4s ease-in-out infinite}
@keyframes lpwpulse{0%,100%{border-color:#cdb48e}50%{border-color:var(--gold)}}
.lp-w.bump{animation:lpwbump .5s var(--spring)}
@keyframes lpwbump{40%{transform:translateY(-3px);color:var(--gold)}}
#onboard[data-step=contents] .lp-row{margin-top:clamp(20px,4vh,40px)}
.lp-bk.turnf .mini,.lp-bk.turnb .mini{animation:lpturn .55s var(--out) both}
.lp-bk.turnb .mini{animation-name:lpturnb}
@keyframes lpturn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
@keyframes lpturnb{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
.lp-bk .mini .it-new{animation:lpglow 1.6s var(--out) both}
@media (max-width:600px){.lp-sent{font-size:clamp(23px,6.6vw,28px)}#onboard[data-step=contents] .lp-bk{--pw:min(42vw,calc((100dvh - 470px)/1.42))}}

/* ===== v17: numbered running order ===== */
.rl{position:relative;padding:4px 0 20px;--k-hymn:#9a4a32;--k-reading:#2c5680;--k-music:#7d4b6f;--k-prayer:#5f7148;--k-moment:#9a8f82;--k-text:#9a8f82}
.rl .k-hymn{--kc:var(--k-hymn)}.rl .k-reading{--kc:var(--k-reading)}.rl .k-music{--kc:var(--k-music)}.rl .k-prayer{--kc:var(--k-prayer)}.rl .k-moment,.rl .k-text{--kc:var(--k-moment)}
.rl-cpl{text-align:center;padding:8px 0 6px;border-radius:18px;transition:background .2s}
.rl-cplh{cursor:pointer;padding:6px 10px}
.rl-cpl .names{font-family:'EB Garamond',serif;font-size:31px;line-height:1.1;color:var(--lpi);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rl-cpl .names i{color:var(--lpg);padding:0 .1em}
.rl-cpl .meta{display:flex;justify-content:center;flex-wrap:wrap;gap:2px 14px;margin-top:6px;font-size:12.5px;color:var(--lpf)}
.rl-cpl .meta span{display:inline-flex;align-items:center;gap:5px;min-width:0}
.rl-cpl .meta svg{width:13px;height:13px;flex:none}
.rl-cpl.open{background:rgba(154,111,56,.05)}
.rl-cpl .nb{text-align:left;padding:8px 14px 12px}
.rl-it{position:relative;border-radius:16px;transition:background .2s}
.rl-it.open,.rl-thanks.open{background:rgba(154,111,56,.055)}
.rl-h{display:grid;grid-template-columns:36px minmax(0,1fr) 34px;column-gap:8px;align-items:start;padding:9px 4px 9px 0;cursor:pointer;min-height:48px;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
.rl-row:not(.rich) .rl-h{align-items:center}
@media (hover:hover){.rl-it:not(.open):hover{background:rgba(154,111,56,.04)}}
.rl-h .no{position:relative;display:grid;place-items:center;height:28px;font-family:'EB Garamond',serif;font-variant-numeric:oldstyle-nums;font-size:21px;line-height:1;color:#cdbfad;cursor:grab;touch-action:none}
.rl-row.rich .no,.rl-row.k-prayer .no{color:var(--kc)}
.rl-h .no .n{transition:opacity .2s,transform .3s var(--spring)}
.rl-h .no .g{position:absolute;inset:0;display:grid;place-items:center;color:var(--lpm);opacity:0;transform:scale(.6);transition:opacity .2s,transform .3s var(--spring)}
.rl-h .no .g svg{width:17px;height:17px}
@media (hover:hover){.rl-it:hover>.rl-h .no .n{opacity:0;transform:scale(.6)}.rl-it:hover>.rl-h .no .g{opacity:1;transform:none}}
.rl-h .x{min-width:0;display:block}
.rl-h .l1{display:flex;align-items:center;gap:8px;min-height:28px}
.rl-h .l{font-family:'EB Garamond',serif;font-size:18.5px;line-height:1.2;color:var(--lpi);min-width:0;overflow-wrap:anywhere}
.rl-row:not(.rich):not(.k-prayer) .rl-h .l{color:var(--lpm);font-size:17.5px}
.rl-h .ki{width:15px;height:15px;color:var(--kc);flex:none}
.rl-h .d{margin-left:auto;font-family:'EB Garamond',serif;font-style:italic;font-size:14px;color:var(--lpf);white-space:nowrap;padding-left:6px}
.rl-h .l2{font-family:'EB Garamond',serif;font-style:italic;font-size:17px;line-height:1.3;color:#5a534b;margin-top:1px;overflow-wrap:anywhere}
.rl-h .l2 small{display:block;font-style:normal;font-family:Jost;font-size:12px;color:var(--lpf);margin-top:2px}
.rl-h .l2.none{display:flex;align-items:center;gap:8px;margin-top:4px}
.rl-h .l2.none b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 1.2px var(--kc);color:var(--kc);flex:none}
.rl-h .l2.none b svg{width:11px;height:11px}
.rl-h .l2.none i{display:block;width:120px;border-bottom:1.5px dotted var(--kc);opacity:.6;height:1px;margin-top:6px}
.rl-del{width:34px;height:34px;border-radius:50%;border:0;background:transparent;display:grid;place-items:center;color:var(--lpf);cursor:pointer;opacity:0;transition:opacity .2s,background .2s,color .2s;margin-top:-3px}
.rl-row:not(.rich) .rl-del,.rl-chh .rl-del{margin-top:0}
.rl-del svg{width:15px;height:15px}
.rl-del:hover{background:#f3e6df;color:#9a4a32}
@media (hover:hover){.rl-it:hover>.rl-h .rl-del,.rl-it.open>.rl-h .rl-del{opacity:1}}
.rl-chh{align-items:center;min-height:40px;padding-top:22px;padding-bottom:6px}
.rl-chh .l{font-family:Cinzel,serif;font-size:12.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--lpg2);display:flex;align-items:center;gap:12px}
.rl-chh .l::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,#e2d6c4,transparent)}
.rl-chh .no{color:transparent}
.rl-chh .no .g{color:var(--lpf)}
.rl-thanks .rl-chh .no{color:var(--lpf);cursor:default}
.rl-thanks .rl-chh .no svg{width:16px;height:16px}
.rl-thanks{margin-top:14px;border-radius:16px}
.rl-it>.nb,.rl-thanks>.nb{padding:0 12px 14px 44px}
.rl-ins{position:relative;display:block;width:100%;height:12px;margin:-6px 0;border:0;background:transparent;cursor:pointer;z-index:2;padding:0}
.rl-ins b{position:absolute;left:18px;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:#fffdf9;box-shadow:0 0 0 1px #d9c6a8;color:var(--lpg2);display:grid;place-items:center;opacity:0;transform:scale(.6);transition:opacity .2s,transform .35s var(--spring)}
.rl-ins b svg{width:12px;height:12px}
.rl-ins::before{content:"";position:absolute;left:36px;right:12px;top:50%;height:1px;background:#dcc9ab;opacity:0;transition:opacity .2s}
@media (hover:hover){.rl-ins:hover b{opacity:1;transform:none}.rl-ins:hover::before{opacity:1}}
.rl-ins.on b{opacity:1;transform:rotate(45deg)}.rl-ins.on::before{opacity:1}
.rl-addrow{display:flex;flex-wrap:wrap;gap:6px;padding:10px 4px 12px 44px;animation:nrise .3s var(--spring)}
.rl-addrow button{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 13px;border-radius:999px;border:0;background:#fffdf9;box-shadow:inset 0 0 0 1px var(--lpr);font:inherit;font-size:14px;color:var(--lpi);cursor:pointer;--kc:var(--lpg2)}
.rl-addrow button svg{width:16px;height:16px;color:var(--kc)}
.rl-addrow button:hover{box-shadow:inset 0 0 0 1px #cdb48e}
.rl-toast{position:sticky;bottom:12px;margin:10px auto 0;width:max-content;max-width:100%;display:flex;align-items:center;gap:14px;background:#2a2622;color:#f3ece2;border-radius:999px;padding:7px 7px 7px 18px;font-size:14px;box-shadow:0 18px 36px -18px rgba(0,0,0,.5);animation:nrise .35s var(--spring);z-index:5}
.rl-toast button{height:34px;padding:0 14px;border-radius:999px;border:0;background:#fffdf9;color:#2a2622;font:inherit;font-size:13.5px;cursor:pointer}
.rl.live .rl-it,.rl.live .rl-ins{transition:transform .28s var(--out),background .2s}
.rl.live .rl-ins{opacity:0;pointer-events:none}
.rl-it.lifted{z-index:10;background:#fffdf9!important;box-shadow:0 0 0 1px #eadfce,0 22px 36px -18px rgba(42,38,34,.4);transition:box-shadow .2s!important}
.rl-it.lifted .no .n{opacity:0}.rl-it.lifted .no .g{opacity:1;transform:none}
body.rl-grabbing,body.rl-grabbing *{cursor:grabbing!important}
/* touch: keep the numbers, a faint grip beside them; add at the end */
.rl-addend{display:flex;align-items:center;gap:12px;width:100%;border:0;background:transparent;padding:10px 0 4px;cursor:pointer;color:var(--lpg2)}
.rl-addend b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;box-shadow:inset 0 0 0 1.2px #d9c6a8;flex:none;transition:transform .35s var(--spring),background .2s}
.rl-addend b svg{width:15px;height:15px}
.rl-addend::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,#e2d6c4,transparent)}
.rl-addend:hover b{background:var(--lpgb)}
.rl-addend.on b{transform:rotate(45deg);background:var(--lpgb)}
@media (hover:none){
  .rl-h .no::before{content:"";position:absolute;left:1px;top:50%;width:4px;height:14px;margin-top:-7px;background:radial-gradient(circle,#cbbda9 1px,transparent 1.3px) 0 0/4px 4.7px;opacity:.9}
  .rl-del{opacity:.5}
  .rl-ins{display:none}
}
.rl .fli .t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ===== v17 mobile polish ===== */
@media (max-width:600px){
  #onboard[data-step=names] .lp-bk,#onboard[data-step=when] .lp-bk,#onboard[data-step=venue] .lp-bk{--pw:clamp(112px,calc((100dvh - 500px)/1.42),210px)}
  #onboard[data-step=contents] .lp-bk{--pw:clamp(150px,min(66vw,calc((100dvh - 440px)/1.42)),300px)!important}
  #onboard[data-step=contents] .lp-bk:not(.open){transform:none}
  #onboard[data-step=contents] .lp-bk::before{left:4%;right:4%}
  .lp-spreads{gap:6px}
  .lp-spreads button i{width:16px;height:22px}
}
@media (hover:none){.rl-it:not(.open)>.rl-h .rl-del{display:none}.rl-it.open>.rl-h .rl-del{opacity:1}}

@media (max-width:600px){
  .fmt{left:8px!important;right:8px;transform:none!important;max-width:calc(100vw - 16px);overflow-x:auto;scrollbar-width:none;justify-content:flex-start}
  .fmt::-webkit-scrollbar{display:none}
  .fmt.on{transform:none!important}
  .fmt>*{flex:none}
  .rl-it>.nb,.rl-thanks>.nb{padding:0 10px 14px 14px}
  .rl-addrow{padding-left:12px}
  .rl .fli{align-items:flex-start}
  .rl .fli .t{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:16.5px;line-height:1.3}
  .rl .fli .lead{display:none}
  .rl .fli .r{padding-top:3px;white-space:nowrap;font-size:11.5px;line-height:1.3}
  .rl-cpl .names{font-size:28px}
}
/* ===== v18 ===== */
.t-posy .cover .amp{font-family:'La Belle Aurore',cursive;font-style:normal;font-size:28px;line-height:1;color:var(--acc);margin:2px 0 4px}
.cover .motif.mo-garland{width:230px;margin-bottom:22px}
.cover .motif.mo-bow{width:190px;margin-bottom:22px}
.dsq .dai.eng.ai-garland,.dsq .dai.eng.ai-bow{width:86%!important;height:36%!important}
/* Lemon grove */
.t-grove{--acc:#4f6130;--acc2:#4f6130;--mut:#6e7258;--ink:#2f3322;--hf:'Cormorant Garamond';--nf:'Great Vibes';--tf:'Cormorant Garamond'}
.t-grove .cover{padding:100px 70px 84px}
.t-grove .cover .title{font-family:'Cormorant Garamond',serif;font-size:12px;letter-spacing:.3em;color:var(--ink)}
.t-grove .cover .nmrow{margin-top:20px;gap:0 .25em}
.t-grove .cover .nm,.page.nm-caps.t-grove .cover .nm{font-family:var(--nf),'Great Vibes',cursive;font-size:56px;letter-spacing:0;text-transform:none;font-variant:normal;color:var(--ink);padding:0;margin:0;line-height:1.15}
.t-grove .cover .amp{font-family:'Great Vibes',cursive;font-style:normal;font-size:44px;color:var(--acc);margin:0}
.t-grove .cover .art.pic{margin:34px 0 30px}
.t-grove .cover .ai.eng{width:calc(var(--bw)*.62px)}
.t-grove .cover .date{font-family:'Great Vibes',cursive;font-size:30px;color:var(--ink)}
.t-grove .cover .venue{font-family:'Cormorant Garamond',serif;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink);margin-top:14px}
.t-grove .lab{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:12.5px;letter-spacing:.24em;color:var(--acc)}
.t-grove .ti{font-family:'Great Vibes',cursive;font-style:normal;font-size:28px}
.t-grove .blk.title .big{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:17px;letter-spacing:.28em;color:var(--ink)}
/* Garland */
.t-garland{--acc:#7c5566;--acc2:#7c5566;--mut:#8a7a80;--ink:#3a2f33;--hf:'Cormorant Garamond';--nf:'Cormorant Garamond';--tf:'Cormorant Garamond'}
.t-garland .cover{padding:104px 80px}
.t-garland .cover .ofm{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:19px;color:var(--mut)}
.t-garland .cover .nm,.page.nm-caps.t-garland .cover .nm{font-family:var(--nf),'Cormorant Garamond',serif;font-weight:500;font-size:40px;letter-spacing:.2em;padding-left:.2em;text-transform:uppercase;color:var(--ink);line-height:1.12;margin:4px 0}
.t-garland .cover .amp{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:30px;color:var(--acc);margin:0}
.t-garland .cover .art.pic{margin:30px 0 26px}
.t-garland .cover .ai.eng{width:calc(var(--bw)*.55px)}
.t-garland .cover .date{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px}
.t-garland .cover .venue{font-family:'Cormorant Garamond',serif;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;margin-top:6px}
.t-garland .lab{font-family:'Cormorant Garamond',serif;font-weight:600;letter-spacing:.24em;color:var(--acc)}
.t-garland .blk.title .big{font-family:'Cormorant Garamond',serif;font-weight:500;color:var(--ink)}
.t-grove{--ps:.6}.t-garland{--ps:.55}
/* the prayer note */
.hynote svg{width:14px;height:14px;vertical-align:-2px;margin-right:6px;color:var(--lpg)}
/* welcome: carry on */
.lp-resume{display:inline-flex;align-items:center;gap:10px;margin:18px auto 0;padding:10px 6px;border:0;background:none;font:inherit;font-size:16px;color:var(--faint,#8b8176);cursor:pointer;transition:color .2s}
.lp-resume em{font-family:'EB Garamond',serif;font-size:19px;color:var(--ink,#2a2622)}
.lp-resume svg{width:16px;height:16px;transition:transform .45s var(--spring)}
.lp-resume:hover{color:var(--ink,#2a2622)}.lp-resume:hover svg{transform:translateX(3px)}
.lp-resume[hidden]{display:none}
/* wordmark */
.wm{font-family:'EB Garamond',serif;letter-spacing:-.005em}
.wm b{font-weight:inherit}
.wm i{font-style:normal;color:var(--lpg,#b68235)}
#builder .logo .word.wm{font-size:22px}
@media (max-width:600px){#builder .logo .word.wm{font-size:16.5px}}
@media (max-width:430px){#builder .topbar .crumb{display:none}}

/* ===== v19: people involved, musicians ===== */
.rl-people{margin:6px 0 10px;border-radius:16px;transition:background .2s}
.rl-people.open{background:rgba(154,111,56,.055)}
.rl-peopleh{display:grid;grid-template-columns:36px minmax(0,1fr) auto;column-gap:8px;align-items:center;padding:10px 12px 10px 0;cursor:pointer;min-height:52px}
.rl-peopleh .pd{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#f3eadc;color:var(--lpg2);justify-self:center}
.rl-peopleh .pd svg{width:17px;height:17px}
.rl-peopleh b{display:block;font-weight:400;font-family:'EB Garamond',serif;font-size:18.5px;color:var(--lpi)}
.rl-peopleh em{display:block;font-family:'EB Garamond',serif;font-size:15.5px;color:var(--lpm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rl-peopleh .cnt{font-family:'EB Garamond',serif;font-size:15px;color:var(--lpg2)}
@media (hover:hover){.rl-people:not(.open):hover{background:rgba(154,111,56,.04)}}
.rl-people>.nb{padding:0 12px 14px 44px}
.plist{display:grid;gap:0}
.pr{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr) 28px;align-items:center;gap:10px;border-bottom:1px solid var(--lpr);min-height:46px}
.pr input{border:0;background:transparent;outline:none;min-width:0;padding:10px 0;color:var(--lpi)}
.pr .pk{font-family:Jost;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--lpg2)}
.pr .pk::placeholder{color:#c9b999}
.pr .pv{font-family:'EB Garamond',serif;font-size:17px}
.pr .pv::placeholder{color:#b8ad9f;font-style:italic}
.pr:focus-within{border-color:var(--lpg)}
.pr .rm,.musr2 .rm{width:28px;height:28px;border:0;border-radius:50%;background:transparent;display:grid;place-items:center;color:#c9bdac;cursor:pointer}
.pr .rm svg,.musr2 .rm svg{width:13px;height:13px}
.pr .rm:hover,.musr2 .rm:hover{background:#f3e6df;color:#9a4a32}
.padd{display:flex;flex-wrap:wrap;gap:6px;padding:12px 0 4px}
.padd button{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px;border:0;background:transparent;box-shadow:inset 0 0 0 1px var(--lpr);font:inherit;font-size:13px;color:var(--lpm);cursor:pointer}
.padd button svg{width:12px;height:12px;color:var(--lpg2)}
.padd button:hover{background:var(--lpgb);color:var(--lpi)}
.padd .own{box-shadow:inset 0 0 0 1px #d9c6a8;color:var(--lpg2)}
.musr2{display:grid;grid-template-columns:auto minmax(0,1fr) 28px;align-items:center;gap:12px;min-height:46px;border-bottom:1px solid var(--lpr)}
.musr2 .what{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--lpg2);min-width:58px}
.musr2 .mn{display:flex;align-items:center;gap:8px;min-width:0;color:#c3a57a}
.musr2 .mn svg{width:14px;height:14px;flex:none}
.musr2 .mn.has svg{opacity:0;width:0;margin-left:-8px}
.musr2 input{flex:1;min-width:0;border:0;background:transparent;outline:none;font-family:'EB Garamond',serif;font-size:17px;padding:10px 0;color:var(--lpi)}
.musr2 input::placeholder{color:#b39a78;font-style:italic}
.musr2:focus-within{border-color:var(--lpg)}
@media (max-width:600px){.rl-people>.nb{padding:0 10px 14px 12px}}

/* ===== v20 ===== */
/* bigger pictures in the picture and motif tiles */
.dt .dsq .dai{width:78%!important;height:78%!important}
.dt .dsq .dai.eng.ai-fl8,.dt .dsq .dai.eng.ai-fl14{width:86%!important;height:26%!important}
.dt .dsq .dai.eng.ai-garland,.dt .dsq .dai.eng.ai-bow{width:88%!important;height:40%!important}
.dt .dsq .drule{width:74%}
/* painted: a real watercolour wash */
.fr-wash{inset:0;background:var(--acc2);-webkit-mask:var(--art-wash) center/100% 100% no-repeat;mask:var(--art-wash) center/100% 100% no-repeat}
.fr-wash svg{display:none}
.t-painted{--acc:#b07a86;--acc2:#93ab7c;--mut:#7b766e;--ink:#34322e;--hf:'EB Garamond';--nf:'EB Garamond';--tf:'EB Garamond'}
.t-painted .cover{padding:112px 100px 104px;justify-content:center}
.t-painted .cover .ofm{font-family:'EB Garamond',serif;font-style:italic;font-size:19px;letter-spacing:.01em;text-transform:none;color:var(--mut);margin:0 0 14px}
.t-painted .cover .nm,.page.nm-caps.t-painted .cover .nm{font-family:var(--nf),'EB Garamond',serif;font-weight:400;font-size:50px;line-height:1.04;letter-spacing:.005em;text-transform:none;font-variant:normal;color:var(--ink);padding:0;margin:0}
.t-painted .cover .amp{font-family:'EB Garamond',serif;font-style:italic;font-size:27px;line-height:1.2;color:var(--acc);margin:4px 0}
.t-painted .cover .art.pic{margin:34px 0 32px}
.t-painted .cover .ai.eng{width:calc(var(--bw)*.62px)}
.t-painted .cover .ai-tower{width:78px}.t-painted .cover .ai-salis{width:190px}.t-painted .cover .ai-wc{width:190px}
.t-painted .cover .motif{margin:18px 0 0!important}
.t-painted .cover .date{font-family:'EB Garamond',serif;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink);padding-left:.24em;margin:0}
.t-painted .cover .venue{font-family:'EB Garamond',serif;font-style:italic;font-size:16px;letter-spacing:.01em;text-transform:none;color:var(--mut);margin-top:7px}
.t-painted .lab{color:var(--ink);font-weight:500}
.t-painted .dir{color:var(--acc)}
.t-painted .ti{color:var(--ink)}
/* lemon grove */
.fr-lemons{inset:0}
.fr-lemons i{position:absolute;width:176px;aspect-ratio:310/466;background:var(--acc);-webkit-mask:var(--art-lemon) center/contain no-repeat;mask:var(--art-lemon) center/contain no-repeat;opacity:.92}
.fr-lemons i:nth-child(1){left:14px;top:10px;transform:rotate(-8deg) scaleX(-1)}
.fr-lemons i:nth-child(2){right:14px;bottom:10px;transform:rotate(172deg) scaleX(-1)}
.page:not(.coverpage):not(.backp) .fr-lemons i{width:110px;opacity:.85}
.page.pf-lemons:not(.coverpage) .pin{inset:92px 64px 112px}
.t-grove{--acc:#5b6b3a;--acc2:#5b6b3a;--mut:#7b7d6a;--ink:#2f3322;--hf:'Cormorant Garamond';--nf:'Great Vibes';--tf:'Cormorant Garamond'}
.t-grove .cover{padding:150px 92px 140px;justify-content:center}
.t-grove .cover .title{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:11.5px;letter-spacing:.34em;padding-left:.34em;text-transform:uppercase;color:var(--ink);margin:0 0 16px}
.t-grove .cover .nmrow{margin:0;gap:0 .32em;align-items:baseline}
.t-grove .cover .nm,.page.nm-caps.t-grove .cover .nm{font-family:var(--nf),'Great Vibes',cursive;font-size:58px;letter-spacing:0;text-transform:none;font-variant:normal;color:var(--ink);padding:0;margin:0;line-height:1.2}
.t-grove .cover .amp{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:32px;color:var(--acc);margin:0 .05em}
.t-grove .cover .art.pic{margin:26px 0 24px}
.t-grove .cover .ai.eng{width:calc(var(--bw)*.5px)}
.t-grove .cover .ai-tower{width:60px}.t-grove .cover .ai-salis{width:150px}.t-grove .cover .ai-wc{width:150px}
.t-grove .cover .date{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:21px;color:var(--ink);margin:0}
.t-grove .cover .venue{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:11px;letter-spacing:.3em;padding-left:.3em;text-transform:uppercase;color:var(--mut);margin-top:10px}
/* posy: the ampersand, balanced */
.t-posy .cover .amp{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:30px;line-height:1;color:var(--acc);margin:2px 0 6px}
/* onboarding */
.lp-step .lp-note{color:var(--faint);font-size:15px;font-weight:300;margin:8px 0 0}
#onboard{overflow-x:clip!important;overflow-y:visible!important}
#onboard[data-step=style] .lp-step[data-step=style] .lp-row{position:sticky;bottom:0;z-index:6;margin:18px calc(50% - 50vw) 0;padding:34px calc(50vw - 50%) calc(18px + env(safe-area-inset-bottom,0px));background:rgba(243,238,229,.94);-webkit-mask-image:linear-gradient(transparent,#000 42%);mask-image:linear-gradient(transparent,#000 42%)}
.lp-row.nudge .lp-btn.round{animation:lpnudge 1.8s var(--out) 2}
@keyframes lpnudge{0%{box-shadow:0 0 0 0 rgba(42,38,34,.35)}60%{box-shadow:0 0 0 14px rgba(42,38,34,0)}100%{box-shadow:0 0 0 0 rgba(42,38,34,0)}}
/* hymn, reading and prayer lists: titles wrap, never cut */
.rl .fli{flex-wrap:wrap;row-gap:1px;align-items:baseline}
.rl .fli .t{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;display:block!important;-webkit-line-clamp:none!important;flex:0 1 auto;font-size:17px;line-height:1.3}
.rl .fli .lead{display:block!important;flex:1 0 18px;min-width:18px}
.rl .fli .r{margin-left:auto;white-space:normal!important;text-align:right;font-size:12px;line-height:1.35;max-width:100%}
/* undo: one fixed place */
.rl-toast{position:fixed!important;left:calc(clamp(320px,28vw,410px)/2);bottom:28px;margin:0!important;transform:translateX(-50%);z-index:60;animation:toastin .45s var(--spring)!important;overflow:hidden}
.rl-toast::after{content:"";position:absolute;left:18px;right:18px;bottom:4px;height:2px;border-radius:2px;background:rgba(255,253,249,.35);transform-origin:left;animation:toastbar 6s linear forwards}
@keyframes toastin{from{opacity:0;transform:translate(-50%,12px)}}
@keyframes toastbar{to{transform:scaleX(0)}}
@media (max-width:900px){.rl-toast{left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px))}}
/* music */
.ens{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0 8px}
.ens button{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border-radius:999px;border:0;background:transparent;box-shadow:inset 0 0 0 1px var(--lpr);font:inherit;font-size:13.5px;color:var(--lpm);cursor:pointer;transition:background .2s,color .2s}
.ens button:hover{background:var(--lpgb);color:var(--lpi)}
.ens button[aria-pressed=true]{background:var(--lpi);color:#fffdf9;box-shadow:none}
.ens button[aria-pressed=true] b{font-weight:400;color:#d9c6a8;margin-left:2px}
.mseek{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--lpr);margin:4px 0 2px}
.mseek svg{width:16px;height:16px;color:var(--lpf);flex:none}
.mseek input{flex:1;min-width:0;border:0;background:transparent;outline:none;font:inherit;font-size:15px;padding:10px 0;color:var(--lpi)}
.trk .tt small em{font-style:italic;color:var(--lpf)}
.mmore{display:flex;gap:14px;padding:8px 0 2px}
.mmore button{border:0;background:none;padding:6px 0;font:inherit;font-size:13px;color:var(--lpg2);cursor:pointer;text-decoration:underline;text-decoration-color:#d9c6a8;text-underline-offset:4px}
.mempty{font-family:'EB Garamond',serif;font-style:italic;font-size:16px;color:var(--lpm);padding:10px 0}
.hytunes{display:flex;flex-wrap:wrap;gap:6px;padding:6px 0 2px 24px}
.hytunes button{height:30px;padding:0 12px;border-radius:999px;border:0;background:transparent;box-shadow:inset 0 0 0 1px var(--lpr);font:inherit;font-size:12.5px;color:var(--lpm);cursor:pointer;font-variant:small-caps;letter-spacing:.04em}
.hytunes button[aria-pressed=true]{background:var(--lpi);color:#fffdf9;box-shadow:none}
/* ===== v21 ===== */
/* date and time: one icon only, whole field opens the picker */
.lp-line:has(input[type=date]),.lp-line:has(input[type=time]),.hf:has(input[type=date]),.hf:has(input[type=time]),.field:has(input[type=date]),.field:has(input[type=time]){position:relative}
input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;opacity:0;cursor:pointer;background:none}
/* names only: sit in the middle */
.cover.art-names{justify-content:center}
.t-cottage .cover.art-names .mono.motif{margin:40px 0 0}
.t-border .cover.art-names .botb{margin-top:40px}
.t-portrait .cover.art-names{justify-content:center}
/* page numbers clear of every frame */
.page.pf-line .pin,.page.pf-double .pin{inset:70px 64px 110px}.page.pf-line .folio,.page.pf-double .folio{bottom:46px}
.page.pf-triple .pin{inset:90px 80px 124px}.page.pf-triple .folio{bottom:56px}
.page.pf-octagon .pin{inset:90px 80px 124px}.page.pf-octagon .folio{bottom:58px}
.page.pf-sketch .pin{inset:80px 76px 128px}.page.pf-sketch .folio{bottom:64px}
.page.pf-stripes .pin{inset:92px 84px 132px}.page.pf-stripes .folio{bottom:68px}
.page.pf-stripes:not(.coverpage):not(.backp) .pin{inset:74px 68px 116px}.page.pf-stripes:not(.coverpage):not(.backp) .folio{bottom:50px}
.page.pf-corners .pin{inset:88px 80px 124px}.page.pf-corners .folio{bottom:54px}
.page.pf-wash .pin{inset:86px 78px 128px}.page.pf-wash .folio{bottom:64px}
.page.pf-posy .pin{inset:88px 80px 126px}.page.pf-posy .folio{bottom:60px}
.page.pf-band .pin{inset:84px 76px 122px}.page.pf-band .folio{bottom:50px}
/* thank-you page: room to breathe */
.backpage{padding:110px 90px}
.backpage .btitle{margin-bottom:30px}
.backpage .roles{gap:22px;margin-bottom:6px}
.backpage .orn{margin:34px auto 28px}
.backpage .note{line-height:1.45}
.page.pf-triple .backpage,.page.pf-octagon .backpage,.page.pf-sketch .backpage,.page.pf-stripes .backpage,.page.pf-wash .backpage,.page.pf-posy .backpage,.page.pf-corners .backpage,.page.pf-band .backpage{padding:130px 110px}
/* onboarding: centred and balanced at every size */
#onboard .lp-step{text-align:center!important}
#onboard .lp-h,#onboard .lp-lede,#onboard .lp-note{margin-left:auto;margin-right:auto}
#onboard .lp-line input{text-align:center}
#onboard .lp-line input::-webkit-date-and-time-value{text-align:center}
#onboard .lp-list button{justify-content:center;text-align:center}
#onboard .lp-q{justify-self:center;margin-inline:auto}
#onboard .lp-row{max-width:560px;margin-left:auto!important;margin-right:auto!important;width:100%}
#onboard[data-step=style] .lp-step[data-step=style] .lp-row{max-width:none}
#onboard[data-step=style] .lp-step[data-step=style] .lp-row>*:first-child{margin-left:max(0px,calc(50% - 280px))}
#onboard[data-step=style] .lp-step[data-step=style] .lp-row>*:last-child{margin-right:max(0px,calc(50% - 280px))}
.lp-sent{text-align:center}

/* ===== v23: onboarding fields, polished ===== */
#onboard .lp-fields{gap:10px 22px}
#onboard .lp-line{border-bottom:0;padding-bottom:1px;flex-direction:column;align-items:stretch;gap:0}
#onboard .lp-line::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#d6cbbb}
#onboard .lp-line::before{content:"";position:absolute;left:50%;right:50%;bottom:0;height:1.5px;background:var(--gold);transition:left .45s var(--out),right .45s var(--out);z-index:1}
#onboard .lp-line:focus-within::before,#onboard .lp-line.on::before{left:0;right:0}
#onboard .lp-line>svg{display:none}
#onboard .lp-line input{font-size:clamp(22px,6vw,26px);padding:14px 0 12px;min-height:60px;caret-color:var(--gold)}
#onboard .lp-line input::placeholder{color:#bdb2a3;font-weight:300;transition:opacity .2s}
#onboard .lp-line input:focus::placeholder{opacity:.45}
#onboard .lp-cap{display:block;text-align:center;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);padding-top:10px;transition:color .2s}
#onboard .lp-line:focus-within .lp-cap,#onboard .lp-line.on .lp-cap{color:var(--gold)}
/* date and time: a friendly face over the native picker */
#onboard .lp-dt{position:relative;min-height:60px;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer}
#onboard .lp-dt .shown{font-family:'Jost';font-weight:300;font-size:clamp(20px,5.4vw,24px);color:var(--ink);white-space:nowrap}
#onboard .lp-dt .shown.empty{color:#bdb2a3}
#onboard .lp-dt svg{width:20px;height:20px;color:var(--gold);flex:none;display:block}
#onboard .lp-dt input{position:absolute!important;inset:0;opacity:0;width:100%;height:100%;min-height:0!important;padding:0!important;font-size:16px!important;cursor:pointer;z-index:2;-webkit-appearance:none}
#onboard .lp-dt input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;opacity:0}
@media (max-width:600px){#onboard .lp-fields.two{grid-template-columns:1fr;gap:14px}}
/* the booklet shows where names will go */
.lp-bk .mini .page .cover .nm:empty,.lp-bk .mini .page .cover .date:empty{display:block!important}
.lp-bk .mini .page .cover .nm:empty::before{content:attr(data-ph);opacity:.22}
#onboard:is([data-step=names],[data-step=when],[data-step=where],[data-step=venue],[data-step=ceremony]) .lp-bk .mini .cover>*:not(.art):not(.motif){zoom:var(--obz,1.45)!important}

/* ===== v24: email, the ask, thanks ===== */
.os-veil{position:fixed;inset:0;z-index:200;background:rgba(42,38,34,.34);opacity:0;transition:opacity .35s;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.os-veil.on{opacity:1}
.os-sheet{--c:#fffdf9;--i:#2a2622;--m:#6f665c;--f:#9a8f82;--r:#e6ddd1;--g:#9a6f38;--g2:#b68235;--gl:#d9c6a8;
 position:fixed;z-index:201;left:0;right:0;bottom:0;max-height:min(92svh,860px);display:flex;flex-direction:column;background:var(--c);color:var(--i);
 border-radius:26px 26px 0 0;box-shadow:0 -24px 60px -30px rgba(42,38,34,.5);transform:translateY(105%);transition:transform .5s cubic-bezier(.22,1,.36,1);font-family:Jost,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.os-sheet.on{transform:none}
@media (min-width:700px){.os-sheet{left:50%;right:auto;bottom:auto;top:50%;width:440px;border-radius:24px;transform:translate(-50%,-46%) scale(.98);opacity:0;transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .3s;box-shadow:0 40px 90px -40px rgba(42,38,34,.6)}
 .os-sheet.on{transform:translate(-50%,-50%);opacity:1}}
.os-body{overflow-y:auto;padding:14px 28px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.os-body::-webkit-scrollbar{display:none}
.os-foot{padding:10px 28px calc(20px + env(safe-area-inset-bottom,0px));position:relative;background:var(--c);border-radius:0 0 24px 24px}
.os-foot::before{content:"";position:absolute;left:0;right:0;top:-24px;height:24px;background:linear-gradient(rgba(255,253,249,0),var(--c));pointer-events:none}
.os-foot:empty{display:none}
.os-grab{width:38px;height:4px;border-radius:4px;background:var(--r);margin:0 auto 18px}
@media (min-width:700px){.os-grab{visibility:hidden;margin-bottom:6px}}
.os-x{position:absolute;right:12px;top:10px;width:40px;height:40px;border:0;background:none;border-radius:50%;display:grid;place-items:center;color:var(--f);cursor:pointer;z-index:2}
.os-x:hover{background:rgba(42,38,34,.05);color:var(--i)}
.os-x .i{width:18px;height:18px}
.os-ico{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;margin:2px auto 14px;color:var(--g);box-shadow:inset 0 0 0 1px var(--gl)}
.os-ico .i{width:22px;height:22px}
.os-ico.pop{animation:ospop .6s cubic-bezier(.34,1.56,.64,1)}
@keyframes ospop{from{transform:scale(.4);opacity:0}}
.os-kick{font-size:10.5px;letter-spacing:.2em;padding-left:.2em;text-transform:uppercase;color:var(--g);text-align:center;margin:0 0 8px}
.os-h{font-family:'EB Garamond',serif;font-weight:400;font-size:27px;line-height:1.12;text-align:center;margin:0 0 10px;text-wrap:balance}
.os-sub{text-align:center;color:var(--m);font-weight:300;font-size:15px;line-height:1.5;margin:0 auto 20px;max-width:32ch;text-wrap:pretty}
.os-sub b{font-weight:400;color:var(--i)}
.os-fld{position:relative;margin:0 0 16px;text-align:center}
.os-fld label{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--f);margin-bottom:2px}
.os-fld input{width:100%;border:0;background:transparent;outline:none;text-align:center;font-family:'EB Garamond',serif;font-size:22px;padding:8px 0 9px;color:var(--i);border-radius:0}
.os-fld input::placeholder{color:#c9bfb2}
.os-fld::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--r)}
.os-fld::before{content:"";position:absolute;left:50%;right:50%;bottom:0;height:1.5px;background:var(--g2);transition:left .45s cubic-bezier(.22,1,.36,1),right .45s cubic-bezier(.22,1,.36,1);z-index:1}
.os-fld:focus-within::before,.os-fld.on::before{left:0;right:0}
.os-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.os-tick{display:flex;gap:12px;align-items:flex-start;text-align:left;font:inherit;font-size:14px;line-height:1.45;color:var(--m);font-weight:300;margin:2px 0 18px;width:100%;border:0;background:none;padding:0;cursor:pointer}
.os-tick .bx{width:22px;height:22px;border-radius:6px;box-shadow:inset 0 0 0 1.5px #cdbfae;flex:none;display:grid;place-items:center;transition:background .2s,box-shadow .2s}
.os-tick .bx .i{width:14px;height:14px;color:#fffdf9;opacity:0;transform:scale(.4);transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .2s}
.os-tick[aria-checked=true] .bx{background:var(--i);box-shadow:none}
.os-tick[aria-checked=true] .bx .i{opacity:1;transform:none}
.os-tick b{font-weight:400;color:var(--i)}
.os-go{width:100%;height:54px;border:0;border-radius:14px;background:var(--i);color:#fffdf9;display:flex;align-items:center;justify-content:center;gap:10px;font:inherit;font-size:15.5px;letter-spacing:.01em;cursor:pointer;transition:transform .2s,opacity .3s}
.os-go:active{transform:scale(.98)}
.os-go[disabled]{background:transparent;color:var(--f);box-shadow:inset 0 0 0 1px var(--r);cursor:default}
.os-go .i{width:18px;height:18px}
.os-go.busy{opacity:.6;pointer-events:none}
.os-quiet{display:block;margin:12px auto 0;font:inherit;font-size:14px;color:var(--m);background:none;border:0;cursor:pointer;text-decoration:underline;text-decoration-color:var(--gl);text-underline-offset:5px;padding:6px 10px}
.os-fine{font-size:12px;color:var(--f);text-align:center;margin:12px 0 0;line-height:1.45}
.os-fine a{color:inherit}
.os-err{font-size:13px;color:#a3453a;text-align:center;margin:-6px 0 12px;min-height:1px}
.os-line{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 14px;font-family:'EB Garamond',serif;font-size:15.5px;color:var(--m);margin:0 0 14px}
.os-line span{display:flex;align-items:center;gap:5px}.os-line .i{width:14px;height:14px;color:var(--g2)}
.os-paid{display:flex;align-items:baseline;justify-content:space-between;font-family:'EB Garamond',serif;font-size:18px;color:var(--m);padding:0;margin:8px 0 18px}
.os-paid b{font-weight:400;font-size:22px;color:var(--i)}
.os-note{display:flex;align-items:center;gap:12px;margin:0 0 16px}
.os-note img{width:42px;height:42px;border-radius:50%;object-fit:cover;filter:grayscale(1);flex:none}
.os-note q{font-family:'EB Garamond',serif;font-style:italic;font-size:16px;line-height:1.38;quotes:none}
.os-note q small{display:block;font-family:Jost;font-style:normal;font-size:11.5px;color:var(--f);margin-top:3px}
.os-costs{margin:0 0 22px}
.os-costs .row{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;color:var(--m);margin-bottom:7px}
.os-costs .row b{font-weight:500;color:var(--i)}
.os-costs .trk{position:relative;height:5px;border-radius:5px;background:var(--r);overflow:hidden}
.os-costs .trk i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--g2);border-radius:5px;transition:width 1.2s cubic-bezier(.22,1,.36,1)}
.os-costs .trk u{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,var(--g2) 0 3px,transparent 3px 6px);opacity:0;transition:opacity .4s,width .6s cubic-bezier(.22,1,.36,1)}
.os-costs.pv .trk u{opacity:.55}
.os-costs .gap{color:var(--g)}.os-costs .gap b{color:var(--g);font-weight:500}
.os-amts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:6px 0 0}
.os-amts button{position:relative;height:64px;border:0;border-radius:12px;background:none;box-shadow:inset 0 0 0 1px #ece4d9;font-family:'EB Garamond',serif;font-size:21px;line-height:1.05;color:var(--i);cursor:pointer;transition:background .25s,color .25s,box-shadow .25s,transform .3s cubic-bezier(.34,1.56,.64,1)}
.os-amts button:hover{box-shadow:inset 0 0 0 1px var(--gl)}
.os-amts button[aria-pressed=true]{background:var(--i);color:#fffdf9;box-shadow:none;transform:translateY(-2px)}
.os-amts small{display:block;font-family:Jost;font-size:10.5px;letter-spacing:.02em;opacity:.62;margin-top:4px}
.os-amts .other{font-style:italic;font-size:19px}
.os-amts .pop{position:absolute;top:-9px;left:50%;transform:translateX(-50%);font-family:Jost;font-size:9px;letter-spacing:.1em;text-transform:uppercase;background:var(--g);color:#fffdf9;padding:2px 6px;border-radius:4px;white-space:nowrap}
.os-cur{font-style:italic;font-size:.74em;color:var(--f);position:relative;top:-.22em;margin-right:.06em;font-family:'EB Garamond',serif}
[aria-pressed=true] .os-cur{color:#cfc3b3}
.os-go .os-cur{color:rgba(255,253,249,.62)}
.os-own{display:flex;align-items:center;justify-content:center;gap:4px;margin:12px 0 0;font-family:'EB Garamond',serif;font-size:24px}
.os-own input{width:90px;border:0;border-bottom:1px solid var(--r);background:none;text-align:center;font:inherit;outline:none;padding:2px 0;color:var(--i);border-radius:0}
.os-own input:focus{border-color:var(--g2)}
.os-speed{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--f);margin:10px 0 0}
.os-speed .i{width:14px;height:14px;color:var(--g2)}
.os-share{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:50px;border:0;background:none;border-radius:14px;box-shadow:inset 0 0 0 1px var(--r);font:inherit;font-size:14.5px;color:var(--i);cursor:pointer;margin:0 0 12px}
.os-share .i{width:18px;height:18px;color:var(--g)}
.os-share:hover{box-shadow:inset 0 0 0 1px var(--gl)}
/* welcome */
.lp-foot{display:flex;flex-direction:column;align-items:center;gap:10px;margin:52px auto calc(24px + env(safe-area-inset-bottom,0px));transition:opacity .3s}
#onboard:not([data-step=welcome]) .lp-foot,.lp-foot.gone{opacity:0;pointer-events:none;visibility:hidden}
@media (min-width:700px) and (min-height:640px){.lp-foot{position:fixed;left:0;right:0;bottom:calc(20px + env(safe-area-inset-bottom,0px));margin:0;z-index:5}}
@media (min-width:700px){.lp-foot{flex-direction:row;justify-content:center;gap:0}.lp-foot .lp-by::before{content:"";width:3px;height:3px;border-radius:50%;background:#cdbfae;margin:0 14px 0 16px}}
.lp-kept{display:flex;align-items:center;justify-content:center;gap:7px;margin:0;font-size:13.5px;color:var(--lpf,#9a8f82);font-weight:300}
.lp-kept .i{width:13px;height:13px;color:#b0646e}
.lp-count{margin:10px auto 0;text-align:center;font-family:'EB Garamond',serif;font-size:16px;color:var(--lpm,#6f665c)}
.lp-count b{font-weight:500;color:var(--lpi,#2a2622)}
.lp-by{display:flex;align-items:center;justify-content:center;gap:7px;margin:0;font-size:13.5px;color:var(--lpf,#9a8f82);font-weight:300;line-height:1}
.lp-by img{width:24px;height:24px;border-radius:50%;object-fit:cover;filter:grayscale(1);margin-right:3px}
.lp-by b{font-family:'La Belle Aurore',cursive;font-weight:400;font-size:21px;color:var(--lpi,#2a2622);line-height:1;position:relative;top:.2em}
/* builder */
.os-heart{height:40px;min-width:40px;border:0;background:none;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 10px;color:#b0485d;font:inherit;font-size:14px;cursor:pointer;flex:none;transition:background .2s}
.os-heart:hover{background:rgba(176,72,93,.08)}
.os-heart .i{width:19px;height:19px;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.os-heart:hover .i{transform:scale(1.12)}
.os-heart span{color:var(--lpi,#2a2622)}
@media (max-width:900px){.os-heart span{display:none}.os-heart{padding:0}}
.os-heart.beat .i{animation:osbeat 1.3s ease-in-out 2}
@keyframes osbeat{0%,100%{transform:scale(1)}14%{transform:scale(1.28)}28%{transform:scale(1)}42%{transform:scale(1.18)}56%{transform:scale(1)}}
.os-hours{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--lpm,#6f665c);white-space:nowrap;margin-right:6px}
.os-hours .i{width:15px;height:15px;color:#b68235}
@media (max-width:760px){.os-hours{display:none}}
.os-toast{position:fixed;left:50%;bottom:calc(28px + env(safe-area-inset-bottom,0px));z-index:190;transform:translateX(-50%);background:#2a2622;color:#fffdf9;border-radius:14px;padding:12px 18px;display:flex;align-items:center;gap:10px;font-family:Jost,sans-serif;font-size:14.5px;white-space:nowrap;box-shadow:0 18px 34px -18px rgba(0,0,0,.55);animation:ostin .6s cubic-bezier(.34,1.56,.64,1);transition:opacity .4s}
.os-toast .i{width:18px;height:18px;color:#d9c6a8}
@keyframes ostin{from{opacity:0;transform:translate(-50%,14px)}}
@media (max-width:900px){.os-toast{bottom:calc(92px + env(safe-area-inset-bottom,0px))}}
@media print{.os-veil,.os-sheet,.os-toast{display:none!important}}

/* ===== v25: back pages, credit, links ===== */
.backpage .credit{position:absolute!important;flex-shrink:0;left:0;right:0;bottom:var(--cb,46px);display:flex;align-items:center;justify-content:center;gap:6px;font-family:Jost,sans-serif;font-size:8.5px;letter-spacing:.02em;color:var(--acc);opacity:.5;pointer-events:none;white-space:nowrap}
.backpage .credit svg{width:11px;height:11px;flex:none}
.backpage.k-venue>*,.backpage.k-words>*{flex-shrink:0}
.backpage.k-venue,.backpage.k-words{justify-content:safe center;overflow:hidden;padding:var(--pt,80px) var(--px,74px) var(--pb,96px);font-size:calc(13.5px * var(--vs,1))}
.k-venue .vart{display:flex;justify-content:center;margin:0 0 1.5em}
.k-venue .vart i{display:block;width:calc(190px * var(--vs,1));height:calc(150px * var(--vs,1));background:var(--acc);-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.k-venue .vart img{width:calc(210px * var(--vs,1));aspect-ratio:4/3;object-fit:cover;filter:grayscale(.2)}
.k-venue .vart.empty{width:calc(150px * var(--vs,1));aspect-ratio:4/3;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);display:grid;place-items:center;color:#b8afa3;cursor:pointer}
.k-venue .vart.empty svg{width:28px;height:28px;fill:currentColor}
.k-venue .vname{font-family:var(--hf),'Cinzel',serif;font-size:1.72em;letter-spacing:.2em;padding-left:.2em;text-transform:uppercase;color:var(--acc);line-height:1.25;margin:0}
.k-venue .vsub{font-family:var(--hf),'Cinzel',serif;font-size:.74em;letter-spacing:.32em;padding-left:.32em;text-transform:uppercase;color:var(--acc);margin:.7em 0 0}
.k-venue .orn,.k-words .orn{margin:1.3em auto 1.4em!important}
.k-venue .vtext,.k-words .wtext{font-size:1em;line-height:1.62;color:var(--ink);text-align:justify;hyphens:auto;-webkit-hyphens:auto;width:100%;min-height:1.6em}
.k-venue .vtext p,.k-words .wtext p{margin:0 0 .8em}
.k-venue .vtext p:last-child,.k-words .wtext p:last-child{margin-bottom:0}
.k-venue .vtext:not(:focus) p:first-child::first-letter{float:left;font-family:var(--hf),'EB Garamond',serif;font-size:3.3em;line-height:.82;padding:.06em .1em 0 0;color:var(--acc)}
.k-venue .vjoin{font-style:italic;font-size:1.36em;color:var(--acc);margin:1.3em 0 0;line-height:1.35}
.k-words .wtitle{font-style:italic;font-size:1.5em;color:var(--acc);margin:0 0 .2em}
.k-words .wtext{text-align:center;text-wrap:pretty}
.k-words .wsig{font-family:'La Belle Aurore',cursive;font-size:1.9em;color:var(--ink);margin:.9em 0 0;line-height:1.2}
.backpage.k-none{justify-content:flex-end}
#spreads .backpage [data-v]:empty::before{content:attr(data-ph);color:#c3bcb1;font-style:italic;letter-spacing:0;text-transform:none}
#spreads .backpage [data-v]{outline:none;border-radius:2px}
#spreads .backpage [data-v]:hover{box-shadow:0 0 0 1px rgba(182,130,53,.35)}
#spreads .backpage [data-v]:focus{box-shadow:0 0 0 1.5px rgba(182,130,53,.7)}
@media print{.backpage [data-v]:empty{display:none}}
/* chooser in the words panel */
.rl-back{border-top:1px solid var(--lpr,#e6ddd1)}
.rl-back .bh{display:flex;align-items:center;gap:12px;width:100%;padding:14px 4px;border:0;background:none;font:inherit;text-align:left;cursor:pointer}
.rl-back .bh .pd{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#2f7d6d;background:rgba(47,125,109,.1);flex:none}
.rl-back .bh .pd .i{width:18px;height:18px}
.rl-back .bh .x{flex:1;min-width:0}.rl-back .bh b{display:block;font-weight:400;font-size:15px;color:var(--lpi,#2a2622)}
.rl-back .bh em{display:block;font-style:normal;font-size:12.5px;color:var(--lpf,#9a8f82);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rl-back .nb{padding:2px 4px 16px}
.bk-kinds{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:0 0 12px}
.bk-kinds button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 2px 6px;border:0;background:none;border-radius:10px;font:inherit;font-size:12px;color:var(--lpm,#6f665c);cursor:pointer}
.bk-kinds button .th{width:40px;height:56px;background:#fff;border-radius:2px;box-shadow:0 5px 12px -8px rgba(42,38,34,.45),0 0 0 1px rgba(42,38,34,.07);display:grid;place-items:center;color:var(--lpg2,#9a6f38);transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .2s}
.bk-kinds button .th .i{width:17px;height:17px}
.bk-kinds button:hover .th{transform:translateY(-2px)}
.bk-kinds button[aria-pressed=true]{color:var(--lpi,#2a2622)}
.bk-kinds button[aria-pressed=true] .th{box-shadow:0 0 0 2px var(--lpg,#b68235),0 8px 16px -10px rgba(42,38,34,.5)}
.bk-f{display:block;margin:0 0 10px}
.bk-f span{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--lpf,#9a8f82);margin-bottom:2px}
.bk-f input,.bk-f textarea{width:100%;box-sizing:border-box;border:0;border-bottom:1px solid var(--lpr,#e6ddd1);background:transparent;padding:7px 0;font-family:'EB Garamond',serif;font-size:16px;color:var(--lpi,#2a2622);outline:none;resize:vertical;border-radius:0}
.bk-f textarea{line-height:1.45}
.bk-f input:focus,.bk-f textarea:focus{border-color:var(--lpg,#b68235)}
.bk-pics{display:flex;gap:6px;margin:0 0 12px}
.bk-pics button{flex:1;height:36px;border:0;border-radius:9px;background:none;box-shadow:inset 0 0 0 1px var(--lpr,#e6ddd1);font:inherit;font-size:13px;color:var(--lpm,#6f665c);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.bk-pics button .i{width:15px;height:15px}
.bk-pics button[aria-pressed=true]{background:var(--lpi,#2a2622);color:#fffdf9;box-shadow:none}
.bk-credit{display:flex;align-items:center;gap:10px;width:100%;padding:10px 0 0;margin-top:4px;border:0;border-top:1px solid var(--lpr,#e6ddd1);background:none;font:inherit;font-size:13.5px;color:var(--lpm,#6f665c);cursor:pointer;text-align:left}
.bk-credit .lbl{flex:1}
.bk-credit .sw{width:38px;height:22px;border-radius:22px;background:#ddd3c6;position:relative;flex:none;transition:background .3s}
.bk-credit .sw::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.bk-credit[aria-pressed=true] .sw{background:var(--lpi,#2a2622)}
.bk-credit[aria-pressed=true] .sw::after{transform:translateX(16px)}
.rl-people .htog[data-backshow]{display:none!important}
/* finishing sheet */
.os-choice{display:flex;align-items:center;gap:14px;width:100%;padding:16px 16px;border:0;border-radius:16px;background:none;box-shadow:inset 0 0 0 1px var(--r);font:inherit;text-align:left;cursor:pointer;color:var(--i);margin:0 0 10px;transition:box-shadow .2s,background .2s}
.os-choice:hover{box-shadow:inset 0 0 0 1px var(--gl)}
.os-choice .ci{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex:none;background:rgba(154,111,56,.09);color:var(--g)}
.os-choice .ci .i{width:21px;height:21px}
.os-choice .ct{flex:1;min-width:0}
.os-choice b{display:block;font-weight:400;font-family:'EB Garamond',serif;font-size:20px;line-height:1.2}
.os-choice small{display:block;font-size:13px;color:var(--m);font-weight:300;line-height:1.4;margin-top:2px}
.os-choice .tag{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:#fffdf9;background:var(--g);border-radius:4px;padding:2px 6px;margin-left:6px;vertical-align:3px;font-family:Jost}
.os-choice.primary{background:var(--i);color:#fffdf9;box-shadow:none}
.os-choice.primary .ci{background:rgba(255,253,249,.12);color:#e9d6b5}
.os-choice.primary small{color:rgba(255,253,249,.7)}
.os-choice .arr{width:18px;height:18px;opacity:.5}
.os-sub2{display:flex;gap:8px;margin:-2px 0 10px}
.os-sub2 button{flex:1;padding:12px 10px;border:0;border-radius:12px;background:none;box-shadow:inset 0 0 0 1px var(--r);font:inherit;cursor:pointer;text-align:center;color:var(--i)}
.os-sub2 button b{display:block;font-weight:400;font-family:'EB Garamond',serif;font-size:17px}
.os-sub2 button small{display:block;font-size:12px;color:var(--f);font-weight:300}
.os-sub2 button:hover{box-shadow:inset 0 0 0 1px var(--gl)}
.os-linkrow{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(154,111,56,.06);margin:0 0 14px;font-size:13.5px;color:var(--m);min-width:0}
.os-linkrow .i{width:16px;height:16px;color:var(--g);flex:none}
.os-linkrow span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.os-two{display:flex;gap:8px}
.os-two .os-go{flex:1}
.os-two .os-share{flex:1;margin:0;height:54px}
/* read-only view for the vicar */
.os-viewing #builder .rail,.os-viewing #builder .panel,.os-viewing #builder .tabs,.os-viewing #builder .zoombar,.os-viewing .os-heart,.os-viewing #saved,.os-viewing .os-hours,.os-viewing #crumb{display:none!important}
.os-viewing #builder .work{grid-template-columns:minmax(0,1fr)!important}
.os-viewing #builder [contenteditable]{pointer-events:none}
.os-viewbar{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--lpm,#6f665c);margin-left:auto}
.os-viewbar b{font-weight:400;color:var(--lpi,#2a2622)}
.os-viewbar a{color:var(--lpg2,#9a6f38);text-decoration:underline;text-decoration-color:#d9c6a8;text-underline-offset:4px}
@media (max-width:700px){.os-viewbar .who{display:none}}

/* v26: no example link; verses centred on the page */
.lp-example{display:none!important}
.page .vs{width:fit-content;max-width:min(100%,360px);padding-right:34px}
.t-minimal .vs,.page.t-minimal .vs{padding-right:0}

/* ===== v27: mitred pinstripes ===== */
.fr-stripes.mitre{background:none!important}
.fr-stripes.mitre>i,.fr-stripes.mitre>b{position:absolute;display:block;pointer-events:none}
.fr-stripes.mitre>i.t,.fr-stripes.mitre>i.b{left:0;right:0;height:var(--sw);background:repeating-linear-gradient(90deg,var(--acc) 0 1.1px,transparent 1.1px 4.4px)}
.fr-stripes.mitre>i.t{top:0;clip-path:polygon(0 0,100% 0,calc(100% - var(--sw)) 100%,var(--sw) 100%)}
.fr-stripes.mitre>i.b{bottom:0;clip-path:polygon(var(--sw) 0,calc(100% - var(--sw)) 0,100% 100%,0 100%)}
.fr-stripes.mitre>i.l,.fr-stripes.mitre>i.r{top:0;bottom:0;width:var(--sw);background:repeating-linear-gradient(0deg,var(--acc) 0 1.1px,transparent 1.1px 4.4px)}
.fr-stripes.mitre>i.l{left:0;clip-path:polygon(0 0,100% var(--sw),100% calc(100% - var(--sw)),0 100%)}
.fr-stripes.mitre>i.r{right:0;clip-path:polygon(0 var(--sw),100% 0,100% 100%,0 calc(100% - var(--sw)))}
.fr-stripes.mitre>b{width:calc(var(--sw) * 1.4142);height:.8px;background:var(--acc)}
.fr-stripes.mitre>b.tl{left:0;top:0;transform-origin:0 0;transform:rotate(45deg)}
.fr-stripes.mitre>b.tr{right:0;top:0;transform-origin:100% 0;transform:rotate(-45deg)}
.fr-stripes.mitre>b.bl{left:0;bottom:0;transform-origin:0 100%;transform:rotate(-45deg)}
.fr-stripes.mitre>b.br{right:0;bottom:0;transform-origin:100% 100%;transform:rotate(45deg)}
.page:not(.coverpage):not(.backp):not(.photop) .fr-stripes.mitre>*{display:none}

/* ===== v27: one clear title, for every card in the words panel ===== */
.rl-it.open.k-hymn>.rl-h .l2,.rl-it.open.k-music>.rl-h .l2,.rl-it.open.k-reading>.rl-h .l2,.rl-it.open.k-prayer>.rl-h .l2,.rl-it.open>.rl-h .d{display:none!important}
.ca{--ca-r:#efe8dd}
.ca-top{display:flex;gap:12px;align-items:flex-start;margin:2px 0 4px}
.ca-hd{flex:1;min-width:0}
.ca-kind{display:flex;align-items:center;gap:6px;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--lpg2,#9a6f38)}
.ca-kind .i{width:13px;height:13px}
.ca-ttl{font-family:'EB Garamond',serif;font-size:23px;line-height:1.15;margin:4px 0 2px;color:var(--lpi,#2a2622);text-wrap:balance}
.ca-ttl.muted{color:var(--lpm,#6f665c);font-style:italic}
.ca-by{font-size:12.5px;color:var(--lpf,#9a8f82);line-height:1.4}
.ca-chg{display:flex;align-items:center;gap:5px;height:32px;padding:0 10px;margin:-4px -6px 0 0;border:0;border-radius:9px;background:none;font:inherit;font-size:13px;color:var(--lpg2,#9a6f38);cursor:pointer;flex:none}
.ca-chg:hover{background:var(--lpgb,rgba(154,111,56,.09))}
.ca-chg .i{width:15px;height:15px}
.ca-sec{margin-top:14px;padding-top:12px;border-top:1px solid var(--ca-r)}
.ca-sl{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--lpf,#9a8f82);margin:0 0 8px;display:flex;justify-content:space-between;gap:10px}
.ca-seg{display:flex;flex-wrap:wrap;gap:4px;padding:3px;border-radius:11px;background:rgba(42,38,34,.05)}
.ca-seg button{flex:1 1 auto;height:32px;padding:0 10px;border:0;border-radius:8px;background:none;font:inherit;font-size:13px;color:var(--lpm,#6f665c);cursor:pointer;white-space:nowrap;transition:background .2s,color .2s}
.ca-seg button:hover{color:var(--lpi,#2a2622)}
.ca-seg button[aria-pressed=true]{background:#fff;color:var(--lpi,#2a2622);box-shadow:0 1px 3px rgba(42,38,34,.14)}
.ca-v{display:flex;align-items:center;gap:12px;width:100%;padding:7px 2px;border:0;background:none;border-radius:8px;font:inherit;text-align:left;cursor:pointer}
.ca-v:hover{background:rgba(42,38,34,.03)}
.ca-v .vn{font-family:'EB Garamond',serif;font-size:15px;color:var(--lpg2,#9a6f38);width:14px;text-align:center;flex:none}
.ca-v .vt{flex:1;min-width:0;font-family:'EB Garamond',serif;font-size:16.5px;line-height:1.3;color:var(--lpi,#2a2622);transition:color .2s}
.ca-v .bx{width:20px;height:20px;border-radius:6px;box-shadow:inset 0 0 0 1.5px #d4c8b8;display:grid;place-items:center;flex:none;transition:background .2s}
.ca-v .bx .i{width:13px;height:13px;color:#fff;opacity:0;transition:opacity .15s}
.ca-v[aria-pressed=true] .bx{background:var(--lpi,#2a2622);box-shadow:none}.ca-v[aria-pressed=true] .bx .i{opacity:1}
.ca-v[aria-pressed=false] .vt{color:#b6ab9d;text-decoration:line-through;text-decoration-color:rgba(182,171,157,.55)}
.ca-note{font-size:12.5px;color:var(--lpf,#9a8f82);line-height:1.45;margin:6px 0 0}
.ca-tg{display:flex;align-items:center;gap:10px;width:100%;padding:6px 2px;border:0;background:none;font:inherit;font-size:14px;color:var(--lpi,#2a2622);cursor:pointer;text-align:left}
.ca-tg .i{width:17px;height:17px;color:var(--lpg2,#9a6f38)}
.ca-tg span{flex:1}
.ca-tg .sw{width:38px;height:22px;border-radius:22px;background:#ddd3c6;position:relative;flex:none;transition:background .3s}
.ca-tg .sw::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.ca-tg[aria-pressed=true] .sw{background:var(--lpi,#2a2622)}.ca-tg[aria-pressed=true] .sw::after{transform:translateX(16px)}
.ca .hytunes{padding:8px 0 0!important;display:flex!important;gap:4px!important;flex-wrap:wrap}
.ca .hytunes button{border-radius:8px!important;height:30px}
.ca .cardfoot{margin-top:10px}
.ca .hf{margin:0}
.ca .hr{display:none}
.ca .ens button,.dirs2 button,.cers2 button,.pills2 button{border-radius:9px!important}
.ca .pgh{font-size:10.5px!important;letter-spacing:.16em!important;text-transform:uppercase;color:var(--lpf,#9a8f82)!important;margin:14px 0 8px!important;padding-top:12px;border-top:1px solid var(--ca-r);font-family:Jost!important;font-style:normal!important}
.ca .pgh:first-child{border-top:0;padding-top:0;margin-top:6px!important}
.ca .fl{margin-top:4px}
.ca-play{display:flex;align-items:center;gap:10px;width:100%;padding:8px 2px;border:0;background:none;font:inherit;font-size:14px;color:var(--lpi,#2a2622);cursor:pointer;text-align:left}
.ca-play .pb{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--lpg2,#9a6f38);box-shadow:inset 0 0 0 1px #d9c6a8;flex:none;transition:background .2s,color .2s}
.ca-play .pb .i{width:14px;height:14px}
.ca-play:hover .pb{background:var(--lpgb,rgba(154,111,56,.09))}
.ca-play.on .pb{background:var(--lpi,#2a2622);color:#fff;box-shadow:none}
.ca-play small{display:block;font-size:12px;color:var(--lpf,#9a8f82)}

/* ===== v27: listening ===== */
.rl-play{width:30px;height:30px;border:0;border-radius:50%;background:none;display:grid;place-items:center;color:var(--lpg2,#9a6f38);box-shadow:inset 0 0 0 1px #e2d5c1;cursor:pointer;flex:none;margin:0 2px 0 6px;align-self:center;transition:background .2s,color .2s,transform .3s cubic-bezier(.34,1.56,.64,1)}
.rl-play .i{width:12px;height:12px}
.rl-play:hover{background:var(--lpgb,rgba(154,111,56,.09));transform:scale(1.06)}
.rl-play.on{background:var(--lpi,#2a2622);color:#fff;box-shadow:none}
.os-dock{position:fixed;z-index:150;left:12px;bottom:12px;width:calc(clamp(320px,28vw,410px) - 24px);background:#2a2622;color:#fffdf9;border-radius:16px;box-shadow:0 24px 50px -24px rgba(0,0,0,.6);overflow:hidden;animation:osdock .45s cubic-bezier(.22,1,.36,1);font-family:Jost,sans-serif}
@keyframes osdock{from{opacity:0;transform:translateY(16px)}}
.os-dock .vid{height:200px;background:#000}
.os-dock .vid iframe{width:100%;height:100%;border:0;display:block}
.os-dock .bar{display:flex;align-items:center;gap:10px;padding:10px 8px 10px 14px}
.os-dock .bar .tt{flex:1;min-width:0}
.os-dock .bar b{display:block;font-weight:400;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.os-dock .bar small{display:block;font-size:11.5px;color:#bfb3a4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.os-dock .bar button{width:34px;height:34px;border:0;border-radius:9px;background:none;color:#e9e1d4;display:grid;place-items:center;cursor:pointer}
.os-dock .bar button:hover{background:rgba(255,255,255,.08)}
.os-dock .bar .i{width:17px;height:17px}
@media (max-width:900px){.os-dock{left:10px;right:10px;width:auto;bottom:calc(76px + env(safe-area-inset-bottom,0px))}}
.os-viewing .rl-play,.os-viewing .os-dock{display:none!important}

/* ===== v27: a photo of you both, inside the cover ===== */
.page.photop .pin,.page.photop .folio{display:none}
.page.photop.ppg-full .fr,.page.photop.ppg-full .fl{display:none}
.ppg{position:absolute;inset:0;z-index:1;font-family:'EB Garamond',serif;color:var(--ink)}
.ppg .ph{background-color:#efe9df;background-size:cover;background-position:center 30%;position:relative}
.ppg.bw .ph{filter:grayscale(1) contrast(1.03)}
.ppg .ph.empty{display:grid;place-items:center;color:#b9ae9f;background-image:none!important;box-shadow:inset 0 0 0 1px rgba(42,38,34,.12)}
.ppg .ph.empty svg{width:34px;height:34px;fill:currentColor}
.ppg-full .ph{position:absolute;inset:0}
.ppg-full .cap{position:absolute;left:0;right:0;bottom:0;padding:120px 40px 44px;text-align:center;color:#fff;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.42));font-style:italic;font-size:22px;line-height:1.35}
.ppg-full .cap small{display:block;font-style:normal;font-family:var(--hf),'Cinzel',serif;font-size:10px;letter-spacing:.22em;margin-top:8px;opacity:.85;text-transform:uppercase}
.pp-in{position:absolute;inset:var(--pt,96px) var(--px,86px) var(--pb,96px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.pp-in .ph{height:58%;width:auto;max-width:100%;aspect-ratio:4/5;flex:none}
.pp-in .ph.arch{border-radius:999px 999px 0 0}
.pp-in .ph.oval{border-radius:50%;aspect-ratio:3/4}
.pp-in .ph.rect{box-shadow:0 0 0 5px #fff,0 0 0 6px color-mix(in srgb,var(--acc) 45%,transparent)}
.pp-in .nm{font-family:var(--hf),'Cinzel',serif;font-size:19px;letter-spacing:.16em;padding-left:.16em;text-transform:uppercase;color:var(--acc);margin-top:30px;line-height:1.3}
.pp-in .dt{font-style:italic;font-size:15px;color:var(--mut,#6f665c);margin-top:6px}
.pp-in .qt{font-style:italic;font-size:17px;line-height:1.5;color:var(--ink);margin-top:28px;max-width:320px;text-wrap:balance}
.pp-in .qt small{display:block;font-style:normal;font-family:var(--hf),'Cinzel',serif;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--acc);margin-top:10px}
.ppg-words .ph{height:44%}
.ppg-mount .mt{background:#fbf8f2;padding:20px 20px 58px;box-shadow:0 1px 0 rgba(0,0,0,.04),0 16px 30px -22px rgba(0,0,0,.35);height:62%;position:relative;display:flex;flex-direction:column}
.ppg-mount .mt::after{content:"";position:absolute;inset:10px 10px 50px;box-shadow:inset 0 0 0 .6px color-mix(in srgb,var(--acc) 50%,transparent);pointer-events:none}
.ppg-mount .mt .ph{height:100%;width:auto;aspect-ratio:4/5;max-width:none}
.ppg-mount .mt .sig{position:absolute;left:0;right:0;bottom:12px;font-family:'La Belle Aurore',cursive;font-size:22px;color:var(--ink)}
.ppg-mount .qt{margin-top:22px}
.ppg-cameo .ph{height:36%;aspect-ratio:3/4;border-radius:50%;box-shadow:0 0 0 6px #fff,0 0 0 7px color-mix(in srgb,var(--acc) 40%,transparent)}
.ppg-cameo .orn{margin:28px auto 0!important}
.ppg-cameo .qt{margin-top:22px}
/* panel block */
.rl-pp{border-top:1px solid var(--lpr,#e6ddd1)}
.rl-pp .bh .pd{color:#b0485d!important;background:rgba(176,72,93,.1)!important}
.pp-lays{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 8px;margin:4px 0 12px}
.pp-lays button{display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:none;font:inherit;font-size:12px;color:var(--lpm,#6f665c);cursor:pointer;padding:4px 0}
.pp-lays .dthumb{width:62px!important;border-radius:3px}
.pp-lays .none{width:62px;aspect-ratio:559/794;border-radius:3px;box-shadow:inset 0 0 0 1px var(--lpr,#e6ddd1);display:grid;place-items:center;color:#c3b8aa}
.pp-lays .none .i{width:18px;height:18px}
.pp-lays button[aria-pressed=true]{color:var(--lpi,#2a2622)}
.pp-lays button[aria-pressed=true] .dthumb,.pp-lays button[aria-pressed=true] .none{box-shadow:0 0 0 2px var(--lpg,#b68235)}
.pp-up{display:flex;align-items:center;gap:12px;width:100%;padding:10px 0;border:0;background:none;font:inherit;text-align:left;cursor:pointer;color:var(--lpi,#2a2622)}
.pp-up .th{width:46px;height:46px;border-radius:10px;background:#efe9df center/cover;display:grid;place-items:center;color:var(--lpg2,#9a6f38);flex:none;box-shadow:inset 0 0 0 1px rgba(42,38,34,.08)}
.pp-up .th .i{width:20px;height:20px}
.pp-up span{flex:1;font-size:14px}.pp-up small{display:block;font-size:12px;color:var(--lpf,#9a8f82)}
.pp-q{display:flex;gap:10px;width:100%;padding:9px 2px;border:0;background:none;border-top:1px solid var(--ca-r,#efe8dd);font:inherit;text-align:left;cursor:pointer;align-items:flex-start}
.pp-q:first-child{border-top:0}
.pp-q .rd{width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1.5px #d4c8b8;flex:none;margin-top:3px;transition:box-shadow .25s}
.pp-q[aria-pressed=true] .rd{box-shadow:inset 0 0 0 6px var(--lpi,#2a2622)}
.pp-q span{flex:1;font-family:'EB Garamond',serif;font-style:italic;font-size:15.5px;line-height:1.35;color:var(--lpi,#2a2622)}
.pp-q small{display:block;font-family:Jost;font-style:normal;font-size:11.5px;color:var(--lpf,#9a8f82);margin-top:2px}
/* onboarding step */
.lp-pp{margin:30px auto 0;max-width:620px}
.lp-pp .lp-styles{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px 14px;margin-top:22px}
@media (max-width:700px){.lp-pp .lp-styles{grid-template-columns:repeat(3,minmax(0,1fr))}}
.lp-ppup{display:inline-flex;align-items:center;gap:12px;margin:0 auto;border:0;background:none;font:inherit;font-size:17px;color:var(--ink);cursor:pointer;padding:10px 4px}
.lp-ppup .th{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:var(--gold,#9a6f38);box-shadow:inset 0 0 0 1px var(--goldl,#d9c6a8);background:rgba(154,111,56,.05) center/cover;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}
.lp-ppup:hover .th{transform:scale(1.05)}
.lp-ppup .th .i{width:22px;height:22px}
.lp-ppup em{font-family:'EB Garamond',serif;font-size:19px}
.lp-ppup small{display:block;font-size:13px;color:var(--faint,#9a8f82);text-align:left}
.lp-pp .lp-opt .cap{font-size:13.5px}

.ca .dirs2{display:flex;flex-wrap:wrap;gap:4px;padding:3px;border-radius:11px;background:rgba(42,38,34,.05);margin-top:12px}
.ca .dirs2 button{flex:1 1 auto;height:32px;padding:0 10px;border:0!important;box-shadow:none!important;border-radius:8px!important;background:none!important;font-size:13px;color:var(--lpm,#6f665c)}
.ca .dirs2 button[aria-pressed=true]{background:#fff!important;color:var(--lpi,#2a2622);box-shadow:0 1px 3px rgba(42,38,34,.14)!important}

.rl-it .ca-kind{display:none}
.rl-it .ca-top{margin-top:0}

.page.photop .fr-stripes{inset:18px!important;border:0!important}
.page.photop .fr-stripes::after{inset:calc(var(--sw) + 6px)!important}

/* ===== v28 ===== */
/* no pulsing on the ceremony question */
.lp-list button.hint .ico{animation:none!important}

/* pages a touch tighter when that saves a sheet of paper */
.page.d1 .pin .blk{margin-bottom:32px!important}.page.d1 .pin .blk.heading{margin:8px 0 26px!important}.page.d1 .pin .blk.title{margin-bottom:32px!important}.page.d1 .pin .vs{gap:10px!important}.page.d1 .pin .blk .bd,.page.d1 .pin .blk .vs{margin-top:14px!important}
.page.d2 .pin .blk{margin-bottom:22px!important}.page.d2 .pin .blk.heading{margin:6px 0 18px!important}.page.d2 .pin .blk.title{margin-bottom:24px!important}.page.d2 .pin .vs{gap:7px!important}.page.d2 .pin .blk .bd,.page.d2 .pin .blk .vs{margin-top:10px!important}.page.d2 .pin .blk .tune{margin-top:10px!important}

/* ---- date and time pickers ---- */
.dp{position:fixed;z-index:260;width:320px;background:#fffdf9;border-radius:18px;box-shadow:0 0 0 1px rgba(42,38,34,.06),0 30px 60px -24px rgba(42,38,34,.45);padding:16px 16px 12px;font-family:Jost,sans-serif;color:#2a2622;animation:dpin .28s cubic-bezier(.22,1,.36,1);-webkit-font-smoothing:antialiased}
@keyframes dpin{from{opacity:0;transform:translateY(-6px) scale(.98)}}
.dp-veil{position:fixed;inset:0;z-index:259;background:rgba(42,38,34,.06);animation:dpv .3s ease}@keyframes dpv{from{opacity:0}}
@media (max-width:600px){.dp{left:0!important;right:0!important;top:auto!important;bottom:0!important;width:auto;border-radius:24px 24px 0 0;padding:18px 18px calc(18px + env(safe-area-inset-bottom,0px));animation:dpup .38s cubic-bezier(.22,1,.36,1)}.dp-veil{background:rgba(42,38,34,.28)}}
@keyframes dpup{from{transform:translateY(100%)}}
.dp-h{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px}
.dp-h b{font-family:'EB Garamond',serif;font-weight:400;font-size:22px;letter-spacing:.005em}
.dp-h b span{color:#9a8f82}
.dp-nav{display:flex;gap:2px}
.dp-nav button,.dp-x{width:36px;height:36px;border:0;border-radius:50%;background:none;display:grid;place-items:center;color:#6f665c;cursor:pointer}
.dp-nav button:hover{background:rgba(154,111,56,.09);color:#2a2622}
.dp-nav .i{width:17px;height:17px}
.dp-wd,.dp-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.dp-wd span{text-align:center;font-size:10.5px;letter-spacing:.12em;color:#9a8f82;padding:4px 0 6px;text-transform:uppercase}
.dp-wd span:nth-child(6){color:#9a6f38}
.dp-days button{height:38px;border:0;border-radius:50%;background:none;font:inherit;font-size:15px;color:#2a2622;cursor:pointer;position:relative;transition:background .15s,color .15s}
.dp-days button:hover{background:rgba(154,111,56,.1)}
.dp-days button.out{color:#cfc6ba}
.dp-days button.past{color:#b9afa3}
.dp-days button.sat{color:#9a6f38}
.dp-days button.today::after{content:"";position:absolute;left:50%;bottom:6px;width:4px;height:4px;border-radius:50%;background:#b68235;transform:translateX(-50%)}
.dp-days button[aria-pressed=true]{background:#2a2622;color:#fffdf9}
.dp-days button[aria-pressed=true]::after{background:#fffdf9}
.dp-f{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid #efe8dd}
.dp-f button{border:0;background:none;font:inherit;font-size:13.5px;color:#6f665c;padding:6px 8px;border-radius:8px;cursor:pointer}
.dp-f button:hover{color:#2a2622;background:rgba(42,38,34,.04)}
.dp-times{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:2px}
.dp-times button{height:40px;border:0;border-radius:11px;background:none;box-shadow:inset 0 0 0 1px #ece4d9;font:inherit;font-size:14.5px;color:#2a2622;cursor:pointer}
.dp-times button:hover{box-shadow:inset 0 0 0 1px #d9c6a8}
.dp-times button[aria-pressed=true]{background:#2a2622;color:#fffdf9;box-shadow:none}
.dp-own{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid #efe8dd;font-size:13.5px;color:#6f665c}
.dp-own select{font:inherit;font-size:15px;border:0;border-bottom:1px solid #e6ddd1;background:none;padding:6px 2px;color:#2a2622;border-radius:0}
input.dp-on::-webkit-calendar-picker-indicator{display:none}
input.dp-on{cursor:pointer}

/* ---- the moment it's made ---- */
#onboard[data-step=build] .lp-step[data-step=build]{position:relative}
.bx{display:flex;flex-direction:column;align-items:center;text-align:center}
.bx-names{font-family:'EB Garamond',serif;font-weight:400;font-size:clamp(44px,7vw,78px);line-height:1;color:var(--ink,#2a2622);display:flex;align-items:baseline;justify-content:center;gap:.28em;flex-wrap:wrap;margin:0}
.bx-names .n{display:inline-block;opacity:0;transform:translateY(18px);animation:bxrise .9s cubic-bezier(.22,1,.36,1) forwards}
.bx-names .n.b{animation-delay:.28s}
.bx-names .amp{font-style:italic;color:#b68235;display:inline-block;opacity:0;transform:scale(.4) rotate(-12deg);animation:bxamp .8s cubic-bezier(.34,1.56,.64,1) .55s forwards}
@keyframes bxrise{to{opacity:1;transform:none}}
@keyframes bxamp{to{opacity:1;transform:none}}
.bx-line{width:0;height:1px;background:#b68235;margin:26px auto 22px;animation:bxline 1s cubic-bezier(.22,1,.36,1) .85s forwards}
@keyframes bxline{to{width:120px}}
.bx-ready{font-size:11px;letter-spacing:.28em;padding-left:.28em;text-transform:uppercase;color:#9a6f38;opacity:0;animation:bxrise .7s ease 1s forwards;margin:0 0 22px}
.bx-list{list-style:none;margin:0 auto;padding:0;display:grid;gap:12px;text-align:left}
.bx-list li{display:flex;align-items:center;gap:12px;font-size:clamp(16px,2vw,19px);font-weight:300;color:var(--muted,#6f665c);opacity:0;transform:translateY(8px);animation:bxrise .6s cubic-bezier(.22,1,.36,1) forwards}
.bx-list li i{width:26px;height:26px;border-radius:50%;background:#b68235;color:#fff;display:grid;place-items:center;flex:none;transform:scale(0);animation:bxtick .5s cubic-bezier(.34,1.56,.64,1) forwards;animation-delay:inherit}
.bx-list li i .i{width:14px;height:14px}
@keyframes bxtick{to{transform:scale(1)}}
.bx-list li b{font-weight:400;color:var(--ink,#2a2622)}
.bx-petals{position:fixed;inset:0;pointer-events:none;z-index:40;overflow:hidden}
.bx-petals i{position:absolute;top:-24px;width:10px;height:14px;border-radius:60% 60% 60% 60%/80% 80% 40% 40%;opacity:.0;animation:bxfall linear forwards}
@keyframes bxfall{0%{opacity:0;transform:translate3d(0,0,0) rotate(0)}10%{opacity:.85}100%{opacity:0;transform:translate3d(var(--dx,40px),105vh,0) rotate(var(--r,540deg))}}
@media (prefers-reduced-motion:reduce){.bx-petals{display:none}.bx-names .n,.bx-names .amp,.bx-list li,.bx-list li i,.bx-ready{animation-duration:.01s!important}}
.lp-bk.bxflip>.pg.right{animation:bxturn .62s cubic-bezier(.45,0,.2,1);transform-origin:0 50%;backface-visibility:hidden}
@keyframes bxturn{0%{transform:perspective(1400px) rotateY(0)}48%{transform:perspective(1400px) rotateY(-70deg);filter:brightness(.9)}52%{transform:perspective(1400px) rotateY(-70deg);filter:brightness(.9)}100%{transform:perspective(1400px) rotateY(0)}}

/* ---- photo step: layouts first ---- */
.lp-pp .lp-styles{grid-template-columns:repeat(3,minmax(0,1fr))!important;max-width:520px;margin:26px auto 0!important}
@media (min-width:1100px){.lp-pp .lp-styles{grid-template-columns:repeat(4,minmax(0,1fr))!important;max-width:640px}}
.lp-ppbar{display:flex;align-items:center;justify-content:center;gap:10px;margin:18px auto 0;flex-wrap:wrap}
.lp-ppbar .lp-ppup{padding:6px 4px}
.lp-ppbar .seg2{display:flex;gap:3px;padding:3px;border-radius:11px;background:rgba(42,38,34,.05)}
.lp-ppbar .seg2 button{height:34px;padding:0 12px;border:0;border-radius:8px;background:none;font:inherit;font-size:13.5px;color:#6f665c;cursor:pointer}
.lp-ppbar .seg2 button[aria-pressed=true]{background:#fff;color:#2a2622;box-shadow:0 1px 3px rgba(42,38,34,.14)}
.ppg-band .band{width:100%;height:52%;flex:none}
.ppg-band .nm{font-family:var(--nf),'Pinyon Script',cursive!important;letter-spacing:0!important;text-transform:none!important;font-size:40px!important;padding:0!important}

/* ---- contents step: the back page ---- */
.lp-backs{margin:30px auto 0;max-width:600px}
.lp-backs .row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 18px}
@media (max-width:600px){.lp-backs{margin-top:22px}.lp-backs .row{gap:10px}.lp-backs .lp-opt{gap:8px}.lp-backs .lp-opt .cap{font-size:11.5px;line-height:1.25}}
.lp-backs .lp-opt .cap{font-size:13.5px}
.lp-backs .lp-thumb .none{position:absolute;inset:0;display:grid;place-items:center;color:#c9bfb2;background:#fff}
.lp-backs .lp-thumb .none svg{width:22px;height:22px;fill:currentColor}

/* ---- running order rows: calm and aligned ---- */
.rl-h:not(.rl-chh){display:grid!important;grid-template-columns:30px minmax(0,1fr) auto;column-gap:10px;align-items:start}
.rl-h:not(.rl-chh)>.x{min-width:0}
.rl-h .rl-acts{display:flex;align-items:center;gap:2px;margin-top:-3px;min-height:32px}
.rl-h .rl-acts .rl-play{margin:0}
.rl-h .rl-acts .rl-del{position:static!important;margin:0!important}
.rl-h .l1{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0}
.rl-h .l1 .d{margin-left:0!important;order:3;font-size:13px}
.rl-h .l1 .d:not(:empty)::before{content:"· ";color:#cfc6ba;font-style:normal}
.rl-h.has-play .l1 .ki{display:none}
.rl-it.open>.rl-h .rl-acts{display:none}

/* ---- templates ---- */
.fr-ripple{inset:0}.fr-ripple svg{position:absolute;inset:0;width:100%;height:100%}
.fr-loops{inset:0}.fr-loops svg{position:absolute;inset:0;width:100%;height:100%}
.page:not(.coverpage):not(.backp):not(.photop) .fr-ripple svg .band,.page:not(.coverpage):not(.backp):not(.photop) .fr-ripple svg .wave2{display:none}
/* Ripple */
.t-ripple{--acc:#8e1f3a;--acc2:#8e1f3a;--mut:#9b5566;--ink:#6e1a30;--hf:'Jost';--nf:'Pinyon Script';--tf:'EB Garamond'}
.page.t-ripple,.t-ripple .page{color:var(--ink)}
.t-ripple .cover{padding:120px 96px;justify-content:center}
.t-ripple .cover .title{font-family:'Jost';font-weight:500;font-size:10.5px;letter-spacing:.24em;padding-left:.24em;text-transform:uppercase;color:var(--acc);margin:0 0 26px}
.t-ripple .cover .nmrow{flex-direction:column;align-items:center;gap:0}
.t-ripple .cover .nm,.page.nm-caps.t-ripple .cover .nm{font-family:var(--nf),'Pinyon Script',cursive;font-size:58px;letter-spacing:0;text-transform:none;font-variant:normal;color:var(--acc);line-height:1.08;padding:0;margin:0}
.t-ripple .cover .amp{font-family:'Pinyon Script',cursive;font-style:normal;font-size:40px;color:var(--acc);margin:-4px 0 -6px}
.t-ripple .cover .date{font-family:'Jost';font-weight:500;font-size:11px;letter-spacing:.2em;padding-left:.2em;color:var(--acc);margin-top:30px}
.t-ripple .cover .venue{font-family:'Jost';font-weight:500;font-size:10.5px;letter-spacing:.2em;padding-left:.2em;text-transform:uppercase;color:var(--acc);margin-top:6px}
.t-ripple .cover .art.pic{margin:28px 0 0}.t-ripple .cover .ai.eng{width:calc(var(--bw)*.44px)}.t-ripple .cover .ai-tower{width:52px}
.t-ripple .blk .lab,.t-ripple .blk.heading .lab{font-family:'Jost';font-weight:500;letter-spacing:.2em;color:var(--acc)}
.t-ripple .blk .ti{font-family:'Pinyon Script',cursive;font-size:30px;color:var(--acc)}
.t-ripple .blk .dir{color:var(--mut)}
/* Love letter (Beth Ellen) */
.t-letter{--acc:#b23a3a;--acc2:#b23a3a;--mut:#c0605a;--ink:#a83a36;--hf:'Beth Ellen';--nf:'Beth Ellen';--tf:'Courier Prime'}
.page.t-letter,.t-letter .page{color:var(--ink)}
.t-letter .cover{padding:128px 96px 118px;justify-content:center}
.t-letter .cover .title{font-family:'Beth Ellen',cursive;font-size:34px;line-height:1.35;letter-spacing:0;text-transform:none;color:var(--acc);margin:0 0 18px;padding:0;transform:rotate(-3deg)}
.t-letter .cover .nmrow{flex-direction:column;align-items:center;gap:0;margin-top:10px}
.t-letter .cover .nm,.page.nm-caps.t-letter .cover .nm{font-family:'Beth Ellen',cursive;font-size:36px;letter-spacing:0;text-transform:none;font-variant:normal;color:var(--acc);line-height:1.5;padding:0;margin:0}
.t-letter .cover .amp{font-family:'Beth Ellen',cursive;font-style:normal;font-size:26px;color:var(--acc);margin:-2px 0}
.t-letter .cover .date{font-family:'Courier Prime',monospace;font-size:13px;letter-spacing:.04em;color:var(--ink);margin-top:26px}
.t-letter .cover .venue{font-family:'Courier Prime',monospace;font-size:12.5px;letter-spacing:.02em;text-transform:none;color:var(--ink);margin-top:4px}
.t-letter .cover .art.pic{margin:26px 0 0}.t-letter .cover .ai.eng{width:calc(var(--bw)*.42px)}.t-letter .cover .ai-tower{width:50px}
.t-letter .blk .lab,.t-letter .blk.heading .lab,.t-letter .blk.title .lab{font-family:'Beth Ellen',cursive;font-size:24px;letter-spacing:0;text-transform:none;color:var(--acc);line-height:1.5}
.t-letter .blk .ti{font-family:'Courier Prime',monospace;font-style:normal;font-size:17px;color:var(--ink)}
.t-letter .blk .dir,.t-letter .blk .cr,.t-letter .blk .pp{font-family:'Courier Prime',monospace;font-style:normal;color:var(--mut)}
.t-letter .vs p,.t-letter .blk .bd{font-family:'Courier Prime',monospace;font-size:13px;line-height:1.6;color:var(--ink)}
.t-letter .backpage .btitle,.t-letter .backpage .note{font-family:'Beth Ellen',cursive;font-style:normal}
.t-letter .backpage .rl{font-family:'Beth Ellen',cursive;letter-spacing:0;text-transform:none;font-size:18px}
.t-letter .backpage .rn{font-family:'Courier Prime',monospace;font-size:13px}
/* Windsor */
.t-windsor{--acc:#2a2826;--acc2:#2a2826;--mut:#5f5a55;--ink:#2a2826;--hf:'Cormorant Garamond';--nf:'Cormorant Garamond';--tf:'Cormorant Garamond'}
.t-windsor .cover{padding:130px 80px;justify-content:center}
.t-windsor .cover .title{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:30px;letter-spacing:.14em;padding-left:.14em;text-transform:uppercase;color:var(--ink);margin:0 0 46px;line-height:1.2}
.t-windsor .cover .title i{font-style:italic;text-transform:none;letter-spacing:0;font-size:.82em;margin:0 .05em}
.t-windsor .cover .ofm{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:19px;color:var(--ink);margin:6px 0 48px;letter-spacing:.01em}
.t-windsor .cover .nmrow{flex-direction:column;align-items:center;gap:0}
.t-windsor .cover .nm,.page.nm-caps.t-windsor .cover .nm{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:28px;letter-spacing:.16em;padding-left:.16em;text-transform:uppercase;color:var(--ink);line-height:1.3;margin:0}
.t-windsor .cover .amp{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:24px;color:var(--ink);margin:12px 0;display:flex;align-items:center;gap:12px}
.t-windsor .cover .amp::before,.t-windsor .cover .amp::after{content:"";width:22px;height:1px;background:currentColor;opacity:.8}
.t-windsor .cover .date{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:14px;letter-spacing:.2em;padding-left:.2em;text-transform:uppercase;color:var(--ink);margin-top:52px}
.t-windsor .cover .time{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:14px;letter-spacing:.2em;padding-left:.2em;text-transform:uppercase;color:var(--ink);margin-top:4px}
.t-windsor .cover .venue{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:14px;letter-spacing:.2em;padding-left:.2em;text-transform:uppercase;color:var(--ink);margin-top:24px;line-height:1.5}
.t-windsor .blk .lab{font-family:'Cormorant Garamond',serif;font-weight:600;letter-spacing:.2em}
.t-windsor .blk .ti{font-family:'Cormorant Garamond',serif;font-style:italic}

/* no answer looks chosen until they choose it */
#styles:not(.picked) .lp-opt[aria-pressed=true],#covers:not(.picked) .lp-opt[aria-pressed=true]{color:var(--muted)}
#styles:not(.picked) .lp-opt[aria-pressed=true] .lp-thumb,#covers:not(.picked) .lp-opt[aria-pressed=true] .lp-thumb{box-shadow:0 0 0 1px rgba(60,40,20,.08),0 18px 30px -20px rgba(60,40,20,.5);transform:none}
#styles:not(.picked) .lp-opt:hover .lp-thumb,#covers:not(.picked) .lp-opt:hover .lp-thumb{transform:translateY(-6px) rotate(-1deg)}
/* photo looks: two calm rows of three */
.lp-pp .lp-styles{grid-template-columns:repeat(3,minmax(0,1fr))!important;max-width:470px;margin-left:auto;margin-right:auto;gap:22px 18px}

/* ---- rows: an empty slot says what it wants, in words ---- */
.rl-h .l2.none b,.rl-h .l2.none i{display:none}
.rl-h .l2.none::before{content:"Choose";font-family:'EB Garamond',serif;font-style:italic;font-size:15.5px;color:var(--lpm,#9a8f82);opacity:.8}
.k-music>.rl-h .l2.none::before{content:"Choose the music"}
.k-hymn>.rl-h .l2.none::before{content:"Choose a hymn"}
.k-reading>.rl-h .l2.none::before{content:"Choose a reading"}
.k-prayer>.rl-h .l2.none::before{content:"Choose a prayer"}
/* cards in a narrow panel */
.ca-seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.ca-seg button{padding:0 8px}
@media (min-width:901px) and (max-width:1220px){.ca-ttl{font-size:20px!important}}
.ca-seg:has(>button:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}.ca-seg:has(>button:nth-child(5)){grid-template-columns:repeat(3,minmax(0,1fr))}

/* ===== v29 ===== */
/* the page you're working on comes forward */
#spreads .page{transition:opacity .4s ease,filter .4s ease,box-shadow .4s ease}
#spreads.pgquiet .page:not(.pgfocus){opacity:.3;filter:saturate(.5)}
#spreads.pgquiet .page.pgfocus{box-shadow:0 0 0 1.5px rgba(182,130,53,.55),0 30px 60px -30px rgba(42,38,34,.45)}
@media (prefers-reduced-motion:reduce){#spreads .page{transition:none}}

/* a page about the building */
.rl-story .bh .pd{color:#8a6a3f;background:rgba(182,130,53,.1)}
.st-kinds{grid-template-columns:repeat(3,minmax(0,1fr))}

/* who is playing */
.ens9 button{border-radius:10px;padding:0 12px}
.ens9 button .i{width:15px;height:15px;margin-left:-2px}
.ens9 button .n{font-style:normal;font-size:11px;min-width:18px;height:18px;border-radius:9px;display:inline-grid;place-items:center;background:rgba(255,253,249,.18);color:#e8d9c0;margin-left:2px;padding:0 5px}
.voices{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 2px;padding:10px;border-radius:12px;background:rgba(42,38,34,.035);animation:vin .3s cubic-bezier(.22,1,.36,1)}
@keyframes vin{from{opacity:0;transform:translateY(-4px)}}
.voices button{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 10px;border:0;border-radius:8px;background:#fffdf9;box-shadow:0 0 0 1px var(--lpr,#e6ddd1);font:inherit;font-size:13px;color:var(--lpm,#6f665c);cursor:pointer;transition:color .2s,box-shadow .2s}
.voices button .i{width:11px;height:11px;opacity:.6}
.voices button:hover{color:var(--lpi,#2a2622);box-shadow:0 0 0 1px #d9c6a8}
.voices button[aria-pressed=true]{color:var(--lpi,#2a2622);box-shadow:0 0 0 1.5px #b68235}
.musr2 .dup{color:#b9ab98}
.musr2 .dup:hover{background:rgba(182,130,53,.1);color:#9a6f38}
.musr2.rec .what{font-style:italic}
.dock-off{height:100%;display:flex;align-items:center;justify-content:center;gap:10px;color:#cfc3b3;font-family:Jost,sans-serif;font-size:14px;background:#2a2622}
.dock-off .i{width:18px;height:18px;opacity:.6}

/* start again, from the names in the top bar */
#crumb{cursor:pointer;border-radius:10px;padding:4px 8px;margin-left:-8px;transition:background .2s}
#crumb:hover,#crumb[aria-expanded=true]{background:rgba(42,38,34,.045)}
#crumb .cr-car{display:inline-grid;place-items:center;margin-left:6px;vertical-align:middle;opacity:0;transition:opacity .2s,transform .25s}
#crumb .cr-car .i{width:12px;height:12px;color:#9a8f82}
#crumb:hover .cr-car,#crumb:focus-visible .cr-car,#crumb[aria-expanded=true] .cr-car{opacity:1}
#crumb[aria-expanded=true] .cr-car{transform:rotate(180deg)}
.crmenu{position:fixed;z-index:90;width:290px;background:#fffdf9;border-radius:18px;padding:6px;box-shadow:0 0 0 1px #e6ddd1,0 24px 44px -24px rgba(42,38,34,.55);font-family:Jost,sans-serif;animation:crin .28s cubic-bezier(.22,1,.36,1)}
@keyframes crin{from{opacity:0;transform:translateY(-6px)}}
.crmenu button{display:flex;align-items:center;gap:12px;width:100%;padding:8px;border:0;background:transparent;border-radius:12px;cursor:pointer;text-align:left;font:inherit;color:#2a2622}
.crmenu button:hover{background:#f7f1e6}
.crmenu .nd{width:38px;height:38px;border-radius:50%;background:#f6efe3;color:#9a6f38;display:grid;place-items:center;flex:none}
.crmenu .nd .i{width:18px;height:18px}
.crmenu b{display:block;font-weight:400;font-size:14.5px}
.crmenu small{display:block;font-size:12.5px;color:#9a8f82;margin-top:1px}
.crmenu button.sure b{color:#9a4a32}
.crmenu button.sure .nd{background:#f6e6df;color:#9a4a32}
@media (max-width:600px){.crmenu{left:12px!important;right:12px;width:auto}}

/* a date that has passed */
.lp-past{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px 0 0;font-size:14px;color:#9a6f38;opacity:0}
.lp-past .i{width:16px;height:16px}
.lp-past.on{animation:pastin .45s cubic-bezier(.34,1.56,.64,1) forwards}
@keyframes pastin{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.musr2{grid-template-columns:auto minmax(0,1fr) 28px 28px;gap:10px}
.musr2.rec{grid-template-columns:auto minmax(0,1fr) 28px}
.musr2 .dup{opacity:0;transition:opacity .2s}
.musr2:hover .dup,.musr2:focus-within .dup{opacity:1}
@media (hover:none){.musr2 .dup{opacity:1}}
/* the sticky row under the designs: full width, never squeezing the arrow */
#onboard[data-step=style] .lp-step[data-step=style] .lp-row{width:auto!important}
#onboard .lp-row .lp-btn.round,#onboard .lp-row .lp-prev{flex:none}
/* time: a readout, hours, then minutes */
.dp-read{font-variant-numeric:lining-nums;transition:color .2s}
.dp-read.none{color:#b9afa3}
.dp-hrs{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:4px 0 12px}
.dp-hrs button{height:52px;border:0;border-radius:12px;background:none;display:grid;place-items:center;align-content:center;gap:0;cursor:pointer;color:#2a2622;transition:background .15s,color .15s}
.dp-hrs button b{font-family:'EB Garamond',serif;font-weight:400;font-size:21px;line-height:1}
.dp-hrs button small{font-size:10px;letter-spacing:.08em;color:#9a8f82;line-height:1.4}
.dp-hrs button:hover{background:rgba(154,111,56,.1)}
.dp-hrs button[aria-pressed=true]{background:#2a2622;color:#fffdf9}
.dp-hrs button[aria-pressed=true] small{color:#d9c6a8}
.dp-mins{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:3px;border-radius:12px;background:rgba(42,38,34,.05)}
.dp-mins button{height:38px;border:0;border-radius:9px;background:none;font:inherit;font-size:15px;color:#6f665c;cursor:pointer;font-variant-numeric:tabular-nums}
.dp-mins button:hover{color:#2a2622}
.dp-mins button[aria-pressed=true]{background:#fff;color:#2a2622;box-shadow:0 1px 3px rgba(42,38,34,.14)}
.dp-f .dp-done{color:#2a2622;font-weight:500}
/* Cottage, rebalanced */
.t-cottage .cover{padding:92px 64px 64px;justify-content:center}
.t-cottage .cover .title{font-size:17px;letter-spacing:.34em;padding-left:.34em;line-height:1.3;white-space:nowrap}
.t-cottage .cover .title i{font-family:'EB Garamond',serif;font-size:17px;letter-spacing:.02em;margin:0 .18em 0 -.06em}
.t-cottage .cover .ofm{font-family:'EB Garamond',serif;font-style:italic;font-size:17px;letter-spacing:.01em;margin:40px 0 10px;color:var(--mut)}
.t-cottage .cover .nm,.page.nm-caps.t-cottage .cover .nm{font-family:'EB Garamond',serif;font-size:40px;letter-spacing:.02em;padding-left:0;line-height:1.08;text-transform:none;color:var(--ink)}
.t-cottage .cover .amp{font-family:'EB Garamond',serif;font-style:italic;font-size:22px;margin:4px 0;color:var(--mut)}
.t-cottage .cover .art{margin:34px 0 30px}
.t-cottage .cover .date{font-size:15px;letter-spacing:.3em;padding-left:.3em}
.t-cottage .cover .venue{font-family:'EB Garamond',serif;font-style:italic;letter-spacing:.01em;font-size:15px;margin-top:6px}
.t-cottage .cover .mono.motif{margin:auto 0 0;padding-top:22px}
/* Just the photo: sits inside the border, never under it */
.ppg-full .pp-in{position:absolute;inset:0;padding:var(--pt) var(--px) var(--pb);display:block}
.ppg-full .ph{position:relative!important;inset:auto!important;width:100%;height:100%;border-radius:1px;box-shadow:0 0 0 1px rgba(42,38,34,.06)}
.ppg-full .cap{display:none}
.page.photop.pp-full .fr,.page.photop.ppg-full .fr{display:block!important}
/* choosing a back page: the words settle onto the same sheet */
#pc.inkswap>*{animation:inkswap .5s cubic-bezier(.22,1,.36,1)}
@keyframes inkswap{from{opacity:.15;filter:blur(1.5px)}to{opacity:1;filter:none}}
@media (prefers-reduced-motion:reduce){#pc.inkswap>*{animation:none}}
/* photo looks in the panel: real thumbnails */
.pp-lays .dthumb{display:block;position:relative;aspect-ratio:559/794;overflow:hidden;box-shadow:0 0 0 1px var(--lpr,#e6ddd1)}
.pp-lays .dthumb .page{position:absolute;top:0;left:0;transform-origin:0 0;box-shadow:none;pointer-events:none}
.pp-lays button{text-align:center;line-height:1.25}
/* groups */
.rl-grp{display:flex;align-items:center;gap:12px;padding:30px 0 8px 44px;font-family:Cinzel,serif;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--lpg2,#9a7d52)}
.rl-grp::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,#e2d6c4,transparent)}
.rl-cpl+.rl-grp{padding-top:18px}
.rl-addend+.rl-grp{padding-top:36px}
/* side rows share one look */
.rl-pp,.rl-story,.rl-back,.rl-people{border-top:0!important;border-bottom:0!important}
.rl-back .bh,.rl-peopleh{display:grid!important;grid-template-columns:34px minmax(0,1fr) auto;column-gap:12px;align-items:center;padding:10px 12px!important;min-height:56px;border-radius:14px;transition:background .2s}
.rl-back .bh:hover,.rl-peopleh:hover{background:rgba(42,38,34,.035)}
.rl-back.open>.bh,.rl-people.open>.rl-peopleh{background:rgba(154,111,56,.07)}
.rl-peopleh .pd{width:34px!important;height:34px!important;border-radius:10px!important;background:rgba(154,111,56,.1)!important;color:#9a6f38!important}
.rl-back .bh .pd{border-radius:10px}
.rl-back .bh b,.rl-peopleh b{font-family:Jost,sans-serif!important;font-weight:400;font-size:15.5px!important;color:var(--lpi,#2a2622);line-height:1.25}
.rl-back .bh em,.rl-peopleh em{display:block;font-family:Jost,sans-serif!important;font-style:normal!important;font-size:13px!important;color:var(--lpf,#9a8f82);line-height:1.3}
.rl-back>.nb,.rl-people>.nb{padding-left:12px;padding-right:4px}
/* guests */
.ca-line{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ca-line .ca-sl{margin:0}
.ca-ddw{position:relative}
.ca-dd{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px 0 12px;border:0;border-radius:10px;background:rgba(42,38,34,.045);font:inherit;font-family:'EB Garamond',serif;font-style:italic;font-size:16px;color:var(--lpi,#2a2622);cursor:pointer}
.ca-dd .i{width:12px;height:12px;color:#9a8f82;transition:transform .25s}
.ca-dd[aria-expanded=true] .i{transform:rotate(180deg)}
.ca-menu{position:absolute;right:0;top:40px;z-index:20;min-width:210px;padding:6px;border-radius:14px;background:#fffdf9;box-shadow:0 0 0 1px #e6ddd1,0 22px 40px -22px rgba(42,38,34,.5);animation:crin .22s cubic-bezier(.22,1,.36,1)}
.ca-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:9px;background:none;font:inherit;font-family:'EB Garamond',serif;font-style:italic;font-size:16px;color:var(--lpi,#2a2622);text-align:left;cursor:pointer}
.ca-menu button:last-child{font-family:Jost,sans-serif;font-style:normal;font-size:13.5px;color:#9a8f82;border-top:1px solid #efe8dd;border-radius:0 0 9px 9px;margin-top:4px}
.ca-menu button:hover{background:#f7f1e6}
.ca-menu button .i{width:14px;height:14px;color:#b68235;opacity:0}
.ca-menu button[aria-checked=true] .i{opacity:1}
/* credit */
.backpage .credit{color:#9b948c!important;opacity:.62!important;gap:4px!important;font-size:8.5px!important;letter-spacing:.03em}
.backpage .credit .cr-sig{font-family:'La Belle Aurore',cursive;font-weight:400;font-size:14px;letter-spacing:0;line-height:1;position:relative;top:.16em;margin:0 1px}
.backpage .credit svg{width:10px!important;height:10px!important;margin:0 1px}
.bk-credit[hidden]{display:none!important}
/* picture on the page */
#spreads .backpage.k-venue .vart{cursor:pointer;position:relative;border-radius:4px;transition:box-shadow .2s}
#spreads .backpage.k-venue .vart:hover{box-shadow:0 0 0 6px rgba(182,130,53,.12),0 0 0 7px rgba(182,130,53,.35)}
.picmenu{width:290px}
.picmenu button.on .nd{background:#2a2622;color:#fffdf9}
/* A page with room to spare sits in the middle rather than under the top margin, lifted a little:
   45% of the spare room above the words, 55% below. The lift is padding at the foot of the text
   area (set in app.js), so the words stay clear of the page number. Full pages are untouched. */
.page .pin.sparse{display:flex;flex-direction:column;justify-content:center}
.page .pin.sparse>.blk{margin-top:0}
.page .pin.sparse>.blk:last-child{margin-bottom:0}
/* music shortlist */
.msub{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--lpf,#9a8f82);margin:14px 0 2px}
.trk .tt em{display:block;font-family:'EB Garamond',serif;font-size:14px;color:var(--lpm,#6f665c);line-height:1.25;margin-top:1px}
.mgrp{border-top:1px solid var(--lpr,#e6ddd1)}
.mgrp:first-of-type{margin-top:12px}
.mgh{display:grid;grid-template-columns:30px minmax(0,1fr) auto 14px;gap:10px;align-items:center;width:100%;padding:10px 2px;border:0;background:none;font:inherit;text-align:left;cursor:pointer;color:var(--lpi,#2a2622)}
.mgh .gi{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:rgba(154,111,56,.09);color:#9a6f38}
.mgh .gi .i{width:15px;height:15px}
.mgh b{font-weight:400;font-size:15px}
.mgh small{font-size:12.5px;color:var(--lpf,#9a8f82);font-variant-numeric:tabular-nums}
.mgh>.i{width:13px;height:13px;color:var(--lpf,#9a8f82);transition:transform .25s}
.mgrp.open .mgh>.i{transform:rotate(180deg)}
.mgb{padding:0 0 8px;animation:vin .3s cubic-bezier(.22,1,.36,1)}
/* ready: coming into focus */
#onboard .lp-bk.bxfocus>*{animation:bxsharp 1.9s cubic-bezier(.22,1,.36,1) both}
@keyframes bxsharp{from{filter:blur(9px);opacity:.25;transform:scale(.975)}to{filter:none;opacity:1;transform:none}}
.bx-bar{width:220px;height:2px;border-radius:2px;background:rgba(42,38,34,.1);overflow:hidden;margin:26px auto 22px}
.bx-bar i{display:block;height:100%;width:0;background:#b68235;animation:bxbar 2.2s cubic-bezier(.45,0,.2,1) .15s forwards}
@keyframes bxbar{to{width:100%}}
.bx-names .amp{transform:none!important;animation:bxfade .9s ease .6s forwards!important}
@keyframes bxfade{to{opacity:1}}
.bx-petals{display:none!important}
@media (prefers-reduced-motion:reduce){#onboard .lp-bk.bxfocus>*,.bx-bar i{animation-duration:.01s!important}}
/* take a page out */
#spreads .page{position:relative}
#spreads .page>.pgx{position:absolute;top:10px;right:10px;z-index:6;width:30px;height:30px;border:0;border-radius:50%;display:grid;place-items:center;background:#fffdf9;color:#6f665c;box-shadow:0 0 0 1px rgba(42,38,34,.12),0 6px 14px -8px rgba(42,38,34,.45);cursor:pointer;opacity:0;transform:scale(.8);transition:opacity .2s,transform .25s cubic-bezier(.34,1.56,.64,1),background .2s,color .2s}
#spreads .page>.pgx .i{width:14px;height:14px}
#spreads .page:hover>.pgx,#spreads .page>.pgx:focus-visible{opacity:1;transform:none}
#spreads .page.blank>.pgx{opacity:.9;transform:none}
#spreads .page>.pgx:hover{background:#9a4a32;color:#fff}
#spreads .page:has(>.pgx:hover){box-shadow:0 0 0 2px rgba(154,74,50,.35)}
@media (hover:none){#spreads .page>.pgx{opacity:.85;transform:none}}
@media print{.pgx{display:none!important}}
.pgshake{animation:pgshake .5s}
@keyframes pgshake{20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}
/* cover picture */
#spreads .coverpage .art{cursor:pointer;border-radius:4px;transition:box-shadow .2s}
#spreads .coverpage .art:hover{box-shadow:0 0 0 6px rgba(182,130,53,.12),0 0 0 7px rgba(182,130,53,.35)}
.covmenu .motifs{display:flex;flex-wrap:wrap;gap:5px;padding:2px 8px 8px 58px}
.covmenu .motifs button{width:auto!important;padding:6px 10px!important;border-radius:9px!important;font-size:13px;box-shadow:inset 0 0 0 1px #e6ddd1;color:#6f665c}
.covmenu .motifs button[aria-pressed=true]{box-shadow:inset 0 0 0 1.5px #b68235;color:#2a2622}
/* the story reads as a centred column, not hard against the left */
.k-venue .vtext{max-width:82%;margin-left:auto;margin-right:auto}
.k-venue .vtext:empty::before,.k-venue .vtext[data-ph]:empty::before{display:block;text-align:center}
/* photo step: No photo, then the six looks, four to a row */
.lp-pp .lp-styles{display:flex!important;flex-wrap:wrap;justify-content:center;max-width:560px!important;gap:20px 16px!important}
.lp-pp .lp-styles>.lp-opt{width:calc(25% - 12px)}
.lp-thumb.lp-none .nox{position:absolute;inset:0;display:grid;place-items:center;color:#c3b8aa;z-index:2}
.lp-thumb.lp-none .nox .i{width:22px;height:22px}
@media (max-width:600px){.lp-pp .lp-styles>.lp-opt{width:calc(33.33% - 11px)}}

/* v26: pinstripe corners, mitred like a picture frame */
.coverpage .fr-stripes,.backp .fr-stripes{background:var(--acc)!important;-webkit-mask:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 523 758" width="523" height="758"%3E%3Cdefs%3E%3CclipPath id="t"%3E%3Cpath d="M0 0H523L493 30H30Z"/%3E%3C/clipPath%3E%3CclipPath id="b"%3E%3Cpath d="M0 758L30 728H493L523 758Z"/%3E%3C/clipPath%3E%3CclipPath id="l"%3E%3Cpath d="M0 0L30 30V728L0 758Z"/%3E%3C/clipPath%3E%3CclipPath id="r"%3E%3Cpath d="M523 0V758L493 728V30Z"/%3E%3C/clipPath%3E%3C/defs%3E%3Cg stroke="%23000" stroke-width="1.1" fill="none"%3E%3Cpath clip-path="url(%23t)" d="M1.6 0V30M6.0 0V30M10.4 0V30M14.8 0V30M19.2 0V30M23.6 0V30M28.0 0V30M32.4 0V30M36.8 0V30M41.2 0V30M45.6 0V30M50.0 0V30M54.4 0V30M58.8 0V30M63.2 0V30M67.6 0V30M72.0 0V30M76.4 0V30M80.8 0V30M85.2 0V30M89.6 0V30M94.0 0V30M98.4 0V30M102.8 0V30M107.2 0V30M111.6 0V30M116.0 0V30M120.4 0V30M124.8 0V30M129.2 0V30M133.6 0V30M138.0 0V30M142.4 0V30M146.8 0V30M151.2 0V30M155.6 0V30M160.0 0V30M164.4 0V30M168.8 0V30M173.2 0V30M177.6 0V30M182.0 0V30M186.4 0V30M190.8 0V30M195.2 0V30M199.6 0V30M204.0 0V30M208.4 0V30M212.8 0V30M217.2 0V30M221.6 0V30M226.0 0V30M230.4 0V30M234.8 0V30M239.2 0V30M243.6 0V30M248.0 0V30M252.4 0V30M256.8 0V30M261.2 0V30M265.6 0V30M270.0 0V30M274.4 0V30M278.8 0V30M283.2 0V30M287.6 0V30M292.0 0V30M296.4 0V30M300.8 0V30M305.2 0V30M309.6 0V30M314.0 0V30M318.4 0V30M322.8 0V30M327.2 0V30M331.6 0V30M336.0 0V30M340.4 0V30M344.8 0V30M349.2 0V30M353.6 0V30M358.0 0V30M362.4 0V30M366.8 0V30M371.2 0V30M375.6 0V30M380.0 0V30M384.4 0V30M388.8 0V30M393.2 0V30M397.6 0V30M402.0 0V30M406.4 0V30M410.8 0V30M415.2 0V30M419.6 0V30M424.0 0V30M428.4 0V30M432.8 0V30M437.2 0V30M441.6 0V30M446.0 0V30M450.4 0V30M454.8 0V30M459.2 0V30M463.6 0V30M468.0 0V30M472.4 0V30M476.8 0V30M481.2 0V30M485.6 0V30M490.0 0V30M494.4 0V30M498.8 0V30M503.2 0V30M507.6 0V30M512.0 0V30M516.4 0V30M520.8 0V30"/%3E%3Cpath clip-path="url(%23b)" d="M1.6 728V758M6.0 728V758M10.4 728V758M14.8 728V758M19.2 728V758M23.6 728V758M28.0 728V758M32.4 728V758M36.8 728V758M41.2 728V758M45.6 728V758M50.0 728V758M54.4 728V758M58.8 728V758M63.2 728V758M67.6 728V758M72.0 728V758M76.4 728V758M80.8 728V758M85.2 728V758M89.6 728V758M94.0 728V758M98.4 728V758M102.8 728V758M107.2 728V758M111.6 728V758M116.0 728V758M120.4 728V758M124.8 728V758M129.2 728V758M133.6 728V758M138.0 728V758M142.4 728V758M146.8 728V758M151.2 728V758M155.6 728V758M160.0 728V758M164.4 728V758M168.8 728V758M173.2 728V758M177.6 728V758M182.0 728V758M186.4 728V758M190.8 728V758M195.2 728V758M199.6 728V758M204.0 728V758M208.4 728V758M212.8 728V758M217.2 728V758M221.6 728V758M226.0 728V758M230.4 728V758M234.8 728V758M239.2 728V758M243.6 728V758M248.0 728V758M252.4 728V758M256.8 728V758M261.2 728V758M265.6 728V758M270.0 728V758M274.4 728V758M278.8 728V758M283.2 728V758M287.6 728V758M292.0 728V758M296.4 728V758M300.8 728V758M305.2 728V758M309.6 728V758M314.0 728V758M318.4 728V758M322.8 728V758M327.2 728V758M331.6 728V758M336.0 728V758M340.4 728V758M344.8 728V758M349.2 728V758M353.6 728V758M358.0 728V758M362.4 728V758M366.8 728V758M371.2 728V758M375.6 728V758M380.0 728V758M384.4 728V758M388.8 728V758M393.2 728V758M397.6 728V758M402.0 728V758M406.4 728V758M410.8 728V758M415.2 728V758M419.6 728V758M424.0 728V758M428.4 728V758M432.8 728V758M437.2 728V758M441.6 728V758M446.0 728V758M450.4 728V758M454.8 728V758M459.2 728V758M463.6 728V758M468.0 728V758M472.4 728V758M476.8 728V758M481.2 728V758M485.6 728V758M490.0 728V758M494.4 728V758M498.8 728V758M503.2 728V758M507.6 728V758M512.0 728V758M516.4 728V758M520.8 728V758"/%3E%3Cpath clip-path="url(%23l)" d="M0 1.6H30M0 6.0H30M0 10.4H30M0 14.8H30M0 19.2H30M0 23.6H30M0 28.0H30M0 32.4H30M0 36.8H30M0 41.2H30M0 45.6H30M0 50.0H30M0 54.4H30M0 58.8H30M0 63.2H30M0 67.6H30M0 72.0H30M0 76.4H30M0 80.8H30M0 85.2H30M0 89.6H30M0 94.0H30M0 98.4H30M0 102.8H30M0 107.2H30M0 111.6H30M0 116.0H30M0 120.4H30M0 124.8H30M0 129.2H30M0 133.6H30M0 138.0H30M0 142.4H30M0 146.8H30M0 151.2H30M0 155.6H30M0 160.0H30M0 164.4H30M0 168.8H30M0 173.2H30M0 177.6H30M0 182.0H30M0 186.4H30M0 190.8H30M0 195.2H30M0 199.6H30M0 204.0H30M0 208.4H30M0 212.8H30M0 217.2H30M0 221.6H30M0 226.0H30M0 230.4H30M0 234.8H30M0 239.2H30M0 243.6H30M0 248.0H30M0 252.4H30M0 256.8H30M0 261.2H30M0 265.6H30M0 270.0H30M0 274.4H30M0 278.8H30M0 283.2H30M0 287.6H30M0 292.0H30M0 296.4H30M0 300.8H30M0 305.2H30M0 309.6H30M0 314.0H30M0 318.4H30M0 322.8H30M0 327.2H30M0 331.6H30M0 336.0H30M0 340.4H30M0 344.8H30M0 349.2H30M0 353.6H30M0 358.0H30M0 362.4H30M0 366.8H30M0 371.2H30M0 375.6H30M0 380.0H30M0 384.4H30M0 388.8H30M0 393.2H30M0 397.6H30M0 402.0H30M0 406.4H30M0 410.8H30M0 415.2H30M0 419.6H30M0 424.0H30M0 428.4H30M0 432.8H30M0 437.2H30M0 441.6H30M0 446.0H30M0 450.4H30M0 454.8H30M0 459.2H30M0 463.6H30M0 468.0H30M0 472.4H30M0 476.8H30M0 481.2H30M0 485.6H30M0 490.0H30M0 494.4H30M0 498.8H30M0 503.2H30M0 507.6H30M0 512.0H30M0 516.4H30M0 520.8H30M0 525.2H30M0 529.6H30M0 534.0H30M0 538.4H30M0 542.8H30M0 547.2H30M0 551.6H30M0 556.0H30M0 560.4H30M0 564.8H30M0 569.2H30M0 573.6H30M0 578.0H30M0 582.4H30M0 586.8H30M0 591.2H30M0 595.6H30M0 600.0H30M0 604.4H30M0 608.8H30M0 613.2H30M0 617.6H30M0 622.0H30M0 626.4H30M0 630.8H30M0 635.2H30M0 639.6H30M0 644.0H30M0 648.4H30M0 652.8H30M0 657.2H30M0 661.6H30M0 666.0H30M0 670.4H30M0 674.8H30M0 679.2H30M0 683.6H30M0 688.0H30M0 692.4H30M0 696.8H30M0 701.2H30M0 705.6H30M0 710.0H30M0 714.4H30M0 718.8H30M0 723.2H30M0 727.6H30M0 732.0H30M0 736.4H30M0 740.8H30M0 745.2H30M0 749.6H30M0 754.0H30"/%3E%3Cpath clip-path="url(%23r)" d="M493 1.6H523M493 6.0H523M493 10.4H523M493 14.8H523M493 19.2H523M493 23.6H523M493 28.0H523M493 32.4H523M493 36.8H523M493 41.2H523M493 45.6H523M493 50.0H523M493 54.4H523M493 58.8H523M493 63.2H523M493 67.6H523M493 72.0H523M493 76.4H523M493 80.8H523M493 85.2H523M493 89.6H523M493 94.0H523M493 98.4H523M493 102.8H523M493 107.2H523M493 111.6H523M493 116.0H523M493 120.4H523M493 124.8H523M493 129.2H523M493 133.6H523M493 138.0H523M493 142.4H523M493 146.8H523M493 151.2H523M493 155.6H523M493 160.0H523M493 164.4H523M493 168.8H523M493 173.2H523M493 177.6H523M493 182.0H523M493 186.4H523M493 190.8H523M493 195.2H523M493 199.6H523M493 204.0H523M493 208.4H523M493 212.8H523M493 217.2H523M493 221.6H523M493 226.0H523M493 230.4H523M493 234.8H523M493 239.2H523M493 243.6H523M493 248.0H523M493 252.4H523M493 256.8H523M493 261.2H523M493 265.6H523M493 270.0H523M493 274.4H523M493 278.8H523M493 283.2H523M493 287.6H523M493 292.0H523M493 296.4H523M493 300.8H523M493 305.2H523M493 309.6H523M493 314.0H523M493 318.4H523M493 322.8H523M493 327.2H523M493 331.6H523M493 336.0H523M493 340.4H523M493 344.8H523M493 349.2H523M493 353.6H523M493 358.0H523M493 362.4H523M493 366.8H523M493 371.2H523M493 375.6H523M493 380.0H523M493 384.4H523M493 388.8H523M493 393.2H523M493 397.6H523M493 402.0H523M493 406.4H523M493 410.8H523M493 415.2H523M493 419.6H523M493 424.0H523M493 428.4H523M493 432.8H523M493 437.2H523M493 441.6H523M493 446.0H523M493 450.4H523M493 454.8H523M493 459.2H523M493 463.6H523M493 468.0H523M493 472.4H523M493 476.8H523M493 481.2H523M493 485.6H523M493 490.0H523M493 494.4H523M493 498.8H523M493 503.2H523M493 507.6H523M493 512.0H523M493 516.4H523M493 520.8H523M493 525.2H523M493 529.6H523M493 534.0H523M493 538.4H523M493 542.8H523M493 547.2H523M493 551.6H523M493 556.0H523M493 560.4H523M493 564.8H523M493 569.2H523M493 573.6H523M493 578.0H523M493 582.4H523M493 586.8H523M493 591.2H523M493 595.6H523M493 600.0H523M493 604.4H523M493 608.8H523M493 613.2H523M493 617.6H523M493 622.0H523M493 626.4H523M493 630.8H523M493 635.2H523M493 639.6H523M493 644.0H523M493 648.4H523M493 652.8H523M493 657.2H523M493 661.6H523M493 666.0H523M493 670.4H523M493 674.8H523M493 679.2H523M493 683.6H523M493 688.0H523M493 692.4H523M493 696.8H523M493 701.2H523M493 705.6H523M493 710.0H523M493 714.4H523M493 718.8H523M493 723.2H523M493 727.6H523M493 732.0H523M493 736.4H523M493 740.8H523M493 745.2H523M493 749.6H523M493 754.0H523"/%3E%3C/g%3E%3Cg stroke="%23000" fill="none"%3E%3Crect x=".6" y=".6" width="521.8" height="756.8" stroke-width="1.2"/%3E%3Crect x="30" y="30" width="463" height="698" stroke-width="1"/%3E%3Cpath d="M.6 .6L30 30M522.4 .6L493 30M.6 757.4L30 728M522.4 757.4L493 728" stroke-width="1"/%3E%3Crect x="36" y="36" width="451" height="686" stroke-width=".75"/%3E%3C/g%3E%3C/svg%3E') 0 0/100% 100% no-repeat;mask:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 523 758" width="523" height="758"%3E%3Cdefs%3E%3CclipPath id="t"%3E%3Cpath d="M0 0H523L493 30H30Z"/%3E%3C/clipPath%3E%3CclipPath id="b"%3E%3Cpath d="M0 758L30 728H493L523 758Z"/%3E%3C/clipPath%3E%3CclipPath id="l"%3E%3Cpath d="M0 0L30 30V728L0 758Z"/%3E%3C/clipPath%3E%3CclipPath id="r"%3E%3Cpath d="M523 0V758L493 728V30Z"/%3E%3C/clipPath%3E%3C/defs%3E%3Cg stroke="%23000" stroke-width="1.1" fill="none"%3E%3Cpath clip-path="url(%23t)" d="M1.6 0V30M6.0 0V30M10.4 0V30M14.8 0V30M19.2 0V30M23.6 0V30M28.0 0V30M32.4 0V30M36.8 0V30M41.2 0V30M45.6 0V30M50.0 0V30M54.4 0V30M58.8 0V30M63.2 0V30M67.6 0V30M72.0 0V30M76.4 0V30M80.8 0V30M85.2 0V30M89.6 0V30M94.0 0V30M98.4 0V30M102.8 0V30M107.2 0V30M111.6 0V30M116.0 0V30M120.4 0V30M124.8 0V30M129.2 0V30M133.6 0V30M138.0 0V30M142.4 0V30M146.8 0V30M151.2 0V30M155.6 0V30M160.0 0V30M164.4 0V30M168.8 0V30M173.2 0V30M177.6 0V30M182.0 0V30M186.4 0V30M190.8 0V30M195.2 0V30M199.6 0V30M204.0 0V30M208.4 0V30M212.8 0V30M217.2 0V30M221.6 0V30M226.0 0V30M230.4 0V30M234.8 0V30M239.2 0V30M243.6 0V30M248.0 0V30M252.4 0V30M256.8 0V30M261.2 0V30M265.6 0V30M270.0 0V30M274.4 0V30M278.8 0V30M283.2 0V30M287.6 0V30M292.0 0V30M296.4 0V30M300.8 0V30M305.2 0V30M309.6 0V30M314.0 0V30M318.4 0V30M322.8 0V30M327.2 0V30M331.6 0V30M336.0 0V30M340.4 0V30M344.8 0V30M349.2 0V30M353.6 0V30M358.0 0V30M362.4 0V30M366.8 0V30M371.2 0V30M375.6 0V30M380.0 0V30M384.4 0V30M388.8 0V30M393.2 0V30M397.6 0V30M402.0 0V30M406.4 0V30M410.8 0V30M415.2 0V30M419.6 0V30M424.0 0V30M428.4 0V30M432.8 0V30M437.2 0V30M441.6 0V30M446.0 0V30M450.4 0V30M454.8 0V30M459.2 0V30M463.6 0V30M468.0 0V30M472.4 0V30M476.8 0V30M481.2 0V30M485.6 0V30M490.0 0V30M494.4 0V30M498.8 0V30M503.2 0V30M507.6 0V30M512.0 0V30M516.4 0V30M520.8 0V30"/%3E%3Cpath clip-path="url(%23b)" d="M1.6 728V758M6.0 728V758M10.4 728V758M14.8 728V758M19.2 728V758M23.6 728V758M28.0 728V758M32.4 728V758M36.8 728V758M41.2 728V758M45.6 728V758M50.0 728V758M54.4 728V758M58.8 728V758M63.2 728V758M67.6 728V758M72.0 728V758M76.4 728V758M80.8 728V758M85.2 728V758M89.6 728V758M94.0 728V758M98.4 728V758M102.8 728V758M107.2 728V758M111.6 728V758M116.0 728V758M120.4 728V758M124.8 728V758M129.2 728V758M133.6 728V758M138.0 728V758M142.4 728V758M146.8 728V758M151.2 728V758M155.6 728V758M160.0 728V758M164.4 728V758M168.8 728V758M173.2 728V758M177.6 728V758M182.0 728V758M186.4 728V758M190.8 728V758M195.2 728V758M199.6 728V758M204.0 728V758M208.4 728V758M212.8 728V758M217.2 728V758M221.6 728V758M226.0 728V758M230.4 728V758M234.8 728V758M239.2 728V758M243.6 728V758M248.0 728V758M252.4 728V758M256.8 728V758M261.2 728V758M265.6 728V758M270.0 728V758M274.4 728V758M278.8 728V758M283.2 728V758M287.6 728V758M292.0 728V758M296.4 728V758M300.8 728V758M305.2 728V758M309.6 728V758M314.0 728V758M318.4 728V758M322.8 728V758M327.2 728V758M331.6 728V758M336.0 728V758M340.4 728V758M344.8 728V758M349.2 728V758M353.6 728V758M358.0 728V758M362.4 728V758M366.8 728V758M371.2 728V758M375.6 728V758M380.0 728V758M384.4 728V758M388.8 728V758M393.2 728V758M397.6 728V758M402.0 728V758M406.4 728V758M410.8 728V758M415.2 728V758M419.6 728V758M424.0 728V758M428.4 728V758M432.8 728V758M437.2 728V758M441.6 728V758M446.0 728V758M450.4 728V758M454.8 728V758M459.2 728V758M463.6 728V758M468.0 728V758M472.4 728V758M476.8 728V758M481.2 728V758M485.6 728V758M490.0 728V758M494.4 728V758M498.8 728V758M503.2 728V758M507.6 728V758M512.0 728V758M516.4 728V758M520.8 728V758"/%3E%3Cpath clip-path="url(%23l)" d="M0 1.6H30M0 6.0H30M0 10.4H30M0 14.8H30M0 19.2H30M0 23.6H30M0 28.0H30M0 32.4H30M0 36.8H30M0 41.2H30M0 45.6H30M0 50.0H30M0 54.4H30M0 58.8H30M0 63.2H30M0 67.6H30M0 72.0H30M0 76.4H30M0 80.8H30M0 85.2H30M0 89.6H30M0 94.0H30M0 98.4H30M0 102.8H30M0 107.2H30M0 111.6H30M0 116.0H30M0 120.4H30M0 124.8H30M0 129.2H30M0 133.6H30M0 138.0H30M0 142.4H30M0 146.8H30M0 151.2H30M0 155.6H30M0 160.0H30M0 164.4H30M0 168.8H30M0 173.2H30M0 177.6H30M0 182.0H30M0 186.4H30M0 190.8H30M0 195.2H30M0 199.6H30M0 204.0H30M0 208.4H30M0 212.8H30M0 217.2H30M0 221.6H30M0 226.0H30M0 230.4H30M0 234.8H30M0 239.2H30M0 243.6H30M0 248.0H30M0 252.4H30M0 256.8H30M0 261.2H30M0 265.6H30M0 270.0H30M0 274.4H30M0 278.8H30M0 283.2H30M0 287.6H30M0 292.0H30M0 296.4H30M0 300.8H30M0 305.2H30M0 309.6H30M0 314.0H30M0 318.4H30M0 322.8H30M0 327.2H30M0 331.6H30M0 336.0H30M0 340.4H30M0 344.8H30M0 349.2H30M0 353.6H30M0 358.0H30M0 362.4H30M0 366.8H30M0 371.2H30M0 375.6H30M0 380.0H30M0 384.4H30M0 388.8H30M0 393.2H30M0 397.6H30M0 402.0H30M0 406.4H30M0 410.8H30M0 415.2H30M0 419.6H30M0 424.0H30M0 428.4H30M0 432.8H30M0 437.2H30M0 441.6H30M0 446.0H30M0 450.4H30M0 454.8H30M0 459.2H30M0 463.6H30M0 468.0H30M0 472.4H30M0 476.8H30M0 481.2H30M0 485.6H30M0 490.0H30M0 494.4H30M0 498.8H30M0 503.2H30M0 507.6H30M0 512.0H30M0 516.4H30M0 520.8H30M0 525.2H30M0 529.6H30M0 534.0H30M0 538.4H30M0 542.8H30M0 547.2H30M0 551.6H30M0 556.0H30M0 560.4H30M0 564.8H30M0 569.2H30M0 573.6H30M0 578.0H30M0 582.4H30M0 586.8H30M0 591.2H30M0 595.6H30M0 600.0H30M0 604.4H30M0 608.8H30M0 613.2H30M0 617.6H30M0 622.0H30M0 626.4H30M0 630.8H30M0 635.2H30M0 639.6H30M0 644.0H30M0 648.4H30M0 652.8H30M0 657.2H30M0 661.6H30M0 666.0H30M0 670.4H30M0 674.8H30M0 679.2H30M0 683.6H30M0 688.0H30M0 692.4H30M0 696.8H30M0 701.2H30M0 705.6H30M0 710.0H30M0 714.4H30M0 718.8H30M0 723.2H30M0 727.6H30M0 732.0H30M0 736.4H30M0 740.8H30M0 745.2H30M0 749.6H30M0 754.0H30"/%3E%3Cpath clip-path="url(%23r)" d="M493 1.6H523M493 6.0H523M493 10.4H523M493 14.8H523M493 19.2H523M493 23.6H523M493 28.0H523M493 32.4H523M493 36.8H523M493 41.2H523M493 45.6H523M493 50.0H523M493 54.4H523M493 58.8H523M493 63.2H523M493 67.6H523M493 72.0H523M493 76.4H523M493 80.8H523M493 85.2H523M493 89.6H523M493 94.0H523M493 98.4H523M493 102.8H523M493 107.2H523M493 111.6H523M493 116.0H523M493 120.4H523M493 124.8H523M493 129.2H523M493 133.6H523M493 138.0H523M493 142.4H523M493 146.8H523M493 151.2H523M493 155.6H523M493 160.0H523M493 164.4H523M493 168.8H523M493 173.2H523M493 177.6H523M493 182.0H523M493 186.4H523M493 190.8H523M493 195.2H523M493 199.6H523M493 204.0H523M493 208.4H523M493 212.8H523M493 217.2H523M493 221.6H523M493 226.0H523M493 230.4H523M493 234.8H523M493 239.2H523M493 243.6H523M493 248.0H523M493 252.4H523M493 256.8H523M493 261.2H523M493 265.6H523M493 270.0H523M493 274.4H523M493 278.8H523M493 283.2H523M493 287.6H523M493 292.0H523M493 296.4H523M493 300.8H523M493 305.2H523M493 309.6H523M493 314.0H523M493 318.4H523M493 322.8H523M493 327.2H523M493 331.6H523M493 336.0H523M493 340.4H523M493 344.8H523M493 349.2H523M493 353.6H523M493 358.0H523M493 362.4H523M493 366.8H523M493 371.2H523M493 375.6H523M493 380.0H523M493 384.4H523M493 388.8H523M493 393.2H523M493 397.6H523M493 402.0H523M493 406.4H523M493 410.8H523M493 415.2H523M493 419.6H523M493 424.0H523M493 428.4H523M493 432.8H523M493 437.2H523M493 441.6H523M493 446.0H523M493 450.4H523M493 454.8H523M493 459.2H523M493 463.6H523M493 468.0H523M493 472.4H523M493 476.8H523M493 481.2H523M493 485.6H523M493 490.0H523M493 494.4H523M493 498.8H523M493 503.2H523M493 507.6H523M493 512.0H523M493 516.4H523M493 520.8H523M493 525.2H523M493 529.6H523M493 534.0H523M493 538.4H523M493 542.8H523M493 547.2H523M493 551.6H523M493 556.0H523M493 560.4H523M493 564.8H523M493 569.2H523M493 573.6H523M493 578.0H523M493 582.4H523M493 586.8H523M493 591.2H523M493 595.6H523M493 600.0H523M493 604.4H523M493 608.8H523M493 613.2H523M493 617.6H523M493 622.0H523M493 626.4H523M493 630.8H523M493 635.2H523M493 639.6H523M493 644.0H523M493 648.4H523M493 652.8H523M493 657.2H523M493 661.6H523M493 666.0H523M493 670.4H523M493 674.8H523M493 679.2H523M493 683.6H523M493 688.0H523M493 692.4H523M493 696.8H523M493 701.2H523M493 705.6H523M493 710.0H523M493 714.4H523M493 718.8H523M493 723.2H523M493 727.6H523M493 732.0H523M493 736.4H523M493 740.8H523M493 745.2H523M493 749.6H523M493 754.0H523"/%3E%3C/g%3E%3Cg stroke="%23000" fill="none"%3E%3Crect x=".6" y=".6" width="521.8" height="756.8" stroke-width="1.2"/%3E%3Crect x="30" y="30" width="463" height="698" stroke-width="1"/%3E%3Cpath d="M.6 .6L30 30M522.4 .6L493 30M.6 757.4L30 728M522.4 757.4L493 728" stroke-width="1"/%3E%3Crect x="36" y="36" width="451" height="686" stroke-width=".75"/%3E%3C/g%3E%3C/svg%3E') 0 0/100% 100% no-repeat}
.coverpage .fr-stripes::after,.backp .fr-stripes::after{display:none}

/* ===== v32 ===== */
/* back page: join us afterwards */
.k-after .vart{display:flex;justify-content:center;margin:0 0 1.2em}
.k-after .vart i{display:block;width:calc(150px * var(--vs,1));height:calc(200px * var(--vs,1));background:var(--acc);-webkit-mask:var(--art-couple) center/contain no-repeat;mask:var(--art-couple) center/contain no-repeat}
.k-after .vart img{width:calc(210px * var(--vs,1));aspect-ratio:4/3;object-fit:cover;filter:grayscale(.2)}
.backpage.k-after>*{flex-shrink:0}
.backpage.k-after{justify-content:safe center;overflow:hidden;padding:var(--pt,80px) var(--px,74px) var(--pb,96px);font-size:calc(13.5px * var(--vs,1))}
.k-after .atitle{font-style:italic;font-size:1.9em;color:var(--acc);line-height:1.2;margin:0}
.k-after .orn{margin:1em auto 1.1em!important}
.k-after .wtext{font-size:1.08em;line-height:1.6;color:var(--ink);text-align:center;text-wrap:pretty;max-width:82%;margin:0 auto}
.k-after .wtext p{margin:0 0 .7em}.k-after .wtext p:last-child{margin:0}
.k-after .awhere{font-family:var(--hf),'Cinzel',serif;font-size:.8em;letter-spacing:.24em;padding-left:.24em;text-transform:uppercase;color:var(--acc);margin:1.4em 0 0;line-height:1.5}
#spreads .backpage.k-after .vart{cursor:pointer;border-radius:4px;transition:box-shadow .2s}
#spreads .backpage.k-after .vart:hover{box-shadow:0 0 0 6px rgba(182,130,53,.12),0 0 0 7px rgba(182,130,53,.35)}
.t-minimal .backpage.k-after{align-items:center;text-align:center}
.lp-backs{max-width:760px}
.lp-backs .row{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:22px 16px}
@media (max-width:600px){.lp-backs .row{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* music: your own piece beside the search */
.mtop{display:flex;align-items:center;gap:10px;margin:4px 0 2px}
.mtop .mseek{flex:1;min-width:0;margin:0}
.mtop .mown{flex:none;display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 13px;border:0;border-radius:10px;background:#f6efe3;color:#9a6f38;font:inherit;font-family:Jost,sans-serif;font-size:13.5px;cursor:pointer;transition:background .2s}
.mtop .mown:hover{background:#efe3cf}
.mtop .mown .i{width:15px;height:15px}
.mmore{align-items:center;gap:8px!important}
.mmore span{font-size:13px;color:var(--lpf)}

/* notes: shared */
.ntpin{position:absolute;right:12px;z-index:7;width:28px;height:28px;border:0;border-radius:50% 50% 50% 4px;background:#b68235;color:#fffdf9;font:600 13px/28px Jost,sans-serif;text-align:center;padding:0;cursor:pointer;box-shadow:0 0 0 2px #fffdf9,0 6px 14px -6px rgba(42,38,34,.5);animation:ntpop .4s cubic-bezier(.34,1.56,.64,1)}
.ntpin.draft{background:#2a2622;display:grid;place-items:center;pointer-events:none}
.ntpin.draft .i{width:14px;height:14px}
@keyframes ntpop{from{transform:scale(.3);opacity:0}}
@media print{.ntpin,.ntcol,#nttop{display:none!important}}
.nt-flash{animation:ntflash 2.4s ease}
@keyframes ntflash{0%,60%{box-shadow:0 0 0 3px rgba(182,130,53,.55);background-color:rgba(182,130,53,.12)}100%{box-shadow:0 0 0 3px rgba(182,130,53,0);background-color:transparent}}
.shake{animation:ntshake .4s}
@keyframes ntshake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}

.ntcol{font-family:Jost,sans-serif;color:#2a2622;background:#fffdf9;display:flex;flex-direction:column;min-height:0}
.ntcol .nt-head{padding:24px 24px 14px;position:relative}
.ntcol h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:26px;line-height:1.15;margin:0 0 6px}
.ntcol .nt-head p{margin:0;font-size:14px;line-height:1.45;color:#6f665c}
.ntcol .nt-grab{display:none}
.ntcol .nt-x{position:absolute;top:18px;right:16px;width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:#6f665c;display:grid;place-items:center;cursor:pointer}
.ntcol .nt-x:hover{background:#f6efe3}
.ntcol .nt-x .i{width:18px;height:18px}
.ntcol .nt-general{margin-top:14px;display:inline-flex;align-items:center;gap:8px;border:0;background:none;padding:4px 0;font:inherit;font-size:14px;color:#9a6f38;cursor:pointer}
.ntcol .nt-general .i{width:18px;height:18px}
.ntcol .nt-body{flex:1;min-height:0;overflow:auto;padding:0 24px 24px;overscroll-behavior:contain}
.ntcol .nt-empty{display:flex;align-items:center;gap:10px;color:#b0a698;font-size:14px;padding:16px 0;border-top:1px solid #efe7db}
.ntcol .nt-empty .i{width:20px;height:20px}
.ntcol .nt-sub{display:flex;align-items:center;gap:8px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#9a8f82;margin:22px 0 6px}
.ntcol .nt-sub .i{width:15px;height:15px}

.ntc{padding:14px 0;border-top:1px solid #efe7db;transition:background .3s}
.ntc.new{animation:ntin .5s cubic-bezier(.22,1,.36,1)}
@keyframes ntin{from{opacity:0;transform:translateY(8px)}}
.ntc.ping{background:linear-gradient(90deg,rgba(182,130,53,.1),transparent)}
.ntc-h{display:flex;align-items:center;gap:9px}
.ntc-h .num{width:22px;height:22px;border-radius:50% 50% 50% 3px;background:#b68235;color:#fffdf9;font-size:11.5px;font-weight:600;display:grid;place-items:center;flex:none}
.ntc-h .num .i{width:12px;height:12px}
.ntc.done .ntc-h .num{background:#cfc6b8}
.ntc-h b{font-weight:500;font-size:15px}
.ntc-h time{margin-left:auto;font-size:12px;color:#b0a698}
.ntc-w{font-size:12.5px;color:#9a8f82;margin:3px 0 0 31px}
.ntc q,.ntx q{display:block;quotes:none;margin:8px 0 0 31px;padding-left:10px;border-left:2px solid #e3d3b8;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:16px;line-height:1.35;color:#9a6f38}
.ntc p{margin:6px 0 0 31px;font-size:14.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.ntc.done p,.ntc.done q{color:#9a8f82}
.ntc-a{display:flex;gap:6px;margin:10px 0 0 25px}
.ntc-a button{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:0;border-radius:9px;background:transparent;font:inherit;font-size:13px;color:#6f665c;cursor:pointer}
.ntc-a button:hover{background:#f6efe3;color:#2a2622}
.ntc-a button .i{width:15px;height:15px}
.ntc-a [data-ntdone]{color:#9a6f38}
.nt-done{display:block;margin:10px 0 0;border:0;background:none;padding:6px 0;font:inherit;font-size:13px;color:#9a8f82;cursor:pointer;text-decoration:underline;text-decoration-color:#e3d3b8;text-underline-offset:4px}

.ntx{padding:16px 0 18px;border-top:1px solid #efe7db;animation:ntin .4s cubic-bezier(.22,1,.36,1)}
.ntx-w{display:flex;align-items:center;gap:8px;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:#9a6f38}
.ntx-w .i{width:16px;height:16px}
.ntx q{margin-left:0}
.ntx textarea,.ntx input{display:block;width:100%;box-sizing:border-box;margin:12px 0 0;border:1px solid #e6ddd1;border-radius:12px;background:#fff;padding:11px 13px;font:inherit;font-size:15px;line-height:1.45;color:#2a2622;resize:vertical;outline:none;transition:border-color .2s,box-shadow .2s}
.ntx textarea:focus,.ntx input:focus{border-color:#c9a36b;box-shadow:0 0 0 3px rgba(182,130,53,.14)}
.ntx input{margin-top:10px}
.ntx-roles{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}
.ntx-roles button{height:34px;padding:0 12px;border:1px solid #e6ddd1;border-radius:9px;background:#fff;font:inherit;font-size:13.5px;color:#6f665c;cursor:pointer}
.ntx-roles button[aria-checked=true]{border-color:#b68235;background:#f8efe1;color:#2a2622}
.ntx-me{margin:10px 0 0;font-size:13.5px;color:#6f665c;display:flex;align-items:center;gap:6px}
.ntx-me b{font-weight:500;color:#2a2622}
.ntx-me button{border:0;background:none;font:inherit;font-size:13px;color:#9a6f38;cursor:pointer;text-decoration:underline;text-decoration-color:#e3d3b8;text-underline-offset:3px}
.ntx-row{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:14px}
.ntx-cancel{border:0;background:none;font:inherit;font-size:14px;color:#6f665c;padding:0 10px;height:42px;cursor:pointer}
.ntx-send{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border:0;border-radius:12px;background:#2a2622;color:#fffdf9;font:inherit;font-size:14.5px;cursor:pointer}
.ntx-send .i{width:16px;height:16px}
.ntx-send:disabled{opacity:.6}

.ntm-r{display:flex;align-items:center;gap:12px;padding:8px 0}
.ntm-r .pl{width:36px;height:36px;border-radius:50%;border:0;background:#f6efe3;color:#9a6f38;display:grid;place-items:center;flex:none;cursor:pointer;transition:background .2s}
.ntm-r .pl:hover,.ntm-r .pl.on{background:#b68235;color:#fffdf9}
.ntm-r .pl .i{width:14px;height:14px}
.ntm-r span{min-width:0}
.ntm-r b{display:block;font-weight:400;font-size:14.5px;line-height:1.3}
.ntm-r small{display:block;font-size:12.5px;color:#9a8f82}

/* reading the link */
.os-viewing .pgx{display:none!important}
html.os-viewing .os-dock{display:block!important}
.os-viewing.nt-view #builder .work{grid-template-columns:minmax(0,1fr) 370px!important}
.os-viewing.nt-view .ntcol.view{border-left:1px solid #e6ddd1;grid-row:1;grid-column:2}
.os-viewing.nt-view #builder .canvas{grid-column:1}
.os-viewing #spreads .page{cursor:pointer}
.os-viewing #builder #spreads [contenteditable]{pointer-events:auto;cursor:pointer}
.os-viewing #spreads .nt-hov{box-shadow:0 0 0 2px rgba(182,130,53,.35);border-radius:2px;background-color:rgba(182,130,53,.06)}
.os-viewing #spreads .nt-pick{box-shadow:0 0 0 2px #b68235;border-radius:2px;background-color:rgba(182,130,53,.1)}
.os-viewing .os-dock{left:auto;right:386px;width:320px}
@media (max-width:900px){
  .os-viewing.nt-view #builder .work{grid-template-columns:minmax(0,1fr)!important}
  .os-viewing.nt-view .ntcol.view{position:fixed;left:0;right:0;bottom:0;z-index:120;border:0;border-radius:20px 20px 0 0;box-shadow:0 -18px 40px -24px rgba(42,38,34,.45);max-height:calc(100dvh - 90px);transform:translateY(calc(100% - 64px - env(safe-area-inset-bottom,0px)));transition:transform .45s cubic-bezier(.22,1,.36,1)}
  .os-viewing.nt-view .ntcol.view.open{transform:none}
  .ntcol.view .nt-grab{display:flex;align-items:center;justify-content:space-between;width:100%;height:64px;margin:-24px 0 4px;padding:0 4px;border:0;background:none;font:inherit;font-size:16px;color:#2a2622;cursor:pointer}
  .ntcol.view .nt-grab .t{display:flex;align-items:center;gap:8px}
  .ntcol.view .nt-grab i{font-style:normal;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#b68235;color:#fffdf9;font-size:12px;display:grid;place-items:center}
  .ntcol.view .nt-grab .i{width:18px;height:18px;transition:transform .3s}
  .ntcol.view.open .nt-grab .i{transform:rotate(180deg)}
  .ntcol.view .nt-head{padding:24px 20px 10px}
  .ntcol.view .nt-body{padding:0 20px calc(20px + env(safe-area-inset-bottom,0px))}
  .ntcol.view:not(.open) .nt-head>:not(.nt-grab){visibility:hidden}
  .os-viewing.nt-view #builder .canvas{padding-bottom:64px}
  .os-viewing .os-dock{left:10px;right:10px;width:auto;bottom:calc(74px + env(safe-area-inset-bottom,0px))}
}

/* the couple */
.btn.nt-top{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 14px;margin-right:8px;border:0;border-radius:12px;background:#f6efe3;color:#2a2622;font-family:Jost,sans-serif;font-size:14.5px;cursor:pointer}
.btn.nt-top .i{width:18px;height:18px;color:#9a6f38}
.btn.nt-top i{font-style:normal;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#b68235;color:#fffdf9;font-size:12px;display:grid;place-items:center}
.btn.nt-top[aria-expanded=true]{background:#efe3cf}
.ntcol.edit{position:fixed;top:62px;right:0;bottom:0;width:380px;z-index:95;border-left:1px solid #e6ddd1;box-shadow:-24px 0 44px -30px rgba(42,38,34,.4);transform:translateX(105%);transition:transform .45s cubic-bezier(.22,1,.36,1);visibility:hidden}
.ntcol.edit.open{transform:none;visibility:visible}
@media (max-width:900px){
  .btn.nt-top .lbl{display:none}.btn.nt-top{padding:0 10px;margin-right:4px}
  .ntcol.edit{top:auto;left:0;width:auto;height:min(78dvh,640px);border:0;border-radius:20px 20px 0 0;transform:translateY(105%);box-shadow:0 -18px 40px -24px rgba(42,38,34,.45)}
}

/* sending the reading link */
.nt-mail{margin:16px 0 0;text-align:left;font-family:Jost,sans-serif;font-size:14px;color:#6f665c;display:flex;flex-direction:column;gap:8px}
.nt-mail label{font-size:13.5px}
.nt-mailrow{display:flex;gap:8px}
.nt-mailrow input{flex:1;min-width:0;height:44px;border:1px solid #e6ddd1;border-radius:12px;padding:0 12px;font:inherit;font-size:15px;background:#fff;outline:none}
.nt-mailrow input:focus{border-color:#c9a36b}
.nt-mailrow button{height:44px;padding:0 14px;border:0;border-radius:12px;background:#f6efe3;color:#2a2622;font:inherit;font-size:14px;cursor:pointer}
.nt-mail .i{width:18px;height:18px;color:#9a6f38;flex:none}
.nt-mail:has(>.i){flex-direction:row;align-items:center}
/* WebKit loses the caret inside a first letter while editing, so the drop cap only shows when the text is not being typed in (p25.css) */
.os-viewing #undo,.os-viewing #redo,.os-viewing #redo+.sep{display:none!important}

/* sheets with no buttons ("Making your link"): even space above and below */
.os-sheet.nofoot .os-body{padding:30px 28px 34px}
.os-sheet.nofoot .os-h{margin:0}
.os-sheet.nofoot .os-ico{margin:0 auto 16px}
.os-ico.busy{position:relative;box-shadow:inset 0 0 0 1px var(--gl)}
.os-ico.busy::after{content:"";position:absolute;inset:-1px;border-radius:50%;border:1.5px solid transparent;border-top-color:var(--g);animation:osspin 1s linear infinite}
@keyframes osspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.os-ico.busy::after{animation-duration:3s}}
.os-share.done{color:var(--g)}
.os-linkrow span::selection{background:rgba(182,130,53,.25)}

/* ===== v34: back page pictures ===== */
.backpage .odraw{display:block;width:calc(170px * var(--vs,1));height:calc(170px * var(--vs,1));color:var(--acc);overflow:visible}
.odraw path,.odraw circle{fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.k-venue .vart .odraw{width:calc(160px * var(--vs,1));height:calc(150px * var(--vs,1))}
.k-after .vart i[class*="ai-"]:not(.ai-couple){width:calc(170px * var(--vs,1));height:calc(150px * var(--vs,1));-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
#spreads .backpage .vart{position:relative;cursor:pointer;border-radius:6px;transition:box-shadow .2s}
#spreads .backpage .vart:hover,#spreads .backpage .vart:focus-visible{outline:none;box-shadow:0 0 0 8px rgba(182,130,53,.1),0 0 0 9px rgba(182,130,53,.4)}
.pp-swap{position:absolute;top:-12px;right:-14px;width:30px;height:30px;border-radius:50%;background:#fffdf9;color:#9a6f38;display:grid;place-items:center;box-shadow:0 0 0 1px #e6ddd1,0 8px 16px -8px rgba(42,38,34,.45);opacity:0;transform:scale(.8);transition:opacity .2s,transform .3s cubic-bezier(.34,1.56,.64,1);pointer-events:none}
.pp-swap .i{width:15px;height:15px}
#spreads .backpage .vart:hover .pp-swap,#spreads .backpage .vart:focus-visible .pp-swap{opacity:1;transform:rotate(-30deg)}
@media (hover:none){.pp-swap{opacity:1;transform:none}}
.vart.pic-in>*:not(.pp-swap){animation:ppink .55s cubic-bezier(.22,1,.36,1)}
@keyframes ppink{from{opacity:0;filter:blur(3px)}}
.pp-add{flex-shrink:0;width:34px;height:34px;border-radius:50%;border:0;background:transparent;color:#b0a698;display:grid;place-items:center;cursor:pointer;margin:0 auto 1em;box-shadow:inset 0 0 0 1px rgba(42,38,34,.14);opacity:.55;transition:opacity .2s,color .2s}
.pp-add:hover{opacity:1;color:#9a6f38}
.pp-add .i{width:16px;height:16px}
@media print{.pp-swap,.pp-add{display:none!important}}
.os-viewing .pp-swap,.os-viewing .pp-add{display:none!important}
.picpop{position:fixed;z-index:95;width:316px;max-width:calc(100vw - 24px);background:#fffdf9;border-radius:18px;padding:12px 14px 14px;box-shadow:0 0 0 1px #e6ddd1,0 28px 50px -24px rgba(42,38,34,.55);font-family:Jost,sans-serif;animation:crin .28s cubic-bezier(.22,1,.36,1)}
.picpop .pp-h{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#9a8f82;margin:4px 2px 8px}
.picpop .pp-g{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:12px}
.picpop .pp-t{aspect-ratio:1/1;border:0;border-radius:11px;background:#fff;box-shadow:0 0 0 1px #e6ddd1;display:grid;place-items:center;padding:9px;color:var(--acc,#1d2b4a);cursor:pointer;transition:box-shadow .2s,transform .25s cubic-bezier(.34,1.56,.64,1)}
.picpop .pp-t:hover{transform:translateY(-2px);box-shadow:0 0 0 1px #d9c6a8}
.picpop .pp-t[aria-pressed=true]{box-shadow:0 0 0 2px #b68235}
.picpop .pp-t .odraw{width:100%;height:100%}
.picpop .pp-t i{display:block;width:100%;height:100%;background:var(--acc,#1d2b4a);-webkit-mask:var(--ms,var(--m)) center/contain no-repeat;mask:var(--ms,var(--m)) center/contain no-repeat}
.picpop .pp-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.picpop .pp-w{height:42px;border:0;border-radius:11px;background:#f6efe3;color:#2a2622;display:flex;align-items:center;justify-content:center;gap:7px;font:inherit;font-size:13.5px;cursor:pointer}
.picpop .pp-w .i{width:16px;height:16px;color:#9a6f38}
.picpop .pp-w[aria-pressed=true]{box-shadow:inset 0 0 0 1.5px #b68235}
.picpop button:focus-visible{outline:2px solid #b68235;outline-offset:2px}
@media (max-width:600px){.picpop{left:0!important;right:0;top:auto!important;bottom:0;width:auto;max-width:none;border-radius:22px 22px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));box-shadow:0 -20px 50px -20px rgba(42,38,34,.45);animation:ppup .35s cubic-bezier(.22,1,.36,1)}
  .picpop .pp-g{grid-template-columns:repeat(6,1fr);gap:6px}.picpop .pp-t{padding:5px;border-radius:9px}}
@keyframes ppup{from{transform:translateY(40px);opacity:0}}
/* couple card date and time as words */
#builder .hf.hf-dt{position:relative;cursor:pointer}
#builder .hf.hf-dt input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;-webkit-appearance:none;appearance:none}
#builder .hf.hf-dt .hf-read{flex:1;min-width:0;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#builder .hf.hf-dt .hf-read.empty{color:var(--lpf,#9a8f82);font-style:italic}
/* open cards */
.ca-acts{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 2px}
.ca-acts .ca-play,.ca-acts .ca-chg{display:inline-flex;align-items:center;gap:8px;width:auto;height:36px;margin:0;padding:0 13px 0 5px;border:0;border-radius:10px;background:rgba(42,38,34,.05);font:inherit;font-size:13.5px;line-height:1;color:var(--lpi,#2a2622);cursor:pointer;transition:background .2s}
.ca-acts .ca-chg{padding:0 13px 0 10px;color:var(--lpg2,#9a6f38)}
.ca-acts .ca-play:hover,.ca-acts .ca-chg:hover{background:rgba(154,111,56,.12)}
.ca-acts .ca-play .pb{width:26px;height:26px;background:#fffdf9;box-shadow:0 1px 2px rgba(42,38,34,.12)}
.ca-acts .ca-play .pb .i{width:11px;height:11px}
.ca-acts .ca-play.on .pb{background:var(--lpi,#2a2622);color:#fff}
.ca-acts .ca-play small{display:none}
.ca-acts .ca-play>span:not(.pb){display:block}
.ca-top{align-items:flex-start}
.ca-v .bx{width:22px;height:22px;border-radius:7px;box-shadow:inset 0 0 0 1.5px #d9ccba}
.ca-v[aria-pressed=true] .bx{background:#b68235}
.ca-v .vn{font-variant-numeric:tabular-nums}
.ca-own .hf+.hf{margin-top:2px}
.ca-head .hf{margin:0}
/* switches: one size, the knob centred */
.ca-tg .sw,.bk-credit .sw,.htog .sw{width:40px!important;height:24px!important;border-radius:12px!important;transform:none!important;flex:none}
.ca-tg .sw::after,.bk-credit .sw::after,.htog .sw::after{left:3px!important;top:3px!important;width:18px!important;height:18px!important;margin:0!important;box-shadow:0 1px 2px rgba(42,38,34,.25)!important}
.ca-tg[aria-pressed=true] .sw::after,.bk-credit[aria-pressed=true] .sw::after,.htog[aria-pressed=true] .sw::after{transform:translateX(16px)!important}
@media (hover:none){.sw:hover{transform:none!important}}
@media (max-width:900px){
  .rl-it .ca-ttl{font-size:26px;line-height:1.12;margin-top:2px}
  .rl-it .ca-by{font-size:13.5px;margin-top:4px}
  .ca-sec{margin-top:18px;padding-top:14px}
  .ca-v{padding:9px 2px}
  .ca-tg{padding:8px 2px;font-size:15px}
}
/* cover and photo fixes */

.ppg-mount .mt{height:auto!important;width:58%;padding:16px 16px 14px!important;box-sizing:border-box}
.ppg-mount .mt .ph{width:100%!important;height:auto!important;aspect-ratio:4/5}
.ppg-mount .mt::after{inset:9px!important}
.ppg-mount .mt .sig{position:static!important;margin:10px 4px 2px;line-height:1.15;font-size:20px;text-wrap:balance;overflow-wrap:break-word}
/* progress ring */
#onboard .lp-prog{display:none!important}
.lp-mkw{position:relative;display:block;flex:none;line-height:0}
.lp-mkw .mk{display:block;transition:color .4s}
.lp-mkw .lp-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);overflow:visible;pointer-events:none}
.lp-mkw .lp-ring circle{fill:none;stroke:#9a6f38;stroke-width:6.5;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .7s cubic-bezier(.22,1,.36,1)}
.lp-mkw.going .mk{color:rgba(182,130,53,.45)}
@media (prefers-reduced-motion:reduce){.lp-mkw .lp-ring circle{transition:none}}
#zoomer{position:relative;flex:none}
#spreads{width:max-content;will-change:auto}
.maddq{display:flex;align-items:center;gap:12px;width:100%;padding:10px 2px;margin:4px 0 0;border:0;border-top:1px solid var(--lpr,#e6ddd1);background:none;font:inherit;text-align:left;cursor:pointer;color:var(--lpi,#2a2622)}
.maddq.solo{border-top:0;margin-top:8px;padding:12px;border-radius:12px;background:rgba(154,111,56,.08)}
.maddq .pb{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:none;background:#fffdf9;color:var(--lpg2,#9a6f38);box-shadow:inset 0 0 0 1px #d9c6a8}
.maddq .pb .i{width:15px;height:15px}
.maddq .tt{min-width:0}.maddq b{display:block;font-family:'EB Garamond',serif;font-weight:400;font-size:17px;line-height:1.25;overflow-wrap:anywhere}
.maddq small{display:block;font-size:12.5px;color:var(--lpg2,#9a6f38)}
.maddq:hover .pb{background:var(--lpg2,#9a6f38);color:#fff;box-shadow:none}
/* who plays this piece */
.ca-players{margin:4px 0 14px;padding-bottom:14px;border-bottom:1px solid var(--ca-r,#e9e0d3)}
.ca-players.edit{border:0;padding:0;margin:8px 0 14px;display:flex;justify-content:flex-end}
.ca-players .ca-sl{align-items:center}
.pl-edit,.pl-done{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:0;border-radius:9px;background:rgba(42,38,34,.05);font:inherit;font-size:12.5px;letter-spacing:0;text-transform:none;color:var(--lpg2,#9a6f38);cursor:pointer}
.pl-done{height:36px;padding:0 14px;font-size:13.5px;background:var(--lpi,#2a2622);color:#fffdf9}
.pl-edit .i,.pl-done .i{width:13px;height:13px}
.pl-chips{display:flex;flex-wrap:wrap;gap:8px}
.pl-chips button{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:5px 14px 5px 7px;border:0;border-radius:12px;background:#fffdf9;box-shadow:inset 0 0 0 1px var(--lpr,#e6ddd1);font:inherit;text-align:left;cursor:pointer;color:var(--lpm,#6f665c);transition:background .2s,box-shadow .2s,color .2s}
.pl-chips .ck{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px #d9ccba;flex:none;transition:background .2s}
.pl-chips .ck .i{width:12px;height:12px;color:#fff;opacity:0}
.pl-chips .tx b{display:block;font-weight:400;font-family:'EB Garamond',serif;font-size:16px;line-height:1.15;color:inherit}
.pl-chips .tx small{display:block;font-size:11.5px;color:var(--lpf,#9a8f82);line-height:1.2}
.pl-chips button[aria-pressed=true]{box-shadow:inset 0 0 0 1.5px #d9c6a8;background:#fbf4e9;color:var(--lpi,#2a2622)}
.pl-chips button[aria-pressed=true] .ck{background:#b68235;box-shadow:none}
.pl-chips button[aria-pressed=true] .ck .i{opacity:1}
.pl-hint{margin:10px 0 0;font-size:12.5px;color:var(--lpf,#9a8f82);line-height:1.45}
.ca-players:not(.edit){border-bottom:0!important;padding-bottom:4px!important}
/* suggestions */
.sg{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px}
.sg button{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 11px;border:0;border-radius:9px;background:rgba(42,38,34,.05);font:inherit;font-size:13px;color:var(--lpm,#6f665c);cursor:pointer;transition:background .2s,color .2s}
.sg button:hover{background:rgba(154,111,56,.12);color:var(--lpi,#2a2622)}
.sg button .i{width:14px;height:14px;color:var(--lpg2,#9a6f38)}
.sg-label button{font-family:'EB Garamond',serif;font-size:15px}
.ca-acts .ca-rm{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border:0;border-radius:10px;background:none;font:inherit;font-size:13.5px;color:var(--lpf,#9a8f82);cursor:pointer}
.ca-acts .ca-rm:hover{background:rgba(42,38,34,.05);color:var(--lpi,#2a2622)}
.ca-acts .ca-rm .i{width:13px;height:13px}
.rl-fin{animation:rlfin 1.2s ease}
@keyframes rlfin{0%,40%{background:rgba(182,130,53,.14)}100%{background:transparent}}
.rl-closing{opacity:.6;transition:opacity .25s}

/* ===== v40: change it in place. Plain editing controls: one typeface, one blue, clear hierarchy ===== */
:root{--cp-blue:#2f6fed;--cp-blue-soft:#eef3fe;--cp-ink:#1f2329;--cp-sub:#6b7280;--cp-line:#d5d9e0;--cp-hover:#f3f5f8;--cp-danger:#b42318}
.cp-on #spreads.quiet .page .blk,.cp-on #spreads.quiet .page .cover,.cp-on #spreads.quiet .page .backpage{opacity:1!important}

/* desktop: the booklet gets the room; the list slides in when asked */
.cp-tb{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;margin-left:6px;border:1px solid var(--cp-line);border-radius:8px;background:#fff;color:var(--cp-ink);font:400 14px/1 Jost,system-ui,sans-serif;cursor:pointer;white-space:nowrap}
.cp-tb svg{width:18px;height:18px}
.cp-tb:hover{background:var(--cp-hover)}
.cp-tb[aria-expanded="true"]{background:var(--cp-blue-soft);border-color:var(--cp-blue);color:var(--cp-blue)}
@media (min-width:901px){
  .cp-on #builder .work{grid-template-columns:minmax(0,1fr) clamp(300px,25vw,360px)!important}
  .cp-on #builder .rail.l{display:none!important}
  .cp-on #builder #left{display:block!important;position:fixed!important;left:0;top:var(--cp-top,62px);bottom:0;width:400px;max-width:90vw;z-index:60;overflow:auto;transform:translateX(-104%);transition:transform .22s ease,visibility 0s linear .22s;visibility:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.06),12px 0 32px rgba(20,24,33,.12)}
  .cp-on.cp-drawer #builder #left{transform:none;visibility:visible;transition:transform .22s ease}
}
@media (max-width:900px){.cp-tb{display:none}}

/* the chosen part */
.cp-chrome{position:fixed;z-index:40;pointer-events:none;overflow:hidden}
.cp-chrome[hidden]{display:none!important}
.cp-seg{position:absolute;border-radius:6px;box-shadow:0 0 0 1px rgba(47,111,237,.35)}
.cp-chrome.on .cp-seg{box-shadow:0 0 0 2px var(--cp-blue)}
.cp-chrome button{pointer-events:auto;position:absolute;width:32px;height:32px;display:grid;place-items:center;padding:0;border:1px solid var(--cp-line);border-radius:8px;background:#fff;color:var(--cp-ink);cursor:pointer;box-shadow:0 1px 3px rgba(20,24,33,.08)}
.cp-chrome button svg{width:16px;height:16px}
.cp-chrome button:hover{background:var(--cp-hover)}
.cp-grip{cursor:grab!important;touch-action:none}
.cp-del:hover{color:var(--cp-danger)}
.cp-add,.cp-edit{color:var(--cp-blue)!important}
.cp-add:hover,.cp-edit:hover{background:var(--cp-blue-soft)!important}
.cp-chrome:not(.on) .cp-add,.cp-chrome:not(.on) .cp-edit,.cp-chrome:not(.on) .cp-del{opacity:0;pointer-events:none}
@media (max-width:900px),(hover:none){.cp-chrome button{display:none}.cp-chrome:not(.on){display:none!important}}
/* phones: actions in a bar above the tabs */
.cp-mbar{position:fixed;z-index:70;left:8px;right:8px;bottom:calc(64px + env(safe-area-inset-bottom,0px));display:flex;gap:2px;padding:4px;border-radius:12px;background:#fff;border:1px solid #e2e4e8;box-shadow:0 8px 24px rgba(20,24,33,.14)}
.cp-mbar[hidden]{display:none!important}
.cp-mbar button{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:52px;border:0;border-radius:8px;background:none;color:var(--cp-ink);font:400 12px/1 Jost,system-ui,sans-serif;cursor:pointer}
.cp-mbar button svg{width:20px;height:20px}
.cp-mbar button:active{background:var(--cp-hover)}
.cp-mbar button.danger{color:var(--cp-danger)}
@media (min-width:901px) and (hover:hover){.cp-mbar{display:none!important}}
/* selecting a part never changes the page layout */
.cp-on #spreads .blk.active [data-f]:empty,.cp-on #measure .blk.active [data-f]:empty{display:none!important}

/* words you choose rather than type */
.cp-on #builder [data-cp]{cursor:pointer}
.cp-on #spreads .blk.active [data-cp],.cp-on #spreads .blk:hover [data-cp]{text-decoration:underline;text-decoration-color:rgba(47,111,237,.75);text-decoration-thickness:1.5px;text-underline-offset:3px}
.cp-on #spreads .blk.active [data-cp]:empty::before{text-decoration:underline;text-decoration-color:rgba(47,111,237,.75)}
.cp-on #spreads [data-cp]:focus-visible{outline:2px solid var(--cp-blue);outline-offset:2px}
.os-viewing .cp-chrome,.os-viewing .cpop,.os-viewing .cp-tb{display:none!important}
.os-viewing #builder [data-cp]{text-decoration:none!important;cursor:default}

/* moving */
.cp-line{position:fixed;z-index:70;height:3px;border-radius:2px;background:var(--cp-blue);pointer-events:none;box-shadow:0 0 0 2px #fff}
.cp-line[hidden]{display:none}
.cp-ghost{position:fixed;z-index:90;display:flex;align-items:center;gap:8px;max-width:260px;padding:8px 12px;border-radius:8px;background:#fff;color:var(--cp-ink);font:400 14px/1.2 Jost,system-ui,sans-serif;box-shadow:0 8px 24px rgba(20,24,33,.2);pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-ghost svg{width:16px;height:16px;flex:none;color:var(--cp-sub)}
#spreads.cp-dragging{user-select:none;-webkit-user-select:none;cursor:grabbing}
#spreads.cp-dragging .blk.cp-src{opacity:.3}

/* undo */
.cp-undo{position:fixed;z-index:95;left:50%;bottom:84px;transform:translateX(-50%);display:flex;align-items:center;gap:14px;padding:6px 6px 6px 16px;border-radius:10px;background:var(--cp-ink);color:#fff;font:400 14px/1 Jost,system-ui,sans-serif;box-shadow:0 8px 24px rgba(20,24,33,.25);transition:opacity .3s;white-space:nowrap;max-width:calc(100vw - 32px)}
.cp-undo span{overflow:hidden;text-overflow:ellipsis}
.cp-undo button{height:32px;padding:0 12px;border:0;border-radius:6px;background:rgba(255,255,255,.12);color:#fff;font:500 14px/1 Jost,system-ui,sans-serif;cursor:pointer}
.cp-undo.out{opacity:0}
@media (max-width:900px){.cp-undo{bottom:calc(150px + env(safe-area-inset-bottom,0px))}}

/* the short lists */
.cpop{position:fixed;z-index:80;width:330px;max-height:min(480px,72vh);display:flex;flex-direction:column;background:#fff;border:1px solid #e2e4e8;border-radius:12px;box-shadow:0 12px 32px rgba(20,24,33,.16);font:400 15px/1.3 Jost,system-ui,sans-serif;color:var(--cp-ink);text-align:left}
.cpop *{box-sizing:border-box}
.cpop svg{width:18px;height:18px;flex:none}
.cp-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 6px 4px 16px;flex:none}
.cp-head b{font-weight:500;font-size:16px}
.cp-x{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:8px;background:none;color:var(--cp-sub);cursor:pointer}
.cp-x:hover{background:var(--cp-hover);color:var(--cp-ink)}
.cp-body{overflow:auto;padding:0 8px 10px;overscroll-behavior:contain}
.cp-opt{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;margin:0;padding:6px 8px;border:0;border-radius:8px;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.cp-opt:hover{background:var(--cp-hover)}
.cp-ot{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.cp-ot b{font-weight:400;font-size:15px;overflow:hidden;text-overflow:ellipsis}
.cp-ot small{font-size:13px;color:var(--cp-sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-rd{flex:none;width:18px;height:18px;border-radius:50%;border:1.5px solid #b9bfc9;transition:border-width .12s}
[aria-checked="true"]>.cp-rd{border:5.5px solid var(--cp-blue)}
.cp-bx{flex:none;width:18px;height:18px;border-radius:4px;border:1.5px solid #b9bfc9;display:grid;place-items:center;color:#fff}
.cp-bx svg{width:12px;height:12px;opacity:0}
[aria-checked="true"]>.cp-bx{background:var(--cp-blue);border-color:var(--cp-blue)}
[aria-checked="true"]>.cp-bx svg{opacity:1}
.cp-in{display:flex;align-items:center;gap:8px;margin:4px 0 6px;padding:0 10px;height:44px;border:1px solid var(--cp-line);border-radius:8px;color:var(--cp-sub);background:#fff}
.cp-in:focus-within{border-color:var(--cp-blue);box-shadow:0 0 0 3px rgba(47,111,237,.15)}
.cp-in input{flex:1;min-width:0;height:100%;border:0;outline:0;background:none;font:inherit;font-size:16px;color:var(--cp-ink)}
.cp-in input::placeholder{color:#9aa1ab}
.cp-link{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:0 8px;border:0;border-radius:8px;background:none;color:var(--cp-blue);font:inherit;font-size:15px;cursor:pointer;text-align:left}
.cp-link:hover{background:var(--cp-hover)}
.cp-link.danger{color:var(--cp-danger)}
.cp-sec{font-size:13px;font-weight:500;color:var(--cp-sub);padding:12px 8px 4px}
.cp-body>.cp-sec:first-child{padding-top:2px}
.cp-play{flex:none;width:32px;height:32px;display:grid;place-items:center;padding:0;border:1px solid var(--cp-line);border-radius:50%;background:#fff;color:var(--cp-ink);cursor:pointer}
.cp-play svg{width:13px;height:13px}
.cp-play:hover{border-color:var(--cp-blue);color:var(--cp-blue)}
.cp-plus{flex:none;width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:var(--cp-blue-soft);color:var(--cp-blue)}
.cp-own .cp-ot small{color:var(--cp-blue)}
.cp-empty{margin:0;padding:8px;font-size:14px;color:var(--cp-sub)}
.cp-addmus{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;padding:6px 0}
.cp-addmus select,.cp-addmus input{min-width:0;height:44px;padding:0 8px;border:1px solid var(--cp-line);border-radius:8px;background:#fff;font:inherit;font-size:16px;color:var(--cp-ink)}
.cp-addmus input:focus,.cp-addmus select:focus{outline:0;border-color:var(--cp-blue)}
.cp-btn{height:44px;padding:0 16px;border:0;border-radius:8px;background:var(--cp-blue);color:#fff;font:500 15px/1 Jost,system-ui,sans-serif;cursor:pointer}
.cp-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.cp-kind{display:flex;align-items:center;gap:10px;height:44px;padding:0 8px;border:0;border-radius:8px;background:none;font:inherit;font-size:15px;color:var(--cp-ink);text-align:left;cursor:pointer}
.cp-kind span{display:grid;place-items:center;color:var(--cp-sub)}
.cp-kind:hover{background:var(--cp-hover)}
.cp-chips{display:flex;flex-wrap:wrap;gap:6px;padding:2px 8px 4px}
.cp-chips button{height:36px;padding:0 12px;border:1px solid var(--cp-line);border-radius:8px;background:#fff;font:inherit;font-size:14px;color:var(--cp-ink);cursor:pointer}
.cp-chips button:hover{border-color:var(--cp-blue);color:var(--cp-blue)}
.cpop.sheet{left:0!important;right:0;top:auto!important;bottom:0;width:auto;max-height:78vh;border-radius:14px 14px 0 0;border-width:1px 0 0;padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -8px 32px rgba(20,24,33,.18);z-index:120}
.cpop.sheet .cp-head{padding:10px 8px 6px 18px}
.cpop.sheet .cp-body{padding:0 10px 14px}
/* room under the chosen part for its Add button, so it never covers words */
.os-viewing #spreads .blk.active{padding-bottom:0}
.cp-in.cp-sub{height:40px;margin:0 0 6px 36px}
.cp-more{margin-top:4px;border-top:1px solid #eceef1;border-radius:0 0 8px 8px;color:var(--cp-sub)}
.cp-more:hover{color:var(--cp-ink)}

/* the Edit list */
.cp-go{justify-content:space-between}
.cp-go .cp-ot small{white-space:normal}
.cp-go .cp-ot b{font-size:15px}
.cp-go b.cp-none{color:#9aa1ab}
.cp-go>svg{color:#9aa1ab;width:16px;height:16px}
.cp-fld{display:flex;flex-direction:column;gap:4px;padding:6px 8px}
.cp-fld span{font-size:13px;color:var(--cp-sub)}
.cp-fld input,.cp-fld textarea{width:100%;border:1px solid var(--cp-line);border-radius:8px;padding:10px;font:400 16px/1.35 Jost,system-ui,sans-serif;color:var(--cp-ink);background:#fff;resize:vertical}
.cp-fld input{height:44px;padding:0 10px}
.cp-fld input:focus,.cp-fld textarea:focus{outline:0;border-color:var(--cp-blue);box-shadow:0 0 0 3px rgba(47,111,237,.15)}
.cp-head .cp-back{margin-left:-10px}
.cp-head{justify-content:flex-start}.cp-head b{flex:1}
.cp-on.cp-mbar-on #builder .zoombar,.cp-on.cp-mbar-on .zbar{opacity:0;pointer-events:none}

.cp-trk{padding:0 0 0 8px}
.cp-trkb{flex:1;min-width:0;display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 8px 6px 0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.cp-trk:hover{background:var(--cp-hover)}

/* ===== v41: design panel can be put away ===== */
.cp-rhead{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;margin:-4px -4px 6px;padding:6px 2px 6px 8px;background:inherit;font:500 16px/1 Jost,system-ui,sans-serif;color:var(--cp-ink)}
.cp-rhead .cp-x{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:8px;background:none;color:var(--cp-sub);cursor:pointer}
.cp-rhead .cp-x svg{width:20px;height:20px}
.cp-rhead .cp-x:hover{background:rgba(0,0,0,.05);color:var(--cp-ink)}
@media (max-width:900px){#cpdesign{display:none}}
@media (min-width:901px){
  .cp-on:not(.os-viewing):not(.cp-ropen) #builder .work{grid-template-columns:minmax(0,1fr)!important}
  .cp-on:not(.os-viewing):not(.cp-ropen) #builder #right{display:none!important}
}
@media (min-width:901px) and (max-width:1199px){
  .cp-on:not(.os-viewing) #builder .work{grid-template-columns:minmax(0,1fr)!important}
  .cp-on:not(.os-viewing).cp-ropen #builder #right{display:block!important;position:fixed!important;right:0;top:var(--cp-top,62px);bottom:0;width:min(380px,92vw);z-index:60;overflow:auto;box-shadow:0 0 0 1px rgba(0,0,0,.06),-12px 0 32px rgba(20,24,33,.12)}
}
@media (min-width:901px) and (max-width:1099px){.cp-tb span{display:none}.cp-tb{width:40px;padding:0;justify-content:center}}

/* wide screens: Contents docks beside the booklet, which moves over and refits */
@media (min-width:1200px){
  .cp-on.cp-drawer:not(.os-viewing) #builder .work{grid-template-columns:380px minmax(0,1fr)!important}
  .cp-on.cp-drawer.cp-ropen:not(.os-viewing) #builder .work{grid-template-columns:380px minmax(0,1fr) clamp(300px,22vw,360px)!important}
  .cp-on.cp-drawer:not(.os-viewing) #builder #left{position:relative!important;top:auto;bottom:auto;left:auto;width:auto;max-width:none;transform:none;visibility:visible;box-shadow:none;border-right:1px solid rgba(0,0,0,.08);transition:none;z-index:1;height:100%}
}
/* ===== v43: round nineteen ===== */
.vsw{display:inline-flex;gap:2px;padding:2px;border-radius:10px;background:rgba(0,0,0,.05)}
.vsw .ib{width:36px;height:36px;border-radius:8px}
.vsw .ib[aria-pressed="true"]{background:#fff;color:#2f6fed;box-shadow:0 1px 2px rgba(0,0,0,.12)}
.vsw .ib svg{width:18px;height:18px}
/* inside pages: no border, or a lighter line */
.page.ins-none .fr,.page.ins-light .fr{display:none!important}
.page.ins-light::before{content:"";position:absolute;inset:26px;border:.75px solid var(--acc);opacity:.5;pointer-events:none;z-index:2}
/* text size and spacing: words scale inside the text area, so they never reach the frame or page number */
.page.ts-l{width:calc(559px/1.12)!important;height:calc(794px/1.12)!important;transform:scale(1.12);transform-origin:0 0;margin-right:calc(559px - 559px/1.12);margin-bottom:calc(794px - 794px/1.12)}
.page.ts-s{width:calc(559px/.9)!important;height:calc(794px/.9)!important;transform:scale(.9);transform-origin:0 0;margin-right:calc(559px - 559px/.9);margin-bottom:calc(794px - 794px/.9)}
#measure .page.ts-l,#measure .page.ts-s{transform:none;margin:0}
.dthumb .page.ts-l,.lp-thumb .page.ts-l,.mini .page.ts-l,.thumb .page.ts-l{transform:scale(calc(var(--s,.45)*1.12));margin:0}
.dthumb .page.ts-s,.lp-thumb .page.ts-s,.mini .page.ts-s,.thumb .page.ts-s{transform:scale(calc(var(--s,.45)*.9));margin:0}
@media print{
  #printroot .page.ts-l{margin:0 calc(148.5mm - 148.5mm/1.12) calc(210mm - 210mm/1.12) 0}
  #printroot .page.ts-s{margin:0 calc(148.5mm - 148.5mm/.9) calc(210mm - 210mm/.9) 0}
  #printroot .sheet .page.ts-l{width:calc(148.5mm/1.12)!important;height:calc(210mm/1.12)!important;transform:scale(1.12);transform-origin:0 0}
  #printroot .sheet .page.ts-s{width:calc(148.5mm/.9)!important;height:calc(210mm/.9)!important;transform:scale(.9);transform-origin:0 0}
}
.page.spc-snug .pin .blk{margin-bottom:12px!important}
.page.spc-snug .pin .blk.heading{margin:4px 0 10px!important}
.page.spc-snug .pin .blk.title{margin-bottom:14px!important}
.page.spc-airy .pin .blk{margin-bottom:42px!important}
.page.spc-airy.d1 .pin .blk{margin-bottom:34px!important}
.page.spc-airy.d2 .pin .blk{margin-bottom:28px!important}
.page.spc-airy .pin .blk.heading{margin:12px 0 34px!important}
.page.spc-airy .pin .blk.title{margin-bottom:40px!important}
/* plain rows in the design cards */
.drow{display:flex;flex-direction:column;gap:6px;margin:12px 0 4px;font:400 13px/1.2 Jost,system-ui,sans-serif;color:#6b7280}
.dseg{display:flex;padding:3px;gap:2px;border-radius:10px;background:rgba(0,0,0,.05)}
.dseg button{flex:1;min-width:0;height:36px;border:0;border-radius:8px;background:none;font:400 14px/1 Jost,system-ui,sans-serif;color:#555;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 6px}
.dseg button[aria-checked="true"]{background:#fff;color:#1f2329;box-shadow:0 1px 2px rgba(0,0,0,.14)}
/* onboarding names side by side */
.lp-step[data-step="names"] .lp-fields.nm2,.lp-step[data-step="names"] .lp-row{width:100%;max-width:600px;margin-left:auto;margin-right:auto}
.lp-fields.nm2{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;align-items:end;gap:0 18px!important}
.lp-fields.nm2 .lp-line{min-width:0}
.lp-fields.nm2 .lp-line input{text-align:center;min-width:0;width:100%}
.nm2-amp{font-family:'EB Garamond',Georgia,serif;font-style:italic;font-size:clamp(28px,5vw,40px);line-height:1;color:#a08a64;padding-bottom:14px}
@media (max-width:520px){.lp-fields.nm2{gap:0 10px!important}.lp-fields.nm2 .lp-line input{font-size:24px!important}.lp-fields.nm2 .lp-line input::placeholder{font-size:18px}}
/* pictures take their chosen size */
/* handles for resizing a picture */
.rz{position:fixed;z-index:45;pointer-events:none}
.rz[hidden]{display:none!important}
.rz-box{position:absolute;inset:-4px;border:1.5px solid #2f6fed;border-radius:3px;box-shadow:0 0 0 4px rgba(47,111,237,.10)}
.rz b{position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;border:1.5px solid #2f6fed;box-shadow:0 1px 3px rgba(20,24,33,.25);pointer-events:auto;touch-action:none;transform:translate(-50%,-50%);transition:transform .12s}
.rz b::after{content:"";position:absolute;inset:-12px}
.rz b:hover,.rz.dragging b{transform:translate(-50%,-50%) scale(1.2)}
.rz b[data-c=nw]{left:-4px;top:-4px;cursor:nwse-resize}
.rz b[data-c=ne]{left:calc(100% + 4px);top:-4px;cursor:nesw-resize}
.rz b[data-c=sw]{left:-4px;top:calc(100% + 4px);cursor:nesw-resize}
.rz b[data-c=se]{left:calc(100% + 4px);top:calc(100% + 4px);cursor:nwse-resize}
.rz-pill{position:absolute;left:50%;top:calc(100% + 12px);transform:translateX(-50%);display:flex;align-items:center;gap:2px;padding:3px;border-radius:10px;background:#1f2329;color:#fff;font:500 13px/1 Jost,system-ui,sans-serif;white-space:nowrap;pointer-events:auto;box-shadow:0 6px 18px rgba(20,24,33,.25)}
.rz.above .rz-pill{top:auto;bottom:calc(100% + 12px)}
.rz-pct{padding:0 8px;font-variant-numeric:tabular-nums;min-width:48px;text-align:center}
.rz-change{height:30px;padding:0 10px;border:0;border-radius:7px;background:rgba(255,255,255,.14);color:#fff;font:inherit;cursor:pointer}
.rz-change:hover{background:rgba(255,255,255,.24)}
.rz.dragging .rz-change{display:none}
@media (hover:none){.rz b{width:22px;height:22px}}
/* ===== v44: the editor beside the booklet ===== */
.cp-newdock #left>#nleft{display:none!important}
.cp-newdock #left>#cpdock{display:flex!important}
#cpdock{flex:1;width:100%;min-width:0;flex-direction:column;height:100%;min-height:0;background:#fff;font:400 15px/1.3 Jost,system-ui,sans-serif;color:var(--cp-ink)}
.cp-newdock #builder #left{background:#fff;padding:0!important;overflow:hidden!important;display:flex}
#cpdock .cpd{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column}
.cp-docked-pop #cpdock .cpd{display:none}
.cpd-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:6px;min-height:52px;padding:8px 10px 6px 16px;background:#fff;border-bottom:1px solid #eceef1}
.cpd-head b{flex:1;font-weight:500;font-size:16px}
.cpd-head .cp-back{margin-left:-8px}
.cpd-body{padding:8px 8px 24px}
.cpd-couple,.cpd-it,.cpd-sec,.cpd-add{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:8px}
.cpd-couple{min-height:60px;padding:8px;margin-bottom:6px;border:1px solid #eceef1}
.cpd-couple>svg{width:16px;height:16px;color:#9aa1ab;flex:none}
.cpd-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.cpd-t b{font-weight:400;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cpd-t small{font-size:13px;color:var(--cp-sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cpd-couple .cpd-t b{font-weight:500}
.cpd-it{min-height:48px;padding:6px 8px}
.cpd-it:hover,.cpd-couple:hover,.cpd-sec:hover{background:var(--cp-hover)}
.cpd-it.on,.cpd-sec.on{background:var(--cp-blue-soft)}
.cpd-it.on .cpd-t b{color:var(--cp-blue)}
.cpd-ic{flex:none;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:var(--cp-sub);background:#f5f6f8}
.cpd-ic svg{width:16px;height:16px}
.cpd-sec{min-height:36px;padding:14px 8px 4px;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--cp-sub)}
.cpd-add{min-height:48px;padding:0 8px;margin-top:6px;color:var(--cp-blue)}
.cpd-add svg{width:18px;height:18px}
.cpd-add:hover{background:var(--cp-blue-soft)}
.cpd-two{display:grid;grid-template-columns:1fr 1fr;gap:0}
/* a list docked in the panel fills it */
.cpop.docked{position:static;width:auto;max-height:none;flex:1;min-height:0;border:0;border-radius:0;box-shadow:none;z-index:auto}
.cpop.docked .cp-head{position:sticky;top:0;min-height:52px;padding:8px 10px 6px 16px;border-bottom:1px solid #eceef1;background:#fff}
.cpop.docked .cp-head .cp-back{margin-left:-8px}
.cpop.docked .cp-body{flex:1;padding:8px 8px 24px}
@media (max-width:900px){.cp-newdock #builder[data-tab="content"] #left{display:flex!important}}
.cp-rmrow{margin-top:10px;border-top:1px solid #eceef1;border-radius:0 0 8px 8px}
@media (max-width:900px){.cp-newdock #builder #left{width:100%!important;max-width:none!important}}
/* ===== v45: page strip ===== */
.ps{margin:4px 0 10px}
.ps-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ps-th{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;border:1px solid #eceef1;border-radius:10px;background:#fff;font:inherit;color:inherit;cursor:pointer;touch-action:none;transition:box-shadow .12s,transform .12s}
.ps-th:hover{background:var(--cp-hover)}
.ps-th.on{border-color:var(--cp-blue);box-shadow:0 0 0 1px var(--cp-blue)}
.ps-th.over{box-shadow:0 0 0 2px var(--cp-blue);background:var(--cp-blue-soft)}
.ps-th.lift{opacity:.5;transform:scale(.97)}
.ps-mini,.ps-empty{position:relative;width:60px;height:86px;overflow:hidden;border-radius:2px;background:#fff;box-shadow:0 0 0 1px #e3e5e9,0 2px 6px rgba(20,24,33,.08);pointer-events:none;flex:none}
.ps-empty{display:grid;place-items:center;color:#9aa1ab;background:#f7f8fa;box-shadow:inset 0 0 0 1px #e3e5e9}
.ps-empty svg{width:18px;height:18px}
.ps-l{font-size:12px;color:var(--cp-sub)}
.ps-k{font-size:13px;color:var(--cp-ink);text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ps-menu{margin-top:6px;padding:4px;border:1px solid #eceef1;border-radius:10px}
.ps-ic{display:grid;place-items:center;width:28px;color:var(--cp-sub)}
.ps-ic svg{width:18px;height:18px}
/* v42: Pinstripe date sits under the picture on one line */
.t-pinstripe .cover .nmrow+.date{margin-top:30px}
.t-pinstripe .cover .date:empty{margin:0}
.t-pinstripe .cover .nmrow+.date:empty+.venue{margin-top:30px}

/* v42: dividers you can change */
#spreads .orn{cursor:pointer;position:relative}
#spreads .orn::selection{background:none}
.os-viewing #spreads .orn{cursor:default}
@media (hover:hover){html:not(.os-viewing) #spreads .orn:hover{opacity:.55;transition:opacity .15s}}
#spreads .orn.orn-lit{animation:ornLit .9s ease}
@keyframes ornLit{0%{transform:scale(1)}30%{transform:scale(1.25)}100%{transform:scale(1)}}
.page.orn-dot .orn::before,.page.orn-dot .orn::after{display:none}
.page.orn-dot .orn i{width:5px;height:5px;border-radius:50%;transform:none}
.page.orn-line .orn i,.page.orn-line .orn::after{display:none}
.page.orn-line .orn::before{width:72px}
.page.orn-fine .orn::before,.page.orn-fine .orn::after,.page.orn-lattice .orn::before,.page.orn-lattice .orn::after{display:none}
.page.orn-fine .orn i,.page.orn-lattice .orn i{width:128px;height:auto;aspect-ratio:750/56;transform:none;background:currentColor;-webkit-mask:var(--art-fl8) center/contain no-repeat;mask:var(--art-fl8) center/contain no-repeat}
.page.orn-lattice .orn i{aspect-ratio:748/57;-webkit-mask-image:var(--art-fl14);mask-image:var(--art-fl14)}
.page.orn-none .orn{opacity:0}
html:not(.os-viewing) #spreads .page.orn-none .orn:hover{opacity:.3}
.dsq .drule.d-dot::before,.dsq .drule.d-dot::after{display:none}
.dsq .drule.d-dot{justify-content:center}.dsq .drule.d-dot i{border-radius:50%;transform:none}
.dsq .drule.d-line i,.dsq .drule.d-line::after{display:none}
.dt-orn .dsq .ai-fl8,.dt-orn .dsq .ai-fl14{width:70%}
.dcard.cp-flash{animation:cpFlash 1.2s ease}
@keyframes cpFlash{0%,100%{box-shadow:0 0 0 0 rgba(47,111,237,0)}25%{box-shadow:0 0 0 4px rgba(47,111,237,.28)}}

/* v42: "And on the back?" a photo of the venue instead of the drawing */
.lp-bkphoto{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px auto 0;padding:6px 10px;border:0;background:none;font:inherit;font-size:15px;color:var(--mute,#8b867f);cursor:pointer;opacity:0;transform:translateY(-4px);transition:opacity .25s,transform .25s,color .15s}
.lp-bkphoto.on{opacity:1;transform:none}
.lp-bkphoto[hidden]{display:flex!important;visibility:hidden}
.lp-bkphoto svg{width:18px;height:18px;color:#b68235;flex:none}
.lp-bkphoto img{width:26px;height:26px;border-radius:50%;object-fit:cover;flex:none}
.lp-bkphoto .sep{width:1px;height:14px;background:currentColor;opacity:.3;margin:0 4px}
.lp-bkphoto .alt{display:inline-flex;align-items:center;gap:6px}
@media (hover:hover){.lp-bkphoto:hover{color:#2b2926}.lp-bkphoto:hover>span:first-of-type{text-decoration:underline;text-underline-offset:3px;text-decoration-color:#b68235}}
#spreads .orn .ornhit{position:absolute;left:-6px;right:-6px;top:-18px;bottom:-18px;display:block;background:none!important;-webkit-mask:none!important;mask:none!important;transform:none!important;width:auto!important;height:auto!important}
.os-viewing #spreads .orn .ornhit{display:none}

/* ===== v42 (round nineteen): the link ===== */
html.rd-on,html.rd-on body{overflow:hidden}
#rd{position:fixed;inset:0;z-index:140;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;background:#ebe9e5;color:#201f1d;font-family:Jost,system-ui,sans-serif;-webkit-font-smoothing:antialiased;padding:0 16px calc(96px + env(safe-area-inset-bottom,0px));--rdw:520px;--rds:.93;--blue:#2f6fed}
#rd .i{width:20px;height:20px;fill:currentColor;flex:none}
.rd-head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:var(--rdw);max-width:100%;margin:0 auto;padding:calc(18px + env(safe-area-inset-top,0px)) 0 16px}
.rd-names{font-family:'EB Garamond',Georgia,serif;font-size:24px;line-height:1.15}
.rd-names i{color:#b68235}
.rd-date{font-size:13.5px;color:#7d7979;margin-top:2px}
.rd-ibtn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#55524d;background:none;border:0;cursor:pointer}
.rd-ibtn:hover{background:rgba(0,0,0,.05)}
.rd-book{display:flex;flex-direction:column;align-items:center;gap:22px}
.rd-page{width:var(--rdw);height:calc(var(--rdw) * 794 / 559);max-width:100%;position:relative;overflow:hidden;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.06),0 8px 24px rgba(40,30,10,.08);background:#fff}
.rd-scale{position:absolute;left:0;top:0;width:559px;height:794px;transform:scale(var(--rds));transform-origin:0 0}
.rd-scale .page{margin:0!important;box-shadow:none!important;cursor:default!important}
.rd-scale .ntpin,.rd-scale .pgx,.rd-scale .pp-swap,.rd-scale .pp-add{display:none!important}
.rd-reply,.rd-music{width:var(--rdw);max-width:100%;margin:28px auto 0;display:flex;flex-direction:column;gap:12px}
.rd-reply h2{font-weight:500;font-size:20px;line-height:1.3;margin:0 0 4px;text-align:center;text-wrap:balance}
.rd-choice{display:flex;align-items:center;gap:14px;background:#fff;border-radius:12px;padding:0 18px;min-height:64px;font:inherit;font-size:17px;color:#201f1d;text-align:left;border:1.5px solid transparent;cursor:pointer;transition:border-color .2s}
#rd .rd-choice .i{width:26px;height:26px;color:#8a8680;transition:color .2s}
.rd-choice[aria-pressed="true"]{border-color:var(--blue)}
#rd .rd-choice[aria-pressed="true"] .i{color:var(--blue)}
@media (hover:hover){.rd-choice:hover{border-color:rgba(47,111,237,.35)}}
.rd-field{display:flex;flex-direction:column;gap:4px;background:#fff;border-radius:12px;padding:12px 16px;cursor:text}
.rd-field:focus-within{box-shadow:0 0 0 2px var(--blue)}
.rd-field span{font-size:12.5px;color:#7d7979}
.rd-field input,.rd-field textarea{font:inherit;font-size:17px;border:0;outline:none;resize:none;background:transparent;color:#201f1d;padding:0;width:100%}
.rd-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 22px;border-radius:12px;border:0;background:var(--blue);color:#fff;font:inherit;font-size:17px;font-weight:500;cursor:pointer;width:100%}
.rd-btn[disabled]{background:#c9cfdb;cursor:default}
.rd-btn2{background:#fff;color:#201f1d;width:auto;align-self:center;min-height:44px;font-size:15px}
.rd-sent{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:18px 0}
.rd-sent h2{margin:6px 0 0}
.rd-sent p{margin:0 0 8px;color:#55524d}
.rd-big{width:64px;height:64px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;animation:rdpop .45s cubic-bezier(.34,1.6,.64,1)}
#rd .rd-big .i{width:32px;height:32px}
@keyframes rdpop{from{transform:scale(.4)}}
.rd-music h3{font-size:12.5px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:#7d7979;margin:14px 0 0}
.rd-mr{display:flex;align-items:center;gap:12px;background:#fff;border-radius:12px;padding:8px 14px 8px 8px}
.rd-mr .pl{width:40px;height:40px;border-radius:50%;border:0;background:#e8effd;color:var(--blue);display:grid;place-items:center;cursor:pointer;flex:none}
#rd .rd-mr .pl .i{width:16px;height:16px}
.rd-mr .pl.on{background:var(--blue);color:#fff}
.rd-mr span{display:flex;flex-direction:column;min-width:0}
.rd-mr b{font-weight:500;font-size:15.5px}
.rd-mr small{font-size:13px;color:#7d7979}
.rd-own{display:block;width:max-content;margin:30px auto 0;font-size:14px;color:#7d7979;text-decoration:none;padding:10px}
.rd-own:hover{color:#201f1d}
.rd-bar{position:fixed;left:0;right:0;bottom:0;z-index:141;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid rgba(32,31,29,.1);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));transition:transform .3s}
.rd-bar.away{transform:translateY(110%)}
.rd-bar-in{max-width:540px;margin:0 auto;display:flex;align-items:center;gap:12px}
.rd-done{justify-content:center;color:var(--blue);min-height:52px;font-size:16px}
#rd button:focus-visible,#rd a:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
html.rd-on .os-dock{display:block!important;z-index:150;left:auto;right:16px;width:320px;bottom:calc(84px + env(safe-area-inset-bottom,0px))}
@media (max-width:700px){html.rd-on .os-dock{left:10px;right:10px;width:auto}}
@media (prefers-reduced-motion:reduce){.rd-bar,.rd-big,.rd-choice{transition:none;animation:none}}
@media print{#rd{display:none!important}}
/* the couple's three links */
.rd-sheet .os-h{text-align:center;margin-bottom:14px}
.rd-links{display:flex;flex-direction:column;gap:10px;text-align:left}
.rd-lr{display:flex;align-items:center;gap:12px;background:#f3f1ee;border-radius:12px;padding:10px 6px 10px 12px}
.rd-lic{width:40px;height:40px;border-radius:50%;background:#e8effd;color:#2f6fed;display:grid;place-items:center;flex:none}
.rd-lic .i{width:20px;height:20px}
.rd-ltx{flex:1;min-width:0;display:flex;flex-direction:column}
.rd-ltx b{font-weight:500;font-size:16px;color:#201f1d}
.rd-ltx small{font-size:13px;color:#7d7979}
.rd-acts{display:flex;gap:0}
.rd-acts button{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:0;background:none;color:#55524d;cursor:pointer}
.rd-acts button .i{width:20px;height:20px}
.rd-acts button:hover{background:#e6e3de}
.rd-acts button.ok{color:#2f6fed}
.rd-mailme{margin-top:14px}
@media (max-width:480px){.rd-lr{display:grid;grid-template-columns:40px 1fr;column-gap:12px;row-gap:2px;padding:12px 12px 6px}.rd-lic{align-self:start}.rd-acts{grid-column:2;margin-left:-10px}}
/* replies on the couple's side: an approval reads as one */
.ntc.rd-ok .num{background:#2f6fed!important;color:#fff!important}

/* ===== v42: keyboard, right-click menu, ⌘K, shortcuts card, tips, building from a document ===== */
:root{--kb-title:#a8741f;--kb-heading:#3a3733;--kb-hymn:#7448d8;--kb-reading:#2d6fd2;--kb-music:#d63d6b;--kb-prayer:#c27a07;--kb-moment:#16935c;--kb-text:#11848a}
kbd{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border:1px solid var(--cp-line);border-bottom-width:2px;border-radius:5px;background:#fff;color:var(--cp-ink);font:500 12px/1 Jost,system-ui,sans-serif;letter-spacing:.02em;white-space:nowrap}
.kb-kbs{display:inline-flex;gap:4px;flex:none;align-items:center}
/* tooltip */
.kb-tt{position:fixed;z-index:200;display:flex;align-items:center;gap:8px;padding:5px 6px 5px 10px;border-radius:8px;background:var(--cp-ink);color:#fff;font:400 13px/1 Jost,system-ui,sans-serif;pointer-events:none;opacity:0;transform:translateY(-2px);transition:opacity .12s,transform .12s;white-space:nowrap}
.kb-tt.on{opacity:1;transform:none}
.kb-tt kbd{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2);color:#fff;height:20px;min-width:20px}
/* tip */
.kb-tip{position:fixed;z-index:96;left:20px;bottom:24px;display:flex;align-items:center;gap:10px;padding:8px 6px 8px 12px;border-radius:12px;background:#fff;color:var(--cp-ink);font:400 14px/1.2 Jost,system-ui,sans-serif;box-shadow:0 0 0 1px rgba(0,0,0,.06),0 10px 28px rgba(20,24,33,.16);opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}
.kb-tip.on{opacity:1;transform:none}
.kb-tip>svg{width:18px;height:18px;color:#c9921b;flex:none}
.kb-tipx{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:7px;background:none;color:var(--cp-sub);cursor:pointer;margin-left:2px}
.kb-tipx:hover{background:var(--cp-hover)}.kb-tipx svg{width:14px;height:14px}
/* menu */
.kb-menu{position:fixed;z-index:120;min-width:250px;padding:6px;background:#fff;border:1px solid #e2e4e8;border-radius:12px;box-shadow:0 12px 32px rgba(20,24,33,.18);font:400 14px/1 Jost,system-ui,sans-serif;color:var(--cp-ink);animation:kbIn .12s ease}
@keyframes kbIn{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}
.kb-mi{display:flex;align-items:center;gap:10px;width:100%;height:36px;padding:0 8px;border:0;border-radius:7px;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.kb-mi>svg{width:17px;height:17px;flex:none;color:var(--cp-sub)}
.kb-mi span:first-of-type{flex:1}
.kb-mi:hover:not([disabled]),.kb-mi:focus-visible{background:var(--cp-hover);outline:0}
.kb-mi[disabled]{opacity:.4;cursor:default}
.kb-mi.danger,.kb-mi.danger>svg{color:var(--cp-danger)}
.kb-mi kbd{height:20px;min-width:20px;font-size:11px;color:var(--cp-sub);border-color:#e5e7eb}
.kb-sep{height:1px;margin:5px 8px;background:#eceef1}
/* modal shell */
.kb-veil{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:16px;background:rgba(24,26,31,.28);opacity:0;transition:opacity .16s}
.kb-veil.on{opacity:1}
.kb-modal{width:min(560px,100%);max-height:min(720px,calc(100vh - 32px));display:flex;flex-direction:column;background:#fff;border-radius:14px;box-shadow:0 24px 60px rgba(20,24,33,.28);font:400 15px/1.3 Jost,system-ui,sans-serif;color:var(--cp-ink);transform:translateY(6px) scale(.99);transition:transform .16s}
.kb-veil.on .kb-modal{transform:none}
.kb-modal *{box-sizing:border-box}
.kb-mh{display:flex;align-items:center;gap:12px;padding:14px 10px 12px 18px;border-bottom:1px solid #eceef1;flex:none}
.kb-mh>b{flex:1;font-weight:500;font-size:17px}
.kb-mht{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.kb-mht b{font-weight:500;font-size:17px}
.kb-mht small{font-size:13px;color:var(--cp-sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kb-file{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--cp-blue-soft);color:var(--cp-blue);flex:none}
.kb-file svg{width:20px;height:20px}
.kb-mb{overflow:auto;padding:10px 12px;overscroll-behavior:contain}
.kb-mf{display:flex;justify-content:flex-end;gap:8px;padding:12px 14px;border-top:1px solid #eceef1;flex:none}
.kb-b{height:42px;padding:0 16px;border:1px solid var(--cp-line);border-radius:9px;background:#fff;color:var(--cp-ink);font:400 15px/1 Jost,system-ui,sans-serif;cursor:pointer;white-space:nowrap}
.kb-b:hover{background:var(--cp-hover)}
.kb-b.pri{background:var(--cp-blue);border-color:var(--cp-blue);color:#fff;font-weight:500}
.kb-b.pri:hover{background:#255fd6}
.kb-b:disabled{opacity:.45;cursor:default}
.kb-b:focus-visible,.kb-ix:focus-visible,.kb-couple:focus-visible{outline:2px solid var(--cp-blue);outline-offset:2px}
.kb-p{margin:6px 6px 10px;color:#3f4652;line-height:1.45}
.kb-center{display:grid;place-items:center;min-height:160px}
.kb-spin{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:var(--cp-blue);background:var(--cp-blue-soft);animation:kbPulse 1.1s ease-in-out infinite}
.kb-spin svg{width:26px;height:26px}
@keyframes kbPulse{50%{transform:scale(.9);opacity:.7}}
/* import review */
.kb-couple{display:flex;align-items:center;gap:10px;width:100%;margin:2px 0 8px;padding:10px 12px;border:1px solid #e7e9ee;border-radius:10px;background:#fafbfc;font:inherit;font-size:14px;color:var(--cp-ink);text-align:left;cursor:pointer}
.kb-couple i{font-style:normal;color:#b9bfc9;margin:0 6px}
.kb-il{list-style:none;margin:0;padding:0;counter-reset:kb}
.kb-ir{display:flex;align-items:center;gap:12px;min-height:48px;padding:6px 4px 6px 6px;border-radius:9px;counter-increment:kb}
.kb-ir:hover{background:var(--cp-hover)}
.kb-ir.sec{margin-top:6px}
.kb-ir.sec .kb-itx b{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#8a6a2c}
.kb-it{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:currentColor;flex:none;position:relative}
.kb-it svg{width:16px;height:16px;color:#fff}
.kb-itx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.kb-itx b{font-weight:400;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kb-itx small{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--cp-sub);overflow:hidden;white-space:nowrap}
.kb-itx em{font-style:normal;font-size:12px;color:#9aa1ab}
.kb-lib{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;background:var(--cp-blue);flex:none}
.kb-lib svg{width:9px!important;height:9px!important;color:#fff}
.kb-ix{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:8px;background:none;color:#9aa1ab;cursor:pointer;flex:none;opacity:0;transition:opacity .12s}
.kb-ir:hover .kb-ix,.kb-ix:focus-visible,.kb-ir.off .kb-ix{opacity:1}
@media (hover:none){.kb-ix{opacity:1}}
.kb-ix:hover{background:#fff;color:var(--cp-ink)}
.kb-ix svg{width:15px;height:15px}
.kb-ir.off .kb-it{background:#cfd3da!important}
.kb-ir.off .kb-itx{opacity:.45;text-decoration:line-through;text-decoration-color:#b9bfc9}
.kb-ir.off .kb-ix{color:var(--cp-blue)}
.kb-thx{display:flex;align-items:center;gap:8px;margin:8px 6px 2px;font-size:13px;color:var(--cp-sub)}
.kb-thx svg{width:15px;height:15px;color:#c0506b}
.kb-imp .cp-bx svg{width:12px;height:12px}
@media (max-width:600px){.kb-veil{place-items:end center;padding:0}.kb-modal{border-radius:16px 16px 0 0;max-height:88vh}.kb-mf{flex-wrap:wrap}.kb-mf .kb-b{flex:1}}
/* dropping a file */
.kb-drop{position:fixed;inset:0;z-index:180;display:grid;place-items:center;padding:24px;background:rgba(243,238,229,.72);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);pointer-events:none;opacity:0;transition:opacity .15s}
.kb-drop.on{opacity:1}
.kb-dropin{width:min(520px,100%);aspect-ratio:1.6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:2px dashed var(--cp-blue);border-radius:20px;background:rgba(255,255,255,.9);font:400 15px/1.3 Jost,system-ui,sans-serif;color:var(--cp-ink);transform:scale(.97);transition:transform .2s}
.kb-drop.on .kb-dropin{transform:none}
.kb-dropin b{font-weight:500;font-size:20px}
.kb-dropin small{color:var(--cp-sub);font-size:14px}
.kb-dropic{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--cp-blue-soft);color:var(--cp-blue);margin-bottom:4px;animation:kbBob 1.4s ease-in-out infinite}
.kb-dropic svg{width:30px;height:30px}
@keyframes kbBob{50%{transform:translateY(-4px)}}
/* ⌘K */
.kb-pal-veil{place-items:start center;padding-top:12vh}
.kb-pal{width:min(600px,100%);max-height:min(560px,76vh)}
.kb-palq{display:flex;align-items:center;gap:10px;height:56px;padding:0 18px;border-bottom:1px solid #eceef1;color:var(--cp-sub);flex:none}
.kb-palq svg{width:20px;height:20px}
.kb-palq input{flex:1;min-width:0;height:100%;border:0;outline:0;background:none;font:inherit;font-size:17px;color:var(--cp-ink)}
.kb-pall{overflow:auto;padding:6px 8px 10px}
.kb-palg{font-size:12px;font-weight:500;color:var(--cp-sub);padding:10px 10px 4px}
.kb-palo{display:flex;align-items:center;gap:12px;width:100%;min-height:42px;padding:4px 10px;border:0;border-radius:8px;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.kb-palo.on{background:var(--cp-blue-soft)}
.kb-palic{width:22px;display:grid;place-items:center;flex:none;color:var(--cp-sub)}
.kb-palic svg{width:18px;height:18px}
.kb-palt{flex:1;min-width:0;display:flex;flex-direction:column}
.kb-palt b{font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kb-palt small{font-size:13px;color:var(--cp-sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kb-palo kbd{height:20px;min-width:20px;font-size:11px;color:var(--cp-sub)}
.kb-palnone{margin:0;padding:18px;color:var(--cp-sub)}
/* shortcuts card */
.kb-card{width:min(780px,100%)}
.kb-cols{display:grid;grid-template-columns:1fr 1fr;gap:6px 28px;padding:14px 20px 20px}
.kb-cols h4{margin:10px 0 6px;font-size:13px;font-weight:500;color:var(--cp-sub)}
.kb-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;border-bottom:1px solid #f1f2f4;font-size:14px}
.kb-row:last-child{border-bottom:0}
@media (max-width:700px){.kb-cols{grid-template-columns:1fr}}
/* welcome: a quiet way in from a document */
.kb-fromdoc{display:flex;align-items:center;gap:8px;margin:10px auto 0;padding:8px 6px;border:0;background:none;font:inherit;font-size:15px;color:var(--faint,#8b8176);cursor:pointer;transition:color .2s}
.kb-fromdoc svg{width:18px;height:18px}
@media (hover:hover){.kb-fromdoc:hover{color:var(--ink,#2a2622)}}
#onboard:not([data-step="welcome"]) .kb-fromdoc{display:none}
/* the add list gets a search */
.cp-addq{margin-top:0}
.cpop .cp-body button:focus-visible{outline:2px solid var(--cp-blue);outline-offset:-2px}
/* design panel headers are reachable by keyboard */
#nright [data-dt]:focus-visible{outline:2px solid var(--cp-blue);outline-offset:2px;border-radius:12px}
#nright button:focus-visible{outline:2px solid var(--cp-blue);outline-offset:2px}
@media print{.kb-tip,.kb-tt,.kb-menu,.kb-veil,.kb-drop{display:none!important}}
.kb-veil.now,.kb-veil.now .kb-modal{transition:none}
.kb-modal .cp-x:focus-visible{outline:2px solid var(--cp-blue);outline-offset:1px}
.kb-modal{min-width:0;max-width:calc(100vw - 32px)}
.kb-mb,.kb-il,.kb-ir{min-width:0}
@media (max-width:600px){.kb-modal{max-width:100vw;width:100%}}
/* toasts in the editor sit above the zoom dock, where the undo bar sits */
body:has(#builder:not([hidden])) .os-toast{bottom:84px}
@media (max-width:900px){body:has(#builder:not([hidden])) .os-toast{bottom:calc(150px + env(safe-area-inset-bottom,0px))}}
/* the Lettering preview shows the first name and never spills out of its tile */
.dpv .dsq.dwide{overflow:hidden}

/* ===== Polish pass: onboarding alignment at every width ===== */
/* The page colour runs to the edges, so overscroll and short pages never show a pale strip */
html:has(#onboard:not([hidden])),html:has(#onboard:not([hidden])) body{background:#f3eee5}
/* The footer sits in the flow under the welcome, never over it; on the questions it takes no room */
#onboard:not([hidden]){display:flex;flex-direction:column}
#onboard>.lp-stage{flex:1 0 auto;min-height:0}
.lp-foot{position:static!important;margin:0 auto calc(20px + env(safe-area-inset-bottom,0px))!important;padding-top:12px}
#onboard:not([data-step=welcome]) .lp-foot,.lp-foot.gone{display:none}
#onboard[data-step=welcome]>.lp-stage{padding-bottom:16px}
#onboard[data-step=welcome] .lp-bk{--pw:clamp(120px,calc((100dvh - 540px)/1.42),250px)}
/* Which do you like?: back, Skip and continue span the same 560px as every other question, centred, over a full-width fade */
#onboard[data-step=style] .lp-step[data-step=style] .lp-row{margin-left:0!important;margin-right:0!important;padding-left:max(16px,calc(50% - 280px))!important;padding-right:max(16px,calc(50% - 280px))!important;background:none!important;-webkit-mask-image:none!important;mask-image:none!important}
#onboard[data-step=style] .lp-step[data-step=style] .lp-row>*:first-child{margin-left:0!important}
#onboard[data-step=style] .lp-step[data-step=style] .lp-row>*:last-child{margin-right:0!important}
#onboard[data-step=style] .lp-step[data-step=style] .lp-row::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);z-index:-1;pointer-events:none;background:rgba(243,238,229,.94);-webkit-mask-image:linear-gradient(transparent,#000 42%);mask-image:linear-gradient(transparent,#000 42%)}
/* A photo of you both?: the open booklet is centred over its column on wide screens, not hanging off to the left */
@media (min-width:1300px){.lp-bk.open{transform:translateX(50%) scale(.7)}}
/* And on the back?: a short last row is centred, like the photo choices */
@media (max-width:600px){.lp-backs .row{display:flex!important;flex-wrap:wrap;justify-content:center}.lp-backs .row>.lp-opt{width:calc((100% - 32px)/3)}}
/* Keep your booklet safe, on short screens (phones on their side): no icon, and the whole card scrolls as one, so the email field is never hidden behind the buttons */
@media (max-height:520px){.os-sheet{overflow-y:auto;overscroll-behavior:contain}.os-body{overflow:visible;padding-top:18px}.os-foot::before{display:none}.os-body .os-ico{display:none}}

/* ===== v46 (round twenty-two) ===== */
/* Listen, Music and Words under the chosen hymn or piece; the parts below step down to make room */
.cp-tbar{position:fixed;z-index:41;transform:translateX(-50%);display:flex;gap:2px;padding:4px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px #e3e6eb,0 8px 20px -10px rgba(20,24,33,.35);animation:tbIn .28s cubic-bezier(.34,1.56,.64,1)}
@keyframes tbIn{from{opacity:0;transform:translate(-50%,6px) scale(.92)}}
.cp-tbar button{display:flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:0;border-radius:999px;background:none;font:400 14px/1 Jost,system-ui,sans-serif;color:#374151;cursor:pointer;white-space:nowrap}
.cp-tbar button svg{width:16px;height:16px;flex:none}
.cp-tbar button:hover{background:var(--cp-hover)}
.cp-tbar button[aria-pressed=true],.cp-tbar button.on{background:var(--cp-blue-soft);color:var(--cp-blue)}
.cp-tbar button:focus-visible{outline:2px solid var(--cp-blue);outline-offset:1px}
#spreads .blk{transition:transform .32s cubic-bezier(.3,.7,.2,1)}
@media (prefers-reduced-motion:reduce){#spreads .blk{transition:none}.cp-tbar{animation:none}}
@media print{.cp-tbar{display:none!important}#printroot .blk{transform:none!important}}
.os-viewing .cp-tbar{display:none!important}

/* the photo inside the front or the back cover */
.lp-ppwhere{display:flex;gap:3px;padding:4px;margin:22px auto 4px;width:max-content;max-width:100%;border-radius:999px;background:rgba(42,38,34,.06)}
.lp-ppwhere button{height:38px;padding:0 18px;border:0;border-radius:999px;background:none;font:inherit;font-size:15px;font-weight:300;color:var(--muted,#6f665c);cursor:pointer;white-space:nowrap;transition:background .2s,color .2s,box-shadow .2s}
.lp-ppwhere button[aria-checked=true]{background:#fff;color:var(--ink,#2a2622);box-shadow:0 2px 6px rgba(42,38,34,.1)}
.lp-ppwhere button:focus-visible{outline:2px solid var(--gold,#9a6f38);outline-offset:2px}
@media (max-width:520px){.lp-ppwhere button{padding:0 12px;font-size:13.5px}}

/* what is the cover photo of? */
.lp-photoof{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:22px auto 0;animation:pofIn .35s cubic-bezier(.3,.7,.2,1)}
@keyframes pofIn{from{opacity:0;transform:translateY(-6px)}}
.lp-photoof button{display:flex;align-items:center;gap:8px;height:42px;padding:0 16px;border:1px solid var(--rule,#d9cfc1);border-radius:999px;background:rgba(255,255,255,.55);font:inherit;font-size:15px;font-weight:300;color:var(--ink,#2a2622);cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}
#onboard .lp-photoof button svg{width:17px;height:17px;color:var(--gold,#9a6f38)}
.lp-photoof button:hover{background:#fff}
.lp-photoof button[aria-checked=true]{background:#fff;border-color:var(--gold,#9a6f38);box-shadow:0 0 0 1px var(--gold,#9a6f38)}
.lp-backs.has-vphoto+.lp-bkphoto{display:none!important}

/* do you already have a running order? */
.lp-docs{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin:34px auto 0}
.lp-doc{width:min(230px,42vw);min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:0;border-radius:18px;background:#fff;box-shadow:0 14px 30px -22px rgba(60,40,20,.55);font:inherit;font-size:18px;font-weight:300;color:var(--ink,#2a2622);cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s}
#onboard .lp-doc svg{width:38px;height:38px;color:var(--gold,#9a6f38)}
.lp-doc small{font-size:13.5px;color:var(--faint,#8a7f72)}
.lp-doc:hover{transform:translateY(-3px)}
.lp-doc.drop{background:rgba(255,255,255,.5);box-shadow:inset 0 0 0 1.5px #d4c6ae}
.lp-doc.drop.over{background:#fff;box-shadow:inset 0 0 0 2px var(--gold,#9a6f38);transform:scale(1.02)}
.lp-doc:focus-visible{outline:2px solid var(--gold,#9a6f38);outline-offset:3px}
.lp-reading{margin:30px auto 0}
.lp-found{display:grid;gap:12px;width:max-content;max-width:100%;margin:0 auto}
.lp-found div{display:flex;align-items:flex-start;gap:10px;font-size:17px;font-weight:300;color:var(--ink,#2a2622);opacity:0;animation:foundIn .45s cubic-bezier(.3,.7,.2,1) forwards;text-align:left}
#onboard .lp-found svg{width:20px;height:20px;color:var(--gold,#9a6f38);flex:none;margin-top:2px}
@keyframes foundIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.lp-found div{animation:none;opacity:1}}
@media (max-width:520px){.lp-doc{min-height:150px;font-size:16px}.lp-found div{font-size:15px}}

/* Pinstripe: the date either side of the picture, level with it; one line underneath when the picture is too wide */
.t-pinstripe .cover .mid.side{align-items:center;gap:28px}
.t-pinstripe .cover .dside{font-family:'Libre Caslon Text',serif;font-size:11px;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap;color:var(--ink);flex:none}
.t-pinstripe .cover .dside.dl{padding-left:.24em}
.t-pinstripe .cover .mid.side~.date{display:none}
.t-pinstripe .cover.dstack .dside{display:none}
.t-pinstripe .cover.dstack .mid.side~.date{display:flex}

.lp-backs.has-vphoto{max-width:900px}
.lp-backs.has-vphoto .row{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:22px 14px}
@media (max-width:600px){.lp-backs.has-vphoto .row{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* The Design heading: a solid band the width of the panel, so cards pass under it rather than through it */
#right .cp-rhead{margin-left:-16px;margin-right:-16px;padding-left:20px;padding-right:14px;background:#fbf8f2;transition:box-shadow .2s}
#right .cp-rhead::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:18px;background:inherit;pointer-events:none}
#right.cp-scrolled .cp-rhead{box-shadow:0 1px 0 rgba(42,38,34,.07),0 10px 14px -12px rgba(42,38,34,.18)}

/* ===== round twenty: Painted A (fine painted line) and Lemon grove B (engraved corners) ===== */
.t-painted{--acc2:#7d9669}
.fr-wash{opacity:1}
.t-painted .cover{padding:110px 96px 104px}
.t-painted .cover .nm,.page.nm-caps.t-painted .cover .nm{font-size:52px;line-height:1.02}
.t-painted .cover .amp{font-size:30px;line-height:1.25;margin:0}
.t-painted .cover .art.pic{margin:36px 0 30px}
.t-painted .cover .date{font-size:11.5px;letter-spacing:.26em;padding-left:.26em}
.t-painted .cover .venue{margin-top:8px}
.fr-lemons i{width:250px;aspect-ratio:620/668;opacity:.92}
.fr-lemons i:nth-child(1){left:-34px;top:-30px;transform:rotate(152deg) scaleX(-1)}
/* kept inside the page box and moved out with a transform: Chrome drops the mask of anything that crosses the bottom of a printed page, which printed this branch as a solid block */
.fr-lemons i:nth-child(2){right:0;bottom:0;left:auto;top:auto;transform:translate(34px,30px) rotate(-28deg) scaleX(-1)}
.page:not(.coverpage):not(.backp) .fr-lemons i{width:150px;opacity:.75}
.page:not(.coverpage):not(.backp) .fr-lemons i:nth-child(1){left:-26px;top:-24px}
.page:not(.coverpage):not(.backp) .fr-lemons i:nth-child(2){display:none}
.t-grove{--acc:#56663a;--acc2:#56663a;--mut:#76785f}
.t-grove .cover{padding:150px 90px 150px}
.t-grove .cover .amp{margin:0 .28em}
.t-grove .cover .nm,.page.nm-caps.t-grove .cover .nm{font-size:60px}
.t-grove .cover .art.pic{margin:28px 0 26px}
.gorn{display:flex;align-items:center;justify-content:center;gap:10px;margin:30px 0 26px;color:var(--acc)}
.gorn i{display:block;width:34px;height:1px;background:currentColor;opacity:.5}
.gorn b{display:block;width:5px;height:5px;background:currentColor;transform:rotate(45deg);opacity:.8}
.t-grove .cover .venue{margin-top:10px}
.t-grove .cover .nmrow.stk{flex-direction:column;align-items:center}
.t-grove .cover .nmrow.stk .amp{margin:-.1em 0 -.05em!important}
.t-grove .ti{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:23px}
.page.pf-lemons:not(.coverpage):not(.backp):not(.ins-none):not(.ins-light) .pin{top:150px}

/* A little drawing: "Which drawing?" */
.lp-dgroups button{display:flex;align-items:center;gap:7px}
.lp-dgroups button svg{width:16px;height:16px;color:var(--gold,#9a6f38);opacity:.55;transition:opacity .2s}
.lp-dgroups button[aria-checked=true] svg{opacity:1}
.lp-draws{display:flex;flex-wrap:wrap;justify-content:center;gap:22px 16px;max-width:560px;margin:26px auto 0}
.lp-draws>.lp-opt{width:calc(25% - 12px);gap:10px}
.lp-draws.in>.lp-opt{animation:drIn .45s var(--spring,cubic-bezier(.3,.7,.2,1)) both}
.lp-draws.in>.lp-opt:nth-child(2){animation-delay:.03s}.lp-draws.in>.lp-opt:nth-child(3){animation-delay:.06s}.lp-draws.in>.lp-opt:nth-child(4){animation-delay:.09s}.lp-draws.in>.lp-opt:nth-child(5){animation-delay:.12s}.lp-draws.in>.lp-opt:nth-child(6){animation-delay:.15s}.lp-draws.in>.lp-opt:nth-child(7){animation-delay:.18s}
@keyframes drIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.lp-draws .dsq{display:grid;place-items:center;width:100%;aspect-ratio:1;border-radius:3px;box-shadow:0 0 0 1px rgba(60,40,20,.08),0 18px 30px -20px rgba(60,40,20,.5);transition:transform 500ms var(--spring),box-shadow .25s}
.lp-draws .dai{display:block;width:68%;height:68%;background-position:center;background-size:contain;background-repeat:no-repeat}
.lp-draws .dai.eng,.lp-draws .ai-tower.dai,.lp-draws .ai-salis.dai{-webkit-mask-image:var(--ms,var(--m));mask-image:var(--ms,var(--m));background-color:var(--acc);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.lp-draws .lp-opt .cap{font-size:13.5px;line-height:1.25;text-align:center}
@media (hover:hover){.lp-draws .lp-opt:hover .dsq{transform:translateY(-6px) rotate(-1deg)}}
.lp-draws .lp-opt[aria-pressed=true] .dsq{box-shadow:0 0 0 2px var(--gold),0 22px 34px -20px rgba(60,40,20,.55);transform:translateY(-4px)}
@media (max-width:600px){.lp-draws{gap:16px 10px;margin-top:20px}.lp-draws>.lp-opt{width:calc((100% - 20px)/3)}.lp-draws .lp-opt .cap{font-size:12px}}
#onboard[data-step=drawing] .lp-bk .art{height:auto;opacity:1;overflow:visible}
.lp-draws.c3{max-width:420px}.lp-draws.c3>.lp-opt{width:calc(33.33% - 11px)}

/* ===== v47: a running order from a document or pasted text ===== */
.lp-step[data-step=doc] .lp-docs{gap:14px;flex-wrap:nowrap;width:100%;max-width:600px}
.lp-step[data-step=doc] .lp-doc{flex:1 1 0;min-width:0;width:auto;max-width:190px;min-height:180px;text-align:center;padding:14px 10px}
.lp-paste{width:100%;max-width:560px;margin:26px auto 0;display:flex;flex-direction:column;gap:14px;animation:foundIn .35s cubic-bezier(.3,.7,.2,1)}
.lp-paste textarea{width:100%;box-sizing:border-box;min-height:220px;resize:vertical;border:0;border-radius:16px;background:#fff;padding:18px 20px;font:300 16px/1.6 Jost,system-ui,sans-serif;color:var(--ink,#2a2622);box-shadow:0 14px 30px -22px rgba(60,40,20,.55),inset 0 0 0 1px rgba(42,38,34,.06);outline:none;transition:box-shadow .2s}
.lp-paste textarea::placeholder{color:#a79d90}
.lp-paste textarea:focus{box-shadow:0 14px 30px -22px rgba(60,40,20,.55),inset 0 0 0 1.5px var(--gold,#9a6f38)}
.lp-pasterow{display:flex;align-items:center;justify-content:flex-end;gap:14px}
.lp-pasterow .lp-btn[disabled]{opacity:.4;cursor:default}
.lp-foundnote{margin:18px 0 0;font-size:15px;font-weight:300;color:var(--faint,#8a7f72);opacity:0;animation:foundIn .45s cubic-bezier(.3,.7,.2,1) forwards;text-align:left}
@media (max-width:600px){.lp-step[data-step=doc] .lp-doc{min-height:140px;font-size:14px}.lp-step[data-step=doc] .lp-doc small{display:none}#onboard .lp-step[data-step=doc] .lp-doc svg{width:30px;height:30px}.lp-paste textarea{min-height:180px;font-size:15px}}
@media (prefers-reduced-motion:reduce){.lp-foundnote{animation:none;opacity:1}}

/* Loopy script fonts (Beth Ellen, La Belle Aurore, Great Vibes…) read strangely in capitals: set in one, headings drop to sentence case and gain a little size */
.page.loopy .lab,.page.loopy .blk.title .big,.page.loopy .cover .top,.page.loopy .cover .nm,.page.loopy .cover .time,.page.loopy .backpage .rl,.page.loopy .k-venue .vname,.page.loopy .k-venue .vsub,.page.loopy .ppg-full .cap small,.page.loopy .pp-in .nm,.page.loopy .pp-in .qt small,.page.loopy .k-after .awhere{text-transform:none!important;font-variant:normal!important;letter-spacing:0!important;padding-left:0!important}
.page.loopy:is(.t-posy,.t-grove) .lab,.page.loopy:is(.t-posy,.t-grove) .blk.title .big{text-transform:uppercase!important;letter-spacing:.2em!important}
.page.loopy.t-minimal .backpage .rl{text-transform:uppercase!important;letter-spacing:.24em!important}
.page.loopy.t-laureate .cover .time{text-transform:uppercase!important;letter-spacing:.2em!important}
.page.loopy:not(.t-letter):not(.t-posy):not(.t-grove) .lab{font-size:18px}
.page.loopy:not(.t-posy):not(.t-grove) .blk.title .big{font-size:27px}
.page.loopy .cover .top{font-size:19px}
.page.loopy:not(.t-laureate) .cover .time{font-size:15px}
.page.loopy:not(.t-letter):not(.t-minimal) .backpage .rl{font-size:16px}
.page.loopy .k-venue .vname{font-size:2.05em;line-height:1.3}
.page.loopy .k-venue .vsub{font-size:.95em}
.page.loopy .k-after .awhere{font-size:1.05em}
.page.loopy .pp-in .nm{font-size:24px}
.page.loopy .ppg-full .cap small,.page.loopy .pp-in .qt small{font-size:12.5px}

/* ===== round twenty-one: Lemon branch ===== */
:root{--art-branch:url(art/branch.webp)}
.fr-branch{inset:0;overflow:hidden}
.fr-branch i{position:absolute;width:520px;aspect-ratio:1100/986;left:-128px;top:-6px;transform:rotate(14deg);background:var(--art-branch) center/contain no-repeat}
.page:not(.coverpage):not(.backp) .fr-branch i{width:240px;left:-64px;top:-8px}
.page.pf-branch:not(.coverpage):not(.backp):not(.ins-none):not(.ins-light) .pin{top:210px}
.t-branch{--acc:#56663a;--acc2:#b88a2c;--mut:#7a7a62;--ink:#2f3322;--hf:'Cormorant Garamond';--nf:'Great Vibes';--tf:'Cormorant Garamond'}
.t-branch .cover{justify-content:flex-end;align-items:flex-end;text-align:right;padding:250px 64px 88px 64px;gap:0}
.t-branch .cover .ofm{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:22px;letter-spacing:0;text-transform:none;color:var(--mut);padding:0;margin:0 0 6px}
.t-branch .cover .nmcol{display:flex;flex-direction:column;align-items:flex-end}
.t-branch .cover .nm,.page.nm-caps.t-branch .cover .nm{font-family:var(--nf),'Great Vibes',cursive;font-size:66px;line-height:1.08;letter-spacing:0;text-transform:none;font-variant:normal;color:var(--ink);padding:0;margin:0;white-space:nowrap}
.t-branch .cover .amp{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:40px!important;line-height:.9;color:var(--acc2);margin:-6px 1.6em -4px 0!important}
.t-branch .cover .brule{width:56px;height:1px;background:var(--acc);opacity:.45;margin:26px 0 18px}
.t-branch .cover .date{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;letter-spacing:0;text-transform:none;color:var(--ink);margin:0}
.t-branch .cover .venue{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--mut);margin-top:7px}
.t-branch .cover .art.pic{margin:0 0 22px}
.t-branch .cover .ai.eng{width:calc(var(--bw)*.45px)}
.t-branch .cover .ai-tower{width:54px}.t-branch .cover .ai-salis{width:140px}
.t-branch .cover .art.photo{margin:0 0 22px;width:124px;max-width:124px}
.t-branch .lab,.page.loopy.t-branch .lab{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:12.5px;letter-spacing:.24em;text-transform:uppercase!important;color:var(--acc)}
.t-branch .ti{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:23px}
.t-branch .dir{color:var(--mut)}
.t-branch{--ps:.6}

/* Back page picture picker: Buildings / Flowers / Nature tabs, like the Design panel and "Which drawing?" */
.picpop .pp-tabs{display:flex;gap:3px;padding:3px;margin:2px 0 12px;border-radius:999px;background:#f3ece1}
.picpop .pp-tabs button{flex:1 1 0;min-width:0;height:32px;padding:0 6px;border:0;border-radius:999px;background:none;display:flex;align-items:center;justify-content:center;gap:5px;font:inherit;font-size:12.5px;color:#8a7f72;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s,box-shadow .2s}
.picpop .pp-tabs button .i{width:14px;height:14px;flex:none}
.picpop .pp-tabs button:hover{color:#2a2622}
.picpop .pp-tabs button[aria-selected=true]{background:#fff;color:#2a2622;box-shadow:0 1px 3px rgba(42,38,34,.14)}
.picpop .pp-tabs button[aria-selected=true] .i{color:#9a6f38}
@media (min-width:601px){.picpop .pp-g{min-height:288px;align-content:start}}

/* ===== v45 (round twenty-three): invite people ===== */
@media (min-width:700px){.os-sheet.inv-sheet{width:500px}}
.inv-sheet .os-body{position:relative}
.inv-sheet .os-h{text-align:center;margin-bottom:16px}
.inv-sheet .i{width:20px;height:20px;fill:currentColor;flex:none}
.inv-fld{display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid #e6e2dc;border-radius:12px;min-height:54px;padding:0 6px 0 14px;transition:border-color .2s,box-shadow .2s;text-align:left}
.inv-fld:focus-within{border-color:#2f6fed;box-shadow:0 0 0 3px rgba(47,111,237,.12)}
.inv-em{flex:1;min-width:0;display:flex;align-items:center;gap:10px;color:#8a8680;cursor:text}
.inv-em input{flex:1;min-width:0;border:0;outline:none;background:transparent;font:inherit;font-size:17px;color:#201f1d;padding:12px 0}
.inv-em input::placeholder{color:#aaa49b}
.inv-ok{color:#2f6fed;display:grid;place-items:center;width:24px;transform:scale(0);transition:transform .3s cubic-bezier(.34,1.6,.64,1)}
.inv-ok.on{transform:scale(1)}
.inv-role{display:flex;align-items:center;gap:6px;height:42px;padding:0 10px;border-radius:9px;border:0;background:#f3f1ee;color:#55524d;font:inherit;font-size:15px;white-space:nowrap;cursor:pointer;max-width:55%}
.inv-role span{overflow:hidden;text-overflow:ellipsis}
.inv-role.empty{color:#2f6fed;background:#e8effd}
.inv-role .cd{width:14px!important;height:14px!important}
.inv-role.pulse{animation:invpulse 1.8s ease-in-out 2}
@keyframes invpulse{50%{box-shadow:0 0 0 6px rgba(47,111,237,.15)}}
.inv-menu{position:absolute;z-index:5;background:#fff;border-radius:14px;box-shadow:0 18px 44px -12px rgba(30,30,40,.28),0 0 0 1px rgba(32,31,29,.08);padding:6px;min-width:230px;text-align:left;animation:invpop .18s ease-out}
@keyframes invpop{from{opacity:0;transform:translateY(-4px)}}
.inv-menu button{display:flex;align-items:center;gap:12px;width:100%;padding:0 12px;height:44px;border:0;border-radius:9px;background:none;font:inherit;font-size:15.5px;color:#201f1d;text-align:left;cursor:pointer}
.inv-menu button:hover,.inv-menu button:focus-visible{background:#f3f1ee;outline:none}
.inv-menu button>.i,.inv-menu .mi .i{color:#2f6fed}
.inv-menu .mi{display:grid;place-items:center}
.inv-menu .acc{margin-left:auto;color:#8a8680;display:grid}
.inv-menu .acc .i{width:16px;height:16px;color:#8a8680}
.inv-menu hr{border:0;height:1px;background:rgba(32,31,29,.1);margin:4px 8px}
.inv-menu .danger,.inv-menu .danger .i{color:#a4462f!important}
.inv-reveal{animation:invrev .28s ease-out}
@keyframes invrev{from{opacity:0;transform:translateY(-6px)}}
.inv-tog{display:inline-flex;background:#f3f1ee;border-radius:10px;padding:3px;margin-top:12px}
.inv-tog button{display:flex;align-items:center;gap:7px;height:38px;padding:0 13px;border:0;border-radius:8px;background:none;font:inherit;font-size:15px;color:#55524d;cursor:pointer;transition:background .2s,color .2s}
.inv-tog button .i{width:18px;height:18px}
.inv-tog button[aria-pressed="true"]{background:#fff;color:#2f6fed;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.inv-sheet .os-body{text-align:center}
.inv-print{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.inv-pf{display:flex;align-items:center;gap:8px;background:#f3f1ee;border-radius:10px;height:46px;padding:0 6px 0 12px;font-size:15px;color:#55524d}
.inv-pf>.i{color:#8a8680}
.inv-pf .u{color:#8a8680;font-size:14px}
.inv-pf .n{min-width:34px;text-align:center;font-variant-numeric:tabular-nums;color:#201f1d;font-weight:500}
.inv-step{width:34px;height:34px;border:0;border-radius:8px;display:grid;place-items:center;background:#fff;color:#201f1d;cursor:pointer}
.inv-step .i{width:16px;height:16px}
.inv-pf input[type=date]{border:0;background:transparent;font:inherit;font-size:15px;color:#201f1d;outline:none;height:40px;padding-right:6px}
.inv-go{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:52px;margin-top:14px;border:0;border-radius:12px;background:#2f6fed;color:#fff;font:inherit;font-size:17px;font-weight:500;cursor:pointer;transition:background .2s}
.inv-go[disabled]{background:#c9cfdb;cursor:default}
.inv-lbl{font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;color:#8a8680;margin:22px 0 4px;font-weight:500;text-align:left}
.inv-people{display:flex;flex-direction:column;text-align:left}
.inv-person{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(32,31,29,.08)}
.inv-person:last-child{border-bottom:0}
.inv-person.new{animation:invrev .4s ease-out}
.inv-av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none;background:#f3f1ee;color:#55524d;position:relative}
.inv-av.edit{background:#e8effd;color:#2f6fed}
.inv-av .st{position:absolute;right:-3px;bottom:-3px;width:20px;height:20px;border-radius:50%;background:#fffdf9;display:grid;place-items:center}
.inv-av .st .i{width:14px;height:14px;color:#8a8680}
.inv-av .st.opened .i{color:#55524d}
.inv-av .st.signed .i{color:#2f6fed}
.inv-pt{flex:1;min-width:0}
.inv-pt b{display:block;font-weight:500;font-size:15.5px;color:#201f1d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inv-pt small{display:block;font-size:13px;color:#8a8680;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inv-acc{display:flex;align-items:center;gap:5px;height:36px;padding:0 8px 0 10px;border:0;border-radius:9px;background:none;font:inherit;font-size:14px;color:#55524d;white-space:nowrap;cursor:pointer}
.inv-acc:hover{background:#f3f1ee}
.inv-acc .i{width:17px;height:17px}
.inv-acc .cd{width:13px;height:13px}
.inv-copy{display:flex;align-items:center;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(32,31,29,.08);font-size:14px;color:#8a8680;flex-wrap:wrap;text-align:left}
.inv-copy>span{flex:1;min-width:110px}
.inv-cbtn{display:flex;align-items:center;gap:6px;height:36px;padding:0 11px;border:0;border-radius:9px;background:#f3f1ee;color:#55524d;font:inherit;font-size:14px;cursor:pointer}
.inv-cbtn .i{width:16px;height:16px}
.inv-cbtn.ok{color:#2f6fed}
.inv-sheet .shake{animation:invshake .4s}
@keyframes invshake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
.inv-sheet button:focus-visible{outline:2px solid #2f6fed;outline-offset:2px}
@media (max-width:420px){.inv-acc .t{display:none}.inv-role{max-width:48%}}
@media (prefers-reduced-motion:reduce){.inv-sheet *{animation:none!important;transition:none!important}}

.rd-job{margin:-4px 0 4px;text-align:center;color:#55524d;font-size:15px}
.rd-files{align-self:center}


/* ===== Round twenty-three: moving pages on the booklet ===== */
#spreads{--iz:1}
#spreads.os-mvanim{transition:transform .35s cubic-bezier(.3,.7,.2,1)}
/* the tab on a page's top edge */
#spreads .page>.pgmv{position:absolute;top:0;left:50%;z-index:7;width:54px;height:22px;padding:0;border:0;border-radius:0 0 11px 11px;
  background:#fffdf9;color:#9a9288;display:grid;place-items:center;cursor:grab;touch-action:none;
  transform:translateX(-50%) scale(var(--iz));transform-origin:50% 0;
  box-shadow:0 0 0 1px rgba(42,38,34,.12),0 6px 14px -10px rgba(42,38,34,.5);
  opacity:0;transition:opacity .2s,color .2s,height .2s}
#spreads .page>.pgmv .i{width:22px;height:22px}
#spreads .page.pgmovable:hover>.pgmv,#spreads .page>.pgmv:focus-visible{opacity:1}
#spreads .page>.pgmv:hover{color:var(--cp-blue);height:26px}
@media (hover:none){#spreads .page>.pgmv{opacity:.9}}
/* each page that can move says what it is while one is being dragged */
#spreads .page>.pgmvl{position:absolute;left:50%;bottom:12px;z-index:7;pointer-events:none;
  transform:translateX(-50%) scale(min(var(--iz),3));transform-origin:50% 100%;
  font-family:Jost,system-ui,sans-serif;font-size:12px;letter-spacing:.01em;color:var(--cp-sub);
  background:rgba(255,253,249,.94);border-radius:9px;padding:4px 10px;white-space:nowrap;
  box-shadow:0 0 0 1px rgba(42,38,34,.08);opacity:0;transition:opacity .2s}
#spreads.os-mvdrag .page.pgmovable>.pgmvl{opacity:1}
#spreads.os-mvdrag .page.mvover>.pgmvl{color:var(--cp-blue)}
#spreads.os-mvdrag .page:not(.pgmovable){opacity:.4}
#spreads.os-mvdrag .page>.pgx{display:none}
#spreads .page.mvsrc{opacity:.45}
#spreads .page.mvover{box-shadow:0 0 0 calc(3px * var(--iz)) var(--cp-blue),0 24px 48px -24px rgba(31,30,28,.35)}
#spreads .page.pgland{animation:pgland 1.6s ease-out}
@keyframes pgland{0%{box-shadow:0 0 0 3px var(--cp-blue),0 24px 48px -24px rgba(31,30,28,.35)}
  100%{box-shadow:0 0 0 16px rgba(47,111,237,0),0 24px 48px -24px rgba(31,30,28,.35)}}
/* the whole booklet, laid out, while a page is in the air */
#spreads.os-mvgrid{flex-flow:row wrap!important;flex-direction:row!important;align-items:flex-start;justify-content:center;align-content:center;gap:var(--mvgap,48px)!important}
body.mv-dragging{cursor:grabbing;user-select:none;-webkit-user-select:none}
body.mv-dragging #spreads [contenteditable]{pointer-events:none}
.pgghost{position:fixed;z-index:200;width:120px;height:171px;pointer-events:none;transform:rotate(-2.5deg);
  filter:drop-shadow(0 16px 26px rgba(31,30,28,.4))}
.pgghost .page{box-shadow:0 0 0 1px rgba(31,30,28,.1)!important}
/* move it without dragging */
.mvmenu .mvh{font-family:Jost,system-ui,sans-serif;font-size:12.5px;color:var(--cp-sub);padding:2px 6px 8px}
.mvmenu button{display:flex;align-items:center;gap:12px;width:100%;text-align:left}
.mvmini{position:relative;display:block;width:40px;height:57px;flex:none;overflow:hidden;border-radius:2px;background:#fffdf9;box-shadow:0 0 0 1px rgba(42,38,34,.14)}
/* the page strip in Contents shows a grip, and drags onto the booklet */
#cpdock .ps-th{cursor:grab;padding-top:14px}
#cpdock .ps-th::before{content:"";position:absolute;top:3px;left:50%;transform:translateX(-50%);width:17px;height:9px;opacity:0;transition:opacity .15s;
  color:#9aa1ab;background:radial-gradient(circle,currentColor 1.1px,transparent 1.4px) 0 0/5.6px 4.6px}
#cpdock .ps-th:hover::before{opacity:1}
#cpdock .ps-th.mvsrc{opacity:.45}
@media (hover:none){#cpdock .ps-th::before{opacity:.75}}
@media print{.pgmv,.pgmvl,.pgghost,.mvmenu{display:none!important}}
.os-viewing .pgmv,.os-viewing .pgmvl{display:none!important}

/* a place with nothing in it yet, while a page is in the air */
#spreads .mvphantom{padding-right:559px}
#spreads .page.mvempty{background:rgba(255,253,249,.5);border:2px dashed rgba(42,38,34,.22);box-shadow:none;display:grid;place-items:center}
#spreads .page.mvempty .mvemptyl{font-family:Jost,system-ui,sans-serif;font-size:15px;color:var(--cp-sub);text-align:center;transform:scale(min(var(--iz),3))}
#spreads .page.mvempty .mvemptyl small{display:block;font-size:12.5px;opacity:.72;margin-top:2px}
#spreads .page.mvempty.mvover{border-color:var(--cp-blue);background:var(--cp-blue-soft)}
#spreads.single .mvphantom{padding:0}
/* in the laid-out view the spreads sit close together */
#spreads.os-mvgrid .spread{padding:0!important}

/* ===== The little drawing shows on the cover from the first question ===== */
#onboard:is([data-step=welcome],[data-step=doc],[data-step=names],[data-step=when],[data-step=where],[data-step=venue],[data-step=ceremony]) .lp-bk .art{height:auto;opacity:1;overflow:visible}
/* the drawing grows with the lettering on these steps, so the cover keeps its proportions */
#onboard:is([data-step=names],[data-step=when],[data-step=where],[data-step=venue],[data-step=ceremony]) .lp-bk .mini .cover>.art{zoom:var(--obz,1.45)}
/* ===== photos keep their own shape, and changing a picture on the page ===== */
/* a photo with a see-through background keeps it: no fill behind it, no frame drawn round it */
.ppg .ph.cut{background-color:transparent!important;box-shadow:none!important;border-radius:0!important}
.ppg .ph.fitar,.ppg .ph.cut{background-size:contain;background-repeat:no-repeat;background-position:center}
.cover .art.photo.cut{background:none!important;box-shadow:none!important}
.vart.cut{background:none}
/* the box takes the picture's own shape, so nothing is cropped and nothing sits in dead space */
.cover .art.photo.fitar{width:auto!important;height:auto!important;max-width:none!important;aspect-ratio:auto!important;background:none}
.cover .art.photo.fitar img{width:auto!important;height:auto!important;max-width:var(--pmw)!important;max-height:var(--pmh)!important;object-fit:contain}
#spreads .backpage .vart:not(.empty),.k-venue .vart:not(.empty),.k-after .vart:not(.empty){width:fit-content;max-width:100%;margin-left:auto;margin-right:auto}
.k-venue .vart img,.k-after .vart img{width:auto;height:auto;aspect-ratio:auto;max-width:calc(232px * var(--vs,1));max-height:calc(212px * var(--vs,1));object-fit:contain}
/* the photo page: the picture looks like something you can change */
.page.photop .ph:not(.empty){cursor:pointer}
.page.photop .ph .pp-swap{top:14px;right:14px}
#spreads .page.photop .ph:hover .pp-swap,#spreads .page.photop .ph:focus-visible .pp-swap{opacity:1;transform:rotate(-30deg)}
#spreads .page.photop .ph:focus-visible{outline:2px solid rgba(182,130,53,.6);outline-offset:-4px}
/* the pill under a chosen picture: change it, or take it out */
.rz-pill svg.i{width:14px;height:14px;fill:currentColor}
.rz-change,.rz-del{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:0;border-radius:7px;background:rgba(255,255,255,.14);color:#fff;font:inherit;cursor:pointer}
.rz-change:hover{background:rgba(255,255,255,.24)}
.rz-del:hover{background:#b8462f}
.rz-change[hidden],.rz-del[hidden]{display:none!important}
.rz.dragging .rz-del{display:none}
@media print{.rz{display:none!important}}

/* ===== v49: shadows, and the venue's story question ===== */
/* the open booklet sat on a hard grey slab: a soft pool now, tapering at both ends */
.lp-bk.open::before{left:-94%;right:-2%;bottom:-5%;height:14%;border-radius:0;
  background:radial-gradient(50% 50% at 50% 50%,rgba(60,40,20,.26),rgba(60,40,20,0) 70%);filter:blur(10px)}
/* the little spreads: one shadow for the pair, a hairline at the spine */
.lp-spreads button{filter:drop-shadow(0 3px 5px rgba(60,40,20,.13))}
.lp-spreads button i{box-shadow:none}
.lp-spreads button i+i{box-shadow:inset 1px 0 0 rgba(60,40,20,.06)}

/* "Something about the church?": the same two tiles as the other page questions */
.lp-story{display:flex;justify-content:center;gap:clamp(14px,3vw,28px);flex-wrap:wrap;margin-top:clamp(18px,3vh,30px)}
.lp-story .lp-opt{width:min(210px,38vw)}
@media (max-width:600px){.lp-story{gap:14px}.lp-story .lp-opt{width:min(150px,40vw)}}
.lp-story .lp-thumb .none{position:absolute;inset:0;display:grid;place-items:center;color:#c9bfb2;background:#fff}
.lp-story .lp-thumb .none svg{width:22px;height:22px;fill:currentColor}

/* ---- v50: the reading's words, said plainly ---- */
.cp-lead{flex:none;display:flex;align-items:center;color:#9a6f38}
.cp-swr .cp-ot b{font-size:15px}
.cp-sw{flex:none;width:38px;height:22px;border-radius:999px;background:#d3d8df;position:relative;transition:background .18s}
.cp-sw::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(20,24,33,.35);transition:transform .18s cubic-bezier(.3,1.3,.6,1)}
[aria-checked="true"]>.cp-sw{background:var(--cp-blue)}
[aria-checked="true"]>.cp-sw::after{transform:translateX(16px)}
.cp-wds{margin:2px 8px 6px;padding:10px 12px 8px;border-radius:9px;background:#faf7f1;border:1px solid #ece5d8}
.cp-wtx{font:italic 400 15px/1.4 'EB Garamond',Georgia,serif;color:#3a352e}
.cp-wtx.long{max-height:4.2em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 58%,transparent);mask-image:linear-gradient(#000 58%,transparent)}
.cp-wft{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}
.cp-wft span{font-size:12.5px;color:var(--cp-sub)}
.cp-wed{border:0;background:none;padding:2px 0;font:inherit;font-size:13px;color:var(--cp-blue);cursor:pointer;border-radius:4px}
.cp-wed:hover{text-decoration:underline}
@media (prefers-reduced-motion:reduce){.cp-sw,.cp-sw::after{transition:none}}

/* ===== v50: drag a part in the Contents list ===== */
.cpd-it,.cpd-sec{position:relative}
.cpd-gr{flex:none;margin-left:auto;margin-right:-4px;width:28px;height:28px;display:grid;place-items:center;border-radius:6px;color:#9aa1ab;cursor:grab;opacity:0;touch-action:none;transition:opacity .12s,color .12s,background .12s}
.cpd-gr svg{width:15px;height:15px;pointer-events:none}
.cpd-it:hover .cpd-gr,.cpd-sec:hover .cpd-gr,.cpd-it.on .cpd-gr,.cpd-sec.on .cpd-gr{opacity:1}
.cpd-gr:hover{color:var(--cp-blue);background:var(--cp-blue-soft)}
.cpd-gr:active{cursor:grabbing}
@media (hover:none){.cpd-gr{opacity:1;color:#b3b9c4}}
.cpd-drag{opacity:.34}
.cpd-list.cpd-moving{cursor:grabbing}
.cpd-list.cpd-moving .cpd-it:hover,.cpd-list.cpd-moving .cpd-sec:hover{background:none}
.cpd-list.cpd-moving .cpd-gr{opacity:0}
.cpd-list.cpd-moving .cpd-drag .cpd-gr{opacity:1;color:var(--cp-blue)}

/* ===== v50: a tap that does nothing wakes the button that would have answered it (round twenty-four, A) ===== */
@keyframes cpwake{0%{box-shadow:0 0 0 0 rgba(47,111,237,.45)}70%{box-shadow:0 0 0 11px rgba(47,111,237,0)}100%{box-shadow:0 0 0 0 rgba(47,111,237,0)}}
@keyframes cplift{0%,100%{transform:translateY(0)}30%{transform:translateY(-3px)}62%{transform:translateY(0)}}
.cp-tb.cp-wake{background:var(--cp-blue-soft);border-color:var(--cp-blue);color:var(--cp-blue);animation:cpwake 1s ease-out 2,cplift .52s ease-in-out 2}
#builder .tabs [data-tab].cp-wake{position:relative;z-index:1;color:var(--cp-blue);border-radius:10px;animation:cpwake 1s ease-out 2,cplift .52s ease-in-out 2}
.cp-peek{position:fixed;top:var(--cp-top,62px);bottom:0;width:22px;z-index:59;background:#fff;pointer-events:none;transition:transform .26s cubic-bezier(.32,.72,.3,1)}
.cp-peek:not(.l){right:0;border-left:1px solid var(--cp-line);border-radius:10px 0 0 10px;box-shadow:-12px 0 32px rgba(20,24,33,.12);transform:translateX(100%)}
.cp-peek.l{left:0;border-right:1px solid var(--cp-line);border-radius:0 10px 10px 0;box-shadow:12px 0 32px rgba(20,24,33,.12);transform:translateX(-100%)}
.cp-peek.out{transform:none}
.nc.cp-aim,.cp-aim{border-color:var(--cp-blue)!important;box-shadow:0 0 0 3px rgba(47,111,237,.18)!important}
@media (prefers-reduced-motion:reduce){.cp-tb.cp-wake,#builder .tabs [data-tab].cp-wake{animation:none}.cp-peek{transition:none}}
@media print{.cp-peek{display:none!important}}
