
:root{
  --wf-orange:#FF9D19; --wf-ink:#15212A; --wf-slate:#34495E; --wf-muted:#73818C;
  --wf-line:#E0E7EB; --wf-bg:#FFFFFF; --wf-bg-warm:#FBF7F0; --wf-hair:#EDF0F2;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--wf-ink);background:var(--wf-bg);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--wf-orange);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%}
h1,h2,h3{line-height:1.2;color:var(--wf-ink);font-weight:700}

.topnav{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;
  background:var(--wf-ink);color:#fff;padding:.6rem 1.1rem}
.topnav .brand{color:#fff;font-weight:800;letter-spacing:-.3px;font-size:1.05rem;display:inline-flex;align-items:center;gap:.35rem}
.topnav .brand .heart{font-size:.95rem}
.navlinks{display:flex;gap:.2rem;flex-wrap:wrap;margin-left:auto}
.navlinks a{color:#cdd6dd;padding:.35rem .6rem;border-radius:7px;font-size:.92rem;font-weight:500}
.navlinks a:hover{background:rgba(255,255,255,.1);color:#fff;text-decoration:none}
.navlinks a.active{color:var(--wf-ink);background:var(--wf-orange);font-weight:700}
.navtoggle{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:1.4rem;cursor:pointer}

.hero{background:var(--wf-ink);color:#fff;text-align:center;padding:2.6rem 1.2rem 2.9rem}
.hero-mark{margin:0 0 .8rem;line-height:0}
.hero-mark svg{filter:drop-shadow(0 2px 6px rgba(0,0,0,.25))}
.hero h1{font-size:2.5rem;margin:0 auto;max-width:18ch;color:#fff}
.hero-sub{color:#cdd6dd;max-width:48ch;margin:1rem auto 0;font-size:1.08rem}

main{max-width:1060px;margin:0 auto;padding:2.4rem 1.2rem 1rem}
section{margin:0 0 3rem}
h2{font-size:1.65rem;margin:0 0 .4rem}
.lede{font-size:1.18rem;color:var(--wf-slate);max-width:62ch}
.note{color:var(--wf-muted);font-size:.95rem;font-style:italic;max-width:60ch}
.sectnote{color:var(--wf-slate);margin:.2rem 0 1.3rem}

/* ---- cards ---- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.1rem;align-items:stretch;grid-auto-rows:1fr}
.card{border:1px solid var(--wf-line);border-radius:16px;padding:1.15rem 1.25rem 1.25rem;background:#fff;
  display:flex;flex-direction:column;height:100%;cursor:pointer;
  transition:box-shadow .15s ease,transform .15s ease}
.card:hover{box-shadow:0 10px 30px rgba(21,33,42,.07);transform:translateY(-2px)}
/* Card face shows eyebrow + name + official name + recos + description. Aliases, the
   address/hours block, and member comments live ONLY in the modal (it clones the card's
   inner HTML OUTSIDE .card, so anything hidden here reappears there). */
.card .c-aliases,.card .c-context,.card .c-info,.card .c-voices{display:none}
.c-eyebrow{font-size:.66rem;letter-spacing:.7px;text-transform:uppercase;font-weight:700;color:var(--wf-muted);margin:0 0 .35rem}
.c-title{font-size:1.3rem;letter-spacing:-.015em;margin:0;font-weight:700;overflow-wrap:anywhere;hyphens:auto}
.c-context{font-size:.9rem;color:var(--wf-slate);margin:.15rem 0 0}
.c-metric{font-size:.85rem;color:var(--wf-slate);font-weight:600;margin:.55rem 0 0;display:flex;align-items:center;gap:.35rem}
.c-metric .heart{font-size:.9rem}
/* --- Claudia QA overlay --- */
.card .c-qa-data{display:none}
button.c-metric-qa{font:inherit;cursor:pointer;border:0;background:none;padding:0;
  color:var(--wf-orange);font-weight:700;display:inline-flex;align-items:center;gap:.35rem;margin:.55rem 0 0}
button.c-metric-qa .heart{font-size:.9rem}
.c-qa-caret{color:var(--wf-muted);font-weight:700}
.wf-modal-body button.c-metric-qa{font-size:.9rem}
.c-qa-back{font:inherit;cursor:pointer;border:0;background:none;color:var(--wf-orange);
  font-weight:700;padding:0;margin:0 0 .6rem}
.c-qa-h{font-size:.66rem;letter-spacing:.7px;text-transform:uppercase;font-weight:700;
  color:var(--wf-muted);margin:0 0 .6rem}
.c-qa-list{display:grid;gap:.5rem}
.c-qa-item{border:1px solid var(--wf-line);border-radius:10px;overflow:hidden}
.c-qa-bar{width:100%;display:flex;align-items:flex-start;gap:.5rem;text-align:left;
  font:inherit;cursor:pointer;border:0;background:#fff;padding:.6rem .8rem;color:var(--wf-ink)}
.c-qa-bar .c-qa-caret{transition:transform .15s ease;line-height:1.4}
.c-qa-item.open .c-qa-bar .c-qa-caret{transform:rotate(90deg)}
.c-qa-bar-main{display:flex;flex-direction:column;gap:.15rem}
.c-qa-post-link{font-weight:700;color:var(--wf-orange)}
.c-qa-date{font-size:.8rem;color:var(--wf-muted)}
.c-qa-body{padding:.2rem .8rem .7rem;display:grid;gap:.5rem;background:#FAFBFB}
.c-qa-comment{display:grid;gap:.15rem;padding:.5rem .7rem;border-left:3px solid var(--wf-orange);
  background:#fff;border-radius:0 8px 8px 0}
.c-qa-who{font-weight:700;font-size:.85rem;color:var(--wf-ink)}
.c-qa-text{font-size:.9rem;line-height:1.5;color:var(--wf-slate)}
.c-qa-empty{font-style:italic;color:var(--wf-muted)}
.c-tags{display:flex;gap:.3rem;flex-wrap:wrap;margin:.7rem 0 0}
.c-tags .chip{font-size:.72rem;color:var(--wf-slate);background:#F4F6F7;border:0;padding:.16rem .55rem;border-radius:7px}
.c-info{margin:.9rem 0 0;padding:.85rem 0 0;border-top:1px solid var(--wf-hair);font-size:.86rem;color:var(--wf-slate);display:grid;gap:.25rem}
.c-addr{color:var(--wf-ink);font-weight:500}
.c-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.c-actions a{font-weight:600}
.c-actions .dot{color:var(--wf-muted)}
.c-hours{font-size:.8rem;color:var(--wf-muted)}
.c-hours summary{cursor:pointer;font-weight:600;color:var(--wf-slate);list-style:none}
.c-hours summary::-webkit-details-marker{display:none}
.c-hours summary::after{content:" ▾";color:var(--wf-muted)}
.c-hours[open] summary::after{content:" ▴"}
.c-hours-body{margin-top:.3rem;line-height:1.6}
.c-summary{margin:.95rem 0 0;font-size:.9rem;line-height:1.55;color:var(--wf-slate);
  display:-webkit-box;-webkit-line-clamp:7;line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
/* ---- lightbox modal (full card detail) ---- */
.wf-modal{position:fixed;inset:0;background:rgba(21,33,42,.55);display:flex;align-items:flex-start;
  justify-content:center;padding:6vh 1rem;z-index:60}
.wf-modal[hidden]{display:none}
.wf-modal-card{background:#fff;border-radius:16px;max-width:560px;width:100%;max-height:84vh;overflow:auto;
  padding:1.6rem 1.7rem 1.8rem;position:relative;box-shadow:0 24px 64px rgba(21,33,42,.28)}
.wf-modal-x{position:absolute;top:.5rem;right:.7rem;border:0;background:none;font-size:1.7rem;line-height:1;
  cursor:pointer;color:var(--wf-muted)}
.wf-modal-body .c-title{font-size:1.55rem}
.wf-modal-body .c-summary{display:block;-webkit-line-clamp:unset;overflow:visible}
.wf-modal-body .c-hours summary::after{content:""}
.c-aliases{font-size:.85rem;color:var(--wf-muted);margin:.1rem 0 0;font-style:italic}
.c-voices{margin:1.1rem 0 0;display:grid;gap:.5rem}
.c-voices-h{font-size:.66rem;letter-spacing:.7px;text-transform:uppercase;font-weight:700;color:var(--wf-muted)}
.c-quote{margin:0;padding:.5rem .85rem;border-left:3px solid var(--wf-orange);background:#FAFBFB;
  border-radius:0 8px 8px 0;font-size:.9rem;line-height:1.5;color:var(--wf-slate);font-style:italic}

/* ---- filter toolbar (collapses on mobile) ---- */
.toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1.5rem}
.tb-controls{display:contents}
.tb-toggle{display:none}
.tb-search{flex:0 1 210px;width:210px;min-width:130px;font:inherit;font-size:.9rem;padding:.55rem .85rem;
  border:1px solid var(--wf-line);border-radius:10px;background:#fff;color:var(--wf-ink)}
.tb-search::placeholder{color:var(--wf-muted)}
.tb-sel{flex:0 1 auto;max-width:200px;font:inherit;font-size:.88rem;padding:.55rem 1.9rem .55rem .8rem;
  border:1px solid var(--wf-line);border-radius:10px;background:#fff;color:var(--wf-slate);cursor:pointer;
  appearance:none;-webkit-appearance:none;text-overflow:ellipsis;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%2373818C' stroke-width='1.5'/></svg>");
  background-repeat:no-repeat;background-position:right .7rem center}
.tb-sel:hover{border-color:var(--wf-orange)}
.tb-search:focus,.tb-sel:focus{outline:none;border-color:var(--wf-orange);box-shadow:0 0 0 3px rgba(255,157,25,.18)}
.tb-count{font-size:.82rem;color:var(--wf-muted);margin-left:auto;white-space:nowrap}
.tb-clear{font:inherit;font-size:.82rem;cursor:pointer;background:none;border:0;color:var(--wf-orange);font-weight:700;padding:.3rem .2rem}

.prose{max-width:64ch}
.prose h2{margin-top:2rem;font-size:1.35rem}
.prose ul{padding-left:1.1rem}.prose li{margin:.3rem 0}
.planlist{list-style:none;padding:0;display:grid;gap:.5rem;max-width:40ch}
.planlist li{background:var(--wf-bg-warm);border:1px solid var(--wf-line);border-radius:10px;padding:.6rem .9rem;color:var(--wf-slate)}
.voices{display:flex;gap:.5rem;flex-wrap:wrap;max-width:70ch}
.voicechip{background:#fff;border:1px solid var(--wf-line);border-radius:20px;padding:.4rem .9rem;font-weight:600;color:var(--wf-ink)}
.voicechip em{color:var(--wf-muted);font-weight:400;font-style:normal}

footer{background:var(--wf-ink);color:#aeb9c1;text-align:center;padding:2.6rem 1.4rem;margin-top:2rem}
.foot-mark{color:#fff;font-weight:800;font-size:1.15rem;letter-spacing:-.3px;margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;gap:.35rem}
.foot-tag{color:#fff;font-weight:600;margin:.2rem 0 1rem}
.foot-credit{max-width:64ch;margin:0 auto 1rem;font-size:.92rem;line-height:1.65}
.foot-credit strong{color:#fff}
.foot-links{font-size:.92rem;margin:.4rem 0}
.foot-links a{color:var(--wf-orange)}
.foot-fine{color:#73818C;font-size:.8rem;max-width:64ch;margin:1rem auto 0}

@media(max-width:720px){
  .hero{padding:1.25rem 1rem 1.4rem}
  .hero-mark{margin-bottom:.4rem}
  .hero-mark svg{width:34px;height:34px}
  .hero h1{font-size:1.45rem;max-width:26ch}
  .hero-sub{display:none}
  .navlinks{display:none;width:100%;flex-direction:column;margin:.4rem 0 0}
  body.navopen .navlinks{display:flex}
  .navtoggle{display:block}
  .topnav .brand{margin-right:auto}
  .tb-toggle{display:inline-flex;align-items:center;gap:.4rem;font:inherit;font-size:.9rem;font-weight:700;
    cursor:pointer;border:1px solid var(--wf-line);background:#fff;color:var(--wf-ink);padding:.55rem .9rem;border-radius:10px}
  .tb-toggle::before{content:"\2699";font-size:1rem;line-height:1}
  .tb-controls{display:none;order:9;flex-basis:100%;flex-wrap:wrap;gap:.5rem;margin-top:.2rem}
  .toolbar.open .tb-controls{display:flex}
  .tb-search{flex:1 1 100%;width:100%}
  .tb-sel{flex:1 1 46%;max-width:none}
  .tb-count{margin-left:auto}
}
