/* ============================================================
   LAYMAN'S LANTERN — FOUNDATIONS OF THE FAITH
   Design tokens match the existing site aesthetic:
   warm umber ground, parchment ink, lantern-gold accent.
   ============================================================ */
.foundations-content{
  --ground:#1a120b;          /* site background — deep umber */
  --panel:#231810;           /* raised panels */
  --panel-deep:#150e08;      /* recessed wells */
  --ink:#e6d9c3;             /* parchment body text */
  --ink-dim:#a89476;         /* muted captions, labels */
  --gold:#c9a227;            /* lantern gold — accents, links */
  --gold-soft:#8a6f2f;       /* quiet gold, borders */
  --ember:#9c5a32;           /* rust ember — secondary accent */
  --line:rgba(201,162,39,.22);
  --maxw:920px;
}
.foundations-content *{margin:0;padding:0;box-sizing:border-box}
.foundations-content{
  background:var(--ground);
  color:var(--ink);
  font-family:'EB Garamond',Georgia,serif;
  font-size:1.075rem;
  line-height:1.7;
}
.foundations-content ::selection{background:var(--gold-soft);color:var(--ground)}
.foundations-content a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(201,162,39,.35);transition:border-color .2s,color .2s}
.foundations-content a:hover{color:#e2c25a;border-bottom-color:#e2c25a}
.foundations-content a:focus-visible,.foundations-content button:focus-visible,.foundations-content summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ---------- hero ---------- */
.foundations-content .hero{max-width:var(--maxw);margin:0 auto;padding:4.5rem 1.5rem 2.5rem;text-align:center}
.foundations-content .eyebrow{
  font-variant:small-caps;letter-spacing:.28em;font-size:.85rem;color:var(--gold);
}
.foundations-content .hero h1{
  font-family:'Cormorant Garamond',serif;font-weight:500;
  font-size:clamp(2.4rem,6vw,3.6rem);line-height:1.12;margin:.6rem 0 .4rem;color:#f0e6d2;
}
.foundations-content .hero .latin{font-style:italic;color:var(--ink-dim);font-size:1.05rem}
.foundations-content .hero .lede{max-width:640px;margin:1.5rem auto 0;color:var(--ink);font-size:1.12rem}
.foundations-content .orn{color:var(--gold);letter-spacing:.6em;margin:2rem 0 0;font-size:.95rem}

/* ---------- section index (tabs) ---------- */
.foundations-content .index-nav{
  position:sticky;top:92px;z-index:40;background:rgba(26,18,11,.94);backdrop-filter:blur(6px);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.foundations-content .index-nav .inner{max-width:var(--maxw);margin:0 auto;display:flex;gap:.25rem;overflow-x:auto;padding:.4rem 1rem;scrollbar-width:thin}
.foundations-content .tab-btn{
  background:none;border:none;cursor:pointer;white-space:nowrap;
  font-family:'EB Garamond',serif;font-variant:small-caps;letter-spacing:.1em;font-size:.98rem;
  color:var(--ink-dim);padding:.55rem .9rem;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;
}
.foundations-content .tab-btn:hover{color:var(--ink)}
.foundations-content .tab-btn.active{color:var(--gold);border-bottom-color:var(--gold)}

/* ---------- panels ---------- */
.foundations-content .panel{display:none;max-width:var(--maxw);margin:0 auto;padding:3rem 1.5rem 4.5rem;animation:fadeUp .45s ease}
.foundations-content .panel.active{display:block}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .foundations-content .panel{animation:none}
}
.foundations-content .panel h2{
  font-family:'Cormorant Garamond',serif;font-weight:500;font-size:2.1rem;color:#f0e6d2;line-height:1.2;
}
.foundations-content .panel h2 .lvl{display:block;font-size:.8rem;font-family:'EB Garamond',serif;font-variant:small-caps;letter-spacing:.26em;color:var(--gold);margin-bottom:.5rem}
.foundations-content .panel h3{
  font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.45rem;color:#ead9b8;
  margin:2.4rem 0 .7rem;
}
.foundations-content .panel h4{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.15rem;color:var(--gold);margin:1.6rem 0 .4rem;letter-spacing:.02em}
.foundations-content .panel p{margin:.85rem 0}
.foundations-content .panel .intro{font-size:1.13rem;color:#efe4cd;margin-top:1rem}
.foundations-content .smallcaps{font-variant:small-caps;letter-spacing:.1em}
.foundations-content .dim{color:var(--ink-dim)}
.foundations-content .divider{text-align:center;color:var(--gold);letter-spacing:.6em;margin:2.6rem 0;font-size:.9rem}

/* ---------- architecture diagram ---------- */
.foundations-content .arch{margin:2.5rem 0 1rem}
.foundations-content .arch-tier{
  position:relative;border:1px solid var(--line);background:linear-gradient(180deg,var(--panel),var(--panel-deep));
  border-radius:4px;padding:1.15rem 1.3rem 1.15rem 4.4rem;margin:0 auto;cursor:pointer;
  transition:border-color .25s,box-shadow .25s,transform .25s;text-align:left;width:100%;
  font-family:inherit;color:inherit;font-size:inherit;display:block;
}
.foundations-content .arch-tier:hover{border-color:var(--gold-soft);box-shadow:0 0 22px rgba(201,162,39,.10);transform:translateY(-1px)}
.foundations-content .arch-tier .rn{
  position:absolute;left:1.15rem;top:50%;transform:translateY(-50%);
  font-family:'Cormorant Garamond',serif;font-size:1.7rem;color:var(--gold);width:2.4rem;text-align:center;
}
.foundations-content .arch-tier .t-name{font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:#f0e6d2;display:block}
.foundations-content .arch-tier .t-sub{color:var(--ink-dim);font-size:.98rem;display:block}
.foundations-content .arch-tier .t-tag{
  position:absolute;right:1.1rem;top:50%;transform:translateY(-50%);
  font-variant:small-caps;letter-spacing:.12em;font-size:.8rem;color:var(--gold-soft);
}
.foundations-content .arch-beam{width:1px;height:26px;margin:0 auto;background:linear-gradient(180deg,var(--gold),transparent);opacity:.65}
.foundations-content .arch .source{border-color:var(--gold-soft);box-shadow:0 0 30px rgba(201,162,39,.14)}
@media(max-width:600px){
  .foundations-content .arch-tier{padding-left:3.4rem;padding-right:1rem}
  .foundations-content .arch-tier .t-tag{display:none}
  .foundations-content .arch-tier .rn{left:.7rem}
}

/* ---------- cards ---------- */
.foundations-content .card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin:1.6rem 0}
.foundations-content .card{
  border:1px solid var(--line);border-radius:4px;background:var(--panel);
  padding:1.2rem 1.25rem;
}
.foundations-content .card h4{margin-top:0}
.foundations-content .card p{font-size:.99rem;color:var(--ink);margin:.4rem 0 0}
.foundations-content .card .note{font-size:.9rem;color:var(--ink-dim);font-style:italic}

/* ---------- comparison table ---------- */
.foundations-content table{width:100%;border-collapse:collapse;margin:1.4rem 0;font-size:1rem}
.foundations-content th{
  font-variant:small-caps;letter-spacing:.1em;font-weight:500;color:var(--gold);
  text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--gold-soft);
}
.foundations-content td{padding:.6rem .8rem;border-bottom:1px solid rgba(201,162,39,.12);vertical-align:top}
.foundations-content tr:last-child td{border-bottom:none}
.foundations-content td:first-child{color:var(--ink-dim);font-variant:small-caps;letter-spacing:.06em;white-space:nowrap}
@media(max-width:600px){.foundations-content td:first-child{white-space:normal}}

/* ---------- accordions (dogma list, traditions) ---------- */
.foundations-content details{
  border:1px solid var(--line);border-radius:4px;background:var(--panel);
  margin:.7rem 0;overflow:hidden;
}
.foundations-content summary{
  cursor:pointer;list-style:none;padding:1rem 1.25rem;display:flex;align-items:baseline;gap:.8rem;
  font-family:'Cormorant Garamond',serif;font-size:1.28rem;color:#ead9b8;transition:background .2s;
}
.foundations-content summary::-webkit-details-marker{display:none}
.foundations-content summary:hover{background:rgba(201,162,39,.05)}
.foundations-content summary .count{margin-left:auto;font-family:'EB Garamond',serif;font-size:.85rem;color:var(--ink-dim);font-variant:small-caps;letter-spacing:.1em;white-space:nowrap}
.foundations-content summary::before{content:"✦";color:var(--gold);font-size:.8rem;transition:transform .25s}
.foundations-content details[open] summary::before{transform:rotate(45deg)}
.foundations-content details .body{padding:.2rem 1.4rem 1.3rem;border-top:1px solid rgba(201,162,39,.12)}
.foundations-content ol.dogma{counter-reset:none;margin:.8rem 0 .4rem 1.4rem}
.foundations-content ol.dogma li{margin:.45rem 0;padding-left:.3rem}
.foundations-content ol.dogma li::marker{color:var(--gold);font-size:.92rem}
.foundations-content ul.plain{margin:.8rem 0 .4rem 1.3rem}
.foundations-content ul.plain li{margin:.4rem 0}
.foundations-content ul.plain li::marker{content:"✧  ";color:var(--gold-soft)}

/* ---------- callouts ---------- */
.foundations-content .callout{
  border-left:2px solid var(--gold);background:var(--panel);border-radius:0 4px 4px 0;
  padding:1rem 1.3rem;margin:1.6rem 0;
}
.foundations-content .callout .label{font-variant:small-caps;letter-spacing:.16em;color:var(--gold);font-size:.85rem;display:block;margin-bottom:.3rem}
.foundations-content .callout p{margin:.3rem 0}
.foundations-content .callout.caveat{border-left-color:var(--ember)}
.foundations-content .callout.caveat .label{color:#c98a5e}

/* ---------- resource links ---------- */
.foundations-content .res-list{list-style:none;margin:1.2rem 0}
.foundations-content .res-list li{
  border:1px solid var(--line);border-radius:4px;background:var(--panel);
  padding:.9rem 1.15rem;margin:.6rem 0;
}
.foundations-content .res-list .r-title{font-family:'Cormorant Garamond',serif;font-size:1.18rem}
.foundations-content .res-list .r-desc{display:block;color:var(--ink-dim);font-size:.95rem;margin-top:.15rem}
.foundations-content .res-list .ext{font-size:.8rem;color:var(--gold-soft);font-variant:small-caps;letter-spacing:.1em}

/* ---------- cross-link footer of each panel ---------- */
.foundations-content .next-link{
  margin-top:3rem;padding-top:1.4rem;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
}
.foundations-content .next-link button{
  background:none;border:none;cursor:pointer;color:var(--gold);font-family:'EB Garamond',serif;
  font-size:1rem;font-variant:small-caps;letter-spacing:.1em;
}
.foundations-content .next-link button:hover{color:#e2c25a}

/* ---------- footer ---------- */
.foundations-content .site-footer{
  border-top:1px solid var(--line);margin-top:2rem;padding:2.5rem 1.5rem 3rem;text-align:center;color:var(--ink-dim);font-size:.95rem;
}
.foundations-content .site-footer .motto{font-style:italic;margin-top:.4rem}

.page-foundations{background:#1a120b;}
.page-foundations .nav,.page-foundations footer{font-size:20px;line-height:1.72;}
.foundations-content{min-height:60vh;overflow:clip;}
.foundations-content main{display:block;}
@media print{
  .foundations-content .index-nav,.foundations-content .next-link{display:none!important;}
  .foundations-content .panel{display:block!important;animation:none!important;color:#111;max-width:none;padding:20pt 0;}
  .foundations-content,.page-foundations{background:#fff!important;color:#111!important;}
}
