/* Deep ceremony guides — satyanarayana-pooja.html, ganapathi-homam.html
 *
 * The layout is the "Scholar-Priest" treatment from the approved prototypes:
 * squared corners, hairline rules rather than card boxes, no drop shadows,
 * serif body with a sans used only for labels. The colour and type, however,
 * are SaivaPriest's own tokens and the six families already loaded sitewide —
 * the prototypes' Inter/Noto and maroon palette are deliberately NOT imported,
 * so these pages read as the deep tier of this site rather than a visitor from
 * another one. Adding webfonts here would also reopen the OFL question the IP
 * audit flagged. See DECISIONS.md 2026-08-20.
 */

/* ---------- shell ---------- */
.gd{--gd-rule:#d9c9a4;--gd-rule-strong:#9e8139;--gd-tint:#f7eeda;--gd-deep:#7c2f24}
.gd .wrap-gd{max-width:1180px;margin:0 auto;padding:0 28px}

/* evidence / provenance strip under the header */
.gd-strip{background:var(--cream);border-bottom:1px solid var(--gd-rule);
  font-size:.74rem;color:var(--muted);line-height:1.6}
.gd-strip .wrap-gd{display:flex;gap:26px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
.gd-strip b{color:var(--espresso);font-weight:700}

/* hero */
.gd-hero{border-bottom:1px solid var(--gd-rule)}
.gd-hero .wrap-gd{display:grid;grid-template-columns:1.12fr .88fr;gap:54px;
  align-items:start;padding-top:34px;padding-bottom:46px}
.gd-invoc{grid-column:1/-1;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.18rem;
  color:var(--saffron-dark);letter-spacing:.04em;margin:0 0 6px}
.gd-eyebrow{font-family:'Marcellus SC',Georgia,serif;font-size:.72rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--saffron-dark);margin:0 0 12px}
.gd h1{font-family:Marcellus,Georgia,serif;font-weight:400;font-size:clamp(2.3rem,5.4vw,3.4rem);
  line-height:1.06;letter-spacing:-.01em;margin:0 0 14px;color:var(--espresso)}
.gd-sub{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.32rem;line-height:1.45;
  color:#54432f;margin:0 0 18px;max-width:44em}
.gd-lede{font-size:1rem;line-height:1.72;color:#5b4c39;max-width:44em;margin:0}
.gd-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:26px}
.gd-btn{display:inline-flex;align-items:center;min-height:44px;padding:11px 20px;border-radius:3px;
  font-family:'Marcellus SC',Georgia,serif;font-size:.82rem;letter-spacing:.06em;
  border:1px solid var(--gd-rule-strong);background:var(--surface);color:var(--espresso);
  text-decoration:none}
.gd-btn.pri{background:var(--saffron-dark);border-color:var(--saffron-dark);color:#fff}
.gd-btn:hover{border-color:var(--espresso)}
.gd-btn.pri:hover{background:#8f3c15}

/* at-a-glance */
.gd-glance{border:1px solid var(--gd-rule);background:var(--surface)}
.gd-glance .gh{padding:20px 22px 14px;border-bottom:1px solid var(--gd-rule);background:var(--cream)}
.gd-glance h2{font-family:Marcellus,Georgia,serif;font-weight:400;font-size:1.3rem;margin:0}
.gd-grid{display:grid;grid-template-columns:1fr 1fr}
.gd-m{padding:15px 20px;border-bottom:1px solid var(--gd-rule)}
.gd-m:nth-child(odd){border-right:1px solid var(--gd-rule)}
.gd-m .k{font-family:'Marcellus SC',Georgia,serif;font-size:.66rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}
.gd-m .v{font-size:.9rem;font-weight:600;margin-top:4px;color:var(--espresso)}
.gd-glance .gn{padding:14px 20px;background:var(--cream);font-size:.79rem;color:#5b4c39}

/* quick nav */
.gd-quick{border-bottom:1px solid var(--gd-rule);background:var(--cream);
  position:sticky;top:0;z-index:20}
.gd-quick .wrap-gd{display:flex;overflow-x:auto;gap:0;padding-top:0;padding-bottom:0}
.gd-quick a{padding:14px 17px;font-family:'Marcellus SC',Georgia,serif;font-size:.74rem;
  letter-spacing:.07em;white-space:nowrap;color:#5b4c39;text-decoration:none;
  border-bottom:2px solid transparent}
.gd-quick a:first-child{padding-left:0}
.gd-quick a:hover,.gd-quick a:focus-visible{color:var(--saffron-dark);border-bottom-color:var(--saffron-dark)}

/* two-column body */
.gd-layout{max-width:1180px;margin:0 auto;padding:50px 28px 90px;
  display:grid;grid-template-columns:minmax(0,1fr) 306px;gap:56px}
.gd-main section{scroll-margin-top:120px;margin-bottom:66px}
.gd-label{font-family:'Marcellus SC',Georgia,serif;font-size:.68rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--saffron-dark);font-weight:400;margin:0 0 7px}
.gd-main h2{font-family:Marcellus,Georgia,serif;font-weight:400;font-size:clamp(1.6rem,3.4vw,2.15rem);
  line-height:1.2;margin:0 0 16px;color:var(--espresso)}
.gd-main h3{font-family:Marcellus,Georgia,serif;font-weight:400;font-size:1.22rem;
  margin:24px 0 9px;color:var(--espresso)}
.gd-main p{color:#4f443b;margin:0 0 13px;line-height:1.72}

/* hairline card grids */
.gd-cards{display:grid;gap:26px 34px}
.gd-cards.two{grid-template-columns:1fr 1fr}
.gd-cards.three{grid-template-columns:repeat(3,1fr)}
.gd-card{border-top:1px solid var(--gd-rule-strong);padding:16px 0 0}
.gd-card h3{font-family:Marcellus,Georgia,serif;font-size:1.02rem;margin:0 0 7px}
.gd-card p{font-size:.88rem;margin:0}
.gd-num{font-family:'Marcellus SC',Georgia,serif;font-size:.72rem;letter-spacing:.1em;
  color:var(--saffron-dark);border-bottom:2px solid var(--gold);display:inline-block;
  padding-bottom:3px;margin-bottom:9px}

/* notices */
.gd-note{border:1px solid var(--gd-rule);border-left:4px solid var(--gold);
  background:var(--cream);padding:16px 19px;margin:20px 0}
.gd-note.deep{border-left-color:var(--saffron-dark);background:#fbf1ea}
.gd-note b{color:var(--espresso)}
.gd-note p{margin:0;font-size:.9rem}
.gd-rule-note{border-top:1px solid var(--gd-rule-strong);border-bottom:1px solid var(--gd-rule-strong);
  padding:18px 0;margin:26px 0;color:#57483e}
.gd-rule-note p{margin:0;font-size:.9rem}

/* timeline */
.gd-time{border-top:1px solid var(--gd-rule-strong);margin-top:18px}
.gd-tr{display:grid;grid-template-columns:150px 1fr;gap:18px;
  border-bottom:1px solid var(--gd-rule);padding:16px 0}
.gd-tt{font-family:'Marcellus SC',Georgia,serif;font-size:.76rem;letter-spacing:.06em;
  color:var(--saffron-dark)}
.gd-tr h3{margin:0 0 4px;font-size:1rem}
.gd-tr p{margin:0;font-size:.87rem;color:var(--muted)}

/* status tags */
.gd-tags{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 0}
.gd-tag{font-family:'Marcellus SC',Georgia,serif;font-size:.64rem;letter-spacing:.08em;
  text-transform:uppercase;padding:4px 8px;border:1px solid #c5b69f;border-radius:2px;
  color:#5a514a;white-space:nowrap}
.gd-tag.core{background:#f3e2dc;border-color:#d3b3a9;color:var(--saffron-dark)}
.gd-tag.common{background:#e8eee2;border-color:#bccbb0;color:#46604d}
.gd-tag.confirm{background:#f6e9cf;border-color:#dcc496;color:#7a5518}
.gd-tag.practical{background:#e4ebee;border-color:#b7c8ce;color:#3c5969}

/* samagri table */
.gd-check{border:1px solid var(--gd-rule);border-radius:0;background:var(--surface);margin-top:18px}
.gd-crow{display:grid;grid-template-columns:1.12fr .62fr .66fr 1.4fr;
  border-bottom:1px solid var(--gd-rule)}
.gd-crow:last-child{border-bottom:0}
.gd-crow.head{background:var(--cream)}
.gd-cell{padding:13px 14px;font-size:.83rem;display:flex;align-items:center;color:#4f443b}
.gd-crow.head .gd-cell{font-family:'Marcellus SC',Georgia,serif;font-size:.64rem;
  letter-spacing:.1em;text-transform:uppercase;color:#6a5f56}
.gd-cell.item{font-weight:650;color:var(--espresso)}
.gd-cell.owner{color:var(--muted)}

/* prasadam panel */
.gd-panel{background:var(--cream);border:1px solid var(--gd-rule);padding:24px}
.gd-panel h3{margin-top:0}
.gd-two{display:grid;grid-template-columns:.9fr 1.1fr;gap:26px}
.gd-list{margin:0;padding-left:18px;color:#51483f;font-size:.87rem}
.gd-list li{margin:7px 0}

/* numbered procedure */
.gd-steps{counter-reset:gs;border-top:1px solid var(--gd-rule-strong);margin-top:18px}
.gd-step{border-bottom:1px solid var(--gd-rule);padding:17px 4px;
  display:grid;grid-template-columns:40px 1fr;gap:14px}
.gd-step:before{counter-increment:gs;content:counter(gs);width:30px;height:30px;
  border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;
  font-family:Marcellus,Georgia,serif;font-size:.86rem;color:var(--saffron-dark)}
.gd-step h3{margin:2px 0 4px;font-size:1rem}
.gd-step p{font-size:.86rem;margin:0;color:var(--muted)}

/* chapter accordion */
.gd-intro{background:#5f2418;color:#fdf6ea;padding:26px;margin-bottom:18px}
.gd-intro h3{font-family:Marcellus,Georgia,serif;font-weight:400;font-size:1.55rem;
  margin:0 0 9px;color:#fff}
.gd-intro p{color:#f0ddd0;margin:0;font-size:.94rem}
.gd-chapters{border-top:1px solid var(--gd-rule-strong)}
.gd-ch{border-bottom:1px solid var(--gd-rule)}
.gd-ch>button{appearance:none;border:0;background:transparent;width:100%;text-align:left;
  padding:16px 4px;display:flex;align-items:center;justify-content:space-between;gap:16px;
  cursor:pointer;color:var(--espresso);font:inherit;min-height:44px}
.gd-ch .ct{display:block;font-family:Marcellus,Georgia,serif;font-size:1.02rem;line-height:1.3}
.gd-ch .cs{display:block;font-size:.76rem;color:var(--muted);margin-top:3px}
.gd-ch .cp{font-family:Marcellus,Georgia,serif;font-size:1.4rem;color:var(--saffron-dark);
  line-height:1;transition:transform .2s}
.gd-ch[data-open="true"] .cp{transform:rotate(45deg)}
.gd-ch .cb{padding:0 4px 18px}
.gd-ch .cb p{font-size:.9rem}
.gd-teach{border-left:2px solid var(--gold);padding-left:13px;margin-top:12px;
  color:#5b4939;font-size:.87rem;font-style:italic}

/* companion download block */
.gd-dl{border:1px solid var(--gd-rule);border-left:4px solid var(--saffron-dark);
  background:var(--cream);padding:20px 22px;margin:0 0 18px;
  display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.gd-dl h3{margin:0 0 6px;font-size:1.1rem}
.gd-dl p{margin:0 0 8px;font-size:.87rem;color:#4f443b}
.gd-dl .gd-badge{font-family:'Marcellus SC',Georgia,serif;font-size:.62rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--saffron-dark);border:1px solid #d3b3a9;background:#f6e9e2;
  padding:3px 7px;display:inline-block;margin-bottom:9px}
.gd-dl .gd-meta{font-size:.76rem;color:var(--muted);margin:0}
.gd-dl .gd-caveat{font-size:.78rem;color:var(--muted);font-style:italic;margin:7px 0 0}
.gd-dl .gd-btn{flex:0 0 auto;margin-top:2px}

/* sidebar */
.gd-side .gd-sticky{position:sticky;top:74px}
.gd-ready{background:#3a2a21;color:#fdf6ea;padding:21px;border:1px solid #2d2019}
.gd-ready .t{font-family:'Marcellus SC',Georgia,serif;font-size:.64rem;letter-spacing:.12em;
  text-transform:uppercase;color:#d6c5bc}
.gd-ready h2{font-family:Marcellus,Georgia,serif;font-weight:400;font-size:1.3rem;
  margin:5px 0 15px;color:#fff}
.gd-bar{height:5px;background:#5a473c;overflow:hidden;margin-bottom:16px}
.gd-bar span{display:block;width:0;height:100%;background:var(--gold);transition:width .25s}
.gd-todo{display:flex;gap:10px;align-items:flex-start;margin:11px 0;font-size:.8rem;
  color:#eee3dc;cursor:pointer}
.gd-todo input{margin-top:3px;accent-color:var(--gold);width:16px;height:16px;flex:0 0 auto}
.gd-box{margin-top:14px;background:var(--surface);border:1px solid var(--gd-rule);padding:17px}
.gd-box h2{font-family:Marcellus,Georgia,serif;font-weight:400;font-size:1rem;margin:0 0 7px}
.gd-box p{font-size:.79rem;color:var(--muted);margin:0}
.gd-box .gd-btn{width:100%;justify-content:center;margin-top:11px}

/* faq */
.gd-faq{border-top:1px solid var(--gd-rule-strong)}
.gd-faq-i{padding:16px 0;border-bottom:1px solid var(--gd-rule)}
.gd-faq-i h3{margin:0 0 5px;font-size:1rem}
.gd-faq-i p{font-size:.87rem;margin:0}

/* Comparison tables. The samagri checklist has its own grid (.gd-check),
   which is built for four fixed columns and a status chip. These are ordinary
   two- and three-column tables -- which ceremony is which, who does what --
   and they must be able to scroll sideways on a phone WITHOUT the page body
   scrolling with them, hence the wrapper. */
.gd-scrollx{overflow-x:auto;max-width:100%;margin:18px 0;-webkit-overflow-scrolling:touch}
/* A grid item's default min-width is `auto`, which is the content's intrinsic
   width -- so a 520px table inside .gd-main widened the whole COLUMN and the
   page scrolled sideways at 390px, overflow-x:auto on the wrapper
   notwithstanding. The wrapper can only scroll if something above it refuses
   to grow. tools/verify_pages.js caught this; nothing else did. */
.gd-main{min-width:0}
.gd-table{width:100%;border-collapse:collapse;font-size:.87rem;min-width:520px}
.gd-table th,.gd-table td{text-align:left;padding:10px 14px;vertical-align:top;
  border-bottom:1px solid var(--gd-rule)}
.gd-table thead th{font-family:'Marcellus SC',Georgia,serif;font-weight:400;font-size:.68rem;
  letter-spacing:.11em;text-transform:uppercase;color:var(--muted);
  border-bottom:1px solid var(--gd-rule-strong);white-space:nowrap}
.gd-table td{color:#51483f;line-height:1.6}
.gd-table td b{color:var(--gd-ink,#38220f)}
.gd-table tbody tr:last-child td{border-bottom:0}

.gd-src{font-size:.8rem;color:#6d6055;border-left:2px solid var(--gold);
  padding-left:14px;margin:26px 0}
.gd-rev{font-size:.78rem;color:var(--muted);margin-top:26px}

@media(max-width:980px){
  .gd-hero .wrap-gd{grid-template-columns:1fr;gap:26px}
  .gd-layout{grid-template-columns:1fr;gap:34px}
  .gd-side{order:-1}.gd-side .gd-sticky{position:static}.gd-ready{display:none}
  .gd-cards.two,.gd-cards.three,.gd-two{grid-template-columns:1fr}
  .gd-crow{grid-template-columns:1fr}
  .gd-crow.head{display:none}
  .gd-cell{padding:4px 14px}
  .gd-cell.item{padding-top:14px}
  .gd-cell:last-child{padding-bottom:14px}
  .gd-tr{grid-template-columns:1fr;gap:6px}
  .gd-dl{display:block}.gd-dl .gd-btn{margin-top:14px}
}
@media(max-width:560px){
  .gd .wrap-gd,.gd-layout{padding-left:18px;padding-right:18px}
  .gd-grid{grid-template-columns:1fr 1fr}
  .gd-strip .wrap-gd{gap:10px;flex-direction:column}
}
@media (prefers-reduced-motion:reduce){.gd-ch .cp,.gd-bar span{transition:none}}
@media print{
  .gd-quick,.gd-side,.gd-actions{display:none}
  .gd-layout{grid-template-columns:1fr;padding:0}
  .gd-ch .cb{display:block!important}
}
