/* font-default-ok: Bricolage Grotesque + Plus Jakarta Sans — matches index.html/intake.html, this whole site was restored to this system at CJ's explicit direction; the Living Index must stay visually consistent with it, not an unconsidered default */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
  --accent:#ea580c;--accent-hover:#c2410c;--accent-light:rgba(234,88,12,0.08);--accent-border:rgba(234,88,12,0.2);
  --bg:#ffffff;--bg-alt:#fafaf8;--surface:#f3f2ef;--ink:#111008;
  --text:#1c1a17;--text-muted:#6b6561;--text-xmuted:#a09c97;
  --border:rgba(0,0,0,0.08);--border-strong:rgba(0,0,0,0.14);--border-hover:rgba(234,88,12,0.3);
  --success:#16a34a;
  --shadow-sm:0 2px 8px rgba(0,0,0,0.06),0 1px 3px rgba(0,0,0,0.04);
  --shadow-hover:0 12px 40px rgba(0,0,0,0.12),0 6px 16px rgba(0,0,0,0.06);
  --spring:cubic-bezier(0.16,1,0.3,1);
  --content-max:1120px;--content-wide:1360px;
}
html{background:var(--bg);color:var(--text);scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.skip-link{position:absolute;top:-100%;left:16px;background:var(--accent);color:#fff;padding:12px 24px;border-radius:6px;font-size:0.9375rem;font-weight:600;z-index:200;transition:top 0.2s ease}
.skip-link:focus{top:16px}

.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;padding:14px 28px;border-radius:6px;font-size:0.9375rem;font-weight:600;letter-spacing:-0.01em;transition:background 0.2s ease,transform 0.2s ease}
.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}

/* ---- Nav (matches index.html) ---- */
.nav{padding:16px 48px;border-bottom:1px solid var(--border)}
.nav-inner{max-width:var(--content-wide);margin:0 auto;display:flex;align-items:center;justify-content:space-between}
.nav-logo{font-family:'Bricolage Grotesque',sans-serif;font-size:1.25rem;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px;letter-spacing:-0.03em}
.nav-logo-mark{width:28px;height:28px;border-radius:6px;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;font-family:'Bricolage Grotesque',sans-serif}
.nav-links{display:flex;gap:28px;align-items:center;list-style:none}
.nav-links a{font-size:0.875rem;color:var(--text-muted);font-weight:500;transition:color 0.2s ease}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--text)}
.nav-cta{background:var(--ink);color:#fff;padding:9px 20px;border-radius:6px;font-size:0.875rem;font-weight:600;transition:background 0.2s ease,transform 0.2s ease}
.nav-cta:hover{background:rgba(17,16,8,0.82);transform:translateY(-1px)}
.nav-hamburger{display:none;flex-direction:column;gap:5px;padding:6px;cursor:pointer}
.nav-hamburger span{width:20px;height:1.5px;background:var(--ink);border-radius:2px;transition:transform 0.3s ease,opacity 0.3s ease}
.mobile-menu{display:none;position:fixed;top:0;right:-100%;width:280px;height:100vh;background:rgba(255,255,255,0.97);backdrop-filter:blur(20px);z-index:101;padding:80px 32px 32px;transition:right 0.4s var(--spring);border-left:1px solid var(--border)}
.mobile-menu.open{right:0}
.mobile-menu a{display:block;padding:14px 0;font-size:1rem;color:var(--text);border-bottom:1px solid var(--border);font-weight:500}
.mobile-menu .nav-cta{display:block;text-align:center;margin-top:24px;padding:14px}
.mobile-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.2);z-index:100}
.mobile-overlay.open{display:block}
@media(max-width:768px){.nav{padding:14px 24px}.nav-links,.nav-cta{display:none}.nav-hamburger{display:flex}.mobile-menu{display:block}}

