/*
  M.A. Kirkeby — Author Website
  Shared stylesheet. Keep individual HTML pages content-only:
  no inline <style>, no style="" attributes, no per-page scripts.
*/
:root{
  --ink:#0c0a07; --ink-2:#13100a; --panel:#181309; --panel-2:#1f1810;
  --line:rgba(201,166,99,.16); --line-strong:rgba(201,166,99,.32);
  --bone:#ece2cf; --bone-dim:#bdb29a; --muted:#8b8068;
  --bronze:#c9a663; --bronze-bright:#e3c585; --bronze-deep:#9a7635;
  --ember:#b8492f; --steel:#6f8a99; --moss:#7e9e6b;
  --max:1180px;
  --display:'Fraunces',Georgia,'Times New Roman',serif;
  --body:'Spectral',Georgia,serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--body);color:var(--bone);background:var(--ink);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.6;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

/* atmosphere */
.field{position:fixed;inset:0;z-index:-2;background:
  radial-gradient(120% 80% at 18% -10%,rgba(201,166,99,.10),transparent 42%),
  radial-gradient(90% 70% at 92% 4%,rgba(184,73,47,.07),transparent 46%),
  radial-gradient(140% 120% at 50% 120%,rgba(111,138,153,.06),transparent 50%),
  linear-gradient(168deg,#0e0b07 0%,#151009 46%,#0a0805 100%);}
.grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.vignette{position:fixed;inset:0;z-index:-1;pointer-events:none;box-shadow:inset 0 0 240px 60px rgba(0,0,0,.55);}

/* nav */
.topnav{position:sticky;top:0;z-index:60;backdrop-filter:blur(12px);
  background:linear-gradient(180deg,rgba(10,8,5,.92),rgba(10,8,5,.62));border-bottom:1px solid var(--line);}
.nav-inner{max-width:var(--max);margin:0 auto;padding:16px 26px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.brand{font-family:var(--display);font-weight:600;font-size:19px;letter-spacing:.04em;color:var(--bone);}
.brand b{color:var(--bronze);font-weight:600;}
.nav-links{display:flex;gap:20px;align-items:center;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--bone-dim);}
.nav-links a{position:relative;padding:4px 0;transition:color .3s;}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:var(--bronze);transition:right .3s ease;}
.nav-links a:hover{color:var(--bone);}
.nav-links a:hover::after{right:0;}
.nav-links a[aria-current="page"]{color:var(--bronze);}
.nav-links a[aria-current="page"]::after{right:0;}
.nav-toggle{display:none;width:46px;height:40px;border:1px solid var(--line-strong);background:rgba(201,166,99,.05);color:var(--bone);border-radius:3px;cursor:pointer;}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{display:block;width:18px;height:1.6px;background:var(--bone);margin:0 auto;content:"";transition:.3s;}
.nav-toggle span::before{transform:translateY(-6px);}
.nav-toggle span::after{transform:translateY(4.4px);}

/* layout */
.section{max-width:var(--max);margin:0 auto;padding:96px 26px;}
.section.tight{padding-top:40px;}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.34em;text-transform:uppercase;color:var(--bronze);display:flex;align-items:center;gap:14px;margin:0 0 22px;}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--bronze-deep);display:inline-block;}
.eyebrow.solo::before{display:none;}
.section-head{margin-bottom:46px;max-width:740px;}
.section-title{font-family:var(--display);font-weight:600;font-size:clamp(34px,5vw,58px);line-height:1.02;letter-spacing:-.015em;margin:0;color:var(--bone);}
.section-title.sm{font-size:clamp(26px,3.5vw,40px);}
.section-title em{font-style:italic;color:var(--bronze-bright);font-weight:500;}
.section-intro{color:var(--bone-dim);font-size:18px;line-height:1.68;margin:18px 0 0;max-width:620px;}

