/* The Vault Builder™ sales page — Hero-Led Editorial treatment.
   Loaded only by /build/ after sales.css; every rule is scoped to body.vb.
   Palette: deep plum #321322, signature plum #702D46, black #111111, ivory #F7F1E7, champagne gold #C6A15B.
   Textures (separate SVG tiles in /assets/textures/): suede (signature), paper (supporting), brass (rails and borders only). */
body.vb{
  --tle-plum-deep:#321322;--tle-plum:#702D46;--tle-black:#111111;--tle-ivory:#F7F1E7;--tle-gold:#C6A15B;
  --tle-ink:#111111;--tle-ink-2:#3E3038;--tle-muted:#7A6E74;--tle-hair:rgba(50,19,34,.14);
  --tle-gold-line:rgba(198,161,91,.62);--tle-gold-faint:rgba(198,161,91,.22);
  --plum:var(--tle-plum);--plum-deep:var(--tle-plum-deep);--plum-ink:var(--tle-plum-deep);
  --gold:var(--tle-gold);--gold-deep:#8F6F2C;--gold-soft:#F0E4C9;
  --ink:var(--tle-ink);--ivory:var(--tle-ivory);--mist:#F1EAE0;--body:var(--tle-ink-2);--muted:var(--tle-muted);--hair:#E3D8CB;--white:#FDFAF5;
  --suede:url(/assets/textures/suede.svg);--paper:url(/assets/textures/paper.svg);--brass:url(/assets/textures/brass.svg);
  background:var(--tle-ivory);color:var(--tle-ink-2);
}
.vb h1,.vb h2,.vb h3{color:var(--tle-plum-deep);letter-spacing:-.015em}
.vb h2{font-size:clamp(32px,4.6vw,54px);max-width:22ch}
.vb .eyebrow{display:inline-flex;align-items:center;gap:14px;color:var(--gold-deep);letter-spacing:.26em}
.vb .eyebrow::before{content:"";width:34px;height:1px;background:var(--tle-gold);opacity:.9}
.vb a{color:var(--tle-plum)}

