@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/dm-sans-regular.woff2') format('woff2')}
::selection{background:#cdbbdc;color:#100e12;text-shadow:none;-webkit-text-fill-color:#100e12}
:root{color-scheme:dark;--ink:#ece8df;--muted:#a4a09f;--rule:#383439;--accent:#cdbbdc;--ground:#100e12}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}
body{margin:0;background:var(--ground);color:var(--ink);font:17px/1.65 'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible,summary:focus-visible{outline:1px solid var(--accent);outline-offset:7px}
.skip{position:absolute;top:-100px}.skip:focus{top:10px;left:10px;background:var(--ground);padding:10px;z-index:2}
header,main,footer{width:calc(100% - 112px);max-width:1160px;margin:auto}
header{display:flex;align-items:center;justify-content:space-between;padding:28px 0;gap:25px}.edition{font:normal 38px/.8 'DM Sans',Arial,sans-serif;letter-spacing:-2px}nav{display:flex;gap:36px;font:14px/1.5 'DM Sans',Arial,sans-serif}nav a{text-decoration:underline;text-underline-offset:5px}
.intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:0;min-height:595px;align-items:center;position:relative;padding:20px 0 58px}.intro-copy{grid-column:1;grid-row:1;position:relative;z-index:1;padding-bottom:40px}.eyebrow{font:14px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.04em;color:var(--muted);margin:0 0 8px}h1{font:normal 125px/1 'DM Sans',Arial,sans-serif;letter-spacing:-7px;margin:0 0 35px;position:relative;z-index:2}.description{max-width:340px;margin:0 0 20px;font-size:18px;line-height:1.65}.secondary{font-size:17px;color:var(--muted);max-width:305px}.intro-link{display:inline-flex;align-items:center;gap:22px;margin-top:10px;font:14px/1.5 'DM Sans',Arial,sans-serif;text-decoration:underline;text-underline-offset:6px;color:var(--accent)}.intro-link span{font-size:23px;text-decoration:none}
.specimen{margin:0 -32px 0 -45px;grid-column:2;grid-row:1;align-self:center;position:relative}.image{height:530px;overflow:hidden;mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 86%,transparent)}.image img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:brightness(1.13);mask-image:linear-gradient(to right,transparent,#000 12%,#000 86%,transparent)}figcaption{text-align:right;font:13px/1.5 'DM Sans',Arial,sans-serif;color:#9d979f;padding-right:60px;margin-top:-8px}
.download-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px;padding:32px 0 43px;border-top:1px solid var(--rule)}h2{font:normal 28px/1.2 'DM Sans',Arial,sans-serif;letter-spacing:-.5px;margin:0}.section-label p{font-size:14px;color:var(--muted);margin:15px 0 0}.downloads{display:grid;grid-template-columns:1fr 1fr;gap:38px}.download{display:flex;align-items:center;gap:10px;min-height:54px;font:15px/1.5 'DM Sans',Arial,sans-serif;border-bottom:1px solid #786c81;padding-bottom:9px;color:var(--accent)}.download::after{content:'↓';margin-left:auto;font-size:22px}.download svg{display:none}.specs{font:14px/1.6 'DM Sans',Arial,sans-serif;margin:14px 0 0;max-width:260px;color:#c3bebf}.availability{display:block;font:13px/1.5 'DM Sans',Arial,sans-serif;color:var(--muted);margin-top:10px}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px;border-top:1px solid var(--rule);padding:37px 0 70px}summary{cursor:pointer;list-style:none;position:relative;padding:17px 32px 17px 0;font-size:17px}summary::-webkit-details-marker{display:none}summary::after{content:'+';position:absolute;right:0;top:19px;color:var(--muted);font:16px 'Courier New',monospace}details[open] summary::after{content:'−'}details{border-bottom:1px solid #2a272c}details:last-child{border-bottom:none}details:first-child summary{padding-top:0}details:first-child summary::after{top:2px}details p{font-size:16px;color:var(--muted);margin:0 25px 22px 0;line-height:1.65}details:target{background:#211b26;outline:8px solid #211b26}
footer{border-top:1px solid var(--rule);padding:26px 0 40px;display:flex;justify-content:space-between;align-items:center;gap:20px;font:13px/1.5 'DM Sans',Arial,sans-serif;color:var(--muted)}.footer-brand{font:normal 31px/1 'DM Sans',Arial,sans-serif;letter-spacing:-1px;color:var(--ink)}
@media(min-width:1400px){h1{font-size:140px}.intro{min-height:640px}.image{height:590px}}
@media(max-width:1000px){header,main,footer{width:calc(100% - 64px)}.intro{min-height:550px}h1{font-size:105px;letter-spacing:-6px}.description{font-size:18px;max-width:295px}.secondary{font-size:16px;max-width:265px}.image{height:480px}.specimen{margin-right:-22px;margin-left:-20px}.download-section,.faq{gap:28px}.downloads{gap:23px}.download{font-size:14px}.specs{font-size:14px}}
@media(max-width:680px){header,main,footer{width:calc(100% - 40px)}header{padding:24px 0}nav{font-size:14px;gap:24px}.intro{grid-template-columns:1fr;min-height:0;padding:25px 0 28px}.intro-copy{grid-column:1;grid-row:1;padding-bottom:0}.eyebrow{font-size:14px}h1{font-size:100px;letter-spacing:-6px;margin-bottom:27px}.description{max-width:360px;font-size:18px}.secondary{max-width:320px;font-size:17px}.intro-link{margin-top:1px}.specimen{grid-column:1;grid-row:2;margin:10px -18px 0}.image{height:auto;aspect-ratio:1.15}.image img{height:auto;aspect-ratio:1.15;object-fit:cover}figcaption{padding-right:25px;font-size:12px;margin-top:-15px}.download-section,.faq{grid-template-columns:1fr;gap:25px;padding:28px 0 34px}.section-label p{font-size:14px}.section-label p br{display:none}.downloads{gap:26px}.download{min-height:60px;font-size:14px}.faq h2 br{display:none}h2{font-size:27px}.faq{padding-bottom:45px}footer{font-size:11px}footer span:nth-child(2){display:none}}
@media(max-width:360px){h1{font-size:86px}.downloads{grid-template-columns:1fr;gap:24px}.download{min-height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* The ritual and the games supply the artwork. */
.story-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px 45px;border-top:1px solid var(--rule);padding:65px 0}.chapter{display:block;font-size:13px;letter-spacing:.06em;color:var(--muted);margin-bottom:20px}.story-copy p{margin:0 0 20px;max-width:590px}.story-copy p:last-child{margin-bottom:0}.story-copy .lead{font-size:23px;line-height:1.4;color:var(--ink)}.story-copy{color:#c3bec5}.story-copy .aside{font-size:14px;color:var(--muted);max-width:490px}.ritual-film{grid-column:1/-1;margin:8px auto 0;width:100%;max-width:850px}.ritual-film img,.ritual-film video{display:block;width:100%;height:auto;aspect-ratio:1280/850;object-fit:cover;background:#080709}.ritual-film figcaption,.game figcaption{padding:12px 0 0;margin:0;text-align:left;font-size:13px}.after-rite{grid-column:2;margin:0;max-width:550px;color:#c3bec5}.play-section{padding:60px 0;border-top:1px solid var(--rule)}.play-heading{margin-bottom:45px}.play-heading p{color:var(--muted);margin:15px 0 0}.game{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:center;margin:0 0 65px}.game:last-child{margin-bottom:0}.game figure{margin:0}.game video{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;background:#09090a}.game h3{font-size:27px;line-height:1.2;letter-spacing:-.5px;font-weight:400;margin:0 0 20px}.game p{color:#c3bec5;margin:0;font-size:17px;max-width:365px}.author-note{padding-bottom:75px}.author-note .story-copy{color:var(--muted)}
@media(max-width:680px){nav{gap:17px;font-size:13px}.story-section{grid-template-columns:1fr;gap:24px;padding:38px 0}.chapter{margin-bottom:12px}.story-copy .lead{font-size:22px}.ritual-film,.after-rite{grid-column:1}.ritual-film{margin:0}.play-section{padding:38px 0}.play-heading{margin-bottom:30px}.game{grid-template-columns:1fr;gap:23px;margin-bottom:45px}.game p{max-width:none}.game h3{font-size:25px;margin-bottom:14px}}
.story-section{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.story-section>*{min-width:0}.game{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.game>*{min-width:0}@media(max-width:680px){.story-section,.game{grid-template-columns:minmax(0,1fr)}}

.jar-preview{position:relative}.jar-preview canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}.jar-preview.jar-ready canvas{opacity:1}.jar-preview.jar-ready img{visibility:hidden}.specimen figcaption{position:relative}.specimen figcaption button{display:block;margin:8px 0 0 auto;border:0;padding:4px 0;background:none;color:var(--muted);font:12px/1.5 'DM Sans',Arial,sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.specimen figcaption button[hidden]{display:none}.specimen figcaption button:focus-visible{outline:1px solid var(--accent);outline-offset:4px}

.jar-preview canvas,.jar-preview img{transition:opacity .65s ease}.jar-preview.jar-ready img{visibility:visible;opacity:0;pointer-events:none}.jar-preview.jar-ready canvas{pointer-events:auto;touch-action:pan-y pinch-zoom}.specimen figcaption{padding-right:28px}.jar-loading{display:block;margin-top:8px;color:var(--muted);font-size:13px}.jar-controls{margin-top:14px}.jar-controls[hidden],.jar-loading[hidden]{display:none}.jar-actions{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap}.specimen figcaption .jar-actions button{display:inline-block;margin:0;font-size:14px;padding:6px 0}.jar-actions label{font-size:13px;color:var(--muted);margin-left:4px}.jar-actions input{width:94px;accent-color:var(--accent);cursor:pointer;margin:0}.jar-actions input:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.jar-hint{display:block;font-size:12px;margin-top:9px;min-height:18px}.specimen figcaption #jar-toggle{margin-top:5px}@media(max-width:680px){.specimen figcaption{padding-right:20px;padding-left:20px}.jar-actions{gap:14px}.jar-actions input{width:82px}}@media(prefers-reduced-motion:reduce){.jar-preview canvas,.jar-preview img{transition:none}}

.specimen figcaption{min-height:130px}

/* A quieter title leaves the familiar and his world in focus. */
.intro-copy h1{font-size:clamp(32px,3.3vw,44px);line-height:1.15;letter-spacing:-1.5px;margin-bottom:24px}.intro-copy .secondary{max-width:355px}.intro-copy .description a{text-decoration:underline;text-underline-offset:4px}.invitation{margin:25px 0 0;font-size:18px;color:var(--accent)}

.institute-footer{position:relative;display:flex;flex-direction:column;gap:28px;padding:60px 0 25px;text-align:center}
.institute-credit{margin:0;font-size:14px;line-height:1.8;color:var(--muted)}.institute-credit strong{display:block;font-weight:400;letter-spacing:.15em;color:var(--ink);font-size:15px}
.institute-seal{display:grid;grid-template-columns:1fr minmax(0,380px) 1fr;align-items:center;gap:28px;width:100%;max-width:830px}
.institute-words{margin:0;font-size:13px;line-height:2.5;letter-spacing:.16em;color:var(--ink)}.words-left{text-align:right}.words-right{text-align:left}
.institute-eye{display:none;grid-column:2;position:relative;width:100%;aspect-ratio:1;isolation:isolate;mix-blend-mode:screen}.institute-eye img{display:block;width:100%;height:100%;object-fit:contain;transition:none}.institute-eye .eye-open{position:absolute;inset:0;opacity:0}.institute-eye.is-open .eye-open{opacity:1}.institute-eye.is-open .eye-closed{opacity:0}
.institute-top{font-size:12px;color:var(--muted)}#page-bottom{position:absolute;bottom:0;left:50%;width:1px;height:1px}
@media(max-width:680px){.institute-footer{padding-top:40px;gap:22px}.institute-credit{font-size:12px}.institute-credit strong{font-size:12px;letter-spacing:.1em}.institute-seal{grid-template-columns:1fr minmax(0,1.8fr) 1fr;gap:8px}.institute-words{font-size:11px;letter-spacing:.03em;line-height:2.6}}
@media(prefers-reduced-motion:reduce){.institute-eye img{transition:none}}

.institute-footer .institute-words,.institute-footer .institute-credit strong{color:#ece8df;opacity:.2}

.institute-footer{row-gap:4px}

.action-section{border-top:1px solid var(--rule);padding:40px 0 50px}.action-section h2{margin-bottom:28px}.action-section video{display:block;width:100%;aspect-ratio:16/9;background:#080709}@media(max-width:680px){.action-section{padding:28px 0 34px}.action-section h2{margin-bottom:20px}}

.specimen figcaption{text-align:center;padding-left:0;padding-right:0;min-height:82px}.jar-actions{justify-content:center}.jar-hint:empty{display:none}.specimen figcaption #jar-toggle{margin-left:auto;margin-right:auto}

.download{padding:15px 18px;min-height:58px;border:1px solid #65596e;border-radius:5px;background:#1b1720;color:var(--ink);transition:background .18s ease,border-color .18s ease}.download:hover{background:#292131;border-color:var(--accent);color:var(--ink)}.download:active{background:#33293c}.download:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.download::after{font-size:20px}@media(max-width:680px){.download{padding:13px 12px;font-size:13px;gap:8px}}

.play-heading p{max-width:760px}

.alpha-label{display:inline-block;vertical-align:middle;font-size:13px;letter-spacing:0;color:var(--muted);white-space:nowrap}

video{cursor:pointer}video:focus-visible{outline:2px solid #bdb0c5;outline-offset:4px}

.video-shell{position:relative;width:100%}.video-surface{position:absolute;inset:0;background:transparent;border:0;cursor:pointer;padding:0;width:100%;height:100%;border-radius:0}.video-surface.with-controls{bottom:48px;height:calc(100% - 48px)}.video-surface:focus-visible{outline:2px solid #bdb0c5;outline-offset:3px}

.institute-footer .institute-credit strong{opacity:.7}

header .edition{display:block;flex:0 0 64px;width:64px;height:64px;line-height:0;letter-spacing:0}header .edition img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:screen}.alpha-label{color:#d8b56d;background:linear-gradient(115deg,#b68a43 0%,#f6e3a6 38%,#d6ae5d 60%,#f1d994 82%,#ba914b 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}@media(max-width:680px){header .edition{flex-basis:52px;width:52px;height:52px}}

.sleeping-varkos{width:min(100%,620px);margin:0 auto 24px}.sleeping-varkos video{display:block;width:100%;height:auto;aspect-ratio:16/9;mask-image:radial-gradient(ellipse,#000 35%,transparent 73%);-webkit-mask-image:radial-gradient(ellipse,#000 35%,transparent 73%)}

/* Touch controls and a more comfortable reading layout on narrow screens. */
.jar-preview.jar-ready canvas{touch-action:pan-y}
.jar-actions{gap:16px;flex-wrap:nowrap;padding:0 24px}
.jar-actions input{appearance:none;-webkit-appearance:none;width:180px;max-width:65%;height:44px;background:transparent;touch-action:pan-y}
.jar-actions input::-webkit-slider-runnable-track{height:3px;background:#65596e;border-radius:3px}
.jar-actions input::-moz-range-track{height:3px;background:#65596e;border-radius:3px}
.jar-actions input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:24px;height:24px;margin-top:-10.5px;border:2px solid var(--ground);border-radius:50%;background:var(--accent)}
.jar-actions input::-moz-range-thumb{width:20px;height:20px;border:2px solid var(--ground);border-radius:50%;background:var(--accent)}
.game video{aspect-ratio:16/9}
@media(max-width:900px){
 .download-section,.faq,.story-section{grid-template-columns:minmax(0,1fr);gap:28px}
 .after-rite{grid-column:1;max-width:none}
 .story-copy p{max-width:none}
 .game{grid-template-columns:minmax(0,1fr);gap:24px}
 .game p{max-width:none}
 .intro{grid-template-columns:minmax(0,1fr);min-height:0;padding-bottom:28px}
 .intro-copy{grid-column:1;grid-row:1;padding-bottom:0}
 .intro-copy .description,.intro-copy .secondary{max-width:580px}
 .specimen{grid-column:1;grid-row:2;width:100%;max-width:650px;margin:8px auto 0}
 .image{height:auto;aspect-ratio:1.3}
 .image img{height:100%;aspect-ratio:auto}
}
@media(max-width:600px){
 header{gap:14px;padding:18px 0}
 nav{gap:14px;flex-wrap:wrap;justify-content:flex-end}
 nav a{display:inline-flex;align-items:center;min-height:44px}
 .intro{padding-top:20px}
 .intro-copy h1{font-size:32px;letter-spacing:-1px}
 .intro-copy .description,.intro-copy .secondary{max-width:none}
 .specimen{width:calc(100% + 24px);margin:6px -12px 0}
 .jar-actions input{width:220px;height:48px}
 .jar-controls{margin-top:4px}
 .specimen figcaption{min-height:64px;margin-top:-6px}
 .downloads{grid-template-columns:minmax(0,1fr);gap:26px}
 .download{font-size:16px;min-height:56px;padding:14px 18px}
 .specs{max-width:none;margin-top:10px}
 .story-section,.play-section{padding:36px 0}
 .story-copy .lead{font-size:21px}
 .game{gap:20px;margin-bottom:40px}
 details:first-child summary{padding-top:17px}
 details:first-child summary::after{top:19px}
 details p{margin-right:0}
 summary{min-height:56px}
 .institute-footer{padding-top:28px}
 .institute-seal{gap:6px}
 .institute-words{font-size:10px;letter-spacing:0}
}

/* The sleeping dog is a quiet, non-interactive footer detail. */
.faq{padding-bottom:18px}
.sleeping-varkos{margin:0 auto;pointer-events:none;user-select:none;-webkit-user-select:none}
.sleeping-varkos video{pointer-events:none;user-select:none;-webkit-user-select:none;cursor:default}

.institute-credit a{text-decoration:underline;text-underline-offset:4px}

@media(max-width:900px){
 .intro{padding-bottom:16px}
 .specimen{max-width:720px;margin-top:-10px}
 .specimen .image{aspect-ratio:1.15}
 .specimen figcaption{min-height:52px}
 .jar-controls{margin-top:4px}
}
@media(max-width:600px){
 .specimen{width:calc(100% + 32px);margin:-10px -16px 0}
}

.sleeping-varkos{margin-top:-12px;margin-bottom:-12px}

/* A slightly larger jar within the existing intro framing. */
.jar-preview canvas,.jar-preview img{transform:scale(1.1);transform-origin:center}

.future-todos{margin-top:24px;max-width:590px;color:var(--muted);font-size:14px;line-height:1.65}.future-todos h3{margin:0 0 8px;font-size:14px;font-weight:500;letter-spacing:0}.future-todos ul{margin:0;padding-left:18px}.future-todos li+li{margin-top:4px}
