@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600&display=swap');
:root{--paper:#e4e0d6;--muted:#a6a09a}body{font-family:'IBM Plex Mono',monospace;font-size:14px}header a,.tiny,.eyebrow,.index,.slot-number,.slot-label,.locked,.road-status,footer{font-family:'IBM Plex Mono',monospace}header a{font-weight:600;font-size:12px;letter-spacing:1.5px}.tiny{font-size:9px}.hero h1,.collection-intro h2,.piece h3,.road-intro h1,.journal-intro h1,.post h2,dialog h2,.grey-ending h2{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:700;letter-spacing:-.025em;text-transform:uppercase}.hero{min-height:calc(100svh - 94px);padding-top:26px}.hero-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,23%);gap:3.5vw;flex:1;align-items:center}.hero-art{padding:30px 0}.hero-art img{max-height:72svh;width:100%}.hero-art a{width:100%}.hero h1{font-size:clamp(48px,5.5vw,88px);line-height:.9;overflow-wrap:anywhere}.hero-description{line-height:1.9;font-size:13px;color:var(--muted);margin-top:25px}.signature{display:block;font-size:23px;margin-top:26px}.hero-bottom{padding:15px 0 24px}.catchline{font-size:10px;letter-spacing:1.4px}.collection-intro h2{font-size:clamp(65px,9vw,128px);line-height:.92}.piece{grid-template-columns:minmax(0,1fr) 230px;padding-left:12vw;padding-right:12vw}.piece:nth-child(even){grid-template-columns:230px minmax(0,1fr)}.piece-visual img{max-height:62svh;max-width:760px;margin:auto}.piece h3{font-size:48px;line-height:1}.road-intro{padding-left:6vw;padding-right:6vw}.road-intro h1{font-size:clamp(85px,13vw,190px);line-height:.84;letter-spacing:-.035em;margin:26px 0 36px;max-width:none}.road-intro h1 span{display:inline-block;transform:scaleX(1.13);transform-origin:left;text-shadow:3px 0 #ff313144,-3px 1px #8b000044}.road-intro .intro-copy{max-width:630px}.road-world .path-base{stroke:#8f2020;stroke-width:16;filter:url(#trail-noise);opacity:.45;stroke-dasharray:2 4}.road-world .path-echo{stroke:#ee2323;stroke-width:7;stroke-dasharray:1 17;filter:url(#trail-noise);opacity:.6;transform:translateX(10px)}.road-world .path-core{stroke:#d53c3c;stroke-width:2;stroke-dasharray:2 7;opacity:.8;animation:signal-travel 12s linear infinite}@keyframes signal-travel{to{stroke-dashoffset:-150}}.road-slot{width:330px}.road-row{height:370px}.frame{background:#070707}.empty-inner{height:150px;overflow:hidden;position:relative;background:radial-gradient(ellipse,#37101055,transparent 65%),#070707}.empty-inner:after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#ed22220b 3px 4px);animation:scan-drift 7s linear infinite}.signal-code{display:flex;gap:5px;justify-content:center;width:100%;padding:0 8px;position:relative}.signal-digit{font-family:'Barlow Condensed';font-weight:600;color:var(--red);font-size:40px;line-height:1;width:25px;display:block;animation:digit-drift 4.7s steps(1,end) infinite;animation-delay:var(--delay);text-shadow:2px 0 #ff665c66,-2px 0 #720000}.signal-digit:nth-child(3n){color:#f07e74}.signal-caption{font-size:8px;letter-spacing:3px;color:#ab3737}.locked{font-size:7px;letter-spacing:2px}@keyframes digit-drift{0%,38%,44%,79%,86%,100%{transform:translate(0,0);opacity:1;filter:none}40%{transform:translate(3px,-3px) skewX(-12deg);opacity:.65}82%{transform:translate(-3px,2px);filter:blur(.5px)}}@keyframes scan-drift{to{background-position:0 80px}}.flower-subscribe{position:fixed;right:20px;bottom:25px;z-index:20;border:0;background:transparent;color:var(--red);padding:0;width:100px;animation:flower-float 7s ease-in-out infinite}.flower-subscribe img{width:85px;height:85px;object-fit:cover;border-radius:50%;mix-blend-mode:screen;filter:contrast(1.5);display:block;margin:auto;box-shadow:0 0 35px #fb171716}.flower-subscribe span{font-size:8px;letter-spacing:1px;display:block;background:#080808dd;padding:7px 4px;border-bottom:1px solid #792626}.flower-subscribe:hover img{filter:contrast(2) drop-shadow(2px 0 #ed2727);transform:rotate(-6deg)}@keyframes flower-float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-12px) rotate(3deg)}}#fog-layer{position:fixed;inset:0;z-index:4;pointer-events:none;opacity:0;transition:opacity .3s}#fog-canvas{position:absolute;bottom:0;width:100%;height:85vh;mask-image:linear-gradient(transparent,#000 27%)}.fog-eye{position:absolute;width:160px;left:calc(50% - 80px);bottom:19%;fill:none;stroke:#ed1414;stroke-width:2.2;filter:drop-shadow(4px 0 #ed141477);opacity:0;animation:eye-visit 120s linear infinite;transform-origin:center}.fog-eye ellipse{fill:#df1111;stroke:none}.fog-eye .eye-slit{stroke:#250303;stroke-width:6}@keyframes eye-visit{0%,95%,100%{opacity:0;transform:scaleY(.05)}95.5%{opacity:.8;transform:scaleY(1) translateX(-3px)}96%{opacity:.2;transform:scaleY(.05)}96.6%,98%{opacity:.85;transform:scaleY(1)}98.2%{opacity:.6;transform:scaleY(.08) translateX(6px)}98.5%,99%{opacity:.8;transform:scaleY(1)}}.grey-ending{position:relative;min-height:65svh;padding:120px 8vw 80px;background:linear-gradient(#08080800,#999 80%);text-align:center}.grey-ending h2{font-size:clamp(65px,9vw,120px);line-height:.9;margin:25px 0;color:#151313}.grey-ending .eyebrow{color:#551717}.grey-ending .signature{color:#211}body[data-page=home] footer{background:color-mix(in srgb,#080808,#999 calc(var(--fog,0)*100%));padding-right:140px;position:relative;z-index:5}.journal-intro h1{line-height:.85;font-size:clamp(80px,12vw,160px)}.journal-catchline{color:var(--red);margin-top:30px}.post{max-width:860px;padding:30px 40px;border:0}.post h2{font-size:clamp(55px,7vw,90px);line-height:.95;margin:25px 0 40px}.post-body{font-size:16px;line-height:2;max-width:680px;margin:40px auto;color:#c9c4bc}.post-body:first-letter{font-family:'Barlow Condensed';font-size:65px;float:left;line-height:.8;padding:10px 12px 0 0;color:var(--red)}.post-art img{max-height:600px;object-fit:contain;margin:auto;display:block}.post-signoff{display:flex;justify-content:space-between;align-items:center;margin:45px 0;color:var(--muted);font-size:11px}.post-signoff .signature{margin:0}.gothic-line{display:flex;align-items:center;gap:16px;color:#a64141;margin:28px 0;font-family:serif;font-size:30px}.gothic-line i{flex:1;height:1px;background:linear-gradient(90deg,transparent,#823030,transparent)}.gothic-line b{font-weight:400;font-size:25px}.empty-journal{max-width:800px;margin:auto;text-align:center}dialog h2{font-size:80px;line-height:.88}footer{line-height:1.8;padding-right:145px}
@media(max-width:650px){body{font-size:13px}header a{font-size:10px}.hero-stage{grid-template-columns:1fr;gap:8px}.hero{min-height:0}.hero-art{padding:30px 0 10px}.hero-art img{max-height:60svh}.hero-story{padding:5px 0 30px}.hero h1{font-size:60px;max-width:90%}.hero-description{margin-top:18px;max-width:290px}.hero-story .signature{margin-top:15px}.catchline{max-width:180px;font-size:9px}.piece,.piece:nth-child(even){grid-template-columns:1fr;padding:35px 6vw 75px}.piece h3{font-size:40px}.road-intro h1{font-size:clamp(75px,20vw,125px)}.road-intro h1 span{transform:scaleX(1.06)}.road-slot{width:235px}.road-row{height:325px}.signal-digit{font-size:30px;width:20px}.signal-code{gap:2px}.empty-inner{height:130px}.flower-subscribe{width:72px;right:10px;bottom:16px}.flower-subscribe img{width:63px;height:63px}.flower-subscribe span{font-size:7px;letter-spacing:0}.post{padding:20px 6vw}.post-body{font-size:14px}.post-signoff{gap:20px}.grey-ending{padding-top:100px}footer,body[data-page=home] footer{padding-right:100px}.fog-eye{width:120px;left:calc(50% - 60px)}}
@media(prefers-reduced-motion:reduce){.road-world .path-base,.road-world .path-echo{filter:none}.signal-digit,.flower-subscribe,.empty-inner:after,.road-world .path-core{animation:none}.fog-eye{animation:none;opacity:.25;transform:none}}
@media(min-width:651px){.road-intro h1{transform:scaleX(1.22);transform-origin:left;max-width:80%}}
.flower-subscribe:before{content:'';position:absolute;inset:0 8px 24px;background:url('assets/flower-red-web.png') center/cover;border-radius:50%;mix-blend-mode:screen;pointer-events:none;opacity:0;clip-path:inset(42% 0 42% 0);animation:flower-glitch 11s steps(1,end) infinite}
@keyframes flower-glitch{0%,86%,90%,100%{opacity:0;transform:none}87%{opacity:.7;transform:translateX(5px)}88%{opacity:.6;transform:translateX(-5px);clip-path:inset(20% 0 67% 0)}89%{opacity:.4;transform:translateX(3px)}}
@media(prefers-reduced-motion:reduce){.flower-subscribe:before{animation:none}}
body[data-page=home] footer{color:color-mix(in srgb,var(--muted),#242020 calc(var(--fog,0)*100%))}body[data-page=home] footer a,body[data-page=home] footer button{color:inherit}
/* Gothic revision: original pixel title, blackletter headings, restrained art copy. */
:root{--paper:#ded6c8;--muted:#a9968c}
body{font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;background:#080404;background-image:radial-gradient(ellipse at 20% 35%,#4e080818,transparent 65%),radial-gradient(ellipse at 85% 65%,#5c090914,transparent 55%)}
body:before{opacity:.085;mix-blend-mode:screen;filter:sepia(1) saturate(8) hue-rotate(315deg)}body:after{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;background:repeating-linear-gradient(0deg,transparent 0 3px,#c8181805 3px 4px),repeating-linear-gradient(90deg,transparent 0 4px,#90141405 4px 5px)}header,main,footer{position:relative;z-index:1}header{background:#080404e8}
header a{font-family:'UnifrakturCook',Georgia,serif;font-size:21px;letter-spacing:0}.tiny,.eyebrow,.index,.slot-number,.locked,.road-status,.see-more,.signal-caption{font-family:'Space Mono',monospace}
body[data-font] h1,body[data-font] h2,body[data-font] h3,.hero h1,.collection-intro h2,.piece h3,.journal-intro h1,.post h2,dialog h2{font-family:'UnifrakturCook',Georgia,serif!important;font-weight:700!important;text-transform:none!important;letter-spacing:0!important}
.hero h1{font-size:clamp(40px,4.5vw,72px)!important;line-height:1.1!important}.hero-description{font-size:22px;line-height:1.8}.catchline{font-size:22px;letter-spacing:0}.collection-intro{padding-top:65px;padding-bottom:10px}.collection-intro h2{font-size:clamp(60px,8vw,100px)!important;line-height:1.1!important}.piece h3{font-size:46px!important;line-height:1.15!important}.piece p{font-size:21px;line-height:1.7}.auction{font-family:'Space Mono';font-size:10px}
.road-intro{text-align:center;padding:65px 6vw 40px}.road-intro h1,body[data-font] .road-intro h1{font-family:'VT323',monospace!important;font-weight:400!important;font-size:clamp(76px,10vw,145px)!important;line-height:1.02!important;letter-spacing:0!important;text-transform:none!important;margin:25px auto;transform:none!important;max-width:none!important}.road-intro h1 span{transform:none!important;text-shadow:none}.road-intro .intro-copy{font-size:21px;max-width:650px;margin:24px auto;line-height:1.8}.road-status{text-align:left}
.signal-code{gap:3px}.signal-digit{font-family:'VT323',monospace!important;font-weight:400;color:#ed2424;font-size:30px;line-height:1;width:19px;text-shadow:none;animation:digit-drift 1.3s steps(1,end) infinite;animation-delay:var(--delay)}.signal-digit:nth-child(3n){color:#bd4942}.signal-caption{font-size:7px;letter-spacing:2px;color:#913737}.slot-label{font-family:'UnifrakturCook';font-size:19px;text-transform:lowercase}
.flower-subscribe span{font-family:'UnifrakturCook';font-size:16px;letter-spacing:0;background:#080404dd}.fog-eye,.grey-ending{display:none!important}#fog-layer[hidden]{display:none}#fog-canvas{height:100vh;mask-image:none}.road-end{height:35vh;background:radial-gradient(ellipse at bottom,#3d0707,transparent 65%)}body[data-page=road] footer{background:#080000;z-index:5}body[data-page=home] footer{background:#080404;color:var(--muted)}
.journal-intro h1{font-size:clamp(75px,10vw,140px)!important;line-height:1.1!important}.post h2{font-size:clamp(45px,6vw,80px)!important;line-height:1.15!important}.post-body{font-size:23px;line-height:1.8;color:#d2c6b9}.post-body:first-letter{font-family:'UnifrakturCook';font-size:70px}.post-signoff{font-size:20px}.gothic-line{color:#a64141}dialog h2{font-size:80px!important;line-height:1.05!important}dialog p{font-size:21px}footer{font-family:'Space Mono';font-size:9px}footer button{font-family:'UnifrakturCook';font-size:17px}
@media(max-width:650px){header a{font-size:17px}.hero h1{font-size:48px!important}.hero-description{font-size:21px}.piece h3{font-size:40px!important}.road-intro{padding-top:45px}.road-intro h1,body[data-font] .road-intro h1{font-size:clamp(64px,17vw,100px)!important}.road-intro .intro-copy{font-size:19px}.signal-digit{font-size:25px;width:14px}.signal-code{gap:2px}.flower-subscribe span{font-size:12px}.post-body{font-size:21px}dialog h2{font-size:65px!important}}
/* The final placeholder is the concealed horizon; publishing extends it. */
.road-row:last-child .frame{opacity:0}.road-row:last-child .slot-number,.road-row:last-child .slot-label{opacity:0}
/* Use the journal's legible serif across the site. */
body,header a,.tiny,.eyebrow,.index,.slot-number,.slot-label,.locked,.road-status,.see-more,.signal-caption,footer,footer button,.flower-subscribe span,.post-body:first-letter{font-family:'Cormorant Garamond',Georgia,serif!important}
body[data-font] h1,body[data-font] h2,body[data-font] h3,.hero h1,.collection-intro h2,.piece h3,.journal-intro h1,.post h2,dialog h2{font-family:'Cormorant Garamond',Georgia,serif!important;font-weight:500!important;letter-spacing:-.025em!important}
header a{font-size:23px;font-weight:500}.tiny{font-size:13px;letter-spacing:1px}.eyebrow,.index,.slot-number,.road-status{font-size:13px;letter-spacing:2px}.locked,.signal-caption{font-size:10px}.see-more{font-size:13px}.flower-subscribe span{font-size:18px}footer{font-size:15px;letter-spacing:.5px}footer button{font-size:17px}
header .buy,header .buy .tiny{font-family:'Silkscreen',monospace!important;color:var(--green)}header .buy{font-size:14px}header .buy .tiny{font-size:8px;color:#719745}
.road-intro h1,body[data-font] .road-intro h1{font-family:'Cormorant Garamond',Georgia,serif!important;font-weight:500!important;font-size:clamp(22px,6.6vw,105px)!important;line-height:1.2!important;letter-spacing:-.035em!important;white-space:nowrap;margin:40px auto 25px}.road-intro h1 span{display:inline}.road-intro .intro-copy{font-size:22px}.road-status{font-size:12px}.signal-digit{font-family:'VT323',monospace!important}
#fog-layer{transition:opacity .7s ease-out}#fog-canvas{mask-image:linear-gradient(transparent 0%,#000 16%)}body[data-page=road] footer{background:linear-gradient(#08000000,#080000)}
@media(max-width:650px){header a{font-size:20px}.tiny{font-size:11px}header .buy{font-size:11px}.road-intro h1,body[data-font] .road-intro h1{font-size:clamp(20px,6.4vw,43px)!important;margin:30px auto 20px}.road-intro .intro-copy{font-size:20px}.road-status{font-size:10px;letter-spacing:.4px}.flower-subscribe span{font-size:14px}footer{font-size:13px}.slot-number{font-size:11px}}
/* End-of-road atmosphere is attached to the road, never the viewport. */
.road-row:last-child .frame,.road-row:last-child .slot-number,.road-row:last-child .slot-label{opacity:1}
#fog-layer{position:absolute;inset:auto 0 auto 0;opacity:1!important;transition:none;overflow:hidden;z-index:4;pointer-events:none}#fog-canvas{position:absolute;inset:0;width:100%;height:100%;mask-image:none}.road-world{overflow:visible}.road-end{height:180px;background:none}
.road-intro h1 span.title-apl{color:var(--red)}.road-intro h1 span.title-xcopy{color:var(--red);position:relative;display:inline-block}
.title-xcopy:before,.title-xcopy:after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;color:#f32b2b;opacity:.5}
.title-xcopy:before{filter:url(#trail-noise);opacity:.22;animation:xcopy-noise 6s steps(1,end) infinite}.title-xcopy:after{clip-path:inset(48% 0 39% 0);animation:xcopy-tear 4.7s steps(1,end) infinite}
@keyframes xcopy-tear{0%,74%,80%,100%{transform:none;opacity:0}75%{transform:translateX(3px);opacity:.7}77%{transform:translateX(-2px);clip-path:inset(28% 0 63% 0);opacity:.45}79%{transform:translateX(1px);opacity:.4}}
@keyframes xcopy-noise{0%,100%{opacity:.15;transform:none}40%{opacity:.3;transform:translateX(1px)}70%{opacity:.2;transform:translateX(-1px)}}
@media(prefers-reduced-motion:reduce){.title-xcopy:before,.title-xcopy:after{animation:none;filter:none;opacity:0}}
.road-row .frame,.road-row .slot-number,.road-row .slot-label{opacity:1}
#fog-layer{left:50%;right:auto;transform:translateX(-50%)}#fog-canvas{mask-image:linear-gradient(transparent 0%,#000 18%,#000 73%,transparent 100%)}
/* Smog reaches the document edge beneath the transparent footer. */
body[data-page=road] footer{background:transparent!important;color:#c6b7a9}#fog-canvas{mask-image:linear-gradient(transparent 0%,#000 18%,#000 100%)}
/* Featured art and its next action share a compact layout. */
.hero{min-height:0;padding-top:24px;padding-bottom:38px;border-bottom:1px solid #332020}.hero-stage{flex:initial;grid-template-columns:minmax(0,1fr) minmax(250px,24%);gap:3vw;margin-top:24px;align-items:center}.hero-art{padding:0;min-height:0}.hero-art img{max-height:calc(100svh - 195px);object-fit:contain}.hero-story{padding:12px 0}.hero-see-more{display:inline-flex;margin-top:36px;gap:18px;padding:10px 0;border-bottom:1px solid #722b2b;width:max-content}.hero-see-more span{font-size:26px}.hero-story .signature{margin-top:22px}.collection-intro{padding-top:65px}
@media(max-width:800px){.hero-stage{grid-template-columns:1fr;gap:22px;margin-top:20px}.hero-art img{max-height:65svh}.hero-story{padding:0 90px 0 0}.hero h1{font-size:48px!important}.hero-see-more{margin-top:20px}.hero{padding-bottom:32px}.hero-description{max-width:100%;margin-top:16px}.hero-story .signature{margin-top:16px}}
/* Sparse pixels over near-black replace the uniform red wash. */
body{background:#070505;background-image:none}body:before{background-image:var(--infection-noise);background-size:256px 256px;image-rendering:pixelated;opacity:.65;mix-blend-mode:normal;filter:none;z-index:0}body:after{background:radial-gradient(ellipse at 50% 0%,#3b070710,transparent 60%);z-index:0}header{background:#070505e8}
header a{position:relative;z-index:2}.nav-glitch-label{display:inline-block;white-space:nowrap}.road-link .nav-glitch-label{min-width:12.3em}.buy .nav-glitch-label{min-width:9ch}.road-link:hover,.road-link:focus-visible{color:#ed2424;text-shadow:2px 0 #ed242455,-1px 0 #a4070744}.buy:hover,.buy:focus-visible{color:#b9ff75;text-shadow:0 0 12px #72ff4c88,2px 0 #39ff5055}.buy.nav-infected .nav-glitch-label{animation:matrix-jitter .47s steps(1,end) infinite}.road-link.nav-infected .nav-glitch-label{animation:nav-red-tear .6s steps(1,end) infinite}
@keyframes matrix-jitter{0%,70%,100%{transform:none}25%{transform:translateX(1px);text-shadow:-2px 0 #1c9d17,0 0 10px #9cff66}75%{transform:translateY(-1px)}}@keyframes nav-red-tear{0%,65%,100%{transform:none;filter:none}30%{transform:translateX(-1px);text-shadow:3px 0 #fb35357a}70%{transform:translateX(2px);filter:contrast(1.4)}}
#infection-veins{position:absolute;top:0;left:0;width:100%;height:360px;overflow:hidden;pointer-events:none;z-index:1;display:none}body[data-page=home] #infection-veins{display:block}#infection-veins path{fill:none;stroke:#d82424;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100;animation:vein-grow 4s ease-out forwards,vein-pulse 11s ease-in-out infinite;animation-delay:var(--vein-delay),5s}
@keyframes vein-grow{to{stroke-dashoffset:0}}@keyframes vein-pulse{0%,100%{stroke:#7f1717}50%{stroke:#cc2424}}
@media(max-width:650px){#infection-veins{height:240px}.road-link .nav-glitch-label{min-width:0}.buy .nav-glitch-label{min-width:8ch}}
@media(prefers-reduced-motion:reduce){.buy.nav-infected .nav-glitch-label,.road-link.nav-infected .nav-glitch-label{animation:none}#infection-veins path{animation:none;stroke-dashoffset:0}}
header .road-link .nav-glitch-label{color:inherit;margin-left:0}
/* Let the latest work own the opening screen. */
.hero{min-height:calc(100svh - 94px);padding:20px 2.5vw 58px;position:relative;display:flex;flex-direction:column}.hero-top{font-size:14px;color:#d3c6b7;letter-spacing:1.1px}.hero-top span:first-child{color:#eedbcb}.hero-stage{flex:1;grid-template-columns:minmax(0,1fr) minmax(200px,20%);gap:2.5vw;margin-top:18px}.hero-art img{max-height:calc(100svh - 155px);width:100%;object-fit:contain}.hero-story .hero-description{font-size:21px}.hero h1{font-size:clamp(40px,4.3vw,72px)!important}.hand-scroll{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);color:#d6cbbc;width:39px;height:57px;opacity:.7;filter:drop-shadow(0 0 7px #8298b633)}.hand-scroll svg{width:100%;height:100%;animation:hand-beckon 3.8s ease-in-out infinite}.hand-scroll:hover{color:#f2e7d7;opacity:1}@keyframes hand-beckon{0%,100%{transform:translateY(-3px) rotate(-3deg)}50%{transform:translateY(4px) rotate(2deg)}}
#artifacts{background:radial-gradient(ellipse at 18% 35%,#263a601b,transparent 55%),radial-gradient(ellipse at 88% 70%,#35203d22,transparent 60%)}#artifacts .collection-intro .eyebrow{color:#a3a6b5}#artifacts .piece{position:relative;border-color:#2d303938}#artifacts .piece-visual:before{content:'';position:absolute;inset:-30px -25px;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,#8a9cb423,transparent 68%);filter:blur(25px);pointer-events:none;animation:moon-haze 12s ease-in-out infinite}#artifacts .piece-visual{isolation:isolate}#artifacts .piece-visual img{box-shadow:0 0 50px -15px #5b729555,0 0 110px -45px #72548250}#artifacts .piece h3{color:#dfdfdf}#artifacts .piece p{color:#acaab5}@keyframes moon-haze{0%,100%{opacity:.6;transform:translateY(0)}50%{opacity:1;transform:translateY(-8px)}}
@media(max-width:800px){.hero-stage{grid-template-columns:1fr;flex:initial}.hero{min-height:0;padding:20px 5vw 78px}.hero-art img{max-height:65svh}.hero-top{font-size:11px;gap:18px;line-height:1.5}.hero-story{padding-right:75px}.hero h1{font-size:48px!important}.hand-scroll{bottom:12px}}
@media(prefers-reduced-motion:reduce){.hand-scroll svg,#artifacts .piece-visual:before{animation:none}}
/* Static organic infestation and compact navigation. */
.static-veins{display:none;position:absolute;top:0;left:0;width:100%;height:min(850px,100svh);background:url('assets/veins-static.png') center top/cover no-repeat;pointer-events:none;z-index:1;opacity:.45;mix-blend-mode:screen;mask-image:linear-gradient(#000 0%,#000 45%,transparent 100%)}
body[data-page=home] .static-veins{display:block}
header .road-link{display:inline-flex;align-items:center;justify-content:center;gap:10px}
header .road-link .nav-glitch-label{min-width:0}
header .road-link>span:last-child{margin-left:0}
.hero-top,.hero-top span{color:#eedbcb!important;font-size:15px;letter-spacing:1.1px}
.hand-scroll{width:45px;height:67px;opacity:.9}
.hand-scroll img{width:100%;height:100%;object-fit:contain;animation:hand-beckon 3.8s ease-in-out infinite;filter:drop-shadow(0 0 5px #a3adb230)}
@media(max-width:800px){.hero-top,.hero-top span{font-size:12px}.static-veins{height:650px;opacity:.35}.hand-scroll{height:60px}}
@media(prefers-reduced-motion:reduce){.hand-scroll img{animation:none}}
/* The road leaves a small, stationary imprint around its entrance. */
header .road-link .static-veins{position:absolute;left:50%;top:-26px;transform:translateX(-50%);width:440px;max-width:85vw;height:190px;margin:0;z-index:-1;opacity:.28;background:url('assets/veins-static.png') center/100% 100% no-repeat;mix-blend-mode:screen;mask-image:radial-gradient(ellipse at 50% 28%,#000 8%,#0009 35%,transparent 70%);pointer-events:none}
header .road-link{isolation:isolate}
header .road-link .nav-glitch-label,header .road-link>span:last-child{position:relative;z-index:1}
@media(max-width:650px){header .road-link .static-veins{width:340px;height:140px;top:-6px;opacity:.24}}
/* Scrambled title retains its original width while the signal breaks up. */
.road-intro h1 .title-xcopy .xcopy-sizing{visibility:hidden}
.road-intro h1 .title-xcopy .xcopy-live{position:absolute;inset:0;display:block;text-align:center}
.title-xcopy.xcopy-burst .xcopy-live{animation:xcopy-scramble .22s steps(1,end) infinite;text-shadow:3px 0 #ff535380,-3px 0 #85000099}
.title-xcopy.xcopy-burst:before{opacity:.55}
.title-xcopy.xcopy-burst:after{opacity:.8;animation:xcopy-tear .24s steps(1,end) infinite}
@keyframes xcopy-scramble{0%,100%{transform:none}25%{transform:translate(2px,-1px) skewX(-3deg)}65%{transform:translate(-2px,1px)}}
@media(prefers-reduced-motion:reduce){.title-xcopy.xcopy-burst .xcopy-live{animation:none;text-shadow:none}}
.hero-top .license-zero{font-family:Georgia,serif;font-size:1em;letter-spacing:0;color:inherit}
.hero-top .license-zero{font-family:'UnifrakturCook',Georgia,serif!important;font-weight:700;font-size:1.12em;letter-spacing:0}
.hero-top .license-zero{font-family:'Silkscreen',monospace!important;font-weight:400;font-size:.9em;letter-spacing:0}
/* Actual falling binary trails, with readable text above the rain. */
header .buy{isolation:isolate}
.buy .matrix-rain{position:absolute;inset:-24px -16px -35px;overflow:hidden;pointer-events:none;z-index:-1;opacity:0;transition:opacity .15s;mask-image:linear-gradient(transparent,#000 20%,#000 75%,transparent)}
.buy.nav-infected .matrix-rain{opacity:.85}
.matrix-rain i{position:absolute;left:calc(var(--column)*7.1%);top:-150px;white-space:pre;font-family:'Silkscreen',monospace;font-size:10px;line-height:12px;font-style:normal;color:#45c63b;text-shadow:0 0 6px #42fa55;animation:binary-fall var(--speed) linear infinite;animation-delay:var(--offset);animation-play-state:paused}
.buy.nav-infected .matrix-rain i{animation-play-state:running}
.buy.nav-infected .nav-glitch-label{animation:none;text-shadow:0 0 8px #a0ff6588}
@keyframes binary-fall{from{transform:translateY(0)}to{transform:translateY(250px)}}
@media(prefers-reduced-motion:reduce){.buy .matrix-rain{display:none}}
/* Selected torn-screen roots surround the road entrance. */
header .road-link .static-veins{background-image:url('assets/vein-rupture-first.png');background-size:contain;background-position:center;background-repeat:no-repeat;width:470px;max-width:88vw;height:235px;top:50%;transform:translate(-50%,-46%);opacity:.9;mix-blend-mode:normal;mask-image:none}
@media(max-width:650px){header .road-link .static-veins{width:345px;height:173px;top:50%;transform:translate(-50%,-42%);opacity:.85}}
/* Darker rupture, with its opening centered behind the navigation label. */
header .road-link .static-veins{filter:brightness(.48) saturate(.7);opacity:.85;transform:translate(-50%,-38%)}
.hero-top .license-zero{font-family:Georgia,serif!important;font-weight:400;font-size:1em;position:relative;display:inline-block;letter-spacing:0}
.hero-top .license-zero:after{content:'';position:absolute;left:47%;top:16%;width:1px;height:70%;background:currentColor;transform:rotate(32deg);transform-origin:center;pointer-events:none}
@media(max-width:650px){header .road-link .static-veins{transform:translate(-50%,-34%)}}
/* The final frame dissolves into the anchored smog rather than ending abruptly. */
body[data-page=road] .road-row:last-child .frame{mask-image:linear-gradient(to bottom,#000 0%,#000 30%,#000b 55%,#0003 82%,transparent 100%)}
body[data-page=road] .road-row:last-child .slot-number{opacity:.65}
/* Bold slashed-zero silhouette matching the supplied reference. */
.hero-top .license-zero{font-family:Arial,sans-serif!important;font-weight:900;font-size:.94em;line-height:1;transform:scaleX(.82);margin:0 -.03em;vertical-align:baseline}
.hero-top .license-zero:after{left:43%;top:-5%;width:.15em;height:110%;background:currentColor;transform:rotate(33deg)}
/* Wider opening gives the road label more breathing room. */
header .road-link .static-veins{width:570px;height:235px;background-size:100% 100%;max-width:92vw}
@media(max-width:650px){header .road-link .static-veins{width:380px;height:173px;max-width:96vw}}
.hero-top .license-zero{font-family:Arial,sans-serif!important;font-weight:400;font-size:.94em;transform:scaleX(.88);margin:0}
.hero-top .license-zero:after{left:47%;top:0;width:1px;height:100%;transform:rotate(33deg)}
/* Frame numbers follow the outer edge; titles reveal toward the open center. */
.road-row.left .slot-number{text-align:left}
.road-row.right .slot-number{text-align:right}
@media(min-width:801px){
 .road-slot .slot-label{position:absolute;top:50%;margin:0;width:clamp(150px,22vw,280px);font-size:28px;line-height:1.15;text-transform:none;color:var(--paper);opacity:0;pointer-events:none;transition:opacity .3s ease,transform .4s ease}
 .road-row.left .slot-label{left:calc(100% + 35px);text-align:left;transform:translate(-12px,-50%)}
 .road-row.right .slot-label{right:calc(100% + 35px);text-align:right;transform:translate(12px,-50%)}
 .road-slot:hover .slot-label,.road-slot:focus-within .slot-label{opacity:1;transform:translate(0,-50%)}
}
@media(max-width:800px),(hover:none){.road-slot .slot-label{position:static;width:auto;margin-top:16px;opacity:1;transform:none;font-size:23px;text-transform:none;pointer-events:auto}}
@media(prefers-reduced-motion:reduce){.road-slot .slot-label{transition:none}}
/* Side labels occupy the open middle of the road. */
@media(min-width:801px){
 .road-slot .slot-number,.road-slot .slot-label{position:absolute;top:50%;width:clamp(150px,22vw,280px);margin:0;color:var(--red);font-family:'Cormorant Garamond',Georgia,serif!important;line-height:1.15;letter-spacing:1px;text-transform:none;transform:translateY(-50%)}
 .road-slot .slot-number{font-size:30px;transition:opacity .35s,transform .45s}
 .road-slot .slot-label{font-size:34px;opacity:0;transition:opacity .5s,transform .65s,filter .65s;filter:blur(3px) drop-shadow(0 0 9px #ff641466)}
 .road-row.left .slot-number,.road-row.left .slot-label{left:calc(100% + 38px);right:auto;text-align:left}
 .road-row.right .slot-number,.road-row.right .slot-label{right:calc(100% + 38px);left:auto;text-align:right}
 .road-row.left .slot-label{transform:translate(-14px,-50%)}
 .road-row.right .slot-label{transform:translate(14px,-50%)}
 .road-slot:has(.slot-label):hover .slot-number,.road-slot:has(.slot-label):focus-within .slot-number{opacity:0;transform:translateY(-60%)}
 .road-slot:hover .slot-label,.road-slot:focus-within .slot-label{opacity:1;transform:translate(0,-50%);filter:blur(0);animation:title-ember-reveal .7s ease-out both}
}
@keyframes title-ember-reveal{0%{clip-path:inset(0 100% 0 0);text-shadow:0 0 14px #ffb34a,0 0 25px #ed2424}45%{text-shadow:0 0 6px #ff682d}100%{clip-path:inset(0);text-shadow:none}}
@media(max-width:800px),(hover:none){.road-slot .slot-number{position:static;width:auto;transform:none;font-size:19px;text-align:center!important}.road-slot .slot-label{position:static;width:auto;transform:none;font-size:26px;color:var(--red);opacity:1;filter:none;animation:none;text-align:center}}
@media(prefers-reduced-motion:reduce){.road-slot .slot-label,.road-slot .slot-number{transition:none;animation:none!important;filter:none}}
/* Keep the moonlight glow tight to the actual artwork, without letterbox panels. */
#artifacts .piece-visual img{width:auto;max-width:100%;height:auto;margin-inline:auto}
#artifacts .piece-visual:before{inset:0 8%;opacity:.4}
/* Persistent red pixels, independent of canvas privacy settings. */
body:before{background-image:url('assets/red-noise.svg');background-repeat:repeat;background-size:256px 256px;opacity:.8}
body:before{background-image:url('assets/red-noise.png')!important;opacity:.45!important;filter:none!important;mix-blend-mode:normal!important}

/* Road counters use the same clear treatment as the landing-page labels. */
.road-status,.road-status span{color:#eedbcb;font-size:15px;font-weight:600;letter-spacing:1.1px;line-height:1.6}.road-status{gap:24px}
@media(max-width:800px){.road-status,.road-status span{font-size:12px}.road-status{flex-wrap:wrap;gap:10px 20px}}

.newsletter-form label{display:block;font-size:20px;margin:24px 0 10px;color:var(--paper)}.newsletter-fields{display:flex;gap:12px}.newsletter-fields input{min-width:0;flex:1;background:#120b0b;border:1px solid #70504a;color:var(--paper);padding:14px;font-size:20px}.newsletter-fields button{background:#b51b1b;color:#fff0e8;border:0;padding:14px 20px;font-size:17px;letter-spacing:1px}.signup-trap{position:absolute;left:-9999px}.signup-note{font-size:14px!important;line-height:1.5!important}@media(max-width:650px){.newsletter-fields{flex-direction:column}.newsletter-fields button{width:100%}dialog h2{font-size:60px!important}}

@media(max-width:650px){body[data-page] footer,footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;padding:24px 110px 24px 5vw;align-items:center}footer>span:first-child{grid-column:1;white-space:nowrap;font-size:12px}footer>a{grid-column:1;grid-row:2}footer>span:last-child{grid-column:2;grid-row:1 / 3;white-space:nowrap;align-self:center;margin:0}header .road-link{min-height:48px}}

/* Keep large desktop screens at the established composition scale. */
@media(min-width:801px){.hero{max-width:1600px;margin-inline:auto;min-height:0;padding-top:22px;padding-bottom:20px}.hero-stage{flex:none;gap:40px;grid-template-columns:minmax(0,1fr) 300px;margin-top:28px}.hero-art{padding:20px 0 0}.hero-art img{max-height:780px;width:100%;height:auto}.hero h1{font-size:60px!important}.hero-story .hero-description{font-size:21px}.hand-scroll{position:relative;left:auto;bottom:auto;transform:none;align-self:center;margin-top:24px;flex-shrink:0;height:68px}header{min-height:110px;height:110px}header .road-link .static-veins{top:55%;transform:translate(-50%,-34%)}.piece,.collection-intro,.road-intro{max-width:1600px;margin-inline:auto}}

@media(min-width:801px){.road-intro{max-width:none;margin-inline:0}}

@media(min-width:1800px){.hero{max-width:2100px;width:94%;padding-top:26px}.hero-stage{margin-top:56px;grid-template-columns:minmax(0,1fr) 330px;gap:44px}.hero-art img{max-height:980px}.hero h1{font-size:66px!important}}
@media(min-width:801px) and (max-width:1800px),(min-width:801px) and (max-height:1000px){.road-intro{padding-top:28px;padding-bottom:16px}.road-intro h1,body[data-font] .road-intro h1{font-size:clamp(38px,4.8vw,78px)!important;margin:18px auto 16px}.road-intro .intro-copy{margin:14px auto 20px;font-size:21px;line-height:1.5}.road-status{padding-top:18px;margin-top:18px}.road-row{height:340px}}

body:before{opacity:.28!important}header .road-link{position:relative}header .road-link .static-veins{top:50%;transform:translate(-50%,-46%)}
@media(max-width:800px),(hover:none){.road-slot:hover .frame,.road-slot:focus-within .frame,.frame:hover,.frame:active{transform:none!important}header{border-bottom:0}.road-link{border-top:0!important;border-bottom:0!important}header .road-link .static-veins{top:50%;transform:translate(-50%,-44%)}}
header .road-link .static-veins{background-image:url('assets/apl-veins.png');opacity:1;filter:none;mix-blend-mode:screen;top:50%;transform:translate(-50%,-46%)}
@media(max-width:800px){header .road-link .static-veins{opacity:1;transform:translate(-50%,-46%)}}

.footer-socials{display:flex;gap:20px;align-items:center;white-space:nowrap}@media(max-width:650px){footer>.footer-socials{grid-column:1;grid-row:3;gap:18px}footer>span:last-child{grid-row:1 / 4}}

/* The opening in the supplied image is centered at 40% of its height. */
header .road-link .static-veins{transform:translate(-50%,-40%)}

/* Stronger red grain and final vein alignment. */
body:before{opacity:.55!important}
header .road-link .static-veins{top:50%}
@media(max-width:800px),(hover:none){.road-row .frame,.road-row .frame:hover,.road-row .frame:active,.road-row .frame:focus-within{z-index:auto!important;transform:none!important}.road-world{isolation:isolate}#fog-layer{z-index:10}}

header .road-link .static-veins{top:calc(50% + 2px)}

.footer-socials a{display:inline-flex;align-items:center;gap:8px}.footer-socials img{width:44px;height:44px;object-fit:contain;mix-blend-mode:screen;flex-shrink:0}.footer-socials a:hover img{filter:brightness(1.2)}@media(max-width:650px){.footer-socials img{width:36px;height:36px}.footer-socials a{gap:5px}footer>.footer-socials{gap:12px}}

/* Keep footer text and illustrated links on one vertical centre. */
footer{align-items:center}
@font-face{font-family:Mekzantine;src:url('/assets/mekzantine.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
body[data-page=home],body[data-page=home] :is(header a:not(.buy),.tiny,.eyebrow,.index,.hero h1,.collection-intro h2,.piece h3,footer,dialog h2,dialog p,dialog input,dialog button,.flower-subscribe span){font-family:Mekzantine,Georgia,serif!important;font-weight:400}
header .road-link .nav-glitch-label{text-shadow:0 1px 2px #000,0 0 4px #000,0 0 7px #000,0 0 10px #000}
@media(max-width:650px){footer{padding:24px 110px 24px 5vw!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important}footer>span:last-child{display:none}footer>span:first-child{font-size:10px!important;white-space:normal!important}footer>.footer-socials{grid-column:1;grid-row:3;flex-wrap:wrap;gap:8px 16px}footer .footer-socials img{width:30px;height:30px}footer .footer-socials a{font-size:12px}body[data-page=home] .hero h1{line-height:1.15!important}}

body[data-page=home] header .buy .tiny{font-family:'Silkscreen',monospace!important}
/* MEKZANTINE throughout the public site; retain the token button and signal digits. */
body[data-page],body[data-page] :is(header a:not(.buy),.tiny,.eyebrow,.index,.slot-number,.slot-label,.locked,.road-status,.see-more,.signal-caption,footer,footer button,.flower-subscribe span,h1,h2,h3,dialog p,dialog input,dialog button,.post-body:first-letter){font-family:Mekzantine,Georgia,serif!important;font-weight:400!important}
body[data-page] header .buy,body[data-page] header .buy .tiny{font-family:'Silkscreen',monospace!important}
body[data-page] .hero-top .license-zero{font-family:Mekzantine,Georgia,serif!important;font-size:1em;transform:none;margin:0;font-weight:400}
.hero-top .license-zero:after{content:none!important}
/* Soft shadow sits behind the lettering rather than around the whole link. */
header .road-link:before{content:'';position:absolute;inset:-9px -16px;z-index:0;pointer-events:none;background:radial-gradient(ellipse at center,#000e 0%,#000d 48%,#0008 65%,transparent 82%);filter:blur(3px)}
a:focus-visible,button:focus-visible{outline:1px solid var(--red);outline-offset:5px}
@media(max-width:800px),(hover:none){body[data-page=road] .road-world{isolation:isolate}body[data-page=road] .road-row{position:relative;z-index:0!important}body[data-page=road] #fog-layer{z-index:100!important;transform:translateX(-50%) translateZ(0);backface-visibility:hidden;pointer-events:none}body[data-page=road] .road-slot,body[data-page=road] .frame{z-index:0!important;will-change:auto!important}}
.prayer-intro{text-align:center;max-width:900px;margin:0 auto;padding:65px 24px 25px}.prayer-intro h1{font-size:clamp(42px,7vw,88px);font-weight:400;margin:16px 0}.prayer-intro>p:not(.eyebrow){color:var(--muted);font-size:23px}.prayer-open{display:flex;flex-direction:column;align-items:center;margin:26px auto;background:none;border:0;color:var(--red);font-family:Mekzantine;font-size:18px;gap:12px}.prayer-open img{width:80px;height:100px;object-fit:contain;mix-blend-mode:screen;transition:filter .3s}.prayer-open:hover img{filter:brightness(1.4)}.prayer-wall{position:relative;max-width:1400px;min-height:850px;margin:0 auto 80px;padding:55px 35px;background:repeating-linear-gradient(93deg,#170b0808 0 3px,#0002 4px 7px),radial-gradient(ellipse at center,#36100c44,transparent 70%)}.prayer-cross{position:absolute;top:45px;left:50%;transform:translateX(-50%);width:clamp(160px,23vw,310px);height:720px;object-fit:contain;mix-blend-mode:screen;pointer-events:none}.prayer-notes{position:relative;display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(200px,30vw,380px);row-gap:40px;align-items:start}.prayer-note{position:relative;padding:30px 22px 20px;background:linear-gradient(140deg,#21140f,#100b09);border:1px solid #64352a;color:#ded4c7;box-shadow:3px 8px 12px #0008;transform:rotate(var(--tilt));overflow-wrap:anywhere}.prayer-note h2{font-size:21px;color:var(--red);margin:0 0 15px}.prayer-note p{white-space:pre-wrap;font-size:19px;line-height:1.5;margin:0 0 22px}.prayer-pin{position:absolute;top:8px;left:50%;width:7px;height:7px;border-radius:50%;background:#a73524;box-shadow:0 1px 4px #000}.prayer-date{font-size:12px;color:#9c776b}.prayer-wall-status{position:relative;text-align:center;margin-top:35px;color:var(--muted)}.prayer-wall:has(.prayer-notes:empty) .prayer-wall-status{padding-top:700px}.rosary{position:absolute;top:5px;width:37%;height:90px;border-bottom:3px dotted #9b3426;border-radius:0 0 50% 50%;filter:drop-shadow(0 2px 2px #000);opacity:.8}.rosary:after{content:'';position:absolute;bottom:-6px;left:0;width:100%;height:16px;background:radial-gradient(circle,#8c3024 0 4px,#39140d 5px,transparent 6px) 0 0/22px 16px;transform:rotate(5deg)}.rosary-left{left:4%;transform:rotate(7deg)}.rosary-right{right:4%;transform:rotate(-7deg)}.prayer-dialog{max-width:600px;width:90vw}.prayer-dialog h2{font-size:42px!important}.prayer-close{position:absolute;right:20px;top:18px;border:0;background:none;color:var(--paper);font-size:28px}.prayer-form label{display:block;font-size:20px}.prayer-form textarea{display:block;width:100%;margin:12px 0;color:var(--paper);background:#080808;border:1px solid #654238;padding:15px;font:20px Mekzantine;resize:vertical}.prayer-form button{background:#a91c1c;color:var(--paper);border:0;padding:14px 20px;font:20px Mekzantine}.prayer-disclosure{font-size:15px!important;color:var(--muted)}.prayer-trap{display:none!important}.prayer-link{display:inline-flex;gap:8px;align-items:center}.prayer-link img{width:20px;height:38px;object-fit:contain;mix-blend-mode:screen}.elsewhere-label{font-size:10px;letter-spacing:2px;color:#795e57}
@media(max-width:650px){.prayer-intro{padding-top:38px}.prayer-wall{padding:0 24px;min-height:600px}.prayer-cross{position:relative;display:block;top:auto;left:auto;transform:none;margin:0 auto 35px;width:170px;height:380px}.prayer-notes{grid-template-columns:1fr;gap:28px}.prayer-wall:has(.prayer-notes:empty) .prayer-wall-status{padding-top:0}.rosary{top:12px;width:32%;height:70px}.prayer-note p{font-size:20px}.prayer-dialog{padding:35px 22px}.prayer-intro>p:not(.eyebrow){font-size:20px}footer>.prayer-link{grid-row:3}footer>.footer-socials{grid-row:4}}
.home-cluster{display:flex;align-items:center;gap:24px}.links-toggle{border:0;background:none;padding:10px;color:var(--red);display:flex}.links-toggle svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.links-toggle:hover{filter:brightness(1.4)}#links-dialog{width:min(560px,90vw);padding:45px}#links-dialog h2{font-size:40px!important;margin:20px 0 30px}.links-close{position:absolute;right:18px;top:16px;font-size:28px;color:var(--paper);border:0;background:none}.links-socials{display:flex;flex-direction:column;gap:16px}.links-socials a,.prayer-link,.links-journal{display:flex;align-items:center;gap:20px;min-height:58px;font-size:24px}.links-socials img,.prayer-link img{width:50px;height:58px;object-fit:contain;mix-blend-mode:screen}.links-socials a:hover,.prayer-link:hover,.links-journal:hover{color:var(--red)}.links-journal{margin-top:16px}.links-journal span{width:50px;text-align:center;color:var(--red);font-size:34px}#links-dialog>.prayer-link{margin-bottom:16px}footer{justify-content:flex-start;gap:35px}footer>span:last-child{margin-left:auto}@media(max-width:650px){.home-cluster{gap:5px}.links-toggle{padding:8px}.links-toggle svg{width:22px;height:22px}#links-dialog{padding:35px 24px}#links-dialog h2{font-size:34px!important}footer{padding:22px 110px 22px 5vw!important}}

body[data-page] :is(.prayer-close,.links-close){font-family:Arial,sans-serif!important}

body[data-page] #links-dialog .links-close,body[data-page] .prayer-dialog button.prayer-close{font-family:Arial,sans-serif!important;line-height:1}

header .road-link .static-veins{left:calc(50% - 10px)}
/* Tangible wooden wall and carved rosaries replace the provisional dots. */
.prayer-wall{background:linear-gradient(#08000033,#08000055),url('/assets/prayer-wood.png') center top/1400px auto repeat-y;box-shadow:inset 0 0 55px #0008;border:1px solid #3b2018;padding-top:55px;overflow:hidden}
.wall-rosary{position:absolute;top:200px;width:clamp(110px,13vw,180px);height:300px;object-fit:contain;pointer-events:none;opacity:.95;filter:drop-shadow(3px 5px 4px #0008)}
.wall-rosary.rosary-left{left:7%;transform:rotate(-14deg)}.wall-rosary.rosary-right{right:7%;transform:rotate(19deg);top:370px}.prayer-wall:has(.prayer-note)>.wall-rosary{display:none}
.prayer-stack{min-width:0}.between-notes-rosary{display:block;width:150px;height:220px;object-fit:contain;margin:30px auto 8px;transform:rotate(-12deg);filter:drop-shadow(3px 5px 4px #0008)}.prayer-stack:nth-child(even) .between-notes-rosary{transform:rotate(17deg)}.prayer-notes{row-gap:30px}.prayer-note{background:linear-gradient(135deg,#21100ef5,#110b09f5)}
@media(max-width:650px){.prayer-wall{padding:30px 24px 45px;background-size:auto 900px}.wall-rosary{top:95px;width:82px;height:165px}.wall-rosary.rosary-left{left:8px}.wall-rosary.rosary-right{right:8px;top:250px}.between-notes-rosary{width:110px;height:170px;margin:20px auto}.prayer-wall:has(.prayer-note)>.wall-rosary{display:block}.prayer-notes{padding-top:8px}}
/* Apl's own red wood and rosaries. */
.prayer-wall{background-image:linear-gradient(#08000066,#08000088),url('/assets/prayer-wood-apl.png')}
.wall-rosary,.between-notes-rosary{mix-blend-mode:screen;filter:brightness(1.75) drop-shadow(0 0 3px #000);opacity:1}

.prayer-cross{opacity:1;mix-blend-mode:normal;filter:none}
/* Prayers gather freely around the cross, on the original noise background. */
.prayer-wall{background:none;border:0;box-shadow:none;overflow:visible;min-height:850px;padding:55px 35px;margin-bottom:80px}
.prayer-cross{opacity:1;mix-blend-mode:normal;filter:none}
.prayer-notes{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(230px,30vw,380px);row-gap:55px;align-items:start;padding-bottom:40px}
.prayer-note{margin-top:var(--stagger);transform:translateX(var(--offset)) rotate(var(--tilt));background:#160b09ed;border-color:#5e2921;box-shadow:2px 6px 18px #0008}
@media(max-width:650px){.prayer-wall{padding:0 25px 35px;min-height:500px}.prayer-cross{width:170px;height:380px}.prayer-notes{grid-template-columns:1fr;gap:25px;padding-top:0}.prayer-note{margin-top:var(--stagger);width:calc(100% - 12px)}.prayer-note:nth-child(even){justify-self:end}}
.prayer-form textarea{pointer-events:auto;user-select:text;-webkit-user-select:text;cursor:text;caret-color:var(--paper)}.prayer-form textarea:focus{outline:1px solid var(--red);outline-offset:2px}.prayer-form .prayer-closing,.prayer-note .prayer-closing{font-size:15px;line-height:1.5;color:var(--red);margin:18px 0 22px}

#links-dialog .links-journal img{width:50px;height:58px;max-width:50px;flex:0 0 50px;object-fit:contain;mix-blend-mode:screen}#links-dialog a{min-width:0;overflow-wrap:anywhere}#links-dialog{box-sizing:border-box;overflow-x:hidden}


#links-dialog .links-journal img{width:50px;height:50px;object-fit:cover;border-radius:50%;background:#000;mix-blend-mode:normal;filter:contrast(1.5);box-shadow:0 0 20px #fb171716}


#links-dialog .links-socials{display:flex;flex-direction:column;gap:20px}#links-dialog .links-socials>a{display:grid;grid-template-columns:50px minmax(0,1fr);column-gap:20px;align-items:center;min-height:64px;margin:0}#links-dialog .links-socials>a>img{justify-self:center}#links-dialog .links-socials>.prayer-link{margin:0}

.post-body figure{margin:32px 0}.post-body figure img,.finished-art{display:block;width:100%;height:auto;max-height:80vh;object-fit:contain}.post-body figcaption{font-size:16px;color:var(--muted);margin-top:12px}.post-body p{white-space:pre-wrap}.report-preview>p{font-size:22px;line-height:1.5}.post h1{font-size:clamp(36px,6vw,72px)}

.links-toggle{align-items:center;gap:7px}.links-toggle span{font-family:Mekzantine,Georgia,serif;font-size:16px;line-height:1;color:var(--red)}@media(max-width:650px){.links-toggle{gap:5px}.links-toggle span{font-size:13px}}

/* Short reports pages keep the footer at the viewport edge. */
body[data-page=journal]{min-height:100svh;display:flex;flex-direction:column}
body[data-page=journal]>header,body[data-page=journal]>footer{flex-shrink:0}
body[data-page=journal]>#app{flex:1;display:flex;flex-direction:column;width:100%}
body[data-page=journal] .journal-intro{width:100%;max-width:1400px;margin:0 auto;padding:clamp(40px,6vh,75px) 6vw 20px}
body[data-page=journal] .journal-intro h1{font-size:clamp(38px,6vw,96px)!important;line-height:1.12;overflow-wrap:anywhere}
body[data-page=journal] .empty-journal{flex:1;display:flex;flex-direction:column;justify-content:center;width:min(600px,88vw);margin:0 auto;padding:35px 0 60px;text-align:center}
body[data-page=journal] .empty-journal p{font-size:24px;line-height:1.5}
body[data-page=journal]>footer{margin-top:auto}
@media(max-width:650px){body[data-page=journal] .journal-intro{padding-top:36px}body[data-page=journal] .journal-intro h1{font-size:clamp(36px,9vw,58px)!important}body[data-page=journal] .empty-journal p{font-size:21px}}

.prayer-notes{--density:0;row-gap:calc(40px - var(--density)*48px)}
.prayer-notes .prayer-note{min-width:0;padding:calc(30px - var(--density)*8px) 22px 22px;cursor:pointer;z-index:1;transition:box-shadow .2s}
.prayer-notes .prayer-note p{font-size:calc(19px - var(--density)*2px)}
.prayer-note>p:not(.prayer-closing){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:7;overflow:hidden}
.prayer-note.is-front,.prayer-note:focus-visible{z-index:5;box-shadow:0 4px 24px #000;border-color:var(--red)}
.prayer-reader{width:min(620px,90vw);max-height:85svh;padding:45px 30px;overflow:auto}
.prayer-reader h2{font-size:32px!important;color:var(--red)}
.prayer-reader-message{white-space:pre-wrap;overflow-wrap:anywhere;font-size:23px;line-height:1.5}
.prayer-reader-close{position:absolute;top:12px;right:16px;background:none;border:0;color:var(--paper);font:28px Arial!important}
@media(min-width:1100px){.prayer-notes.prayers-dense{grid-template-columns:1fr 1fr clamp(180px,22vw,300px) 1fr 1fr;column-gap:0;align-items:start}.prayers-dense .prayer-note{grid-column:var(--note-column);margin-inline:-5px;transform:translateY(var(--stagger)) rotate(var(--tilt))}.prayers-dense .prayer-note h2{font-size:18px}.prayers-dense .prayer-note .prayer-closing{font-size:14px}}
@media(max-width:650px){.prayer-notes{row-gap:20px}.prayer-notes .prayer-note{margin-inline:0;padding:24px 20px}.prayer-notes .prayer-note p{font-size:19px}.prayer-note>p:not(.prayer-closing){-webkit-line-clamp:8}}

.signature-wave{display:inline-block;width:22px;height:8px;margin-right:7px;vertical-align:middle;color:var(--paper);shape-rendering:crispEdges}

.signature-wave{width:16px;height:6px;margin-right:5px}


.degree-symbol{font-family:Arial,sans-serif!important;font-size:.75em;line-height:1;display:inline;vertical-align:.12em}
#links-dialog .links-journal{display:flex}#links-dialog .links-journal .degree-symbol{width:auto;font-size:.75em;color:inherit;margin:0}

#links-dialog .links-journal{display:grid}#links-dialog .links-journal .report-link-label{width:auto;text-align:left;font-size:24px;color:inherit}#links-dialog .report-link-label .degree-symbol{font-family:Arial,sans-serif!important;font-size:.75em}

.degree-symbol,#links-dialog .links-journal .degree-symbol{display:inline-block;width:.32em;height:.32em;vertical-align:.6em;margin:0 .06em;shape-rendering:crispEdges;color:inherit;font-size:1em}

.artwork-page .post-body>p{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;align-items:start}.artwork-page .post-body:first-letter,.artwork-page .post-body>p:first-letter{float:none;font-size:inherit;color:inherit}.description-initial{font-size:3em;color:var(--red);line-height:1}.description-lines{white-space:pre-wrap}

html:has(body[data-page=road]){overflow-x:clip}body[data-page=road]{width:100%;max-width:100%;overflow-x:clip}body[data-page=road] #app,body[data-page=road] .road-world{width:100%;max-width:100%;min-width:0}body[data-page=road] #fog-layer{left:50%;right:auto;transform:translateX(-50%) translateZ(0)}@media(max-width:1100px){body[data-page=road] header{max-width:100%;min-width:0}body[data-page=road] .road-intro{max-width:100%;min-width:0}body[data-page=road] .road-status{min-width:0;gap:16px}body[data-page=road] .road-status>span{min-width:0;overflow-wrap:anywhere}}

.adaptive-media{display:block;position:relative}.adaptive-media>img{display:block;width:100%;height:auto;object-fit:contain}.load-animation{display:block;margin:10px auto;background:#190909;color:var(--paper);border:1px solid #743030;padding:10px 16px;font-family:Mekzantine,serif}.post-body a{color:var(--red);text-decoration:underline}.post-body figure{scroll-margin-top:24px}

@media(max-width:650px){header .road-link:before{inset:2px 5px;background:radial-gradient(ellipse at center,#000b 0%,#0008 35%,#0003 58%,transparent 74%);filter:blur(1px)}header .road-link .static-veins{opacity:1}}

.load-animation{display:flex;align-items:center;justify-content:center;gap:9px}.load-animation .play-symbol{display:none}@media(max-width:1100px){.load-animation{background:transparent;border:0;padding:6px 12px}.load-animation .play-symbol{display:block;width:42px;height:42px;object-fit:contain;mix-blend-mode:screen}}

@media(max-width:1100px){body[data-page] .adaptive-media .load-animation{display:flex;align-items:center;justify-content:center;gap:6px;width:max-content;max-width:100%;min-height:36px;margin:6px auto 0;padding:5px 8px;font-size:12px;line-height:1.2;background:none;border:0;box-shadow:none;filter:none;transform:none}body[data-page] .adaptive-media .load-animation .play-symbol{display:block;width:22px!important;height:22px!important;min-width:22px;max-width:22px;max-height:22px;flex:0 0 22px;object-fit:contain;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;filter:none;mix-blend-mode:normal;transform:none}body[data-page] .adaptive-media .load-animation span{font-size:12px;line-height:1.2;letter-spacing:.3px;white-space:nowrap}body[data-page] .adaptive-media .load-animation:hover,body[data-page] .adaptive-media .load-animation:hover img{box-shadow:none;filter:none;transform:none}}

.artwork-page .artwork-plaque{display:block;width:220px;max-width:65%;margin:24px auto 0;border:0;padding:0;transform:none}.artwork-page .artwork-plaque img{display:block;width:100%;height:auto;margin:0}.artwork-page .artwork-plaque:hover{transform:none}@media(max-width:650px){.artwork-page .artwork-plaque{width:170px;margin-top:18px}}

.artwork-heading-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.artwork-heading-row .eyebrow{margin:0}.artwork-page .artwork-heading-row .artwork-plaque{margin:0;width:180px;flex:0 0 auto;max-width:45%}@media(max-width:650px){.artwork-page .artwork-heading-row .artwork-plaque{width:140px}}

img.signature-apple{display:inline-block;width:1.1em;height:1.1em;max-width:none;object-fit:contain;vertical-align:middle;margin:0;image-rendering:pixelated}


.road-world .path-mesh{fill:none;stroke:#ae3c36;stroke-width:.85;stroke-dasharray:1 1 5 1 11 2;opacity:.48;shape-rendering:crispEdges;pointer-events:none}@media(max-width:800px),(hover:none){.road-world .path-mesh{opacity:.45;stroke-width:1}}
