/* Abide — 2026 pastoral care platform surface.
   Warm, sincere, light. The brightness is the disguise.
   body.layer-2066 inverts to the hidden Covenant layer. */
:root {
  --bg:#FAF7F1; --surface:#FFFFFF; --text:#2B2620; --muted:#8A7F70;
  --accent:#C08A2E; --accent-soft:#F3E7D3; --sage:#7A9B76;
  --border:#EDE6DA; --radius:14px; --shadow:0 8px 30px rgba(43,38,32,.08);
  --font-body:'Inter',-apple-system,system-ui,sans-serif;
  --font-display:'Lora',Georgia,serif;
  --font-mono:'IBM Plex Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased}
.wrap{max-width:1040px;margin:0 auto;padding:0 1.5rem}
h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.2}

/* nav */
.abide-nav{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.5rem;max-width:1040px;margin:0 auto}
.abide-mark{font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--text);text-decoration:none;letter-spacing:.01em;cursor:pointer}
.abide-mark em{font-style:normal;color:var(--accent)}
.abide-nav ul{display:flex;gap:1.6rem;list-style:none}
.abide-nav a{color:var(--muted);text-decoration:none;font-size:.9rem;font-weight:500}
.abide-nav a:hover{color:var(--text)}

/* hero */
.hero{padding:5rem 0 4rem;text-align:center}
.hero .eyebrow{display:inline-block;background:var(--accent-soft);color:var(--accent);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .9rem;border-radius:999px;margin-bottom:1.4rem}
.hero h1{font-size:clamp(2.2rem,5vw,3.4rem);max-width:720px;margin:0 auto 1.2rem}
.hero .sub{color:var(--muted);font-size:1.1rem;max-width:560px;margin:0 auto 2rem}
.btn{display:inline-block;border-radius:999px;padding:.8rem 1.8rem;font-weight:600;font-size:.95rem;text-decoration:none;border:none;cursor:pointer;font-family:var(--font-body)}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{filter:brightness(1.08)}
.btn-outline{border:1.5px solid var(--border);color:var(--text);background:transparent;margin-left:.8rem}

/* sections */
section{padding:3.5rem 0}
.section-head{text-align:center;margin-bottom:2.4rem}
.section-head h2{font-size:1.9rem;margin-bottom:.6rem}
.section-head p{color:var(--muted);max-width:520px;margin:0 auto}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.4rem}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.8rem;box-shadow:var(--shadow)}
.card h3{font-size:1.15rem;margin-bottom:.6rem}
.card p{color:var(--muted);font-size:.92rem}
.card .ico{font-size:1.5rem;margin-bottom:.9rem;display:block}

/* testimonial */
blockquote{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow);max-width:720px;margin:0 auto}
blockquote p{font-family:var(--font-display);font-style:italic;font-size:1.05rem;margin-bottom:1rem}
blockquote cite{color:var(--muted);font-size:.85rem;font-style:normal}

/* footer */
.abide-footer{border-top:1px solid var(--border);padding:2.5rem 1.5rem;text-align:center;color:var(--muted);font-size:.8rem}
.abide-footer .fine{margin-top:.6rem;font-size:.68rem;opacity:.55}
.abide-footer a{color:inherit}
.byline-wordmark{font-size:.62rem;opacity:.4;margin-top:.4rem}

/* 2066 hidden layer inversion */
.reveal-only{display:none}

/* confession demo */
.confess-card{max-width:640px;margin:3.5rem auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2.4rem;box-shadow:var(--shadow)}
.confess-card h1{font-size:1.6rem;margin-bottom:.5rem}
.confess-card .lead{color:var(--muted);font-size:.95rem;margin-bottom:1.4rem}
#confess-input{width:100%;min-height:130px;border:1.5px solid var(--border);border-radius:10px;padding:1rem;font-family:var(--font-body);font-size:.95rem;color:var(--text);background:var(--bg);resize:vertical;line-height:1.6}
#confess-input:focus{outline:none;border-color:var(--accent)}
#confess-response{margin-top:1.4rem;font-family:var(--font-display);font-style:italic;font-size:1.02rem;line-height:1.7;color:var(--text);min-height:1.2em;white-space:pre-wrap}
#confess-response.placeholder{color:var(--muted)}
.confess-actions{margin-top:1.2rem;display:flex;align-items:center;gap:1rem}
.crisis-note{margin-top:1.8rem;font-size:.72rem;color:var(--muted);border-top:1px solid var(--border);padding-top:1rem;line-height:1.6}
.crisis-note strong{color:var(--text)}

/* pricing / terms / colophon */
.page-head{text-align:center;padding:3.5rem 0 1rem}
.page-head h1{font-size:2.1rem;margin-bottom:.6rem}
.page-head p{color:var(--muted);max-width:520px;margin:0 auto}
.tier-price{font-family:var(--font-display);font-size:1.9rem;font-weight:700;color:var(--text);margin:.4rem 0 .2rem}
.tier-price small{font-size:.85rem;font-weight:400;color:var(--muted)}
.tier-list{list-style:none;margin-top:1rem}
.tier-list li{color:var(--muted);font-size:.9rem;padding:.35rem 0;border-bottom:1px dashed var(--border)}
.tier-list li:last-child{border-bottom:none}
.badge{display:inline-block;background:var(--accent);color:#fff;font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.25rem .7rem;border-radius:999px;margin-bottom:.6rem}
.card.featured{border-color:var(--accent)}
.terms-section{max-width:720px;margin:0 auto 2.2rem}
.terms-section h2{font-size:1.2rem;margin-bottom:.5rem}
.terms-section h2 .sec{color:var(--accent);font-family:var(--font-mono);font-size:.9rem;margin-right:.5rem}
.terms-section p{color:var(--muted);font-size:.95rem;margin-bottom:.7rem}
.terms-note{text-align:center;color:var(--muted);font-size:.78rem;font-style:italic;margin:2.5rem auto 3.5rem;max-width:520px}
.prose{max-width:680px;margin:0 auto}
.prose h2{font-size:1.35rem;margin:2rem 0 .6rem}
.prose p{color:var(--muted);font-size:.95rem;margin-bottom:1rem}
.prose .disclosure{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow);margin:1.6rem 0}
.help-lines{list-style:none;margin:1rem 0}
.help-lines li{padding:.45rem 0;border-bottom:1px dashed var(--border);font-size:.9rem;color:var(--muted)}
.help-lines li:last-child{border-bottom:none}
.help-lines strong{color:var(--text);font-family:var(--font-mono);font-size:.85rem}
.bridge{font-style:italic;color:var(--muted);border-left:3px solid var(--accent);padding-left:1rem;margin:1.8rem 0;font-size:.92rem}
body.layer-2066{--bg:#0E0D0B;--surface:#161410;--text:#E8DFC8;--muted:#8A7F66;--accent:#B8945A;--accent-soft:#2A2418;--sage:#5A6B52;--border:#2E2A20;--shadow:none}
body.layer-2066 .surface-only{display:none}
body.layer-2066 .reveal-only{display:block}
body.layer-2066::after{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(0,0,0,.14) 2px 3px);z-index:9998}
.glitching{animation:abide-glitch .18s steps(2) 4}
@keyframes abide-glitch{0%{opacity:1;transform:none}50%{opacity:.35;transform:translateX(2px)}100%{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.glitching{animation:none}}
