.pa-hero{
 padding: 35px 0 10px;
 text-align: center;
}

.pa-title{
 font-family: "Playfair Display", serif;
 font-weight: 500;
 letter-spacing: 1px;
 font-size: clamp(30px, 3.6vw, 52px);
 line-height: 1.05;
 margin-bottom: 12px;
}

.pa-subtitle{
 font-size: 13px;
 color: rgba(30, 27, 22, 0.55);
 line-height: 1.7;
 margin-bottom: 45px;
}

.pa-grid{
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 22px;
 width: 100%;
 margin-bottom: 70px;
}

.pa-card{
 width: 100%;
 cursor: pointer;
 text-decoration: none;
 color: inherit;
 display: flex;
 flex-direction: column;
 align-items: center;
 gap: 14px;
 padding: 22px 14px;
 border-radius: 999px;
 border: 1px solid rgba(30,27,22,0.08);
 background: rgba(255,255,255,0.14);
 backdrop-filter: blur(10px);
 transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.pa-card:hover{
 transform: translateY(-3px);
 box-shadow: 0 20px 60px rgba(0,0,0,0.08);
}

.pa-icon{
 width: 60px;
 height: 60px;
 border-radius: 999px;
 border: 1px solid rgba(30, 27, 22, 0.10);
 background: rgba(255,255,255,0.18);
 display: grid;
 place-items: center;  
 color: rgba(30, 27, 22, 0.75);
}

.pa-card h3{
 font-family: "Playfair Display", serif;
 font-size: 16px;
 font-weight: 500;
 color: rgba(30, 27, 22, 0.9);
 text-align: center;
 letter-spacing: 0.4px;
}

.pa-card small{
 font-size: 11px;
 color: rgba(30, 27, 22, 0.50);
 letter-spacing: 1px;
 text-transform: uppercase;
}

    /* Description section */
.pa-details{
 padding: 40px 0 0px;
}

.pa-details-title{
 text-align: center;
 font-family: "Playfair Display", serif;
 font-weight: 500;
 letter-spacing: 1px;
 font-size: clamp(26px, 3.2vw, 42px);
 margin-bottom: 14px;
 line-height: 1.1;
}

.pa-details-subtitle{
 text-align: center;
 font-size: 13px;
 color: rgba(30, 27, 22, 0.55);
 line-height: 1.7;
 margin-bottom: 55px;
}

.pa-detail-box{
 border-radius: 22px;
 border: 1px solid rgba(30,27,22,0.08);
 background: rgba(255,255,255,0.16);
 padding: 26px 22px;
 margin-bottom: 18px;
 scroll-margin-top: 110px; /* so anchor doesn't hide behind header */
 transition: 0.2s ease;
}

.pa-detail-box:target{
 border-color: rgba(139,90,43,0.28);
 box-shadow: 0 20px 60px rgba(0,0,0,0.07);
 transform: translateY(-2px);
}

.pa-detail-box h3{
 font-family: "Playfair Display", serif;
 font-weight: 500;
 font-size: 20px;
 letter-spacing: 0.6px;
 margin-bottom: 10px;
 color: rgba(30, 27, 22, 0.92);
}

.pa-detail-box p{
 font-size: 13px;
 line-height: 1.75;
 color: rgba(30, 27, 22, 0.62);
}

/* Responsive */
@media (max-width: 980px){
  .pa-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .pa-grid{ grid-template-columns: 1fr; }
}