/* buttons */
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;}
.btn{display:inline-flex;align-items:center;gap:9px;min-height:50px;padding:0 24px;font-family:var(--body);font-size:14.5px;font-weight:500;letter-spacing:.04em;border:1px solid var(--line-strong);color:var(--bone);background:rgba(201,166,99,.04);transition:all .3s ease;cursor:pointer;}
.btn:hover{transform:translateY(-2px);border-color:var(--bronze);background:rgba(201,166,99,.1);}
.btn.primary{border-color:transparent;color:#160f04;font-weight:600;background:linear-gradient(170deg,var(--bronze-bright),var(--bronze-deep));}
.btn.primary:hover{background:linear-gradient(170deg,#f0d294,var(--bronze));}
.btn.disabled{opacity:.7;pointer-events:none;}
.btn .arr{transition:transform .3s;}
.btn:hover .arr{transform:translate(3px,-1px);}

/* image treatments */
.cover{border-radius:3px;box-shadow:0 2px 0 rgba(0,0,0,.4),18px 22px 50px rgba(0,0,0,.55),-1px 0 0 rgba(255,255,255,.06) inset;object-fit:contain;background:#0a0805;}
.cover.compact{max-height:240px;}
.plate{filter:grayscale(1) contrast(1.05) brightness(.82) sepia(.55) hue-rotate(-8deg) saturate(1.4);border-radius:4px;object-fit:cover;}
.plate.soft{filter:grayscale(1) contrast(1.04) brightness(.9) sepia(.4) saturate(1.2);}
.plate-wrap{position:relative;overflow:hidden;border-radius:6px;border:1px solid var(--line);}
.plate-wrap.fill{width:100%;height:100%;border:0;border-radius:8px;}
.plate-wrap.fill img{width:100%;height:100%;}
.plate-wrap::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(20,12,5,.05),rgba(20,12,5,.55)),radial-gradient(120% 100% at 30% 0%,rgba(201,166,99,.14),transparent 55%);mix-blend-mode:multiply;}
.plate-wrap::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");}

/* hero (home) */
.hero{max-width:var(--max);margin:0 auto;padding:70px 26px 40px;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;min-height:74vh;}
.hero h1{font-family:var(--display);font-weight:600;font-size:clamp(46px,7.4vw,90px);line-height:.96;letter-spacing:-.03em;margin:0;color:var(--bone);}
.hero h1 .g{display:block;}
.hero h1 em{font-style:italic;font-weight:500;color:var(--bronze-bright);}
.hero .lead{font-size:clamp(17px,1.9vw,20px);color:var(--bone-dim);line-height:1.66;margin:26px 0 0;max-width:540px;}
.hero-plate{position:relative;aspect-ratio:4/5;}
.hero-plate img{width:100%;height:100%;}
.hero-plate .frame{position:absolute;inset:14px;border:1px solid rgba(236,226,207,.22);z-index:3;pointer-events:none;}
.hero-plate .cap{position:absolute;left:18px;bottom:18px;z-index:4;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--bone-dim);background:rgba(8,6,4,.6);padding:6px 12px;border:1px solid var(--line);}
.ribbon{display:inline-flex;align-items:center;gap:10px;margin-top:30px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--bronze);}
.ribbon::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--bronze);box-shadow:0 0 12px var(--bronze);}

