/* Original cloth, silver tooling and heraldic marks. No third-party artwork. */
:root { --tooling:#82aeb5; --cloth:url('/assets/images/book-cloth.png'); }
::selection { background:#b2e7ed; color:#071115; }
:focus-visible { outline:2px solid #b2e7ed; outline-offset:5px; }
html { scrollbar-color:#567d85 #080d10; }
input,textarea { caret-color:#b2e7ed; }
body::after {
 content:''; position:fixed; inset:0; z-index:40; pointer-events:none;
 background:url('/assets/images/ambient-particles.svg') 0 0/640px 640px repeat;
 opacity:.34; mix-blend-mode:screen;
}
.reading-paths,.author-editorial,.library-catalog,footer { background-color:#071216; background-image:var(--cloth); }
.writing-desk { background-color:#030708; background-image:var(--cloth); overflow:visible; }
.home-collection,.entry-feature,.journal-editorial { background-color:#000; }
.reading-paths,.author-editorial,.writing-desk,.closing-invitation { position:relative; border-block:1px solid #344b50; }
.reading-paths::after,.author-editorial::after,.writing-desk::after,.closing-invitation::after {
 content:''; position:absolute; pointer-events:none; inset:-20px auto auto 50%; width:190px; height:40px; border:0; outline:0;
 transform:translateX(-50%); background:transparent url('/assets/images/silver-flourish.svg') center/contain no-repeat;
}
.writing-desk::before { background-image:var(--cloth)!important; opacity:.4!important; filter:none!important; }
.desk-projects { border-inline:1px solid #294046; padding-inline:26px; }
.desk-ring__value { font-variant-numeric:tabular-nums; }
.collection-card__body { position:relative; }
.story-emblem { display:block; width:56px; height:56px; object-fit:contain; margin:0 0 18px; opacity:.9; }
.collection-card__body .story-emblem { width:42px; height:42px; margin-bottom:14px; }
.collection-card { border-color:#33494f; }
.collection-card:hover { border-color:#86b3bc; }
.collection-card__art { background-image:var(--cloth); }
.story-title { position:relative; }
.story-title .story-emblem { width:72px; height:72px; margin-bottom:22px; }
.entry-feature__copy { position:relative; }
.entry-feature__copy::before { content:''; display:block; width:60px; height:60px; margin-bottom:24px; background:url('/assets/images/emblem-this-bleeding-light.svg') center/contain no-repeat; }
.editorial-hero .hero-depth { position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden; mask-image:linear-gradient(to top,transparent,#000 18%); }
.hero-depth__knight,.hero-depth__sword { position:absolute; inset:0; background-repeat:no-repeat; }
.hero-depth__knight { background-image:url('/assets/images/hero-knight.webp'); background-size:auto 91%; background-position:103% 110%; transform:translate(var(--depth-x,0px),var(--depth-y,0px)); }
.hero-depth__sword { background-image:url('/assets/images/hero-sword.webp'); background-size:auto 74%; background-position:98% 76%; transform:translate(var(--depth-x,0px),var(--depth-y,0px)); }
.contact-page .page-hero { position:relative; isolation:isolate; overflow:hidden; min-height:520px; display:flex; align-items:center; }
.contact-page .page-hero::before {
 content:''; position:absolute; inset:70px -4% -30px; z-index:-1; pointer-events:none;
 background:url('/assets/images/bg-knights-sketch.webp') center 68%/min(1400px,110vw) auto no-repeat;
 filter:invert(1) sepia(.15) hue-rotate(142deg) saturate(.75); opacity:.13;
 mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 84%,transparent),linear-gradient(0deg,transparent 0,#000 25%);
 mask-composite:intersect;
}
.nav-inner { max-width:var(--maxw); margin-inline:auto; width:100%; height:112px; transition:height .3s ease; }
.nav .brand-logo { height:68px; max-height:none; transition:height .3s ease; }
.nav.scrolled .nav-inner { height:88px; }
.nav.scrolled .brand-logo { height:48px; }
.passport-button { width:auto!important; height:48px!important; border-radius:4px; padding:8px 14px; background:#0a191e!important; border:1px solid #54767e; display:flex; align-items:center; gap:10px; }
.passport-button::before { display:none; }
.passport-button-label { color:#d5eef1; font:500 12px var(--ui); }
.passport-glass-mark { position:static; width:28px; height:28px; }
.passport-glass-mark img { width:28px; height:28px; opacity:1!important; filter:none!important; }
.passport-panel-inner { background:#071115 var(--cloth); color:#d2e0e3; }
.passport-intro,.passport-panel p { color:#b5c9ce; }
.passport-journey { border-block:1px solid #49656b; padding:24px 0; margin-bottom:24px; }
.journey-rank { display:flex; align-items:center; gap:16px; }
.journey-rank h3 { font:500 34px var(--display); color:#dcf4f6; margin:0; }
.journey-rank span,.journey-next>span { font:12px var(--ui); color:#a5cbd1; }
.journey-rank>b { margin-left:auto; white-space:nowrap; font:500 14px var(--ui); color:#b2e7ed; }
.passport-journey progress { appearance:none; width:100%; height:7px; border:0; margin-top:22px; background:#253d44; }
.passport-journey progress::-webkit-progress-bar { background:#253d44; }
.passport-journey progress::-webkit-progress-value { background:#b2e7ed; }
.passport-journey progress::-moz-progress-bar { background:#b2e7ed; }
.passport-journey>p { font-size:12px; margin-top:8px; }
.journey-next { margin-top:26px; padding:22px; background:#10242b; }
.journey-next h4 { font:500 28px var(--display); margin:6px 0; color:#edf6f7; }
.quest-link { display:inline-flex; padding:10px 0; color:#b2e7ed; text-decoration:underline; text-underline-offset:5px; }
.quest-complete { color:#b2e7ed!important; }
.passport-profile-details>summary { cursor:pointer; padding:16px 0; color:#d0e6e9; }
.passport-progress-fill { background:#a6dbe1; }
.passport-seal { background:#091a20!important; border-color:#38525b!important; }
.passport-seal-name { color:#e4eef0!important; }
.passport-seal-hint,.passport-locked-label { color:#afc4ca!important; }
.passport-seal.is-locked { opacity:1; }
@media(min-width:1001px) and (prefers-reduced-motion:no-preference) {
 .hero-depth__knight,.hero-depth__sword { animation:knight-float 8s ease-in-out infinite alternate; }
 .hero-depth.is-paused>div { animation-play-state:paused; }
 @keyframes knight-float { from {translate:0 5px;} to {translate:0 -9px;} }
}
@media(max-width:800px) {
 .nav-inner {padding-inline:25px;height:94px;}
 .nav .brand-logo {height:56px;}
 .nav.scrolled .nav-inner {height:78px;}
 .nav.scrolled .brand-logo {height:42px;}
 .journey-rank {gap:10px;}
 .journey-rank h3 {font-size:27px;}
 .journey-rank img {width:44px;height:44px;}
}
@media(min-width:1001px) {
 .editorial-hero .hero-art { background-image:url('/assets/images/hero-sky.webp'); background-position:right center; transform:scale(1.025) translate(calc(var(--depth-x,0px) * -.3),calc(var(--depth-y,0px) * -.3)); }
 .editorial-hero .hero-depth::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#000 2%,#000e6 25%,#00065 46%,transparent 66%); }
 .editorial-hero__copy { position:relative; z-index:2; }
}
@media(max-width:1000px) { .editorial-hero .hero-depth { display:none; } }
@media(max-width:600px) {
 .desk-projects { padding-inline:0; border-inline:0; }
 .reading-paths::after,.author-editorial::after,.writing-desk::after,.closing-invitation::after { width:140px; }
 .story-title .story-emblem { width:58px; height:58px; }
 .contact-page .page-hero { min-height:470px; }
 .contact-page .page-hero::before { inset:90px -40% 0; background-size:980px auto; opacity:.1; }
}
@media(prefers-reduced-motion:reduce) {
 .hero-depth__knight,.hero-depth__sword,.editorial-hero .hero-art { transform:none!important; }
}

/* Ink on a weathered manuscript: one original scan, varied scale and direction. */
:root { --manuscript-ink:url('/assets/images/blue-manuscript-ink.webp'); }
.nav,.nav.scrolled { background-color:#03090c; border-bottom:1px solid #82aeb52e; box-shadow:none; }
.nav::before {
 content:''; position:absolute; inset:0; pointer-events:none;
 background:var(--manuscript-ink) center bottom/100% 310px no-repeat;
 opacity:.2; mix-blend-mode:screen;
 mask-image:linear-gradient(90deg,#000,transparent 27%,transparent 72%,#000);
}
.nav-inner { position:relative; z-index:1; }
.nav.scrolled::before { opacity:.14; }
.manuscript-edge {
 position:absolute; inset:-70px 0 auto; height:100px; pointer-events:none; z-index:1;
 background:var(--manuscript-ink) center bottom/100% 100% no-repeat;
 mix-blend-mode:screen; opacity:.19;
 mask-image:linear-gradient(to bottom,#000 75%,transparent);
}
.reader-manifesto,.journal-editorial { position:relative; }
.reader-manifesto { border:0; }
.reading-paths,.author-editorial,.writing-desk,.closing-invitation { border-block:0; }
.reading-paths .manuscript-edge { transform:scaleX(-1); height:80px; top:-55px; opacity:.15; }
.author-editorial .manuscript-edge { background-size:135% 100%; background-position:right bottom; opacity:.2; }
.journal-editorial .manuscript-edge { transform:scaleX(-1); height:70px; top:-48px; opacity:.13; }
.writing-desk .manuscript-edge { height:115px; top:-80px; opacity:.23; }
.reading-paths::after,.author-editorial::after,.writing-desk::after,.closing-invitation::after { z-index:2; }
.footer { position:relative; isolation:isolate; background-color:#061014; border-top:0; }
.footer::after {
 content:''; position:absolute; inset:0; z-index:-1; pointer-events:none;
 background:var(--manuscript-ink) center bottom/100% 480px no-repeat;
 mix-blend-mode:screen; opacity:.12;
 mask-image:linear-gradient(90deg,#000,transparent 38%,transparent 62%,#000);
}
.footer>.torn-edge { --torn-fill:#061014; height:34px; }
@media(max-width:800px) {
 .nav::before { background-size:900px 240px; background-position:35% bottom; opacity:.18; }
 .manuscript-edge { top:-42px; height:64px; background-size:180% 100%; }
 .writing-desk .manuscript-edge { top:-48px; height:72px; opacity:.2; }
 .reading-paths .manuscript-edge,.journal-editorial .manuscript-edge { top:-38px; height:58px; }
 .footer::after { background-size:1000px 400px; }
}
