/* Open Call Agreement page — long-form legal document layout.
   Loads after styles.css and reuses its theme tokens. */

/* Deltas from the shared base for this page */
body{ line-height:1.65; }
.nav{ gap:16px; }
.eyebrow{ display:block; }

.back{
  display:inline-flex; align-items:center; gap:.5em; text-decoration:none;
  font-family:'Karla',sans-serif; font-weight:700; font-size:.82rem;
  text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft);
}
.back:hover{ color:var(--crimson-ink); }
.nav-title{
  font-family:'Fraunces',serif; font-weight:600; font-size:1rem;
  letter-spacing:.04em; text-align:center; color:var(--ink-soft);
}
.nav-title strong{ color:var(--ink); }
.nav-contact{
  font-size:.8rem; font-weight:700; text-decoration:none; color:var(--ink-soft);
  white-space:nowrap;
}
.nav-contact:hover{ color:var(--crimson-ink); }
@media (max-width:700px){
  .nav-title{ display:none; }
  .nav-contact{ font-size:.72rem; }
}

/* ---------- Title block ---------- */
.titleblock{ padding:clamp(40px,6vw,72px) 0 clamp(28px,4vw,44px); border-bottom:1px solid var(--line); }
.titleblock .wrap{ max-width:900px; }
.titleblock h1{
  font-size:clamp(1.9rem,3vw + 1rem,2.9rem); font-weight:600; margin-top:.5em; line-height:1.12;
}
.titleblock .sub{
  font-family:'Fraunces',serif; font-style:italic; color:var(--ink-soft);
  font-size:clamp(1.05rem,1.2vw + .7rem,1.25rem); margin-top:.6em; max-width:56ch;
}
.meta-row{ display:flex; flex-wrap:wrap; gap:1.6em 2.4em; margin-top:1.8em; }
.meta-row div dt{ font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-faint); font-weight:700; }
.meta-row div dd{ margin:.25em 0 0; font-family:'Fraunces',serif; font-weight:600; font-size:1.05rem; }

.notice{
  margin-top:2em; padding:1.1em 1.3em; border:1px solid var(--line); border-left:3px solid var(--gold);
  background:var(--paper-raised); font-size:.92rem; color:var(--ink-soft); max-width:66ch;
}
.notice strong{ color:var(--ink); }

/* ---------- Layout ---------- */
.doc-layout{
  max-width:1180px; margin:0 auto; padding:clamp(36px,5vw,60px) clamp(20px,4vw,56px) 80px;
  display:grid; grid-template-columns:240px 1fr; gap:clamp(24px,4vw,60px); align-items:start;
}
@media (max-width:880px){ .doc-layout{ grid-template-columns:1fr; } }

.toc{ position:sticky; top:84px; }
@media (max-width:880px){ .toc{ position:static; } }
.toc-label{ font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-faint); font-weight:700; margin-bottom:.9em; display:block; }
.toc ol{ list-style:none; margin:0; padding:0; counter-reset:toc; }
.toc li{ counter-increment:toc; }
.toc a{
  display:flex; gap:.6em; text-decoration:none; color:var(--ink-soft);
  font-size:.86rem; padding:.38em 0; line-height:1.3;
}
.toc a::before{ content:counter(toc); color:var(--gold); font-weight:700; min-width:1.4em; }
.toc a:hover{ color:var(--crimson-ink); }
.toc-mobile{ display:none; }
@media (max-width:880px){
  .toc{ display:none; }
  .toc-mobile{ display:block; margin-bottom:2.4em; border:1px solid var(--line); background:var(--paper-raised); padding:.9em 1.1em; }
  .toc-mobile summary{ cursor:pointer; font-family:'Fraunces',serif; font-weight:600; }
  .toc-mobile ol{ list-style:none; margin:1em 0 0; padding:0; counter-reset:toc2; }
  .toc-mobile li{ counter-increment:toc2; }
  .toc-mobile a{ display:flex; gap:.6em; text-decoration:none; color:var(--ink-soft); font-size:.88rem; padding:.4em 0; }
  .toc-mobile a::before{ content:counter(toc2); color:var(--gold); font-weight:700; min-width:1.4em; }
}

article section{ padding:2.2em 0 0; margin-top:2.2em; border-top:1px solid var(--line); scroll-margin-top:90px; }
article section:first-child{ padding-top:0; margin-top:0; border-top:none; }
article h2{
  font-size:clamp(1.25rem,1.4vw + .8rem,1.55rem); font-weight:600;
  display:flex; align-items:baseline; gap:.5em;
}
article h2 .num{ font-family:'Karla',sans-serif; font-weight:700; color:var(--gold); font-size:.62em; }
article p{ color:var(--ink-soft); max-width:70ch; margin:.9em 0 0; }
article ul{ margin:.9em 0 0; padding-left:1.3em; color:var(--ink-soft); max-width:68ch; }
article ul li{ margin:.4em 0; }
article ul li::marker{ color:var(--gold); }

.party-cards{ display:grid; grid-template-columns:1fr 1fr; gap:1.2em; margin-top:1.2em; max-width:70ch; }
@media (max-width:640px){ .party-cards{ grid-template-columns:1fr; } }
.party-card{ border:1px solid var(--line); background:var(--paper-raised); padding:1.2em 1.3em; }
.party-card h3{ font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; color:var(--crimson-ink); font-weight:700; margin-bottom:.8em; }
.party-card dl{ margin:0; }
.party-card dt{ font-size:.72rem; color:var(--ink-faint); margin-top:.6em; }
.party-card dt:first-child{ margin-top:0; }
.party-card dd{ margin:.1em 0 0; font-size:.92rem; color:var(--ink-soft); border-bottom:1px dotted var(--line); padding-bottom:.3em; }

.doc-table-wrap{ overflow-x:auto; margin-top:1.2em; max-width:70ch; }
table.doc-table{ border-collapse:collapse; width:100%; font-size:.92rem; }
table.doc-table td, table.doc-table th{ border:1px solid var(--line); padding:.6em .8em; text-align:left; color:var(--ink-soft); }
table.doc-table th{ background:var(--paper-raised); color:var(--ink); font-family:'Fraunces',serif; font-weight:600; white-space:nowrap; }

.sign-line{ margin-top:1.4em; padding-top:1em; border-top:1px dotted var(--line); font-size:.92rem; color:var(--ink-soft); max-width:60ch; }

/* ---------- Footer ---------- */
footer.site-footer{
  max-width:none;
  background:var(--navy-deep); color:var(--on-dark-soft); padding:clamp(30px,4vw,44px) clamp(20px,4vw,56px);
}
footer.site-footer .wrap{
  display:flex; flex-wrap:wrap; gap:14px 28px; align-items:center; justify-content:space-between;
  font-size:.85rem;
}
footer.site-footer a{ text-decoration:none; color:var(--on-dark-soft); }
footer.site-footer a:hover{ color:var(--gold-soft); }