/* feature */
.feature{display:grid;grid-template-columns:.62fr 1.38fr;gap:50px;align-items:center;padding:44px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(155deg,var(--panel),var(--ink-2));position:relative;overflow:hidden;}
.feature::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--bronze),var(--ember));}
.feature.f-ember{--bronze:var(--ember);}
.feature.f-moss{--ember:var(--moss);}
.feature .cover{max-height:480px;margin:0 auto;width:100%;}
.feature .plate-wrap{align-self:center;max-height:480px;}
.tag{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze);border:1px solid var(--line-strong);padding:7px 13px;border-radius:2px;margin-bottom:18px;}
.tag.ember{color:#e58a72;border-color:rgba(184,73,47,.4);}
.tag.moss{color:#9fc086;border-color:rgba(126,158,107,.4);}
.tag.steel{color:#9fb6c2;border-color:rgba(111,138,153,.4);}
.feature h3,.card h3{font-family:var(--display);font-weight:600;letter-spacing:-.01em;color:var(--bone);}
.feature h3{font-size:clamp(30px,3.6vw,46px);line-height:1.04;margin:0 0 16px;}
.copy{color:var(--bone-dim);font-size:17px;line-height:1.72;margin:0;}
.link-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}

/* grids + cards */
.grid{display:grid;gap:24px;margin-top:8px;}
.grid.two{grid-template-columns:repeat(2,1fr);}
.grid.three{grid-template-columns:repeat(3,1fr);}
.grid.four{grid-template-columns:repeat(4,1fr);}
.card{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:linear-gradient(160deg,var(--panel),var(--ink-2));display:flex;flex-direction:column;transition:transform .35s,border-color .35s;}
.card:hover{transform:translateY(-6px);border-color:var(--line-strong);}
.card .media{padding:26px 26px 0;display:flex;justify-content:center;}
.card .media.flush{padding-bottom:0;}
.card.book .cover{max-height:300px;}
.card .plate-wrap{margin:0;border-radius:0;border:0;border-bottom:1px solid var(--line);}
.card .plate{width:100%;aspect-ratio:16/10;}
.card-body{padding:24px 26px 28px;display:flex;flex-direction:column;flex:1;}
.kicker{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;display:flex;align-items:center;gap:9px;}
.kicker .dot{width:18px;height:2px;background:var(--accent,var(--bronze));}
.card h3{font-size:23px;line-height:1.12;margin:0 0 12px;}
.card p{color:var(--bone-dim);font-size:15px;line-height:1.6;margin:0 0 18px;flex:1;}
.text-link{font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--bronze-bright);display:inline-flex;align-items:center;gap:7px;transition:gap .3s;}
.text-link:hover{gap:12px;}
.a-epic{--accent:var(--bronze);} .a-urban{--accent:var(--moss);} .a-satire{--accent:var(--ember);} .a-scifi{--accent:var(--steel);}

/* page hero */
.page-hero{max-width:var(--max);margin:0 auto;padding:74px 26px 30px;}
.breadcrumb{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:22px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.breadcrumb a:hover{color:var(--bronze);}
.breadcrumb span{color:var(--bronze-deep);}
.page-hero h1{font-family:var(--display);font-weight:600;font-size:clamp(40px,6.4vw,76px);line-height:1;letter-spacing:-.025em;margin:0;color:var(--bone);}
.page-hero h1 em{font-style:italic;color:var(--bronze-bright);font-weight:500;}
.page-hero .lead{color:var(--bone-dim);font-size:19px;line-height:1.66;margin:22px 0 0;max-width:640px;}

/* detail */
.detail{display:grid;grid-template-columns:.7fr 1.3fr;gap:52px;align-items:start;}
.detail-cover{position:sticky;top:96px;}
.detail-cover .cover{width:100%;max-width:360px;margin:0 auto;}
.detail-cover .plate-wrap{max-width:360px;margin:0 auto;}
.detail-cover .buy{margin:26px auto 0;display:flex;flex-direction:column;gap:12px;max-width:360px;}
.detail-tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;}
.detail h1{font-family:var(--display);font-weight:600;font-size:clamp(34px,4.6vw,56px);line-height:1.02;letter-spacing:-.02em;margin:0 0 6px;color:var(--bone);}
.detail .byline{color:var(--muted);font-size:14px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 26px;}
.detail .body p{color:var(--bone-dim);font-size:18px;line-height:1.8;margin:0 0 20px;}
.detail .body p:first-of-type::first-letter{font-family:var(--display);float:left;font-size:3.6em;line-height:.8;font-weight:600;color:var(--bronze);margin:.05em .14em 0 0;}
.info-panel{margin-top:30px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(160deg,var(--panel),var(--ink-2));padding:26px 28px;}
.info-panel h3{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);margin:0 0 16px;}
.info-row{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-top:1px solid var(--line);font-size:15px;}
.info-row:first-of-type{border-top:0;}
.info-row .k{color:var(--muted);letter-spacing:.04em;}
.info-row .v{color:var(--bone);text-align:right;}
.note{font-size:13px;color:var(--muted);font-style:italic;margin-top:16px;}

