/* ================================================
   Page banner — dark heritage theme
   ================================================ */

/* ============ banner shell ============ */
.pb-banner {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(ellipse 800px 400px at 12% 0%, rgba(201,164,76,0.12), transparent 60%),
        linear-gradient(180deg, #17693b 0%, #0f4a29 100%);
    padding: calc(var(--site-header-height, 72px) + var(--site-notices-height, 0px) + 48px) 6vw 52px;
}

/* ============ jaali lattice watermark ============ */
.pb-jaali {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.24;
    z-index: 0;
    -webkit-mask-image: radial-gradient(ellipse 75% 100% at 20% 30%, black 30%, transparent 85%);
    mask-image: radial-gradient(ellipse 75% 100% at 20% 30%, black 30%, transparent 85%);
}

.pb-jaali svg {
    width: 100%;
    height: 100%;
}

.pb-jaali path.tl {
    fill: none;
    stroke: #C9A44C;
    stroke-width: 0.75;
    stroke-dasharray: 2600;
    stroke-dashoffset: 2600;
    animation: pb-draw-lattice 3.2s cubic-bezier(.4,0,.2,1) forwards;
}

.pb-jaali circle.td {
    fill: #C9A44C;
    opacity: 0;
    animation: pb-dot-fade 1s ease forwards;
    animation-delay: 2.8s;
}

@keyframes pb-dot-fade    { to { opacity: 0.35; } }
@keyframes pb-draw-lattice { to { stroke-dashoffset: 0; } }

/* ============ inner layout ============ */
.pb-inner {
    position: relative;
    z-index: 2;
    max-width: 1320px;
    margin: 0 auto;
}

.fade-up {
    opacity: 0;
    transform: translateY(20px);
    animation: pb-fadeUp 0.85s cubic-bezier(.16,1,.3,1) forwards;
}

@keyframes pb-fadeUp {
    to { opacity: 1; transform: translateY(0); }
}

/* ============ eyebrow pill ============ */
.pb-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 18px 8px 12px;
    border: 1px solid rgba(201,164,76,0.22);
    border-radius: 100px;
    background: linear-gradient(180deg, rgba(201,164,76,0.09), rgba(201,164,76,0.02));
    margin-bottom: 22px;
}

.pb-star {
    width: 16px;
    height: 16px;
    color: #C9A44C;
    flex-shrink: 0;
    animation: pb-seal-spin 22s linear infinite;
}

@keyframes pb-seal-spin {
    to { transform: rotate(360deg); }
}

.pb-eyebrow span {
    font-family: 'Poppins', -apple-system, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #FFE599;
}

/* ============ title ============ */
.pb-title {
    font-family: 'Amiri', 'Georgia', serif;
    font-weight: 700;
    font-size: clamp(2rem, 4.5vw, 3.2rem);
    line-height: 1.1;
    color: #ffffff;
    margin: 0 0 22px;
    text-shadow: 0 2px 12px rgba(0,0,0,0.18);
}

.pb-accent {
    color: #FFE599;
    font-style: italic;
}

/* ============ breadcrumb trail ============ */
.pb-crumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    font-family: 'Poppins', -apple-system, sans-serif;
    font-size: 14px;
}

.pb-crumb a {
    color: rgba(255,255,255,0.72);
    text-decoration: none;
    transition: color .3s ease;
}

.pb-crumb a:hover {
    color: #ffffff;
}

.pb-sep {
    color: rgba(255,255,255,0.4);
    font-size: 10px;
    line-height: 1;
}

.pb-current {
    color: #FFE599;
    font-weight: 500;
}

/* ============ compact breadcrumb strip ============ */
.pb-strip {
    background: #f8faf9;
    border-bottom: 1px solid rgba(0,0,0,0.06);
    padding: 12px 0;
}

.pb-strip__trail {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
}

.pb-strip__trail .breadcrumb-item,
.pb-strip__trail .breadcrumb-item a {
    color: #64748b;
}

.pb-strip__trail .breadcrumb-item a:hover {
    color: #00c868;
}

.pb-strip__trail .breadcrumb-item.active {
    color: #0f172a;
    font-weight: 700;
}

.pb-strip__trail .breadcrumb-item + .breadcrumb-item::before {
    color: rgba(100,116,139,0.45);
}

/* ============ responsive ============ */
@media (max-width: 640px) {
    .pb-banner { padding: calc(var(--site-header-height, 72px) + var(--site-notices-height, 0px) + 32px) 24px 40px; }
    .pb-title { font-size: 1.8rem; }
}

@media (prefers-reduced-motion: reduce) {
    .fade-up,
    .pb-star,
    path.tl {
        animation: none !important;
        opacity: 1 !important;
        stroke-dashoffset: 0 !important;
        transform: none !important;
    }
}
