/* ============================================
   The Feeling — Letter Page System (Milestone 3)
   ============================================
   The paper becomes a keepsake book: each authored
   section is ONE long physical sheet of stationery.
   The sheet slides inside the paper window (vertical
   scroll lives in the sheet only — never the
   browser), and calm horizontal glides move between
   the sheets.

   The words live in content/letter.js — edit
   that file only. Layout lives here.

   - Generous margins, comfortable reading measure
   - Luxury stationery typography
   - Understated page-dot indicator
   - Quiet navigation arrows (desktop only)
   - One unified printed border around every sheet
   ============================================ */

/* During reading the paper is a sheet resting in the viewport, and each
   page is a LONG sheet of the same paper sliding inside it — the reader
   scrolls vertically INSIDE the sheet (momentum on touch, wheel on
   desktop) and swipes horizontally between sheets. The browser itself
   never becomes the scroll container. touch-action stays pan-y so the
   browser never hijacks horizontal swipes. */
.paper--reading {
  touch-action: pan-y;
  overscroll-behavior: contain;
}

/* The book — the paper window is an invisible viewport: it only clips
   the sheet so it cannot spill past the screen. The paper's identity
   (material, rounded corners, shadow, edge, border, folio) lives on the
   sheet itself, so the whole object scrolls together as one physical
   sheet — never a frame with words sliding behind it. */
.paper__pages {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  overscroll-behavior: contain;
  pointer-events: auto;
}

/* One long physical sheet. The page itself is the scroll container:
   overflow lives here (never the browser), the scrollbar is hidden so
   the sheet simply moves beneath the reader's hand, and overscroll is
   contained so the browser never takes over. */
.paper__page {
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateX(9%);
  pointer-events: none;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch; /* legacy iOS momentum */
  scrollbar-width: none;
}

.paper__page::-webkit-scrollbar {
  display: none;
}

.paper__page--active {
  z-index: 1;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  /* Only the page actually gliding deserves a compositor layer */
  will-change: transform, opacity;
}

/* The long sheet IS the paper — the same premium cotton material as the
   envelope-phase letter (--paper-material, experience.css), now carrying
   the whole physical identity: rounded corners, the precision-cut
   border, the cardstock edge and the resting shadow. Every one of them
   scrolls with the sheet, so the border, corners, texture, fibres,
   vines and folio move together as one handcrafted object. */