/* about */
.about{display:grid;grid-template-columns:.78fr 1.22fr;gap:52px;align-items:start;}
.about .portrait{position:relative;aspect-ratio:1;max-width:380px;}
.about .portrait img{width:100%;height:100%;border-radius:6px;}
.about .portrait .frame{position:absolute;inset:-12px;border:1px solid var(--line);border-radius:6px;pointer-events:none;}
.about h2{font-family:var(--display);font-weight:600;font-size:clamp(32px,4.4vw,50px);margin:0 0 4px;color:var(--bone);}
.bio{color:var(--bone-dim);font-size:17.5px;line-height:1.82;margin:20px 0 0;}
.bio p{margin:0 0 18px;}
.bio p:first-of-type::first-letter{font-family:var(--display);float:left;font-size:4.2em;line-height:.8;font-weight:600;color:var(--bronze);margin:.05em .14em 0 0;}
.themes{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;}
.theme{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--bone-dim);border:1px solid var(--line);padding:8px 14px;border-radius:2px;}

/* atlas */
.atlas{position:relative;overflow:hidden;border:1px solid var(--line-strong);border-radius:10px;padding:clamp(34px,5vw,60px);background:linear-gradient(150deg,#16120b,#0c0905);}
.atlas .topo{position:absolute;inset:0;opacity:.16;pointer-events:none;background-image:repeating-radial-gradient(circle at 78% 30%,transparent 0 16px,rgba(201,166,99,.5) 16px 17px),repeating-radial-gradient(circle at 20% 80%,transparent 0 22px,rgba(111,138,153,.4) 22px 23px);mask-image:linear-gradient(90deg,transparent,#000 40%);}
.atlas-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr .9fr;gap:48px;align-items:center;}
.atlas h3{font-family:var(--display);font-weight:600;font-size:clamp(30px,4.4vw,52px);line-height:1.02;letter-spacing:-.02em;margin:0 0 16px;color:var(--bone);}
.atlas h3.sm{font-size:clamp(26px,3.5vw,40px);}
.atlas h3 em{font-style:italic;color:var(--bronze-bright);}
.atlas p{color:var(--bone-dim);font-size:17px;line-height:1.7;margin:0;max-width:520px;}
.atlas-card{border:1px solid var(--line);border-radius:8px;aspect-ratio:5/4;position:relative;background:radial-gradient(circle at 30% 25%,rgba(184,73,47,.25),transparent 30%),repeating-linear-gradient(0deg,rgba(201,166,99,.06) 0 1px,transparent 1px 34px),repeating-linear-gradient(90deg,rgba(201,166,99,.06) 0 1px,transparent 1px 34px),#0a0805;display:flex;align-items:flex-end;padding:22px;overflow:hidden;}
.atlas-card .pin{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--ember);box-shadow:0 0 0 4px rgba(184,73,47,.25),0 0 14px var(--ember);}
.atlas-card .pin.pa{left:28%;top:34%;}
.atlas-card .pin.pb{left:62%;top:22%;background:var(--bronze);box-shadow:0 0 0 4px rgba(201,166,99,.25),0 0 14px var(--bronze);}
.atlas-card .pin.pc{left:48%;top:64%;background:var(--steel);box-shadow:0 0 0 4px rgba(111,138,153,.25),0 0 14px var(--steel);}
.states{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}

/* newsletter */
.cta-band{text-align:center;border:1px solid var(--line-strong);border-radius:10px;padding:clamp(40px,7vw,76px) 26px;background:radial-gradient(circle at 50% -20%,rgba(201,166,99,.16),transparent 50%),linear-gradient(160deg,var(--panel),var(--ink-2));}
.cta-band .eyebrow{justify-content:center;}
.cta-band .eyebrow::before{display:none;}
.cta-band .btn-row{justify-content:center;}
.cta-band h2{font-family:var(--display);font-weight:600;font-size:clamp(30px,4.5vw,52px);line-height:1.04;margin:0 auto;max-width:680px;color:var(--bone);}
.cta-band p{color:var(--bone-dim);font-size:18px;max-width:540px;margin:18px auto 0;}
.signup{display:flex;gap:12px;max-width:480px;margin:32px auto 0;flex-wrap:wrap;justify-content:center;}
.signup input{flex:1;min-width:220px;min-height:52px;padding:0 18px;background:rgba(8,6,4,.6);border:1px solid var(--line-strong);color:var(--bone);font-family:var(--body);font-size:15px;border-radius:3px;}
.signup input:focus{outline:none;border-color:var(--bronze);}
.perks{display:flex;justify-content:center;flex-wrap:wrap;gap:26px;margin-top:34px;color:var(--muted);font-size:13px;letter-spacing:.06em;}
.perks span{display:flex;align-items:center;gap:8px;}
.perks span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--bronze);}

/* footer */
footer{border-top:1px solid var(--line);margin-top:40px;padding:40px 26px 56px;text-align:center;}
.f-brand{font-family:var(--display);font-size:18px;color:var(--bone);margin-bottom:14px;}
.gold{color:var(--bronze);}
.f-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 26px;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:18px;}
.f-links a:hover{color:var(--bronze);}
.f-links-sub{font-size:11px;letter-spacing:.1em;opacity:.85;margin-top:-6px;}
.f-social{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin:4px 0 22px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;}
.f-social a{color:var(--bone-dim);}
.f-social a:hover{color:var(--bronze);}

