
:root {
  --bg:#090b12;
  --panel:#111622;
  --panel-2:#151d2d;
  --ink:#f2efe8;
  --muted:#b9b2a7;
  --line:rgba(255,255,255,.12);
  --gold:#d7b46a;
  --gold-soft:rgba(215,180,106,.18);
  --blue:#7bb7ff;
  --danger:#e2a07c;
  --ok:#96d6b2;
  --shadow:0 24px 80px rgba(0,0,0,.42);
  --max:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 15% 0%,rgba(215,180,106,.09),transparent 30%),radial-gradient(circle at 80% 10%,rgba(123,183,255,.08),transparent 26%),var(--bg);color:var(--ink);font-family:Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;line-height:1.65;}

/* V94 — selective signature cinematic background
   Applies the uploaded Fighting Fire with Water artwork only to selected emotional/visual pages. */
body{position:relative;min-height:100vh;isolation:isolate;}
body.page-signature-bg::before,
body.page-signature-bg::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
}
body.page-signature-bg::before{
  z-index:-2;
  background-image:url('/assets/images/romnote-cinematic-signature-bg-fighting-fire-water.png');
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center center;
  opacity:1;
  transform:scale(1.02);
}
body.page-signature-bg::after{
  z-index:-1;
  background:
    linear-gradient(180deg,rgba(7,8,12,.78) 0%,rgba(8,10,16,.70) 16%,rgba(10,11,18,.78) 38%,rgba(10,11,18,.88) 100%),
    radial-gradient(circle at 16% 12%,rgba(215,180,106,.16),transparent 24%),
    radial-gradient(circle at 84% 16%,rgba(255,233,175,.12),transparent 22%),
    linear-gradient(120deg,rgba(6,8,13,.72),rgba(9,11,18,.52) 35%,rgba(8,10,15,.74) 100%);
}
body.page-home-signature-bg::before{
  background-position:center 22%;
}
body.page-home-signature-bg::after{
  background:
    linear-gradient(180deg,rgba(8,10,14,.80) 0%,rgba(9,11,17,.72) 16%,rgba(10,11,18,.80) 38%,rgba(10,11,18,.92) 100%),
    radial-gradient(circle at 18% 10%,rgba(215,180,106,.16),transparent 24%),
    radial-gradient(circle at 82% 8%,rgba(255,232,173,.11),transparent 18%),
    linear-gradient(90deg,rgba(8,9,13,.56),rgba(8,10,15,.40) 34%,rgba(9,11,17,.60) 100%);
}
body.page-inspiration-signature-bg::before{
  background-position:center center;
}
body.page-inspiration-signature-bg::after{
  background:
    linear-gradient(180deg,rgba(6,8,12,.68) 0%,rgba(8,10,15,.55) 12%,rgba(10,11,18,.68) 44%,rgba(10,11,18,.88) 100%),
    radial-gradient(circle at 74% 14%,rgba(255,229,167,.16),transparent 26%),
    radial-gradient(circle at 22% 20%,rgba(215,180,106,.12),transparent 18%),
    linear-gradient(120deg,rgba(7,8,12,.52),rgba(8,10,16,.26) 35%,rgba(8,10,15,.64) 100%);
}
body.page-poetry-signature-bg::before{
  background-image:url('/assets/images/poetry-page-background-v201.png');
  background-position:center center;
  filter:saturate(.96) brightness(.86);
}
body.page-poetry-signature-bg::after{
  background:
    linear-gradient(180deg,rgba(7,9,13,.84) 0%,rgba(9,11,18,.78) 14%,rgba(10,11,18,.84) 42%,rgba(10,11,18,.94) 100%),
    radial-gradient(circle at 70% 12%,rgba(255,225,160,.10),transparent 20%),
    radial-gradient(circle at 20% 18%,rgba(215,180,106,.10),transparent 20%),
    linear-gradient(120deg,rgba(8,10,16,.76),rgba(8,10,15,.50) 30%,rgba(8,10,15,.82) 100%);
}
/* Slightly strengthen surface contrast on cinematic pages without changing layout */
body.page-signature-bg .site-header{
  background:rgba(8,10,16,.82);
}
body.page-signature-bg .hero-card,
body.page-signature-bg .feature,
body.page-signature-bg .card,
body.page-signature-bg .quote-panel,
body.page-signature-bg .document-preview-frame,
body.page-signature-bg .inspiration-frame,
body.page-signature-bg .poetry-hero-purpose{
  backdrop-filter:blur(4px);
}
body.page-home-signature-bg .document-preview-frame{
  background:linear-gradient(135deg,rgba(215,180,106,.14),rgba(255,255,255,.05)),rgba(11,13,19,.78);
}
@media(max-width:900px){
  body.page-signature-bg::before{transform:none;}
  body.page-home-signature-bg::before{background-position:58% center;}
  body.page-inspiration-signature-bg::before{background-position:62% center;}
  body.page-poetry-signature-bg::before{background-position:58% center;}
}
@media(max-width:640px){
  body.page-signature-bg::after{
    background:
      linear-gradient(180deg,rgba(7,9,13,.88) 0%,rgba(9,11,18,.82) 22%,rgba(10,11,18,.92) 100%),
      linear-gradient(120deg,rgba(7,8,12,.74),rgba(8,10,16,.54) 32%,rgba(8,10,15,.84) 100%);
  }
}

a{color:inherit} img{max-width:100%;display:block}.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(18px);background:rgba(9,11,18,.78);border-bottom:1px solid var(--line)}.nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none}.brand-mark{width:36px;height:36px;border:1px solid rgba(215,180,106,.6);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-weight:800;box-shadow:0 0 22px rgba(215,180,106,.18)}.brand-text{font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.88rem}.nav-links{display:flex;gap:18px;align-items:center}.nav-links a{text-decoration:none;color:var(--muted);font-size:.92rem}.nav-links a:hover{color:var(--ink)}.btn,.btn-small{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(215,180,106,.45);background:linear-gradient(180deg,rgba(215,180,106,.18),rgba(215,180,106,.08));color:var(--ink);text-decoration:none;border-radius:999px;font-weight:700;box-shadow:0 12px 30px rgba(0,0,0,.16)}.btn{padding:12px 18px}.btn-small{padding:9px 13px;font-size:.88rem}.btn.secondary{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.05);color:var(--muted)}.btn.dark{background:rgba(0,0,0,.35)}.hero{padding:72px 0 38px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center}.eyebrow{color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:.2em;font-size:.78rem}.hero h1{font-family:Georgia, 'Times New Roman', serif;font-size:clamp(2.7rem,7vw,6.8rem);line-height:.96;margin:16px 0 20px;letter-spacing:-.055em}.lead{font-size:clamp(1.08rem,2vw,1.28rem);color:#d8d2c9;max-width:760px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border-radius:28px;overflow:hidden;box-shadow:var(--shadow);position:relative}.hero-card img{aspect-ratio:4/5;object-fit:cover;width:100%}.hero-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(9,11,18,.82));pointer-events:none}.hero-caption{position:absolute;left:22px;right:22px;bottom:20px;z-index:2;color:#efe9de}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:34px 0}.stat{border:1px solid var(--line);background:rgba(255,255,255,.045);border-radius:20px;padding:18px}.stat strong{display:block;font-size:1.5rem;color:var(--gold)}.section{padding:46px 0}.section-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;margin:0 0 14px}.section-intro{color:var(--muted);max-width:860px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.066),rgba(255,255,255,.03));border-radius:24px;padding:22px;box-shadow:0 18px 50px rgba(0,0,0,.18)}.card h3{margin:.1rem 0 .55rem;font-size:1.15rem}.card p{color:var(--muted);margin:.35rem 0}.meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}.pill{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-size:.76rem;color:var(--muted);background:rgba(255,255,255,.04)}.pill.gold{color:#f0d998;border-color:rgba(215,180,106,.4);background:var(--gold-soft)}.pill.ok{color:var(--ok);border-color:rgba(150,214,178,.35)}.pill.warn{color:var(--danger);border-color:rgba(226,160,124,.35)}.card-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.archive-tools{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.archive-tools input,.archive-tools select{background:#0e1421;color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:12px 14px;min-height:44px}.archive-tools input{flex:1;min-width:240px}.archive-tools select{min-width:220px}.feature{border:1px solid rgba(215,180,106,.26);background:linear-gradient(135deg,rgba(215,180,106,.12),rgba(123,183,255,.055));border-radius:30px;padding:28px}.reader-wrap{max-width:900px;margin:0 auto;padding:42px 22px}.reader-panel{border:1px solid var(--line);background:rgba(255,255,255,.055);border-radius:30px;padding:clamp(24px,5vw,52px);box-shadow:var(--shadow)}.reader-panel h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.1rem,5vw,4.8rem);line-height:1.03;margin:0 0 18px}.reader-content{font-family:Georgia,'Times New Roman',serif;font-size:1.13rem;line-height:1.85;color:#eee8df}.reader-content p{margin:0 0 1.05em}.reader-content h2,.reader-content h3{font-family:Inter,ui-sans-serif,system-ui,sans-serif;line-height:1.2;margin:1.7em 0 .7em}.reader-nav{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.source-table{width:100%;border-collapse:separate;border-spacing:0 10px}.source-table th{text-align:left;color:var(--gold);font-size:.82rem;text-transform:uppercase;letter-spacing:.14em}.source-table td,.source-table th{padding:12px}.source-table tr{background:rgba(255,255,255,.045)}.source-table td:first-child,.source-table th:first-child{border-radius:14px 0 0 14px}.source-table td:last-child,.source-table th:last-child{border-radius:0 14px 14px 0}.site-footer{border-top:1px solid var(--line);padding:32px 0;color:var(--muted);margin-top:48px}.notice{border-left:3px solid var(--gold);background:rgba(215,180,106,.08);border-radius:14px;padding:15px 18px;color:#e5d6bb}.quote{font-family:Georgia,'Times New Roman',serif;font-size:1.4rem;color:#f1e9dc}.hidden{display:none!important}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}.nav{height:auto;align-items:flex-start;padding:14px 0}.nav-links{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:640px){.grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.hero{padding-top:42px}.nav{display:block}.nav-links{justify-content:flex-start;margin-top:12px}.source-table,.source-table tbody,.source-table tr,.source-table td{display:block}.source-table th{display:none}.source-table tr{border-radius:16px;padding:8px}.source-table td{padding:8px 12px}.source-table td:first-child,.source-table td:last-child{border-radius:0}.reader-panel{border-radius:22px}.card-actions .btn-small{width:100%}}

.romnote-creed{margin:24px 0 0;padding:22px 24px;border:1px solid rgba(215,180,106,.34);border-radius:24px;background:linear-gradient(135deg,rgba(215,180,106,.13),rgba(255,255,255,.04));box-shadow:0 18px 55px rgba(0,0,0,.18);max-width:820px}
.romnote-creed p{margin:.25rem 0;color:#eee5d7}.romnote-creed p:first-child{font-family:Georgia,'Times New Roman',serif;font-size:1.42rem;color:#ffe5a8}.romnote-creed.compact{margin-top:18px}.split-feature{display:flex;align-items:center;justify-content:space-between;gap:24px}.feature-actions{flex:0 0 auto}.author-hero .hero-grid{align-items:stretch}.author-portrait-card{border:1px solid var(--line);border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));box-shadow:var(--shadow);padding:22px;display:flex;flex-direction:column;justify-content:space-between;min-height:520px}.author-photo-slot{min-height:310px;border:1px dashed rgba(215,180,106,.42);border-radius:24px;background:radial-gradient(circle at 30% 20%,rgba(215,180,106,.17),transparent 28%),linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.025));display:grid;place-items:center;color:var(--muted);font-weight:800;letter-spacing:.16em;text-transform:uppercase;text-align:center}.primary-slot{min-height:420px}.photo-caption{color:var(--muted);margin:18px 4px 0}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}.legacy-card h2{font-family:Georgia,'Times New Roman',serif;font-size:1.75rem;line-height:1.15}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.photo-frame{margin:0;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.045);padding:14px}.photo-frame figcaption{color:var(--muted);font-size:.95rem;margin:12px 6px 4px;line-height:1.5}@media(max-width:900px){.split-feature{display:block}.feature-actions{margin-top:18px}.two-column{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr}.author-portrait-card{min-height:auto}.primary-slot{min-height:320px}}

/* Search summary block: visible and readable, but styled quietly so it supports discovery without disturbing the archive mood. */
.seo-identity-block { padding: 2.25rem 0; border-top: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.025); }
.seo-identity-block h2 { margin: 0 0 .75rem; font-size: clamp(1.4rem, 2vw, 2rem); }
.seo-identity-block p { max-width: 78ch; line-height: 1.75; color: rgba(244,238,226,.84); }


/* Clean archive reset additions */
.empty-state{margin:22px 0 28px;border-color:rgba(215,180,106,.34);background:linear-gradient(135deg,rgba(215,180,106,.10),rgba(255,255,255,.04))}
.empty-state h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.7rem,3vw,2.6rem);margin:.2rem 0 .6rem}
.category-card{min-height:260px;display:flex;flex-direction:column;justify-content:space-between}
.btn-small.disabled,.btn-small.secondary.disabled{opacity:.55;cursor:not-allowed;pointer-events:none;filter:saturate(.65)}
.shelf-heading{margin-top:36px}.source-manuscript-rule{margin-top:28px}

