:root { --vault-gold:#c39a50; --vault-cream:#e8decb; --vault-line:rgba(184,139,63,.28); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body.vault-index-page { margin:0; color:#bdb4a5; background:#060708; }
.vault-index-page::before { content:""; position:fixed; inset:0; z-index:-3; background:radial-gradient(circle at 50% -20%,#24302d 0,transparent 42%),#060708; }
.vault-index-nav { position:sticky; top:0; z-index:30; min-height:76px; padding:0 clamp(22px,5vw,74px); display:flex; align-items:center; justify-content:space-between; gap:30px; border-bottom:1px solid var(--vault-line); background:rgba(5,6,7,.94); backdrop-filter:blur(15px); }
.vault-index-brand { color:#e5d8bd; font:400 19px/1 var(--display,serif); letter-spacing:.17em; text-decoration:none; text-transform:uppercase; }
.vault-index-brand small { display:block; margin-top:7px; color:#a98547; font:600 7px/1 var(--sans,sans-serif); letter-spacing:.36em; }
.vault-index-nav nav { display:flex; align-items:center; gap:clamp(16px,3vw,40px); }
.vault-index-nav nav>a { color:#a99f8e; font-size:10px; letter-spacing:.17em; text-decoration:none; text-transform:uppercase; }
.vault-index-nav nav>a:hover { color:#e2c98f; }
.vault-index-nav .cart { position:relative; width:34px; height:40px; padding:8px; border:0; color:#d0b16d; background:none; cursor:pointer; }
.vault-index-nav .cart svg { width:100%; height:100%; }
.vault-index-nav .cart-count { position:absolute; top:0; right:-4px; min-width:16px; height:16px; padding:0 3px; display:grid; place-items:center; border-radius:50%; color:#090909; background:#c59c4d; font:700 9px/1 sans-serif; }

.vault-index-hero { position:relative; isolation:isolate; min-height:580px; padding:clamp(72px,8vw,124px) clamp(24px,7vw,110px); display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr); align-items:center; gap:clamp(50px,8vw,120px); overflow:hidden; border-bottom:1px solid var(--vault-line); }
.vault-index-hero::before { content:""; position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(3,5,6,.98) 0%,rgba(3,5,6,.88) 48%,rgba(3,5,6,.55) 100%),url('/images/vault/categories/books.jpg') 76% 45%/cover no-repeat; filter:saturate(.72) contrast(1.08); }
.vault-index-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at 76% 45%,rgba(182,121,31,.14),transparent 27%),linear-gradient(180deg,transparent 55%,#060708); }
.vault-index-kicker { margin:0 0 22px; display:flex; align-items:center; gap:12px; color:#bf934a; font:600 10px/1 var(--sans,sans-serif); letter-spacing:.24em; text-transform:uppercase; }
.vault-index-kicker span { width:34px; height:1px; background:currentColor; }
.vault-index-hero h1 { margin:0; color:var(--vault-cream); font:400 clamp(52px,6.2vw,94px)/.9 var(--display,serif); letter-spacing:.015em; text-transform:uppercase; text-shadow:0 5px 30px #000; }
.vault-index-hero h1 em { color:#c39a50; font-size:.62em; font-style:normal; }
.vault-index-hero__copy>p:not(.vault-index-kicker) { max-width:720px; margin:27px 0 0; color:#c5bcad; font-size:16px; line-height:1.75; }
.vault-index-hero__actions { margin-top:32px; display:flex; flex-wrap:wrap; gap:12px; }
.vault-index-hero__actions a { padding:15px 21px; border:1px solid rgba(190,145,70,.4); color:#d5bd8b; font:700 9px/1 var(--sans,sans-serif); letter-spacing:.16em; text-decoration:none; text-transform:uppercase; }
.vault-index-hero__actions a.is-primary { color:#f0deba; border-color:#ab792e; background:linear-gradient(180deg,#682014,#3f0d09); }
.vault-index-counts { margin:38px 0 0; display:flex; }
.vault-index-counts div { min-width:126px; padding:0 24px; border-left:1px solid var(--vault-line); }
.vault-index-counts div:first-child { padding-left:0; border-left:0; }
.vault-index-counts dt { color:#dfbd78; font:400 24px/1 var(--display,serif); }
.vault-index-counts dd { margin:7px 0 0; color:#827a6d; font-size:8px; letter-spacing:.15em; text-transform:uppercase; }
.vault-index-library { position:relative; min-height:350px; padding:46px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; border:1px solid rgba(194,147,68,.45); color:#e7d8ba; text-decoration:none; box-shadow:0 25px 70px rgba(0,0,0,.55); }
.vault-index-library::before { content:""; position:absolute; inset:0; z-index:-2; background:linear-gradient(180deg,rgba(5,6,6,.1),rgba(3,4,4,.95)),url('/images/vault/captains-library/room.webp') center/cover no-repeat; transition:transform .6s ease; }
.vault-index-library:hover::before { transform:scale(1.035); }
.vault-index-library::after { content:""; position:absolute; inset:10px; z-index:-1; border:1px solid rgba(204,160,80,.22); }
.vault-index-library>span { color:#c59a4e; font-size:8px; letter-spacing:.22em; text-transform:uppercase; }
.vault-index-library strong { margin:10px 0; font:400 clamp(37px,4vw,57px)/.9 var(--display,serif); text-transform:uppercase; }
.vault-index-library small { max-width:360px; color:#aaa090; font-size:12px; line-height:1.6; }
.vault-index-library b { margin-top:24px; color:#d6b66f; font-size:9px; letter-spacing:.17em; text-transform:uppercase; }

.vault-ledger { width:min(1480px,calc(100% - 48px)); margin:0 auto; padding:clamp(68px,8vw,118px) 0; }
.vault-ledger__head { display:flex; align-items:end; justify-content:space-between; gap:32px; padding-bottom:25px; border-bottom:1px solid var(--vault-line); }
.vault-ledger__head p { margin:0 0 8px; color:#ad8747; font-size:9px; letter-spacing:.2em; text-transform:uppercase; }
.vault-ledger__head h2 { margin:0; color:#e7dcc8; font:400 clamp(36px,4vw,58px)/1 var(--display,serif); text-transform:uppercase; }
.vault-search { width:min(360px,100%); height:46px; padding:0 15px; display:flex; align-items:center; gap:11px; border:1px solid rgba(173,132,61,.3); background:rgba(13,14,14,.76); }
.vault-search svg { width:17px; color:#a98649; }
.vault-search input { width:100%; border:0; outline:0; color:#ddd1ba; background:transparent; font:12px var(--sans,sans-serif); }
.vault-search input::placeholder { color:#716a60; }
.vault-ledger__tools { min-height:68px; display:flex; align-items:center; gap:12px; }
.vault-ledger__tools button,.vault-ledger__tools>a { padding:10px 14px; border:1px solid rgba(173,132,61,.23); color:#8f8778; background:transparent; font:600 8px/1 var(--sans,sans-serif); letter-spacing:.14em; text-decoration:none; text-transform:uppercase; cursor:pointer; }
.vault-ledger__tools button.is-active { color:#e0c58e; border-color:#a87c35; background:rgba(150,105,35,.12); }
.vault-ledger__tools>a { color:#cfaa64; }
.vault-ledger__tools>a span { margin-left:8px; color:#7d7465; }
.vault-ledger__tools>p { margin-left:auto; color:#6f685e; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.vault-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.vault-product-card { min-height:620px; display:grid; grid-template-rows:340px 1fr auto; overflow:hidden; border:1px solid rgba(169,129,58,.28); background:linear-gradient(180deg,rgba(19,20,19,.92),rgba(9,10,10,.98)); box-shadow:0 18px 45px rgba(0,0,0,.25); }
.vault-product-card[hidden] { display:none; }
.vault-product-card__image { position:relative; display:block; overflow:hidden; background:#0b0c0c; }
.vault-product-card__image::after { content:""; position:absolute; inset:0; box-shadow:inset 0 -70px 70px -50px #090a0a; pointer-events:none; }
.vault-product-card__image img { width:100%; height:100%; display:block; object-fit:cover; object-position:center 22%; transition:transform .55s ease,filter .55s ease; }
a.vault-product-card__image:hover img { transform:scale(1.025); filter:brightness(1.08); }
.vault-product-card__copy { padding:24px 25px 20px; }
.vault-product-card__eyebrow { margin:0 0 10px; color:#b78c47; font-size:8px; letter-spacing:.2em; text-transform:uppercase; }
.vault-product-card h3 { margin:0; color:#e7dac2; font:400 clamp(23px,2vw,31px)/1.08 var(--display,serif); }
.vault-product-card__subtitle { min-height:43px; margin:12px 0 18px; color:#9e9587; font-size:12px; line-height:1.55; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.vault-product-card ul { margin:0; padding:14px 0 0; display:flex; flex-wrap:wrap; gap:7px; border-top:1px solid rgba(159,121,54,.18); list-style:none; }
.vault-product-card li { color:#756e62; font-size:8px; letter-spacing:.08em; text-transform:uppercase; }
.vault-product-card li+li::before { content:"·"; margin-right:7px; color:#9b7438; }
.vault-product-card footer { padding:18px 25px; display:flex; align-items:center; justify-content:space-between; gap:18px; border-top:1px solid rgba(159,121,54,.2); background:rgba(3,4,4,.5); }
.vault-product-card footer>strong { color:#dfbb72; font:400 22px/1 var(--display,serif); }
.vault-product-card__action { padding:12px 15px; border:1px solid #94702f; color:#e3ca98; background:transparent; font:700 8px/1 var(--sans,sans-serif); letter-spacing:.14em; text-decoration:none; text-transform:uppercase; cursor:pointer; }
.vault-product-card__action:hover { color:#f3dfb5; background:#5f1a11; border-color:#b98032; }
.vault-product-card__action:disabled { opacity:.45; cursor:not-allowed; }
.vault-product-card.is-loading { min-height:550px; background:linear-gradient(100deg,#0c0d0d 20%,#151616 45%,#0c0d0d 70%); background-size:220% 100%; animation:vaultPulse 1.3s infinite linear; }
@keyframes vaultPulse { to { background-position:-220% 0; } }
.vault-empty { margin:50px 0 0; padding:40px; border:1px solid var(--vault-line); color:#8f8677; text-align:center; }

.vault-promise { padding:0 clamp(24px,7vw,110px) clamp(78px,8vw,120px); display:grid; grid-template-columns:repeat(3,1fr); gap:1px; }
.vault-promise article { min-height:150px; padding:30px; display:flex; gap:20px; border:1px solid rgba(164,125,57,.22); background:#090a0a; }
.vault-promise article>span { color:#9c7739; font:400 25px/1 var(--display,serif); }
.vault-promise h2 { margin:0 0 9px; color:#d8c9ad; font:400 20px/1 var(--display,serif); text-transform:uppercase; }
.vault-promise p { margin:0; color:#817a6e; font-size:11px; line-height:1.65; }
.vault-index-footer { min-height:120px; padding:28px clamp(24px,5vw,74px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:35px; border-top:1px solid var(--vault-line); background:#040505; }
.vault-index-footer nav { display:flex; flex-wrap:wrap; justify-content:center; gap:22px; }
.vault-index-footer nav a { color:#827a6c; font-size:8px; letter-spacing:.15em; text-decoration:none; text-transform:uppercase; }
.vault-index-footer>p { justify-self:end; margin:0; color:#5f5a52; font-size:8px; letter-spacing:.12em; text-transform:uppercase; }

@media(max-width:1050px){.vault-index-hero{grid-template-columns:1fr}.vault-index-library{max-width:620px}.vault-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vault-index-footer{grid-template-columns:1fr}.vault-index-footer>*{justify-self:center!important}}
@media(max-width:720px){.vault-index-nav{min-height:68px}.vault-index-nav nav>a:nth-child(-n+2){display:none}.vault-index-hero{padding-inline:22px}.vault-index-counts{display:grid;grid-template-columns:repeat(3,1fr)}.vault-index-counts div{min-width:0;padding:0 10px}.vault-index-library{min-height:300px;padding:34px}.vault-ledger{width:calc(100% - 28px)}.vault-ledger__head{align-items:stretch;flex-direction:column}.vault-search{width:100%}.vault-ledger__tools{align-items:stretch;flex-wrap:wrap;padding:16px 0}.vault-ledger__tools>p{width:100%;margin:8px 0 0}.vault-product-grid{grid-template-columns:1fr}.vault-product-card{min-height:0;grid-template-rows:360px auto auto}.vault-promise{grid-template-columns:1fr;padding-inline:14px}}
@media(max-width:460px){.vault-index-brand{font-size:15px}.vault-index-nav nav{gap:8px}.vault-index-nav nav>a{padding:8px}.vault-index-hero h1{font-size:45px}.vault-index-counts dd{font-size:7px}.vault-ledger__tools>a span{display:none}.vault-product-card{grid-template-rows:300px auto auto}}
