/* =========================================================
   VRIDDHI MATRIMONY
   PREMIUM CSS-ONLY LEGAL / CMS PAGES
   No banner images required
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Poppins:wght@300;400;500;600;700&display=swap');


/* =========================================================
   VARIABLES
   ========================================================= */
/* =========================================================
   VRIDDHI MATRIMONY
   CONSISTENT HERO TITLE POSITION
   ========================================================= */


/*
|--------------------------------------------------------------------------
| Fixed title area
|--------------------------------------------------------------------------
*/

.vm-title-block {

    display: flex;

    align-items: flex-start;

    min-height: 76px;

}
.cntctprc{
    font-size:31px;
}

/*
|--------------------------------------------------------------------------
| Fixed subtitle area
|--------------------------------------------------------------------------
*/

.vm-subtitle-block {

    min-height: 58px;

    display: flex;

    align-items: flex-start;

}


/*
|--------------------------------------------------------------------------
| Make every title behave consistently
|--------------------------------------------------------------------------
*/

.vm-page-title {

    width: 100%;

    margin: 0;

}


/*
|--------------------------------------------------------------------------
| Keep decoration at identical position
|--------------------------------------------------------------------------
*/

.vm-title-decoration {

    margin-top: 18px;

}


/* =========================================================
   MATRIMONY CONCEPT ANIMATION
   ========================================================= */

.vm-matrimony-animation {

    position: absolute;

    z-index: 2;

    right: 11%;

    top: 50%;

    width: 300px;

    height: 220px;

    transform: translateY(-50%);

    pointer-events: none;

}


/* =========================================================
   TWO PERSON CIRCLES
   ========================================================= */

.vm-person {

    position: absolute;

    top: 72px;

    width: 62px;

    height: 62px;

    border-radius: 50%;

    border: 1px solid
        rgba(243, 217, 130, .70);

    background:
        radial-gradient(
            circle,
            rgba(212,175,55,.12),
            rgba(212,175,55,.025) 60%,
            transparent 70%
        );

    box-shadow:
        0 0 25px
        rgba(212,175,55,.08);

}


/*
|--------------------------------------------------------------------------
| Left person
|--------------------------------------------------------------------------
*/

.vm-person-left {

    left: 35px;

    animation:
        vmPersonLeft 5s
        ease-in-out
        infinite;

}


/*
|--------------------------------------------------------------------------
| Right person
|--------------------------------------------------------------------------
*/

.vm-person-right {

    right: 35px;

    animation:
        vmPersonRight 5s
        ease-in-out
        infinite;

}


/* =========================================================
   PERSON HEAD
   ========================================================= */

.vm-person::before {

    content: "";

    position: absolute;

    left: 50%;

    top: 12px;

    width: 16px;

    height: 16px;

    transform:
        translateX(-50%);

    border-radius: 50%;

    border:
        1px solid
        var(--vm-gold-light);

}


/* =========================================================
   PERSON BODY
   ========================================================= */

.vm-person::after {

    content: "";

    position: absolute;

    left: 50%;

    bottom: 9px;

    width: 28px;

    height: 17px;

    transform:
        translateX(-50%);

    border:
        1px solid
        var(--vm-gold-light);

    border-radius:
        18px 18px 8px 8px;

}


/* =========================================================
   PERSON INNER GLOW
   ========================================================= */

.vm-person span {

    position: absolute;

    inset: 5px;

    border-radius: 50%;

    border:
        1px solid
        rgba(243,217,130,.08);

}


/* =========================================================
   PEOPLE MOVEMENT
   ========================================================= */

@keyframes vmPersonLeft {

    0%,
    100% {

        transform:
            translateX(0);

    }

    50% {

        transform:
            translateX(17px);

    }

}


@keyframes vmPersonRight {

    0%,
    100% {

        transform:
            translateX(0);

    }

    50% {

        transform:
            translateX(-17px);

    }

}


/* =========================================================
   CONNECTION LINE
   ========================================================= */

.vm-connection-line {

    position: absolute;

    left: 84px;

    right: 84px;

    top: 103px;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--vm-gold),
            transparent
        );

    opacity: .35;

    animation:
        vmConnection 3s
        ease-in-out
        infinite;

}


/* =========================================================
   CONNECTION PULSE
   ========================================================= */

@keyframes vmConnection {

    0%,
    100% {

        opacity: .15;

        transform:
            scaleX(.65);

    }

    50% {

        opacity: .8;

        transform:
            scaleX(1);

    }

}