.poem-lines{font-family:Georgia,'Times New Roman',serif;font-size:1.18rem;line-height:1.9;color:#f1eadf}.poem-stanza{margin:0 0 1.55em}.poem-stanza p{margin:0}.reader-note{border-left:3px solid var(--gold);background:rgba(215,180,106,.08);border-radius:14px;padding:15px 18px;color:#e8d9c2;margin:20px 0}

/* Author archetype expansion */
.author-foundation .section-title{max-width:900px}.archetype-quote{margin-top:24px;padding:18px 20px;border-left:3px solid var(--gold);background:rgba(0,0,0,.22);border-radius:16px;color:#f2e8d7}.archetype-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.archetype-card{position:relative;overflow:hidden;min-height:260px}.archetype-card:before{content:'';position:absolute;inset:-1px;background:radial-gradient(circle at 90% 0%,rgba(215,180,106,.13),transparent 34%);pointer-events:none}.archetype-card h3{font-family:Georgia,'Times New Roman',serif;font-size:1.42rem;line-height:1.15;margin:1.6rem 0 .7rem}.archetype-number{position:absolute;right:18px;top:14px;color:rgba(215,180,106,.55);font-family:Georgia,'Times New Roman',serif;font-size:2.4rem;line-height:1}.featured-archetype{grid-column:span 2;border-color:rgba(215,180,106,.34);background:linear-gradient(135deg,rgba(215,180,106,.14),rgba(255,255,255,.035))}.featured-archetype h3{font-size:1.8rem}.author-photo-grid-expanded{grid-template-columns:repeat(5,1fr)}.author-photo-grid-expanded .author-photo-slot{min-height:240px}.archetype-portrait-card .author-photo-slot{background:radial-gradient(circle at 40% 15%,rgba(215,180,106,.18),transparent 28%),radial-gradient(circle at 80% 65%,rgba(123,183,255,.11),transparent 30%),linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.025))}@media(max-width:1000px){.archetype-grid{grid-template-columns:repeat(2,1fr)}.author-photo-grid-expanded{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.archetype-grid{grid-template-columns:1fr}.featured-archetype{grid-column:span 1}.author-photo-grid-expanded{grid-template-columns:1fr}.archetype-card{min-height:auto}}


/* Compact author archetype revision */
.archetype-compact-panel{
  margin-top:22px;
  padding:24px 26px;
  border:1px solid rgba(215,180,106,.24);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(215,180,106,.09),rgba(255,255,255,.035));
  box-shadow:0 24px 80px rgba(0,0,0,.18);
}
.archetype-numbered-list{
  counter-reset:archetype;
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:13px;
}
.archetype-numbered-list li{
  counter-increment:archetype;
  position:relative;
  padding:0 0 0 48px;
  color:var(--muted);
  line-height:1.65;
}
.archetype-numbered-list li::before{
  content:counter(archetype) ".";
  position:absolute;
  left:0;
  top:.05rem;
  min-width:34px;
  color:var(--gold);
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.08rem;
  font-weight:700;
}
.archetype-numbered-list strong{
  color:#f6ead7;
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.04rem;
  letter-spacing:.01em;
}
@media(max-width:640px){
  .archetype-compact-panel{padding:20px 18px;border-radius:18px}
  .archetype-numbered-list li{padding-left:38px;line-height:1.58}
}

/* V17 author photo update */
.author-photo-slot.filled-photo{padding:0;overflow:hidden;border-style:solid;background:#101014;display:block;}
.author-photo-slot.filled-photo img{width:100%;height:100%;min-height:inherit;display:block;object-fit:cover;border-radius:23px;}
.primary-slot.filled-photo img{object-position:center center;}
.author-photo-grid-expanded .author-photo-featured .author-photo-slot{min-height:240px;}
@media(max-width:1000px){.author-photo-grid-expanded .author-photo-featured{grid-column:span 2;}}
@media(max-width:640px){.author-photo-grid-expanded .author-photo-featured{grid-column:span 1;}}


/* V18 author legacy gallery update */
.author-legacy-gallery{grid-template-columns:repeat(4,1fr);align-items:start;}
.author-legacy-gallery .photo-frame{background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));}
.author-legacy-gallery .author-photo-slot{min-height:280px;}
.author-legacy-gallery .author-photo-featured{grid-column:span 2;}
.author-legacy-gallery .author-photo-featured .author-photo-slot{min-height:360px;}
.author-legacy-gallery .landscape-photo{grid-column:span 2;}
.author-legacy-gallery .landscape-photo .author-photo-slot{min-height:270px;}
.author-legacy-gallery figcaption{font-family:Georgia,'Times New Roman',serif;color:#f3dfb3;font-size:1rem;}
.author-photo-slot.filled-photo img{object-position:center center;}
.author-legacy-gallery .portrait-photo .author-photo-slot.filled-photo img{object-position:center top;}
@media(max-width:1100px){.author-legacy-gallery{grid-template-columns:repeat(2,1fr);}.author-legacy-gallery .author-photo-featured,.author-legacy-gallery .landscape-photo{grid-column:span 2;}}
@media(max-width:640px){.author-legacy-gallery{grid-template-columns:1fr;}.author-legacy-gallery .author-photo-featured,.author-legacy-gallery .landscape-photo{grid-column:span 1;}.author-legacy-gallery .author-photo-featured .author-photo-slot,.author-legacy-gallery .author-photo-slot{min-height:300px;}}


/* V19 expanded Images of the Man Behind the Note gallery */
.author-legacy-gallery{grid-auto-flow:dense;}
.author-legacy-gallery .author-photo-slot{border-radius:18px;overflow:hidden;}
.author-legacy-gallery .author-photo-slot img{transition:transform .35s ease, filter .35s ease;}
.author-legacy-gallery .photo-frame:hover .author-photo-slot img{transform:scale(1.025);filter:contrast(1.04) saturate(1.02);}
.author-legacy-gallery .author-photo-featured{grid-column:span 2;}
.author-legacy-gallery .author-photo-featured .author-photo-slot{min-height:380px;}
.author-legacy-gallery .landscape-photo .author-photo-slot{min-height:255px;}
.author-legacy-gallery .portrait-photo .author-photo-slot{min-height:320px;}
.author-legacy-gallery figcaption{line-height:1.45;}
@media(max-width:1100px){.author-legacy-gallery .author-photo-featured{grid-column:span 2;}}
@media(max-width:640px){.author-legacy-gallery .author-photo-featured{grid-column:span 1;}.author-legacy-gallery .author-photo-featured .author-photo-slot,.author-legacy-gallery .portrait-photo .author-photo-slot,.author-legacy-gallery .landscape-photo .author-photo-slot{min-height:285px;}}


/* V20 master reader archive */
.master-outline{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:24px 0;}
.master-outline .outline-item{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.04);padding:16px;}
.master-outline .outline-item strong{display:block;color:#f5dc9a;margin-bottom:6px;}
.reader-content ul.master-list{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:1rem;line-height:1.65;margin:0 0 1.5rem 1.1rem;color:#e8ded0;}
.reader-content .archive-callout{border:1px solid rgba(215,180,106,.28);border-radius:22px;background:linear-gradient(135deg,rgba(215,180,106,.13),rgba(255,255,255,.035));padding:22px;margin:24px 0;font-family:Inter,ui-sans-serif,system-ui,sans-serif;}
.reader-content .archive-callout p{margin:.4rem 0;color:#e8d9c2;}
@media(max-width:720px){.master-outline{grid-template-columns:1fr;}}


/* RomNote v21 copyright and use notice */
.copyright-strip{
  border:1px solid rgba(215,180,106,.34);
  background:linear-gradient(135deg,rgba(215,180,106,.11),rgba(255,255,255,.035));
  border-radius:18px;
  padding:16px 18px;
  margin:18px 0 0;
  color:#eadfcb;
}
.copyright-strip strong{color:var(--gold)}
.copyright-strip a{color:#f3d990;font-weight:800;text-decoration:none;border-bottom:1px solid rgba(215,180,106,.45)}
.copyright-strip a:hover{color:#fff1be}
.copyright-panel{
  border:1px solid rgba(215,180,106,.34);
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.032));
  border-radius:30px;
  padding:clamp(24px,5vw,48px);
  box-shadow:var(--shadow);
}
.copyright-list{counter-reset:rights;margin:20px 0 0;padding:0;list-style:none;display:grid;gap:14px}
.copyright-list li{border:1px solid var(--line);border-radius:18px;padding:16px 18px;background:rgba(255,255,255,.04)}
.copyright-list li strong{display:block;color:var(--gold);margin-bottom:5px}
.legal-note{font-size:.92rem;color:var(--muted);border-top:1px solid var(--line);margin-top:24px;padding-top:18px}


/* V22 archive main library banner */
.archive-main-banner{
  margin:18px 0 24px;
  border:1px solid rgba(215,180,106,.36);
  border-radius:28px;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(215,180,106,.10),rgba(255,255,255,.035));
  box-shadow:var(--shadow);
}
.archive-main-banner img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}
.archive-main-banner figcaption{
  padding:12px 18px 14px;
  color:#d8c69a;
  font-size:.92rem;
  letter-spacing:.03em;
  border-top:1px solid rgba(215,180,106,.22);
  background:rgba(7,8,12,.55);
}
@media(max-width:720px){
  .archive-main-banner{border-radius:20px;margin:14px 0 20px;}
  .archive-main-banner figcaption{font-size:.84rem;padding:10px 13px;}
}

/* V23 — Curated author image wall: compact, intentional, not a vanity gallery */
.curated-author-gallery{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  align-items:start;
  margin-top:20px;
}
.curated-author-gallery .photo-frame{
  padding:12px;
  border-radius:20px;
}
.curated-author-gallery .author-photo-slot,
.curated-author-gallery .author-photo-slot.filled-photo{
  min-height:220px !important;
  border-radius:16px;
}
.curated-author-gallery .author-photo-slot.filled-photo img{
  border-radius:15px;
}
.curated-author-gallery figcaption{
  margin:10px 4px 2px;
  font-size:.94rem;
  line-height:1.35;
}
@media(max-width:900px){
  .curated-author-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:640px){
  .curated-author-gallery{grid-template-columns:1fr;}
  .curated-author-gallery .author-photo-slot,
  .curated-author-gallery .author-photo-slot.filled-photo{min-height:260px !important;}
}


/* V24 — Personal Archetype full transcript page */
.archetype-transcript-link{margin-top:18px;}
.transcript-document .source-title-line{font-family:Georgia,'Times New Roman',serif;font-size:1.32rem;color:#f4e4be;margin-top:1.25rem;}
.transcript-document .source-subtitle-line{color:var(--muted);font-style:italic;margin-top:-.3rem;}
.transcript-document h2{border-top:1px solid rgba(215,180,106,.25);padding-top:1.1rem;color:#f5dc9a;}
.transcript-document h3{color:#f2e8d7;margin-top:1.5rem;}
.transcript-document blockquote{border-left:3px solid var(--gold);background:rgba(215,180,106,.08);border-radius:14px;margin:1.2rem 0;padding:14px 18px;color:#f2e8d7;font-style:italic;}
.transcript-table{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.95rem;line-height:1.55;margin:18px 0 26px;}
.transcript-table td{vertical-align:top;color:#e7ded1;}
.summary-section{margin-top:34px;padding-top:10px;}
@media(max-width:720px){.transcript-document{font-size:1.02rem;}.transcript-table{font-size:.9rem;}}


/* V25 — Source Archive banner moved from main library to evidence ledger */
.source-ledger-banner{
  max-width:980px;
  margin:26px auto 18px;
}
.source-ledger-banner img{
  aspect-ratio:16/7;
  object-fit:cover;
}
@media(max-width:720px){
  .source-ledger-banner img{aspect-ratio:16/9;}
}


/* V26 RNP icon, favicon, and search thumbnail update */
.brand-mark.logo-mark{
  overflow:hidden;
  border-radius:50%;
  background:#0b0b0d;
  padding:2px;
}
.brand-mark.logo-mark img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
}

/* V38 — Active Source Archive category summary */
.source-category-grid .category-card{min-height:300px;}
.compact-source-list{margin:.85rem 0 0;padding-left:1.15rem;color:var(--muted);font-size:.92rem;line-height:1.55;}
.compact-source-list li{margin:.28rem 0;}
.source-category-grid .card-actions{margin-top:18px;}


/* V41 — Home page random RomNote quote plaque under hero image */
.romnote-random-quote-card{
  margin:14px 0 0;
  padding:18px 18px 16px;
  border:1px solid rgba(215,180,106,.34);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(215,180,106,.12),rgba(255,255,255,.035));
  box-shadow:0 16px 38px rgba(0,0,0,.24);
  text-align:left;
}
.romnote-random-quote-card blockquote{
  margin:6px 0 8px;
  color:#f5e7c8;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(1.05rem,2vw,1.42rem);
  line-height:1.42;
  letter-spacing:.01em;
}
.quote-subnote{
  display:inline-block;
  margin:0 0 12px;
  padding:3px 0 0;
  color:#c7b68a;
  font-size:.78rem;
  font-family:Inter,ui-sans-serif,system-ui,sans-serif;
  font-style:normal;
  font-weight:600;
  letter-spacing:.045em;
  text-transform:uppercase;
  line-height:1.35;
  opacity:.88;
}
@media(max-width:720px){
  .romnote-random-quote-card{border-radius:18px;padding:15px 15px 14px;}
  .romnote-random-quote-card blockquote{font-size:1.08rem;}
}


/* V42 — Fix home hero random quote card page-flow overlap */
.hero-visual-stack{
  display:flex;
  flex-direction:column;
  gap:16px;
  margin-bottom:28px;
}
.hero-visual-stack .hero-card{
  flex:0 0 auto;
}
.hero-visual-stack .romnote-random-quote-card{
  position:relative;
  z-index:1;
  box-sizing:border-box;
  width:100%;
  margin:0 0 30px;
  padding:16px 18px 15px;
  overflow:visible;
  min-height:0;
  max-height:none;
}
.hero-visual-stack .romnote-random-quote-card .eyebrow{
  margin:0 0 8px;
}
.hero-visual-stack .romnote-random-quote-card blockquote{
  margin:0 0 6px;
  font-size:clamp(1rem,1.55vw,1.24rem);
  line-height:1.55;
  overflow-wrap:anywhere;
}
.hero-visual-stack .quote-subnote{
  display:block;
  width:fit-content;
  margin:0 0 14px;
  padding-top:0;
  line-height:1.35;
}
@media(max-width:900px){
  .hero-visual-stack{margin-bottom:20px;}
  .hero-visual-stack .romnote-random-quote-card{margin-bottom:26px;}
}
@media(max-width:720px){
  .hero-visual-stack{gap:14px;margin-bottom:18px;}
  .hero-visual-stack .romnote-random-quote-card{padding:14px 15px 13px;margin-bottom:24px;}
  .hero-visual-stack .romnote-random-quote-card blockquote{font-size:1rem;line-height:1.52;}
  .quote-refresh-btn{width:100%;padding:8px 10px;font-size:.8rem;}
}

/* V43 — Manual quote refresh button */
.quote-refresh-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:2px 0 10px;
  padding:8px 12px;
  border:1px solid rgba(215,180,106,.46);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(215,180,106,.16),rgba(215,180,106,.065));
  color:#f3e3b9;
  font:700 .82rem/1.2 Inter,ui-sans-serif,system-ui,sans-serif;
  letter-spacing:.035em;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.quote-refresh-btn:hover,
.quote-refresh-btn:focus-visible{
  color:#fff7dc;
  border-color:rgba(215,180,106,.72);
  background:linear-gradient(180deg,rgba(215,180,106,.24),rgba(215,180,106,.10));
  outline:none;
}
.quote-refresh-btn:active{
  transform:translateY(1px);
}
@media(max-width:720px){
  .quote-refresh-btn{width:100%;padding:8px 10px;font-size:.8rem;}
}

/* V44 — Visitor counter under the Home page RomNote quote card */
.rnp-visitor-counter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  max-width:100%;
  margin:0 0 9px;
  padding:6px 10px;
  border:1px solid rgba(215,180,106,.30);
  border-radius:999px;
  background:rgba(9,11,18,.38);
  color:#e7d29a;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.055em;
  line-height:1.35;
  text-transform:uppercase;
  overflow-wrap:anywhere;
}
.rnp-visitor-counter.owner-view{
  border-color:rgba(150,214,178,.35);
  color:#cbe8d6;
}
.rnp-visitor-counter.counter-pending{
  border-color:rgba(226,160,124,.35);
  color:#e2c0a3;
}
@media(max-width:720px){
  .rnp-visitor-counter{
    width:100%;
    margin:0 0 9px;
    padding:7px 10px;
    font-size:.70rem;
    letter-spacing:.04em;
  }
}

/* V47 — Clean stacked layout for Home page quote controls and visitor counter */
.hero-visual-stack .quote-refresh-btn{
  display:flex;
  width:fit-content;
  max-width:100%;
  margin:0 0 10px;
}
.hero-visual-stack .rnp-visitor-counter{
  display:flex;
  width:fit-content;
  max-width:100%;
  margin:0;
  padding:5px 10px;
  border-radius:999px;
  font-size:.70rem;
  line-height:1.35;
  letter-spacing:.035em;
  text-transform:none;
  text-align:left;
  white-space:normal;
}
.hero-visual-stack .quote-subnote{
  clear:both;
  font-size:.74rem;
  color:#c8b98b;
}
@media(max-width:720px){
  .hero-visual-stack .quote-refresh-btn,
  .hero-visual-stack .rnp-visitor-counter{
    width:100%;
  }
  .hero-visual-stack .rnp-visitor-counter{
    justify-content:center;
    text-align:center;
    font-size:.68rem;
  }
}


/* V53 — Separate visitor counter into its own card below the quote card */
.hero-visual-stack{
  gap:14px;
}
.hero-visual-stack .romnote-random-quote-card{
  margin:0;
}
.rnp-counter-card{
  width:100%;
  margin:0 0 28px;
  padding:12px 16px;
  border:1px solid rgba(215,180,106,.28);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(8,10,18,.78),rgba(14,18,30,.56));
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.rnp-counter-card .rnp-visitor-counter{
  display:block;
  width:100%;
  margin:0;
  padding:0;
  border:none;
  border-radius:0;
  background:none;
  box-shadow:none;
  color:#e7d29a;
  font-size:.88rem;
  font-weight:700;
  letter-spacing:.015em;
  line-height:1.5;
  text-transform:none;
  text-align:center;
}
.rnp-counter-card .rnp-visitor-counter.owner-view{
  color:#cbe8d6;
}
.rnp-counter-card .rnp-visitor-counter.counter-pending{
  color:#e2c0a3;
}
@media(max-width:900px){
  .rnp-counter-card{margin-bottom:24px;}
}
@media(max-width:720px){
  .hero-visual-stack{gap:12px;}
  .rnp-counter-card{
    margin:0 0 22px;
    padding:11px 14px;
    border-radius:16px;
  }
  .rnp-counter-card .rnp-visitor-counter{
    font-size:.80rem;
    line-height:1.45;
  }
}

/* V56 — Author gallery AI public-viewing representations and image deterrence */
.author-ai-disclosure{
  margin-top:-6px;
  color:#cdbf9b;
  font-size:.98rem;
}
.protected-author-gallery,
.protected-author-gallery img{
  -webkit-user-select:none;
  user-select:none;
  -webkit-user-drag:none;
}
.protected-author-gallery img{
  pointer-events:auto;
}
.caption-note{
  display:inline-block;
  margin-top:6px;
  color:#b9ac88;
  font-family:Inter,ui-sans-serif,system-ui,sans-serif;
  font-size:.76rem;
  font-style:normal;
  line-height:1.42;
}
@media(max-width:640px){
  .caption-note{font-size:.74rem;}
}

/* V60 — RomNote reader copy-deterrent protection layer
   This is a front-end deterrent only. It discourages casual copying while preserving public reading access. */
.reader-panel,
article.reader{
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
.reader-panel img,
article.reader img,
.reader-content img{
  -webkit-user-drag:none;
  user-drag:none;
}
.copy-protection-notice{
  border:1px solid rgba(215,180,106,.34);
  border-left:4px solid var(--gold);
  background:linear-gradient(135deg,rgba(215,180,106,.12),rgba(255,255,255,.035));
  border-radius:16px;
  padding:14px 16px;
  color:#e9dcc5;
  font-family:Inter,ui-sans-serif,system-ui,sans-serif;
  font-size:.94rem;
  line-height:1.55;
  margin:18px 0 22px;
}
.copy-protection-notice strong{color:#ffe0a2;}
.copy-protection-toast{
  position:fixed;
  left:50%;
  bottom:24px;
  transform:translateX(-50%);
  z-index:9999;
  max-width:min(92vw,620px);
  border:1px solid rgba(215,180,106,.45);
  background:rgba(12,15,24,.94);
  color:#f4ead9;
  box-shadow:0 22px 70px rgba(0,0,0,.45);
  border-radius:999px;
  padding:12px 18px;
  font-family:Inter,ui-sans-serif,system-ui,sans-serif;
  font-size:.9rem;
  line-height:1.35;
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease, transform .22s ease;
}
.copy-protection-toast.visible{
  opacity:1;
  transform:translateX(-50%) translateY(-4px);
}
@media(max-width:640px){
  .copy-protection-notice{font-size:.88rem;}
  .copy-protection-toast{border-radius:18px;text-align:center;}
}



/* V61 — Author page one-photo carousel with casual image-save deterrence */
.author-gallery-section .wrap{max-width:980px;}
.author-gallery-viewer{
  max-width:780px;
  margin:24px auto 0;
  border:1px solid rgba(215,180,106,.30);
  border-radius:26px;
  padding:16px;
  background:linear-gradient(180deg,rgba(215,180,106,.10),rgba(255,255,255,.035));
  box-shadow:var(--shadow);
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
.author-carousel-frame{
  margin:0;
  padding:14px;
  border-radius:22px;
  overflow:hidden;
}
.author-carousel-photo-wrap{
  position:relative;
  min-height:480px !important;
  border-radius:18px;
  overflow:hidden;
  background:rgba(4,5,9,.52);
}
.author-carousel-photo-wrap img.author-carousel-image{
  width:100%;
  height:100%;
  max-height:620px;
  object-fit:contain;
  border-radius:18px;
  display:block;
  -webkit-user-drag:none;
  user-drag:none;
  -webkit-touch-callout:none;
  transition:opacity .22s ease, transform .22s ease;
}
.author-carousel-frame.is-changing img.author-carousel-image{
  opacity:.28;
  transform:scale(.992);
}
.author-carousel-image-shield{
  position:absolute;
  inset:0;
  z-index:2;
  background:transparent;
  cursor:default;
}
.author-carousel-frame figcaption{
  min-height:48px;
  text-align:center;
  margin:13px auto 0;
  color:#f2e4c8;
  font-size:1rem;
  line-height:1.45;
}
.author-carousel-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin:16px auto 2px;
}
.author-carousel-button{
  border:1px solid rgba(215,180,106,.42);
  border-radius:999px;
  background:rgba(215,180,106,.10);
  color:#f8e8c4;
  padding:10px 18px;
  font-weight:700;
  letter-spacing:.02em;
  cursor:pointer;
  box-shadow:0 10px 30px rgba(0,0,0,.22);
}
.author-carousel-button:hover,
.author-carousel-button:focus-visible{
  background:rgba(215,180,106,.18);
  border-color:rgba(255,224,162,.62);
  outline:none;
}
.author-carousel-status{
  color:#cdbf9b;
  font-size:.92rem;
  min-width:120px;
  text-align:center;
}
.author-carousel-protection-note{
  color:#b9ac88;
  font-size:.84rem;
  line-height:1.5;
  text-align:center;
  margin:12px auto 4px;
}
@media(max-width:720px){
  .author-gallery-viewer{padding:11px;border-radius:22px;}
  .author-carousel-frame{padding:10px;border-radius:18px;}
  .author-carousel-photo-wrap{min-height:360px !important;}
  .author-carousel-frame figcaption{font-size:.92rem;}
  .author-carousel-button{width:calc(50% - 10px);padding:10px 12px;}
  .author-carousel-status{order:3;width:100%;}
}
@media(max-width:420px){
  .author-carousel-photo-wrap{min-height:300px !important;}
}


/* V62 — Full-site no-highlight / no-copy / no-right-click / no-drag deterrent
   Front-end deterrent only. Preserves navigation, forms, archive filters, counter, and protected downloads. */
html,
body,
body *:not(input):not(textarea):not(select):not(option):not([contenteditable="true"]){
  -webkit-user-select:none;
  -moz-user-select:none;
  -ms-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
img,
svg,
picture,
.author-carousel-image,
.hero-card img,
.card img,
.reader-content img{
  -webkit-user-drag:none;
  user-drag:none;
}
::selection{background:transparent;color:inherit;}
::-moz-selection{background:transparent;color:inherit;}
input,
textarea,
select,
option,
[contenteditable="true"]{
  -webkit-user-select:text;
  -moz-user-select:text;
  -ms-user-select:text;
  user-select:text;
  -webkit-touch-callout:default;
}
.rnp-copy-deterrent-active img{cursor:default;}


/* V65/V69 — RomNote Poetry collection page
   Adds a protected poem collection page without changing counter or password systems. */
.poetry-hero .lead{max-width:760px;}
.poetry-creed{border-color:rgba(215,180,106,.32);}
.poetry-hero-card{min-height:360px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.poetry-symbol{font-family:Georgia,serif;font-size:8rem;line-height:1;color:rgba(255,224,162,.66);text-shadow:0 0 45px rgba(215,180,106,.30);}
.poetry-grid .poetry-card{border-left:3px solid rgba(215,180,106,.42);}
.poetry-card .source-detail{color:#cdbf9b;font-size:.92rem;margin-top:8px;}
.poetry-feature,.poetry-workflow{border-color:rgba(215,180,106,.26);}
.poetry-workflow code{color:#ffe0a2;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:2px 6px;}
@media(max-width:720px){.poetry-symbol{font-size:5.5rem}.poetry-hero-card{min-height:260px}}


/* V68 — RomNote Poetry library additions */
.poetry-tools{align-items:center;margin-top:26px;}
.poetry-tools .pill{align-self:center;}
.poetry-category-block{margin-top:42px;}
.poetry-category-heading{margin-bottom:18px;}
.poetry-grid{margin-top:18px;}
.poetry-card h3{font-family:Georgia,'Times New Roman',serif;font-size:1.38rem;line-height:1.16;}
.poetry-card p{font-size:.96rem;}
.poem-reader-panel .notice{margin:16px 0;}
.poem-reader-content h2{font-size:1rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);}
.poem-reader-content .poem-lines{margin-top:20px;}
@media(max-width:880px){.poetry-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.poetry-grid{grid-template-columns:1fr}.poetry-tools input,.poetry-tools select{width:100%;min-width:0}.poetry-tools .pill{width:100%;justify-content:center}}


/* V70 — Poem reader focus layout
   Keeps the poem first; source, citation, and protected download sit quietly below the poem. */
.poem-focused-panel{
  background:radial-gradient(circle at 50% 0%,rgba(215,180,106,.08),rgba(255,255,255,.045) 32%,rgba(255,255,255,.035));
}
.poem-title-block{
  text-align:center;
  margin:0 auto clamp(30px,5vw,56px);
  max-width:780px;
}
.poem-title-block .eyebrow{
  margin:0 0 12px;
  letter-spacing:.24em;
}
.poem-title-block h1{
  margin:0;
  font-size:clamp(2.8rem,8vw,6.6rem);
  line-height:.95;
}
.poem-elegant-content{
  max-width:760px;
  margin:0 auto;
  padding:clamp(10px,2vw,22px) 0 6px;
}
.poem-elegant-content .poem-lines{
  font-size:clamp(1.22rem,2.3vw,1.58rem);
  line-height:2.05;
  color:#f7f0e5;
  letter-spacing:.005em;
}
.poem-elegant-content .poem-stanza{
  margin:0 0 clamp(1.55em,4vw,2.25em);
}
.poem-elegant-content .poem-stanza p{
  margin:.12em 0;
}
.poem-source-card{
  max-width:760px;
  margin:clamp(34px,6vw,58px) auto 0;
  border:1px solid rgba(215,180,106,.24);
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.028));
  border-radius:22px;
  padding:clamp(18px,3vw,26px);
  color:#d8ccba;
  font-family:Inter,ui-sans-serif,system-ui,sans-serif;
  font-size:.94rem;
  line-height:1.65;
}
.poem-source-card h2{
  margin:0 0 10px;
  color:var(--gold);
  font-family:Inter,ui-sans-serif,system-ui,sans-serif;
  font-size:.88rem;
  text-transform:uppercase;
  letter-spacing:.16em;
}
.poem-source-card p{
  margin:.45rem 0;
}
.poem-source-card .poem-source-desc{
  color:#efe3cf;
}
.poem-source-card .poem-source-small{
  margin-top:10px;
  color:#bdb1a0;
  font-size:.86rem;
}
.poem-source-card .reader-nav{
  margin:18px 0 0;
}
@media(max-width:640px){
  .poem-title-block{text-align:left;}
  .poem-elegant-content .poem-lines{font-size:1.16rem;line-height:1.92;}
  .poem-source-card{font-size:.9rem;}
}


/* V72 — RomNote Poetry hero visual refinement
   Replaces dashboard-style stat cards with a quiet notation line and uses a dedicated poetry feature image. */
.poetry-summary-line{
  margin:22px 0 0;
  color:#d9cfbf;
  font-size:.98rem;
  line-height:1.6;
}
.poetry-hero-image-card{
  min-height:auto;
  padding:0;
  background:transparent;
}
.poetry-hero-image-card img{
  width:100%;
  aspect-ratio: 16 / 9;
  object-fit:cover;
  display:block;
}
.poetry-hero-image-card:after{
  display:none;
}
@media(max-width:720px){
  .poetry-summary-line{font-size:.92rem;}
}

/* V73 — RomNote Poetry image orientation fix
   Keeps the poetry feature artwork in full landscape orientation without cropping. */
.poetry-hero .hero-grid{
  grid-template-columns: minmax(0, .95fr) minmax(420px, 1.25fr);
}
.poetry-hero .hero-visual-stack{
  width:100%;
  max-width:860px;
  justify-self:end;
}
.poetry-hero-image-card{
  width:100%;
  min-height:0 !important;
  padding:0;
  display:block;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(0,0,0,.18));
}
.poetry-hero-image-card img{
  width:100%;
  height:auto !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center center;
  display:block;
  background:#11141c;
}
@media(max-width:980px){
  .poetry-hero .hero-grid{
    grid-template-columns:1fr;
  }
  .poetry-hero .hero-visual-stack{
    max-width:100%;
    justify-self:stretch;
  }
}


/* V74 — RomNote Poetry hero layout rebalance
   Moves the artwork under the main intro, keeps the status line beneath the artwork,
   and places the action buttons beneath the purpose card for a balanced two-column presentation. */
.poetry-hero-layout{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);
  gap:40px;
  align-items:start;
}
.poetry-main-column{min-width:0;}
.poetry-main-column .lead{max-width:760px;margin-bottom:24px;}
.poetry-side-column{display:flex;flex-direction:column;gap:24px;}
.poetry-creed{
  padding:28px 30px;
  border:1px solid rgba(215,180,106,.3);
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035));
  border-radius:28px;
  box-shadow:var(--shadow);
}
.poetry-creed p{margin:0 0 16px;color:#e7dcc9;line-height:1.65;}
.poetry-creed p:last-child{margin-bottom:0;color:#d5cec4;}
.poetry-purpose-header{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.poetry-purpose-header h2{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:2rem;line-height:1;color:var(--gold);}
.poetry-purpose-icon{
  width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  border:1px solid rgba(215,180,106,.35);background:rgba(255,255,255,.04);
  color:var(--gold);font-size:1.5rem;flex:0 0 auto;
}
.poetry-side-actions{display:flex;flex-direction:column;gap:14px;margin-top:0;}
.poetry-side-actions .btn{width:100%;justify-content:flex-start;padding:16px 22px;}
.poetry-side-actions .btn.secondary{background:rgba(255,255,255,.06);}
.poetry-summary-line{
  margin:18px 0 0;
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;
  color:#e7dcc9;font-size:1rem;line-height:1.65;
}
.poetry-summary-line .summary-item{display:inline-flex;align-items:center;gap:10px;}
.poetry-summary-line .summary-icon{display:inline-grid;place-items:center;color:var(--gold);font-size:1.05rem;}
.poetry-summary-line .summary-divider{color:rgba(215,180,106,.7);}
@media(max-width:980px){
  .poetry-hero-layout{grid-template-columns:1fr;}
  .poetry-side-column{order:2;}
  .poetry-main-column{order:1;}
}
@media(max-width:640px){
  .poetry-creed{padding:22px 20px;}
  .poetry-purpose-header h2{font-size:1.7rem;}
  .poetry-side-actions .btn{justify-content:center;}
  .poetry-summary-line{font-size:.95rem;}
}


/* V76 — Homepage archive stats cleanup
   Replaces oversized homepage stat cards with a compact notation line beneath the hero buttons. */
.homepage-summary-line{
  margin:18px 0 0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 12px;
  color:#e7dcc9;
  font-size:.96rem;
  line-height:1.55;
  max-width:640px;
}
.homepage-summary-line .summary-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.homepage-summary-line .summary-icon{
  display:inline-grid;
  place-items:center;
  color:var(--gold);
  font-size:1rem;
  line-height:1;
  flex:0 0 auto;
}
.homepage-summary-line .summary-text{
  white-space:normal;
}
.homepage-summary-line .summary-divider{
  color:rgba(215,180,106,.7);
  line-height:1;
}
@media(max-width:640px){
  .homepage-summary-line{font-size:.92rem;gap:8px 10px;}
}

/* V78 — RomNote Graphical Inspiration page
   Adds a protected one-image-at-a-time framed gallery without changing existing site systems. */
.inspiration-page{
  padding-top:54px;
}
.inspiration-wrap{
  text-align:center;
}
.inspiration-title{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(2.4rem,5.5vw,5.3rem);
  line-height:1.02;
  letter-spacing:-.045em;
  margin:14px auto 14px;
  color:#f4efe5;
}
.inspiration-lead{
  max-width:920px;
  margin:0 auto 30px;
  color:#d9d1c6;
  font-size:clamp(1.02rem,1.7vw,1.28rem);
  line-height:1.65;
}
.inspiration-stage{
  display:grid;
  grid-template-columns:130px minmax(0,1fr) 130px;
  gap:26px;
  align-items:center;
  margin:28px auto 0;
}
.inspiration-center{
  min-width:0;
}
.inspiration-frame{
  position:relative;
  padding:22px;
  border-radius:12px;
  background:
    linear-gradient(135deg,rgba(255,231,166,.42),rgba(57,36,14,.92) 18%,rgba(19,16,18,1) 50%,rgba(166,116,43,.85) 82%,rgba(255,229,162,.36)),
    radial-gradient(circle at 50% 50%,rgba(255,224,160,.13),transparent 62%);
  border:1px solid rgba(215,180,106,.58);
  box-shadow:
    0 26px 70px rgba(0,0,0,.48),
    inset 0 0 0 4px rgba(255,237,185,.12),
    inset 0 0 0 9px rgba(0,0,0,.48),
    inset 0 0 34px rgba(215,180,106,.18);
  transition:opacity .22s ease, transform .22s ease;
}
.inspiration-frame:before,
.inspiration-frame:after{
  content:"";
  position:absolute;
  pointer-events:none;
  inset:10px;
  border:1px solid rgba(230,191,112,.36);
  border-radius:7px;
}
.inspiration-frame:after{
  inset:29px;
  border-color:rgba(0,0,0,.62);
  box-shadow:inset 0 0 20px rgba(0,0,0,.6);
}
.inspiration-frame.is-changing{
  opacity:.55;
  transform:scale(.992);
}
.inspiration-frame img{
  width:100%;
  max-height:65vh;
  aspect-ratio:16/9;
  object-fit:contain;
  background:#05070d;
  border:1px solid rgba(0,0,0,.75);
  box-shadow:inset 0 0 35px rgba(0,0,0,.55);
  -webkit-user-drag:none;
  user-drag:none;
  user-select:none;
}
.inspiration-arrow{
  border:0;
  background:transparent;
  color:#d7b46a;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  cursor:pointer;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:800;
}
.inspiration-arrow span{
  width:72px;
  height:72px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(215,180,106,.32);
  background:radial-gradient(circle,rgba(255,255,255,.12),rgba(255,255,255,.04));
  box-shadow:0 18px 40px rgba(0,0,0,.26);
  font-size:4rem;
  line-height:1;
  color:#e8d7b2;
}
.inspiration-arrow small{
  color:#d7b46a;
  font-size:.8rem;
}
.inspiration-arrow:hover span{
  border-color:rgba(215,180,106,.66);
  background:rgba(215,180,106,.1);
}
.inspiration-caption-block{
  margin:22px auto 0;
  max-width:760px;
}
.inspiration-caption-block h2{
  font-family:Georgia,'Times New Roman',serif;
  color:#d7b46a;
  font-size:clamp(1.7rem,3vw,2.6rem);
  margin:0 0 10px;
}
.inspiration-caption-block p{
  color:#d9d1c6;
  line-height:1.65;
}
.inspiration-counter{
  color:#d7b46a !important;
  font-weight:700;
  letter-spacing:.08em;
}
.inspiration-notice{
  max-width:980px;
  margin:34px auto 0;
  text-align:left;
}
.inspiration-feature{
  border-color:rgba(215,180,106,.28);
}
@media(max-width:980px){
  .inspiration-stage{
    grid-template-columns:1fr;
    gap:18px;
  }
  .inspiration-prev{order:2;}
  .inspiration-next{order:3;}
  .inspiration-arrow{
    display:inline-flex;
    flex-direction:row;
    justify-content:center;
  }
  .inspiration-stage{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
  }
  .inspiration-center{
    width:100%;
    order:1;
  }
  .inspiration-arrow span{
    width:54px;
    height:54px;
    font-size:3rem;
  }
}
@media(max-width:640px){
  .inspiration-frame{padding:13px;}
  .inspiration-frame:after{inset:18px;}
  .inspiration-frame img{max-height:none;}
}


/* V79 — Inspiration page portrait frame + random landing image
   Converts the framed display to portrait orientation and removes the numeric counter. */
.inspiration-stage{
  grid-template-columns:130px minmax(0,680px) 130px;
  justify-content:center;
}
.inspiration-center{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.inspiration-frame{
  width:min(100%, 680px);
  max-width:680px;
  padding:22px;
}
.inspiration-frame img{
  width:100%;
  max-width:520px;
  margin:0 auto;
  max-height:72vh;
  aspect-ratio:4/5;
  object-fit:contain;
}
.inspiration-caption-block{
  max-width:760px;
}
.inspiration-counter{display:none !important;}
@media(max-width:980px){
  .inspiration-stage{grid-template-columns:1fr;}
  .inspiration-frame{width:min(100%, 620px);}
  .inspiration-frame img{max-width:min(100%, 500px); max-height:68vh;}
}
@media(max-width:640px){
  .inspiration-frame{width:100%; padding:14px;}
  .inspiration-frame img{max-width:100%; max-height:64vh;}
}

/* V80 — Homepage latest update + mixed archive/poetry quote rotation */
.latest-update-card{
  margin:20px 0 18px;
  max-width:700px;
  border:1px solid rgba(215,180,106,.28);
  background:linear-gradient(135deg,rgba(215,180,106,.11),rgba(255,255,255,.045));
  border-radius:22px;
  padding:18px 20px;
  box-shadow:0 18px 50px rgba(0,0,0,.16);
}
.latest-update-card .eyebrow{
  margin:0 0 8px;
  font-size:.72rem;
}
.latest-update-card h2{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(1.35rem,2.4vw,2rem);
  line-height:1.12;
  margin:0 0 8px;
  color:#f4efe5;
}
.latest-update-card h2 a{
  text-decoration:none;
  color:inherit;
}
.latest-update-card h2 a:hover{
  color:var(--gold);
}
.latest-update-card p{
  margin:0;
  color:#d9d1c6;
  line-height:1.6;
}
.latest-update-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  margin-top:12px;
}
.latest-update-links a{
  color:#f0d998;
  text-decoration:none;
  font-size:.9rem;
  font-weight:700;
}
.latest-update-links a:hover{
  text-decoration:underline;
}
.romnote-random-quote-card .quote-subnote{
  transition:opacity .18s ease;
}
@media(max-width:640px){
  .latest-update-card{
    padding:16px 17px;
  }
  .latest-update-links{
    gap:8px 12px;
  }
}


/* V81 — Homepage supporting cards compact cleanup
   Reduces the homepage support cards so they read as quiet navigation links, not major feature panels. */
.section-compact-home-links{
  padding:18px 0;
}
.compact-home-feature{
  max-width:760px;
  padding:18px 20px;
  border-radius:22px;
}
.compact-home-feature .section-title{
  font-size:clamp(1.45rem,2.8vw,2.25rem);
  margin:0 0 8px;
}
.compact-home-feature .section-intro{
  max-width:620px;
  font-size:1rem;
  line-height:1.55;
  margin:0;
}
.compact-home-feature .hero-actions{
  margin-top:14px;
  gap:10px;
}
.compact-home-feature .btn,
.compact-home-feature .btn-small{
  padding:9px 13px;
  font-size:.88rem;
}
@media(max-width:640px){
  .section-compact-home-links{padding:14px 0;}
  .compact-home-feature{padding:16px 16px;}
}

/* V82 — Homepage plain text link cleanup
   Removes card-like presentation for the latest update and support links. */
.homepage-plain-update{
  margin:18px 0 8px;
  max-width:760px;
}
.homepage-plain-update p{
  color:#d9d1c6;
  line-height:1.65;
  margin:0;
}
.homepage-plain-update strong{
  color:#f0d998;
}
.homepage-plain-update a,
.homepage-plain-links a{
  color:#f0d998;
  text-decoration:none;
  font-weight:700;
}
.homepage-plain-update a:hover,
.homepage-plain-links a:hover{
  text-decoration:underline;
}
.homepage-plain-links-section{
  padding:8px 0 14px;
}
.homepage-plain-links{
  color:#d9d1c6;
  line-height:1.65;
  margin:0;
  font-size:.98rem;
}
.homepage-plain-links strong{
  color:#f0d998;
}
@media(max-width:640px){
  .homepage-plain-links-section{padding:6px 0 10px;}
  .homepage-plain-links,
  .homepage-plain-update p{font-size:.94rem;}
}


/* V83 — Author page foundation section cleanup
   Removes the large outer card styling from the author foundation section while preserving the highlighted quote card. */
.author-foundation-plain{
  max-width:1320px;
}
.author-foundation-plain .section-title{
  margin-bottom:18px;
}
.author-foundation-plain .section-intro{
  max-width:1120px;
}
.author-foundation-plain .archetype-quote{
  margin-top:28px;
}

/* V84 — Source Archive poetry source note cleanup
   Removes large card styling from the Poetry Source View note while preserving the text and button. */
.plain-source-note{
  margin:24px 0 28px;
  max-width:980px;
}
.plain-source-note h2{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(1.55rem,2.7vw,2.35rem);
  line-height:1.15;
  margin:8px 0 12px;
  color:#f4efe5;
}
.plain-source-note p:not(.eyebrow){
  color:#d9d1c6;
  line-height:1.65;
  margin:0;
}
.plain-source-note .hero-actions{
  margin-top:16px;
}
.plain-source-note .btn{
  padding:9px 13px;
  font-size:.88rem;
}

/* V89 — Linked RomNote archive references */
.related-entry-card{
  margin:30px 0 18px;
  border:1px solid rgba(215,180,106,.28);
  background:rgba(215,180,106,.065);
  border-radius:18px;
  padding:18px 20px;
}
.related-entry-card h2{
  margin:0 0 8px;
  font-family:Georgia,'Times New Roman',serif;
  color:#f0d998;
  font-size:1.35rem;
}
.related-entry-card p{
  color:#d9d1c6;
  line-height:1.65;
  margin:0;
}
.reader-content .transcript-speaker{
  margin-top:1.6em;
  color:#f0d998;
}

/* V91 — Linked RomNote philosophy references */
.related-entry-list p{
  margin:0 0 12px;
}
.related-entry-list .reader-nav{
  margin:0 0 18px;
}
.reader-bullet{
  padding-left:1.15rem;
}

/* V93 — Homepage preserved document preview
   Adds a scrollable Word-style HTML preview for the RomNote core philosophy without direct download. */
.home-document-preview-section{
  padding-top:38px;
}
.home-document-preview-section .section-intro{
  max-width:860px;
}
.document-preview-frame{
  margin:24px 0 12px;
  max-width:920px;
  border:1px solid rgba(215,180,106,.34);
  border-radius:24px;
  padding:18px;
  background:
    linear-gradient(135deg,rgba(215,180,106,.12),rgba(255,255,255,.04)),
    rgba(12,14,18,.72);
  box-shadow:0 26px 80px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.04);
}
.document-preview-page{
  height:520px;
  overflow-y:auto;
  overscroll-behavior:contain;
  border-radius:14px;
  padding:42px 52px;
  background:
    linear-gradient(180deg,rgba(255,253,245,.98),rgba(244,237,222,.98));
  color:#24201b;
  font-family:Georgia,'Times New Roman',serif;
  line-height:1.72;
  box-shadow:
    inset 0 0 0 1px rgba(70,48,26,.18),
    inset 0 0 46px rgba(88,63,34,.12);
  user-select:none;
  -webkit-user-select:none;
  -ms-user-select:none;
  cursor:default;
}
.document-preview-page:focus{
  outline:2px solid rgba(215,180,106,.55);
  outline-offset:4px;
}
.document-preview-page::-webkit-scrollbar{
  width:12px;
}
.document-preview-page::-webkit-scrollbar-track{
  background:rgba(56,42,28,.16);
  border-radius:20px;
}
.document-preview-page::-webkit-scrollbar-thumb{
  background:rgba(134,93,42,.55);
  border-radius:20px;
  border:3px solid rgba(244,237,222,.98);
}
.document-preview-masthead{
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:#8c642d;
  font-size:.78rem;
  font-weight:800;
  margin-bottom:10px;
}
.document-preview-page h3{
  text-align:center;
  font-size:clamp(2rem,4vw,3.4rem);
  line-height:1.02;
  margin:0;
  color:#1e1a16;
}
.document-preview-subtitle{
  text-align:center;
  color:#6d5a45 !important;
  font-size:1.05rem;
  margin:10px 0 18px !important;
  font-style:italic;
}
.document-preview-rule{
  text-align:center;
  color:#9b6d2f;
  letter-spacing:.09em;
  margin:18px 0;
}
.document-preview-page p{
  margin:0 0 1.1em;
}
.document-preview-quote{
  text-align:center;
  font-size:clamp(1.4rem,2.8vw,2.35rem);
  line-height:1.25 !important;
  color:#1c1813;
  margin:16px auto 24px !important;
  max-width:680px;
}
.document-preview-details{
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid rgba(140,100,45,.28);
  font-family:Arial,Helvetica,sans-serif;
  color:#4c4236;
  font-size:.9rem;
  line-height:1.45;
}
.document-preview-details h4{
  margin:0 0 8px;
  color:#7e5b2c;
  font-family:Georgia,'Times New Roman',serif;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.82rem;
}
.document-preview-details p{
  margin:0 0 6px;
}
.document-preview-note{
  max-width:920px;
  color:#d9d1c6;
  font-size:.95rem;
  line-height:1.6;
  margin:10px 0 0;
}
@media(max-width:760px){
  .document-preview-frame{padding:12px;border-radius:18px;}
  .document-preview-page{height:480px;padding:30px 24px;}
}
@media(max-width:480px){
  .document-preview-page{height:440px;padding:26px 18px;}
  .document-preview-rule{font-size:.82rem;}
}

/* V95 — Home page full-image background adjustment
   Shows the full cinematic background artwork on the Home page instead of cropping it with cover. */
body.page-home-signature-bg::before{
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center center;
  transform:none;
  background-color:#070910;
}
body.page-home-signature-bg::after{
  background:
    linear-gradient(180deg,rgba(7,8,12,.76) 0%,rgba(8,10,16,.66) 18%,rgba(10,11,18,.76) 46%,rgba(10,11,18,.92) 100%),
    radial-gradient(circle at 50% 18%,rgba(255,230,170,.13),transparent 28%),
    linear-gradient(90deg,rgba(7,8,12,.76),rgba(7,9,14,.42) 38%,rgba(7,8,12,.76) 100%);
}
@media(max-width:900px){
  body.page-home-signature-bg::before{
    background-size:contain;
    background-position:center top;
  }
}
@media(max-width:640px){
  body.page-home-signature-bg::before{
    background-size:contain;
    background-position:center top;
  }
  body.page-home-signature-bg::after{
    background:
      linear-gradient(180deg,rgba(7,9,13,.84) 0%,rgba(8,10,16,.74) 20%,rgba(10,11,18,.90) 100%),
      linear-gradient(90deg,rgba(7,8,12,.82),rgba(7,9,14,.54) 45%,rgba(7,8,12,.82) 100%);
  }
}

/* V96 — Home page cinematic backdrop composition
   Tunes the Home page background to feel like a full cinematic scene instead of a zoomed texture or letterboxed image. */
body.page-home-signature-bg::before{
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center 43%;
  transform:none;
  background-color:#070910;
}
body.page-home-signature-bg::after{
  background:
    linear-gradient(180deg,rgba(7,8,12,.58) 0%,rgba(8,10,16,.50) 18%,rgba(10,11,18,.62) 52%,rgba(10,11,18,.82) 100%),
    radial-gradient(circle at 28% 42%,rgba(0,0,0,.30),transparent 26%),
    radial-gradient(circle at 70% 16%,rgba(255,226,160,.10),transparent 22%),
    linear-gradient(90deg,rgba(7,8,12,.52),rgba(7,9,14,.22) 38%,rgba(7,8,12,.50) 100%);
}
body.page-home-signature-bg .hero{
  padding-top:62px;
}
body.page-home-signature-bg .hero-grid{
  align-items:start;
}
body.page-home-signature-bg .hero-text,
body.page-home-signature-bg .hero-card,
body.page-home-signature-bg .romnote-random-quote-card,
body.page-home-signature-bg .visitor-counter{
  background-color:rgba(9,11,18,.44);
  backdrop-filter:blur(5px);
}
body.page-home-signature-bg .hero-text{
  border:1px solid rgba(215,180,106,.22);
  border-radius:28px;
  padding:28px 32px;
  box-shadow:0 28px 80px rgba(0,0,0,.28);
}
body.page-home-signature-bg .homepage-plain-links-section{
  padding-top:0;
}
body.page-home-signature-bg .homepage-plain-links{
  color:#f0d998;
  text-shadow:0 2px 10px rgba(0,0,0,.5);
}
@media(max-width:1100px){
  body.page-home-signature-bg::before{
    background-position:42% center;
  }
}
@media(max-width:760px){
  body.page-home-signature-bg::before{
    background-size:cover;
    background-position:38% center;
  }
  body.page-home-signature-bg .hero-text{
    padding:22px 20px;
  }
}

/* V97 — Home page soundtrack */
.home-soundtrack-section{
  padding:28px 0 42px;
}
.home-soundtrack-panel{
  max-width:920px;
  border:1px solid rgba(215,180,106,.28);
  border-radius:22px;
  padding:20px 22px;
  background:linear-gradient(135deg,rgba(215,180,106,.10),rgba(255,255,255,.045)),rgba(10,12,18,.66);
  box-shadow:0 22px 60px rgba(0,0,0,.24);
  backdrop-filter:blur(5px);
}
.home-soundtrack-panel h2{
  font-family:Georgia,'Times New Roman',serif;
  color:#f4efe5;
  margin:0 0 8px;
  font-size:clamp(1.35rem,2.8vw,2.15rem);
}
.home-soundtrack-panel p{
  color:#d9d1c6;
  margin:0 0 12px;
}
.home-soundtrack-panel audio{
  width:100%;
  max-width:640px;
  display:block;
  margin:14px 0 10px;
  accent-color:#d7b46a;
}
.music-credit,
.footer-music-credit{
  color:#cfc6b8;
  font-size:.92rem;
  line-height:1.55;
}
.music-credit strong,
.footer-music-credit strong{
  color:#f0d998;
}
.footer-music-credit{
  margin:8px 0 0;
}
@media(max-width:640px){
  .home-soundtrack-panel{
    padding:17px 16px;
  }
}

/* V98 — Floating home page theme player
   Replaces the large soundtrack card with a small fixed play/pause control. */
.home-soundtrack-section{
  display:none !important;
}
.floating-theme-player{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:120;
  display:flex;
  align-items:center;
  gap:13px;
  padding:12px 17px 12px 13px;
  border:1px solid rgba(215,180,106,.42);
  border-radius:999px;
  background:
    linear-gradient(135deg,rgba(215,180,106,.16),rgba(255,255,255,.055)),
    rgba(8,10,16,.82);
  box-shadow:0 18px 48px rgba(0,0,0,.45), inset 0 0 0 1px rgba(255,255,255,.045);
  backdrop-filter:blur(14px);
}
.theme-play-button{
  width:50px;
  height:50px;
  border-radius:50%;
  border:1px solid rgba(215,180,106,.48);
  background:linear-gradient(135deg,#f0d998,#b88738);
  color:#121016;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 0 24px rgba(215,180,106,.24);
  font-weight:900;
  transition:transform .18s ease, filter .18s ease;
}
.theme-play-button:hover{
  transform:translateY(-1px) scale(1.02);
  filter:brightness(1.05);
}
.theme-play-button:focus-visible{
  outline:2px solid rgba(240,217,152,.9);
  outline-offset:4px;
}
.theme-play-icon{
  font-size:1.05rem;
  line-height:1;
  transform:translateX(1px);
}
.theme-player-text{
  display:flex;
  flex-direction:column;
  line-height:1.15;
  min-width:142px;
}
.theme-player-text strong{
  color:#f4efe5;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.88rem;
}
.theme-player-text span{
  color:#cfc6b8;
  font-size:.82rem;
  margin-top:4px;
}
.floating-theme-player.is-playing{
  border-color:rgba(240,217,152,.70);
  box-shadow:0 18px 52px rgba(0,0,0,.50), 0 0 28px rgba(215,180,106,.16);
}
@media(max-width:640px){
  .floating-theme-player{
    left:14px;
    right:14px;
    bottom:14px;
    justify-content:flex-start;
    padding:10px 14px 10px 11px;
  }
  .theme-play-button{
    width:44px;
    height:44px;
    flex:0 0 44px;
  }
  .theme-player-text{
    min-width:0;
  }
  .theme-player-text strong{
    font-size:.82rem;
  }
  .theme-player-text span{
    font-size:.78rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:calc(100vw - 105px);
  }
}

/* V99 — Mobile-safe floating theme player correction
   Stronger fixed positioning and touch-friendly mobile styling. */
.floating-theme-player{
  position:fixed !important;
  right:22px !important;
  bottom:calc(22px + env(safe-area-inset-bottom, 0px)) !important;
  z-index:9999 !important;
  width:auto;
  max-width:min(360px, calc(100vw - 28px));
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
  touch-action:manipulation;
}
.floating-theme-player audio{
  display:none !important;
}
.theme-play-button{
  appearance:none;
  -webkit-appearance:none;
  touch-action:manipulation;
  user-select:none;
  -webkit-user-select:none;
}
.theme-play-button:active{
  transform:scale(.97);
}
@media(max-width:640px){
  .floating-theme-player{
    left:14px !important;
    right:14px !important;
    bottom:calc(14px + env(safe-area-inset-bottom, 0px)) !important;
    width:auto;
    max-width:none;
    padding:10px 14px 10px 11px !important;
    border-radius:999px;
  }
  .theme-player-text{
    flex:1 1 auto;
    min-width:0;
  }
  .theme-player-text span{
    display:block;
    max-width:100%;
  }
}
@media(max-width:380px){
  .theme-player-text strong{
    font-size:.78rem;
  }
  .theme-player-text span{
    font-size:.72rem;
  }
}

/* V100 — Persistent theme player across pages */
.floating-theme-player.needs-user-resume{
  border-color:rgba(240,217,152,.72);
}
.floating-theme-player.needs-user-resume .theme-player-text strong{
  color:#f0d998;
}
.floating-theme-player.needs-user-resume .theme-play-button{
  animation:romnoteThemePulse 1.35s ease-in-out infinite;
}
@keyframes romnoteThemePulse{
  0%,100%{box-shadow:0 0 20px rgba(215,180,106,.18);transform:scale(1);}
  50%{box-shadow:0 0 34px rgba(215,180,106,.38);transform:scale(1.035);}
}

/* V101 — Updated core philosophy preview content */
.document-preview-section-title{
  margin:28px 0 8px;
  text-align:center;
  font-family:Georgia,'Times New Roman',serif;
  color:#7e5b2c;
  font-size:1.3rem;
  line-height:1.25;
}
.document-preview-section-subtitle{
  margin:8px 0 14px;
  color:#6d5a45;
  text-align:center;
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.02rem;
  font-style:italic;
}
.document-preview-quote.smaller-quote{
  font-size:clamp(1.1rem,2vw,1.55rem);
  line-height:1.38 !important;
}
.document-preview-additional-details{
  margin-top:18px;
}

/* V102 — Quiet Storm Journal Entry 1 updated reader + page-specific theme */
.quiet-storm-document-reader{
  max-width:980px;
}
.quiet-doc-masthead{
  text-align:center;
  color:#f0d998;
  text-transform:uppercase;
  letter-spacing:.2em;
  font-weight:800;
  font-size:.78rem;
  margin:0 0 10px;
}
.quiet-doc-title{
  text-align:center;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(2rem,4vw,3.4rem);
  line-height:1.05;
  color:#f4efe5;
  margin:0;
}
.quiet-doc-subtitle{
  text-align:center;
  font-family:Georgia,'Times New Roman',serif;
  color:#f0d998;
  font-size:clamp(1.25rem,2.5vw,2rem);
  line-height:1.22;
  margin:10px auto 8px;
  max-width:850px;
}
.quiet-doc-kicker,
.quiet-doc-prep{
  text-align:center;
  color:#d9d1c6;
  margin:.35rem auto;
}
.quiet-storm-document-reader h2{
  margin-top:2.1em;
}
.quiet-storm-document-reader h3{
  color:#f0d998;
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.2rem;
  margin-top:1.35em;
}
.quiet-storm-document-reader .reader-bullet{
  padding-left:1.15rem;
}
.quiet-entry-details{
  margin-top:34px;
}
.entry-theme-player{
  border-color:rgba(180,205,255,.48);
}
.entry-theme-player .theme-play-button{
  background:linear-gradient(135deg,#dbe7ff,#8fa9df);
  color:#10131d;
  border-color:rgba(220,232,255,.66);
}
.entry-theme-player.is-playing{
  border-color:rgba(210,225,255,.78);
  box-shadow:0 18px 52px rgba(0,0,0,.50),0 0 28px rgba(160,190,255,.16);
}
.entry-music-credit{
  color:#cfc6b8;
}

/* V103 — When the Heart Goes Unheard reader and inspiration entry */
.heart-unheard-reader .quote{
  text-align:center;
  color:#f4efe5;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(1.35rem,2.8vw,2.25rem);
  line-height:1.35;
  margin:22px auto 30px;
  max-width:760px;
}
.heart-unheard-reader .quote.smaller-quote{
  font-size:clamp(1.1rem,2vw,1.55rem);
  color:#f0d998;
}

/* V104 — To Love Is Not to Vanish reader */
.love-not-vanish-reader .quote{
  text-align:center;
  color:#f4efe5;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(1.2rem,2.3vw,1.8rem);
  line-height:1.6;
  margin:22px auto 30px;
  max-width:820px;
}


/* V108 — Reader Reflections and Children Dedication pages
   Scoped additions only. Visitor counter, protected downloads, archive data, music behavior, and global layout remain preserved. */
.feedback-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;align-items:start;}
.reader-reflection-form{border:1px solid rgba(215,180,106,.28);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));box-shadow:var(--shadow);padding:24px;}
.form-row{display:grid;gap:8px;margin-bottom:16px;}
.form-row label,.checkbox-row{color:#f5e8cd;font-weight:800;letter-spacing:.02em;}
.form-row input,.form-row textarea{width:100%;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:#0e1421;color:var(--ink);padding:13px 14px;font:inherit;line-height:1.5;}
.form-row textarea{min-height:210px;resize:vertical;}
.form-row input::placeholder,.form-row textarea::placeholder{color:#8f887f;}
.checkbox-row{display:flex;align-items:flex-start;gap:12px;margin:6px 0 14px;color:#d9d1c6;font-weight:700;line-height:1.5;}
.checkbox-row input{margin-top:5px;accent-color:#d7b46a;}
.form-note{color:#cdbf9b;font-size:.94rem;line-height:1.55;margin:12px 0 18px;}
.reader-reflection-form .btn[disabled]{opacity:.62;cursor:not-allowed;filter:saturate(.75);}
.feedback-coming-soon{max-width:900px;margin-top:24px;}
.author-subnav{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 24px;}
.author-subnav a{border:1px solid rgba(215,180,106,.35);border-radius:999px;text-decoration:none;padding:10px 14px;color:#f0dfb8;background:rgba(215,180,106,.08);font-weight:800;}
.author-subnav a:hover,.author-subnav a:focus-visible,.author-subnav a.active{background:rgba(215,180,106,.17);border-color:rgba(255,224,162,.58);color:#fff1c8;outline:none;}
.dedication-grid{margin-top:24px;}
.dedication-card{border-left:3px solid rgba(215,180,106,.42);}
.dedication-page-wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:24px;align-items:start;}
.dedication-carousel-panel,.dedication-letter-panel{min-width:0;}
.dedication-carousel{position:relative;min-height:540px;border:1px solid rgba(215,180,106,.28);border-radius:28px;overflow:hidden;background:rgba(8,10,16,.72);box-shadow:var(--shadow);isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;}
.dedication-slide{position:absolute;inset:0;display:grid;place-items:center;padding:30px;text-align:center;opacity:0;transition:opacity 1.8s ease;pointer-events:none;background:radial-gradient(circle at 28% 18%,rgba(215,180,106,.22),transparent 28%),radial-gradient(circle at 78% 22%,rgba(123,183,255,.16),transparent 28%),linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.02));}
.dedication-slide.is-active{opacity:1;}
.dedication-placeholder-two{background:radial-gradient(circle at 72% 18%,rgba(215,180,106,.20),transparent 26%),radial-gradient(circle at 22% 72%,rgba(123,183,255,.16),transparent 28%),linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.018));}
.dedication-placeholder-three{background:radial-gradient(circle at 50% 18%,rgba(255,224,162,.18),transparent 28%),radial-gradient(circle at 70% 72%,rgba(123,183,255,.13),transparent 30%),linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.016));}
.dedication-slide div{border:1px solid rgba(255,255,255,.16);border-radius:24px;padding:30px 34px;background:rgba(0,0,0,.22);backdrop-filter:blur(3px);}
.dedication-slide span{display:block;text-transform:uppercase;letter-spacing:.22em;color:#d8c397;font-size:.82rem;font-weight:800;margin-bottom:10px;}
.dedication-slide strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.2rem,5vw,4.4rem);line-height:1;color:#fff0c8;}
.dedication-carousel-control{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:44px;height:44px;border:1px solid rgba(215,180,106,.42);border-radius:50%;background:rgba(8,10,16,.72);color:#ffe5a8;font-size:2rem;line-height:1;display:grid;place-items:center;cursor:pointer;}
.dedication-carousel-control:hover,.dedication-carousel-control:focus-visible{background:rgba(215,180,106,.16);outline:none;}
.dedication-carousel-prev{left:14px;}
.dedication-carousel-next{right:14px;}
.dedication-carousel-status{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:4;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(8,10,16,.72);color:#e8dbc2;padding:6px 12px;font-size:.88rem;font-weight:800;}
.dedication-document-frame{max-width:none;}
.dedication-document-page{height:560px;}
.dedication-document-page p{font-size:1.03rem;}
@media(max-width:980px){.feedback-layout,.dedication-page-wrap{grid-template-columns:1fr;}.dedication-carousel{min-height:460px;}}
@media(max-width:640px){.reader-reflection-form{padding:18px;border-radius:22px;}.dedication-carousel{min-height:360px;border-radius:22px;}.dedication-slide{padding:20px;}.dedication-slide div{padding:24px 22px;}.dedication-carousel-control{width:40px;height:40px;font-size:1.75rem;}.dedication-document-page{height:480px;}.author-subnav a{width:100%;text-align:center;}}

.dedication-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92;-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none;pointer-events:none;}
.dedication-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.36));pointer-events:none;}
.dedication-slide .dedication-slide-label{position:relative;z-index:2;}


/* V109 — Chrome-safe navigation correction and The Man & Author dropdown
   Documents remains preserved as a page/source area, but it is no longer shown as a crowded top-level nav item. */
.nav-links{
  gap:clamp(10px,1.15vw,15px);
  flex-wrap:nowrap;
  align-items:center;
}
.nav-links > a,
.nav-dropdown-toggle{
  white-space:nowrap;
  line-height:1.15;
}
.nav-dropdown{
  position:relative;
  display:flex;
  align-items:center;
}
.nav-dropdown-toggle{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.nav-caret{
  color:var(--gold);
  font-size:.78em;
  transform:translateY(-1px);
}
.nav-dropdown-menu{
  position:absolute;
  top:calc(100% + 14px);
  left:50%;
  transform:translate(-50%,-6px);
  min-width:245px;
  padding:10px;
  border:1px solid rgba(215,180,106,.28);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(17,22,34,.98),rgba(10,13,21,.98));
  box-shadow:0 18px 55px rgba(0,0,0,.44);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  z-index:200;
}
.nav-dropdown-menu::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-16px;
  height:16px;
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0);
}
.nav-dropdown-menu a,
.nav-dropdown-label{
  display:block;
}
.nav-dropdown-menu a{
  padding:9px 10px;
  border-radius:12px;
  color:#d8d1c6;
  text-decoration:none;
  font-size:.9rem;
}
.nav-dropdown-menu a:hover,
.nav-dropdown-menu a:focus-visible{
  color:#fff0c8;
  background:rgba(215,180,106,.10);
  outline:none;
}
.nav-dropdown-label{
  margin:8px 10px 4px;
  color:#d7b46a;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.nav-child-link{
  padding-left:20px !important;
  color:#cfc6b8 !important;
}
.nav-child-link:hover,
.nav-child-link:focus-visible{
  color:#fff0c8 !important;
}
@media(max-width:1120px){
  .nav{height:auto;align-items:flex-start;padding:14px 0;}
  .nav-links{flex-wrap:wrap;justify-content:flex-end;row-gap:8px;}
}
@media(max-width:900px){
  .nav-dropdown{display:block;}
  .nav-dropdown-toggle{
    cursor:pointer;
    -webkit-tap-highlight-color:rgba(215,180,106,.18);
  }
  .nav-dropdown-menu{
    position:static;
    transform:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    display:none;
    min-width:100%;
    margin-top:8px;
    box-shadow:none;
    background:rgba(255,255,255,.035);
  }
  .nav-dropdown.is-mobile-open .nav-dropdown-menu{display:block;}
  .nav-dropdown.is-mobile-open .nav-caret{transform:translateY(-1px) rotate(180deg);}
  .nav-dropdown-menu::before{display:none;}
  .nav-dropdown:hover .nav-dropdown-menu,
  .nav-dropdown:focus-within .nav-dropdown-menu{transform:none;}
}
@media(max-width:640px){
  .nav-links{gap:9px;}
  .nav-links > a,
  .nav-dropdown{
    width:100%;
  }
  .nav-dropdown-toggle{
    width:100%;
  }
}

