/* MyRVPage paid-traffic landing page — same-origin assets, CSP-safe (no inline styles). */
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("/static/fonts/jetbrains-mono-400.woff2") format("woff2"), url("/static/fonts/jetbrains-mono-400.ttf") format("truetype"); }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 500; font-display: swap; src: url("/static/fonts/jetbrains-mono-500.woff2") format("woff2"), url("/static/fonts/jetbrains-mono-500.ttf") format("truetype"); }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 700; font-display: swap; src: url("/static/fonts/jetbrains-mono-700.woff2") format("woff2"), url("/static/fonts/jetbrains-mono-700.ttf") format("truetype"); }
@font-face { font-family: "Libre Caslon Text"; font-style: normal; font-weight: 400; font-display: swap; src: url("/static/fonts/libre-caslon-text-400.woff2") format("woff2"), url("/static/fonts/libre-caslon-text-400.ttf") format("truetype"); }
@font-face { font-family: "Libre Caslon Text"; font-style: normal; font-weight: 700; font-display: swap; src: url("/static/fonts/libre-caslon-text-700.woff2") format("woff2"), url("/static/fonts/libre-caslon-text-700.ttf") format("truetype"); }
@font-face { font-family: "Libre Caslon Text"; font-style: italic; font-weight: 400; font-display: swap; src: url("/static/fonts/libre-caslon-text-italic-400.woff2") format("woff2"), url("/static/fonts/libre-caslon-text-italic-400.ttf") format("truetype"); }