.paper__page-sheet {
  position: relative;
  width: 100%;
  min-height: 100%;
  background: var(--paper-material);
  border-radius: 6px;
  border: 1px solid rgba(206, 186, 152, 0.3);
  box-shadow:
    1px 2.5px 0 0 rgba(214, 196, 162, 0.5),
    0 2px 5px rgba(70, 45, 20, 0.18),
    0 16px 40px rgba(70, 45, 20, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    inset 0 -1px 0 rgba(180, 150, 105, 0.15),
    inset 0 0 120px rgba(180, 150, 105, 0.06);
}

/* Reading column — the printable area of the long sheet, set like an
   expensive printed page: generous margins all round (the opening
   screen breathes — border, whitespace, title, then the story), a
   comfortable reading measure, and the column always centred. */
.paper__page-inner {
  position: relative; /* paints above the printed border (z-0) */
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  width: 100%;
  max-width: 36em;
  margin: 0 auto;
  padding: clamp(3.2rem, 9vw, 6.5rem) clamp(1.6rem, 6vw, 4.5rem) clamp(3rem, 8vw, 6rem);
}

/* --------------------------------------------------
   Book-page frame — a quiet double rule around the
   reading column, like the printed rules of a luxury
   keepsake: an outer sage line and an inner lavender
   line (the purple thread, Milestone 4.1). The frame
   belongs to the sheet — it scrolls with the paper —
   and lives well inside the reading margins, so it
   never touches the words. A breath of soft lavender
   light behind the text adds warmth without colour.
   -------------------------------------------------- */

.paper__page-inner::before,
.paper__page-inner::after {
  content: '';
  position: absolute;
  z-index: -1; /* behind the words, above the printed border */
  pointer-events: none;
}

.paper__page-inner::before {
  inset: clamp(0.55rem, 2vw, 1.3rem);
  border: 1px solid rgba(151, 163, 133, 0.5);
  background:
    radial-gradient(130% 70% at 50% -8%, rgba(214, 204, 232, 0.15), transparent 68%);
}

.paper__page-inner::after {
  inset: calc(clamp(0.55rem, 2vw, 1.3rem) + 4px);
  border: 1px solid rgba(156, 141, 184, 0.38);
}

/* --------------------------------------------------
   Printed folio — a tiny lavender page number at the
   top of each sheet, in the same italic hand as the
   title. The quiet purple accent that runs through
   the whole reading (Milestone 4.1).
   -------------------------------------------------- */

.paper__pages {
  counter-reset: letter-page;
}

.paper__page {
  counter-increment: letter-page;
}

.paper__page--active .paper__page-sheet::after {
  content: counter(letter-page);
  position: absolute;
  top: clamp(1.2rem, 3vw, 2rem);
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-size: clamp(0.8rem, 1.7vw, 1.05rem);
  letter-spacing: 0.18em;
  color: #8A7CA6;
  opacity: 0.55;
  pointer-events: none;
}

/* --------------------------------------------------
   Typography — luxury stationery
   -------------------------------------------------- */

.paper__page-title {
  font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(1.9rem, 6.5vw, 3.6rem);
  line-height: 1.15;
  letter-spacing: 0.01em;
  color: #33281C;
  text-align: center;
}

.paper__page-subtitle {
  font-family: 'Inter', -apple-system, sans-serif;
  font-size: clamp(0.75rem, 1.6vw, 0.9rem);
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #9C9288;
  text-align: center;
  margin-top: 1.1rem;
}

.paper__page-heading {
  font-family: 'Inter', -apple-system, sans-serif;
  font-size: clamp(0.68rem, 1.4vw, 0.85rem);
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #8B7355;
  text-align: center;
  margin-top: 1.6rem;
  margin-bottom: 2rem;
}

/* Ornamental rule — same quiet divider as the cover */
.paper__page-rule {
  width: clamp(4rem, 30%, 6.5rem);
  color: #C4A882;
  opacity: 0.6;
  margin: 1.5rem auto 2.4rem;
}

.paper__page-rule svg {
  display: block;
  width: 100%;
  height: auto;
}

.paper__page-body {
  font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  font-size: clamp(1.05rem, 2.1vw, 1.3rem);
  line-height: 1.9;
  color: #3A3329;
  text-align: left;
  font-feature-settings: 'liga', 'kern';
}

/* The {{PLACEHOLDER}} draft notes — clearly mutable, never loud.
   Tinted toward lavender so the purple thread runs even through the
   quiet notes (Milestone 4.1). */
.paper__page-token {
  font-family: 'Inter', -apple-system, sans-serif;
  font-size: clamp(0.72rem, 1.4vw, 0.84rem);
  letter-spacing: 0.05em;
  color: #A79AC2;
  margin-bottom: 1.8em;
}

.paper__page-token + .paper__page-paragraph {
  margin-top: 1.8em;
}

.paper__page-paragraph + .paper__page-paragraph {
  margin-top: 1.4em;
}

/* Drop cap — the first paragraph opens like a printed keepsake */
.paper__page-paragraph--lead::first-letter {
  font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-weight: 500;
  float: left;
  font-size: 3.1em;
  line-height: 0.85;
  padding: 0.06em 0.18em 0 0;
  color: #8B7355;
}

.paper__page-foot {
  font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-size: clamp(1rem, 2vw, 1.25rem);
  color: #6B5D4B;
  text-align: center;
  margin-top: 3.4rem;
}

.paper__page-foot::before {
  content: '';
  display: block;
  width: 3rem;
  height: 1px;
  background: rgba(139, 115, 85, 0.4);
  margin: 0 auto 1.2rem;
}

/* --------------------------------------------------
   Page indicator — understated dots
   -------------------------------------------------- */

.paper__indicator {
  position: absolute;
  /* Below the sheet, in the paper's margin — a control, not part of
     the document, so it never floats over the reading surface. It
     floats in the gutter when the gutter is roomy, and tucks inside
     it on very short screens so the dots are never clipped. */
  bottom: max(-0.5rem, calc(-1 * clamp(12px, 3.5vh, 76px) + 0.5rem));
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  display: flex;
  gap: 0.55rem;
  opacity: 0;
  transition: opacity 0.8s ease;
  pointer-events: none;
}

.paper__indicator--visible {
  opacity: 1;
}

.paper__indicator-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: transparent;
  border: 1px solid rgba(139, 115, 85, 0.45);
  transition: background 0.5s ease, border-color 0.5s ease, transform 0.5s ease;
}

.paper__indicator-dot--active {
  background: #9C8DB8;
  border-color: #9C8DB8;
  transform: scale(1.15);
}

