.content-with-sidebar{
    display:flex;
    gap:40px;
    align-items:flex-start;
}

.main-content{
    flex:1;
    min-width:0;
}

.sidebar{
    width:320px;
    position:sticky;
    top:30px;
}

.related-block{
    background:#ffffff;
    border:1px solid #e5e5e5;
    border-radius:14px;
    padding:20px;
}

.related-block h2{
    margin-top:0;
    margin-bottom:18px;
    font-size:22px;
}

.related-card{
    display:block;
    padding:16px;
    margin-bottom:15px;
    border-radius:12px;
    border:1px solid #ececec;
    text-decoration:none;
    transition:.2s;
}

.related-card:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 20px rgba(0,0,0,.08);
}

.related-title{
    font-weight:700;
    color:#222;
    margin-bottom:8px;
}

.related-description{
    color:#666;
    font-size:14px;
    line-height:1.45;
}

.b96-grid{

display:grid;

grid-template-columns:repeat(auto-fill,minmax(320px,1fr));

gap:32px;

margin:40px 0;

}

.b96-card{

background:#fff;

border-radius:18px;

overflow:hidden;

box-shadow:0 15px 45px rgba(0,0,0,.08);

transition:.3s;

}

.b96-card:hover{

transform:translateY(-8px);

box-shadow:0 25px 60px rgba(0,0,0,.12);

}

.b96-card-image img{

width:100%;

display:block;

aspect-ratio:16/10;

object-fit:cover;

}

.b96-card-body{

padding:28px;

}

.b96-tags{

display:flex;

flex-wrap:wrap;

gap:8px;

margin-bottom:18px;

}

.b96-tags span{

padding:5px 12px;

background:#fff3df;

border-radius:30px;

font-size:13px;

font-weight:600;

color:#ff8800;

}

.b96-card h3{

margin:0 0 16px;

font-size:26px;

}

.b96-card p{

margin-bottom:20px;

line-height:1.7;

}

.b96-price{

font-size:22px;

font-weight:700;

margin-bottom:20px;

}

.b96-more{

font-weight:700;

text-decoration:none;

}

.b96-card-image{

position:relative;

display:block;

}

.b96-type{

position:absolute;

left:18px;

top:18px;

background:#ff8a00;

color:#fff;

padding:7px 14px;

border-radius:30px;

font-size:13px;

font-weight:700;

box-shadow:0 8px 20px rgba(0,0,0,.15);

z-index:2;

}

.b96-card{
    display:flex;
    flex-direction:column;
    height:100%;
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
    transition:.25s;
}

.b96-card:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 50px rgba(0,0,0,.12);
}

.b96-card-body{
    display:flex;
    flex-direction:column;
    flex:1;
    padding:24px;
}

.b96-card-body h3{
    margin:12px 0;
}

.b96-card-body p{
    flex:1;
    color:#666;
    line-height:1.7;
}

.b96-price{
    font-size:24px;
    font-weight:700;
    margin-top:20px;
}

.b96-more{
    margin-top:20px;
    display:inline-block;
    font-weight:600;
    text-decoration:none;
}

/* ======== Layout ======== */

.ct-container{

display:flex;

align-items:flex-start;

gap:48px;

}

.b96-main{

flex:1;

min-width:0;

}

.b96-sidebar{

width:340px;

position:sticky;

top:100px;

align-self:flex-start;

}

@media(max-width:1024px){

.ct-container{

display:block;

}

.b96-sidebar{

width:100%;

position:static;

margin-top:40px;

}

}

.b96-box{

background:#fff;

border-radius:16px;

padding:28px;

box-shadow:0 12px 30px rgba(0,0,0,.08);

}

.b96-box h3{

margin-top:0;

margin-bottom:20px;

font-size:22px;

}

.b96-related-item{

display:block;

padding:12px 0;

border-bottom:1px solid #eee;

text-decoration:none;

font-weight:600;

transition:.2s;

}

.b96-related-item:last-child{

border-bottom:none;

}

.b96-related-item:hover{

padding-left:8px;

}

.b96-single{

background:#fff;

padding:40px;

border-radius:20px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

}

.b96-single h1{

margin-top:0;

margin-bottom:30px;

}

.b96-single p{

line-height:1.8;

font-size:18px;

}

.program-fields{

display:grid;

gap:20px;

margin-top:40px;

}

.program-field{

padding:22px;

background:#fafafa;

border-radius:14px;

border:1px solid #eee;

}

.program-title{

font-size:13px;

font-weight:700;

color:#999;

text-transform:uppercase;

margin-bottom:8px;

}

.program-value{

font-size:18px;

}

.contact-page{

max-width:900px;

margin:auto;

}

.contact-table{

width:100%;

border-collapse:collapse;

margin:30px 0;

}

.contact-table td,
.contact-table th{

padding:12px;

border-bottom:1px solid #eee;

text-align:left;

}

.contact-cta{

margin-top:50px;

padding:30px;

border-radius:14px;

background:#fafafa;

}