.ppf-page .project-hero-copy{width:44%;max-width:600px}.ppf-page .project-hero h1{font-size:clamp(3rem,4.7vw,5.4rem)}.ppf-page .project-hero .intro-copy{max-width:410px}.ppf-intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding-top:90px;padding-bottom:45px}.ppf-intro p{max-width:540px;line-height:1.8;color:var(--muted)}.ppf-intro figure{margin:0}.ppf-intro img{width:100%;height:540px;object-fit:cover}.ppf-intro figcaption{font-size:13px;color:var(--muted);margin-top:16px}.ppf-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;padding-bottom:90px}.ppf-benefits article{border-top:1px solid var(--line);padding-top:24px}.ppf-benefits span{color:var(--gold);font-size:13px}.ppf-benefits h3{font-size:1.7rem;margin:18px 0 12px}.ppf-benefits p{font-size:15px;line-height:1.8;color:var(--muted)}.ppf-page .protection-feature{background:#eeece6;padding:90px 0}.ppf-page .ppf-feature-grid{align-items:start}.ppf-page .editorial-copy h2{font-size:clamp(2.4rem,3.5vw,3.8rem)}.ppf-page .editorial-actions{gap:20px;flex-wrap:wrap}.ppf-finish-section{padding-top:90px;padding-bottom:90px}.finish-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:7%;align-items:center}.finish-preview img{width:100%;height:auto}.finish-copy h3{font-size:2rem;margin:30px 0 18px}.finish-copy p{color:var(--muted);line-height:1.8}.finish-copy .text-link{margin-top:25px}.ppf-page .process-band .photo-open{display:block;margin-bottom:26px}.ppf-page .process-band img{width:100%;height:270px;object-fit:cover}.ppf-page .process-grid article>span{margin-bottom:18px}.ppf-projects{padding-top:90px;padding-bottom:90px}.ppf-project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.ppf-project-grid .related-caption h3{font-size:1.7rem}.ppf-faq{display:grid;grid-template-columns:1fr 1.25fr;gap:8%;padding-bottom:90px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:23px 0;font-size:17px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:24px;color:var(--gold);transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{margin:0 0 25px;color:var(--muted);line-height:1.8}.faq-list summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.ppf-page .ppf-invite{background:#eeece6;border:0}.ppf-page .ppf-invite h2{font-size:clamp(2.5rem,4vw,4.3rem)}
@media(max-width:900px){.ppf-intro,.finish-layout,.ppf-faq{grid-template-columns:1fr;gap:35px}.ppf-intro{padding-top:60px}.ppf-intro img{height:auto;max-height:520px;object-fit:cover}.ppf-benefits{gap:25px;padding-bottom:55px}.ppf-page .protection-feature{padding:55px 0}.ppf-finish-section,.ppf-projects{padding-top:55px;padding-bottom:55px}.ppf-faq{padding-bottom:55px}.ppf-project-grid{gap:20px}.ppf-page .process-band img{height:220px}}
@media(max-width:760px){.ppf-page .project-hero-copy{width:100%;max-width:none}.ppf-page .project-hero h1{font-size:clamp(3rem,10vw,4.5rem)}.ppf-benefits,.ppf-project-grid{grid-template-columns:1fr}.ppf-page .project-invite>.shell{grid-template-columns:1fr}.ppf-page .process-band img{height:auto;max-height:420px}.ppf-page .ppf-intro{padding-top:45px}.ppf-page .editorial-actions .button{width:100%;justify-content:space-between}.ppf-page .finish-copy .ppf-finishes{grid-template-columns:1fr 1fr}.ppf-page .ppf-stage{overflow:hidden}}

.ppf-prices{padding-top:80px;padding-bottom:20px}.ppf-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.ppf-price-grid article{border-top:1px solid var(--gold);padding-top:28px}.ppf-price-grid h3{font-size:1.8rem;margin:0 0 24px}.ppf-price-grid .ppf-price{font-family:Georgia,serif;font-size:clamp(2rem,3vw,3rem);color:var(--gold);line-height:1.25;margin:0 0 20px}.ppf-price span{font-family:inherit;font-size:1.1rem;color:var(--muted)}.ppf-price-grid .ppf-price-request{font-size:clamp(1.6rem,2.3vw,2.4rem)}.ppf-price-grid article>p:last-child,.ppf-price-note{color:var(--muted);font-size:15px;line-height:1.8}.ppf-price-note{margin-top:30px}@media(max-width:760px){.ppf-prices{padding-top:50px;padding-bottom:0}.ppf-price-grid{grid-template-columns:1fr;gap:28px}.ppf-price-grid h3{margin-bottom:16px}}

.ppf-page .process-band .process-photo{display:block;margin-bottom:26px}

/* Static hero and introduction photos retain their existing framing. */
.ppf-page .ppf-static-photo{cursor:default}
.ppf-page .ppf-static-photo:hover img{filter:none}