/* --------------------------------------------------
   Navigation arrows — quiet, desktop only
   -------------------------------------------------- */

.paper__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  border: 1px solid rgba(139, 115, 85, 0.3);
  background: rgba(246, 238, 220, 0.78);
  color: #8B7355;
  cursor: pointer;
  opacity: 0.85;
  /* .paper--final sets pointer-events:none on the paper — re-enable here
     or the desktop arrows could never be clicked */
  pointer-events: auto;
  transition: opacity 0.5s ease, background 0.4s ease, border-color 0.4s ease;
}

.paper__nav svg {
  display: block;
  width: 1.15rem;
  height: 1.15rem;
}

.paper__nav--prev {
  /* Straddle the sheet's edge — outside the paper, in its margin */
  left: -1.6rem;
}

.paper__nav--next {
  right: -1.6rem;
}

.paper__nav:hover {
  background: rgba(196, 168, 130, 0.18);
  border-color: rgba(139, 115, 85, 0.5);
}

.paper__nav--hidden {
  opacity: 0;
  pointer-events: none;
}

.paper__nav:focus-visible {
  outline: 2px solid #8B7355;
  outline-offset: 2px;
}

/* Touch devices swipe — arrows would only add clutter */
@media (hover: none) {
  .paper__nav {
    display: none;
  }
}

/* --------------------------------------------------
   Printed border — one unified decorative frame
   around every sheet (Milestone 4.2). Pure CSS/SVG:
   two corner flourishes (full + light, placed to
   break symmetry) and faint vine runs along the four
   edges, printed into the paper. The reading column
   is untouched — the artwork lives only in the outer
   margin band and fades before the text begins.
   -------------------------------------------------- */

