@font-face{font-family:Hanken;src:url('fonts/hanken-grotesk-latin-400.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Hanken;src:url('fonts/hanken-grotesk-latin-700.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:Fraunces;src:url('fonts/fraunces-latin-700.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--forest:#173f36;--forest-2:#245b4e;--cream:#f7f1e7;--paper:#fffdf8;--ink:#18342d;--muted:#64756f;--orange:#e97a45;--line:#d9ded7;--sage:#dce8df;--shadow:0 18px 60px rgba(23,63,54,.12);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.55 Hanken,system-ui,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.site-header{align-items:center;background:rgba(247,241,231,.94);border-bottom:1px solid rgba(23,63,54,.1);display:flex;justify-content:space-between;padding:18px clamp(20px,5vw,72px);position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}.brand{align-items:center;display:flex;font-size:.83rem;letter-spacing:.01em;line-height:1.05;text-decoration:none}.brand-mark{align-items:center;background:var(--forest);border-radius:11px;color:var(--paper);display:flex;font-family:Fraunces,serif;font-size:1.35rem;height:42px;justify-content:center;margin-right:11px;width:42px}.site-header nav{align-items:center;display:flex;gap:28px}.site-header nav a{font-size:.9rem;font-weight:700;text-decoration:none}.nav-cta{border:1px solid var(--forest);border-radius:999px;padding:9px 16px}.hero{background:var(--forest);color:var(--paper);display:grid;gap:55px;padding:clamp(70px,9vw,120px) clamp(20px,7vw,100px);position:relative;overflow:hidden}.hero:after{background:var(--orange);border-radius:50%;content:"";filter:blur(1px);height:18px;position:absolute;right:8%;top:13%;width:18px}.hero-copy{max-width:780px}.eyebrow{color:var(--orange);font-size:.72rem;font-weight:700;letter-spacing:.17em;margin:0 0 22px;text-transform:uppercase}.hero h1,.legal-page h1{font:700 clamp(3.5rem,7.7vw,7rem)/.91 Fraunces,serif;letter-spacing:-.055em;margin:0}.hero h1 em{color:#f1b28e}.hero-intro{color:#d9e3df;font-size:clamp(1rem,1.8vw,1.25rem);max-width:660px;margin:28px 0 34px}.hero-search{background:var(--paper);border-radius:16px;display:flex;max-width:650px;padding:7px}.hero-search input{background:transparent;border:0;color:var(--ink);flex:1;min-width:0;outline:0;padding:12px 15px}.hero-search button,.button{background:var(--orange);border:0;border-radius:11px;color:#24130b;cursor:pointer;font-weight:700;padding:13px 22px;text-decoration:none}.quick-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.quick-links button{background:transparent;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:var(--paper);cursor:pointer;font-size:.8rem;padding:7px 12px}.hero-count{color:#d9e3df;font-size:.9rem;margin-top:26px}.hero-count b{color:var(--paper)}.directory-section{padding:90px clamp(20px,7vw,100px)}.section-heading{align-items:end;display:flex;justify-content:space-between;margin-bottom:38px}.section-heading h2,.join-section h2{font:700 clamp(2.7rem,5vw,4.8rem)/1 Fraunces,serif;letter-spacing:-.04em;margin:0}.section-heading>p{color:var(--muted);font-weight:700}.toolbar{background:var(--paper);border:1px solid var(--line);border-radius:18px;margin-bottom:30px;padding:15px}.search-field input{background:#f3f5f1;border:0;border-radius:11px;outline:0;padding:14px 16px;width:100%}.filters{display:flex;gap:8px;overflow:auto;padding-top:12px;scrollbar-width:none}.filter-button{background:transparent;border:1px solid var(--line);border-radius:999px;cursor:pointer;flex:0 0 auto;font-size:.78rem;padding:7px 12px}.filter-button.active{background:var(--forest);border-color:var(--forest);color:var(--paper)}.listing-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.listing-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;min-height:285px;padding:24px;position:relative;transition:.2s ease}.listing-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.avatar{align-items:center;background:var(--sage);border-radius:16px;color:var(--forest);display:flex;font:700 1.2rem Fraunces,serif;height:54px;justify-content:center;margin-bottom:28px;width:54px}.category{color:var(--orange);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.listing-card h3{font:700 1.45rem/1.1 Fraunces,serif;margin:8px 0 9px}.listing-card address{color:var(--muted);font-size:.88rem;font-style:normal}.card-footer{align-items:center;border-top:1px solid var(--line);display:flex;justify-content:space-between;margin-top:auto;padding-top:18px}.card-footer span{color:var(--muted);font-size:.78rem}.card-footer a{font-weight:700;text-decoration:none}.empty-state{text-align:center;padding:80px 20px}.trust-band{background:#e3eadd;display:grid;gap:45px;grid-template-columns:repeat(3,1fr);padding:70px clamp(20px,7vw,100px)}.trust-number{color:var(--orange);font:700 1.1rem Fraunces,serif}.trust-band h3{font:700 1.35rem Fraunces,serif;margin:18px 0 8px}.trust-band p{color:var(--muted);margin:0;max-width:340px}.join-section{align-items:center;background:var(--orange);display:flex;gap:40px;justify-content:space-between;padding:80px clamp(20px,7vw,100px)}.join-section .eyebrow{color:var(--forest)}.join-section p{max-width:550px}.button-light{background:var(--paper);white-space:nowrap}.site-footer{background:var(--forest);color:#dce8df;display:grid;gap:32px;grid-template-columns:1fr auto;padding:55px clamp(20px,7vw,100px)}.footer-brand{color:var(--paper)}.footer-brand .brand-mark{background:var(--paper);color:var(--forest)}.footer-links{display:flex;gap:24px}.footer-links a,.credit a{font-weight:700}.credit{border-top:1px solid rgba(255,255,255,.15);grid-column:1/-1;margin:10px 0 0;padding-top:22px;font-size:.82rem}.detail-hero{background:var(--forest);color:var(--paper);padding:75px clamp(20px,10vw,150px) 95px}.back-link{color:#cbdad4;font-size:.88rem;text-decoration:none}.detail-title-row{align-items:end;display:grid;gap:40px;grid-template-columns:1fr auto;margin-top:60px}.detail-avatar{align-items:center;background:var(--orange);border-radius:24px;color:#24130b;display:flex;font:700 2rem Fraunces,serif;height:92px;justify-content:center;margin-bottom:25px;width:92px}.detail-hero h1{font:700 clamp(3.2rem,7vw,6rem)/.95 Fraunces,serif;letter-spacing:-.05em;margin:8px 0 0;max-width:900px}.verified-note{align-items:center;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);border-radius:15px;display:flex;gap:10px;max-width:310px;padding:13px 15px;font-size:.82rem}.detail-content{display:grid;gap:80px;grid-template-columns:minmax(0,1fr) 360px;padding:75px clamp(20px,10vw,150px)}.detail-content h2{font:700 2.2rem Fraunces,serif;margin:0 0 25px}.fact-list{border-top:1px solid var(--line);margin:0}.fact{border-bottom:1px solid var(--line);display:grid;gap:20px;grid-template-columns:130px 1fr;padding:20px 0}.fact dt{color:var(--muted);font-size:.8rem;font-weight:700;text-transform:uppercase}.fact dd{margin:0}.fact a{font-weight:700}.claim-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:28px;position:sticky;top:100px}.claim-card h2{font-size:1.8rem}.claim-card p{color:var(--muted)}.button-full{display:block;text-align:center;width:100%}.claim-meta{font-size:.75rem;margin:15px 0 0;text-align:center}.validation-dialog{border:0;border-radius:25px;box-shadow:0 30px 100px rgba(0,0,0,.28);max-height:90vh;max-width:660px;padding:0;width:calc(100% - 30px)}.validation-dialog::backdrop{background:rgba(15,33,28,.72);backdrop-filter:blur(5px)}.dialog-close-form{display:flex;justify-content:flex-end;position:absolute;right:14px;top:12px;z-index:2}.dialog-close-form button{background:transparent;border:0;cursor:pointer;font-size:1.7rem}.validation-wrap{padding:38px}.validation-wrap h2{font:700 2.2rem Fraunces,serif;margin:0}.validation-wrap>p{color:var(--muted)}.validation-form{display:grid;gap:16px;margin-top:25px}.form-row{display:grid;gap:14px;grid-template-columns:1fr 1fr}.validation-form label{font-size:.78rem;font-weight:700}.validation-form input,.validation-form select,.validation-form textarea{background:#f3f5f1;border:1px solid transparent;border-radius:10px;margin-top:6px;outline:0;padding:12px;width:100%}.validation-form input:focus,.validation-form select:focus,.validation-form textarea:focus{border-color:var(--forest)}.checkbox{align-items:start;display:flex;gap:10px;font-weight:400!important}.checkbox input{margin:3px 0 0;width:auto}.form-message{border-radius:10px;font-size:.85rem;padding:12px}.form-message.success{background:#dff2e7}.form-message.error{background:#f7dddd}.legal-page{margin:0 auto;max-width:900px;padding:90px 25px 120px}.legal-page h1{font-size:clamp(3rem,7vw,6rem)}.legal-page .lead{font-size:1.25rem}.legal-page h2{font:700 1.8rem Fraunces,serif;margin:55px 0 12px}.legal-page p{color:var(--muted);max-width:720px}.legal-note{background:#f1dfd3;border-radius:12px;padding:14px}
@media(max-width:900px){.listing-grid{grid-template-columns:repeat(2,1fr)}.detail-content{grid-template-columns:1fr}.claim-card{position:static}.trust-band{grid-template-columns:1fr}.detail-title-row{grid-template-columns:1fr}}
@media(max-width:640px){.site-header nav a:not(.nav-cta){display:none}.site-header{padding:14px 18px}.hero{padding:60px 20px}.hero h1{font-size:3.55rem}.hero-search button{padding:12px}.directory-section{padding:65px 18px}.section-heading{align-items:start;display:block}.listing-grid{grid-template-columns:1fr}.listing-card{min-height:250px}.join-section{align-items:start;flex-direction:column}.site-footer{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}.detail-hero{padding:55px 20px 70px}.detail-title-row{margin-top:40px}.detail-content{padding:55px 20px}.fact{grid-template-columns:1fr;gap:5px}.form-row{grid-template-columns:1fr}.validation-wrap{padding:32px 20px}.nav-cta{font-size:.76rem!important}}
