:root{
  --blue:#017bda;
  --blue-d:#015fa8;
  --ink:#1c2430;
  --muted:#5c6675;
  --line:#dcdcdc;
  --page:#f1f1f1;
  --soft:#f1f1f1;
  --card:#ffffff;
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-family:var(--font);
}
*{box-sizing:border-box}
html{background:var(--page)}
body{
  margin:0;
  color:var(--ink);
  background:var(--page);
  font-family:var(--font);
  font-size:1rem;
  line-height:1.6;
  letter-spacing:-0.005em;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto}a{color:var(--blue-d)}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:var(--page);padding:.5rem;z-index:10}
.wrap{max-width:1100px;margin:0 auto;padding:0 1.25rem}.narrow{max-width:720px}
.site-header{border-bottom:1px solid var(--line);background:var(--page);position:sticky;top:0;z-index:5}
.nav-row{display:flex;align-items:center;justify-content:space-between;min-height:88px}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--blue);font-family:var(--font);font-weight:800;font-size:1.15rem;letter-spacing:-0.01em}
.brand img{display:block;width:72px;height:72px;border-radius:0;background:var(--page)}
.nav-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:0;padding:10px;cursor:pointer}
.nav-toggle span{width:24px;height:2px;background:var(--ink)}
.nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--page);flex-direction:column;padding:1rem 1.25rem;border-bottom:1px solid var(--line);gap:.25rem}
.nav.open{display:flex}
.nav a,.linkbtn{text-decoration:none;color:var(--ink);padding:.5rem 0;font-family:var(--font);font-weight:500;font-size:1rem;letter-spacing:-0.005em}
.nav a.active{color:var(--blue)}.linkbtn{background:none;border:0;cursor:pointer;text-align:left}
.nav a.btn{color:#fff;text-align:center;margin-top:.5rem}
@media(min-width:860px){.nav-toggle{display:none}.nav{display:flex;position:static;flex-direction:row;align-items:center;gap:1.4rem;padding:0;border:0}.nav a.btn{margin:0}}
.btn{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;padding:.8rem 1.4rem;border-radius:999px;border:2px solid var(--blue);cursor:pointer;font-family:var(--font);font-weight:600;letter-spacing:-0.01em}
.btn:hover{background:var(--blue-d);border-color:var(--blue-d)}
.btn-sm{padding:.45rem 1.1rem}.btn-ghost{background:var(--page);color:var(--blue)}.btn-ghost:hover{color:#fff}
.btn-light{background:var(--card);color:var(--blue-d);border-color:var(--card)}.btn-light:hover{background:var(--page);color:var(--blue-d)}
.hero{background:var(--page);padding:3rem 0}
.hero-grid{display:grid;gap:2rem;align-items:center}
@media(min-width:860px){.hero-grid{grid-template-columns:1.2fr 1fr}.hero{padding:5rem 0}}
.hero-logo{max-width:340px;margin:0 auto;display:block;border-radius:0;background:var(--page);box-shadow:none}
h1{font-family:var(--font);font-size:clamp(2rem,5vw,3rem);line-height:1.15;letter-spacing:-0.02em;margin:.2em 0 .4em;font-weight:700}
h2{font-family:var(--font);font-size:1.7rem;line-height:1.2;letter-spacing:-0.02em;font-weight:700}
h3{font-family:var(--font);letter-spacing:-0.02em;line-height:1.25;font-weight:700}
.eyebrow{font-family:var(--font);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;color:var(--blue);font-weight:700;margin:0}
.lead{font-size:1.15rem;color:var(--muted);line-height:1.6}
.cta-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}
.section{padding:3rem 1.25rem}
.cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin:1.5rem 0}
.card{border:1px solid var(--line);border-radius:16px;padding:1.4rem;background:var(--card);margin:0}

