
/* HOUSE OF VALE — THE VAULT */
.vault-page{background:#111011;color:#EAE1D3;overflow:hidden}
.vault-page a{text-decoration:none}
.vault-hero{min-height:86vh;position:relative;display:flex;align-items:flex-end;padding:9vw 7vw 7vw;background:
linear-gradient(90deg,rgba(17,16,17,.96) 0%,rgba(17,16,17,.76) 48%,rgba(17,16,17,.25) 100%),
radial-gradient(circle at 72% 45%,rgba(181,151,99,.14),transparent 30%),
linear-gradient(135deg,#090909,#17202A 55%,#111011)}
.vault-hero:after{content:"";position:absolute;right:8vw;top:13%;width:min(32vw,460px);height:70%;border:1px solid rgba(181,151,99,.32);border-radius:48% 48% 4px 4px;box-shadow:inset 0 0 90px rgba(0,0,0,.8),0 0 80px rgba(181,151,99,.05)}
.vault-hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,#111011 0%,transparent 25%)}
.vault-hero-content{position:relative;z-index:2;max-width:850px}
.vault-kicker,.vault-eyebrow,.vault-card-type{font:600 10px/1.3 Arial,sans-serif;letter-spacing:.24em;color:#B59763}
.vault-hero h1,.vault-intro h2,.vault-section-head h2,.vault-invitation h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.045em}
.vault-hero h1{font-size:clamp(54px,7.4vw,112px);line-height:.84;margin:24px 0 30px}
.vault-hero p{max-width:600px;font:400 16px/1.7 Georgia,serif;color:rgba(234,225,211,.76)}
.vault-scroll{display:inline-flex;gap:18px;margin-top:32px;color:#EAE1D3;font:600 9px/1 Arial,sans-serif;letter-spacing:.2em}
.vault-intro{padding:110px 7vw 120px;max-width:1100px}
.vault-rule{width:62px;height:1px;background:#B59763;margin-bottom:35px}
.vault-intro h2{font-size:clamp(48px,6vw,84px);line-height:.9;margin:20px 0 28px}
.vault-copy{max-width:650px;color:rgba(234,225,211,.68);font:400 17px/1.75 Georgia,serif}
.vault-collection{padding:0 7vw 130px}
.vault-section-head{display:grid;grid-template-columns:1.4fr .8fr;gap:70px;align-items:end;border-top:1px solid rgba(181,151,99,.25);padding-top:40px;margin-bottom:48px}
.vault-section-head h2{font-size:clamp(42px,5vw,70px);line-height:.95;margin:13px 0 0}
.vault-section-head>p{color:rgba(234,225,211,.62);font:400 15px/1.7 Georgia,serif;max-width:460px}
.vault-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.vault-card{border:1px solid rgba(181,151,99,.18);background:#0c0c0d;min-width:0}
.vault-card-image{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:linear-gradient(145deg,#17202A,#080808)}
.vault-card-image img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease;filter:saturate(.78)}
.vault-card:hover .vault-card-image img{transform:scale(1.035)}
.vault-card-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,16,17,.78),transparent 52%)}
.vault-status{position:absolute;left:18px;bottom:18px;padding:9px 11px;border:1px solid rgba(181,151,99,.55);background:rgba(17,16,17,.86);color:#B59763;font:600 8px/1 Arial,sans-serif;letter-spacing:.18em}
.vault-status-open{background:#B59763;color:#111011}
.vault-card-body{padding:25px 24px 27px}
.vault-card-body h3{font:400 29px/1.04 Georgia,serif;margin:11px 0 15px}
.vault-card-body h3 a{color:#EAE1D3}
.vault-card-excerpt{min-height:48px;color:rgba(234,225,211,.6);font:400 14px/1.65 Georgia,serif}
.vault-card-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(181,151,99,.18);margin-top:24px;padding-top:18px;color:#B59763;font:600 8px/1 Arial,sans-serif;letter-spacing:.16em}
.vault-inner{padding:110px 7vw 130px;background:#09090a}
.vault-inner-frame{max-width:1500px;margin:auto}
.vault-card-inner{border-color:rgba(85,28,37,.65)}
.vault-empty{grid-column:1/-1;border:1px solid rgba(181,151,99,.18);padding:70px 7%;text-align:center}
.vault-empty h3{font:400 clamp(30px,4vw,50px)/1 Georgia,serif;margin:18px 0}
.vault-empty p:last-child{max-width:620px;margin:0 auto;color:rgba(234,225,211,.6);font:400 14px/1.7 Georgia,serif}
.vault-empty-inner{border-color:rgba(85,28,37,.6)}
.vault-invitation{text-align:center;padding:130px 7vw;background:radial-gradient(circle at center,rgba(85,28,37,.22),transparent 48%)}
.vault-invitation h2{font-size:clamp(48px,6vw,84px);line-height:.9;margin:22px 0 26px}
.vault-invitation>p:not(.vault-eyebrow){max-width:600px;margin:0 auto;color:rgba(234,225,211,.65);font:400 16px/1.7 Georgia,serif}
.vault-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:38px}
.vault-actions a{padding:17px 20px;background:#B59763;color:#111011;border:1px solid #B59763;font:600 8px/1 Arial,sans-serif;letter-spacing:.16em}
.vault-actions .vault-action-secondary{background:transparent;color:#EAE1D3}
.vault-closing{text-align:center;padding:120px 7vw 140px}
.vault-closing .vault-rule{margin:0 auto 38px}
.vault-closing blockquote{max-width:780px;margin:0 auto;font:italic 400 clamp(30px,4vw,54px)/1.15 Georgia,serif}
.vault-closing p{margin:20px 0 35px;color:#B59763;font:600 9px/1 Arial,sans-serif;letter-spacing:.22em}
.vault-closing a{color:#EAE1D3;font:600 8px/1 Arial,sans-serif;letter-spacing:.18em}
@media(max-width:900px){
.vault-hero{min-height:75vh;padding:120px 7vw 70px}.vault-hero:after{opacity:.35;width:55vw;right:-12vw}
.vault-section-head{grid-template-columns:1fr;gap:18px}.vault-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
.vault-grid{grid-template-columns:1fr}.vault-intro{padding-top:80px}.vault-collection,.vault-inner{padding-bottom:90px}
.vault-hero h1{font-size:50px}.vault-card-excerpt{min-height:0}
}


/* =========================================================
   VAULT ACCESS STATES — PREMIUM VISUAL HIERARCHY
   ========================================================= */

/* Locked content: deliberately obscured, still desirable */
.vault-card:has(.vault-status:not(.vault-status-open)) .vault-card-image img {
    filter: saturate(.45) brightness(.58) blur(2px);
    transform: scale(1.025);
}

.vault-card:has(.vault-status:not(.vault-status-open)) .vault-card-shade {
    background:
        linear-gradient(0deg, rgba(17,16,17,.94), rgba(17,16,17,.22) 70%),
        linear-gradient(90deg, rgba(17,16,17,.2), transparent);
}

.vault-card:has(.vault-status:not(.vault-status-open)) .vault-card-body h3 {
    color: rgba(234,225,211,.84);
}

/* Unlocked content: warmer, brighter, subtly illuminated */
.vault-card:has(.vault-status-open) {
    border-color: rgba(181,151,99,.48);
    box-shadow: 0 18px 55px rgba(0,0,0,.24);
}

.vault-card:has(.vault-status-open) .vault-card-image img {
    filter: saturate(.92) brightness(.92);
}

.vault-card:has(.vault-status-open):hover {
    border-color: rgba(181,151,99,.8);
}

/* Outer Vault lock treatment */
.vault-collection .vault-status:not(.vault-status-open) {
    border-color: rgba(181,151,99,.62);
    background: rgba(17,16,17,.92);
    color: #B59763;
}

/* Inner Vault gets its own darker oxblood identity */
.vault-inner .vault-card {
    background:
        linear-gradient(145deg, rgba(85,28,37,.13), rgba(12,12,13,.98) 38%);
}

.vault-inner .vault-card:has(.vault-status:not(.vault-status-open)) {
    border-color: rgba(85,28,37,.9);
    box-shadow: inset 0 0 50px rgba(85,28,37,.08);
}

.vault-inner .vault-card:has(.vault-status:not(.vault-status-open)) .vault-status {
    color: #EAE1D3;
    border-color: rgba(181,151,99,.5);
    background: rgba(85,28,37,.9);
}

.vault-inner .vault-card:has(.vault-status-open) {
    border-color: rgba(181,151,99,.58);
    box-shadow:
        0 18px 60px rgba(0,0,0,.34),
        inset 0 0 38px rgba(181,151,99,.025);
}

.vault-inner .vault-card-type {
    color: #B59763;
}

/* Give the lock labels a small architectural accent */
.vault-status::before {
    content: "◇";
    display: inline-block;
    margin-right: 7px;
    font-size: 9px;
    transform: translateY(-.5px);
}

.vault-status-open::before {
    content: "◆";
}

/* Access links feel more like doors than ordinary text links */
.vault-card-link {
    transition: color .25s ease, letter-spacing .25s ease;
}

.vault-card-link:hover {
    color: #EAE1D3;
    letter-spacing: .19em;
}

@media (max-width: 620px) {
    .vault-card:has(.vault-status:not(.vault-status-open)) .vault-card-image img {
        filter: saturate(.45) brightness(.6) blur(1.5px);
    }
}
