/* ============================================================
   Straw Man Gospel — shared styles
   Palette: wheat field at golden hour
   Semantic rule: AMBER = LGT claims · DENIM = gospel responses
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Young+Serif&family=Source+Sans+3:ital,wght@0,400;0,600;0,700;1,400&family=Spectral:ital,wght@1,400;1,500&display=swap');

:root{
  --ink:        #2B2118;
  --ink-soft:   #5A4A38;
  --paper:      #FAF3E3;
  --paper-deep: #F1E5C9;
  --wheat:      #D99A1F;
  --wheat-pale: #F6E3B4;
  --barn:       #A3402E;
  --denim:      #34587A;
  --denim-pale: #DCE7F0;
  --field:      #6B7F3F;
  --radius: 14px;
  --shadow: 0 4px 18px rgba(43,33,24,.10);
  --maxw: 880px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:'Source Sans 3','Segoe UI',system-ui,-apple-system,sans-serif;
  font-size:1.06rem; line-height:1.65;
}
h1,h2,h3{font-family:'Young Serif',Georgia,'Times New Roman',serif; line-height:1.15; color:var(--ink); font-weight:400; margin:0 0 .5em}
h1{font-size:clamp(2rem,5vw,3.1rem)}
h2{font-size:clamp(1.5rem,3.5vw,2.1rem); margin-top:1.6em}
h3{font-size:1.2rem; margin-top:1.3em}
p{margin:.7em 0}
a{color:var(--denim)}
a:hover{color:var(--barn)}
:focus-visible{outline:3px solid var(--wheat); outline-offset:2px; border-radius:4px}
img,svg{max-width:100%}

/* ---------- Header / nav ---------- */
.site-header{
  background:var(--ink); color:var(--paper); padding:.55rem 1rem;
  position:sticky; top:0; z-index:50;
  border-bottom:4px solid var(--wheat);
}
.site-header .bar{max-width:var(--maxw); margin:0 auto; display:flex; align-items:center; gap:1rem; flex-wrap:wrap}
.brand{font-family:'Young Serif',Georgia,serif; font-size:1.15rem; color:var(--paper); text-decoration:none; display:flex; align-items:center; gap:.5rem}
.brand .mini-sam{width:30px;height:30px;flex:none}
nav.main{margin-left:auto; display:flex; gap:.15rem; flex-wrap:wrap}
nav.main a{
  color:var(--paper-deep); text-decoration:none; padding:.35rem .6rem;
  border-radius:8px; font-size:.92rem; font-weight:600;
}
nav.main a:hover{background:rgba(255,255,255,.12); color:#fff}
nav.main a.active{background:var(--wheat); color:var(--ink)}

/* ---------- Layout ---------- */
main{max-width:var(--maxw); margin:0 auto; padding:2.2rem 1.2rem 4rem}
.lead{font-size:1.18rem; color:var(--ink-soft)}
.center{text-align:center}

/* ---------- Hero ---------- */
.hero{display:flex; gap:2rem; align-items:center; flex-wrap:wrap; padding:1.5rem 0 1rem}
.hero .sam-figure{flex:0 0 230px; margin:0 auto}
.hero .words{flex:1 1 360px}
.eyebrow{
  display:inline-block; font-size:.8rem; letter-spacing:.14em; text-transform:uppercase;
  font-weight:700; color:var(--barn); margin-bottom:.4rem;
}

/* ---------- Sam + speech bubbles ---------- */
.sam-says{display:flex; gap:1rem; align-items:flex-start; margin:1.8rem 0}
.sam-says .sam-figure{flex:0 0 110px}
.bubble{
  position:relative; background:#fff; border:2px solid var(--ink);
  border-radius:var(--radius); padding: .85rem 1.1rem; box-shadow:var(--shadow); flex:1;
}
.bubble:before{
  content:""; position:absolute; left:-14px; top:26px;
  border:8px solid transparent; border-right-color:var(--ink);
}
.bubble:after{
  content:""; position:absolute; left:-10px; top:28px;
  border:6px solid transparent; border-right-color:#fff;
}
.bubble .who{font-weight:700; font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; color:var(--field); margin-bottom:.2rem}

/* ---------- Semantic voices ---------- */
.lgt-voice{
  background:var(--wheat-pale); border-left:6px solid var(--wheat);
  border-radius:0 var(--radius) var(--radius) 0; padding:.9rem 1.1rem; margin:1rem 0;
}
.lgt-voice .who{color:#8a6310}
.gospel-voice{
  background:var(--denim-pale); border-left:6px solid var(--denim);
  border-radius:0 var(--radius) var(--radius) 0; padding:.9rem 1.1rem; margin:1rem 0;
}
.gospel-voice .who{color:var(--denim)}
.who{font-weight:700; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; display:block; margin-bottom:.25rem}

blockquote.scripture{
  font-family:'Spectral',Georgia,serif; font-style:italic; font-size:1.08rem;
  margin:1rem 0; padding:.4rem 0 .4rem 1.2rem; border-left:3px solid var(--wheat);
  color:var(--ink-soft);
}
blockquote.scripture cite{display:block; font-style:normal; font-family:'Source Sans 3',sans-serif; font-size:.85rem; font-weight:700; margin-top:.35rem; color:var(--ink)}

/* ---------- Cards / grid ---------- */
.card-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1.1rem; margin:1.6rem 0}
.card{
  background:#fff; border:2px solid var(--paper-deep); border-radius:var(--radius);
  padding:1.1rem 1.2rem; box-shadow:var(--shadow); text-decoration:none; color:var(--ink);
  display:block; transition:transform .15s ease, border-color .15s ease;
}
a.card:hover{transform:translateY(-3px); border-color:var(--wheat); color:var(--ink)}
.card h3{margin-top:0}
.card .go{color:var(--barn); font-weight:700; font-size:.9rem}

/* ---------- Timeline ---------- */
.timeline{list-style:none; margin:2rem 0; padding:0; position:relative}
.timeline:before{content:""; position:absolute; left:84px; top:6px; bottom:6px; width:3px; background:var(--wheat)}
.timeline li{display:flex; gap:1.4rem; margin:0 0 1.6rem; position:relative}
.timeline .year{
  flex:0 0 70px; text-align:right; font-family:'Young Serif',Georgia,serif;
  font-size:1.05rem; color:var(--barn); padding-top:.1rem;
}
.timeline .dot{
  position:absolute; left:78px; top:.45rem; width:15px; height:15px; border-radius:50%;
  background:var(--paper); border:4px solid var(--wheat);
}
.timeline .what{flex:1; padding-left:1.6rem}
.timeline .what strong{display:block}

/* ---------- Accordion (respond page) ---------- */
.accordion{margin:1.5rem 0}
.acc-item{border:2px solid var(--paper-deep); border-radius:var(--radius); margin-bottom:.8rem; background:#fff; overflow:hidden}
.acc-item summary{
  cursor:pointer; list-style:none; padding: .95rem 1.1rem; font-weight:700;
  display:flex; gap:.7rem; align-items:flex-start; background:var(--wheat-pale);
}
.acc-item summary::-webkit-details-marker{display:none}
.acc-item summary .qmark{
  flex:none; width:1.6rem; height:1.6rem; border-radius:50%; background:var(--wheat); color:var(--ink);
  display:flex; align-items:center; justify-content:center; font-family:'Young Serif',Georgia,serif;
}
.acc-item[open] summary{border-bottom:2px solid var(--paper-deep)}
.acc-body{padding:1rem 1.2rem}
.why{
  background:var(--paper-deep); border-radius:10px; padding: .8rem 1rem; margin-top: .8rem; font-size:.97rem;
}
.why .who{color:var(--barn)}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block; background:var(--barn); color:#fff !important; text-decoration:none;
  font-weight:700; border:none; border-radius:999px; padding:.65rem 1.5rem;
  font-size:1rem; cursor:pointer; font-family:inherit;
  box-shadow:0 3px 0 #6f2a1d; transition:transform .1s;
}
.btn:hover{transform:translateY(-1px); color:#fff !important}
.btn:active{transform:translateY(1px); box-shadow:none}
.btn.gold{background:var(--wheat); color:var(--ink) !important; box-shadow:0 3px 0 #9a6c12}
.btn.quiet{background:#fff; color:var(--ink) !important; border:2px solid var(--ink); box-shadow:none}
.choice-list{display:flex; flex-direction:column; gap:.6rem; margin:1rem 0}
.choice-list button{
  text-align:left; background:#fff; border:2px solid var(--denim); color:var(--ink);
  border-radius:10px; padding:.7rem 1rem; font:inherit; cursor:pointer;
}
.choice-list button:hover{background:var(--denim-pale)}

/* ---------- Quiz ---------- */
#quiz-stage{min-height:340px}
.progress{display:flex; gap:.4rem; margin:1rem 0 1.6rem}
.progress span{flex:1; height:8px; border-radius:4px; background:var(--paper-deep)}
.progress span.done{background:var(--wheat)}
.fade-in{animation:fadeUp .4s ease both}
@keyframes fadeUp{from{opacity:0; transform:translateY(8px)} to{opacity:1; transform:none}}
@media (prefers-reduced-motion:reduce){
  .fade-in{animation:none}
  a.card{transition:none}
}

/* ---------- Game (phone scene) ---------- */
.phone{
  max-width:400px; margin:2rem auto; background:#fff; border:3px solid var(--ink);
  border-radius:28px; box-shadow:var(--shadow); overflow:hidden;
}
.phone .screen{padding:1.1rem 1.2rem 1.6rem}
.phone .statusbar{
  background:var(--ink); color:var(--paper); font-size:.78rem; padding:.35rem .9rem;
  display:flex; justify-content:space-between; font-weight:700;
}
.day-step{margin:1.1rem 0; padding-bottom:1rem; border-bottom:1px dashed var(--paper-deep)}
.day-step .time{font-family:'Young Serif',Georgia,serif; color:var(--barn); font-size:.95rem}
.sin-counter{
  background:var(--ink); color:var(--wheat); border-radius:10px; text-align:center;
  font-family:'Young Serif',Georgia,serif; padding:.5rem; margin:.6rem 0; font-size:1rem;
}
.scene{
  position:relative; background:linear-gradient(#cfe0ee 0%, var(--denim-pale) 70%, var(--paper-deep) 70%);
  border:3px solid var(--ink); border-radius:var(--radius); margin:2rem auto; max-width:640px;
  padding:1rem; overflow:hidden;
}
.float-wrap{animation:floaty 4s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)}}
@media (prefers-reduced-motion:reduce){.float-wrap{animation:none}}
.grandpa-btn{background:none;border:none;padding:0;cursor:pointer;display:block;margin:0 auto}
.scene .caption{text-align:center; font-size:.92rem; color:var(--ink-soft)}
.shh-bubble{
  display:none; max-width:420px; margin: -0.5rem auto 1rem; position:relative; z-index:2;
}
.shh-bubble.show{display:block}

/* ---------- Sources ---------- */
.src-list{list-style:none; padding:0}
.src-list li{margin:.9rem 0; padding:.9rem 1.1rem; background:#fff; border:2px solid var(--paper-deep); border-radius:10px}
.src-list .tag{font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--field); display:block}

/* ---------- Footer ---------- */
.site-footer{
  background:var(--ink); color:var(--paper-deep); margin-top:3rem;
  padding:2rem 1.2rem; font-size:.92rem;
}
.site-footer .inner{max-width:var(--maxw); margin:0 auto}
.site-footer a{color:var(--wheat)}
.kindness{
  border:1px dashed var(--wheat); border-radius:10px; padding:.8rem 1rem; margin-top:1rem;
  color:var(--paper);
}

@media (max-width:640px){
  .timeline:before{left:14px}
  .timeline .year{flex:0 0 auto; text-align:left; order:1; padding-left:2.4rem}
  .timeline li{flex-direction:column; gap:.2rem}
  .timeline .dot{left:8px}
  .timeline .what{padding-left:2.4rem; order:2}
  .sam-says .sam-figure{flex:0 0 80px}
}


/* ---------- Mobile nav toggle ---------- */
.nav-toggle{
  display:none; margin-left:auto; background:var(--wheat); color:var(--ink);
  border:none; border-radius:8px; font:inherit; font-weight:700;
  padding:.45rem .8rem; cursor:pointer;
}
@media (max-width:860px){
  .nav-toggle{display:block}
  nav.main{
    display:none; width:100%; flex-direction:column; gap:.2rem; padding:.4rem 0 .6rem;
  }
  nav.main.open{display:flex}
  nav.main a{padding:.7rem .8rem; font-size:1.02rem; border-radius:8px}
  .btn{padding:.8rem 1.6rem}
  .choice-list button{padding:.9rem 1rem}
}

/* ---------- Movement badges (Socratic page) ---------- */
.movement{
  display:inline-flex; align-items:center; gap:.5rem; background:var(--denim); color:#fff;
  border-radius:999px; padding:.3rem 1rem .3rem .4rem; font-weight:700; font-size:.9rem;
  letter-spacing:.06em; text-transform:uppercase; margin:1.8rem 0 .6rem;
}
.movement .n{
  background:var(--wheat); color:var(--ink); width:1.7rem; height:1.7rem; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-family:'Young Serif',Georgia,serif;
}
.qcard{
  background:#fff; border:2px solid var(--paper-deep); border-radius:var(--radius);
  padding:1.1rem 1.2rem; margin: .9rem 0; box-shadow:var(--shadow);
}
.qcard .qnum{font-family:'Young Serif',Georgia,serif; color:var(--barn); font-size:1rem}
.qcard textarea{
  width:100%; min-height:70px; border:2px solid var(--paper-deep); border-radius:10px;
  font:inherit; padding:.6rem .8rem; margin:.6rem 0 .4rem; resize:vertical;
}
.qcard .insight{display:none; margin-top:.6rem}
.qcard.revealed .insight{display:block}
.reveal-check{color:var(--field); font-weight:700}

/* ---------- Trying vs Trusting ---------- */
.vs-grid{display:grid; grid-template-columns:1fr 1fr; gap:0; margin:1.4rem 0;
  border:2px solid var(--ink); border-radius:var(--radius); overflow:hidden}
.vs-grid .vs-head{font-family:'Young Serif',Georgia,serif; font-size:1.1rem; padding:.7rem 1rem; color:#fff; text-align:center}
.vs-grid .try .vs-head{background:var(--barn)}
.vs-grid .trust .vs-head{background:var(--denim)}
.vs-grid .try{background:#FBEAE6}
.vs-grid .trust{background:var(--denim-pale)}
.vs-grid ul{margin:.6rem 0 1rem; padding-left:1.4rem}
.vs-grid li{margin:.45rem 0}
@media (max-width:560px){.vs-grid{grid-template-columns:1fr}}

/* ---------- The shift steps ---------- */
.shift-step{
  display:flex; gap:1rem; margin:1rem 0; background:#fff; border:2px solid var(--paper-deep);
  border-radius:var(--radius); padding:1rem 1.1rem; box-shadow:var(--shadow);
}
.shift-step .step-n{
  flex:none; width:2.4rem; height:2.4rem; border-radius:50%; background:var(--wheat);
  color:var(--ink); font-family:'Young Serif',Georgia,serif; font-size:1.2rem;
  display:flex; align-items:center; justify-content:center;
}
.shift-step.bad .step-n{background:var(--barn); color:#fff}

/* ---------- Big word callout ---------- */
.bigword{
  text-align:center; margin:2rem 0; padding:1.6rem 1rem; border-radius:var(--radius);
  background:linear-gradient(135deg, var(--ink) 0%, #4a3826 100%); color:var(--paper);
}
.bigword .gk{font-family:'Young Serif',Georgia,serif; font-size:clamp(1.8rem,6vw,2.8rem); color:var(--wheat)}
.bigword .sub{font-size:1rem; color:var(--paper-deep)}

/* ============ Sam animations (Clippy energy) ============ */
.sam-svg .sam-eye, .sam-svg .sam-arm, .sam-svg .sam-head, .sam-svg .sam-wheat, .sam-svg .sam-all{
  transform-box: fill-box;
}
@media (prefers-reduced-motion: no-preference){
  /* whole-body gentle bob */
  .sam-svg .sam-all{ transform-origin: 50% 100%; animation: samBob 3.6s ease-in-out infinite; }
  @keyframes samBob{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-5px)} }
  /* head tilt */
  .sam-svg .sam-head{ transform-origin: 50% 90%; animation: samTilt 7s ease-in-out infinite; }
  @keyframes samTilt{ 0%,86%,100%{transform:rotate(0deg)} 90%{transform:rotate(-4deg)} 95%{transform:rotate(3deg)} }
  /* blink */
  .sam-svg .sam-eye{ transform-origin: center; animation: samBlink 4.4s infinite; }
  @keyframes samBlink{ 0%,90%,100%{transform:scaleY(1)} 93%,95%{transform:scaleY(.08)} }
  /* wheat wiggle */
  .sam-svg .sam-wheat{ transform-origin: 0% 100%; animation: samWheat 5s ease-in-out infinite; }
  @keyframes samWheat{ 0%,100%{transform:rotate(0deg)} 50%{transform:rotate(6deg)} }
  /* right arm: idle sway, or full wave */
  .sam-svg .sam-arm{ transform-origin: 10% 90%; }
  .sam-svg .sam-arm-idle{ animation: samSway 6s ease-in-out infinite; }
  @keyframes samSway{ 0%,80%,100%{transform:rotate(6deg)} 88%{transform:rotate(-8deg)} 94%{transform:rotate(2deg)} }
  .sam-svg .sam-arm-wave{ animation: samWave 2.4s ease-in-out infinite; }
  @keyframes samWave{ 0%,100%{transform:rotate(-30deg)} 25%{transform:rotate(-52deg)} 50%{transform:rotate(-26deg)} 75%{transform:rotate(-50deg)} }
}
@media (prefers-reduced-motion: reduce){
  .sam-svg .sam-arm-wave{ transform: rotate(-38deg); }
}

/* ============ Clippy-style corner helper ============ */
.sam-helper{
  position:fixed; right:14px; bottom:14px; z-index:90;
  display:flex; flex-direction:column; align-items:flex-end; gap:.4rem;
}
.sam-helper-btn{
  position:relative;
  width:78px; height:100px; background:none; border:none; padding:0; cursor:pointer;
  filter: drop-shadow(0 3px 6px rgba(43,33,24,.3));
}
.sam-helper-btn:hover{ transform:scale(1.05); }
.sam-helper-cue{
  position:absolute; bottom:100%; right:0; margin-bottom:6px;
  background:#D99A1F; color:#2B2118; font-weight:700; font-size:.78rem;
  white-space:nowrap; padding:.3rem .6rem; border-radius:999px;
  border:2px solid #2B2118; box-shadow:0 2px 4px rgba(43,33,24,.25);
  pointer-events:none;
}
.sam-helper-cue.gone{ display:none; }
@media (prefers-reduced-motion: no-preference){
  .sam-helper-cue{ animation: cueBob 1.6s ease-in-out infinite; }
  @keyframes cueBob{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-3px)} }
}
@media (prefers-reduced-motion: no-preference){
  .sam-helper-btn.nudge{ animation: samNudge .8s ease-in-out 3; }
  @keyframes samNudge{ 0%,100%{transform:rotate(0)} 30%{transform:rotate(-7deg)} 60%{transform:rotate(6deg)} }
}
.sam-helper-bubble{
  display:none; max-width:260px; background:#fff; border:2px solid var(--ink);
  border-radius:14px 14px 2px 14px; padding:.7rem .9rem; font-size:.92rem;
  box-shadow:var(--shadow);
}
.sam-helper-bubble.show{ display:block; animation: fadeUp .25s ease both; }
@media (max-width:640px){
  .sam-helper-btn{ width:58px; height:76px; }
  .sam-helper-bubble{ max-width:210px; font-size:.88rem; }
}

/* ============================================================
   GOSPEL (Christ Our Righteousness) THEME
   Scoped to .gospel-theme — greens & gold, distinct from LGT amber
   ============================================================ */
.gospel-theme{
  --wheat:#cfe9c2;          /* repurposed soft highlights not used much here */
}
.gospel-theme .site-header{ background:#1f3320; border-bottom-color:#7FB05A; }
.gospel-theme nav.main a.active{ background:#7FB05A; color:#15240f; }
.gospel-theme .nav-toggle{ background:#7FB05A; color:#15240f; }
.gospel-theme .eyebrow{ color:#41702c; }

/* gospel hero */
.gospel-banner{
  background:linear-gradient(135deg,#2c4a2a 0%, #41702c 60%, #6b8f3a 100%);
  color:#F4F8EE; border-radius:20px; padding:2rem 1.6rem; margin:1rem 0 2rem;
  border:3px solid #1f3320;
}
.gospel-banner .eyebrow{ color:#cfe9c2; }
.gospel-banner h1{ color:#fff; }
.gospel-banner .based{ font-style:italic; color:#dcebcb; font-size:.95rem; }

/* truth (gift) vs error (earn) voices — green/clay */
.truth-voice{
  background:#e6f1dd; border-left:6px solid #41702c;
  border-radius:0 var(--radius) var(--radius) 0; padding:.9rem 1.1rem; margin:1rem 0;
}
.truth-voice .who{ color:#2f5320; }
.earn-voice{
  background:#f3e7df; border-left:6px solid #9c6b3f;
  border-radius:0 var(--radius) var(--radius) 0; padding:.9rem 1.1rem; margin:1rem 0;
}
.earn-voice .who{ color:#7a4f2a; }

.gospel-theme a{ color:#41702c; }
.gospel-theme a:hover{ color:#9c4a2a; }
.gospel-theme .btn{ background:#41702c; box-shadow:0 3px 0 #2c4a1d; color:#fff; }
.gospel-theme .btn:hover{ color:#fff; }
.gospel-theme .btn.gold{ background:#D99A1F; color:#2B2118; box-shadow:0 3px 0 #9a6c12; }
.gospel-theme .btn.gold:hover{ color:#2B2118; }
.gospel-theme .btn.quiet{ background:#fff; color:var(--ink); }
.gospel-theme .btn.quiet:hover{ color:var(--ink); }
.gospel-theme .card .go{ color:#41702c; }
.gospel-theme a.card:hover{ border-color:#7FB05A; }
.gospel-theme .site-footer{ background:#1f3320; }
.gospel-theme .site-footer a{ color:#9FCB78; }
.gospel-theme .kindness{ border-color:#7FB05A; }

/* gift box accent used on COR home cards */
.cor-pearl{
  display:inline-block; font-size:1.4rem; margin-right:.3rem;
}

/* ============================================================
   CONVERSATIONS ABOUT GOD (Graham Maxwell) THEME
   Scoped to .trust-theme - blues & teal, "trust over fear"
   ============================================================ */
.trust-theme .site-header{ background:#11303d; border-bottom-color:#4fa3c4; }
.trust-theme nav.main a.active{ background:#4fa3c4; color:#08222c; }
.trust-theme .nav-toggle{ background:#4fa3c4; color:#08222c; }
.trust-theme .eyebrow{ color:#2f6f8f; }

.trust-banner{
  background:linear-gradient(135deg,#10303d 0%, #1f5b73 55%, #3f8aa6 100%);
  color:#EAF4F8; border-radius:20px; padding:2rem 1.6rem; margin:1rem 0 2rem;
  border:3px solid #0c2530;
}
.trust-banner .eyebrow{ color:#b9e1ef; }
.trust-banner h1{ color:#fff; }
.trust-banner .based{ font-style:italic; color:#cfe8f1; font-size:.95rem; }

/* trust (God revealed) vs fear (God misrepresented) voices */
.god-voice{
  background:#e0f0f6; border-left:6px solid #2f6f8f;
  border-radius:0 var(--radius) var(--radius) 0; padding:.9rem 1.1rem; margin:1rem 0;
}
.god-voice .who{ color:#1f5066; }
.fear-voice{
  background:#efe6e2; border-left:6px solid #9c6b3f;
  border-radius:0 var(--radius) var(--radius) 0; padding:.9rem 1.1rem; margin:1rem 0;
}
.fear-voice .who{ color:#7a4f2a; }

.trust-theme a{ color:#2f6f8f; }
.trust-theme a:hover{ color:#9c4a2a; }
.trust-theme .btn{ background:#2f6f8f; box-shadow:0 3px 0 #1f4a5e; color:#fff; }
.trust-theme .btn:hover{ color:#fff; }
.trust-theme .btn.gold{ background:#D99A1F; color:#2B2118; box-shadow:0 3px 0 #9a6c12; }
.trust-theme .btn.gold:hover{ color:#2B2118; }
.trust-theme .btn.quiet{ background:#fff; color:var(--ink); }
.trust-theme .btn.quiet:hover{ color:var(--ink); }
.trust-theme .card .go{ color:#2f6f8f; }
.trust-theme a.card:hover{ border-color:#4fa3c4; }
.trust-theme .site-footer{ background:#11303d; }
.trust-theme .site-footer a{ color:#8fcadf; }
.trust-theme .kindness{ border-color:#4fa3c4; }
.cag-icon{ display:inline-block; font-size:1.4rem; margin-right:.3rem; }

/* ============================================================
   RIGHTEOUSNESS THEME (communion sermon, Matthew 5:6)
   Scoped to .rt-theme - deep gold / wedding-garment
   ============================================================ */
.rt-theme .site-header{ background:#3a2c0a; border-bottom-color:#D99A1F; }
.rt-theme nav.main a.active{ background:#D99A1F; color:#2B2118; }
.rt-theme .nav-toggle{ background:#D99A1F; color:#2B2118; }
.rt-theme .eyebrow{ color:#9a6c12; }

.rt-banner{
  background:linear-gradient(135deg,#3a2c0a 0%, #7a5a12 55%, #b07d10 100%);
  color:#FBF3E0; border-radius:20px; padding:2rem 1.6rem; margin:1rem 0 2rem;
  border:3px solid #2e2208;
}
.rt-banner .eyebrow{ color:#f3dca0; }
.rt-banner h1{ color:#fff; }
.rt-banner .based{ font-style:italic; color:#eedcab; font-size:.95rem; }

.rt-theme a{ color:#9a6c12; }
.rt-theme a:hover{ color:#9c4a2a; }
.rt-theme .btn{ background:#b07d10; box-shadow:0 3px 0 #7a5409; color:#fff; }
.rt-theme .btn:hover{ color:#fff; }
.rt-theme .btn.gold{ background:#D99A1F; color:#2B2118; box-shadow:0 3px 0 #9a6c12; }
.rt-theme .btn.gold:hover{ color:#2B2118; }
.rt-theme .btn.quiet{ background:#fff; color:var(--ink); }
.rt-theme .btn.quiet:hover{ color:var(--ink); }
.rt-theme .card .go{ color:#9a6c12; }
.rt-theme a.card:hover{ border-color:#D99A1F; }
.rt-theme .site-footer{ background:#3a2c0a; }
.rt-theme .site-footer a{ color:#e9c66e; }
.rt-theme .kindness{ border-color:#D99A1F; }

/* gospel (true) voice for righteousness pages */
.rt-truth{
  background:#fbf0d4; border-left:6px solid #b07d10;
  border-radius:0 var(--radius) var(--radius) 0; padding:.9rem 1.1rem; margin:1rem 0;
}
.rt-truth .who{ color:#7a5409; }

/* ===== Three-ditch comparison: cheap grace | gospel | legalism ===== */
.three-ditch{
  display:grid; grid-template-columns:1fr 1fr 1fr; gap:0; margin:1.5rem 0;
  border:2px solid var(--ink); border-radius:var(--radius); overflow:hidden;
}
.three-ditch > div{ padding:0 0 1rem; }
.three-ditch .td-head{
  font-family:'Young Serif',Georgia,serif; font-size:1.02rem; padding:.7rem .8rem;
  color:#fff; text-align:center; margin-bottom:.6rem;
}
.three-ditch .cheap .td-head{ background:#6a8aa0; }
.three-ditch .gospel .td-head{ background:#b07d10; }
.three-ditch .legal .td-head{ background:#A3402E; }
.three-ditch .cheap{ background:#eef3f6; }
.three-ditch .gospel{ background:#fbf0d4; }
.three-ditch .legal{ background:#f7eae6; }
.three-ditch ul{ margin:.3rem 0; padding:0 .9rem 0 1.6rem; }
.three-ditch li{ margin:.4rem 0; font-size:.92rem; }
.three-ditch .td-tag{ display:block; text-align:center; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; font-weight:700; margin-bottom:.5rem; opacity:.75; }
@media (max-width:680px){ .three-ditch{ grid-template-columns:1fr; } }

/* balance bar graphic */
.balance-bar{
  display:flex; align-items:stretch; border:2px solid var(--ink); border-radius:999px;
  overflow:hidden; margin:1.4rem 0; font-weight:700; text-align:center; font-size:.9rem;
}
.balance-bar > div{ padding:.7rem .5rem; }
.balance-bar .bb-left{ background:#6a8aa0; color:#fff; flex:1; }
.balance-bar .bb-mid{ background:#D99A1F; color:#2B2118; flex:1.1; }
.balance-bar .bb-right{ background:#A3402E; color:#fff; flex:1; }

/* ============================================================
   TWO COVENANTS THEME (Henry Marte, Galatians 4)
   Scoped to .tc-theme - deep plum / freedom-purple
   ============================================================ */
.tc-theme .site-header{ background:#2d1b3d; border-bottom-color:#9b72c4; }
.tc-theme nav.main a.active{ background:#9b72c4; color:#21142e; }
.tc-theme .nav-toggle{ background:#9b72c4; color:#21142e; }
.tc-theme .eyebrow{ color:#6b4596; }

.tc-banner{
  background:linear-gradient(135deg,#2d1b3d 0%, #4f3270 55%, #6b4596 100%);
  color:#F2EAF8; border-radius:20px; padding:2rem 1.6rem; margin:1rem 0 2rem;
  border:3px solid #21142e;
}
.tc-banner .eyebrow{ color:#d9c6ee; }
.tc-banner h1{ color:#fff; }
.tc-banner .based{ font-style:italic; color:#ddccef; font-size:.95rem; }

.tc-theme a{ color:#6b4596; }
.tc-theme a:hover{ color:#9c4a2a; }
.tc-theme .btn{ background:#6b4596; box-shadow:0 3px 0 #4a2f6b; color:#fff; }
.tc-theme .btn:hover{ color:#fff; }
.tc-theme .btn.gold{ background:#D99A1F; color:#2B2118; box-shadow:0 3px 0 #9a6c12; }
.tc-theme .btn.gold:hover{ color:#2B2118; }
.tc-theme .btn.quiet{ background:#fff; color:var(--ink); }
.tc-theme .btn.quiet:hover{ color:var(--ink); }
.tc-theme .card .go{ color:#6b4596; }
.tc-theme a.card:hover{ border-color:#9b72c4; }
.tc-theme .site-footer{ background:#2d1b3d; }
.tc-theme .site-footer a{ color:#c8a9e6; }
.tc-theme .kindness{ border-color:#9b72c4; }

/* old (bondage) vs new (free) covenant voices */
.old-cov{
  background:#efe6e2; border-left:6px solid #9c6b3f;
  border-radius:0 var(--radius) var(--radius) 0; padding:.9rem 1.1rem; margin:1rem 0;
}
.old-cov .who{ color:#7a4f2a; }
.new-cov{
  background:#ece4f5; border-left:6px solid #6b4596;
  border-radius:0 var(--radius) var(--radius) 0; padding:.9rem 1.1rem; margin:1rem 0;
}
.new-cov .who{ color:#4a2f6b; }

/* two-covenant comparison grid */
.cov-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:0; margin:1.5rem 0;
  border:2px solid var(--ink); border-radius:var(--radius); overflow:hidden;
}
.cov-grid > div{ padding:0 0 1rem; }
.cov-grid .cov-head{
  font-family:'Young Serif',Georgia,serif; font-size:1.02rem; padding:.7rem .8rem;
  color:#fff; text-align:center; margin-bottom:.6rem;
}
.cov-grid .old .cov-head{ background:#9c6b3f; }
.cov-grid .new .cov-head{ background:#6b4596; }
.cov-grid .old{ background:#f7eae6; }
.cov-grid .new{ background:#ece4f5; }
.cov-grid ul{ margin:.3rem 0; padding:0 .9rem 0 1.6rem; }
.cov-grid li{ margin:.45rem 0; font-size:.93rem; }
.cov-grid .cov-tag{ display:block; text-align:center; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; font-weight:700; margin-bottom:.5rem; opacity:.75; }
@media (max-width:640px){ .cov-grid{ grid-template-columns:1fr; } }

/* ============================================================
   Mobile "scroll for more" affordance
   ============================================================ */
.scroll-cue{
  position:fixed; left:50%; transform:translateX(-50%); bottom:16px; z-index:85;
  display:none; align-items:center; gap:.35rem;
  background:rgba(43,33,24,.86); color:#FAF3E3; border:none;
  border-radius:999px; padding:.4rem .85rem; cursor:pointer;
  font:inherit; font-size:.8rem; font-weight:700; letter-spacing:.02em;
  box-shadow:0 3px 10px rgba(43,33,24,.35); backdrop-filter:saturate(140%) blur(2px);
}
.scroll-cue.show{ display:inline-flex; }
.scroll-cue-arrow{ font-size:.7rem; line-height:1; }
@media (prefers-reduced-motion: no-preference){
  .scroll-cue.show{ animation: scrollCueIn .25s ease both; }
  .scroll-cue.show .scroll-cue-arrow{ animation: cueBob 1.4s ease-in-out infinite; }
  @keyframes scrollCueIn{ from{opacity:0; transform:translate(-50%, 8px)} to{opacity:1; transform:translate(-50%,0)} }
}
/* keep it clear of the corner Sam on small screens by nudging left */
@media (max-width:640px){
  .scroll-cue{ bottom:14px; left:42%; }
}

/* ============================================================
   Visitor counter (footer)
   ============================================================ */
.visit-counter{
  margin:.8rem auto 0; text-align:center; font-size:.82rem;
  color:#cbb890; opacity:.85; display:inline-flex; align-items:center; gap:.35rem;
  width:100%; justify-content:center;
}
.visit-counter .vc-num{ font-weight:700; font-variant-numeric:tabular-nums; color:#e6d4a8; }
.visit-counter .vc-eye{ font-size:.95rem; }
/* on light welcome footer, darken it for contrast */
.welcome-footer .visit-counter{ color:#4a5a38; }
.welcome-footer .visit-counter .vc-num{ color:#2c4f1e; }