.band{background:var(--blue);color:#fff;padding:3rem 0;text-align:center}.band h2{color:#fff!important;-webkit-text-stroke:0!important;border:0!important;text-shadow:none!important}
.checks{padding-left:1.2rem}.checks li{margin:.55rem 0}
.client{text-align:center}.client-mark{width:64px;height:64px;border-radius:50%;background:var(--soft);color:var(--blue);display:grid;place-items:center;font-weight:800;margin:0 auto .75rem;font-size:1.3rem;font-family:var(--font);letter-spacing:-0.005em}
.placeholder{border-style:dashed}
.quote p{font-size:1.08rem;margin-top:0;letter-spacing:-0.005em;line-height:1.75}.quote footer{color:var(--muted);font-size:.9rem;font-family:var(--font);letter-spacing:-0.005em}
.note{background:#fff8e1;border:1px solid #f3d27a;padding:.75rem 1rem;border-radius:10px;font-size:.95rem}.strong{font-weight:600}
.muted{color:var(--muted)}.small{font-size:.85rem}
.form{display:grid;gap:1rem;margin:1.5rem 0}
.form label{display:grid;gap:.35rem;font-family:var(--font);font-weight:600;letter-spacing:-0.005em}
.form input,.form textarea{font-family:var(--font);font-size:1rem;letter-spacing:-0.005em;padding:.7rem .85rem;border:1px solid #cfd6df;border-radius:10px}
.form input:focus,.form textarea:focus{border-color:var(--blue);outline:2px solid #b7d9f5}
.login{max-width:420px}.alert{background:#fdecea;border:1px solid #f5c2bd;padding:.6rem .9rem;border-radius:10px}
.site-footer{background:var(--soft);border-top:1px solid var(--line);padding:2rem 0;margin-top:2rem;font-size:.98rem;letter-spacing:-0.005em}
.foot{display:grid;gap:1rem}@media(min-width:760px){.foot{grid-template-columns:2fr 1.5fr 1fr}}

.client-logo-only{display:flex;align-items:center;justify-content:center;padding:2rem;border:0;box-shadow:none;background:transparent}.client-logo{max-width:min(320px,80vw);height:auto;display:block}.clients-only{grid-template-columns:1fr;max-width:420px}

.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Logo wordmark look: blue fill + black outline (matches seal logo text) */
.brand span,
.hero h1,
h1,
h2,

.brand span,
.hero h1,
h1,
h2 {
  letter-spacing: -0.02em;
}

.band h2 {
  font-family: var(--font);
  letter-spacing: -0.02em;
  color: #fff;
  -webkit-text-fill-color: #fff;
  -webkit-text-stroke: 1.25px #000;
  paint-order: stroke fill;
  text-shadow:
    -0.5px -0.5px 0 #000,
     0.5px -0.5px 0 #000,
    -0.5px  0.5px 0 #000,
     0.5px  0.5px 0 #000;
}
@media (min-width: 860px) {
  .hero h1,
  h1 {
    -webkit-text-stroke: 1.75px #000;
    letter-spacing: -0.02em;
  }
}
.hero .eyebrow{color:#111;-webkit-text-stroke:0}
/* access requests / invite (v10) */
.notice{background:#e8f3fd;border:1px solid #b7d9f5;padding:.6rem .9rem;border-radius:10px}
.invite-box{display:grid;gap:.5rem;margin:1rem 0}
.invite-url{font:inherit;font-size:.9rem;padding:.55rem .7rem;border:1px solid #cfd6df;border-radius:8px;width:100%;background:#fff}
.req-list{display:grid;gap:1rem;margin:1rem 0 2rem}
.req{display:grid;gap:.75rem}
.req-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.req-actions input{font:inherit;padding:.45rem .7rem;border:1px solid #cfd6df;border-radius:8px;flex:1 1 180px}
.decided{padding-left:1.1rem;line-height:1.8}




/* Hero eyebrow: black, no stroke (Billy) */
.hero .eyebrow{
  color:#111;
  -webkit-text-fill-color:#111;
  -webkit-text-stroke:0;
  text-shadow:none;
}

/* Billy: section + card titles black */
.section h2, main h2, .card h3, article.card h3{
  color:#111!important;
  -webkit-text-stroke:0!important;
}

/* Billing */
.table-wrap{overflow-x:auto;margin:1rem 0 2rem}
.inv-table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;font-size:.95rem}
.inv-table th,.inv-table td{padding:.7rem .8rem;text-align:left;border-bottom:1px solid #e3e3e3;vertical-align:middle}
.inv-table th{font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:#555}
.inv-table form{margin:0}
.pill{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.8rem;font-weight:600;background:#e8e8e8}
.pill-open{background:#e3f1fd;color:#015fa8}.pill-paid{background:#e4f6e8;color:#1d7a35}.pill-void{background:#f4e3e3;color:#9a2b2b}
.inv-form{display:grid;gap:.8rem;max-width:560px;margin-bottom:2rem}
.inv-form label{display:grid;gap:.3rem;font-weight:600}
.inv-form input{padding:.6rem .7rem;border:1px solid #ccc;border-radius:8px;font:inherit}
.btn[disabled]{opacity:.55;cursor:not-allowed}