.paper__page-sheet::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  /* Printed, not pasted: softly veiled but clearly present — the
     flowers and vines should read on a phone screen, never disappear */
  opacity: 0.95;
  filter: saturate(0.9);
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 170 170'><defs><linearGradient id='c' gradientUnits='userSpaceOnUse' x1='0' y1='0' x2='170' y2='170'><stop offset='0' stop-color='%23fff'/><stop offset='.55' stop-color='%23fff'/><stop offset='1' stop-color='%23fff' stop-opacity='0'/></linearGradient><radialGradient id='w' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='150'><stop offset='0' stop-color='%23EFE9DA' stop-opacity='.5'/><stop offset='.6' stop-color='%23C9BFD8' stop-opacity='.16'/><stop offset='1' stop-color='%23C9BFD8' stop-opacity='0'/></radialGradient><mask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='170' height='170'><rect width='170' height='170' fill='url(%23c)'/></mask></defs><g mask='url(%23m)'><circle cx='0' cy='0' r='150' fill='url(%23w)'/><g fill='none'><path d='M14 156 C 52 128 88 94 128 26' stroke='%2397A385' stroke-width='1.2' stroke-linecap='round' opacity='.6'/><path d='M156 14 C 128 52 94 88 26 128' stroke='%2397A385' stroke-width='1.2' stroke-linecap='round' opacity='.6'/></g><g fill='%239AA88B' opacity='.55'><ellipse cx='34' cy='120' rx='4' ry='2' transform='rotate(-38 34 120)'/><ellipse cx='58' cy='104' rx='3.6' ry='1.9' transform='rotate(28 58 104)'/><ellipse cx='88' cy='74' rx='3.4' ry='1.8' transform='rotate(-32 88 74)'/><ellipse cx='112' cy='48' rx='3' ry='1.6' transform='rotate(24 112 48)'/><ellipse cx='120' cy='34' rx='3' ry='1.6' transform='rotate(-20 120 34)'/><ellipse cx='104' cy='58' rx='3.2' ry='1.7' transform='rotate(30 104 58)'/><ellipse cx='74' cy='88' rx='3.4' ry='1.8' transform='rotate(-26 74 88)'/><ellipse cx='48' cy='112' rx='3.6' ry='1.9' transform='rotate(22 48 112)'/></g><g fill='%23EDE6D6' stroke='%23CDC4AF' stroke-width='.4' opacity='.8'><ellipse cx='82' cy='70' rx='7' ry='12' transform='rotate(30 82 70)'/><ellipse cx='82' cy='94' rx='7' ry='12' transform='rotate(-30 82 94)'/><ellipse cx='68' cy='82' rx='7' ry='12' transform='rotate(60 68 82)'/><ellipse cx='96' cy='82' rx='7' ry='12' transform='rotate(-60 96 82)'/><ellipse cx='82' cy='82' rx='6' ry='9'/></g><circle cx='82' cy='82' r='4.5' fill='%239C8DB8' opacity='.6'/><g fill='%239C8DB8' opacity='.5'><circle cx='128' cy='40' r='1.8'/><circle cx='132' cy='32' r='1.6'/><circle cx='138' cy='42' r='1.6'/><circle cx='40' cy='128' r='1.8'/><circle cx='32' cy='132' r='1.6'/><circle cx='42' cy='138' r='1.6'/></g></g></svg>"),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 170 170'><defs><linearGradient id='c' gradientUnits='userSpaceOnUse' x1='0' y1='0' x2='170' y2='170'><stop offset='0' stop-color='%23fff'/><stop offset='.6' stop-color='%23fff'/><stop offset='1' stop-color='%23fff' stop-opacity='0'/></linearGradient><radialGradient id='w' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='140'><stop offset='0' stop-color='%23EFE9DA' stop-opacity='.4'/><stop offset='1' stop-color='%23EFE9DA' stop-opacity='0'/></radialGradient><mask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='170' height='170'><rect width='170' height='170' fill='url(%23c)'/></mask></defs><g mask='url(%23m)'><circle cx='0' cy='0' r='140' fill='url(%23w)'/><path d='M14 154 C 52 126 92 96 128 40' stroke='%2397A385' stroke-width='1' stroke-linecap='round' opacity='.5' fill='none'/><g fill='%239AA88B' opacity='.45'><ellipse cx='36' cy='116' rx='3.4' ry='1.8' transform='rotate(-32 36 116)'/><ellipse cx='68' cy='88' rx='3.2' ry='1.7' transform='rotate(26 68 88)'/><ellipse cx='98' cy='60' rx='3' ry='1.6' transform='rotate(-24 98 60)'/><ellipse cx='116' cy='46' rx='2.8' ry='1.5' transform='rotate(20 116 46)'/></g><g fill='%239C8DB8' opacity='.5'><circle cx='104' cy='52' r='1.7'/><circle cx='108' cy='44' r='1.5'/><circle cx='114' cy='54' r='1.5'/><circle cx='52' cy='104' r='1.6'/><circle cx='44' cy='108' r='1.5'/></g></g></svg>"),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 170 170'><defs><linearGradient id='c' gradientUnits='userSpaceOnUse' x1='0' y1='0' x2='170' y2='170'><stop offset='0' stop-color='%23fff'/><stop offset='.55' stop-color='%23fff'/><stop offset='1' stop-color='%23fff' stop-opacity='0'/></linearGradient><radialGradient id='w' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='150'><stop offset='0' stop-color='%23EFE9DA' stop-opacity='.5'/><stop offset='.6' stop-color='%23C9BFD8' stop-opacity='.16'/><stop offset='1' stop-color='%23C9BFD8' stop-opacity='0'/></radialGradient><mask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='170' height='170'><rect width='170' height='170' fill='url(%23c)'/></mask></defs><g mask='url(%23m)'><circle cx='0' cy='0' r='150' fill='url(%23w)'/><g fill='none'><path d='M14 156 C 52 128 88 94 128 26' stroke='%2397A385' stroke-width='1.2' stroke-linecap='round' opacity='.6'/><path d='M156 14 C 128 52 94 88 26 128' stroke='%2397A385' stroke-width='1.2' stroke-linecap='round' opacity='.6'/></g><g fill='%239AA88B' opacity='.55'><ellipse cx='34' cy='120' rx='4' ry='2' transform='rotate(-38 34 120)'/><ellipse cx='58' cy='104' rx='3.6' ry='1.9' transform='rotate(28 58 104)'/><ellipse cx='88' cy='74' rx='3.4' ry='1.8' transform='rotate(-32 88 74)'/><ellipse cx='112' cy='48' rx='3' ry='1.6' transform='rotate(24 112 48)'/><ellipse cx='120' cy='34' rx='3' ry='1.6' transform='rotate(-20 120 34)'/><ellipse cx='104' cy='58' rx='3.2' ry='1.7' transform='rotate(30 104 58)'/><ellipse cx='74' cy='88' rx='3.4' ry='1.8' transform='rotate(-26 74 88)'/><ellipse cx='48' cy='112' rx='3.6' ry='1.9' transform='rotate(22 48 112)'/></g><g fill='%23EDE6D6' stroke='%23CDC4AF' stroke-width='.4' opacity='.8'><ellipse cx='82' cy='70' rx='7' ry='12' transform='rotate(30 82 70)'/><ellipse cx='82' cy='94' rx='7' ry='12' transform='rotate(-30 82 94)'/><ellipse cx='68' cy='82' rx='7' ry='12' transform='rotate(60 68 82)'/><ellipse cx='96' cy='82' rx='7' ry='12' transform='rotate(-60 96 82)'/><ellipse cx='82' cy='82' rx='6' ry='9'/></g><circle cx='82' cy='82' r='4.5' fill='%239C8DB8' opacity='.6'/><g fill='%239C8DB8' opacity='.5'><circle cx='128' cy='40' r='1.8'/><circle cx='132' cy='32' r='1.6'/><circle cx='138' cy='42' r='1.6'/><circle cx='40' cy='128' r='1.8'/><circle cx='32' cy='132' r='1.6'/><circle cx='42' cy='138' r='1.6'/></g></g></svg>"),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 170 170'><defs><linearGradient id='c' gradientUnits='userSpaceOnUse' x1='0' y1='0' x2='170' y2='170'><stop offset='0' stop-color='%23fff'/><stop offset='.6' stop-color='%23fff'/><stop offset='1' stop-color='%23fff' stop-opacity='0'/></linearGradient><radialGradient id='w' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='140'><stop offset='0' stop-color='%23EFE9DA' stop-opacity='.4'/><stop offset='1' stop-color='%23EFE9DA' stop-opacity='0'/></radialGradient><mask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='170' height='170'><rect width='170' height='170' fill='url(%23c)'/></mask></defs><g mask='url(%23m)'><circle cx='0' cy='0' r='140' fill='url(%23w)'/><path d='M14 154 C 52 126 92 96 128 40' stroke='%2397A385' stroke-width='1' stroke-linecap='round' opacity='.5' fill='none'/><g fill='%239AA88B' opacity='.45'><ellipse cx='36' cy='116' rx='3.4' ry='1.8' transform='rotate(-32 36 116)'/><ellipse cx='68' cy='88' rx='3.2' ry='1.7' transform='rotate(26 68 88)'/><ellipse cx='98' cy='60' rx='3' ry='1.6' transform='rotate(-24 98 60)'/><ellipse cx='116' cy='46' rx='2.8' ry='1.5' transform='rotate(20 116 46)'/></g><g fill='%239C8DB8' opacity='.5'><circle cx='104' cy='52' r='1.7'/><circle cx='108' cy='44' r='1.5'/><circle cx='114' cy='54' r='1.5'/><circle cx='52' cy='104' r='1.6'/><circle cx='44' cy='108' r='1.5'/></g></g></svg>"),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 72'><defs><linearGradient id='a' x1='0' y1='0' x2='0' y2='1'><stop offset='0' stop-color='%23fff'/><stop offset='.58' stop-color='%23fff'/><stop offset='1' stop-color='%23fff' stop-opacity='0'/></linearGradient><linearGradient id='b' x1='0' y1='0' x2='1' y2='0'><stop offset='0' stop-color='%23fff' stop-opacity='0'/><stop offset='.12' stop-color='%23fff'/><stop offset='.88' stop-color='%23fff'/><stop offset='1' stop-color='%23fff' stop-opacity='0'/></linearGradient><mask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='200' height='72'><rect width='200' height='72' fill='url(%23a)'/><rect width='200' height='72' fill='url(%23b)'/></mask></defs><g mask='url(%23m)' fill='none'><path d='M6 16 C 24 8 44 22 64 14' stroke='%2397A385' stroke-width='1.1' stroke-linecap='round' opacity='.55'/><path d='M108 12 C 126 6 146 20 164 12' stroke='%2397A385' stroke-width='1.1' stroke-linecap='round' opacity='.55'/><path d='M182 14 C 190 10 196 16 196 18' stroke='%2397A385' stroke-width='1' stroke-linecap='round' opacity='.5'/><path d='M22 36 C 42 30 60 42 78 34' stroke='%2397A385' stroke-width='.7' stroke-linecap='round' opacity='.4'/><path d='M122 34 C 140 28 158 40 174 32' stroke='%2397A385' stroke-width='.7' stroke-linecap='round' opacity='.4'/></g><g mask='url(%23m)' fill='%239AA88B' opacity='.5'><ellipse cx='18' cy='18' rx='3' ry='1.6' transform='rotate(-18 18 18)'/><ellipse cx='40' cy='20' rx='2.8' ry='1.5' transform='rotate(14 40 20)'/><ellipse cx='56' cy='12' rx='2.6' ry='1.4' transform='rotate(-24 56 12)'/><ellipse cx='112' cy='14' rx='2.8' ry='1.5' transform='rotate(20 112 14)'/><ellipse cx='134' cy='18' rx='2.8' ry='1.5' transform='rotate(-14 134 18)'/><ellipse cx='152' cy='10' rx='2.4' ry='1.3' transform='rotate(26 152 10)'/><ellipse cx='30' cy='34' rx='2.4' ry='1.3' transform='rotate(-22 30 34)'/><ellipse cx='50' cy='38' rx='2.4' ry='1.3' transform='rotate(16 50 38)'/><ellipse cx='132' cy='32' rx='2.4' ry='1.3' transform='rotate(-18 132 32)'/><ellipse cx='152' cy='36' rx='2.4' ry='1.3' transform='rotate(20 152 36)'/><ellipse cx='184' cy='16' rx='2.4' ry='1.3' transform='rotate(10 184 16)'/></g><g mask='url(%23m)' fill='%239C8DB8' opacity='.55'><circle cx='58' cy='24' r='1.4'/><circle cx='62' cy='20' r='1.3'/><circle cx='66' cy='25' r='1.3'/><circle cx='158' cy='22' r='1.4'/><circle cx='162' cy='18' r='1.3'/><circle cx='166' cy='23' r='1.3'/><circle cx='26' cy='44' r='1.2'/><circle cx='30' cy='42' r='1.1'/></g><g mask='url(%23m)' fill='%23EDE6D6' stroke='%23C9C0AC' stroke-width='.4' opacity='.5'><ellipse cx='84' cy='14' rx='2.6' ry='1.5' transform='rotate(30 84 14)'/><ellipse cx='86' cy='17' rx='2.6' ry='1.5' transform='rotate(-30 86 17)'/><ellipse cx='82' cy='17' rx='2.6' ry='1.5'/></g></svg>"),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 72'><defs><linearGradient id='a' x1='0' y1='0' x2='0' y2='1'><stop offset='0' stop-color='%23fff' stop-opacity='0'/><stop offset='.42' stop-color='%23fff'/><stop offset='1' stop-color='%23fff'/></linearGradient><linearGradient id='b' x1='0' y1='0' x2='1' y2='0'><stop offset='0' stop-color='%23fff' stop-opacity='0'/><stop offset='.12' stop-color='%23fff'/><stop offset='.88' stop-color='%23fff'/><stop offset='1' stop-color='%23fff' stop-opacity='0'/></linearGradient><mask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='200' height='72'><rect width='200' height='72' fill='url(%23a)'/><rect width='200' height='72' fill='url(%23b)'/></mask></defs><g mask='url(%23m)' fill='none'><path d='M8 56 C 26 64 46 50 64 58' stroke='%2397A385' stroke-width='1.1' stroke-linecap='round' opacity='.55'/><path d='M112 56 C 130 64 150 50 168 58' stroke='%2397A385' stroke-width='1.1' stroke-linecap='round' opacity='.55'/><path d='M184 57 C 190 58 194 56 194 54' stroke='%2397A385' stroke-width='1' stroke-linecap='round' opacity='.5'/><path d='M22 38 C 42 44 60 32 78 40' stroke='%2397A385' stroke-width='.7' stroke-linecap='round' opacity='.4'/><path d='M122 40 C 140 46 158 34 174 40' stroke='%2397A385' stroke-width='.7' stroke-linecap='round' opacity='.4'/></g><g mask='url(%23m)' fill='%239AA88B' opacity='.5'><ellipse cx='20' cy='54' rx='3' ry='1.6' transform='rotate(-20 20 54)'/><ellipse cx='42' cy='52' rx='2.8' ry='1.5' transform='rotate(14 42 52)'/><ellipse cx='58' cy='58' rx='2.6' ry='1.4' transform='rotate(-24 58 58)'/><ellipse cx='126' cy='54' rx='2.8' ry='1.5' transform='rotate(20 126 54)'/><ellipse cx='148' cy='52' rx='2.8' ry='1.5' transform='rotate(-14 148 52)'/><ellipse cx='164' cy='58' rx='2.4' ry='1.3' transform='rotate(26 164 58)'/><ellipse cx='30' cy='40' rx='2.4' ry='1.3' transform='rotate(-22 30 40)'/><ellipse cx='50' cy='36' rx='2.4' ry='1.3' transform='rotate(16 50 36)'/><ellipse cx='132' cy='42' rx='2.4' ry='1.3' transform='rotate(-18 132 42)'/><ellipse cx='152' cy='38' rx='2.4' ry='1.3' transform='rotate(20 152 38)'/></g><g mask='url(%23m)' fill='%239C8DB8' opacity='.55'><circle cx='60' cy='48' r='1.4'/><circle cx='64' cy='52' r='1.3'/><circle cx='68' cy='47' r='1.3'/><circle cx='166' cy='50' r='1.4'/><circle cx='170' cy='54' r='1.3'/><circle cx='36' cy='32' r='1.2'/><circle cx='40' cy='30' r='1.1'/></g><g mask='url(%23m)' fill='%23EDE6D6' stroke='%23C9C0AC' stroke-width='.4' opacity='.5'><ellipse cx='92' cy='58' rx='2.6' ry='1.5' transform='rotate(30 92 58)'/><ellipse cx='94' cy='61' rx='2.6' ry='1.5' transform='rotate(-30 94 61)'/><ellipse cx='90' cy='61' rx='2.6' ry='1.5'/></g></svg>"),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 200'><defs><linearGradient id='a' x1='0' y1='0' x2='1' y2='0'><stop offset='0' stop-color='%23fff'/><stop offset='.58' stop-color='%23fff'/><stop offset='1' stop-color='%23fff' stop-opacity='0'/></linearGradient><linearGradient id='b' x1='0' y1='0' x2='0' y2='1'><stop offset='0' stop-color='%23fff' stop-opacity='0'/><stop offset='.08' stop-color='%23fff'/><stop offset='.92' stop-color='%23fff'/><stop offset='1' stop-color='%23fff' stop-opacity='0'/></linearGradient><mask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='48' height='200'><rect width='48' height='200' fill='url(%23a)'/><rect width='48' height='200' fill='url(%23b)'/></mask></defs><g mask='url(%23m)' fill='none'><path d='M14 10 C 8 28 20 48 12 68' stroke='%2397A385' stroke-width='1.1' stroke-linecap='round' opacity='.55'/><path d='M12 112 C 6 132 18 152 10 172' stroke='%2397A385' stroke-width='1.1' stroke-linecap='round' opacity='.55'/><path d='M10 186 C 8 192 12 196 14 196' stroke='%2397A385' stroke-width='1' stroke-linecap='round' opacity='.5'/><path d='M32 32 C 38 50 28 70 36 90' stroke='%2397A385' stroke-width='.7' stroke-linecap='round' opacity='.4'/><path d='M36 130 C 42 148 32 168 38 188' stroke='%2397A385' stroke-width='.7' stroke-linecap='round' opacity='.4'/></g><g mask='url(%23m)' fill='%239AA88B' opacity='.5'><ellipse cx='16' cy='28' rx='1.6' ry='3' transform='rotate(-18 16 28)'/><ellipse cx='10' cy='44' rx='1.5' ry='2.8' transform='rotate(14 10 44)'/><ellipse cx='14' cy='58' rx='1.4' ry='2.6' transform='rotate(-24 14 58)'/><ellipse cx='14' cy='122' rx='1.5' ry='2.8' transform='rotate(20 14 122)'/><ellipse cx='8' cy='140' rx='1.5' ry='2.8' transform='rotate(-14 8 140)'/><ellipse cx='12' cy='154' rx='1.3' ry='2.4' transform='rotate(26 12 154)'/><ellipse cx='34' cy='42' rx='1.3' ry='2.4' transform='rotate(-20 34 42)'/><ellipse cx='38' cy='62' rx='1.3' ry='2.4' transform='rotate(16 38 62)'/><ellipse cx='36' cy='140' rx='1.3' ry='2.4' transform='rotate(-18 36 140)'/></g><g mask='url(%23m)' fill='%239C8DB8' opacity='.55'><circle cx='18' cy='60' r='1.4'/><circle cx='14' cy='64' r='1.3'/><circle cx='19' cy='68' r='1.3'/><circle cx='16' cy='158' r='1.4'/><circle cx='12' cy='162' r='1.3'/></g><g mask='url(%23m)' fill='%23EDE6D6' stroke='%23C9C0AC' stroke-width='.4' opacity='.5'><ellipse cx='16' cy='90' rx='1.5' ry='2.6' transform='rotate(30 16 90)'/><ellipse cx='19' cy='92' rx='1.5' ry='2.6' transform='rotate(-30 19 92)'/><ellipse cx='15' cy='94' rx='1.5' ry='2.6'/></g></svg>"),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 200'><defs><linearGradient id='a' x1='0' y1='0' x2='1' y2='0'><stop offset='0' stop-color='%23fff' stop-opacity='0'/><stop offset='.42' stop-color='%23fff'/><stop offset='1' stop-color='%23fff'/></linearGradient><linearGradient id='b' x1='0' y1='0' x2='0' y2='1'><stop offset='0' stop-color='%23fff' stop-opacity='0'/><stop offset='.08' stop-color='%23fff'/><stop offset='.92' stop-color='%23fff'/><stop offset='1' stop-color='%23fff' stop-opacity='0'/></linearGradient><mask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='48' height='200'><rect width='48' height='200' fill='url(%23a)'/><rect width='48' height='200' fill='url(%23b)'/></mask></defs><g mask='url(%23m)' fill='none'><path d='M34 10 C 40 28 28 48 36 68' stroke='%2397A385' stroke-width='1.1' stroke-linecap='round' opacity='.55'/><path d='M36 112 C 42 132 30 152 38 172' stroke='%2397A385' stroke-width='1.1' stroke-linecap='round' opacity='.55'/><path d='M38 186 C 40 192 36 196 34 196' stroke='%2397A385' stroke-width='1' stroke-linecap='round' opacity='.5'/><path d='M16 32 C 10 50 20 70 12 90' stroke='%2397A385' stroke-width='.7' stroke-linecap='round' opacity='.4'/><path d='M12 130 C 6 148 16 168 10 188' stroke='%2397A385' stroke-width='.7' stroke-linecap='round' opacity='.4'/></g><g mask='url(%23m)' fill='%239AA88B' opacity='.5'><ellipse cx='32' cy='28' rx='1.6' ry='3' transform='rotate(-18 32 28)'/><ellipse cx='38' cy='44' rx='1.5' ry='2.8' transform='rotate(14 38 44)'/><ellipse cx='34' cy='58' rx='1.4' ry='2.6' transform='rotate(-24 34 58)'/><ellipse cx='34' cy='122' rx='1.5' ry='2.8' transform='rotate(20 34 122)'/><ellipse cx='40' cy='140' rx='1.5' ry='2.8' transform='rotate(-14 40 140)'/><ellipse cx='36' cy='154' rx='1.3' ry='2.4' transform='rotate(26 36 154)'/><ellipse cx='14' cy='42' rx='1.3' ry='2.4' transform='rotate(-20 14 42)'/><ellipse cx='10' cy='62' rx='1.3' ry='2.4' transform='rotate(16 10 62)'/><ellipse cx='12' cy='140' rx='1.3' ry='2.4' transform='rotate(-18 12 140)'/></g><g mask='url(%23m)' fill='%239C8DB8' opacity='.55'><circle cx='30' cy='60' r='1.4'/><circle cx='34' cy='64' r='1.3'/><circle cx='29' cy='68' r='1.3'/><circle cx='32' cy='158' r='1.4'/><circle cx='36' cy='162' r='1.3'/></g><g mask='url(%23m)' fill='%23EDE6D6' stroke='%23C9C0AC' stroke-width='.4' opacity='.5'><ellipse cx='32' cy='90' rx='1.5' ry='2.6' transform='rotate(30 32 90)'/><ellipse cx='29' cy='92' rx='1.5' ry='2.6' transform='rotate(-30 29 92)'/><ellipse cx='33' cy='94' rx='1.5' ry='2.6'/></g></svg>");
  background-repeat:
    no-repeat, no-repeat, no-repeat, no-repeat,
    repeat-x, repeat-x, repeat-y, repeat-y;
  background-position:
    0 0, 100% 0, 0 100%, 100% 100%,
    0 0, 0 100%, 0 0, 100% 0;
  background-size:
    clamp(100px, 22vw, 170px), clamp(100px, 22vw, 170px), clamp(100px, 22vw, 170px), clamp(100px, 22vw, 170px),
    clamp(140px, 36vw, 210px) auto, clamp(140px, 36vw, 210px) auto,
    auto clamp(80px, 22vh, 130px), auto clamp(80px, 22vh, 130px);
}

/* --------------------------------------------------
   Reduced motion — the engine already shortens the
   glides; kill the remaining CSS motion
   -------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .paper__indicator-dot,
  .paper__nav {
    transition: none;
  }
}
