@import url('https://fonts.googleapis.com/css2?family=Abril+Fatface&family=Alex+Brush&family=Allura&family=Anton&family=Bebas+Neue&family=Bellefair&family=Bodoni+Moda:opsz,wght@6..96,400;6..96,700&family=Caveat:wght@400;700&family=Cinzel:wght@400;700&family=Cookie&family=Cormorant+Garamond:wght@400;600;700&family=DM+Sans:wght@400;600;700&family=Dancing+Script:wght@400;700&family=Forum&family=Great+Vibes&family=Italianno&family=Kalam:wght@400;700&family=Kaushan+Script&family=Lato:wght@400;700&family=League+Spartan:wght@400;600;700&family=Libre+Baskerville:wght@400;700&family=Marcellus&family=Montserrat:wght@400;600;700&family=Open+Sans:wght@400;600;700&family=Oswald:wght@400;600;700&family=Parisienne&family=Patrick+Hand&family=Playball&family=Playfair+Display:wght@400;600;700&family=Poppins:wght@400;600;700&family=Prata&family=Sacramento&family=Satisfy&family=Tangerine:wght@400;700&family=Yellowtail&display=swap');
.vms-reader{--paper:#f8eddb;--gold:#b08a47;--gold2:#e3cb93;--ink:#1d1811;width:100%;max-width:1320px;margin:20px auto;padding:18px 16px 16px;box-sizing:border-box;border-radius:18px;background:transparent;box-shadow:none;font-family:Arial,sans-serif;transition:opacity .18s ease}
.vms-book-shell{display:grid;grid-template-columns:58px minmax(0,1fr) 58px;align-items:center;gap:12px;position:relative}
.vms-book{position:relative;aspect-ratio:4/3;perspective:2600px;transform-style:preserve-3d;border-radius:14px;background:transparent;overflow:visible}
.vms-page-stack{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .36s cubic-bezier(.4,0,.2,1);will-change:transform}
.vms-book.is-front-closed .vms-page-stack{transform:translateX(-25%)}
.vms-book.is-back-closed .vms-page-stack{transform:translateX(25%)}
.vms-book.is-open .vms-page-stack,.vms-book.is-opening.at-spine .vms-page-stack{transform:translateX(0)}
.vms-book.is-opening .vms-page-stack{transform:translateX(-25%)}
.vms-book.is-closing-front .vms-page-stack{transform:translateX(0)}
.vms-book.is-closing-front.center-front .vms-page-stack{transform:translateX(-25%)}
.vms-persistent-sheet{position:absolute;left:50%;top:0;width:50%;height:100%;transform-origin:left center;transform:rotateY(0deg);transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:transform .78s cubic-bezier(.42,.02,.18,1);will-change:transform;pointer-events:none}
.vms-persistent-sheet.is-turned{transform:rotateY(-180deg)}
.vms-persistent-face{position:absolute;inset:0;overflow:hidden;background:var(--paper);border-radius:0 10px 10px 0;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 20px 48px rgba(0,0,0,.30);pointer-events:auto}
/* Lighten what the browser must repaint while a sheet is mid-flip. Box-shadow
   and the edge-shading gradient are expensive to recompute every frame next
   to a live 3D transform, and iPad Safari in particular drops frames under
   that combined load, which reads as a snap instead of a smooth turn. These
   are restored the instant the turn finishes. Static (non-turning) shadow,
   Android, and desktop appearance are unchanged. */
.vms-persistent-sheet.vms-sheet-mid-turn{box-shadow:none}
.vms-persistent-sheet.vms-sheet-mid-turn .vms-persistent-face{box-shadow:none}
.vms-persistent-sheet.vms-sheet-mid-turn::after{transition:none;opacity:0}
.vms-persistent-face.vms-sheet-front{transform:rotateY(0deg) translateZ(.2px)}
.vms-persistent-face.vms-sheet-back{transform:rotateY(180deg) translateZ(.2px);border-radius:10px 0 0 10px}
.vms-persistent-face.is-blank{background:linear-gradient(135deg,#fbf2e3,#ead8bd)}

/* Front-cover-only face separation. No wrapper, isolation, contain:paint,
   opacity, or visibility changes are used, so interior sheets retain the
   exact persistent-sheet rendering from v2.0.1. */
.vms-hard-cover-sheet.vms-cover-separated .vms-sheet-front{
  transform:rotateY(0deg) translateZ(.65px);
  background:#f8eddb;
}
.vms-hard-cover-sheet.vms-cover-separated .vms-sheet-back{
  transform:rotateY(180deg) translateZ(.65px);
  background:#f8eddb;
}
.vms-persistent-sheet::after{content:"";position:absolute;inset:0;z-index:10;pointer-events:none;backface-visibility:hidden;background:linear-gradient(90deg,rgba(0,0,0,.03),transparent 18%,transparent 78%,rgba(0,0,0,.08));opacity:.35;transition:opacity .39s ease}
.vms-persistent-sheet.is-turned::after{opacity:.12}
.vms-page-art{position:absolute;inset:0;background-color:var(--paper);background-size:cover;background-position:center;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.vms-spine{position:absolute;left:50%;top:0;bottom:0;width:24px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(0,0,0,.24),transparent);z-index:500;pointer-events:none;opacity:.62}
.vms-page-no{position:absolute;bottom:8px;right:10px;background:rgba(0,0,0,.55);color:#fff;font-size:10px;padding:4px 8px;border-radius:12px}
.vms-text-overlay{position:absolute;transform:translate(-50%,0);display:inline-block;width:max-content;max-width:85%;line-height:1.05;white-space:pre-wrap;overflow-wrap:break-word;z-index:7;visibility:hidden;opacity:0}.vms-text-overlay p{margin:0 0 .45em}.vms-text-overlay p:last-child{margin-bottom:0}.vms-text-overlay a{color:inherit;text-decoration:underline}.vms-text-overlay img,.vms-text-overlay iframe,.vms-text-overlay video{max-width:100%;height:auto}
.vms-hotspot{position:absolute;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:50%;background:rgba(20,16,8,.72);border:2px solid var(--gold2);z-index:8;box-shadow:0 0 0 6px rgba(227,203,147,.2)}.vms-hotspot:before{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:var(--gold2);left:50%;top:50%;transform:translate(-50%,-50%)}.vms-hotspot span{position:absolute;bottom:135%;left:50%;transform:translateX(-50%);background:#17120c;color:#fff;font-size:11px;white-space:nowrap;padding:6px 9px;border-radius:5px;opacity:0;pointer-events:none;transition:.2s}.vms-hotspot:hover span,.vms-hotspot:focus span{opacity:1}
.vms-nav{appearance:none;-webkit-appearance:none;width:48px;height:48px;border-radius:50%;border:1px solid rgba(176,138,71,.55)!important;background:var(--ink)!important;color:var(--gold2)!important;padding:0!important;margin:0!important;display:grid!important;place-items:center!important;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.22);line-height:1!important}.vms-nav span{display:block;font-family:Georgia,serif;font-size:38px;line-height:.75;transform:translateY(-1px)}.vms-nav:hover{background:#2b2318!important;transform:scale(1.04)}.vms-nav:disabled{opacity:.22;cursor:not-allowed;transform:none}
.vms-mobile-counter{display:none}
.vms-toolbar{display:grid;grid-template-columns:1fr auto;align-items:center;margin-top:14px;gap:10px}.vms-counter{text-align:center;justify-self:center;font-size:12px;font-weight:700;letter-spacing:.04em}.vms-fullscreen{justify-self:end}.vms-control{appearance:none;border:1px solid #cdbd9f;background:#fff;color:var(--ink);padding:9px 15px;border-radius:22px;cursor:pointer;font-size:12px}.vms-associate-disclosure{text-align:center;font-size:11px;margin-top:10px;opacity:.72}
.vms-gate{position:absolute;inset:0;z-index:1000;background:rgba(17,13,8,.92);display:grid;place-items:center;padding:20px;border-radius:10px}.vms-gate[hidden]{display:none}.vms-gate-card{width:min(520px,92%);background:linear-gradient(180deg,#fbf7ee,#f2eada);padding:34px;border-radius:14px;text-align:center;color:var(--ink);box-shadow:0 24px 70px rgba(0,0,0,.42)}.vms-kicker{font-size:10px;letter-spacing:.3em;color:#8c6a2f}.vms-gate-card h2{font-family:Georgia,serif;font-size:30px;margin:10px 0}.vms-gate-card form{display:grid;gap:12px;margin-top:20px}.vms-gate-card label{text-align:left;font-size:12px;font-weight:bold}.vms-gate-card input{display:block;width:100%;padding:12px;border:1px solid #cdbd9f;border-radius:6px;margin-top:5px}.vms-gate-card button{padding:13px;border:0;border-radius:30px;background:var(--ink);color:#fff;font-weight:bold;cursor:pointer}.vms-form-note{font-size:10px;margin-top:12px;opacity:.7}.vms-hidden-frame{display:none}
@media(max-width:700px){
.vms-reader{padding:10px 4px 14px;border-radius:10px}
.vms-book-shell{grid-template-columns:64px minmax(0,1fr) 64px;grid-template-rows:auto 54px;gap:8px 10px;width:100%}
.vms-book{grid-column:1/-1;grid-row:1;aspect-ratio:4/3;width:100%}
.vms-prev{grid-column:1;grid-row:2;justify-self:end}
.vms-next{grid-column:3;grid-row:2;justify-self:start}
.vms-mobile-counter{display:none!important}
.vms-persistent-face{box-shadow:0 10px 18px rgba(0,0,0,.24)}
.vms-nav{width:44px;height:44px}
.vms-nav span{font-size:34px}
.vms-text-overlay{font-size:inherit}
.vms-page-no{font-size:8px;padding:3px 6px}
.vms-toolbar{grid-template-columns:1fr;justify-items:center;margin-top:2px}
.vms-toolbar .vms-counter{display:none}
.vms-fullscreen{justify-self:center}
.vms-control{padding:8px 13px;font-size:11px}
.vms-associate-disclosure{margin-top:8px}
}

/* v1.0.2 — Phone fullscreen calibration only.
   Desktop, tablet, and normal mobile layouts are unchanged. In phone fullscreen,
   the original page image, overlays, and hotspots share one 2:3 coordinate box. */
.vms-single-viewer,.vms-fs-exit{display:none}

@media(max-width:700px){
  .vms-book-shell:fullscreen.vms-mobile-single-fullscreen,
  .vms-book-shell:-webkit-full-screen.vms-mobile-single-fullscreen{
    width:100vw!important;
    height:100dvh!important;
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:54px minmax(0,1fr) 54px!important;
    grid-template-rows:auto auto!important;
    gap:10px 8px!important;
    align-content:center!important;
    align-items:center!important;
    padding:max(10px,env(safe-area-inset-top)) 8px max(10px,env(safe-area-inset-bottom))!important;
    background:#111!important;
    overflow:hidden!important;
  }
  .vms-book-shell.vms-mobile-single-fullscreen .vms-book{display:none!important}
  .vms-book-shell.vms-mobile-single-fullscreen .vms-mobile-counter{display:none!important}
  .vms-book-shell.vms-mobile-single-fullscreen .vms-single-viewer{
    display:block!important;
    position:relative!important;
    grid-column:1/-1!important;
    grid-row:1!important;
    width:min(92vw,calc((100dvh - 92px) * .6666667))!important;
    height:auto!important;
    max-height:calc(100dvh - 92px)!important;
    aspect-ratio:2/3!important;
    justify-self:center!important;
    align-self:end!important;
    perspective:2200px!important;
    transform-style:preserve-3d!important;
    overflow:visible!important;
  }
  .vms-single-page{
    position:absolute!important;
    inset:0!important;
    overflow:hidden!important;
    border-radius:8px!important;
    background:var(--paper)!important;
    box-shadow:0 12px 28px rgba(68,44,20,.28)!important;
    backface-visibility:hidden!important;
    -webkit-backface-visibility:hidden!important;
  }
  /* Match the desktop page crop exactly. Image, text, and dots all use the
     same full-page coordinate box, so no letterboxing or position drift. */
  .vms-single-page .vms-page-art{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
    background-position:center!important;
  }
  .vms-single-page .vms-page-no{display:block!important;position:absolute!important;bottom:8px!important;right:10px!important;z-index:1000!important}
  .vms-single-sheet{
    position:absolute!important;
    inset:0!important;
    z-index:20!important;
    transform-style:preserve-3d!important;
    -webkit-transform-style:preserve-3d!important;
    transition:transform .78s cubic-bezier(.42,.02,.18,1)!important;
    will-change:transform!important;
  }
  .vms-single-sheet.is-forward{transform-origin:left center!important;transform:rotateY(0deg)!important}
  .vms-single-sheet.is-forward.is-turning{transform:rotateY(-180deg)!important}
  .vms-single-sheet.is-backward{transform-origin:right center!important;transform:rotateY(0deg)!important}
  .vms-single-sheet.is-backward.is-turning{transform:rotateY(180deg)!important}
  .vms-single-face{position:absolute!important;inset:0!important;box-shadow:none!important}
  .vms-single-front{transform:rotateY(0deg) translateZ(.2px)!important}
  .vms-single-back{transform:rotateY(180deg) translateZ(.2px)!important}
  .vms-book-shell.vms-mobile-single-fullscreen .vms-prev{
    display:grid!important;
    grid-column:1!important;
    grid-row:2!important;
    justify-self:end!important;
    align-self:start!important;
  }
  .vms-book-shell.vms-mobile-single-fullscreen .vms-next{
    display:grid!important;
    grid-column:3!important;
    grid-row:2!important;
    justify-self:start!important;
    align-self:start!important;
  }
  .vms-book-shell.vms-mobile-single-fullscreen .vms-nav{
    width:46px!important;
    height:46px!important;
    box-shadow:0 6px 16px rgba(68,44,20,.28)!important;
  }
  .vms-book-shell.vms-mobile-single-fullscreen .vms-fs-exit{
    display:block!important;
    grid-column:2!important;
    grid-row:2!important;
    justify-self:center!important;
    align-self:start!important;
    appearance:none!important;
    border:1px solid rgba(227,203,147,.65)!important;
    background:#fffaf1!important;
    color:#6f4f21!important;
    border-radius:22px!important;
    padding:9px 14px!important;
    font-size:11px!important;
    letter-spacing:.03em!important;
  }
}


/* v1.0.4.4 — Desktop fullscreen fit only.
   Keep the complete two-page spread inside the viewport so the bottom edge
   and page numbers are never cropped. Normal desktop, tablet, and mobile are
   unchanged. */
@media (min-width:701px){
  .vms-book-shell:fullscreen,
  .vms-book-shell:-webkit-full-screen{
    width:100vw!important;
    height:100vh!important;
    height:100dvh!important;
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:58px minmax(0,1fr) 58px!important;
    align-items:center!important;
    justify-items:center!important;
    gap:12px!important;
    padding:20px!important;
    background:#111!important;
    overflow:hidden!important;
  }
  .vms-book-shell:fullscreen .vms-book,
  .vms-book-shell:-webkit-full-screen .vms-book{
    width:min(calc(100vw - 164px),calc((100dvh - 40px) * 1.3333333))!important;
    max-width:none!important;
    height:auto!important;
    max-height:calc(100dvh - 40px)!important;
    aspect-ratio:4/3!important;
    align-self:center!important;
    justify-self:center!important;
  }
}


/* v1.0.4.5 — Text block links */
a.vms-text-overlay{
  display:inline-block;
  color:inherit;
  cursor:pointer;
}
a.vms-text-overlay:hover,
a.vms-text-overlay:focus{
  color:inherit;
}


/* v1.0.4.14 — prevent initial text-position flash */
.vms-text-overlay.vms-text-ready{
  visibility:visible;
  opacity:1;
}


/* v1.0.4.16 — YouTube popup */
.vms-youtube-popup{
  position:fixed;
  inset:0;
  z-index:2147483646;
  display:grid;
  place-items:center;
  padding:20px;
}
.vms-youtube-popup[hidden]{display:none!important}
.vms-youtube-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.84);
}
.vms-youtube-dialog{
  position:relative;
  z-index:1;
  width:min(960px,94vw);
  border-radius:12px;
  background:#111;
  box-shadow:0 24px 70px rgba(0,0,0,.55);
  overflow:visible;
}
.vms-youtube-frame-wrap{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:12px;
}
.vms-youtube-frame-wrap iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.vms-youtube-close{
  position:absolute;
  right:-12px;
  top:-12px;
  z-index:3;
  width:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:1px solid #b89a68;
  border-radius:50%;
  background:#ead9bd;
  color:#111;
  font-family:Arial,sans-serif;
  font-size:25px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(0,0,0,.24);
  appearance:none;
  -webkit-appearance:none;
}
html.vms-video-open{overflow:hidden}
@media(max-width:700px){
  .vms-youtube-popup{padding:12px}
  .vms-youtube-dialog{width:96vw}
  .vms-youtube-close{right:4px;top:-48px}
}


/* v1.0.4.17 — Mobile-safe YouTube popup */
.vms-youtube-popup{
  width:100vw;
  width:100dvw;
  height:100vh;
  height:100dvh;
  box-sizing:border-box;
}
.vms-youtube-dialog{
  max-height:calc(100dvh - 40px);
}
body.vms-video-open{
  overflow:hidden;
}
:fullscreen .vms-youtube-popup,
:-webkit-full-screen .vms-youtube-popup{
  position:fixed;
  inset:0;
  z-index:2147483647;
}
@media(max-width:700px){
  .vms-youtube-popup{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:16px 10px;
  }
  .vms-youtube-dialog{
    width:min(96vw,720px);
    max-height:88dvh;
  }
  .vms-youtube-frame-wrap{
    width:100%;
    aspect-ratio:9/16;
    max-height:82dvh;
  }
  .vms-youtube-close{
    right:6px;
    top:6px;
  }
}


/* v1.0.4.17 — Affiliate disclosure above the magazine */
.vms-reader,
.vms-magazine-wrap,
.vms-shell{
  position:relative;
}
.vms-disclaimer,
.vms-affiliate-disclaimer,
.affiliate-disclaimer{
  order:-10;
  width:100%;
  margin:0 auto 14px;
  padding:0 14px;
  box-sizing:border-box;
  text-align:center;
  color:#5f574f;
  font-size:14px;
  line-height:1.45;
}
@media(max-width:700px){
  .vms-disclaimer,
  .vms-affiliate-disclaimer,
  .affiliate-disclaimer{
    margin-bottom:10px;
    font-size:12px;
  }
}


/* Ensure disclosure is clearly above the magazine */
.vms-associate-disclosure{
  width:100%;
  max-width:1180px;
  margin:0 auto 14px;
  padding:0 16px;
  box-sizing:border-box;
  text-align:center;
  color:#5f574f;
  font-size:14px;
  line-height:1.45;
}
@media(max-width:700px){
  .vms-associate-disclosure{
    margin-bottom:10px;
    padding:0 12px;
    font-size:12px;
  }
}


/* v1.0.4.20 — embedded AWeber forms */
.vms-embed-overlay{
  display:block;
  max-width:92%;
  overflow:hidden;
  background:transparent;
  text-shadow:none!important;
}
.vms-embed-overlay iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:transparent;
}


/* v1.0.4.22 — generic HTML/CSS/JavaScript sandbox */
.vms-embed-overlay iframe{
  overflow:auto;
}

/* v1.0.4.25 — unified embedded-content scaling */
.vms-embed-overlay{position:absolute;overflow:hidden!important}
.vms-embed-overlay iframe{
  position:absolute;left:0;top:0;max-width:none!important;max-height:none!important;
  border:0;transform-origin:top left;
}

/* v1.0.4.26 — auto-fit form height and keep inputs usable */
.vms-embed-overlay{
  overflow:visible!important;
  z-index:20;
}
.vms-embed-overlay iframe{
  pointer-events:auto;
}


/* v1.0.4.27 — refined magazine depth shadows */
/* Narrower outside lift so the magazine does not look like it is floating. */
.vms-persistent-face{
  box-shadow:0 9px 22px rgba(0,0,0,.24)!important;
}

/* Thin, darker center fold for a more realistic paper crease. */
.vms-spine{
  width:10px!important;
  opacity:.82!important;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(0,0,0,.08) 18%,
    rgba(0,0,0,.34) 47%,
    rgba(0,0,0,.42) 50%,
    rgba(0,0,0,.34) 53%,
    rgba(0,0,0,.08) 82%,
    transparent 100%
  )!important;
}

@media(max-width:700px){
  .vms-persistent-face{
    box-shadow:0 6px 14px rgba(0,0,0,.22)!important;
  }
  .vms-spine{
    width:8px!important;
  }
}


/* v1.0.4.31 — readable interactive HTML/forms */
.vms-embed-overlay{
  overflow:visible!important;
}
.vms-embed-overlay > iframe{
  position:relative!important;
  left:auto!important;
  top:auto!important;
  display:block!important;
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  transform:none!important;
  transform-origin:top left!important;
  pointer-events:auto!important;
}


/* v1.0.4.33 — mobile proportional HTML without page blinking */
.vms-embed-overlay{
  visibility:hidden;
  opacity:0;
}
.vms-embed-overlay.vms-text-ready{
  visibility:visible;
  opacity:1;
}

/* Clip fullscreen pages without hiding/repainting the whole viewer. */
@media(max-width:700px){
  .vms-book-shell.vms-mobile-single-fullscreen .vms-single-viewer,
  .vms-book-shell.vms-mobile-single-fullscreen .vms-single-page,
  .vms-book-shell.vms-mobile-single-fullscreen .vms-single-sheet,
  .vms-book-shell.vms-mobile-single-fullscreen .vms-single-face{
    overflow:hidden!important;
    clip-path:inset(0 round 8px)!important;
  }
}


/* v1.0.4.37 — regular text appears immediately on mobile page turns */
.vms-text-overlay:not(.vms-embed-overlay){
  visibility:visible!important;
  opacity:1!important;
}


/* v1.0.4.38 — instant text at saved coordinates, no top-left slide */
.vms-text-overlay:not(.vms-embed-overlay){
  visibility:visible!important;
  opacity:1!important;
  transition:none!important;
  animation:none!important;
}


/* v1.0.4.40 — regular-mobile form resized without cropping */
@media(max-width:700px){
  .vms-book-shell:not(.vms-mobile-single-fullscreen) .vms-embed-overlay{
    overflow:visible!important;
  }

  .vms-book-shell:not(.vms-mobile-single-fullscreen) .vms-embed-overlay > iframe{
    transform:scale(var(--vms-embed-scale,1))!important;
    transform-origin:top left!important;
  }

  .vms-book-shell.vms-mobile-single-fullscreen .vms-embed-overlay > iframe{
    transform:none!important;
    width:100%!important;
  }
}


/* v1.0.4.41 — iPhone-safe in-page fullscreen fallback */
html.vms-fullscreen-scroll-lock,
body.vms-fullscreen-scroll-lock{
  overflow:hidden!important;
  overscroll-behavior:none!important;
}

@media(max-width:700px){
  .vms-book-shell.vms-ios-pseudo-fullscreen.vms-mobile-single-fullscreen{
    position:fixed!important;
    inset:0!important;
    z-index:2147483000!important;
    width:100vw!important;
    height:100dvh!important;
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:54px minmax(0,1fr) 54px!important;
    grid-template-rows:auto auto!important;
    gap:10px 8px!important;
    align-content:center!important;
    align-items:center!important;
    padding:max(10px,env(safe-area-inset-top)) 8px max(10px,env(safe-area-inset-bottom))!important;
    margin:0!important;
    background:#111!important;
    overflow:hidden!important;
    isolation:isolate!important;
  }

  .vms-book-shell.vms-ios-pseudo-fullscreen .vms-toolbar,
  .vms-book-shell.vms-ios-pseudo-fullscreen .vms-associate-disclosure{
    display:none!important;
  }
}

/* v2.14.0 — desktop regular-view fit only. Mobile and fullscreen unchanged. */
@media (min-width:701px){
  .vms-reader{
    width:min(90vw,1188px)!important;
    max-width:1236px!important;
    margin:10px auto!important;
    padding:10px 12px 12px!important;
  }
  .vms-toolbar{
    margin-top:8px!important;
  }
  .vms-counter{
    display:none!important;
  }
}

/* v2.17.0 — desktop regular view approximately 4% larger while still fitting by width and height.
   Keeps the full book, bottom page artwork, and Full Screen control visible
   at 100% browser zoom. Mobile and native fullscreen are unchanged. */
@media (min-width:701px){
  .vms-reader{
    width:min(96vw, calc((100vh - 145px) * 1.3333333 + 140px))!important;
    max-width:none!important;
    margin:8px auto!important;
    padding:8px 10px 10px!important;
  }
  .vms-book{
    width:100%!important;
    max-width:calc((100vh - 145px) * 1.3333333)!important;
    justify-self:center!important;
  }
  .vms-toolbar{
    margin-top:6px!important;
  }
  .vms-counter{
    display:none!important;
  }
}


/* v2.18.0 — centered two-line affiliate disclosure */
.vms-associate-disclosure{
  width:100%;
  max-width:1180px;
  margin:0 auto 14px;
  padding:0 16px;
  box-sizing:border-box;
  text-align:center;
  color:#5f574f;
  font-size:14px;
  line-height:1.45;
}
.vms-associate-disclosure span{
  display:block;
}


/* v2.20.0 — iPad/tablet arrow placement corrected.
   Regular view: arrows remain on the left and right sides.
   Fullscreen: arrows sit directly underneath the magazine, not at the bottom of the screen.
   Phone/mobile rules remain untouched. */
@media (min-width:701px) and (max-width:1180px){
  .vms-reader{
    width:100%!important;
    max-width:none!important;
    margin:8px auto!important;
    padding:8px 8px 10px!important;
  }

  /* REGULAR TABLET VIEW: arrows on the two sides */
  .vms-book-shell{
    width:100%!important;
    display:grid!important;
    grid-template-columns:58px minmax(0,1fr) 58px!important;
    grid-template-rows:auto!important;
    gap:0 8px!important;
    align-items:center!important;
    justify-items:center!important;
  }

  .vms-book{
    grid-column:2!important;
    grid-row:1!important;
    width:min(90vw, calc((100dvh - 135px) * 1.3333333))!important;
    max-width:none!important;
    height:auto!important;
    aspect-ratio:4/3!important;
    justify-self:center!important;
  }

  .vms-prev{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:center!important;
    align-self:center!important;
  }

  .vms-next{
    grid-column:3!important;
    grid-row:1!important;
    justify-self:center!important;
    align-self:center!important;
  }

  .vms-toolbar{
    margin-top:2px!important;
  }

  /* FULLSCREEN TABLET VIEW: magazine and arrows grouped together in the center */
  .vms-book-shell:fullscreen,
  .vms-book-shell:-webkit-full-screen,
  .vms-book-shell.vms-tablet-pseudo-fullscreen{
    width:100vw!important;
    height:100dvh!important;
    position:fixed!important;
    inset:0!important;
    z-index:2147483000!important;
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:1fr 64px 64px 1fr!important;
    grid-template-rows:auto!important;
    gap:8px 14px!important;
    padding:10px!important;
    background:#111!important;
    overflow:hidden!important;
    align-content:center!important;
    align-items:center!important;
    justify-items:center!important;
  }

  .vms-book-shell:fullscreen .vms-book,
  .vms-book-shell:-webkit-full-screen .vms-book,
  .vms-book-shell.vms-tablet-pseudo-fullscreen .vms-book{
    grid-column:1 / -1!important;
    grid-row:1!important;
    width:min(98vw, calc((100dvh - 88px) * 1.3333333))!important;
    max-width:none!important;
    max-height:calc(100dvh - 88px)!important;
    height:auto!important;
    aspect-ratio:4/3!important;
    align-self:center!important;
    justify-self:center!important;
  }

  .vms-book-shell:fullscreen .vms-prev,
  .vms-book-shell:-webkit-full-screen .vms-prev,
  .vms-book-shell.vms-tablet-pseudo-fullscreen .vms-prev{
    grid-column:2!important;
    grid-row:2!important;
    justify-self:end!important;
    align-self:start!important;
  }

  .vms-book-shell:fullscreen .vms-next,
  .vms-book-shell:-webkit-full-screen .vms-next,
  .vms-book-shell.vms-tablet-pseudo-fullscreen .vms-next{
    grid-column:3!important;
    grid-row:2!important;
    justify-self:start!important;
    align-self:start!important;
  }
}

/* v2.21 tablet fullscreen overlay tweaks */
@media (min-width:701px) and (max-width:1180px){
.vms-book-shell.vms-tablet-pseudo-fullscreen .vms-prev,
.vms-book-shell:fullscreen .vms-prev,
.vms-book-shell:-webkit-full-screen .vms-prev{
  grid-column:1!important;grid-row:1!important;align-self:center!important;justify-self:start!important;z-index:20!important;
}
.vms-book-shell.vms-tablet-pseudo-fullscreen .vms-next,
.vms-book-shell:fullscreen .vms-next,
.vms-book-shell:-webkit-full-screen .vms-next{
  grid-column:4!important;grid-row:1!important;align-self:center!important;justify-self:end!important;z-index:20!important;
}
.vms-toolbar{margin-top:12px!important;}
}


/* v2.22.0 — iPad/tablet arrow symmetry and toolbar spacing */
@media (min-width:701px) and (max-width:1180px){
  /* Regular tablet view: both arrows overlay the magazine edges equally */
  .vms-book-shell:not(:fullscreen):not(.vms-tablet-pseudo-fullscreen){
    position:relative!important;
  }

  .vms-book-shell:not(:fullscreen):not(.vms-tablet-pseudo-fullscreen) .vms-prev,
  .vms-book-shell:not(:fullscreen):not(.vms-tablet-pseudo-fullscreen) .vms-next{
    position:absolute!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    z-index:30!important;
    margin:0!important;
  }

  .vms-book-shell:not(:fullscreen):not(.vms-tablet-pseudo-fullscreen) .vms-prev{
    left:10px!important;
  }

  .vms-book-shell:not(:fullscreen):not(.vms-tablet-pseudo-fullscreen) .vms-next{
    right:10px!important;
  }

  /* Give the Full Screen / Exit Full Screen control a little breathing room */
  .vms-toolbar{
    margin-top:18px!important;
  }
}


/* v2.23.0 — tablet fullscreen controls directly under the magazine */
@media (min-width:701px) and (max-width:1180px){
  .vms-book-shell:fullscreen,
  .vms-book-shell:-webkit-full-screen,
  .vms-book-shell.vms-tablet-pseudo-fullscreen{
    grid-template-columns:1fr 58px minmax(130px,170px) 58px 1fr!important;
    grid-template-rows:auto 58px!important;
    column-gap:10px!important;
    row-gap:8px!important;
    align-content:center!important;
  }

  .vms-book-shell:fullscreen .vms-book,
  .vms-book-shell:-webkit-full-screen .vms-book,
  .vms-book-shell.vms-tablet-pseudo-fullscreen .vms-book{
    grid-column:1 / -1!important;
    grid-row:1!important;
    align-self:end!important;
    justify-self:center!important;
  }

  .vms-book-shell:fullscreen .vms-prev,
  .vms-book-shell:-webkit-full-screen .vms-prev,
  .vms-book-shell.vms-tablet-pseudo-fullscreen .vms-prev{
    position:static!important;
    grid-column:2!important;
    grid-row:2!important;
    transform:none!important;
    justify-self:center!important;
    align-self:start!important;
    margin:0!important;
  }

  .vms-book-shell:fullscreen .vms-fullscreen,
  .vms-book-shell:-webkit-full-screen .vms-fullscreen,
  .vms-book-shell.vms-tablet-pseudo-fullscreen .vms-fullscreen{
    position:static!important;
    display:block!important;
    grid-column:3!important;
    grid-row:2!important;
    justify-self:center!important;
    align-self:start!important;
    margin:0!important;
    white-space:nowrap!important;
    z-index:40!important;
  }

  .vms-book-shell:fullscreen .vms-next,
  .vms-book-shell:-webkit-full-screen .vms-next,
  .vms-book-shell.vms-tablet-pseudo-fullscreen .vms-next{
    position:static!important;
    grid-column:4!important;
    grid-row:2!important;
    transform:none!important;
    justify-self:center!important;
    align-self:start!important;
    margin:0!important;
  }
}


/* v2.24.0 — dedicated visible Exit Full Screen button for tablet fullscreen */
.vms-tablet-exit-fullscreen{
  display:none;
}

@media (min-width:701px) and (max-width:1180px){
  .vms-book-shell:fullscreen .vms-tablet-exit-fullscreen,
  .vms-book-shell:-webkit-full-screen .vms-tablet-exit-fullscreen,
  .vms-book-shell.vms-tablet-pseudo-fullscreen .vms-tablet-exit-fullscreen{
    display:inline-flex!important;
    grid-column:3!important;
    grid-row:2!important;
    align-items:center!important;
    justify-content:center!important;
    align-self:start!important;
    justify-self:center!important;
    min-width:145px!important;
    min-height:42px!important;
    padding:9px 16px!important;
    margin:0!important;
    border:1px solid #cdbd9f!important;
    border-radius:22px!important;
    background:#fff!important;
    color:#1f1a15!important;
    font-size:14px!important;
    line-height:1!important;
    white-space:nowrap!important;
    cursor:pointer!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    z-index:2147483646!important;
  }

  /* The regular toolbar button remains outside fullscreen. */
  .vms-book-shell:fullscreen > .vms-fullscreen,
  .vms-book-shell:-webkit-full-screen > .vms-fullscreen,
  .vms-book-shell.vms-tablet-pseudo-fullscreen > .vms-fullscreen{
    display:none!important;
  }
}


/* v2.27.0 — Apple layout correction.
   Normal iPhone/iPad view keeps the centered front cover, opens to the standard
   two-page magazine spread, and closes on the centered back cover. The special
   one-page Apple renderer is enabled only after FULL SIZE is activated. */
.vms-reader.vms-apple-renderer:not(.vms-mobile-single-fullscreen) .vms-book{display:block!important}
.vms-reader.vms-apple-renderer:not(.vms-mobile-single-fullscreen) .vms-single-viewer{display:none!important}

.vms-reader.vms-apple-renderer.vms-mobile-single-fullscreen .vms-book{display:none!important}
.vms-reader.vms-apple-renderer.vms-mobile-single-fullscreen .vms-single-viewer{
  display:block!important;
  position:relative!important;
  overflow:hidden!important;
  background:var(--paper)!important;
  border-radius:10px!important;
  box-shadow:0 18px 42px rgba(0,0,0,.28)!important;
  isolation:isolate!important;
  perspective:1800px!important;
  -webkit-perspective:1800px!important;
  transform:translateZ(0)!important;
  -webkit-transform:translateZ(0)!important;
}
.vms-reader.vms-apple-renderer.vms-mobile-single-fullscreen .vms-single-page{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  overflow:hidden!important;background:var(--paper)!important;border-radius:10px!important;
}
.vms-reader.vms-apple-renderer.vms-mobile-single-fullscreen .vms-single-sheet{
  position:absolute!important;inset:0!important;z-index:4!important;
  transform:rotateY(0deg) translateZ(1px)!important;
  transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;
  transition:transform .76s cubic-bezier(.42,.02,.18,1)!important;
  will-change:transform!important;pointer-events:none!important;
}
.vms-reader.vms-apple-renderer.vms-mobile-single-fullscreen .vms-single-sheet.is-forward{transform-origin:left center!important}
.vms-reader.vms-apple-renderer.vms-mobile-single-fullscreen .vms-single-sheet.is-backward{transform-origin:right center!important}
.vms-reader.vms-apple-renderer.vms-mobile-single-fullscreen .vms-single-sheet.is-forward.is-turning{transform:rotateY(-180deg) translateZ(1px)!important}
.vms-reader.vms-apple-renderer.vms-mobile-single-fullscreen .vms-single-sheet.is-backward.is-turning{transform:rotateY(180deg) translateZ(1px)!important}
.vms-reader.vms-apple-renderer.vms-mobile-single-fullscreen .vms-single-face{
  position:absolute!important;inset:0!important;backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;overflow:hidden!important;background:var(--paper)!important;
}
.vms-reader.vms-apple-renderer.vms-mobile-single-fullscreen .vms-single-front{transform:rotateY(0deg) translateZ(.5px)!important}
.vms-reader.vms-apple-renderer.vms-mobile-single-fullscreen .vms-single-back{display:block!important;transform:rotateY(180deg) translateZ(.5px)!important}

/* v2.28.0 — Full Screen controls locked directly underneath the magazine on
   iPhone and iPad. Placed last so no earlier fullscreen rule can push the
   arrows back to the sides or the bottom edge of the screen. */
@media(max-width:700px){
  .vms-book-shell.vms-mobile-single-fullscreen{
    grid-template-rows:auto auto!important;
  }
  .vms-book-shell.vms-mobile-single-fullscreen .vms-single-viewer{
    grid-row:1!important;
  }
  .vms-book-shell.vms-mobile-single-fullscreen .vms-prev,
  .vms-book-shell.vms-mobile-single-fullscreen .vms-next,
  .vms-book-shell.vms-mobile-single-fullscreen .vms-fs-exit{
    grid-row:2!important;
    align-self:start!important;
  }
  .vms-book-shell.vms-mobile-single-fullscreen .vms-prev{grid-column:1!important;justify-self:end!important}
  .vms-book-shell.vms-mobile-single-fullscreen .vms-next{grid-column:3!important;justify-self:start!important}
}

@media (min-width:701px) and (max-width:1180px){
  .vms-book-shell:fullscreen,
  .vms-book-shell:-webkit-full-screen,
  .vms-book-shell.vms-tablet-pseudo-fullscreen{
    grid-template-rows:auto 58px!important;
  }
  .vms-book-shell:fullscreen .vms-book,
  .vms-book-shell:-webkit-full-screen .vms-book,
  .vms-book-shell.vms-tablet-pseudo-fullscreen .vms-book{
    grid-row:1!important;
  }
  .vms-book-shell:fullscreen .vms-prev,
  .vms-book-shell:-webkit-full-screen .vms-prev,
  .vms-book-shell.vms-tablet-pseudo-fullscreen .vms-prev,
  .vms-book-shell:fullscreen .vms-next,
  .vms-book-shell:-webkit-full-screen .vms-next,
  .vms-book-shell.vms-tablet-pseudo-fullscreen .vms-next{
    position:static!important;
    grid-row:2!important;
    align-self:start!important;
    justify-self:center!important;
    transform:none!important;
    margin:0!important;
  }
  .vms-book-shell:fullscreen .vms-prev,
  .vms-book-shell:-webkit-full-screen .vms-prev,
  .vms-book-shell.vms-tablet-pseudo-fullscreen .vms-prev{grid-column:2!important}
  .vms-book-shell:fullscreen .vms-next,
  .vms-book-shell:-webkit-full-screen .vms-next,
  .vms-book-shell.vms-tablet-pseudo-fullscreen .vms-next{grid-column:4!important}
}

/* Vonshae Studio 3.0 Apple-first clean renderer. Page artwork only. */
.vms-apple-clean-engine .vms-page-stack{inset:0;transform:none!important;transition:none!important;overflow:visible}
.vms-apple-clean-engine .vms-book{perspective:2400px!important;-webkit-perspective:2400px!important;overflow:visible!important}
.vms-apple-clean-engine .vms-spine{display:none!important}
.vms-apple-stage{position:absolute;inset:0;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:transform .34s ease;will-change:transform}
.vms-apple-stage.is-front-closed{transform:translateX(-25%)}
.vms-apple-stage.is-back-closed{transform:translateX(25%)}
.vms-apple-stage.is-open{transform:translateX(0)}
.vms-apple-page{position:absolute;top:0;width:50%;height:100%;background-color:var(--paper);background-size:cover;background-position:center;background-repeat:no-repeat;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 10px 24px rgba(0,0,0,.24)}
.vms-apple-page.is-left{left:0;border-radius:10px 0 0 10px}
.vms-apple-page.is-right{left:50%;border-radius:0 10px 10px 0}
.vms-apple-page.is-blank{background:linear-gradient(135deg,#fbf2e3,#ead8bd)}
.vms-apple-turn-sheet{position:absolute;top:0;width:50%;height:100%;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;will-change:transform;z-index:1000;transition:transform .78s cubic-bezier(.42,.02,.18,1)}
.vms-apple-turn-sheet.is-forward{left:50%;transform-origin:left center;-webkit-transform-origin:left center;transform:rotateY(0deg);-webkit-transform:rotateY(0deg)}
.vms-apple-turn-sheet.is-forward.is-turning{transform:rotateY(-180deg);-webkit-transform:rotateY(-180deg)}
.vms-apple-turn-sheet.is-backward{left:0;transform-origin:right center;-webkit-transform-origin:right center;transform:rotateY(0deg);-webkit-transform:rotateY(0deg)}
.vms-apple-turn-sheet.is-backward.is-turning{transform:rotateY(180deg);-webkit-transform:rotateY(180deg)}
.vms-apple-face{inset:0!important;left:0!important;width:100%!important;height:100%!important;box-shadow:0 10px 24px rgba(0,0,0,.28)}
.vms-apple-face.is-front{transform:rotateY(0deg) translateZ(.5px);-webkit-transform:rotateY(0deg) translateZ(.5px);border-radius:0 10px 10px 0}
.vms-apple-face.is-back{transform:rotateY(180deg) translateZ(.5px);-webkit-transform:rotateY(180deg) translateZ(.5px);border-radius:10px 0 0 10px}
.vms-apple-stage.is-animating-forward.from-front{transform:translateX(-25%)}
.vms-apple-stage.is-animating-forward.from-front.is-centered{transform:translateX(0)}
.vms-apple-stage.is-animating-forward.to-back{transform:translateX(0)}
.vms-apple-stage.is-animating-forward.to-back.is-centered{transform:translateX(25%)}
.vms-apple-stage.is-animating-backward.from-back{transform:translateX(25%)}
.vms-apple-stage.is-animating-backward.from-back.is-centered{transform:translateX(0)}
.vms-apple-stage.is-animating-backward.to-front{transform:translateX(0)}
.vms-apple-stage.is-animating-backward.to-front.is-centered{transform:translateX(-25%)}
.vms-book-shell.vms-apple-pseudo-fullscreen{position:fixed!important;inset:0!important;z-index:2147483000!important;width:100vw!important;height:100dvh!important;box-sizing:border-box!important;display:grid!important;grid-template-columns:58px minmax(0,1fr) 58px!important;align-items:center!important;gap:8px!important;padding:max(10px,env(safe-area-inset-top)) 8px max(10px,env(safe-area-inset-bottom))!important;background:#111!important;overflow:hidden!important}
.vms-book-shell.vms-apple-pseudo-fullscreen .vms-book{width:min(calc(100vw - 132px),calc((100dvh - 30px)*1.3333333))!important;max-width:none!important;justify-self:center!important}
@media(max-width:700px){
 .vms-apple-clean-engine .vms-book-shell{grid-template-columns:52px minmax(0,1fr) 52px;grid-template-rows:auto 52px}
 .vms-apple-clean-engine .vms-book{grid-column:1/-1;grid-row:1}
 .vms-apple-clean-engine .vms-prev{grid-column:1;grid-row:2;justify-self:end}
 .vms-apple-clean-engine .vms-next{grid-column:3;grid-row:2;justify-self:start}
 .vms-book-shell.vms-apple-pseudo-fullscreen{grid-template-columns:52px minmax(0,1fr) 52px!important;grid-template-rows:auto 52px!important}
 .vms-book-shell.vms-apple-pseudo-fullscreen .vms-book{grid-column:1/-1!important;grid-row:1!important;width:min(98vw,calc((100dvh - 82px)*1.3333333))!important}
}

/* v3.0.1 — iPad cover choreography and overlay first-paint guard. */
.vms-apple-clean-engine .vms-apple-stage{
  transition:transform .48s cubic-bezier(.4,0,.2,1)!important;
}
.vms-apple-clean-engine .vms-apple-turn-sheet{
  transition-duration:.82s!important;
}

/* Safari must never paint an overlay at its unscaled design size. These rules
   intentionally outrank the older global visibility overrides near the end of
   the legacy stylesheet. */
.vms-apple-clean-engine .vms-text-overlay{
  visibility:hidden!important;
  opacity:0!important;
  transition:none!important;
}
.vms-apple-clean-engine .vms-text-overlay.vms-text-ready{
  visibility:visible!important;
  opacity:1!important;
}


/* v3.0.2 — real iPad cover choreography + renderer-owned text sizing. */
.vms-apple-clean-engine .vms-apple-stage{
  transition:transform .34s cubic-bezier(.4,0,.2,1)!important;
}
.vms-apple-clean-engine .vms-apple-turn-sheet{
  transition:transform .82s cubic-bezier(.42,.02,.18,1)!important;
}

/* Front cover: the centered single-page book travels into spread position
   before the hinge rotation starts. */
.vms-apple-stage.is-animating-forward.from-front{transform:translateX(-25%)!important}
.vms-apple-stage.is-animating-forward.from-front.is-sliding-open{transform:translateX(0)!important}

/* Back cover: the final sheet turns, then the complete book travels to the
   centered single-page back-cover position. */
.vms-apple-stage.is-animating-forward.to-back{transform:translateX(0)!important}
.vms-apple-stage.is-animating-forward.to-back.is-sliding-closed{transform:translateX(25%)!important}

/* Exact reverse choreography. */
.vms-apple-stage.is-animating-backward.from-back{transform:translateX(25%)!important}
.vms-apple-stage.is-animating-backward.from-back.is-sliding-open{transform:translateX(0)!important}
.vms-apple-stage.is-animating-backward.to-front{transform:translateX(0)!important}
.vms-apple-stage.is-animating-backward.to-front.is-sliding-closed{transform:translateX(-25%)!important}

/* The Apple renderer owns text measurement. Text stays completely unpainted
   until the final page width, position and font size have all been applied. */
.vms-apple-clean-engine .vms-apple-text-overlay{
  visibility:hidden!important;
  opacity:0!important;
  transition:none!important;
  animation:none!important;
  contain:layout style paint;
}
.vms-apple-clean-engine .vms-apple-text-overlay.vms-text-ready{
  visibility:visible!important;
  opacity:1!important;
}

/* v3.0.4 — iPad cover/back-cover motion matched to reference.
   Slide and rotation run as one coordinated movement. */
.vms-apple-clean-engine .vms-apple-stage{
  transition:transform .78s cubic-bezier(.42,.02,.18,1)!important;
}
.vms-apple-clean-engine .vms-apple-turn-sheet{
  transition:transform .78s cubic-bezier(.42,.02,.18,1)!important;
}
.vms-apple-stage.is-animating-forward.from-front,
.vms-apple-stage.is-animating-backward.to-front.is-sliding-closed{
  transform:translateX(-25%)!important;
}
.vms-apple-stage.is-animating-forward.from-front.is-sliding-open,
.vms-apple-stage.is-animating-backward.from-back.is-sliding-open{
  transform:translateX(0)!important;
}
.vms-apple-stage.is-animating-forward.to-back.is-sliding-closed,
.vms-apple-stage.is-animating-backward.from-back{
  transform:translateX(25%)!important;
}
.vms-apple-stage.is-animating-forward.to-back,
.vms-apple-stage.is-animating-backward.to-front{
  transform:translateX(0)!important;
}


/* v3.0.5 — true two-phase iPad cover choreography.
   The whole closed book slides right first. Only then does the physical cover
   sheet rotate, with page 2 on its reverse face. */
.vms-apple-clean-engine .vms-apple-stage{
  transition:transform .34s cubic-bezier(.4,0,.2,1)!important;
}
.vms-apple-clean-engine .vms-apple-turn-sheet{
  transition:transform .78s cubic-bezier(.42,.02,.18,1)!important;
}
.vms-apple-stage.is-animating-forward.from-front{
  transform:translateX(-25%)!important;
}
.vms-apple-stage.is-animating-forward.from-front.is-sliding-open{
  transform:translateX(0)!important;
}
.vms-apple-stage.is-animating-forward.to-back{
  transform:translateX(0)!important;
}
.vms-apple-stage.is-animating-forward.to-back.is-sliding-closed{
  transform:translateX(25%)!important;
}
.vms-apple-stage.is-animating-backward.from-back{
  transform:translateX(25%)!important;
}
.vms-apple-stage.is-animating-backward.from-back.is-sliding-open{
  transform:translateX(0)!important;
}
.vms-apple-stage.is-animating-backward.to-front{
  transform:translateX(0)!important;
}
.vms-apple-stage.is-animating-backward.to-front.is-sliding-closed{
  transform:translateX(-25%)!important;
}

/* v3.0.6 — iPad overlay containment, page labels, embeds and fullscreen exit */
.vms-apple-clean-engine .vms-apple-page{
  overflow:hidden!important;
  contain:layout paint!important;
  isolation:isolate!important;
}
.vms-apple-clean-engine .vms-apple-page > .vms-text-overlay,
.vms-apple-clean-engine .vms-apple-page > .vms-hotspot,
.vms-apple-clean-engine .vms-apple-page > .vms-page-no{
  position:absolute!important;
}
.vms-apple-clean-engine .vms-apple-text-overlay{
  visibility:hidden;
  opacity:0;
  z-index:20;
  max-width:85%;
  width:max-content;
  white-space:pre-wrap;
  overflow-wrap:break-word;
  transform:translate(-50%,0);
}
.vms-apple-clean-engine .vms-apple-text-overlay.vms-text-ready{
  visibility:visible!important;
  opacity:1!important;
}
.vms-apple-clean-engine .vms-apple-embed-overlay{
  visibility:hidden;
  opacity:0;
  overflow:hidden!important;
  z-index:25;
  transform:translate(-50%,0);
  background:transparent;
}
.vms-apple-clean-engine .vms-apple-embed-overlay.vms-text-ready{
  visibility:visible!important;
  opacity:1!important;
}
.vms-apple-clean-engine .vms-apple-embed-overlay iframe{
  position:absolute!important;
  left:0!important;
  top:0!important;
  max-width:none!important;
  border:0!important;
  background:transparent!important;
  pointer-events:auto!important;
}
.vms-apple-clean-engine .vms-apple-hotspot{z-index:30}
.vms-apple-clean-engine .vms-apple-page-no{
  display:block!important;
  z-index:40!important;
  bottom:8px!important;
  right:10px!important;
}
.vms-book-shell.vms-apple-pseudo-fullscreen .vms-tablet-exit-fullscreen{
  display:inline-flex!important;
  position:absolute!important;
  left:50%!important;
  bottom:max(14px,env(safe-area-inset-bottom))!important;
  transform:translateX(-50%)!important;
  z-index:2147483647!important;
  align-items:center!important;
  justify-content:center!important;
  pointer-events:auto!important;
}


/* v3.0.7 — definitive iPad overlay ownership and fullscreen controls. */
.vms-apple-clean-engine .vms-apple-page{
  overflow:hidden!important;
  clip-path:inset(0 round 10px)!important;
  -webkit-clip-path:inset(0 round 10px)!important;
}
.vms-apple-clean-engine .vms-apple-text-overlay,
.vms-apple-clean-engine .vms-apple-embed-overlay{
  position:absolute!important;
  margin:0!important;
  box-sizing:border-box!important;
  transform:translate(-50%,0)!important;
  -webkit-transform:translate(-50%,0)!important;
}
.vms-apple-clean-engine .vms-apple-text-overlay{
  max-width:88%!important;
  overflow:hidden!important;
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.vms-apple-clean-engine .vms-apple-embed-overlay{
  display:block!important;
  overflow:hidden!important;
  pointer-events:auto!important;
}
.vms-apple-clean-engine .vms-apple-embed-overlay iframe{
  display:block!important;
  margin:0!important;
  border:0!important;
  opacity:1!important;
  visibility:visible!important;
}
.vms-apple-clean-engine .vms-apple-page-no{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:absolute!important;
  left:auto!important;
  top:auto!important;
  right:10px!important;
  bottom:8px!important;
  transform:none!important;
  -webkit-transform:none!important;
  z-index:2147480000!important;
  pointer-events:none!important;
}
.vms-book-shell.vms-apple-pseudo-fullscreen .vms-tablet-exit-fullscreen,
.vms-book-shell.vms-tablet-pseudo-fullscreen .vms-tablet-exit-fullscreen{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  position:fixed!important;
  left:50%!important;
  bottom:max(14px,env(safe-area-inset-bottom))!important;
  transform:translateX(-50%)!important;
  -webkit-transform:translateX(-50%)!important;
  z-index:2147483647!important;
}


/* v3.0.9 — iPad ONLY: working HTML + true full-size layout.
   Scoped with .vms-apple-ipad so iPhone is untouched. */
@media (min-width:701px){
  .vms-apple-ipad .vms-book-shell.vms-apple-pseudo-fullscreen{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    margin:0!important;
    padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))!important;
    display:grid!important;
    grid-template-columns:1fr 58px minmax(140px,180px) 58px 1fr!important;
    grid-template-rows:auto 56px!important;
    column-gap:10px!important;
    row-gap:6px!important;
    align-items:center!important;
    justify-items:center!important;
    align-content:center!important;
    background:#111!important;
    overflow:hidden!important;
  }
  .vms-apple-ipad .vms-book-shell.vms-apple-pseudo-fullscreen .vms-book{
    grid-column:1/-1!important;
    grid-row:1!important;
    width:min(98vw,calc((100dvh - 78px) * 1.3333333))!important;
    max-width:none!important;
    height:auto!important;
    max-height:calc(100dvh - 78px)!important;
    aspect-ratio:4/3!important;
    align-self:end!important;
    justify-self:center!important;
  }
  .vms-apple-ipad .vms-book-shell.vms-apple-pseudo-fullscreen .vms-prev{
    position:static!important;
    grid-column:2!important;
    grid-row:2!important;
    transform:none!important;
    margin:0!important;
    align-self:start!important;
    justify-self:center!important;
  }
  .vms-apple-ipad .vms-book-shell.vms-apple-pseudo-fullscreen .vms-fullscreen{
    display:inline-flex!important;
    position:static!important;
    grid-column:3!important;
    grid-row:2!important;
    transform:none!important;
    margin:0!important;
    min-height:42px!important;
    align-items:center!important;
    justify-content:center!important;
    align-self:start!important;
    justify-self:center!important;
    white-space:nowrap!important;
    z-index:2147483647!important;
  }

  .vms-apple-ipad .vms-book-shell.vms-apple-pseudo-fullscreen .vms-tablet-exit-fullscreen{
    display:none!important;
  }
  .vms-apple-ipad .vms-book-shell.vms-apple-pseudo-fullscreen .vms-next{
    position:static!important;
    grid-column:4!important;
    grid-row:2!important;
    transform:none!important;
    margin:0!important;
    align-self:start!important;
    justify-self:center!important;
  }
}
.vms-apple-ipad .vms-apple-embed-overlay iframe{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  border:0!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  -webkit-overflow-scrolling:touch!important;
}


/* v3.0.19 — iPhone single-page fullscreen by device, not viewport width.
   This intentionally sits outside max-width media queries because Safari can
   report a desktop-style viewport on an actual iPhone. iPad is unaffected. */
.vms-book-shell.vms-iphone-device.vms-mobile-single-fullscreen.vms-ios-pseudo-fullscreen{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  width:100vw!important;
  height:100dvh!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr) 54px!important;
  grid-template-rows:minmax(0,1fr) 56px!important;
  gap:8px!important;
  align-items:center!important;
  justify-items:center!important;
  padding:max(10px,env(safe-area-inset-top)) 8px max(10px,env(safe-area-inset-bottom))!important;
  margin:0!important;
  background:#111!important;
  overflow:hidden!important;
}
.vms-book-shell.vms-iphone-device.vms-mobile-single-fullscreen .vms-book{display:none!important}
.vms-book-shell.vms-iphone-device.vms-mobile-single-fullscreen .vms-single-viewer{
  display:block!important;
  position:relative!important;
  grid-column:1/-1!important;
  grid-row:1!important;
  width:min(92vw,calc((100dvh - 86px) * .6666667))!important;
  height:auto!important;
  max-height:calc(100dvh - 86px)!important;
  aspect-ratio:2/3!important;
  justify-self:center!important;
  align-self:center!important;
  perspective:2200px!important;
  -webkit-perspective:2200px!important;
  transform-style:preserve-3d!important;
  -webkit-transform-style:preserve-3d!important;
  overflow:visible!important;
}
.vms-book-shell.vms-iphone-device.vms-mobile-single-fullscreen .vms-single-page,
.vms-book-shell.vms-iphone-device.vms-mobile-single-fullscreen .vms-single-sheet,
.vms-book-shell.vms-iphone-device.vms-mobile-single-fullscreen .vms-single-face{
  overflow:hidden!important;
  clip-path:inset(0 round 8px)!important;
}
.vms-book-shell.vms-iphone-device.vms-mobile-single-fullscreen .vms-prev{
  display:grid!important;grid-column:1!important;grid-row:2!important;
  justify-self:end!important;align-self:start!important;
}
.vms-book-shell.vms-iphone-device.vms-mobile-single-fullscreen .vms-next{
  display:grid!important;grid-column:3!important;grid-row:2!important;
  justify-self:start!important;align-self:start!important;
}
.vms-book-shell.vms-iphone-device.vms-mobile-single-fullscreen .vms-fs-exit{
  display:block!important;grid-column:2!important;grid-row:2!important;
  justify-self:center!important;align-self:start!important;
  appearance:none!important;border:1px solid rgba(227,203,147,.65)!important;
  background:#fffaf1!important;color:#6f4f21!important;border-radius:22px!important;
  padding:9px 14px!important;font-size:11px!important;white-space:nowrap!important;
}
.vms-book-shell.vms-iphone-device.vms-mobile-single-fullscreen .vms-mobile-counter{display:none!important}

/* v3.0.22 — iPhone regular-view clean sheet engine only. */
.vms-iphone-clean-regular:not(.vms-mobile-single-fullscreen) .vms-persistent-sheet{
  visibility:hidden!important;
  pointer-events:none!important;
}
.vms-iphone-clean-regular .vms-iphone-clean-stage{
  display:block;
  position:absolute;
  inset:0;
  transform-style:preserve-3d;
  -webkit-transform-style:preserve-3d;
  transition:transform .34s ease;
  will-change:transform;
}
.vms-iphone-clean-regular.vms-mobile-single-fullscreen .vms-iphone-clean-stage{
  display:none!important;
}
.vms-iphone-clean-regular .vms-iphone-clean-page{
  overflow:hidden!important;
  -webkit-backface-visibility:hidden!important;
  backface-visibility:hidden!important;
  transform-style:preserve-3d!important;
  -webkit-transform-style:preserve-3d!important;
}
.vms-iphone-clean-regular .vms-iphone-clean-page > .vms-page-art{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
}
.vms-iphone-clean-regular .vms-apple-turn-sheet{
  -webkit-backface-visibility:hidden!important;
  backface-visibility:hidden!important;
}


/* v3.0.23 — regular iPhone overlay lifecycle. Interactive HTML, forms,
   text and hotspots are never mounted inside the temporary physical turn. */
.vms-iphone-clean-regular .vms-apple-stage[class*="is-animating-"] .vms-text-overlay,
.vms-iphone-clean-regular .vms-apple-stage[class*="is-animating-"] .vms-hotspot,
.vms-iphone-clean-regular .vms-apple-stage[class*="is-animating-"] iframe{
  display:none!important;
  pointer-events:none!important;
}


/* v3.0.27 — regular iPhone centering on the actual live renderer wrapper.
   The inner stage keeps all of its existing cover/spread animation transforms. */
.vms-iphone-clean-regular:not(.vms-mobile-single-fullscreen) .vms-iphone-clean-offset{
  position:absolute!important;
  inset:0!important;
  transform:translateX(18px)!important;
  -webkit-transform:translateX(18px)!important;
  transform-style:preserve-3d!important;
  -webkit-transform-style:preserve-3d!important;
  pointer-events:none!important;
}
.vms-iphone-clean-regular:not(.vms-mobile-single-fullscreen) .vms-iphone-clean-offset .vms-iphone-clean-stage{
  pointer-events:auto!important;
}
.vms-iphone-clean-regular.vms-mobile-single-fullscreen .vms-iphone-clean-offset{
  display:none!important;
}


/* v3.0.29 — fixed regular-iPhone positioning.
   Closed covers are centered. The open book moves right once and remains
   locked there for every interior turn, so the spread does not sway left/right. */
.vms-iphone-clean-regular:not(.vms-mobile-single-fullscreen) .vms-page-stack,
.vms-iphone-clean-regular:not(.vms-mobile-single-fullscreen) .vms-iphone-clean-offset{
  transform:none!important;
  -webkit-transform:none!important;
}

/* Closed front and back covers: centered single-page positions. */
.vms-iphone-clean-regular:not(.vms-mobile-single-fullscreen) .vms-iphone-clean-stage.is-front-closed{
  transform:translateX(-25%)!important;
  -webkit-transform:translateX(-25%)!important;
}
.vms-iphone-clean-regular:not(.vms-mobile-single-fullscreen) .vms-iphone-clean-stage.is-back-closed{
  transform:translateX(25%)!important;
  -webkit-transform:translateX(25%)!important;
}

/* One fixed open-book position. */
.vms-iphone-clean-regular:not(.vms-mobile-single-fullscreen) .vms-iphone-clean-stage.is-open,
.vms-iphone-clean-regular:not(.vms-mobile-single-fullscreen) .vms-iphone-clean-stage.is-animating-forward:not(.from-front):not(.to-back),
.vms-iphone-clean-regular:not(.vms-mobile-single-fullscreen) .vms-iphone-clean-stage.is-animating-backward:not(.from-back):not(.to-front),
.vms-iphone-clean-regular:not(.vms-mobile-single-fullscreen) .vms-iphone-clean-stage.is-animating-forward.to-back,
.vms-iphone-clean-regular:not(.vms-mobile-single-fullscreen) .vms-iphone-clean-stage.is-animating-backward.to-front{
  transform:translateX(46px)!important;
  -webkit-transform:translateX(46px)!important;
}

/* Front cover opening: center first, then slide right and stay there. */
.vms-iphone-clean-regular:not(.vms-mobile-single-fullscreen) .vms-iphone-clean-stage.is-animating-forward.from-front{
  transform:translateX(-25%)!important;
  -webkit-transform:translateX(-25%)!important;
}
.vms-iphone-clean-regular:not(.vms-mobile-single-fullscreen) .vms-iphone-clean-stage.is-animating-forward.from-front.is-sliding-open{
  transform:translateX(46px)!important;
  -webkit-transform:translateX(46px)!important;
}

/* Back cover reverse choreography. */
.vms-iphone-clean-regular:not(.vms-mobile-single-fullscreen) .vms-iphone-clean-stage.is-animating-forward.to-back.is-sliding-closed,
.vms-iphone-clean-regular:not(.vms-mobile-single-fullscreen) .vms-iphone-clean-stage.is-animating-backward.from-back{
  transform:translateX(25%)!important;
  -webkit-transform:translateX(25%)!important;
}
.vms-iphone-clean-regular:not(.vms-mobile-single-fullscreen) .vms-iphone-clean-stage.is-animating-backward.from-back.is-sliding-open{
  transform:translateX(46px)!important;
  -webkit-transform:translateX(46px)!important;
}
.vms-iphone-clean-regular:not(.vms-mobile-single-fullscreen) .vms-iphone-clean-stage.is-animating-backward.to-front.is-sliding-closed{
  transform:translateX(-25%)!important;
  -webkit-transform:translateX(-25%)!important;
}
