/*
Theme Name: King of the World — A Novel of Xylos
Theme URI: https://www.royalroad.com/fiction/187615/king-of-the-world-a-novel-of-xylos
Author: R.C. Hansen / Custom WordPress Theme
Description: A cinematic dark-fantasy author theme for King of the World: A Novel of Xylos.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: xylos
*/
:root{--ink:#090b0b;--ink2:#121613;--gold:#c99a43;--gold2:#e7c777;--cream:#eee4cf;--muted:#b8b0a1;--line:rgba(201,154,67,.35);--paper:#d9c9a7;--max:1180px;--shadow:0 20px 70px rgba(0,0,0,.45)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--cream);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.7}a{color:var(--gold2);text-decoration:none}a:hover{color:#fff}img{max-width:100%;height:auto}h1,h2,h3,h4,.site-title,.brand-mark{font-family:Cinzel,Georgia,serif;letter-spacing:.06em;font-weight:500}.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.gold{color:var(--gold2)}
.site-header{position:absolute;top:0;left:0;right:0;z-index:50;background:linear-gradient(180deg,rgba(5,7,7,.86),transparent)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:88px}.brand{display:flex;align-items:center;gap:12px;color:#fff}.brand-crown{font-size:30px;color:var(--gold2)}.brand-text{font-family:Cinzel,serif;font-size:15px;line-height:1.05;text-transform:uppercase}.brand-text small{display:block;font-family:Georgia,serif;font-size:9px;letter-spacing:.25em;color:var(--gold)}.main-nav{display:flex;align-items:center;gap:24px}.main-nav a{font-family:Cinzel,serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#e9dfcd;padding:30px 0;position:relative}.main-nav a:hover,.main-nav .current-menu-item>a{color:#fff}.main-nav .current-menu-item>a:after{content:"";position:absolute;bottom:20px;left:0;right:0;height:1px;background:var(--gold)}.menu-toggle{display:none;background:none;border:1px solid var(--line);color:#fff;padding:9px 12px}
.hero{min-height:780px;display:grid;place-items:center;position:relative;background:#111 url('../images/hero.jpg') center/cover no-repeat;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,6,6,.3),rgba(4,6,6,.55) 48%,rgba(4,6,6,.35)),linear-gradient(0deg,rgba(5,7,7,.8),transparent 35%)}.hero-inner{position:relative;z-index:2;text-align:center;max-width:900px;padding:150px 20px 100px}.eyebrow{font-family:Cinzel,serif;letter-spacing:.28em;text-transform:uppercase;color:var(--gold2);font-size:13px}.hero h1{font-size:clamp(54px,9vw,108px);line-height:.9;margin:18px 0;color:#f2dfad;text-shadow:0 4px 28px #000}.hero h1 span{display:block;font-size:.45em;letter-spacing:.35em;margin:22px 0}.hero-tag{font-family:Cinzel,serif;letter-spacing:.22em;text-transform:uppercase;font-size:18px;color:#eee1c7}.ornament{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--gold);margin:24px 0}.ornament:before,.ornament:after{content:"";width:70px;height:1px;background:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--gold);background:linear-gradient(#b88736,#8f6426);color:#fff7e5;padding:14px 28px;font-family:Cinzel,serif;text-transform:uppercase;letter-spacing:.1em;font-size:12px;box-shadow:0 8px 25px rgba(0,0,0,.3);transition:.2s}.btn:hover{transform:translateY(-2px);color:#fff;background:linear-gradient(#d3a14b,#9d6d2b)}.btn.dark{background:#0b0e0d}.btn.dark:hover{background:#181c19}
.section{padding:90px 0}.section-dark{background:radial-gradient(circle at 50% 0,rgba(201,154,67,.06),transparent 45%),#0c0f0e}.section-paper{color:#211d16;background:#d9c9a7;background-image:radial-gradient(rgba(70,49,24,.08) 1px,transparent 1px);background-size:8px 8px}.section-head{text-align:center;max-width:760px;margin:0 auto 50px}.section-head h2{font-size:36px;margin:0 0 12px}.section-head p{color:var(--muted);margin:0}.section-paper .section-head p{color:#514737}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.feature{text-align:center;padding:10px}.feature-icon{font-size:36px;color:var(--gold2);height:55px}.feature h3{font-size:16px;margin:10px 0}.feature p{font-family:Georgia,serif;color:#bcb3a3;font-size:14px}.feature:after{content:"";display:block;width:40px;height:1px;background:var(--line);margin:20px auto 0}
.about-grid{display:grid;grid-template-columns:280px 1fr 1.15fr;gap:60px;align-items:center}.book-wrap{filter:drop-shadow(0 25px 25px rgba(0,0,0,.35));transform:rotate(-2deg)}.book-wrap img{display:block;width:100%;border:1px solid rgba(0,0,0,.25)}.about-copy h2{font-size:38px;color:#201b15;margin:0}.about-copy p{font-family:Georgia,serif;font-size:17px;color:#3c3529}.map-wrap img{width:100%;mix-blend-mode:multiply;opacity:.88}.map-caption{text-align:center;color:#655946;font-family:Cinzel,serif;font-size:11px;letter-spacing:.15em;text-transform:uppercase}
.chapter-grid{display:grid;grid-template-columns:1.6fr .8fr;gap:35px}.chapter-list{border:1px solid var(--line)}.chapter-row{display:grid;grid-template-columns:48px 1fr auto;gap:15px;align-items:center;padding:18px 20px;border-bottom:1px solid rgba(201,154,67,.18)}.chapter-row:last-child{border-bottom:0}.chapter-num{font-family:Cinzel,serif;color:var(--gold);font-size:13px}.chapter-title{color:#f0e5d1}.chapter-date{font-size:12px;color:#8f8a80}.royal-card{border:1px solid var(--line);padding:40px 30px;text-align:center;background:linear-gradient(145deg,#101513,#0a0d0c);box-shadow:var(--shadow)}.royal-card .rr{font-size:58px;font-family:Cinzel,serif;color:var(--gold2);line-height:1}.royal-card h3{font-size:24px;margin:8px 0 15px}.royal-card p{color:var(--muted)}
.content-wrap{padding:150px 0 90px;min-height:70vh;background:radial-gradient(circle at 50% 0,rgba(201,154,67,.08),transparent 40%),#0b0e0d}.content-wrap .entry-title{text-align:center;font-size:48px;color:var(--gold2)}.prose{max-width:820px;margin:auto;font-family:Georgia,serif;font-size:18px;color:#ddd4c4}.prose h2,.prose h3{font-family:Cinzel,serif;color:var(--gold2)}.prose blockquote{border-left:2px solid var(--gold);padding-left:25px;color:#bdb3a1}.pagination{display:flex;justify-content:center;gap:10px;margin-top:45px}.pagination a,.pagination span{border:1px solid var(--line);padding:9px 13px}
.site-footer{background:#070909;border-top:1px solid var(--line);padding:45px 0}.footer-grid{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-brand{font-family:Cinzel,serif}.footer-brand small{display:block;color:var(--gold);font-size:9px;letter-spacing:.25em}.socials{display:flex;gap:18px}.socials a{color:#b9b1a4;font-family:Cinzel,serif}.copyright{color:#777;font-size:12px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:18px}.field label{display:block;font-family:Cinzel,serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold2);margin-bottom:7px}.field input,.field textarea{width:100%;background:#101412;border:1px solid var(--line);padding:13px;color:#fff;font:inherit}.field textarea{min-height:180px}
@media(max-width:900px){.main-nav{display:none}.menu-toggle{display:block}.main-nav.open{display:flex;position:absolute;top:78px;left:20px;right:20px;flex-direction:column;align-items:stretch;background:#080b0a;border:1px solid var(--line);padding:15px}.main-nav.open a{padding:12px 8px}.main-nav.open .current-menu-item>a:after{display:none}.feature-grid{grid-template-columns:1fr 1fr}.about-grid{grid-template-columns:220px 1fr}.map-wrap{grid-column:1/-1}.chapter-grid{grid-template-columns:1fr}.hero{min-height:700px}}
@media(max-width:650px){.container{width:min(100% - 28px,var(--max))}.nav-wrap{min-height:74px}.brand-text{font-size:13px}.feature-grid,.about-grid,.form-grid{grid-template-columns:1fr}.about-grid{gap:30px}.book-wrap{max-width:270px;margin:auto}.hero-inner{padding-top:140px}.hero h1{font-size:55px}.section{padding:65px 0}.section-head h2{font-size:29px}.chapter-row{grid-template-columns:34px 1fr}.chapter-date{grid-column:2}.footer-grid{flex-direction:column;text-align:center}.content-wrap .entry-title{font-size:36px}}
