/* =============================================================================================
   AEGIS — LEGAL DOCUMENT STYLE
   A printable, signable document sheet. Deliberately NOT the dark marketing site: a contract is
   read, printed, initialled and filed. It must look like a professional firm's paper, not a
   landing page. The gold + Fraunces headings carry the brand; everything else gets out of the way.
   Prints to clean A4 (Cmd+P → Save as PDF).
   ============================================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600&family=Inter:wght@400;500;600&display=swap');

:root{
  --ink:#16181d;
  --ink-2:#3d434e;
  --muted:#6b7280;
  --rule:#e2e0da;
  --rule-soft:#f0eee9;
  --gold:#b8860b;
  --gold-lt:#c9992e;
  --paper:#ffffff;
  --wash:#faf9f6;
  --serif:'Fraunces',Georgia,serif;
  --sans:'Inter',-apple-system,system-ui,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,monospace;
}

*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:var(--sans);font-size:15px;line-height:1.75;color:var(--ink-2);
  background:var(--wash);padding:48px 20px;-webkit-font-smoothing:antialiased;
}

.sheet{
  max-width:860px;margin:0 auto;background:var(--paper);padding:72px 84px 84px;
  border:1px solid var(--rule);box-shadow:0 1px 3px rgba(0,0,0,.04),0 24px 60px -40px rgba(0,0,0,.18);
}

/* ---------- MASTHEAD ---------- */
.masthead{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;
  padding-bottom:30px;border-bottom:2px solid var(--ink);margin-bottom:44px}
.masthead img{width:78px;height:78px;object-fit:contain;flex:0 0 78px}
.mh-id{text-align:right;font-family:var(--mono);font-size:10.5px;line-height:1.9;color:var(--muted);
  letter-spacing:.02em;text-transform:uppercase}
.mh-id strong{display:block;font-family:var(--sans);font-size:13px;letter-spacing:.14em;
  color:var(--ink);text-transform:uppercase;font-weight:600;margin-bottom:6px}

/* ---------- TITLE BLOCK ---------- */
.doc-kicker{font-family:var(--mono);font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;
  color:var(--gold);margin-bottom:14px}
h1{font-family:var(--serif);font-size:34px;line-height:1.2;color:var(--ink);font-weight:600;
  letter-spacing:-.01em;margin-bottom:14px}
.doc-meta{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.04em;
  padding-bottom:36px;border-bottom:1px solid var(--rule);margin-bottom:40px}

/* ---------- STRUCTURE ---------- */
h2{font-family:var(--serif);font-size:19px;color:var(--ink);font-weight:600;
  margin:42px 0 16px;padding-top:26px;border-top:1px solid var(--rule-soft);letter-spacing:-.005em}
h2:first-of-type{border-top:0;padding-top:0}
h2 .n{font-family:var(--mono);font-size:12px;color:var(--gold);margin-right:12px;font-weight:400}
h3{font-family:var(--sans);font-size:14.5px;color:var(--ink);font-weight:600;margin:26px 0 10px;
  letter-spacing:.01em}
p{margin-bottom:14px}
p.lead{font-size:16px;color:var(--ink);line-height:1.7}

ol,ul{margin:0 0 16px 22px}
li{margin-bottom:9px;padding-left:4px}
ol.clauses{list-style:none;margin-left:0;counter-reset:c}
ol.clauses > li{counter-increment:c;position:relative;padding-left:44px;margin-bottom:14px}
ol.clauses > li:before{content:counter(c);position:absolute;left:0;top:0;font-family:var(--mono);
  font-size:11.5px;color:var(--gold);padding-top:3px}

strong{color:var(--ink);font-weight:600}
em{font-style:italic}
code,.mono{font-family:var(--mono);font-size:13px;background:#f6f4ef;border:1px solid var(--rule);
  padding:1px 6px;border-radius:2px;color:var(--ink)}
a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(184,134,11,.32)}
a:hover{border-bottom-color:var(--gold)}

/* ---------- TABLES ---------- */
table{width:100%;border-collapse:collapse;margin:20px 0 24px;font-size:14px}
th{text-align:left;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);font-weight:600;padding:0 14px 10px 0;border-bottom:1.5px solid var(--ink);
  vertical-align:bottom}
td{padding:13px 14px 13px 0;border-bottom:1px solid var(--rule-soft);vertical-align:top;line-height:1.65}
td:last-child,th:last-child{padding-right:0}
tr:last-child td{border-bottom:0}

/* ---------- CALLOUT ---------- */
.callout{background:var(--wash);border-left:3px solid var(--gold);padding:20px 24px;margin:24px 0;
  font-size:14.5px}
.callout p:last-child{margin-bottom:0}
.callout .ttl{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold);margin-bottom:8px}

/* ---------- DEFINITION LIST ---------- */
dl{margin:18px 0}
dt{font-weight:600;color:var(--ink);margin-top:14px;font-size:14.5px}
dd{margin:4px 0 0 0;color:var(--ink-2)}

/* ---------- SIGNATURE BLOCK ---------- */
.sign{margin-top:56px;padding-top:34px;border-top:2px solid var(--ink);
  display:grid;grid-template-columns:1fr 1fr;gap:56px}
.sign .party{font-size:14px}
.sign .who{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold);margin-bottom:20px}
.sign .line{border-bottom:1px solid var(--ink);height:44px;margin-bottom:8px}
.sign .lbl{font-size:11.5px;color:var(--muted);margin-bottom:22px}

/* ---------- FOOT ---------- */
.foot{margin-top:56px;padding-top:24px;border-top:1px solid var(--rule);
  font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--muted);
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;text-transform:uppercase}

.toc{background:var(--wash);border:1px solid var(--rule);padding:26px 30px;margin-bottom:42px}
.toc .ttl{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);margin-bottom:14px}
.toc ol{margin:0 0 0 20px;font-size:14px}
.toc li{margin-bottom:5px}

/* ---------- PRINT ---------- */
@media print{
  body{background:#fff;padding:0;font-size:10.5pt}
  .sheet{max-width:none;box-shadow:none;border:0;padding:0;margin:0}
  h2{page-break-after:avoid}
  table,.callout,.sign{page-break-inside:avoid}
  a{color:var(--ink);border:0}
  .no-print{display:none}
}
@page{margin:20mm 18mm}

@media(max-width:760px){
  body{padding:20px 12px}
  .sheet{padding:36px 26px 44px}
  .masthead{flex-direction:column;gap:20px}
  .mh-id{text-align:left}
  .sign{grid-template-columns:1fr;gap:36px}
}
