/* The site's chrome (v5, 2026-09-29): what every page of finkinc.space that wears the bar along the top
   shares -- the measures, the buttons, the section heads, the bar, the foot, things that arrive as you
   scroll, and the narrow widths. Layout only: every colour is a fink.css token (docs/AESTHETIC.md). A page
   links /static/fink.css, then this, and keeps only its own sections in its <style>. The bar's and the
   foot's markup are static/parts/nav.html and foot.html, stamped into each page by scripts/nav_sync.py. */
:root{
  --maxw:1180px; --gut:clamp(16px,4vw,40px); --ease:cubic-bezier(.2,.7,.2,1);
  --on-ink:var(--paper);
  --on-ink-2:color-mix(in srgb,var(--paper) 70%,var(--ink));
  --on-ink-3:color-mix(in srgb,var(--paper) 46%,var(--ink));
  --ink-rule:color-mix(in srgb,var(--paper) 18%,var(--ink));
}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:80px}
html,body{overflow-x:clip}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--sheet);padding:8px 12px;font:600 13px var(--sans)}
.skip:focus{top:12px;color:var(--sheet)}
:focus-visible{outline:2px solid var(--link);outline-offset:3px}

/* Buttons: fink.css's, a size up, with an arrow that leans in. */
.btn{display:inline-flex;align-items:center;gap:10px;font:600 14px/1.2 var(--sans);letter-spacing:.02em;padding:13px 22px;
     border:1px solid var(--ink);border-radius:2px;background:transparent;color:var(--ink);text-decoration:none;cursor:pointer;
     transition:background .2s,color .2s,border-color .2s}
.btn:hover{background:var(--ink);color:var(--sheet)}
.btn--primary{background:var(--ink);color:var(--sheet)}
.btn--primary:hover{background:var(--link);border-color:var(--link);color:var(--sheet)}
.btn--sm{padding:9px 15px;font-size:13px;gap:8px}
.btn .arr{display:inline-block;transition:transform .25s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.btn svg{width:17px;height:17px;flex:none;fill:currentColor}
.btn .globe{fill:none;stroke:currentColor;stroke-width:1.6}
.btn .beta{font:700 10px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:3px 6px;border:1px solid currentColor;border-radius:2px;opacity:.78}
.more{font:600 13.5px/1.3 var(--sans);color:var(--ink);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px}
.more:hover{color:var(--link)}

/* Section heads: a kicker with a rule, a big title, a lede beside it. */
.sec{padding:clamp(72px,10vw,124px) 0}
.kicker{display:flex;align-items:center;gap:12px;margin:0 0 16px;font:600 12px/1.3 var(--sans);letter-spacing:.16em;
        text-transform:uppercase;color:var(--ink-2)}
.kicker::before{content:"";width:30px;height:1px;background:currentColor}
.sec-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:20px 64px;align-items:end;margin:0 0 clamp(32px,5vw,56px)}
.sec-title{margin:0;font:700 clamp(36px,5.2vw,62px)/1.02 var(--serif);letter-spacing:-.014em;text-wrap:balance}
.sec-lede{margin:0;max-width:34em;font:400 clamp(17px,1.55vw,20px)/1.5 var(--serif);color:var(--ink-2)}
.sub-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin:0 0 18px;padding-bottom:10px;border-bottom:1px solid var(--rule)}
.sub-head h3{font:700 24px/1.2 var(--serif)}
.sub-head p{margin:0;font:italic 400 16px/1.4 var(--serif);color:var(--ink-2)}
.credit-line{margin:12px 0 0;font:italic 400 13px/1.4 var(--serif);color:var(--ink-3)}

/* A page's own title, on the pages that are not the front: the kicker, the title, a lede. */
.page-head{padding-top:clamp(36px,6vw,72px)}
.page-head h1{margin:0 0 14px;font:700 clamp(38px,5.6vw,68px)/1.02 var(--serif);letter-spacing:-.016em;text-wrap:balance}
.page-head .lede{margin:0;max-width:36em;font:400 clamp(18px,1.7vw,21px)/1.5 var(--serif);color:var(--ink-2)}
.page-head .acts{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin:24px 0 0}
.strand{display:inline-flex;align-items:center;gap:8px;font:600 11.5px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.strand::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--link)}
.strand.community::before{background:var(--gold)}
.strand.local::before{background:var(--ink-3)}

/* Things arrive as you scroll to them. */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0s)}
.js .reveal.in{opacity:1;transform:none}

/* ---------------------------------------------------------------- the bar along the top */
.nav{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--paper) 94%,transparent);border-bottom:1px solid var(--rule);
     -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut);height:64px;display:flex;align-items:center;gap:34px}
.brand{font:700 30px/1 var(--serif);letter-spacing:-.01em;color:var(--ink);text-decoration:none}
.brand:hover{color:var(--ink)}
.nav-links{display:flex;gap:26px;margin:0;padding:0;list-style:none}
.nav-links a{display:block;padding:6px 0;font:600 13px/1 var(--sans);color:var(--ink);text-decoration:none;border-bottom:1px solid transparent}
.nav-links a:hover,.nav-links a.here,.nav-links a[aria-current="page"]{border-bottom-color:currentColor}
.nav-end{margin-left:auto;display:flex;align-items:center;gap:18px}
.who{display:flex;align-items:center;gap:10px;font:400 13px/1.2 var(--sans);color:var(--ink-2);white-space:nowrap}
.who a{font:600 13px/1.2 var(--sans);color:var(--ink)}
.who .f-glyphs{font-size:18px;letter-spacing:2px}
.who .who-out{padding:0;border:0;background:none;font:400 13px/1.2 var(--sans);color:var(--ink-2);text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.who .who-out:hover{background:none;color:var(--ink)}
.who .who-pet{font:400 13px/1.2 var(--sans);color:var(--ink-2)}
.menu{display:none;padding:8px 12px;font-size:12px;border-color:var(--rule)}
.menu-only{display:none}
@media (max-width:1100px){
  .nav-in{gap:22px}
  .nav-links{gap:18px}
}
@media (max-width:1000px){
  .nav-links{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;gap:0;padding:6px var(--gut) 14px;
             background:var(--paper);border-bottom:1px solid var(--rule)}
  .nav.open .nav-links{display:flex}
  .nav-links .menu-only{display:block}
  .nav-links a{padding:12px 0;font-size:15px;border-bottom:1px solid var(--rule-2)}
  .nav-links a[aria-current="page"]{border-bottom:1px solid var(--rule-2);color:var(--link)}
  .menu{display:inline-block}
}
@media (max-width:560px){ .nav-end .who{display:none} .nav.open .nav-end .who{display:flex;flex-wrap:wrap;white-space:normal;row-gap:6px;min-width:0} .nav-in{gap:14px} }

/* ---------------------------------------------------------------- the foot */
.foot{padding:40px 0 8px;border-top:1px solid var(--rule)}
.foot-in{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 26px}
.foot .brand{margin-right:auto;font-size:26px}
.foot nav{display:flex;flex-wrap:wrap;gap:10px 24px}
.foot nav a{font:600 13px/1.4 var(--sans);color:var(--ink);text-decoration:none}
.foot nav a:hover{text-decoration:underline}

/* ---------------------------------------------------------------- narrower windows */
@media (max-width:900px){
  .sec-head{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .reveal{opacity:1;transform:none;transition:none}
}
