/* THE COWBOY IN YOU — brand stylesheet (per CIY Brand Code) */
/* Display = Cinzel (Trajan alt). Body = Georgia/Times. SERIF ONLY — never sans. */
:root{
  --navy:#1A2544; --navy2:#0f1a24; --gold:#C4A44E; --cream:#E8DCC8; --muted:#D4C8A8;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  background:var(--navy);
  color:var(--cream);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.25rem; line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display,.kicker,.sub,.btn,.lessons li a,.faq dt{
  font-family:"Cinzel",Georgia,serif;
  font-weight:400; letter-spacing:.12em; text-transform:uppercase;
}
a{color:var(--gold);text-decoration:none}
a:hover{text-decoration:underline}
strong{color:var(--cream)} em{color:var(--muted);font-style:italic}
.wrap{max-width:760px;margin:0 auto;padding:0 24px}
.hero{background:linear-gradient(135deg,var(--navy2),#1a2a3a);text-align:center;padding:104px 24px 88px}
.kicker{color:var(--gold);letter-spacing:.35em;font-size:.8rem}
.hero h1{font-size:2.7rem;margin:.3em 0 .1em;line-height:1.1;color:var(--cream)}
.rule{height:1px;background:var(--gold);width:120px;margin:18px auto}
.sub{color:var(--gold);letter-spacing:.3em;font-size:.85rem}
.logo{width:54px;height:auto;margin:0 auto 14px;display:block;opacity:.95}
.bookcover{display:block;width:74%;max-width:300px;margin:4px auto 26px;border-radius:10px;box-shadow:0 22px 55px rgba(0,0,0,.5)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tagline{font-size:1.45rem;color:var(--cream);margin:26px auto 6px;max-width:640px}

.heromark{width:82px;height:auto;display:block;margin:0 auto 20px}
.herotitle .the{display:block;color:var(--cream);opacity:.86;font-family:"Cinzel",serif;font-size:.8rem;letter-spacing:.35em;margin-bottom:.5em}
.heroauthor{font-family:"Cinzel",Georgia,serif;color:var(--cream);letter-spacing:.3em;text-transform:uppercase;font-size:.78rem;margin:.9rem auto 0}
.herobyline{font-family:"Cinzel",serif;letter-spacing:.12em;font-size:.8rem;color:var(--muted);max-width:46ch;margin:.7rem auto 0;line-height:1.6}
.herolede{font-family:Georgia,"Times New Roman",serif;font-style:italic;color:var(--cream);font-size:1.6rem;line-height:1.5;max-width:34ch;margin:1.1rem auto .4rem;text-align:center}
.btn{display:inline-block;border:1px solid var(--gold);color:var(--gold);letter-spacing:.18em;font-size:.85rem;padding:14px 28px;margin:10px 8px;border-radius:2px;transition:.2s}
.btn:hover{background:var(--gold);color:var(--navy);text-decoration:none}
.btn.solid{background:var(--gold);color:var(--navy)}
section{padding:72px 0;border-top:1px solid rgba(196,164,78,.25)}
section h2{font-size:1.45rem;text-align:center;margin-bottom:26px;color:var(--gold)}
.lead{font-size:1.35rem}
.catechism{text-align:center;font-style:italic;color:var(--muted)}
.catechism p{margin:.85em 0}
.catechism #rotquote+p{margin-top:1.1em}
.lessons{list-style:none;counter-reset:l}
.lessons li{counter-increment:l;border-bottom:1px solid rgba(196,164,78,.2);padding:14px 0}
.lessons li a{font-size:1rem;letter-spacing:.06em}
.lessons li::before{content:counter(l,decimal-leading-zero);color:var(--gold);font-family:"Cinzel",serif;margin-right:14px}
.join{background:linear-gradient(135deg,var(--navy2),#1a2a3a);text-align:center}
.note{font-size:.95rem;color:var(--muted);font-style:italic}
.faq dt{font-size:1rem;letter-spacing:.05em;color:var(--gold);margin-top:22px}
.faq dd{margin:.4em 0 0}
footer{text-align:center;padding:40px 24px;color:var(--muted);font-size:.95rem;border-top:1px solid rgba(196,164,78,.3)}
/* closer + rotating quote */
.closer{text-align:center;background:linear-gradient(135deg,var(--navy2),#1a2a3a)}
.closer .bigquote{font-size:1.6rem;line-height:1.5;color:var(--cream);font-style:italic;max-width:620px;margin:26px auto}
.closer .byline{font-family:"Cinzel",serif;letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;color:var(--gold)}
.rotquote{font-size:1.5rem;line-height:1.45;color:var(--cream);min-height:2.2em;transition:opacity .45s ease;opacity:1;max-width:600px;margin:1.4em auto;text-align:center}
/* reader */
.reader{max-width:720px;margin:0 auto;padding:48px 24px 80px}
.reader h1{font-size:2rem;text-align:center;color:var(--cream);line-height:1.2}
.reader h2{font-size:1.2rem;color:var(--gold);margin:2.2em 0 .6em;border-top:1px solid rgba(196,164,78,.3);padding-top:1.2em}
.reader p{margin:0 0 1.05em;font-size:1.3rem}
.reader .sub{display:block;text-align:center;margin:.6em 0 2em}
.reader .top{text-align:center;margin-bottom:1em}
.cover{display:block;max-width:340px;width:80%;margin:0 auto 28px;border:1px solid rgba(196,164,78,.4)}
.dl{text-align:center;margin:0 0 10px}
.giftline{text-align:center;color:var(--muted);font-style:italic;margin-bottom:1.8em}
.booktoc{list-style:none;max-width:560px;margin:0 auto 1.4em;padding:0}
.booktoc li{border-bottom:1px solid rgba(196,164,78,.16);padding:11px 4px;font-size:1.05rem;color:var(--muted)}
.booktoc li a{color:var(--cream)} .booktoc li a:hover{color:var(--gold)}
/* per-chapter song */
.chapter-song{background:var(--navy2);border:1px solid rgba(196,164,78,.3);border-radius:6px;padding:20px 22px;margin:2.6em 0 0;text-align:center}
.chapter-song .cs-label{display:block;font-family:"Cinzel",serif;letter-spacing:.2em;text-transform:uppercase;font-size:.66rem;color:var(--gold);margin-bottom:10px}
.chapter-song .cs-link{display:inline-block;font-family:"Cinzel",serif;letter-spacing:.05em;font-size:.92rem;color:var(--cream);margin-bottom:8px}
.chapter-song .cs-link:hover{color:var(--gold);text-decoration:none}
.chapter-song .cs-quote{font-style:italic;color:var(--muted);font-size:1.05rem;margin:0}
/* email join form */
.join-form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:18px auto 8px;max-width:480px}
.join-form input{flex:1;min-width:220px;background:rgba(232,220,200,.06);border:1px solid var(--gold);color:var(--cream);font-family:Georgia,serif;font-size:1.05rem;padding:13px 16px;border-radius:2px}
.join-form input::placeholder{color:var(--muted)}
.join-form button{cursor:pointer;border:none}
/* social + share rows — refined outline chips */
.social{margin-top:22px}
.social .lab{display:block;color:var(--muted);font-family:"Cinzel",serif;letter-spacing:.24em;font-size:.66rem;text-transform:uppercase;margin-bottom:14px}
.social a{display:inline-block;margin:5px;padding:9px 18px;border:1px solid rgba(196,164,78,.38);border-radius:2px;font-family:"Cinzel",serif;letter-spacing:.14em;font-size:.72rem;text-transform:uppercase;color:var(--muted);transition:.18s}
.catechism .social.share a{width:124px;padding-left:0;padding-right:0;text-align:center}
.social a:hover{border-color:var(--gold);color:var(--gold);text-decoration:none}
.share a{cursor:pointer}
/* vote — Cowboy or Bureaucrat */
.vote{max-width:680px;margin:0 auto;padding:48px 24px 80px;text-align:center}
.vote .scenario{background:var(--navy2);border:1px solid rgba(196,164,78,.35);border-radius:6px;padding:26px 24px;margin:24px 0}
.vote .scenario .q{font-size:1.5rem;color:var(--cream);line-height:1.4}
.vbtns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin:26px 0}
.vbtn{cursor:pointer;font-family:"Cinzel",serif;letter-spacing:.14em;text-transform:uppercase;font-size:1rem;padding:18px 30px;border-radius:3px;border:1px solid var(--gold);background:transparent;color:var(--gold);transition:.18s;min-width:180px}
.vbtn.cowboy:hover,.vbtn.cowboy.picked{background:var(--gold);color:var(--navy)}
.vbtn.bureaucrat{border-color:#7d8694;color:#9aa3b0}
.vbtn.bureaucrat:hover,.vbtn.bureaucrat.picked{background:#3a4452;color:var(--cream);border-color:#3a4452}
.tally{margin:18px auto 0;max-width:480px;text-align:left;display:none}
.tally.show{display:block}
.bar{height:30px;border-radius:3px;margin:8px 0;position:relative;background:rgba(232,220,200,.08);overflow:hidden}
.bar span{position:absolute;left:0;top:0;height:100%;display:block;width:0;transition:width .6s ease}
.bar .lab{position:relative;z-index:2;line-height:30px;padding:0 12px;font-family:"Cinzel",serif;font-size:.78rem;letter-spacing:.08em;color:var(--cream)}
.bar.c span{background:rgba(196,164,78,.55)} .bar.b span{background:rgba(122,134,148,.45)}
.verdict{font-family:"Cinzel",serif;letter-spacing:.1em;color:var(--gold);margin-top:18px;font-size:1.05rem;min-height:1.4em}
/* gallery (quotes / armory) */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin-top:24px}
.card{background:var(--navy2);border:1px solid rgba(196,164,78,.3);border-radius:4px;overflow:hidden;text-align:center}
.card img{width:100%;display:block}
.card .cap{padding:10px;font-size:.92rem;color:var(--muted);line-height:1.5}
@media (max-width:600px){
  body{font-size:1.12rem;line-height:1.65}
  .hero{padding:56px 18px 46px}.hero h1{font-size:2rem}
  .tagline,.lead{font-size:1.18rem}
  .herolede{font-size:1.24rem}
  section{padding:48px 0}section h2{font-size:1.25rem}
  .btn{display:block;width:100%;max-width:300px;margin:10px auto}
  .reader{padding:32px 20px 64px}.reader h1{font-size:1.6rem}.reader p{font-size:1.15rem}
  .closer .bigquote{font-size:1.3rem}.rotquote{font-size:1.25rem}
}

.heroimg{display:block;width:100%;max-width:940px;margin:0 auto 26px;border-radius:4px}

/* per-chapter song share row */
.chapter-song .cs-share{margin-top:16px}
.chapter-song .cs-share .lab{display:block;color:var(--muted);font-family:"Cinzel",serif;letter-spacing:.2em;font-size:.6rem;text-transform:uppercase}

/* soundtrack: song links + Your Song share widget */
.songlink{color:#D4C8A8;border-bottom:1px dotted rgba(196,164,78,.5)} .songlink:hover{color:var(--gold);text-decoration:none}
.yoursong{background:var(--navy2);border:1px solid rgba(196,164,78,.35);border-radius:8px;padding:30px 26px;margin:24px auto 8px;max-width:640px;text-align:center}
.yoursong h2{margin-bottom:10px}
.yoursong .ys-field{margin:16px 0;text-align:left}
.yoursong label{display:block;font-family:"Cinzel",serif;letter-spacing:.16em;text-transform:uppercase;font-size:.62rem;color:var(--gold);margin-bottom:8px}
.yoursong select,.yoursong input{width:100%;background:rgba(232,220,200,.06);border:1px solid var(--gold);color:var(--cream);font-family:Georgia,serif;font-size:1.02rem;padding:12px 14px;border-radius:2px}
.yoursong .ys-card{display:block;max-width:230px;margin:14px auto;border:1px solid rgba(196,164,78,.4);border-radius:4px}
.yoursong .ys-preview{font-style:italic;color:var(--muted);font-size:.98rem;margin:14px auto;max-width:560px;min-height:2.2em}
.yoursong .ys-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:6px}
.yoursong .ys-actions a,.yoursong .ys-actions button{cursor:pointer;border:1px solid var(--gold);background:transparent;color:var(--gold);font-family:"Cinzel",serif;letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;padding:10px 16px;border-radius:2px;transition:.18s}
.yoursong .ys-actions a:hover,.yoursong .ys-actions button:hover{background:var(--gold);color:var(--navy);text-decoration:none}


/* ---- Contents list: labelled, not numbered (23 Aug 2026) ---- */
.toc{list-style:none;margin:1.6rem 0 0;padding:0}
.toc li{display:grid;grid-template-columns:6.4rem 1fr;gap:1rem;align-items:baseline;padding:.55rem 0;border-bottom:1px solid rgba(212,196,166,.14)}
.toc li:last-child{border-bottom:0}
.toc .lab{font-family:"Cinzel",Georgia,serif;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);opacity:.72;font-variant-numeric:tabular-nums}
.toc li.is-story .lab{opacity:.5}
.toc li a{font-family:"Cinzel",Georgia,serif;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
@media(max-width:560px){.toc li{grid-template-columns:5rem 1fr;gap:.7rem}.toc .lab{font-size:.6rem}}

/* ---- Story pages: centred subtitle, ornament, brand mark ---- */
.reader .sub{display:block;text-align:center;color:var(--muted);font-size:.72rem;letter-spacing:.16em;margin:.6rem 0 0}
.reader h1{text-align:center}
.story-mark{display:block;margin:1.4rem auto 2.2rem;width:54px;height:auto;opacity:.85}
.story-rule{display:block;text-align:center;color:var(--gold);letter-spacing:.7em;opacity:.6;margin:1.1rem 0 1.8rem;font-size:.8rem}



p.closing-line,.reader p.closing-line,.wrap p.closing-line{display:block;text-align:center;font-family:"EB Garamond",Georgia,serif;font-style:italic;color:#E8DCC8;font-size:1.35rem;line-height:1.55;max-width:none;text-wrap:balance;margin-left:auto;margin-right:auto;margin-top:5.5rem;margin-bottom:5.5rem}
@media(max-width:640px){p.closing-line,.reader p.closing-line,.wrap p.closing-line{font-size:1.12rem;margin-top:3.4rem;margin-bottom:3.4rem}}

/* ---- Chapter titles centred over the dot rules (24 Aug 2026) ---- */
.reader h2{text-align:center;text-indent:.06em}
.story-rule{text-indent:.35em}

/* ---- Continuous chapter navigation across all 18 reading pages ---- */
.toplink{display:inline-block;border:1px solid var(--gold);color:var(--gold);letter-spacing:.18em;font-size:.85rem;padding:14px 28px;margin:10px 8px;border-radius:2px;transition:.2s}
.toplink:hover,.toplink:focus-visible{background:var(--gold);color:var(--navy);text-decoration:none}
.pagenav{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0;margin:3rem 0 0;padding-top:2rem;border-top:1px solid rgba(196,164,78,.22)}
.pagenav .btn{margin:8px 6px}
@media (max-width:600px){.pagenav{flex-direction:column;align-items:stretch}.pagenav .btn{width:100%;max-width:320px;margin:8px auto}}

/* ---- Epigraphs: centred quote, attribution beneath (24 Aug 2026) ---- */
.reader .epigraph{display:block;margin:2.4em auto 2.8em;max-width:36ch;text-align:center;border:0;padding:0}
.reader .epigraph p{font-family:Georgia,"Times New Roman",serif;font-style:italic;color:var(--cream);font-size:1.22rem;line-height:1.55;text-wrap:balance;margin:0;max-width:none}
.reader .epigraph em{color:var(--cream);font-style:italic}
.reader .epigraph cite{display:block;margin-top:1.15rem;font-family:"Cinzel",Georgia,serif;font-style:normal;font-weight:400;text-transform:uppercase;letter-spacing:.22em;font-size:.62rem;color:var(--gold)}
@media (max-width:600px){.reader .epigraph{max-width:30ch}.reader .epigraph p{font-size:1.1rem}}


/* ---- Floating mini nav for long pages (26 Aug 2026) ---- */
.floatnav{position:fixed;right:14px;bottom:14px;z-index:60;display:flex;flex-direction:column;gap:8px;opacity:0;pointer-events:none;transition:opacity .25s ease}
.floatnav.on{opacity:.94;pointer-events:auto}
.floatnav a,.floatnav button{display:flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;margin:0;background:var(--navy2);border:1px solid rgba(196,164,78,.55);color:var(--gold);border-radius:2px;cursor:pointer;text-decoration:none;box-shadow:0 2px 10px rgba(0,0,0,.35)}
.floatnav a:hover,.floatnav button:hover,.floatnav a:focus-visible,.floatnav button:focus-visible{background:var(--gold);color:var(--navy)}
.floatnav svg{display:block;width:19px;height:19px}
@media print{.floatnav{display:none}}
@media (prefers-reduced-motion:reduce){.floatnav{transition:none}}

/* nested subtitle keeps its original line box (26 Aug 2026) */
h1 .sub{line-height:1.65;font-weight:400}

/* language switch (26 Aug 2026) */
.langlink{margin-left:10px}
@media (max-width:600px){.top .toplink{display:inline-block;width:auto;max-width:none}.langlink{margin-left:8px}}
