/* ===========================================================
   McGuffin Press — shared stylesheet for content pages
   Matches the celestial brand of the homepage (index.html).
   Homepage keeps its own inline styles; this file powers
   submit / resources / downloads / article pages.
   =========================================================== */

:root {
  --sky-deep:    #04061A;
  --sky-mid:     #080E2A;
  --sky-blue:    #0C1640;
  --indigo:      #141854;
  --maroon:      #7B1C2E;
  --crimson:     #7B1C2E;
  --crimson-mid: #9B2D42;
  --gold:        #C9A227;
  --gold-light:  #E8C44A;
  --gold-pale:   #F5DFA0;
  --star:        #EEF2FF;
  --parchment:   #EDE7D5;
  --text-blue:   rgba(190,210,255,0.75);
  --ink-soft:    rgba(200,220,255,0.82);
  --line:        rgba(100,130,255,0.14);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }

body {
  background:
    radial-gradient(ellipse 80% 50% at 50% -5%, rgba(15,28,100,0.35) 0%, transparent 60%),
    linear-gradient(to bottom, var(--sky-mid), var(--sky-deep) 40%);
  background-attachment: fixed;
  color: var(--parchment);
  font-family: 'EB Garamond', Georgia, serif;
  font-size: 18px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
}

a { color: var(--gold-light); text-decoration: none; transition: color .25s; }
a:hover { color: var(--gold-pale); }

/* ---------- skip link (a11y) ---------- */
.skip-link {
  position:absolute; left:-999px; top:0; z-index:9999;
  background:var(--gold); color:var(--sky-deep); padding:.6rem 1rem;
  font-family:'Cinzel',serif; font-size:.7rem; letter-spacing:.15em; text-transform:uppercase;
}
.skip-link:focus { left:8px; top:8px; }

/* ===========================================================
   HEADER / NAVIGATION  (real, crawlable, accessible)
   =========================================================== */
.site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(4,6,26,0.82);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--line);
}
.nav-inner {
  max-width: 1200px; margin: 0 auto; padding: 0 1.5rem;
  display: flex; align-items: center; justify-content: space-between;
  min-height: 68px; gap: 1rem;
}
.nav-brand {
  font-family: 'Cinzel Decorative', serif; font-weight: 700;
  font-size: 1.15rem; color: var(--gold); white-space: nowrap;
  display: inline-flex; align-items: center;
}
.nav-brand span { color: var(--star); }
.nav-logo { height: 48px; width: auto; display: block; border-radius: 3px; }
.nav-links {
  display: flex; align-items: center; gap: .35rem; list-style: none;
}
.nav-links > li { position: relative; }
.nav-links a, .nav-trigger {
  display: inline-block; font-family: 'Cinzel', serif;
  font-size: .62rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase;
  color: var(--text-blue); padding: .7rem .85rem; background: none; border: none;
  cursor: pointer; transition: color .25s;
}
.nav-links a:hover, .nav-trigger:hover, .nav-trigger[aria-expanded="true"] { color: var(--gold-light); }
.nav-cta {
  font-family:'Cinzel',serif; font-size:.6rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color: var(--sky-deep) !important; background: var(--gold); border:2px solid var(--gold);
  padding: .6rem 1.2rem !important; border-radius: 2px; transition: all .3s;
}
.nav-cta:hover { background: transparent; color: var(--gold) !important; }

/* dropdown */
.nav-drop {
  position: absolute; top: 100%; left: 0; min-width: 230px;
  background: rgba(8,14,42,0.98); border: 1px solid var(--line);
  padding: .5rem; list-style: none; opacity: 0; visibility: hidden;
  transform: translateY(8px); transition: all .2s; box-shadow: 0 20px 50px rgba(0,0,0,.5);
}
.nav-links li:hover .nav-drop,
.nav-links li:focus-within .nav-drop { opacity: 1; visibility: visible; transform: translateY(0); }
.nav-drop a {
  display: block; padding: .55rem .8rem; letter-spacing: .08em;
  font-size: .68rem; text-transform: none; font-family: 'EB Garamond', serif;
  color: var(--ink-soft);
}
.nav-drop a:hover { color: var(--gold-pale); background: rgba(201,162,39,.06); }

/* mobile */
.nav-toggle { display:none; background:none; border:none; color:var(--gold); font-size:1.5rem; cursor:pointer; }
@media (max-width: 880px) {
  .nav-toggle { display: block; }
  .nav-links {
    position: absolute; top: 68px; left: 0; right: 0; flex-direction: column;
    align-items: stretch; gap: 0; background: rgba(4,6,26,0.98);
    border-bottom: 1px solid var(--line); padding: .5rem 1rem 1.5rem;
    max-height: calc(100vh - 68px); overflow-y: auto; display: none;
  }
  .nav-links.open { display: flex; }
  .nav-drop {
    position: static; opacity: 1; visibility: visible; transform: none;
    box-shadow: none; border: none; background: transparent; padding-left: 1rem;
  }
  .nav-cta { text-align: center; margin-top: .5rem; }
}

