:root {
  --deep: #071c2b;
  --deepest: #04131f;
  --navy: #0a2c42;
  --forest: #08735e;
  --mint: #9fe0c6;
  --gold: #f0c76d;
  --ruby: #a23045;
  --paper: #faf7ee;
  --white: #f8fbfb;
  --muted: #b7cad0;
  --line: rgba(183, 209, 212, .17);
  --font: 'Manrope', 'Segoe UI', Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 30px; }
body { margin: 0; background: var(--deep); color: var(--white); font: 400 16px/1.68 var(--font); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { border: 0; font: inherit; color: inherit; cursor: pointer; }
img { display: block; max-width: 100%; }
h1, h2, h3, p, figure { margin: 0; }
h1, h2, h3 { font-weight: 800; line-height: 1.08; letter-spacing: -.045em; }
h2 { font-size: clamp(2.6rem, 4.45vw, 4.5rem); }
h3 { font-size: 1.4rem; }
button:focus-visible, a:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline: 3px solid var(--gold); outline-offset: 5px; }
[hidden] { display: none !important; }
.wrap { width: min(1260px, 88%); margin-inline: auto; }
.section-space { padding-block: 112px; }
.muted { color: var(--muted); }
.gold { color: var(--gold); }
.eyebrow { font-size: .8rem; line-height: 1.6; font-weight: 800; letter-spacing: .14em; margin-bottom: 22px; }
.skip-link { position: fixed; top: -80px; left: 16px; z-index: 100; background: var(--gold); color: var(--deep); padding: 10px 18px; border-radius: 6px; }
.skip-link:focus { top: 16px; }
.reading-progress { position: fixed; inset: 0 auto auto 0; z-index: 70; width: 0; height: 4px; background: linear-gradient(90deg, var(--mint), var(--gold)); }