/* V110 — Reader Reflections live mailto form
   Scoped only to feedback.html. Does not touch visitor counter, protected downloads, archive data, or global design. */
.feedback-live-note{max-width:900px;margin-top:24px;}
.feedback-privacy-note{
  margin-top:18px;
  padding:16px 18px;
  border:1px solid rgba(215,180,106,.25);
  border-radius:18px;
  background:rgba(8,10,16,.45);
  color:var(--muted);
  line-height:1.65;
}
.feedback-privacy-note strong{color:#ffe3a6;}
.feedback-action-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:16px;}
.reader-reflection-form .btn.secondary{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.15);}
.reader-reflection-form .btn.secondary:not([disabled]):hover{background:rgba(215,180,106,.12);border-color:rgba(215,180,106,.35);}
.feedback-status{min-height:1.4em;margin-top:12px;}
.feedback-status[data-state="error"]{color:#ffb5aa;}
.feedback-status[data-state="ready"]{color:#ffe3a6;}
.reader-reflection-preview{
  border:1px solid rgba(215,180,106,.28);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));
  box-shadow:var(--shadow);
  padding:24px;
}
.reflection-preview-header{display:flex;gap:18px;justify-content:space-between;align-items:flex-start;margin-bottom:10px;}
.reflection-preview-header h2{margin:.2rem 0 0;font-family:var(--serif);font-size:clamp(1.9rem,4vw,3.1rem);line-height:1.05;}
.reflection-private-pill{
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(215,180,106,.32);
  border-radius:999px;
  padding:8px 12px;
  font-size:.76rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#ffe3a6;
  background:rgba(215,180,106,.08);
  white-space:nowrap;
}
.reflection-preview-content{
  margin:20px 0 0;
  padding:24px;
  max-height:420px;
  overflow:auto;
  border-radius:22px;
  border:1px solid rgba(215,180,106,.24);
  background:linear-gradient(180deg,rgba(247,238,214,.96),rgba(228,214,184,.92));
  color:#1b1710;
  font-family:Georgia,'Times New Roman',serif;
  line-height:1.72;
  white-space:pre-wrap;
  box-shadow:inset 0 0 0 1px rgba(70,49,20,.12);
}
.fallback-copy-panel{
  margin-top:20px;
  padding:20px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(8,10,16,.45);
}
.fallback-copy-panel h3{margin:0 0 8px;color:#ffe3a6;font-family:var(--serif);font-size:1.35rem;}
.fallback-copy-panel p{margin:0 0 14px;color:var(--muted);line-height:1.65;}
.reflection-copy-box{
  width:100%;
  min-height:220px;
  resize:vertical;
  border-radius:18px;
  border:1px solid rgba(215,180,106,.25);
  background:rgba(0,0,0,.28);
  color:#f8efe1;
  padding:16px;
  line-height:1.6;
  font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',monospace;
}
@media(max-width:640px){
  .reflection-preview-header{display:block;}
  .reflection-private-pill{margin-top:12px;}
  .reader-reflection-preview{padding:18px;border-radius:22px;}
  .reflection-preview-content{padding:18px;border-radius:18px;max-height:360px;}
  .feedback-action-row .btn,.feedback-action-row .btn-small{width:100%;text-align:center;justify-content:center;}
}


/* V112 — Mobile dropdown correction for The Man & Author navigation.
   Keeps desktop dropdown behavior, but collapses the author/dedication submenu by default on phones. */
@media(max-width:900px){
  .nav-dropdown:not(.is-mobile-open) .nav-dropdown-menu{display:none;}
}


/* V113 — Phone hamburger navigation correction.
   Small mobile screens now start with the navigation closed by default.
   This keeps the homepage readable while preserving the existing desktop navigation and author dropdown. */
.mobile-nav-toggle{display:none;}
.mobile-nav-icon{position:relative;width:20px;height:14px;display:inline-block;}
.mobile-nav-icon::before,
.mobile-nav-icon::after,
.mobile-nav-icon{border-top:2px solid currentColor;}
.mobile-nav-icon::before,
.mobile-nav-icon::after{content:"";position:absolute;left:0;width:20px;}
.mobile-nav-icon::before{top:5px;}
.mobile-nav-icon::after{top:12px;}
@media(max-width:900px){
  .site-header{position:sticky;top:0;z-index:80;}
  .nav{height:auto;min-height:72px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;padding-bottom:12px;}
  .brand{min-width:0;flex:1 1 auto;}
  .brand-text{font-size:.82rem;letter-spacing:.075em;}
  .mobile-nav-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:42px;
    padding:9px 13px;
    border:1px solid rgba(215,180,106,.34);
    border-radius:999px;
    background:linear-gradient(180deg,rgba(215,180,106,.14),rgba(255,255,255,.045));
    color:#f2efe8;
    font:inherit;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    cursor:pointer;
    box-shadow:0 10px 26px rgba(0,0,0,.20);
    -webkit-tap-highlight-color:rgba(215,180,106,.18);
  }
  .mobile-nav-toggle:hover,
  .mobile-nav-toggle:focus-visible{outline:none;border-color:rgba(215,180,106,.58);background:rgba(215,180,106,.12);}
  .site-header:not(.is-mobile-nav-open) .nav-links{display:none;}
  .site-header.is-mobile-nav-open .nav-links{display:flex;}
  .nav-links{
    width:100%;
    flex:1 0 100%;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:0;
    margin-top:8px;
    padding:10px;
    border:1px solid rgba(215,180,106,.20);
    border-radius:20px;
    background:linear-gradient(180deg,rgba(17,22,34,.96),rgba(8,10,16,.96));
    box-shadow:0 20px 60px rgba(0,0,0,.32);
  }
  .nav-links > a,
  .nav-dropdown-toggle{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:12px 12px;
    border-radius:14px;
    color:#d8d1c6;
    font-size:1rem;
  }
  .nav-links > a:hover,
  .nav-links > a:focus-visible,
  .nav-dropdown-toggle:hover,
  .nav-dropdown-toggle:focus-visible{background:rgba(215,180,106,.10);color:#fff0c8;outline:none;}
  .nav-dropdown{width:100%;display:block;}
  .nav-dropdown-menu{
    margin:4px 0 8px 0;
    padding:8px;
    border-radius:16px;
    background:rgba(255,255,255,.035);
  }
  .nav-dropdown-menu a{padding:10px 12px;font-size:.96rem;}
  .nav-dropdown-label{margin:12px 12px 6px;}
  .nav-child-link{padding-left:28px !important;}
  .site-header.is-mobile-nav-open .mobile-nav-icon{border-top-color:transparent;}
  .site-header.is-mobile-nav-open .mobile-nav-icon::before{top:6px;transform:rotate(45deg);}
  .site-header.is-mobile-nav-open .mobile-nav-icon::after{top:6px;transform:rotate(-45deg);}
  body.mobile-nav-lock{overflow-x:hidden;}
}
@media(max-width:420px){
  .brand-mark{width:34px;height:34px;flex:0 0 34px;}
  .brand-text{font-size:.76rem;letter-spacing:.07em;}
  .mobile-nav-toggle{padding:8px 11px;min-height:40px;}
  .mobile-nav-label{font-size:.82rem;}
}


/* V114 — For My Love dropdown, Pinky dedication starter page, and Joey dedication music/photos.
   Scoped to dedication pages. Preserves global layout, counter, protected downloads, feedback, and archive systems. */
.dedication-love-section{margin-top:44px;padding-top:34px;border-top:1px solid rgba(215,180,106,.20);}
.dedication-love-card{border-left-color:rgba(235,178,190,.42);}
.dedication-inline-theme-player{
  position:static !important;
  right:auto !important;
  left:auto !important;
  bottom:auto !important;
  transform:none !important;
  width:fit-content !important;
  max-width:min(520px,100%) !important;
  margin:24px 0 0 !important;
  z-index:1 !important;
}
.dedication-inline-theme-player .theme-player-text{min-width:180px;}
.dedication-photo-slide{background:#07090f;}
.dedication-photo-slide img{object-fit:contain;background:#07090f;}
.dedication-photo-slide::after{background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.28));}
.dedication-photo-slide .dedication-slide-label{align-self:end;margin-bottom:34px;background:rgba(0,0,0,.36);}
.dedication-love-hero .lead{max-width:900px;}
@media(max-width:640px){
  .dedication-inline-theme-player{width:100% !important;justify-content:flex-start;margin-top:20px !important;padding:10px 14px 10px 11px;}
  .dedication-inline-theme-player .theme-player-text{min-width:0;}
  .dedication-photo-slide .dedication-slide-label{margin-bottom:30px;padding:18px 20px;}
}


/* V115 — Joey dedication cleanup and floating music player correction.
   Removes the photo-card overlay from Joey's dedication carousel and lets the music button follow the page like the other RomNote music controls. */
.dedication-photo-slide .dedication-slide-label{
  display:none !important;
}
#joeyDedicationThemePlayer.dedication-inline-theme-player{
  position:fixed !important;
  right:22px !important;
  left:auto !important;
  bottom:calc(22px + env(safe-area-inset-bottom, 0px)) !important;
  transform:translateZ(0) !important;
  width:auto !important;
  max-width:min(360px, calc(100vw - 28px)) !important;
  margin:0 !important;
  z-index:9999 !important;
}
#joeyDedicationThemePlayer.dedication-inline-theme-player .theme-player-text{
  min-width:142px;
}
@media(max-width:640px){
  #joeyDedicationThemePlayer.dedication-inline-theme-player{
    left:14px !important;
    right:14px !important;
    bottom:calc(14px + env(safe-area-inset-bottom, 0px)) !important;
    width:auto !important;
    max-width:none !important;
    justify-content:flex-start;
    margin:0 !important;
    padding:10px 14px 10px 11px;
  }
  #joeyDedicationThemePlayer.dedication-inline-theme-player .theme-player-text{
    min-width:0;
  }
}