/* ===========================================================
   LAYOUT PRIMITIVES
   =========================================================== */
.wrap { max-width: 920px; margin: 0 auto; padding: 0 1.5rem; }
.wrap-wide { max-width: 1160px; margin: 0 auto; padding: 0 1.5rem; }
.section { padding: 5rem 0; }
.section-tight { padding: 3.5rem 0; }

.eyebrow {
  font-family:'Cinzel',serif; font-size:.58rem; font-weight:700; letter-spacing:.42em;
  text-transform:uppercase; color:rgba(195,160,165,0.8); margin-bottom:.8rem;
}
h1, h2, h3, h4 { font-family: 'Cinzel', serif; color: var(--star); line-height: 1.25; font-weight: 600; }
.display { font-family: 'Cinzel Decorative', serif; font-weight: 700; }
h1 { font-size: clamp(2rem, 5vw, 3.2rem); margin-bottom: 1rem; }
h2 { font-size: clamp(1.4rem, 3vw, 2.1rem); margin: 2.5rem 0 1rem; }
h3 { font-size: 1.15rem; margin: 1.8rem 0 .6rem; color: var(--gold-pale); }
p { margin-bottom: 1.2rem; color: var(--ink-soft); }
.lead { font-size: 1.18rem; font-style: italic; color: rgba(210,225,255,0.9); }
ul.prose, ol.prose { margin: 0 0 1.4rem 1.3rem; color: var(--ink-soft); }
ul.prose li, ol.prose li { margin-bottom: .55rem; }
strong { color: var(--parchment); }
.rule { width:60px; height:2px; background:linear-gradient(to right,var(--gold),transparent); margin:1.4rem 0; }
.center { text-align: center; }
.muted { color: var(--text-blue); font-size: .95rem; }

/* breadcrumb */
.breadcrumb { font-family:'Cinzel',serif; font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text-blue); padding:1.4rem 0 0; }
.breadcrumb a { color: var(--text-blue); }
.breadcrumb a:hover { color: var(--gold-light); }
.breadcrumb span { color: rgba(255,255,255,.3); margin: 0 .5rem; }

/* hero band */
.page-hero { padding: 4.5rem 0 3rem; text-align: center; border-bottom: 1px solid var(--line); }
.page-hero .lead { max-width: 640px; margin: 1rem auto 0; }

/* buttons */
.btn-primary, .btn-ghost {
  font-family:'Cinzel',serif; font-size:.65rem; font-weight:700; letter-spacing:.22em;
  text-transform:uppercase; padding:.95rem 2.2rem; cursor:pointer; display:inline-block;
  transition:all .35s; border-radius:2px;
}
.btn-primary { color:var(--sky-deep); background:var(--gold); border:2px solid var(--gold); }
.btn-primary:hover { background:transparent; color:var(--gold); box-shadow:0 0 40px rgba(201,162,39,.3); }
.btn-ghost { color:var(--text-blue); background:transparent; border:1px solid rgba(130,160,255,.3); }
.btn-ghost:hover { border-color:rgba(130,160,255,.7); color:var(--star); }

/* cards / grids */
.grid { display:grid; gap:1.5rem; }
.grid-2 { grid-template-columns: repeat(2,1fr); }
.grid-3 { grid-template-columns: repeat(3,1fr); }
@media (max-width:820px){ .grid-2,.grid-3{ grid-template-columns:1fr; } }

.card {
  display:block; padding:1.8rem; background:rgba(15,25,90,0.16);
  border:1px solid var(--line); transition:all .35s; height:100%;
}
.card:hover { transform:translateY(-4px); border-color:rgba(201,162,39,.3); background:rgba(15,20,60,0.3); }
.card h3 { margin-top:0; color:var(--gold-pale); }
.card p { font-size:.96rem; margin-bottom:0; }
.card .tag { font-family:'Cinzel',serif; font-size:.52rem; letter-spacing:.2em; text-transform:uppercase; color:var(--text-blue); }

/* callout / panel */
.panel {
  border:1px solid rgba(201,162,39,.25); background:rgba(201,162,39,.04);
  padding:2rem 2.2rem; margin:2rem 0;
}
.callout { border-left:2px solid var(--gold); padding:1rem 1.6rem; background:rgba(201,162,39,.04); margin:1.8rem 0; }
.callout p { font-style:italic; color:var(--gold-pale); margin:0; }

