/* Leef Digital shared styles for interior pages (apply, terms, privacy).
   Tokens mirror the :root block in index.html. Change both together. */
:root{
  --color-paper:#f5f2e9;
  --color-paper-deep:#ebe7d9;
  --color-frame:#242b26;
  --color-frame-soft:#2c342e;
  --color-text:#252a26;
  --color-text-inverse:#f5f2e9;
  --color-muted:#67706a;
  --color-muted-inverse:#9aa69d;
  --color-ink:#9e1b30;
  --color-ink-deep:#821526;
  --color-ink-contrast:#f5f2e9;
  --color-hairline:#d4cfbd;
  --color-hairline-inverse:#3c463f;
  --color-focus:#9e1b30;
  --color-danger:#9e1b30;
  --color-success:#2c5a45;

  --font-display:'Literata',Georgia,serif;
  --font-body:'Literata',Georgia,serif;

  --text-xs:0.75rem;
  --text-sm:0.9375rem;
  --text-base:1.125rem; --leading-base:1.7;
  --text-lg:1.4375rem;  --leading-lg:1.45;
  --text-xl:1.875rem;   --leading-xl:1.25;
  --text-2xl:2.625rem;  --leading-2xl:1.12;
  --text-3xl:4rem;      --leading-3xl:1.04;

  --tracking-caps:0.16em;
  --tracking-display:-0.012em;

  --space-1:8px;  --space-2:16px; --space-3:24px; --space-4:32px;
  --space-6:48px; --space-8:64px; --space-12:96px; --space-16:128px;

  --duration-fast:140ms;
  --duration-base:300ms;
  --duration-slow:650ms;
  --ease-out:cubic-bezier(0.16,1,0.3,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{max-width:100%;overflow-x:clip}
h1,h2,h3,p,a,li{overflow-wrap:break-word}
body{
  background:var(--color-frame);
  color:var(--color-text);
  font-family:var(--font-body);
  font-size:var(--text-base);
  line-height:var(--leading-base);
  -webkit-font-smoothing:antialiased;
  padding:var(--space-2);
}
@media(max-width:640px){body{padding:var(--space-1)}}
::selection{background:var(--color-ink);color:var(--color-ink-contrast)}
:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}

.sheet{background:var(--color-paper);min-height:calc(100vh - var(--space-4));position:relative}
.wrap{max-width:1080px;margin:0 auto;padding:0 var(--space-4);position:relative;z-index:1}
@media(max-width:640px){.wrap{padding:0 var(--space-3)}}

.label{
  font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;
  letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-muted);
}

/* Masthead */
.masthead{border-bottom:1px solid var(--color-hairline);padding:var(--space-2) 0}
.masthead-in{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}
.mark{
  display:inline-flex;align-items:center;min-height:44px;
  font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);
  letter-spacing:0.05em;color:var(--color-text);text-decoration:none;text-transform:uppercase;
}
.mark .dot{color:var(--color-ink)}
.nav ul{display:flex;align-items:center;flex-wrap:wrap;column-gap:var(--space-3);list-style:none}
.nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--color-muted);text-decoration:none}
.nav a:hover,.nav a[aria-current="page"]{color:var(--color-ink)}
.nav .nav-cta{color:var(--color-ink)}
@media(max-width:640px){.nav ul{column-gap:var(--space-2)}}

/* Page head */
.page-head{padding-block:var(--space-12) var(--space-6);border-bottom:1px solid var(--color-hairline)}
.page-head .label{color:var(--color-ink)}
.page-head h1{
  font-family:var(--font-display);font-weight:500;
  font-size:clamp(2.25rem,6vw,var(--text-3xl));line-height:var(--leading-3xl);
  letter-spacing:var(--tracking-display);margin-top:var(--space-2);max-width:18ch;
}
.page-head .lede{margin-top:var(--space-3);max-width:58ch;font-size:var(--text-lg);line-height:var(--leading-lg);color:var(--color-muted)}
.page-head .meta{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-muted)}
@media(max-width:640px){
  .page-head{padding-block:var(--space-8) var(--space-4)}
  .page-head .lede{font-size:var(--text-base);line-height:var(--leading-base)}
}

