:root{ --ps-red: #cc0033; }

/* Hero */
.subpage-hero{ position:relative; min-height: 36vh; display:grid; align-items:end; padding: clamp(18px, 4vw, 48px); background: #f7f7f8; overflow:hidden; }
.subpage-hero__bg{ position:absolute; inset:0; background-size: cover; background-position: center; filter: saturate(.9) contrast(.98) brightness(.98); opacity:.45; }
.subpage-hero__inner{ position:relative; z-index:1; max-width: 1100px; }
.subpage-title{ font-size: clamp(1.8rem, 1.2rem + 2.2vw, 3rem); font-weight: 900; letter-spacing:.01em; color:#111; }
.subpage-subtitle{ margin-top: .35rem; font-size: clamp(1rem, .9rem + .4vw, 1.25rem); color:#333; max-width: 60ch; }

/* Wrappers */
.subpage-wrap{ max-width: 1200px; margin: 0 auto; padding: clamp(16px, 3.2vw, 40px) clamp(16px, 3.2vw, 40px); }
.subpage-wrap.narrow, .subpage-narrow{ max-width: 940px; }
.subpage-content{ font-size: clamp(1rem, .96rem + .2vw, 1.125rem); line-height: 1.7; color:#222; }
.subpage-content h2, .subpage-content h3{ color:#111; margin-top: 1.6em; font-weight: 800; }
.subpage-content a{ color: var(--ps-red); text-decoration-thickness: .12em; text-underline-offset: .2em; }

/* Sidebar layout */
.subpage-grid{ display:grid; gap: clamp(16px, 3vw, 32px); grid-template-columns: minmax(0,1fr) 320px; align-items:start; }
.subpage-sidebar{ background:#fff; border: 1px solid rgba(0,0,0,.08); border-radius: 18px; padding: 16px; box-shadow: 0 4px 14px rgba(0,0,0,.06); }
.subpage-sidebar h3{ color:#111; font-weight:800; margin-top:0; }

/* Landing cards */
.subpage-cards{ display:grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.subpage-card{ background:#fff; border:1px solid rgba(0,0,0,.08); border-radius: 18px; overflow:hidden; box-shadow: 0 6px 18px rgba(0,0,0,.06); transition: transform .12s ease, box-shadow .12s ease; }
.subpage-card:hover{ transform: translateY(-2px); box-shadow: 0 14px 28px rgba(0,0,0,.12); }
.subpage-card__media{ aspect-ratio: 16/9; background:#eee; }
.subpage-card__media img{ width:100%; height:100%; object-fit: cover; display:block; }
.subpage-card__body{ padding: 14px 16px 16px; }
.subpage-card__title{ font-weight: 800; margin:0 0 6px; color:#111; }
.subpage-card__excerpt{ color:#333; font-size: .99rem; }

/* Legal */
.subpage-legal .subpage-content h2{ border-left: 6px solid var(--ps-red); padding-left: .6rem; }
.subpage-legal .subpage-content h3{ color: var(--ps-red); }

@media (max-width: 980px){
  .subpage-grid{ grid-template-columns: 1fr; }
}