/* two-column accept/reject table for submit page */
.split { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
@media (max-width:760px){ .split{ grid-template-columns:1fr; } }
.split .yes { border-top:2px solid var(--gold); }
.split .no  { border-top:2px solid var(--crimson-mid); }

/* spec / definition list */
.spec dt { font-family:'Cinzel',serif; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-top:1.4rem; }
.spec dd { margin:.3rem 0 0; color:var(--ink-soft); }

/* email capture */
.capture { display:flex; gap:.6rem; flex-wrap:wrap; max-width:520px; margin:1.5rem auto 0; }
.capture input[type=email]{
  flex:1; min-width:220px; padding:.9rem 1rem; background:rgba(255,255,255,.04);
  border:1px solid rgba(130,160,255,.3); color:var(--star); font-family:'EB Garamond',serif; font-size:1rem;
}
.capture input::placeholder{ color:rgba(190,210,255,.4); }

/* article body */
.article-body { font-size:1.08rem; }
.article-body h2 { color: var(--star); }
.article-meta { font-family:'Cinzel',serif; font-size:.58rem; letter-spacing:.18em; text-transform:uppercase; color:var(--text-blue); margin-bottom:1.5rem; }
.placeholder-note {
  border:1px dashed rgba(201,162,39,.4); background:rgba(201,162,39,.05);
  padding:1.2rem 1.4rem; margin:1.5rem 0; font-size:.95rem; color:var(--gold-pale);
}

/* ===========================================================
   FOOTER
   =========================================================== */
.site-footer { border-top:1px solid var(--line); margin-top:4rem; padding:3.5rem 0 2rem; background:rgba(4,6,22,.6); }
.footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:2rem; }
@media (max-width:820px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
.footer-brand .display { color:var(--gold); font-size:1.1rem; margin-bottom:.6rem; }
.footer-brand p { font-size:.92rem; }
.footer-col h4 { font-family:'Cinzel',serif; font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:.9rem; }
.footer-col ul { list-style:none; }
.footer-col li { margin-bottom:.5rem; }
.footer-col a { font-size:.92rem; color:var(--ink-soft); }
.footer-col a:hover { color:var(--gold-pale); }
.footer-bottom { border-top:1px solid var(--line); margin-top:2.5rem; padding-top:1.5rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem; font-size:.82rem; color:var(--text-blue); }
.footer-bottom a { color:var(--text-blue); margin-left:1rem; }

/* ---------- book sales page ---------- */
.book-hero{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:3rem;align-items:start;padding:3.5rem 0;}
@media(max-width:780px){ .book-hero{grid-template-columns:1fr;gap:2rem;justify-items:center;text-align:center;} .book-cover-frame{max-width:300px;} }
.book-cover-frame{position:relative;padding:14px;border:1px solid rgba(201,162,39,.25);background:radial-gradient(ellipse at center,rgba(15,30,100,.3) 0%,transparent 70%);box-shadow:0 30px 70px rgba(0,0,0,.55);}
.book-cover-frame img{display:block;width:100%;height:auto;}
.book-badge{display:inline-block;font-family:'Cinzel',serif;font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(201,162,39,.4);padding:.35rem .8rem;margin-bottom:1rem;}
.book-byline{font-family:'EB Garamond',serif;font-style:italic;font-size:1.12rem;color:var(--ink-soft);margin:.2rem 0 1rem;}
.book-byline a{color:var(--gold-light);}
.price-row{display:flex;align-items:baseline;gap:.6rem;margin:1.4rem 0 1rem;}
.price{font-family:'Cinzel',serif;font-size:1.8rem;color:var(--gold-pale);font-weight:700;}
.price small{font-size:.65rem;font-weight:400;color:var(--text-blue);letter-spacing:.08em;}
.buy-row{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.2rem 0;}
@media(max-width:780px){ .buy-row{justify-content:center;} }
.book-meta-list{list-style:none;margin:1.5rem 0 0;padding:0;font-size:.95rem;}
.book-meta-list li{padding:.4rem 0;border-bottom:1px solid var(--line);color:var(--ink-soft);}
.book-meta-list li strong{color:var(--gold-pale);font-family:'Cinzel',serif;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;display:inline-block;min-width:120px;}
.stars{color:var(--gold);letter-spacing:.15em;}

/* pathway cards (homepage + resources) */
.pathways { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
@media (max-width:820px){ .pathways{ grid-template-columns:1fr; } }
.pathway { padding:2.4rem 2rem; border:1px solid var(--line); background:rgba(15,25,90,.15); text-align:center; transition:all .35s; }
.pathway:hover { transform:translateY(-5px); border-color:rgba(201,162,39,.35); }
.pathway-icon { font-size:1.8rem; margin-bottom:1rem; }
.pathway h3 { color:var(--gold); margin-top:0; }
