*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fffaf2;color:#251a29;font-family:Georgia,serif;line-height:1.6}a{color:inherit}img{max-width:100%}.wrap{max-width:1180px;margin:auto;padding:0 24px}.header{background:#261033;color:#f4db8b;position:sticky;top:0;z-index:10}.top{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;font-size:18px;letter-spacing:1px;font-weight:bold}.brand img{width:54px;height:54px;object-fit:cover;border-radius:50%}.brand small{display:block;color:#e5c887;font-size:10px;letter-spacing:1.3px;font-weight:normal}.header nav{display:flex;align-items:center;gap:20px;font-family:Arial,sans-serif;font-size:13px}.header nav a{text-decoration:none}.header nav a:hover{color:#fff}.menu{display:none;background:none;border:1px solid #d9b96b;color:#f9e9b8;padding:7px 12px;font-size:23px}.footer{background:#180b22;color:#f2ddad;padding:40px 0}.foot{display:flex;justify-content:space-between;gap:20px}.foot p,.foot small{color:#cfbbcd}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:#fff;z-index:100}.section{padding:90px 0;scroll-margin-top:86px}.center{text-align:center}.narrow{max-width:760px}.pale{background:#f3ecdf}.dark{background:#291037;color:#fff3d7}.eyebrow{font:700 11px Arial,sans-serif;letter-spacing:3px;color:#a17b27}.dark .eyebrow{color:#e4c371}h1,h2,h3{line-height:1.12}h2{font-size:clamp(32px,4vw,50px);font-weight:normal;margin:18px 0 24px}p{font-size:17px}.section small{font:12px Arial,sans-serif;color:#94783b}@media(max-width:960px){.menu{display:block}.header nav{display:none;position:absolute;top:84px;left:0;right:0;background:#261033;padding:25px;flex-direction:column;align-items:stretch}.header nav.open{display:flex}}@media(max-width:600px){.brand{font-size:13px}.brand small{font-size:8px}.brand img{width:42px;height:42px}.section{padding:65px 0}.foot{display:block}}