/* =========================================================
   FLOATING HEART
   ========================================================= */

.vm-floating-heart {

    position: absolute;

    left: 50%;

    top: 75px;

    width: 55px;

    height: 55px;

    display: flex;

    align-items: center;

    justify-content: center;

    transform:
        translateX(-50%);

    color:
        var(--vm-gold-light);

    font-size: 25px;

    border:
        1px solid
        rgba(212,175,55,.65);

    border-radius: 50%;

    background:
        rgba(6,27,51,.65);

    box-shadow:
        0 0 0
        rgba(212,175,55,0);

    animation:
        vmHeartFloat 3.5s
        ease-in-out
        infinite;

}


/* =========================================================
   HEART ANIMATION
   ========================================================= */

@keyframes vmHeartFloat {

    0%,
    100% {

        transform:
            translateX(-50%)
            translateY(4px)
            scale(.95);

        box-shadow:
            0 0 0
            rgba(212,175,55,0);

    }

    50% {

        transform:
            translateX(-50%)
            translateY(-7px)
            scale(1.08);

        box-shadow:
            0 0 28px
            rgba(212,175,55,.20);

    }

}


/* =========================================================
   SPARKLES
   ========================================================= */

.vm-spark {

    position: absolute;

    color:
        var(--vm-gold-light);

    font-size: 12px;

    opacity: .5;

    animation:
        vmSparkle 3s
        ease-in-out
        infinite;

}


.vm-spark-1 {

    top: 35px;

    left: 65px;

}


.vm-spark-2 {

    top: 30px;

    right: 60px;

    animation-delay:
        .8s;

}


.vm-spark-3 {

    bottom: 45px;

    left: 95px;

    animation-delay:
        1.4s;

}


.vm-spark-4 {

    bottom: 40px;

    right: 90px;

    animation-delay:
        2s;

}


@keyframes vmSparkle {

    0%,
    100% {

        opacity: .2;

        transform:
            scale(.7)
            rotate(0deg);

    }

    50% {

        opacity: 1;

        transform:
            scale(1.35)
            rotate(45deg);

    }

}


/* =========================================================
   HERO ANIMATION DESKTOP ONLY
   ========================================================= */

@media (max-width: 1100px) {

    .vm-matrimony-animation {

        right: 3%;

        opacity: .75;

        transform:
            translateY(-50%)
            scale(.85);

    }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .vm-matrimony-animation {

        right: -20px;

        opacity: .35;

        transform:
            translateY(-50%)
            scale(.75);

    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    /*
    Hide the large animation on small screens.
    Keep hero clean and readable.
    */

    .vm-matrimony-animation {

        right: -115px;

        top: 40%;

        opacity: .18;

        transform:
            translateY(-50%)
            scale(.65);

    }


    .vm-title-block {

        min-height: auto;

    }


    .vm-subtitle-block {

        min-height: auto;

    }


    .vm-page-title {

        font-size: 39px;

    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .vm-matrimony-animation {

        opacity: .12;

    }


    .vm-page-title {

        font-size: 33px;

    }

}
:root {

    --vm-navy: #061b33;
    --vm-navy-2: #092642;
    --vm-navy-3: #10385d;

    --vm-gold: #d4af37;
    --vm-gold-light: #f3d982;
    --vm-gold-dark: #a77c15;

    --vm-white: #ffffff;
    --vm-cream: #fcfaf4;

    --vm-text: #3b424d;
    --vm-muted: #737b87;

    --vm-border: #e5e8ec;

    --vm-bg: #f5f7fa;

    --vm-danger: #9b2938;

    --vm-shadow:
        0 18px 55px rgba(6, 27, 51, .10);

    --vm-container: 1180px;

}


/* =========================================================
   BASE
   ========================================================= */

.vm-page-wrapper {

    width: 100%;
    min-height: 100vh;

    color: var(--vm-text);

    background:
        linear-gradient(
            180deg,
            #f6f8fa 0%,
            #ffffff 55%,
            #f7f8fa 100%
        );

    font-family:
        'Poppins',
        Arial,
        sans-serif;

    overflow: hidden;

}


/* =========================================================
   CONTAINER
   ========================================================= */

.vm-page-wrapper .container {

    width: 100%;

    max-width: var(--vm-container);

    margin: 0 auto;

    padding-left: 20px;
    padding-right: 20px;

}


/* =========================================================
   HERO
   ========================================================= */

.vm-page-hero {

    position: relative;

    min-height: 500px;

    display: flex;

    align-items: center;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 85% 40%,
            rgba(212,175,55,.12),
            transparent 27%
        ),
        linear-gradient(
            120deg,
            #04172b,
            #061d35 48%,
            #0c3152
        );

}


/* =========================================================
   ANIMATED GOLD GLOW
   ========================================================= */

.vm-hero-glow {

    position: absolute;

    width: 500px;
    height: 500px;

    right: -170px;
    top: 50%;

    transform:
        translateY(-50%);

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(212,175,55,.18),
            rgba(212,175,55,.04) 45%,
            transparent 70%
        );

    filter: blur(5px);

    animation:
        vmGlowPulse 7s ease-in-out infinite;

    pointer-events: none;

}

