
.bpt-category-hero {
    position: relative;
    display: grid;
    place-items: center;
    min-height:63svh;
    background:var(--ink-700);
    overflow:hidden;
}

.bpt-category-hero-content {
    z-index: 3;
    display: grid;
    place-items: center;
    gap: 20px;
}

.bpt-category-hero-badge {
    font-size: clamp(16px, calc(0.1rem + 1svh), 24px);
    font-weight: 600;
    color: var(--gold-500);
    padding: 0.5rem 1rem;
}

.bpt-category-hero-badge::before, 
.bpt-category-hero-badge::after {
    content: '';
    display: inline-block;
    width: 1rem;
    border-bottom: 2px solid var(--gold-500);
    background-color: var(--gold-500);
    transform: translateY(-300%);
}

.bpt-category-hero-badge::before {
    margin-right: 0.5rem;
}
.bpt-category-hero-badge::after {   
    margin-left: 0.5rem;
}

.bpt-category-hero-title {
    font-family: var(--font-serif);
    font-size: clamp(64px, calc(1rem + 7svh), 128px);
    font-weight: 300;
    color: var(--white-warm);
    line-height: 1.1;
}

.bpt-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, var(--ink-900) 0%, var(--ink-700) 45%, transparent 100%);
    opacity: 0.9;
}

.bpt-category-hero-subtitle {
    font-size: clamp(15px, calc(1rem + 3svh), 1.5rem);
    color: var(--white-warm);
    line-height: 1.7;
    max-width: 48rem;
    font-weight: 300;
    text-align: center;
    font-family: var(--font-serif);
}

.bpt-category-hero-cta {
    height: auto;
    min-height: 6rem;
    display: grid;
    place-items: center;
}


/* CATEGORY SECTION */
.bpt-cat-section{padding:0 60px 90px;}
.bpt-cat-section-head{text-align:center;margin-bottom:48px;}
.bpt-cat-section h2{font-family:var(--font-serif);font-size:38px;font-weight:300;color:var(--ink-900);}

.bpt-cat-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:16px;
    margin:0 auto;
}

@media (min-width: 786px)
{
    .bpt-cat-grid{
        grid-template-columns:repeat(2,1fr);
        gap:16px;
        max-width:1024px;
    }
}

@media (min-width: 1024px)
{
    .bpt-cat-grid{
        grid-template-columns:repeat(4,1fr);
        gap:16px;
        max-width:1200px;
    }
}

.bpt-cat-card{
    background:var(--ink-700);
    padding:32px 24px;
    position:relative;
    overflow:hidden;
    cursor:pointer;
    transition:transform .2s;
    border-radius: var(--border-radius-sm);
}
.bpt-cat-card:hover{transform:translateY(-4px);}
.bpt-cat-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:var(--gold-400);transform:scaleX(0);transform-origin:left;transition:transform .3s;}
.bpt-cat-card:hover::before{transform:scaleX(1);}
.bpt-cat-icon{
    width:44px;
    height:44px;
    border:0.5px solid var(--gold-400);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:22px;
    color:var(--gold-400);
    border-radius: var(--border-radius-sm);
}
.bpt-cat-title{font-family:var(--font-serif);font-size:23px;font-weight:400;color:var(--white);margin-bottom:10px;}
.bpt-cat-text{font-size:13px;color:var(--ink-100);line-height:1.7;margin-bottom:18px;}
.bpt-cat-link{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-400);display:flex;align-items:center;gap:6px;}


/* WHY CHOOSE */
.why{padding:90px 60px;background:var(--cream);}
.why-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;max-width:1200px;margin:0 auto;}
.why-item{text-align:center;padding:0 12px;}
.why-title{font-family:var(--font-serif);font-size:19px;font-weight:400;color:var(--ink-900);margin-bottom:10px;}
.why-text{font-size:12.5px;color:var(--ink-300);line-height:1.7;}


/* BESPOKE CTA */
.bespoke{padding:100px 60px;text-align:center;background:var(--white);}
.bespoke-label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-600);margin-bottom:18px;}
.bespoke h2{font-family:var(--font-serif);font-size:42px;font-weight:300;color:var(--ink-900);margin-bottom:18px;}
.bespoke-text{font-size:15px;color:var(--ink-400);line-height:1.8;max-width:520px;margin:0 auto 32px;}
.bespoke-words{font-family:var(--font-serif);font-size:22px;font-style:italic;color:var(--gold-600);line-height:1.5;margin-bottom:36px;}