/* Legal documents: numbered clauses, same grammar as the homepage */
.doc{display:grid;grid-template-columns:14rem 1fr;gap:var(--space-8);padding-block:var(--space-8) var(--space-12)}
.toc{position:sticky;top:var(--space-4);align-self:start}
.toc ol{list-style:none;margin-top:var(--space-2);border-top:1px solid var(--color-hairline)}
.toc li{border-bottom:1px solid var(--color-hairline)}
.toc a{
  display:flex;gap:var(--space-1);align-items:baseline;min-height:44px;padding:10px 0;
  font-size:var(--text-sm);line-height:1.35;color:var(--color-muted);text-decoration:none;
}
.toc a span{color:var(--color-ink);font-weight:600;min-width:1.6rem}
.toc a:hover{color:var(--color-ink)}
@media(max-width:900px){
  .doc{grid-template-columns:1fr;gap:var(--space-4);padding-block:var(--space-6) var(--space-8)}
  .toc{position:static}
  .toc ol{columns:2;column-gap:var(--space-3)}
  .toc li{break-inside:avoid}
}
@media(max-width:520px){.toc ol{columns:1}}

.doc-body{max-width:46rem}
.summary{
  padding:var(--space-3) var(--space-4);margin-bottom:var(--space-6);
  border-left:2px solid var(--color-ink);background:var(--color-paper-deep);
}
.summary p{font-size:var(--text-sm);line-height:1.6}
.summary p + p{margin-top:var(--space-1)}
.summary strong{font-weight:600}
.section{padding:var(--space-4) 0;border-top:1px solid var(--color-hairline);scroll-margin-top:var(--space-4)}
.section:last-child{border-bottom:1px solid var(--color-hairline)}
.section-head{display:grid;grid-template-columns:3.5rem 1fr;align-items:baseline;margin-bottom:var(--space-2)}
.section-head .num{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-ink)}
.section h2{
  font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);
  line-height:var(--leading-lg);letter-spacing:var(--tracking-display);
}
.section-text{padding-left:3.5rem}
.section-text p,.section-text li{font-size:1rem;line-height:1.7}
.section-text p + p,.section-text p + ol,.section-text p + ul,.section-text ol + p,.section-text ul + p{margin-top:var(--space-2)}
.section-text ol,.section-text ul{padding-left:1.25rem}
.section-text li + li{margin-top:6px}
.section-text ol{list-style:lower-alpha}
.section-text strong{font-weight:600}
.section-text a,.summary a,.doc-foot a{color:var(--color-ink)}
@media(max-width:640px){
  .section-head{grid-template-columns:2.5rem 1fr}
  .section-text{padding-left:0}
}
.doc-foot{margin-top:var(--space-6);font-size:var(--text-sm);color:var(--color-muted)}

/* Footer */
footer{background:var(--color-frame);color:var(--color-muted-inverse);border-top:1px solid var(--color-hairline-inverse);padding:var(--space-4) 0}
.foot-in{
  display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;
  font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;
  letter-spacing:var(--tracking-caps);text-transform:uppercase;
}
.foot-in a{color:var(--color-muted-inverse);text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.foot-in a:hover{color:var(--color-text-inverse)}
.foot-in ul{display:flex;flex-wrap:wrap;column-gap:var(--space-3);list-style:none}
.foot-in .foot-meta{display:flex;align-items:center}
@media(max-width:640px){.foot-in{flex-direction:column;gap:var(--space-1)}}

@media print{
  body{background:#fff;padding:0}
  .masthead nav,.toc,footer{display:none}
  .doc{display:block;padding:0}
}
