.pp {--yellow: #F5C400; --yellow-soft: #FFF4C7;
  --forest: #1F3B26; --forest-2: #2A4E33; --forest-3: #162B1B;
  --char: #2B2B2B; --muted: #5F675F;
  --cream: #FAF6EC; --cream-2: #F2EBD9; --white: #FFFFFF;
  --line: rgba(43,43,43,0.14); --line-dark: rgba(250,246,236,0.16);
  --ff-display: 'Poppins', system-ui, sans-serif;
  --ff-body: 'Inter', system-ui, -apple-system, sans-serif;
  --snap: cubic-bezier(0.19, 1, 0.22, 1);
  --pad: clamp(1.25rem, 4vw, 4rem);
  --max: 1200px;}
:where(.pp) a {color: inherit; text-decoration: none;}
:where(.pp) ul {list-style: none;}
.pp-shell {width: min(100%, var(--max)); margin-inline: auto;}
.pp-kicker {display: inline-flex; align-items: center; gap: .6rem; font: 700 .7rem/1.2 ui-monospace, 'SF Mono', Menlo, Consolas, monospace; letter-spacing: .12em; text-transform: uppercase; color: var(--forest);}
.pp-kicker::before {content: ""; width: 26px; height: 2px; background: var(--yellow);}
.pp-btn {display: inline-flex; align-items: center; justify-content: center; gap: .55rem; font-family: var(--ff-display); font-weight: 700; font-size: .86rem; padding: .9rem 1.45rem; border-radius: 100px; border: 2px solid transparent; transition: background .2s, color .2s, transform .25s var(--snap), border-color .2s; white-space: nowrap;}
.pp-btn svg {width: 14px; height: 14px; flex: none; transition: transform .3s var(--snap);}
.pp-btn:hover svg {transform: translateX(3px);}
.pp-btn-yellow {background: var(--yellow); color: var(--forest-3);}
.pp-btn-yellow:hover {background: #FFD633; transform: translateY(-2px);}
:where(.pp) .btn-forest {background: var(--forest); color: var(--cream);}
:where(.pp) .btn-forest:hover {background: var(--forest-2); transform: translateY(-2px);}
:where(.pp) .btn-line {border-color: currentColor; color: var(--forest);}
:where(.pp) .btn-line:hover {background: var(--forest); color: var(--cream); border-color: var(--forest);}
.pp-btn-line-light {border-color: rgba(250,246,236,.5); color: var(--cream);}
.pp-btn-line-light:hover {background: var(--cream); color: var(--forest); border-color: var(--cream);}
:where(.pp) :focus-visible {outline: 3px solid var(--yellow); outline-offset: 3px; border-radius: 6px;}
.pp-hero {padding: clamp(7.5rem, 12vw, 9.5rem) var(--pad) clamp(3.5rem, 6vw, 5rem); border-bottom: 1px solid var(--line); background:
  radial-gradient(circle at 92% 8%, rgba(245,196,0,.16), transparent 32rem), var(--cream);}
.pp-hero-grid {display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); gap: clamp(2.5rem, 6vw, 5.5rem); align-items: center;}
.pp-hero h1 {font-family: var(--ff-display); font-weight: 800; color: var(--forest); font-size: clamp(2.4rem, 5.6vw, 4.6rem); line-height: 1.04; letter-spacing: -.035em; margin: 1.2rem 0 1.4rem; text-wrap: balance;}
.pp-hero h1 em {font-style: normal; display: block; color: var(--forest-2);}
.pp-hero h1 em::after {content: ""; display: block; width: 3.2rem; height: .32rem; margin-top: .9rem; background: var(--yellow); border-radius: 4px;}
.pp-deck {max-width: 38rem; font-size: 1.06rem; line-height: 1.7; color: var(--muted);}
.pp-deck strong {color: var(--char); font-weight: 600;}
.pp-meta {display: flex; flex-wrap: wrap; gap: .75rem 2rem; margin-top: 2rem; padding-top: 1.4rem; border-top: 1px dashed var(--line);}
.pp-meta dt {font: 700 .64rem/1 ui-monospace, 'SF Mono', Menlo, Consolas, monospace; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: .4rem;}
.pp-meta dd {font-family: var(--ff-display); font-weight: 700; font-size: .92rem; color: var(--forest);}
.pp-ledger {background: var(--white); border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 30px 60px -32px rgba(31,59,38,.35); overflow: hidden; transform: rotate(1.2deg);}
.pp-ledger-head {display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.1rem 1.4rem; background: var(--forest); color: var(--cream);}
.pp-ledger-title {font-family: var(--ff-display); font-weight: 700; font-size: .95rem;}
.pp-ledger-count {font: 700 .66rem/1 ui-monospace, 'SF Mono', Menlo, Consolas, monospace; letter-spacing: .1em; text-transform: uppercase; background: var(--yellow); color: var(--forest-3); padding: .4rem .6rem; border-radius: 100px;}
.pp-ledger-list {padding: .4rem 1.4rem;}
.pp-ledger-list li {display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .78rem 0; border-bottom: 1px solid var(--cream-2);}
.pp-ledger-list li:last-child {border-bottom: 0;}
.pp-field-name {font-weight: 600; font-size: .95rem; color: var(--char);}
.pp-field-tag {font: 700 .62rem/1 ui-monospace, 'SF Mono', Menlo, Consolas, monospace; letter-spacing: .09em; text-transform: uppercase; padding: .38rem .55rem; border-radius: 6px; background: var(--forest); color: var(--cream);}
.pp-field-tag.pp-is-opt {background: transparent; color: var(--muted); border: 1px solid var(--line);}
.pp-ledger-foot {margin: 0; padding: 1rem 1.4rem 1.15rem; background: var(--yellow-soft); border-top: 2px dashed rgba(31,59,38,.25); font-size: .88rem; font-weight: 600; color: var(--forest);}
.pp-promises {background: var(--forest); color: var(--cream); padding: 0 var(--pad);}
.pp-promise-grid {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));}
.pp-promise-grid li {padding: 1.7rem 1.4rem 1.8rem; border-left: 1px solid var(--line-dark); display: grid; gap: .35rem;}
.pp-promise-grid li:first-child {border-left: 0; padding-left: 0;}
.pp-promise-grid b {font-family: var(--ff-display); font-size: 1.05rem; color: var(--yellow);}
.pp-promise-grid span {font-size: .9rem; color: rgba(250,246,236,.78);}
.pp-journey {padding: clamp(4rem, 8vw, 6.5rem) var(--pad);}
.pp-journey-intro {max-width: 40rem; margin-bottom: clamp(2.2rem, 4vw, 3.2rem);}
.pp-journey h2, .pp-clause h2, .pp-slip h2 {font-family: var(--ff-display); font-weight: 800; color: var(--forest); letter-spacing: -.025em; line-height: 1.12;}
.pp-journey h2 {font-size: clamp(1.8rem, 3.6vw, 2.7rem); margin-top: .9rem;}
.pp-journey h2 em {font-style: normal; background: linear-gradient(transparent 62%, var(--yellow) 62%, var(--yellow) 90%, transparent 90%); -webkit-box-decoration-break: clone; box-decoration-break: clone;}
.pp-journey-track {list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; counter-reset: stop; position: relative;}
.pp-journey-track::before {content: ""; position: absolute; left: 1.4rem; right: 1.4rem; top: 1.4rem; border-top: 3px dashed rgba(31,59,38,.28);}
.pp-journey-stop {position: relative; padding-top: 4rem;}
.pp-journey-num {position: absolute; top: 0; left: 0; width: 2.8rem; height: 2.8rem; border-radius: 50%; display: grid; place-items: center; background: var(--cream); border: 3px solid var(--forest); font-family: var(--ff-display); font-weight: 800; font-size: .85rem; color: var(--forest);}
.pp-journey-stop:last-child .pp-journey-num {background: var(--yellow); border-color: var(--yellow);}
.pp-journey-stop h3 {font-family: var(--ff-display); font-size: 1.02rem; font-weight: 700; color: var(--forest); margin-bottom: .4rem;}
.pp-journey-stop p {font-size: .9rem; line-height: 1.55; color: var(--muted);}
.pp-policy {padding: clamp(3.5rem, 7vw, 6rem) var(--pad) clamp(4rem, 8vw, 6.5rem); background: var(--white); border-top: 1px solid var(--line);}
.pp-policy-grid {display: grid; grid-template-columns: 15.5rem minmax(0, 1fr); gap: clamp(2rem, 6vw, 5.5rem); align-items: start;}
.pp-index {position: sticky; top: 6.5rem;}
.pp-index-title {font: 700 .68rem/1 ui-monospace, 'SF Mono', Menlo, Consolas, monospace; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: 1rem;}
.pp-index-list {list-style: none; border-left: 2px solid var(--cream-2);}
.pp-index-list a {display: flex; gap: .7rem; padding: .48rem 0 .48rem 1rem; margin-left: -2px; border-left: 2px solid transparent; font-size: .9rem; font-weight: 500; color: var(--char); transition: color .2s, border-color .2s;}
.pp-index-list a span {font: 700 .72rem/1.6 ui-monospace, 'SF Mono', Menlo, Consolas, monospace; color: var(--muted);}
.pp-index-list a:hover, .pp-index-list a.is-on {color: var(--forest); border-left-color: var(--yellow); font-weight: 600;}
.pp-clauses {max-width: 46rem;}
.pp-clause {padding: 0 0 2.6rem; margin-bottom: 2.6rem; border-bottom: 1px solid var(--cream-2); scroll-margin-top: 6.5rem;}
.pp-clause:last-child {border-bottom: 0; margin-bottom: 0; padding-bottom: 0;}
.pp-clause-head {display: flex; align-items: baseline; gap: 1rem; margin-bottom: 1.2rem;}
.pp-clause-num {flex: none; font: 800 .8rem/1 var(--ff-display); color: var(--forest-3); background: var(--yellow); padding: .45rem .55rem; border-radius: 8px; transform: translateY(-.2rem);}
.pp-clause h2 {font-size: clamp(1.45rem, 2.6vw, 1.95rem);}
.pp-clause h3 {font-family: var(--ff-display); font-weight: 700; font-size: 1.02rem; color: var(--forest); margin: 1.5rem 0 .45rem;}
.pp-clause-body > h3:first-child {margin-top: 0;}
.pp-clause p {font-size: 1rem; line-height: 1.75; margin-bottom: 1rem;}
.pp-clause p:last-child {margin-bottom: 0;}
.pp-clause a {color: var(--forest); font-weight: 600; text-decoration: underline; text-decoration-color: var(--yellow); text-decoration-thickness: 2px; text-underline-offset: 3px;}
.pp-clause a:hover {text-decoration-color: var(--forest);}
.pp-ticks {margin: 0 0 1.1rem; display: grid; gap: .7rem;}
.pp-ticks li {position: relative; padding-left: 2rem; line-height: 1.65;}
.pp-ticks li::before {content: ""; position: absolute; left: 0; top: .2rem; width: 1.2rem; height: 1.2rem; border-radius: 50%; background: var(--yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%231F3B26' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 75% no-repeat;}
.pp-ticks strong, .pp-clause strong {color: var(--forest);}
.pp-aside {margin-top: 1.4rem !important; padding: 1.1rem 1.25rem; border-radius: 14px; background: var(--cream); border-left: 4px solid var(--forest); font-size: .95rem !important;}
.pp-slip-band {padding: clamp(3.5rem, 7vw, 5.5rem) var(--pad); background: var(--forest); color: var(--cream); position: relative; overflow: hidden;}
.pp-slip-band::before {content: ""; position: absolute; right: -6rem; top: -6rem; width: 22rem; height: 22rem; border-radius: 50%; border: 48px solid rgba(245,196,0,.08);}
.pp-slip {display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; position: relative;}
.pp-kicker-light {color: var(--yellow);}
.pp-slip h2 {color: var(--cream); font-size: clamp(1.8rem, 3.4vw, 2.6rem); margin: .9rem 0 1rem;}
.pp-slip-copy p:last-child {color: rgba(250,246,236,.78); max-width: 30rem; line-height: 1.65;}
.pp-slip-card {background: rgba(250,246,236,.06); border: 1px dashed rgba(250,246,236,.32); border-radius: 18px; padding: 1.4rem 1.5rem; display: grid; gap: 1rem;}
.pp-slip-card > div:not(.pp-slip-actions) {display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line-dark);}
.pp-slip-card dt {font: 700 .66rem/1.9 ui-monospace, 'SF Mono', Menlo, Consolas, monospace; letter-spacing: .1em; text-transform: uppercase; color: rgba(250,246,236,.6);}
.pp-slip-card dd {font-weight: 600; overflow-wrap: anywhere;}
.pp-slip-card dd a:hover {color: var(--yellow);}
.pp-slip-actions {display: flex; flex-wrap: wrap; gap: .75rem; padding-top: .3rem;}
.pp-slip-actions svg {width: 15px; height: 15px;}
@media (max-width: 1000px) {
.pp-hero-grid, .pp-slip {grid-template-columns: 1fr;}
.pp-ledger {transform: none; max-width: 30rem;}
.pp-promise-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
.pp-promise-grid li:nth-child(3) {border-left: 0; padding-left: 0;}
.pp-promise-grid li:nth-child(n+3) {border-top: 1px solid var(--line-dark);}
.pp-journey-track {grid-template-columns: 1fr; gap: 0;}
.pp-journey-track::before {left: 1.4rem; right: auto; top: 1.4rem; bottom: 1.4rem; border-top: 0; border-left: 3px dashed rgba(31,59,38,.28);}
.pp-journey-stop {padding: 0 0 1.8rem 4.2rem; min-height: 2.8rem;}
.pp-journey-stop:last-child {padding-bottom: 0;}
.pp-policy-grid {grid-template-columns: 1fr;}
.pp-index {position: static; background: var(--cream); border-radius: 16px; padding: 1.3rem 1.3rem 1rem;}
.pp-index-list {columns: 2; column-gap: 1.5rem; border-left: 0;}
.pp-index-list a {padding-left: 0; border-left: 0; margin-left: 0; break-inside: avoid;}
}
@media (max-width: 560px) {
.pp-promise-grid {grid-template-columns: 1fr;}
.pp-promise-grid li {border-left: 0; padding: 1.2rem 0;}
.pp-promise-grid li + li {border-top: 1px solid var(--line-dark);}
.pp-index-list {columns: 1;}
.pp-slip-card > div:not(.pp-slip-actions) {grid-template-columns: 1fr; gap: .2rem;}
.pp-slip-actions .pp-btn {flex: 1 1 auto;}
}
.pp { display: block; background: var(--cream); color: var(--char); font-family: var(--ff-body); overflow-x: clip; }