.site-header { position: absolute; inset: 0 0 auto; z-index: 25; display: flex; align-items: center; justify-content: space-between; gap: 25px; padding-top: 29px; }
.brand { font-size: 1.1rem; font-weight: 800; line-height: 1.1; letter-spacing: -.035em; white-space: nowrap; }
.brand span { display: block; color: var(--gold); font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; margin-top: 3px; }
.header-nav { display: flex; align-items: center; gap: 32px; font-size: .82rem; font-weight: 700; }
.header-nav > a:not(.nav-offer) { color: #d9e6e7; transition: color .2s; }
.header-nav > a:not(.nav-offer):hover { color: var(--gold); }
.nav-offer { border: 1px solid rgba(240, 199, 109, .65); padding: 10px 17px; border-radius: 99px; color: var(--gold); }
.nav-offer span { padding-left: 7px; }

.button { position: relative; z-index: 0; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 56px; padding: 14px 25px; border-radius: 99px; font-size: .95rem; font-weight: 800; line-height: 1.4; transition: transform .25s, background .25s, box-shadow .25s; }
.button:hover { transform: translateY(-3px); }
.button > span { font-size: 1.2rem; }
.button-gold { color: var(--deepest); background: var(--gold); box-shadow: 0 8px 30px rgba(240, 199, 109, .19); }
.button-gold:hover { background: #ffe39a; box-shadow: 0 12px 35px rgba(240, 199, 109, .25); }
.light-sweep::after { content: ''; position: absolute; z-index: -1; top: -35%; bottom: -35%; left: -30%; width: 50px; transform: skewX(-22deg); background: #fff8; animation: shine 5s ease-in-out infinite; }
.text-link { display: inline-flex; align-items: center; gap: 14px; font-weight: 800; font-size: .93rem; color: var(--gold); }

/* Three silent, text-free five-second motion scenes replace the three PRF videos. */
.motion-scene { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.motion-scene:not(.is-active) *, .motion-scene:not(.is-active)::before, .motion-scene:not(.is-active)::after { animation-play-state: paused !important; }
.motion-scene .scene-landscape { position: absolute; inset: -4%; background-size: cover; background-position: center; will-change: transform; animation: landscape-drift 5s ease-in-out infinite; }
.hero { position: relative; min-height: 800px; height: min(920px, 100svh); isolation: isolate; overflow: hidden; }
.motion-hero { z-index: -2; background: radial-gradient(circle at 75% 46%, #1a695d, #0c3040 47%, #061b2a 84%); }
.motion-hero .scene-landscape { background-image: url('assets/hero-landscape.webp'); background-position: 72% center; opacity: .46; filter: saturate(.85) contrast(1.16) brightness(.64); }
.scene-grid { position: absolute; inset: 0; opacity: .16; background-image: linear-gradient(#8de3d722 1px, transparent 1px), linear-gradient(90deg, #8de3d722 1px, transparent 1px); background-size: 80px 80px; mask-image: linear-gradient(90deg, transparent 27%, black 70%); animation: grid-drift 5s ease-in-out infinite; }
.hero-halo { position: absolute; width: 65vw; height: 65vw; max-width: 900px; max-height: 900px; right: -7%; top: -5%; border-radius: 50%; background: radial-gradient(circle, #a7d5a526, #f0c76d10 45%, transparent 70%); animation: halo-breath 5s ease-in-out infinite; }
.hero-map-shell { position: absolute; width: min(47vw, 585px); right: 11%; top: 17%; filter: drop-shadow(0 0 12px #b4e6bc80) drop-shadow(0 0 90px #26987e75); animation: map-float 5s ease-in-out infinite; }
.hero-map { width: 100%; height: auto; opacity: .86; }
.hero-river { position: absolute; right: -4%; width: 72%; height: 24%; border-top: 2px solid #b6e9d49c; border-radius: 50%; transform: rotate(-13deg); filter: blur(.2px) drop-shadow(0 0 10px #9fdcce); opacity: .6; animation: river-sweep 5s ease-in-out infinite; }
.river-a { top: 48%; }
.river-b { top: 64%; right: 7%; width: 55%; border-color: #e9ca8a73; animation-delay: -2.5s; }
.hero-spark { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 8px #f0c76d18, 0 0 28px 6px #f0c76d8c; animation: spark-travel 5s ease-in-out infinite; }
.spark-a { left: 61%; top: 28%; }.spark-b { left: 78%; top: 42%; animation-delay: -1.25s; }.spark-c { left: 70%; top: 71%; animation-delay: -2.5s; }.spark-d { left: 90%; top: 57%; animation-delay: -3.75s; }
.hero-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #04131ffa 0%, #04131ff0 23%, #04131fba 47%, #04131f48 78%, #04131f36), linear-gradient(0deg, var(--deep) 0%, transparent 29%); }
.hero-content { position: relative; padding-top: clamp(180px, 20vh, 235px); }
.hero-eyebrow { color: var(--gold); display: flex; align-items: center; gap: 12px; }
.eyebrow-line { width: 28px; height: 2px; background: var(--gold); }
.hero h1 { max-width: 850px; font-size: clamp(4.7rem, 6.5vw, 7rem); line-height: 1.045; letter-spacing: -.07em; }
.hero h1 em { color: var(--gold); font-style: normal; }
.hero-lead { margin-top: 29px; font-size: clamp(1.1rem, 1.7vw, 1.45rem); font-weight: 700; letter-spacing: -.025em; }
.hero-description { max-width: 510px; margin-top: 15px; color: #d1e0e3; font-size: 1.03rem; }
.hero-actions { display: flex; align-items: center; gap: 25px; margin-top: 30px; }
.hero-secondary { font-size: .9rem; font-weight: 800; color: #e4e8e3; }
.hero-secondary span { color: var(--gold); padding-left: 8px; }
.hero-bottom { position: absolute; inset: auto 0 39px; display: flex; align-items: center; gap: 17px; font-size: .76rem; font-weight: 800; letter-spacing: .075em; line-height: 1.7; text-transform: uppercase; }
.scroll-arrow { font-size: 2rem; line-height: 1; font-weight: 400; color: var(--gold); }

.stats { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 35px; padding-block: 36px; border-bottom: 1px solid var(--line); }
.stats > div { display: flex; align-items: baseline; gap: 14px; white-space: nowrap; }
.stats > div + div { padding-left: 35px; border-left: 1px solid var(--line); }
.stats strong { color: var(--gold); font-size: clamp(2.6rem, 4vw, 3.7rem); font-weight: 800; line-height: 1.05; letter-spacing: -.06em; font-variant-numeric: tabular-nums; }
.stats span { color: var(--muted); font-size: .94rem; }

.section-heading h2 { max-width: 1120px; }
.section-lead { color: #c7d8dd; max-width: 700px; font-size: 1.04rem; margin-top: 25px; }
.topic-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 9px; padding: 0; margin: 32px 0 0; }
.topic-chips li { color: #b8edda; font-size: .8rem; font-weight: 700; background: linear-gradient(135deg, #123f3c, #0b2e35); border: 1px solid #397b67; border-radius: 8px; padding: 7px 12px; }
.featured-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 31px; margin-top: 66px; }
.sample-card { min-width: 0; }
.sample-card img { width: 100%; height: auto; aspect-ratio: 1055 / 1491; object-fit: contain; background: #fff; border-radius: 6px; box-shadow: 0 16px 48px #0006; }

.history { position: relative; isolation: isolate; background: var(--deepest); min-height: 850px; overflow: hidden; }
.motion-history { z-index: -2; height: 710px; inset: 0 0 auto; background: #0d292b; }
.motion-history .scene-landscape { background-image: url('assets/history-landscape.webp'); background-position: center 42%; opacity: .73; filter: sepia(.22) saturate(.65) contrast(1.2) brightness(.65); animation: history-landscape 5s ease-in-out infinite; }
.history-grain { position: absolute; inset: 0; opacity: .17; background-image: radial-gradient(#eacb8444 1px, transparent 1px); background-size: 14px 14px; animation: grain-move 5s ease-in-out infinite; }
.history-routes { position: absolute; top: 5%; right: -5%; width: 88%; height: 100%; opacity: .64; overflow: visible; }
.history-routes path { fill: none; stroke: #f0c76d; stroke-width: 2; stroke-dasharray: 10 15; filter: drop-shadow(0 0 7px #f0c76d); animation: route-move 5s linear infinite; }
.history-routes path:nth-child(2) { stroke: #98d8c4; animation-direction: reverse; opacity: .72; }
.history-routes circle { fill: #ffe3a0; stroke: #bd8238; stroke-width: 2; filter: drop-shadow(0 0 13px #f0c76d); animation: node-pulse 5s ease-in-out infinite; }
.history-routes circle:nth-child(4) { animation-delay: -1.5s; }.history-routes circle:nth-child(5) { animation-delay: -3s; }
.history-light { position: absolute; width: 50vw; height: 50vw; right: 8%; top: 0; border-radius: 50%; background: radial-gradient(circle, #dfa95b20, transparent 68%); animation: halo-breath 5s ease-in-out infinite; }
.history-shade { position: absolute; z-index: -1; inset: 0; background: linear-gradient(0deg, var(--deepest) 2%, #04131fe5 23%, #04131f22 75%), linear-gradient(90deg, #04131fe3, #04131f60 55%, #04131f1b); }
.history-content { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 80px; min-height: 850px; padding-block: 235px 110px; }
.history-copy { max-width: 650px; text-shadow: 0 4px 22px #0009; }
.history h2 span { color: #efcf9e; }
.history-copy > p:last-child { max-width: 540px; color: #d7e5e6; font-size: 1.05rem; margin-top: 25px; }
.history-stack { position: relative; width: min(345px, 100%); height: 440px; margin-left: auto; transform: translateY(32px); }
.history-stack img { position: absolute; width: 70%; height: auto; max-height: 370px; object-fit: contain; top: 4%; left: 15%; border: 4px solid white; border-radius: 4px; box-shadow: 0 18px 46px #0009; animation: paper-breathe 5s ease-in-out infinite; }
.history-stack img:nth-child(1) { transform: translate(-24%, 7%) rotate(-14deg); animation-delay: -3.75s; }
.history-stack img:nth-child(2) { transform: translate(-9%, -5%) rotate(-5deg); animation-delay: -2.5s; }
.history-stack img:nth-child(3) { transform: translate(12%, 2%) rotate(7deg); animation-delay: -1.25s; }
.history-stack img:nth-child(4) { transform: translate(28%, 9%) rotate(16deg); }

.gallery-section { background: linear-gradient(180deg, #071c2b, #0b2a38 45%, #071c2b); overflow: hidden; }
.gallery-heading { display: flex; justify-content: space-between; align-items: end; gap: 35px; }
.gallery-controls { display: flex; gap: 10px; }
.gallery-controls button { display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid #93cdb94e; border-radius: 50%; color: var(--gold); background: #0b2e3a; font-size: 1.35rem; transition: background .2s, transform .2s; }
.gallery-controls button:hover { background: #164b56; transform: translateY(-2px); }
.gallery-rail { display: flex; gap: 24px; padding: 30px max(6vw, calc((100vw - 1260px) / 2)) 40px; margin-top: 25px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; scrollbar-color: #709c93 transparent; touch-action: pan-y; user-select: none; -webkit-user-select: none; cursor: grab; }
.gallery-rail.is-dragging { cursor: grabbing; }
.gallery-card { flex: 0 0 clamp(250px, 25vw, 340px); }
.gallery-card img { width: 100%; aspect-ratio: 1055 / 1491; object-fit: contain; background: white; border-radius: 5px; box-shadow: 0 16px 40px #0007; -webkit-user-drag: none; }
.rail-footer { color: var(--muted); font-size: .84rem; }

.collection-heading { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 70px; }
.collection-heading > p { color: #c5d5d9; max-width: 420px; padding-bottom: 7px; }
.volume-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px; margin-top: 55px; }
.volume-card { display: grid; grid-template-columns: 42% 58%; gap: 0; min-width: 0; padding: 26px; border: 1px solid #b7d4d53b; border-radius: 22px; background: linear-gradient(145deg, #123647, #0b2737 55%, #09212f); box-shadow: 0 25px 70px #0004; }
.volume-hist { background: linear-gradient(145deg, #352d39, #252338 55%, #0d2532); }
.volume-cover { display: grid; place-items: center; padding-right: 20px; }
.volume-cover img { width: 100%; max-height: 425px; object-fit: contain; box-shadow: 0 13px 25px #0007; }
.volume-info { display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.volume-info p { color: var(--mint); font-size: .68rem; letter-spacing: .13em; font-weight: 800; }
.volume-hist .volume-info p { color: #ffd0bb; }
.volume-info h3 { font-size: clamp(1.5rem, 2.25vw, 2.35rem); margin-top: 16px; }
.volume-info span { color: var(--gold); font-weight: 800; font-size: .91rem; margin-top: 23px; }
.volume-info small { color: #c8d8da; font-size: .79rem; margin-top: 14px; line-height: 1.65; }
.distribution { border: 1px solid var(--line); border-radius: 12px; margin-top: 42px; overflow: hidden; }
.distribution summary { list-style: none; display: flex; align-items: center; justify-content: space-between; padding: 18px 23px; cursor: pointer; font-weight: 800; }
.distribution summary::-webkit-details-marker { display: none; }
.details-symbol { color: var(--gold); font-size: 1.5rem; font-weight: 400; line-height: 1; transition: transform .2s; }
.distribution[open] .details-symbol { transform: rotate(45deg); }
.distribution-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 65px; padding: 15px 30px 30px; border-top: 1px solid var(--line); }
.distribution h3 { font-size: 1.15rem; color: var(--gold); margin: 12px 0; }
.distribution ol { list-style: none; padding: 0; margin: 0; }
.distribution li { display: flex; justify-content: space-between; gap: 15px; padding: 7px 0; border-bottom: 1px solid #c9dddc15; color: #d5e4e6; font-size: .87rem; }
.distribution li b { color: #a9e4c7; font-variant-numeric: tabular-nums; }

.process { position: relative; isolation: isolate; min-height: 700px; overflow: hidden; background: #0a3339; }
.motion-process { z-index: -2; }
.motion-process .scene-landscape { background-image: url('assets/process-landscape.webp'); background-position: center 53%; opacity: .56; filter: saturate(.73) contrast(1.3) brightness(.58); }
.process-grid-lines { position: absolute; inset: 0; background: repeating-linear-gradient(60deg, transparent, transparent 65px, #d7e9d214 66px), repeating-linear-gradient(-30deg, transparent, transparent 85px, #d7e9d210 86px); opacity: .45; animation: grid-drift 5s ease-in-out infinite; }
.process-glow { position: absolute; right: 9%; top: -15%; width: 720px; height: 720px; max-width: 75vw; border-radius: 50%; background: radial-gradient(circle, #edc66f4f, #2b8e8650 42%, transparent 68%); animation: halo-breath 5s ease-in-out infinite; }
.floating-paper { position: absolute; right: 15%; top: 15%; width: 180px; height: 250px; border: 2px solid #c9eac291; border-radius: 10px; background: linear-gradient(155deg, #eaf4d628, #0a604d26); box-shadow: 0 0 32px #acd4bd3d, inset 0 0 25px #7ac1b624; transform: rotate(13deg) skewY(-5deg); animation: float-paper 5s ease-in-out infinite; }
.floating-paper::before { content: ''; display: block; position: absolute; inset: 20px 16px auto; height: 30%; border-radius: 5px; background: linear-gradient(135deg, #b8dfaa55, #183f4977); }
.floating-paper::after { content: ''; position: absolute; top: 60%; left: 18px; right: 18px; height: 30%; background: repeating-linear-gradient(0deg, #d0e8d76b 0 3px, transparent 3px 17px); }
.paper-two { top: 24%; right: 27%; transform: rotate(-13deg) skewY(3deg) scale(.87); animation-delay: -1.7s; }
.paper-three { top: 10%; right: 3%; transform: rotate(26deg) skewY(-5deg) scale(.76); animation-delay: -3.4s; }
.process-particle { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: #f5d88c; box-shadow: 0 0 21px 9px #f0c76d60; animation: spark-travel 5s ease-in-out infinite; }
.particle-one { right: 30%; top: 25%; }.particle-two { right: 13%; top: 70%; animation-delay: -1.7s; }.particle-three { right: 45%; top: 63%; animation-delay: -3.4s; }
.process-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #041722f0, #041722d1 42%, #04172224 90%), linear-gradient(0deg, var(--deep), transparent 35%, #04172255); }

.navigation-demo { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 85px; }
.navigation-copy > p:not(.eyebrow) { max-width: 470px; color: #c9d8dd; font-size: 1.02rem; margin-top: 24px; }
.navigation-steps { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-top: 27px; font-size: .75rem; font-weight: 800; color: var(--mint); }
.navigation-steps span { padding: 8px 11px; border: 1px solid #4a8d7b; border-radius: 7px; background: #123b3b; }
.navigation-steps i { font-style: normal; color: var(--gold); }
.toc-demo { border: 1px solid #9bbdc02d; border-radius: 17px; overflow: hidden; background: #f0eee5; box-shadow: 0 30px 65px #0006; color: var(--deep); }
.demo-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 42px; padding: 0 17px; color: #d7e9e7; background: #0e3547; font-size: .72rem; font-weight: 800; letter-spacing: .07em; }
.demo-dots { display: flex; gap: 5px; }.demo-dots i { width: 7px; height: 7px; background: #efc66e; border-radius: 50%; opacity: .85; }
.demo-dots i:nth-child(2) { opacity: .55; }.demo-dots i:nth-child(3) { opacity: .3; }
.demo-body { display: grid; grid-template-columns: 1fr 43%; gap: 0; min-height: 432px; }
.demo-list { padding: 30px 23px; }
.demo-list > p { color: #0b7960; font-size: .66rem; font-weight: 800; letter-spacing: .1em; }
.demo-list h3 { margin: 5px 0 24px; font-size: 1.85rem; }
.demo-item { width: 100%; display: flex; align-items: center; gap: 11px; padding: 14px 9px; border-top: 1px solid #aab6af85; background: transparent; color: #153342; text-align: left; font-size: .76rem; font-weight: 700; line-height: 1.4; }
.demo-item span { color: #0b7960; font-weight: 800; flex-shrink: 0; }
.demo-item b { margin-left: auto; color: #a77a31; }
.demo-item.is-selected { background: #d6e9d9; box-shadow: inset 3px 0 #0b8063; }
.demo-item:hover { background: #e5efdf; }
.demo-list small { display: block; color: #677778; margin-top: 19px; font-size: .7rem; }
.demo-sheet { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 10px; padding: 20px; border-left: 1px solid #bfd0c9; background: #e5e5d9; }
.demo-sheet img { max-height: 345px; width: auto; object-fit: contain; box-shadow: 0 12px 22px #172f3440; background: white; }
.demo-sheet span { color: #28444a; text-align: center; font-size: .68rem; font-weight: 700; }

.offer { position: relative; background: radial-gradient(circle at 28% 47%, #1a4d55 0%, transparent 38%), linear-gradient(150deg, #0d2d3f, #071b2d 60%, #0a1729); overflow: hidden; }
.offer-orbit { position: absolute; width: 1100px; height: 1100px; max-width: 100vw; max-height: 100vw; top: -180px; left: -380px; border-radius: 50%; border: 1px solid #8bdbc526; box-shadow: 0 0 0 95px #8bdbc508, 0 0 0 190px #8bdbc509; pointer-events: none; }
.offer-layout { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; align-items: start; gap: 80px; }
.offer-copy h2 span { color: #f0d49d; }
.offer-copy > p:not(.eyebrow) { max-width: 600px; color: #c9dbe1; margin-top: 24px; font-size: 1.05rem; }
.offer-benefits { padding: 0; margin: 36px 0 0; list-style: none; display: grid; gap: 10px; }
.offer-benefits li { display: flex; align-items: center; gap: 12px; font-size: .94rem; color: #e0eeec; }
.offer-benefits li::before { content: '✓'; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; flex-shrink: 0; color: #033c31; background: var(--mint); font-size: .8rem; font-weight: 800; }
.offer-benefits b { color: var(--gold); }
.offer-covers { display: flex; align-items: flex-end; gap: 0; margin: 46px 0 15px 70px; max-width: 470px; }
.offer-covers img { width: 49%; box-shadow: 0 18px 38px #0007; border: 3px solid #fff9; transform: rotate(-8deg); }
.offer-covers img + img { margin-left: -28px; transform: translateY(13px) rotate(8deg); }
.offer-copy > .offer-context { margin-top: 28px !important; color: #9fb8c0 !important; font-size: .77rem !important; max-width: 570px !important; }
.offer-card { position: relative; border: 1px solid #efce8166; border-radius: 22px; padding: 34px 32px 31px; background: linear-gradient(165deg, #15364b, #0b2437 70%, #101d2e); box-shadow: 0 30px 80px #0006, 0 0 75px #eac16d13; }
.offer-badge { display: inline-block; color: #ffe5a7; border: 1px solid #e9c76c76; border-radius: 7px; background: #b2873738; padding: 8px 13px; font-size: .72rem; font-weight: 800; letter-spacing: .13em; }
.offer-card > strong { display: block; font-size: clamp(1.9rem, 2.65vw, 2.75rem); line-height: 1.22; letter-spacing: -.05em; color: #fff4d6; margin: 24px -4px 8px; }
.offer-card > strong small { color: var(--gold); font-size: .67em; padding-inline: 3px; }
.offer-card > strong em { color: var(--gold); font-style: normal; }
.offer-card > p { color: #bbd4d8; font-size: .88rem; }
.offer-separator { height: 1px; background: #cfb8735e; margin: 24px 0 14px; }
.offer-card ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.offer-card li { color: #d6e7e8; font-size: .87rem; }
.offer-card li span { color: var(--mint); font-weight: 800; padding-right: 8px; }
.offer-pending { padding: 19px; margin-top: 27px; text-align: center; border: 1px solid #edcd8062; border-radius: 10px; background: linear-gradient(135deg, #f0c76d1b, #0a3e4d5c); }
.offer-pending span { display: block; color: #ffe0a4; font-size: 1.15rem; font-weight: 800; }
.offer-pending p { color: #c9d8d7; font-size: .8rem; margin-top: 7px; }
.offer-price { display: flex; flex-direction: column; padding: 22px 5px 5px; text-align: center; }
.offer-price small { color: #c4d2d7; font-size: 1rem; text-decoration: line-through; }
.offer-price b { color: var(--gold); font-size: clamp(3rem, 5vw, 4.8rem); line-height: 1.15; letter-spacing: -.06em; }
.offer-price span { color: #b9d4d5; font-size: .85rem; }
.offer-price .offer-installments { margin-top: 8px; color: var(--mint); font-size: 1.05rem; font-weight: 800; }
.purchase-button { width: 100%; margin-top: 20px; }
.offer-note { text-align: center; color: #9cb4bd !important; font-size: .76rem !important; margin-top: 14px !important; }


.faq { display: grid; grid-template-columns: .7fr 1.3fr; align-items: start; gap: 80px; }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { display: flex; justify-content: space-between; gap: 25px; align-items: center; list-style: none; cursor: pointer; padding: 19px 0; color: #f3f8f7; font-weight: 700; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { color: var(--gold); font-size: 1.5rem; font-weight: 400; line-height: 1; transition: transform .2s; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details > p { color: #bcd0d4; padding-bottom: 22px; font-size: .9rem; }
.support { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding: 34px 40px; border: 1px solid #61aa9672; border-radius: 17px; background: linear-gradient(130deg, #14463f, #0b353f); margin-bottom: 85px; }
.support .eyebrow { margin-bottom: 10px; }
.support h2 { font-size: clamp(1.8rem, 3vw, 2.7rem); }
.support p:last-child { color: #c9e0da; margin-top: 8px; font-size: .92rem; }
.support-actions { display: flex; flex-direction: column; align-items: center; gap: 11px; }
.button-outline { border: 1px solid #a4dfcb; color: #def6e9; background: #146048; white-space: nowrap; }
.button-outline:hover { background: #167456; }
.footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 30px; padding: 5px 0 35px; color: #b2c8ce; }
.footer-brand { color: white; font-size: 1.1rem; font-weight: 800; }
.footer p { font-size: .78rem; margin-top: 7px; }
.footer-links { display: flex; align-items: start; gap: 24px; font-size: .82rem; font-weight: 700; }
.footer-bottom { display: flex; justify-content: space-between; gap: 25px; width: 100%; border-top: 1px solid var(--line); padding-top: 20px; font-size: .73rem; }


.js-ready .reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
.js-ready .reveal.shown { opacity: 1; transform: none; }

@keyframes landscape-drift { 0%, 100% { transform: scale(1.03) translateX(-.4%); } 50% { transform: scale(1.075) translateX(1.5%); } }
@keyframes history-landscape { 0%, 100% { transform: scale(1.02) translateX(-1%); } 50% { transform: scale(1.085) translateX(1%); } }
@keyframes grid-drift { 0%, 100% { transform: translateX(0) translateY(0); } 50% { transform: translateX(13px) translateY(-9px); } }
@keyframes halo-breath { 0%, 100% { transform: scale(.92); opacity: .65; } 50% { transform: scale(1.12); opacity: 1; } }
@keyframes map-float { 0%, 100% { transform: translateY(4px) scale(.985); opacity: .78; } 50% { transform: translateY(-12px) scale(1.03); opacity: 1; } }
@keyframes river-sweep { 0%, 100% { transform: translateX(-25px) rotate(-13deg); opacity: .28; } 50% { transform: translateX(28px) rotate(-9deg); opacity: .7; } }
@keyframes spark-travel { 0%, 100% { transform: translate(-12px, 9px) scale(.55); opacity: .25; } 50% { transform: translate(22px, -18px) scale(1.2); opacity: 1; } }
@keyframes grain-move { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(8px, -6px); } }
@keyframes route-move { from { stroke-dashoffset: 0; } to { stroke-dashoffset: -150; } }
@keyframes node-pulse { 0%, 100% { opacity: .5; transform: scale(.8); } 50% { opacity: 1; transform: scale(1.25); } }
@keyframes paper-breathe { 0%, 100% { margin-top: 0; } 50% { margin-top: -8px; } }
@keyframes float-paper { 0%, 100% { margin-top: 8px; opacity: .68; } 50% { margin-top: -13px; opacity: 1; } }
@keyframes shine { 0%, 62% { left: -30%; opacity: 0; } 69% { opacity: .55; } 91%, 100% { left: 130%; opacity: 0; } }

@media (max-width: 1100px) {
  .hero h1 { font-size: clamp(4.4rem, 7.2vw, 5.9rem); }
  .hero-map-shell { right: 4%; width: 52vw; }
  .featured-grid { gap: 26px 24px; }
  .history-content { gap: 38px; }
  .volume-card { padding: 18px; }
  .volume-info h3 { font-size: 1.55rem; }
  .navigation-demo { gap: 40px; }
  .offer-layout { gap: 40px; }
}

@media (max-width: 760px) {
  .wrap { width: calc(100% - 40px); }
  .section-space { padding-block: 75px; }
  h2 { font-size: clamp(2.35rem, 7.8vw, 3.25rem); }
  .eyebrow { font-size: .7rem; margin-bottom: 17px; letter-spacing: .11em; }
  .site-header { padding-top: 17px; align-items: start; }
  .brand { font-size: .92rem; }
  .brand span { font-size: .62rem; }
  .header-nav { gap: 13px; font-size: .69rem; }
  .header-nav a:not(.nav-offer) { display: none; }
  .nav-offer { padding: 8px 11px; }
  .hero { height: auto; min-height: 865px; padding-bottom: 130px; }
  .motion-hero { bottom: auto; height: 550px; }
  .motion-hero .scene-landscape { background-position: 66% center; }
  .hero-map-shell { width: 72vw; right: 7%; top: 18%; }
  .hero-halo { width: 100vw; height: 100vw; right: -20%; top: 4%; }
  .hero-shade { background: linear-gradient(0deg, var(--deep) 0%, var(--deep) 31%, #071c2be8 45%, #071c2b24 80%), linear-gradient(90deg, #071c2b40, transparent); }
  .hero-content { padding-top: 400px; }
  .hero-eyebrow { font-size: .69rem; }
  .hero h1 { font-size: clamp(3.4rem, 12.1vw, 5.2rem); max-width: 610px; }
  .hero-lead { font-size: 1.05rem; margin-top: 19px; }
  .hero-description { font-size: .94rem; margin-top: 12px; }
  .hero-actions { margin-top: 24px; }
  .hero-secondary { display: none; }
  .hero .button { width: 100%; justify-content: space-between; }
  .hero-bottom { bottom: 28px; }
  .stats { grid-template-columns: 1fr; gap: 12px; padding-block: 28px; }
  .stats > div + div { border-left: 0; border-top: 1px solid var(--line); padding: 12px 0 0; }
  .stats strong { font-size: 2.55rem; }
  .stats span { font-size: .81rem; }
  .section-lead { font-size: .95rem; margin-top: 20px; }
  .topic-chips { margin-top: 24px; gap: 7px; }
  .topic-chips li { font-size: .69rem; padding: 7px 9px; }
  .featured-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; margin-top: 36px; }
  .history { min-height: 840px; }
  .motion-history { height: 570px; }
  .history-content { grid-template-columns: 1fr; min-height: 840px; gap: 0; padding-block: 345px 80px; }
  .history-copy > p:last-child { font-size: .95rem; margin-top: 18px; }
  .history-stack { width: 250px; height: 290px; margin: 30px auto 0; transform: none; }
  .history-stack img { max-height: 250px; }
  .gallery-heading { align-items: start; }
  .gallery-controls { margin-top: 10px; }
  .gallery-controls button { width: 42px; height: 42px; }
  .gallery-rail { padding-inline: 20px; gap: 18px; }
  .gallery-card { flex-basis: 265px; }
  .collection-heading { grid-template-columns: 1fr; gap: 20px; }
  .collection-heading > p { font-size: .92rem; }
  .volume-grid { gap: 15px; margin-top: 35px; }
  .volume-card { grid-template-columns: 1fr; padding: 13px; }
  .volume-cover { padding: 0; }
  .volume-cover img { max-height: 260px; width: auto; }
  .volume-info { align-items: start; padding: 16px 4px 6px; }
  .volume-info h3 { font-size: 1.2rem; margin-top: 7px; }
  .volume-info p { font-size: .55rem; }
  .volume-info span { font-size: .73rem; margin-top: 10px; }
  .volume-info small { font-size: .65rem; margin-top: 7px; }
  .distribution-grid { gap: 22px; padding: 12px 18px 22px; }
  .distribution li { font-size: .72rem; }
  .process { min-height: 850px; }
  .motion-process .scene-landscape { background-position: 65% center; }
  .process-shade { background: linear-gradient(0deg, var(--deep) 0%, #071c2be8 55%, #071c2b5c 95%); }
  .floating-paper { right: 14%; top: 4%; transform: scale(.72) rotate(13deg); }
  .paper-two { right: 35%; top: 9%; transform: scale(.65) rotate(-13deg); }
  .paper-three { right: -8%; top: 2%; transform: scale(.61) rotate(26deg); }
  .navigation-demo { grid-template-columns: 1fr; gap: 36px; }
  .navigation-copy > p:not(.eyebrow) { font-size: .95rem; margin-top: 18px; }
  .toc-demo { width: 100%; }
  .offer-layout { grid-template-columns: 1fr; gap: 42px; }
  .offer-copy > p:not(.eyebrow) { font-size: .96rem; margin-top: 19px; }
  .offer-covers { max-width: 330px; margin: 36px auto 0; }
  .offer-card { max-width: 530px; width: 100%; margin-inline: auto; }
  .faq { grid-template-columns: 1fr; gap: 22px; }
  .faq-list summary { font-size: .88rem; }
  .support { flex-direction: column; align-items: start; padding: 28px 24px; margin-bottom: 60px; }
  .support-actions { align-items: stretch; width: 100%; }
  .button-outline { width: 100%; white-space: normal; font-size: .84rem; }
  .footer-bottom { flex-direction: column; gap: 8px; }
}

@media (max-width: 480px) {
  .hero { min-height: 820px; }
  .hero-content { padding-top: 370px; }
  .hero h1 { font-size: clamp(3rem, 12.5vw, 3.9rem); }
  .hero-eyebrow { font-size: .57rem; gap: 7px; }
  .eyebrow-line { width: 18px; }
  .featured-grid { grid-template-columns: 1fr; gap: 24px; }
  .sample-card { max-width: 415px; width: 100%; margin-inline: auto; }
  .history h2 { font-size: 2.35rem; }
  .gallery-heading { display: block; }
  .gallery-controls { margin-top: 22px; }
  .gallery-card { flex-basis: calc(100vw - 70px); }
  .volume-grid { grid-template-columns: 1fr 1fr; }
  .volume-cover img { max-height: 215px; }
  .volume-info h3 { font-size: 1.08rem; }
  .distribution-grid { grid-template-columns: 1fr; gap: 20px; }
  .demo-body { grid-template-columns: 1fr; }
  .demo-list { padding: 23px 16px; }
  .demo-list h3 { margin-bottom: 10px; }
  .demo-sheet { border-left: 0; border-top: 1px solid #bfd0c9; padding: 17px; }
  .demo-sheet img { max-height: 320px; }
  .offer-card { padding: 25px 20px; }
  .offer-card > strong { font-size: 1.9rem; }
  .footer { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .js-ready .reveal { opacity: 1; transform: none; }
}

/* Real PDF indices and the two bonus sections follow the approved PRF rhythm. */
.toc-samples { overflow: hidden; background: linear-gradient(180deg, #0a2535, #071c2b 63%, #071a29); border-top: 1px solid var(--line); }
.toc-samples-intro > p:last-child { max-width: 690px; color: #c8d9dc; margin-top: 24px; font-size: 1.02rem; }
.toc-samples .preview-carousel { margin-top: 62px; }
.toc-samples .preview-carousel + .preview-carousel { margin-top: 85px; }
.preview-heading { display: flex; justify-content: space-between; align-items: end; gap: 28px; }
.preview-heading h3 { font-size: clamp(1.55rem, 2.3vw, 2.25rem); margin-top: 8px; }
.preview-heading p { color: #c0d3d8; font-size: .92rem; max-width: 590px; margin-top: 11px; }
.preview-kicker { display: block; color: var(--gold); font-size: .71rem; font-weight: 800; letter-spacing: .14em; }
.preview-controls { display: flex; flex-shrink: 0; gap: 10px; }
.preview-controls button { display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid #91c8b861; border-radius: 50%; background: #113a46; color: var(--gold); font-size: 1.35rem; transition: background .2s, transform .2s, opacity .2s; }
.preview-controls button:hover { background: #205464; transform: translateY(-2px); }
.preview-controls button:disabled { opacity: .35; cursor: default; transform: none; }
.preview-rail { display: flex; gap: 24px; padding: 25px max(6vw, calc((100vw - 1260px) / 2)) 35px; margin-top: 20px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; scrollbar-color: #76998f transparent; touch-action: pan-y; user-select: none; -webkit-user-select: none; cursor: grab; }
.preview-rail.is-dragging { cursor: grabbing; }
.preview-page { flex: 0 0 clamp(390px, 34vw, 455px); min-width: 0; }
.preview-page img { width: 100%; height: auto; aspect-ratio: 1100 / 1556; object-fit: contain; background: #fff; border: 1px solid #f3e9d4b8; border-radius: 5px; box-shadow: 0 19px 43px #0008; -webkit-user-drag: none; }
.preview-page figcaption { padding-top: 13px; color: #d4e3e3; font-size: .82rem; font-weight: 700; }

.bonus-block { position: relative; isolation: isolate; overflow: hidden; background: #061927; }
.bonus-block .bonus-scenery { position: absolute; z-index: -2; inset: 0 0 auto; height: min(900px, 72%); background-size: cover; background-position: center 45%; opacity: .46; }
.bonus-block::after { content: ''; position: absolute; z-index: -1; inset: 0; pointer-events: none; background: linear-gradient(90deg, #061725f5 0%, #061725d9 34%, #06172569 72%, #0617254d), linear-gradient(0deg, #061927 36%, #061927d6 56%, transparent 95%); }
.bonus-questions .bonus-scenery { background-image: url('assets/bonus-chapada.webp'); }
.bonus-guide { border-top: 1px solid #c6e6df20; background: #09222c; }
.bonus-guide .bonus-scenery { background-image: url('assets/bonus-pantanal.webp'); opacity: .38; background-position: center 30%; }
.bonus-guide::after { background: linear-gradient(90deg, #061d26f5 0%, #061d26d8 35%, #061d2670 76%, #061d2659), linear-gradient(0deg, #09222c 36%, #09222ce3 58%, transparent 95%); }
.bonus-lead { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(280px, .82fr); align-items: start; gap: 70px; position: relative; }
.bonus-copy .eyebrow { margin-bottom: 25px; }
.bonus-copy h2 { font-size: clamp(2.9rem, 4.8vw, 5rem); max-width: 720px; }
.bonus-copy h2 strong { color: var(--gold); display: inline-block; font-size: clamp(7.5rem, 12vw, 11rem); line-height: .82; letter-spacing: -.095em; margin-right: .07em; text-shadow: 0 15px 50px #f0c76d25; }
.bonus-copy h2 span { display: inline-block; color: #ecf7f4; font-size: .75em; line-height: 1.15; margin-top: 19px; }
.bonus-copy > p:not(.eyebrow) { color: #d3e3e3; max-width: 620px; margin-top: 30px; font-size: 1.04rem; }
.bonus-facts { display: flex; gap: 0; border-block: 1px solid #a9c9c25b; margin-top: 36px; padding-block: 21px; max-width: 680px; }
.bonus-facts > div { flex: 1 1 0; min-width: 0; padding-inline: 20px; border-left: 1px solid #a9c9c25b; }
.bonus-facts > div:first-child { padding-left: 0; border-left: 0; }
.bonus-facts b { display: block; color: #fff; font-size: 1.08rem; line-height: 1.35; }
.bonus-facts span { display: block; color: #b8d0ce; font-size: .78rem; margin-top: 7px; line-height: 1.45; }
.bonus-cover-show { justify-self: end; width: min(100%, 365px); }
.bonus-cover-show img { width: 100%; height: auto; aspect-ratio: 1100 / 1556; object-fit: contain; border: 1px solid #e1c889a1; border-radius: 5px; box-shadow: 0 30px 75px #000b, 0 0 50px #efc97d20; transform: rotate(2deg); }
.bonus-cover-show figcaption { color: #b4c7c7; text-align: center; font-size: .75rem; margin-top: 16px; }
.bonus-guide .bonus-cover-show img { transform: rotate(-2deg); }
.bonus-block .preview-carousel { position: relative; margin-top: 72px; }
.bonus-block .preview-page img { box-shadow: 0 20px 46px #0009; }
.guide-figures { display: flex; gap: 30px; max-width: 520px; margin-top: 35px; padding-block: 24px; border-block: 1px solid #a9c9c25b; }
.guide-figures > div { flex: 1; }
.guide-figures > div + div { border-left: 1px solid #a9c9c25b; padding-left: 30px; }
.guide-figures strong { display: block; color: #afe9cc; font-size: clamp(3.7rem, 7vw, 6rem); letter-spacing: -.075em; line-height: 1; }
.guide-figures span { display: block; color: #c7dfd9; margin-top: 8px; font-size: .88rem; }

.bundle-items { display: grid; gap: 14px; margin-top: 34px; }
.bundle-item { display: flex; align-items: center; gap: 22px; border: 1px solid #7cb2a44d; border-radius: 15px; background: linear-gradient(120deg, #173d47d9, #0b2636eb); padding: 20px 22px; box-shadow: 0 12px 32px #0003; }
.bundle-main { border-color: #f0c76d73; background: linear-gradient(120deg, #4b472e8c, #122e3ae8); }
.bundle-item > div:last-child { min-width: 0; }
.bundle-item > div:last-child > span { display: block; color: var(--gold); font-size: .68rem; font-weight: 800; letter-spacing: .12em; }
.bundle-item h3 { margin-top: 6px; font-size: 1.17rem; }
.bundle-item p { color: #c8dbdd; font-size: .82rem; margin-top: 7px; }
.bundle-covers { width: 92px; height: 115px; flex-shrink: 0; position: relative; }
.bundle-covers img { position: absolute; width: 65px; height: auto; top: 8px; left: 4px; border: 1px solid #fff9; border-radius: 3px; box-shadow: 0 6px 15px #0008; transform: rotate(-9deg); }
.bundle-covers img + img { left: 25px; top: 4px; transform: rotate(8deg); }
.bundle-bonus-cover { width: 84px; height: 119px; flex-shrink: 0; object-fit: contain; border: 1px solid #fff9; border-radius: 3px; box-shadow: 0 7px 19px #000a; }
.offer .offer-layout { grid-template-columns: minmax(0, 1.14fr) minmax(340px, .86fr); align-items: start; }
.offer .offer-context { margin-top: 25px !important; font-size: .78rem !important; color: #a9c1c4 !important; }

@media (max-width: 1100px) {
  .bonus-lead { gap: 35px; }
  .bonus-cover-show { width: min(100%, 315px); }
  .offer .offer-layout { gap: 34px; }
}

@media (max-width: 760px) {
  .toc-samples-intro > p:last-child { font-size: .94rem; }
  .toc-samples .preview-carousel { margin-top: 45px; }
  .toc-samples .preview-carousel + .preview-carousel { margin-top: 65px; }
  .preview-heading { align-items: start; }
  .preview-heading h3 { font-size: 1.5rem; }
  .preview-heading p { font-size: .83rem; }
  .preview-controls { gap: 7px; }
  .preview-controls button { width: 44px; height: 44px; }
  .preview-rail { padding-inline: 20px; gap: 18px; }
  .preview-page { flex-basis: min(340px, calc(100vw - 62px)); }
  .bonus-lead { grid-template-columns: 1fr; gap: 40px; }
  .bonus-copy h2 { font-size: clamp(2.7rem, 8vw, 4.1rem); }
  .bonus-copy h2 strong { font-size: clamp(6.4rem, 20vw, 9rem); }
  .bonus-copy > p:not(.eyebrow) { font-size: .95rem; margin-top: 23px; }
  .bonus-facts { flex-wrap: wrap; gap: 19px 15px; margin-top: 28px; }
  .bonus-facts > div, .bonus-facts > div:first-child { flex: 1 1 145px; border: 0; padding: 0; }
  .bonus-cover-show { justify-self: center; width: min(300px, 76vw); }
  .bonus-block .preview-carousel { margin-top: 55px; }
  .guide-figures strong { font-size: 4.6rem; }
  .offer .offer-layout { grid-template-columns: 1fr; }
  .bundle-item { padding: 18px; gap: 16px; }
}

@media (max-width: 480px) {
  .preview-heading { flex-wrap: wrap; }
  .preview-kicker { font-size: .64rem; }
  .bonus-copy h2 { font-size: 2.55rem; }
  .bonus-copy h2 strong { font-size: 6.2rem; }
  .bonus-facts > div { flex-basis: 125px; }
  .guide-figures strong { font-size: 4.1rem; }
  .bundle-item { padding: 16px 13px; gap: 13px; }
  .bundle-bonus-cover { width: 69px; height: 98px; }
  .bundle-covers { width: 72px; height: 94px; }
  .bundle-covers img { width: 54px; }
  .bundle-covers img + img { left: 19px; }
  .bundle-item h3 { font-size: 1.02rem; }
  .bundle-item p { font-size: .74rem; }
}