/* V116 — Joey dedication letter placement and looping page theme.
   Scoped to Joey's dedication document reader. */
.dedication-document-page .dedication-letter-meta{
  margin:22px auto 28px;
  padding:18px 20px;
  max-width:680px;
  border-top:1px solid rgba(140,100,45,.28);
  border-bottom:1px solid rgba(140,100,45,.28);
  color:#5b4c3e;
  text-align:center;
  font-size:.95rem;
  line-height:1.45;
}
.dedication-document-page .dedication-letter-meta p{
  margin:0 0 6px;
}
.dedication-document-page .dedication-letter-divider{
  text-align:center;
  color:#9b6d2f;
  letter-spacing:.14em;
  margin:18px 0 !important;
}
.dedication-document-page .dedication-letter-section-title{
  margin:34px 0 14px;
  padding-top:18px;
  border-top:1px solid rgba(140,100,45,.24);
  color:#7e5b2c;
  font-size:1rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-family:Georgia,'Times New Roman',serif;
}
.dedication-document-page .dedication-letter-salutation,
.dedication-document-page .dedication-letter-signature{
  color:#1e1a16;
  font-weight:700;
}
.dedication-document-page .dedication-letter-signature{
  margin-top:1.2em;
}
.dedication-document-page .dedication-letter-list{
  margin:0 0 1.2em 1.25em;
  padding:0;
}
.dedication-document-page .dedication-letter-list li{
  margin:0 0 .72em;
  padding-left:.25em;
}
.dedication-document-page .dedication-entry-details{
  margin-top:30px;
}
.dedication-document-page .smaller-quote{
  font-size:clamp(1.18rem,2.2vw,1.72rem);
}


/* V117 — Joey dedication public cleanup and protected original-letter request card.
   Removes public/dev-style notes from Joey's page and adds a respectful request-access card for the original DOCX. */
.dedication-original-request{
  margin-top:20px;
  border-color:rgba(215,180,106,.30);
}
.dedication-original-request h3{
  margin:.25rem 0 .55rem;
  font-family:Georgia,'Times New Roman',serif;
  color:#f4ead5;
  font-size:1.25rem;
}
.dedication-original-request .eyebrow{
  margin:0 0 8px;
}

/* V118 — Joey dedication desktop polish and carousel captions.
   Replaces numeric photo counters with memory captions and balances the photo/letter cards on desktop only. */
.dedication-carousel-caption{
  width:min(82%, 560px);
  white-space:normal;
  text-align:center;
  line-height:1.42;
  padding:10px 16px;
  border-radius:22px;
  color:#f3e6ca;
  background:rgba(8,10,16,.74);
  box-shadow:0 14px 36px rgba(0,0,0,.24);
}
@media(min-width:981px){
  .dedication-page-wrap{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:start;
  }
  .dedication-page-wrap .section-intro{
    min-height:112px;
  }
  .dedication-carousel{
    height:640px;
    min-height:640px;
  }
  .dedication-document-frame{
    height:640px;
    display:flex;
    flex-direction:column;
  }
  .dedication-document-page{
    height:auto;
    flex:1 1 auto;
  }
}
@media(max-width:640px){
  .dedication-carousel-caption{
    width:min(86%, 420px);
    padding:8px 12px;
    font-size:.82rem;
    line-height:1.35;
  }
}



/* V119 — Pinky dedication page: Joey v118 dedication style extended to For My Love.
   Adds floating looping music player styling for Pinky and keeps desktop card balance/mobile stacking behavior intact. */
.dedication-hero-subtitle{
  margin-top:8px;
  font-size:clamp(1.02rem,1.7vw,1.22rem);
  color:rgba(239,232,220,.86);
}
#pinkyDedicationThemePlayer.dedication-inline-theme-player{
  position:fixed !important;
  right:22px !important;
  left:auto !important;
  bottom:calc(22px + env(safe-area-inset-bottom, 0px)) !important;
  transform:translateZ(0) !important;
  width:auto !important;
  max-width:min(390px, calc(100vw - 28px)) !important;
  margin:0 !important;
  z-index:9999 !important;
}
#pinkyDedicationThemePlayer.dedication-inline-theme-player .theme-player-text{
  min-width:162px;
}
#pinkyDedicationThemePlayer .theme-play-button:hover,
#pinkyDedicationThemePlayer .theme-play-button:focus-visible{
  transform:translateY(-1px);
}
@media(max-width:640px){
  #pinkyDedicationThemePlayer.dedication-inline-theme-player{
    left:14px !important;
    right:14px !important;
    bottom:calc(14px + env(safe-area-inset-bottom, 0px)) !important;
    width:auto !important;
    max-width:none !important;
    justify-content:flex-start;
    margin:0 !important;
    padding:10px 14px 10px 11px;
  }
  #pinkyDedicationThemePlayer.dedication-inline-theme-player .theme-player-text{
    min-width:0;
  }
}


/* V121 — Pinky dedication page background only.
   Scoped to Pinky's dedication page. Preserves existing dedication layout, carousel, letter reader, music button, and global RomNote systems. */
body.pinky-dedication-page{
  background:
    linear-gradient(180deg,rgba(7,9,15,.64),rgba(7,9,15,.82) 44%,rgba(7,9,15,.92)),
    url("/dedications/backgrounds/pinky/pinky-dedication-bg.png") center center / cover fixed no-repeat,
    #090b12;
}
body.pinky-dedication-page::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    radial-gradient(circle at 54% 20%,rgba(255,236,210,.18),transparent 36%),
    radial-gradient(circle at 17% 78%,rgba(255,164,184,.14),transparent 34%),
    linear-gradient(180deg,rgba(7,9,15,.18),rgba(7,9,15,.66));
}
body.pinky-dedication-page .site-header{
  background:linear-gradient(180deg,rgba(8,10,16,.88),rgba(8,10,16,.76));
  backdrop-filter:blur(14px);
}
body.pinky-dedication-page .dedication-love-hero{
  background:linear-gradient(180deg,rgba(8,10,16,.40),rgba(8,10,16,.26));
}
body.pinky-dedication-page .dedication-page-section{
  background:transparent;
}
body.pinky-dedication-page .dedication-carousel,
body.pinky-dedication-page .dedication-document-frame,
body.pinky-dedication-page .source-citation-card{
  box-shadow:0 24px 70px rgba(0,0,0,.42);
}
body.pinky-dedication-page .dedication-carousel{
  background:rgba(8,10,16,.76);
}
body.pinky-dedication-page .section-intro{
  text-shadow:0 2px 14px rgba(0,0,0,.48);
}
@media(max-width:760px){
  body.pinky-dedication-page{
    background:
      linear-gradient(180deg,rgba(7,9,15,.70),rgba(7,9,15,.88) 46%,rgba(7,9,15,.94)),
      url("/dedications/backgrounds/pinky/pinky-dedication-bg.png") center top / cover scroll no-repeat,
      #090b12;
  }
  body.pinky-dedication-page::before{
    background:linear-gradient(180deg,rgba(7,9,15,.22),rgba(7,9,15,.72));
  }
}

/* V122 — Pinky dedication background visibility tuning.
   Keeps Pinky's page structure intact while showing more of the blush sunrise/rose artwork on desktop. */
