/* CapeCodNonProfits.com - Google Sheets Directory Theme */
:root {
  --page-bg:#101010; --page-text:#f5f5f5; --muted:#cfcfcf;
  --panel:#1a1a1a; --panel-2:#202020; --border:#3c3c3c;
  --header-start:#303030; --header-mid:#1c1c1c; --header-end:#000;
  --link:#fff; --link-soft:#e0e0e0; --accent:#ffffff;
  --button-bg:#3a3a3a; --button-hover:#555; --shadow:rgba(0,0,0,.48);
  --focus:#f3f3f3;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--page-bg);color:var(--page-text);line-height:1.55}
a{color:var(--link-soft);font-weight:700;text-decoration:none}a:hover{text-decoration:underline;color:var(--link)}
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{left:12px;top:12px;width:auto;height:auto;padding:8px 10px;background:#fff;color:#000;z-index:99;border-radius:6px}
.site-header{background:linear-gradient(to bottom,var(--header-start),var(--header-mid) 62%,var(--header-end));text-align:center;padding:18px 10px;border-bottom:3px solid #000}.site-header h1{margin:0;font-size:clamp(1.7rem,4vw,2.5rem);letter-spacing:.5px}.tagline{margin:6px auto 0;max-width:900px;color:#ddd;font-size:1rem}.site-url{margin:6px 0 0;font-size:.92rem;color:#ddd}
.main-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;background:#181818;padding:8px;border-bottom:2px solid #000}.main-nav a{padding:8px 12px;border-radius:999px;color:#f5f5f5}.main-nav a:hover,.main-nav a.active{background:#2a2a2a;text-decoration:none}.main-nav .highlight{border:1px solid rgba(255,255,255,.28)}
.hero-banner{max-width:1180px;margin:18px auto 14px;padding:0 12px}.hero-banner-img{display:block;width:100%;height:auto;max-height:430px;object-fit:contain;border-radius:14px;box-shadow:0 6px 18px var(--shadow)}
.intro-card,.content-card{max-width:960px;margin:16px auto;padding:18px;background:var(--panel);border:1px solid rgba(255,255,255,.12);border-radius:14px;box-shadow:0 3px 10px var(--shadow)}.intro-card h2,.content-card h2{margin-top:0}.intro-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.button,.submit-button{display:inline-block;background:var(--button-bg);color:#fff;border:0;border-radius:9px;padding:10px 15px;font-weight:700;cursor:pointer;text-align:center}.button:hover,.submit-button:hover{background:var(--button-hover);text-decoration:none}.button.secondary{background:#292929;border:1px solid rgba(255,255,255,.18)}
.filter-bar{max-width:960px;margin:0 auto 12px;padding:12px;display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;background:#181818;border:1px solid var(--border);border-radius:12px}.filter-bar>div{display:flex;gap:6px;align-items:center}.filter-bar label{font-weight:700;color:#eee}.filter-bar select,.search-box{padding:7px 8px;border:1px solid #555;border-radius:7px;background:#101010;color:#f5f5f5;min-width:170px}.search-box{min-width:min(320px,90vw)}
.letters-index{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;max-width:960px;margin:10px auto 14px;padding:0 10px}.letters-index a{padding:7px 10px;background:#333;color:#fff;border-radius:7px;font-size:.86rem}.letters-index a:hover{background:#4a4a4a;text-decoration:none}.status-message{max-width:960px;margin:12px auto;padding:10px 12px;color:#ddd;text-align:center}.container{max-width:960px;margin:0 auto;padding:0 12px 20px}.letter-section{margin-top:26px}.letter-section h2{margin:0 0 10px;border-bottom:2px solid #444;padding-bottom:5px;color:#eee}.directory-list{list-style:none;padding:0;margin:0}.directory-item{background:var(--panel);border:1px solid rgba(255,255,255,.1);margin:9px 0;padding:14px;border-radius:10px;box-shadow:0 2px 5px var(--shadow)}.directory-item h3{margin:0 0 5px;font-size:1.08rem}.directory-item .address,.directory-item .town,.directory-item .phone,.directory-item .email,.directory-item .meta{display:block;font-size:.9rem;color:var(--muted);margin-top:3px}.directory-item .meta{margin-top:8px}.badge{display:inline-block;margin:3px 5px 0 0;padding:3px 7px;border-radius:999px;background:#292929;border:1px solid rgba(255,255,255,.14);font-size:.78rem;color:#e6e6e6}.empty-state{background:var(--panel);border-radius:12px;padding:18px;text-align:center;color:#ddd}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-field{display:flex;flex-direction:column;gap:5px}.form-field.full{grid-column:1 / -1}.form-field label{font-weight:700}.form-field input,.form-field select,.form-field textarea{width:100%;padding:10px;border-radius:8px;border:1px solid #555;background:#111;color:#fff}.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.checks label{font-weight:400;background:#202020;padding:8px;border-radius:8px;border:1px solid rgba(255,255,255,.12)}.form-note{font-size:.92rem;color:#ddd}.required{color:#fff}.hidden-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}.hidden-honeypot input{position:absolute;left:-10000px;width:1px;height:1px;tab-size:0}.form-message{margin-top:12px;padding:10px;border-radius:8px;display:none}.form-message.ok{display:block;background:#16351d;border:1px solid #397846}.form-message.error{display:block;background:#3a1515;border:1px solid #7f3838}
.site-footer{margin-top:28px;padding:16px 8px 20px;background:#181818;color:#e0e0e0;text-align:center;font-size:.86rem}.site-footer p{margin:4px 0}.footer-inner{max-width:960px;margin:0 auto}
@media(max-width:720px){.hero-banner{margin:12px auto 10px;padding:0 8px}.hero-banner-img{max-height:none;border-radius:10px}.form-grid{grid-template-columns:1fr}.checks{grid-template-columns:1fr}.filter-bar{margin-left:8px;margin-right:8px}.main-nav a{padding:7px 9px}.intro-card,.content-card{margin-left:10px;margin-right:10px}}
