/* ——— v3 document shell (header/footer) – shared by 3D archive and single ——— */
@font-face{font-family:'Cormorant Garamond';src:url(fonts/CormorantGaramond-500-normal.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url(fonts/CormorantGaramond-600-normal.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url(fonts/CormorantGaramond-500-italic.woff2) format('woff2');font-weight:500;font-style:italic;font-display:swap}
body.snl-3d,body.snl-v3{--snl-doc-bg:#efe8dc;--snl-doc-glass:rgb(239 232 220/.82);--snl-doc-line:rgb(107 44 138/.25);--snl-doc-brand:#6b2c8a;--snl-doc-muted:#5b5047;--snl-doc-foot-bg:#2a1a30;--snl-doc-foot-text:#f4eee4;--snl-doc-foot-muted:#d8cbd9;background:#efe8dc;color:#1d1712}
@media (prefers-color-scheme:dark){body.snl-3d,body.snl-v3{--snl-doc-bg:#120e16;--snl-doc-glass:rgb(18 14 22/.8);--snl-doc-line:rgb(242 230 241/.16);--snl-doc-brand:#d9c7e6;--snl-doc-muted:#b9ab96;--snl-doc-foot-bg:#0c090f;--snl-doc-foot-text:#efe6d6;--snl-doc-foot-muted:#b9ab96;background:#120e16;color:#efe6d6}}
html.snl-doc:has(body.snl-3d),html.snl-doc:has(body.snl-v3){background:#efe8dc}
@media (prefers-color-scheme:dark){html.snl-doc:has(body.snl-3d),html.snl-doc:has(body.snl-v3){background:#120e16}}
body.snl-3d .snl-site-nav a,body.snl-v3 .snl-site-nav a{border-radius:2px!important;font:500 .74rem 'Work Sans',sans-serif!important;letter-spacing:.16em;text-transform:uppercase}
body.snl-3d .snl-site-footer__cta,body.snl-v3 .snl-site-footer__cta{border-radius:2px}
body.snl-3d .snl-site-footer__cta .snl-star,body.snl-v3 .snl-site-footer__cta .snl-star{display:none}

/* ——— 0.5.0 single in the v3 design: cream folio, Cormorant + Work Sans, matte, violet hairlines ——— */
body.snl-v3 .snl{--snl-bg:#f6efe2;--snl-surface:#fbf6ec;--snl-surface-2:#efe6d4;--snl-text:#1d1712;--snl-muted:#5b5047;--snl-line:#dccdb0;--snl-brand:#3b1a54;--snl-brand-hover:#4a2266;--snl-brand-ink:#f7f2f6;--snl-link:#5b2a6e;--snl-chip-on:#3b1a54;--snl-chip-on-ink:#f7f2f6;--snl-focus:#6b2c8a;--snl-radius:3px;--snl-radius-sm:2px;--snl-shadow:0 30px 60px -36px rgb(40 20 10/.45);--snl-shadow-hover:var(--snl-shadow)}
body.snl-v3 .snl-single{background:#f6efe2 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='4'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .35 0 0 0 0 .2 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E");color:#1d1712;max-width:1180px;margin:clamp(24px,4vw,56px) auto clamp(56px,8vw,110px);padding:clamp(28px,5vw,72px)!important;box-shadow:0 60px 120px -60px rgb(30 15 5/.45);border-radius:2px;position:relative}
body.snl-v3 .snl-single::before{content:"";position:absolute;inset:12px;border:1px solid rgb(107 44 138/.22);pointer-events:none}
body.snl-v3 .snl-single__title,body.snl-v3 .snl-section__title,body.snl-v3 .snl-points h2,body.snl-v3 .snl-form__title{font-family:'Cormorant Garamond',Georgia,serif!important;font-weight:600!important;letter-spacing:0!important;color:#1d1712!important}
body.snl-v3 .snl-single__title{font-size:clamp(2.4rem,1.6rem+2.8vw,4rem)!important;line-height:1.02!important}
body.snl-v3 .snl-section__title,body.snl-v3 .snl-points h2{font-size:clamp(1.7rem,1.3rem+1.2vw,2.3rem)!important;border-bottom:1px solid rgb(107 44 138/.25);padding-bottom:10px}
body.snl-v3 .snl-single__lead{font:italic 500 clamp(1.25rem,1.1rem+.6vw,1.55rem)/1.45 'Cormorant Garamond',Georgia,serif;color:#4b4036}
body.snl-v3 .snl-back{font:500 .72rem 'Work Sans';letter-spacing:.2em;text-transform:uppercase;color:#5b2a6e}
body.snl-v3 .snl-tag,body.snl-v3 .snl-badge{border-radius:2px!important;background:transparent!important;border:1px solid rgb(107 44 138/.35)!important;color:#3b1a54!important;font:500 .68rem 'Work Sans'!important;letter-spacing:.16em;text-transform:uppercase}
body.snl-v3 .snl-facts{border-top:1px solid #dccdb0;border-bottom:1px solid #dccdb0}
body.snl-v3 .snl-facts dt{font:500 .66rem 'Work Sans';letter-spacing:.22em;text-transform:uppercase;color:#6a5d4f}
body.snl-v3 .snl-facts dd{font:500 1.15rem 'Cormorant Garamond',serif}
body.snl-v3 .snl-single__cover{border-radius:2px 4px 4px 2px!important;box-shadow:inset 8px 0 0 rgb(0 0 0/.25),24px 34px 60px -20px rgb(30 15 5/.55)!important;transform:none!important}
body.snl-v3 .snl-card__shine{display:none}
body.snl-v3 .snl-cover--0,body.snl-v3 .snl-cover--1,body.snl-v3 .snl-cover--2{background:linear-gradient(160deg,#3b1a54,#1f1b2e)!important}
body.snl-v3 .snl-btn{border-radius:2px!important;background:#3b1a54!important;color:#f7f2f6!important;box-shadow:none!important;font:500 .8rem 'Work Sans'!important;letter-spacing:.18em;text-transform:uppercase}
body.snl-v3 .snl-btn:hover{background:#4a2266!important;transform:none!important}
body.snl-v3 .snl-download{background:#efe6d4;border:1px solid #dccdb0;border-radius:2px;box-shadow:none}
body.snl-v3 .snl-form .snl-field input{border-radius:2px;background:#fbf6ec;border-color:#cdbf a2}
body.snl-v3 .snl-form .snl-field input{border:1px solid #cbbd9f;border-radius:2px;background:#fbf6ec;color:#1d1712}
body.snl-v3 .snl-check__box{border-radius:2px}
body.snl-v3 .snl-points li::marker,body.snl-v3 .snl-toc__n{color:#6b2c8a;font-family:'Cormorant Garamond',serif}
body.snl-v3 .snl-prose{font-size:1.06rem;line-height:1.75;color:#2c241d}
body.snl-v3 .snl-prose a{color:#5b2a6e}
body.snl-v3 .snl-star{display:none}
@media (prefers-color-scheme:dark){body.snl-v3 .snl-single{box-shadow:0 60px 140px -50px rgb(0 0 0/.9)}}
@media (max-width:720px){body.snl-v3 .snl-single{margin:12px 10px 40px;padding:28px 20px!important}}

/* ——— 0.6.0 explainer video: matte aubergine frame, cream hairlines, no gloss/metal ——— */
.snl-video{margin:0 0 clamp(32px,5vw,56px)}
.snl-video__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px}
.snl-video__meta{margin:0;font:500 .68rem 'Work Sans',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#5b5047}
.snl-video__frame{position:relative;margin-top:16px;aspect-ratio:16/9;background:#2a1a30;border-radius:2px;overflow:hidden;box-shadow:0 34px 60px -38px rgb(30 15 5/.6);outline:1px solid rgb(107 44 138/.3);outline-offset:6px}
.snl-video__frame::after{content:"";position:absolute;inset:10px;border:1px solid rgb(243 236 223/.22);pointer-events:none;transition:opacity .3s}
.snl-video__frame.is-playing::after{opacity:0}
.snl-video__media,.snl-video__frame iframe,.snl-video__poster{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;object-fit:cover;background:#1a1220}
.snl-video__media{object-fit:contain}
.snl-video__facade{position:absolute;inset:0}
.snl-video__poster{filter:saturate(.85)}
.snl-video__facade::before,.snl-video__play--overlay::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgb(42 26 48/.15),rgb(42 26 48/.55));pointer-events:none}
.snl-video__play{position:absolute;inset:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:transparent;border:0;padding:0;cursor:pointer;color:#f3ecdf;font:500 .74rem 'Work Sans',sans-serif;letter-spacing:.22em;text-transform:uppercase}
.snl-video__icon{position:relative;width:clamp(64px,9vw,88px);aspect-ratio:1;border-radius:50%;background:#f3ecdf;box-shadow:0 0 0 1px rgb(93 39 103/.4),0 0 0 8px rgb(243 236 223/.18);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.snl-video__icon::after{content:"";position:absolute;left:54%;top:50%;transform:translate(-50%,-50%);border-style:solid;border-width:13px 0 13px 21px;border-color:transparent transparent transparent #3b1a54}
.snl-video__cta{position:relative;background:rgb(42 26 48/.72);padding:6px 12px;border-radius:2px}
.snl-video__play:hover .snl-video__icon{transform:scale(1.06);box-shadow:0 0 0 1px rgb(93 39 103/.5),0 0 0 12px rgb(243 236 223/.22)}
.snl-video__play:focus{outline:none}
.snl-video__play:focus-visible .snl-video__icon{box-shadow:0 0 0 3px #3b1a54,0 0 0 6px #f3ecdf}
.snl-video__note{position:absolute;left:0;right:0;bottom:0;margin:0;padding:10px 16px;font:400 .72rem/1.4 'Work Sans',sans-serif;color:#e8deea;background:rgb(26 18 32/.7)}
.snl-video__note a{color:#f3ecdf;text-underline-offset:3px}
.snl-video__media::cue{font-family:'Work Sans',sans-serif;background:rgb(26 18 32/.82);color:#f7f2f6}
.snl-badge--video{border-color:rgb(107 44 138/.55)!important}
@media (prefers-color-scheme:dark){.snl-video__frame{box-shadow:0 34px 70px -30px rgb(0 0 0/.85)}}
@media (prefers-reduced-motion:reduce){.snl-video__icon,.snl-video__frame::after{transition:none}.snl-video__play:hover .snl-video__icon{transform:none}}
@media (max-width:600px){.snl-video__note{position:static;background:#2a1a30}.snl-video__frame:has(.snl-video__note){aspect-ratio:auto}.snl-video__facade:has(.snl-video__note){position:relative;aspect-ratio:16/9}.snl-video__facade:has(.snl-video__note) .snl-video__note{position:absolute}}