/* Member login */
.login-form { display: grid; gap: 14px; max-width: 440px; }
.login-form input:not([type="hidden"]) { display: block; width: 100%; padding: 12px; }
.login-form button { padding: 13px; background: #261033; color: #fff; border: 0; cursor: pointer; }


/* Mobile navigation: closed by default, bounded and scrollable when opened. */
@media (max-width: 960px) {
    .header { z-index: 100; }
    .header .top { position: relative; }
    .header .menu { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; cursor: pointer; border-radius: 8px; min-width: 46px; min-height: 46px; }
    .header #nav { display: none; position: absolute; top: 100%; left: 0; right: 0; z-index: 101; padding: 14px 20px 18px; background: #261033; border-top: 1px solid #6e4c79; box-shadow: 0 16px 28px rgba(20, 6, 30, .25); max-height: min(70vh, 550px); overflow-y: auto; overscroll-behavior: contain; flex-direction: column; align-items: stretch; gap: 4px; }
    .header #nav.open { display: flex; }
    .header #nav a { display: block; padding: 11px 14px; color: #f4db8b; border-radius: 8px; }
    .header #nav a:hover, .header #nav a:focus-visible { background: #432352; color: #fff; }
    .header .menu[aria-expanded="true"] { background: #4a275a; }
}
@media (min-width: 961px) {
    .header #nav { display: flex; position: static; max-height: none; overflow: visible; }
}

/* Footer: scoped separately from the mobile header menu. */
.footer { position: relative; z-index: 1; background: #0b1621; color: #f7f1e6; padding: 54px 0 30px; text-align: center; }
.footer .foot { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.footer .vc-footer-brand { font-size: 23px; letter-spacing: 2px; color: #e8c276; font-weight: 700; }
.footer .vc-footer-motto { font-size: 18px; color: #e5c17a; margin: 6px 0; }
.footer .vc-footer-desc { color: #d2cdd6; margin: 8px auto 0; font-size: 13px; }
.footer .vc-footer-line { width: 100%; max-width: 900px; border: 0; border-top: 1px solid #68566d; margin: 10px 0; }
.footer .vc-legal-links { position: static; display: flex; flex-direction: row; justify-content: center; align-items: center; flex-wrap: wrap; gap: 10px; width: 100%; max-height: none; padding: 0; margin: 0; background: transparent; box-shadow: none; overflow: visible; border: 0; }
.footer .vc-legal-links a, .footer .vc-legal-links button { display: inline-flex; align-items: center; justify-content: center; border: 1px solid #90764a; border-radius: 999px; padding: 10px 15px; background: #162130; color: #f5e9d4; text-decoration: none; font: 600 13px Arial, sans-serif; min-height: 42px; cursor: pointer; }
.footer .vc-legal-links a:hover, .footer .vc-legal-links button:hover { background: #382744; color: #fff; }
.footer .vc-footer-copy { font-size: 12px; color: #c9c5d1; }
@media(max-width:960px){.footer .vc-legal-links{position:static;display:flex;flex-direction:row;max-height:none;overflow:visible;}}
.vc-home-explore { text-align: center; background: #f6efe2; }
.vc-home-links { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 14px; max-width: 1050px; margin: 30px auto 0; }
.vc-home-links a { background: #fff; border: 1px solid #e0d2bc; border-radius: 14px; padding: 22px 15px; color: #341d42; text-decoration: none; font: 600 15px Arial,sans-serif; box-shadow: 0 4px 18px #2610330c; }
.vc-home-links a:hover { border-color: #c9a057; background: #fffaf1; }



/* ==========================================
   VOX CONSECRATA — FOOTER
========================================== */

.footer {
    position: relative;
    z-index: 1;
    background: #261033;
    color: #F8F3E9;
    padding: 55px 20px 30px;
    text-align: center;
}

.footer .foot {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    max-width: 1100px;
    margin: 0 auto;
}

.vc-footer-identity {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.vc-footer-brand {
    color: #D5AC45;
    font-size: 25px;
    font-weight: 700;
    letter-spacing: 2px;
    line-height: 1.4;
    margin: 0;
}

.vc-footer-motto {
    color: #D5AC45;
    font-size: 19px;
    margin: 0;
}

.vc-footer-desc {
    color: #F8F3E9;
    font-size: 14px;
    line-height: 1.8;
    margin: 8px 0 0;
}

.vc-footer-line {
    width: 100%;
    max-width: 900px;
    border: 0;
    border-top: 1px solid rgba(213, 172, 69, 0.35);
    margin: 15px auto;
}

.footer .vc-legal-links {
    position: static;
    display: flex !important;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    width: 100%;
    max-height: none;
    padding: 0;
    margin: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
    border: 0;
}

.footer .vc-legal-links a,
.footer .vc-legal-links button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 16px;
    border: 1px solid #D5AC45;
    border-radius: 30px;
    background: transparent;
    color: #F8F3E9;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}

.footer .vc-legal-links a:hover,
.footer .vc-legal-links button:hover,
.footer .vc-legal-links a:focus-visible,
.footer .vc-legal-links button:focus-visible {
    background: #D5AC45;
    color: #261033;
}

.vc-footer-copy {
    color: #D9CEDF;
    font-size: 13px;
    line-height: 1.6;
    margin: 0;
}

/* ==========================================
   COOKIE CONSENT
========================================== */

.vc-cookie-panel {
    position: fixed;
    bottom: 16px;
    left: 16px;
    z-index: 9999;
    width: calc(100% - 32px);
    max-width: 440px;
    padding: 22px;
    background: #F8F3E9;
    color: #261033;
    border: 1px solid #D5AC45;
    border-radius: 16px;
    box-shadow: 0 12px 45px rgba(20, 5, 30, 0.3);
}

.vc-cookie-panel[hidden] {
    display: none;
}

.vc-cookie-panel strong {
    display: block;
    font-size: 19px;
    margin-bottom: 10px;
}

.vc-cookie-panel p {
    font-size: 14px;
    line-height: 1.7;
    margin: 0 0 16px;
}

.vc-cookie-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 14px;
}

.vc-cookie-actions button {
    flex: 1;
    min-width: 135px;
    padding: 12px 15px;
    background: #261033;
    color: #F8F3E9;
    border: 1px solid #261033;
    border-radius: 9px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.vc-cookie-actions button:hover {
    background: #D5AC45;
    color: #261033;
    border-color: #D5AC45;
}

.vc-cookie-panel > a {
    color: #261033;
    font-size: 13px;
    font-weight: 600;
    text-decoration: underline;
}

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

@media (max-width: 768px) {
    .footer {
        padding: 45px 16px 25px;
    }

    .vc-footer-brand {
        font-size: 21px;
    }

    .vc-footer-motto {
        font-size: 17px;
    }

    .vc-footer-desc {
        font-size: 13px;
    }

    .footer .vc-legal-links {
        gap: 10px;
    }

    .footer .vc-legal-links a,
    .footer .vc-legal-links button {
        font-size: 12px;
        padding: 10px 14px;
    }

    .vc-cookie-panel {
        bottom: 12px;
        left: 12px;
        width: calc(100% - 24px);
        padding: 18px;
    }
}

@media (max-width: 420px) {
    .vc-footer-brand {
        font-size: 19px;
    }

    .vc-cookie-actions {
        flex-direction: column;
    }

    .vc-cookie-actions button {
        width: 100%;
    }
}

