.pp-langhe-hub-page {
  --lhub-paper: #fbf8ff;
  --lhub-cream: #f4f1de;
  --lhub-ink: #161a32;
  --lhub-muted: #55423e;
  --lhub-accent: #9a442d;
  --lhub-sage: #45645e;
  --lhub-line: rgba(61,64,91,.14);
  background: var(--lhub-paper);
}
.pp-lhub-shell { color: var(--lhub-muted); }
.pp-lhub-shell a { color: var(--lhub-accent); text-underline-offset: .2em; }
.pp-lhub-shell a:hover { color: var(--lhub-sage); }
.pp-lhub-shell a:focus-visible { outline: 3px solid var(--lhub-sage); outline-offset: 5px; }
.pp-lhub-shell h1, .pp-lhub-shell h2 { color: var(--lhub-ink); font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: -.025em; }
.pp-lhub-shell h2 { margin: .65rem 0 1rem; font-size: clamp(2rem,3.2vw,3rem); line-height: 1.18; }
.pp-lhub-shell h3 { color: var(--lhub-ink); font-size: 1.2rem; line-height: 1.4; }
.pp-lhub-shell p { line-height: 1.85; }
.pp-lhub-shell .pp-lhub-eyebrow { display: inline-block; color: var(--lhub-accent); font-size: .73rem; line-height: 1.6; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.pp-lhub-hero { padding: 1.7rem 0 4rem; border-bottom: 1px solid var(--lhub-line); background: radial-gradient(720px 360px at 8% 0%,rgba(224,122,95,.14),transparent 64%),radial-gradient(620px 340px at 88% 18%,rgba(132,165,157,.16),transparent 66%),linear-gradient(180deg,#f4f1de,#fbf8ff); }
.pp-lhub-breadcrumb { margin-bottom: 2.8rem; }
.pp-lhub-hero-grid { display: grid; grid-template-columns: minmax(0,1.06fr) minmax(0,1fr); align-items: center; gap: clamp(2rem,4vw,4rem); }
.pp-langhe-hub-page .pp-lhub-hero h1 { margin: .8rem 0 1.5rem; font-size: clamp(3.7rem,5.5vw,5.5rem); line-height: 1.03; }
.pp-lhub-hero h1 span { display: block; margin-top: .65rem; font-size: .65em; line-height: 1.12; }
.pp-lhub-deck { max-width: 640px; font-size: 1.07rem; }
.pp-lhub-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.15rem; margin-top: 1.8rem; }
.pp-lhub-shell .pp-lhub-button { display: inline-flex; align-items: center; justify-content: center; padding: .9rem 1.15rem; border: 1px solid var(--lhub-accent); border-radius: .25rem; color: #fff; background: var(--lhub-accent); font-size: .89rem; font-weight: 700; line-height: 1.55; text-align: center; text-decoration: none; }
.pp-lhub-shell .pp-lhub-button:hover { color: #fff; background: #803923; border-color: #803923; }
.pp-lhub-text-link { font-size: .87rem; font-weight: 700; line-height: 1.65; }
.pp-lhub-text-link span { padding-left: .3rem; }
.pp-lhub-quick-nav { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; margin-top: 2rem; padding-top: 1.2rem; border-top: 1px solid var(--lhub-line); }
.pp-lhub-quick-nav a { font-size: .8rem; font-weight: 600; }
.pp-lhub-shell figure { margin: 0; }
.pp-lhub-photo { min-width: 0; border: 1px solid var(--lhub-line); background: #fff; }
.pp-lhub-photo img { display: block; width: 100%; height: auto; }
.pp-lhub-photo figcaption { padding: .75rem .9rem; color: var(--lhub-muted); font-size: .71rem; line-height: 1.65; }
.pp-lhub-hero .pp-lhub-photo { padding: .6rem; box-shadow: 0 14px 36px rgba(61,64,91,.06); }
.pp-lhub-hero .pp-lhub-photo figcaption { padding: .85rem .25rem .25rem; font-size: .76rem; }
.pp-lhub-section { padding: 4.5rem 0; scroll-margin-top: 6rem; }
.pp-lhub-section-heading { max-width: 800px; margin-bottom: 2.3rem; }
.pp-lhub-section-heading > p { margin-bottom: 0; }
.pp-lhub-experience-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
.pp-lhub-experience-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--lhub-line); background: #fff; }
.pp-lhub-experience-card .pp-lhub-photo { border: 0; border-bottom: 1px solid var(--lhub-line); }
.pp-lhub-experience-card .pp-lhub-photo img { aspect-ratio: 3 / 2; object-fit: cover; }
.pp-lhub-card-copy { display: flex; flex: 1; flex-direction: column; align-items: start; padding: 1.4rem; }
.pp-lhub-card-copy h3 { margin: .6rem 0 .85rem; }
.pp-lhub-card-copy p { margin-bottom: 1.1rem; font-size: .91rem; }
.pp-lhub-format { margin-top: auto; margin-bottom: .8rem; color: var(--lhub-sage); font-size: .77rem; font-weight: 700; }
.pp-lhub-experience-note { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 2rem; padding: 1.5rem; border-left: 3px solid #c9a45c; background: #f8f5ef; }
.pp-lhub-experience-note p { flex: 1; margin: 0; font-size: .85rem; }
.pp-lhub-experience-note a { max-width: 230px; }
.pp-lhub-planning { border-block: 1px solid var(--lhub-line); background: var(--lhub-cream); }
.pp-lhub-planning-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.2rem; }
.pp-lhub-planning-grid > a { display: flex; flex-direction: column; padding: 1.35rem; border: 1px solid var(--lhub-line); background: #fff; text-decoration: none; }
.pp-lhub-planning-grid h3 { margin: .75rem 0; text-decoration: underline; text-underline-offset: .2em; }
.pp-lhub-planning-grid p { margin-bottom: .75rem; color: var(--lhub-muted); font-size: .88rem; }
.pp-lhub-planning-grid span { color: var(--lhub-accent); font-size: .74rem; font-weight: 700; }
.pp-lhub-planning-grid span:last-child { margin-top: auto; font-size: 1.2rem; }
.pp-langhe-hub-page .pp-collection-catalog { scroll-margin-top: 5rem; }
.pp-langhe-hub-page .pp-collection-group { scroll-margin-top: 6rem; }
.pp-langhe-hub-page .pp-collection-catalog h3 { font-size: 1.1rem; font-weight: 700; }
.pp-langhe-hub-page .pp-collection-card h3 a { text-decoration: underline; text-underline-offset: .2em; }
.pp-langhe-hub-page .pp-collection-card h3 a:focus-visible { outline: 3px solid var(--lhub-sage); outline-offset: 5px; }
.pp-lhub-closing { border-top: 1px solid var(--lhub-line); background: linear-gradient(135deg,#f4f1de,#fbf8ff); }
.pp-lhub-closing-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); align-items: center; gap: 4rem; }
.pp-lhub-closing-card { padding: 1.8rem; border: 1px solid var(--lhub-line); background: #fff; }
.pp-lhub-closing-card ul { padding-left: 1.2rem; margin: 1rem 0 1.5rem; line-height: 1.9; }
.pp-lhub-closing-card .pp-lhub-button { width: 100%; margin-bottom: 1rem; }
.pp-lhub-closing-card > .pp-lhub-text-link { display: block; }
.pp-lhub-editorial-note { max-width: 960px; margin: 3rem 0 0; font-size: .78rem; }
.pp-langhe-hub-page .pp-site-footer > .container > .row.g-5 { --bs-gutter-x: 1.5rem; }
@media (max-width: 991.98px) {
 .pp-lhub-experience-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .pp-lhub-planning-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .pp-lhub-closing-grid { gap: 2rem; }
}
@media (max-width: 767.98px) {
 .pp-lhub-hero { padding: 1.25rem 0 2.5rem; }
 .pp-lhub-breadcrumb { margin-bottom: 1.8rem; }
 .pp-lhub-hero-grid, .pp-lhub-closing-grid { grid-template-columns: 1fr; gap: 2rem; }
 .pp-langhe-hub-page .pp-lhub-hero h1 { font-size: clamp(3rem,12vw,4rem); }
 .pp-lhub-deck { font-size: 1rem; }
 .pp-lhub-actions { align-items: stretch; flex-direction: column; gap: 1rem; }
 .pp-lhub-section { padding: 3rem 0; }
 .pp-lhub-experience-grid { grid-template-columns: 1fr; }
 .pp-lhub-experience-note { align-items: stretch; flex-direction: column; gap: 1rem; padding: 1.2rem; }
 .pp-lhub-experience-note a { max-width: none; }
 .pp-lhub-closing-card { padding: 1.3rem; }
 .pp-lhub-editorial-note { margin-top: 2rem; }
}
@media (max-width: 479.98px) {
 .pp-lhub-planning-grid { grid-template-columns: 1fr; }
 .pp-lhub-planning-grid > a { padding: 1.2rem; }
}