/* Surfaces. The suede is the signature texture, faint behind copy and deeper at the section edges; the paper is the supporting one. */
.vb .vb-dark{position:relative;background:var(--tle-plum-deep) var(--suede) center/600px 600px repeat;color:var(--tle-ivory);box-shadow:inset 0 90px 140px -90px rgba(0,0,0,.65),inset 0 -90px 140px -90px rgba(0,0,0,.65)}
.vb .vb-dark::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--brass) center/400px 60px repeat-x;opacity:.9}
.vb .vb-dark h1,.vb .vb-dark h2,.vb .vb-dark h3{color:var(--tle-ivory);text-shadow:0 1px 0 rgba(255,255,255,.06),0 -1px 0 rgba(0,0,0,.55)}
.vb .vb-dark p,.vb .vb-dark li,.vb .vb-dark .lede{color:#EFE4DA}
.vb .vb-dark .eyebrow{color:var(--tle-gold)}
.vb .vb-dark .cta-note{color:#D9C4CE}
.vb .vb-dark .btn-ghost{color:var(--tle-ivory);border-color:rgba(247,241,231,.6)}
.vb .vb-dark a:not(.btn){color:#EAD3A2}
.vb .vb-paper{background:var(--tle-ivory) var(--paper) center/400px 400px repeat;color:var(--tle-ink-2)}
.vb .vb-plain{background:var(--tle-ivory)}
.vb .vb-rail{height:3px;background:var(--brass) center/400px 60px repeat-x;opacity:.9}

/* Buttons: champagne with black text on dark; plum with ivory on light. Gold stays for rules, borders and numbers. */
.vb .btn{border-radius:6px;letter-spacing:.03em}
.vb .btn-gold{background:var(--tle-gold);color:var(--tle-black);box-shadow:0 10px 26px rgba(0,0,0,.25)}
.vb .btn-gold:hover{background:#D9B673}
.vb .btn-plum{background:var(--tle-plum);color:var(--tle-ivory)}
.vb .btn-plum:hover{background:#5A2238}
.vb .vb-dark .btn-plum{border-color:var(--tle-gold-line)}
.vb .vb-paper .btn-gold,.vb .vb-plain .btn-gold{background:var(--tle-plum);color:var(--tle-ivory);box-shadow:0 10px 24px rgba(50,19,34,.18)}
.vb .vb-paper .btn-gold:hover,.vb .vb-plain .btn-gold:hover{background:#5A2238}
.vb .btn-ghost{color:var(--tle-plum-deep);border-color:var(--tle-plum-deep)}
.vb .nav .btn-gold{background:var(--tle-plum);color:var(--tle-ivory);box-shadow:none}
.vb .nav{background:rgba(247,241,231,.9);border-bottom:1px solid var(--tle-gold-line)}

/* Engraved labels and fine metallic frames */
.vb .vb-engraved{font-family:var(--display);color:var(--tle-gold);letter-spacing:.32em;text-transform:uppercase;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:16px;text-shadow:0 1px 0 rgba(0,0,0,.6)}
.vb .vb-engraved::before,.vb .vb-engraved::after{content:"";flex:0 0 clamp(28px,8vw,90px);height:1px;background:linear-gradient(90deg,transparent,var(--tle-gold));opacity:.8}
.vb .vb-engraved::after{background:linear-gradient(90deg,var(--tle-gold),transparent)}
.vb .vb-frame{position:relative;background:#fff;border:1px solid var(--tle-gold-line);padding:6px;box-shadow:0 24px 60px rgba(17,17,17,.28)}
.vb .vb-frame::before{content:"";position:absolute;inset:-6px;border:1px solid var(--tle-gold-faint);pointer-events:none}
.vb .vb-frame img{width:100%;height:auto;display:block;aspect-ratio:16/10;object-fit:cover;object-position:top}
.vb figure{margin:0}
.vb figcaption{font-size:13.5px;line-height:1.5;color:var(--tle-muted);margin-top:14px}
.vb figcaption b{display:block;font-family:var(--display);font-size:16px;color:var(--tle-plum-deep);font-weight:600;margin-bottom:2px}
.vb .vb-dark figcaption{color:#D9C4CE}
.vb .vb-dark figcaption b{color:var(--tle-ivory)}

/* Circular frames after the vault door */
.vb .vb-ring{position:relative;isolation:isolate}
.vb .vb-ring::after{content:"";position:absolute;z-index:-1;width:var(--ring,520px);height:var(--ring,520px);border-radius:50%;border:1px solid var(--tle-gold-faint);box-shadow:inset 0 0 0 18px rgba(198,161,91,.05),inset 0 0 0 19px rgba(198,161,91,.18),0 0 0 22px rgba(198,161,91,.04),0 0 0 23px rgba(198,161,91,.14);pointer-events:none;right:var(--ring-x,-160px);top:var(--ring-y,50%);transform:translateY(-50%)}

/* Hero: the image leads, whole, at its own proportions */
.vb .hero{padding:clamp(28px,4vw,52px) 0 clamp(56px,8vw,104px)}
.vb .vb-hero-figure{max-width:var(--wrap);margin:0 auto}
.vb .vb-hero-figure .vb-hero-img{width:100%;height:auto;display:block;border:1px solid var(--tle-gold-line);box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 0 8px rgba(198,161,91,.06)}
.vb .vb-hero-figure .mark{margin:26px 0 0;text-align:center}
.vb .vb-hero-figure .mark img{display:none}
.vb .vb-hero-figure .mark p{margin:0;color:#EAD3A2;font-family:var(--display);font-style:italic;font-size:clamp(17px,2vw,22px);letter-spacing:.02em}
.vb .vb-hero-head{margin-top:clamp(40px,6vw,72px);max-width:960px}
.vb .hero .label{color:var(--tle-gold);border-color:var(--tle-gold-line);background:rgba(17,17,17,.25);margin-bottom:26px}
.vb .hero h1{font-size:clamp(40px,5.8vw,70px);line-height:1.06;letter-spacing:-.02em;max-width:18ch}
.vb .hero h1 .line2{color:var(--tle-gold);font-style:italic;font-weight:500;margin-top:.15em}
.vb .hero .cta-row{margin-top:34px}
.vb .hero .cta-note{max-width:640px}
.vb .hero-grid{margin-top:clamp(40px,6vw,64px);grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,80px);align-items:start;padding-top:clamp(32px,4vw,48px);border-top:1px solid var(--tle-gold-faint)}
.vb .hero .lede{color:#EFE4DA}
.vb .hero .lede strong,.vb .hero p strong{color:var(--tle-ivory)}
.vb .hero .contrast{border:0;padding:clamp(24px,3vw,36px) 0 0;margin:34px 0 0;color:var(--tle-ivory);font-size:clamp(22px,2.6vw,30px);line-height:1.3;position:relative;border-top:1px solid var(--tle-gold-line)}
.vb .hero .contrast::before{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;border-radius:50%;background:var(--tle-plum-deep);border:1px solid var(--tle-gold)}
.vb .founder-line{color:#D9C4CE}
.vb .founder-line img{box-shadow:0 0 0 2px var(--tle-plum-deep),0 0 0 3px var(--tle-gold)}
.vb .facts{background:var(--tle-ivory) var(--paper) center/400px 400px;border:1px solid var(--tle-gold-line);border-radius:4px;box-shadow:0 30px 70px rgba(0,0,0,.4),inset 0 0 0 6px var(--tle-ivory),inset 0 0 0 7px var(--tle-gold-faint);padding:32px 30px 30px;color:var(--tle-ink-2)}
.vb .facts .price{color:var(--tle-plum-deep);font-size:44px;margin-bottom:14px}
.vb .facts .price small{display:block;margin-top:8px;margin-left:0}
.vb .facts .price small{color:var(--tle-muted)}
.vb .facts dt{color:var(--gold-deep)}
.vb .facts dd{color:var(--tle-ink)}
.vb .facts .cta-note{color:var(--tle-muted)}
@media (max-width:900px){.vb .hero-grid{grid-template-columns:1fr}}

/* Proof: the finished Vault, on paper */
.vb .proof{grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,56px);margin-top:26px;align-items:start}
.vb .proof .shot{background:var(--white);border:1px solid var(--tle-gold-line);border-radius:4px;padding:26px 26px 18px;box-shadow:inset 0 0 0 5px var(--white),inset 0 0 0 6px var(--tle-gold-faint)}
.vb .proof .shot b{color:var(--gold-deep)}
.vb .proof .shot li{color:var(--tle-ink-2)}
.vb .vb-proof-screen{margin-top:clamp(36px,5vw,56px);max-width:960px}
@media (max-width:860px){.vb .proof{grid-template-columns:1fr}}

/* Folder tabs and shelves */
.vb .vb-folder{position:relative;background:var(--white);border:1px solid var(--tle-gold-line);border-radius:0 10px 10px 10px;margin-top:20px;box-shadow:0 14px 34px rgba(50,19,34,.08)}
.vb .vb-folder::before{content:"";position:absolute;left:-1px;top:-19px;width:42%;min-width:96px;height:20px;background:var(--white);border:1px solid var(--tle-gold-line);border-bottom:0;border-radius:9px 9px 0 0}
.vb .vb-folder::after{content:"";position:absolute;left:0;top:-1px;width:calc(42% - 2px);min-width:94px;height:2px;background:var(--white)}
.vb .vb-folder .tab{position:absolute;left:12px;top:-15px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;z-index:1}
.vb .grid-4 .card.vb-folder{padding:30px 26px 26px}
.vb .grid-4 .card.vb-folder h3{color:var(--tle-plum-deep);font-size:clamp(21px,2vw,24px)}
.vb .grid-4 .card.vb-folder p{font-size:15.5px;color:var(--tle-ink-2)}
.vb .vb-what-screen{margin-top:clamp(40px,5vw,60px);max-width:960px}
.vb .examples{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px 18px;margin-top:36px;counter-reset:folder}
.vb .examples .vb-folder{padding:22px 20px 20px;counter-increment:folder;background:var(--tle-ivory) var(--paper) center/400px 400px}
.vb .examples .vb-folder::before,.vb .examples .vb-folder::after{background:var(--tle-ivory)}
.vb .examples .vb-folder .tab::before{content:counter(folder,decimal-leading-zero)}
.vb .examples b{color:var(--tle-plum-deep);font-size:20px;margin-bottom:6px}
.vb .examples span{color:var(--tle-ink-2)}
.vb .vb-shelf{height:10px;margin-top:-4px;background:linear-gradient(180deg,#8A6A33,#C6A15B 30%,#6E5227);border-top:1px solid #EAD3A2;box-shadow:0 10px 24px rgba(0,0,0,.45)}
.vb .vb-dark .examples{position:relative}
.vb .vb-dark .examples::after{content:"";position:absolute;left:-12px;right:-12px;bottom:-16px;height:8px;background:var(--brass) center/400px 60px repeat-x;box-shadow:0 12px 28px rgba(0,0,0,.5);border-radius:2px}

/* Stages: numbers set in engraved rings, each with the real screen beside it */
.vb .stages{border-top:1px solid var(--tle-gold-line);margin-top:30px}
.vb .stage{grid-template-columns:76px minmax(0,1fr) minmax(0,.92fr);gap:clamp(18px,3vw,40px);padding:clamp(28px,4vw,40px) 0;border-bottom:1px solid var(--tle-gold-line);align-items:start}
.vb .stage>div:nth-child(2){padding-top:6px}
.vb .stage .n{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:28px;color:var(--gold-deep);border:1px solid var(--tle-gold);box-shadow:inset 0 0 0 4px var(--tle-ivory),inset 0 0 0 5px var(--tle-gold-faint);background:var(--white)}
.vb .stage h3{color:var(--tle-plum-deep)}
.vb .stage p{font-size:16px}
.vb .stage .vb-frame{box-shadow:0 18px 44px rgba(50,19,34,.16)}
.vb .stage figcaption{margin-top:10px;font-size:12.5px}
@media (max-width:820px){.vb .stage{grid-template-columns:56px 1fr}.vb .stage .n{width:48px;height:48px;font-size:22px}.vb .stage figure{grid-column:1/-1}}
.vb .vb-reveal{margin-top:clamp(36px,5vw,56px);max-width:960px}

/* Inside the finished Vault: quiet, so the screens read */
.vb .vb-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,32px);margin-top:34px}
@media (max-width:860px){.vb .vb-gallery{grid-template-columns:1fr}}

/* Paths and offers */
.vb .paths{gap:26px;margin-top:40px}
.vb .pathcard{background:rgba(17,17,17,.28);border:1px solid var(--tle-gold-faint);border-radius:4px;padding:34px 30px;color:var(--tle-ivory);box-shadow:inset 0 0 0 6px transparent}
.vb .pathcard.gold{border-color:var(--tle-gold);box-shadow:inset 0 0 0 5px rgba(50,19,34,.6),inset 0 0 0 6px var(--tle-gold-faint),0 30px 70px rgba(0,0,0,.35);background:rgba(17,17,17,.42)}
.vb .pathcard .tagline{color:var(--tle-gold)}
.vb .pathcard h3{color:var(--tle-ivory);font-size:30px}
.vb .pathcard .big{color:var(--tle-gold);font-size:40px}
.vb .pathcard .big small{color:#D9C4CE}
.vb .pathcard p,.vb .pathcard li{color:#EFE4DA}
.vb .pathcard li b{color:var(--tle-ivory)}
.vb .pathcard .btn{align-self:flex-start;margin-top:auto}
.vb .offers{gap:20px;margin-top:36px}
.vb .offer{background:var(--white);border:1px solid var(--tle-gold-line);border-radius:4px;padding:26px 24px}
.vb .offer.featured{border-color:var(--tle-gold);box-shadow:inset 0 0 0 5px var(--white),inset 0 0 0 6px var(--tle-gold-faint),0 20px 50px rgba(50,19,34,.12)}
.vb .offer .name{color:var(--gold-deep)}
.vb .offer .amount{color:var(--tle-plum-deep);font-size:32px}
.vb .offer .amount small{color:var(--tle-muted)}
.vb .offer p{color:var(--tle-ink-2)}

/* Journey, who, founder, faq */
.vb .journey li{background:var(--white);border:1px solid var(--tle-gold-faint);border-radius:4px}
.vb .journey li::before{background:var(--white);color:var(--gold-deep);border:1px solid var(--tle-gold);box-shadow:inset 0 0 0 3px var(--white),inset 0 0 0 4px var(--tle-gold-faint)}
.vb .journey li b{color:var(--tle-plum-deep)}
.vb .card{border-radius:4px;border-color:var(--tle-gold-faint);background:var(--white)}
.vb .for-not .card.not{background:rgba(50,19,34,.05)}
.vb .checks li::before{background:var(--tle-ivory);border-color:var(--tle-gold)}
.vb .checks li::after{border-color:var(--gold-deep)}
.vb .vb-dark .checks li::before{background:rgba(255,255,255,.06)}
.vb .vb-dark .checks li::after{border-color:var(--tle-gold)}
.vb .founder{align-items:center;grid-template-columns:340px 1fr}
.vb .founder .photo{aspect-ratio:1/1;border-radius:50%;width:100%;max-width:340px;background:var(--tle-plum);border:1px solid var(--tle-gold);box-shadow:inset 0 0 0 10px var(--tle-plum-deep),inset 0 0 0 11px var(--tle-gold-line),0 0 0 14px rgba(198,161,91,.05),0 0 0 15px var(--tle-gold-faint),0 0 0 34px rgba(198,161,91,.03),0 0 0 35px rgba(198,161,91,.12),0 40px 90px rgba(0,0,0,.5);position:relative}
.vb .founder .photo img{border-radius:50%;object-position:50% 20%}
.vb .founder .photo span{color:var(--tle-gold)}
.vb .founder p{color:#EFE4DA}
@media (max-width:820px){.vb .founder{grid-template-columns:1fr}.vb .founder .photo{max-width:260px;margin:0 auto 18px}}
.vb .faq details{border-radius:4px;border-color:var(--tle-gold-faint);background:var(--white)}
.vb .faq summary{color:var(--tle-plum-deep)}
.vb .faq summary::after{color:var(--tle-gold)}

/* Close */
.vb #close .statement{color:var(--tle-ivory);font-size:clamp(24px,3.2vw,38px);position:relative;padding-top:24px;border-top:1px solid var(--tle-gold-line)}
.vb #close .fine{color:#D9C4CE}
.vb #close .fine a{color:var(--tle-ivory)}

/* Sticky CTA and footer */
.vb .sticky-cta{background:rgba(50,19,34,.96);border-top:1px solid var(--tle-gold-line)}
.vb .sticky-cta .p{color:var(--tle-ivory)}
.vb .sticky-cta .btn-gold{background:var(--tle-gold);color:var(--tle-black);white-space:nowrap;padding:12px 16px;font-size:13.5px;box-shadow:none}
.vb .sticky-cta .p{font-size:14px;white-space:normal;line-height:1.25;min-width:0}
.vb .sticky-cta .btn-gold{flex:0 0 auto}
.vb footer.site{background:var(--tle-black);border-top:1px solid var(--tle-gold-line)}
.vb footer.site a{color:#EAD3A2}

/* Section spacing on dark campaign sections leaves room for the brass edge */
.vb section.block.vb-dark{padding-top:clamp(64px,9vw,120px)}

/* Mobile: decoration stays clear of faces, headlines and buttons */
@media (max-width:760px){
  .vb .vb-ring::after{display:none}
  .vb .vb-hero-figure .vb-hero-img{box-shadow:0 18px 44px rgba(0,0,0,.5)}
  .vb .hero h1{font-size:clamp(34px,10vw,44px)}
  .vb .hero .label{font-size:10.5px;letter-spacing:.14em;padding:6px 10px}
  .vb .hero .cta-row .btn-lg{width:100%;text-align:center;padding:16px 18px;font-size:14.5px}
  .vb .hero .cta-row .btn-ghost{width:100%}
  .vb .facts{padding:26px 22px}
  .vb .vb-frame{padding:4px}
  .vb .vb-frame::before{inset:-4px}
  .vb .vb-folder::before{width:52%}
  .vb .vb-folder::after{width:calc(52% - 2px)}
  .vb .pathcard{padding:28px 22px}
  .vb .pathcard .btn{width:100%;text-align:center;font-size:14px;padding:16px 16px}
  .vb #close .cta-row .btn{width:100%;text-align:center;font-size:14.5px;padding:16px 16px}
}