@keyframes vmGlowPulse {

    0%,
    100% {
        transform:
            translateY(-50%)
            scale(.95);
        opacity: .65;
    }

    50% {
        transform:
            translateY(-50%)
            scale(1.08);
        opacity: 1;
    }

}


/* =========================================================
   ROTATING RINGS
   ========================================================= */

.vm-hero-rings {

    position: absolute;

    width: 620px;
    height: 620px;

    right: -250px;
    top: 50%;

    transform:
        translateY(-50%);

    border:
        1px solid
        rgba(212,175,55,.28);

    border-radius: 50%;

    animation:
        vmRotate 25s linear infinite;

}


.vm-hero-rings::before {

    content: "";

    position: absolute;

    inset: 45px;

    border:
        1px solid
        rgba(212,175,55,.18);

    border-radius: 50%;

}


.vm-hero-rings::after {

    content: "";

    position: absolute;

    inset: 95px;

    border:
        1px solid
        rgba(212,175,55,.10);

    border-radius: 50%;

}


@keyframes vmRotate {

    from {
        transform:
            translateY(-50%)
            rotate(0deg);
    }

    to {
        transform:
            translateY(-50%)
            rotate(360deg);
    }

}


/* =========================================================
   FLOATING PARTICLES
   ========================================================= */

.vm-hero-particles {

    position: absolute;

    inset: 0;

    opacity: .7;

    background-image:

        radial-gradient(
            circle,
            rgba(243,217,130,.8) 1px,
            transparent 2px
        );

    background-size:
        130px 130px;

    animation:
        vmParticles 18s linear infinite;

    pointer-events: none;

}


@keyframes vmParticles {

    from {
        background-position:
            0 0;
    }

    to {
        background-position:
            130px 260px;
    }

}


/* =========================================================
   HERO WAVE
   ========================================================= */

.vm-hero-wave {

    position: absolute;

    left: -5%;
    right: -5%;
    bottom: -65px;

    height: 120px;

    background: #f5f7fa;

    border-radius:
        50% 50% 0 0 / 100% 100% 0 0;

    border-top:
        2px solid
        rgba(212,175,55,.75);

}


/* =========================================================
   HERO CONTENT
   ========================================================= */

.vm-page-hero-content {

    position: relative;

    z-index: 5;

    max-width: 850px;

    padding:
        62px 0 90px;

}


/* =========================================================
   BRAND
   ========================================================= */

.vm-page-brand {

    display: inline-flex;

    align-items: center;

    gap: 13px;

    margin-bottom: 25px;

    color: #fff;

    font-family:
        'Cormorant Garamond',
        Georgia,
        serif;

    font-size: 25px;

    font-weight: 600;

    letter-spacing: 2px;

}


.vm-brand-symbol {

    width: 46px;
    height: 46px;

    display: flex;

    align-items: center;
    justify-content: center;

    border:
        1px solid
        var(--vm-gold);

    border-radius: 50%;

    color:
        var(--vm-gold-light);

    font-size: 24px;

    animation:
        vmHeartGlow 3s ease-in-out infinite;

}


@keyframes vmHeartGlow {

    0%,
    100% {
        box-shadow:
            0 0 0
            rgba(212,175,55,0);
    }

    50% {
        box-shadow:
            0 0 22px
            rgba(212,175,55,.25);
    }

}


.vm-brand-text small {

    display: block;

    margin-top: -2px;

    font-family:
        'Poppins',
        sans-serif;

    font-size: 8px;

    letter-spacing: 4px;

    color:
        var(--vm-gold-light);

}