body.pinky-dedication-page{
  background-image:
    linear-gradient(180deg,rgba(7,9,15,.34),rgba(7,9,15,.50) 46%,rgba(7,9,15,.74)),
    url("/dedications/backgrounds/pinky/pinky-dedication-bg.png"),
    linear-gradient(180deg,#090b12,#090b12);
  background-position:center top, center 64px, center top;
  background-size:auto, 100% auto, auto;
  background-attachment:fixed, fixed, fixed;
  background-repeat:no-repeat, no-repeat, no-repeat;
  background-color:#090b12;
}
body.pinky-dedication-page::before{
  background:
    radial-gradient(circle at 16% 72%,rgba(255,174,194,.22),transparent 34%),
    radial-gradient(circle at 75% 18%,rgba(255,236,210,.20),transparent 38%),
    linear-gradient(180deg,rgba(7,9,15,.06),rgba(7,9,15,.46));
}
body.pinky-dedication-page .dedication-love-hero{
  background:linear-gradient(180deg,rgba(8,10,16,.20),rgba(8,10,16,.10));
}
body.pinky-dedication-page .dedication-page-section{
  background:linear-gradient(180deg,rgba(8,10,16,.22),rgba(8,10,16,.34));
}
body.pinky-dedication-page .dedication-carousel{
  background:rgba(8,10,16,.70);
}
body.pinky-dedication-page .dedication-document-frame{
  background:rgba(20,18,17,.58);
}
@media(min-width:1200px){
  body.pinky-dedication-page{
    background-position:center top, center 54px, center top;
    background-size:auto, min(100vw, 1920px) auto, auto;
  }
}
@media(max-width:760px){
  body.pinky-dedication-page{
    background-image:
      linear-gradient(180deg,rgba(7,9,15,.58),rgba(7,9,15,.78) 48%,rgba(7,9,15,.92)),
      url("/dedications/backgrounds/pinky/pinky-dedication-bg.png"),
      linear-gradient(180deg,#090b12,#090b12);
    background-position:center top, center top, center top;
    background-size:auto, cover, auto;
    background-attachment:scroll, scroll, scroll;
  }
  body.pinky-dedication-page .dedication-page-section{
    background:linear-gradient(180deg,rgba(8,10,16,.36),rgba(8,10,16,.56));
  }
}



/* V125 — Joey dedication page background only.
   Scoped to Joey's dedication page. Uses the uploaded father-and-son photo as the page background while preserving the existing Joey layout, carousel, letter reader, music button, and all global RomNote systems. */
body.joey-dedication-page{
  background:
    linear-gradient(180deg,rgba(7,9,15,.48),rgba(7,9,15,.68) 44%,rgba(7,9,15,.87)),
    url("/dedications/backgrounds/joey/joey-dedication-bg.png") center center / contain fixed no-repeat,
    #090b12;
}
body.joey-dedication-page::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    radial-gradient(circle at 72% 16%,rgba(255,218,155,.15),transparent 34%),
    radial-gradient(circle at 30% 68%,rgba(255,190,120,.10),transparent 30%),
    linear-gradient(180deg,rgba(7,9,15,.12),rgba(7,9,15,.52));
}
body.joey-dedication-page .site-header{
  background:linear-gradient(180deg,rgba(8,10,16,.90),rgba(8,10,16,.78));
  backdrop-filter:blur(14px);
}
body.joey-dedication-page .dedication-child-hero{
  background:linear-gradient(180deg,rgba(8,10,16,.32),rgba(8,10,16,.20));
}
body.joey-dedication-page .dedication-page-section{
  background:transparent;
}
body.joey-dedication-page .dedication-carousel,
body.joey-dedication-page .dedication-document-frame,
body.joey-dedication-page .source-citation-card{
  box-shadow:0 24px 70px rgba(0,0,0,.42);
}
body.joey-dedication-page .dedication-carousel{
  background:rgba(8,10,16,.76);
}
body.joey-dedication-page .section-intro{
  text-shadow:0 2px 14px rgba(0,0,0,.42);
}
@media(min-width:1200px){
  body.joey-dedication-page{
    background:
      linear-gradient(180deg,rgba(7,9,15,.46),rgba(7,9,15,.66) 44%,rgba(7,9,15,.86)),
      url("/dedications/backgrounds/joey/joey-dedication-bg.png") center center / 100% auto fixed no-repeat,
      #090b12;
  }
}
@media(max-width:760px){
  body.joey-dedication-page{
    background:
      linear-gradient(180deg,rgba(7,9,15,.62),rgba(7,9,15,.82) 46%,rgba(7,9,15,.92)),
      url("/dedications/backgrounds/joey/joey-dedication-bg.png") center top / contain scroll no-repeat,
      #090b12;
  }
  body.joey-dedication-page::before{
    background:linear-gradient(180deg,rgba(7,9,15,.18),rgba(7,9,15,.64));
  }
}




/* Shared floating page theme player */
.page-theme-player{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:40;
  display:inline-flex;
  align-items:center;
  gap:14px;
  min-width:250px;
  padding:14px 18px;
  border-radius:999px;
  border:1px solid rgba(214,170,86,.45);
  background:linear-gradient(180deg,rgba(10,12,18,.95),rgba(14,18,26,.88));
  color:#f3e8c8;
  box-shadow:0 16px 40px rgba(0,0,0,.36);
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  backdrop-filter:blur(12px);
}
.page-theme-player:hover{transform:translateY(-2px);box-shadow:0 20px 48px rgba(0,0,0,.42);border-color:rgba(214,170,86,.65);}
.page-theme-player .theme-player-icon{
  width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(180deg,#e0ba63,#bb8d2a);color:#111;font-weight:800;font-size:18px;flex:0 0 44px;
  box-shadow:0 10px 24px rgba(188,141,42,.35);
}
.page-theme-player .theme-player-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;text-align:left;}
.page-theme-player .theme-player-copy strong{font-size:12px;letter-spacing:.08em;color:#f3e8c8;}
.page-theme-player .theme-player-copy small{font-size:14px;color:#d6d0bf;margin-top:4px;}
.page-theme-player.is-playing .theme-player-icon{content:"";}
@media(max-width:760px){
  .page-theme-player{right:14px;left:14px;bottom:16px;min-width:0;justify-content:flex-start;padding:12px 15px;}
  .page-theme-player .theme-player-icon{width:40px;height:40px;flex-basis:40px;}
}

/* V127 — Author page theme song and dedicated background. */
body.author-page{
  background:
    linear-gradient(180deg,rgba(7,9,15,.64),rgba(7,9,15,.78) 42%,rgba(7,9,15,.90)),
    url("https://media.romnoteproject.com/RNP-Background-Photos/romeo-author-background-1.png") center center / contain fixed no-repeat,
    #090b12;
}
body.author-page::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    radial-gradient(circle at 76% 18%,rgba(236,179,101,.16),transparent 28%),
    radial-gradient(circle at 20% 28%,rgba(59,93,146,.12),transparent 22%),
    linear-gradient(180deg,rgba(5,7,12,.08),rgba(5,7,12,.36) 45%,rgba(5,7,12,.60));
}
body.author-page .site-header{
  background:linear-gradient(180deg,rgba(8,10,16,.92),rgba(8,10,16,.80));
  backdrop-filter:blur(14px);
}
body.author-page .author-hero,
body.author-page .author-section{
  background:transparent;
}
body.author-page .author-identity-card,
body.author-page .author-highlight-card,
body.author-page .author-blockquote,
body.author-page .author-manifesto-card,
body.author-page .author-document-card,
body.author-page .author-photo-card{
  box-shadow:0 24px 70px rgba(0,0,0,.42);
}
body.author-page .author-lead,
body.author-page .author-kicker,
body.author-page .author-title,
body.author-page .author-subtitle,
body.author-page .author-body-copy{
  text-shadow:0 2px 14px rgba(0,0,0,.40);
}
@media(min-width:1200px){
  body.author-page{
    background:
      linear-gradient(180deg,rgba(7,9,15,.60),rgba(7,9,15,.76) 42%,rgba(7,9,15,.90)),
      url("https://media.romnoteproject.com/RNP-Background-Photos/romeo-author-background-1.png") center center / 100% auto fixed no-repeat,
      #090b12;
  }
}
@media(max-width:760px){
  body.author-page{
    background:
      linear-gradient(180deg,rgba(7,9,15,.72),rgba(7,9,15,.86) 44%,rgba(7,9,15,.94)),
      url("https://media.romnoteproject.com/RNP-Background-Photos/romeo-author-background-1.png") center top / contain scroll no-repeat,
      #090b12;
  }
  body.author-page::before{
    background:linear-gradient(180deg,rgba(5,7,12,.18),rgba(5,7,12,.56) 40%,rgba(5,7,12,.78));
  }
}


/* V138 — Modest browser-based Read Aloud controls for public journal-entry reader pages. */
.read-aloud-control{
  margin:18px 0 24px;
  padding:14px 16px;
  border:1px solid rgba(215,180,106,.28);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(215,180,106,.08),rgba(255,255,255,.025));
  box-shadow:0 12px 30px rgba(0,0,0,.16);
}
.read-aloud-label{
  margin:0 0 10px;
  color:#f1d99f;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.read-aloud-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.read-aloud-button{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:#f2eadf;
  min-height:38px;
  padding:8px 13px;
  font:700 .86rem/1 Inter,ui-sans-serif,system-ui,sans-serif;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,transform .18s ease,opacity .18s ease;
}
.read-aloud-button:hover:not(:disabled),
.read-aloud-button:focus-visible:not(:disabled){
  background:rgba(215,180,106,.14);
  border-color:rgba(215,180,106,.48);
  transform:translateY(-1px);
}
.read-aloud-button:focus-visible{
  outline:2px solid rgba(245,211,135,.95);
  outline-offset:2px;
}
.read-aloud-button-primary{
  border-color:rgba(215,180,106,.52);
  background:linear-gradient(180deg,rgba(215,180,106,.24),rgba(151,112,39,.18));
  color:#fff4d2;
}
.read-aloud-button:disabled{
  opacity:.42;
  cursor:not-allowed;
  transform:none;
}
.read-aloud-status{
  margin:9px 0 0;
  color:var(--muted);
  font-size:.84rem;
  line-height:1.45;
}
.read-aloud-control.is-reading{
  border-color:rgba(215,180,106,.48);
}
.read-aloud-control.is-paused{
  border-color:rgba(255,255,255,.24);
}
.read-aloud-control.is-unsupported .read-aloud-status{
  color:#e7c9c9;
}
@media(max-width:640px){
  .read-aloud-control{
    margin:16px 0 22px;
    padding:13px 14px;
    border-radius:15px;
  }
  .read-aloud-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .read-aloud-button{
    width:100%;
    justify-content:center;
    min-height:42px;
  }
}


/* V144 — Journal and poem entry background collection.
   Applies the six uploaded literary backgrounds only to individual journal-entry and poem-entry pages.
   Main site pages, dedicated-background pages, and unrelated systems remain unchanged. */
body.entry-themed-page{
  --entry-card-bg:rgba(10,12,18,.72);
  --entry-card-border:rgba(255,255,255,.14);
  --entry-overlay-primary:linear-gradient(180deg,rgba(7,9,15,.68),rgba(7,9,15,.82) 44%,rgba(7,9,15,.92));
  --entry-overlay-secondary:radial-gradient(circle at 20% 14%,rgba(255,235,194,.12),transparent 24%),radial-gradient(circle at 82% 18%,rgba(123,183,255,.10),transparent 24%),linear-gradient(120deg,rgba(7,9,15,.46),rgba(7,9,15,.12) 36%,rgba(7,9,15,.54));
  background:#090b12;
}
body.entry-themed-page::before,
body.entry-themed-page::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
}
body.entry-themed-page::before{
  z-index:-2;
  background-image:var(--entry-bg-image);
  background-position:center center;
  background-repeat:no-repeat;
  background-size:contain;
  opacity:1;
  transform:none;
}
body.entry-themed-page::after{
  z-index:-1;
  background:var(--entry-overlay-primary),var(--entry-overlay-secondary);
}
body.entry-themed-page .site-header{
  background:rgba(8,10,16,.82);
}
body.entry-themed-page .reader-panel,
body.entry-themed-page .poem-source-card,
body.entry-themed-page .music-theme-card,
body.entry-themed-page .source-citation-card,
body.entry-themed-page .source-download-card,
body.entry-themed-page .reader-audio-card,
body.entry-themed-page .reader-music-card{
  background:var(--entry-card-bg);
  border-color:var(--entry-card-border);
  backdrop-filter:blur(8px);
  box-shadow:0 22px 70px rgba(0,0,0,.30);
}
body.entry-themed-page .section-intro,
body.entry-themed-page .eyebrow,
body.entry-themed-page .meta,
body.entry-themed-page .reader-content,
body.entry-themed-page .reader-panel h1,
body.entry-themed-page .poem-title-block,
body.entry-themed-page .poem-source-card h2{
  text-shadow:0 2px 14px rgba(0,0,0,.30);
}
body.entry-themed-page .table-scroll,
body.entry-themed-page .source-table tr,
body.entry-themed-page blockquote,
body.entry-themed-page .notice,
body.entry-themed-page .poem-source-facts{
  background:rgba(255,255,255,.05);
}
body.entry-themed-page .site-footer{
  background:linear-gradient(180deg,rgba(9,11,18,.16),rgba(9,11,18,.58));
}
body.entry-themed-page.entry-bg-moonlit-study{
  --entry-bg-image:url('/assets/images/entry-backgrounds/moonlit-study.png');
  --entry-card-bg:rgba(10,14,24,.72);
  --entry-overlay-primary:linear-gradient(180deg,rgba(5,10,22,.50),rgba(6,11,22,.70) 38%,rgba(8,10,16,.90));
  --entry-overlay-secondary:radial-gradient(circle at 18% 10%,rgba(162,198,255,.18),transparent 20%),radial-gradient(circle at 80% 16%,rgba(255,230,173,.10),transparent 18%),linear-gradient(120deg,rgba(5,10,22,.22),rgba(5,10,22,.04) 35%,rgba(8,10,16,.34));
}
body.entry-themed-page.entry-bg-golden-morning{
  --entry-bg-image:url('/assets/images/entry-backgrounds/golden-morning.png');
  --entry-card-bg:rgba(36,25,14,.54);
  --entry-card-border:rgba(255,236,210,.16);
  --entry-overlay-primary:linear-gradient(180deg,rgba(28,20,12,.34),rgba(28,20,12,.54) 34%,rgba(13,12,14,.82));
  --entry-overlay-secondary:radial-gradient(circle at 12% 8%,rgba(255,242,212,.18),transparent 20%),radial-gradient(circle at 86% 18%,rgba(215,180,106,.10),transparent 18%),linear-gradient(120deg,rgba(38,27,16,.12),rgba(38,27,16,.04) 35%,rgba(11,10,12,.26));
}
body.entry-themed-page.entry-bg-rainy-reflection{
  --entry-bg-image:url('/assets/images/entry-backgrounds/rainy-reflection.png');
  --entry-card-bg:rgba(21,24,30,.68);
  --entry-overlay-primary:linear-gradient(180deg,rgba(24,28,34,.38),rgba(24,28,34,.56) 40%,rgba(9,11,18,.90));
  --entry-overlay-secondary:radial-gradient(circle at 16% 18%,rgba(255,255,255,.10),transparent 20%),radial-gradient(circle at 82% 14%,rgba(185,198,214,.10),transparent 18%),linear-gradient(120deg,rgba(24,28,34,.22),rgba(24,28,34,.08) 35%,rgba(9,11,18,.28));
}
body.entry-themed-page.entry-bg-sunset-letters{
  --entry-bg-image:url('/assets/images/entry-backgrounds/sunset-letters.png');
  --entry-card-bg:rgba(34,24,18,.54);
  --entry-card-border:rgba(255,224,186,.16);
  --entry-overlay-primary:linear-gradient(180deg,rgba(40,25,14,.26),rgba(40,25,14,.42) 34%,rgba(10,11,18,.82));
  --entry-overlay-secondary:radial-gradient(circle at 84% 18%,rgba(255,210,150,.16),transparent 20%),radial-gradient(circle at 18% 16%,rgba(255,231,191,.10),transparent 18%),linear-gradient(120deg,rgba(40,25,14,.12),rgba(40,25,14,.03) 35%,rgba(10,11,18,.22));
}
body.entry-themed-page.entry-bg-midnight-lantern{
  --entry-bg-image:url('/assets/images/entry-backgrounds/midnight-lantern.png');
  --entry-card-bg:rgba(8,12,22,.74);
  --entry-overlay-primary:linear-gradient(180deg,rgba(4,8,18,.56),rgba(4,8,18,.74) 36%,rgba(8,10,16,.92));
  --entry-overlay-secondary:radial-gradient(circle at 14% 12%,rgba(168,198,255,.12),transparent 18%),radial-gradient(circle at 80% 74%,rgba(255,200,133,.13),transparent 18%),linear-gradient(120deg,rgba(4,8,18,.24),rgba(4,8,18,.06) 35%,rgba(8,10,16,.36));
}
body.entry-themed-page.entry-bg-amber-vigil{
  --entry-bg-image:url('/assets/images/entry-backgrounds/amber-vigil.png');
  --entry-card-bg:rgba(32,22,16,.58);
  --entry-card-border:rgba(255,221,180,.16);
  --entry-overlay-primary:linear-gradient(180deg,rgba(44,28,16,.34),rgba(44,28,16,.54) 38%,rgba(9,11,18,.84));
  --entry-overlay-secondary:radial-gradient(circle at 12% 72%,rgba(255,195,124,.14),transparent 18%),radial-gradient(circle at 84% 16%,rgba(255,232,202,.08),transparent 18%),linear-gradient(120deg,rgba(44,28,16,.18),rgba(44,28,16,.05) 35%,rgba(9,11,18,.26));
}
body.entry-themed-page.entry-bg-leo-gatekeeper{
  --entry-bg-image:url('/assets/images/entries/leo-the-gatekeeper-of-preservation-art.png');
  --entry-card-bg:rgba(7,9,13,.76);
  --entry-card-border:rgba(91,151,213,.22);
  --entry-overlay-primary:linear-gradient(180deg,rgba(3,5,8,.42),rgba(3,5,8,.66) 38%,rgba(5,7,11,.91));
  --entry-overlay-secondary:radial-gradient(circle at 78% 24%,rgba(66,145,224,.16),transparent 24%),radial-gradient(circle at 18% 18%,rgba(214,188,149,.12),transparent 24%),linear-gradient(120deg,rgba(3,5,8,.30),rgba(3,5,8,.08) 36%,rgba(4,6,10,.44));
}
body.entry-themed-page.entry-bg-leo-gatekeeper::before{
  background-size:cover;
  background-position:center top;
}

body.entry-themed-page.entry-bg-lorena-reflection{
  --entry-bg-image:url('/assets/images/entries/strong-women-still-rise-lorena-background.png');
  --entry-card-bg:rgba(36,24,18,.56);
  --entry-card-border:rgba(255,236,210,.18);
  --entry-overlay-primary:linear-gradient(180deg,rgba(46,32,20,.34),rgba(36,24,18,.56) 36%,rgba(10,11,16,.86));
  --entry-overlay-secondary:radial-gradient(circle at 20% 18%,rgba(255,248,234,.16),transparent 22%),radial-gradient(circle at 78% 16%,rgba(255,224,186,.12),transparent 20%),linear-gradient(120deg,rgba(42,30,18,.16),rgba(42,30,18,.04) 35%,rgba(8,10,16,.28));
}
body.entry-themed-page.entry-bg-lorena-reflection::before{
  background-size:cover;
  background-position:center center;
}

body.entry-themed-page.entry-bg-young-leo{
  --entry-bg-image:url('/assets/images/entries/young-leo-journal-background-v202.png');
  --entry-card-bg:rgba(35,25,15,.60);
  --entry-card-border:rgba(255,235,196,.20);
  --entry-overlay-primary:linear-gradient(180deg,rgba(54,35,15,.24),rgba(35,24,15,.48) 36%,rgba(10,11,16,.88));
  --entry-overlay-secondary:radial-gradient(circle at 14% 10%,rgba(255,227,157,.18),transparent 24%),radial-gradient(circle at 80% 18%,rgba(255,245,218,.10),transparent 22%),linear-gradient(120deg,rgba(50,32,14,.12),rgba(50,32,14,.03) 38%,rgba(8,10,16,.30));
}
body.entry-themed-page.entry-bg-young-leo::before{
  background-size:cover;
  background-position:center center;
}
@media(max-width:900px){
  body.entry-themed-page::before{background-position:center top;background-size:contain;transform:none;}
  body.entry-themed-page.entry-bg-young-leo::before{background-position:left top;background-size:cover;}
}
@media(max-width:640px){
  body.entry-themed-page::after{
    background:linear-gradient(180deg,rgba(7,9,15,.72),rgba(7,9,15,.84) 24%,rgba(8,10,16,.96) 100%);
  }
  body.entry-themed-page .reader-panel,
  body.entry-themed-page .poem-source-card,
  body.entry-themed-page .music-theme-card,
  body.entry-themed-page .source-citation-card,
  body.entry-themed-page .source-download-card,
  body.entry-themed-page .reader-audio-card,
  body.entry-themed-page .reader-music-card{
    background:rgba(8,10,16,.82);
  }
}

/* V146 — Compact homepage RomNote Project Overview discussion.
   Scoped to the homepage inline discussion player; preserves the floating theme player and all other page systems. */
.overview-discussion-section{
  max-width:680px;
  margin:22px 0 4px;
  padding:17px 0 18px;
  border-top:1px solid rgba(215,180,106,.28);
  border-bottom:1px solid rgba(255,255,255,.10);
}
.overview-discussion-section h2{
  margin:0 0 7px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(1.25rem,2.2vw,1.65rem);
  line-height:1.2;
  color:#f4ead8;
}
.overview-discussion-section > p{
  margin:0 0 13px;
  max-width:640px;
  color:#d9d1c6;
  font-size:.97rem;
  line-height:1.58;
}
.overview-discussion-toggle{
  cursor:pointer;
}
.overview-discussion-player{
  margin-top:12px;
  max-width:640px;
}
.overview-discussion-player[hidden]{
  display:none!important;
}
.overview-discussion-player audio{
  display:block;
  width:100%;
  height:42px;
  border-radius:12px;
  background:rgba(8,10,16,.80);
}
.overview-discussion-status{
  margin:7px 0 0;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.45;
}
@media(max-width:640px){
  .overview-discussion-section{
    margin-top:19px;
    padding:15px 0 16px;
  }
  .overview-discussion-section > p{
    font-size:.93rem;
  }
  .overview-discussion-toggle{
    width:100%;
  }
  .overview-discussion-player audio{
    height:44px;
  }
}

/* V148 — Reusable inline journal-entry discussion player.
   Compact, non-floating, and scoped only to entries that include data-entry-discussion markup. */
.entry-discussion-section{
  max-width:720px;
  margin:22px 0 24px;
  padding:17px 0 18px;
  border-top:1px solid rgba(215,180,106,.28);
  border-bottom:1px solid rgba(255,255,255,.10);
}
.entry-discussion-section h2{
  margin:0 0 7px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(1.25rem,2.2vw,1.65rem);
  line-height:1.2;
  color:#f4ead8;
}
.entry-discussion-section > p{
  margin:0 0 13px;
  max-width:680px;
  color:#d9d1c6;
  font-size:.97rem;
  line-height:1.58;
}
.entry-discussion-toggle{cursor:pointer;}
.entry-discussion-player{
  margin-top:12px;
  max-width:680px;
}
.entry-discussion-player[hidden]{display:none!important;}
.entry-discussion-player audio{
  display:block;
  width:100%;
  height:42px;
  border-radius:12px;
  background:rgba(8,10,16,.80);
}
.entry-discussion-status{
  margin:7px 0 0;
  color:var(--muted);
  font-family:Inter,ui-sans-serif,system-ui,sans-serif;
  font-size:.82rem;
  line-height:1.45;
}
@media(max-width:640px){
  .entry-discussion-section{
    margin-top:19px;
    padding:15px 0 16px;
  }
  .entry-discussion-section > p{font-size:.93rem;}
  .entry-discussion-toggle{width:100%;}
  .entry-discussion-player audio{height:44px;}
}


/* V149 — Compact Author page audio discussion placement.
   Reuses the inline discussion component and preserves the Author page background and layout. */
.author-discussion-band{
  padding:0 0 10px;
}
.author-discussion-band .entry-discussion-section{
  margin:0;
  max-width:760px;
}
body.author-page .author-discussion-band .entry-discussion-section{
  text-shadow:0 2px 14px rgba(0,0,0,.28);
}
@media(max-width:640px){
  .author-discussion-band{padding:0 0 4px;}
}

/* V162 — Archive search action and compact result panel.
   Scoped to archive.html so existing site layouts and systems remain unchanged. */
.archive-search-form{
  align-items:center;
}
.archive-search-form .archive-search-button{
  min-height:44px;
  padding:10px 18px;
  cursor:pointer;
  font:inherit;
  white-space:nowrap;
}
.archive-search-results{
  max-width:920px;
  margin:-8px 0 26px;
}
.archive-search-results:empty{
  display:none;
}
.archive-search-message,
.archive-search-summary{
  margin:0;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.045);
  color:var(--muted);
  padding:12px 14px;
}
.archive-search-summary{
  color:var(--ink);
  font-weight:700;
  border-radius:14px 14px 8px 8px;
}
.archive-search-result-list{
  display:grid;
  gap:8px;
  list-style:none;
  margin:8px 0 0;
  padding:0;
}
.archive-search-result-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:100%;
  border:1px solid var(--line);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
  color:var(--ink);
  padding:12px 14px;
  text-decoration:none;
}
.archive-search-result-link:hover,
.archive-search-result-link:focus-visible{
  border-color:rgba(215,180,106,.48);
  background:linear-gradient(180deg,rgba(215,180,106,.13),rgba(215,180,106,.055));
  outline:none;
}
.archive-search-result-title{
  font-weight:700;
  line-height:1.35;
}
.archive-search-result-category{
  flex:0 0 auto;
  border:1px solid rgba(215,180,106,.34);
  border-radius:999px;
  background:var(--gold-soft);
  color:#f0d998;
  padding:5px 9px;
  font-size:.76rem;
  line-height:1.2;
}
@media(max-width:700px){
  .archive-search-form{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
  }
  .archive-search-form #archiveSearch{
    min-width:0;
    width:100%;
  }
  .archive-search-form #categoryFilter,
  .archive-search-form #resultCount{
    grid-column:1 / -1;
  }
  .archive-search-form #categoryFilter{
    width:100%;
    min-width:0;
  }
  .archive-search-form #resultCount{
    justify-self:start;
  }
  .archive-search-results{
    margin-top:-10px;
  }
  .archive-search-result-link{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
}

