:root {
  --paper: #efeae0;
  --paper-light: #f8f5ee;
  --wash: #ddd6c8;
  --line: #c9c2b4;
  --muted: #6e6a63;
  --ink: #221f1c;
  --moon: #3d4a5c;
  --content: 1120px;
  --serif: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  --sans: "Yu Gothic", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 20% 0%, rgba(255,255,255,.72), transparent 28rem),
    var(--paper);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.95;
  letter-spacing: .035em;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .2;
  background-image: url("../images/fv-world-v3.webp");
  background-size: 0 0;
}
a { color: inherit; }
img { display: block; width: 100%; height: auto; }
button, a { -webkit-tap-highlight-color: transparent; }
.skip-link { position: absolute; left: -9999px; top: 0; }
.skip-link:focus { left: 1rem; top: 1rem; z-index: 100; background: #fff; padding: .6rem 1rem; }
.shell { width: min(calc(100% - 40px), var(--content)); margin-inline: auto; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(239, 234, 224, .9);
  border-bottom: 1px solid rgba(34,31,28,.12);
  backdrop-filter: blur(14px);
}
.header-inner { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.brand { display: inline-flex; align-items: baseline; gap: .65rem; text-decoration: none; font-family: var(--serif); }
.brand strong { font-size: 1.15rem; letter-spacing: .18em; font-weight: 600; }
.brand small { color: var(--muted); font-size: .7rem; letter-spacing: .13em; }
.nav { display: flex; align-items: center; gap: 1.25rem; font-size: .82rem; }
.nav a { text-decoration: none; }
.nav a:not(.mini-cta):hover { color: var(--moon); }
.mini-cta { border: 1px solid var(--ink); padding: .55rem .9rem; }

.hero { min-height: 690px; display: grid; align-items: center; position: relative; overflow: hidden; }
.hero-media { position: absolute; inset: 0; z-index: -2; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(248,245,238,.98) 0%, rgba(248,245,238,.92) 36%, rgba(248,245,238,.35) 61%, rgba(248,245,238,.05) 100%); }
.hero-copy { max-width: 620px; padding: 7rem 0 6rem; }
.eyebrow { margin: 0 0 1.1rem; color: var(--moon); font-size: .74rem; letter-spacing: .2em; text-transform: uppercase; }
h1, h2, h3 { font-family: var(--serif); font-weight: 500; line-height: 1.5; letter-spacing: .08em; }
h1, h2, h3, .hero-lead, .cta { word-break: auto-phrase; text-wrap: balance; }
h1 { margin: 0; font-size: clamp(2.2rem, 5.2vw, 4.45rem); }
h1 .line { display: block; }
.hero-lead { max-width: 37rem; margin: 1.6rem 0 1.9rem; font-family: var(--serif); font-size: clamp(1rem, 1.6vw, 1.22rem); }
.offer-note { color: var(--muted); font-size: .8rem; letter-spacing: .1em; }
.cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  margin-top: 1.25rem;
  padding: .8rem 1.45rem;
  color: var(--paper-light);
  background: var(--ink);
  border: 1px solid var(--ink);
  text-decoration: none;
  font-weight: 600;
  letter-spacing: .08em;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.cta:hover { color: var(--ink); background: transparent; transform: translateY(-2px); }
.cta-note { display: block; max-width: 36rem; margin-top: .9rem; color: var(--muted); font-size: .78rem; }
.hero-traces { position: absolute; inset: 0; pointer-events: none; opacity: .43; }
.hero-traces path { fill: none; stroke-width: 1.2; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; animation: trace 2.4s cubic-bezier(.4,0,.2,1) .2s forwards; }
.hero-traces .ink-path { stroke: #4a4640; }
.hero-traces .moon-path { stroke: var(--moon); animation-delay: .45s; }
@keyframes trace { to { stroke-dashoffset: 0; } }

.section { padding: clamp(5rem, 9vw, 8rem) 0; }
.section--light { background: rgba(248,245,238,.72); }
.section--ink { color: var(--paper-light); background: var(--ink); }
.section--wash { background: var(--wash); }
.section-index { display: flex; align-items: center; gap: .8rem; margin-bottom: 1.4rem; color: var(--moon); font-size: .72rem; letter-spacing: .18em; }
.section-index::after { content: ""; width: 58px; height: 1px; background: currentColor; opacity: .5; }
.section h2 { margin: 0 0 1.8rem; font-size: clamp(1.75rem, 3.6vw, 3rem); }
.section-lead { max-width: 760px; font-family: var(--serif); font-size: clamp(1.05rem, 2vw, 1.35rem); }
.prose { max-width: 780px; }
.prose p { margin: 0 0 1.4rem; }
.prose blockquote { margin: 2rem 0; padding: 0 0 0 1.5rem; border-left: 1px solid var(--moon); font-family: var(--serif); font-size: 1.08rem; }
.split { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.split--reverse > :first-child { order: 2; }
.scene { position: relative; }
.scene img { aspect-ratio: 1 / 1; object-fit: cover; }
.scene::before { content: ""; position: absolute; inset: 1rem -1rem -1rem 1rem; border: 1px solid rgba(61,74,92,.35); z-index: -1; }
.moon-caption { margin-top: 1.2rem; color: var(--muted); font-size: .76rem; }
.quiet-list { margin: 2rem 0 0; padding: 0; list-style: none; counter-reset: quiet; }
.quiet-list li { position: relative; padding: 1.2rem 0 1.2rem 3.4rem; border-top: 1px solid var(--line); }
.quiet-list li:last-child { border-bottom: 1px solid var(--line); }
.quiet-list li::before { counter-increment: quiet; content: counter(quiet, decimal-leading-zero); position: absolute; left: 0; top: 1.2rem; color: var(--moon); font-family: var(--serif); font-size: .78rem; }
.result-sheet { margin-top: 2.5rem; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.result-sheet div { padding: 1.25rem 1.25rem 1.25rem 0; border-bottom: 1px solid var(--line); }
.result-sheet div:nth-child(even) { padding-left: 1.25rem; border-left: 1px solid var(--line); }
.result-sheet b { display: block; margin-bottom: .35rem; font-family: var(--serif); font-weight: 500; }
.two-sides { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 2rem; background: var(--line); border: 1px solid var(--line); }
.two-sides > div { padding: clamp(1.5rem, 4vw, 3rem); background: var(--paper-light); }
.two-sides h3 { margin-top: 0; color: var(--moon); }
.two-sides ul { padding-left: 1.2rem; }
.facts { width: 100%; border-collapse: collapse; margin-top: 2rem; background: rgba(248,245,238,.6); }
.facts th, .facts td { padding: 1rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.facts th { width: 28%; color: var(--muted); font-size: .8rem; font-weight: 500; }
.journey { margin: 2.5rem 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.journey li { display: grid; grid-template-columns: 56px 1fr; gap: 1rem; padding: 1.15rem 0; border-bottom: 1px solid var(--line); }
.journey span { color: var(--moon); font-family: var(--serif); }
.image-band { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 3rem; background: var(--line); }
.image-band figure { margin: 0; background: var(--paper-light); }
.image-band img { aspect-ratio: 1 / 1; object-fit: cover; }
.image-band figcaption { padding: 1rem; font-size: .75rem; color: var(--muted); }
.faq { margin-top: 2rem; border-top: 1px solid var(--line); }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { cursor: pointer; padding: 1.3rem 2.5rem 1.3rem 0; font-family: var(--serif); font-size: 1.02rem; }
.faq details p { max-width: 760px; margin: 0; padding: 0 0 1.5rem; }
.final-cta { text-align: center; }
.final-cta h2 { max-width: 860px; margin-inline: auto; }
.final-cta p { max-width: 680px; margin-inline: auto; }
.pending { margin: 1rem auto 0; max-width: 680px; padding: .8rem 1rem; color: var(--muted); border: 1px solid var(--line); font-size: .75rem; }
.site-footer { padding: 3rem 0; border-top: 1px solid var(--line); }
.footer-inner { display: flex; justify-content: space-between; gap: 2rem; align-items: flex-start; }
.footer-links { display: flex; flex-wrap: wrap; gap: 1rem; font-size: .78rem; }
.footer-links a { color: var(--muted); display: inline-flex; align-items: center; min-height: 44px; }
.copyright { margin: .6rem 0 0; color: var(--muted); font-size: .7rem; }
.legal-main { padding: 7rem 0; }
.legal-main h1 { font-size: clamp(2rem, 4vw, 3.6rem); }
.draft-alert { margin: 2rem 0; padding: 1rem 1.2rem; border-left: 3px solid var(--moon); background: var(--wash); }
.legal-table { width: 100%; border-collapse: collapse; margin-top: 2.5rem; }
.legal-table th, .legal-table td { padding: 1rem; border-bottom: 1px solid var(--line); vertical-align: top; text-align: left; }
.legal-table th { width: 30%; color: var(--muted); font-weight: 500; }

@media (max-width: 860px) {
  .nav a:not(.mini-cta) { display: none; }
  .hero { min-height: 720px; align-items: end; }
  .hero::after { background: linear-gradient(180deg, rgba(248,245,238,.22) 0%, rgba(248,245,238,.72) 40%, rgba(248,245,238,.98) 70%); }
  .hero-media img { object-position: 69% center; }
  .hero-copy { padding: 19rem 0 4rem; }
  .split, .split--reverse { grid-template-columns: 1fr; }
  .split--reverse > :first-child { order: initial; }
  .scene { max-width: 620px; }
  .image-band { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .header-inner { gap: .8rem; }
  .hero-traces { opacity: .3; }
}

@media (max-width: 560px) {
  body { font-size: 16px; line-height: 1.85; }
  .shell { width: min(calc(100% - 28px), var(--content)); }
  .header-inner { min-height: 62px; }
  .brand small { display: none; }
  .mini-cta { padding: .45rem .65rem; font-size: .72rem; }
  .hero { min-height: 680px; }
  .hero-copy { padding-top: 17rem; }
  h1 { font-size: clamp(2rem, 11vw, 3rem); }
  .section { padding: 4.5rem 0; }
  .result-sheet, .two-sides { grid-template-columns: 1fr; }
  .result-sheet div:nth-child(even) { padding-left: 0; border-left: 0; }
  .facts th, .facts td, .legal-table th, .legal-table td { display: block; width: 100%; padding: .8rem 0; }
  .facts th, .legal-table th { border-bottom: 0; padding-bottom: 0; }
  .footer-inner { display: block; }
  .footer-links { margin-top: 1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition: none !important; }
  .hero-traces path { stroke-dashoffset: 0; }
}

/* 2026-08-04 art direction v2 — catalog-informed editorial rebuild */
:root {
  --paper: #e8dcc9;
  --paper-light: #e8dcc9;
  --wash: #e8dcc9;
  --line: #b9ad99;
  --muted: #625d55;
  --ink: #211e1a;
  --moon: #3d4a5c;
  --content: 1180px;
}

body {
  background: var(--paper);
  letter-spacing: 0;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 90;
  pointer-events: none;
  opacity: .045;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E");
  background-size: 180px 180px;
}

.site-header {
  background: rgba(232, 220, 201, .94);
  border-color: rgba(33, 30, 26, .24);
}
.header-inner { min-height: 76px; }
.brand::before {
  content: "";
  width: 28px;
  aspect-ratio: 1;
  border: 1px solid var(--ink);
  border-radius: 50%;
  box-shadow: 9px 0 0 -7px var(--paper), 9px 0 0 -6px var(--moon);
}
.reading-progress { height: 2px; background: rgba(33,30,26,.12); }
.reading-progress__bar { display: block; width: 0; height: 100%; background: var(--moon); transition: width .08s linear; }
.nav a.is-current { color: var(--paper); background: var(--moon); }

.hero { min-height: 820px; background: var(--paper); isolation: isolate; }
.hero::after {
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(232,220,201,.94) 0%, rgba(232,220,201,.78) 24%, rgba(232,220,201,.28) 42%, rgba(232,220,201,0) 58%);
}
.hero-media { z-index: 0; background: var(--paper); }
.hero-media img { object-position: center; mix-blend-mode: normal; filter: contrast(1.08) saturate(.9); animation: hero-world-in 1.5s cubic-bezier(.2,.7,.2,1) both; }
.hero-traces { z-index: 2; }
.hero > .shell { position: relative; z-index: 3; }
.hero-copy { max-width: 650px; padding-top: 8.5rem; }
.hero h1 { font-size: clamp(3rem, 5.25vw, 4.9rem); line-height: 1.38; }
.hero-lead { font-size: 1.18rem; max-width: 30rem; }
.eyebrow, .section-index { font-family: var(--sans); font-weight: 700; }
.hero-world-note { position: absolute; right: 2.2rem; top: 50%; z-index: 4; writing-mode: vertical-rl; color: rgba(33,30,26,.65); font-family: var(--serif); font-size: .74rem; letter-spacing: .24em; }
.hero-proof { position: absolute; right: 4.5vw; bottom: 2.2rem; z-index: 4; display: grid; grid-template-columns: repeat(3, minmax(8rem,1fr)); min-width: min(48vw,680px); border-top: 1px solid rgba(33,30,26,.65); border-bottom: 1px solid rgba(33,30,26,.65); background: rgba(232,220,201,.62); backdrop-filter: blur(3px); }
.hero-proof span { padding: .8rem 1rem; font-size: .68rem; font-weight: 700; letter-spacing: .1em; }
.hero-proof span + span { border-left: 1px solid rgba(33,30,26,.32); }
@keyframes hero-world-in { from { opacity:.55; transform:scale(1.035); } to { opacity:1; transform:scale(1); } }

.section,
.section--light,
.section--ink,
.section--wash,
.final-cta,
.site-footer,
.legal-main {
  color: var(--ink);
  background: var(--paper);
}
.section { position: relative; border-top: 1px solid rgba(33,30,26,.16); }
.section--ink .quiet-list li { border-color: var(--line); }
.section h2 { font-size: clamp(2.15rem, 4.1vw, 3.7rem); line-height: 1.42; }
.section-lead { font-size: clamp(1.25rem, 2.1vw, 1.65rem); }
.split { grid-template-columns: minmax(0, .78fr) minmax(360px, 1.22fr); gap: clamp(3.5rem, 8vw, 8rem); }
.split--reverse { grid-template-columns: minmax(360px, 1.22fr) minmax(0, .78fr); }
.scene { margin: 0; }
.scene::before { inset: 28px -28px -28px 28px; border-color: rgba(33,30,26,.34); }
.scene img { aspect-ratio: 4 / 5; object-fit: cover; filter: saturate(.82) contrast(.96); mix-blend-mode: multiply; }
.moon-caption { padding-top: .9rem; border-top: 1px solid var(--line); }

.result-sheet { grid-template-columns: 1fr; margin-top: 3rem; }
.result-sheet div,
.result-sheet div:nth-child(even) { display: grid; grid-template-columns: minmax(9rem,.7fr) 1.3fr; gap: 1.5rem; padding: 1.1rem 0; border-left: 0; }
.result-sheet b { font-size: 1.05rem; }
.two-sides { gap: 0; border: 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); background: transparent; }
.two-sides > div { background: transparent; padding: 3rem; }
.two-sides > div + div { border-left: 1px solid var(--ink); }
.facts { background: transparent; border-top: 1px solid var(--ink); }
.facts th, .facts td { border-color: rgba(33,30,26,.28); padding: 1.25rem .8rem; }

.image-band {
  display: grid;
  grid-template-columns: 1.35fr .65fr;
  grid-template-rows: 1fr 1fr;
  gap: 22px;
  background: transparent;
  align-items: stretch;
}
.image-band figure { position: relative; overflow: hidden; background: transparent; }
.image-band figure:first-child { grid-row: 1 / 3; }
.image-band img { height: 100%; min-height: 260px; object-fit: cover; filter: saturate(.8) contrast(.96); mix-blend-mode: multiply; }
.image-band figure:first-child img { min-height: 560px; }
.image-band figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 3.2rem 1.25rem 1rem; color: var(--ink); background: linear-gradient(transparent, rgba(232,220,201,.92)); }

.final-cta { min-height: 620px; display: grid; place-items: center; overflow: hidden; }
.final-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(90deg, rgba(232,220,201,.96), rgba(232,220,201,.52)), url("../images/fv-world-v3.webp");
  background-size: cover;
  background-position: center;
  opacity: .7;
  mix-blend-mode: multiply;
}
.paid-page .final-cta::before { background-image: linear-gradient(90deg, rgba(232,220,201,.96), rgba(232,220,201,.48)), url("../images/paid-fv-world-v3.webp"); }
.final-cta .shell { position: relative; z-index: 1; }
.final-cta h2 { font-size: clamp(2.5rem, 5vw, 4.7rem); }
.pending { color: var(--muted); border-color: var(--line); background: rgba(232,220,201,.76); }
.site-footer { padding: 5rem 0 3rem; }
.footer-inner { display: block; text-align: center; }
.footer-inner .brand { justify-content: center; font-size: 1.4rem; }
.footer-links { justify-content: center; margin-top: 2rem; }

/* sec-intro-03: quiet kinetic manifesto */
.c-intro03 { padding: 7rem 0 8rem; overflow: hidden; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.c-intro03__top,
.c-intro03__foot { width: min(calc(100% - 40px), var(--content)); margin-inline: auto; display: flex; justify-content: space-between; gap: 2rem; }
.c-intro03__top { padding-bottom: 1rem; border-bottom: 1px solid var(--ink); color: var(--moon); font-size: .72rem; font-weight: 700; letter-spacing: .18em; }
.c-intro03__marquee { margin: 2.1rem 0; overflow: hidden; }
.c-intro03__row { display: flex; width: max-content; font-family: var(--serif); font-weight: 600; font-size: clamp(4rem, 10.5vw, 9.5rem); line-height: 1.02; white-space: nowrap; animation: saku-marquee-a 30s linear infinite; }
.c-intro03__row + .c-intro03__row { color: transparent; -webkit-text-stroke: 1px var(--ink); animation-name: saku-marquee-b; animation-duration: 38s; }
.c-intro03__row span { padding-right: .55em; }
.c-intro03__row em { color: var(--moon); -webkit-text-stroke: 0; font-style: normal; }
.c-intro03__foot { align-items: end; padding-top: 1.25rem; border-top: 1px solid var(--ink); }
.c-intro03__foot p { max-width: 40rem; margin: 0; font-family: var(--serif); font-size: 1.05rem; }
.c-intro03__foot small { color: var(--moon); letter-spacing: .16em; white-space: nowrap; }
@keyframes saku-marquee-a { to { transform: translateX(-50%); } }
@keyframes saku-marquee-b { from { transform: translateX(-50%); } to { transform: translateX(0); } }

/* sec-message-03: magazine spread for the two moons */
.c-message03 { display: grid; grid-template-columns: minmax(280px,.78fr) minmax(0,1.22fr); gap: clamp(3rem, 7vw, 7rem); align-items: start; }
.c-message03__visual { position: sticky; top: 120px; }
.c-message03__visual img { aspect-ratio: 4/5; object-fit: cover; mix-blend-mode: multiply; }
.c-message03__label { margin-bottom: 1rem; color: var(--moon); writing-mode: vertical-rl; letter-spacing: .2em; font-size: .72rem; }
.c-message03__body { border-top: 1px solid var(--ink); padding-top: 1.5rem; }
.c-message03__body h2::first-letter { float: left; margin: .05em .18em -.12em 0; color: var(--moon); font-size: 3.8em; line-height: .78; }
.c-message03__body p { max-width: 34rem; }

/* sec-numbers-02: broken facts, one section per page */
.c-numbers02 { position: relative; min-height: 480px; margin: 3rem 0 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.c-numbers02__stat { position: absolute; }
.c-numbers02__value { font-family: var(--serif); font-weight: 600; line-height: .9; font-size: clamp(4rem, 9vw, 8rem); }
.c-numbers02__unit { color: var(--moon); font-size: .22em; margin-left: .1em; }
.c-numbers02__label { margin-top: .6rem; color: var(--muted); font-size: .78rem; }
.c-numbers02__stat:nth-child(1) { left: 2%; top: 12%; }
.c-numbers02__stat:nth-child(2) { right: 3%; top: 22%; text-align: right; }
.c-numbers02__stat:nth-child(3) { left: 32%; bottom: 10%; }
.c-numbers02::after { content: ""; position: absolute; left: 0; right: 0; top: 54%; height: 1px; background: var(--line); }

/* sec-process-03: large-number zigzag */
.journey { position: relative; border-top: 0; }
.journey::before { content: ""; position: absolute; top: 0; bottom: 0; left: 5.2rem; width: 1px; background: var(--line); }
.journey li { position: relative; grid-template-columns: 8.5rem 1fr; align-items: center; min-height: 150px; padding: 1.8rem 0; border-color: rgba(33,30,26,.25); }
.journey li::before { content: ""; position: absolute; left: 4.9rem; width: .65rem; height: .65rem; border: 1px solid var(--moon); border-radius: 50%; background: var(--paper); }
.journey span { color: transparent; -webkit-text-stroke: 1px var(--moon); font-size: 4.6rem; line-height: 1; }

/* sec-faq-03: sticky editorial index */
.c-faq03 { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.c-faq03__side { position: sticky; top: 120px; }
.c-faq03__list { border-top: 1px solid var(--ink); }
.c-faq03 .faq { margin-top: 0; border-top: 0; }
.c-faq03 .faq details { border-color: rgba(33,30,26,.34); }
.c-faq03 .faq summary { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; padding: 1.6rem 0; }
.c-faq03 .faq summary::before { content: "Q"; color: var(--moon); font-family: var(--serif); }
.c-faq03 .faq details p { padding-left: 4rem; }

/* Free LP: one conversion path, seven sections */
.free-page .hero { min-height: 760px; }
.free-page .hero-copy { padding-bottom: 5rem; }
.free-page #scope,
.free-page #journey,
.free-page #faq,
.free-page #line-ready { scroll-margin-top: 88px; }
.free-page .final-cta--embedded { position: relative; margin-top: clamp(4.5rem, 8vw, 7rem); }
.free-page .final-cta--embedded .cta[aria-disabled="true"] { cursor: default; }
.free-page .journey li > div { position: relative; z-index: 1; }

@media (max-width: 860px) {
  .hero { min-height: 760px; }
  .hero::after { background: linear-gradient(180deg, rgba(232,220,201,0) 0%, rgba(232,220,201,.04) 34%, rgba(232,220,201,.78) 55%, var(--paper) 73%); }
  .hero-media img { object-position: 67% center; filter: contrast(1.12) saturate(.92); }
  .hero-copy { padding-top: 19rem; }
  .hero-world-note { display: none; }
  .hero-proof { position: absolute; left: 14px; right: 14px; bottom: 1rem; min-width: 0; grid-template-columns: repeat(3,1fr); }
  .hero-proof span { padding: .55rem .35rem; font-size: .58rem; text-align: center; }
  .split, .split--reverse, .c-message03, .c-faq03 { grid-template-columns: 1fr; }
  .c-message03__visual, .c-faq03__side { position: static; }
  .c-message03__label { writing-mode: horizontal-tb; }
  .image-band { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; }
  .image-band figure:first-child { grid-column: 1 / 3; grid-row: auto; }
  .image-band figure:first-child img { min-height: 420px; }
  .c-numbers02 { min-height: 0; display: grid; grid-template-columns: 1fr; }
  .c-numbers02__stat { position: static !important; padding: 1.8rem 0; text-align: left !important; border-bottom: 1px solid var(--line); }
  .c-numbers02::after { display: none; }
}

@media (max-width: 560px) {
  .hero h1 { font-size: 2.55rem; }
  .hero { min-height: 790px; }
  .hero-media { inset: 0 0 auto; height: 430px; }
  .hero-media img { object-position: 100% center; }
  .hero::after { background: linear-gradient(180deg, rgba(232,220,201,0) 0%, rgba(232,220,201,.04) 30%, rgba(232,220,201,.72) 49%, var(--paper) 62%); }
  .hero-copy { padding-top: 20rem; padding-bottom: 7rem; }
  .hero .eyebrow { display: inline-block; margin-left: -.4rem; padding: .25rem .4rem; background: rgba(232,220,201,.78); }
  .free-page .hero { min-height: 740px; }
  .free-page .hero-copy { padding-bottom: 4rem; }
  .free-page .mini-cta { font-size: .66rem; letter-spacing: .04em; }
  .free-page .final-cta--embedded { min-height: 560px; }
  .c-intro03 { padding: 5rem 0; }
  .c-intro03__row { font-size: 3.8rem; }
  .c-intro03__foot { display: block; }
  .c-intro03__foot small { display: block; margin-top: 1rem; }
  .result-sheet div, .result-sheet div:nth-child(even) { grid-template-columns: 1fr; gap: .25rem; }
  .two-sides > div { padding: 2rem 0; }
  .two-sides > div + div { border-left: 0; border-top: 1px solid var(--ink); }
  .image-band { display: block; }
  .image-band figure { margin-bottom: 1rem; }
  .image-band img, .image-band figure:first-child img { min-height: 0; aspect-ratio: 4/3; }
  .journey::before { left: 2rem; }
  .journey li { grid-template-columns: 4.5rem 1fr; }
  .journey li::before { left: 1.7rem; }
  .journey span { font-size: 2.8rem; }
  .c-faq03 .faq summary { grid-template-columns: 2rem 1fr; }
  .c-faq03 .faq details p { padding-left: 3rem; }
}

@media (prefers-reduced-motion: reduce) {
  .c-intro03__row { animation: none; }
  .hero-media img { animation: none; }
}

/* Free LP v3: deep-world copy and imagery dissolved into the paper */
.free-page .section { padding: clamp(4.5rem, 7vw, 6.5rem) 0; }
.free-page .hero-traces { opacity: .16; }
.free-page .hero h1 .line { white-space: nowrap; }
.free-page .hero-line-long > span { display: inline; }
.free-page .hero-line-long > span + span::before { content: none; }
.free-page .hero-lead { max-width: 34rem; }
.free-page #depth,
.free-page #return,
.free-page #method,
.free-page #journey,
.free-page #line-ready { scroll-margin-top: 88px; }

.free-page .free-depth,
.free-page .free-return,
.free-page .free-method {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  align-items: center;
}
.free-page .free-depth::before,
.free-page .free-return::before,
.free-page .free-method::before,
.free-page .free-depth::after,
.free-page .free-return::after,
.free-page .free-method::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.free-page .free-depth::before,
.free-page .free-return::before,
.free-page .free-method::before {
  z-index: 0;
  mix-blend-mode: multiply;
}
.free-page .free-depth::after,
.free-page .free-return::after,
.free-page .free-method::after { z-index: 1; }
.free-page .free-depth > .shell,
.free-page .free-return > .shell,
.free-page .free-method > .shell { position: relative; z-index: 2; }

.free-page .free-depth { min-height: 760px; }
.free-page .free-depth::before {
  inset: 0 0 0 auto;
  width: min(58vw, 780px);
  background: url("../images/result-name-ancient-v3.webp") 58% center / cover no-repeat;
  opacity: .42;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.28) 22%, #000 58%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.28) 22%, #000 58%);
}
.free-page .free-depth::after {
  background: linear-gradient(90deg, var(--paper) 0%, rgba(232,220,201,.97) 42%, rgba(232,220,201,.5) 68%, transparent 100%);
}
.free-page .free-depth__copy { max-width: 700px; }
.free-page .free-depth__body { max-width: 34rem; font-family: var(--serif); font-size: clamp(1.05rem, 1.7vw, 1.28rem); }
.free-page .free-depth__pull {
  max-width: 43rem;
  margin: 2.4rem 0;
  padding: 1.5rem 0;
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  font-family: var(--serif);
  font-size: clamp(1.35rem, 2.3vw, 2rem);
  line-height: 1.75;
}

.free-page .free-return { min-height: 860px; border-top: 1px solid rgba(33,30,26,.18); }
.free-page .free-return::before {
  background: url("../images/process-3-ancient-v2.webp") 44% 58% / cover no-repeat;
  opacity: .36;
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 58%, transparent 92%);
  mask-image: linear-gradient(90deg, #000 0%, #000 58%, transparent 92%);
}
.free-page .free-return::after {
  background: linear-gradient(90deg, rgba(232,220,201,.1) 0%, rgba(232,220,201,.58) 42%, var(--paper) 72%);
}
.free-page .free-return__copy { width: min(100%, 680px); margin-left: auto; }
.free-page .free-return__list { margin: 2.5rem 0; border-top: 1px solid var(--ink); }
.free-page .free-return__list > div {
  display: grid;
  grid-template-columns: minmax(12rem,.8fr) 1.2fr;
  gap: 2rem;
  padding: 1.35rem 0;
  border-bottom: 1px solid var(--line);
}
.free-page .free-return__list b { font-family: var(--serif); font-size: 1.08rem; }
.free-page .free-return__list span { color: var(--muted); }
.free-page .free-return__demo {
  margin: 2.7rem 0 2rem;
  padding: 1.5rem 0 1.5rem 1.6rem;
  border-left: 1px solid var(--moon);
  font-family: var(--serif);
}
.free-page .free-return__demo p:first-child { font-size: clamp(1.25rem,2vw,1.65rem); }
.free-page .free-return__promise { max-width: 38rem; font-weight: 700; }

.free-page .free-method { min-height: 880px; }
.free-page .free-method::before {
  background: url("../images/profile-ancient-v2.webp") right center / min(56vw,820px) auto no-repeat;
  opacity: .44;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.2) 24%, #000 58%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.2) 24%, #000 58%);
}
.free-page .free-method::after {
  background: linear-gradient(90deg, var(--paper) 0%, rgba(232,220,201,.96) 47%, rgba(232,220,201,.28) 79%);
}
.free-page .free-method__copy { max-width: 660px; }
.free-page .free-method__moons { margin: 2.5rem 0; border-top: 1px solid var(--ink); }
.free-page .free-method__moons > div {
  display: grid;
  grid-template-columns: 9rem 1fr;
  gap: 2rem;
  padding: 1.4rem 0;
  border-bottom: 1px solid var(--line);
}
.free-page .free-method__moons dt { color: var(--moon); font-family: var(--serif); font-size: 1.3rem; }
.free-page .free-method__moons dd { margin: 0; }
.free-page .free-method__trust { font-family: var(--serif); font-size: clamp(1.12rem,1.7vw,1.35rem); }

.free-page .free-journey { padding-bottom: 0; }
.free-page .free-journey > .shell { width: min(calc(100% - 40px), 980px); }
.free-page .free-journey__head { max-width: 720px; }
.free-page .free-journey .journey { max-width: 820px; margin: 3rem 0 0 auto; }
.free-page .free-journey .journey li { grid-template-columns: 7rem 1fr; }
.free-page .free-faq {
  display: grid;
  grid-template-columns: .68fr 1.32fr;
  gap: clamp(3rem, 7vw, 7rem);
  margin-top: clamp(5rem, 9vw, 8rem);
  padding-top: clamp(4rem, 7vw, 6rem);
  border-top: 1px solid var(--ink);
}
.free-page .free-faq .faq { margin-top: 0; border-top-color: var(--ink); }
.free-page .free-faq .faq summary { display: grid; grid-template-columns: 2rem 1fr; gap: 1rem; }
.free-page .free-faq .faq summary::before { content: "Q"; color: var(--moon); font-family: var(--serif); }
.free-page .free-faq .faq details p { padding-left: 3rem; }
.free-page .final-cta--embedded { position: relative; min-height: 540px; margin-top: clamp(4.5rem,8vw,7rem); }
.free-page .final-cta--embedded .cta[aria-disabled="true"] { cursor: default; }

@media (max-width: 860px) {
  .free-page .free-depth,
  .free-page .free-return,
  .free-page .free-method { min-height: auto; padding-top: 20rem; }
  .free-page .free-depth::before,
  .free-page .free-return::before,
  .free-page .free-method::before {
    inset: 0 0 auto;
    width: 100%;
    height: 390px;
    background-size: cover;
    opacity: .34;
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 48%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 0%, #000 48%, transparent 100%);
  }
  .free-page .free-depth::after,
  .free-page .free-return::after,
  .free-page .free-method::after {
    background: linear-gradient(180deg, transparent 0%, rgba(232,220,201,.54) 42%, var(--paper) 72%);
  }
  .free-page .free-return__copy { margin-left: 0; }
  .free-page .free-faq { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .free-page .section { padding: 3.75rem 0; }
  .free-page .hero { min-height: 790px; }
  .free-page .hero h1 { font-size: 2rem; line-height: 1.42; letter-spacing: .02em; }
  .free-page .hero-line-long > span { display: block; }
  .free-page .hero-line-long > span + span::before { content: none; }
  .free-page .mini-cta { min-height: 44px; display: inline-flex; align-items: center; font-size: .66rem; }
  .free-page .free-depth,
  .free-page .free-return,
  .free-page .free-method { padding-top: 17rem; }
  .free-page .free-depth::before,
  .free-page .free-return::before,
  .free-page .free-method::before { height: 330px; }
  .free-page .free-depth::before { background-position: 58% 50%; }
  .free-page .free-return::before { background-position: 46% 58%; }
  .free-page .free-method::before { background-position: 70% 45%; }
  .free-page .free-depth h2,
  .free-page .free-return h2,
  .free-page .free-method h2,
  .free-page .free-journey h2 { font-size: 2rem; }
  .free-page .free-return__list > div,
  .free-page .free-method__moons > div { grid-template-columns: 1fr; gap: .45rem; }
  .free-page .free-return__demo { padding-left: 1rem; }
  .free-page .free-journey .journey { margin-left: 0; }
  .free-page .free-journey .journey li { grid-template-columns: 4.5rem 1fr; }
  .free-page .free-faq { gap: 2rem; margin-top: 4.5rem; padding-top: 3.75rem; }
  .free-page .final-cta--embedded { min-height: 460px; }
}

/* Paid LP v4: one purchase decision, deep pattern copy, imagery inside the paper */
.paid-page--v4 .section { padding: clamp(4.75rem, 7.5vw, 7rem) 0; }
.paid-page--v4 .hero-traces { opacity: .16; }
.paid-page--v4 .hero h1 .line { white-space: nowrap; }
.paid-page--v4 .paid-hero-line-long > span { display: block; }
.paid-page--v4 .hero-lead { max-width: 37rem; }
.paid-page--v4 .paid-hero .hero-copy { max-width: 700px; }
.paid-page--v4 .paid-hero h1 { max-width: 11em; text-wrap: balance; }
.paid-page--v4 #pattern,
.paid-page--v4 #protocol,
.paid-page--v4 #offer,
.paid-page--v4 #faq,
.paid-page--v4 #paid-ready { scroll-margin-top: 88px; }

.paid-page--v4 .paid-pattern,
.paid-page--v4 .paid-protocol,
.paid-page--v4 .paid-offer,
.paid-page--v4 .paid-decision {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.paid-page--v4 .paid-pattern::before,
.paid-page--v4 .paid-protocol::before,
.paid-page--v4 .paid-offer::before,
.paid-page--v4 .paid-decision::before,
.paid-page--v4 .paid-pattern::after,
.paid-page--v4 .paid-protocol::after,
.paid-page--v4 .paid-offer::after,
.paid-page--v4 .paid-decision::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.paid-page--v4 .paid-pattern::before,
.paid-page--v4 .paid-protocol::before,
.paid-page--v4 .paid-offer::before,
.paid-page--v4 .paid-decision::before { z-index: 0; mix-blend-mode: multiply; }
.paid-page--v4 .paid-pattern::after,
.paid-page--v4 .paid-protocol::after,
.paid-page--v4 .paid-offer::after,
.paid-page--v4 .paid-decision::after { z-index: 1; }
.paid-page--v4 .paid-pattern > .shell,
.paid-page--v4 .paid-protocol > .shell,
.paid-page--v4 .paid-offer > .shell,
.paid-page--v4 .paid-decision > .shell { position: relative; z-index: 2; }

.paid-page--v4 .paid-pattern { min-height: 820px; display: grid; align-items: center; }
.paid-page--v4 .paid-pattern::before {
  inset: 0 0 0 auto;
  width: min(58vw, 820px);
  background: url("../images/paid-output-common.webp") 58% center / cover no-repeat;
  opacity: .38;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.25) 24%, #000 60%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.25) 24%, #000 60%);
}
.paid-page--v4 .paid-pattern::after {
  inset: 0;
  background: linear-gradient(90deg, var(--paper) 0%, rgba(232,220,201,.97) 43%, rgba(232,220,201,.46) 72%, transparent 100%);
}
.paid-page--v4 .paid-pattern__copy { max-width: 760px; }
.paid-page--v4 .paid-pattern__body { max-width: 37rem; font-family: var(--serif); font-size: clamp(1.05rem,1.7vw,1.28rem); }
.paid-page--v4 .paid-pattern__pull {
  max-width: 45rem;
  margin: 2.4rem 0;
  padding: 1.5rem 0;
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  font-family: var(--serif);
  font-size: clamp(1.4rem,2.4vw,2.05rem);
  line-height: 1.72;
}

.paid-page--v4 .paid-protocol { min-height: 920px; display: grid; align-items: center; }
.paid-page--v4 .paid-protocol::before {
  inset: 0 auto 0 0;
  width: min(56vw, 780px);
  background: url("../images/paid-output-protocol.webp") 46% center / cover no-repeat;
  opacity: .4;
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 54%, transparent 92%);
  mask-image: linear-gradient(90deg, #000 0%, #000 54%, transparent 92%);
}
.paid-page--v4 .paid-protocol::after {
  inset: 0;
  background: linear-gradient(90deg, rgba(232,220,201,.08) 0%, rgba(232,220,201,.68) 42%, var(--paper) 69%);
}
.paid-page--v4 .paid-protocol__copy { width: min(100%, 760px); margin-left: auto; }
.paid-page--v4 .paid-protocol__steps,
.paid-page--v4 .paid-protocol__scope,
.paid-page--v4 .paid-value-stages { margin: 2.7rem 0; border-top: 1px solid var(--ink); }
.paid-page--v4 .paid-protocol__steps > div,
.paid-page--v4 .paid-protocol__scope > div,
.paid-page--v4 .paid-value-stages > div {
  display: grid;
  grid-template-columns: minmax(10rem,.72fr) 1.28fr;
  gap: 2rem;
  padding: 1.3rem 0;
  border-bottom: 1px solid var(--line);
}
.paid-page--v4 .paid-protocol__steps b,
.paid-page--v4 .paid-protocol__scope b,
.paid-page--v4 .paid-value-stages b { font-family: var(--serif); font-size: 1.12rem; }
.paid-page--v4 .paid-protocol__steps span,
.paid-page--v4 .paid-protocol__scope span,
.paid-page--v4 .paid-value-stages span { color: var(--muted); }
.paid-page--v4 .paid-example {
  margin: 3rem 0;
  padding: 1.6rem 0 1.6rem 1.8rem;
  border-left: 1px solid var(--moon);
  font-family: var(--serif);
}
.paid-page--v4 .paid-example p:first-child { font-size: clamp(1.22rem,1.9vw,1.6rem); }
.paid-page--v4 .paid-protocol__trust { max-width: 42rem; color: var(--muted); }

.paid-page--v4 .paid-offer { padding-bottom: clamp(6rem,10vw,9rem); }
.paid-page--v4 .paid-offer::before {
  inset: auto 0 0 auto;
  width: min(46vw, 660px);
  height: 760px;
  background: url("../images/line-journey-ancient-v2.webp") 56% center / cover no-repeat;
  opacity: .16;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 64%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 64%);
}
.paid-page--v4 .paid-offer::after { inset: 0; background: linear-gradient(90deg, transparent 56%, rgba(232,220,201,.8) 100%); opacity: .25; }
.paid-page--v4 .paid-offer__head { max-width: 820px; }
.paid-page--v4 .paid-comparison { display: grid; grid-template-columns: 1fr 1fr; margin-top: 3.5rem; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.paid-page--v4 .paid-comparison > div { padding: 2.5rem clamp(1.5rem,3vw,3rem); }
.paid-page--v4 .paid-comparison > div + div { border-left: 1px solid var(--ink); }
.paid-page--v4 .paid-comparison small { color: var(--moon); font-weight: 700; letter-spacing: .13em; }
.paid-page--v4 .paid-comparison h3 { margin: .8rem 0 1.2rem; font-size: clamp(1.55rem,2.5vw,2.2rem); }
.paid-page--v4 .paid-comparison__note { max-width: 760px; margin: 1.5rem 0 0 auto; font-family: var(--serif); font-size: 1.08rem; }

.paid-page--v4 .paid-facts-strip { display: grid; grid-template-columns: repeat(3,1fr); margin-top: clamp(4rem,7vw,6rem); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.paid-page--v4 .paid-facts-strip > div { min-height: 210px; display: flex; flex-direction: column; justify-content: space-between; padding: 1.8rem; }
.paid-page--v4 .paid-facts-strip > div + div { border-left: 1px solid var(--ink); }
.paid-page--v4 .paid-facts-strip strong { font-family: var(--serif); font-size: clamp(3.2rem,6.4vw,6rem); line-height: 1; }
.paid-page--v4 .paid-facts-strip strong small { color: var(--moon); font-size: .22em; }
.paid-page--v4 .paid-facts-strip span { color: var(--muted); }

.paid-page--v4 .paid-offer-summary {
  width: min(100%, 900px);
  margin: clamp(3.5rem, 6vw, 5rem) 0 0 auto;
  padding: clamp(1.5rem, 3vw, 2.2rem) 0;
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
}
.paid-page--v4 .paid-offer-summary__price { display: flex; justify-content: space-between; align-items: baseline; gap: 2rem; font-family: var(--serif); }
.paid-page--v4 .paid-offer-summary__price b { font-size: 1.15rem; font-weight: 500; }
.paid-page--v4 .paid-offer-summary__price strong { font-size: clamp(1.35rem, 2.4vw, 2rem); font-weight: 500; text-align: right; }
.paid-page--v4 .paid-terms { margin: 2.5rem 0 0 auto; width: min(100%, 880px); border-top: 1px solid var(--ink); }
.paid-page--v4 .paid-terms > div { display: grid; grid-template-columns: 9rem 1fr; gap: 2rem; padding: 1.25rem 0; border-bottom: 1px solid var(--line); }
.paid-page--v4 .paid-terms dt { font-family: var(--serif); }
.paid-page--v4 .paid-terms dd { margin: 0; }
.paid-page--v4 .paid-offer-summary .paid-terms { width: 100%; margin-top: 1.5rem; }
.paid-page--v4 .paid-offer-summary .paid-terms > div:last-child { border-bottom: 0; }

.paid-page--v4 .paid-flow { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(3rem,7vw,7rem); align-items: start; margin-top: clamp(5rem,9vw,8rem); padding-top: clamp(4rem,7vw,6rem); border-top: 1px solid var(--ink); }
.paid-page--v4 .paid-flow__head { position: sticky; top: 120px; }
.paid-page--v4 .paid-flow__head h3 { font-size: clamp(1.8rem,3vw,2.7rem); }
.paid-page--v4 .paid-flow .journey { margin-top: 0; }
.paid-page--v4 .paid-flow .journey li { grid-template-columns: 7rem 1fr; min-height: 118px; }
.paid-page--v4 .paid-flow .journey li b { font-family: var(--serif); font-size: 1.1rem; }
.paid-page--v4 .paid-flow .journey li p { margin: .35rem 0 0; color: var(--muted); }

.paid-page--v4 .paid-faq { display: grid; grid-template-columns: .68fr 1.32fr; gap: clamp(3rem,7vw,7rem); margin-top: clamp(5rem,9vw,8rem); padding-top: clamp(4rem,7vw,6rem); border-top: 1px solid var(--ink); }
.paid-page--v4 .paid-faq__head { position: sticky; top: 120px; }
.paid-page--v4 .paid-faq__head h3 { font-size: clamp(1.8rem,3vw,2.7rem); }
.paid-page--v4 .paid-faq .faq { margin-top: 0; border-top-color: var(--ink); }
.paid-page--v4 .paid-faq .faq summary { display: grid; grid-template-columns: 2rem 1fr; gap: 1rem; }
.paid-page--v4 .paid-faq .faq summary::before { content: "Q"; color: var(--moon); font-family: var(--serif); }
.paid-page--v4 .paid-faq .faq details p { padding-left: 3rem; }
.paid-page--v4 .paid-legal-note { max-width: 760px; margin: 2rem 0 0 auto; color: var(--muted); font-size: .84rem; }
.paid-page--v4 .paid-legal-note a { color: var(--ink); text-decoration: underline; text-underline-offset: .2em; }

.paid-page--v4 .paid-decision { min-height: 680px; display: grid; place-items: center; text-align: left; }
.paid-page--v4 .paid-decision::before {
  inset: 0;
  background: url("../images/no-purchase-ancient-v2.webp") 72% 48% / cover no-repeat;
  opacity: .35;
}
.paid-page--v4 .paid-decision::after {
  inset: 0;
  background: linear-gradient(90deg, var(--paper) 0%, rgba(232,220,201,.94) 45%, rgba(232,220,201,.26) 82%);
}
.paid-page--v4 .paid-decision .shell { width: min(calc(100% - 40px), var(--content)); }
.paid-page--v4 .paid-decision h2 { max-width: 800px; }
.paid-page--v4 .paid-decision__lead { max-width: 660px; font-family: var(--serif); font-size: clamp(1.1rem,1.8vw,1.4rem); }
.paid-page--v4 .paid-no-need { max-width: 700px; margin: 2.5rem 0; padding: 1.5rem 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.paid-page--v4 .paid-no-need p { margin-top: 0; font-family: var(--serif); font-size: 1.12rem; }
.paid-page--v4 .paid-no-need ul { margin-bottom: 0; padding-left: 1.2rem; }
.paid-page--v4 .paid-fit-note { max-width: 700px; margin: 2.2rem 0; padding-top: 1.4rem; border-top: 1px solid rgba(217,192,139,.44); color: rgba(244,237,223,.82); }
.paid-page--v4 .paid-fit-note b { display: block; margin-bottom: .45rem; color: #f4eddf; font-family: var(--serif); font-weight: 500; }
.paid-page--v4 .paid-decision__price { margin: 2rem 0 1.2rem; font-family: var(--serif); }
.paid-page--v4 .paid-decision__price strong { margin-left: .5rem; font-size: 1.6rem; }
.paid-page--v4 .paid-decision .cta[aria-disabled="true"] { cursor: default; }

@media (max-width: 860px) {
  .paid-page--v4 .paid-pattern,
  .paid-page--v4 .paid-protocol { min-height: auto; padding-top: 21rem; }
  .paid-page--v4 .paid-pattern::before,
  .paid-page--v4 .paid-protocol::before {
    inset: 0 0 auto;
    width: 100%;
    height: 410px;
    background-size: cover;
    opacity: .32;
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 50%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 0%, #000 50%, transparent 100%);
  }
  .paid-page--v4 .paid-pattern::after,
  .paid-page--v4 .paid-protocol::after { background: linear-gradient(180deg, transparent 0%, rgba(232,220,201,.55) 43%, var(--paper) 72%); }
  .paid-page--v4 .paid-protocol__copy { margin-left: 0; }
  .paid-page--v4 .paid-flow,
  .paid-page--v4 .paid-faq { grid-template-columns: 1fr; }
  .paid-page--v4 .paid-flow__head,
  .paid-page--v4 .paid-faq__head { position: static; }
}

@media (max-width: 560px) {
  .paid-page--v4 { line-height: 1.78; }
  .paid-page--v4 .section { padding: 2.5rem 0; }
  .paid-page--v4 .paid-hero { min-height: 780px; }
  .paid-page--v4 .hero h1 { font-size: 1.95rem; line-height: 1.44; letter-spacing: .015em; }
  .paid-page--v4 .hero h1 .line { white-space: normal; }
  .paid-page--v4 .paid-hero-line-long > span { display: block; }
  .paid-page--v4 .mini-cta { min-height: 44px; display: inline-flex; align-items: center; font-size: .66rem; }
  .paid-page--v4 .paid-pattern,
  .paid-page--v4 .paid-protocol { padding-top: 13rem; }
  .paid-page--v4 .paid-pattern::before,
  .paid-page--v4 .paid-protocol::before { height: 270px; }
  .paid-page--v4 .paid-pattern h2,
  .paid-page--v4 .paid-protocol h2,
  .paid-page--v4 .paid-offer h2,
  .paid-page--v4 .paid-decision h2 { margin-bottom: 1.2rem; font-size: 1.85rem; }
  .paid-page--v4 .section-index { margin-bottom: .9rem; }
  .paid-page--v4 .paid-pattern__body p { margin: 0 0 .9rem; }
  .paid-page--v4 .paid-pattern__pull { margin: 1.2rem 0; padding: 1rem 0; }
  .paid-page--v4 .paid-value-stages { margin: 1.5rem 0; }
  .paid-page--v4 .paid-protocol__steps > div,
  .paid-page--v4 .paid-protocol__scope > div,
  .paid-page--v4 .paid-value-stages > div,
  .paid-page--v4 .paid-terms > div { grid-template-columns: 1fr; gap: .4rem; padding: .8rem 0; }
  .paid-page--v4 .paid-example { margin: 1.5rem 0; padding: 1rem 0 1rem 1rem; }
  .paid-page--v4 .paid-comparison { grid-template-columns: 1fr; margin-top: 2rem; }
  .paid-page--v4 .paid-comparison > div { padding: 1.25rem 0; }
  .paid-page--v4 .paid-comparison > div + div { border-left: 0; border-top: 1px solid var(--ink); }
  .paid-page--v4 .paid-comparison h3 { margin: .6rem 0 .8rem; }
  .paid-page--v4 .paid-comparison__note { margin-top: 1rem; }
  .paid-page--v4 .paid-facts-strip { grid-template-columns: 1fr; }
  .paid-page--v4 .paid-facts-strip > div { min-height: 150px; padding: 1.5rem 0; }
  .paid-page--v4 .paid-facts-strip > div + div { border-left: 0; border-top: 1px solid var(--ink); }
  .paid-page--v4 .paid-facts-strip strong { font-size: 4.2rem; }
  .paid-page--v4 .paid-offer-summary { margin-top: 2rem; padding: 1rem 0; }
  .paid-page--v4 .paid-offer-summary__price { display: block; }
  .paid-page--v4 .paid-offer-summary__price strong { display: block; margin-top: .45rem; text-align: left; }
  .paid-page--v4 .paid-offer-summary .paid-terms { margin-top: 1rem; }
  .paid-page--v4 .paid-flow,
  .paid-page--v4 .paid-faq { gap: 1.5rem; margin-top: 2.5rem; padding-top: 2rem; }
  .paid-page--v4 .paid-flow .journey li { grid-template-columns: 4.5rem 1fr; min-height: 0; padding: .9rem 0; }
  .paid-page--v4 .paid-faq .faq summary { padding-top: 1rem; padding-bottom: 1rem; }
  .paid-page--v4 .paid-legal-note { margin-top: 1.25rem; }
  .paid-page--v4 .paid-decision { min-height: 640px; }
  .paid-page--v4 .paid-fit-note { margin: 1.5rem 0; padding-top: 1rem; }
  .paid-page--v4 .paid-decision__price { margin: 1.25rem 0 .9rem; }
  .paid-page--v4 .paid-decision::before { background-position: 60% 40%; }
  .paid-page--v4 .paid-decision::after { background: linear-gradient(180deg, rgba(232,220,201,.18) 0%, var(--paper) 42%); }
}

/* Free LP v4: clearer copy, quieter typography, one LINE action */
.free-page--v4 {
  --free-heading: "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;
  --free-body: -apple-system, BlinkMacSystemFont, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "BIZ UDPGothic", "Yu Gothic", sans-serif;
  font-family: var(--free-body);
  line-height: 1.85;
  letter-spacing: .018em;
}
body.free-page--v4::before {
  display: none;
}
.free-page--v4 h1,
.free-page--v4 h2,
.free-page--v4 h3,
.free-page--v4 .brand,
.free-page--v4 .free-depth__pull,
.free-page--v4 .free-return__list b,
.free-page--v4 .free-method__moons dt,
.free-page--v4 .free-method__trust {
  font-family: var(--free-heading);
}
.free-page--v4 h1,
.free-page--v4 h2,
.free-page--v4 h3 {
  font-weight: 600;
  letter-spacing: .025em;
}
.free-page--v4 .hero {
  min-height: 700px;
}
.free-page--v4 .hero-media img {
  animation: none;
  filter: none;
}
.free-page--v4 .hero-traces {
  display: none;
}
.free-page--v4 .hero-copy {
  max-width: 690px;
  padding: 7.5rem 0 6rem;
}
.free-page--v4 .hero-kicker {
  margin: 0 0 1.1rem;
  color: var(--moon);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .12em;
}
.free-page--v4 .hero h1 {
  font-size: clamp(2.55rem, 4.55vw, 4.35rem);
  line-height: 1.42;
}
.free-page--v4 .hero-lead {
  max-width: 35rem;
  margin: 1.65rem 0 .8rem;
  font-family: var(--free-body);
  font-size: clamp(1rem, 1.35vw, 1.13rem);
  line-height: 1.9;
}
.free-page--v4 .cta,
.free-page--v4 .mini-cta {
  font-family: var(--free-body);
  letter-spacing: .035em;
}
.free-page--v4 .section h2 {
  margin-bottom: 1.55rem;
  font-size: clamp(2rem, 3.45vw, 3.25rem);
  line-height: 1.48;
}
.free-page--v4 .eyebrow {
  margin-bottom: .85rem;
  font-weight: 600;
  letter-spacing: .14em;
}
.free-page--v4 .free-depth__body,
.free-page--v4 .free-method__trust,
.free-page--v4 .faq summary {
  font-family: var(--free-body);
}
.free-page--v4 .free-depth__body {
  font-size: clamp(1rem, 1.35vw, 1.13rem);
}
.free-page--v4 .free-depth__pull {
  max-width: 38rem;
  margin: 2.15rem 0 0;
  font-size: clamp(1.3rem, 2vw, 1.75rem);
  line-height: 1.8;
}
.free-page--v4 .free-return__list {
  margin: 2.15rem 0 1.7rem;
}
.free-page--v4 .free-return__list > div {
  grid-template-columns: minmax(13rem, .9fr) 1.1fr;
  gap: 1.5rem;
}
.free-page--v4 .free-return__list b {
  font-size: 1.03rem;
  font-weight: 600;
}
.free-page--v4 .free-return__promise {
  font-weight: 600;
}
.free-page--v4 .free-method__moons {
  margin: 2rem 0;
}
.free-page--v4 .free-method__moons dt {
  font-size: 1.12rem;
  font-weight: 600;
}
.free-page--v4 .free-method__trust {
  font-size: clamp(1.12rem, 1.55vw, 1.3rem);
  line-height: 1.8;
}
.free-page--v4 .free-journey .journey li b {
  font-weight: 600;
}
.free-page--v4 .free-faq .faq summary {
  font-weight: 600;
}
.free-page--v4 .final-cta--embedded {
  min-height: 500px;
}
.free-page--v4 .final-cta--embedded h2 {
  font-size: clamp(2.2rem, 4vw, 3.8rem);
}

@media (max-width: 860px) {
  .free-page--v4 .hero {
    min-height: 720px;
  }
  .free-page--v4 .hero-copy {
    padding: 18rem 0 4.5rem;
  }
}

@media (max-width: 560px) {
  .free-page--v4 {
    line-height: 1.8;
  }
  .free-page--v4 .hero {
    min-height: 720px;
  }
  .free-page--v4 .hero-copy {
    padding: 15.5rem 0 3.75rem;
  }
  .free-page--v4 .hero h1 {
    font-size: clamp(2rem, 9vw, 2.55rem);
    line-height: 1.46;
  }
  .free-page--v4 .hero-lead {
    margin-top: 1.25rem;
    line-height: 1.78;
  }
  .free-page--v4 .hero .cta,
  .free-page--v4 .final-cta .cta {
    width: 100%;
  }
  .free-page--v4 .section h2,
  .free-page--v4 .free-depth h2,
  .free-page--v4 .free-return h2,
  .free-page--v4 .free-method h2,
  .free-page--v4 .free-journey h2 {
    font-size: 1.9rem;
  }
  .free-page--v4 .free-return__list > div,
  .free-page--v4 .free-method__moons > div {
    grid-template-columns: 1fr;
    gap: .35rem;
  }
  .free-page--v4 .free-journey .journey li {
    grid-template-columns: 3.5rem 1fr;
  }
}

/* 2026-08-15 月の神域 world v1 — 月の門 / 星見の庭 / 還りの参道 */
.world-v1 {
  --paper: #ece5d7;
  --paper-light: #f4efe6;
  --wash: #ddd3c2;
  --ink: #17162a;
  --muted: #585565;
  --line: rgba(23, 22, 42, .24);
  --moon: #a98443;
  color: var(--ink);
  background: var(--paper);
}

.world-v1 .site-header {
  color: #f4eddf;
  background: rgba(18, 18, 38, .93);
  border-color: rgba(219, 194, 137, .28);
  backdrop-filter: blur(12px);
}
.world-v1 .site-header a { color: inherit; }
.world-v1 .brand::before {
  border-color: #d9c08b;
  box-shadow: 8px 0 0 -7px #17162a, 8px 0 0 -6px #d9c08b;
}
.world-v1 .brand small { color: rgba(244, 237, 223, .68); }
.world-v1 .mini-cta,
.world-v1 .cta {
  color: #17162a;
  background: #c3a15d;
  border-color: #d9c08b;
  box-shadow: none;
}
.world-v1 .mini-cta:hover,
.world-v1 .cta:hover { color: #111024; background: #d7ba7b; }

.world-v1 .hero { color: #f4eddf; background: #111024; }
.world-v1 .hero::after {
  background: linear-gradient(90deg, rgba(14, 14, 34, .98) 0%, rgba(19, 19, 43, .92) 34%, rgba(19, 19, 43, .46) 58%, rgba(19, 19, 43, .1) 100%);
}
.world-v1 .hero-media { background: #111024; }
.world-v1 .hero-media img {
  object-position: center;
  filter: saturate(.82) contrast(1.05) brightness(.82);
}
.world-v1 .hero-kicker,
.world-v1 .hero .eyebrow,
.world-v1 .hero-world-note { color: #d9c08b; }
.world-v1 .hero-lead,
.world-v1 .hero .cta-note { color: rgba(244, 237, 223, .84); }
.world-v1 .hero-proof {
  border-color: rgba(217, 192, 139, .56);
  color: #f4eddf;
  background: rgba(14, 14, 34, .7);
}
.world-v1 .hero-proof span { font-size: .75rem; }
.world-v1 .hero-proof span + span { border-color: rgba(217, 192, 139, .32); }
.world-v1 .reading-progress { background: rgba(244, 237, 223, .12); }
.world-v1 .reading-progress__bar { background: #c3a15d; }

.world-v1 .free-depth::before {
  background-image: url("../images/world-moon-gate.webp");
  background-position: 54% 44%;
  opacity: .24;
  mix-blend-mode: normal;
}
.world-v1 .free-return::before,
.world-v1 .paid-pattern::before {
  background-image: url("../images/world-star-garden.webp");
  background-position: 50% 52%;
  opacity: .27;
  mix-blend-mode: normal;
}
.world-v1 .free-method::before,
.world-v1 .paid-protocol::before {
  background-image: url("../images/world-return-path.webp");
  background-position: 58% 48%;
  opacity: .25;
  mix-blend-mode: normal;
}
.world-v1 .free-depth::after,
.world-v1 .paid-pattern::after {
  background: linear-gradient(90deg, var(--paper) 0%, rgba(236,229,215,.97) 47%, rgba(236,229,215,.58) 73%, transparent 100%);
}
.world-v1 .free-return::after,
.world-v1 .paid-protocol::after {
  background: linear-gradient(90deg, rgba(236,229,215,.12) 0%, rgba(236,229,215,.67) 42%, var(--paper) 72%);
}
.world-v1 .free-method::after {
  background: linear-gradient(90deg, var(--paper) 0%, rgba(236,229,215,.97) 49%, rgba(236,229,215,.36) 82%);
}
.world-v1 .eyebrow,
.world-v1 .section-index,
.world-v1 .free-method__moons dt,
.world-v1 .paid-comparison small { color: #806128; }
.world-v1 .free-depth__pull,
.world-v1 .paid-pattern__pull { border-color: rgba(23,22,42,.54); }
.world-v1 .free-return__list,
.world-v1 .free-method__moons,
.world-v1 .paid-protocol__steps,
.world-v1 .paid-protocol__scope,
.world-v1 .paid-value-stages,
.world-v1 .paid-comparison,
.world-v1 .paid-facts-strip,
.world-v1 .paid-offer-summary,
.world-v1 .paid-terms,
.world-v1 .paid-flow,
.world-v1 .paid-faq { border-color: rgba(23,22,42,.54); }
.world-v1 .journey span { -webkit-text-stroke-color: #9a7533; }
.world-v1 .journey li::before { border-color: #9a7533; }

.world-v1 .final-cta--embedded::before,
.world-v1.paid-page .final-cta::before,
.world-v1 .paid-decision::before {
  background-image: linear-gradient(90deg, rgba(16,16,36,.96) 0%, rgba(16,16,36,.76) 55%, rgba(16,16,36,.26) 100%), url("../images/world-return-path.webp");
  background-position: 50% 56%;
  opacity: 1;
  mix-blend-mode: normal;
}
.world-v1 .final-cta--embedded,
.world-v1 .paid-decision { color: #f4eddf; background: #111024; }
.world-v1 .final-cta--embedded .eyebrow,
.world-v1 .paid-decision .section-index { color: #d9c08b; }
.world-v1 .paid-decision::after { background: none; }
.world-v1 .paid-decision__lead,
.world-v1 .paid-decision .paid-legal-note,
.world-v1 .paid-decision .paid-legal-note a { color: rgba(244,237,223,.82); }
.world-v1 .paid-no-need { border-color: rgba(217,192,139,.44); }
.world-v1 .paid-offer::before {
  background-image: url("../images/world-return-path.webp");
  opacity: .1;
  mix-blend-mode: normal;
}
.world-v1 .site-footer { color: #ddd5c7; background: #111024; }
.world-v1 .site-footer a { color: inherit; }

@media (max-width: 860px) {
  .world-v1 .hero::after {
    background: linear-gradient(180deg, rgba(14,14,34,.06) 0%, rgba(14,14,34,.22) 34%, rgba(14,14,34,.88) 60%, #111024 78%);
  }
  .world-v1 .hero-media img { object-position: 66% center; }
  .world-v1 .free-depth::after,
  .world-v1 .free-return::after,
  .world-v1 .free-method::after,
  .world-v1 .paid-pattern::after,
  .world-v1 .paid-protocol::after {
    background: linear-gradient(180deg, transparent 0%, rgba(236,229,215,.56) 43%, var(--paper) 73%);
  }
}

/* 2026-08-24 responsive copy hierarchy */
.free-page--v4 .hero h1,
.free-page--v4 .section h2,
.free-page--v4 .free-depth__pull {
  text-wrap: balance;
  word-break: auto-phrase;
}
.free-page--v4 .hero h1 { max-width: 13em; }
.free-page--v4 .free-depth h2,
.free-page--v4 .free-return h2,
.free-page--v4 .free-method h2,
.free-page--v4 .free-journey__head h2 { max-width: 15em; }
.free-page--v4 .free-faq h2 { max-width: 12em; }
.free-page--v4 .final-cta--embedded h2 { max-width: 18em; }

@media (max-width: 560px) {
  .free-page--v4 .hero h1 { max-width: 12em; font-size: clamp(1.9rem, 8.6vw, 2.4rem); line-height: 1.5; }
  .free-page--v4 .section h2,
  .free-page--v4 .free-depth h2,
  .free-page--v4 .free-return h2,
  .free-page--v4 .free-method h2,
  .free-page--v4 .free-journey h2 { font-size: clamp(1.75rem, 8vw, 1.9rem); line-height: 1.58; }
  .paid-page--v4 .paid-hero h1 { max-width: 12em; font-size: clamp(1.85rem, 8.3vw, 2.25rem); line-height: 1.48; }
}

@media (max-width: 560px) {
  .world-v1 .site-header .brand small { display: none; }
  .world-v1 .hero-media { height: 455px; }
  .world-v1 .hero-media img { object-position: 72% center; }
  .world-v1 .hero::after {
    background: linear-gradient(180deg, rgba(14,14,34,.02) 0%, rgba(14,14,34,.2) 35%, rgba(14,14,34,.91) 62%, #111024 78%);
  }
  .world-v1 .hero .eyebrow { color: #d9c08b; background: rgba(14,14,34,.74); }
  .world-v1 .free-depth::before,
  .world-v1 .free-return::before,
  .world-v1 .free-method::before,
  .world-v1 .paid-pattern::before,
  .world-v1 .paid-protocol::before { background-position: 50% 43%; }
  .world-v1 .final-cta--embedded::before,
  .world-v1.paid-page .final-cta::before,
  .world-v1 .paid-decision::before {
    background-image: linear-gradient(180deg, rgba(16,16,36,.52), rgba(16,16,36,.96) 58%), url("../images/world-return-path.webp");
    background-position: 52% 45%;
  }
}