/* ---- Intro ---- */
.li-intro{max-width:var(--content-wide);margin:0 auto;padding:64px 48px 40px}
.li-badge{display:inline-flex;align-items:center;gap:8px;background:var(--accent-light);border:1px solid var(--accent-border);padding:5px 14px;border-radius:9999px;font-size:0.75rem;font-weight:700;color:var(--accent);letter-spacing:0.04em;text-transform:uppercase;margin-bottom:20px}
.li-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--success)}
.li-intro h1{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(2.5rem,4vw+0.5rem,4rem);font-weight:700;color:var(--ink);line-height:1.08;letter-spacing:-0.03em;margin-bottom:16px}
.li-intro p{font-size:1.0625rem;color:var(--text-muted);line-height:1.7;max-width:56ch;margin-bottom:28px}
.li-stats{display:flex;gap:32px;padding-top:24px;border-top:1px solid var(--border)}
.li-stat dt{font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-xmuted);margin-bottom:6px}
.li-stat dd{font-family:'Bricolage Grotesque',sans-serif;font-size:1.75rem;font-weight:700;color:var(--ink)}

/* ---- Filter bar ---- */
.filter-bar{max-width:var(--content-wide);margin:0 auto;padding:0 48px 32px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.filter-label{margin-right:6px;font-size:0.75rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-xmuted)}
.filter-bar button{min-height:40px;padding:0 16px;border:1.5px solid var(--border-strong);border-radius:9999px;background:var(--bg);color:var(--text-muted);font-size:0.8125rem;font-weight:600;transition:all 0.2s ease}
.filter-bar button span{margin-left:6px;color:var(--text-xmuted)}
.filter-bar button:hover{border-color:var(--border-hover);color:var(--text)}
.filter-bar button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.filter-bar button[aria-pressed="true"] span{color:rgba(255,255,255,0.6)}
.filter-count{margin-left:auto;font-size:0.75rem;color:var(--text-xmuted)}

/* ---- Sheet grid (reuses the Contact Sheet mechanism, warm skin) ---- */
.sheet-section{max-width:var(--content-wide);margin:0 auto;padding:0 48px 40px}
.sheet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.sheet-frame{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:12px;border:1.5px solid var(--border);background:var(--surface);display:block;transition:border-color 0.3s ease,transform 0.3s var(--spring),box-shadow 0.3s ease}
.sheet-frame:hover{border-color:var(--border-hover);transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.sheet-frame[hidden]{display:none}
.sheet-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--focal,50% 15%);transition:transform 0.6s var(--spring)}
.sheet-frame:hover img{transform:scale(1.05)}
.sheet-no{position:absolute;top:14px;left:14px;z-index:2;font-family:'Bricolage Grotesque',sans-serif;font-size:0.8125rem;font-weight:700;color:rgba(255,255,255,0.85)}
.sheet-tick{display:none}
.sheet-overlay{position:absolute;inset:auto 0 0;padding:14px 16px;background:linear-gradient(180deg,transparent 0%,rgba(17,16,8,0.88) 85%);color:#fff}
.sheet-name{display:block;font-family:'Bricolage Grotesque',sans-serif;font-size:1.0625rem;font-weight:700;letter-spacing:-0.01em;margin-bottom:2px}
.sheet-meta{font-size:0.75rem;color:rgba(255,255,255,0.7)}
.empty-state{padding:72px 24px;text-align:center;color:var(--text-muted)}

@media(max-width:1024px) and (min-width:761px){.sheet-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){
  .li-intro{padding:40px 20px 28px}
  .filter-bar{padding:0 20px 24px}
  .sheet-section{padding:0 20px 32px}
  .sheet-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .sheet-name{font-size:0.9375rem}
}

/* ---- Close CTA ---- */
.li-close{background:var(--ink);color:#fff;text-align:center;padding:80px 24px}
.li-close-inner{max-width:600px;margin:0 auto}
.li-close p.overline{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.1em;font-weight:700;color:var(--accent);margin-bottom:14px}
.li-close h2{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(2rem,3vw+0.5rem,3.25rem);font-weight:700;letter-spacing:-0.04em;line-height:1.1;margin-bottom:28px}

/* ---- Footer (matches index.html) ---- */
.footer{padding:56px 48px 28px;background:var(--ink);color:#fff;border-top:1px solid rgba(255,255,255,0.06)}
.footer-inner{max-width:var(--content-max);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.footer-inner p{font-size:0.8125rem;color:rgba(255,255,255,0.45)}
.footer-inner nav{display:flex;gap:20px}
.footer-inner nav a{font-size:0.8125rem;font-weight:500;color:rgba(255,255,255,0.45);transition:color 0.2s ease}
.footer-inner nav a:hover{color:rgba(255,255,255,0.85)}
