:root{color-scheme:light;--paper:#eae6df;--ink:#36332e}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif}body:has(dialog[open]){overflow:hidden}header{height:116px;max-width:1680px;margin:auto;padding:0 58px;display:flex;align-items:center;justify-content:space-between}.emblem{display:flex;align-items:center;justify-content:center;width:44px;height:48px;transition:transform .3s}.emblem:hover{transform:translateY(-3px)}.icon-button{display:flex;align-items:center;justify-content:center;width:43px;height:43px;border:1px solid #37342f25;border-radius:50%;background:#f5f2ecb8;color:var(--ink);cursor:pointer;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s}.icon-button:hover{background:#fff;transform:translateY(-2px);box-shadow:0 5px 16px #26201612}.icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}a:focus-visible,button:focus-visible{outline:2px solid #6e6251;outline-offset:5px}main{max-width:1680px;margin:auto;padding:12px 58px 80px}.gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px}.portrait{position:relative;aspect-ratio:1;overflow:hidden;border-radius:9px;background:#c9c0b3;box-shadow:0 2px 3px #21190d0a;animation:arrive .65s both;animation-delay:calc(var(--i)*25ms)}.open-portrait{border:0;padding:0;display:block;width:100%;height:100%;cursor:zoom-in;background:none}.portrait img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s}.portrait:hover img{transform:scale(1.045);filter:brightness(1.04)}.portrait .download{position:absolute;right:12px;bottom:12px;width:36px;height:36px;border-color:#ffffff55;background:#faf7f0dc;backdrop-filter:blur(10px);opacity:0;transform:translateY(5px)}.portrait:hover .download,.portrait:focus-within .download{opacity:1;transform:none}.portrait .download:hover{background:white}.portrait .download svg{width:17px;height:17px}dialog{border:0;padding:0;background:none;color:var(--ink);overflow:visible;width:min(80vw,850px);max-width:none;max-height:none}dialog::backdrop{background:#14120fe8;backdrop-filter:blur(18px)}.preview-wrap{position:relative;width:100%;aspect-ratio:1}.preview-wrap>img{width:100%;height:100%;object-fit:contain;border-radius:12px;box-shadow:0 20px 90px #0005}.close{position:fixed;top:25px;right:28px}.previous,.next{position:absolute;top:calc(50% - 22px);background:#f5f2eceb}.previous{left:-65px}.next{right:-65px}.save{position:absolute;right:20px;bottom:20px;width:48px;height:48px;background:#f5f2eceb}.close{background:#f5f2eceb}.preview-wrap{max-height:80vh;max-width:80vh;margin:auto}@keyframes arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(min-width:1700px){header{height:140px}.gallery{gap:26px}}@media(max-width:1100px){.gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}header{padding:0 32px;height:100px}main{padding:8px 32px 50px}}@media(max-width:760px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}header{padding:0 22px;height:90px}main{padding:8px 22px 40px}.portrait .download{opacity:1;transform:none;right:8px;bottom:8px;width:30px;height:30px}.portrait .download svg{width:15px;height:15px}.previous{left:-47px}.next{right:-47px}dialog{width:calc(100vw - 120px)}}@media(max-width:480px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}header{height:86px;padding:0 19px}main{padding:6px 19px 32px}.portrait{border-radius:7px}.emblem img{width:25px}.icon-button{width:38px;height:38px}dialog{width:calc(100vw - 36px)}.previous,.next{top:auto;bottom:-60px}.previous{left:calc(50% - 50px)}.next{right:calc(50% - 50px)}.close{top:18px;right:18px}.save{width:42px;height:42px;right:13px;bottom:13px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

body{background:radial-gradient(ellipse at 50% 0,#f5f2ed 0,transparent 58%),var(--paper)}header{height:148px;position:relative}header::after{content:'';position:absolute;bottom:0;left:58px;right:58px;height:1px;background:linear-gradient(90deg,transparent,#a99e8b70 15%,#a99e8b70 85%,transparent)}.all-download{width:54px;height:54px;background:#37342f;color:#fff;border:1px solid #37342f;box-shadow:0 3px 0 #ffffff8c,0 6px 20px #21190d1a}.all-download:hover{color:#37342f}.all-download svg{width:25px;height:25px;stroke-width:1.7}main{padding-top:32px}.portrait{border:1px solid #fff9;box-shadow:0 2px 0 #b4a99838,0 9px 24px #34291b0b}.portrait .download{opacity:1;transform:none;background:#faf7f0f2;border-color:#ffffffc9;box-shadow:0 3px 12px #0002;width:41px;height:41px;right:13px;bottom:13px}.portrait .download svg{stroke-width:1.8;width:21px;height:21px}.portrait:hover .download{background:#37342f;color:#fff;border-color:#37342f}.save{background:#37342f;color:#fff;border-color:#ffffff4d}.save svg{stroke-width:1.8}.save:hover{color:#37342f}.preview-wrap>img{border:1px solid #fff5}@media(max-width:1100px){header{height:126px}header::after{left:32px;right:32px}main{padding-top:26px}}@media(max-width:760px){header{height:112px}header::after{left:22px;right:22px}.all-download{height:48px;width:48px}.portrait .download{width:34px;height:34px;right:9px;bottom:9px}.portrait .download svg{width:18px;height:18px}}@media(max-width:480px){header::after{left:19px;right:19px}.portrait .download{width:34px;height:34px;right:9px;bottom:9px}main{padding-top:23px}}
/* Compact download controls */
.all-download{width:36px;height:36px;box-shadow:0 2px 8px #21190d10}.all-download svg{width:19px;height:19px;stroke-width:1.6}.portrait .download{width:28px;height:28px;right:10px;bottom:10px;box-shadow:0 2px 6px #0002}.portrait .download svg{width:15px;height:15px;stroke-width:1.6}.save{width:36px;height:36px}.save svg{width:18px;height:18px}@media(max-width:760px){.all-download{width:34px;height:34px}.portrait .download{width:26px;height:26px;right:8px;bottom:8px}.portrait .download svg{width:14px;height:14px}}@media(max-width:480px){.all-download{width:34px;height:34px}.portrait .download{width:26px;height:26px;right:8px;bottom:8px}.save{width:34px;height:34px}}

header{height:188px;justify-content:center}.cult-heading{text-align:center;position:relative;padding:12px 55px}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(27px,3.1vw,43px);letter-spacing:-1.3px;line-height:1.15;margin:0 0 18px}.contract{border:0;background:none;color:#766d60;display:flex;gap:9px;align-items:center;justify-content:center;margin:0 auto;cursor:pointer;padding:5px;max-width:100%}.contract code{font-family:monospace;font-size:11px;overflow-wrap:anywhere;line-height:1.5}.contract svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}#copy-status{position:absolute;bottom:-10px;left:0;right:0;font-size:10px;color:#766d60}.all-download{position:absolute;right:58px;top:calc(50% - 18px)}@media(max-width:1100px){.all-download{right:32px}}@media(max-width:760px){header{height:168px}.all-download{right:22px}.cult-heading{padding:10px 40px}h1{margin-bottom:12px}.contract code{font-size:9px}}@media(max-width:480px){header{height:176px}.cult-heading{padding:12px 28px;width:100%}h1{font-size:29px;letter-spacing:-.9px}.all-download{right:19px;top:17px;width:28px;height:28px}.all-download svg{width:16px;height:16px}.contract{max-width:290px}.contract code{font-size:9px}}
:root{color-scheme:dark;--paper:#080808;--ink:#e8e8e8}body{background:#080808;color:#e8e8e8}header::after{background:#242424;height:1px}h1{font-family:Arial,Helvetica,sans-serif;font-weight:500;letter-spacing:-1.2px}.contract,#copy-status{color:#969696}.portrait{border:1px solid #252525;border-radius:5px;background:#171717;box-shadow:none}.portrait:hover img{filter:brightness(1.035)}.portrait .download{background:#111c;border:1px solid #ffffff45;color:#eee;box-shadow:none;backdrop-filter:blur(8px)}.portrait .download:hover,.portrait:hover .download{background:#f2f2f2;color:#111;border-color:#eee}.all-download,.all-download:hover{background:#151515;color:#eee;border-color:#444;box-shadow:none}.all-download:hover{background:#282828}.icon-button{background:#171717;color:#eee;border-color:#454545}.icon-button:hover{background:#eee;color:#111;box-shadow:none}dialog::backdrop{background:#000e;backdrop-filter:blur(12px)}.preview-wrap>img{border:1px solid #444;box-shadow:none}.save,.close,.previous,.next{background:#171717ed;color:#eee;border-color:#555}.save:hover{background:#eee;color:#111}a:focus-visible,button:focus-visible{outline-color:#ddd}

@font-face{font-family:Creepster;src:url('./assets/creepster.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
body{background-color:#080808;background-image:radial-gradient(ellipse at 50% 0,#ffffff07,transparent 50%)}h1{font-family:Creepster,Impact,fantasy;font-weight:400;font-size:clamp(43px,5.7vw,78px);text-transform:uppercase;letter-spacing:1.2px;line-height:1;margin:0 0 20px;color:#eeeae3;text-shadow:0 2px 0 #000,0 0 35px #ffffff0b}header{height:225px}.cult-heading{padding-top:22px}.contract{opacity:.75;transition:opacity .2s}.contract:hover{opacity:1}header::after{background:linear-gradient(90deg,transparent,#fff2,transparent)}main{padding-top:28px}.slideshow{position:relative;padding-bottom:37px;margin-bottom:29px}.slideshow-viewport{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);padding:12px 0 20px}.slideshow-track{display:flex;width:max-content;animation:ghost-procession 65s linear infinite;will-change:transform}.slideshow-group{display:flex;gap:19px;padding-right:19px;align-items:center}.slide-card{padding:5px;border:1px solid #ffffff29;border-radius:3px;background:#161616;width:170px;height:170px;flex-shrink:0;cursor:zoom-in;transform:rotate(var(--tilt));transition:border-color .25s,filter .25s;box-shadow:0 8px 20px #0008}.slide-card img{width:100%;height:100%;object-fit:cover;display:block;border-radius:1px}.slide-card:hover{border-color:#aaa;filter:brightness(1.08)}.slideshow:hover .slideshow-track,.slideshow:focus-within .slideshow-track,.slideshow.paused .slideshow-track,body:has(dialog[open]) .slideshow-track{animation-play-state:paused}.slideshow-toggle{position:absolute;right:0;bottom:3px;width:26px;height:26px;background:#080808;border-color:#333;z-index:2}.slideshow-toggle svg{width:13px;height:13px}.slideshow-divider{height:1px;position:absolute;bottom:15px;left:0;right:42px;background:linear-gradient(90deg,transparent,#ffffff26,transparent)}.slideshow-divider span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:0 15px;background:#080808;color:#777;font-size:13px}.gallery{gap:23px}.portrait{border-color:#353535;transition:border-color .3s,box-shadow .3s}.portrait:hover{border-color:#787878;box-shadow:0 0 0 3px #ffffff04}.portrait .download{transition:background .2s,transform .2s}.portrait .download:hover{transform:translateY(-2px)}@keyframes ghost-procession{to{transform:translateX(-50%)}}@media(max-width:1100px){header{height:210px}.slide-card{width:155px;height:155px}.gallery{gap:18px}}@media(max-width:760px){header{height:190px}h1{font-size:49px;letter-spacing:.7px}.slide-card{width:135px;height:135px}.slideshow-group{gap:14px;padding-right:14px}.slideshow{padding-bottom:34px;margin-bottom:22px}.gallery{gap:13px}}@media(max-width:480px){header{height:190px}h1{font-size:43px;letter-spacing:.3px;margin-bottom:15px}.cult-heading{padding:28px 18px 10px}.slide-card{width:121px;height:121px;padding:4px}.slideshow-viewport{padding-top:9px}.slideshow{margin-bottom:18px}.slideshow-track{animation-duration:52s}}@media(prefers-reduced-motion:reduce){.slideshow-track{animation:none;width:auto}.slideshow-viewport{overflow-x:auto;mask-image:none}.slideshow-group:nth-child(2){display:none}.slideshow-toggle{display:none}.slideshow-divider{right:0}.slide-card{transform:none}}

@font-face{font-family:'Cormorant Garamond';src:url('./assets/cormorant-garamond.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(46px,5.5vw,76px);font-weight:500;letter-spacing:.025em;text-transform:none;line-height:1.1;text-shadow:0 2px 12px #ffffff08}.haze{position:fixed;inset:-12%;z-index:10;pointer-events:none;overflow:hidden;opacity:.8}.haze::before,.haze::after{content:'';position:absolute;inset:-15%;filter:blur(42px);will-change:transform;background:radial-gradient(ellipse at 12% 42%,#d6dce110 0,transparent 42%),radial-gradient(ellipse at 75% 14%,#e4e9ed0c 0,transparent 36%),radial-gradient(ellipse at 82% 84%,#d6dce10d 0,transparent 44%);animation:haze-drift 38s ease-in-out infinite alternate}.haze::after{opacity:.55;transform:rotate(180deg);animation-duration:53s;animation-direction:alternate-reverse}@keyframes haze-drift{from{transform:translate3d(-4%,1%,0) scale(1)}to{transform:translate3d(5%,-3%,0) scale(1.08)}}.music-toggle{position:absolute;right:104px;top:calc(50% - 18px);width:36px;height:36px;background:#151515;border-color:#444}.music-toggle svg{width:16px;height:16px}.music-toggle[aria-pressed=true]{border-color:#8f8f8f}.music-toggle:hover{background:#282828;color:#eee}@media(max-width:1100px){.music-toggle{right:77px}}@media(max-width:760px){h1{font-size:53px;letter-spacing:.015em}.music-toggle{right:64px;width:34px;height:34px}}@media(max-width:480px){h1{font-size:39px;letter-spacing:.005em}.music-toggle{right:57px;top:17px;width:28px;height:28px}.music-toggle svg{width:14px;height:14px}.haze{opacity:.65}}@media(prefers-reduced-motion:reduce){.haze::before,.haze::after{animation:none;will-change:auto}}

/* Smoke drifting through the black space, behind the portraits. */
.haze{inset:0;z-index:0;opacity:.55;overflow:hidden}header,main{position:relative;z-index:1}.haze::before,.haze::after{inset:-12% -65%;background:url('./assets/smoke.svg') center/100% 100% no-repeat;filter:blur(3px);opacity:.8;animation:smoke-across 38s linear infinite;will-change:transform}.haze::after{opacity:.5;animation:smoke-back 51s linear infinite;background-size:90% 110%}@keyframes smoke-across{0%{transform:translate3d(-14%,3%,0) scale(1.05)}50%{transform:translate3d(7%,-4%,0) scale(1.1)}100%{transform:translate3d(-14%,3%,0) scale(1.05)}}@keyframes smoke-back{0%{transform:translate3d(13%,-5%,0) rotate(180deg) scale(1.15)}50%{transform:translate3d(-10%,5%,0) rotate(180deg) scale(1.05)}100%{transform:translate3d(13%,-5%,0) rotate(180deg) scale(1.15)}}@media(max-width:480px){.haze{opacity:.55}.haze::before,.haze::after{inset:-10% -110%;background-size:100% 100%}}@media(prefers-reduced-motion:reduce){.haze::before,.haze::after{animation:none;transform:none}}