/* =========================================================
   BREADCRUMB
   ========================================================= */

.vm-breadcrumb {

    display: flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 15px;

    color:
        rgba(255,255,255,.68);

    font-size: 13px;

}


.vm-breadcrumb a {

    color:
        var(--vm-gold-light);

    text-decoration: none;

    font-weight: 600;

}


.vm-breadcrumb a:hover {

    color: #fff;

}


.vm-breadcrumb span:first-of-type {

    color:
        rgba(255,255,255,.35);

}


/* =========================================================
   EYEBROW
   ========================================================= */

.vm-hero-eyebrow {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin:
        8px 0 14px;

    color:
        var(--vm-gold-light);

    font-size: 10px;

    font-weight: 600;

    letter-spacing: 3px;

}


.vm-hero-eyebrow::before {

    content: "";

    width: 28px;
    height: 1px;

    background:
        var(--vm-gold);

}


/* =========================================================
   TITLE
   ========================================================= */

.vm-page-title {

    position: relative;

    display: inline-block;

    margin: 0;

    padding-bottom: 19px;

    color: #fff;

    font-family:
        'Cormorant Garamond',
        Georgia,
        serif;

    font-size:
        clamp(43px, 5vw, 67px);

    line-height: 1;

    font-weight: 500;

    letter-spacing: -.5px;

    animation:
        vmTitleIn .9s ease both;

}


@keyframes vmTitleIn {

    from {
        opacity: 0;
        transform:
            translateY(20px);
    }

    to {
        opacity: 1;
        transform:
            translateY(0);
    }

}


/* =========================================================
   ANIMATED TITLE UNDERLINE
   ========================================================= */

.vm-page-title::after {

    content: "";

    position: absolute;

    left: 0;
    bottom: 0;

    width: 115px;
    height: 3px;

    background:
        linear-gradient(
            90deg,
            var(--vm-gold-light),
            var(--vm-gold),
            transparent
        );

    transform-origin: left;

    animation:
        vmUnderline 1.1s ease .3s both;

}


@keyframes vmUnderline {

    from {
        transform:
            scaleX(0);
    }

    to {
        transform:
            scaleX(1);
    }

}


/* =========================================================
   SUBTITLE
   ========================================================= */

.vm-page-subtitle {

    max-width: 700px;

    margin:
        20px 0 0;

    color:
        rgba(255,255,255,.76);

    font-size: 15px;

    line-height: 1.85;

}


/* =========================================================
   TITLE DECORATION
   ========================================================= */

.vm-title-decoration {

    display: flex;

    align-items: center;

    gap: 10px;

    width: 210px;

    margin-top: 24px;

}


.vm-title-decoration span {

    flex: 1;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--vm-gold)
        );

}


.vm-title-decoration span:last-child {

    background:
        linear-gradient(
            90deg,
            var(--vm-gold),
            transparent
        );

}


.vm-title-decoration i {

    color:
        var(--vm-gold);

    font-size: 8px;

    font-style: normal;

    animation:
        vmDiamond 3s ease-in-out infinite;

}


@keyframes vmDiamond {

    0%,
    100% {
        transform:
            rotate(0deg)
            scale(1);
    }

    50% {
        transform:
            rotate(45deg)
            scale(1.25);
    }

}


/* =========================================================
   CONTENT AREA
   ========================================================= */

.vm-content-area {

    position: relative;

    padding:
        70px 0 80px;

    background:
        linear-gradient(
            180deg,
            #f5f7fa,
            #fff
        );

}


/* =========================================================
   CONTENT LAYOUT
   ========================================================= */

.vm-content-layout {

   

    margin: 0 auto;

}


/* =========================================================
   CONTENT CARD
   ========================================================= */

.vm-content-card {

    position: relative;

    padding:
        52px 60px;

    background:
        #fff;

    border:
        1px solid
        var(--vm-border);

    border-radius:
        16px;

    box-shadow:
        var(--vm-shadow);

}


/* =========================================================
   CARD TOP ORNAMENT
   ========================================================= */

.vm-content-card::before {

    content: "";

    position: absolute;

    top: 0;
    left: 50%;

    width: 100px;
    height: 3px;

    transform:
        translateX(-50%);

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--vm-gold),
            transparent
        );

}


/* =========================================================
   CONTENT HEADING
   ========================================================= */