body.lp { margin: 0; background: #0B0B0C; color: #E9E4D8; font-family: 'JetBrains Mono', ui-monospace, monospace; }
.lp a { color: #D9A441; }
.lp a:hover { color: #EAC06A; }
.lp details summary::-webkit-details-marker { display: none; }
.lp-wrap { max-width: 1120px; margin: 0 auto; padding: 0 32px; }

.lp-header { display: flex; justify-content: space-between; align-items: center; padding: 22px 0; border-bottom: 1px solid #26262A; gap: 12px; flex-wrap: wrap; }
.lp .lp-brand { text-decoration: none; color: #E9E4D8; display: flex; align-items: center; gap: 14px; }
.lp-emblem { width: 46px; height: 46px; border-radius: 50%; overflow: hidden; flex-shrink: 0; position: relative; }
.lp-emblem img { position: absolute; left: 50%; top: 50%; width: 230%; height: 230%; transform: translate(-50%, -50%); object-fit: cover; }
.lp-emblem.big { width: 64px; height: 64px; margin: 0 auto 20px; }
.lp-brand-name { font-family: 'Libre Caslon Text', serif; font-size: 19px; letter-spacing: 0.1em; }
.lp-brand-name .tld { color: #D9A441; font-size: 12px; }
.lp-brand-tag { font-size: 9px; letter-spacing: 0.3em; color: #D9A441; margin-top: 2px; }
.lp .lp-cta { text-decoration: none; background: #D9A441; color: #0B0B0C; padding: 11px 22px; font-size: 12px; letter-spacing: 0.08em; font-weight: 700; border-radius: 4px; display: inline-block; }
.lp .lp-cta:hover { color: #0B0B0C; background: #EAC06A; }
.lp-cta.large { padding: 15px 30px; font-size: 13px; }
.lp-cta.xl { padding: 16px 36px; font-size: 14px; }
.lp .lp-cta-ghost { text-decoration: none; border: 1px solid #3A3A40; color: #E9E4D8; padding: 15px 30px; font-size: 13px; letter-spacing: 0.08em; border-radius: 4px; display: inline-block; }
.lp .lp-cta-ghost:hover { color: #D9A441; border-color: #D9A441; }

.lp-hero { padding: 64px 0 24px; text-align: center; }
.lp-kicker { display: flex; align-items: center; gap: 14px; justify-content: center; font-size: 12px; letter-spacing: 0.26em; color: #D9A441; margin-bottom: 22px; }
.lp-kicker::before, .lp-kicker::after { content: ""; width: 36px; height: 1px; background: #D9A441; }
.lp-h1 { font-family: 'Libre Caslon Text', serif; font-size: 52px; line-height: 1.1; font-weight: 400; margin: 0 auto 20px; max-width: 840px; }
.lp-sub { font-size: 14px; line-height: 1.9; color: #9B958A; max-width: 640px; margin: 0 auto 32px; }
.lp-sub strong { color: #E9E4D8; font-weight: 400; }
.lp-cta-row { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-bottom: 16px; }
.lp-micro { font-size: 10.5px; letter-spacing: 0.14em; color: #5C574E; }

.lp-collage-section { padding: 48px 0 64px; }
.lp-collage { position: relative; height: 480px; max-width: 880px; margin: 0 auto; }
.lp-before { position: absolute; top: 0; left: 0; width: 58%; background: #E8E8E6; border-radius: 6px; overflow: hidden; box-shadow: 0 18px 40px rgba(0,0,0,0.5); transform: rotate(-1.5deg); }
.lp-browser-bar { background: #D2D2CF; padding: 8px 12px; display: flex; align-items: center; gap: 6px; }
.lp-dot { width: 9px; height: 9px; border-radius: 50%; background: #B4B4B0; }
.lp-url { flex: 1; background: #EFEFED; border-radius: 3px; font-size: 9px; color: #8A8A86; padding: 3px 8px; margin-left: 6px; text-align: right; }
.lp-listing-body { padding: 14px 16px; font-family: Arial, Helvetica, sans-serif; color: #333; }
.lp-listing-title { font-size: 13px; font-weight: 700; color: #1a0dab; }
.lp-listing-meta { font-size: 10px; color: #777; margin: 3px 0 10px; }
.lp-listing-body img { width: 100%; height: 150px; object-fit: cover; filter: saturate(0.8); display: block; }
.lp-listing-copy { font-size: 9.5px; color: #555; line-height: 1.5; margin-top: 8px; }
.lp-after { position: absolute; bottom: 0; right: 0; width: 66%; background: #111112; border: 1px solid #D9A441; border-radius: 6px; overflow: hidden; box-shadow: 0 24px 56px rgba(0,0,0,0.65); transform: rotate(1deg); z-index: 2; }
.lp-after .lp-browser-bar { background: #0B0B0C; border-bottom: 1px solid #26262A; }
.lp-after .lp-dot { background: #3A3A40; }
.lp-after .lp-url { background: #141416; color: #D9A441; text-align: left; }
.lp-after-shot { position: relative; height: 190px; }
.lp-after-shot img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lp-after-shade { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg, rgba(17,17,18,0.9) 0%, rgba(17,17,18,0) 45%); }
.lp-after-title { position: absolute; bottom: 10px; left: 16px; font-family: 'Libre Caslon Text', serif; font-size: 17px; }
.lp-after-title em { color: #D9A441; font-style: normal; }
.lp-after-ticks { display: flex; gap: 14px; padding: 12px 16px; font-size: 8.5px; letter-spacing: 0.1em; color: #D9A441; white-space: nowrap; overflow: hidden; }
.lp-badge { position: absolute; font-size: 10px; letter-spacing: 0.18em; font-weight: 700; padding: 5px 12px; border-radius: 3px; z-index: 3; }
.lp-badge.before { top: -30px; left: -8px; background: #6B655A; color: #0B0B0C; transform: rotate(-1.5deg); }
.lp-badge.after { bottom: -12px; right: -6px; background: #D9A441; color: #0B0B0C; transform: rotate(1deg); }
.lp-arrow { position: absolute; left: 30%; top: 47%; width: 44px; height: 44px; border-radius: 50%; background: #0B0B0C; border: 1px solid #D9A441; display: flex; align-items: center; justify-content: center; z-index: 2; }
.lp-photo-arrow { left: 50%; top: 50%; transform: translate(-50%, -50%); }

.lp-section { padding: 56px 0; border-top: 1px solid #26262A; }
.lp-eyebrow { font-size: 12px; letter-spacing: 0.2em; color: #D9A441; margin-bottom: 16px; }
.lp-eyebrow.center { text-align: center; margin-bottom: 8px; }
.lp-center-sub { font-size: 13px; color: #9B958A; text-align: center; max-width: 560px; margin: 0 auto 28px; line-height: 1.8; }
.lp-h2 { font-family: 'Libre Caslon Text', serif; font-size: 34px; font-weight: 400; line-height: 1.2; margin: 0 0 18px; }
.lp-h2 em { color: #D9A441; font-style: normal; }
.lp-body { font-size: 13.5px; line-height: 1.9; color: #9B958A; margin: 0 0 14px; }
.lp-body strong { color: #E9E4D8; font-weight: 400; }

.lp-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: stretch; position: relative; }
.lp-grid2.wide-gap { gap: 56px; align-items: center; }
.lp-grid2.proof { grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: center; }
.lp-photo-frame { position: relative; border: 1px solid #26262A; border-radius: 6px; overflow: hidden; }
.lp-photo-frame.gold { border-color: #D9A441; }
.lp-photo-frame img { width: 100%; height: 300px; object-fit: cover; display: block; }
.lp-photo-frame.dull img { filter: saturate(0.75) contrast(0.92); }
.lp-photo-tag { position: absolute; top: 12px; left: 12px; font-size: 10px; letter-spacing: 0.18em; font-weight: 700; padding: 5px 12px; border-radius: 3px; }
.lp-photo-tag.before { background: #6B655A; color: #0B0B0C; }
.lp-photo-tag.after { background: #D9A441; color: #0B0B0C; }

.lp-features { display: grid; gap: 12px; }
.lp-feature { border: 1px solid #26262A; border-radius: 6px; padding: 20px 24px; display: flex; gap: 16px; align-items: center; }
.lp-feature svg { flex-shrink: 0; }
.lp-feature-name { font-size: 12px; letter-spacing: 0.12em; font-weight: 700; margin-bottom: 4px; }
.lp-feature-copy { font-size: 12px; line-height: 1.65; color: #9B958A; }

.lp-quote-card { border: 1px solid #26262A; border-radius: 6px; padding: 36px; background: #111112; }
.lp-quote-mark { font-family: 'Libre Caslon Text', serif; font-size: 44px; color: #D9A441; line-height: 1; margin-bottom: 10px; }
.lp-quote { font-size: 14px; line-height: 1.85; }
.lp-quote-by { font-size: 11.5px; color: #D9A441; letter-spacing: 0.1em; margin-top: 16px; }
.lp-quote-by span { color: #9B958A; letter-spacing: 0; }
.lp .lp-proof-link { text-decoration: none; font-size: 13px; letter-spacing: 0.08em; border-bottom: 1px solid #D9A441; padding-bottom: 3px; }

.lp-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; max-width: 940px; margin: 0 auto; }
.lp-step { text-align: center; }
.lp-step-num { font-family: 'Libre Caslon Text', serif; font-size: 40px; color: #3A3A40; }
.lp-step-name { font-size: 14px; font-weight: 700; margin: 8px 0; }
.lp-step-copy { font-size: 12.5px; line-height: 1.7; color: #9B958A; }

.lp-faq { max-width: 720px; margin: 0 auto; }
.lp-faq details { border-bottom: 1px solid #26262A; padding: 16px 0; }
.lp-faq summary { cursor: pointer; font-size: 13.5px; font-weight: 700; list-style: none; }
.lp-faq p { font-size: 12.5px; line-height: 1.8; color: #9B958A; margin: 10px 0 0; }

.lp-final { padding: 72px 0; border-top: 1px solid #26262A; text-align: center; }
.lp-final .lp-h2 { font-size: 38px; margin-bottom: 14px; }
.lp-final-sub { font-size: 13px; color: #9B958A; margin: 0 0 30px; }

.lp-footer { padding: 24px 0 40px; border-top: 1px solid #26262A; display: flex; justify-content: space-between; font-size: 11px; color: #5C574E; letter-spacing: 0.08em; flex-wrap: wrap; gap: 8px; }
.lp .lp-footer a { color: #5C574E; }
.lp-attribution { flex-basis: 100%; color: #9B958A; font-size: 11px; letter-spacing: 0; line-height: 1.6; margin-top: 10px; }

.consent-banner { position: fixed; right: 18px; bottom: 18px; z-index: 10; width: min(calc(100% - 36px), 480px); padding: 18px 20px; border: 1px solid #D9A441; border-radius: 6px; background: #111112; box-shadow: 0 18px 44px rgba(0,0,0,0.5); }
.consent-banner p { margin: 0 0 11px; font-size: 11px; line-height: 1.6; color: #9B958A; }
.consent-banner p:last-child { margin-bottom: 0; }
.consent-banner button { min-height: 40px; margin: 0 8px 0 0; padding: 9px 14px; font-size: 10px; font-family: inherit; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; border-radius: 4px; border: 1px solid #D9A441; background: #D9A441; color: #0B0B0C; cursor: pointer; }
.consent-banner button[data-consent-decline] { background: transparent; color: #E9E4D8; border-color: #3A3A40; }
.consent-banner a { font-size: 10px; }

@media (max-width: 840px) {
  .lp-wrap { padding-left: 20px; padding-right: 20px; }
  .lp-h1 { font-size: 34px; }
  .lp-h2 { font-size: 28px; }
  .lp-grid2, .lp-grid2.proof { grid-template-columns: minmax(0, 1fr); }
  .lp-grid2.wide-gap { gap: 32px; }
  .lp-steps { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .lp-collage { height: auto; display: flex; flex-direction: column; gap: 24px; }
  .lp-before, .lp-after { position: static; width: 100%; transform: none; }
  .lp-arrow { display: none; }
  .lp-badge.before { position: static; display: inline-block; transform: none; align-self: flex-start; }
  .lp-badge.after { position: static; display: inline-block; transform: none; align-self: flex-start; }
}

/* Price anchor + guarantee line under the hero CTAs. */
.lp-anchor { font-size: 11px; line-height: 1.8; color: #9B958A; max-width: 560px; margin: 18px auto 0; }
.lp-anchor strong { color: #E9E4D8; font-weight: 700; }

/* Checklist email capture. */
.lp-capture { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: center; border: 1px solid #26262A; border-radius: 6px; background: #111112; padding: 36px; }
.lp-capture-form { display: grid; gap: 12px; }
.lp-capture-form input[type="email"] { width: 100%; box-sizing: border-box; background: #0B0B0C; border: 1px solid #3A3A40; border-radius: 4px; color: #E9E4D8; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 13px; padding: 13px 16px; }
.lp-capture-form input[type="email"]:focus { border-color: #D9A441; outline: 2px solid #D9A441; outline-offset: 2px; }
.lp-capture-form .lp-cta { border: none; cursor: pointer; font-family: 'JetBrains Mono', ui-monospace, monospace; }
.lp-capture-done { margin: 0; font-size: 12px; color: #7BAE6E; }
.lp-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.lp-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Mobile sticky CTA — appears once the hero scrolls away. */
.lp-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 20; display: none; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; background: rgba(11, 11, 12, 0.96); border-top: 1px solid #D9A441; }
.lp-sticky .lp-sticky-copy { font-size: 10.5px; letter-spacing: 0.08em; color: #9B958A; }
.lp-sticky .lp-cta { padding: 10px 18px; font-size: 11px; }

@media (max-width: 840px) {
  .lp-capture { grid-template-columns: minmax(0, 1fr); padding: 26px 20px; }
  .lp-sticky.visible { display: flex; }
  body.lp { padding-bottom: 64px; }
}

/* Published customer pages (/p/<slug>/). */
.pp-title-sm { font-size: 16px; }
.pp-price { font-family: 'Libre Caslon Text', serif; font-size: 22px; color: #D9A441; }
.pp-sold-chip { font-size: 11px; letter-spacing: 0.2em; font-weight: 700; color: #7BAE6E; border: 1px solid #2A4433; border-radius: 4px; padding: 6px 14px; }
.pp-sold-strip { margin-top: 14px; border: 1px solid #2A4433; border-radius: 6px; background: rgba(122, 174, 110, 0.08); color: #7BAE6E; font-size: 11px; letter-spacing: 0.1em; padding: 12px 18px; text-align: center; }
.pp-hero { padding-bottom: 8px; }
.pp-story { text-align: center; }
.pp-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 24px 0 40px; }
.pp-shot { display: block; border: 1px solid #26262A; border-radius: 6px; overflow: hidden; }
.pp-shot img { width: 100%; height: 160px; object-fit: cover; display: block; }
.pp-shot.hero { grid-column: 1 / -1; }
.pp-shot.hero img { height: auto; max-height: 640px; object-fit: cover; object-position: center bottom; }
.pp-shot:hover { border-color: #D9A441; }
.pp-details { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 24px; }
.pp-details div { border-bottom: 1px solid #1A1A1D; padding-bottom: 8px; }
.pp-details dt { font-size: 9.5px; letter-spacing: 0.16em; color: #9B958A; text-transform: uppercase; }
.pp-details dd { margin: 3px 0 0; font-size: 13px; color: #E9E4D8; }
.pp-gap { margin-top: 26px; }
.pp-vault-card { border: 1px solid #D9A441; border-radius: 6px; background: #111112; padding: 26px; margin-bottom: 16px; }
.pp-pin-form { display: flex; gap: 10px; align-items: stretch; }
.pp-pin-form input { width: 120px; background: #0B0B0C; border: 1px solid #3A3A40; border-radius: 4px; color: #E9E4D8; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 16px; letter-spacing: 0.3em; text-align: center; padding: 10px; }
.pp-pin-form .lp-cta { border: none; cursor: pointer; font-family: 'JetBrains Mono', ui-monospace, monospace; }
.pp-pin-error { font-size: 11px; color: #E07A5F; margin: 10px 0 0; }
.pp-contact-card { border: 1px solid #26262A; border-radius: 6px; padding: 26px; }
.pp-lead-form { display: grid; gap: 4px; }
.pp-lead-form label { font-size: 10px; letter-spacing: 0.14em; color: #9B958A; text-transform: uppercase; margin-top: 10px; }
.pp-lead-form input, .pp-lead-form textarea { width: 100%; box-sizing: border-box; background: #0B0B0C; border: 1px solid #3A3A40; border-radius: 4px; color: #E9E4D8; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 12.5px; padding: 10px 12px; }
.pp-lead-form .lp-cta { border: none; cursor: pointer; margin-top: 14px; font-family: 'JetBrains Mono', ui-monospace, monospace; }
.pp-doc-list { display: grid; gap: 10px; max-width: 640px; }
.pp-doc { display: flex; justify-content: space-between; gap: 14px; align-items: baseline; border: 1px solid #26262A; border-radius: 6px; padding: 14px 18px; text-decoration: none; }
.pp-doc:hover { border-color: #D9A441; }
.pp-doc-name { color: #E9E4D8; font-size: 12.5px; overflow-wrap: anywhere; }
.pp-doc-meta { color: #9B958A; font-size: 10px; flex-shrink: 0; }
.pp-upload-form { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.pp-upload-form input[type="file"] { color: #9B958A; font-size: 11px; }
.pp-upload-form .lp-cta { border: none; cursor: pointer; font-family: 'JetBrains Mono', ui-monospace, monospace; }
.notice-pub { margin: 16px 0 0; border: 1px solid #2A4433; border-radius: 6px; color: #7BAE6E; font-size: 12px; padding: 12px 18px; }
.notice-pub.bad { border-color: #C0603F; color: #E07A5F; }
@media (max-width: 840px) {
  .pp-gallery { grid-template-columns: 1fr 1fr; }
  .pp-shot.hero img { max-height: 340px; }
  .pp-details { grid-template-columns: 1fr; }
}


/* Scroll reveals ported from variant C — hidden state only under html.js-anim,
   so a no-JS visitor sees everything instantly. */
html.js-anim .lp .rv { opacity: 0; transform: translateY(48px); transition: opacity 800ms cubic-bezier(0.32, 0.72, 0, 1), transform 800ms cubic-bezier(0.32, 0.72, 0, 1); }
html.js-anim .lp .rv.blur { filter: blur(10px); transition: opacity 800ms cubic-bezier(0.32, 0.72, 0, 1), transform 800ms cubic-bezier(0.32, 0.72, 0, 1), filter 800ms cubic-bezier(0.32, 0.72, 0, 1); }
html.js-anim .lp .rv.in { opacity: 1; transform: translateY(0); filter: blur(0); }
html.js-anim .lp .rv.d1 { transition-delay: 100ms; }
html.js-anim .lp .rv.d2 { transition-delay: 200ms; }
html.js-anim .lp .rv.d3 { transition-delay: 300ms; }

/* Platform marquee — Dossier voice: mono, tracked, quiet. */
.lp-marquee { padding: 18px 0; border-top: 1px solid #26262A; border-bottom: 1px solid #26262A; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.lp-marquee .track { display: flex; gap: 46px; width: max-content; animation: lp-marquee 36s linear infinite; }
.lp-marquee .chip { display: inline-flex; align-items: center; gap: 10px; color: #5C574E; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; white-space: nowrap; }
.lp-marquee .chip::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: #D9A441; }
@keyframes lp-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

@media (prefers-reduced-motion: reduce) {
  html.js-anim .lp .rv { opacity: 1; transform: none; filter: none; transition: opacity 200ms ease-out; }
  .lp-marquee .track { animation: none; }
}

/* Real-page before/after compare rows. */
.lp-compare { margin: 0 0 40px; }
.lp-compare:last-of-type { margin-bottom: 0; }
.lp-compare-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; margin: 0 0 14px; }
.lp-compare-name { font-size: 13px; letter-spacing: 0.08em; color: #E9E4D8; }
.lp-sold-chip { display: inline-block; margin-left: 10px; background: #7BAE6E; color: #0B0B0C; font-size: 9px; font-weight: 700; letter-spacing: 0.14em; border-radius: 3px; padding: 3px 8px; vertical-align: middle; }
.lp-compare-row { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.lp-compare-arrow { left: 50%; top: 50%; transform: translate(-50%, -50%); }
@media (max-width: 840px) {
  .lp-compare-row { grid-template-columns: minmax(0, 1fr); }
}

/* Hero-style slides in the Storyteller after frame; advances to the right. */
.lp-heroslides { overflow: hidden; }
.lp-heroslides .lp-slide-track { display: flex; transition: transform 700ms cubic-bezier(0.32, 0.72, 0, 1); }
.lp-heroslides .lp-slide-track img { flex: 0 0 100%; }
.lp-slide-label { position: absolute; bottom: 10px; left: 12px; z-index: 2; background: rgba(11, 11, 12, 0.78); color: #D9A441; font-size: 9px; font-weight: 700; letter-spacing: 0.14em; border-radius: 3px; padding: 4px 8px; transition: opacity 300ms ease-out; }
.lp-slide-label.swapping { opacity: 0; }
.lp-slide-dots { position: absolute; bottom: 14px; right: 12px; z-index: 2; display: flex; gap: 5px; }
.lp-slide-dots i { width: 6px; height: 6px; border-radius: 50%; background: rgba(233, 228, 216, 0.35); transition: background-color 300ms ease-out; }
.lp-slide-dots i.on { background: #D9A441; }
@media (prefers-reduced-motion: reduce) {
  .lp-heroslides .lp-slide-track { transition: none; }
}

/* Market-research offer card: report rows in miniature. */
.lp-report-card { background: #131315; border: 1px solid #D9A441; border-radius: 6px; padding: 22px 24px; }
.lp-report-head { font-size: 11px; font-weight: 700; letter-spacing: 0.16em; color: #D9A441; display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; border-bottom: 1px solid #26262A; padding-bottom: 12px; margin-bottom: 4px; }
.lp-report-head span { color: #0B0B0C; background: #D9A441; border-radius: 3px; padding: 2px 8px; font-size: 9px; }
.lp-report-row { display: flex; justify-content: space-between; gap: 14px; font-size: 12px; padding: 10px 0; border-bottom: 1px solid #1D1D21; }
.lp-report-row:last-child { border-bottom: 0; }
.lp-report-row .ok { color: #7BAE6E; font-size: 10.5px; letter-spacing: 0.04em; text-align: right; }

/* Example-report strip inside the research offer card. */
.lp-report-example { margin-top: 12px; border-top: 1px solid #26262A; padding-top: 12px; font-size: 10px; letter-spacing: 0.06em; color: #5C574E; line-height: 1.9; }
.lp-report-example b { color: #D9A441; font-weight: 700; }

/* Sheen sweep on the primary gold CTAs. */
.lp .lp-cta { position: relative; overflow: hidden; }
.lp .lp-cta::after { content: ""; position: absolute; top: 0; bottom: 0; left: -45%; width: 38%; pointer-events: none;
  background: linear-gradient(105deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.55) 50%, rgba(255,255,255,0) 100%);
  transform: skewX(-20deg) translateX(-20%);
  animation: cta-sheen 4.5s cubic-bezier(0.77, 0, 0.175, 1) 1.8s infinite; }
@keyframes cta-sheen { 0% { transform: skewX(-20deg) translateX(-20%); } 30%, 100% { transform: skewX(-20deg) translateX(520%); } }
@media (prefers-reduced-motion: reduce) { .lp .lp-cta::after { animation: none; opacity: 0; } }

/* Wipe sliders: drag the handle to reveal the after. */
.lp-wipe-frame { position: relative; height: 380px; border: 1px solid #26262A; border-radius: 6px; overflow: hidden; --pos: 46%; }
.lp-wipe-frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.wipe-after { position: absolute; inset: 0; clip-path: inset(0 0 0 var(--pos)); border-left: 1px solid rgba(217, 164, 65, 0.0); }
.wipe-after img { opacity: 0; transition: opacity 900ms cubic-bezier(0.32, 0.72, 0, 1); }
.wipe-after img.active { opacity: 1; }
.lp-wipe-frame .lp-photo-tag { z-index: 5; pointer-events: none; }
.lp-wipe-frame .lp-slide-label, .lp-wipe-frame .lp-slide-dots { z-index: 5; pointer-events: none; }
.wipe-handle { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 2px; background: #D9A441; z-index: 4; pointer-events: none; transform: translateX(-1px); }
.wipe-handle span { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 42px; height: 42px; border-radius: 50%; background: #0B0B0C; border: 1px solid #D9A441; color: #D9A441; font-size: 13px; display: flex; align-items: center; justify-content: center; letter-spacing: -1px; }
.wipe-range { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; z-index: 6; -webkit-appearance: none; appearance: none; }
@media (prefers-reduced-motion: reduce) { .wipe-after img { transition: opacity 200ms ease-out; } }

/* Where-to-list: chips and the cluttered-listing mock. */
.lp-where-chips { display: flex; flex-wrap: wrap; gap: 10px; font-size: 11px; letter-spacing: 0.08em; color: #D9A441; }
.lp-where-chips span { border: 1px solid #3A3A40; border-radius: 999px; padding: 6px 14px; }
.lp-clutter { background: #E8E8E6; border-radius: 6px; overflow: hidden; box-shadow: 0 18px 40px rgba(0,0,0,0.5); font-family: Arial, Helvetica, sans-serif; }
.clutter-ad { background: #FFF3C4; color: #8a6d1a; font-size: 9px; font-weight: 700; letter-spacing: 0.06em; text-align: center; padding: 8px 10px; border-bottom: 1px solid #e3d59a; }
.lp-clutter .clutter-ad:last-child { border-top: 1px solid #e3d59a; border-bottom: 0; }
.clutter-body { padding: 12px 16px; color: #333; }
.clutter-title { font-size: 14px; font-weight: 700; color: #1a0dab; }
.clutter-meta { font-size: 10px; color: #777; margin: 3px 0 8px; }
.clutter-thumbs { display: flex; gap: 4px; margin-bottom: 8px; }
.clutter-thumbs i { width: 44px; height: 34px; background: #C9C9C5; border-radius: 2px; }
.clutter-text { font-size: 10px; color: #555; line-height: 1.5; margin-bottom: 10px; }
.clutter-link { background: #101012; color: #E9E4D8; font-size: 11px; padding: 9px 12px; border-radius: 4px; border: 1px solid #D9A441; animation: clutter-glow 2.6s ease-in-out infinite; }
.clutter-link b { color: #D9A441; }
@keyframes clutter-glow { 0%, 100% { box-shadow: 0 0 0 0 rgba(217, 164, 65, 0); } 50% { box-shadow: 0 0 14px 2px rgba(217, 164, 65, 0.45); } }
@media (prefers-reduced-motion: reduce) { .clutter-link { animation: none; } }

/* Second proof card: the in-production case strip. */
.lp-case { margin-top: 16px; border: 1px solid #26262A; border-radius: 6px; padding: 16px 20px; }
.lp-case-chip { display: inline-block; background: rgba(217, 164, 65, 0.14); color: #D9A441; font-size: 9px; font-weight: 700; letter-spacing: 0.14em; border-radius: 3px; padding: 3px 8px; margin-bottom: 8px; }
.lp-case-name { font-family: 'Libre Caslon Text', serif; font-size: 17px; margin-bottom: 4px; }
.lp-case-copy { font-size: 12px; color: #9B958A; line-height: 1.7; margin-bottom: 8px; }

/* In the wipe frame the two tags take opposite corners. */
.lp-wipe-frame .lp-photo-tag.before { left: 12px; right: auto; }
.lp-wipe-frame .lp-photo-tag.after { left: auto; right: 12px; }

/* Buyer-chat proof: an iMessage-style thread that plays once in view. */
.lp-chat { max-width: 380px; justify-self: center; width: 100%; border: 1px solid #26262A; border-radius: 14px; background: #101012; overflow: hidden; }
.lp-chat-head { font-size: 10px; letter-spacing: 0.14em; color: #9B958A; text-align: center; padding: 12px 14px; border-bottom: 1px solid #1D1D21; }
.lp-chat-body { padding: 18px 16px 22px; display: flex; flex-direction: column; gap: 10px; }
.chat-msg { max-width: 82%; border-radius: 16px; padding: 9px 14px; font-size: 12.5px; line-height: 1.6; position: relative; }
.chat-msg.in { background: #26262A; color: #E9E4D8; align-self: flex-start; border-bottom-left-radius: 5px; }
.chat-msg.out { background: #D9A441; color: #0B0B0C; align-self: flex-end; border-bottom-right-radius: 5px; }
.chat-msg.out.link .chat-text { text-decoration: underline; font-weight: 700; letter-spacing: 0.02em; }
.chat-typing { display: none; }

/* Play state: bubbles enter in sequence; incoming ones show typing dots first. */
html.js-anim .lp-chat .chat-msg { opacity: 0; transform: scale(0.95) translateY(4px); }
.lp-chat.play .chat-msg { animation: chat-in 300ms cubic-bezier(0.23, 1, 0.32, 1) forwards; }
.lp-chat.play .chat-msg:nth-child(1) { animation-delay: 0.4s; }
.lp-chat.play .chat-msg:nth-child(2) { animation-delay: 1.5s; }
.lp-chat.play .chat-msg:nth-child(3) { animation-delay: 2.3s; }
.lp-chat.play .chat-msg:nth-child(4) { animation-delay: 3.6s; }
@keyframes chat-in { to { opacity: 1; transform: scale(1) translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  html.js-anim .lp-chat .chat-msg { opacity: 1; transform: none; animation: none; }
  .lp-chat .chat-typing { display: none !important; }
}

/* Shoebox-to-timeline: the records pitch made visible. */
.lp-shoebox { border: 1px solid #26262A; border-radius: 8px; background: #101012; padding: 18px 20px 20px; }
.shoebox-label { display: block; font-size: 9px; font-weight: 700; letter-spacing: 0.18em; color: #5C574E; margin-bottom: 10px; }
.shoebox-label.gold { color: #D9A441; }
.shoebox-pile { position: relative; height: 92px; }
.shoebox-pile i { position: absolute; font-style: normal; font-size: 10px; color: #55504a; background: #E8E8E6; color: #55504a; border-radius: 2px; padding: 5px 9px; box-shadow: 0 3px 8px rgba(0,0,0,0.4); white-space: nowrap; }
.shoebox-pile .r1 { left: 2%; top: 26px; transform: rotate(-5deg); }
.shoebox-pile .r2 { left: 30%; top: 48px; transform: rotate(3deg); background: #DDD9CE; }
.shoebox-pile .r3 { left: 44%; top: 24px; transform: rotate(-2deg); }
.shoebox-pile .r4 { left: 12%; top: 62px; transform: rotate(6deg); background: #E2DCCB; }
.shoebox-pile .r5 { left: 62%; top: 58px; transform: rotate(-7deg); background: #EFEBE0; }
.shoebox-arrow { text-align: center; font-size: 10px; letter-spacing: 0.18em; color: #D9A441; margin: 10px 0 14px; }
.tl-row { display: flex; align-items: baseline; gap: 12px; padding: 8px 0; border-bottom: 1px solid #1D1D21; position: relative; padding-left: 16px; }
.tl-row::before { content: ""; position: absolute; left: 2px; top: 14px; width: 6px; height: 6px; border-radius: 50%; background: #D9A441; }
.tl-row:last-of-type { border-bottom: 0; }
.tl-date { font-size: 10px; font-weight: 700; letter-spacing: 0.1em; color: #D9A441; white-space: nowrap; }
.tl-work { font-size: 12px; color: #E9E4D8; flex: 1; }
.tl-src { font-size: 9px; letter-spacing: 0.1em; color: #7BAE6E; border: 1px solid rgba(123, 174, 110, 0.4); border-radius: 3px; padding: 1px 6px; white-space: nowrap; }
.tl-foot { margin-top: 10px; font-size: 9px; letter-spacing: 0.16em; color: #5C574E; }

/* Published-page gallery lightbox */
.pp-lb { position: fixed; inset: 0; z-index: 60; box-sizing: border-box; padding: 32px 72px 48px; background: #08080A; display: flex; align-items: center; justify-content: center; }
.pp-lb[hidden] { display: none; }
.pp-lb img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 4px; box-shadow: 0 12px 60px rgba(0, 0, 0, 0.7); }
.pp-lb button { position: absolute; background: rgba(20, 20, 24, 0.7); color: #E8E4DA; border: 1px solid #33333A; border-radius: 6px; cursor: pointer; line-height: 1; transition: border-color 0.15s ease, background 0.15s ease; }
.pp-lb button:hover { border-color: #D9A441; background: rgba(30, 30, 36, 0.9); }
.pp-lb-close { top: 18px; right: 18px; font-size: 26px; padding: 6px 14px 9px; }
.pp-lb-prev, .pp-lb-next { top: 50%; transform: translateY(-50%); font-size: 34px; padding: 10px 16px 14px; }
.pp-lb-prev { left: 14px; }
.pp-lb-next { right: 14px; }
.pp-lb-count { position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%); color: #A7A29A; font-size: 13px; letter-spacing: 0.12em; }
@media (max-width: 720px) {
  .pp-lb { padding: 56px 12px 48px; }
  .pp-lb-prev, .pp-lb-next { font-size: 26px; padding: 8px 12px 11px; }
}

/* Ghosted hero photo behind the published-page title, ST-style */
.pp-hero { position: relative; overflow: hidden; padding-top: 96px; }
.pp-ghost { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.pp-ghost img { position: absolute; left: 50%; top: 58%; transform: translate(-50%, -50%); width: 115%; max-width: none; opacity: 0.3; filter: contrast(1.05) brightness(0.95); -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,0.95) 0, rgba(0,0,0,0.85) 55%, transparent 100%); mask-image: linear-gradient(180deg, rgba(0,0,0,0.95) 0, rgba(0,0,0,0.85) 55%, transparent 100%); }
.pp-hero > *:not(.pp-ghost) { position: relative; z-index: 2; }

/* #1796 design: full-bleed hero with overlay, spec chips, trust strip */
.pp-hero2 { position: relative; overflow: hidden; margin: 0 -24px; padding: 72px 40px 0; background-color: #0E0E10; }
.pp-hero2-bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.pp-hero2-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 62%; }
.pp-hero2-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(10,10,12,0.78) 0%, rgba(10,10,12,0.3) 34%, transparent 58%); }
.pp-hero2-inner .lp-h1, .pp-hero2-inner .lp-kicker, .pp-tagline { text-shadow: 0 1px 14px rgba(0,0,0,0.85); }
.pp-hero2-inner { position: relative; z-index: 2; max-width: 560px; padding-bottom: 34px; }
.pp-hero2 .pp-trust { position: relative; z-index: 2; }
.pp-hero2 .lp-h1 { text-align: left; font-size: clamp(40px, 5.4vw, 64px); margin: 14px 0 10px; }
.pp-hero2 .lp-kicker { text-align: left; }
.pp-tagline { font-family: -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif; color: #CFCAC0; font-size: 16.5px; letter-spacing: 0.01em; margin: 0 0 22px; }
.pp-hero2 .lp-kicker { font-family: -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif; font-weight: 600; }
.pp-chips { display: grid; grid-template-columns: repeat(3, max-content); gap: 8px; margin-bottom: 28px; }
.pp-chip { display: flex; align-items: center; gap: 10px; border: 1px solid rgba(255,255,255,0.14); border-radius: 10px; padding: 12px 15px; background: rgba(6,6,8,0.84); backdrop-filter: blur(3px); font-family: -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif; }
.pp-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.pp-ico { width: 23px; height: 23px; stroke: #D9A441; fill: none; stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; }
.pp .lp-header .lp-brand-name { font-family: "Libre Caslon Text", serif; font-size: 15px; letter-spacing: 0.12em; }
.pp .pp-price { font-family: "Libre Caslon Text", serif; font-size: 24px; }
.pp-ico-lg { width: 22px; height: 22px; margin-bottom: 5px; }
.pp-ico-box { flex: none; display: inline-flex; align-items: center; justify-content: center; }
.pp-trust-cell { font-family: -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif; }
#ppi-pin circle { fill: #0E0E10; }
.pp-chip:has(#ppi-pin) .pp-ico, .pp-chip .pp-ico[data-fill] { fill: rgba(217,164,65,0.18); }
.pp-chip b { display: block; color: #FFFFFF; font-size: 13.5px; font-weight: 650; line-height: 1.25; white-space: nowrap; }
.pp-chip span { display: block; color: #9A958C; font-size: 9.5px; letter-spacing: 0.09em; text-transform: uppercase; margin-top: 1px; }
.pp-hero-ctas { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 4px; }
.pp-ico-btn { width: 16px; height: 16px; stroke: currentColor; vertical-align: -3px; margin-right: 9px; }
.pp-cta-ghost { background: rgba(10,10,12,0.5); color: #E8E4DA; border: 1px solid #3A3A40; }
.pp-cta-ghost:hover { border-color: #D9A441; }
.pp-trust { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border: 1px solid #242428; border-radius: 12px; background: #0B0B0C; margin: 14px 0 6px; }
.pp-trust-cell { padding: 18px; border-right: 1px solid #202024; display: grid; grid-template-columns: 26px 1fr; column-gap: 12px; align-items: start; }
.pp-trust-cell .pp-ico-lg { grid-row: 1 / 3; margin: 2px 0 0; }
.pp-trust-cell b { grid-column: 2; }
.pp-trust-cell span { grid-column: 2; margin-top: 3px; }
.pp-trust-cell:last-child { border-right: none; }
.pp-trust-cell b { color: #E8E4DA; font-size: 13.5px; }
.pp-trust-cell span { color: #8F8A80; font-size: 12px; line-height: 1.45; }


/* photo carousel */
.pp-gal-wrap { position: relative; margin-top: 26px; }
.pp-gallery { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; grid-template-columns: none; padding: 0 0 8px; }
.pp-gallery::-webkit-scrollbar { display: none; }
.pp-gallery .pp-shot { flex: 0 0 auto; scroll-snap-align: center; }
.pp-gallery .pp-shot img { height: clamp(180px, 15vw, 250px); width: auto; max-width: 82vw; object-fit: contain; display: block; }
.pp-gal-btn { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; background: rgba(16,16,20,0.78); color: #E8E4DA; border: 1px solid #33333A; border-radius: 8px; font-size: 30px; line-height: 1; padding: 8px 14px 12px; cursor: pointer; transition: border-color 0.15s ease; }
.pp-gal-btn:hover { border-color: #D9A441; }
.pp-gal-btn.prev { left: 10px; }
.pp-gal-btn.next { right: 10px; }

/* story block */
.pp-storyblock { text-align: center; max-width: 760px; margin: 0 auto; }
.pp-story-h { font-family: "Libre Caslon Text", serif; color: #D9A441; letter-spacing: 0.16em; font-weight: 400; font-size: clamp(21px, 2.6vw, 30px); margin: 30px 0 14px; }

/* price shimmer: brief gold sweep, mostly at rest */
@keyframes pp-price-shine { 0% { background-position: 130% 0; } 28% { background-position: -130% 0; } 100% { background-position: -130% 0; } }
.pp-price { background: linear-gradient(100deg, #D9A441 42%, #FFEDC2 50%, #D9A441 58%); background-size: 250% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: pp-price-shine 6s cubic-bezier(0.77, 0, 0.175, 1) infinite; }
@media (prefers-reduced-motion: reduce) { .pp-price { animation: none; -webkit-text-fill-color: currentColor; background: none; } }

@media (max-width: 860px) {
  .pp-trust { grid-template-columns: 1fr 1fr; }
  .pp-trust-cell:nth-child(2n) { border-right: none; }
  .pp-chips { grid-template-columns: repeat(2, max-content); }
  .pp-hero2 { padding: 56px 20px 0; }
  .pp-gallery .pp-shot img { height: 220px; }
}

/* mock alignment round 3: darker header, taller hero, inset trust, story cards, closing strip */
.pp .lp-header { background: #0A0A0C; margin: 0 -24px; padding: 16px 40px; border-bottom: 1px solid #1C1C20; }
.pp-hero2 { min-height: 620px; display: flex; flex-direction: column; justify-content: center; padding-bottom: 26px; }
.pp-hero2-bg img { object-position: center 60%; }
.pp-trust { margin: 18px 0 30px; border-radius: 12px; border-bottom: 1px solid #242428; }
.pp-story-sub { font-family: -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif; color: #A7A29A; font-size: 14.5px; line-height: 1.6; max-width: 620px; margin: 0 auto 8px; }
.pp-story-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 22px; margin: 30px 0 26px; text-align: left; }
.pp-story-photo { align-self: start; }
.pp-story-photo img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 12px; border: 1px solid #26262A; display: block; }
.pp-story-cards { display: flex; flex-direction: column; gap: 14px; }
.pp-story-card { display: flex; gap: 14px; align-items: flex-start; border: 1px solid #2A2A2E; border-radius: 10px; padding: 18px; background: #0F0F12; font-family: -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif; }
.pp-story-card .pp-ico { width: 20px; height: 20px; }
.pp-ico-circle { flex: none; width: 40px; height: 40px; border: 1.5px solid #D9A441; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; margin-top: 2px; }
.pp-story-card h3 { color: #D9A441; font-size: 12.5px; letter-spacing: 0.12em; text-transform: uppercase; margin: 0 0 6px; }
.pp-story-card p { color: #A7A29A; font-size: 13.5px; line-height: 1.55; margin: 0; }
.pp-story-card .chev { margin-left: auto; color: #D9A441; font-size: 22px; line-height: 1; align-self: center; }
.pp-storyblock .pp-story { font-family: -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif; color: #A7A29A; font-size: 14.5px; line-height: 1.7; max-width: 700px; margin: 0 auto; text-align: left; }
.pp-closing { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; border-top: 1px solid #222226; margin-top: 26px; padding: 28px 0 4px; font-family: -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif; text-align: left; }
.pp-closing-cell { display: flex; gap: 12px; align-items: flex-start; padding-left: 20px; border-left: 1px solid #222226; }
.pp-closing-cell:first-child { padding-left: 0; border-left: none; }
.pp-closing-cell .pp-ico { width: 24px; height: 24px; flex: none; }
.pp-closing-cell b { display: block; color: #E8E4DA; font-size: 12.5px; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 4px; }
.pp-closing-cell span { color: #8F8A80; font-size: 12.5px; line-height: 1.55; }
@media (max-width: 860px) {
  .pp-story-grid { grid-template-columns: 1fr; }
  .pp-closing { grid-template-columns: 1fr; }
  .pp-hero2 { min-height: 0; }
}

/* Match the compact published-page wrapper; -24px spills past its 20px gutters. */
@media (max-width: 840px) {
  .pp .lp-header, .pp .pp-hero2 { margin-left: -20px; margin-right: -20px; }
}

.lp-footer .lp-network { margin-top: 6px; font-size: 10.5px; letter-spacing: 0.14em; }
