:root{
    --vpc-teal:#0b7978;
    --vpc-teal-dark:#075e5d;
    --vpc-gold:#b48d42;
    --vpc-ink:#102725;
    --vpc-muted:#687775;
    --vpc-soft:#f6f5f1;
    --vpc-line:rgba(16,39,37,.10);
}


.vpc-shell{
    width:min(1180px,calc(100% - 48px));
    margin:0 auto;
}


/* HERO */

.vpc-hero{
    position:relative;
    min-height:980px;
    overflow:hidden;
    padding:150px 24px 80px;
    background:
        radial-gradient(circle at 50% 46%,rgba(11,121,120,.09),transparent 24%),
        linear-gradient(180deg,#fff 0%,#fff 75%,#f7faf9 100%);
}

.vpc-hero::after{
    content:"";
    position:absolute;
    left:50%;
    top:63%;
    width:780px;
    height:780px;
    transform:translate(-50%,-50%);
    border-radius:50%;
    border:1px solid rgba(11,121,120,.08);
    box-shadow:
        0 0 0 100px rgba(11,121,120,.018),
        0 0 0 210px rgba(11,121,120,.012);
    pointer-events:none;
}

.vpc-hero__inner{
    position:relative;
    z-index:2;
    width:min(1460px,100%);
    min-height:760px;
    margin:0 auto;
}

.vpc-hero__eyebrow{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    color:var(--vpc-gold);
    font-size:10px;
    letter-spacing:.26em;
}

.vpc-hero__eyebrow::before,
.vpc-hero__eyebrow::after{
    content:"";
    width:70px;
    height:1px;
    background:linear-gradient(90deg,transparent,var(--vpc-gold));
}

.vpc-hero__eyebrow::after{
    transform:scaleX(-1);
}

.vpc-hero__title{
    position:relative;
    z-index:4;
    margin:20px auto 0;
    text-align:center;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(84px,8vw,150px);
    line-height:.78;
    font-weight:400;
    letter-spacing:-.065em;
    color:var(--vpc-ink);
}

.vpc-hero__title span,
.vpc-hero__title em{
    display:block;
}

.vpc-hero__title em{
    margin-top:24px;
    color:var(--vpc-teal);
    font-size:.65em;
    font-weight:400;
}

.vpc-hero__subtitle{
    position:relative;
    z-index:4;
    width:min(650px,90%);
    margin:30px auto 0;
    text-align:center;
    color:var(--vpc-muted);
    font-size:15px;
    line-height:1.8;
}

.vpc-side{
    position:absolute;
    top:430px;
    width:260px;
    z-index:5;
}

.vpc-side--left{
    left:3%;
}

.vpc-side--right{
    right:3%;
    text-align:right;
}

.vpc-side::before{
    content:"";
    display:block;
    width:1px;
    height:40px;
    margin-bottom:18px;
    background:linear-gradient(transparent,var(--vpc-gold));
}

.vpc-side--right::before{
    margin-left:auto;
}

.vpc-side small{
    display:block;
    margin-bottom:14px;
    color:var(--vpc-gold);
    font-size:9px;
    letter-spacing:.2em;
}

.vpc-side strong{
    display:block;
    font-family:Georgia,"Times New Roman",serif;
    font-size:27px;
    line-height:1.15;
    font-weight:400;
}

.vpc-side p{
    color:var(--vpc-muted);
    font-size:14px;
    line-height:1.8;
}


.vpc-portrait{
    position:relative;
    height:500px;
    margin-top:5px;
    display:flex;
    justify-content:center;
    align-items:flex-end;
}

.vpc-portrait__arch{
    position:absolute;
    bottom:0;
    left:50%;
    width:390px;
    height:470px;
    transform:translateX(-50%);
    border-radius:210px 210px 30px 30px;
    background:
        linear-gradient(155deg,#148c89,#0b7978 55%,#075e5d);
    box-shadow:0 40px 80px rgba(11,121,120,.18);
}

.vpc-portrait__arch::before{
    content:"";
    position:absolute;
    inset:17px;
    border:1px solid rgba(255,255,255,.25);
    border-radius:inherit;
}

.vpc-portrait__arch::after{
    content:"";
    position:absolute;
    inset:-24px;
    border:1px solid rgba(180,141,66,.28);
    border-radius:230px 230px 44px 44px;
}

.vpc-portrait img{
    position:relative;
    z-index:3;
    max-height:530px;
    max-width:520px;
    object-fit:contain;
    object-position:center bottom;
    filter:drop-shadow(0 28px 35px rgba(7,21,20,.17));
}


.vpc-hero__actions{
    display:flex;
    justify-content:center;
    gap:12px;
    margin-top:28px;
}

.vpc-btn{
    min-width:225px;
    height:56px;
    padding:0 28px;
    border-radius:999px;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    text-decoration:none;
    font-size:13px;
    font-weight:600;
    transition:.4s cubic-bezier(.16,1,.3,1);
}

.vpc-btn:hover{
    transform:translateY(-4px);
}

.vpc-btn--primary{
    background:var(--vpc-teal);
    color:#fff;
    box-shadow:0 16px 34px rgba(11,121,120,.17);
}

.vpc-btn--secondary{
    border:1px solid rgba(11,121,120,.28);
    background:#fff;
    color:var(--vpc-ink);
}

.vpc-btn--light{
    background:#fff;
    color:var(--vpc-ink);
}


.vpc-hero__orbit{
    position:absolute;
    left:50%;
    top:430px;
    width:620px;
    height:620px;
    transform:translateX(-50%);
    border:1px solid rgba(11,121,120,.07);
    border-radius:50%;
}

.vpc-hero__orbit::after{
    content:"";
    position:absolute;
    width:7px;
    height:7px;
    top:77px;
    right:75px;
    border-radius:50%;
    background:var(--vpc-gold);
    box-shadow:0 0 0 8px rgba(180,141,66,.08);
}

.vpc-hero__index{
    position:absolute;
    bottom:15px;
    left:25px;
    color:rgba(11,121,120,.035);
    font:120px/1 Georgia,serif;
}

.vpc-hero__scroll{
    position:absolute;
    right:30px;
    bottom:55px;
    display:flex;
    align-items:center;
    gap:12px;
    transform:rotate(90deg) translateX(100%);
    transform-origin:right bottom;
    color:rgba(16,39,37,.45);
    font-size:9px;
    letter-spacing:.25em;
}

.vpc-hero__scroll span{
    width:50px;
    height:1px;
    background:linear-gradient(90deg,var(--vpc-gold),transparent);
}


/* CHOICE */

.vpc-choice{
    position:relative;
    padding:130px 0 120px;
    background:#fff;
}

.vpc-heading{
    text-align:center;
    margin-bottom:50px;
}

.vpc-heading small{
    display:block;
    margin-bottom:14px;
    color:var(--vpc-gold);
    font-size:9px;
    letter-spacing:.24em;
    text-transform:uppercase;
}

.vpc-heading h2{
    margin:0;
    color:var(--vpc-ink);
    font:400 clamp(48px,4.5vw,76px)/1 Georgia,serif;
    letter-spacing:-.045em;
}

.vpc-heading p{
    max-width:620px;
    margin:18px auto 0;
    color:var(--vpc-muted);
    line-height:1.8;
}

.vpc-choice__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
}

.vpc-choice-card{
    position:relative;
    min-height:355px;
    padding:42px;
    display:flex;
    flex-direction:column;
    text-align:left;
    background:#fff;
    border:1px solid var(--vpc-line);
    color:var(--vpc-ink);
    cursor:pointer;
    overflow:hidden;
    transition:.45s cubic-bezier(.16,1,.3,1);
}

.vpc-choice-card:hover{
    transform:translateY(-7px);
    border-color:rgba(11,121,120,.35);
    box-shadow:0 28px 55px rgba(7,21,20,.07);
}

.vpc-choice-card::before{
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:95px;
    height:95px;
    background:linear-gradient(135deg,transparent 50%,rgba(11,121,120,.065) 50%);
}

.vpc-choice-card__num{
    color:var(--vpc-gold);
    font-size:11px;
}

.vpc-choice-card h3{
    margin:auto 0 18px;
    font:400 42px/1 Georgia,serif;
    letter-spacing:-.04em;
}

.vpc-choice-card p{
    max-width:450px;
    color:var(--vpc-muted);
    font-size:14px;
    line-height:1.8;
}

.vpc-choice-card i{
    margin-top:24px;
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(11,121,120,.25);
    border-radius:50%;
    color:var(--vpc-teal);
    font-style:normal;
    transition:.35s ease;
}

.vpc-choice-card:hover i{
    transform:rotate(45deg);
    background:var(--vpc-teal);
    color:#fff;
}


/* FORMS */

.vpc-form-section{
    display:none;
    width:min(1240px,calc(100% - 48px));
    margin:0 auto;
    padding:90px 0 130px;
    border-top:1px solid var(--vpc-line);
}

.vpc-form-section.is-active{
    display:block;
    animation:vpcPanel .6s cubic-bezier(.16,1,.3,1) both;
}

@keyframes vpcPanel{
    from{
        opacity:0;
        transform:translateY(30px);
    }
    to{
        opacity:1;
        transform:none;
    }
}

.vpc-form-layout{
    display:grid;
    grid-template-columns:.72fr 1.28fr;
    gap:90px;
}

.vpc-form-copy{
    position:sticky;
    top:120px;
    align-self:start;
}

.vpc-form-copy small{
    color:var(--vpc-gold);
    font-size:9px;
    letter-spacing:.24em;
}

.vpc-form-copy h2{
    margin:20px 0 24px;
    font:400 clamp(52px,4.3vw,74px)/.94 Georgia,serif;
    letter-spacing:-.045em;
}

.vpc-form-copy p{
    max-width:420px;
    color:var(--vpc-muted);
    line-height:1.9;
}

.vpc-form{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px 20px;
}

.vpc-form label{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.vpc-form label > span{
    color:rgba(16,39,37,.7);
    font-size:10px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.vpc-form input,
.vpc-form select,
.vpc-form textarea{
    width:100%;
    min-height:54px;
    padding:0;
    border:0;
    border-bottom:1px solid rgba(16,39,37,.2);
    border-radius:0;
    background:transparent;
    outline:0;
    color:var(--vpc-ink);
    font:inherit;
}

.vpc-form textarea{
    min-height:145px;
    padding-top:14px;
    resize:vertical;
}

.vpc-form input:focus,
.vpc-form select:focus,
.vpc-form textarea:focus{
    border-color:var(--vpc-teal);
    box-shadow:0 1px 0 var(--vpc-teal);
}

.vpc-form__full,
.vpc-submit,
.vpc-form__notice{
    grid-column:1/-1;
}

.vpc-check{
    flex-direction:row !important;
    align-items:center;
}

.vpc-check input{
    width:16px;
    min-height:auto;
}

.vpc-submit{
    margin-top:10px;
    height:60px;
    border:0;
    border-radius:999px;
    background:var(--vpc-ink);
    color:#fff;
    font-weight:600;
    cursor:pointer;
    transition:.35s ease;
}

.vpc-submit:hover{
    transform:translateY(-3px);
    background:var(--vpc-teal);
}

.vpc-form__notice{
    display:none;
    padding:14px 18px;
    background:#f2f9f8;
    color:var(--vpc-teal);
    font-size:13px;
}


/* PROCESS */

.vpc-process{
    padding:130px 24px;
    background:var(--vpc-soft);
}

.vpc-process__grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    border:1px solid var(--vpc-line);
    background:var(--vpc-line);
}

.vpc-process-card{
    min-height:250px;
    padding:38px;
    background:#fff;
    transition:.4s ease;
}

.vpc-process-card:hover{
    transform:translateY(-4px);
    background:#fbfdfc;
}

.vpc-process-card > span{
    color:var(--vpc-gold);
    font-size:11px;
}

.vpc-process-card h3{
    margin:68px 0 14px;
    font:400 32px/1 Georgia,serif;
}

.vpc-process-card p{
    color:var(--vpc-muted);
    line-height:1.8;
}

.vpc-final{
    position:relative;
    width:min(1180px,100%);
    min-height:410px;
    margin:110px auto 0;
    padding:72px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    overflow:hidden;
    background:
        radial-gradient(circle at 85% 20%,rgba(11,121,120,.4),transparent 28%),
        var(--vpc-ink);
    color:#fff;
}

.vpc-final::after{
    content:"";
    position:absolute;
    width:350px;
    height:350px;
    right:-115px;
    top:-130px;
    border-radius:50%;
    border:1px solid rgba(180,141,66,.25);
}

.vpc-final__number{
    position:absolute;
    right:45px;
    bottom:-25px;
    color:rgba(255,255,255,.035);
    font:190px/1 Georgia,serif;
}

.vpc-final h2{
    position:relative;
    z-index:2;
    max-width:760px;
    margin:0;
    font:400 clamp(56px,5vw,84px)/.9 Georgia,serif;
    letter-spacing:-.05em;
}

.vpc-final p{
    position:relative;
    z-index:2;
    max-width:600px;
    color:rgba(255,255,255,.65);
    line-height:1.8;
}

.vpc-final__actions{
    position:relative;
    z-index:2;
    display:flex;
    gap:12px;
    margin-top:24px;
}


/* MOTION */

.vpc-reveal{
    opacity:0;
    transform:translateY(36px);
    transition:
        opacity .9s cubic-bezier(.16,1,.3,1),
        transform .9s cubic-bezier(.16,1,.3,1);
}

.vpc-reveal.is-visible{
    opacity:1;
    transform:none;
}

.vpc-hero__eyebrow,
.vpc-hero__title,
.vpc-hero__subtitle,
.vpc-side,
.vpc-portrait,
.vpc-hero__actions{
    animation:vpcHeroIn 1.05s cubic-bezier(.16,1,.3,1) both;
}

.vpc-hero__title{animation-delay:.08s}
.vpc-hero__subtitle{animation-delay:.16s}
.vpc-portrait{animation-delay:.18s}
.vpc-side{animation-delay:.24s}
.vpc-hero__actions{animation-delay:.34s}

@keyframes vpcHeroIn{
    from{
        opacity:0;
        transform:translateY(28px);
    }
    to{
        opacity:1;
        transform:none;
    }
}


/* MOBILE */

@media(max-width:900px){

    .vpc-hero{
        min-height:auto;
        padding:130px 18px 65px;
    }

    .vpc-hero__title{
        font-size:clamp(54px,16vw,82px);
    }

    .vpc-side,
    .vpc-hero__orbit,
    .vpc-hero__index,
    .vpc-hero__scroll{
        display:none;
    }

    .vpc-portrait{
        height:390px;
    }

    .vpc-portrait__arch{
        width:280px;
        height:350px;
    }

    .vpc-portrait img{
        max-width:330px;
        max-height:400px;
    }

    .vpc-hero__actions{
        flex-direction:column;
    }

    .vpc-btn{
        width:100%;
        box-sizing:border-box;
    }

    .vpc-choice{
        padding:90px 0;
    }

    .vpc-choice__grid,
    .vpc-process__grid{
        grid-template-columns:1fr;
    }

    .vpc-form-section{
        width:calc(100% - 36px);
        padding:60px 0 90px;
    }

    .vpc-form-layout{
        grid-template-columns:1fr;
        gap:50px;
    }

    .vpc-form-copy{
        position:static;
    }

    .vpc-form{
        grid-template-columns:1fr;
    }

    .vpc-form__full,
    .vpc-submit,
    .vpc-form__notice{
        grid-column:auto;
    }

    .vpc-process{
        padding:90px 18px;
    }

    .vpc-final{
        box-sizing:border-box;
        min-height:390px;
        padding:46px 28px;
    }

    .vpc-final__actions{
        flex-direction:column;
    }

}


/* =========================================================
   PAGE 50 — FULL WIDTH GLOBAL HEADER
   Keep header identical in width behavior to the main site.
   ========================================================= */

.page-id-50 .elementor-element-pc00002,
.page-id-50 .elementor-element-pc00002 > .e-con-inner{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
}

.page-id-50 .elementor-element-pc00002 .elementor-widget,
.page-id-50 .elementor-element-pc00002 .elementor-widget-container{
    width:100% !important;
    max-width:none !important;
}

.page-id-50 .v6-header{
    width:100% !important;
    max-width:none !important;
    left:0 !important;
    right:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
}