.vm-content-heading {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 35px;

    padding-bottom: 17px;

    color:
        var(--vm-navy);

    font-family:
        'Cormorant Garamond',
        Georgia,
        serif;

    font-size: 29px;

    font-weight: 600;

    border-bottom:
        2px solid
        #d4af37;

}


.vm-heading-ornament {

    color:
        var(--vm-gold);

    font-size: 11px;

    animation:
        vmDiamond 4s ease-in-out infinite;

}


/* =========================================================
   CONTENT
   ========================================================= */

.vm-page-content {

    color:
        var(--vm-text);

    font-size: 15px;

    line-height: 1.9;

}


.vm-page-content p {

    margin:
        0 0 19px;

}


.vm-page-content strong,
.vm-page-content b {

    color:
        var(--vm-navy);

    font-weight: 700;

}


/* =========================================================
   TERMS & CONDITIONS
   ========================================================= */

.policy-section {

    position: relative;

    margin-bottom: 34px;

    padding:
        25px 27px 24px;

    background:
        linear-gradient(
            135deg,
            #fff,
            #fbfcfd
        );

    border:
        1px solid
        #e5e8ed;

    border-radius:
        11px;

    transition:
        .3s ease;

}


.policy-section:hover {

    transform:
        translateY(-2px);

    border-color:
        rgba(212,175,55,.45);

    box-shadow:
        0 10px 30px
        rgba(6,27,51,.07);

}


.policy-section h3 {

    position: relative;

    margin:
        0 0 17px;

    padding-left: 17px;

    color:
        var(--vm-navy);

    font-family:
        'Cormorant Garamond',
        Georgia,
        serif;

    font-size: 24px;

    font-weight: 600;

}


.policy-section h3::before {

    content: "";

    position: absolute;

    left: 0;
    top: 5px;

    width: 4px;
    height: 23px;

    background:
        linear-gradient(
            180deg,
            var(--vm-gold-light),
            var(--vm-gold-dark)
        );

    border-radius:
        10px;

}


/* =========================================================
   POLICY LIST
   ========================================================= */

.policy-list {

    margin: 0;

    padding-left: 22px;

}


.policy-list li {

    margin-bottom: 11px;

    padding-left: 4px;

}


.policy-list li::marker {

    color:
        var(--vm-gold);

}


/* =========================================================
   WARNING BOX
   ========================================================= */

.warning-box {

    position: relative;

    padding:
        20px 22px 20px 25px;

    background:
        linear-gradient(
            135deg,
            #fff8f2,
            #fffdf9
        ) !important;

    border:
        1px solid
        rgba(212,175,55,.35);

    border-left:
        5px solid
        var(--vm-gold);

    border-radius:
        9px;

    box-shadow:
        0 7px 22px
        rgba(6,27,51,.05);

}


.warning-box::before {

    content: "⚠";

    position: absolute;

    left: -14px;
    top: 18px;

    width: 28px;
    height: 28px;

    display: flex;

    align-items: center;
    justify-content: center;

    background:
        var(--vm-gold);

    color:
        var(--vm-navy);

    border-radius:
        50%;

    font-size: 13px;

}


/* =========================================================
   GENERIC HEADINGS
   ========================================================= */

.vm-page-content h2 {

    position: relative;

    margin:
        40px 0 18px;

    padding:
        13px 18px;

    color:
        var(--vm-navy);

    font-family:
        'Cormorant Garamond',
        Georgia,
        serif;

    font-size: 28px;

    font-weight: 600;

    background:
        linear-gradient(
            90deg,
            #fbf8ee,
            transparent
        );

    border-left:
        4px solid
        var(--vm-gold);

    border-radius:
        0 8px 8px 0;

}


.vm-page-content h3 {

    position: relative;

    margin:
        34px 0 14px;

    color:
        var(--vm-navy);

    font-family:
        'Cormorant Garamond',
        Georgia,
        serif;

    font-size: 23px;

    font-weight: 600;

}


.vm-page-content h4 {

    margin:
        28px 0 11px;

    color:
        var(--vm-navy);

    font-size: 17px;

    font-weight: 700;

}


/* =========================================================
   LISTS
   ========================================================= */

.vm-page-content ul,
.vm-page-content ol {

    margin:
        0 0 25px;

    padding-left: 27px;

}


.vm-page-content li {

    margin-bottom: 11px;

}


.vm-page-content ul li::marker {

    color:
        var(--vm-gold);

}


.vm-page-content ol li::marker {

    color:
        var(--vm-navy);

    font-weight: 700;

}


