/* joinvoluntree.com — one stylesheet, no third-party requests. Fonts are self-hosted (SIL OFL, see fonts/OFL.txt). */
@font-face{font-family:"Barlow";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/barlow-400-latin.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:500;font-style:normal;font-display:swap;src:url(fonts/barlow-500-latin.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:600;font-style:normal;font-display:swap;src:url(fonts/barlow-600-latin.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:600;font-style:normal;font-display:swap;src:url(fonts/barlow-condensed-600-latin.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:700;font-style:normal;font-display:swap;src:url(fonts/barlow-condensed-700-latin.woff2) format("woff2")}

:root{
  --ink:#1F4034; --leaf:#6F9A5B; --leaf-light:#B3D19C; --paper:#F1F3EF; --white:#fff;
  --muted:#4C655B;                 /* ink toward paper; 5.6:1 on paper */
  --rule:rgba(31,64,52,.2);
  --mark:rgba(31,64,52,.6);
  --tint:#E4EADF;                  /* leaf-light toward paper, for fills */
  --head:"Barlow Condensed","Arial Narrow",sans-serif;
  --body:"Barlow",system-ui,sans-serif;
  --mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --gutter:20px; --measure:40rem;
}
@media (min-width:760px){:root{--gutter:48px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--body);text-rendering:optimizeLegibility}
h1,h2,h3{font-family:var(--head);font-weight:700;line-height:1.08;margin:0;text-wrap:balance}
p,ul,ol{margin:0}
p,li{text-wrap:pretty}
a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--leaf);text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{text-decoration-color:var(--ink)}
a:active{color:var(--muted)}
:focus-visible{outline:2px solid var(--leaf);outline-offset:3px}
::selection{background:var(--leaf-light)}
code{font-family:var(--mono);font-size:.9em;background:var(--tint);padding:.08em .32em}
img{max-width:100%;height:auto;display:block}

/* Page shell */
.wrap{max-width:calc(var(--measure) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.wrap-wide{max-width:calc(72rem + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.masthead{padding:28px 0 0}
.masthead img{height:34px;width:auto}
main{padding:40px 0 72px}
@media (min-width:760px){main{padding:56px 0 96px}.masthead{padding-top:40px}.masthead img{height:40px}}

/* Blueprint frame: hairline box + four "+" registration marks, drawn with one pseudo-element */
.bp{position:relative;border:1px solid var(--rule)}
.bp::before{content:"";position:absolute;inset:-6px;pointer-events:none;background:
  linear-gradient(var(--mark),var(--mark)) 5px 0/1px 11px no-repeat,
  linear-gradient(var(--mark),var(--mark)) 0 5px/11px 1px no-repeat,
  linear-gradient(var(--mark),var(--mark)) right 5px top 0/1px 11px no-repeat,
  linear-gradient(var(--mark),var(--mark)) right 0 top 5px/11px 1px no-repeat,
  linear-gradient(var(--mark),var(--mark)) left 5px bottom 0/1px 11px no-repeat,
  linear-gradient(var(--mark),var(--mark)) left 0 bottom 5px/11px 1px no-repeat,
  linear-gradient(var(--mark),var(--mark)) right 5px bottom 0/1px 11px no-repeat,
  linear-gradient(var(--mark),var(--mark)) right 0 bottom 5px/11px 1px no-repeat}
.bp-ink{--rule:var(--ink);--mark:var(--ink)}
.on-ink .bp{--rule:rgba(255,255,255,.3);--mark:rgba(255,255,255,.7)}

.kicker{font:600 .8125rem/1.2 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.lede{font-size:1.1875rem;line-height:1.55}
.stack>*+*{margin-top:1em}
.todo{background:#FFF1B8;color:var(--ink);padding:0 .25em;outline:1px dashed #9A7A00}  /* unresolved placeholder: must be gone before launch */

/* Shared footer — the site's only navigation */
.site-footer{border-top:1px solid var(--rule);padding:28px 0 40px;font-size:.9375rem}
.site-footer nav ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}
.site-footer li:first-child{grid-column:1/-1;font:700 1.25rem/1 var(--head);letter-spacing:.01em}
.site-footer li:last-child{grid-column:1/-1}
.site-footer a{text-decoration-thickness:1px}
.site-footer li:first-child a{text-decoration:none}
@media (min-width:760px){
  .site-footer nav ul{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 28px}
  .site-footer li:last-child{margin-left:auto}
}

/* ---------- Landing (/) ---------- */
.on-ink{background:var(--ink);color:var(--white)}
.on-ink a{color:var(--white);text-decoration-color:var(--leaf-light)}
.lc-band{padding:28px 0 56px}
.lc-band img{height:34px;width:auto;margin-bottom:56px}
.lc-band h1{font-size:clamp(2.25rem,9vw,4.5rem);max-width:17ch;font-weight:600}
.lc-band h1 em{font-style:normal;color:var(--leaf-light)}
.lc-ground{height:0;border-top:2px solid var(--leaf)}
.lc-body{display:grid;gap:28px;padding:44px 0 0}
.lc-body h2{font-size:1.375rem;margin-bottom:6px}
.lc-access{margin-top:44px;padding:24px 22px}
.lc-access p{font-size:1.1875rem}
@media (min-width:760px){
  .lc-band{padding:40px 0 80px}
  .lc-band img{height:40px;margin-bottom:96px}
  .lc-body{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding-top:56px}
}

/* ---------- Legal template (/privacy, /terms, /notices) ---------- */
.doc h1{font-size:clamp(2.25rem,8vw,3.25rem)}
.doc-meta{margin-top:12px;color:var(--muted);font-size:.9375rem;display:flex;flex-wrap:wrap;gap:4px 20px}
.doc-toc{margin:32px 0 8px;padding:18px 20px}
.doc-toc ol{padding-left:1.4em;display:grid;gap:4px}
.doc-body{margin-top:36px}
.doc-body h2{font-size:1.625rem;margin:2.2em 0 .6em;scroll-margin-top:16px}
.doc-body h3{font:600 1.0625rem/1.4 var(--body);margin:1.6em 0 .4em}
.doc-body p,.doc-body ul,.doc-body ol{margin:0 0 1em}
.doc-body ul,.doc-body ol{padding-left:1.4em}
.doc-body li+li{margin-top:.35em}
.doc-body table{width:100%;border-collapse:collapse;margin:0 0 1.2em;font-size:.9375rem}
.doc-body th,.doc-body td{text-align:left;vertical-align:top;padding:10px 12px 10px 0;border-bottom:1px solid var(--rule)}
.doc-body th{font-weight:600;border-bottom-color:var(--ink)}
.doc-pending{margin-top:36px;padding:22px 20px}

/* ---------- /support ---------- */
.sup h1{font-size:clamp(2.25rem,8vw,3.25rem)}
.sup-contact{margin-top:20px;font-size:1.25rem;line-height:1.45}
.sup-contact a{font-weight:600;overflow-wrap:anywhere}
.sup-section{margin-top:44px}
.sup-section h2{font-size:1.5rem;margin-bottom:12px}
.sup-section ul{padding-left:1.2em;display:grid;gap:8px}
.sup-section ul+p,.sup-section p+ul{margin-top:12px}
.sup-note{margin-top:18px;padding:16px 18px;font-size:.9375rem}

/* ---------- Unlisted install page ---------- */
.ins h1{font-size:clamp(2.25rem,8vw,3.5rem)}
.ins-intro{margin-top:18px}
.ins-beta{margin-top:28px;padding:18px 20px}
.ins-beta .kicker{margin-bottom:6px;display:block}
.ins-sec{margin-top:56px;display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.ins-sec>h2{font-size:1.75rem;display:flex;gap:14px;align-items:baseline}
.ins-sec>h2 .n{font-size:1rem;width:30px;height:30px;flex:none;display:inline-grid;place-items:center;border:1px solid var(--ink);transform:translateY(-3px)}
.ins-link{padding:22px 20px;display:grid;gap:14px;background:var(--white)}
.ins-link .url{font:500 1rem/1.45 var(--mono);overflow-wrap:anywhere;word-break:break-all;font-weight:600}
.ins-link .url a{text-decoration-thickness:2px}
.ins-legal{font-size:.9375rem;color:var(--muted);border-top:1px solid var(--rule);padding-top:12px}
.ins-legal a{color:var(--ink)}
.ins-slack{padding:16px 18px;background:var(--white)}
.ins-slack .warn{font:600 1rem/1.3 var(--body);color:#B3122E;display:flex;gap:8px;align-items:baseline}
.ins-slack p+p{margin-top:4px;font-size:.9375rem}
.ins-slack figcaption,.fig-cap{font-size:.8125rem;color:var(--muted);margin-top:10px}
blockquote{margin:0;padding-left:16px;border-left:2px solid var(--leaf);font-style:normal}
.ins-check{padding-left:1.2em;display:grid;gap:6px}
.ins-shot{margin:6px 0 0}
.ins-shot .frame{position:relative;background:var(--white);overflow:hidden}
.ins-shot .frame img{width:100%}
.ins-shot .wm{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.ins-shot .wm span{transform:rotate(-14deg);font:700 clamp(1rem,4vw,1.75rem)/1.1 var(--head);letter-spacing:.06em;text-transform:uppercase;color:#B3122E;border:3px solid #B3122E;padding:8px 14px;background:rgba(255,255,255,.82);text-align:center}
.perm{width:100%;border-collapse:collapse;font-size:.9375rem}
.perm th,.perm td{text-align:left;vertical-align:top;padding:12px 12px 12px 0;border-bottom:1px solid var(--rule)}
.perm thead th{font-weight:600;border-bottom-color:var(--ink)}
.perm td:first-child{white-space:nowrap}
.perm code{background:none;padding:0;font-weight:600}
@media (max-width:559px){
  .perm thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .perm tr{display:grid;gap:4px;padding:12px 0;border-bottom:1px solid var(--rule)}
  .perm td{border:0;padding:0}
}
.ins-success{padding:18px 20px;background:var(--white);font-family:Georgia,"Times New Roman",serif;font-size:1rem}
.ins-success code{font-size:.85em;background:none;padding:0}
@media (min-width:760px){
  .ins-sec{grid-template-columns:3.25rem minmax(0,1fr);column-gap:0}
  .ins-sec>h2{grid-column:1/-1;margin-left:0}
  .ins-sec>*:not(h2){grid-column:2}
  .ins-link{padding:26px 26px}
}
/* Utility classes replacing inline style attributes: the site's CSP (style-src 'self', see _headers) blocks inline styles. */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.m0{margin:0}
.mt6{margin-top:6px}
.fs-sm{font-size:.9375rem}
.ff-body{font-family:var(--body)}