/* V164 — Poetry search results stay directly beneath the search controls.
   Scoped to the RomNote Poetry page and does not alter Archive search behavior. */
.poetry-search-form{
  align-items:center;
}
.poetry-search-form .poetry-search-button{
  flex:0 0 auto;
  min-height:44px;
  padding-inline:18px;
  cursor:pointer;
}
.poetry-search-results{
  max-width:920px;
  margin:-8px 0 26px;
}
.poetry-search-results:empty{
  display:none;
}
.poetry-search-message,
.poetry-search-summary{
  margin:0;
  border:1px solid rgba(215,180,106,.28);
  border-radius:15px;
  background:rgba(12,16,26,.82);
  color:#e7e0d6;
  padding:13px 15px;
}
.poetry-search-summary{
  margin-bottom:10px;
  color:#f0d998;
  font-weight:800;
}
.poetry-search-result-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:9px;
}
.poetry-search-result-link{
  display:grid;
  gap:5px;
  padding:13px 15px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:15px;
  background:rgba(12,16,26,.76);
  color:var(--ink);
  text-decoration:none;
  box-shadow:0 12px 34px rgba(0,0,0,.16);
}
.poetry-search-result-link:hover,
.poetry-search-result-link:focus-visible{
  border-color:rgba(215,180,106,.55);
  background:rgba(215,180,106,.10);
  outline:none;
}
.poetry-search-result-title{
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.08rem;
  font-weight:700;
  line-height:1.25;
}
.poetry-search-result-category{
  color:#d8bd7d;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.poetry-search-result-excerpt{
  color:var(--muted);
  font-size:.91rem;
  line-height:1.48;
}
.poetry-search-result-excerpt mark{
  border-radius:4px;
  padding:0 .12em;
  background:rgba(215,180,106,.28);
  color:#fff2ca;
}
@media(max-width:640px){
  .poetry-search-form{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
  }
  .poetry-search-form #poetrySearch{
    width:100%;
    min-width:0;
  }
  .poetry-search-form .poetry-search-button{
    min-width:92px;
  }
  .poetry-search-form #poetryCategoryFilter,
  .poetry-search-form #poetryResultCount{
    grid-column:1 / -1;
    width:100%;
    min-width:0;
  }
  .poetry-search-form #poetryResultCount{
    justify-content:center;
  }
  .poetry-search-results{
    margin-top:-4px;
  }
  .poetry-search-result-link{
    padding:12px 13px;
  }
}


/* V165 — Savannah dedication page.
   Scoped to Savannah's page and preserves all existing dedication, navigation, audio, and privacy systems. */
#savannahDedicationThemePlayer.dedication-inline-theme-player{
  position:fixed !important;right:22px !important;left:auto !important;
  bottom:calc(22px + env(safe-area-inset-bottom,0px)) !important;
  transform:translateZ(0) !important;width:auto !important;
  max-width:min(390px,calc(100vw - 28px)) !important;margin:0 !important;z-index:9999 !important;
}
#savannahDedicationThemePlayer.dedication-inline-theme-player .theme-player-text{min-width:162px;}
#savannahDedicationThemePlayer .theme-play-button:hover,
#savannahDedicationThemePlayer .theme-play-button:focus-visible{transform:translateY(-1px);}
body.savannah-dedication-page{
  background-image:
    linear-gradient(180deg,rgba(25,17,20,.20),rgba(28,18,24,.42) 46%,rgba(8,10,16,.80)),
    url("/dedications/backgrounds/savannah/savannah-dedication-bg.png"),
    linear-gradient(180deg,#140f13,#090b12);
  background-position:center top,center 62px,center top;
  background-size:auto,min(100vw,1920px) auto,auto;
  background-attachment:fixed,fixed,fixed;
  background-repeat:no-repeat,no-repeat,no-repeat;
  background-color:#090b12;
}
body.savannah-dedication-page::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:radial-gradient(circle at 20% 30%,rgba(255,233,210,.18),transparent 34%),
             radial-gradient(circle at 78% 20%,rgba(255,194,206,.14),transparent 38%),
             linear-gradient(180deg,rgba(7,9,15,.04),rgba(7,9,15,.42));
}
body.savannah-dedication-page .site-header{background:linear-gradient(180deg,rgba(8,10,16,.88),rgba(8,10,16,.74));backdrop-filter:blur(14px);}
body.savannah-dedication-page .dedication-child-hero{background:linear-gradient(180deg,rgba(8,10,16,.14),rgba(8,10,16,.08));}
body.savannah-dedication-page .dedication-page-section{background:linear-gradient(180deg,rgba(8,10,16,.18),rgba(8,10,16,.34));}
body.savannah-dedication-page .dedication-carousel{background:rgba(8,10,16,.70);box-shadow:0 24px 70px rgba(0,0,0,.40);}
body.savannah-dedication-page .dedication-document-frame{background:rgba(20,18,17,.60);box-shadow:0 24px 70px rgba(0,0,0,.40);}
body.savannah-dedication-page .section-intro{text-shadow:0 2px 14px rgba(0,0,0,.45);}
body.savannah-dedication-page .savannah-letter-title{margin:1.35em 0 .55em;text-align:center;font-family:Georgia,'Times New Roman',serif;color:#5d3428;font-size:1.28rem;}
body.savannah-dedication-page .savannah-entry-table{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.92rem;}
body.savannah-dedication-page .savannah-entry-table th,
body.savannah-dedication-page .savannah-entry-table td{border:1px solid rgba(72,48,35,.25);padding:.65rem;vertical-align:top;text-align:left;}
body.savannah-dedication-page .savannah-entry-table th{width:32%;background:rgba(126,79,52,.08);color:#35251f;}
@media(max-width:760px){
  body.savannah-dedication-page{
    background-image:linear-gradient(180deg,rgba(7,9,15,.52),rgba(7,9,15,.78) 48%,rgba(7,9,15,.92)),url("/dedications/backgrounds/savannah/savannah-dedication-bg.png"),linear-gradient(180deg,#140f13,#090b12);
    background-position:center top,center top,center top;background-size:auto,contain,auto;background-attachment:scroll,scroll,scroll;
  }
  #savannahDedicationThemePlayer.dedication-inline-theme-player{left:14px !important;right:14px !important;bottom:calc(14px + env(safe-area-inset-bottom,0px)) !important;width:auto !important;max-width:none !important;justify-content:flex-start;margin:0 !important;padding:10px 14px 10px 11px;}
  #savannahDedicationThemePlayer.dedication-inline-theme-player .theme-player-text{min-width:0;}
}

/* V166 — Cloudflare Zero Trust original-document access page.
   Scoped only to /rnp-download. Cloudflare Access is the sole authorization layer. */
body.rnp-download-page{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  background:
    radial-gradient(circle at 16% 8%,rgba(215,180,106,.12),transparent 28%),
    radial-gradient(circle at 84% 18%,rgba(123,183,255,.08),transparent 24%),
    #090b12;
}
body.rnp-download-page .rnp-download-main{
  flex:1;
  display:flex;
  align-items:center;
  width:100%;
  padding-top:clamp(54px,8vw,92px);
  padding-bottom:clamp(54px,8vw,92px);
}
.rnp-download-card{
  max-width:820px;
  margin:0 auto;
  padding:clamp(26px,5vw,52px);
  border:1px solid rgba(215,180,106,.30);
  border-radius:30px;
  background:linear-gradient(145deg,rgba(215,180,106,.10),rgba(255,255,255,.045));
  box-shadow:0 30px 90px rgba(0,0,0,.34);
}
.rnp-download-card .section-title{
  max-width:760px;
  overflow-wrap:anywhere;
}
.rnp-download-file{
  margin:26px 0 0;
  padding:17px 18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:17px;
  background:rgba(0,0,0,.22);
  display:grid;
  gap:6px;
  overflow-wrap:anywhere;
}
.rnp-download-file-label{
  color:var(--gold);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.rnp-download-file strong{
  color:#f2eadf;
  font-size:.98rem;
}
.rnp-download-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:26px;
}
.rnp-download-session-note{
  margin:20px 0 0;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.65;
}
.rnp-download-error{
  border-color:rgba(226,160,124,.34);
}
.rnp-download-card code{
  color:#f4dfaa;
  overflow-wrap:anywhere;
}
@media(max-width:640px){
  body.rnp-download-page .rnp-download-main{align-items:flex-start;padding-top:38px;padding-bottom:44px;}
  .rnp-download-card{padding:24px 19px;border-radius:22px;}
  .rnp-download-actions{display:grid;grid-template-columns:1fr;}
  .rnp-download-actions .btn{width:100%;}
}

/* V167 — Pre-check-in explanation for protected original-document requests.
   This modal only appears for /rnp-download?file=... links and does not alter Cloudflare authorization. */
body.rnp-access-modal-open{
  overflow:hidden;
}
.rnp-access-modal[hidden]{
  display:none!important;
}
.rnp-access-modal{
  position:fixed;
  inset:0;
  z-index:12000;
  display:grid;
  place-items:center;
  padding:clamp(16px,4vw,42px);
}
.rnp-access-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(3,5,10,.82);
  backdrop-filter:blur(12px);
}
.rnp-access-modal-panel{
  position:relative;
  width:min(760px,100%);
  max-height:min(88vh,860px);
  overflow:auto;
  overscroll-behavior:contain;
  border:1px solid rgba(215,180,106,.34);
  border-radius:28px;
  padding:clamp(24px,4vw,42px);
  color:#eee8df;
  background:
    radial-gradient(circle at 14% 8%,rgba(215,180,106,.13),transparent 26%),
    linear-gradient(145deg,rgba(20,18,23,.98),rgba(8,10,16,.98));
  box-shadow:0 34px 110px rgba(0,0,0,.58);
}
.rnp-access-modal-heading{
  padding-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.rnp-access-modal-heading .eyebrow{
  margin-bottom:8px;
}
.rnp-access-modal-heading h2{
  margin:0;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(1.55rem,3.5vw,2.25rem);
  line-height:1.15;
  color:#f2e7d3;
}
.rnp-access-modal-body{
  padding-top:20px;
  color:#d9d2c8;
  line-height:1.68;
}
.rnp-access-modal-body > p:first-child{
  margin-top:0;
  font-size:1.02rem;
}
.rnp-access-modal-body h3{
  margin:24px 0 12px;
  color:#f0d89d;
  font-size:1.04rem;
}
.rnp-access-modal-body ol{
  display:grid;
  gap:11px;
  margin:0;
  padding-left:1.45rem;
}
.rnp-access-modal-body li::marker{
  color:var(--gold);
  font-weight:800;
}
.rnp-access-modal-closing{
  margin:23px 0 0;
  padding:15px 17px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:15px;
  background:rgba(255,255,255,.045);
  color:#cfc8be;
  font-size:.94rem;
}
.rnp-access-modal-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}
.rnp-access-modal-actions .btn{
  margin:0;
  cursor:pointer;
  text-align:center;
}
.rnp-access-modal-actions .rnp-access-modal-continue{
  flex:1 1 285px;
}
.rnp-access-modal-actions .rnp-access-modal-cancel{
  flex:0 1 150px;
}
@media(max-width:640px){
  .rnp-access-modal{
    place-items:end center;
    padding:12px;
  }
  .rnp-access-modal-panel{
    width:100%;
    max-height:92vh;
    padding:23px 18px calc(20px + env(safe-area-inset-bottom,0px));
    border-radius:22px;
  }
  .rnp-access-modal-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .rnp-access-modal-actions .btn{
    width:100%;
  }
}


/* v171: visible session lock inside the protected Dedication section */
.author-subnav a.dedication-lock-control{border-color:rgba(220,150,115,.55);background:rgba(150,62,42,.18);color:#ffe3d2;}
.author-subnav a.dedication-lock-control:hover,.author-subnav a.dedication-lock-control:focus-visible{border-color:rgba(255,190,150,.75);background:rgba(164,70,45,.30);color:#fff;}

/* V178 — RNP Visual Presentations public hub. */
body.page-visual-presentations{
  min-height:100%;
  background:#080705;
  isolation:isolate;
}
body.page-visual-presentations::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background-image:url('/assets/images/visual-presentations/rnp-visual-presentations-background.png');
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
}
body.page-visual-presentations::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(5,4,3,.18) 0%,rgba(7,6,5,.42) 24%,rgba(7,7,7,.70) 66%,rgba(7,8,11,.94) 100%),
    radial-gradient(circle at 50% 38%,rgba(10,8,6,.05),rgba(5,5,7,.48) 78%);
}
.visual-presentations-main{min-height:100vh;}
.visual-presentations-hero{padding:clamp(118px,14vw,178px) 0 56px;}
.visual-presentations-wrap{max-width:1180px;}
.visual-presentations-heading{max-width:780px;margin:0 auto 34px;text-align:center;text-shadow:0 5px 30px rgba(0,0,0,.76);}
.visual-presentations-heading h1{
  margin:12px 0 14px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(2.35rem,5.2vw,4.9rem);
  line-height:1.02;
  letter-spacing:-.04em;
}
.visual-presentations-lead{margin:0 auto;max-width:760px;color:#dfd5c8;font-size:clamp(1rem,2vw,1.2rem);line-height:1.75;}
.featured-presentation{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(280px,.72fr);
  gap:24px;
  align-items:center;
  padding:clamp(18px,3vw,30px);
  border:1px solid rgba(215,180,106,.30);
  border-radius:30px;
  background:linear-gradient(145deg,rgba(12,11,10,.90),rgba(15,13,11,.72));
  box-shadow:0 28px 80px rgba(0,0,0,.46);
  backdrop-filter:blur(14px);
  scroll-margin-top:96px;
}
.presentation-player-shell{min-width:0;}
.presentation-player-frame{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border:1px solid rgba(215,180,106,.34);
  border-radius:22px;
  background:#030303;
  box-shadow:0 18px 52px rgba(0,0,0,.48);
}
.presentation-player-frame video{display:block;width:100%;height:100%;object-fit:contain;background:#000;}
.presentation-status{min-height:1.45em;margin:10px 4px 0;color:#bfb4a5;font-size:.84rem;}
.presentation-feature-copy{padding:4px 4px 4px 10px;}
.presentation-now-playing,.presentation-library-type{margin:0 0 9px;color:#d7b46a;font-size:.72rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;}
.presentation-feature-copy h2{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.65rem,3vw,2.55rem);line-height:1.08;}
.presentation-feature-subtitle{margin:11px 0 0;color:#ecd8aa;font-weight:700;line-height:1.5;}
.presentation-duration{display:inline-flex;margin:14px 0 12px;padding:5px 10px;border:1px solid rgba(215,180,106,.30);border-radius:999px;color:#d7c59b;background:rgba(215,180,106,.08);font-size:.8rem;font-weight:800;}
.presentation-feature-copy > p:not(.presentation-now-playing):not(.presentation-feature-subtitle):not(.presentation-duration){color:#c9c0b4;line-height:1.75;}
.presentation-library{margin-top:42px;}
.presentation-library-heading{display:block;max-width:780px;margin-bottom:20px;}
.presentation-library-heading h2{margin:8px 0 10px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,4vw,3.35rem);line-height:1.08;}
.presentation-library-heading > p{max-width:720px;margin:0;color:#bfb5aa;line-height:1.7;}
.presentation-library-list{display:grid;gap:18px;}
.presentation-library-card{
  display:grid;
  grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);
  gap:22px;
  padding:18px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(12,11,10,.88),rgba(17,15,13,.68));
  box-shadow:0 20px 56px rgba(0,0,0,.30);
  transition:border-color .18s ease,transform .18s ease,background .18s ease;
}
.presentation-library-card.is-selected{border-color:rgba(215,180,106,.48);background:linear-gradient(135deg,rgba(26,21,14,.92),rgba(15,13,12,.74));}
.presentation-library-card:hover{transform:translateY(-2px);border-color:rgba(215,180,106,.38);}
.presentation-library-thumbnail{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:17px;background:#090909;}
.presentation-library-thumbnail img{width:100%;height:100%;object-fit:cover;}
.presentation-duration-badge{position:absolute;right:10px;bottom:10px;padding:4px 8px;border-radius:999px;background:rgba(0,0,0,.78);color:#fff3d4;font-size:.76rem;font-weight:800;}
.presentation-library-copy{align-self:center;min-width:0;}
.presentation-library-copy h3{margin:0 0 7px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.35rem,2.3vw,2rem);}
.presentation-library-copy p{margin:.35rem 0;color:#c6bcb0;line-height:1.65;}
.presentation-library-copy p strong{color:#ead7aa;}
.presentation-select-button{font:inherit;cursor:pointer;}
.presentation-select-button[aria-pressed="true"]{border-color:rgba(215,180,106,.68);background:linear-gradient(180deg,rgba(215,180,106,.28),rgba(215,180,106,.12));}
@media(max-width:900px){
  .visual-presentations-hero{padding-top:118px;}
  .featured-presentation{grid-template-columns:1fr;}
  .presentation-feature-copy{padding:4px;}
  .presentation-library-card{grid-template-columns:1fr;}
  body.page-visual-presentations::before{background-position:center top;}
}
@media(max-width:640px){
  body.page-visual-presentations::before{background-position:50% top;background-size:auto 100vh;}
  body.page-visual-presentations::after{background:linear-gradient(180deg,rgba(5,4,3,.28),rgba(7,6,5,.58) 23%,rgba(7,7,8,.88) 62%,rgba(7,8,11,.97));}
  .visual-presentations-hero{padding-top:100px;}
  .visual-presentations-heading{text-align:left;margin-bottom:24px;}
  .visual-presentations-heading h1{font-size:clamp(2.15rem,12vw,3.25rem);}
  .featured-presentation{padding:13px;border-radius:23px;}
  .presentation-player-frame{border-radius:16px;}
  .presentation-library{margin-top:34px;}
  .presentation-library-card{padding:13px;border-radius:20px;gap:16px;}
  .presentation-library-copy .card-actions{display:grid;}
  .presentation-library-copy .btn-small{width:100%;text-align:center;}
}

/* V187 — Permanent foundational Leo Protocol feature below the Home visitor counter */
.rnp-foundational-entry{
  width:100%;
  box-sizing:border-box;
  margin:0 0 28px;
  padding:17px 18px 16px;
  border:1px solid rgba(215,180,106,.32);
  border-left:3px solid rgba(215,180,106,.78);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(10,12,20,.84),rgba(215,180,106,.07));
  box-shadow:0 12px 28px rgba(0,0,0,.20);
  text-align:left;
}
.rnp-foundational-entry .eyebrow{
  margin:0 0 7px;
  color:#d7b46a;
}
.rnp-foundational-entry h2{
  margin:0 0 8px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(1.18rem,1.8vw,1.48rem);
  line-height:1.24;
}
.rnp-foundational-entry h2 a{
  color:#f3e3b9;
  text-decoration:none;
}
.rnp-foundational-entry h2 a:hover,
.rnp-foundational-entry h2 a:focus-visible{
  color:#fff5d6;
  text-decoration:underline;
  outline:none;
}
.rnp-foundational-entry p:not(.eyebrow){
  margin:0 0 13px;
  color:#d8d0c4;
  font-size:.91rem;
  line-height:1.58;
}
.rnp-foundational-entry-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border:1px solid rgba(215,180,106,.46);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(215,180,106,.16),rgba(215,180,106,.065));
  color:#f3e3b9;
  font:700 .82rem/1.2 Inter,ui-sans-serif,system-ui,sans-serif;
  letter-spacing:.025em;
  text-decoration:none;
}
.rnp-foundational-entry-link:hover,
.rnp-foundational-entry-link:focus-visible{
  color:#fff7dc;
  border-color:rgba(215,180,106,.72);
  background:linear-gradient(180deg,rgba(215,180,106,.24),rgba(215,180,106,.10));
  outline:none;
}
@media(max-width:900px){
  .rnp-foundational-entry{margin-bottom:24px;}
}
@media(max-width:720px){
  .rnp-foundational-entry{
    margin:0 0 22px;
    padding:15px 15px 14px;
    border-radius:16px;
  }
  .rnp-foundational-entry h2{font-size:1.16rem;}
  .rnp-foundational-entry p:not(.eyebrow){font-size:.86rem;}
  .rnp-foundational-entry-link{width:100%;box-sizing:border-box;}
}



.entry-visual-gallery{display:grid;gap:18px;margin:24px 0 30px;}
.entry-visual-gallery.two-up{grid-template-columns:repeat(2,minmax(0,1fr));}
.entry-visual-card{margin:0;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.045);padding:14px;box-shadow:0 18px 50px rgba(0,0,0,.18);}
.entry-visual-card img{width:100%;border-radius:18px;border:1px solid rgba(255,255,255,.08);}
.entry-visual-card figcaption{color:var(--muted);font-size:.95rem;margin:12px 6px 4px;line-height:1.55;}
@media(max-width:900px){.entry-visual-gallery.two-up{grid-template-columns:1fr;}}

/* V198 — Paired foundational RNP entries on the homepage */
.rnp-foundational-entry-list{display:grid;gap:12px;}
.rnp-foundational-entry-card{padding:14px 14px 13px;border:1px solid rgba(215,180,106,.22);border-radius:15px;background:rgba(6,8,14,.34);}
.rnp-foundational-entry-card h2{font-size:clamp(1.03rem,1.5vw,1.24rem);margin-bottom:7px;}
.rnp-foundational-entry-card p:not(.eyebrow){margin-bottom:11px;font-size:.86rem;}
@media(max-width:720px){.rnp-foundational-entry-list{gap:10px}.rnp-foundational-entry-card{padding:13px 13px 12px;}}


/* Source Archive ledger layout — v199 */
.source-ledger-table{
  table-layout:fixed;
}
.source-ledger-table th,
.source-ledger-table td{
  vertical-align:top;
}
.source-ledger-table th:nth-child(1),
.source-ledger-table td:nth-child(1){width:38%;}
.source-ledger-table th:nth-child(2),
.source-ledger-table td:nth-child(2){width:14%;}
.source-ledger-table th:nth-child(3),
.source-ledger-table td:nth-child(3){width:30%;}
.source-ledger-table th:nth-child(4),
.source-ledger-table td:nth-child(4){width:18%;}
.source-ledger-table td:nth-child(1) span{
  display:inline-block;
  margin-top:5px;
  line-height:1.6;
}
.source-ledger-table td:nth-child(3){
  overflow-wrap:anywhere;
  word-break:break-word;
}
.source-ledger-table td:nth-child(4) .btn-small{
  margin:3px 4px 3px 0;
  white-space:normal;
  text-align:center;
}
@media(max-width:900px){
  .source-ledger-table,
  .source-ledger-table tbody,
  .source-ledger-table tr,
  .source-ledger-table td{
    display:block;
    width:100% !important;
  }
  .source-ledger-table thead{display:none;}
  .source-ledger-table tr{
    border-radius:16px;
    padding:10px;
    margin-bottom:12px;
  }
  .source-ledger-table td{
    padding:8px 12px;
    border-radius:0 !important;
  }
  .source-ledger-table td:nth-child(4) .btn-small{
    width:auto;
  }
}

/* V204 — Poetry page background display correction only.
   Shows the full uploaded artwork without enlarging or over-darkening it. */
body.page-poetry-signature-bg::before{
  background-image:url('/assets/images/poetry-page-background-v201.png');
  background-size:contain;
  background-position:center top;
  background-repeat:no-repeat;
  background-color:#090b12;
  transform:none;
  filter:saturate(.96) brightness(.92);
}
body.page-poetry-signature-bg::after{
  background:
    linear-gradient(180deg,rgba(7,9,13,.66) 0%,rgba(9,11,18,.62) 16%,rgba(10,11,18,.72) 48%,rgba(10,11,18,.86) 100%),
    radial-gradient(circle at 70% 12%,rgba(255,225,160,.09),transparent 22%),
    radial-gradient(circle at 20% 18%,rgba(215,180,106,.08),transparent 22%),
    linear-gradient(120deg,rgba(8,10,16,.46),rgba(8,10,15,.30) 34%,rgba(8,10,15,.56) 100%);
}
@media(max-width:900px){
  body.page-poetry-signature-bg::before{
    background-size:cover;
    background-position:center top;
    transform:none;
  }
}
@media(max-width:640px){
  body.page-poetry-signature-bg::after{
    background:
      linear-gradient(180deg,rgba(7,9,13,.76) 0%,rgba(9,11,18,.70) 24%,rgba(10,11,18,.86) 100%),
      linear-gradient(120deg,rgba(7,8,12,.56),rgba(8,10,16,.38) 34%,rgba(8,10,15,.66) 100%);
  }
}

/* V206 — Source Archive complete hero image + work numbering */
.source-ledger-banner img{
  aspect-ratio:auto;
  height:auto;
  object-fit:contain;
}
.source-ledger-banner figcaption{
  display:none;
}
.source-ledger-table .source-work-meta{
  display:block;
  margin-top:7px;
  margin-bottom:5px;
  color:var(--gold);
  font-size:.86rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  line-height:1.45;
}
.source-ledger-table .source-work-description{
  display:block;
  margin-top:8px;
}
@media(max-width:720px){
  .source-ledger-banner img{
    aspect-ratio:auto;
    height:auto;
    object-fit:contain;
  }
}

/* V209 — Homepage random journal control */
.home-journal-randomize-control{
  appearance:none;
  border:1px solid rgba(215,180,106,.36);
  background:rgba(215,180,106,.08);
  color:#f0d998;
  border-radius:999px;
  padding:9px 14px;
  margin:8px 0 20px;
  font:inherit;
  font-weight:800;
  letter-spacing:.02em;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(0,0,0,.16);
}
.home-journal-randomize-control:hover,
.home-journal-randomize-control:focus-visible{
  color:#fff2c8;
  border-color:rgba(215,180,106,.62);
  background:rgba(215,180,106,.14);
  outline:none;
}
@media(max-width:640px){
  .home-journal-randomize-control{
    width:100%;
    justify-content:center;
    min-height:44px;
  }
}


/* V234 — Homepage official philosophy document refresh.
   Expands the philosophy scrollable area into a fuller document-style presentation and supports the new Living Archive audio overview. */
.philosophy-document-frame{
  max-width:980px;
}
.philosophy-document-page{
  height:760px;
}
.philosophy-document-lead{
  margin:10px 0 6px !important;
  text-align:center;
  color:#4f4235;
  font-size:1.02rem;
  font-style:italic;
}
.philosophy-document-tagline{
  margin:0 auto 18px !important;
  max-width:760px;
  text-align:center;
  color:#2f281f;
  font-size:1.12rem;
  line-height:1.6 !important;
}
.document-preview-fact-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 16px;
  margin:18px 0 28px;
}
.document-preview-fact{
  padding:12px 14px;
  border:1px solid rgba(140,100,45,.22);
  border-radius:12px;
  background:rgba(255,255,255,.36);
}
.document-preview-fact h4{
  margin:0 0 6px;
  color:#7e5b2c;
  font-family:Arial,Helvetica,sans-serif;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:.72rem;
}
.document-preview-fact p{
  margin:0 !important;
  font-family:Arial,Helvetica,sans-serif;
  font-size:.92rem;
  line-height:1.5;
  color:#312921;
}
.document-preview-fact-wide{
  grid-column:1 / -1;
}
.document-preview-litany{
  margin:0 0 1.35em 1.1rem;
  padding-left:1rem;
  border-left:3px solid rgba(140,100,45,.24);
}
.document-preview-litany.compact{
  margin:0 0 1.15em .6rem;
}
.document-preview-litany p{
  margin:0 0 .55em;
}
.document-preview-pillars{
  margin:0 0 1.2em 1.3rem;
  padding:0;
}
.document-preview-pillars > li{
  margin:0 0 1.35em;
  padding-left:.15rem;
}
.document-preview-pillars > li > strong{
  display:block;
  margin-bottom:.45em;
  color:#1f1a15;
  font-size:1.08rem;
}
.document-preview-pillars p{
  margin:0 0 .9em;
}
.document-preview-source-list{
  margin:0 0 1.25em 1.35rem;
  padding:0;
}
.document-preview-source-list li{
  margin:0 0 .72em;
}
.document-preview-footer-note{
  margin-top:1.5em !important;
  text-align:center;
  font-family:Arial,Helvetica,sans-serif;
  color:#5b4a3a;
  font-size:.88rem;
  letter-spacing:.04em;
}
@media(max-width:760px){
  .philosophy-document-page{
    height:680px;
  }
  .document-preview-fact-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:480px){
  .philosophy-document-page{
    height:620px;
  }
  .philosophy-document-tagline{
    font-size:1rem;
  }
}


/* V235 — Author page RNP Code of Armor section. */
.author-code-of-armor-section{
  padding-top:34px;
  padding-bottom:34px;
}
.code-of-armor-wrap{
  display:grid;
  grid-template-columns:minmax(260px,430px) minmax(0,1fr);
  gap:28px;
  align-items:start;
}
.code-of-armor-visual-card{
  margin:0;
  padding:16px;
  border:1px solid rgba(215,180,106,.34);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));
  box-shadow:0 26px 80px rgba(0,0,0,.34), inset 0 0 0 1px rgba(255,255,255,.04);
}
.code-of-armor-image{
  display:block;
  width:100%;
  height:auto;
  max-height:620px;
  object-fit:contain;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.28);
  user-select:none;
  -webkit-user-select:none;
}
.code-of-armor-visual-card figcaption{
  margin:12px 4px 0;
  color:#d9d1c6;
  font-size:.92rem;
  line-height:1.45;
  text-align:center;
}
.code-of-armor-copy{
  padding:28px;
  background:linear-gradient(135deg,rgba(215,180,106,.12),rgba(255,255,255,.045));
}
.code-of-armor-copy .section-title{
  margin-bottom:12px;
}
.code-of-armor-text{
  margin-top:20px;
  padding:22px 24px;
  border-left:3px solid rgba(215,180,106,.62);
  border-radius:18px;
  background:rgba(8,10,16,.34);
  color:#f5ead7;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(1.03rem,1.6vw,1.22rem);
  line-height:1.75;
}
.code-of-armor-text p{
  margin:0 0 1.15em;
}
.code-of-armor-text p:last-child{
  margin-bottom:0;
}
.code-of-armor-text .signature-line{
  color:#f0d998;
}
.code-of-armor-text .scripture-line{
  padding-top:1rem;
  border-top:1px solid rgba(215,180,106,.24);
  color:#f2e2c1;
}
@media(max-width:900px){
  .code-of-armor-wrap{
    grid-template-columns:1fr;
  }
  .code-of-armor-visual-card{
    max-width:520px;
    margin:0 auto;
  }
}
@media(max-width:560px){
  .code-of-armor-copy{
    padding:22px 18px;
  }
  .code-of-armor-text{
    padding:18px;
  }
}


