/* Finished comparison-led pricing page, using approved C and ticket modules. */
.pricing-page .pp-h1 { font-size:clamp(38px,4.6vw,66px); line-height:1.03; }
.pricing-page .tc-copy { gap:20px; }
.pricing-page .pp-hero-c .tc-hero-in { min-height:550px; padding-bottom:50px; }
.pricing-page .pp-hero-c>.hm-c { width:48%; }
.pricing-page .pp-hero-c .tc-copy { max-width:560px; }
.pricing-page .pp-hero-c .body { color:var(--rsa-chalk); }
.pp-rating { display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-size:13px; color:var(--rsa-mist); }
.pp-rating .stars { font-size:17px; }
.pp-sections { display:flex; flex-direction:column; gap:88px; padding-top:72px; padding-bottom:80px; }
.pricing-page .ticket { min-width:0; }
.pricing-page .ticket-name { margin:0; }
.pp-ticket-description { margin:0; color:var(--rsa-mist); font-size:14px; line-height:1.55; }
.pricing-page .ticket-prices { margin-top:auto; }
.pricing-page .ticket-prices small { font:500 12px var(--font-body); color:var(--rsa-mist); }
.pricing-page .ticket-go { text-decoration:none; gap:14px; margin-top:4px; }
.pp-fine { margin:0; color:var(--rsa-mist); font-size:13px; line-height:1.6; }
.pp-two-tickets { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pp-inclusions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; }
.pp-inclusions .centre { grid-template-columns:auto minmax(0,1fr); align-items:start; }
.pp-inclusions .centre-name { margin:0 0 6px; }
.pp-inclusions p { margin:0; color:var(--rsa-mist); font-size:14px; line-height:1.6; }
.pricing-page .step-g h3 { margin:0; font:700 17px/1.4 var(--font-body); }
.pricing-page .step-g p { color:var(--rsa-mist); }
.pricing-page .step-g .tlink { margin-top:10px; font-size:12px; }
.pp-note { display:flex; flex-direction:column; gap:10px; padding:22px 26px; background:var(--rsa-surface); border-left:3px solid var(--rsa-green); }
.pp-note p { margin:0; color:var(--rsa-mist); }
.pp-note .tlink { font-size:13px; align-self:start; }
.pp-reviews { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.pp-reviews .rcard { min-height:0; }
.pp-reviews .rcard-text { font-size:16px; }
.pp-booking { background:var(--rsa-red); padding:64px 0; }
.pp-booking-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); gap:56px; align-items:center; }
.pp-booking-copy { display:flex; flex-direction:column; gap:24px; }
.pp-booking-copy .h2 { font-size:clamp(32px,3.2vw,46px); }
.pp-booking-copy p { color:#fff; max-width:44ch; margin:0; }
.pp-book-form { min-width:0; }
.pp-book-form #contact-form-anchor>.container { padding:0; max-width:none; }
.pp-book-form .lead-form-card { margin:0; }
.pp-book-form .lead-form-header h2 { font-size:26px; }
.pp-book-form .lead-form-header p { font-size:15px; }
.pp-book-form .lead-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pp-c-compare { display:grid; grid-template-columns:minmax(0,2.2fr) minmax(255px,1fr); gap:40px; align-items:start; }
.pp-c-guide { padding-top:8px; display:flex; flex-direction:column; gap:24px; }
.pp-c-guide .tb-guide { padding:26px; gap:22px; }
.pp-guide-note { border-left:3px solid var(--rsa-green); padding:8px 0 8px 24px; }
.pp-guide-note p { font-size:14px; color:var(--rsa-mist); line-height:1.6; }
.pp-guide-note .tlink { font-size:12px; }
.pp-comparison table { width:100%; border-collapse:collapse; table-layout:fixed; }
.pp-comparison th,.pp-comparison td { text-align:left; vertical-align:top; padding:22px 18px; border-bottom:1px solid var(--line-22); }
.pp-comparison thead th { background:var(--rsa-green); color:var(--rsa-road-black); font:800 12px var(--font-display); text-transform:uppercase; letter-spacing:.05em; padding-block:16px; }
.pp-comparison thead th:first-child { width:32%; }
.pp-comparison tbody th { font-weight:400; }
.pp-comparison .pp-best-row { background:var(--rsa-surface); }
.pp-row-count { display:block; font:800 34px/1 var(--font-display); color:var(--rsa-chalk); margin-bottom:10px; }
.pp-row-count small { font:600 12px var(--font-body); text-transform:uppercase; }
.pp-row-note { display:block; color:var(--rsa-mist); font-size:13px; line-height:1.5; margin-top:8px; }
.pp-comparison .badge-g { margin-top:12px; font-size:9px; }
.pp-comparison-price { display:block; color:var(--rsa-chalk); font:800 clamp(24px,2.3vw,30px)/1.15 var(--font-display); letter-spacing:-.03em; }
.pp-rate { display:block; color:var(--rsa-mist); font-size:12px; line-height:1.5; margin:8px 0 18px; }
.pp-comparison .ticket-go { font-size:10px; padding:12px 10px; }
.pp-mobile-label { display:none; }
.pp-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.pricing-page section[id] { scroll-margin-top:100px; }
.pricing-page :is(a,button):focus-visible { outline:3px solid var(--rsa-green); outline-offset:3px; box-shadow:0 0 0 6px #000; }
@media (max-width:1100px) {
  .rsa-site:has(.pricing-page) .hdr-icon[href^="tel:"] { display:inline-flex; }
  .pp-c-compare { grid-template-columns:1fr; }
  .pp-c-guide { display:grid; grid-template-columns:1.4fr 1fr; gap:32px; align-items:start; }
  .pp-comparison-price { font-size:32px; }
  .pricing-page .pp-hero-c .tc-copy { max-width:47%; }
  .pp-booking-grid { gap:32px; }
}
@media (max-width:900px) {
  .pricing-page .pp-hero-c>.hm-c { width:100%; }
  .pricing-page .pp-hero-c .tc-copy { max-width:none; }
  .pricing-page .pp-hero-c .tc-hero-in { min-height:0; }
  .pp-booking-grid { grid-template-columns:1fr; }
}
@media (max-width:768px) {
  .pp-sections { gap:60px; padding-top:46px; padding-bottom:58px; }
  .pp-inclusions,.pp-reviews,.pricing-page .steps3,.pp-c-guide { grid-template-columns:1fr; }
  .pp-booking { padding:44px 0; }
  .pp-book-form .lead-form-grid { grid-template-columns:1fr; }
  .pp-book-form .lead-form-header h2 { font-size:23px; }
  .pp-book-form .lead-form-card { padding:22px; }
  .pp-comparison th,.pp-comparison td { padding:20px 14px; }
  .pp-comparison-price { font-size:26px; }
}
@media (max-width:600px) {
  .pp-two-tickets { grid-template-columns:1fr; }
  .pp-comparison table,.pp-comparison tbody { display:block; }
  .pp-comparison thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .pp-comparison tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:3px solid var(--rsa-green); margin-bottom:22px; background:var(--rsa-surface); }
  .pp-comparison tbody th { grid-column:1/-1; padding:22px 20px 18px; border-bottom:1px dashed var(--line-22); }
  .pp-row-count { display:inline-block; margin-right:16px; margin-bottom:0; }
  .pp-row-note { margin-top:12px; }
  .pp-comparison td { min-width:0; border:0; padding:20px 14px; }
  .pp-comparison td:last-child { border-left:1px solid var(--line-16); }
  .pp-comparison-price { font-size:27px; }
  .pp-comparison .ticket-go { font-size:10px; padding-inline:8px; }
  .pp-mobile-label { display:block; color:var(--rsa-green); font:700 10px var(--font-display); text-transform:uppercase; letter-spacing:.08em; margin-bottom:10px; }
  .pp-rate { font-size:11px; min-height:33px; }
}
@media (prefers-reduced-motion:reduce) {
  .pricing-page * { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
  .pricing-page .ticket:hover { transform:none; }
}
