/* Isolated VLI page styles; the existing Spiriton header/footer remain intact. */
.vli-page{--vli-gold:var(--gold, #c7a15a);--vli-sand:#f1e6c1;background:#0b0b0e;color:#f7f7fa;font-size:17px;line-height:1.8;overflow:clip}
.vli-page *{box-sizing:border-box}
.vli-wrap{width:min(1240px,100% - 96px);margin-inline:auto}
.vli-page p{margin:0 0 22px;color:#d5d5dc;max-width:none}
.vli-page h1,.vli-page h2,.vli-page h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em;color:#f7f7fa}
.vli-page h1{font-size:clamp(38px,4.7vw,68px);line-height:1.08;max-width:17ch;margin:24px 0 28px}
.vli-page h2{font-size:clamp(30px,3.2vw,46px);line-height:1.15;margin:0 0 30px;max-width:24ch}
.vli-page h3{font-size:28px;line-height:1.25;margin:0 0 22px}
.vli-page .vli-eyebrow{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:11px;line-height:1.8;letter-spacing:.16em;font-weight:700;text-transform:uppercase;color:var(--vli-gold);margin-bottom:20px}
.vli-hero{padding-top:190px;padding-bottom:96px;display:grid;grid-template-columns:1.45fr .8fr;gap:90px;align-items:center;position:relative}
.vli-hero::before{content:'';position:absolute;inset:0 -8vw;background:radial-gradient(ellipse at 85% 40%,#c5a04113,transparent 60%);pointer-events:none}
.vli-hero>*{position:relative}.vli-page .vli-subtitle{font-size:18px;line-height:1.6;max-width:48ch;color:#c9c7bf;margin-bottom:34px}
.vli-hero-aside{border:1px solid #c7a15a44;padding:36px;background:linear-gradient(135deg,#1e1d22,#111115);border-radius:3px}
.vli-logo-frame{background:#fff;padding:18px 24px;display:inline-flex;margin-bottom:36px;border-radius:2px}.vli-logo-frame img{width:216px;max-width:100%;height:auto;display:block}
.vli-page .vli-aside-title{font:400 30px/1.3 Georgia,serif;color:var(--vli-sand);letter-spacing:-.02em}
.vli-aside-rule{width:52px;height:1px;background:var(--vli-gold);margin:28px 0}.vli-page .vli-aside-foot{font-size:14px;color:#bcbcc5}
.vli-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 24px;min-height:52px;color:#111115;background:var(--vli-sand);border:1px solid var(--vli-sand);text-decoration:none;border-radius:3px;font:700 14px/1.5 Inter,ui-sans-serif,system-ui,sans-serif;transition:background .2s,transform .2s}.vli-button:hover{background:#c7a15a;transform:translateY(-2px)}
.vli-page a:focus-visible,.vli-page button:focus-visible{outline:3px solid #c7a15a;outline-offset:6px}.vli-text-link{color:var(--vli-sand);text-underline-offset:6px;font-size:14px;display:inline-block;padding:8px 0}
.vli-intro{border-top:1px solid #ffffff22;padding-block:64px 100px;display:grid;grid-template-columns:1fr 2fr;gap:70px}.vli-section-index{font:700 11px/2 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.15em;color:var(--vli-gold)}.vli-intro p{font-size:20px;line-height:1.8}
.vli-two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px}.vli-vision{padding:100px 0;background:#f1e6c1;color:#17171b}.vli-vision h2{color:#17171b}.vli-vision p{color:#343338}.vli-vision .vli-eyebrow{color:#715810}.vli-page .vli-highlight{border-left:2px solid #8f711d;padding:6px 0 6px 24px;margin-top:30px;font:400 24px/1.5 Georgia,serif;color:#17171b}
.vli-partnership{padding-block:110px}.vli-territories{border-block:1px solid #c7a15a38;padding:28px 0;margin:34px 0 60px;display:grid;grid-template-columns:1fr 2fr;gap:40px}.vli-territories p{font-size:14px;margin:0;color:var(--vli-sand)}.vli-territories ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px 22px}.vli-territories li{font-size:15px;color:#e6e6e9}
.vli-certificate-row{display:grid;grid-template-columns:.8fr 1fr;gap:90px;align-items:center}.vli-page figure{margin:0}.vli-certificate-link{display:block;text-decoration:none;border:1px solid #c7a15a55;padding:12px;background:#19191d}.vli-certificate-link img{display:block;width:100%;height:auto}.vli-certificate-link>span{display:flex;justify-content:space-between;color:var(--vli-sand);font-size:13px;padding:10px 4px 0}.vli-page figcaption{font-size:12px;color:#aaaab5;padding-top:10px}
.vli-programmes{padding:90px 0;background:#15151b}.vli-programmes h2{max-width:24ch}.vli-programme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}.vli-programme-grid article{padding:30px;border:1px solid #c7a15a38;background:linear-gradient(145deg,#24232b,#19191f);display:flex;flex-direction:column}.vli-programme-number{font-size:12px;color:#c7a15a;letter-spacing:.15em;margin-bottom:32px}.vli-programme-grid h3{font-size:29px;max-width:15ch}.vli-page .vli-programme-code{color:#c7a15a;font-size:13px;letter-spacing:.15em;margin:auto 0 0}.vli-page .vli-certification-note{font-size:14px;max-width:90ch;margin:28px 0 0;color:#bdbdc8}
.vli-founder{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;padding-block:110px;align-items:start}.vli-founder figure{position:sticky;top:135px}.vli-founder img{width:100%;height:auto;display:block;border-bottom:3px solid #c7a15a}.vli-page .vli-founder-role{color:var(--vli-sand);font-size:14px;line-height:1.6;margin-top:-10px;margin-bottom:28px}.vli-founder-links{display:flex;gap:12px 28px;flex-wrap:wrap}
.vli-cta{padding:85px 0 100px;text-align:center;background:radial-gradient(ellipse at 50% 100%,#73602b33,transparent 75%),#18171c;border-top:1px solid #c7a15a33}.vli-cta h2{margin-inline:auto;max-width:30ch}.vli-cta p:not(.vli-eyebrow){max-width:60ch;margin:0 auto 30px}
.vli-dialog{width:min(95vw,1500px);max-height:94dvh;background:#15151b;color:#f7f7fa;border:1px solid #c7a15a;padding:20px;overflow:auto}.vli-dialog::backdrop{background:#000d}.vli-dialog-bar{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:18px}.vli-dialog .vli-dialog-bar h2{font-size:23px;margin:0}.vli-dialog button{padding:12px 18px;background:#f1e6c1;color:#15151b;border:0;cursor:pointer;font:700 14px Inter,ui-sans-serif,system-ui,sans-serif;flex-shrink:0}.vli-dialog img{width:100%;height:auto;display:block}.vli-dialog>a{color:#f1e6c1;display:inline-block;padding-top:15px}
@media(max-width:1050px){.vli-wrap{width:calc(100% - 56px)}.vli-hero{gap:35px;grid-template-columns:1.2fr .8fr}.vli-hero-aside{padding:26px}.vli-two-col,.vli-founder,.vli-certificate-row{gap:40px}.vli-programme-grid article{padding:22px}}
@media(max-width:760px){.vli-wrap{width:calc(100% - 40px)}.vli-hero{padding-top:145px;padding-bottom:50px;grid-template-columns:1fr;gap:44px}.vli-page h1{font-size:clamp(36px,8.5vw,52px)}.vli-hero-aside{padding:28px}.vli-intro,.vli-two-col,.vli-founder,.vli-certificate-row,.vli-territories{grid-template-columns:1fr;gap:26px}.vli-intro{padding-block:36px 60px}.vli-intro p{font-size:18px}.vli-vision,.vli-programmes{padding-block:60px}.vli-partnership,.vli-founder{padding-block:65px}.vli-programme-grid{grid-template-columns:1fr}.vli-programme-grid h3{max-width:none}.vli-programme-number{margin-bottom:18px}.vli-founder figure{position:static;max-width:420px}.vli-cta{padding-block:60px}.vli-dialog{padding:12px}.vli-dialog .vli-dialog-bar h2{font-size:19px}.vli-page .vli-eyebrow{font-size:10px}.vli-button{max-width:100%}}
@media(prefers-reduced-motion:reduce){.vli-page *{transition:none!important;scroll-behavior:auto!important}}

/* Mobile-first refinements: full logo retained in a soft frame. */
.vli-logo-frame{border-radius:18px;border:1px solid var(--gold);box-shadow:0 10px 28px #0003;overflow:hidden;padding:18px 22px;max-width:100%}
.vli-hero-aside{border-radius:14px}
@media(max-width:760px){.vli-wrap{width:calc(100% - 36px)}.vli-hero{padding-top:128px;gap:30px}.vli-page h1{font-size:clamp(32px,8.5vw,52px)}.vli-hero-aside{padding:24px}.vli-logo-frame{margin-bottom:24px}.vli-page .vli-eyebrow{letter-spacing:.11em;overflow-wrap:anywhere}.vli-text-link{min-height:44px;display:inline-flex;align-items:center}.vli-founder figure{width:100%;max-width:340px;margin-inline:auto}.vli-founder{gap:30px}.vli-founder-links{gap:8px 20px}}

/* Programme cards only: shared grid cells keep both faces equal in size. */
.vli-programme-grid .vli-flip{padding:0;border:0;background:none;perspective:1000px;cursor:pointer;display:block}
.vli-flip:focus-visible{outline:3px solid var(--gold-light);outline-offset:6px}
.vli-flip-inner{display:grid;height:100%;transform-style:preserve-3d;transition:transform 600ms ease-in-out}
.vli-flip.is-flipped .vli-flip-inner{transform:rotateY(180deg)}
.vli-flip-front,.vli-flip-back{grid-area:1/1;min-width:0;padding:30px;border:1px solid #c7a15a38;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column}
.vli-flip-front{background:linear-gradient(145deg,#24232b,#19191f)}
.vli-flip-back{transform:rotateY(180deg);background:#e2cb85;color:#0b0b0e;border-color:#c7a15a}
.vli-page .vli-flip-back h3{font-family:inherit;font-size:19px;font-weight:700;line-height:1.4;letter-spacing:normal;color:#0b0b0e;max-width:none;margin:0 0 18px}
.vli-page .vli-flip-back p{font-size:16px;line-height:1.6;color:#0b0b0e;margin:0}
@media(max-width:1050px){.vli-flip-front,.vli-flip-back{padding:22px}}
@media(prefers-reduced-motion:reduce){.vli-flip-inner,.vli-flip.is-flipped .vli-flip-inner,.vli-flip-back{transform:none;transition:none}.vli-flip-back{visibility:hidden}.vli-flip.is-flipped .vli-flip-front{visibility:hidden}.vli-flip.is-flipped .vli-flip-back{visibility:visible}}