/* faq */
.faq{display:flex;flex-direction:column;gap:16px;}
.faq-item{border:1px solid var(--line);border-radius:8px;background:linear-gradient(160deg,var(--panel),var(--ink-2));padding:24px 28px;}
.faq-item h2{font-family:var(--display);font-weight:600;font-size:19px;margin:0 0 10px;color:var(--bone);letter-spacing:-.01em;}
.faq-item p{color:var(--bone-dim);font-size:16px;line-height:1.68;margin:0;}
.faq-item p a{color:var(--bronze-bright);border-bottom:1px solid rgba(227,197,133,.35);}
.faq-item p a:hover{color:var(--bronze);}
.f-note{font-size:13px;color:var(--muted);}

/* accessibility: skip link + focus states */
.skip-link{position:absolute;left:12px;top:-60px;z-index:1000;background:var(--bronze-bright);color:#160f04;font-weight:600;padding:12px 18px;border-radius:4px;transition:top .2s ease;text-decoration:none;}
.skip-link:focus{top:12px;}
a:focus-visible,button:focus-visible,.btn:focus-visible,.nav-toggle:focus-visible,input:focus-visible,.text-link:focus-visible{outline:2px solid var(--bronze-bright);outline-offset:3px;border-radius:2px;}

@keyframes rise{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}
main{animation:rise .6s cubic-bezier(.2,.7,.2,1) both;}
.d1{animation-delay:.05s;}.d2{animation-delay:.16s;}.d3{animation-delay:.28s;}.d4{animation-delay:.4s;}.d5{animation-delay:.52s;}
.rise{animation:rise .9s cubic-bezier(.2,.7,.2,1) both;}

@media(max-width:1120px){
  .nav-links{position:absolute;left:16px;right:16px;top:70px;flex-direction:column;align-items:stretch;gap:0;padding:10px;background:rgba(8,6,4,.98);border:1px solid var(--line);border-radius:8px;display:none;z-index:70;}
  .nav-links.open{display:flex;}
  .nav-links a{padding:13px 12px;}
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center;}
}
@media(max-width:920px){
  .hero{grid-template-columns:1fr;gap:38px;padding-top:48px;min-height:auto;}
  .hero-plate{order:-1;aspect-ratio:16/10;max-height:340px;}
  .feature,.about,.atlas-grid,.detail{grid-template-columns:1fr;gap:34px;}
  .detail-cover{position:static;}
  .grid.four,.grid.three{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:560px){
  .section{padding:64px 20px;}
  .grid.four,.grid.three,.grid.two{grid-template-columns:1fr;}
  .feature{padding:26px;}
  .signup{flex-direction:column;align-items:stretch;}
  .signup .btn{justify-content:center;}
}

/* ===== Reader Pathway (Where Do I Start) ===== */
.pathway-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:8px;}
.pathway-card{display:flex;gap:22px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;background:linear-gradient(160deg,var(--panel),var(--ink-2));padding:28px 30px;transition:border-color .3s,transform .3s;}
.pathway-card:hover{border-color:var(--line-strong);transform:translateY(-4px);}
.pathway-card .num{font-family:var(--display);font-size:38px;font-weight:600;color:var(--bronze);line-height:1;flex-shrink:0;opacity:.85;}
.pathway-card h3{font-family:var(--display);font-weight:600;font-size:21px;margin:0 0 10px;color:var(--bone);}
.pathway-card p{color:var(--bone-dim);font-size:15px;line-height:1.62;margin:0 0 16px;}
.pathway-card.a-epic .num{color:var(--bronze);} .pathway-card.a-urban .num{color:var(--moss);} .pathway-card.a-satire .num{color:var(--ember);} .pathway-card.a-scifi .num{color:var(--steel);}