/* =========================================================
   HR
   ========================================================= */

.vm-page-content hr {

    height: 1px;

    margin:
        38px 0;

    border: 0;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--vm-gold),
            transparent
        );

}


/* =========================================================
   LEGAL PAGE
   ========================================================= */

.vm-legal-wrapper {

    width: 100%;

}


.vm-legal-container {

    width: 100%;

}


.vm-legal-header {

    margin-bottom: 30px;

    padding:
        25px 28px;

    background:
        linear-gradient(
            135deg,
            #f9f6ed,
            #fff
        );

    border:
        1px solid
        #eee4ca;

    border-radius:
        10px;

}


.vm-legal-header h1 {

    margin: 0 0 6px;

    color:
        var(--vm-navy);

    font-family:
        'Cormorant Garamond',
        Georgia,
        serif;

    font-size: 31px;

}


.vm-legal-header h2 {

    margin: 0;

    color:
        var(--vm-muted);

    font-family:
        'Poppins',
        sans-serif;

    font-size: 13px;

    font-weight: 500;

}


/* =========================================================
   LEGAL TABLE
   ========================================================= */

.vm-legal-info-table,
.vm-legal-table {

    width: 100%;

    margin:
        25px 0 32px;

    border-collapse:
        separate;

    border-spacing: 0;

    overflow: hidden;

    border:
        1px solid
        var(--vm-border);

    border-radius:
        10px;

}


.vm-legal-info-table td {

    padding:
        14px 17px;

    border-bottom:
        1px solid
        var(--vm-border);

}


.vm-legal-info-table tr:last-child td {

    border-bottom: none;

}


.vm-legal-info-table td:first-child {

    width: 28%;

    color:
        var(--vm-navy);

    background:
        #f8fafc;

    font-weight: 700;

}


.vm-legal-table th {

    padding:
        15px 17px;

    color: #fff;

    background:
        linear-gradient(
            135deg,
            var(--vm-navy),
            var(--vm-navy-3)
        );

    font-size: 14px;

    text-align: left;

}


.vm-legal-table td {

    padding:
        14px 17px;

    border-bottom:
        1px solid
        var(--vm-border);

    vertical-align: top;

}


.vm-legal-table tr:last-child td {

    border-bottom: none;

}


.vm-legal-table tr:nth-child(even) td {

    background:
        #fafbfc;

}


/* =========================================================
   GENERIC TABLE
   ========================================================= */

.vm-page-content table {

    width: 100%;

    margin:
        28px 0;

    border-collapse:
        separate;

    border-spacing: 0;

    border:
        1px solid
        var(--vm-border);

    border-radius:
        10px;

    overflow: hidden;

}


.vm-page-content table th {

    padding:
        14px 16px;

    color:
        #fff;

    background:
        linear-gradient(
            135deg,
            var(--vm-navy),
            var(--vm-navy-3)
        );

    font-size: 13px;

}


.vm-page-content table td {

    padding:
        13px 16px;

    border-bottom:
        1px solid
        var(--vm-border);

}


.vm-page-content table tr:last-child td {

    border-bottom: none;

}


.vm-page-content table tr:nth-child(even) td {

    background:
        #fafbfc;

}


/* =========================================================
   FAQ / QUESTION LOOK
   ========================================================= */

.vm-page-faq h3 {

    padding:
        17px 20px;

    background:
        #f8fafc;

    border:
        1px solid
        var(--vm-border);

    border-radius:
        9px;

}


/* =========================================================
   LINKS
   ========================================================= */

.vm-page-content a {

    color:
        var(--vm-navy);

    font-weight:
        600;

    text-decoration:
        none;

    border-bottom:
        1px solid
        rgba(212,175,55,.55);

}


.vm-page-content a:hover {

    color:
        var(--vm-gold-dark);

    border-color:
        var(--vm-gold);

}


/* =========================================================
   CTA
   ========================================================= */

.vm-page-cta {

    position: relative;

    overflow: hidden;

    padding:
        75px 20px;

    text-align:
        center;

    color:
        #fff;

    background:
        radial-gradient(
            circle at center,
            #12395d,
            #05182d 70%
        );

}


.vm-cta-ring {

    position: absolute;

    width: 500px;
    height: 500px;

    left: 50%;
    top: 50%;

    transform:
        translate(-50%,-50%);

    border:
        1px solid
        rgba(212,175,55,.15);

    border-radius:
        50%;

    animation:
        vmRotate 30s linear infinite;

}


