:root{
  --pch-primary:#e8590c;
  --pch-primary-dark:#c94b09;
}
.pch-hero{position:relative;overflow:hidden;border-radius:1.5rem;padding:80px 48px;color:#fff;background:linear-gradient(135deg,#101820 0%,#1c2b3a 60%,#0d3b4f 100%);margin-bottom:60px;}
.pch-hero-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);padding:6px 16px;border-radius:50px;font-size:.85rem;font-weight:600;margin-bottom:20px;}
.pch-hero h1{font-size:3rem;font-weight:800;line-height:1.15;margin-bottom:18px;color:#fff;}
.pch-hero h1 span{color:var(--pch-primary);}
.pch-hero p{max-width:560px;font-size:1.1rem;opacity:.85;margin-bottom:28px;color:#fff;}
.pch-btn-primary{background:var(--pch-primary);border:none;color:#fff;font-weight:700;padding:12px 28px;border-radius:50px;transition:.2s;}
.pch-btn-primary:hover{background:var(--pch-primary-dark);color:#fff;}
.pch-btn-outline{background:transparent;border:2px solid rgba(255,255,255,.4);color:#fff;font-weight:700;padding:11px 28px;border-radius:50px;transition:.2s;}
.pch-btn-outline:hover{background:rgba(255,255,255,.1);color:#fff;}
.pch-btn-outline-alt{background:transparent;border:2px solid var(--bs-border-color);color:var(--bs-body-color);font-weight:700;padding:11px 28px;border-radius:50px;transition:.2s;}
.pch-btn-outline-alt:hover{background:var(--bs-tertiary-bg);color:var(--bs-body-color);}

.pch-tag{text-transform:uppercase;letter-spacing:2px;font-size:.8rem;font-weight:700;color:var(--pch-primary);}
.pch-section-header{max-width:600px;margin:0 auto 40px;text-align:center;}
.pch-section-header h2{font-weight:800;font-size:2rem;margin:.5rem 0;color:var(--bs-body-color);}
.pch-section-header p{color:var(--bs-secondary-color);}

.pch-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-bottom:80px;}
.pch-split img{width:100%;border-radius:1.25rem;box-shadow:0 20px 40px rgba(0,0,0,.15);}
.pch-split h2{font-weight:800;font-size:1.9rem;margin:.5rem 0 1rem;color:var(--bs-body-color);}
.pch-split p{color:var(--bs-secondary-color);}

.pch-court-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:80px;}
.pch-court-card{border-radius:1.25rem;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.15);background:var(--bs-tertiary-bg);transition:transform .25s;}
.pch-court-card:hover{transform:translateY(-6px);}
.pch-court-img{position:relative;height:220px;background:var(--bs-secondary-bg);}
.pch-court-img img{width:100%;height:100%;object-fit:cover;display:block;}
.pch-court-badge{position:absolute;top:14px;left:14px;background:rgba(16,24,32,.75);color:#fff;font-size:.75rem;font-weight:700;padding:4px 12px;border-radius:50px;letter-spacing:1px;}
.pch-court-body{padding:20px;}
.pch-court-body h3{font-weight:800;margin-bottom:2px;color:var(--bs-body-color);}
.pch-court-body .meta{color:var(--bs-secondary-color);font-size:.85rem;margin-bottom:14px;}

.pch-teaser{background:#101820;color:#fff;border-radius:1.5rem;padding:56px;margin-bottom:80px;display:grid;grid-template-columns:2fr 1fr;gap:40px;align-items:center;}
.pch-teaser h2{font-weight:800;font-size:1.8rem;margin-bottom:14px;color:#fff;}
.pch-teaser ul{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px;}
.pch-teaser li strong{color:var(--pch-primary);}

.pch-community{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;background:var(--bs-tertiary-bg);border-radius:1.25rem;padding:36px 40px;margin-bottom:80px;}
.pch-community h3{font-weight:800;margin-bottom:4px;color:var(--bs-body-color);}

.pch-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-bottom:80px;}
.pch-feature-card{background:var(--bs-tertiary-bg);border-radius:1.25rem;padding:30px;box-shadow:0 10px 25px rgba(0,0,0,.1);}
.pch-feature-icon{width:52px;height:52px;border-radius:14px;background:rgba(232,89,12,.15);color:var(--pch-primary);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:16px;}
.pch-feature-card h3{font-weight:700;font-size:1.05rem;margin-bottom:6px;color:var(--bs-body-color);}
.pch-feature-card p{color:var(--bs-secondary-color);font-size:.92rem;margin:0;}

.pch-location-card{background:var(--bs-tertiary-bg);border-radius:1.25rem;box-shadow:0 10px 25px rgba(0,0,0,.1);padding:36px;margin-bottom:80px;max-width:480px;}
.pch-location-card h3{font-weight:800;color:var(--bs-body-color);}
.pch-location-card .muted{color:var(--bs-secondary-color);font-size:.9rem;}

.pch-cta{background:linear-gradient(135deg,var(--pch-primary),#ff8c42);color:#fff;border-radius:1.5rem;padding:60px;text-align:center;margin-bottom:20px;}
.pch-cta h2{font-weight:800;font-size:2rem;color:#fff;}

@media (max-width:768px){
  .pch-hero h1{font-size:2.1rem;}
  .pch-split,.pch-teaser{grid-template-columns:1fr;}
}

/* Full-page hero */
.pch-hero-full{
    position:relative;
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    min-height:calc(100vh - 56px);
    display:flex;
    align-items:center;
    overflow:hidden;
    color:#fff;
    margin-bottom:60px;
}
.pch-hero-full video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:0;
}
.pch-hero-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(135deg, rgba(16,24,32,.85) 0%, rgba(28,43,58,.75) 55%, rgba(13,59,79,.5) 100%);
    z-index:1;
}

.pch-hero-inner{
    position:relative;
    z-index:2;
    max-width:820px;
    padding:0 6%;
    margin:0 auto;
    text-align:center;
}
.pch-hero-inner .pch-hero-tag{font-size:1rem;}
.pch-hero-inner h1{font-size:5.2rem;font-weight:800;line-height:1.1;margin-bottom:24px;color:#fff;}
.pch-hero-inner h1 span{color:var(--pch-primary);}
.pch-hero-inner p{font-size:1.4rem;max-width:680px;opacity:.9;margin-bottom:36px;margin-left:auto;margin-right:auto;}
.pch-hero-inner .d-flex{justify-content:center;}

.pch-scroll-hint{
    position:absolute;
    bottom:28px;
    left:50%;
    transform:translateX(-50%);
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
    font-size:.8rem;
    letter-spacing:1px;
    text-transform:uppercase;
    color:#fff;
    opacity:.85;
    animation:pchBounce 2s infinite;
}
@keyframes pchBounce{
    0%,100%{transform:translate(-50%,0);}
    50%{transform:translate(-50%,8px);}
}

@media (max-width:768px){
    .pch-hero-inner h1{font-size:2.6rem;}
    .pch-hero-inner p{font-size:1.05rem;}
}