.pp-turim-hub-page .pp-th-hero h1 { font-size: clamp(4rem, 6vw, 6rem); }
.pp-th-hero h1 span { display: block; margin-top: .7rem; font-size: .55em; line-height: 1.2; }
.pp-th-facts { display: flex; flex-wrap: wrap; gap: .55rem 1rem; margin-top: 1.3rem; color: var(--te-slate); font-size: .76rem; line-height: 1.7; }
.pp-th-facts span { border-left: 2px solid #c9a45c; padding-left: .65rem; }
.pp-th-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 1.5rem; margin-top: 1.6rem; }
.pp-th-quick-nav { display: flex; flex-wrap: wrap; gap: .7rem 1.5rem; margin-top: 2.7rem; padding-top: 1.4rem; border-top: 1px solid var(--te-line); }
.pp-th-quick-nav a { font-size: .83rem; font-weight: 650; }
.pp-th-section { padding: 4rem 0; }
.pp-turim-hub-page .pp-th-tips { background: #f1f6f4; border-bottom: 1px solid var(--te-line); }
.pp-th-tips-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.pp-th-tips-grid > div { min-width: 0; }
.pp-th-tips-card { padding: 1.7rem; border: 1px solid var(--te-line); background: #fff; }
.pp-th-tips-card ul { margin: 1rem 0; padding-left: 1.2rem; }
.pp-th-tips-card li { padding: .3rem 0; font-size: .9rem; line-height: 1.7; }
.pp-th-tips-card p { margin-bottom: 0; font-size: .85rem; }
.pp-th-heading { max-width: 800px; margin-bottom: 2rem; }
.pp-th-heading > p { margin-bottom: 0; }
.pp-th-theme-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.4rem; }
.pp-th-theme { min-width: 0; display: flex; flex-direction: column; border: 1px solid var(--te-line); background: #fff; }
.pp-th-theme .pp-te-photo { padding: .45rem .45rem 0; border: 0; }
.pp-th-theme .pp-te-photo img { aspect-ratio: 4 / 3; object-fit: cover; }
.pp-th-card-copy { flex: 1; display: flex; flex-direction: column; padding: 1.5rem; }
.pp-th-card-copy h3 { margin: .7rem 0; font-size: 1.35rem; }
.pp-th-card-copy p { margin-bottom: 1.3rem; font-size: .92rem; }
.pp-th-card-copy .pp-te-text-link { margin-top: auto; }
.pp-th-route { background: #f8f5ef; border-block: 1px solid var(--te-line); }
.pp-th-route-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.pp-th-route-list { list-style: none; margin: 0; padding: 0; }
.pp-th-route-list li { display: grid; grid-template-columns: 2.8rem minmax(0, 1fr); gap: 1rem; padding: 1.25rem 0; border-top: 1px solid var(--te-line); }
.pp-th-route-list li > span { color: var(--te-accent); font-family: Georgia, 'Times New Roman', serif; font-size: 1.9rem; }
.pp-th-route-list h3 { margin-bottom: .5rem; }
.pp-th-route-list p { margin: 0; font-size: .9rem; }
.pp-th-route .pp-te-note { margin-bottom: 0; }
.pp-th-planning { background: #f1f6f4; border-block: 1px solid var(--te-line); }
.pp-th-planning-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.pp-te-shell .pp-th-plan-card { display: flex; flex-direction: column; padding: 1.5rem; border: 1px solid var(--te-line); color: var(--te-muted); background: #fff; text-decoration: none; }
.pp-th-plan-card h3 { margin: .8rem 0; }
.pp-th-plan-card p { font-size: .88rem; }
.pp-th-closing { border-top: 1px solid var(--te-line); background: var(--te-cream); }
.pp-th-closing-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .85fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.pp-th-contact-card { min-width: 0; padding: 2rem; border: 1px solid var(--te-line); background: #fff; }
.pp-th-contact-card ul { padding-left: 1.2rem; margin: 1.2rem 0 1.6rem; }
.pp-th-contact-card li { padding: .25rem 0; line-height: 1.8; font-size: .9rem; }
.pp-th-contact-card .pp-te-text-link { margin-top: 1rem; }
.pp-turim-hub-page .pp-collection-card-type { color: var(--te-sage); }
.pp-turim-hub-page .pp-collection-card { box-shadow: none; }
@media (max-width: 991.98px) {
 .pp-th-theme-grid { grid-template-columns: minmax(0, 1fr); }
 .pp-th-theme { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
 .pp-th-planning-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .pp-th-route-grid, .pp-th-closing-grid, .pp-th-tips-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 575.98px) {
 .pp-turim-hub-page .pp-th-hero h1 { font-size: 4.1rem; }
 .pp-th-hero h1 span { font-size: .52em; }
 .pp-th-section { padding: 2.5rem 0; }
 .pp-th-theme, .pp-th-planning-grid { grid-template-columns: minmax(0, 1fr); }
 .pp-th-card-copy, .pp-te-shell .pp-th-plan-card, .pp-th-contact-card { padding: 1.25rem; }
 .pp-th-quick-nav { gap: .9rem; }
}
