/* P912_PUBLIC_PAGES_LUXURY_V1 */

.p912-info-v2,
.p912-services,
.p912-post{
    --pp-blue:#0095DA;
    --pp-blue-deep:#295CAB;
    --pp-orange:#FF4F00;
    --pp-text:#0F172A;
    --pp-muted:#64748B;
    --pp-line:#E4EDF5;
    --pp-soft:#F7FBFE;

    width:min(1180px,calc(100% - 32px));
    margin:0 auto;
    padding:clamp(34px,5vw,72px) 0 96px;
    color:var(--pp-text);
}

.p912-info-v2 > h1{
    max-width:850px;
    margin:0 auto 18px;
    text-align:center;
    font-size:clamp(34px,5vw,64px);
    line-height:1.12;
    letter-spacing:-1.8px;
    font-weight:900;
}

.p912-info-v2 > h1::after{
    content:"";
    display:block;
    width:44px;
    height:4px;
    margin:20px auto 0;
    border-radius:999px;
    background:var(--pp-orange);
}

.p912-info-v2 > p{
    max-width:720px;
    margin:0 auto 42px;
    text-align:center;
    color:var(--pp-muted);
    font-size:clamp(15px,1.5vw,18px);
    line-height:2;
}

.p912-info-v2__content{
    display:grid;
    gap:18px;
    margin-top:36px;
}

.p912-info-v2__content article{
    position:relative;
    padding:clamp(24px,4vw,42px);
    border:1px solid var(--pp-line);
    border-radius:26px;
    background:
        linear-gradient(
            145deg,
            #FFFFFF 0%,
            #FBFDFE 100%
        );
    box-shadow:
        0 18px 55px rgba(17,41,71,.055);
}

.p912-info-v2__content article::before{
    content:"";
    position:absolute;
    top:24px;
    right:0;
    width:3px;
    height:34px;
    border-radius:10px 0 0 10px;
    background:var(--pp-blue);
}

.p912-info-v2__content h2{
    margin:0 0 14px;
    font-size:clamp(20px,2vw,27px);
    line-height:1.5;
    font-weight:850;
    color:var(--pp-blue-deep);
}

.p912-info-v2__content p,
.p912-info-v2__content li{
    color:#475569;
    font-size:15px;
    line-height:2.05;
}

.p912-info-v2__content ul,
.p912-info-v2__content ol{
    padding-right:22px;
}

.p912-info-v2__actions,
.p912-info-v2__cta{
    margin-top:28px;
    padding:clamp(24px,4vw,40px);
    border-radius:28px;
    border:1px solid rgba(0,149,218,.18);
    background:
        linear-gradient(
            135deg,
            rgba(0,149,218,.075),
            rgba(255,255,255,.96)
        );
}

.p912-info-v2__cta h2{
    margin-top:0;
    color:var(--pp-blue-deep);
}

.p912-info-v2__actions a,
.p912-info-v2__cta a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 22px;
    border-radius:14px;
    text-decoration:none;
    font-weight:800;
    color:#fff;
    background:var(--pp-blue);
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.p912-info-v2__actions a:hover,
.p912-info-v2__cta a:hover{
    background:#0087C7;
    transform:translateY(-2px);
    box-shadow:0 12px 30px rgba(0,149,218,.20);
}

.p912-faq-list{
    display:grid;
    gap:12px;
}

