.fa-wrap{--fa-green:#225b49;--fa-soft:#f2f7f4;--fa-border:#d4e1da;max-width:1060px;margin:1.2rem auto 3rem;line-height:1.65;font-size:1rem}
.fa-wrap *{box-sizing:border-box}
.fa-wrap h2,.fa-wrap h3{line-height:1.25;margin:1.4em 0 .6em}
.fa-wrap .fa-nav{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center;margin:0 0 1.7rem;padding-bottom:.9rem;border-bottom:1px solid var(--fa-border)}
.fa-nav a{display:inline-block;padding:.5rem .85rem;color:var(--fa-green);border:1px solid var(--fa-border);text-decoration:none;border-radius:8px;font-weight:600}
.fa-nav a:hover{background:var(--fa-soft)}
.fa-hero{background:var(--fa-soft);border-radius:16px;padding:clamp(1.2rem,3vw,2.5rem);border:1px solid var(--fa-border)}
.fa-hero h2{font-size:clamp(1.7rem,3vw,2.5rem);margin:.25rem 0 .7rem}
.fa-eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;color:var(--fa-green);font-weight:700}
.fa-button,.fa-wrap button.fa-button{display:inline-block;background:var(--fa-green);border:2px solid var(--fa-green);border-radius:8px;padding:.65rem 1.1rem;margin:.2rem .4rem .2rem 0;color:white!important;text-decoration:none!important;font:inherit;font-weight:700;cursor:pointer}
.fa-button:hover,.fa-wrap button.fa-button:hover{filter:brightness(1.1)}
.fa-button.fa-outline{background:transparent;color:var(--fa-green)!important}
.fa-form{max-width:750px;display:grid;gap:1rem;margin:1.2rem 0 2rem}
.fa-form label:not(.fa-check){display:grid;gap:.3rem;font-weight:600}
.fa-form input:not([type=checkbox]),.fa-form select,.fa-form textarea{min-width:0;width:100%;padding:.65rem .7rem;background:white;color:#182920;border:1px solid #99b1a4;border-radius:7px;font:inherit}
.fa-form input:focus,.fa-form select:focus,.fa-form textarea:focus{outline:2px solid #75a98c;outline-offset:1px}
.fa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.fa-check{display:flex;align-items:flex-start;gap:.6rem;line-height:1.4}
.fa-check input{margin-top:.25rem;flex:0 0 auto}
.fa-small{color:#52685b;font-size:.9rem}
.fa-privacy{background:var(--fa-soft);border-left:3px solid var(--fa-green);padding:1rem;font-size:.92rem}
.fa-notice{padding:1rem 1.2rem;margin:1rem 0;border-left:4px solid var(--fa-green);background:var(--fa-soft)}
.fa-hidden{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.fa-table-scroll{width:100%;overflow-x:auto}
.fa-table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:720px}
.fa-table th,.fa-table td{text-align:left;padding:.75rem .6rem;border-bottom:1px solid var(--fa-border);vertical-align:top}
.fa-table th{background:var(--fa-soft);color:#173a2e}
.fa-table a{font-weight:700}
.fa-map{width:100%;height:510px;min-height:380px;border-radius:12px;border:1px solid var(--fa-border);z-index:0}
.fa-admin .fa-admin-content{padding:1rem 0;max-width:1400px}
.fa-admin .fa-stats{display:flex;flex-wrap:wrap;gap:1rem}
.fa-admin .fa-stats>div{background:#fff;padding:1rem 1.4rem;border:1px solid #dcdcde;border-radius:8px;min-width:160px;display:grid;gap:.5rem}
.fa-admin .fa-stats strong{font-size:2.2rem}
.fa-admin table form{margin:0 0 .25rem}
.fa-admin table td{vertical-align:top}
.fa-admin .fa-admin-content input[type=time]{min-width:105px}
@media(max-width:700px){.fa-grid{grid-template-columns:1fr}.fa-map{height:380px}.fa-wrap .fa-nav{gap:.3rem}.fa-nav a{font-size:.85rem;padding:.4rem .55rem}}