/* V236 — Code of Armor journal entry refinements. */
.code-of-armor-entry-feature{
  max-width:560px;
  margin:26px auto 26px;
}
.code-armor-anchor-table{
  overflow-x:auto;
}
.code-armor-anchor-table table{
  width:100%;
  border-collapse:collapse;
  font-size:.96rem;
  line-height:1.55;
}
.code-armor-anchor-table th,
.code-armor-anchor-table td{
  padding:12px 14px;
  border-bottom:1px solid rgba(215,180,106,.18);
  vertical-align:top;
}
.code-armor-anchor-table th{
  color:#f0d998;
  text-align:left;
  font-family:Georgia,'Times New Roman',serif;
}
.code-armor-anchor-table td:first-child{
  color:#f5ead7;
  font-weight:800;
  white-space:nowrap;
}
@media(max-width:640px){
  .code-of-armor-entry-feature{
    max-width:100%;
    margin:22px auto;
  }
  .code-armor-anchor-table table{
    min-width:560px;
  }
}


/* V237 — Compact Author page Code of Armor audio brief under the poster. */
.author-code-brief-card{
  margin:14px 2px 0;
  padding:14px 14px 13px;
  border:1px solid rgba(215,180,106,.28);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(8,10,16,.72),rgba(255,255,255,.045));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035);
  text-align:left;
}
.author-code-brief-card h3{
  margin:0 0 5px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.05rem;
  line-height:1.2;
  color:#f4ead8;
}
.author-code-brief-card p{
  margin:0 0 10px;
  color:#d9d1c6;
  font-size:.9rem;
  line-height:1.45;
}
.author-code-brief-toggle{
  width:100%;
  justify-content:center;
  text-align:center;
}
.author-code-brief-player{
  margin-top:10px;
}
.author-code-brief-player[hidden]{
  display:none!important;
}
.author-code-brief-player audio{
  display:block;
  width:100%;
  height:38px;
  border-radius:12px;
  background:rgba(8,10,16,.85);
}
.author-code-brief-status{
  margin:7px 0 0!important;
  color:#cfc4b8!important;
  font-size:.78rem!important;
  line-height:1.35!important;
}
@media(min-width:901px){
  .code-of-armor-visual-card{
    align-self:start;
  }
  .code-of-armor-copy{
    align-self:start;
  }
}
@media(max-width:560px){
  .author-code-brief-card{
    margin-top:12px;
    padding:13px;
  }
  .author-code-brief-player audio{
    height:42px;
  }
}


/* V238 — Author page Code of Armor journal links. */
.code-of-armor-image-link{
  display:block;
  border-radius:20px;
  text-decoration:none;
  color:inherit;
}
.code-of-armor-image-link:focus-visible{
  outline:2px solid rgba(240,217,152,.88);
  outline-offset:4px;
}
.code-of-armor-image-link .code-of-armor-image{
  transition:transform .22s ease, filter .22s ease, box-shadow .22s ease;
}
.code-of-armor-image-link:hover .code-of-armor-image,
.code-of-armor-image-link:focus-visible .code-of-armor-image{
  transform:translateY(-2px);
  filter:brightness(1.08);
  box-shadow:0 18px 45px rgba(0,0,0,.32), 0 0 0 1px rgba(215,180,106,.35);
}
.code-of-armor-entry-link-bar{
  max-width:960px;
  margin:24px auto 0;
  padding:18px 0 0;
  text-align:center;
  border-top:1px solid rgba(215,180,106,.18);
}
.code-of-armor-entry-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
@media(max-width:560px){
  .code-of-armor-entry-link-bar{
    margin-top:18px;
  }
  .code-of-armor-entry-link{
    width:100%;
  }
}

/* V254 — Author page Five Relics framework map. */
.author-relics-section{
  padding-top:34px;
  padding-bottom:38px;
  position:relative;
}
.author-relics-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 15% 10%,rgba(215,180,106,.08),transparent 28%),radial-gradient(circle at 90% 45%,rgba(123,183,255,.055),transparent 32%);
}
.author-relics-wrap{
  position:relative;
  z-index:1;
}
.relics-feature-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,390px);
  gap:26px;
  align-items:start;
  margin-top:26px;
}
.relics-map-card{
  padding:28px;
  min-height:100%;
  background:linear-gradient(135deg,rgba(215,180,106,.12),rgba(255,255,255,.045));
}
.relics-map-card h3,
.relic-card h3{
  font-family:Georgia,'Times New Roman',serif;
  color:#f5ead7;
}
.relics-map-card h3{
  margin-top:0;
  font-size:clamp(1.35rem,2.1vw,1.8rem);
}
.relics-creed-line{
  margin:20px 0 0;
  padding:18px 20px;
  border-left:3px solid rgba(215,180,106,.62);
  border-radius:18px;
  background:rgba(8,10,16,.36);
  color:#f4ead8;
  line-height:1.7;
}
.relic-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}
.relics-armor-visual-card{
  margin:0;
  padding:15px;
  border:1px solid rgba(215,180,106,.34);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));
  box-shadow:0 26px 80px rgba(0,0,0,.34), inset 0 0 0 1px rgba(255,255,255,.04);
}
.relics-armor-visual-card figcaption{
  margin:12px 4px 0;
  color:#d9d1c6;
  font-size:.92rem;
  line-height:1.45;
  text-align:center;
}
.relics-code-brief-card{
  margin-top:14px;
}
.relics-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
  margin-top:24px;
}
.relic-card{
  position:relative;
  overflow:hidden;
  padding:22px 20px;
  min-height:248px;
  background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.03));
}
.relic-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  background:radial-gradient(circle at 86% 0%,rgba(215,180,106,.14),transparent 32%);
}
.relic-symbol{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:72px;
  padding:5px 10px;
  border:1px solid rgba(215,180,106,.28);
  border-radius:999px;
  background:rgba(8,10,16,.42);
  color:#f0d998;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.relic-card h3{
  margin:16px 0 10px;
  font-size:1.32rem;
}
.relic-card p{
  position:relative;
  z-index:1;
  margin:0;
  color:#ded4c7;
  line-height:1.62;
}
.relic-card .relic-quote{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(215,180,106,.2);
  color:#f2dfb7;
  font-family:Georgia,'Times New Roman',serif;
  font-style:italic;
}
.relic-card-armor{
  border-color:rgba(215,180,106,.42);
  background:linear-gradient(160deg,rgba(215,180,106,.12),rgba(255,255,255,.04));
}
.relics-bridge-note{
  margin-top:20px;
  padding:18px 22px;
  border-color:rgba(215,180,106,.24);
  background:rgba(8,10,16,.32);
}
.relics-bridge-note p{
  margin:0;
  line-height:1.65;
  color:#e7dccd;
}
@media(max-width:1180px){
  .relics-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:900px){
  .relics-feature-row{
    grid-template-columns:1fr;
  }
  .relics-armor-visual-card{
    max-width:520px;
    margin:0 auto;
  }
  .relics-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:640px){
  .relics-map-card,
  .relic-card{
    padding:20px 18px;
  }
  .relics-grid{
    grid-template-columns:1fr;
  }
  .relic-actions .btn-small{
    width:100%;
    justify-content:center;
  }
}


/* V258 — Reader paths, simplified navigation, polished audio labels, and mobile player sizing. */
.reader-paths{
  margin:34px 0 38px;
  padding:26px;
  border:1px solid rgba(214,170,86,.25);
  border-radius:24px;
  background:
    radial-gradient(circle at top left,rgba(214,170,86,.14),transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  box-shadow:0 16px 42px rgba(0,0,0,.20);
}
.reader-paths .section-title{margin-bottom:10px;}
.reader-paths-intro{max-width:850px;margin-bottom:22px;}
.reader-path-grid{
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:16px;
}
.reader-path-card{
  min-height:100%;
  display:flex;
  flex-direction:column;
}
.reader-path-card p{flex:1 1 auto;}
.reader-path-card .card-actions{margin-top:14px;}

@media(max-width:640px){
  .reader-paths{padding:20px 16px;margin:26px 0 30px;border-radius:20px;}
  .reader-path-grid{grid-template-columns:1fr;gap:14px;}

  .floating-theme-player{
    left:auto !important;
    right:12px !important;
    bottom:calc(12px + env(safe-area-inset-bottom,0px)) !important;
    max-width:min(265px, calc(100vw - 24px)) !important;
    padding:8px 10px 8px 8px !important;
    gap:8px !important;
    border-radius:999px !important;
  }
  .floating-theme-player .theme-play-button,
  .theme-play-button{
    width:38px !important;
    height:38px !important;
    flex:0 0 38px !important;
  }
  .theme-play-icon{font-size:.92rem !important;}
  .floating-theme-player .theme-player-text strong,
  .theme-player-text strong{font-size:.70rem !important;letter-spacing:.065em;}
  .floating-theme-player .theme-player-text span,
  .theme-player-text span{font-size:.68rem !important;max-width:178px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

  .page-theme-player{
    left:auto !important;
    right:12px !important;
    bottom:calc(12px + env(safe-area-inset-bottom,0px)) !important;
    min-width:0 !important;
    max-width:min(270px, calc(100vw - 24px)) !important;
    padding:9px 11px !important;
    gap:9px !important;
  }
  .page-theme-player .theme-player-icon{width:36px !important;height:36px !important;flex-basis:36px !important;font-size:15px !important;}
  .page-theme-player .theme-player-copy strong{font-size:10.5px !important;}
  .page-theme-player .theme-player-copy small{font-size:12px !important;max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
}
.section-kicker{
  color:#d6aa56;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.78rem;
  font-weight:800;
  margin-bottom:8px;
}


/* V259 — Creed of the Five Relics dedicated R2 background.
   Scoped only to the Creed entry page; preserves all other journal random/dedicated background behavior. */
body.entry-themed-page.entry-bg-creed-five-relics{
  --entry-bg-image:url('https://media.romnoteproject.com/RNP-Background-Photos/Creed%20of%20The%20Five%20Relics.png');
  --entry-card-bg:rgba(8,10,16,.74);
  --entry-card-border:rgba(255,224,162,.18);
  --entry-overlay-primary:linear-gradient(180deg,rgba(5,7,12,.46),rgba(6,8,14,.68) 38%,rgba(7,9,15,.92));
  --entry-overlay-secondary:radial-gradient(circle at 18% 10%,rgba(255,224,162,.15),transparent 24%),radial-gradient(circle at 82% 18%,rgba(123,183,255,.10),transparent 24%),linear-gradient(120deg,rgba(5,7,12,.26),rgba(5,7,12,.07) 36%,rgba(7,9,15,.42));
}
body.entry-themed-page.entry-bg-creed-five-relics::before{
  background-size:cover;
  background-position:center center;
}
@media(max-width:900px){
  body.entry-themed-page.entry-bg-creed-five-relics::before{
    background-size:cover;
    background-position:center top;
  }
}


/* V260 — Main Dedication Pages landing background using Romeo's Cloudflare R2 image.
   Scoped only to the main Dedication Pages landing page; preserves all existing dedication access, navigation, music, and child/love dedication pages. */
body.dedication-landing-page{
  background:linear-gradient(180deg,#0a0d14 0%,#090b11 100%);
}
body.dedication-landing-page::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background-image:linear-gradient(180deg,rgba(6,8,12,.34),rgba(6,8,12,.52) 32%,rgba(7,9,15,.84) 70%,rgba(7,9,15,.94)),url('https://media.romnoteproject.com/RNP-Background-Photos/Dedication%20Background.png');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
body.dedication-landing-page::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(circle at 16% 14%,rgba(255,224,162,.10),transparent 24%),radial-gradient(circle at 84% 18%,rgba(123,183,255,.08),transparent 24%),linear-gradient(180deg,rgba(7,9,15,.10),rgba(7,9,15,.28));
}
body.dedication-landing-page .site-header{
  background:linear-gradient(180deg,rgba(8,10,16,.88),rgba(8,10,16,.74));
  backdrop-filter:blur(14px);
}
body.dedication-landing-page .dedication-hero{
  background:linear-gradient(180deg,rgba(8,10,16,.18),rgba(8,10,16,.08));
}
body.dedication-landing-page .section{
  background:linear-gradient(180deg,rgba(8,10,16,.14),rgba(8,10,16,.28));
}
body.dedication-landing-page .card.dedication-card{
  background:rgba(12,14,22,.78);
  box-shadow:0 18px 48px rgba(0,0,0,.32);
}
body.dedication-landing-page .section-intro,
body.dedication-landing-page .lead{
  text-shadow:0 2px 18px rgba(0,0,0,.45);
}
@media(max-width:900px){
  body.dedication-landing-page::before{
    background-position:center top;
  }
}


/* V265 — Homepage quick links refresh and full journal jump dropdown.
   Adds a direct archive selector without replacing the existing random homepage journal cards. */
.homepage-journal-jump{
  margin-top:18px;
  max-width:860px;
  border:1px solid rgba(215,180,106,.26);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(12,14,22,.70),rgba(12,14,22,.44));
  box-shadow:0 18px 46px rgba(0,0,0,.24);
  padding:18px 20px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.58fr);
  gap:16px;
  align-items:center;
}
.homepage-journal-jump .eyebrow{
  margin:0 0 6px;
  color:#d8b66b;
}
.homepage-journal-jump p:not(.eyebrow){
  margin:0;
  color:rgba(239,232,220,.82);
  line-height:1.55;
}
.homepage-journal-jump-control select{
  width:100%;
  min-height:46px;
  border:1px solid rgba(215,180,106,.36);
  border-radius:999px;
  background:rgba(7,9,15,.86);
  color:#f3e7cc;
  padding:0 44px 0 18px;
  font-weight:700;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
  cursor:pointer;
}
.homepage-journal-jump-control select:focus{
  outline:2px solid rgba(215,180,106,.46);
  outline-offset:3px;
}
@media(max-width:760px){
  .homepage-journal-jump{
    grid-template-columns:1fr;
    padding:16px;
    border-radius:20px;
  }
  .homepage-journal-jump-control select{
    border-radius:18px;
    min-height:48px;
  }
}


/* V266 — Author page Five Relics cards are now full-card journal links.
   Scoped to the relic grid so unrelated cards, archive entries, and existing navigation remain untouched. */
.relics-grid .relic-card-link{
  display:block;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  outline:none;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
.relics-grid .relic-card-link:hover,
.relics-grid .relic-card-link:focus-visible{
  transform:translateY(-4px);
  border-color:rgba(215,180,106,.58);
  box-shadow:0 26px 72px rgba(0,0,0,.46),0 0 0 1px rgba(215,180,106,.16) inset;
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.045));
}
.relics-grid .relic-card-link:focus-visible{
  box-shadow:0 26px 72px rgba(0,0,0,.46),0 0 0 3px rgba(215,180,106,.32);
}
.relic-link-cue{
  display:inline-block;
  margin-top:18px;
  color:#ffe2a0;
  font-weight:800;
  font-size:.88rem;
  letter-spacing:.02em;
  opacity:.82;
}
.relics-grid .relic-card-link:hover .relic-link-cue,
.relics-grid .relic-card-link:focus-visible .relic-link-cue{
  opacity:1;
}


/* V267 — Five Relic journal-entry dedicated R2 backgrounds.
   Scoped only to the five linked relic journal pages; removes random background behavior from these symbolic entries. */
body.entry-themed-page.entry-bg-relic-staff{
  --entry-bg-image:url('https://media.romnoteproject.com/RNP-Background-Photos/The%20Staff.png');
  --entry-card-bg:rgba(8,10,16,.74);
  --entry-card-border:rgba(255,224,162,.18);
  --entry-overlay-primary:linear-gradient(180deg,rgba(5,7,12,.48),rgba(6,8,14,.68) 38%,rgba(7,9,15,.92));
  --entry-overlay-secondary:radial-gradient(circle at 18% 12%,rgba(255,224,162,.14),transparent 24%),radial-gradient(circle at 82% 18%,rgba(123,183,255,.09),transparent 24%),linear-gradient(120deg,rgba(5,7,12,.28),rgba(5,7,12,.08) 36%,rgba(7,9,15,.44));
}
body.entry-themed-page.entry-bg-relic-armor{
  --entry-bg-image:url('https://media.romnoteproject.com/RNP-Background-Photos/The%20Armor.png');
  --entry-card-bg:rgba(8,10,16,.76);
  --entry-card-border:rgba(255,224,162,.20);
  --entry-overlay-primary:linear-gradient(180deg,rgba(5,7,12,.50),rgba(6,8,14,.70) 38%,rgba(7,9,15,.93));
  --entry-overlay-secondary:radial-gradient(circle at 20% 10%,rgba(255,224,162,.14),transparent 24%),radial-gradient(circle at 80% 20%,rgba(160,180,205,.10),transparent 24%),linear-gradient(120deg,rgba(5,7,12,.30),rgba(5,7,12,.08) 36%,rgba(7,9,15,.46));
}
body.entry-themed-page.entry-bg-relic-book{
  --entry-bg-image:url('https://media.romnoteproject.com/RNP-Background-Photos/The%20Book.png');
  --entry-card-bg:rgba(8,10,16,.76);
  --entry-card-border:rgba(255,224,162,.18);
  --entry-overlay-primary:linear-gradient(180deg,rgba(5,7,12,.48),rgba(6,8,14,.69) 38%,rgba(7,9,15,.93));
  --entry-overlay-secondary:radial-gradient(circle at 18% 14%,rgba(255,224,162,.13),transparent 24%),radial-gradient(circle at 82% 18%,rgba(123,183,255,.10),transparent 24%),linear-gradient(120deg,rgba(5,7,12,.28),rgba(5,7,12,.07) 36%,rgba(7,9,15,.44));
}
body.entry-themed-page.entry-bg-relic-shield{
  --entry-bg-image:url('https://media.romnoteproject.com/RNP-Background-Photos/The%20Shield.png');
  --entry-card-bg:rgba(7,9,13,.76);
  --entry-card-border:rgba(255,224,162,.18);
  --entry-overlay-primary:linear-gradient(180deg,rgba(3,5,8,.48),rgba(3,5,8,.68) 38%,rgba(5,7,11,.93));
  --entry-overlay-secondary:radial-gradient(circle at 78% 24%,rgba(66,145,224,.12),transparent 24%),radial-gradient(circle at 18% 18%,rgba(214,188,149,.12),transparent 24%),linear-gradient(120deg,rgba(3,5,8,.30),rgba(3,5,8,.08) 36%,rgba(4,6,10,.44));
}
body.entry-themed-page.entry-bg-relic-sword{
  --entry-bg-image:url('https://media.romnoteproject.com/RNP-Background-Photos/The%20Sword.png');
  --entry-card-bg:rgba(8,10,16,.77);
  --entry-card-border:rgba(255,224,162,.20);
  --entry-overlay-primary:linear-gradient(180deg,rgba(5,7,12,.50),rgba(6,8,14,.70) 38%,rgba(7,9,15,.94));
  --entry-overlay-secondary:radial-gradient(circle at 18% 10%,rgba(255,224,162,.14),transparent 24%),radial-gradient(circle at 82% 18%,rgba(180,185,200,.10),transparent 24%),linear-gradient(120deg,rgba(5,7,12,.30),rgba(5,7,12,.08) 36%,rgba(7,9,15,.46));
}
body.entry-themed-page.entry-bg-relic-staff::before,
body.entry-themed-page.entry-bg-relic-armor::before,
body.entry-themed-page.entry-bg-relic-book::before,
body.entry-themed-page.entry-bg-relic-shield::before,
body.entry-themed-page.entry-bg-relic-sword::before{
  background-size:cover;
  background-position:center center;
}
@media(max-width:900px){
  body.entry-themed-page.entry-bg-relic-staff::before,
  body.entry-themed-page.entry-bg-relic-armor::before,
  body.entry-themed-page.entry-bg-relic-book::before,
  body.entry-themed-page.entry-bg-relic-shield::before,
  body.entry-themed-page.entry-bg-relic-sword::before{
    background-size:cover;
    background-position:center top;
  }
}