.vm-cta-content {

    position: relative;

    z-index: 2;

    max-width: 760px;

    margin:
        0 auto;

}


.vm-cta-label {

    display: block;

    margin-bottom:
        12px;

    color:
        var(--vm-gold-light);

    font-size:
        10px;

    letter-spacing:
        4px;

    font-weight:
        700;

}


.vm-cta-content h2 {

    margin:
        0 0 17px;

    color:
        #fff;

    font-family:
        'Cormorant Garamond',
        Georgia,
        serif;

    font-size:
        clamp(32px,4vw,46px);

    font-weight:
        500;

}


.vm-cta-content h2 span {

    color:
        var(--vm-gold-light);

}


.vm-cta-content p {

    max-width:
        600px;

    margin:
        0 auto 30px;

    color:
        rgba(255,255,255,.70);

    font-size:
        14px;

    line-height:
        1.8;

}


.vm-cta-buttons {

    display:
        flex;

    justify-content:
        center;

    gap:
        12px;

    flex-wrap:
        wrap;

}


.vm-btn-primary,
.vm-btn-outline {

    min-height:
        48px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        0 27px;

    border-radius:
        7px;

    text-decoration:
        none;

    font-size:
        14px;

    font-weight:
        600;

    transition:
        .25s ease;

}


.vm-btn-primary {

    color:
        var(--vm-navy);

    background:
        linear-gradient(
            135deg,
            var(--vm-gold-light),
            var(--vm-gold)
        );

}


.vm-btn-primary:hover {

    color:
        var(--vm-navy);

    transform:
        translateY(-2px);

    box-shadow:
        0 10px 25px
        rgba(0,0,0,.20);

}


.vm-btn-outline {

    color:
        #fff;

    border:
        1px solid
        rgba(255,255,255,.35);

}


.vm-btn-outline:hover {

    color:
        var(--vm-navy);

    background:
        #fff;

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .vm-page-wrapper .container {

        padding-left:
            15px;

        padding-right:
            15px;

    }


    .vm-page-hero {

        min-height:
            420px;

    }


    .vm-hero-rings {

        width:
            420px;

        height:
            420px;

        right:
            -270px;

    }


    .vm-hero-wave {

        bottom:
            -50px;

    }


    .vm-page-hero-content {

        padding:
            45px 0 75px;

    }


    .vm-page-title {

        font-size:
            39px;

    }


    .vm-page-subtitle {

        font-size:
            13px;

    }


    .vm-content-area {

        padding:
            45px 0 55px;

    }


    .vm-content-card {

        padding:
            32px 21px;

        border-radius:
            11px;

    }


    .vm-content-heading {

        font-size:
            23px;

    }


    .vm-page-content {

        font-size:
            14px;

        line-height:
            1.8;

    }


    .policy-section {

        padding:
            21px 18px;

    }


    .policy-section h3 {

        font-size:
            21px;

    }


    .vm-page-content h2 {

        font-size:
            23px;

    }


    .vm-page-content h3 {

        font-size:
            21px;

    }


    .vm-page-content table,
    .vm-legal-table,
    .vm-legal-info-table {

        display:
            block;

        overflow-x:
            auto;

        white-space:
            nowrap;

    }


    .vm-legal-info-table td:first-child {

        width:
            auto;

    }


    .vm-page-cta {

        padding:
            55px 15px;

    }


    .vm-cta-buttons {

        flex-direction:
            column;

        align-items:
            center;

    }


    .vm-btn-primary,
    .vm-btn-outline {

        width:
            100%;

        max-width:
            300px;

    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .vm-page-title {

        font-size:
            33px;

    }


    .vm-page-brand {

        font-size:
            21px;

    }


    .vm-content-card {

        padding:
            27px 16px;

    }


    .vm-content-heading {

        font-size:
            21px;

    }


    .vm-page-content {

        font-size:
            13.5px;

    }


    .policy-section {

        margin-bottom:
            23px;

        padding:
            19px 15px;

    }


    .policy-section h3 {

        font-size:
            20px;

    }

}


/* =========================================================
   REDUCED MOTION ACCESSIBILITY
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .vm-hero-glow,
    .vm-hero-rings,
    .vm-hero-particles,
    .vm-brand-symbol,
    .vm-title-decoration i,
    .vm-title-decoration,
    .vm-cta-ring {

        animation:
            none !important;

    }

}