/* ===== World Panel (immersive, alternating, full-bleed) ===== */
.world-panel{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:26px;min-height:400px;}
.world-panel.reverse{direction:rtl;}
.world-panel.reverse>*{direction:ltr;}
.world-panel .wp-art{position:relative;overflow:hidden;background:#0a0805;}
.world-panel .wp-art img{width:100%;height:100%;object-fit:cover;min-height:320px;filter:grayscale(.25) contrast(1.05) brightness(.86) saturate(1.15);}
.world-panel .wp-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,8,5,.05) 55%,rgba(10,8,5,.65));pointer-events:none;}
.world-panel.reverse .wp-art::after{background:linear-gradient(270deg,rgba(10,8,5,.05) 55%,rgba(10,8,5,.65));}
.world-panel .wp-copy{padding:clamp(30px,4vw,56px);display:flex;flex-direction:column;justify-content:center;background:radial-gradient(120% 100% at 0% 0%,rgba(201,166,99,.08),transparent 55%),linear-gradient(155deg,var(--panel),var(--ink-2));}
.world-panel[data-mood="ember"] .wp-copy{--bronze:var(--ember);--bronze-bright:#e58a72;}
.world-panel[data-mood="moss"] .wp-copy{--bronze:var(--moss);--bronze-bright:#9fc086;}
.world-panel[data-mood="steel"] .wp-copy{--bronze:var(--steel);--bronze-bright:#9fb6c2;}
.world-panel .wp-kicker{font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);margin:0 0 16px;}
.world-panel h3{font-family:var(--display);font-weight:600;font-size:clamp(28px,3.4vw,44px);line-height:1.03;letter-spacing:-.02em;margin:0 0 16px;color:var(--bone);}
.world-panel p{color:var(--bone-dim);font-size:17px;line-height:1.72;margin:0 0 24px;max-width:480px;}

/* ===== Progress Track (current projects) ===== */
.progress-track{margin-top:16px;}
.progress-track .bar{height:6px;border-radius:3px;background:rgba(236,226,207,.1);overflow:hidden;margin-bottom:6px;}
.progress-track .bar span{display:block;height:100%;background:linear-gradient(90deg,var(--bronze-deep),var(--bronze-bright));border-radius:3px;}
.progress-track .label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between;gap:10px;}

@media(max-width:920px){
  .pathway-grid{grid-template-columns:1fr;}
  .world-panel,.world-panel.reverse{grid-template-columns:1fr;direction:ltr;}
  .world-panel .wp-art{min-height:220px;}
}

/* ===== Shelf (books grouped by world on books.html) ===== */
.shelf{margin-bottom:52px;}
.shelf-head{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:16px 22px;border-radius:8px;margin-bottom:22px;background:linear-gradient(90deg,rgba(201,166,99,.12),transparent);border-left:3px solid var(--bronze);}
.shelf[data-mood="moss"] .shelf-head{border-left-color:var(--moss);background:linear-gradient(90deg,rgba(126,158,107,.12),transparent);}
.shelf[data-mood="ember"] .shelf-head{border-left-color:var(--ember);background:linear-gradient(90deg,rgba(184,73,47,.12),transparent);}
.shelf[data-mood="steel"] .shelf-head{border-left-color:var(--steel);background:linear-gradient(90deg,rgba(111,138,153,.12),transparent);}
.shelf-head h2{font-family:var(--display);font-weight:600;font-size:clamp(20px,2.6vw,27px);margin:0;color:var(--bone);}
.shelf-head .status{margin-left:auto;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap;}
.shelf-head .view-series{font-size:12.5px;font-weight:600;color:var(--bronze-bright);white-space:nowrap;}

/* ===== World Directory (compact scannable rows, series index) ===== */
.world-directory{display:flex;flex-direction:column;gap:12px;}
.wd-row{display:grid;grid-template-columns:70px 1fr auto auto;gap:22px;align-items:center;padding:18px 22px;border:1px solid var(--line);border-left:4px solid var(--bronze);border-radius:6px;background:linear-gradient(160deg,var(--panel),var(--ink-2));transition:transform .25s,border-color .25s;}
.wd-row:hover{transform:translateX(4px);border-color:var(--line-strong);}
.wd-row[data-mood="moss"]{border-left-color:var(--moss);}
.wd-row[data-mood="ember"]{border-left-color:var(--ember);}
.wd-row[data-mood="steel"]{border-left-color:var(--steel);}
.wd-row .wd-cover{width:64px;height:82px;border-radius:4px;overflow:hidden;background:#0a0805;flex-shrink:0;}
.wd-row .wd-cover img{width:100%;height:100%;object-fit:cover;}
.wd-row .wd-info h3{font-family:var(--display);font-weight:600;font-size:19px;margin:0 0 6px;color:var(--bone);}
.wd-row .wd-info p{color:var(--bone-dim);font-size:14.5px;line-height:1.5;margin:0;}
.wd-row .wd-status{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap;text-align:right;}
.wd-row .wd-link{font-size:13px;font-weight:600;color:var(--bronze-bright);white-space:nowrap;}

/* ===== Reading Path (numbered stepper) ===== */
.reading-path{list-style:none;margin:0;padding:0;}
.reading-path li{position:relative;padding:0 0 28px 54px;}
.reading-path li:last-child{padding-bottom:0;}
.reading-path li::before{content:"";position:absolute;left:17px;top:38px;bottom:0;width:1px;background:var(--line-strong);}
.reading-path li:last-child::before{display:none;}
.reading-path .step-num{position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;border:1px solid var(--line-strong);background:var(--panel);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:600;font-size:15px;color:var(--bronze);}
.reading-path h4{font-family:var(--display);font-weight:600;font-size:19px;margin:0 0 4px;color:var(--bone);}
.reading-path .rp-status{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;display:block;}
.reading-path p{color:var(--bone-dim);font-size:14.5px;line-height:1.62;margin:0 0 10px;}

@media(max-width:640px){
  .wd-row{grid-template-columns:56px 1fr;row-gap:6px;}
  .wd-row .wd-cover{width:56px;height:72px;}
  .wd-row .wd-status,.wd-row .wd-link{grid-column:2;text-align:left;}
}