.p912-faq-v2{
    overflow:hidden;
    border:1px solid var(--pp-line);
    border-radius:20px;
    background:#fff;
    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.p912-faq-v2[open]{
    border-color:rgba(0,149,218,.30);
    box-shadow:0 14px 36px rgba(17,41,71,.06);
}

.p912-faq-v2 summary{
    cursor:pointer;
    padding:20px 22px;
    font-weight:850;
    color:#172033;
}

.p912-faq-v2[open] summary{
    color:var(--pp-blue-deep);
}

.p912-faq-v2 > :not(summary){
    margin-left:22px;
    margin-right:22px;
}

.p912-faq-v2 > :last-child{
    margin-bottom:22px;
}

/* SERVICES */

.p912-services__hero{
    position:relative;
    overflow:hidden;
    padding:clamp(34px,6vw,72px);
    border:1px solid rgba(0,149,218,.14);
    border-radius:34px;
    background:
        radial-gradient(
            circle at 10% 0%,
            rgba(0,149,218,.13),
            transparent 36%
        ),
        linear-gradient(
            145deg,
            #FFFFFF,
            #F7FBFE
        );
}

.p912-services__hero::after{
    content:"";
    position:absolute;
    left:-55px;
    bottom:-75px;
    width:190px;
    height:190px;
    border-radius:50%;
    border:34px solid rgba(255,79,0,.055);
    pointer-events:none;
}

.p912-services__hero h1{
    position:relative;
    z-index:1;
    max-width:760px;
    margin:0;
    font-size:clamp(38px,5.8vw,72px);
    line-height:1.1;
    letter-spacing:-2px;
    font-weight:900;
    color:#0F172A;
}

.p912-services__hero p{
    position:relative;
    z-index:1;
    max-width:680px;
    color:#64748B;
    line-height:2;
    font-size:17px;
}

.p912-services__section,
.p912-services__process,
.p912-services__trust,
.p912-services__cta{
    margin-top:30px;
}

.p912-services__section > h2,
.p912-services__process > h2,
.p912-services__cta > h2{
    margin-bottom:20px;
    font-size:clamp(24px,3vw,36px);
    color:#295CAB;
}

.p912-services__section a,
.p912-services__section article,
.p912-services__process article{
    border:1px solid #E4EDF5;
    border-radius:22px;
    background:#fff;
    box-shadow:0 14px 40px rgba(17,41,71,.045);
}

.p912-services__section a{
    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

.p912-services__section a:hover{
    transform:translateY(-4px);
    border-color:rgba(0,149,218,.32);
    box-shadow:0 20px 50px rgba(0,149,218,.09);
}

.p912-services__section h3,
.p912-services__process h3{
    color:#172033;
}

.p912-services__process article{
    position:relative;
}

.p912-services__process article::before{
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:42px;
    height:3px;
    border-radius:0 22px 0 8px;
    background:#FF4F00;
}

.p912-services__trust{
    border-radius:24px;
    border:1px solid rgba(41,92,171,.12);
    background:#F8FCFE;
}

.p912-services__cta{
    padding:clamp(28px,5vw,52px);
    border-radius:30px;
    text-align:center;
    color:#fff;
    background:
        linear-gradient(
            135deg,
            #295CAB,
            #0095DA
        );
    box-shadow:0 24px 60px rgba(41,92,171,.17);
}

.p912-services__cta h2,
.p912-services__cta p{
    color:#fff;
}

/* POST / VALUATION */

.p912-post > h1{
    margin:0 auto 16px;
    text-align:center;
    font-size:clamp(36px,5vw,64px);
    line-height:1.12;
    font-weight:900;
    letter-spacing:-1.5px;
}

.p912-post-calc{
    width:min(820px,100%);
    margin:34px auto 0;
    padding:clamp(24px,4.5vw,46px);
    border:1px solid #E4EDF5;
    border-radius:30px;
    background:#fff;
    box-shadow:0 24px 70px rgba(17,41,71,.075);
}

.p912-post-calc h2{
    margin-top:0;
    color:#295CAB;
    font-size:clamp(22px,3vw,32px);
}

#p912-post-form{
    display:grid;
    gap:18px;
}

#p912-post-form label{
    color:#334155;
    font-weight:750;
}

#p912-post-form input,
#p912-post-form select,
#p912-post-form textarea{
    width:100%;
    min-height:52px;
    border:1px solid #DCE5EF;
    border-radius:15px;
    padding:10px 14px;
    background:#FBFDFE;
    color:#0F172A;
    outline:none;
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

#p912-post-form textarea{
    min-height:120px;
    resize:vertical;
}

#p912-post-form input:focus,
#p912-post-form select:focus,
#p912-post-form textarea:focus{
    background:#fff;
    border-color:#0095DA;
    box-shadow:0 0 0 4px rgba(0,149,218,.10);
}

#p912-post-form button{
    min-height:54px;
    border:0;
    border-radius:15px;
    padding:0 24px;
    cursor:pointer;
    font-weight:850;
    color:#fff;
    background:#0095DA;
    box-shadow:0 14px 30px rgba(0,149,218,.18);
    transition:
        transform .2s ease,
        background .2s ease;
}

#p912-post-form button:hover{
    background:#0087C7;
    transform:translateY(-2px);
}

@media (max-width:760px){

    .p912-info-v2,
    .p912-services,
    .p912-post{
        width:min(100% - 22px,1180px);
        padding-top:26px;
        padding-bottom:78px;
    }

    .p912-info-v2 > h1,
    .p912-post > h1{
        letter-spacing:-.8px;
    }

    .p912-info-v2__content article{
        padding:22px 19px;
        border-radius:20px;
    }

    .p912-info-v2__actions,
    .p912-info-v2__cta{
        padding:22px 18px;
        border-radius:22px;
    }

    .p912-info-v2__actions a,
    .p912-info-v2__cta a{
        width:100%;
    }

    .p912-services__hero{
        padding:30px 21px;
        border-radius:25px;
    }

    .p912-services__hero h1{
        letter-spacing:-1px;
    }

    .p912-services__cta{
        padding:28px 19px;
        border-radius:24px;
    }

    .p912-post-calc{
        margin-top:24px;
        padding:22px 18px;
        border-radius:23px;
    }

    #p912-post-form button{
        width:100%;
    }
}

@media (prefers-reduced-motion:reduce){
    .p912-info-v2 *,
    .p912-services *,
    .p912-post *{
        scroll-behavior:auto !important;
        transition-duration:.01ms !important;
    }
}