/* V296 — Dedicated R2 background for the Sadness and Tears journal entry.
   Scoped only to this one journal entry; preserves other random/dedicated background behavior site-wide. */
body.entry-themed-page.entry-bg-making-love-background{
  --entry-bg-image:url('https://media.romnoteproject.com/RNP-Background-Photos/Making%20Love%20Out%20Of%20Nothing%20Background.png');
  --entry-card-bg:rgba(7,9,14,.76);
  --entry-card-border:rgba(255,224,162,.18);
  --entry-overlay-primary:linear-gradient(180deg,rgba(5,7,12,.46),rgba(6,8,14,.68) 38%,rgba(7,9,15,.92));
  --entry-overlay-secondary:radial-gradient(circle at 18% 12%,rgba(255,224,162,.14),transparent 24%),radial-gradient(circle at 82% 18%,rgba(123,183,255,.09),transparent 24%),linear-gradient(120deg,rgba(5,7,12,.28),rgba(5,7,12,.08) 36%,rgba(7,9,15,.44));
}
body.entry-themed-page.entry-bg-making-love-background::before{
  background-size:contain;
  background-position:center top;
}
@media(max-width:900px){
  body.entry-themed-page.entry-bg-making-love-background::before{
    background-size:contain;
    background-position:center top;
  }
}

/* V268 — Five Relic clickable cards underline cleanup.
   Keeps the full-card links active while restoring the clean card typography. */
.relics-grid .relic-card-link,
.relics-grid .relic-card-link:link,
.relics-grid .relic-card-link:visited,
.relics-grid .relic-card-link:hover,
.relics-grid .relic-card-link:focus,
.relics-grid .relic-card-link:focus-visible,
.relics-grid .relic-card-link:active{
  color:inherit !important;
  text-decoration:none !important;
}
.relics-grid .relic-card-link *,
.relics-grid .relic-card-link:hover *,
.relics-grid .relic-card-link:focus-visible *,
.relics-grid .relic-card-link:active *{
  text-decoration:none !important;
}
.relics-grid .relic-card-link h3{
  color:#f5ead7 !important;
}
.relics-grid .relic-card-link p,
.relics-grid .relic-card-link strong{
  color:inherit !important;
}
.relics-grid .relic-card-link .relic-link-cue{
  color:#ffe2a0 !important;
  text-decoration:none !important;
}
.relics-grid .relic-card-link:hover .relic-link-cue,
.relics-grid .relic-card-link:focus-visible .relic-link-cue{
  transform:translateX(3px);
}

/* V269 — Five Relics shared entry theme player.
   Uses the standard floating entry-player structure across desktop, tablet, and mobile. */
.five-relic-theme-player .theme-player-text span{
  max-width:220px;
}
@media(max-width:640px){
  .five-relic-theme-player .theme-player-text span{
    max-width:190px;
  }
}


/* V276 — Author page background updated to Romeo author background #1 from Cloudflare R2.
   Preserves existing author layout, carousel, music, R2 author-photo setup, captions, and readability overlays. */


/* V299 — Legacy Mission Statement R2 background and companion photo. */
body.legacy-mission-page::before{
  background-image:url('https://media.romnoteproject.com/RNP-Background-Photos/Legacy%20Statement%20Background.png');
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center top;
  transform:none;
}
body.legacy-mission-page::after{
  background:
    linear-gradient(180deg,rgba(7,8,12,.72) 0%,rgba(8,10,16,.62) 16%,rgba(10,11,18,.76) 38%,rgba(10,11,18,.90) 100%),
    radial-gradient(circle at 18% 12%,rgba(215,180,106,.14),transparent 24%),
    radial-gradient(circle at 82% 10%,rgba(255,232,173,.08),transparent 20%),
    linear-gradient(110deg,rgba(7,8,12,.56),rgba(9,11,18,.30) 38%,rgba(8,10,15,.62) 100%);
}
.legacy-mission-page .legacy-mission-hero{
  padding-top:44px;
}
.legacy-statement-photo-card{
  margin:28px auto 0;
  max-width:860px;
  border:1px solid rgba(215,180,106,.18);
  border-radius:26px;
  overflow:hidden;
  background:rgba(8,10,16,.70);
  box-shadow:0 20px 60px rgba(0,0,0,.34);
}
.legacy-statement-photo-card img{
  display:block;
  width:100%;
  height:auto;
}
.legacy-statement-photo-card figcaption{
  padding:12px 18px 16px;
  color:#d8c9ad;
  font-size:.98rem;
}
@media(max-width:900px){
  body.legacy-mission-page::before{
    background-position:center top;
  }
  .legacy-statement-photo-card{
    border-radius:20px;
  }
}

/* V300 — Legacy Mission Statement hero centering and full-background display polish. */
.legacy-mission-page .legacy-mission-hero .wrap{
  text-align:center;
}
.legacy-mission-page .legacy-mission-hero h1,
.legacy-mission-page .legacy-mission-hero .lead{
  margin-left:auto;
  margin-right:auto;
}
.legacy-mission-page .legacy-hero-card{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.legacy-mission-page .hero-actions{
  justify-content:center;
}
@media(min-width:901px){
  body.legacy-mission-page::after{
    background:
      linear-gradient(180deg,rgba(7,8,12,.62) 0%,rgba(8,10,16,.54) 16%,rgba(10,11,18,.72) 44%,rgba(10,11,18,.90) 100%),
      radial-gradient(circle at 18% 12%,rgba(215,180,106,.12),transparent 24%),
      radial-gradient(circle at 82% 10%,rgba(255,232,173,.07),transparent 20%),
      linear-gradient(110deg,rgba(7,8,12,.46),rgba(9,11,18,.22) 38%,rgba(8,10,15,.54) 100%);
  }
}

/* V298 — Legacy Mission Statement and Prayers of RNP pages.
   Page-scoped additions only; preserves existing archive, OTP, music, carousel, and navigation behavior. */
.legacy-mission-page .legacy-mission-hero,
.prayers-rnp-page .prayers-hero{
  padding-bottom:28px;
}
.legacy-hero-card{
  max-width:860px;
}
.legacy-document-content h2{
  border-top:1px solid rgba(215,180,106,.22);
  padding-top:1.1em;
}
.legacy-document-content h2:first-child{
  border-top:0;
  padding-top:0;
}
.legacy-callout{
  margin:18px 0 26px;
  border-left:4px solid var(--gold);
}
.legacy-callout p{
  margin:0;
  font-size:1.18rem;
  color:#f2dfb3;
  font-weight:700;
}
.legacy-bullet-list{
  columns:2;
  column-gap:32px;
  margin:0 0 1.4em;
}
.legacy-symbol-table td:first-child{
  color:#f2dfb3;
  font-weight:800;
}
.prayer-shortcut-jump{
  margin:0 0 34px;
}
.prayer-archive-grid{
  margin-top:18px;
}
.prayer-archive-card{
  scroll-margin-top:96px;
}
.prayer-placeholder-card{
  border-style:dashed;
  opacity:.92;
}
@media(max-width:760px){
  .legacy-bullet-list{columns:1;}
}


/* V306 — Legacy Mission Statement closing reflection card and public document download. */
.legacy-higher-name-card{
  margin:34px 0 38px;
  padding:clamp(24px,4vw,42px);
  border:1px solid rgba(215,180,106,.26);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(13,16,23,.86),rgba(10,12,18,.78));
  box-shadow:0 28px 90px rgba(0,0,0,.38);
  position:relative;
  overflow:hidden;
}
.legacy-higher-name-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 16% 8%,rgba(215,180,106,.14),transparent 24%),radial-gradient(circle at 86% 10%,rgba(255,236,186,.09),transparent 22%);
}
.legacy-higher-name-card > *{
  position:relative;
  z-index:1;
}
.legacy-reflection-heading{
  text-align:center;
  max-width:820px;
  margin:0 auto 24px;
}
.legacy-reflection-heading h2{
  margin:.15em 0 .25em;
  font-family:Georgia, 'Times New Roman', serif;
  font-size:clamp(2rem,4.6vw,4rem);
  line-height:1.02;
  color:#fff7e7;
}
.legacy-reflection-subtitle{
  margin:0 auto;
  color:#e5d5b8;
  font-size:clamp(1.05rem,2vw,1.28rem);
}
.legacy-reflection-audio{
  margin:24px auto 34px;
  max-width:850px;
  border-color:rgba(215,180,106,.24);
  background:rgba(5,7,12,.50);
}
.legacy-reflection-audio h3{
  margin-top:0;
  color:#f3deb0;
}
.legacy-reflection-body{
  max-width:820px;
  margin:0 auto;
}
.legacy-reflection-body p{
  font-size:1.08rem;
}
.legacy-reflection-line,
.legacy-reflection-path{
  margin:24px 0;
  padding:18px 22px;
  border-left:4px solid var(--gold);
  background:rgba(215,180,106,.08);
  border-radius:18px;
}
.legacy-reflection-line p,
.legacy-reflection-path p{
  margin:.25em 0;
  color:#f2dfb3;
  font-weight:800;
}
.legacy-soft-divider{
  border:0;
  border-top:1px solid rgba(215,180,106,.26);
  margin:30px auto;
  max-width:520px;
}
.legacy-final-emphasis{
  margin:34px auto 0 !important;
  padding:24px;
  border:1px solid rgba(215,180,106,.30);
  border-radius:22px;
  background:rgba(215,180,106,.10);
  color:#fff1c5 !important;
  font-family:Georgia, 'Times New Roman', serif;
  font-size:clamp(1.45rem,3vw,2.25rem) !important;
  font-weight:800;
  line-height:1.22;
  text-align:center;
}
.legacy-public-download{
  margin:22px 0 26px;
  padding:22px;
  border-left:4px solid var(--gold);
}
.legacy-public-download h3{
  margin:.2em 0 .65em;
  color:#f5ead7;
  font-family:Georgia, 'Times New Roman', serif;
  font-size:1.35rem;
}
.legacy-public-download .reader-nav{
  margin-top:18px;
}
@media(max-width:760px){
  .legacy-higher-name-card{
    border-radius:22px;
    padding:22px 18px;
  }
  .legacy-reflection-body p{
    font-size:1rem;
  }
  .legacy-reflection-line,
  .legacy-reflection-path{
    padding:16px 18px;
  }
}


/* V307 — Prayers of RNP dedicated prayer-entry pages.
   Build rule: the main Prayers of RNP archive page keeps its existing background, while individual prayer reader pages use the shared R2 prayer background unless Romeo provides a specific alternate background. */
body.entry-themed-page.entry-bg-rnp-prayers{
  --entry-bg-image:url('https://media.romnoteproject.com/RNP-Background-Photos/RNP%20Prayers%20Background.png');
  --entry-card-bg:rgba(8,10,16,.76);
  --entry-card-border:rgba(255,224,162,.18);
  --entry-overlay-primary:linear-gradient(180deg,rgba(5,7,12,.50),rgba(6,8,14,.70) 38%,rgba(7,9,15,.93));
  --entry-overlay-secondary:radial-gradient(circle at 20% 12%,rgba(255,224,162,.13),transparent 24%),radial-gradient(circle at 82% 18%,rgba(123,183,255,.08),transparent 24%),linear-gradient(120deg,rgba(5,7,12,.30),rgba(5,7,12,.08) 36%,rgba(7,9,15,.44));
}
body.entry-themed-page.entry-bg-rnp-prayers::before{
  background-size:cover;
  background-position:center center;
}
.rnp-prayer-entry-page .reader-panel{
  max-width:980px;
}
.rnp-prayer-document-card h2{
  border-top:1px solid rgba(215,180,106,.20);
  padding-top:1.05em;
}
.rnp-prayer-document-card h2:first-of-type{
  border-top:0;
  padding-top:0;
}
.rnp-prayer-document-card blockquote{
  white-space:normal;
  border-left:4px solid var(--gold);
  background:rgba(255,255,255,.05);
  padding:16px 18px;
  border-radius:14px;
}
@media(max-width:900px){
  body.entry-themed-page.entry-bg-rnp-prayers::before{
    background-size:cover;
    background-position:center top;
  }
}


/* V310 — Grounded tone adjustment for the Legacy Mission Statement closing reflection.
   Keeps the section as an RNP reflection card, but reduces ceremonial/high-drama styling. */
.legacy-higher-name-card{
  margin:30px 0 36px;
  padding:clamp(22px,3.2vw,34px);
  border-color:rgba(215,180,106,.18);
  background:rgba(10,12,18,.76);
  box-shadow:0 18px 54px rgba(0,0,0,.30);
}
.legacy-higher-name-card::before{
  display:none;
}
.legacy-reflection-heading{
  text-align:left;
  max-width:820px;
  margin:0 auto 20px;
}
.legacy-reflection-heading h2{
  font-size:clamp(1.75rem,3.2vw,2.8rem);
  line-height:1.12;
  color:#f5ead7;
}
.legacy-reflection-subtitle{
  color:#d8c9ad;
  font-size:clamp(1rem,1.6vw,1.15rem);
}
.legacy-reflection-audio{
  margin:20px auto 28px;
  background:rgba(5,7,12,.38);
  border-color:rgba(215,180,106,.16);
}
.legacy-reflection-body p{
  font-size:1.04rem;
}
.legacy-final-emphasis{
  margin:26px 0 0 !important;
  padding:18px 20px;
  border-color:rgba(215,180,106,.20);
  border-radius:18px;
  background:rgba(215,180,106,.07);
  color:#f2dfb3 !important;
  font-family:inherit;
  font-size:1.16rem !important;
  font-weight:700;
  line-height:1.55;
  text-align:left;
}
@media(max-width:760px){
  .legacy-reflection-heading{
    text-align:left;
  }
  .legacy-higher-name-card{
    padding:20px 16px;
  }
}

/* V311 — RNP journal entry companion photo gallery. */
.rnp-photo-gallery{
  margin:30px 0 34px;
  padding:20px;
  border:1px solid rgba(215,180,106,.16);
  border-radius:26px;
  background:rgba(8,10,16,.45);
}
.rnp-photo-gallery h2{
  margin-top:0;
}
.rnp-entry-photo-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.rnp-entry-photo-grid .photo-frame img{
  display:block;
  width:100%;
  height:auto;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
}
@media(max-width:900px){
  .rnp-entry-photo-grid{grid-template-columns:1fr;}
  .rnp-photo-gallery{padding:14px;border-radius:22px;}
}


/* V312 — Operation SnackPoint Bravo comic journal entry. */
body.entry-themed-page.entry-bg-operation-snackpoint{
  --entry-bg-image:url('https://media.romnoteproject.com/Operation-SnackPoint-Bravo/Page_Background.png');
  --entry-card-bg:rgba(8,10,16,.78);
  --entry-card-border:rgba(255,224,162,.18);
  --entry-overlay-primary:linear-gradient(180deg,rgba(4,6,11,.52),rgba(6,8,14,.76) 36%,rgba(8,10,16,.94));
  --entry-overlay-secondary:radial-gradient(circle at 18% 12%,rgba(215,180,106,.15),transparent 24%),radial-gradient(circle at 82% 18%,rgba(110,166,255,.10),transparent 26%),linear-gradient(120deg,rgba(5,7,12,.32),rgba(5,7,12,.08) 36%,rgba(7,9,15,.46));
}
body.entry-themed-page.entry-bg-operation-snackpoint::before{
  background-size:cover;
  background-position:center center;
}
.operation-snackpoint-page .reader-panel{max-width:1040px;}
.operation-snackpoint-gallery{padding:22px;}
.operation-snackpoint-comic-gallery{display:grid;gap:24px;margin-top:20px;}
.operation-snackpoint-comic-frame{margin:0;padding:14px;border-radius:24px;border:1px solid rgba(215,180,106,.16);background:rgba(7,10,16,.52);box-shadow:0 18px 44px rgba(0,0,0,.26);}
.operation-snackpoint-comic-label{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px;color:#f2dfb3;font-size:.92rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;}
.operation-snackpoint-comic-frame img{display:block;width:100%;height:auto;border-radius:18px;border:1px solid rgba(255,255,255,.08);}
.operation-snackpoint-comic-frame figcaption{margin-top:12px;color:#d8cfbf;}
@media(max-width:900px){
  body.entry-themed-page.entry-bg-operation-snackpoint::before{background-size:cover;background-position:center top;}
  .operation-snackpoint-gallery{padding:14px;}
  .operation-snackpoint-comic-frame{padding:10px;border-radius:18px;}
  .operation-snackpoint-comic-label{font-size:.82rem;}
}


/* V313 — Operation SnackPoint Bravo source/archive and theme fix. */
.operation-snackpoint-theme-player .theme-player-text span{max-width:220px;}

/* v323 Through the Storms protected portal */
.storm-title-note{display:inline;font-size:.72em;font-weight:500;opacity:.9}.storm-statement{max-width:850px;margin:2rem auto 3rem}.storm-statement h2{margin-top:0}.storm-statement h3{font-weight:500;opacity:.9}.storm-statement p{line-height:1.82}.private-entry-shelf{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.12)}.private-entry-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:850px){.private-entry-grid{grid-template-columns:1fr}.storm-title-note{display:block;margin-top:.35rem}}

/* v331: Featured Poem navigation hierarchy */
.nav-dropdown-menu .nav-subitem{
  padding-left:28px;
  font-style:italic;
}
@media (max-width: 860px){
  .nav-dropdown-menu .nav-subitem{padding-left:28px;}
}


/* V335 — Tonight poem R2 background */
body.entry-themed-page.entry-bg-tonight-poem{
  --entry-bg-image:url('https://media.romnoteproject.com/RNP-Background-Photos/Tonight%20-%20Poem%20Background.png');
  --entry-bg-position:center top;
  --entry-bg-overlay:linear-gradient(180deg,rgba(8,9,15,.52),rgba(8,9,15,.78));
}
body.entry-themed-page.entry-bg-tonight-poem::before{
  background-size:contain;
  background-position:center top;
  background-repeat:no-repeat;
  background-color:#090a10;
}
@media (max-width:760px){
  body.entry-themed-page.entry-bg-tonight-poem::before{
    background-size:contain;
    background-position:center top;
  }
}


/* V340 — Entry 69 and Entry 70 dedicated R2 backgrounds */
body.entry-themed-page.entry-bg-distance-between-us{
  --entry-bg-image:url('https://media.romnoteproject.com/RNP-Background-Photos/Distance%20Between%20Us%20Background.png');
  --entry-overlay-primary:linear-gradient(180deg,rgba(7,9,15,.50),rgba(7,9,15,.74) 46%,rgba(7,9,15,.88));
  --entry-overlay-secondary:radial-gradient(circle at 22% 12%,rgba(255,235,194,.12),transparent 25%),linear-gradient(120deg,rgba(7,9,15,.38),rgba(7,9,15,.10) 38%,rgba(7,9,15,.48));
}
body.entry-themed-page.entry-bg-angel-below-balcony{
  --entry-bg-image:url('https://media.romnoteproject.com/RNP-Background-Photos/Angel%20Below%20The%20Balcony%20Background.png');
  --entry-overlay-primary:linear-gradient(180deg,rgba(7,9,15,.50),rgba(7,9,15,.74) 46%,rgba(7,9,15,.88));
  --entry-overlay-secondary:radial-gradient(circle at 22% 12%,rgba(255,235,194,.12),transparent 25%),linear-gradient(120deg,rgba(7,9,15,.38),rgba(7,9,15,.10) 38%,rgba(7,9,15,.48));
}
body.entry-themed-page.entry-bg-distance-between-us::before,
body.entry-themed-page.entry-bg-angel-below-balcony::before{
  background-size:contain;
  background-position:center top;
  background-repeat:no-repeat;
  background-color:#090a10;
}
@media (max-width:760px){
  body.entry-themed-page.entry-bg-distance-between-us::before,
  body.entry-themed-page.entry-bg-angel-below-balcony::before{
    background-size:contain;
    background-position:center top;
  }
}


/* V343 — Entry 71 dedicated R2 background */
body.entry-themed-page.entry-bg-i-still-exist{
  --entry-bg-image:url('https://media.romnoteproject.com/RNP-Background-Photos/I%20Still%20Exist%20Background.png');
  --entry-overlay-primary:linear-gradient(180deg,rgba(7,9,15,.52),rgba(7,9,15,.76) 46%,rgba(7,9,15,.90));
  --entry-overlay-secondary:radial-gradient(circle at 22% 12%,rgba(255,235,194,.12),transparent 25%),linear-gradient(120deg,rgba(7,9,15,.42),rgba(7,9,15,.12) 38%,rgba(7,9,15,.50));
}
body.entry-themed-page.entry-bg-i-still-exist::before{
  background-size:contain;
  background-position:center top;
  background-repeat:no-repeat;
  background-color:#090a10;
}
@media (max-width:760px){
  body.entry-themed-page.entry-bg-i-still-exist::before{
    background-size:contain;
    background-position:center top;
  }
}


/* V347 — public Dedication Pages directory */
body.dedication-landing-page .dedication-public-note{margin:0 0 34px;}
body.dedication-landing-page .dedication-section-block{margin-top:48px;padding-top:32px;border-top:1px solid rgba(215,180,106,.20);}
body.dedication-landing-page .dedication-section-block:first-of-type{margin-top:38px;}
body.dedication-landing-page .dedication-placeholder-card{border-left-color:rgba(180,180,190,.34);}
body.dedication-landing-page .dedication-card-subtitle{margin-top:-6px;color:#e8d7b2;}
body.dedication-landing-page .dedication-coming-soon{display:inline-flex;align-items:center;min-height:36px;}
body.dedication-landing-page .dedication-closing-statement{margin-top:50px;}
@media(max-width:640px){body.dedication-landing-page .dedication-section-block{margin-top:38px;padding-top:26px;}}


/* V356 — SPCC family-dedication path overrides.
   Scoped only to relocated /family-dedications/ copies. The legacy OTP pages
   continue using the original /dedications/ assets and remain untouched. */
body.family-spcc-dedication-page.pinky-dedication-page{
  background-image:
    linear-gradient(180deg,rgba(7,9,15,.34),rgba(7,9,15,.50) 46%,rgba(7,9,15,.74)),
    url("/family-dedications/backgrounds/pinky/pinky-dedication-bg.png"),
    linear-gradient(180deg,#090b12,#090b12);
}
body.family-spcc-dedication-page.joey-dedication-page{
  background:
    linear-gradient(180deg,rgba(7,9,15,.48),rgba(7,9,15,.68) 44%,rgba(7,9,15,.87)),
    url("/family-dedications/backgrounds/joey/joey-dedication-bg.png") center center / contain fixed no-repeat,
    #090b12;
}
body.family-spcc-dedication-page.savannah-dedication-page{
  background-image:
    linear-gradient(180deg,rgba(25,17,20,.20),rgba(28,18,24,.42) 46%,rgba(8,10,16,.80)),
    url("/family-dedications/backgrounds/savannah/savannah-dedication-bg.png"),
    linear-gradient(180deg,#140f13,#090b12);
}
@media(min-width:1200px){
  body.family-spcc-dedication-page.joey-dedication-page{
    background:
      linear-gradient(180deg,rgba(7,9,15,.46),rgba(7,9,15,.66) 44%,rgba(7,9,15,.86)),
      url("/family-dedications/backgrounds/joey/joey-dedication-bg.png") center center / 100% auto fixed no-repeat,
      #090b12;
  }
}
@media(max-width:760px){
  body.family-spcc-dedication-page.pinky-dedication-page{
    background-image:
      linear-gradient(180deg,rgba(7,9,15,.58),rgba(7,9,15,.78) 48%,rgba(7,9,15,.92)),
      url("/family-dedications/backgrounds/pinky/pinky-dedication-bg.png"),
      linear-gradient(180deg,#090b12,#090b12);
  }
  body.family-spcc-dedication-page.joey-dedication-page{
    background:
      linear-gradient(180deg,rgba(7,9,15,.62),rgba(7,9,15,.82) 46%,rgba(7,9,15,.92)),
      url("/family-dedications/backgrounds/joey/joey-dedication-bg.png") center top / contain scroll no-repeat,
      #090b12;
  }
  body.family-spcc-dedication-page.savannah-dedication-page{
    background-image:
      linear-gradient(180deg,rgba(7,9,15,.52),rgba(7,9,15,.78) 48%,rgba(7,9,15,.92)),
      url("/family-dedications/backgrounds/savannah/savannah-dedication-bg.png"),
      linear-gradient(180deg,#140f13,#090b12);
  }
}
