:root{--bg:#141c1b;--paper:#eeeae0;--muted:#b1b6ad;--gold:#ceaf77;--line:#ffffff24}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--bg);color:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.site-header{height:100px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;background:#141c1b}.wordmark{font-family:Georgia,serif;font-size:22px;letter-spacing:3px;line-height:1.3}.wordmark span{display:block;font-family:Arial,sans-serif;font-size:8px;letter-spacing:5px;text-align:center;margin-top:8px;color:var(--gold)}nav{display:flex;align-items:center;gap:32px;font-size:12px}nav a:hover,.text-link:hover{color:var(--gold)}.nav-buy{border-bottom:1px solid var(--gold);padding:9px 0;margin-left:18px}.nav-buy span{margin-left:20px}.menu-toggle{display:none}.hero{min-height:650px;height:calc(100svh - 100px);max-height:900px;position:relative;overflow:hidden;background:#1d302f}.hero-content{position:relative;padding:100px 8% 130px;z-index:2}.eyebrow,.section-label{font-size:10px;letter-spacing:2.4px;color:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(58px,6.5vw,100px);line-height:1.08;letter-spacing:-3px;margin:25px 0}h2{font-size:clamp(38px,4vw,58px);line-height:1.16;letter-spacing:-1.6px;margin-bottom:25px}.hero-description{color:#d0d5cc;font-size:15px;line-height:1.9;margin-bottom:34px}.button{display:inline-flex;align-items:center;gap:45px;background:var(--gold);color:#172321;padding:15px 23px;font-size:12px}.button:hover{background:#e0c698}.hero-art{position:absolute;inset:0;background:radial-gradient(ellipse at 74% 35%,#7a91854d,transparent 39%),linear-gradient(90deg,#152422 0%,#1b302b99 50%,#334c48 100%)}.moon{position:absolute;right:20%;top:13%;height:165px;width:165px;border-radius:50%;background:#d4d6b6;box-shadow:0 0 90px #d4d6b62b;opacity:.75}.moon:after{content:'';position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 35% 30%,#75877830,transparent 20%),radial-gradient(circle at 65% 60%,#5c736b3b,transparent 35%)}.mountain{position:absolute;bottom:0;right:-8%;width:85%;height:65%;clip-path:polygon(0 100%,10% 71%,20% 76%,37% 33%,46% 45%,60% 4%,70% 37%,80% 26%,100% 75%,100% 100%);background:linear-gradient(120deg,#66807866,#203c37)}.mountain-front{right:-20%;height:50%;width:100%;background:linear-gradient(100deg,#101d1b,#25423d);clip-path:polygon(0 100%,13% 83%,27% 89%,48% 27%,57% 46%,70% 10%,79% 54%,90% 32%,100% 80%,100% 100%)}.horizon{position:absolute;inset:0;background:linear-gradient(90deg,#14231fe6,transparent 75%),linear-gradient(0deg,#131e1c,transparent 24%)}.hero-bottom{position:absolute;bottom:27px;left:8%;right:8%;display:flex;justify-content:space-between;z-index:2;color:#c2c9bd;font-size:9px;letter-spacing:2px}.hero-bottom a span{margin-left:18px}.section{padding:75px 8%}.section-label{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:48px;font-size:9px}.small-star{font-size:23px;line-height:1}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%}.about-layout>div{max-width:460px}.about p{color:var(--muted)}.about .lead{color:var(--paper);font-family:Georgia,serif;font-size:25px;line-height:1.5}.placeholder-note{font-size:12px;font-style:italic}.signature{font-family:Georgia,serif;font-size:28px;font-style:italic;color:var(--gold);margin-top:25px}.books{background:#ece9e0;color:#25352e}.books .section-label{border-color:#26362e33;color:#6a6048}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:25px}.text-link{font-size:12px;border-bottom:1px solid;padding-bottom:6px;white-space:nowrap}.section-intro{color:#62685e;max-width:570px;margin-bottom:40px}.book-grid{display:grid;grid-template-columns:1fr 1fr .8fr;column-gap:5%;row-gap:40px}.book-cover{aspect-ratio:3/4;max-width:310px;margin:0 auto 25px;padding:25px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;box-shadow:7px 12px 20px #17251d24;position:relative;border:8px solid #ffffff08;color:#e4d5b1}.book-cover:after{content:'';position:absolute;inset:12px;border:1px solid #c8ad6b66;pointer-events:none}.cover-one{background:radial-gradient(ellipse at 50% 35%,#57736b,#1a3430 65%)}.cover-two{background:radial-gradient(ellipse at 50% 35%,#6f5967,#302832 70%)}.book-cover>span{font-size:9px;letter-spacing:3px}.book-cover strong{font-family:Georgia,serif;font-size:clamp(25px,3vw,43px);line-height:1.15;font-weight:400}.cover-emblem{font-size:64px;line-height:1}.book-meta>span{font-size:8px;letter-spacing:1.8px;color:#776c53}.book-meta h3{font-size:24px;margin:8px 0}.book-meta p{font-size:13px;color:#62685e}.shelf-note{align-self:center;padding:25px 0 25px 22px}.shelf-note>span{color:#9a8052;font-size:30px}.shelf-note h3{font-size:34px;line-height:1.2;margin:25px 0 20px}.shelf-note p{font-size:13px;color:#62685e}.worlds{background:#1e2b27}.worlds-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.worlds-layout>div>p:not(.eyebrow){color:var(--muted);max-width:360px}.lore-list details{border-top:1px solid var(--line);padding:25px 0}.lore-list details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:Georgia,serif;font-size:25px}summary::-webkit-details-marker{display:none}summary small{display:block;font:8px Arial,sans-serif;letter-spacing:2px;color:var(--gold);margin-bottom:8px}.expand{font-family:Arial,sans-serif;color:var(--gold);font-size:24px}details[open]>summary>.expand{transform:rotate(45deg)}details p{color:var(--muted);font-size:13px;margin:20px 25px 0 0}.muted{font-size:12px;color:var(--muted)}.news-item{display:grid;grid-template-columns:140px 1fr 60px;gap:25px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:20px}.news-tag{font-size:9px;letter-spacing:1.5px;color:var(--gold);padding-top:8px}.news-item h3{font-size:27px;margin-bottom:10px}.news-item p{max-width:610px;font-size:14px;color:var(--muted);margin:0}.news-star{font-size:45px;color:var(--gold);align-self:center;text-align:right}.shop{text-align:center;background:#e5e1d6;color:#25352e;padding-top:85px;padding-bottom:85px}.shop .eyebrow{color:#84704c}.shop h2{font-size:60px}.shop p:not(.eyebrow){color:#62685e;font-size:14px}.coming-soon{display:inline-block;border:1px solid #8b81634d;padding:13px 24px;margin-top:15px;font-size:9px;letter-spacing:1.5px}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:40px 6%;font-size:10px;color:var(--muted)}footer .wordmark{color:var(--paper);font-size:17px}footer p{margin:0;font-family:Georgia,serif;font-size:15px;font-style:italic}footer .wordmark span{font-size:7px}@media(min-width:1600px){.section{padding-left:max(8%,calc((100% - 1300px)/2));padding-right:max(8%,calc((100% - 1300px)/2))}}@media(max-width:760px){.site-header{height:85px}.wordmark{font-size:19px}.menu-toggle{display:block;background:transparent;color:var(--paper);border:1px solid var(--line);padding:6px 14px;font-size:12px}nav{display:none;position:absolute;top:85px;left:0;right:0;background:#141c1b;padding:25px 8%;z-index:10;flex-direction:column;align-items:flex-start;gap:20px}nav.open{display:flex}.nav-buy{margin-left:0}.hero{min-height:640px;height:calc(90svh - 85px)}.hero-content{padding-top:95px}.hero h1{font-size:62px}.moon{right:8%;top:10%;width:110px;height:110px;opacity:.45}.hero-description{font-size:14px;max-width:310px}.hero-bottom{font-size:7px;letter-spacing:1px}.section{padding:50px 7%}.section-label{margin-bottom:32px;font-size:8px;letter-spacing:1.5px}.section-label>span:last-child:not(.small-star){max-width:130px;text-align:right}.about-layout,.worlds-layout{grid-template-columns:1fr;gap:22px}.about h2 br{display:none}.section-heading{align-items:flex-start}.section-heading h2{font-size:37px}.section-heading .text-link{margin-top:12px}.book-grid{grid-template-columns:1fr 1fr;gap:25px 20px}.book-cover{padding:20px 12px;aspect-ratio:3/4.5}.book-cover strong{font-size:27px}.book-cover>span{font-size:7px;letter-spacing:1px}.cover-emblem{font-size:45px}.shelf-note{grid-column:1/-1;padding:12px 0}.shelf-note h3{margin:10px 0;font-size:28px}.shelf-note h3 br{display:none}.shelf-note>span{float:right}.book-meta h3{font-size:21px}.worlds h2{font-size:43px}.worlds h2 br:last-child{display:none}.news-item{grid-template-columns:1fr;gap:12px}.news-star{display:none}.news-item h3{font-size:25px}.shop h2{font-size:49px}footer{flex-direction:column;text-align:center;gap:22px}h1{letter-spacing:-2px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Display original cover artwork in full, without cropping. */
.book-artwork{display:block;width:100%;height:auto;max-width:310px;margin:0 auto 25px;box-shadow:7px 12px 20px #17251d24}

.footer-community{text-align:center}
.social-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin-top:12px;font-size:12px;color:var(--gold)}
.social-links a{padding:8px 0;text-underline-offset:5px}
.social-links a:hover{text-decoration:underline}


.school-lore-entry{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.school-lore-entry h3{font-size:24px;line-height:1.3;margin-bottom:14px;color:var(--gold)}
.lore-list .school-lore-entry p{margin:12px 0 0}

.school-lore-entry h4{font-family:Georgia,serif;font-weight:400;font-size:19px;line-height:1.4;margin:24px 0 8px;color:var(--paper)}

.founder-list{margin:0}
.founder-list dt{font-family:Georgia,serif;font-size:19px;color:var(--paper);margin-top:20px}
.founder-list dd{margin:4px 0 0;color:var(--muted);font-size:13px}

.house-list{margin:20px 0 0}
.house-list dt{display:flex;align-items:center;gap:10px;font-family:Georgia,serif;font-size:19px;color:var(--paper);margin-top:20px}
.house-list dd{margin:4px 0 0 24px;color:var(--muted);font-size:13px}
.house-colour{display:inline-block;width:14px;height:14px;flex-shrink:0;border-radius:50%;border:1px solid #ffffff60}
.house-goch{background:#cc4e54}.house-talar{background:#518fd4}.house-derwen{background:#5baf7c}.house-idris{background:#a5a8ac}

.lore-list .house-room{padding:20px 0;margin:0;border-top:1px solid var(--line)}
.lore-list .house-room:first-of-type{margin-top:22px}
.lore-list .house-room summary{font-size:21px}

.news-item .news-body{white-space:pre-wrap;overflow-wrap:anywhere}
.news-status{color:var(--muted);font-size:13px}

.socials{background:#1e2b27}
.socials-intro{color:var(--muted);max-width:600px;margin-bottom:32px}
.social-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.social-post{min-width:0}
.social-post h3{font-size:25px;margin-bottom:16px}
.social-embed{background:#fff;border-radius:8px;overflow:hidden;margin-bottom:20px}
.social-embed iframe{display:block;border:0;width:100%;height:600px}
.social-post>.text-link{display:inline-block;white-space:normal}
.socials-note{color:var(--muted);font-size:12px;max-width:680px;margin:30px 0 0}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:761px) and (max-width:1150px){.social-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header nav{gap:18px}.site-header .nav-buy{margin-left:0}}
@media(max-width:760px){.social-post-grid{grid-template-columns:minmax(0,1fr);gap:36px}}

.worlds-intro{color:var(--muted);max-width:600px;margin-bottom:30px}
.series-lore-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.series-lore-card{padding:32px;border:1px solid var(--line);background:#14201b}
.series-lore-card h3{font-size:34px;line-height:1.2;margin-bottom:18px}
.series-lore-card>p:not(.eyebrow){color:var(--muted);margin-bottom:25px}
.series-lore-card .button{gap:20px}
.lore-hero{background:radial-gradient(ellipse at top right,#3b5143,#1e2b27 70%);padding-bottom:60px}
.lore-hero>.text-link{display:inline-block;margin-bottom:35px}
.lore-hero h1{font-size:clamp(48px,6vw,80px);overflow-wrap:anywhere}
.lore-hero>p:not(.eyebrow){max-width:660px;color:var(--muted)}
.lore-hero .lore-tagline{font-family:Georgia,serif;font-size:25px;color:var(--paper)!important}
.lore-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:65px;align-items:start}
.lore-sidebar{position:sticky;top:25px}
nav.lore-contents{display:flex;position:static;flex-direction:column;align-items:stretch;gap:0;background:transparent;padding:0;font-size:13px}
.lore-contents a{display:block;padding:10px 0;border-bottom:1px solid var(--line)}
.lore-content{min-width:0;max-width:800px}
.lore-content>.school-lore-entry:first-of-type{border-top:0;margin-top:0;padding-top:0}
.lore-content .school-lore-entry{margin-top:50px;padding-top:35px}
.lore-content .school-lore-entry h2{font-size:34px;letter-spacing:-.7px;color:var(--gold);margin-bottom:20px}
.lore-content p{color:var(--muted);font-size:15px;line-height:1.85}
.lore-content .house-room p{font-size:14px}
.lore-content .lore-spoiler-note{font-size:12px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}
.lore-next{display:flex;flex-wrap:wrap;justify-content:space-between;gap:25px;border-top:1px solid var(--line)}
@media(max-width:760px){.series-lore-grid,.lore-layout{grid-template-columns:minmax(0,1fr)}.series-lore-card{padding:25px}.lore-layout{gap:35px}.lore-sidebar{position:static}.lore-contents a{padding:12px 0}.lore-hero h1{letter-spacing:-1px}.lore-content .school-lore-entry h2{font-size:30px}}

.writing{background:#1e2b27}
.writing-intro{max-width:660px;color:var(--muted);margin-bottom:32px}
.writing-projects{display:grid;grid-template-columns:repeat(var(--writing-columns,3),minmax(0,1fr));gap:24px}
.writing-project{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);padding:28px;background:#14201b}
.writing-project h3{font-size:27px;line-height:1.25;margin-bottom:18px;min-height:2.5em}
.writing-project>p:not(.eyebrow){color:var(--muted);font-size:14px}
.project-progress{margin-top:auto;padding:24px 0;border-top:1px solid var(--line)}
.milestone-number{display:block;font-family:Georgia,serif;font-size:72px;line-height:1.1;color:var(--gold)}
.project-progress .milestone-label{font-family:Georgia,serif;font-size:22px;line-height:1.4;color:var(--paper);margin:12px 0}
.project-stage{font-size:12px;color:var(--muted);margin:0}
.writing-project>.text-link{align-self:flex-start;white-space:normal;margin-top:10px}
.writing-checkpoint{font-size:11px;color:var(--muted);margin:25px 0 0}
.books .book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.book-cover.cover-placeholder{aspect-ratio:2480/3508;width:100%;height:auto;max-width:310px;background:radial-gradient(ellipse at 50% 35%,#596d5a,#253b31 70%)}
.book-cover.cover-placeholder strong{font-size:clamp(24px,2.5vw,36px)}
.book-cover.cover-placeholder>span{font-size:8px;letter-spacing:1.5px}
.books>.shelf-note{padding:28px 0 0;margin-top:25px;border-top:1px solid #26362e33}
.books>.shelf-note>span{float:right}
.books>.shelf-note h3{font-size:27px;margin:0 0 12px}
.books>.shelf-note h3 br{display:none}
@media(max-width:1000px){.writing-projects{grid-template-columns:minmax(0,1fr)}.writing-project h3{min-height:0}.writing-project{padding:25px}.writing .section-heading{flex-wrap:wrap}}
@media(max-width:760px){.books .book-grid{grid-template-columns:minmax(0,1fr);gap:40px}.books .book-card{max-width:460px;margin:0 auto;width:100%}.book-cover.cover-placeholder strong{font-size:36px}.book-cover.cover-placeholder>span{font-size:9px}}

.series-lore-card .series-quiz-link{margin:20px 0 0}

.house-shield-figure{width:120px;max-width:100%;margin:16px 0}
.house-shield-art{display:block;width:120px;max-width:100%;height:auto;border-radius:5px}
.house-shield-figure figcaption{margin-top:8px;font-size:12px;color:var(--gold)}

.social-post[hidden],.social-post-controls[hidden]{display:none!important}
.social-post-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px 24px;margin-top:35px}
.social-post-controls p{margin:0;font-size:13px;color:var(--muted)}
.social-post-controls button{border:0;cursor:pointer}

.news-item[hidden],.news-post-controls[hidden]{display:none!important}
.news-post-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px 24px;margin-top:35px}
.news-post-controls p{margin:0;font-size:13px;color:var(--muted)}
.news-post-controls button{border:0;cursor:pointer}

.reader-extras{background:#202f29;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.reader-extras-intro{color:var(--muted);max-width:600px;margin-bottom:35px}.reader-extras-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.reader-extra-card{min-width:0;padding:32px;background:#14201b;border:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}.reader-extra-card h3{font-size:31px;line-height:1.2;margin-bottom:18px}.reader-extra-card>p:not(.eyebrow){color:var(--muted);font-size:14px;margin-bottom:25px}.reader-extra-card>a{margin-top:auto}.reader-extra-card .button{gap:22px}
@media(max-width:760px){.reader-extras-grid{grid-template-columns:minmax(0,1fr)}.reader-extra-card{padding:25px}.reader-extra-card h3{font-size:28px}}
@media(min-width:761px) and (max-width:1100px){.site-header .menu-toggle{display:block;background:transparent;color:var(--paper);border:1px solid var(--line);padding:6px 14px;font-size:12px}.site-header nav{display:none;position:absolute;top:100px;left:0;right:0;background:#141c1b;padding:25px 8%;z-index:10;flex-direction:column;align-items:flex-start;gap:20px}.site-header nav.open{display:flex}.site-header .nav-buy{margin-left:0}}
@media(min-width:1101px) and (max-width:1300px){.site-header nav{gap:18px}.site-header .nav-buy{margin-left:0}}

.reader-extra-board{grid-column:1/-1;background:linear-gradient(120deg,#2b3127,#14201b)}

.cedar-playlist-player{display:block;width:100%;max-width:100%;height:352px;border:0;border-radius:12px;margin:24px 0 16px}#cedar-playlist{scroll-margin-top:30px}

.writing-project[hidden],#writing[hidden]{display:none!important}

/* Keep multi-row shelves inside their section and make long blurbs optional. */
.book-card{min-width:0}
.book-meta h3{overflow-wrap:anywhere}
.books .book-description-details{margin-top:16px}
.books .book-description-details>summary{display:inline-flex;align-items:center;min-height:44px;padding:9px 14px;border:1px solid #7c725c;border-radius:2px;font:13px/1.5 Arial,Helvetica,sans-serif;color:#25352e;letter-spacing:0;list-style:none;cursor:pointer}
.books .book-description-details>summary:hover{background:#ded9ca}
.books .book-description-details>summary:focus-visible{outline:2px solid #536747;outline-offset:4px}
.books .book-description-details>summary::-webkit-details-marker{display:none}
.book-description-details .description-show-less{display:none}
.book-description-details[open] .description-read-more{display:none}
.book-description-details[open] .description-show-less{display:inline}
.books .book-description-full{margin-top:20px}
.books .book-description-full p{margin:0 0 15px;color:#62685e;font-size:13px}
