.pt-title-wrap{
    position:absolute;
    inset:0;
    z-index:50;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:30px;
    text-align:center;
    pointer-events:none;
}

.pt-title{
    margin:0;
    color:#ffffff;
    font-family:inherit;
    font-weight:800;
    font-size:clamp(38px, 5.2vw, 78px);
    line-height:1.4;
    letter-spacing:.3px;

    -webkit-text-stroke:1.5px rgba(9,20,31,.55);
    paint-order:stroke fill;

    text-shadow:
        0 1px 0 rgba(9,20,31,.55),
        0 2px 0 rgba(9,20,31,.46),
        0 3px 0 rgba(9,20,31,.38),
        0 4px 0 rgba(9,20,31,.30),
        0 5px 0 rgba(9,20,31,.22),
        0 6px 1px rgba(9,20,31,.16),
        0 10px 20px rgba(0,0,0,.40),
        0 18px 38px rgba(0,0,0,.26);

    filter:
        drop-shadow(0 0 2px rgba(6,16,26,.85))
        drop-shadow(0 0 9px rgba(6,16,26,.50))
        drop-shadow(0 12px 22px rgba(0,0,0,.25));

    transition:transform .35s ease, filter .35s ease;
}

.pt-title-hero:hover .pt-title{
    transform:translateY(-3px);
    filter:
        drop-shadow(0 0 2px rgba(6,16,26,.90))
        drop-shadow(0 0 14px rgba(6,16,26,.60))
        drop-shadow(0 16px 30px rgba(0,0,0,.30));
}

@media (max-width:768px){
    .pt-title{
        font-size:34px;
        -webkit-text-stroke-width:1.1px;
    }
    .pt-title-wrap{padding:18px;}
}

@media (prefers-reduced-motion:reduce){
    .pt-title{transition:none !important;}
    .pt-title-hero:hover .pt-title{transform:none;}
}