/* home-2 (Lord, 19 Oct): the beautiful variation. Loaded after site.css, only on home.html (body.hm.v2).
   One signature shape: the arch, our moon window, around every painted picture, every reading cover and every face.
   One painted art style (img/v2). One chunky yellow button per screen. Navy and gold for magic, cream paper for reading. */
body.hm.v2 { --arch: 999px 999px 18px 18px; --lift: 0 1px 0 rgba(255,255,255,.6) inset, 0 18px 40px -18px rgba(31,26,46,.35); }

/* ---------- the chunky button (Enter The Light's Play button, in our yellow) */
.v2 .btn3 { display: inline-flex; align-items: center; justify-content: center; gap: 12px; background: var(--yellow); color: #2B2200; text-decoration: none; font: 700 1.06rem var(--ui); letter-spacing: .005em;
  padding: 10px 28px 10px 10px; min-height: 58px; border-radius: 999px; box-shadow: 0 5px 0 #B98C1C, 0 14px 28px -8px rgba(185,140,28,.55); transition: transform .08s, box-shadow .08s; border: 0; cursor: pointer; }
.v2 .btn3:not(:has(img)) { padding-left: 28px; }
.v2 .btn3 img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; border: 2px solid #FFF3CC; flex: none; }
.v2 .btn3:hover { background: #F5D262; }
.v2 .btn3:active { transform: translateY(4px); box-shadow: 0 1px 0 #B98C1C, 0 6px 14px -6px rgba(185,140,28,.5); }

/* ---------- the arch */
.v2 .arch { display: block; position: relative; aspect-ratio: 3 / 4; border-radius: var(--arch); overflow: hidden; background: var(--night-2); box-shadow: 0 0 0 4px #FFFDF9, 0 0 0 5px rgba(201,162,74,.45), var(--lift); }
.v2 .arch img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.v2 .arch-w { aspect-ratio: 4 / 3; border-radius: 999px 999px 16px 16px / 70% 70% 16px 16px; }

/* ---------- painted cards (tools and readings) */
.v2 .ac-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 34px 26px; margin-top: 22px; }
.v2 .ac-grid.ac-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.v2 .ac-grid.ac-one { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.v2 .ac { position: relative; display: flex; flex-direction: column; text-decoration: none; color: var(--ink); }
.v2 .ac .arch { margin: 5px 5px 16px; }
.v2 .ac:hover .arch img { transform: scale(1.04); }
.v2 .ac b { font: 600 1.32rem/1.15 var(--display); color: var(--ink); margin: 0 4px 4px; }
.v2 .ac > span:not(.arch):not(.ac-p):not(.lr2-on):not(.lr2-go) { font: .95rem/1.5 var(--read); color: var(--mist); margin: 0 4px; }
.v2 .ac small { font: 600 .78rem var(--ui); color: #9C7629; margin: 0 4px 4px; }
.v2 .ac-p { margin: 10px 4px 0; font: 500 .95rem var(--ui); color: var(--ink); }
.v2 .ac-p b { font: 700 1.1rem var(--ui); margin: 0; }
.v2 .ac-p em { font-style: normal; color: #B9443A; font-size: .82rem; font-weight: 600; margin-left: 4px; }
.v2 .ac-badge { position: absolute; top: 18px; left: 50%; transform: translateX(-50%); z-index: 2; white-space: nowrap; background: var(--yellow); color: #2B2200; font: 700 .76rem var(--ui); font-style: normal; padding: 5px 12px; border-radius: 99px; box-shadow: 0 4px 12px rgba(0,0,0,.25); }
@media (max-width: 900px) { .v2 .ac-grid, .v2 .ac-grid.ac-one { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 16px; } .v2 .ac-grid.ac-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .v2 .ac b { font-size: 1.12rem; } .v2 .ac > span:not(.arch):not(.ac-p):not(.lr2-on):not(.lr2-go) { font-size: .86rem; } .v2 .ac .arch { margin: 4px 4px 12px; } }

/* ---------- the reading as a real book: navy leather, a gold frame, the painting in an arch window, her name in gold */
.v2 .bk { perspective: 1400px; width: 280px; max-width: 100%; margin: 0 auto; }
.v2 .bk-c { position: relative; aspect-ratio: 3 / 4.15; border-radius: 6px 14px 14px 6px; padding: 22px 22px 20px 30px; display: flex; flex-direction: column; align-items: center; text-align: center;
  background: radial-gradient(120% 80% at 30% 10%, #2B3274 0%, #161B48 55%, #0C1030 100%); color: #F3DDA0;
  box-shadow: inset 8px 0 10px -6px rgba(0,0,0,.6), inset 0 0 0 1px rgba(243,221,160,.18), 6px 6px 0 -1px #F4ECDD, 7px 7px 0 -1px #D9CBB2, 12px 12px 0 -2px #EFE5D2, 13px 13px 0 -2px #CDBFA6, 0 30px 50px -20px rgba(7,10,28,.7); }
.v2 .bk-c::before { content: ''; position: absolute; inset: 10px 10px 10px 18px; border: 1px solid rgba(243,221,160,.55); border-radius: 4px 10px 10px 4px; box-shadow: inset 0 0 0 3px rgba(243,221,160,.12); pointer-events: none; }
.v2 .bk-c::after { content: ''; position: absolute; left: 8px; top: 0; bottom: 0; width: 2px; background: linear-gradient(rgba(0,0,0,.45), rgba(255,255,255,.08), rgba(0,0,0,.45)); }
.v2 .bk-arch { width: 62%; aspect-ratio: 3 / 3.5; border-radius: 999px 999px 6px 6px; overflow: hidden; border: 2px solid #D9B864; box-shadow: 0 0 0 4px rgba(217,184,100,.18), 0 0 24px rgba(243,221,160,.25); margin: 6px 0 12px; }
.v2 .bk-arch img { width: 100%; height: 100%; object-fit: cover; display: block; }
.v2 .bk-c small { font: 600 .56rem var(--ui); letter-spacing: .22em; text-transform: uppercase; color: rgba(243,221,160,.7); }
.v2 .bk-c b { font: 600 1.42rem/1.05 var(--display); color: #FBE9B7; margin: 4px 0 8px; text-shadow: 0 1px 0 rgba(0,0,0,.4); }
.v2 .bk-c em { font: italic 500 .98rem var(--display); color: #F3DDA0; }
.v2 .bk-c em span { font-weight: 700; }
.v2 .bk-c i { font: 500 .62rem var(--ui); font-style: normal; letter-spacing: .08em; color: rgba(243,221,160,.65); margin-top: auto; }
.v2 .bk-tilt .bk-c { transform: rotateY(-14deg) rotateZ(1deg); transform-origin: left center; }
.v2 .bk-big { width: 330px; }
.v2 .bk-big .bk-c { transform: rotateY(-10deg); transform-origin: left center; }
.v2 .bk-big .bk-c b { font-size: 1.7rem; }
.v2 .bk-sm { width: 170px; margin: 0; }
.v2 .bk-sm .bk-c { padding: 14px 14px 12px 20px; }
.v2 .bk-sm .bk-c b { font-size: 1rem; }
.v2 .bk-sm .bk-c em { font-size: .74rem; } .v2 .bk-sm .bk-c i, .v2 .bk-sm .bk-c small { display: none; }

/* ---------- night bands: the featured reading (home), the reading of the week (store), the sales hero */
.v2 .feat2, .v2 .rw2, .v2 .rp2 { position: relative; margin: 56px calc(50% - 50vw) 0; padding: 60px calc(50vw - 50%) 64px; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 56px; align-items: center;
  background: radial-gradient(900px 500px at 20% 30%, rgba(201,162,74,.16), transparent 60%), radial-gradient(1200px 600px at 80% 0%, #262C6E 0%, var(--night) 60%, #080B20 100%); color: #E9E3F2; }
.v2 .feat2::before, .v2 .rw2::before, .v2 .rp2::before { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .55;
  background-image: radial-gradient(1px 1px at 12% 22%, #fff 50%, transparent), radial-gradient(1px 1px at 28% 78%, #fff 50%, transparent), radial-gradient(1.5px 1.5px at 46% 12%, #F3DDA0 50%, transparent), radial-gradient(1px 1px at 63% 64%, #fff 50%, transparent), radial-gradient(1px 1px at 78% 30%, #fff 50%, transparent), radial-gradient(1.5px 1.5px at 90% 82%, #F3DDA0 50%, transparent), radial-gradient(1px 1px at 8% 90%, #fff 50%, transparent), radial-gradient(1px 1px at 55% 92%, #fff 50%, transparent); }
.v2 .feat2 > *, .v2 .rw2 > *, .v2 .rp2 > * { position: relative; }
.v2 .feat2 h2, .v2 .rw2 h1, .v2 .rp2 h1 { color: #FFF7E6; font: 600 clamp(2rem, 3.6vw, 2.9rem)/1.06 var(--display); margin: 0 0 14px; max-width: 20ch; }
.v2 .feat2 p, .v2 .rw2 p, .v2 .rp2-sub { font: 1.1rem/1.6 var(--read); color: #D6D1E6; max-width: 52ch; margin: 0 0 18px; }
.v2 .feat2-k, .v2 .rw2-k, .v2 .rp2-k { font: 600 .9rem var(--ui) !important; color: var(--gold-pale) !important; margin: 0 0 12px !important; }
.v2 .rw2-h { font: italic 500 1.35rem/1.3 var(--display) !important; color: #F3DDA0 !important; margin: -4px 0 12px !important; }
.v2 .feat2-p { font: 500 1.05rem var(--ui) !important; color: #E9E3F2 !important; margin: 4px 0 20px !important; }
.v2 .feat2-p b { font: 700 1.7rem var(--ui); color: #fff; }
.v2 .feat2-p em, .v2 .by-p em { font-style: normal; background: #B9443A; color: #fff; font: 700 .78rem var(--ui); padding: 3px 9px; border-radius: 99px; margin-left: 6px; vertical-align: 4px; }
.v2 .feat2 s.was, .v2 .rw2 s.was, .v2 .rp2 s.was { color: #A8A2BC; }
.v2 .mast-slim + .rw2, .v2 .mast-slim + .rp2 { margin-top: -36px; padding-top: 30px; }
@media (max-width: 860px) {
  .v2 .feat2, .v2 .rw2, .v2 .rp2 { grid-template-columns: 1fr; gap: 34px; padding-top: 44px; padding-bottom: 48px; text-align: left; }
  .v2 .feat2-bk, .v2 .rw2-bk { order: 0; }
  .v2 .bk, .v2 .bk-big { width: 230px; }
}

/* ---------- the sales page */
.v2 .rp2 { padding-bottom: 56px; }
.v2 .rp2-bk { display: flex; flex-direction: column; align-items: center; gap: 22px; }
.v2 .rp2-me { width: 100%; max-width: 340px; background: rgba(255,255,255,.06); border: 1px solid rgba(235,215,160,.28); border-radius: 18px; padding: 14px; }
.v2 .rp2-me b { display: block; font: 600 .9rem var(--ui); color: var(--gold-pale); margin: 0 0 10px; text-align: center; }
.v2 .rp2-me div { display: grid; grid-template-columns: 1fr 1.2fr; gap: 8px; }
.v2 .rp2-me input { min-width: 0; height: 44px; border-radius: 12px; border: 1px solid rgba(235,215,160,.3); background: rgba(8,11,32,.5); color: #fff; padding: 0 12px; font: 500 .95rem var(--ui); }
.v2 .rp2-me input::placeholder { color: #9C96B4; }
.v2 .rp2-ok { font: 500 .9rem var(--ui); color: #BFE6CC; margin: 0; } .v2 .rp2-ok a { color: var(--gold-pale); }
.v2 .rp2-rt { font: 500 .95rem var(--ui); color: #D6D1E6; margin: 0 0 22px; } .v2 .rp2-rt span { color: var(--yellow); letter-spacing: 2px; } .v2 .rp2-rt b { color: #fff; }
.v2 .by { background: #FFFDF9; color: var(--ink); border-radius: 22px; padding: 20px 22px 16px; max-width: 470px; box-shadow: 0 0 0 1px rgba(201,162,74,.5), 0 24px 50px -20px rgba(0,0,0,.6); }
.v2 .by-p { margin: 0; font: 500 1.1rem var(--ui); } .v2 .by-p b { font: 700 2.1rem var(--ui); color: var(--ink); } .v2 .by s.was { color: #9A93A6; }
.v2 .by-why { margin: 2px 0 14px !important; font: 500 .85rem var(--ui) !important; color: #B9443A !important; }
.v2 .by-bump { display: flex; gap: 12px; align-items: flex-start; border: 2px dashed #D9B864; background: #FFF6DA; border-radius: 14px; padding: 12px 14px; margin: 0 0 16px; cursor: pointer; text-align: left; }
.v2 .by-bump input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--green); flex: none; }
.v2 .by-bump span { font: .9rem/1.4 var(--ui); color: var(--ink); } .v2 .by-bump b { font-weight: 700; } .v2 .by-bump s { color: #9A93A6; margin-left: 4px; }
.v2 .by-bump small { display: block; color: var(--mist); font: .84rem/1.4 var(--read); margin-top: 2px; }
.v2 .by .btn3 { width: 100%; }
.v2 .by-fine { margin: 14px 0 0 !important; font: .8rem var(--ui) !important; color: var(--mist) !important; text-align: center; }
.v2 .rp-note { font: .85rem var(--ui); color: var(--green); text-align: center; margin: 10px 0 0; }

.v2 .rp2-sec { max-width: 760px; margin-left: auto; margin-right: auto; }
.v2 .rp2-sec > h2, .v2 .rp2-end h2, .v2 .g2 h2 { font: 600 clamp(1.8rem, 3vw, 2.3rem)/1.1 var(--display); margin: 0 0 18px; }
.v2 .fz { list-style: none; padding: 0; margin: 0; }
.v2 .fz li { position: relative; padding: 16px 0 16px 46px; border-bottom: 1px solid var(--hair); font: 1.06rem/1.55 var(--read); }
.v2 .fz li::before { content: '✦'; position: absolute; left: 4px; top: 14px; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--night); color: var(--gold-pale); font-size: .85rem; }

.v2 .pk2-s { font: 1rem var(--read); color: var(--mist); margin: -8px 0 22px; }
.v2 .pk2-pages { display: grid; grid-template-columns: 1.4fr 1fr; gap: 22px; }
.v2 .pk2-pg { position: relative; background: #FFFDF8; border-radius: 6px; padding: 30px 30px 26px; box-shadow: 0 1px 0 #E9DFCC, 0 22px 40px -22px rgba(31,26,46,.35); overflow: hidden;
  background-image: linear-gradient(90deg, rgba(201,162,74,.06), transparent 8%); }
.v2 .pk2-pg small { font: 600 .72rem var(--ui); letter-spacing: .18em; text-transform: uppercase; color: #9C7629; }
.v2 .pk2-pg h3 { font: 600 1.5rem/1.15 var(--display); margin: 6px 0 14px; }
.v2 .pk2-t { font: 1.08rem/1.7 var(--read); color: var(--ink); margin: 0 0 10px; }
.v2 .pk2-t::first-letter { font: 600 3.1rem/.8 var(--display); float: left; margin: 6px 8px 0 0; color: #9C7629; }
.v2 .pk2-b { font: 1.02rem/1.7 var(--read); color: var(--ink); filter: blur(4.5px); user-select: none; margin: 0; }
.v2 .pk2-pg:first-child::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 45%; background: linear-gradient(transparent, #FFFDF8 85%); }
.v2 .pk2-toc { background: var(--night); color: #E9E3F2; background-image: none; display: flex; flex-direction: column; }
.v2 .pk2-toc small { color: var(--gold-pale); }
.v2 .pk2-toc ol { margin: 14px 0 18px; padding-left: 22px; font: 1rem/1.5 var(--read); } .v2 .pk2-toc li { padding: 7px 0; border-bottom: 1px solid rgba(235,215,160,.14); }
.v2 .pk2-lock { margin-top: auto; font: 600 .85rem var(--ui); color: var(--gold-pale); }

.v2 .wr { display: grid; grid-template-columns: 200px 1fr; gap: 36px; align-items: center; }
.v2 .arch-face { aspect-ratio: 3 / 4; }
.v2 .wr-l { font: italic 1.18rem/1.65 var(--read); color: var(--ink); margin: 0 0 6px; }
.v2 .wr-sig { font: italic 600 2.2rem var(--display); color: #9C7629; margin: 0; transform: rotate(-3deg); transform-origin: left; }
.v2 .wr-n { font: .82rem var(--ui); color: var(--mist); margin: 8px 0 0; }

.v2 .st3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; margin-top: 8px; }
.v2 .st3 figure { margin: 0; }
.v2 .st3 .arch { margin: 5px 5px 18px; }
.v2 .st3 b { display: block; font: 600 1.3rem var(--display); margin-bottom: 4px; }
.v2 .st3 span:not(.arch) { font: .95rem/1.55 var(--read); color: var(--mist); }

.v2 .cs3-v2 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.v2 .cs3-v2 figure { margin: 0; background: #FFFDF9; border-radius: 20px; padding: 24px 22px 20px; box-shadow: 0 0 0 1px var(--hair), var(--lift); display: flex; flex-direction: column; }
.v2 .cs3-v2 .cs-st { color: #D9A520; letter-spacing: 3px; margin: 0 0 10px; }
.v2 .cs3-v2 blockquote { margin: 0 0 18px; font: italic 1.12rem/1.55 var(--read); color: var(--ink); }
.v2 .cs3-v2 figcaption { margin-top: auto; display: flex; align-items: center; gap: 12px; }
.v2 .cs3-v2 figcaption img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 3px #fff, 0 0 0 4px rgba(201,162,74,.5); }
.v2 .cs3-v2 figcaption b { display: block; font: 600 .95rem var(--ui); } .v2 .cs3-v2 figcaption small { color: var(--green); font: 600 .8rem var(--ui); }

.v2 .g2 { max-width: 760px; margin: 56px auto; display: grid; grid-template-columns: 130px 1fr; gap: 30px; align-items: center; background: #FFF6DA; border-radius: 26px; padding: 28px 34px; box-shadow: 0 0 0 1px #EBD7A0; }
.v2 .seal2 { width: 130px; height: 130px; filter: drop-shadow(0 8px 14px rgba(122,90,28,.35)); transform: rotate(-8deg); }
.v2 .g2 h2 { font-size: 1.7rem !important; margin-bottom: 8px !important; } .v2 .g2 p { font: 1.03rem/1.6 var(--read); margin: 0; color: var(--ink); }

.v2 .rp2-end { max-width: 760px; margin: 60px auto; display: grid; grid-template-columns: 170px 1fr; gap: 40px; align-items: center; }
.v2 .rp2-end h2 { margin: 0 0 4px; } .v2 .rp2-end > div > p { font: italic 1.1rem var(--display); color: var(--mist); margin: 0 0 16px; }
.v2 .rp2-end .by { box-shadow: 0 0 0 1px var(--hair), var(--lift); }

.v2 .rp-faq details { border-bottom: 1px solid var(--hair); }
.v2 .rp-faq summary { font: 600 1.05rem var(--ui); padding: 16px 0; cursor: pointer; }
.v2 .rp-faq details p { font: 1rem/1.6 var(--read); color: var(--ink); margin: 0 0 16px; }

/* the price that follows her */
.v2 .sbar { position: fixed; left: 50%; bottom: 18px; z-index: 520; transform: translate(-50%, 140%); transition: transform .35s cubic-bezier(.2,.8,.2,1); display: flex; align-items: center; gap: 14px; width: min(720px, calc(100% - 24px));
  background: rgba(14,18,48,.96); backdrop-filter: blur(10px); border: 1px solid rgba(235,215,160,.3); border-radius: 999px; padding: 8px 8px 8px 10px; box-shadow: 0 20px 50px -10px rgba(0,0,0,.55); }
.v2 .sbar.on { transform: translate(-50%, 0); }
.v2 .sbar-c img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; border: 2px solid #D9B864; display: block; }
.v2 .sbar-t { flex: 1; min-width: 0; color: #fff; } .v2 .sbar-t > b { display: block; font: 600 1.05rem var(--display); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2 .sbar-t small { font: .85rem var(--ui); color: #CFCADF; } .v2 .sbar-t small b { color: #fff; font-weight: 700; }
.v2 .sbar .btn3 { min-height: 48px; padding: 8px 22px; font-size: .98rem; box-shadow: 0 4px 0 #B98C1C; }
@media (max-width: 860px) {
  body.hm.v2.on-rp .tabbar { display: none; }
  .v2 .sbar { bottom: calc(10px + env(safe-area-inset-bottom, 0px)); }
  .v2 .sbar-t small { display: block; }
  .v2 .pk2-pages { grid-template-columns: 1fr; }
  .v2 .wr { grid-template-columns: 110px 1fr; gap: 20px; }
  .v2 .wr-l { font-size: 1.04rem; }
  .v2 .st3, .v2 .cs3-v2 { grid-template-columns: 1fr; gap: 26px; }
  .v2 .st3 figure { display: grid; grid-template-columns: 130px 1fr; gap: 18px; align-items: center; } .v2 .st3 .arch { margin: 4px; }
  .v2 .g2 { grid-template-columns: 1fr; text-align: center; padding: 26px 22px; justify-items: center; }
  .v2 .rp2-end { grid-template-columns: 1fr; justify-items: center; text-align: center; gap: 24px; }
  .v2 .rp2-end .by { text-align: left; }
}
@media (max-width: 520px) { .v2 .sbar-c { display: none; } .v2 .sbar { padding-left: 18px; } .v2 .pk2-pg { padding: 24px 20px 20px; } .v2 .by { padding: 18px 16px 14px; } .v2 .by-p b { font-size: 1.8rem; } }

/* tool pages: the painted scene in the arch, on the night band */
.v2 .mast.mast-has-art { display: grid; grid-template-columns: minmax(0, 1fr) 210px; column-gap: 56px; align-items: center; }
.v2 .mast.mast-has-art > :not(.mast-art) { grid-column: 1; }
.v2 .mast-art { grid-column: 2; grid-row: 1 / span 6; }
.v2 .mast-art .arch { box-shadow: 0 0 0 4px rgba(255,253,249,.12), 0 0 0 5px rgba(201,162,74,.6), 0 24px 50px -18px rgba(0,0,0,.7); }
@media (max-width: 760px) { .v2 .mast.mast-has-art { grid-template-columns: minmax(0, 1fr) 96px; column-gap: 18px; } .v2 .mast-art { grid-row: 1 / span 3; align-self: start; } }

/* home hero: Luna in the arch too */
.v2 .jb-face { border-radius: var(--arch) !important; overflow: hidden; box-shadow: 0 0 0 4px rgba(255,253,249,.1), 0 0 0 5px rgba(201,162,74,.6), 0 30px 60px -20px rgba(0,0,0,.7) !important; }
.v2 .jb-face img { border-radius: 0 !important; }
.v2 .jb-own button { box-shadow: 0 4px 0 #B98C1C; font-weight: 700; }
.v2 .jb-own button:active { transform: translateY(3px); box-shadow: 0 1px 0 #B98C1C; }
.v2 .jb-sec { margin-top: 64px; }
@media (prefers-reduced-motion: reduce) { .v2 .arch img, .v2 .sbar, .v2 .btn3 { transition: none; } }
.v2 .jb-face .jb-tags { top: 54px; left: 50%; right: auto; transform: translateX(-50%); white-space: nowrap; }
@media (max-width: 860px) { .v2 .jb-face { max-width: 300px; margin: 0 auto; } .v2 .jb-face .jb-tags { display: none; } }
/* the one starter reading gets a wide card: picture left, words right */
.v2 .ac-one .ac { grid-column: span 2; display: grid; grid-template-columns: 44% 1fr; column-gap: 24px; align-content: center; }
.v2 .ac-one .ac .arch { grid-row: 1 / span 5; }
@media (max-width: 520px) { .v2 .ac-one .ac { grid-template-columns: 42% 1fr; column-gap: 14px; } }
/* live readers, in the arch (Lord, 19 Oct) */
.v2 .lr2-s { display: flex; align-items: center; gap: 8px; font: 500 .95rem var(--ui); color: var(--mist); margin: 6px 0 0; }
.v2 .lr2-s i { width: 9px; height: 9px; border-radius: 50%; background: #2BC46B; box-shadow: 0 0 0 4px rgba(43,196,107,.18); }
.v2 .lr2-c { position: relative; }
.v2 .lr2-on { position: absolute; top: 18px; left: 50%; transform: translateX(-50%); background: #fff; color: #1F7A45; font: 700 .74rem var(--ui); padding: 4px 10px 4px 20px; border-radius: 99px; box-shadow: 0 4px 10px rgba(0,0,0,.18); }
.v2 .lr2-on::before { content: ''; position: absolute; left: 8px; top: 50%; width: 7px; height: 7px; margin-top: -3.5px; border-radius: 50%; background: #2BC46B; }
.v2 .lr2-c b em { font: 600 .82rem var(--ui); font-style: normal; color: #B98C1C; margin-left: 4px; }
.v2 .lr2-go { align-self: flex-start; margin: 12px 4px 0; background: var(--green); color: #fff; font: 700 .88rem var(--ui); padding: 9px 18px; border-radius: 99px; box-shadow: 0 3px 0 #145C32; }
.v2 .lr2-c:active .lr2-go { transform: translateY(2px); box-shadow: 0 1px 0 #145C32; }
.v2 .lr2-cats { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.v2 .lr2-cats a { text-decoration: none; color: var(--ink); font: 600 .9rem var(--ui); padding: 9px 16px; border-radius: 99px; background: #FFFDF9; box-shadow: 0 0 0 1px var(--hair); }
.v2 .lr2-cats a:hover { box-shadow: 0 0 0 1px var(--gold); }

/* ================= the lean pass (Lord, 19 Oct: "Steve Jobs will not be proud of this") =================
   One reader card. No pills on photos. One heading face (Cormorant). Fewer sections, more air. */
/* home hero: Luna in a clean arch, her name underneath, no badges */
.v2 .jb-face { border-radius: 0 !important; overflow: visible; box-shadow: none !important; max-width: 340px; }
.v2 .jb-face img { aspect-ratio: 3 / 4 !important; border-radius: var(--arch) !important; box-shadow: 0 0 0 4px rgba(255,253,249,.08), 0 0 0 5px rgba(201,162,74,.55), 0 30px 60px -20px rgba(0,0,0,.7) !important; }
.v2 .jb-face .jb-tags { display: none !important; }
.v2 .jb-face .jb-id { position: static !important; background: none !important; box-shadow: none !important; padding: 16px 0 0 !important; display: flex !important; align-items: baseline; justify-content: center; gap: 10px; color: #E9E3F2 !important; }
.v2 .jb-face .jb-id b { font: 600 1.35rem var(--display); color: #FFF7E6; }
.v2 .jb-face .jb-id b::after { content: ''; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #2BC46B; margin-left: 8px; vertical-align: 3px; box-shadow: 0 0 0 3px rgba(43,196,107,.2); }
.v2 .jb-face .jb-id span { font: 500 .9rem var(--ui); color: #CFCADF; }
.v2 .jb-face .jb-id em { font: 500 .9rem var(--ui); font-style: normal; color: var(--gold-pale); }
.v2 .jb-copy h1 { font-family: var(--display) !important; font-weight: 600 !important; letter-spacing: -.01em; line-height: 1.04 !important; }
.v2 .jb-sec { margin-top: 80px; }
.v2 .amr-h { border-bottom: 0 !important; padding-bottom: 0 !important; }
.v2 .amr-h h2 { font-size: clamp(1.8rem, 2.6vw, 2.2rem) !important; }
.v2 .feat2-more { margin: 18px 0 0 !important; font: 500 .92rem var(--ui) !important; } .v2 .feat2-more a { color: var(--gold-pale); }

/* the one reader card */
.v2 .lr2-c small { display: flex; align-items: center; gap: 6px; color: var(--mist) !important; font-weight: 600; }
.v2 .lr2-c small.on::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #2BC46B; flex: none; }
.v2 .lr2-c > span:not(.arch):not(.lr2-go) { font-style: italic; }
.v2 .lr2-go { align-self: flex-start; margin: 12px 4px 0; background: var(--green); color: #fff; font: 700 .88rem var(--ui); padding: 9px 18px; border-radius: 99px; box-shadow: 0 3px 0 #145C32; }
.v2 .lr2-c:active .lr2-go { transform: translateY(2px); box-shadow: 0 1px 0 #145C32; }
.v2 .lr2-s { display: flex; align-items: center; gap: 8px; font: 500 .95rem var(--ui); color: var(--mist); margin: 8px 0 0; }
.v2 .lr2-s i { width: 8px; height: 8px; border-radius: 50%; background: #2BC46B; box-shadow: 0 0 0 4px rgba(43,196,107,.18); }
.v2 .lr2-c b em { font: 600 .82rem var(--ui); font-style: normal; color: #B98C1C; margin-left: 4px; }
.v2 .lr2 .ac-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) { .v2 .lr2 .ac-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* category pages: the tool-page night band, an ask box, the readers, the quick readings */
.v2 .cat2 .dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #2BC46B; margin-right: 8px; box-shadow: 0 0 0 3px rgba(43,196,107,.25); }
.v2 .ask2 { display: flex; gap: 6px; max-width: 560px; margin-top: 26px; background: #FFFDF9; border-radius: 999px; padding: 6px; box-shadow: 0 0 0 4px rgba(255,253,249,.08), 0 20px 40px -18px rgba(0,0,0,.6); }
.v2 .ask2 input { flex: 1; min-width: 0; border: 0; background: none; font: 500 1.02rem var(--ui); padding: 0 16px; color: var(--ink); outline: none; }
.v2 .ask2 button { border: 0; background: var(--yellow); color: #2B2200; font: 700 1rem var(--ui); padding: 0 24px; min-height: 48px; border-radius: 999px; cursor: pointer; box-shadow: 0 4px 0 #B98C1C; }
.v2 .ask2 button:active { transform: translateY(3px); box-shadow: 0 1px 0 #B98C1C; }
.v2 .idea2 { background: none; border: 0; color: var(--gold-pale); font: 600 .88rem var(--ui); margin: 12px 0 0 18px; cursor: pointer; padding: 0; }
.v2 .cq2 { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.v2 .cq2 .ptlc { background: #FFFDF9; border-radius: 22px; box-shadow: 0 0 0 1px var(--hair), var(--lift); }
.v2 .cat2-all { text-align: center; margin: 40px 0 10px; }
.v2 .cat2-all a { display: inline-block; text-decoration: none; color: var(--ink); font: 700 1rem var(--ui); padding: 14px 26px; border-radius: 999px; box-shadow: 0 0 0 1.5px var(--ink); }
@media (max-width: 760px) { .v2 .cq2 { grid-template-columns: 1fr; } .v2 .ask2 button { padding: 0 16px; } }

/* less noise */
.v2 .st-luna { display: none !important; }
.v2 .by-why { color: #9C7629 !important; }
body.v2[data-pg="terms"] .sa-body p:first-child::first-letter, body.v2[data-pg="privacy"] .sa-body p:first-child::first-letter, body.v2[data-pg="refund"] .sa-body p:first-child::first-letter, body.v2[data-pg="disclaimer"] .sa-body p:first-child::first-letter, body.v2[data-pg="contact"] .sa-body p:first-child::first-letter { all: unset; }
.v2 .lg .sa-body p:first-child::first-letter { all: unset; }
body.hm.v2 .jb-face { display: block !important; }
body.hm.v2 .jb-face figcaption.jb-id { position: static !important; display: flex !important; flex-wrap: wrap; grid-template-columns: none !important; background: none !important; padding: 16px 0 0 !important; justify-content: center; align-items: baseline; gap: 4px 10px; }
body.hm.v2 .jb-face .jb-id > * { grid-column: auto !important; grid-row: auto !important; margin: 0 !important; align-self: baseline !important; }
/* reader cards: the buttons line up */
.v2 .lr2-c .lr2-go { margin-top: auto !important; } .v2 .lr2-c > span:not(.arch):not(.lr2-go) { margin-bottom: 12px !important; }
.v2 .cq2 { grid-template-columns: minmax(0, 560px); justify-content: center; } .v2 .cq2 .ptlc + .ptlc { display: none; }
.v2 .cat2 .lr2-s { display: none; }
.v2 .idea2 { display: block; margin: 12px 0 0 22px; text-align: left; }
body.hm.v2 .jb-face { aspect-ratio: auto !important; overflow: visible !important; border-radius: 0 !important; box-shadow: none !important; position: relative; }
body.hm.v2 .jb-face img { position: static !important; width: 100% !important; height: auto !important; aspect-ratio: 3 / 4 !important; object-fit: cover; object-position: 50% 30%; }
@media (max-width: 860px) { body.hm.v2 .jb-face { max-width: 230px !important; margin: 0 auto 6px !important; } body.hm.v2 .jb-face figcaption.jb-id { display: flex !important; padding-top: 10px !important; } }

/* ================= tools, lean (Lord, 19 Oct) ================= */
/* the form sits in the night band, under the promise, next to the painting */
.v2 .mast.mast-form > form, .v2 .mast.mast-form > .lt-sit { margin-top: 28px; max-width: 760px; }
.v2 .mast.mast-form .tf, .v2 .mast.mast-form .ct-form { background: rgba(255,255,255,.06); border: 1px solid rgba(235,215,160,.28); border-radius: 22px; padding: 16px; box-shadow: none; }
.v2 .mast.mast-form label > span, .v2 .mast.mast-form legend { color: var(--gold-pale) !important; }
.v2 .mast.mast-form small { color: #A8A2BC; }
.v2 .mast.mast-form input, .v2 .mast.mast-form select { background: #FFFDF9 !important; border-color: transparent !important; color: var(--ink) !important; }
.v2 .mast.mast-form .btn-yellow { box-shadow: 0 4px 0 #B98C1C; font-weight: 700; }
.v2 .mast.mast-form .btn-yellow:active { transform: translateY(3px); box-shadow: 0 1px 0 #B98C1C; }
.v2 .mast.mast-form .ct-and { color: #F09AB0; }
.v2 .mast.mast-form .lt-sit { display: flex; flex-wrap: wrap; gap: 10px; }
.v2 .mast.mast-form .lt-sit button { background: rgba(255,255,255,.08); color: #FFF7E6; border: 1px solid rgba(235,215,160,.4); border-radius: 999px; padding: 12px 20px; font: 600 .98rem var(--ui); cursor: pointer; }
.v2 .mast.mast-form .lt-sit button:hover, .v2 .mast.mast-form .lt-sit button.on { background: var(--yellow); color: #2B2200; border-color: var(--yellow); }
.v2 .mast.mast-form .tf { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }

/* go deeper: the reading this tool sells, as a book */
.v2 .dp2 { max-width: 860px; margin: 72px auto 0; display: grid; grid-template-columns: 170px 1fr; gap: 44px; align-items: center; background: #FFFDF9; border-radius: 28px; padding: 34px 40px; box-shadow: 0 0 0 1px var(--hair), var(--lift); }
.v2 .dp2-k { font: 600 .85rem var(--ui); color: #9C7629; margin: 0 0 4px; }
.v2 .dp2 h2 { font: 600 2rem/1.1 var(--display); margin: 0 0 8px; }
.v2 .dp2 > div > p:not(.dp2-k):not(.feat2-p) { font: 1.05rem/1.6 var(--read); color: var(--ink); margin: 0 0 12px; }
.v2 .dp2 .feat2-p { color: var(--ink) !important; margin: 0 0 16px !important; } .v2 .dp2 .feat2-p b { color: var(--ink); } .v2 .dp2 s.was { color: #9A93A6; }
@media (max-width: 700px) { .v2 .dp2 { grid-template-columns: 1fr; justify-items: center; text-align: center; padding: 28px 20px; gap: 22px; } }

/* horoscopes: the sign grid as twelve calm tiles; a sign's day as four short notes */
.v2 .hs-grid { gap: 14px; }
.v2 .hs-grid a { background: #FFFDF9; border: 0; border-radius: 999px 999px 20px 20px; box-shadow: 0 0 0 1px var(--hair), var(--lift); padding: 22px 8px 16px; }
.v2 .hs-grid a i { font-size: 1.9rem; color: #9C7629; }
.v2 .hs-grid a b { font: 600 1.15rem var(--display); }
.v2 .hs2 h1 i { font-style: normal; color: var(--gold-pale); margin-right: 14px; font-size: .85em; }
.v2 .hs2-areas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; max-width: 860px; margin: 0 auto; }
.v2 .hs2-areas > div { background: #FFFDF9; border-radius: 22px; padding: 22px 26px; box-shadow: 0 0 0 1px var(--hair), var(--lift); }
.v2 .hs2-areas h3 { font: 600 .9rem var(--ui); color: #9C7629; margin: 0 0 6px; }
.v2 .hs2-areas p { font: 1.12rem/1.6 var(--read); margin: 0; }
.v2 .hs2-about { max-width: 860px; margin: 48px auto 0; } .v2 .hs2-about h2 { font: 600 1.8rem var(--display); margin: 0 0 8px; } .v2 .hs2-about p { font: 1.08rem/1.7 var(--read); margin: 0; }
@media (max-width: 700px) { .v2 .hs2-areas { grid-template-columns: 1fr; gap: 14px; } }

/* articles: same cards, softer */
.v2 .st-agrid img, .v2 .ar-lead-pic img { border-radius: 18px; }
.v2 .st-a b, .v2 .ar-lead-t b { font-family: var(--display); font-weight: 600; }
.v2 .mast.mast-form > form, .v2 .mast.mast-form > .lt-sit { grid-column: 1 / -1 !important; }
@media (min-width: 761px) { .v2 .mast.mast-form > form, .v2 .mast.mast-form > .lt-sit { grid-column: 1 !important; } }
@media (max-width: 700px) { .v2 .dp2 .bk-sm { width: 140px; } }

/* ================= products (Lord, 19 Oct: "too much image, space wasted") =================
   A small picture, the name, the Halbert line, the price. Two to a row; the words do the selling. */
.v2 .pc2-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 22px; }
.v2 .pc2 { display: grid; grid-template-columns: 128px 1fr; gap: 18px; align-items: center; text-decoration: none; color: var(--ink); background: #FFFDF9; border-radius: 20px; padding: 12px 18px 12px 12px; box-shadow: 0 0 0 1px var(--hair), 0 10px 24px -18px rgba(31,26,46,.35); transition: box-shadow .2s, transform .2s; }
.v2 .pc2:hover { box-shadow: 0 0 0 1px var(--gold), 0 18px 34px -20px rgba(31,26,46,.45); transform: translateY(-2px); }
.v2 .pc2-i { display: block; aspect-ratio: 1; border-radius: 14px; overflow: hidden; background: var(--night-2); }
.v2 .pc2-i img { width: 100%; height: 100%; object-fit: cover; display: block; }
.v2 .pc2-t { display: flex; flex-direction: column; min-width: 0; }
.v2 .pc2-t small { font: 600 .76rem var(--ui); color: #9C7629; margin-bottom: 2px; } .v2 .pc2-t small em { font-style: normal; color: #B9443A; }
.v2 .pc2-t > b { font: 600 1.32rem/1.15 var(--display); color: var(--ink); }
.v2 .pc2-t > span:not(.pc2-p) { font: italic .95rem/1.45 var(--read); color: #4A4458; margin-top: 4px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.v2 .pc2-p { display: flex; align-items: baseline; gap: 8px; margin-top: 10px; font: 500 .9rem var(--ui); }
.v2 .pc2-p b { font: 700 1.1rem var(--ui); color: var(--ink); }
.v2 .pc2-p i { margin-left: auto; font-style: normal; font-weight: 700; color: var(--green); }
@media (max-width: 760px) { .v2 .pc2-grid { grid-template-columns: 1fr; gap: 12px; } .v2 .pc2 { grid-template-columns: 96px 1fr; gap: 14px; padding: 10px 14px 10px 10px; } .v2 .pc2-t > b { font-size: 1.18rem; } .v2 .pc2-t > span:not(.pc2-p) { font-size: .9rem; } }
/* the store: one line of categories under the title */
.v2 .st2-nav { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.v2 .st2-nav a { text-decoration: none; color: #FFF7E6; font: 600 .92rem var(--ui); padding: 9px 18px; border-radius: 999px; border: 1px solid rgba(235,215,160,.4); }
.v2 .st2-nav a:hover { background: var(--yellow); color: #2B2200; border-color: var(--yellow); }
.v2 .st2-g { scroll-margin-top: 90px; }
.v2 .st2-g:first-of-type { margin-top: 0; }
.v2 #hm > .rp2:first-child, .v2 #hm > .rw2:first-child { margin-top: 0; }
/* hero, aligned (Lord, 20 Oct): the arch runs exactly from the top of the headline to the bottom of the proof bar; Luna's name sits inside it */
@media (min-width: 861px) {
  body.hm.v2 .jb-in { align-items: stretch !important; min-height: 0 !important; max-height: none !important; padding: 52px 28px !important; grid-template-columns: 320px minmax(0, 1fr) !important; gap: 56px !important; }
  body.hm.v2 .jb-face { position: relative !important; height: 100% !important; max-width: none !important; margin: 0 !important; border-radius: var(--arch) !important; overflow: hidden !important;
    box-shadow: 0 0 0 4px rgba(255,253,249,.08), 0 0 0 5px rgba(201,162,74,.55), 0 30px 60px -20px rgba(0,0,0,.7) !important; }
  body.hm.v2 .jb-face img { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; aspect-ratio: auto !important; border-radius: 0 !important; box-shadow: none !important; object-position: 50% 30%; }
  body.hm.v2 .jb-face figcaption.jb-id { position: absolute !important; left: 0; right: 0; bottom: 0; padding: 60px 18px 16px !important; background: linear-gradient(transparent, rgba(8,11,32,.88)) !important; justify-content: center; }
  body.hm.v2 .jb-copy { display: flex; flex-direction: column; justify-content: center; }
  body.hm.v2 .jb-copy > :first-child { margin-top: 0 !important; } body.hm.v2 .jb-copy > :last-child { margin-bottom: 0 !important; }
}
.v2 #hm { padding-bottom: 0 !important; } .v2 #hm > section:last-child { margin-bottom: 72px; }

/* ================= the store (Lord, 20 Oct) ================= */
.v2 [hidden] { display: none !important; }
.v2 .mast.st3 { display: grid; grid-template-columns: minmax(0, 1fr) 400px; column-gap: 56px; align-items: center; padding-top: 44px; padding-bottom: 44px; }
.v2 .st3-t h1 { margin-bottom: 12px; }
/* the 3-tap chooser */
.v2 .qz { background: #FFFDF9; color: var(--ink); border-radius: 24px; padding: 22px 22px 18px; box-shadow: 0 0 0 1px rgba(201,162,74,.5), 0 30px 60px -24px rgba(0,0,0,.7); min-height: 300px; }
.v2 .qz-k { display: flex; justify-content: space-between; font: 700 .8rem var(--ui) !important; color: #9C7629 !important; margin: 0 0 6px !important; letter-spacing: .02em; }
.v2 .qz-k span { color: var(--mist); font-weight: 600; }
.v2 .qz h3 { font: 600 1.45rem/1.15 var(--display); color: var(--ink); margin: 0 0 14px; }
.v2 .qz-o { display: grid; gap: 8px; }
.v2 .qz-o button { text-align: left; background: #F7F2EA; border: 1px solid var(--hair); border-radius: 14px; padding: 12px 16px; font: 600 .98rem var(--ui); color: var(--ink); cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
.v2 .qz-o button::after { content: '›'; color: #9C7629; font-size: 1.2rem; }
.v2 .qz-o button:hover { border-color: var(--gold); background: #FFF6DA; }
.v2 .qz-back { background: none; border: 0; color: var(--mist); font: 600 .85rem var(--ui); margin-top: 12px; padding: 0; cursor: pointer; }
.v2 .qz-pick, .v2 .qz-rd { display: grid; grid-template-columns: 64px 1fr; gap: 12px; align-items: center; text-decoration: none; color: var(--ink); border: 1px solid var(--hair); border-radius: 16px; padding: 8px; margin-bottom: 8px; }
.v2 .qz-pick:hover, .v2 .qz-rd:hover { border-color: var(--gold); }
.v2 .qz-pick img, .v2 .qz-rd img { width: 64px; height: 64px; border-radius: 12px; object-fit: cover; }
.v2 .qz-pick b, .v2 .qz-rd b { display: block; font: 600 1.1rem/1.15 var(--display); }
.v2 .qz-pick small { display: block; font: italic .86rem/1.35 var(--read); color: #4A4458; margin: 2px 0 4px; }
.v2 .qz-pick em { font: 700 .95rem var(--ui); font-style: normal; } .v2 .qz-pick em s { font-weight: 400; color: #9A93A6; }
.v2 .qz-pair { grid-template-columns: 44px 1fr; padding: 6px 8px; } .v2 .qz-pair img { width: 44px; height: 44px; } .v2 .qz-pair b { font-size: .98rem; }
.v2 .qz-rd { grid-template-columns: 56px 1fr auto; } .v2 .qz-rd img { border-radius: 50%; width: 56px; height: 56px; } .v2 .qz-rd b em { font: 600 .8rem var(--ui); font-style: normal; color: #B98C1C; }
.v2 .qz-rd small { display: flex; align-items: center; gap: 6px; font: 500 .8rem var(--ui); color: var(--mist); } .v2 .qz-rd small i { width: 7px; height: 7px; border-radius: 50%; background: #2BC46B; }
.v2 .qz-rd .lr2-go { margin: 0 4px 0 0; }
.v2 .qz-or { font: 600 .8rem var(--ui) !important; color: var(--mist) !important; margin: 6px 0 8px !important; }
/* the category bar stays at the top while she scrolls */
.v2 .st2-bar { position: sticky; top: 68px; z-index: 300; display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin: 0 calc(50% - 50vw); padding: 12px 16px; background: rgba(247,242,234,.94); backdrop-filter: blur(8px); border-bottom: 1px solid var(--hair); }
.v2 .st2-bar a { text-decoration: none; color: var(--ink); font: 600 .9rem var(--ui); padding: 8px 16px; border-radius: 999px; background: #FFFDF9; box-shadow: 0 0 0 1px var(--hair); }
.v2 .st2-bar a:hover { box-shadow: 0 0 0 1px var(--gold); }
.v2 .st2-g { scroll-margin-top: 140px; } .v2 #g-top { margin-top: 40px; }
.v2 .st2-all { text-align: center; margin: 18px 0 0; }
.v2 .st2-all button { background: #FFFDF9; border: 0; box-shadow: 0 0 0 1.5px var(--ink); border-radius: 999px; padding: 11px 22px; font: 700 .92rem var(--ui); color: var(--ink); cursor: pointer; }
.v2 .bd2-h { font: 600 1.4rem var(--display); margin: 36px 0 0; }
/* reading + ritual bundles */
.v2 .bd2 { display: grid; grid-template-columns: 128px 1fr; gap: 18px; align-items: center; text-decoration: none; color: var(--ink); background: #FFF6DA; border-radius: 20px; padding: 12px 18px 12px 12px; box-shadow: 0 0 0 1px #EBD7A0; }
.v2 .bd2:hover { box-shadow: 0 0 0 1px var(--gold), 0 18px 34px -20px rgba(31,26,46,.45); }
.v2 .bd2-i { position: relative; aspect-ratio: 1; }
.v2 .bd2-i img { position: absolute; width: 74%; aspect-ratio: 1; object-fit: cover; border-radius: 12px; box-shadow: 0 6px 14px rgba(0,0,0,.25); }
.v2 .bd2-i img:first-child { left: 0; top: 0; } .v2 .bd2-i img:last-child { right: 0; bottom: 0; border: 3px solid #FFF6DA; }
.v2 .bd2-t { display: flex; flex-direction: column; min-width: 0; }
.v2 .bd2-t small { font: 700 .76rem var(--ui); color: #9C7629; } .v2 .bd2-t > b { font: 600 1.22rem/1.15 var(--display); }
.v2 .bd2-t > span:not(.pc2-p) { font: italic .92rem/1.4 var(--read); color: #4A4458; margin-top: 4px; }
/* one compact proof row */
.v2 .pf2 { display: grid; grid-template-columns: auto 1fr 1fr 110px; gap: 26px; align-items: center; margin: 64px 0 0; padding: 22px 26px; background: #FFFDF9; border-radius: 24px; box-shadow: 0 0 0 1px var(--hair); }
.v2 .pf2-r b { display: block; font: 700 1.8rem var(--ui); color: var(--ink); } .v2 .pf2-r small { font: 500 .85rem var(--ui); color: var(--mist); }
.v2 .pf2 figure { margin: 0; display: flex; gap: 12px; align-items: flex-start; }
.v2 .pf2 figure img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; flex: none; }
.v2 .pf2 blockquote { margin: 0; font: italic .95rem/1.45 var(--read); } .v2 .pf2 cite { display: block; font: 600 .8rem var(--ui); font-style: normal; color: var(--mist); margin-top: 4px; }
.v2 .pf2 .seal2 { width: 100px; height: 100px; }
/* one slim live strip */
.v2 .lv2 { display: flex; align-items: center; gap: 18px; margin: 28px 0 72px; padding: 16px 22px; background: var(--night); border-radius: 999px; text-decoration: none; color: #fff; }
.v2 .lv2-f { display: flex; } .v2 .lv2-f img { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; border: 2px solid var(--night); margin-left: -10px; } .v2 .lv2-f img:first-child { margin-left: 0; }
.v2 .lv2-t { flex: 1; min-width: 0; } .v2 .lv2-t b { display: block; font: 600 1.25rem var(--display); }
.v2 .lv2-t small { display: flex; align-items: center; gap: 7px; font: 500 .88rem var(--ui); color: #CFCADF; } .v2 .lv2-t small i { width: 8px; height: 8px; border-radius: 50%; background: #2BC46B; }
.v2 .lv2 .lr2-go { margin: 0; }
@media (max-width: 900px) {
  .v2 .mast.st3 { grid-template-columns: 1fr; row-gap: 24px; }
  .v2 .st2-bar { top: 60px; justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; }
  .v2 .st2-bar a { white-space: nowrap; }
  .v2 .pf2 { grid-template-columns: 1fr; gap: 16px; } .v2 .pf2 .seal2 { display: none; }
  .v2 .lv2 { border-radius: 24px; flex-wrap: wrap; } .v2 .lv2 .lr2-go { width: 100%; text-align: center; }
  .v2 .bd2 { grid-template-columns: 96px 1fr; gap: 14px; }
}
.v2 .qz-rd .lr2-go { color: #fff !important; font-size: .82rem; padding: 8px 14px; white-space: nowrap; }
/* leaner tool cards (Lord, 20 Oct): a short arch, one line under it */
.v2 .ac-t .arch { aspect-ratio: 1 / 1; }
.v2 .ac-t b { font-size: 1.18rem; }
.v2 .ac-t > span:not(.arch) { font-size: .9rem !important; line-height: 1.4 !important; }
/* two columns on tool, horoscope and category pages */
.v2 .two2 { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 36px; align-items: start; }
.v2 .two2-st { position: sticky; top: 88px; display: grid; gap: 18px; }
.v2 .two2-s .ptlc { background: #FFFDF9; border-radius: 22px; box-shadow: 0 0 0 1px var(--hair), var(--lift); margin: 0; }
.v2 .two2-m > :first-child { margin-top: 0 !important; }
.v2 .two2-m .jb-sec { margin-top: 56px; }
.v2 .two2-m .lr2 .ac-grid, .v2 .two2-m .ac-grid.ac-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 20px; }
.v2 .two2-m .dp2 { margin: 0; max-width: none; padding: 26px 30px; gap: 30px; grid-template-columns: 140px 1fr; }
.v2 .two2-m .dp2 .bk-sm { width: 140px; }
.v2 .two2-m .hs-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.v2 .two2-m .hs2-areas, .v2 .two2-m .hs2-about { max-width: none; }
.v2 .two2-m .cat2-all { text-align: left; }
@media (max-width: 960px) { .v2 .two2 { grid-template-columns: 1fr; } .v2 .two2-st { position: static; } .v2 .two2-m .lr2 .ac-grid, .v2 .two2-m .ac-grid.ac-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .v2 .two2-m .hs-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.v2 .two2-m .lr2 .ac-grid, .v2 .two2-m .ac-grid.ac-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 26px 16px; }
.v2 .two2-m .lr2-c b { font-size: 1.1rem; } .v2 .two2-m .lr2-c > span:not(.arch):not(.lr2-go) { font-size: .86rem; }
.v2 .two2-m .lr2-go { padding: 8px 14px; font-size: .82rem; }
@media (max-width: 960px) { .v2 .two2-m .lr2 .ac-grid, .v2 .two2-m .ac-grid.ac-4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
/* store header, compact (Lord, 20 Oct): the choices are one row; each opens its own page */
.v2 .mast.st4 { padding-top: 38px; padding-bottom: 34px; }
.v2 .mast.st4 h1 { margin-bottom: 18px; max-width: none; }
.v2 .st4-q { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.v2 .st4-q b { font: 600 1.05rem var(--display); color: var(--gold-pale); margin-right: 6px; font-style: italic; }
.v2 .st4-q a { text-decoration: none; color: #FFF7E6; font: 600 .95rem var(--ui); padding: 11px 20px; border-radius: 999px; background: rgba(255,255,255,.07); border: 1px solid rgba(235,215,160,.45); }
.v2 .st4-q a:hover, .v2 .st4-q a.on { background: var(--yellow); color: #2B2200; border-color: var(--yellow); box-shadow: 0 4px 0 #B98C1C; }
/* her match */
.v2 .fm2 { margin-top: 8px; }
.v2 .fm2-g { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; margin-top: 18px; align-items: start; }
.v2 .fm2-main { display: grid; gap: 10px; }
.v2 .pc2-big { grid-template-columns: 170px 1fr; padding: 14px 22px 14px 14px; } .v2 .pc2-big .pc2-t > b { font-size: 1.6rem; } .v2 .pc2-big .pc2-t > span:not(.pc2-p) { -webkit-line-clamp: 3; font-size: 1.02rem; }
.v2 .fm2-plus { font: 600 .85rem var(--ui) !important; color: #9C7629 !important; margin: 4px 0 0 6px !important; }
.v2 .fm2-buy { background: #FFF6DA; border-radius: 22px; padding: 20px; box-shadow: 0 0 0 1px #EBD7A0; }
.v2 .fm2-buy small { font: 700 .8rem var(--ui); color: #9C7629; }
.v2 .fm2-buy .feat2-p { color: var(--ink) !important; margin: 2px 0 8px !important; } .v2 .fm2-buy .feat2-p b { color: var(--ink); } .v2 .fm2-buy s.was { color: #9A93A6; }
.v2 .fm2-buy > p:not(.feat2-p):not(.fm2-or) { font: italic .95rem/1.5 var(--read); margin: 0 0 14px; }
.v2 .fm2-buy .btn3 { width: 100%; }
.v2 .fm2-or { font: 600 .8rem var(--ui) !important; color: var(--mist) !important; margin: 16px 0 8px !important; }
.v2 .fm2-buy .qz-rd { background: #FFFDF9; }
@media (max-width: 900px) { .v2 .fm2-g { grid-template-columns: 1fr; } .v2 .pc2-big { grid-template-columns: 110px 1fr; } }
.v2 .mast + .st2-bar { margin-top: -48px; } @media (max-width: 600px) { .v2 .mast + .st2-bar { margin-top: -30px; } }
.v2 .st4-find { display: inline-flex; gap: 6px; margin-top: 4px; text-decoration: none; color: #D6D1E6; font: 500 1rem var(--ui); }
.v2 .st4-find b { color: var(--yellow); font-weight: 700; } .v2 .st4-find:hover b { text-decoration: underline; }
/* the quiz page: one question per screen, on the night sky */
.v2 .qz2 { margin: 0 calc(50% - 50vw); padding: 64px calc(50vw - 50% + 0px) 80px; background: radial-gradient(900px 500px at 50% 0%, #262C6E 0%, var(--night) 60%, #080B20 100%); min-height: calc(100vh - 68px); }
.v2 .qz2-c { max-width: 640px; margin: 0 auto; text-align: center; }
.v2 .qz2-k { font: 700 .85rem var(--ui); color: var(--gold-pale); margin: 0 0 10px; }
.v2 .qz2 h1 { color: #FFF7E6; font: 600 clamp(2rem, 4vw, 2.8rem)/1.1 var(--display); margin: 0 0 28px; }
.v2 .qz2-o { display: grid; gap: 12px; }
.v2 .qz2-o a { display: flex; justify-content: space-between; align-items: center; text-decoration: none; text-align: left; background: #FFFDF9; color: var(--ink); font: 600 1.08rem var(--ui); padding: 18px 22px; border-radius: 18px; box-shadow: 0 4px 0 rgba(201,162,74,.55); }
.v2 .qz2-o a::after { content: '›'; color: #9C7629; font-size: 1.4rem; }
.v2 .qz2-o a:hover { background: var(--yellow); box-shadow: 0 4px 0 #B98C1C; } .v2 .qz2-o a:hover::after { color: #2B2200; }
.v2 .qz2-back { display: inline-block; margin-top: 24px; color: #CFCADF; text-decoration: none; font: 600 .92rem var(--ui); }
.v2 #hm > .mast-slim + .qz2 { margin-top: -36px; }

/* ================= list cards (Lord, 20 Oct: "a jumble list") =================
   Every person or tool in a big list sits in its own soft card; the button fills the bottom so rows read as separate cards. */
.v2 .ac { background: #FFFDF9; border-radius: 24px; padding: 10px 10px 14px; box-shadow: 0 0 0 1px var(--hair), 0 14px 30px -22px rgba(31,26,46,.45); transition: box-shadow .2s, transform .2s; }
.v2 .ac:hover { box-shadow: 0 0 0 1px var(--gold), 0 22px 40px -24px rgba(31,26,46,.55); transform: translateY(-2px); }
.v2 .ac .arch { margin: 0 0 14px !important; box-shadow: none !important; border-radius: 999px 999px 14px 14px; }
.v2 .ac b, .v2 .ac small, .v2 .ac > span:not(.arch):not(.ac-p):not(.lr2-go) { margin-left: 8px !important; margin-right: 8px !important; }
.v2 .lr2-c .lr2-go { align-self: stretch !important; text-align: center; margin: 14px 4px 0 !important; padding: 11px 14px !important; }
.v2 .ac-grid { gap: 22px 18px !important; }
.v2 .two2-m .lr2-c .lr2-go { padding: 10px 10px !important; }

/* painting on the left, words and the question box on the right, like the homepage (Lord, 20 Oct) */
.v2 .mast.mast-has-art { grid-template-columns: 230px minmax(0, 1fr) !important; column-gap: 56px !important; }
.v2 .mast.mast-has-art > :not(.mast-art) { grid-column: 2 !important; }
.v2 .mast.mast-has-art > .mast-art { grid-column: 1 !important; grid-row: 1 / span 9 !important; align-self: center; }
@media (max-width: 760px) {
  .v2 .mast.mast-has-art { grid-template-columns: 92px minmax(0, 1fr) !important; column-gap: 18px !important; }
  .v2 .mast.mast-has-art > .mast-art { grid-row: 1 / span 3 !important; align-self: start; }
  .v2 .mast.mast-form > form, .v2 .mast.mast-form > .lt-sit, .v2 .mast.cat2 > .ask2, .v2 .mast.cat2 > .idea2 { grid-column: 1 / -1 !important; }
}
/* three readers to a row, everywhere (Lord, 20 Oct) */
.v2 .lr2 .ac-grid, .v2 .two2-m .lr2 .ac-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
@media (max-width: 700px) { .v2 .lr2 .ac-grid, .v2 .two2-m .lr2 .ac-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
/* tighter header bands (Lord, 20 Oct): less padding above and below; the painting no taller than the words */
.v2 .mast.mast-has-art { padding-top: 30px !important; padding-bottom: 30px !important; grid-template-columns: 190px minmax(0, 1fr) !important; column-gap: 48px !important; }
.v2 .mast.mast-has-art .mast-art .arch { max-height: 250px; aspect-ratio: 3 / 4; width: auto; margin: 0 auto; }
.v2 .mast.mast-has-art h1 { margin-bottom: 10px !important; }
.v2 .mast.mast-has-art .amr-k { margin-bottom: 8px !important; }
.v2 .mast.mast-has-art .ask2, .v2 .mast.mast-form > form, .v2 .mast.mast-form > .lt-sit { margin-top: 18px !important; }
.v2 .ask2 input { border: 0 !important; box-shadow: none !important; background: transparent !important; }
.v2 .mast + .two2, .v2 .mast + .jb-sec { margin-top: -12px; }
@media (max-width: 760px) { .v2 .mast.mast-has-art { padding-top: 22px !important; padding-bottom: 22px !important; grid-template-columns: 84px minmax(0, 1fr) !important; } }
.v2 .two2 { margin-bottom: 56px; } .v2 .two2-m > :last-child, .v2 .two2-m > :last-child .jb-sec { margin-bottom: 0 !important; }
@media (min-width: 861px) { .v2 .mast.mast-form .tf { grid-template-columns: repeat(4, minmax(0, 1fr)) auto !important; align-items: end; } .v2 .mast.mast-form .tf .btn { grid-column: auto !important; white-space: nowrap; } }
/* the painting is exactly as tall as the words beside it (Lord, 20 Oct: "so much wasted space") */
@media (min-width: 761px) {
  .v2 .mast.mast-has-art { grid-template-columns: 170px minmax(0, 1fr) !important; padding-top: 26px !important; padding-bottom: 26px !important; }
  .v2 .mast.mast-has-art > .mast-art { align-self: stretch !important; display: flex; }
  .v2 .mast.mast-has-art > .mast-art .arch { height: 100% !important; max-height: none !important; width: 100% !important; aspect-ratio: auto !important; min-height: 190px; }
}
.v2 .idea2 { margin-top: 8px !important; }
.v2 .mast.mast-has-art p:not(.amr-k) { margin-bottom: 0 !important; }
@media (min-width: 861px) {
  .v2 .mast.mast-form .ct-form { display: grid !important; grid-template-columns: 1fr auto 1fr !important; gap: 8px 14px !important; padding: 12px 14px !important; }
  .v2 .mast.mast-form .ct-form > .btn { grid-column: 1 / -1; min-height: 46px; }
  .v2 .mast.mast-form .ct-form fieldset { margin: 0; padding: 0; border: 0; }
  .v2 .mast.mast-has-art > .mast-art .arch { max-height: 300px !important; }
  .v2 .mast.mast-has-art > .mast-art { align-self: center !important; }
}
/* two columns start together (Lord, 20 Oct): the night header sits in the main column, like the Live Reading page; the sidebar starts at its top */
.v2 .two2 { margin-top: 28px; }
.v2 .two2-m > .mast { margin: 0 0 32px !important; padding: 26px 28px !important; border-radius: 26px; max-width: none; }
.v2 .two2-m > .mast::before { border-radius: 26px; }
.v2 .two2-m > .mast h1 { font-size: clamp(1.9rem, 3vw, 2.5rem) !important; }
.v2 .two2-m > .mast.mast-has-art { grid-template-columns: 150px minmax(0, 1fr) !important; column-gap: 28px !important; }
.v2 .two2-st { top: 84px; }
@media (max-width: 960px) { .v2 .two2 { margin-top: 0; } .v2 .two2-m > .mast { margin: 0 calc(50% - 50vw) 28px !important; border-radius: 0; padding: 22px 18px !important; } }
@media (min-width: 861px) {
  .v2 .two2-m .mast.mast-form .tf { grid-template-columns: 1fr 1fr !important; gap: 10px !important; padding: 14px !important; }
  .v2 .two2-m .mast.mast-form .tf .btn { grid-column: 1 / -1 !important; }
  .v2 .two2-m .mast.mast-form .ct-form { grid-template-columns: 1fr !important; }
  .v2 .two2-m .mast.mast-form .ct-and { display: none; }
  .v2 .two2-m .mast.mast-form > form, .v2 .two2-m .mast.mast-form > .lt-sit { grid-column: 1 / -1 !important; }
  .v2 .two2-m .mast.mast-has-art > .mast-art { grid-row: 1 / span 4 !important; align-self: start !important; }
}

/* one Ask Free box on every page (Lord, 20 Oct): white pill, yellow Ask Free, "Give me an idea" centred under it */
.v2 .ask2 { max-width: 560px; }
.v2 .idea2, .v2 .mast .idea2 { display: block !important; width: 100%; max-width: 560px; margin: 10px 0 0 !important; text-align: center !important; color: var(--gold-pale) !important; font: 600 .88rem var(--ui) !important; }
.v2 .idea2:hover { color: #FFF7E6 !important; }
/* exit pop (Lord, 20 Oct): one reader, a blurred first line of her answer, Ask <name> Free, a "no" that costs her something. No AI line here: that lives in the footer */
.xp3 .xp-c { width: min(540px, calc(100vw - 32px)) !important; max-width: 540px; padding: 30px 28px 22px !important; }
.xp3 h2 { font-size: 1.75rem !important; margin: 0 0 18px !important; }
.xp3-r { display: flex; gap: 16px; align-items: center; text-align: left; background: rgba(255,253,249,.07); border: 1px solid rgba(235,215,160,.22); border-radius: 18px; padding: 14px; margin-bottom: 16px; }
.xp3-r img { width: 92px; height: 116px; flex: none; object-fit: cover; border-radius: 999px 999px 10px 10px; box-shadow: 0 0 0 3px rgba(255,253,249,.12), 0 0 0 4px rgba(201,162,74,.6); }
.xp3-r b { display: block; font: 600 1.25rem/1.2 'Cormorant Garamond', Georgia, serif; color: #FFF7E6; }
.xp3-r span { display: flex; align-items: center; gap: 6px; font: 500 .8rem 'Outfit', sans-serif; color: #BDEFD0; margin: 3px 0 8px; }
.xp3-r span i { width: 7px; height: 7px; border-radius: 50%; background: #3FB86B; flex: none; }
.xp3-t { margin: 0 !important; font: italic 400 .95rem/1.45 'Lora', Georgia, serif !important; color: #E3DDF0 !important; }
.xp3-r .xp3-t .xp3-b { display: inline; margin: 0; font: inherit; color: inherit; filter: blur(3.5px); user-select: none; }
.xp3-r em { display: block; margin-top: 6px; font: 700 .8rem 'Outfit', sans-serif; font-style: normal; color: #EBD7A0; }
.xp3 .xp2-in { border-radius: 999px !important; padding: 6px 6px 6px 18px !important; }
.xp3 .xp2-in input { font: 500 1rem 'Outfit', sans-serif !important; font-style: normal !important; }
.xp3 .xp2-in .btn { border-radius: 999px !important; }
.xp3-no { display: block; margin: 4px auto 0; background: none; border: 0; padding: 4px; font: 500 .8rem 'Outfit', sans-serif; color: #9E96B8; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.xp3-no:hover { color: #D9D3E8; }
@media (max-width: 480px) { .xp3-r img { width: 72px; height: 92px; } .xp3 .xp2-in { flex-direction: column !important; border-radius: 18px !important; padding: 6px !important; } .xp3 .xp2-in .btn { width: 100% !important; } }
/* exit pop headline (Lord, 20 Oct: "needs to be highlighted more"): a gold "Before You Go" between two lines of light, the promise big, FREE. in gold foil */
.xp3 h2.xp3-h { margin: 0 0 20px !important; line-height: 1 !important; }
.xp3-k { display: flex; align-items: center; justify-content: center; gap: 14px; font: italic 500 1.25rem 'Cormorant Garamond', Georgia, serif; color: #EBD7A0; letter-spacing: .02em; margin-bottom: 10px; }
.xp3-k::before, .xp3-k::after { content: ''; height: 1px; width: 64px; background: linear-gradient(90deg, transparent, #C9A24A); }
.xp3-k::after { transform: scaleX(-1); }
.xp3-m { display: block; font: 600 2.6rem/1.05 'Cormorant Garamond', Georgia, serif; color: #FFF7E6; text-shadow: 0 2px 24px rgba(201,162,74,.25); }
.xp3-f { display: inline-block; margin-top: 4px; font: 700 3.6rem/1 'Cormorant Garamond', Georgia, serif; letter-spacing: .04em; background: linear-gradient(180deg, #FFF1C2 0%, #F2C94C 45%, #B98C1C 100%); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 4px 18px rgba(242,201,76,.35)); }
@media (max-width: 480px) { .xp3-m { font-size: 2rem; } .xp3-f { font-size: 2.8rem; } .xp3-k::before, .xp3-k::after { width: 36px; } }
.xp3 .xp-c h2.xp3-h .xp3-m { font-size: 2.7rem !important; } .xp3 .xp-c h2.xp3-h .xp3-f { font-size: 3.9rem !important; } @media (max-width: 480px) { .xp3 .xp-c h2.xp3-h .xp3-m { font-size: 2.05rem !important; } .xp3 .xp-c h2.xp3-h .xp3-f { font-size: 3rem !important; } }

/* ---------- store opening (Lord, 20 Oct: "first page load, boring AF") : night spotlight with her own cover, proof up top, four picture doors */
.v2 .st5 { position: relative; overflow: hidden; margin: 0 calc(50% - 50vw); padding: 44px max(24px, calc(50vw - 580px)) 46px; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 40px; align-items: center;
  background: radial-gradient(800px 420px at 80% 10%, #2B3274 0%, var(--night) 58%, #080B20 100%); color: #FFF7E6; }
.v2 .st5::before { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .55; background-image: radial-gradient(1px 1px at 8% 20%, #fff 50%, transparent), radial-gradient(1px 1px at 38% 12%, #fff 50%, transparent), radial-gradient(1.5px 1.5px at 62% 30%, #F3DDA0 50%, transparent), radial-gradient(1px 1px at 92% 70%, #fff 50%, transparent), radial-gradient(1px 1px at 22% 86%, #fff 50%, transparent), radial-gradient(1.5px 1.5px at 50% 78%, #F3DDA0 50%, transparent); }
.v2 .st5 > * { position: relative; }
.v2 .st5-k { margin: 0 0 12px; font: 600 .95rem var(--ui); color: #D6D1E6; }
.v2 .st5-stars { color: var(--yellow); letter-spacing: 2px; margin-right: 4px; }
.v2 .st5 h1 { margin: 0 0 14px; font: 600 3.3rem/1.02 var(--display); color: #FFF7E6; letter-spacing: -.01em; }
.v2 .st5-p { margin: 0 0 26px; font: 400 1.12rem/1.55 var(--read); color: #D6D1E6; max-width: 34em; }
.v2 .st5-cta { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.v2 .st5-g { display: flex; align-items: center; gap: 10px; font: 500 .85rem/1.35 var(--ui); color: #D6D1E6; }
.v2 .st5-g .seal2 { width: 58px; height: 58px; flex: none; }
.v2 .st5-g b { display: block; color: #FFF7E6; font-weight: 700; }
/* the spotlight: her personal cover + the offer */
.v2 .st5-r { position: relative; display: grid; grid-template-columns: 170px 1fr; gap: 24px; align-items: center; text-decoration: none; color: inherit; padding: 26px 24px; border-radius: 26px; background: linear-gradient(160deg, rgba(255,253,249,.10), rgba(255,253,249,.03)); border: 1px solid rgba(235,215,160,.35); box-shadow: 0 30px 60px -30px rgba(0,0,0,.8); transition: border-color .2s; }
.v2 .st5-r:hover { border-color: rgba(235,215,160,.7); }
.v2 .st5-rib { position: absolute; top: -13px; left: 22px; background: linear-gradient(180deg, #FFE7A0, #F2C94C); color: #2B2200; font: 800 .78rem var(--ui); letter-spacing: .04em; padding: 6px 14px; border-radius: 999px; box-shadow: 0 6px 16px -6px rgba(242,201,76,.7); }
.v2 .st5-r .bk-sm { transform: rotate(-3deg); filter: drop-shadow(0 18px 24px rgba(0,0,0,.55)); }
.v2 .st5-rt > b { display: block; font: 600 1.7rem/1.1 var(--display); color: #FFF7E6; }
.v2 .st5-rt > span:not(.st5-pr) { display: block; margin: 6px 0 14px; font: italic 400 1.02rem/1.45 var(--read); color: #E3DDF0; }
.v2 .st5-pr { display: flex; align-items: baseline; gap: 10px; margin-bottom: 16px; }
.v2 .st5-pr .was { color: #9E96B8; font: 500 1rem var(--ui); }
.v2 .st5-pr b { font: 700 1.9rem var(--ui); color: #FFF7E6; }
.v2 .st5-pr em { font: 700 .8rem var(--ui); font-style: normal; color: #BDEFD0; background: rgba(63,184,107,.16); padding: 3px 9px; border-radius: 999px; }
.v2 .st5-go { background: var(--green, #1F8A4C) !important; color: #fff !important; box-shadow: 0 4px 0 #145C32 !important; font-style: normal; padding: 13px 22px; border-radius: 999px; font-size: .98rem; }
/* four picture doors */
.v2 .st5-d { padding: 36px 0 6px; }
.v2 .st5-d h2 { margin: 0 0 16px; font: 600 2rem var(--display); color: var(--ink); }
.v2 .st5-dg { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.v2 .st5-dg a { position: relative; display: block; aspect-ratio: 4 / 4.6; border-radius: 22px; overflow: hidden; text-decoration: none; box-shadow: 0 0 0 1px var(--hair), 0 18px 34px -22px rgba(31,26,46,.6); }
.v2 .st5-dg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.v2 .st5-dg a:hover img { transform: scale(1.05); }
.v2 .st5-dg a > span { position: absolute; inset: auto 0 0 0; padding: 60px 18px 16px; background: linear-gradient(180deg, transparent, rgba(8,11,32,.88) 55%); color: #FFF7E6; }
.v2 .st5-dg b { display: block; font: 600 1.35rem/1.1 var(--display); }
.v2 .st5-dg small { display: block; margin: 4px 0 8px; font: italic 400 .88rem/1.35 var(--read); color: #E3DDF0; }
.v2 .st5-dg em { font: 700 .82rem var(--ui); font-style: normal; color: var(--yellow); }
.v2 .st5-d + .st2-bar { margin-top: 18px; }
@media (max-width: 980px) { .v2 .st5 { grid-template-columns: 1fr; gap: 34px; } .v2 .st5-dg { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .v2 .st5 { padding-top: 30px; } .v2 .st5 h1 { font-size: 2.4rem; } .v2 .st5-r { grid-template-columns: 112px 1fr; gap: 16px; padding: 22px 16px 18px; } .v2 .st5-r .bk-sm { width: 112px; } .v2 .st5-rt > b { font-size: 1.35rem; } .v2 .st5-pr b { font-size: 1.5rem; } .v2 .st5-dg { gap: 12px; } .v2 .st5-dg b { font-size: 1.15rem; } .v2 .st5-dg small { display: none; } }
.v2 .mast-slim + .st5 { margin-top: -1px; } .v2 .mast.mast-slim:has(+ .st5) { display: none; }
.v2 .st5-d ~ .st2-bar { visibility: hidden; opacity: 0; height: 0; padding: 0; margin: 0 calc(50% - 50vw) !important; border: 0; transition: opacity .2s; }
body.st-past .v2 .st5-d ~ .st2-bar, body.st-past.v2 .st5-d ~ .st2-bar { visibility: visible; opacity: 1; height: auto; padding: 12px 16px; }
body.st-past.v2 .st5-d ~ .st2-bar { position: fixed !important; left: 0; right: 0; top: 62px; margin: 0 !important; z-index: 300; }
@media (max-width: 600px) { body.st-past.v2 .st5-d ~ .st2-bar { top: 56px; } }
body.st-past.v2 .st5-d ~ .st2-bar { top: 0 !important; padding-top: calc(10px + env(safe-area-inset-top, 0px)) !important; background: rgba(247,242,234,.97) !important; box-shadow: 0 10px 24px -18px rgba(31,26,46,.5); }
/* exit pop on smaller screens (Lord, 20 Oct: big pops broke on small screens in Elementor). It never grows past the screen, and sheds detail as the screen gets shorter */
.xp.xp3 { align-items: center !important; justify-content: center !important; padding: 12px 0 !important; }
.xp3 .xp-c { max-height: calc(100dvh - 24px) !important; overflow-y: auto !important; overscroll-behavior: contain; }
@media (max-height: 820px) {
  .xp3 .xp-c { padding: 22px 24px 16px !important; }
  .xp3 .xp-c h2.xp3-h { margin-bottom: 14px !important; }
  .xp3 .xp-c h2.xp3-h .xp3-m { font-size: 2.2rem !important; } .xp3 .xp-c h2.xp3-h .xp3-f { font-size: 3rem !important; }
  .xp3-k { margin-bottom: 6px; font-size: 1.1rem; }
  .xp3-r { padding: 10px 12px; margin-bottom: 12px; gap: 14px; } .xp3-r img { width: 72px; height: 92px; }
  .xp3-r span { margin-bottom: 4px; }
}
@media (max-height: 680px) {
  .xp3 .xp-c { padding: 16px 20px 12px !important; }
  .xp3-k { display: none !important; }
  .xp3 .xp-c h2.xp3-h { margin-bottom: 10px !important; }
  .xp3 .xp-c h2.xp3-h .xp3-m, .xp3 .xp-c h2.xp3-h .xp3-f { display: inline !important; font-size: 1.9rem !important; }
  .xp3-r img { width: 56px; height: 70px; } .xp3-r em { display: none !important; }
  .xp3-r .xp3-t { font-size: .88rem !important; }
  .xp3 .xp2-live { display: none !important; }
}
@media (max-height: 560px) {
  .xp3-r .xp3-t { display: none !important; }
  .xp3 .xp-c h2.xp3-h .xp3-m, .xp3 .xp-c h2.xp3-h .xp3-f { font-size: 1.6rem !important; }
}
@media (max-width: 480px) {
  .xp3 .xp-c { padding: 18px 16px 12px !important; }
  .xp3 .xp-x { top: 8px !important; right: 8px !important; }
  .xp3 .xp-c h2.xp3-h .xp3-m { font-size: 1.85rem !important; } .xp3 .xp-c h2.xp3-h .xp3-f { font-size: 2.5rem !important; }
  .xp3-r { gap: 12px; padding: 10px; } .xp3-r b { font-size: 1.1rem; } .xp3-r .xp3-t { font-size: .86rem !important; }
  .xp3 .xp2-in input { padding: 12px 10px !important; text-align: center; }
}
@media (max-width: 480px) and (max-height: 680px) { .xp3 .xp-c h2.xp3-h .xp3-m, .xp3 .xp-c h2.xp3-h .xp3-f { font-size: 1.6rem !important; } }
@media (max-height: 680px), (max-width: 480px) { .xp3 .xp-c h2.xp3-h { padding: 0 26px !important; } }
/* top menu between laptop and tablet widths: keep every item on one line */
@media (min-width: 861px) and (max-width: 1180px) { body.hm .hm-nav a { white-space: nowrap; font-size: .86rem !important; padding-left: 8px !important; padding-right: 8px !important; } body.hm .hm-bar { gap: 12px; } }
@media (min-width: 861px) and (max-width: 1100px) { body.hm .nv-in { display: none !important; } body.hm .hm-nav a { padding-left: 6px !important; padding-right: 6px !important; } body.hm .hm-bar { padding-left: 16px !important; padding-right: 16px !important; } }
/* exit pop (Lord, 20 Oct): "Give me an idea" under the box, like every other ask box; the "just asked" proof in its own bubble so it reads as live activity */
.xp3 .xp3-idea { display: block !important; width: 100%; max-width: none; margin: 10px 0 0 !important; text-align: center !important; background: none; border: 0; cursor: pointer; color: #EBD7A0 !important; font: 600 .88rem 'Outfit', sans-serif !important; }
.xp3 .xp3-idea:hover { color: #FFF7E6 !important; }
.xp3 .xp3-live { display: inline-flex !important; align-items: center; gap: 8px; margin: 14px auto 8px !important; padding: 8px 14px 8px 12px; border-radius: 999px; background: rgba(255,253,249,.08); border: 1px solid rgba(235,215,160,.22); max-width: 100%; }
.xp3 .xp3-live > i { width: 8px; height: 8px; flex: none; border-radius: 50%; background: #3FB86B; box-shadow: 0 0 0 4px rgba(63,184,107,.2); animation: xp3p 1.8s ease-in-out infinite; }
@keyframes xp3p { 50% { box-shadow: 0 0 0 7px rgba(63,184,107,0); } }
@media (prefers-reduced-motion: reduce) { .xp3 .xp3-live > i { animation: none; } }
.xp3 .xp3-lt { text-align: left; }
.xp3 .xp-c .xp3-no { margin-top: 2px; }
@media (max-height: 680px) { .xp3 .xp3-idea { margin-top: 6px !important; } }

/* ---------- store: shelves on the left (the focus), a quiet column of client words on the right (Lord, 20 Oct). On phones it goes to the bottom, short */
.v2 .st6 { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 40px; align-items: start; }
.v2 .st6-m > .jb-sec:first-child { padding-top: 34px; }
.v2 .st6-m .pc2 { grid-template-columns: 96px 1fr; gap: 14px; padding: 10px 14px 10px 10px; }
.v2 .st6-m .pc2-t b { font-size: 1.2rem; }
.v2 .st6-m .pc2-t > span:not(.pc2-p) { font-size: .9rem; }
.v2 .st6-s { padding: 40px 0 30px 24px; border-left: 1px solid var(--hair); }
.v2 .st6-s h3 { margin: 0 0 4px; font: 600 1.15rem var(--display); color: var(--mist); }
.v2 .st6-q { margin: 0; padding: 14px 0; border-bottom: 1px solid var(--hair); }
.v2 .st6-q .cs-st { margin: 0 0 4px; color: #D9B864; font-size: .7rem; letter-spacing: 2px; }
.v2 .st6-q blockquote { margin: 0 0 8px; font: italic 400 .88rem/1.5 var(--read); color: #4A4458; }
.v2 .st6-q figcaption { display: flex; align-items: center; gap: 8px; }
.v2 .st6-q figcaption img, .v2 .st6-q figcaption i { width: 26px; height: 26px; border-radius: 50%; object-fit: cover; flex: none; }
.v2 .st6-q figcaption i { display: grid; place-items: center; background: #EFE4CC; color: #8A6A12; font: 600 .8rem var(--display); font-style: normal; }
.v2 .st6-q figcaption b { display: block; font: 600 .74rem var(--ui); color: var(--mist); }
.v2 .st6-q figcaption small { font: 500 .7rem var(--ui); color: #9A93A8; }
.v2 .st6-rt { margin: 14px 0 0; font: 500 .8rem var(--ui); color: var(--mist); }
.v2 .st6-rt b { color: var(--ink); font-weight: 700; }
.v2 .st6-g { display: flex; gap: 10px; align-items: center; margin: 14px 0 0; font: 400 .78rem/1.45 var(--ui); color: var(--mist); }
.v2 .st6-g .seal2 { width: 44px; height: 44px; flex: none; transform: none; filter: none; }
.v2 .st6-g b { color: var(--ink); }
@media (min-width: 1081px) and (max-width: 1240px) { .v2 .st6-m .pc2-grid { grid-template-columns: 1fr; } }
@media (max-width: 1080px) {
  .v2 .st6 { grid-template-columns: 1fr; gap: 0; }
  .v2 .st6-s { border-left: 0; border-top: 1px solid var(--hair); padding: 22px 0 10px; }
  .v2 .st6-q:nth-of-type(n+4) { display: none; }
}
body.hm.v2 { overflow-x: clip !important; overflow-y: visible !important; }   /* hidden made body a scroll box, so nothing sticky could stick */
body.st-past.v2 .st5-d ~ .st2-bar { top: 62px !important; padding-top: 10px !important; }
.v2 .st6-st { top: 134px; }
@media (max-width: 860px) { body.st-past.v2 .st5-d ~ .st2-bar { top: 56px !important; } }
/* store on phones (Lord, 20 Oct: "the whole mobile layout should be quite lean") */
@media (max-width: 700px) {
  .v2 .st5 { padding-top: 24px; padding-bottom: 28px; gap: 26px; }
  .v2 .st5 h1 { font-size: 2.15rem; margin-bottom: 10px; }
  .v2 .st5-p { font-size: .98rem; margin-bottom: 18px; }
  .v2 .st5-g { display: none; }   /* the guarantee is at the bottom of the page */
  .v2 .st5-cta .btn3 { width: 100%; }
  .v2 .st5-r { grid-template-columns: 92px 1fr; gap: 14px; padding: 20px 14px 16px; }
  .v2 .st5-r .bk-sm { width: 92px; }
  .v2 .st5-rt > b { font-size: 1.25rem; } .v2 .st5-rt > span:not(.st5-pr) { font-size: .9rem; margin: 4px 0 8px; }
  .v2 .st5-pr { margin-bottom: 10px; } .v2 .st5-pr b { font-size: 1.35rem; }
  .v2 .st5-go { padding: 10px 16px; font-size: .9rem; }
  .v2 .st5-d { padding-top: 24px; } .v2 .st5-d h2 { font-size: 1.6rem; margin-bottom: 12px; }
  .v2 .st5-dg { gap: 10px; } .v2 .st5-dg a { aspect-ratio: 4 / 3.3; border-radius: 16px; } .v2 .st5-dg a > span { padding: 40px 12px 10px; }
  /* Lord, 20 Oct: Most Popular stays on top on phones too */
  .v2 .st6-m > .jb-sec { padding-top: 22px; }
  .v2 .st6-m .amr-h > span { display: none; }
  .v2 .st6-m .pc2-grid { gap: 10px; margin-top: 12px; }
  .v2 .st6-m .pc2 { grid-template-columns: 76px 1fr; padding: 8px 12px 8px 8px; }
  .v2 .st6-m .pc2-t > span:not(.pc2-p) { font-size: .84rem; -webkit-line-clamp: 2; }
  .v2 .bd2-h { font-size: 1.3rem; margin-top: 20px; }
}
@media (max-width: 700px) {
  .v2 .bd2 { grid-template-columns: 76px 1fr !important; gap: 12px !important; padding: 10px 12px 10px 10px !important; }
  .v2 .bd2-t > span:not(.pc2-p) { display: none !important; }   /* the same sentence on all four */
  .v2 .bd2-t b { font-size: 1.05rem !important; }
  .v2 .bd2-i img { width: 52px !important; height: 52px !important; }
}
/* store columns, final (Lord, 20 Oct): client words on the LEFT, quiet; shelves on the right. Edges and first headings line up with the picture doors above */
.v2 .st6 { grid-template-columns: 260px minmax(0, 1fr) !important; gap: 0 32px !important; align-items: start !important; }
.v2 .st6-s { padding: 0 24px 30px 0 !important; border-left: 0 !important; border-right: 1px solid var(--hair); margin-top: 40px; }
.v2 .st6-m > .jb-sec:first-child { padding-top: 40px !important; margin-top: 0 !important; }
.v2 .st6-m > .jb-sec:first-child .amr-h { margin-top: 0 !important; }
.v2 .st6-s h3 { margin: 0 0 2px !important; line-height: 1.2; }
@media (max-width: 1080px) {
  .v2 .st6 { grid-template-columns: 1fr !important; }
  .v2 .st6-s { order: 2; border-right: 0; border-top: 1px solid var(--hair); margin-top: 24px; padding: 22px 0 10px !important; }
}
/* the same 4-column grid as the picture doors: client words sit exactly under the first door, the shelves under doors 2 to 4 */
@media (min-width: 1081px) {
  .v2 .st6 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 0 16px !important; }
  .v2 .st6-s { grid-column: 1; padding-right: 22px !important; margin-top: 40px; }
  .v2 .st6-m { grid-column: 2 / span 3; }
  .v2 .st6-s h3 { display: flex; align-items: center; height: var(--h2h, 48px); margin: 0 !important; font-size: 1.25rem !important; }
}
@media (min-width: 1081px) { .v2 .st6-s h3 { height: 40.5px; } }
/* header boxes: less room under the last line (Lord, 20 Oct) */
.v2 .two2-m .mast, .v2 .mast.mast-has-art, .v2 .mast.cat2 { padding-bottom: 14px !important; }
.v2 .mast .idea2 { margin-top: 6px !important; padding-bottom: 0 !important; line-height: 1.2 !important; }
.v2 .mast.mast-has-art > .mast-art { margin-bottom: 12px !important; }   /* when the painting is the tallest thing, it stays centred in the box */
.v2 .mast.mast-form > form { margin-bottom: 0 !important; }

.v2 .mast.mast-slim:empty { display: none !important; }   /* an empty navy strip sat on top of the quiz, contact and legal pages */
.v2 .st5-gl { margin: 14px 0 0; font: 500 .82rem var(--ui); color: #9E96B8; }
@media (max-width: 700px) { .v2 .st5-gl { text-align: center; margin-top: 10px; } }
/* store hero, Enter The Light style (Lord, 20 Oct): the rating in a soft bubble, one yellow button, three covers fanned on the right */
.v2 .st5-k { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px 7px 12px; border-radius: 999px; background: rgba(255,253,249,.07); border: 1px solid rgba(235,215,160,.28); font-size: .86rem !important; margin-bottom: 16px !important; }
.v2 .st5-stars { font-size: .82rem; letter-spacing: 1px; margin: 0 !important; }
.v2 .st5-cta .btn3 { padding-left: 8px; }
.v2 .st5-cta .btn3 img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 2px rgba(43,34,0,.25); }
.v2 .st5-fan { position: relative; height: 330px; display: flex; justify-content: center; align-items: center; }
.v2 .st5-fan-m { display: none; }
.v2 .st5-c { position: absolute; top: 50%; left: 50%; text-decoration: none; transition: transform .35s ease; }
.v2 .st5-c .bk-sm { width: 176px; filter: drop-shadow(0 22px 26px rgba(0,0,0,.55)); }
.v2 .st5-c0 { transform: translate(-50%, -50%) translateX(-150px) rotate(-9deg) scale(.88); z-index: 1; }
.v2 .st5-c2 { transform: translate(-50%, -50%) translateX(150px) rotate(9deg) scale(.88); z-index: 1; }
.v2 .st5-c1 { transform: translate(-50%, -50%) translateY(-6px); z-index: 2; }
.v2 .st5-c0:hover { transform: translate(-50%, -50%) translateX(-160px) rotate(-11deg) scale(.9); }
.v2 .st5-c2:hover { transform: translate(-50%, -50%) translateX(160px) rotate(11deg) scale(.9); }
.v2 .st5-c1:hover { transform: translate(-50%, -50%) translateY(-12px); }
.v2 .st5-c .st5-rib { top: -14px; left: 50%; transform: translateX(-50%); white-space: nowrap; z-index: 3; }
.v2 .st5-tag { position: absolute; left: 50%; bottom: -14px; transform: translateX(-50%); white-space: nowrap; padding: 5px 12px; border-radius: 999px; background: #FFFDF9; color: var(--ink); font: 700 .85rem var(--ui); box-shadow: 0 8px 18px -8px rgba(0,0,0,.6); }
.v2 .st5-tag s { color: #9A93A8; font-weight: 500; margin-right: 4px; }
@media (max-width: 980px) { .v2 .st5-fan { height: 300px; } }
@media (max-width: 700px) {
  .v2 .st5 > .st5-fan { display: none; }
  .v2 .st5-fan-m { display: flex; height: 210px; margin: 0 0 22px; }
  .v2 .st5-c .bk-sm { width: 118px !important; }
  .v2 .st5-c0 { transform: translate(-50%, -50%) translateX(-96px) rotate(-9deg) scale(.88); } .v2 .st5-c2 { transform: translate(-50%, -50%) translateX(96px) rotate(9deg) scale(.88); }
  .v2 .st5-k { font-size: .8rem !important; }
  .v2 .st5-tag { font-size: .75rem; padding: 4px 9px; }
}
@media (max-width: 700px) { .v2 .st5-c0 .st5-tag, .v2 .st5-c2 .st5-tag { display: none; } }
@media (min-width: 981px) and (max-width: 1140px) { .v2 .st5-c .bk-sm { width: 150px; } .v2 .st5-c0 { transform: translate(-50%, -50%) translateX(-122px) rotate(-9deg) scale(.88); } .v2 .st5-c2 { transform: translate(-50%, -50%) translateX(122px) rotate(9deg) scale(.88); } }
/* the button's little picture sits at the right end (Lord, 20 Oct) */
.v2 .st5-cta .btn3 { flex-direction: row-reverse; padding-left: 26px !important; padding-right: 8px !important; }
/* cover bubbles: what each reading is about, no prices */
.v2 .st5-tag { display: inline-flex; align-items: center; gap: 6px; background: rgba(20,24,58,.82) !important; color: #FFF7E6 !important; border: 1px solid rgba(235,215,160,.45); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); font: 600 .8rem var(--ui) !important; padding: 6px 13px !important; }
.v2 .st5-tag i { font-style: normal; color: var(--gold-pale); font-size: .85rem; }
@media (max-width: 700px) { .v2 .st5-tag { font-size: .7rem !important; padding: 4px 9px !important; } }
.v2 .st5-c0 .st5-tag { left: 40%; } .v2 .st5-c2 .st5-tag { left: 60%; }
.v2 .st5-c0 .st5-tag { left: 24%; } .v2 .st5-c2 .st5-tag { left: 76%; }
/* store hero fan, v2 (Lord, 20 Oct: "is this the best you can do?"): three paintings in tall gold-rimmed arches, the name written on the painting */
.v2 .st5-fan { height: 360px; }
.v2 .st5-c .bk-sm, .v2 .st5-tag { display: none !important; }
.v2 .st5-a { position: relative; display: block; width: 200px; aspect-ratio: 3 / 4.1; border-radius: 999px 999px 20px 20px; overflow: hidden; background: var(--night-2);
  box-shadow: 0 0 0 4px #FFFDF9, 0 0 0 5px rgba(201,162,74,.7), 0 30px 50px -20px rgba(0,0,0,.8); }
.v2 .st5-a img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.v2 .st5-c:hover .st5-a img { transform: scale(1.06); }
.v2 .st5-at { position: absolute; inset: auto 0 0 0; padding: 54px 14px 16px; text-align: center; background: linear-gradient(180deg, transparent, rgba(8,11,32,.92) 60%); }
.v2 .st5-at small { display: block; font: 600 .72rem var(--ui); color: var(--gold-pale); letter-spacing: .02em; margin-bottom: 3px; }
.v2 .st5-at b { display: block; font: 600 1.2rem/1.1 var(--display); color: #FFF7E6; }
.v2 .st5-c0 { transform: translate(-50%, -50%) translateX(-138px) translateY(14px) rotate(-8deg) scale(.86); }
.v2 .st5-c2 { transform: translate(-50%, -50%) translateX(138px) translateY(14px) rotate(8deg) scale(.86); }
.v2 .st5-c1 { transform: translate(-50%, -50%); }
.v2 .st5-c0:hover { transform: translate(-50%, -50%) translateX(-146px) translateY(8px) rotate(-10deg) scale(.88); }
.v2 .st5-c2:hover { transform: translate(-50%, -50%) translateX(146px) translateY(8px) rotate(10deg) scale(.88); }
.v2 .st5-c1:hover { transform: translate(-50%, -50%) translateY(-6px); }
.v2 .st5-c0 .st5-a, .v2 .st5-c2 .st5-a { filter: brightness(.82); }
.v2 .st5-c0:hover .st5-a, .v2 .st5-c2:hover .st5-a { filter: none; }
.v2 .st5-c .st5-rib { top: -16px; }
@media (min-width: 981px) and (max-width: 1140px) { .v2 .st5-a { width: 172px; } .v2 .st5-c0 { transform: translate(-50%, -50%) translateX(-118px) translateY(12px) rotate(-8deg) scale(.86); } .v2 .st5-c2 { transform: translate(-50%, -50%) translateX(118px) translateY(12px) rotate(8deg) scale(.86); } }
@media (max-width: 700px) {
  .v2 .st5-fan-m { height: 236px; margin-bottom: 20px; }
  .v2 .st5-a { width: 140px; } .v2 .st5-at { padding: 40px 8px 10px; } .v2 .st5-at b { font-size: .95rem; } .v2 .st5-at small { font-size: .62rem; }
  .v2 .st5-c0 { transform: translate(-50%, -50%) translateX(-98px) translateY(10px) rotate(-8deg) scale(.84); } .v2 .st5-c2 { transform: translate(-50%, -50%) translateX(98px) translateY(10px) rotate(8deg) scale(.84); }
}
/* side paintings: the name sits in the part you can see */
.v2 .st5-c0 .st5-at { padding-right: 34%; padding-left: 10px; }
.v2 .st5-c2 .st5-at { padding-left: 34%; padding-right: 10px; }
.v2 .st5-c0 .st5-at b, .v2 .st5-c2 .st5-at b { font-size: 1.05rem; }
@media (max-width: 700px) { .v2 .st5-c0 .st5-at b, .v2 .st5-c2 .st5-at b { font-size: .82rem; } .v2 .st5-c0 .st5-at small, .v2 .st5-c2 .st5-at small { font-size: .56rem; } }
/* Most Popular Readings: gold cards, like the reading + ritual bundles (Lord, 20 Oct) */
.v2 #g-top .pc2 { background: #FFF6DA; box-shadow: 0 0 0 1px #EBD7A0; }
.v2 #g-top .pc2:hover { box-shadow: 0 0 0 1px var(--gold), 0 16px 30px -22px rgba(122,90,28,.6); }
.v2 .st5-c0 .st5-at { padding-right: 38%; } .v2 .st5-c2 .st5-at { padding-left: 38%; }
/* moon and sky rituals: a thin dated list (Lord, 20 Oct) */
.v2 .skr { margin-top: 14px; border-radius: 20px; background: #FFFDF9; box-shadow: 0 0 0 1px var(--hair); overflow: hidden; }
.v2 .skr-r { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto auto; gap: 14px; align-items: center; padding: 12px 18px; text-decoration: none; color: var(--ink); border-top: 1px solid var(--hair); }
.v2 .skr-r:first-child { border-top: 0; }
.v2 a.skr-r:hover { background: #FFF8E4; }
.v2 .skr-r > i { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: 1.15rem; background: var(--night); color: var(--gold-pale); }
.v2 .skr-r b { display: block; font: 600 1.12rem var(--display); }
.v2 .skr-r small { font: 500 .8rem var(--ui); color: var(--mist); }
.v2 .skr-r small em { font-style: normal; color: #8A6A12; font-weight: 600; }
.v2 .skr-p { font: 700 1rem var(--ui); white-space: nowrap; } .v2 .skr-p .was { font-weight: 500; font-size: .85rem; margin-right: 4px; }
.v2 .skr-go { font: 700 .85rem var(--ui); color: var(--green, #1F8A4C); white-space: nowrap; }
.v2 .skr-season { grid-template-columns: 40px minmax(0, 1fr); background: repeating-linear-gradient(-45deg, transparent 0 10px, rgba(201,162,74,.06) 10px 20px); }
.v2 .skr-season > i { background: transparent; border: 1.5px dashed #D9B864; color: #B98C1C; }
.v2 .skr-season b { color: var(--mist); }
@media (max-width: 700px) { .v2 .skr-r { grid-template-columns: 34px minmax(0, 1fr) auto; gap: 10px; padding: 10px 12px; } .v2 .skr-r > i { width: 34px; height: 34px; font-size: 1rem; } .v2 .skr-go { display: none; } .v2 .skr-r b { font-size: 1rem; } .v2 .skr-season { grid-template-columns: 34px minmax(0, 1fr); } }
.v2 .skr-p { display: inline-flex !important; align-items: baseline; gap: 6px; }
.v2 .skr-p .was, .v2 .skr-p s { display: inline !important; font: 500 .85rem var(--ui) !important; }
.v2 .skr-p b { display: inline !important; font: 700 1.02rem var(--ui) !important; color: var(--ink); }
.v2 .skr-r small { line-height: 1.4; }
.v2 .skr-r small { display: block; line-height: 1.4 !important; margin-top: 2px; }
.v2 .skr-r b { line-height: 1.25 !important; }
@media (max-width: 700px) { .v2 .skr-e { display: none; } }
/* exit pop on phones (Lord, 20 Oct: "CTA or a form to write?"): the box is clearly a field to type in, the button sits under it */
@media (max-width: 480px) {
  .xp3 .xp2-in { background: transparent !important; padding: 0 !important; gap: 10px !important; border-radius: 0 !important; box-shadow: none !important; }
  .xp3 .xp2-in input { background: #FFFDF9 !important; border: 2px solid #EBD7A0 !important; border-radius: 14px !important; padding: 14px 16px !important; text-align: left !important; font: 500 1rem 'Outfit', sans-serif !important; color: var(--ink) !important;
    box-shadow: inset 0 2px 4px rgba(31,26,46,.08) !important; caret-color: #1F8A4C; }
  .xp3 .xp2-in input::placeholder { color: #8C8698; }
  .xp3 .xp2-in input:focus { border-color: #F2C94C !important; outline: none; box-shadow: 0 0 0 3px rgba(242,201,76,.3) !important; }
}
@media (max-width: 480px) { .xp3 .xp2-in { align-items: stretch !important; } .xp3 .xp2-in input { width: 100% !important; box-sizing: border-box; flex: none !important; } }
/* ---------- phones, two-column pages (QA 20 Oct): the main column never gets wider than the screen; the header stacks lean */
@media (max-width: 960px) {
  .v2 .two2 { grid-template-columns: minmax(0, 1fr) !important; }
  .v2 .two2-m, .v2 .two2-s { min-width: 0; max-width: 100%; }
}
@media (max-width: 700px) {
  .v2 .two2-m > .mast, .v2 .two2-m > .mast.mast-has-art { grid-template-columns: 76px minmax(0, 1fr) !important; column-gap: 16px !important; padding: 18px 16px 14px !important; margin-left: 0 !important; margin-right: 0 !important; width: auto !important; box-sizing: border-box; border-radius: 22px !important; }
  .v2 .two2-m > .mast > .mast-art { grid-row: 1 / span 2 !important; align-self: start !important; margin: 0 !important; }
  .v2 .two2-m > .mast > .mast-art .arch { width: 76px !important; }
  .v2 .two2-m > .mast h1 { font-size: 1.7rem !important; line-height: 1.08 !important; margin: 4px 0 6px !important; overflow-wrap: anywhere; }
  .v2 .two2-m > .mast .amr-k { font-size: .78rem !important; margin: 0 !important; }
  .v2 .two2-m > .mast > p:not(.amr-k) { grid-column: 1 / -1 !important; font-size: .95rem !important; margin: 8px 0 0 !important; }
  .v2 .two2-m > .mast > form, .v2 .two2-m > .mast > .ask2, .v2 .two2-m > .mast > .idea2, .v2 .two2-m > .mast > .lt-sit, .v2 .two2-m > .mast > a.back { grid-column: 1 / -1 !important; max-width: 100% !important; box-sizing: border-box; }
  .v2 .two2-m .ask2 { margin-top: 14px !important; }
  .v2 .two2-m .ask2 button { padding: 0 18px !important; }
  .v2 .two2-m .mast.mast-form .tf, .v2 .two2-m .ct-form { grid-template-columns: minmax(0, 1fr) !important; }
  .v2 .two2-m .hs-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .v2 .two2-m .dp2 { grid-template-columns: 96px minmax(0, 1fr) !important; padding: 18px 16px !important; gap: 16px !important; }
  .v2 .two2-m .dp2 .bk-sm { width: 96px !important; }
  .v2 .two2-m .amr-h { flex-wrap: wrap; gap: 4px 12px; }
}
/* section heading rows on phones: the link drops under the heading instead of running off the screen */
@media (max-width: 700px) { .v2 .amr-h { flex-wrap: wrap !important; gap: 4px 12px; } .v2 .amr-h h2 { min-width: 0; overflow-wrap: anywhere; } .v2 .amr-h > a, .v2 .amr-h > span { white-space: normal !important; } }
@media (max-width: 700px) {
  body.hm.v2 .two2-m > .mast > form, body.hm.v2 .two2-m > .mast > form.tf, body.hm.v2 .two2-m > .mast > .lt-sit, body.hm.v2 .two2-m > .mast > .ask2, body.hm.v2 .two2-m > .mast > .idea2 { grid-column: 1 / -1 !important; }
  body.hm.v2 .two2 { margin-top: 12px !important; }
}
/* smallest phones (320px, QA 20 Oct) */
@media (max-width: 380px) {
  .v2 .two2-s, .v2 .two2-st { min-width: 0; max-width: 100%; }
  .v2 .two2-s .ptlc, .v2 .two2-s .myc { max-width: 100%; box-sizing: border-box; min-width: 0; }
  .v2 .nm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
/* Lord, 20 Oct: "9 Readers Online", small, one line */
.v2 .mast .amr-k { font-size: .82rem !important; white-space: nowrap; letter-spacing: .02em; }
/* Lord, 20 Oct: the readers who fit her question, under the category ask box */
.v2 .am2 { max-width: 560px; margin-top: 14px; display: grid; gap: 8px; }
.v2 .am2-r { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; background: rgba(255,253,249,.06); box-shadow: inset 0 0 0 1px rgba(232,200,120,.28); color: #F6EFE0; text-decoration: none; text-align: left; }
.v2 .am2-r.best { background: rgba(255,253,249,.1); box-shadow: inset 0 0 0 1px rgba(232,200,120,.6); }
.v2 .am2-r img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; flex: none; }
.v2 .am2-r span { flex: 1; min-width: 0; }
.v2 .am2-r b { display: block; font: 600 1.02rem var(--ui); }
.v2 .am2-r b em { font-style: normal; color: var(--gold, #E8C878); font-size: .82rem; }
.v2 .am2-r b i { font-style: normal; font-size: .7rem; font-weight: 700; color: #2B2200; background: var(--yellow); border-radius: 999px; padding: 2px 8px; margin-left: 4px; vertical-align: 2px; }
.v2 .am2-r small { display: block; font: 400 .82rem var(--ui); color: rgba(246,239,224,.72); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2 .am2-r strong { flex: none; font: 700 .9rem var(--ui); color: #2B2200; background: var(--yellow); border-radius: 999px; padding: 9px 14px; }
.v2 .am2-r:not(.best) strong { background: transparent; color: var(--gold, #E8C878); padding: 9px 4px; }
.v2 .am2-c { margin: 2px 0 0 !important; font: 400 .8rem var(--ui) !important; color: rgba(246,239,224,.6) !important; }
@media (max-width: 760px) { .v2 .mast.cat2 > .am2 { grid-column: 1 / -1 !important; max-width: 100%; } .v2 .am2-r strong { padding: 8px 12px; font-size: .84rem; } .v2 .am2-r b i { display: none; } }
.v2 .ft-legal a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.v2 .am2 { grid-template-columns: minmax(0, 1fr); min-width: 0; } .v2 .am2-r { min-width: 0; }
.v2 .am2-r small u { text-decoration: none; }
.v2 .am2-r b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 760px) { .v2 .am2-r small u { display: none; } }
/* Lord, 20 Oct: the homepage shows four readers, in one row */
.v2 .lr2-4 .lr2-g { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 860px) { .v2 .lr2-4 .lr2-g { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
.v2 .ft-legal.legal2 { margin-top: 12px; }
/* Lord, 20 Oct: the topic menu stays visible on small laptops and tablets in landscape (861-1000px) */
@media (min-width: 861px) and (max-width: 1000px) {
  body.hm .hm-nav a { font-size: .8rem !important; padding-left: 5px !important; padding-right: 5px !important; }
  body.hm .hm-bar { column-gap: 10px !important; }
  body.hm .nv-up .nv-free { display: none; }
}
@media (min-width: 861px) and (max-width: 1000px) { body.hm .hm-nav a.nv-live { align-items: center; gap: 5px; } }
@media (min-width: 861px) and (max-width: 940px) {
  body.hm .hm-bar .brand-logo { height: 36px !important; width: auto !important; }
  body.hm .hm-nav a { font-size: .76rem !important; padding-left: 4px !important; padding-right: 4px !important; }
  body.hm .hm-right::before, body.hm .hm-sep { display: none !important; }
}
/* Lord, 20 Oct: the Live Reading menu. A light panel set apart from the dark bar, a notch pointing at its item, kept on screen (js/navdd.js);
   all readers on top, the methods in two columns (icon, name, one line), a bridge so the mouse can travel down, the caret turns when open */
.nv-dd { position: relative; display: inline-flex; align-items: center; }
.nv-dd .nv-ddb { display: inline-flex !important; align-items: center; gap: 5px; cursor: pointer; }
.nv-dd .nv-car { opacity: .75; transition: transform .18s ease; flex: none; }
.nv-dd.open .nv-car { transform: rotate(180deg); opacity: 1; }
.nv-dd.open::after { content: ''; position: absolute; left: -40px; right: -40px; top: 100%; height: 22px; }
html body .nv-dd .nv-ddm { position: absolute; top: calc(100% + 16px); left: 0; width: min(580px, calc(100vw - 32px)); box-sizing: border-box; padding: 10px; margin: 0;
  background: #FFFDF9; border-radius: 18px; box-shadow: 0 0 0 1px rgba(201,162,74,.35), 0 28px 56px -22px rgba(6,8,34,.75);
  opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .16s ease, transform .16s ease, visibility 0s linear .16s; z-index: 80; text-align: left; }
html body .nv-dd.open .nv-ddm { opacity: 1; visibility: visible; transform: none; transition: opacity .16s ease, transform .16s ease, visibility 0s; }
html body .nv-dd .nv-ddm::before { content: ''; position: absolute; top: -6px; left: var(--notch, 40px); width: 12px; height: 12px; background: #FFFDF9; transform: rotate(45deg); border-radius: 2px 0 0 0; box-shadow: -1px -1px 0 rgba(201,162,74,.35); }
html body .nv-dd .nv-ddm a { display: flex !important; align-items: center; gap: 12px; padding: 9px 10px !important; margin: 0 !important; border-radius: 12px; border: 0 !important;
  color: #1C1B3A !important; background: none; text-decoration: none; white-space: normal; font-size: 1rem !important; line-height: 1.25; position: relative; }
html body .nv-dd .nv-ddm a::after, html body .nv-dd .nv-ddm a::before { display: none !important; }
html body .nv-dd .nv-ddm a:hover, html body .nv-dd .nv-ddm a:focus-visible { background: #F5EEDD; outline: none; }
html body .nv-dd .nv-ddm a > i { flex: none; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: 1rem; font-weight: 600;
  color: #E8C878; background: radial-gradient(circle at 35% 30%, #2C2E6B, #15163A); box-shadow: inset 0 0 0 1px rgba(232,200,120,.35); }
html body .nv-dd .nv-ddm a b { display: block; font-size: .95rem; font-weight: 600; color: #1C1B3A; }
html body .nv-dd .nv-ddm a small { display: block; font-size: .78rem; font-weight: 400; color: #6E6A82; margin-top: 2px; }
html body .nv-dd .nv-dd-g { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 6px; }
html body .nv-dd .nv-dd-k { display: block; padding: 12px 10px 4px; font-size: .74rem; font-weight: 600; color: #8A7A55; }
html body .nv-dd .nv-ddm a.nv-dd-top { justify-content: space-between; padding: 12px 14px !important; background: #15163A; border-radius: 12px; }
html body .nv-dd .nv-ddm a.nv-dd-top:hover { background: #1F2152; }
html body .nv-dd .nv-ddm a.nv-dd-top b { color: #FFFDF9; font-size: 1.02rem; }
html body .nv-dd .nv-ddm a.nv-dd-top small { color: rgba(246,239,224,.75); display: flex; align-items: center; gap: 6px; }
html body .nv-dd .nv-ddm a.nv-dd-top small .nv-dot { margin: 0; }
html body .nv-dd .nv-ddm a.nv-dd-top em { font-style: normal; flex: none; font-size: .86rem; font-weight: 700; color: #2B2200; background: #F3C94A; border-radius: 999px; padding: 8px 16px; }
html body .nv-dd .nv-ddm a.nv-dd-all { justify-content: center; margin-top: 6px !important; padding: 11px 10px 9px !important; border-top: 1px solid #EFE6D2 !important; border-radius: 0 0 12px 12px; font-size: .86rem !important; font-weight: 700; color: #1F8A4C !important; }
@media (prefers-reduced-motion: reduce) { html body .nv-dd .nv-ddm, .nv-dd .nv-car { transition: none; } }
@media (min-width: 861px) and (max-width: 1000px) { body.hm .hm-nav .nv-links > a, body.hm .hm-nav .nv-dd > a { display: inline-flex !important; } }
html body .nv-dd .nv-ddm a.nv-dd-top { background: #15163A !important; } html body .nv-dd .nv-ddm a.nv-dd-top:hover { background: #1F2152 !important; }
html body .nv-dd .nv-ddm a.nv-dd-top b { color: #FFFDF9 !important; } html body .nv-dd .nv-ddm a.nv-dd-top small { color: rgba(246,239,224,.75) !important; }
html body .nv-dd .nv-ddm { left: auto; right: 0; }   /* until it opens (js/navdd.js places it), it sits inside the screen */
/* Lord, 20 Oct: one live pill under every readers heading, on every page: green dot, "53 online now. Your first question is free." */
html body .fq-pill { display: inline-flex !important; align-items: center; gap: 8px; width: auto; margin: 10px 0 18px !important; padding: 7px 14px 7px 12px; border-radius: 999px;
  background: #FBF3DF; box-shadow: inset 0 0 0 1px rgba(201,162,74,.38); font-family: var(--ui, system-ui, sans-serif); font-size: .86rem !important; font-weight: 500; color: #5E4A1E !important; line-height: 1.3; }
html body .fq-pill b { font-weight: 700; color: #1C1B3A; }
html body .fq-pill i { flex: none; width: 8px; height: 8px; border-radius: 50%; background: #2BC46B; box-shadow: 0 0 0 4px rgba(43,196,107,.18); animation: fqPulse 2.4s ease-in-out infinite; }
@keyframes fqPulse { 50% { box-shadow: 0 0 0 7px rgba(43,196,107,.06); } }
@media (prefers-reduced-motion: reduce) { html body .fq-pill i { animation: none; } }
.v2 .cat2 .lr2-s.fq-pill { display: inline-flex !important; }
/* Lord, 20 Oct: the app-style phone menu (js/navdd.js navSheet). Its own scroll, never taller than the screen; Live Reading first,
   topics as big tiles, methods in two columns, small links last; sign up pinned at the bottom; the page behind does not scroll */
html body .sh-c.ms { display: flex; flex-direction: column; max-height: calc(100dvh - 12px); box-sizing: border-box; padding: 8px 0 0 !important; background: #F6F1E7; border-radius: 24px 24px 0 0; overflow: hidden; }
html body .ms-grab { display: block; width: 40px; height: 4px; border-radius: 4px; background: #D9CDB4; margin: 0 auto 6px; flex: none; }
html body .sh-c.ms .sh-h { flex: none; display: flex; align-items: center; justify-content: space-between; padding: 2px 18px 10px; }
html body .sh-c.ms .sh-h .brand-logo { height: 34px; width: auto; }
html body .sh-c.ms .sh-h button { width: 40px; height: 40px; border-radius: 50%; border: 0; background: #EAE2D2; color: #1C1B3A; font-size: 1.5rem; line-height: 1; cursor: pointer; }
html body .ms-body { flex: 1; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; padding: 4px 18px 18px; }
html body .ms-live { display: flex; align-items: center; gap: 12px; padding: 14px; border-radius: 18px; background: radial-gradient(120% 160% at 90% 0%, #2B2D6E, #15163A 70%); color: #FFFDF9; text-decoration: none; }
html body .ms-faces { display: flex; flex: none; } html body .ms-faces img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 2px #15163A; margin-left: -10px; } html body .ms-faces img:first-child { margin-left: 0; }
html body .ms-lt { flex: 1; min-width: 0; } html body .ms-lt b { display: block; font: 600 1.15rem var(--display); }
html body .ms-lt small { display: flex; align-items: center; gap: 6px; font: 500 .8rem var(--ui); color: rgba(246,239,224,.78); } html body .ms-lt small i { width: 7px; height: 7px; border-radius: 50%; background: #2BC46B; box-shadow: 0 0 0 3px rgba(43,196,107,.2); }
html body .ms-live em { flex: none; font-style: normal; padding: 9px 16px; border-radius: 999px; background: #F3C94A; color: #2B2200; font: 700 .88rem var(--ui); }
html body .ms-k { margin: 20px 2px 10px; font: 600 .78rem var(--ui); color: #8A7A55; }
html body .ms-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
html body .ms-tiles a { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 14px 6px 12px; border-radius: 16px; background: #FFFDF9; box-shadow: 0 0 0 1px #EDE4D2; color: #1C1B3A; text-decoration: none; font: 600 .9rem var(--ui); text-align: center; }
html body .ms-tiles a i, html body .ms-meth a i { flex: none; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: 1.05rem; color: #E8C878; background: radial-gradient(circle at 35% 30%, #2C2E6B, #15163A); }
html body .ms-tiles a.on, html body .ms-meth a.on { box-shadow: 0 0 0 2px #E8C878; background: #FFF6DA; }
html body .ms-meth { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
html body .ms-meth a { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 7px 10px; border-radius: 14px; background: #FFFDF9; box-shadow: 0 0 0 1px #EDE4D2; color: #1C1B3A; text-decoration: none; font: 600 .86rem/1.2 var(--ui); }
html body .ms-meth a i { width: 32px; height: 32px; font-size: .9rem; }
html body .ms-more { display: grid; margin-top: 20px; border-radius: 16px; background: #FFFDF9; box-shadow: 0 0 0 1px #EDE4D2; overflow: hidden; }
html body .ms-more a { display: flex; justify-content: space-between; align-items: center; min-height: 48px; padding: 0 16px; border: 0 !important; border-bottom: 1px solid #F0E8D8 !important; color: #1C1B3A; text-decoration: none; font: 500 .95rem var(--ui); }
html body .ms-more a:last-child { border-bottom: 0 !important; } html body .ms-more a em { font-style: normal; color: #C9A24A; }
html body .ms-acts { flex: none; display: grid; gap: 6px; padding: 12px 18px calc(84px + env(safe-area-inset-bottom, 0px)); background: #F6F1E7; box-shadow: 0 -10px 20px -14px rgba(40,30,10,.35); }
html body .ms-acts .btn { width: 100%; text-align: center; padding: 13px; box-sizing: border-box; } html body .ms-acts .sh-in { text-align: center; padding: 6px; color: #1C1B3A; font: 600 .95rem var(--ui); }
html body .sh-c.ms:not(:has(.ms-acts)) .ms-body { padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
body.sh-open { overflow: hidden; }
html body .sheet:has(.ms) { z-index: 2000 !important; }
html body .ms-more a { padding: 0 16px !important; }
html body .ms-acts { padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important; }
html body .ms-acts .sh-in { justify-self: center; text-decoration: none !important; }
html body .sh-c.ms:not(:has(.ms-acts)) .ms-body { padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px)) !important; }
html body .sh-c.ms { padding-top: 0 !important; }
html body .sh-c.ms .ms-grab { display: none; }
html body .sh-c.ms .sh-h { background: #16173F; padding: 14px 18px 14px 20px !important; margin-bottom: 14px; position: relative; }
html body .sh-c.ms .sh-h::before { content: ''; position: absolute; top: 6px; left: 50%; width: 36px; height: 4px; margin-left: -18px; border-radius: 4px; background: rgba(255,253,249,.25); }
html body .sh-c.ms .sh-h button { background: rgba(255,253,249,.12) !important; color: #FFFDF9 !important; }
html body .ms-acts .sh-in { display: block !important; width: 100%; text-align: center !important; }
/* Lord, 20 Oct: tighter: heading, pill, readers, no dead space between */
html body .amr-h:has(+ .fq-pill), html body .cat-h:has(+ .fq-pill) { margin-bottom: 0 !important; }
html body .fq-pill { margin: 8px 0 16px !important; }
html body .fq-pill + .ac-grid, html body .fq-pill + .rc2-grid, html body .fq-pill + div { margin-top: 0 !important; }
html body .cat2 .fq-pill, html body .two2-m .fq-pill { display: none !important; }   /* the blue box above already says it */
html body.v2 .cat2 .lr2-s.fq-pill, html body.v2 .two2-m .lr2-s.fq-pill { display: none !important; }
/* Lord, 20 Oct: in the blue box, the same pill: "4 online now. Your first question is free." */
html body .fq-dark { display: inline-flex !important; align-items: center; gap: 8px; width: auto !important; padding: 6px 14px 6px 11px !important; border-radius: 999px; background: rgba(255,253,249,.08) !important; box-shadow: inset 0 0 0 1px rgba(232,200,120,.38); font: 500 .84rem var(--ui) !important; color: #F1DFAE !important; white-space: normal !important; letter-spacing: 0 !important; }
html body .fq-dark b { font-weight: 700; color: #FFFDF9; }
html body .fq-dark i { flex: none; width: 8px !important; height: 8px !important; border-radius: 50%; background: #2BC46B !important; box-shadow: 0 0 0 4px rgba(43,196,107,.18) !important; margin: 0 !important; }
html body .fq-dark { justify-self: start !important; align-self: start; width: fit-content !important; max-width: 100%; box-sizing: border-box; white-space: nowrap !important; }
html body .fq-dark b { white-space: nowrap; }
@media (max-width: 480px) { html body .fq-dark { font-size: .76rem !important; padding: 5px 11px 5px 9px !important; gap: 6px; } }
html body .cat2 .fq-pill + .ac-grid, html body .two2-m .fq-pill + .ac-grid, html body .cat2 .fq-pill + div, html body .two2-m .fq-pill + div { margin-top: 22px !important; }   /* the pill is hidden there: keep the normal gap */
/* Lord, 20 Oct: the current-page line sits on the bottom edge of the bar, not under the word */
body.hm.v2 .hm-nav a.on { box-shadow: none !important; position: relative; }
body.hm.v2 .hm-nav a.on::after { content: ''; position: absolute; left: 6px; right: 6px; bottom: -18px; height: 3px; border-radius: 3px 3px 0 0; background: var(--amr-gold, #E8C878); }
body.hm.v2 .hm-nav a.on::after { left: 0; right: 0; }
/* Lord, 20 Oct: a line splits the menu from the small print; the legal pages in one row at the very bottom */
.v2 .ft-rule { max-width: 1040px; margin: 30px auto 0; border: 0; border-top: 1px solid rgba(255,253,249,.14); }
.v2 .ft-law { max-width: 1040px; margin: 18px auto 0; display: flex; flex-wrap: wrap; gap: 6px 22px; }
.v2 .ft-law a { color: #B7B1CF; font: 500 .82rem var(--ui); text-decoration: none; }
.v2 .ft-law a:hover { color: #FFFDF9; text-decoration: underline; }
.v2 .ft-rule, .v2 .ft-law { max-width: 1024px; }   /* the same left edge as the columns and the small print */
/* Lord, 20 Oct: four readers wherever the page is full width; beside a sidebar the row fits three */
.v2 .two2-m .lr2-4 .lr2-g { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.v2 .two2-m .lr2-4 .lr2-g > :nth-child(4) { display: none; }
@media (max-width: 860px) { .v2 .two2-m .lr2-4 .lr2-g { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } .v2 .two2-m .lr2-4 .lr2-g > :nth-child(4) { display: block; } }
/* Lord, 20 Oct: the exit pop's proof line, subtle: no bubble, small, quiet */
html body .xp3-live { background: none !important; box-shadow: none !important; border: 0 !important; padding: 0 !important; margin-top: 14px !important; font-size: .78rem !important; color: rgba(246,239,224,.5) !important; gap: 6px !important; }
html body .xp3-live b, html body .xp3-live strong { font-weight: 600 !important; color: rgba(246,239,224,.7) !important; }
html body .xp3-live i { width: 6px !important; height: 6px !important; box-shadow: none !important; opacity: .8; }
/* ===== Topic pages in the store's look (Lord, 20 Oct): full navy band, then Browse left + shelves right ===== */
.v2 .tp3 { position: relative; overflow: hidden; margin: 0 calc(50% - 50vw); padding: 46px max(24px, calc(50vw - 580px)) 48px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 40px; align-items: center;
  background: radial-gradient(800px 420px at 80% 10%, #2B3274 0%, var(--night, #14163D) 58%, #080B20 100%); color: #FFF7E6; }
.v2 .tp3::before { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .55; background-image: radial-gradient(1px 1px at 8% 20%, #fff 50%, transparent), radial-gradient(1px 1px at 38% 12%, #fff 50%, transparent), radial-gradient(1.5px 1.5px at 62% 30%, #F3DDA0 50%, transparent), radial-gradient(1px 1px at 92% 70%, #fff 50%, transparent), radial-gradient(1px 1px at 22% 86%, #fff 50%, transparent), radial-gradient(1.5px 1.5px at 50% 78%, #F3DDA0 50%, transparent), radial-gradient(1px 1px at 74% 54%, #fff 50%, transparent); }
.v2 .tp3 > * { position: relative; min-width: 0; }
.v2 .tp3-k { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 16px; padding: 7px 14px 7px 12px; border-radius: 999px; background: rgba(255,253,249,.07); border: 1px solid rgba(235,215,160,.28); font: 600 .86rem var(--ui); color: #D6D1E6; }
.v2 .tp3-k span { color: var(--yellow, #F3C94A); letter-spacing: 1px; font-size: .82rem; }
.v2 .tp3 h1 { margin: 0 0 14px; font: 600 3.3rem/1.02 var(--display); color: #FFF7E6; letter-spacing: -.01em; }
.v2 .tp3-p { margin: 0 0 24px; max-width: 32em; font: 400 1.1rem/1.55 var(--read); color: #D6D1E6; }
.v2 .tp3 .ask2 { max-width: 520px; margin: 0; }
.v2 .tp3 .idea2 { display: block; margin: 10px 0 0; max-width: 520px; text-align: center; }
.v2 .tp3 .am2 { max-width: 520px; margin-top: 14px; }
.v2 .tp3-fan { position: relative; height: 360px; } .v2 .tp3-fan-m { display: none; }
.v2 .tp3-c { position: absolute; top: 50%; left: 50%; text-decoration: none; transition: transform .35s ease; }
.v2 .tp3-a { position: relative; display: block; width: 200px; aspect-ratio: 3 / 4.1; border-radius: 999px 999px 20px 20px; overflow: hidden; background: var(--night-2, #1D1E46); box-shadow: 0 0 0 1px rgba(235,215,160,.45), 0 0 0 6px rgba(255,253,249,.04), 0 30px 50px -20px rgba(0,0,0,.8); }
.v2 .tp3-a img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.v2 .tp3-c:hover .tp3-a img { transform: scale(1.06); }
.v2 .tp3-at { position: absolute; inset: auto 0 0 0; padding: 60px 14px 16px; text-align: center; background: linear-gradient(180deg, transparent, rgba(8,11,32,.94) 58%); }
.v2 .tp3-at small { display: block; font: 600 .7rem var(--ui); color: var(--gold-pale, #F3DDA0); margin-bottom: 4px; }
.v2 .tp3-at b { display: block; font: 600 1.35rem/1.1 var(--display); color: #FFF7E6; }
.v2 .tp3-at em { display: block; margin-top: 4px; font: italic 400 .82rem/1.35 var(--read); color: #CFC8E2; }
.v2 .tp3-c0 { transform: translate(-50%, -50%) translateX(-138px) translateY(14px) rotate(-8deg) scale(.86); z-index: 1; }
.v2 .tp3-c2 { transform: translate(-50%, -50%) translateX(138px) translateY(14px) rotate(8deg) scale(.86); z-index: 1; }
.v2 .tp3-c1 { transform: translate(-50%, -50%); z-index: 2; }
.v2 .tp3-c0:hover { transform: translate(-50%, -50%) translateX(-146px) translateY(8px) rotate(-10deg) scale(.88); }
.v2 .tp3-c2:hover { transform: translate(-50%, -50%) translateX(146px) translateY(8px) rotate(10deg) scale(.88); }
.v2 .tp3-c1:hover { transform: translate(-50%, -50%) translateY(-6px); }
.v2 .tp3-c0 .tp3-a, .v2 .tp3-c2 .tp3-a { filter: brightness(.8); } .v2 .tp3-c0:hover .tp3-a, .v2 .tp3-c2:hover .tp3-a { filter: none; }
.v2 .tp3-c0 .tp3-at { padding-right: 34%; } .v2 .tp3-c2 .tp3-at { padding-left: 34%; }
.v2 .tp3-c0 .tp3-at b, .v2 .tp3-c2 .tp3-at b { font-size: 1.1rem; }
@media (prefers-reduced-motion: reduce) { .v2 .tp3-c, .v2 .tp3-a img { transition: none; } }
/* columns */
.v2 .tp3-cols { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 36px; align-items: start; padding: 34px 0 10px; }
.v2 .tp3-side { min-width: 0; }
.v2 .tp3-box { background: #FFFDF9; border-radius: 20px; box-shadow: 0 0 0 1px var(--hair, #EDE4D2), 0 14px 30px -26px rgba(31,26,46,.5); overflow: hidden; }
.v2 .tp3-box > header { display: flex; align-items: center; gap: 12px; padding: 14px 16px 12px; border-bottom: 1px solid #F1EADC; }
.v2 .tp3-box > header > i { flex: none; width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; font-style: normal; color: #F3C94A; background: #23265A; }
.v2 .tp3-box > header span { display: flex; flex-direction: column; } .v2 .tp3-box > header b { font: 600 1.18rem/1.15 var(--display); color: var(--ink); } .v2 .tp3-box > header small { font: 500 .76rem var(--ui); color: var(--mist); }
.v2 .tp3-nav { display: flex; flex-direction: column; padding: 6px 8px 10px; }
.v2 .tp3-nav a { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 10px; font: 500 .9rem var(--ui); color: #3A3752; text-decoration: none; }
.v2 .tp3-nav a i { width: 18px; text-align: center; font-style: normal; color: #B8892E; font-size: .9rem; }
.v2 .tp3-nav a:hover { background: #F7F1E4; color: var(--ink); }
.v2 .tp3-nav a.on { background: #23265A; color: #FFFDF9; font-weight: 600; } .v2 .tp3-nav a.on i { color: #F3C94A; }
.v2 .tp3-nk { margin: 10px 10px 4px; font: 600 .74rem var(--ui); color: #9A93A8; }
.v2 .tp3-match { display: block; margin-top: 14px; padding: 14px 16px; border-radius: 16px; background: #FFF6DA; box-shadow: 0 0 0 1px #EBD7A0; text-decoration: none; }
.v2 .tp3-match b { display: block; font: 600 1.05rem var(--display); color: var(--ink); } .v2 .tp3-match span { font: 700 .86rem var(--ui); color: var(--green, #1F8A4C); }
.v2 .tp3-sec { margin: 0 0 40px; }
.v2 .tp3-h { display: flex; align-items: baseline; justify-content: space-between; gap: 6px 16px; flex-wrap: wrap; margin: 0 0 16px; }
.v2 .tp3-h h2 { margin: 0; font: 600 1.85rem/1.1 var(--display); color: var(--ink); }
.v2 .tp3-h > span, .v2 .tp3-h > a { font: 500 .86rem var(--ui); color: var(--mist); text-decoration: none; } .v2 .tp3-h > a { font-weight: 700; color: var(--ink); }
.v2 .tp3-main .pc2-grid { margin-top: 0; }
.v2 .tp3-more { margin-top: 16px !important; }
.v2 .pc2.pc2-gold { background: #FFF6DA; box-shadow: 0 0 0 1px #EBD7A0, 0 10px 24px -18px rgba(122,90,28,.5); }
.v2 .tp3-q .pc2-i { border-radius: 14px; }
.v2 .tp3-free { font: 500 .78rem var(--ui); font-style: normal; color: var(--mist); }
.v2 .tp3-rd { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
@media (min-width: 981px) and (max-width: 1140px) { .v2 .tp3-a { width: 172px; } .v2 .tp3 h1 { font-size: 2.9rem; } }
@media (min-width: 981px) and (max-width: 1240px) { .v2 .tp3-main .pc2-grid { grid-template-columns: 1fr; } }
@media (max-width: 980px) {
  .v2 .tp3 { grid-template-columns: 1fr; gap: 0; padding-top: 28px; padding-bottom: 30px; }
  .v2 .tp3 > .tp3-fan { display: none; }
  .v2 .tp3-fan-m { display: block; height: 250px; margin: 0 0 20px; }
  .v2 .tp3-fan-m .tp3-a { width: 148px; } .v2 .tp3-fan-m .tp3-at { padding: 40px 8px 10px; } .v2 .tp3-fan-m .tp3-at b { font-size: 1rem; } .v2 .tp3-fan-m .tp3-at small { font-size: .6rem; } .v2 .tp3-fan-m .tp3-at em { display: none; }
  .v2 .tp3-fan-m .tp3-c0 { transform: translate(-50%, -50%) translateX(-100px) translateY(10px) rotate(-8deg) scale(.84); } .v2 .tp3-fan-m .tp3-c2 { transform: translate(-50%, -50%) translateX(100px) translateY(10px) rotate(8deg) scale(.84); }
  .v2 .tp3-cols { grid-template-columns: minmax(0, 1fr); gap: 10px; padding-top: 26px; }
  .v2 .tp3-side { order: 2; } .v2 .tp3-main { order: 1; }
  .v2 .tp3-rd { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } .v2 .tp3-rd > :nth-child(3) { display: none; }
}
@media (max-width: 600px) { .v2 .tp3 h1 { font-size: 2.3rem; } .v2 .tp3-p { font-size: 1rem; margin-bottom: 18px; } .v2 .tp3-k { font-size: .78rem; } .v2 .tp3-h h2 { font-size: 1.5rem; } }
.v2 .tp3 { padding-left: max(20px, calc(50vw - 512px)); padding-right: max(20px, calc(50vw - 512px)); }
.v2 .tp3-main .pc2 { grid-template-columns: 96px 1fr; gap: 14px; padding: 10px 14px 10px 10px; }
.v2 .tp3-main .pc2-t > b { font-size: 1.2rem; } .v2 .tp3-main .pc2-t > span:not(.pc2-p) { font-size: .9rem; }
.v2 .tp3-main .tp3-q .pc2-p { margin-top: 6px; }
.v2 .tp3-all { display: inline-block; margin-top: 14px; font: 700 .9rem var(--ui); color: var(--ink); text-decoration: none; }
.v2 .tp3-all:hover { color: var(--green, #1F8A4C); }
.v2 .tp3 { padding-left: max(28px, calc(50vw - 512px)); padding-right: max(28px, calc(50vw - 512px)); }
@media (max-width: 600px) { .v2 .tp3 { padding-left: 18px; padding-right: 18px; } }
@media (max-width: 980px) { .v2 .tp3-fan-m { margin: 22px 0 0; height: 240px; } }
.v2 .tp3-nav a i { font-size: .85rem; line-height: 1; filter: grayscale(1) sepia(1) saturate(3) hue-rotate(5deg); }
/* Love, phones leaner (Lord, 20 Oct) */
@media (max-width: 600px) {
  .v2 .tp3 { padding-top: 18px; padding-bottom: 20px; }
  .v2 .tp3-k { margin-bottom: 10px; padding: 5px 11px 5px 9px; font-size: .74rem !important; } .v2 .tp3-k span { font-size: .7rem; }
  .v2 .tp3 h1 { font-size: 2rem; margin-bottom: 8px; }
  .v2 .tp3-p { font-size: .95rem; line-height: 1.45; margin-bottom: 14px; } .v2 .tp3-x { display: none; }
  .v2 .tp3 .idea2 { margin-top: 6px; }
  .v2 .tp3-fan-m { height: 178px; margin-top: 12px; }
  .v2 .tp3-fan-m .tp3-a { width: 112px; } .v2 .tp3-fan-m .tp3-at { padding: 30px 6px 8px; } .v2 .tp3-fan-m .tp3-at b { font-size: .9rem; } .v2 .tp3-fan-m .tp3-at small { font-size: .55rem; }
  .v2 .tp3-fan-m .tp3-c0 { transform: translate(-50%, -50%) translateX(-80px) translateY(8px) rotate(-8deg) scale(.84); } .v2 .tp3-fan-m .tp3-c2 { transform: translate(-50%, -50%) translateX(80px) translateY(8px) rotate(8deg) scale(.84); }
  .v2 .tp3-fan-m .tp3-c0 .tp3-at small, .v2 .tp3-fan-m .tp3-c2 .tp3-at small { display: none; }
  .v2 .tp3-fan-m .tp3-c0 .tp3-at, .v2 .tp3-fan-m .tp3-c2 .tp3-at { padding-left: 6px; padding-right: 6px; }
  .v2 .tp3-fan-m .tp3-c0 .tp3-at b { padding-right: 30%; } .v2 .tp3-fan-m .tp3-c2 .tp3-at b { padding-left: 30%; }
  .v2 .tp3-cols { padding-top: 20px; } .v2 .tp3-sec { margin-bottom: 28px; } .v2 .tp3-h { margin-bottom: 12px; }
}
/* Love readers on phones, leaner (Lord, 20 Oct): shorter photo, no extra line, smaller button */
@media (max-width: 600px) {
  .v2 .tp3-rd { gap: 10px !important; }
  .v2 .tp3-rd .lr2-c { padding: 8px 8px 10px !important; border-radius: 18px !important; }
  .v2 .tp3-rd .arch { aspect-ratio: 1 / 1 !important; height: auto !important; margin: 0 0 8px !important; }
  .v2 .tp3-rd .arch img { height: 100% !important; object-position: center 25%; }
  .v2 .tp3-rd .lr2-c b { font-size: 1.08rem !important; margin: 0 2px !important; }
  .v2 .tp3-rd .lr2-c small { font-size: .74rem !important; margin: 1px 2px 0 !important; }
  .v2 .tp3-rd .lr2-c > span:not(.arch):not(.lr2-go) { display: none !important; }
  .v2 .tp3-rd .lr2-go { margin: 10px 0 0 !important; padding: 8px 10px !important; font-size: .82rem !important; }
}
@media (max-width: 600px) {
  .v2 .tp3-main .pc2-grid { gap: 10px; } .v2 .tp3-main .tp3-more { margin-top: 10px !important; }
  .v2 .tp3-main .pc2 { grid-template-columns: 72px 1fr; gap: 12px; padding: 8px 12px 8px 8px; border-radius: 16px; }
  .v2 .tp3-main .pc2-i { border-radius: 12px; }
  .v2 .tp3-main .pc2-t small { font-size: .7rem; }
  .v2 .tp3-main .pc2-t > b { font-size: 1.05rem; }
  .v2 .tp3-main .pc2-t > span:not(.pc2-p) { font-size: .84rem; -webkit-line-clamp: 1; margin-top: 2px; }
  .v2 .tp3-main .pc2-p { margin-top: 4px; font-size: .82rem; } .v2 .tp3-main .pc2-p b { font-size: 1rem; }
}
/* Love band on desktop, less height (Lord, 20 Oct) */
@media (min-width: 981px) {
  .v2 .tp3 { padding-top: 24px; padding-bottom: 26px; }
  .v2 .tp3-k { margin-bottom: 12px; } .v2 .tp3 h1 { margin-bottom: 10px; } .v2 .tp3-p { margin-bottom: 18px; }
  .v2 .tp3-fan { height: 290px; }
  .v2 .tp3-a { width: 178px; }
  .v2 .tp3-c0 { transform: translate(-50%, -50%) translateX(-124px) translateY(12px) rotate(-8deg) scale(.86); }
  .v2 .tp3-c2 { transform: translate(-50%, -50%) translateX(124px) translateY(12px) rotate(8deg) scale(.86); }
  .v2 .tp3-c0:hover { transform: translate(-50%, -50%) translateX(-130px) translateY(8px) rotate(-10deg) scale(.88); }
  .v2 .tp3-c2:hover { transform: translate(-50%, -50%) translateX(130px) translateY(8px) rotate(10deg) scale(.88); }
}
/* a wee bit more air, smaller rating bubble (Lord, 20 Oct) */
@media (min-width: 981px) {
  .v2 .tp3 { padding-top: 36px; padding-bottom: 38px; }
  .v2 .tp3-fan { height: 310px; }
  .v2 .tp3-k { padding: 5px 12px 5px 10px; gap: 6px; font-size: .76rem; margin-bottom: 12px; } .v2 .tp3-k span { font-size: .72rem; }
}
/* not yellow beside the gold cards (Lord, 20 Oct): the Find My Reader card is navy; no green text on gold */
.v2 .tp3-match { background: radial-gradient(120% 140% at 85% 0%, #2B2D6E 0%, #16173F 60%, #0F1030 100%); box-shadow: 0 14px 30px -24px rgba(8,11,32,.8); }
.v2 .tp3-match b { color: #FFF7E6; } .v2 .tp3-match span { color: #F3C94A; }
.v2 .tp3-match:hover span { color: #FFE08A; }
.v2 .pc2.pc2-gold .pc2-p i { color: var(--ink, #1C1B3A); }
@media (max-width: 980px) { .v2 .tp3-rd > :nth-child(3) { display: flex !important; } }   /* six readers: 3 + 3, phones 2 + 2 + 2 (Lord, 20 Oct) */
.v2 .tp3-all { display: block; width: fit-content; margin: 14px 0 0 auto; }   /* right-aligned, like Explore All Readers (Lord, 20 Oct) */
/* free tools page in the listing layout (Lord, 20 Oct) */
.v2 .tp3-go { display: inline-flex; align-items: center; gap: 14px; padding: 14px 24px; border-radius: 999px; background: linear-gradient(180deg, #FFE08A, #F3C94A); color: #2B2200; font: 700 1rem var(--ui); text-decoration: none; box-shadow: 0 5px 0 #B8901E; }
.v2 .tp3-go i { font-style: normal; font-size: 1.25rem; line-height: 1; }
.v2 .tp3-tools { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; margin: 0 !important; }
.v2 .tp3-rdw { padding: 0 !important; margin-top: 0 !important; } .v2 .tp3-rdw .lr2-g { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.v2 .tp3-rdw .amr-h h2 { font: 600 1.85rem/1.1 var(--display); }
@media (max-width: 760px) { .v2 .tp3-tools, .v2 .tp3-rdw .lr2-g { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 600px) { .v2 .tp3-go { width: 100%; justify-content: center; box-sizing: border-box; } }
/* Explore All Readers (Lord, 20 Oct): a bigger button under the readers, with a line either side, dividing them from the next section */
.v2 .rd-more { display: flex; align-items: center; gap: 18px; margin: 26px 0 0; }
.v2 .rd-more::before, .v2 .rd-more::after { content: ''; flex: 1; height: 1px; background: var(--hair, #E6DCC8); }
.v2 .rd-more a { display: inline-flex; align-items: center; gap: 10px; padding: 13px 28px; border-radius: 999px; background: #FFFDF9; color: var(--ink, #1C1B3A); font: 700 1rem var(--ui); text-decoration: none; box-shadow: 0 0 0 1.5px #1C1B3A, 0 10px 22px -16px rgba(31,26,46,.5); transition: background .15s, color .15s; }
.v2 .rd-more a i { font-style: normal; font-size: 1.2rem; line-height: 1; }
.v2 .rd-more a:hover { background: #23265A; color: #FFFDF9; box-shadow: 0 0 0 1.5px #23265A; }
.v2 .rd-more a:focus-visible { outline: 2px solid #E3BE5C; outline-offset: 3px; }
@media (max-width: 600px) { .v2 .rd-more { gap: 12px; margin-top: 20px; } .v2 .rd-more a { padding: 12px 22px; font-size: .95rem; } }
.v2 .hm-ma .pc2-grid { margin-top: 0; } .v2 .hm-ma .pc2 { grid-template-columns: 96px 1fr; gap: 14px; padding: 10px 14px 10px 10px; } .v2 .hm-ma .pc2-t > b { font-size: 1.2rem; }
.v2 .hm-ma .tp3-h h2 { font-size: 2.2rem; } @media (max-width: 600px) { .v2 .hm-ma .tp3-h h2 { font-size: 1.6rem; } }   /* the same size as the other homepage headings */
.v2 .hm-mo { border-top: 1px solid var(--hair, #E6DCC8); margin-top: 40px; padding-top: 40px; }   /* a line above (Lord, 20 Oct) */
/* Chat Now buttons sit on one line across a row (Lord, 20 Oct): the card is a column, the button is pushed to the bottom */
.v2 .lr2-c { display: flex !important; flex-direction: column !important; height: 100%; box-sizing: border-box; }
.v2 .lr2-g { align-items: stretch !important; }
.v2 .lr2-c .lr2-go { margin-top: auto !important; align-self: stretch !important; }
.v2 .lr2-c > span:not(.arch):not(.lr2-go) { margin-bottom: 14px !important; }
/* ===== Find My Reading, 3 taps with pictures (Lord, 20 Oct): the same cream card as Find My Reader ===== */
.v2 .qz3 { padding: 28px 0 40px; }
.v2 .qz3-c { max-width: 980px; margin: 0 auto; background: #FFFDF9; border-radius: 26px; padding: 20px 30px 30px; box-shadow: 0 0 0 1px var(--hair, #EDE4D2), 0 24px 44px -34px rgba(40,30,10,.45); }
.v2 .qz3-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.v2 .qz3-back { font: 600 .9rem var(--ui); color: var(--mist, #6E6A82); text-decoration: none; } .v2 .qz3-top span { font: 600 .82rem var(--ui); color: #8A6A1F; }
.v2 .qz3-bar { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-bottom: 18px; }
.v2 .qz3-bar i { height: 4px; border-radius: 4px; background: #EFE6D2; } .v2 .qz3-bar i.done { background: #E3BE5C; } .v2 .qz3-bar i.now { background: linear-gradient(90deg, #E3BE5C 50%, #EFE6D2 50%); }
.v2 .qz3 h1 { margin: 0 0 4px; font: 600 2.1rem/1.1 var(--display); color: var(--ink, #1C1B3A); }
.v2 .qz3-s { margin: 0 0 18px; font: italic 400 1rem/1.45 var(--read); color: #6E6A82; }
.v2 .qz3-o { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.v2 .qz3-o.qz3-n { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.v2 .qz3-o > a { position: relative; display: flex; flex-direction: column; overflow: hidden; border-radius: 18px; background: #fff; text-decoration: none; color: var(--ink, #1C1B3A); box-shadow: 0 0 0 1px #EDE4D2, 0 12px 26px -20px rgba(40,30,10,.55); transition: transform .15s, box-shadow .15s; }
.v2 .qz3-o > a:hover, .v2 .qz3-o > a:focus-visible { transform: translateY(-2px); box-shadow: 0 0 0 2px #E3BE5C, 0 16px 30px -20px rgba(122,90,28,.6); outline: none; }
.v2 .qz3-i { display: flex; aspect-ratio: 16 / 10; overflow: hidden; background: #1D1E46; }
.v2 .qz3-i img { flex: 1; min-width: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .3s; } .v2 .qz3-o > a:hover img { transform: scale(1.04); }
.v2 .qz3-i img + img { border-left: 2px solid #fff; }
.v2 .qz3-t { display: flex; flex-direction: column; gap: 3px; padding: 12px 14px 14px; }
.v2 .qz3-t b { font: 600 1.18rem/1.2 var(--display); } .v2 .qz3-t small { font: 400 .84rem/1.35 var(--ui); color: #6E6A82; }
.v2 .qz3-o > a > em { position: absolute; top: 10px; left: 10px; z-index: 2; padding: 4px 11px; border-radius: 999px; background: #F3C94A; color: #2B2200; font: 700 .72rem var(--ui); font-style: normal; }
.v2 .fm2-or { margin: 12px 0 0; font: 500 .86rem var(--ui); color: var(--mist, #6E6A82); } .v2 .fm2-or a { color: var(--ink); font-weight: 700; }
@media (max-width: 760px) {
  .v2 .qz3 { padding: 12px 0 26px; } .v2 .qz3-c { padding: 14px 14px 18px; border-radius: 20px; }
  .v2 .qz3 h1 { font-size: 1.6rem; } .v2 .qz3-s { margin-bottom: 12px; font-size: .92rem; }
  .v2 .qz3-o, .v2 .qz3-o.qz3-n { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .v2 .qz3-o.qz3-3 { grid-template-columns: minmax(0, 1fr); } .v2 .qz3-o.qz3-3 > a { flex-direction: row; } .v2 .qz3-o.qz3-3 .qz3-i { width: 120px; flex: none; aspect-ratio: auto; } .v2 .qz3-o.qz3-3 .qz3-t { justify-content: center; }
  .v2 .qz3-i { aspect-ratio: 1 / 1; } .v2 .qz3-t { padding: 9px 10px 11px; } .v2 .qz3-t b { font-size: 1rem; } .v2 .qz3-t small { font-size: .76rem; }
}
/* Find My Reading result: the recommendation highlighted, the rest below (Lord, 20 Oct) */
.v2 .fm2-rec { margin: 8px 0 10px; padding: 18px 20px 6px; border-radius: 24px; background: #FFF6DA; box-shadow: 0 0 0 1.5px #E3BE5C, 0 20px 40px -30px rgba(122,90,28,.55); }
.v2 .fm2-rk { margin: 0 0 4px; font: 700 .82rem var(--ui); color: #7A5A12; }
.v2 .fm2-rec .fm2 { margin: 0 !important; padding: 0 !important; background: none !important; }
.v2 .fm2-rest { margin-top: 30px; padding-top: 30px; border-top: 1px solid var(--hair, #E6DCC8); }
/* Explore All Readers, leaner and on the right (Lord, 20 Oct): one line leading into it */
.v2 .rd-more { gap: 14px; margin-top: 18px; } .v2 .rd-more::after { display: none; }
.v2 .rd-more a { padding: 8px 18px; font-size: .88rem; gap: 8px; box-shadow: 0 0 0 1.25px #1C1B3A; } .v2 .rd-more a i { font-size: 1rem; }
/* the "See all" button sits in the middle: the same space above and below (Lord, 20 Oct) */
.v2 .rd-more { margin-top: 28px !important; margin-bottom: 28px !important; }
.v2 .tp3-sec:has(> .rd-more:last-child), .v2 .jb-sec:has(> .rd-more:last-child), .v2 .lr2:has(> .rd-more:last-child) { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.v2 .jb-sec:has(> .rd-more:last-child) + .jb-sec { margin-top: 0 !important; padding-top: 0 !important; }
.v2 .hm-mo { margin-top: 0 !important; }
.v2 .tp3-rdw { margin-bottom: 0 !important; }
/* ===== The sales letter (Lord, 20 Oct; pilot: Reunion) — navy hero with the offer, then a letter on paper ===== */
.v2 .lt-hero { position: relative; overflow: hidden; margin: 0 calc(50% - 50vw); padding: 44px max(28px, calc(50vw - 540px)) 48px; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 48px; align-items: center;
  background: radial-gradient(800px 420px at 80% 10%, #2B3274 0%, var(--night, #14163D) 58%, #080B20 100%); color: #FFF7E6; }
.v2 .lt-hero::before { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .5; background-image: radial-gradient(1px 1px at 8% 20%, #fff 50%, transparent), radial-gradient(1.5px 1.5px at 62% 30%, #F3DDA0 50%, transparent), radial-gradient(1px 1px at 92% 70%, #fff 50%, transparent), radial-gradient(1px 1px at 22% 86%, #fff 50%, transparent); }
.v2 .lt-hero > * { position: relative; min-width: 0; }
.v2 .lt-pre { margin: 0 0 14px; font: italic 500 1.1rem/1.4 var(--read); color: #F3DDA0; }
.v2 .lt-hero h1 { margin: 0 0 16px; font: 600 2.9rem/1.06 var(--display); color: #FFF7E6; letter-spacing: -.01em; }
.v2 .lt-sub { margin: 0 0 18px; font: 400 1.12rem/1.55 var(--read); color: #D6D1E6; max-width: 34em; }
.v2 .lt-rt { margin: 0; font: 600 .86rem var(--ui); color: #D6D1E6; } .v2 .lt-rt span { color: #F3C94A; letter-spacing: 1px; margin-right: 4px; }
.v2 .lt-cov { position: relative; display: block; margin: 0 auto 16px; width: 100%; max-width: 360px; aspect-ratio: 16 / 9; border-radius: 18px; overflow: hidden; box-shadow: 0 0 0 1px rgba(235,215,160,.4), 0 26px 44px -24px rgba(0,0,0,.85); }
.v2 .lt-cov img { width: 100%; height: 100%; object-fit: cover; display: block; }
.v2 .lt-cov > span { position: absolute; inset: auto 0 0 0; padding: 40px 16px 12px; background: linear-gradient(180deg, transparent, rgba(8,11,32,.92) 60%); }
.v2 .lt-cov small { display: block; font: 700 .62rem var(--ui); letter-spacing: .14em; color: #F3DDA0; } .v2 .lt-cov b { display: block; font: 600 1.35rem/1.1 var(--display); color: #FFF7E6; } .v2 .lt-cov em { font: italic 400 .84rem var(--read); color: #D6D1E6; }
.v2 .lt-buy { background: #FFFDF9; color: var(--ink, #1C1B3A); border-radius: 20px; padding: 18px 20px 14px; box-shadow: 0 0 0 1px #EDE4D2, 0 22px 40px -28px rgba(0,0,0,.7); max-width: 360px; margin: 0 auto; }
.v2 .lt-pr { display: flex; align-items: baseline; gap: 10px; margin: 0; } .v2 .lt-pr s { color: #9A93A8; font: 500 1rem var(--ui); } .v2 .lt-pr b { font: 700 2rem var(--ui); color: var(--ink); } .v2 .lt-pr em { font: 700 .74rem var(--ui); font-style: normal; color: #fff; background: #B9443A; padding: 3px 9px; border-radius: 999px; }
.v2 .lt-why { margin: 2px 0 12px; font: 600 .8rem var(--ui); color: #9C7629; }
.v2 .lt-buy .btn3 { width: 100%; justify-content: center; box-sizing: border-box; }
.v2 .lt-fine { margin: 10px 0 0; text-align: center; font: 500 .74rem/1.4 var(--ui); color: #8A84A0; }
/* the letter */
.v2 .lt { max-width: 700px; margin: 40px auto 0; padding: 50px 60px 44px; background: #FFFFFF; border-radius: 6px; box-shadow: 0 0 0 1px #EDE4D2, 0 30px 60px -44px rgba(40,30,10,.5); font: 400 1.14rem/1.75 var(--read); color: #2A2740; }
.v2 .lt p { margin: 0 0 18px; } .v2 .lt b { color: #1C1B3A; }
.v2 .lt-dear { font-style: italic; }
.v2 .lt h2 { margin: 34px 0 16px; font: 600 1.7rem/1.2 var(--display); color: #1C1B3A; }
.v2 .lt-bul { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 12px; }
.v2 .lt-bul li { position: relative; display: flex; gap: 14px; align-items: baseline; padding-left: 30px; }
.v2 .lt-bul li::before { content: '✓'; position: absolute; left: 0; top: 2px; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; background: #1F8A4C; color: #fff; font: 700 .7rem var(--ui); }
.v2 .lt-bul li span { flex: 1; } .v2 .lt-bul li em { flex: none; font: 600 .74rem var(--ui); font-style: normal; color: #9C7629; white-space: nowrap; }
.v2 .lt-say { display: grid; gap: 14px; margin: 0 0 10px; }
.v2 .lt-say figure { margin: 0; padding: 4px 0 4px 18px; border-left: 3px solid #E3BE5C; }
.v2 .lt-say blockquote { margin: 2px 0 6px; font: italic 400 1.1rem/1.6 var(--read); color: #1C1B3A; } .v2 .lt-say figcaption { font: 600 .82rem var(--ui); color: #4A4766; } .v2 .lt-say small { color: #1F8A4C; margin-left: 6px; }
.v2 .lt-say .cs-st { margin: 0; color: #D9B864; font-size: .7rem; letter-spacing: 2px; }
.v2 .lt-pg { position: relative; margin: 0 0 10px; padding: 26px 28px 22px; background: #FBF7EE; border: 1px solid #EFE6D2; border-radius: 4px; }
.v2 .lt-pg small { display: block; margin-bottom: 8px; font: 700 .7rem var(--ui); letter-spacing: .12em; color: #B8892E; }
.v2 .lt-pgt { font: 400 1.08rem/1.7 var(--read); } .v2 .lt-pgb { filter: blur(3.5px); user-select: none; opacity: .85; }
.v2 .lt-lock { display: inline-block; margin-top: 4px; font: 600 .8rem var(--ui); color: #6E6A82; } .v2 .lt-pgn { margin: 10px 0 0 !important; font: italic 400 .84rem var(--read); color: #8A84A0; }
.v2 .lt-get { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 8px; }
.v2 .lt-get li { padding-left: 28px; position: relative; } .v2 .lt-get li::before { content: '✦'; position: absolute; left: 4px; color: #C9A24A; }
.v2 .lt-buy-mid, .v2 .lt-buy-end { margin: 26px auto 6px; box-shadow: 0 0 0 1.5px #E3BE5C, 0 20px 40px -28px rgba(122,90,28,.55); background: #FFFBEF; }
.v2 .lt-end { margin-top: 30px; }
.v2 .lt-sig { font-style: italic; } .v2 .lt-sig span { display: block; margin-top: 4px; font: 600 2rem/1 'Cormorant Garamond', Georgia, serif; font-style: italic; color: #1C1B3A; } .v2 .lt-sig small { font: 500 .8rem var(--ui); font-style: normal; color: #8A84A0; }
.v2 .lt-ps { padding-left: 2px; } .v2 .lt-ps b { font-family: var(--ui); }
.v2 .lt-faq { margin-top: 26px; border-top: 1px solid #EFE6D2; padding-top: 14px; } .v2 .lt-faq > summary { font: 700 .95rem var(--ui); color: #1C1B3A; cursor: pointer; }
.v2 .lt-faq details { border-bottom: 1px solid #F3EEE4; padding: 10px 0; } .v2 .lt-faq details summary { font: 600 .92rem var(--ui); cursor: pointer; } .v2 .lt-faq details p { margin: 8px 0 0; font-size: 1rem; }
.v2 .lt-proto { margin: 22px 0 0 !important; text-align: center; font: 500 .76rem var(--ui); color: #9A93A8; } .v2 .lt-proto a { color: #6E6A82; }
.v2 .lt + .g2, .v2 .lt ~ .g2 { max-width: 700px; margin-left: auto; margin-right: auto; }
@media (max-width: 900px) { .v2 .lt-hero { grid-template-columns: 1fr; gap: 26px; padding-top: 28px; padding-bottom: 30px; } .v2 .lt-hero h1 { font-size: 2.2rem; } }
@media (max-width: 600px) {
  .v2 .lt-hero { padding-left: 18px; padding-right: 18px; } .v2 .lt-pre { font-size: 1rem; } .v2 .lt-hero h1 { font-size: 1.95rem; } .v2 .lt-sub { font-size: 1rem; }
  .v2 .lt { margin-top: 22px; padding: 28px 20px 26px; font-size: 1.06rem; line-height: 1.7; } .v2 .lt h2 { font-size: 1.4rem; }
  .v2 .lt-bul li { flex-direction: column; gap: 2px; } .v2 .lt-pg { padding: 18px 16px; }
}
.v2 .lt-hero .lt-sub { color: #D6D1E6 !important; opacity: 1 !important; }
.v2 .lt, .v2 .lt h2, .v2 .lt p, .v2 .lt-dear { text-align: left !important; }
.v2 .lt-buy-mid, .v2 .lt-buy-end { text-align: left; }
html body .lt > p.lt-dear { width: auto !important; max-width: none !important; margin: 0 0 18px !important; position: static !important; left: auto !important; transform: none !important; }
html body article.lt { display: block !important; }
/* ===== Sales letter, round 2 (Lord, 20 Oct): picture behind the left half, headline on the right, no price up top; nicer letter; order box the letter's width ===== */
.v2 .lt-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; gap: 0 !important; padding: 0 !important; min-height: 420px; align-items: stretch !important; }
.v2 .lt-art { position: relative; background-size: cover; background-position: center; min-height: 420px; }
.v2 .lt-art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,11,32,0) 40%, rgba(12,14,42,.75) 80%, #12143A 100%); }
.v2 .lt-hl { display: flex; flex-direction: column; justify-content: center; padding: 48px max(28px, calc(50vw - 540px)) 48px 52px; }
.v2 .lt-hero h1 { font-size: 2.7rem !important; }
/* the letter */
.v2 .lt { max-width: 720px; padding: 56px 68px 40px; border-radius: 4px; background: #FFFEFB linear-gradient(180deg, rgba(243,221,160,.10), rgba(255,255,255,0) 160px); box-shadow: 0 0 0 1px #EDE4D2, 0 2px 0 #F3EEE4, 0 40px 70px -50px rgba(40,30,10,.55); }
.v2 .lt::before { content: ''; display: block; height: 4px; margin: -56px -68px 48px; border-radius: 4px 4px 0 0; background: linear-gradient(90deg, #C9A24A, #F3DDA0, #C9A24A); }
.v2 .lt-dear { font: italic 400 1.2rem var(--read); color: #6E6A82; }
.v2 .lt-dear + p::first-letter { float: left; font: 600 4rem/.85 var(--display); color: #8A6A1F; margin: 6px 10px 0 0; }
.v2 .lt mark { background: linear-gradient(transparent 55%, #FBE59A 55%); color: inherit; padding: 0 2px; }
.v2 .lt h2 { position: relative; margin: 46px 0 18px; padding-top: 30px; font-size: 1.75rem; }
.v2 .lt h2::before { content: '✦'; position: absolute; top: 0; left: 0; right: 0; text-align: center; font-size: .8rem; color: #C9A24A; letter-spacing: 1em; }
.v2 .lt-bul { gap: 14px; padding: 22px 24px; background: #FBF7EE; border-radius: 14px; border: 1px solid #F1E7D2; }
.v2 .lt-bul li em { padding: 2px 8px; border-radius: 999px; background: #fff; box-shadow: 0 0 0 1px #EDE0C2; }
.v2 .lt-say figure { padding: 16px 18px 14px 20px; border-left: 0; border-radius: 14px; background: #FFFBEF; box-shadow: 0 0 0 1px #F1E3BD; position: relative; }
.v2 .lt-say figure::before { content: '“'; position: absolute; top: -6px; right: 14px; font: 600 4rem/1 var(--display); color: #EBD7A0; }
.v2 .lt-g { margin: 34px -20px 10px; } .v2 .lt-g .g2 { max-width: none !important; margin: 0 !important; }
.v2 .lt-sig { margin-top: 30px; }
.v2 .lt-proto { margin-bottom: 0 !important; }
.v2 .lt + .rp-disc { margin-top: 18px; }
/* the order box: the letter's width */
.v2 .lt-buy { max-width: none !important; margin: 30px -20px 8px !important; padding: 22px 24px 18px !important; border-radius: 22px !important; background: linear-gradient(180deg, #FFFBEF, #FFF5D6) !important; box-shadow: 0 0 0 1.5px #E3BE5C, 0 24px 44px -30px rgba(122,90,28,.6) !important; }
.v2 .lt-bt { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; gap: 16px; align-items: center; margin-bottom: 16px; }
.v2 .lt-bc { width: 76px; height: 76px; border-radius: 14px; overflow: hidden; box-shadow: 0 8px 18px -10px rgba(0,0,0,.6); } .v2 .lt-bc img { width: 100%; height: 100%; object-fit: cover; display: block; }
.v2 .lt-bn { min-width: 0; display: flex; flex-direction: column; } .v2 .lt-bn small { font: 600 .74rem var(--ui); color: #8A6A1F; } .v2 .lt-bn b { font: 600 1.45rem/1.15 var(--display); color: #1C1B3A; } .v2 .lt-bn em { font: 500 .8rem var(--ui); font-style: normal; color: #6E6A82; }
.v2 .lt-buy .lt-pr { display: flex !important; flex-direction: column; align-items: flex-end; gap: 0 !important; margin: 0; text-align: right; }
.v2 .lt-buy .lt-pr s { font: 500 1rem var(--ui); color: #9A93A8; } .v2 .lt-buy .lt-pr b { font: 700 2.2rem/1 var(--ui); color: #1C1B3A; } .v2 .lt-buy .lt-pr i { margin-top: 4px; font: 700 .72rem var(--ui); font-style: normal; color: #B9443A; }
.v2 .lt-buy .btn3 { width: 100%; justify-content: center; box-sizing: border-box; font-size: 1.1rem; min-height: 60px; }
.v2 .lt-trust { list-style: none; display: flex; justify-content: center; flex-wrap: wrap; gap: 6px 20px; margin: 14px 0 0; padding: 0; font: 600 .8rem var(--ui); color: #4A4766; }
.v2 .lt-trust li { display: flex; align-items: center; gap: 6px; } .v2 .lt-trust i { font-style: normal; color: #8A6A1F; }
@media (max-width: 900px) {
  .v2 .lt-hero { grid-template-columns: 1fr !important; min-height: 0; }
  .v2 .lt-art { min-height: 220px; } .v2 .lt-art::after { background: linear-gradient(180deg, rgba(8,11,32,0) 40%, #12143A 100%); }
  .v2 .lt-hl { padding: 6px 22px 30px; margin-top: -40px; }
}
@media (max-width: 600px) {
  .v2 .lt-hero h1 { font-size: 1.95rem !important; }
  .v2 .lt { padding: 32px 20px 26px; } .v2 .lt::before { margin: -32px -20px 28px; }
  .v2 .lt-dear + p::first-letter { font-size: 3.2rem; }
  .v2 .lt-bul { padding: 16px 14px; } .v2 .lt-buy, .v2 .lt-g { margin-left: -8px !important; margin-right: -8px !important; }
  .v2 .lt-buy { padding: 16px 14px 14px !important; } .v2 .lt-bt { grid-template-columns: 58px minmax(0, 1fr); } .v2 .lt-bc { width: 58px; height: 58px; }
  .v2 .lt-buy .lt-pr { grid-column: 1 / -1; flex-direction: row; align-items: baseline; gap: 10px !important; justify-content: flex-start; } .v2 .lt-buy .lt-pr b { font-size: 1.9rem; }
  .v2 .lt-bn b { font-size: 1.2rem; }
}
.v2 .lt-dear + p::first-letter { margin: 4px 8px 0 0; font-size: 3.6rem; }
.v2 .lt-g h2::before { content: none; } .v2 .lt-g h2 { margin: 0 0 8px !important; padding-top: 0 !important; }
.v2 .lt-g .g2 { padding: 22px 24px !important; gap: 20px !important; } .v2 .lt-g .seal2 { width: 84px !important; height: 84px !important; }
@media (max-width: 600px) { .v2 .lt-g .g2 { flex-direction: row !important; display: flex !important; align-items: flex-start; padding: 18px 16px !important; } .v2 .lt-g .seal2 { width: 58px !important; height: 58px !important; flex: none; } .v2 .lt-g h2 { font-size: 1.2rem !important; } .v2 .lt-dear + p::first-letter { font-size: 3rem; } }
.v2 .lt-g .g2 { grid-template-columns: 84px minmax(0, 1fr) !important; } @media (max-width: 600px) { .v2 .lt-g .g2 { grid-template-columns: none !important; } }
/* hero round 3 (Lord, 20 Oct): the painting is a quarter, fading into the navy behind; the headline sits in a soft glass panel */
@media (min-width: 901px) {
  .v2 .lt-hero { display: block !important; position: relative; min-height: 0; padding: 54px max(28px, calc(50vw - 540px)) !important; }
  .v2 .lt-art { position: absolute !important; inset: 0 auto 0 0; width: 25%; min-height: 0 !important; z-index: 0; }
  .v2 .lt-art::after { background: linear-gradient(90deg, rgba(18,20,58,.15) 0%, rgba(18,20,58,.6) 55%, #12143A 100%) !important; }
  .v2 .lt-hl { position: relative; z-index: 1; margin-left: calc(25% - max(28px, calc(50vw - 540px)) - 40px); max-width: 720px; padding: 34px 40px 32px !important; border-radius: 22px;
    background: linear-gradient(160deg, rgba(255,253,249,.09), rgba(255,253,249,.03)); border: 1px solid rgba(235,215,160,.32); box-shadow: 0 30px 60px -36px rgba(0,0,0,.85), inset 0 1px 0 rgba(255,255,255,.06); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
  .v2 .lt-hl::before { content: ''; position: absolute; left: 40px; top: 0; width: 56px; height: 3px; border-radius: 0 0 3px 3px; background: #F3C94A; }
}
@media (min-width: 901px) and (max-width: 1180px) { .v2 .lt-hl { margin-left: 18%; } }
@media (max-width: 900px) {
  .v2 .lt-art { min-height: 150px !important; }
  .v2 .lt-hl { margin: -34px 16px 0 !important; padding: 22px 20px 22px !important; border-radius: 18px; background: rgba(18,20,58,.82); border: 1px solid rgba(235,215,160,.3); position: relative; }
  .v2 .lt-hero { padding-bottom: 26px !important; }
}
/* round 4 (Lord, 20 Oct): one letter. A short navy band (painting at both edges, a quarter each), the paper rises into it, the headline is printed at the top of the paper */
.v2 .lt-hero.lt-hero3 { display: block !important; position: relative; min-height: 0 !important; height: 230px; padding: 0 !important; }
.v2 .lt-hero3 .lt-art { position: absolute !important; top: 0; bottom: 0; left: 0; width: 25%; min-height: 0 !important; background-size: cover; background-position: center; }
.v2 .lt-hero3 .lt-art::after { background: linear-gradient(90deg, rgba(18,20,58,.1), rgba(18,20,58,.65) 60%, #12143A) !important; }
.v2 .lt-hero3 .lt-art-r { left: auto; right: 0; transform: scaleX(-1); }
.v2 .lt.lt-rise { position: relative; z-index: 2; margin-top: -170px; }
.v2 .lt-head { margin: 0 0 30px; padding-bottom: 26px; border-bottom: 1px solid #EFE6D2; text-align: center !important; }
.v2 .lt-head .lt-pre { margin: 0 0 14px; font: italic 500 1.15rem/1.4 var(--read); color: #9C7629; text-align: center !important; }
.v2 .lt-head h1 { margin: 0 0 16px; font: 600 2.75rem/1.08 var(--display); color: #1C1B3A; letter-spacing: -.01em; text-align: center; }
.v2 .lt-head .lt-sub { margin: 0 auto 14px; max-width: 32em; font: italic 400 1.15rem/1.55 var(--read); color: #4A4766 !important; text-align: center !important; }
.v2 .lt-head .lt-rt { margin: 0; font: 600 .84rem var(--ui); color: #6E6A82; text-align: center !important; } .v2 .lt-head .lt-rt span { color: #E3B23C; letter-spacing: 1px; margin-right: 4px; }
@media (max-width: 900px) { .v2 .lt-hero3 .lt-art { width: 40%; } .v2 .lt-hero.lt-hero3 { height: 170px; } .v2 .lt.lt-rise { margin-top: -120px; } }
@media (max-width: 600px) { .v2 .lt-hero3 .lt-art { width: 50%; } .v2 .lt-hero.lt-hero3 { height: 130px; } .v2 .lt.lt-rise { margin-top: -90px; } .v2 .lt-head h1 { font-size: 1.85rem; } .v2 .lt-head .lt-pre, .v2 .lt-head .lt-sub { font-size: 1rem; } .v2 .lt-head { margin-bottom: 22px; padding-bottom: 20px; } }
html body .lt-head, html body .lt-head h1, html body .lt-head p { max-width: none !important; width: auto !important; }
html body .lt-head h1 { font-size: 2.9rem; } @media (max-width: 600px) { html body .lt-head h1 { font-size: 1.85rem; } }
.v2 .lt-dear + p::first-letter { float: none !important; font: inherit !important; color: inherit !important; margin: 0 !important; }   /* no drop cap: it split "If" */
/* one painting behind the whole band, darkened and soft, fading into the page (Lord, 20 Oct: no mirrored copies, no hard edges) */
.v2 .lt-hero.lt-hero3 { height: 300px !important; background: #12143A !important; overflow: hidden; }
.v2 .lt-hero.lt-hero3::before { display: none; }
.v2 .lt-hero3 .lt-art { inset: -20px !important; width: auto !important; transform: none !important; filter: blur(3px) saturate(.9); background-position: center 40% !important; }
.v2 .lt-hero3 .lt-art::after { inset: 0; background: radial-gradient(ellipse 60% 90% at 50% 100%, rgba(18,20,58,.92), rgba(18,20,58,.55) 70%), linear-gradient(180deg, rgba(18,20,58,.35), rgba(18,20,58,.75)) !important; }
.v2 .lt.lt-rise { margin-top: -220px !important; }
@media (max-width: 900px) { .v2 .lt-hero.lt-hero3 { height: 220px !important; } .v2 .lt.lt-rise { margin-top: -150px !important; } }
@media (max-width: 600px) { .v2 .lt-hero.lt-hero3 { height: 170px !important; } .v2 .lt.lt-rise { margin-top: -110px !important; } }
/* band (Lord, 20 Oct): the painting clear, not hazy; a back link and the reading's line above the letter */
.v2 .lt-hero3 .lt-art { filter: none !important; inset: 0 !important; background-position: center 55% !important; }
.v2 .lt-hero3 .lt-art::after { background: linear-gradient(180deg, rgba(14,16,48,.55) 0%, rgba(14,16,48,.15) 45%, rgba(14,16,48,.5) 100%), linear-gradient(90deg, rgba(14,16,48,.25), rgba(14,16,48,.6) 50%, rgba(14,16,48,.25)) !important; }
.v2 .lt-bar { position: relative; z-index: 1; max-width: 720px; margin: 0 auto; padding: 26px 0 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.v2 .lt-bar a { font: 600 .88rem var(--ui); color: #FFF7E6; text-decoration: none; text-shadow: 0 1px 6px rgba(0,0,0,.6); }
.v2 .lt-bar span { display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px 5px 5px; border-radius: 999px; background: rgba(14,16,48,.55); border: 1px solid rgba(235,215,160,.35); font: 500 .78rem var(--ui); color: #F3DDA0; backdrop-filter: blur(4px); }
.v2 .lt-bar img { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; }
.v2 .lt-back { max-width: 720px; margin: 0 auto; } .v2 .lt-back .rd-more { margin: 26px 0 10px !important; }
@media (max-width: 900px) { .v2 .lt-bar { padding: 16px 20px 0; } }
@media (max-width: 600px) { .v2 .lt-bar { padding: 12px 18px 0; } .v2 .lt-bar span { display: none; } .v2 .lt-back { padding: 0 18px; } }
/* the order form (Lord, 20 Oct): a coupon on the letter, one decision */
.v2 .lt-buy { margin: 34px 0 10px !important; padding: 28px 32px 22px !important; border-radius: 16px !important; background: #FFFBEF !important; box-shadow: none !important; border: 2px dashed #D9B864; text-align: left; }
.v2 .lt-yes { margin: 0 0 14px !important; font: 600 1.6rem/1.2 var(--display); color: #1C1B3A; }
.v2 .lt-yl { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 8px; }
.v2 .lt-yl li { position: relative; padding-left: 30px; font: 400 1.04rem/1.5 var(--read); color: #2A2740; }
.v2 .lt-yl li::before { content: '✓'; position: absolute; left: 0; top: 3px; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; background: #1F8A4C; color: #fff; font: 700 .7rem var(--ui); }
.v2 .lt-pr2 { display: flex; align-items: baseline; gap: 12px; margin: 0 0 14px !important; padding-top: 16px; border-top: 1px solid #EFE2C0; }
.v2 .lt-pr2 s { font: 500 1.1rem var(--ui); color: #9A93A8; } .v2 .lt-pr2 b { font: 700 2.2rem/1 var(--ui); color: #1C1B3A; } .v2 .lt-pr2 span { font: 600 .86rem var(--ui); color: #8A6A1F; }
.v2 .lt-go { display: flex; align-items: center; justify-content: center; gap: 12px; height: 62px; border-radius: 999px; background: linear-gradient(180deg, #FFE08A, #F3C94A); color: #2B2200; font: 700 1.15rem var(--ui); text-decoration: none; box-shadow: 0 5px 0 #B8901E, 0 18px 32px -16px rgba(243,201,74,.65); transition: transform .12s; }
.v2 .lt-go i { font-style: normal; font-size: 1.4rem; line-height: 1; } .v2 .lt-go:hover { transform: translateY(-1px); } .v2 .lt-go:active { transform: translateY(3px); box-shadow: 0 2px 0 #B8901E; }
.v2 .lt-go:focus-visible { outline: 2px solid #1C1B3A; outline-offset: 3px; }
.v2 .lt-fine2 { margin: 12px 0 0 !important; text-align: center; font: 500 .8rem var(--ui); color: #6E6A82; }
@media (max-width: 600px) { .v2 .lt-buy { padding: 20px 16px 16px !important; margin-left: -6px !important; margin-right: -6px !important; } .v2 .lt-yes { font-size: 1.3rem; } .v2 .lt-go { font-size: 1.02rem; height: 56px; } .v2 .lt-pr2 b { font-size: 1.9rem; } }
/* the letter must not move (Lord, 20 Oct: an old ".lt" float animation from another page was bobbing it) */
html body article.lt { animation: none !important; transform: none !important; }
html body a.lt-go { flex-direction: row !important; margin: 0 !important; gap: 12px !important; padding: 0 24px !important; white-space: nowrap; }
.v2 .lt-bar { justify-content: center; } @media (max-width: 600px) { .v2 .lt-bar { display: none; } }
/* less space between the gold rule and the first line of the letter (Lord, 20 Oct) */
.v2 .lt.lt-rise { padding-top: 34px; } .v2 .lt.lt-rise::before { margin: -34px -68px 26px; }
@media (max-width: 600px) { .v2 .lt.lt-rise { padding-top: 20px; } .v2 .lt.lt-rise::before { margin: -20px -20px 16px; } }
/* order form: price and reassurance centred (Lord, 20 Oct) */
.v2 .lt-pr2 { justify-content: center; } .v2 .lt-fine2 { text-align: center !important; }
html body .lt p.lt-fine2 { text-align: center !important; }
/* questions open, styled like accordion rows but nothing to click (Lord, 20 Oct) */
.v2 .lt-faq { margin-top: 30px; border-top: 0; padding-top: 0; }
.v2 .lt-qa { padding: 16px 18px; margin: 0 0 10px; border-radius: 14px; background: #FBF7EE; border: 1px solid #F1E7D2; }
.v2 .lt-qa b { display: flex; gap: 10px; font: 700 .98rem/1.35 var(--ui); color: #1C1B3A; } .v2 .lt-qa b::before { content: 'Q'; flex: none; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: #23265A; color: #F3C94A; font: 700 .7rem var(--ui); }
.v2 .lt-qa p { margin: 6px 0 0 32px !important; font: 400 1rem/1.6 var(--read); color: #4A4766; }
/* phones: less empty band above the letter */
@media (max-width: 600px) { .v2 .lt-hero.lt-hero3 { height: 96px !important; } .v2 .lt.lt-rise { margin-top: -72px !important; } }
.v2 .lt-faq + .lt-buy { margin-top: 24px !important; }
.v2 .rp-disc { display: none !important; }   /* Lord, 20 Oct: the disclaimer is in the footer already, on every page */
.v2 p.lt-back { text-align: center; margin: 22px auto 40px; } .v2 p.lt-back a { font: 500 .88rem var(--ui); color: #6E6A82; text-decoration: none; } .v2 p.lt-back a:hover { color: #1C1B3A; text-decoration: underline; }
/* value stack (Lord, 20 Oct): like a receipt */
.v2 .lt-stack { margin: 6px 0 22px; padding: 18px 22px 14px; border-radius: 14px; background: #FBF7EE; border: 1px solid #F1E7D2; }
.v2 .lt-stack p { display: flex; align-items: baseline; gap: 14px; margin: 0 !important; padding: 9px 0; border-bottom: 1px dashed #E6D7B4; font: 400 1.02rem/1.45 var(--read); }
.v2 .lt-stack p span { flex: 1; } .v2 .lt-stack p b { flex: none; font: 600 1rem var(--ui); color: #6E6A82; }
.v2 .lt-stack .lt-stt { border-bottom: 0; padding-top: 12px; } .v2 .lt-stack .lt-stt span { font: 700 .95rem var(--ui); color: #1C1B3A; } .v2 .lt-stack .lt-stt b { font: 700 1.25rem var(--ui); color: #1C1B3A; text-decoration: line-through; text-decoration-color: #B9443A; text-decoration-thickness: 2px; }
@media (max-width: 600px) { .v2 .lt-stack { padding: 12px 14px 10px; } .v2 .lt-stack p { font-size: .96rem; } }
.v2 .lt-stack .lt-stt b { text-decoration: none !important; }
/* Lord, 20 Oct: like the homepage, pictures on the LEFT, headline and button on the RIGHT, on every band */
@media (min-width: 981px) {
  .v2 .tp3 { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr) !important; }
  .v2 .tp3 > .tp3-fan { order: 1; } .v2 .tp3 > .tp3-l { order: 2; }
  .v2 .st5 { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) !important; }
  .v2 .st5 > .st5-fan { order: 1; } .v2 .st5 > .st5-l { order: 2; }
}
/* letter sub-headlines stand out (Lord, 20 Oct): bigger, bolder, a gold bar under them */
.v2 .lt > h2, .v2 .lt-faq > h2 { margin: 52px 0 20px !important; padding: 0 0 12px !important; font: 700 2.05rem/1.15 var(--display) !important; color: #1C1B3A !important; letter-spacing: -.005em; border-bottom: 0; position: relative; }
.v2 .lt > h2::before, .v2 .lt-faq > h2::before { content: none !important; }
.v2 .lt > h2::after, .v2 .lt-faq > h2::after { content: ''; position: absolute; left: 0; bottom: 0; width: 64px; height: 4px; border-radius: 4px; background: linear-gradient(90deg, #C9A24A, #F3DDA0); }
@media (max-width: 600px) { .v2 .lt > h2, .v2 .lt-faq > h2 { font-size: 1.6rem !important; margin-top: 40px !important; } }
.v2 .bb-ban { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; padding: 14px 16px; border-radius: 16px; text-decoration: none; background: radial-gradient(120% 140% at 85% 0%, #2B2D6E 0%, #16173F 60%, #0F1030 100%); box-shadow: 0 14px 30px -24px rgba(8,11,32,.8); }
.v2 .bb-ban > i { flex: none; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-style: normal; color: #F3C94A; background: rgba(255,253,249,.08); box-shadow: inset 0 0 0 1px rgba(235,215,160,.35); }
.v2 .bb-ban span { flex: 1; min-width: 0; display: flex; flex-direction: column; } .bb-ban b { font: 600 1.05rem/1.2 var(--display); color: #FFF7E6; } .bb-ban small { margin-top: 3px; font: 500 .78rem/1.4 var(--ui); color: #CFC8E2; }
.v2 .bb-ban em { font-style: normal; color: #F3C94A; font: 700 1.2rem var(--ui); }

/* Checkout (#checkout/<id>, Lord 20 Oct): copied from the AttractLoveNow checkout that worked. No site menu, one narrow column, cream page,
   white cards, one green button; navy only in the bar, gold only for the stars and the price hold. */
body.ck-on .hm-bar, body.ck-on #hmTabs, body.ck-on #hmFoot, body.ck-on #hmSheet { display: none !important; }
body.ck-on { background: #FAF6EE !important; padding-bottom: 0 !important; }
body.ck-on #hm { padding: 0 !important; margin: 0 !important; max-width: none !important; }
.v2 .ck { --cw: 560px; font: 400 1rem/1.5 var(--ui); color: #1C1B3A; }
.v2 .ck-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px max(16px, calc((100% - 1100px) / 2)); background: #fff; border-bottom: 1px solid #EDE4D2; }
.v2 .ck-bar img { height: 30px; width: auto; display: block; }
.v2 .ck-bar span { font: 700 .72rem var(--ui); letter-spacing: .06em; text-transform: uppercase; color: #1F8A4C; white-space: nowrap; }
.v2 .ck-in { max-width: var(--cw); margin: 0 auto; padding: 26px 16px 20px; }
.v2 .ck h1 { font: 700 clamp(1.5rem, 4.6vw, 2rem)/1.2 var(--display); text-align: center; margin: 0 0 8px; color: #1C1B3A; text-wrap: balance; }
.v2 .ck-lede { text-align: center; color: #4A4766; margin: 0 0 18px; font-size: .95rem; }
.v2 .ck-card { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 14px; background: #fff; border: 1px solid #EDE4D2; border-radius: 14px; padding: 12px; box-shadow: 0 10px 24px -20px rgba(28,27,58,.5); }
.v2 .ck-pic { position: relative; border-radius: 10px; overflow: hidden; align-self: start; aspect-ratio: 1; }
.v2 .ck-pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.v2 .ck-pic span { position: absolute; left: 0; right: 0; bottom: 0; background: #1C1B3A; color: #F3C94A; font: 700 .64rem var(--ui); letter-spacing: .08em; text-transform: uppercase; text-align: center; padding: 4px 0; }
.v2 .ck-ct h2 { font: 700 1.12rem/1.25 var(--display); margin: 0 0 4px; }
.v2 .ck-ct ul { list-style: none; margin: 0 0 6px; padding: 0; font-size: .84rem; color: #4A4766; }
.v2 .ck-ct li { position: relative; padding-left: 18px; line-height: 1.35; margin-bottom: 2px; }
.v2 .ck-ct li::before, .v2 .ck-g::first-letter { color: #1F8A4C; font-weight: 700; }
.v2 .ck-ct li::before { content: '✓'; position: absolute; left: 0; }
.v2 .ck-pr { margin: 0; display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; }
.v2 .ck-pr s { color: #9A3B3B; font-size: .9rem; } .v2 .ck-pr b { font: 700 1.5rem var(--display); color: #1F8A4C; }
.v2 .ck-pr em { font: 700 .66rem var(--ui); font-style: normal; letter-spacing: .05em; text-transform: uppercase; background: #E4F3E9; color: #1F8A4C; padding: 3px 8px; border-radius: 999px; }
.v2 .ck-g { margin: 2px 0 0; font: 600 .8rem var(--ui); }
.v2 .ck-t { margin: 2px 0 0; font: 600 .8rem var(--ui); text-align: right; } .v2 .ck-t b { color: #B3261E; font-variant-numeric: tabular-nums; }
.v2 .ck-form { margin-top: 16px; background: #fff; border: 1px solid #EDE4D2; border-radius: 14px; padding: 16px; box-shadow: 0 10px 24px -20px rgba(28,27,58,.5); scroll-margin-top: 12px; }
.v2 .ck-steps { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: .8rem; color: #8C88A3; } .v2 .ck-steps b { font-weight: 500; } .v2 .ck-steps b.on { color: #1C1B3A; font-weight: 700; } .v2 .ck-steps i { font-style: normal; }
.v2 .ck-x { border: 1px solid #EDE4D2; border-radius: 10px; padding: 10px 12px 12px; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.v2 .ck-x legend { font: 700 .8rem var(--ui); padding: 0 8px; margin: 0 auto; }
.v2 .ck-x button { height: 44px; border-radius: 8px; font: 600 1rem var(--ui); cursor: pointer; }
.v2 .ck-ap { background: #000; color: #fff; border: 0; } .v2 .ck-gp { background: #fff; color: #3C4043; border: 1px solid #DADCE0; } .v2 .ck-gp b { color: #4285F4; }
.v2 .ck-or { display: flex; align-items: center; gap: 10px; margin: 14px 0; color: #8C88A3; font: 600 .74rem var(--ui); text-transform: uppercase; }
.v2 .ck-or::before, .v2 .ck-or::after { content: ''; flex: 1; height: 1px; background: #EDE4D2; }
.v2 .ck-f { display: block; margin: 0 0 12px; }
.v2 .ck-f > span { display: block; font: 600 .84rem var(--ui); margin: 0 0 5px; } .v2 .ck-f small, .v2 .ck-more small { font-weight: 400; color: #8C88A3; font-style: italic; }
.v2 .ck input, .v2 .ck select, .v2 .ck textarea { width: 100%; box-sizing: border-box; height: 46px; border: 1px solid #DCD3C0; border-radius: 8px; background: #FFFDF9; padding: 0 12px; font: 400 1rem var(--ui); color: #1C1B3A; }
.v2 .ck textarea { height: auto; padding: 10px 12px; resize: vertical; }
.v2 .ck select { padding-right: 34px; -webkit-appearance: none; appearance: none; background: #FFFDF9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%234A4766' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center; }
.v2 .ck input:focus, .v2 .ck select:focus, .v2 .ck textarea:focus { outline: 2px solid #1F8A4C; outline-offset: 0; border-color: #1F8A4C; }
.v2 .ck-bd { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, .8fr) minmax(0, 1fr); gap: 8px; }
.v2 .ck-them input[name="tn"] { margin-bottom: 8px; }
.v2 .ck-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.v2 .ck-more { margin: -2px 0 12px; } .v2 .ck-more summary { cursor: pointer; font: 600 .84rem var(--ui); color: #1F8A4C; } .v2 .ck-more .ck-2 { margin-top: 8px; }
.v2 .ck-bump { display: flex; gap: 10px; align-items: flex-start; margin: 4px 0 14px; padding: 12px; border: 2px dashed #D9B864; border-radius: 10px; background: #FFFBEF; cursor: pointer; }
.v2 .ck-bump input { width: 22px; height: 22px; flex: none; margin: 1px 0 0; accent-color: #1F8A4C; }
.v2 .ck-bump b { font: 700 .92rem/1.35 var(--ui); } .v2 .ck-bump s { color: #9A3B3B; font-size: .85rem; margin-left: 4px; }
.v2 .ck-bump small { display: block; margin-top: 3px; font: 400 .84rem/1.45 var(--ui); color: #4A4766; }
.v2 .ck-err { color: #B3261E; font: 600 .85rem var(--ui); margin: 0 0 10px; }
.v2 .ck-go { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; box-sizing: border-box; min-height: 54px; border: 0; border-radius: 10px; background: #1F8A4C; color: #fff !important; font: 700 1.05rem var(--ui); text-decoration: none; cursor: pointer; box-shadow: 0 4px 0 #145C32; }
.v2 .ck-go i { font-style: normal; font-size: 1.3em; line-height: 1; } .v2 .ck-go:hover { background: #1A7A43; }
.v2 .ck-sum { display: flex; justify-content: space-between; gap: 10px; margin: 0 0 6px; font-size: .92rem; } .v2 .ck-tot { border-top: 1px solid #EDE4D2; padding-top: 8px; margin-bottom: 14px; font-weight: 700; }
.v2 .ck-fine { text-align: center; color: #6E6A82; font-size: .8rem; margin: 10px 0 0; } .v2 .ck-back { text-align: center; margin: 8px 0 0; font-size: .82rem; } .v2 .ck-back a { color: #6E6A82; }
.v2 .ck-s3 { text-align: center; padding: 6px 0; } .v2 .ck-ok { display: inline-grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #1F8A4C; color: #fff; font: 700 1.4rem var(--ui); }
.v2 .ck-s3 h2 { font: 700 1.5rem var(--display); margin: 10px 0 6px; } .v2 .ck-s3 p { color: #4A4766; margin: 0 0 16px; }
.v2 .ck-sec { margin-top: 30px; } .v2 .ck-sec > h2 { font: 700 1.35rem/1.25 var(--display); text-align: center; margin: 0 0 12px; text-wrap: balance; }
.v2 .ck-sub { text-align: center; color: #6E6A82; font-size: .84rem; margin: -6px 0 12px; }
.v2 .ck-next { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.v2 .ck-next li { display: flex; gap: 12px; background: #fff; border: 1px solid #EDE4D2; border-radius: 12px; padding: 12px 14px; }
.v2 .ck-next li > span { flex: none; width: 24px; height: 24px; border-radius: 50%; background: #FFF6DA; color: #9C7629; display: grid; place-items: center; font: 700 .78rem var(--ui); margin-top: 1px; }
.v2 .ck-next b { font-size: .95rem; } .v2 .ck-next p { margin: 2px 0 0; color: #4A4766; font-size: .9rem; }
.v2 .ck-rv { display: flex; gap: 12px; margin: 0 0 10px; background: #fff; border: 1px solid #EDE4D2; border-radius: 12px; padding: 14px; }
.v2 .ck-rv:first-of-type { border-color: #D9B864; }
.v2 .ck-av { flex: none; width: 44px; height: 44px; border-radius: 50%; background: #1C1B3A; color: #F3C94A; display: grid; place-items: center; font: 700 1.1rem var(--display); }
.v2 .ck-st { color: #B98C1C; letter-spacing: 2px; font-size: .82rem; margin: 0 0 4px; }
.v2 .ck-rv blockquote { margin: 0 0 6px; font: 400 .98rem/1.55 var(--read); color: #1C1B3A; }
.v2 .ck-rv figcaption { font: 700 .82rem var(--ui); } .v2 .ck-rv figcaption small { font-weight: 600; color: #1F8A4C; margin-left: 6px; }
.v2 .ck-again { margin-top: 14px; }
.v2 .ck-qa { background: #fff; border: 1px solid #EDE4D2; border-radius: 12px; padding: 12px 14px; margin: 0 0 8px; }
.v2 .ck-qa b { display: block; font-size: .95rem; } .v2 .ck-qa p { margin: 3px 0 0; color: #4A4766; font-size: .9rem; }
.v2 .ck-ft { margin-top: 34px; padding-top: 16px; border-top: 1px solid #EDE4D2; text-align: center; color: #8C88A3; font-size: .72rem; line-height: 1.5; }
.v2 .ck-ft nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 16px; margin-bottom: 6px; } .v2 .ck-ft a { color: #6E6A82; } .v2 .ck-ft p { margin: 0 0 6px; }
@media (max-width: 480px) { .v2 .ck-card { grid-template-columns: 84px minmax(0, 1fr); gap: 12px; } .v2 .ck-t { text-align: left; } .v2 .ck-in { padding-top: 18px; } }
/* checkout: undo the page grid and inherited label/centre styles; navy bar like the original (the logo is drawn for a dark ground) */
html body.ck-on #hm, html body.ck-on #hm.hm-page { display: block !important; width: 100% !important; max-width: none !important; grid-template-columns: none !important; }
html body.ck-on #hm > .ck { grid-column: 1 / -1; width: 100%; }
.v2 .ck, .v2 .ck * { text-align: left; }
.v2 .ck h1, .v2 .ck-lede, .v2 .ck-sec > h2, .v2 .ck-sub, .v2 .ck-fine, .v2 .ck-back, .v2 .ck-s3, .v2 .ck-s3 *, .v2 .ck-ft, .v2 .ck-ft *, .v2 .ck-go, .v2 .ck-x legend, .v2 .ck-pic span { text-align: center; }
.v2 .ck label.ck-f, .v2 .ck div.ck-f { border: 0 !important; background: none !important; padding: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
.v2 .ck-bar { background: #1C1B3A; border-bottom: 0; } .v2 .ck-bar span { color: #8FE0AE; }
.v2 .ck-x button { text-align: center !important; display: flex; align-items: center; justify-content: center; gap: 6px; }
/* checkout order card v2 (Lord, 20 Oct: "needs to be improved A LOT"): a book-cover picture with the reader's face, who writes it, three concrete
   benefits in ink, then a price strip (saving in dollars, the hold as a pill) and the three promises across the bottom */
.v2 .ck-card { display: block; padding: 0; overflow: hidden; border-radius: 16px; border: 1px solid #E6D9BC; box-shadow: 0 18px 36px -26px rgba(28,27,58,.55); }
.v2 .ck-top { display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 16px; padding: 16px 16px 14px; }
.v2 .ck-pic { position: relative; aspect-ratio: 4 / 5; border-radius: 10px; overflow: visible; align-self: start; }
.v2 .ck-pic > img:first-child { width: 100%; height: 100%; object-fit: cover; border-radius: 10px; display: block; box-shadow: 0 10px 20px -12px rgba(28,27,58,.6); }
.v2 .ck-rd { position: absolute; right: -8px; bottom: -8px; width: 46px; height: 46px; border-radius: 50%; object-fit: cover; border: 3px solid #fff; box-shadow: 0 4px 10px -4px rgba(0,0,0,.4); }
.v2 .ck-ct h2 { font: 700 1.3rem/1.2 var(--display); margin: 0 0 2px; color: #1C1B3A; }
.v2 .ck-by { margin: 0 0 10px; font: 500 .84rem var(--ui); color: #8A6A12; }
.v2 .ck-ct ul { margin: 0; font-size: .92rem; color: #1C1B3A; }
.v2 .ck-ct li { padding-left: 26px; margin-bottom: 7px; line-height: 1.4; }
.v2 .ck-ct li::before { content: '✓'; top: 1px; width: 18px; height: 18px; border-radius: 50%; background: #1F8A4C; color: #fff; display: grid; place-items: center; font-size: .66rem; }
.v2 .ck-pbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 14px; padding: 12px 16px; background: #FFFBEF; border-top: 1px solid #F0E4C6; }
.v2 .ck-pr { margin: 0; gap: 10px; } .v2 .ck-pr s { font-size: 1rem; color: #9A8F7A; } .v2 .ck-pr b { font-size: 1.9rem; line-height: 1; }
.v2 .ck-pr em { font-size: .72rem; letter-spacing: 0; text-transform: none; font-weight: 700; padding: 4px 10px; }
.v2 .ck-t { margin: 0; text-align: left; display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: #fff; border: 1px solid #F0D5CF; font: 600 .8rem var(--ui); color: #1C1B3A; white-space: nowrap; }
.v2 .ck-g { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; margin: 0; padding: 10px 16px; border-top: 1px solid #F0E4C6; font: 600 .76rem var(--ui); color: #2E6B47; background: #FFFBEF; }
@media (max-width: 480px) { .v2 .ck-top { grid-template-columns: 96px minmax(0, 1fr); gap: 14px; padding: 14px; } .v2 .ck-ct h2 { font-size: 1.15rem; } .v2 .ck-ct li { font-size: .86rem; }
  .v2 .ck-g { justify-content: flex-start; flex-direction: column; } .v2 .ck-pbar { padding: 12px 14px; } }
.v2 .ck-pic img.ck-rd { position: absolute; right: -8px; bottom: -8px; width: 46px; height: 46px; border-radius: 50%; object-fit: cover; border: 3px solid #fff; box-shadow: 0 4px 10px -4px rgba(0,0,0,.4); }
.v2 .ck-g { display: grid; grid-template-columns: repeat(3, auto); justify-content: space-between; }
@media (max-width: 480px) { .v2 .ck-g { grid-template-columns: 1fr; } .v2 .ck-pic img.ck-rd { width: 38px; height: 38px; } }
.v2 .ck-g span { white-space: nowrap; } @media (max-width: 480px) { .v2 .ck-g span { white-space: normal; } }
/* checkout on phones (Lord, 20 Oct: "garbage and wasted space"): small cover beside the title, ticks full width under it,
   price and the hold on one line, the three promises in one compact row */
@media (max-width: 560px) {
  .v2 .ck-in { padding: 16px 14px 16px; } .v2 .ck h1 { font-size: 1.42rem; margin-bottom: 4px; } .v2 .ck-lede { font-size: .86rem; margin-bottom: 12px; }
  .v2 .ck-top { grid-template-columns: 64px minmax(0, 1fr); column-gap: 12px; row-gap: 0; padding: 12px 12px 10px; }
  .v2 .ck-ct { display: contents; }
  .v2 .ck-pic { grid-row: 1 / 3; width: 64px; }
  .v2 .ck-pic img.ck-rd { width: 28px; height: 28px; right: -6px; bottom: -6px; border-width: 2px; }
  .v2 .ck-ct h2 { grid-column: 2; align-self: end; font-size: 1.12rem; margin: 0; }
  .v2 .ck-by { grid-column: 2; align-self: start; margin: 1px 0 0; font-size: .76rem; line-height: 1.3; }
  .v2 .ck-ct ul { grid-column: 1 / -1; margin-top: 10px; }
  .v2 .ck-ct li { font-size: .86rem; margin-bottom: 5px; padding-left: 24px; }
  .v2 .ck-pbar { flex-wrap: nowrap; padding: 9px 12px; gap: 8px; }
  .v2 .ck-pr { gap: 6px; flex-wrap: nowrap; } .v2 .ck-pr s { font-size: .86rem; } .v2 .ck-pr b { font-size: 1.5rem; } .v2 .ck-pr em { font-size: .66rem; padding: 3px 7px; white-space: nowrap; }
  .v2 .ck-t { padding: 0; border: 0; background: none; font-size: .74rem; gap: 3px; } .v2 .ck-tl { display: none; }
  .v2 .ck-g { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; gap: 2px 12px; padding: 7px 12px; font-size: .7rem; }
  .v2 .ck-g span { white-space: nowrap; }
}
.v2 .ck-ts { display: none; } @media (max-width: 560px) { .v2 .ck-ts { display: inline; } }
/* checkout coupon (Halbert's order form): dashed edge, their yes in their words, what they get, the price with its reason,
   the guarantee as a promise, the deadline with a consequence. Serif body; one gold accent; no pills or badges. */
.v2 .ck-card.ck-cp { padding: 18px 20px 16px; background: #FFFDF7; border: 2px dashed #CFAE5E; border-radius: 12px; box-shadow: 0 18px 36px -28px rgba(28,27,58,.5); overflow: visible; }
.v2 .ck-cp-h { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 16px; align-items: center; margin-bottom: 12px; }
.v2 .ck-cp .ck-pic { width: 76px; }
.v2 .ck-yes { margin: 0; font: 700 1.38rem/1.25 var(--display); color: #1C1B3A; text-wrap: balance; }
.v2 .ck-cp-l { margin: 0 0 8px; font: 400 1rem/1.55 var(--read); color: #1C1B3A; }
.v2 .ck-cp ul { list-style: none; margin: 0 0 12px; padding: 0; }
.v2 .ck-cp li { position: relative; padding-left: 28px; margin-bottom: 6px; font: 500 1rem/1.45 var(--read); color: #1C1B3A; }
.v2 .ck-cp li::before { content: '✓'; position: absolute; left: 0; top: 2px; width: 19px; height: 19px; border-radius: 50%; background: #1F8A4C; color: #fff; display: grid; place-items: center; font: 700 .66rem var(--ui); }
.v2 .ck-cp-pr { margin: 0; padding-top: 12px; border-top: 1px solid #EFE3C4; font: 400 1.02rem/1.5 var(--read); }
.v2 .ck-cp-pr s { color: #9A3B3B; } .v2 .ck-cp-pr b { font: 700 1.5rem var(--display); color: #1F8A4C; }
.v2 .ck-cp-why { margin: 2px 0 10px; font: italic 400 .94rem/1.5 var(--read); color: #4A4766; }
.v2 .ck-cp-g { margin: 0 0 10px; font: 400 .96rem/1.5 var(--read); color: #1C1B3A; } .v2 .ck-cp-g b { color: #1F8A4C; }
.v2 .ck-cp-t { margin: 0; padding: 8px 12px; background: #FFF4D6; border-radius: 8px; font: 600 .86rem/1.4 var(--ui); color: #1C1B3A; } .v2 .ck-cp-t b { color: #B3261E; font-variant-numeric: tabular-nums; }
.v2 .ck-cp, .v2 .ck-cp * { text-align: left; }
@media (max-width: 560px) {
  .v2 .ck-card.ck-cp { padding: 14px 14px 12px; } .v2 .ck-cp-h { grid-template-columns: 58px minmax(0, 1fr); gap: 12px; margin-bottom: 10px; } .v2 .ck-cp .ck-pic { width: 58px; grid-row: auto; }
  .v2 .ck-yes { font-size: 1.16rem; } .v2 .ck-cp-l, .v2 .ck-cp li { font-size: .92rem; } .v2 .ck-cp-pr { font-size: .94rem; } .v2 .ck-cp-pr b { font-size: 1.3rem; }
  .v2 .ck-cp-why, .v2 .ck-cp-g { font-size: .88rem; } .v2 .ck-cp-t { font-size: .78rem; }
}
/* checkout card, lean (Lord, 20 Oct): their yes + three ticks, one price line, one guarantee line, a chevron down to the form */
.v2 .ck-card.ck-cp { padding: 0; border: 1px solid #E6D9BC; border-radius: 14px; background: #fff; overflow: hidden; }
.v2 .ck-cp-h { grid-template-columns: 60px minmax(0, 1fr); gap: 14px; margin: 0; padding: 14px 16px 8px; align-items: center; }
.v2 .ck-cp .ck-pic { width: 60px; } .v2 .ck-cp .ck-pic img.ck-rd { width: 26px; height: 26px; right: -6px; bottom: -6px; border-width: 2px; }
.v2 .ck-yes { font-size: 1.22rem; line-height: 1.22; }
.v2 .ck-cp .ck-by { margin: 3px 0 0; font: 500 .78rem var(--ui); color: #8A6A12; }
.v2 .ck-cp ul { margin: 0; padding: 4px 16px 10px; }
.v2 .ck-cp li { font: 500 .94rem/1.4 var(--ui); margin-bottom: 5px; padding-left: 26px; } .v2 .ck-cp li::before { top: 1px; width: 18px; height: 18px; }
.v2 .ck-cp .ck-pbar { flex-wrap: nowrap; padding: 10px 16px; }
.v2 .ck-cp .ck-pr b { font-size: 1.6rem; } .v2 .ck-cp .ck-pr span { font: 600 .74rem var(--ui); color: #6E6A82; }
.v2 .ck-cp .ck-t { border: 0; background: none; padding: 0; font-size: .8rem; }
.v2 .ck-g1 { margin: 0; padding: 8px 16px 10px; background: #FFFBEF; border-top: 1px solid #F0E4C6; font: 500 .8rem/1.4 var(--ui); color: #2E6B47; } .v2 .ck-g1 b { color: #1F8A4C; }
.v2 .ck-chev { margin: 2px 0 -4px; height: 22px; text-align: center !important; }
.v2 .ck-chev::before { content: ''; display: inline-block; width: 11px; height: 11px; border-right: 2.5px solid #C9A227; border-bottom: 2.5px solid #C9A227; transform: rotate(45deg); }
.v2 .ck-cp ~ .ck-form { margin-top: 8px; }
@media (max-width: 560px) {
  .v2 .ck-cp-h { grid-template-columns: 52px minmax(0, 1fr); gap: 12px; padding: 12px 12px 6px; } .v2 .ck-cp .ck-pic { width: 52px; }
  .v2 .ck-yes { font-size: 1.08rem; } .v2 .ck-cp ul { padding: 2px 12px 8px; } .v2 .ck-cp li { font-size: .86rem; margin-bottom: 4px; }
  .v2 .ck-cp .ck-pbar { padding: 8px 12px; } .v2 .ck-cp .ck-pr b { font-size: 1.4rem; } .v2 .ck-cp .ck-pr span { display: none; } .v2 .ck-cp .ck-t { font-size: .74rem; }
  .v2 .ck-g1 { padding: 7px 12px 8px; font-size: .74rem; }
}
/* checkout card, final layout (Lord, 20 Oct: keep every Halbert line, format it better): white card, one reading font, hairlines between
   the parts, the price as two clear figures with the comparison under it, the guarantee, then the price hold across the bottom.
   The chevron bounces gently down to the form. */
.v2 .ck-card.ck-cp { padding: 0; background: #fff; border: 1px solid #E6D9BC; border-radius: 14px; overflow: hidden; }
.v2 .ck-cp-h { grid-template-columns: 58px minmax(0, 1fr); gap: 14px; padding: 16px 18px 0; margin: 0 0 10px; align-items: center; }
.v2 .ck-cp .ck-pic { width: 58px; } .v2 .ck-cp .ck-pic img.ck-rd { width: 26px; height: 26px; right: -6px; bottom: -6px; border-width: 2px; }
.v2 .ck-yes { font: 700 1.3rem/1.22 var(--display); }
.v2 .ck-cp-l { margin: 0; padding: 0 18px 6px; font: 400 .95rem/1.5 var(--read); color: #4A4766; }
.v2 .ck-cp ul { margin: 0; padding: 2px 18px 12px; }
.v2 .ck-cp li { font: 500 .97rem/1.4 var(--read); color: #1C1B3A; margin-bottom: 5px; padding-left: 27px; } .v2 .ck-cp li::before { top: 1px; width: 18px; height: 18px; }
.v2 .ck-cp-p { padding: 12px 18px; background: #FFFBEF; border-top: 1px solid #F0E4C6; border-bottom: 1px solid #F0E4C6; }
.v2 .ck-cp-pr { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 16px; margin: 0; padding: 0; border: 0; font: 500 .9rem var(--ui); color: #4A4766; }
.v2 .ck-cp-pr s { color: #9A3B3B; font-weight: 600; } .v2 .ck-cp-pr b { font: 700 1.55rem var(--display); color: #1F8A4C; margin-left: 2px; } .v2 .ck-cp-pr small { font: 500 .78rem var(--ui); color: #6E6A82; }
.v2 .ck-cp-why { margin: 4px 0 0; font: italic 400 .92rem/1.5 var(--read); color: #4A4766; }
.v2 .ck-cp-g { margin: 0; padding: 12px 18px; font: 400 .92rem/1.5 var(--read); color: #1C1B3A; } .v2 .ck-cp-g b { color: #1F8A4C; }
.v2 .ck-cp-t { margin: 0; padding: 9px 18px; border-radius: 0; background: #1C1B3A; color: #F4EBD6; font: 600 .84rem/1.4 var(--ui); text-align: center !important; }
.v2 .ck-cp-t b { color: #F3C94A; font-variant-numeric: tabular-nums; }
.v2 .ck-chev { margin: 4px 0 -2px; height: 24px; }
.v2 .ck-chev::before { animation: ckBob 1.4s ease-in-out infinite; }
@keyframes ckBob { 0%, 100% { transform: translateY(0) rotate(45deg); } 50% { transform: translateY(6px) rotate(45deg); } }
@media (prefers-reduced-motion: reduce) { .v2 .ck-chev::before { animation: none; } }
@media (max-width: 560px) {
  .v2 .ck-cp-h { grid-template-columns: 50px minmax(0, 1fr); gap: 12px; padding: 12px 14px 0; margin-bottom: 8px; } .v2 .ck-cp .ck-pic { width: 50px; }
  .v2 .ck-yes { font-size: 1.1rem; } .v2 .ck-cp-l { padding: 0 14px 4px; font-size: .86rem; line-height: 1.45; }
  .v2 .ck-cp ul { padding: 2px 14px 10px; } .v2 .ck-cp li { font-size: .88rem; margin-bottom: 4px; padding-left: 25px; }
  .v2 .ck-cp-p { padding: 10px 14px; } .v2 .ck-cp-pr { gap: 2px 12px; font-size: .82rem; } .v2 .ck-cp-pr b { font-size: 1.35rem; } .v2 .ck-cp-why { font-size: .84rem; }
  .v2 .ck-cp-g { padding: 10px 14px; font-size: .84rem; line-height: 1.45; } .v2 .ck-cp-t { padding: 8px 14px; font-size: .78rem; }
}
/* price strip, leaner (Lord, 20 Oct): one flowing line, price then the comparison */
.v2 p.ck-cp-p { margin: 0; padding: 9px 18px; font: 500 .9rem/1.45 var(--ui); color: #4A4766; }
.v2 p.ck-cp-p s { color: #9A3B3B; font-weight: 600; } .v2 p.ck-cp-p b { font: 700 1.4rem/1 var(--display); color: #1F8A4C; }
.v2 p.ck-cp-p i { font: italic 400 .88rem/1.45 var(--read); color: #4A4766; margin-left: 2px; }
@media (max-width: 560px) { .v2 p.ck-cp-p { padding: 8px 14px; font-size: .82rem; } .v2 p.ck-cp-p b { font-size: 1.25rem; } .v2 p.ck-cp-p i { font-size: .8rem; } }
/* the price must read at a glance (Lord, 20 Oct): lining sans figures, bold, bigger; the old price smaller beside it */
.v2 p.ck-cp-p b { font: 800 1.45rem/1 var(--ui); color: #1F8A4C; letter-spacing: -.01em; font-variant-numeric: lining-nums; vertical-align: -1px; }
.v2 p.ck-cp-p s { font: 600 .95rem var(--ui); color: #9A3B3B; }
@media (max-width: 560px) { .v2 p.ck-cp-p b { font-size: 1.32rem; } .v2 p.ck-cp-p s { font-size: .86rem; } }
/* checkout card, calm layout (Lord, 20 Oct): the cover on the left, ALL the words in one column beside it (nothing hangs under the picture);
   one spacing scale (18px sides, 14px between parts); the yes in the display face, the rest in one quiet size */
.v2 .ck-cp-h { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 16px; align-items: start; padding: 18px 20px 14px; margin: 0; }
.v2 .ck-cp .ck-pic { width: 64px; margin-top: 2px; }
.v2 .ck-cp-b { min-width: 0; }
.v2 .ck-yes { font: 700 1.28rem/1.25 var(--display); margin: 0 0 6px; }
.v2 .ck-cp-l { padding: 0; margin: 0 0 10px; font: 400 .86rem/1.5 var(--ui); color: #6E6A82; }
.v2 .ck-cp ul { padding: 0; margin: 0; }
.v2 .ck-cp li { font: 500 .92rem/1.4 var(--ui); margin: 0 0 6px; padding-left: 26px; } .v2 .ck-cp li:last-child { margin-bottom: 0; }
.v2 .ck-cp li::before { top: 1px; width: 17px; height: 17px; font-size: .6rem; }
.v2 p.ck-cp-p { padding: 11px 20px; border-top: 1px solid #F0E4C6; border-bottom: 1px solid #F0E4C6; background: #FFFBEF; }
.v2 p.ck-cp-p i { font-size: .86rem; color: #6E6A82; }
.v2 .ck-cp-g { padding: 12px 20px 14px; font: 400 .86rem/1.5 var(--ui); color: #4A4766; } .v2 .ck-cp-g b { font-weight: 700; }
.v2 .ck-cp-t { padding: 9px 20px; font-size: .82rem; }
@media (max-width: 560px) {
  .v2 .ck-cp-h { grid-template-columns: 48px minmax(0, 1fr); gap: 12px; padding: 14px 14px 12px; } .v2 .ck-cp .ck-pic { width: 48px; }
  .v2 .ck-cp .ck-pic img.ck-rd { width: 22px; height: 22px; right: -5px; bottom: -5px; }
  .v2 .ck-yes { font-size: 1.1rem; margin-bottom: 4px; } .v2 .ck-cp-l { font-size: .8rem; margin-bottom: 8px; padding: 0; }
  .v2 .ck-cp ul { padding: 0; } .v2 .ck-cp li { font-size: .86rem; margin-bottom: 5px; padding-left: 24px; }
  .v2 p.ck-cp-p { padding: 9px 14px; } .v2 .ck-cp-g { padding: 10px 14px 12px; font-size: .8rem; } .v2 .ck-cp-t { padding: 8px 14px; font-size: .76rem; }
}
.v2 p.ck-cp-p { font-weight: 700; color: #1C1B3A; }
/* checkout top (Lord, 20 Oct): no sub-headline; tighter space above and below the headline */
.v2 .ck-in { padding-top: 16px; } .v2 .ck h1 { margin-bottom: 12px; }
@media (max-width: 560px) { .v2 .ck-in { padding-top: 12px; } .v2 .ck h1 { margin-bottom: 10px; } }
/* checkout card on phones (Lord, 20 Oct): one column. The picture is a thin strip across the top of the card, the reader's face resting on
   its lower edge; the yes, the lead-in and the ticks run full width under it */
@media (max-width: 560px) {
  .v2 .ck-cp-h { display: block; padding: 0 0 12px; }
  .v2 .ck-cp .ck-pic { width: auto; height: 64px; aspect-ratio: auto; margin: 0 0 18px; border-radius: 0; position: relative; }
  .v2 .ck-cp .ck-pic > img:first-child { width: 100%; height: 64px; object-fit: cover; object-position: center 40%; border-radius: 0; box-shadow: none; }
  .v2 .ck-cp .ck-pic img.ck-rd { width: 36px; height: 36px; left: 14px; right: auto; bottom: -16px; border-width: 2px; }
  .v2 .ck-cp-b { padding: 0 14px; }
}
/* the guarantee under the button (Lord, 20 Oct), quiet: a shield mark, one short paragraph */
.v2 .ck-form .ck-cp-g { margin: 12px 0 0; padding: 10px 12px 10px 40px; position: relative; background: #F3FAF5; border: 1px solid #CFE6D7; border-radius: 10px; font: 400 .84rem/1.5 var(--ui); color: #2E4A3A; }
.v2 .ck-form .ck-cp-g::before { content: '✓'; position: absolute; left: 12px; top: 11px; width: 18px; height: 18px; border-radius: 50%; background: #1F8A4C; color: #fff; display: grid; place-items: center; font: 700 .62rem var(--ui); }
.v2 .ck-form .ck-cp-g b { color: #1F8A4C; }
@media (max-width: 560px) { .v2 .ck-form .ck-cp-g { font-size: .78rem; padding: 9px 10px 9px 36px; } .v2 .ck-form .ck-cp-g::before { left: 10px; top: 10px; } }
/* phones: the reader's face bigger and sitting ON the picture strip, not hanging below it (Lord, 20 Oct) */
@media (max-width: 560px) {
  .v2 .ck-cp .ck-pic { height: 72px; margin-bottom: 12px; } .v2 .ck-cp .ck-pic > img:first-child { height: 72px; }
  .v2 .ck-cp .ck-pic img.ck-rd { width: 50px; height: 50px; left: 14px; top: 11px; bottom: auto; border-width: 2.5px; }
}
/* guarantee under the button: soft warm paper, not green, so the green button keeps the eye (Lord, 20 Oct) */
.v2 .ck-form .ck-cp-g { background: #FFF8E6; border: 1px solid #F0DFB4; color: #4A4766; padding-left: 40px; }
.v2 .ck-form .ck-cp-g::before { content: '★'; background: none; color: #C9A227; font-size: .95rem; width: auto; height: auto; top: 9px; }
.v2 .ck-form .ck-cp-g b { color: #1C1B3A; }
/* signed in: their details from the account, confirmed in one quiet line with Change */
.v2 .ck-me { position: relative; margin: 0 0 12px; padding: 10px 70px 10px 12px; background: #FBF7EE; border: 1px solid #EDE4D2; border-radius: 10px; }
.v2 .ck-me p { margin: 0; font: 400 .84rem/1.45 var(--ui); color: #4A4766; } .v2 .ck-me p:first-child { color: #1C1B3A; }
.v2 .ck-me b { font-weight: 700; } .v2 .ck-me span { color: #6E6A82; margin-left: 4px; } .v2 .ck-me small { color: #8C88A3; font-size: .78rem; }
.v2 .ck-me::before { content: '✓'; position: absolute; right: 12px; top: 10px; width: 18px; height: 18px; border-radius: 50%; background: #1F8A4C; color: #fff; display: grid; place-items: center; font: 700 .62rem var(--ui); }
.v2 .ck-me a { position: absolute; right: 12px; bottom: 9px; font: 600 .78rem var(--ui); color: #1F8A4C; }
.v2 .ck-proto { margin-left: auto; font: 500 .72rem var(--ui); color: #8C88A3 !important; text-decoration: underline; }
.v2 .ck-me a { color: #1C1B3A; }
/* checkout card: one column at every width, like the phone (Lord, 20 Oct): the picture strip across the top, the reader's face on it,
   everything else full width under it */
.v2 .ck-cp-h { display: block; padding: 0 0 14px; }
.v2 .ck-cp .ck-pic { width: auto; height: 96px; aspect-ratio: auto; margin: 0 0 14px; border-radius: 0; position: relative; }
.v2 .ck-cp .ck-pic > img:first-child { width: 100%; height: 96px; object-fit: cover; object-position: center 40%; border-radius: 0; box-shadow: none; }
.v2 .ck-cp .ck-pic img.ck-rd { width: 64px; height: 64px; left: 18px; top: 16px; right: auto; bottom: auto; border-width: 3px; }
.v2 .ck-cp-b { padding: 0 20px; }
@media (max-width: 560px) {
  .v2 .ck-cp .ck-pic { height: 72px; margin-bottom: 12px; } .v2 .ck-cp .ck-pic > img:first-child { height: 72px; }
  .v2 .ck-cp .ck-pic img.ck-rd { width: 50px; height: 50px; left: 14px; top: 11px; border-width: 2.5px; } .v2 .ck-cp-b { padding: 0 14px; }
}
/* birth-details banner (Lord, 20 Oct: "too difficult to read, highlight it way more"): warm gold card, dark readable text, a clear green button */
html body .bb-ban { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; padding: 14px 14px 14px 16px; border-radius: 14px; text-decoration: none;
  background: linear-gradient(135deg, #FFF4CF 0%, #FFE9A8 100%); border: 1.5px solid #E3BE5C; box-shadow: 0 10px 24px -16px rgba(150,110,20,.6); }
html body .bb-ban > i { flex: none; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: 1.1rem; color: #F3C94A; background: #1C1B3A; box-shadow: none; }
html body .bb-ban span { flex: 1; min-width: 0; display: flex; flex-direction: column; }
html body .bb-ban b { font: 700 1rem/1.25 'Outfit', sans-serif; color: #1C1B3A; }
html body .bb-ban small { margin-top: 3px; font: 500 .84rem/1.4 'Outfit', sans-serif; color: #3E3A57; }
html body .bb-ban em { flex: none; font-style: normal; font: 700 .82rem 'Outfit', sans-serif; color: #fff; background: #1F8A4C; padding: 9px 14px; border-radius: 999px; white-space: nowrap; box-shadow: 0 3px 0 #145C32; }
@media (max-width: 420px) { html body .bb-ban { flex-wrap: wrap; } html body .bb-ban span { flex-basis: calc(100% - 52px); } html body .bb-ban em { margin-left: 50px; } }
/* birth banner, stacked (it lives in a narrow sidebar): star + words on top, the green button full width under them */
html body .bb-ban, html body.v2m .bb-ban { flex-wrap: wrap !important; align-items: flex-start !important; background: linear-gradient(135deg, #FFF4CF 0%, #FFE9A8 100%) !important; border: 1.5px solid #E3BE5C !important; box-shadow: 0 10px 24px -16px rgba(150,110,20,.6) !important; padding: 14px !important; }
html body .bb-ban > i, html body.v2m .bb-ban > i { background: #1C1B3A !important; color: #F3C94A !important; }
html body .bb-ban span, html body.v2m .bb-ban span { flex: 1 1 calc(100% - 52px) !important; }
html body .bb-ban b, html body.v2m .bb-ban b { font: 700 1rem/1.25 'Outfit', sans-serif !important; color: #1C1B3A !important; }
html body .bb-ban small, html body.v2m .bb-ban small { font: 500 .84rem/1.45 'Outfit', sans-serif !important; color: #3E3A57 !important; }
html body .bb-ban em, html body.v2m .bb-ban em { flex: 1 1 100% !important; margin: 4px 0 0 !important; text-align: center; color: #fff !important; background: #1F8A4C !important; font: 700 .9rem 'Outfit', sans-serif !important; padding: 10px 14px !important; border-radius: 999px !important; box-shadow: 0 3px 0 #145C32 !important; }
/* letters, easier to scan (Lord, 20 Oct): subheads inside the lead, short punch lines bigger, the closing line of the lead as a pull-quote,
   one highlighted sentence per section (Halbert's marker), initials on reviews, real pages of the finished reading */
.v2 article.lt h3.lt-sh { font: 700 1.5rem/1.2 var(--display); color: #1C1B3A; margin: 30px 0 10px; }
.v2 article.lt p.lt-short { font: 600 1.22rem/1.45 var(--display); color: #1C1B3A; }
.v2 article.lt p.lt-punch { margin: 22px 0 26px; padding: 14px 18px; border-left: 4px solid #E3BE5C; background: #FFF8E6; border-radius: 0 10px 10px 0; font: italic 600 1.3rem/1.45 var(--display); color: #1C1B3A; }
.v2 article.lt mark { background: linear-gradient(180deg, transparent 52%, #FFE27A 52%, #FFE27A 92%, transparent 92%); color: inherit; padding: 0 2px; font-weight: 600; }
.v2 .lt-say figure { position: relative; padding-left: 64px !important; } .v2 .lt-av { position: absolute; left: 16px; top: 18px; width: 36px; height: 36px; border-radius: 50%; background: #1C1B3A; color: #F3C94A; display: grid; place-items: center; font: 700 1rem var(--display); }
.v2 .lt-peek { margin: 8px 0 26px; } .v2 .lt-peek img { display: block; width: 100%; border-radius: 10px; box-shadow: 0 24px 40px -26px rgba(28,27,58,.7); }
.v2 .lt-peek figcaption { margin-top: 8px; text-align: center; font: italic 400 .9rem var(--read); color: #6E6A82; }
@media (max-width: 560px) { .v2 article.lt h3.lt-sh { font-size: 1.3rem; margin-top: 24px; } .v2 article.lt p.lt-punch { font-size: 1.12rem; padding: 12px 14px; } .v2 article.lt p.lt-short { font-size: 1.1rem; } .v2 .lt-say figure { padding-left: 56px !important; } .v2 .lt-av { left: 12px; } }
/* customer voice and human stories in the letters (Lord, 21 Oct: "use voice of customers… human stories, how Gary Halbert would") */
.v2 .lt-voc { margin: 6px 0 22px; padding: 16px 20px; border-radius: 12px; background: #F6F1E6; border: 1px solid #EBDFC4; }
.v2 .lt-voc > p { margin: 0 0 8px !important; font: 600 .86rem var(--ui) !important; color: #6E6A82; }
.v2 .lt-voc ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.v2 .lt-voc li { font: italic 500 1.12rem/1.45 var(--display); color: #1C1B3A; padding-left: 16px; border-left: 3px solid #E3BE5C; }
.v2 .lt-stories { display: grid; gap: 14px; margin: 6px 0 24px; }
.v2 .lt-stories article { background: #FFFDF8; border: 1px solid #EDE4D2; border-radius: 14px; padding: 18px 20px; }
.v2 .lt-stories header { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; } .v2 .lt-stories header .lt-av { position: static; flex: none; }
.v2 .lt-stories header b { display: block; font: 700 .95rem var(--ui); color: #1C1B3A; } .v2 .lt-stories header small { font: 500 .78rem var(--ui); color: #6E6A82; }
.v2 .lt-stories h3 { margin: 0 0 6px; font: 700 1.3rem/1.25 var(--display); color: #1C1B3A; }
.v2 .lt-stories p { margin: 0 0 10px; font: 400 1rem/1.7 var(--read); color: #2E2B47; }
.v2 .lt-stories blockquote { margin: 0; font: italic 600 1.12rem/1.45 var(--display); color: #8A6A12; }
.v2 .ck-bump2 { border-color: #CFC6E6; background: #F7F5FC; } .v2 .ck-bump2 + .ck-err, .v2 .ck-bump2 { margin-top: 0; }
.v2 .lt-recast { margin: 0 0 22px; padding: 16px 20px; border-radius: 12px; background: #EEF6F1; border: 1px solid #CFE6D7; }
.v2 .lt-recast b { display: block; font: 700 1.15rem var(--display); color: #1C1B3A; margin-bottom: 4px; } .v2 .lt-recast p { margin: 0 !important; font: 400 1rem/1.65 var(--read); color: #2E2B47; }
/* Lord, 21 Oct: the comparison opens the price strip, then the price lands as the punchline */
.v2 p.ck-cp-p { line-height: 1.6; } .v2 p.ck-cp-p .ck-cp-c { font-weight: 500; color: #4A4766; margin-right: 4px; }   /* one line of reading: comparison, then the price */
/* Lord, 21 Oct: one size across the whole line; the price stands out by weight and colour only */
.v2 p.ck-cp-p, .v2 p.ck-cp-p .ck-cp-c, .v2 p.ck-cp-p s, .v2 p.ck-cp-p b { font-family: var(--ui); font-size: .95rem; line-height: 1.5; vertical-align: baseline; }
.v2 p.ck-cp-p b { font-weight: 800; color: #1F8A4C; } .v2 p.ck-cp-p s { font-weight: 600; color: #9A3B3B; }
@media (max-width: 560px) { .v2 p.ck-cp-p, .v2 p.ck-cp-p .ck-cp-c, .v2 p.ck-cp-p s, .v2 p.ck-cp-p b { font-size: .88rem; } }
/* Lord, 21 Oct: the store's section names on a navy band, like All Quick Readings, so each shelf separates clearly */
.v2 .st2-g > .amr-h { margin: 0 0 18px; padding: 14px 20px; border-radius: 14px; background: linear-gradient(120deg, #1C1F4A, #2B2F6B); display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 4px 16px; }
.v2 .st2-g > .amr-h h2 { margin: 0; color: #FFF6DE; font-size: 1.45rem; }
.v2 .st2-g > .amr-h span { color: #E9C46A; font: 500 .9rem var(--ui); }
@media (max-width: 600px) { .v2 .st2-g > .amr-h { padding: 12px 16px; } .v2 .st2-g > .amr-h h2 { font-size: 1.25rem; } }
.v2 .st2-g > .amr-h h2 { font-size: 1.45rem !important; line-height: 1.2 !important; } @media (max-width: 600px) { .v2 .st2-g > .amr-h h2 { font-size: 1.25rem !important; } }
.v2 .st2-g > .amr-h { padding: 14px 20px !important; align-items: center !important; } @media (max-width: 600px) { .v2 .st2-g > .amr-h { padding: 12px 16px !important; } }
/* Lord, 21 Oct: the same space above and below each band (20px) */
.v2 .st2-g ~ .st2-g { margin-top: 20px !important; padding-top: 0 !important; } .v2 .st2-g > .amr-h { margin-bottom: 20px !important; }
.v2 .st2-g { margin-bottom: 0 !important; padding-bottom: 0 !important; } .v2 .st2-g > .pc2-grid:last-child { margin-bottom: 0 !important; }
.v2 .st2-g > .amr-h + .pc2-grid { margin-top: 0 !important; padding-top: 0 !important; }
/* future pacing (Lord, 21 Oct): "Imagine it's …" scene before the offer, and a two-beat line under the buy button */
.v2 .lt-future { margin: 34px 0; padding: 30px 30px 24px; border-radius: 20px; background: radial-gradient(120% 90% at 50% 0%, #2B2F6B 0%, #12143A 75%); color: #E6DDF2; }
.v2 .lt-future p { margin: 0 0 12px; font: 400 1.12rem/1.65 'Lora', Georgia, serif; color: #E6DDF2; }
.v2 .lt-future .lt-fw { font: 600 1.7rem/1.2 'Cormorant Garamond', Georgia, serif; color: #F6D98A; margin-bottom: 14px; }
.v2 .lt-future p:last-child { margin: 16px 0 0; padding-top: 14px; border-top: 1px solid rgba(233,196,106,.3); font-weight: 600; color: #FFF6DE; }
.v2 .lt-fc { margin: 10px 0 0; text-align: center; font: italic 500 1.12rem/1.45 'Cormorant Garamond', Georgia, serif; color: #6E6A82; }

/* checkout step 1: the yes reserves, payment is next (Lord, 21 Oct) */
.v2 .ck-hold { margin: 8px 0 12px; text-align: center; font: 400 .86rem/1.4 var(--read); color: #5B5873; }
@media (max-width: 760px) { body #hmRight a.nv-mine { display: none !important; } }
