@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600&family=Montserrat:wght@400;500;600;700&display=swap');
:root{--paper:#f6f4ef;--ink:#202926;--muted:#656c65;--gold:#dec398;--line:#d8d8ce;--serif:'Cinzel','Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Montserrat','Century Gothic',Arial,sans-serif;font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b17c31;outline-offset:5px}button{border:0;background:none}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.045em}em{font-weight:400;color:#8f7956}p{color:var(--muted)}header{height:106px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper)}.brand{display:flex;align-items:center;gap:14px;font-family:var(--serif);font-size:14px;letter-spacing:.14em;line-height:1.3}.brand b{font-size:20px;font-weight:400;letter-spacing:.09em}.monogram{display:grid;place-items:center;width:53px;height:53px;font-size:43px;font-style:italic;border:1px solid currentColor;border-radius:50%;line-height:1}nav{display:flex;align-items:center;gap:36px;font-size:14px;font-weight:500}.button{background:var(--ink);color:white;padding:16px 26px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{background:#3c4942;transform:translateY(-2px)}.button.small{padding:11px 23px}.button.gold{background:var(--gold);color:var(--ink)}.button.gold:hover{background:#eed7b3}.text-link{padding:6px 0;border-bottom:1px solid currentColor;font-weight:500;font-size:14px}.menu{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;max-width:1600px;margin:auto;padding:60px 6% 56px;gap:50px;align-items:center}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:600;margin-bottom:24px;color:var(--muted)}h1{font-size:clamp(48px,5.3vw,86px)}h1 em{display:inline-block;margin-top:7px}.intro{font-size:17px;line-height:1.7;margin-top:28px}.actions{display:flex;align-items:center;gap:28px;margin-top:30px}.hero-note{font-size:11px;letter-spacing:.19em;margin-top:46px}.portrait{position:relative;background:#e9e5dc;overflow:hidden;align-self:stretch;max-height:650px;min-height:560px;border-radius:200px 200px 0 0}.portrait>svg{width:100%;height:100%;display:block;object-fit:cover}.portrait-caption{position:absolute;bottom:0;left:0;right:0;padding:44px 28px 25px;background:linear-gradient(transparent,rgba(10,15,13,.9));color:#fff;display:flex;align-items:end;justify-content:space-between;font-size:14px;line-height:1.5}.signature{font-family:var(--serif);font-style:italic;font-size:28px;letter-spacing:-.06em}.vertical{position:absolute;right:13px;top:40%;writing-mode:vertical-rl;font-size:10px;letter-spacing:.25em;color:#1d241e}.mobile-break{display:none}.values{background:var(--ink);color:#ede9df;display:flex;align-items:center;justify-content:center;gap:6vw;padding:23px 6%;font-size:12px;letter-spacing:.2em}.values i{font-size:14px;color:var(--gold)}.section{padding:95px 6%;max-width:1600px;margin:auto}.section-top{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:32px}.section-top p:not(.eyebrow){font-size:15px}h2{font-size:clamp(36px,3.7vw,58px)}.section-top .eyebrow{margin-bottom:15px}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:30px 0 38px}.filters button{font-size:14px;padding:9px 20px;border:1px solid var(--line);border-radius:30px}.filters button.active{background:var(--ink);border-color:var(--ink);color:#fff}.filters button:hover:not(.active){background:#e9e9e0}.book-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:36px 24px}.cover-back{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio: .76;background:#e6e7df;padding:24px;overflow:hidden}.tone-1{background:#e4e0dc}.tone-2{background:#dde2df}.tone-3{background:#e5e6e2}.cover{width:100%;height:auto;box-shadow:8px 10px 12px #131c2633;transform:rotate(-3deg);transition:transform .25s}.cover-back:hover .cover{transform:rotate(0) translateY(-6px)}.book-meta{display:flex;align-items:center;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:18px}.book h3{font-family:var(--serif);font-weight:400;font-size:23px;line-height:1.15;margin-top:7px}.book h3 button{font:inherit;text-align:left;padding:0}.book>p{font-size:13px;line-height:1.5;margin-top:7px;min-height:39px}.book-link{border-bottom:1px solid #969d90;padding:0 0 3px;font-size:13px;font-weight:600;margin-top:16px}.saga{background:#172826;padding:78px 8%;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;color:#f6f2e9;overflow:hidden}.saga .eyebrow{color:#c7b491}.saga h2{font-size:clamp(38px,4vw,64px)}.saga em{color:#d8ba86}.saga p:not(.eyebrow){max-width:430px;color:#b7c0b7;margin:24px 0;font-size:16px}.trilogy{display:flex;align-items:center;justify-content:center;position:relative;padding:20px 0}.saga-cover{width:39%;flex-shrink:0;box-shadow:15px 22px 30px #0008;padding:0;transition:transform .25s}.saga-cover svg{width:100%;display:block}.saga-0{transform:rotate(-12deg) translate(18px,8px)}.saga-1{z-index:2;transform:translateY(-20px)}.saga-2{transform:rotate(12deg) translate(-18px,8px)}.saga-cover:hover{transform:translateY(-30px);z-index:3}.services{display:grid;grid-template-columns:1fr 1.1fr;gap:9%}.service-intro>p:not(.eyebrow){max-width:420px;margin-top:24px}.service-intro h2{font-size:clamp(36px,3.4vw,53px)}.service-intro .text-link{display:inline-block;margin-top:28px}.service{border-bottom:1px solid var(--line)}.service:first-child{border-top:1px solid var(--line)}.service-toggle{display:flex;gap:18px;align-items:center;width:100%;text-align:left;padding:21px 0}.service-toggle span{flex:1;font-size:19px}.service-detail{padding:0 0 26px 40px}.service-detail h3{font-size:17px;font-weight:500}.service-detail p{font-size:15px;margin-top:10px}.service-detail .topics{font-size:12px;color:#817255}.about{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.1fr;gap:9%;padding-top:70px;padding-bottom:85px}.about .large-copy{font-family:var(--serif);font-size:29px;line-height:1.35;color:var(--ink);margin-bottom:22px}.about p:not(.eyebrow){margin-bottom:18px}.about .signature{display:block;margin-top:28px;font-size:36px}.contact{max-width:none;background:#202b27;color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact .eyebrow{color:#c7b591}.contact h2 em{color:var(--gold)}.contact p:not(.eyebrow){color:#bac2b8;max-width:360px;margin-top:25px}.contact-note{color:#b8bba9;border-top:1px solid #ffffff26;padding-top:24px;margin-top:40px;font-size:14px;max-width:330px}form label{display:flex;flex-direction:column;font-size:13px;gap:8px;margin-bottom:19px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}input,select,textarea{width:100%;background:#ffffff05;border:1px solid #9da38b66;border-radius:0;padding:12px;color:var(--paper);font-size:15px}input::placeholder,textarea::placeholder{color:#a4ada4}select option{background:#202b27}textarea{resize:vertical}.contact .privacy-note{max-width:none;font-size:12px;line-height:1.5;margin:0 0 20px}.contact .form-status{margin-top:14px;font-size:14px;max-width:none}.button:disabled{opacity:.6;cursor:wait}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}footer{padding:40px 6%;display:flex;align-items:center;justify-content:space-between;gap:24px}footer p{font-family:var(--serif);font-size:19px}footer>span{font-size:12px;color:var(--muted)}.skip{position:fixed;top:-100px;left:10px;background:white;z-index:100;padding:10px}.skip:focus{top:10px}.modal-backdrop{position:fixed;inset:0;background:#101915bb;z-index:20;display:grid;place-items:center;padding:20px;overflow:auto}.book-dialog{position:relative;border:0;background:var(--paper);color:var(--ink);display:grid;grid-template-columns:190px 1fr;gap:36px;max-width:760px;width:100%;padding:50px 36px;margin:auto;max-height:90vh;overflow:auto}.book-dialog::backdrop{background:#101915bb}.dialog-cover{width:100%;box-shadow:8px 10px 20px #0003}.book-dialog h2{font-size:37px}.dialog-detail{margin:12px 0 20px;font-weight:500}.book-dialog .button{margin-top:24px}.book-dialog .retailer-note{font-size:12px;margin-top:12px}.close{position:absolute;right:12px;top:12px;padding:5px}.book-dialog .eyebrow{margin-bottom:12px}
@media(min-width:1600px){.saga,.contact{padding-left:calc((100vw - 1408px)/2);padding-right:calc((100vw - 1408px)/2)}}
@media(max-width:1100px){.book-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hero{gap:28px}.portrait{min-height:510px}.portrait-caption{display:block}.portrait-caption .signature{display:block;margin-top:8px}.hero-note{margin-top:26px}.section{padding-top:70px;padding-bottom:70px}.services,.about{gap:6%}.values{gap:4vw}.cover-back{padding:21px}}
@media(max-width:760px){header{height:86px;padding:0 6%}.brand{font-size:11px;gap:10px}.brand b{font-size:17px}.monogram{width:42px;height:42px;font-size:33px}.menu{display:block}nav{display:none;position:absolute;top:86px;left:0;right:0;background:var(--paper);padding:25px 6%;z-index:5;border-bottom:1px solid var(--line)}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:22px}.hero{padding-top:40px;grid-template-columns:1fr;gap:35px}.hero h1{font-size:clamp(48px,10vw,76px)}.hero-note{display:none}.portrait{max-height:540px;min-height:0;height:115vw;max-width:470px;width:100%;margin:0 auto}.portrait-caption{display:flex}.portrait-caption .signature{font-size:25px}.hero .eyebrow{font-size:10px}.intro{font-size:16px}.actions{gap:22px}.values{padding:20px 5%;gap:4%;justify-content:space-between;font-size:9px;letter-spacing:.1em}.values i{font-size:9px}.section-top{display:block}.section-top>p{margin-top:20px}.section{padding:60px 6%}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 18px}.cover-back{padding:24px}.book h3{font-size:23px}.filters{gap:8px;margin:25px 0}.filters button{padding:8px 13px;font-size:13px}.saga{grid-template-columns:1fr;padding:60px 8%;gap:42px}.trilogy{padding:20px 7%}.saga h2{font-size:44px}.services,.about,.contact{grid-template-columns:1fr;gap:35px}.service-intro h2{font-size:40px}.service-intro>p:not(.eyebrow){max-width:none}.about{gap:27px}.contact h2{font-size:48px}.contact-note{display:none}.contact p:not(.eyebrow){max-width:none}.form-row{grid-template-columns:1fr;gap:0}footer{flex-wrap:wrap}footer>span{width:100%}footer p{font-size:16px}.book-dialog{grid-template-columns:1fr;padding:45px 25px 28px;gap:25px}.dialog-cover{width:145px;margin:auto}.book-dialog h2{font-size:33px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.book-dialog{position:fixed;inset:0;height:fit-content}.book-dialog:not([open]){display:none}

/* Original supplied brand artwork preserves the exact monogram and wordmark. */
.brand{display:block;flex-shrink:0;width:246px;line-height:0}
.brand-art{display:block;width:100%;height:auto;background:transparent}
h1,h2{letter-spacing:-.025em}
h1{font-size:clamp(44px,4.7vw,74px)}
.book h3{font-size:20px;line-height:1.3}
.signature{font-family:Georgia,'Times New Roman',serif}
@media(max-width:760px){.brand{width:213px}.hero h1{font-size:clamp(39px,8.4vw,63px)}.book h3{font-size:18px}.saga h2{font-size:38px}.service-intro h2{font-size:34px}.contact h2{font-size:40px}.book-dialog h2{font-size:29px}}

.affiliate-disclosure{font-size:14px;line-height:1.55;color:#555e55;margin:16px 0}.paid-link{font-size:14px!important;line-height:1.55!important;margin-top:12px!important;color:#555e55!important}.other-authors{border-bottom:1px solid var(--line)}.author-invitation{display:flex;align-items:center;gap:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0;margin-top:32px}.author-invitation>svg{flex-shrink:0;color:#8f7956}.author-invitation>div{flex:1}.author-invitation h3{font-family:var(--serif);font-size:25px;font-weight:400;margin-bottom:12px}.author-invitation p{max-width:620px}.author-invitation .button{flex-shrink:0}.spotlight-note{font-size:14px;margin-top:23px}.inline-link{padding:0;border-bottom:1px solid currentColor;font:inherit}.featured-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin:30px 0}.featured-book{display:flex;gap:25px;border:1px solid var(--line);padding:28px;align-items:flex-start}.featured-cover{width:120px;height:auto;max-height:200px;object-fit:contain}.featured-book h3{font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.25}.featured-book .eyebrow{margin-bottom:12px}.featured-byline{margin:10px 0 18px;font-weight:500}.featured-book .button{margin-top:22px}footer{flex-wrap:wrap}footer .footer-disclosure{flex-basis:100%;font-family:'Montserrat',Arial,sans-serif;font-size:13px;margin:0;color:#555e55}nav{gap:25px}
@media(max-width:1000px){.featured-grid{grid-template-columns:1fr}nav{gap:17px;font-size:13px}.brand{width:213px}.author-invitation{flex-wrap:wrap}.author-invitation .button{margin-left:62px}}
@media(max-width:760px){.author-invitation{align-items:flex-start;gap:18px}.author-invitation>div{flex-basis:75%}.author-invitation .button{margin-left:0}.author-invitation h3{font-size:23px}.featured-book{flex-direction:column}.featured-cover{width:140px}nav{font-size:14px}.brand{width:213px}}

.text-book{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;color:var(--ink);width:100%;min-height:240px;padding:12px}.text-book strong{font-family:var(--serif);font-size:24px;font-weight:400;line-height:1.3}.text-book span{font-size:11px;letter-spacing:.18em}.text-book small{font-size:12px;line-height:1.6}.dialog-cover.text-book{min-height:220px;border:1px solid var(--line)}

/* Accessible social links, scoped to the footer to preserve mobile navigation. */
footer .footer-social{display:flex;position:static;flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px;width:auto;padding:0;margin:0;background:transparent;border:0;box-shadow:none}
footer .footer-social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;color:#283c35;transition:background .2s,color .2s}
footer .footer-social a:hover{background:#283c35;color:#fff}
footer .footer-social a:focus-visible{outline:3px solid #8f7956;outline-offset:3px}
footer .footer-social svg{display:block;flex-shrink:0}

header nav{gap:17px;font-size:13px}header nav [aria-current="page"]{text-decoration:underline;text-underline-offset:7px}.footer-legal{display:flex;gap:24px;flex-wrap:wrap;flex-basis:100%;font-size:13px}.footer-legal a:hover,.policy-links a,.privacy-note a{text-decoration:underline}.about-links{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin:28px 0}.policy-links{font-size:14px;margin:25px 0}.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:35px}.path-grid>a{padding:28px;border:1px solid var(--line)}.path-grid h3{font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.3;margin-bottom:18px}.path-grid span{display:block;margin-top:25px;font-size:14px;text-decoration:underline}.legal-page{max-width:960px;margin:auto}.legal-page h1{font-size:clamp(35px,5vw,58px);margin:20px 0}.legal-page h2{font-size:25px;margin:32px 0 16px}.legal-page p{margin:15px 0}.legal-page a{text-decoration:underline}.legal-page li{margin:12px 0;color:var(--muted)}@media(max-width:1050px) and (min-width:761px){header{height:auto;min-height:110px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px;gap:18px}header nav{flex-wrap:wrap}}@media(max-width:760px){.path-grid{grid-template-columns:1fr}header nav{font-size:14px}.footer-legal{gap:16px}}

.page-heading{font-size:clamp(36px,4vw,54px);line-height:1.12;margin:0 0 24px}.contact .page-heading{color:inherit}.cover-back img.cover{object-fit:contain;height:auto}.book-dialog img.dialog-cover{height:auto;object-fit:contain}

.consulting-areas{display:grid;gap:22px;margin:25px 0}.consulting-areas section{padding-top:18px;border-top:1px solid var(--line)}.consulting-areas h4{font-size:16px;margin:0 0 8px}.consulting-areas p{margin:0}
/* Portrait actions */
.portrait-column{min-width:0;display:flex;flex-direction:column;gap:16px}.portrait-column .portrait{width:100%;height:600px;min-height:0;flex:none}.portrait-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.portrait-actions>a{border:1px solid var(--ink);padding:19px 16px;position:relative;display:flex;flex-direction:column;gap:10px;transition:background .2s,color .2s}.portrait-actions>a:first-child{background:var(--ink);color:var(--paper)}.portrait-actions>a:last-child:hover{background:#e9e3d8}.portrait-actions>a:first-child:hover{background:#35483e}.portrait-actions span:first-child{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.portrait-actions strong{font:500 17px/1.4 var(--serif);padding-right:16px}.portrait-actions span:last-child{position:absolute;bottom:16px;right:13px}
/* Category book displays */
.shop-intro{padding-bottom:45px}.shop-intro h1{font-size:clamp(40px,5vw,70px);margin:18px 0 25px}.shop-intro>p{max-width:750px}.shelf-nav{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;font-size:13px}.shelf-nav a{border:1px solid var(--line);padding:10px 16px;border-radius:30px}.shelf-nav a:hover{background:var(--ink);color:var(--paper)}.shop-shelf{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,2fr);gap:7%;padding:80px 6%;border-top:1px solid var(--line);overflow:hidden}.shelf-intro h2{font-size:clamp(32px,3.3vw,49px);margin-bottom:24px}.shelf-intro>p{line-height:1.8}.shelf-display{display:flex;align-items:flex-start;justify-content:center;gap:24px;perspective:1400px;padding:24px 15px 0}.shelf-book{width:calc((100% - 48px)/3);max-width:215px;min-width:0;flex:1}.shelf-count-2 .shelf-book{max-width:240px}.shelf-count-1{justify-content:flex-start;padding-left:70px}.shelf-count-1 .shelf-book{max-width:250px}.hovering-book{position:relative;display:block;transform:perspective(1000px) rotateY(-13deg) rotateZ(-3deg);transform-origin:left center;box-shadow:12px 18px 22px #0005;transition:transform .35s ease,box-shadow .35s ease;margin:0 0 35px;isolation:isolate}.hovering-book:after{content:"";position:absolute;right:-6px;top:1.5%;height:97%;width:6px;background:repeating-linear-gradient(to bottom,#c6c0ac 0 1px,#f7f3e8 1px 3px);z-index:-1}.hovering-book:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0006,transparent 8%,#fff1 10%,transparent 14%);z-index:1;pointer-events:none}.hovering-book svg,.hovering-book img{display:block;width:100%;height:auto}.shelf-book:nth-child(2) .hovering-book{transform:perspective(1000px) rotateY(-8deg) rotateZ(2deg)}.shelf-book:nth-child(3) .hovering-book{transform:perspective(1000px) rotateY(-12deg) rotateZ(5deg)}.shelf-book .hovering-book:hover,.shelf-book .hovering-book:focus-visible{transform:perspective(1000px) translateY(-22px) rotateY(0) rotateZ(0);box-shadow:15px 30px 35px #0006}.shelf-book h3{font:400 19px/1.35 var(--serif);margin-bottom:10px}.shelf-book>p{font-size:12px;line-height:1.65}.shelf-buy{display:inline-block;font-size:12px;border-bottom:1px solid currentColor;margin-top:18px;padding-bottom:4px}.shelf-paid{display:block;font-size:10px;opacity:.7;margin-top:7px}.shelf-shadow-saga{background:#152923;color:#f1e9d7}.shelf-shadow-saga p{color:#bdc9bf}.shelf-shadow-saga .eyebrow{color:#d6ba86}.shelf-poetry{background:#eee7dc}.shelf-literary-fiction{background:#e5e9e4}.shelf-business-books{background:#f5efe4}.shelf-games{background:#292623;color:#f3e7cf}.shelf-games p{color:#c5bdb0}.lore-explore{display:block;width:fit-content;margin-top:28px;font:400 30px var(--serif);border-bottom:1px solid #bca77d;padding-bottom:13px;color:#e7cfa3}.lore-explore small{display:block;font:11px 'Montserrat',sans-serif;letter-spacing:.1em;margin-top:10px}.lore-explore>span{margin-left:15px}
/* Cennicus reader's companion */
.cennicus-page{background:#101c1c;color:#ede5d4;--line:#8f79564a;--muted:#c2c5b6;--ink:#ede5d4}.cennicus-page h2{font-size:clamp(29px,3.8vw,46px);line-height:1.2;margin-bottom:25px}.cennicus-page h3{font:400 24px/1.35 var(--serif);margin-bottom:14px;color:#e5cca0}.cennicus-page p{line-height:1.85}.cennicus-page .eyebrow{color:#c7ad7a}.lore-hero{text-align:center;padding:85px 24px 90px;background:radial-gradient(ellipse at 50% 35%,#55736a40,transparent 60%),linear-gradient(165deg,#0d171c,#1d332c 65%,#101c1c)}.lore-hero h1{font-size:clamp(58px,10vw,135px);letter-spacing:.025em;color:#eee1c1;text-shadow:0 4px 35px #000a}.lore-hero>p:not(.eyebrow){max-width:650px;margin:26px auto}.lore-hero .lore-motto{font:25px/1.4 var(--serif);color:#eee1c1}.lore-motto em{color:#c8b487}.moon-triad{display:flex;justify-content:center;gap:24px;margin:38px 0}.moon-triad i{display:block;width:30px;height:30px;border-radius:50%;background:#e7e4ca;box-shadow:0 0 35px #e7e4ca20}.moon-triad i:nth-child(2){background:#a85e49;box-shadow:0 0 35px #a85e4930}.moon-triad i:nth-child(3){background:#070e10;border:1px solid #526866;box-shadow:0 0 30px #b5cbb510}.lore-button{display:inline-block;background:#d7bf8d;color:#14231e;border:1px solid #d7bf8d;padding:13px 22px;font-size:13px;font-weight:600;line-height:1.6}.lore-button:hover{background:#efdab3}.lore-back{display:block;font-size:12px;text-decoration:underline;text-underline-offset:4px;margin:24px auto 0;width:fit-content;color:#c9c4b3}.lore-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 24px;padding:24px 5%;border-block:1px solid var(--line);background:#0c1717;font-size:12px}.lore-nav a{padding:5px 0}.lore-nav a:hover{color:#e5c58f}.lore-content{max-width:1150px;margin:auto;padding:0 7%}.lore-section{padding:65px 0;border-bottom:1px solid var(--line);scroll-margin-top:30px}.lore-section>p{margin:15px 0}.lore-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:30px}.lore-grid article{padding:26px;border:1px solid var(--line);background:#ffffff03}.lore-grid p+p{margin-top:15px}.lore-section details{border:1px solid var(--line);padding:22px;margin-top:25px;background:#060d1025}.lore-section summary{cursor:pointer;color:#dcc397;font-size:14px;line-height:1.7}.lore-section details p{margin-top:20px}.lore-definitions{display:grid;grid-template-columns:140px 1fr;gap:15px;font-size:14px}.lore-definitions dt{color:#e5cca0}.lore-definitions dd{margin:0;color:#bdc6be}.lore-timeline{list-style:none;padding:0 0 0 26px;border-left:1px solid #b69f69;margin-top:35px}.lore-timeline li{position:relative;padding:0 0 30px 12px}.lore-timeline li:before{content:"✦";position:absolute;left:-34px;color:#d7bd83;top:0}.order-seals{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:30px 0}.order-seals span{padding:25px 10px;text-align:center;border:1px solid var(--line);font:17px/1.6 var(--serif)}.atlas-note{display:flex;align-items:center;gap:25px;padding:30px;border:1px solid var(--line);margin:25px 0;background:repeating-linear-gradient(45deg,transparent 0 25px,#ad987d06 25px 26px)}.atlas-note>span{font-size:60px;color:#cbb788}.atlas-note p{font-size:14px}.atlas-scroll{overflow:auto;max-height:650px;background:#07100f}.atlas-scroll img{display:block;height:auto}.map-controls{display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin:20px 0;font-size:12px}.map-controls button{border:1px solid var(--line);min-width:42px;min-height:42px;padding:8px}.map-controls button:disabled{opacity:.4;cursor:default}.map-controls a{text-decoration:underline}.map-warning{color:#ead5ae!important;font-size:13px}.spoiler-controls{display:flex;align-items:end;gap:20px;flex-wrap:wrap;margin:30px 0}.spoiler-controls label{font-size:13px}.spoiler-controls select{display:block;background:#172925;color:#eee1c1;border:1px solid #887850;padding:12px;margin-top:8px;min-width:220px}.spoiler-controls .lore-back{margin:0 0 13px}.spoiler-status{font-size:13px;color:#e5c58f!important}.character-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 28px;margin-top:70px}.character-card{border:1px solid var(--line);padding:0 28px 30px;background:linear-gradient(160deg,#29423650,#0a1218)}.character-seal{margin:-28px 0 26px;width:72px;height:72px;display:grid;place-items:center;border:1px solid #bda374;transform:rotate(-6deg);background:linear-gradient(145deg,#4a503d,#17221f);box-shadow:7px 10px 22px #0007;font:36px var(--serif);color:#e8d6a6}.character-card .eyebrow{font-size:10px;letter-spacing:.1em}.character-card h3{font-size:30px}.character-progress section{border-top:1px solid var(--line);margin-top:22px;padding-top:22px}.character-progress h4{font:16px var(--serif);color:#dec292;margin:0 0 12px}.character-progress p,.character-card>p{font-size:14px}.portrait-development{font-size:13px;margin-top:32px!important}.lore-end{text-align:center;padding:65px 0}.lore-end>span{font-size:40px;color:#c8b487;display:block;margin-bottom:25px}
@media(max-width:900px){.shop-shelf{grid-template-columns:1fr;gap:30px}.shelf-intro{max-width:620px}.shelf-display{max-width:750px;width:100%;margin:auto}.shelf-count-1{justify-content:center;padding-left:15px}.portrait-actions strong{font-size:14px}.portrait-column .portrait{height:540px}.order-seals{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.portrait-column{width:100%;max-width:470px;margin:auto}.portrait-column .portrait{height:115vw;max-height:540px}.portrait-actions strong{font-size:15px}.shop-shelf{padding:50px 7%}.shelf-display{flex-wrap:wrap;gap:38px 28px;padding:25px 8px 0}.shelf-book{flex:none;width:calc(50% - 14px);max-width:240px}.shelf-count-1 .shelf-book{width:65%;max-width:240px}.shelf-book h3{font-size:16px}.shelf-nav{position:static;background:transparent;padding:0;width:auto}.lore-content{padding:0 6%}.lore-grid,.character-grid{grid-template-columns:1fr}.lore-hero{padding:55px 22px 65px}.lore-nav{position:static;display:flex;flex-direction:row;width:auto;gap:8px 20px}.lore-section{padding:45px 0}.atlas-note{padding:20px;gap:15px}.atlas-note>span{font-size:35px}.atlas-reference{padding:15px!important}.lore-definitions{grid-template-columns:1fr;gap:8px}.lore-definitions dd{margin-bottom:12px}.spoiler-controls{align-items:start;flex-direction:column}.spoiler-controls .lore-back{margin:0}.character-grid{gap:60px}.shelf-book .hovering-book:hover{transform:translateY(-12px)}}
@media(prefers-reduced-motion:reduce){.hovering-book,.shelf-book:nth-child(2) .hovering-book,.shelf-book:nth-child(3) .hovering-book,.shelf-book .hovering-book:hover,.shelf-book .hovering-book:focus-visible{transform:none;transition:none}.portrait-actions>a{transition:none}}
/* Character chronicle: clipping stays active before images and JavaScript load. */
.gallery-note{font-size:.9rem;color:#c4baa5;max-width:760px}.gallery-controls{border:1px solid #756044;padding:24px;background:#171c19;margin:28px 0 16px;border-radius:4px}.gallery-books{border:0;padding:0;margin:0 0 20px;display:flex;gap:10px;flex-wrap:wrap}.gallery-books legend{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px;color:#cfb17c}.gallery-books button,.gallery-tools select,.gallery-tools input,.character-dialog-bar button{font:inherit;color:#f0e8d9;background:#262e28;border:1px solid #6d755f;border-radius:3px;padding:12px 16px}.gallery-books button{cursor:pointer}.gallery-books button[aria-pressed=true]{background:#d5b67c;border-color:#d5b67c;color:#18221c}.gallery-tools{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.gallery-tools label{display:flex;flex-direction:column;gap:7px;font-size:.85rem}.gallery-tools label:first-child{flex:1;min-width:180px}.gallery-tools input{width:100%}.gallery-tools .spoiler-toggle{margin:0;min-height:49px;cursor:pointer}.spoiler-toggle.is-revealed{background:#422a28;color:#fff0df;border-color:#bd8064}.gallery-status{font-size:.85rem;color:#cfb17c}.gallery-group{margin:40px 0}.gallery-group-heading{display:flex;align-items:center;gap:12px;border-bottom:1px solid #63583d;margin-bottom:22px;padding-bottom:14px}.gallery-group-heading h3{margin:0;font-size:1.8rem}.gallery-group-heading>span:first-child{font-size:1.8rem;color:#d8bb83}.gallery-group-heading>span:last-child{margin-left:auto;font-size:.8rem;color:#b7b7a3}.card-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.gallery-tile{min-width:0}.gallery-open{width:100%;padding:0;border:1px solid #726449;background:#19231e;color:#f3e9d6;text-align:left;cursor:pointer;border-radius:3px;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s}.gallery-open:hover{transform:translateY(-4px);border-color:#d6b376;box-shadow:0 12px 24px #0005}.gallery-image{display:block;position:relative;overflow:hidden;width:100%;background:#201b13}.gallery-image img{display:block;height:auto;margin:0!important;padding:0;border:0;transform:none!important}.gallery-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px}.gallery-caption strong{font-family:Georgia,serif;font-size:1.15rem}.gallery-caption>span{font-size:.75rem;color:#ceb583;white-space:nowrap}.gallery-empty{padding:35px;border:1px dashed #8c7753}.gallery-empty button{color:#e5c487;background:none;border:0;text-decoration:underline;cursor:pointer}.character-dialog{width:min(1450px,96vw);max-width:none;max-height:95dvh;padding:0;color:#f7efdf;background:#172019;border:1px solid #b79c6b;border-radius:6px;overflow:auto}.character-dialog::backdrop{background:rgba(6,10,8,.9)}.character-dialog-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:16px;padding:14px 20px;background:#172019;border-bottom:1px solid #756044}.character-dialog-bar>div{flex:1}.character-dialog-bar h3{margin:0;font:1.4rem Georgia,serif}.character-dialog-bar p{margin:5px 0 0;font-size:.8rem;color:#ccb78b}.character-dialog-bar button{cursor:pointer;font-size:.85rem}.character-dialog-body{max-width:1380px;margin:auto}.character-dialog-body .gallery-image{margin:auto;max-width:100%}.card-dialog-note{margin:0;padding:12px;text-align:center;font-size:.8rem;color:#cbb890}.gallery-section button:focus-visible,.gallery-section input:focus-visible,.gallery-section select:focus-visible,.character-dialog button:focus-visible{outline:3px solid #f8d891;outline-offset:4px}.gallery-section{scroll-margin-top:110px}
@media(min-width:900px){.character-dialog-body .gallery-image{max-height:none}.character-dialog-body{padding:16px}.character-dialog-body .gallery-image:has(img[style*="144"]){max-width:1050px}}
@media(max-width:1000px){.card-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.card-gallery-grid{grid-template-columns:1fr;gap:20px}.gallery-controls{padding:16px}.gallery-books{gap:7px}.gallery-books button{padding:10px;font-size:.8rem;flex:1;white-space:nowrap}.gallery-tools{gap:12px}.gallery-tools label:first-child{flex-basis:100%}.gallery-tools label:nth-child(2){flex:1}.gallery-tools .spoiler-toggle{font-size:.8rem;padding:12px}.character-dialog-bar{padding:10px;gap:8px;flex-wrap:wrap}.character-dialog-bar h3{font-size:1.15rem}.character-dialog-bar button{padding:10px;font-size:.75rem}.character-dialog-body{overflow-x:auto}.character-dialog-body .gallery-image{min-width:680px}.character-dialog{width:98vw}.card-dialog-note{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.gallery-open{transition:none}.gallery-open:hover{transform:none}}
