/* PPF ads land on both offers; keep scope, price and contact visible together. */
.ppf-page .ppf-hero{padding:36px 0 40px;min-height:0}
.ppf-page .ppf-hero .page-hero-inner{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:center}
.ppf-page .ppf-hero-copy{min-width:0}
.ppf-page .ppf-hero .breadcrumb{margin-bottom:18px}
.ppf-page .ppf-hero .eyebrow{margin-bottom:14px}
.ppf-page .ppf-hero h1{font-size:clamp(40px,4.3vw,62px);line-height:1.08;letter-spacing:-.045em;margin:0 0 18px}
.ppf-page .ppf-hero .lead{font-size:16px;line-height:1.6;margin:0 0 20px;max-width:600px}
.ppf-page .ppf-hero .hero-actions{display:flex;gap:10px;margin:0 0 24px;flex-wrap:wrap}
.ppf-page .ppf-hero .hero-actions .button{min-height:48px;padding:12px 20px;font-size:13px;text-align:center;white-space:normal}
.ppf-page .ppf-hero-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ppf-page .ppf-price-card{min-width:0;padding:18px;border:1px solid #ffffff30;background:#ffffff04;scroll-margin-top:100px}
.ppf-page .ppf-price-card h2{font-size:16px;line-height:1.4;letter-spacing:0;margin:0 0 10px;font-weight:600}
.ppf-page .ppf-price-card .ppf-price{margin:0 0 10px}
.ppf-page .ppf-price strong{display:block;font-size:29px;line-height:1.1;font-weight:600;letter-spacing:-.03em;color:#fff}
.ppf-page .ppf-price span{display:block;font-size:12px;line-height:1.4;margin-top:5px;color:#c4c4c4}
.ppf-page .ppf-price-card>p:not(.ppf-price){font-size:13px;line-height:1.5;margin:0 0 10px;color:#c4c4c4}
.ppf-page .ppf-price-card>a{display:inline-block;padding:8px 0;font-size:12px;line-height:1.4;text-decoration:underline;text-underline-offset:4px}
.ppf-page .ppf-hero-terms{font-size:12px;line-height:1.6;color:#c4c4c4;margin:14px 0 0}
.ppf-page .ppf-hero .ppf-proof-link{margin-top:10px;font-size:13px;line-height:1.5}
.ppf-page .ppf-hero-location{margin:6px 0 0;font-size:12px;line-height:1.6;color:#c4c4c4}
.ppf-page .ppf-hero-location a{text-decoration:underline;text-underline-offset:4px}
.ppf-page .ppf-hero .page-hero-visual img{height:540px;filter:none;object-position:center}
/* The full-package price qualifier must wrap inside the existing price table. */
.ppf-page .season-price-table th:first-child{width:60%}
.ppf-page .season-price-table td{white-space:normal}
@media(max-width:980px){
  .ppf-page .ppf-hero .page-hero-inner{grid-template-columns:minmax(0,1fr);gap:28px}
  .ppf-page .ppf-hero .page-hero-visual{max-width:720px;width:100%}
  .ppf-page .ppf-hero .page-hero-visual img{height:360px}
}
@media(max-width:680px){
  .ppf-page .ppf-hero{padding:24px 0 28px}
  .ppf-page .ppf-hero .breadcrumb{margin-bottom:14px}
  .ppf-page .ppf-hero h1{font-size:40px;margin-bottom:14px}
  .ppf-page .ppf-hero .lead{font-size:15px;line-height:1.55;margin-bottom:18px}
  .ppf-page .ppf-hero .hero-actions{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);margin-bottom:20px}
  .ppf-page .ppf-hero .hero-actions .button{padding:11px 8px;font-size:12px;letter-spacing:0}
  .ppf-page .ppf-hero-offers{gap:10px}
  .ppf-page .ppf-price-card{padding:13px 11px}
  .ppf-page .ppf-price-card h2{font-size:14px;min-height:40px}
  .ppf-page .ppf-price strong{font-size:25px;white-space:nowrap}
  .ppf-page .ppf-price span{font-size:11px}
  .ppf-page .ppf-price-card>p:not(.ppf-price){font-size:12px}
  .ppf-page .ppf-price-card>a{font-size:11px}
  .ppf-page .ppf-hero .page-hero-visual img{height:300px}
}
@media(max-width:359px){
  .ppf-page .ppf-price strong{font-size:23px}
  .ppf-page .ppf-price-card{padding:12px 9px}
}
