@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#142b43;--green:#38654b;--muted:#6d7980;--line:#dbe2df;--cream:#f7f6f0;--pale:#eaf1ec}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:#fffefa;color:var(--navy);font:14px 'DM Sans',Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}a{color:inherit;text-decoration:none}p{line-height:1.75;color:var(--muted)}h1,h2,h3{font-family:Manrope,Arial,sans-serif;margin-top:0}h1,h2{font-weight:600;letter-spacing:-1.6px}h2{font-size:32px;line-height:1.3;margin-bottom:12px}h3{font-size:17px}button{color:inherit}[hidden]{display:none!important}.wrap{max-width:1240px;width:90%;margin:auto}.skip{position:absolute;left:-10000px}.skip:focus{left:10px;top:10px;z-index:1000;background:white;padding:15px}.demo-strip{background:var(--navy);color:#d6e0e5;font-size:10px;letter-spacing:.2px;text-align:center;padding:10px}.demo-strip>span{color:#fff;letter-spacing:1.5px;font-size:9px;margin-right:15px;font-weight:700}header{display:flex;align-items:center;justify-content:space-between;padding:24px 0}.brand{font-family:Manrope,Arial,sans-serif;font-size:18px;letter-spacing:.3px;font-weight:800;display:flex;gap:11px;align-items:center}.brand b{color:var(--green)}.brand small{display:block;font-size:7px;letter-spacing:2.2px;margin-top:5px;font-weight:500}.brand-symbol{background:var(--pale);border-radius:10px;width:43px;height:43px;display:grid;place-items:center;font-size:35px;color:var(--green);font-weight:400}nav{display:flex;align-items:center;gap:28px;font-size:12px}.nav-button{background:transparent;border:1px solid #becbbf;border-radius:5px;padding:12px 17px;font-size:12px}.nav-button span{margin-left:12px}.hero{background:#edf3ef;border-top:1px solid #e4eae2;position:relative}.hero-inner{display:grid;grid-template-columns:1fr 1fr;padding-top:52px;gap:20px 45px}.hero-copy{position:relative;z-index:1}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:700;color:#547161;margin:0 0 16px}h1{font-size:49px;line-height:1.15;margin:0 0 20px;letter-spacing:-2.5px}h1 span{color:var(--green)}.intro{font-size:14px;max-width:490px;margin:0 0 25px}.hero-art{display:flex;flex-direction:column;justify-content:end;position:relative;align-items:center;padding-top:10px}.hero-art svg{display:block;width:100%;max-width:540px}.hero-art>span{font-size:8px;letter-spacing:2px;color:#678176;margin-top:8px}.search-box{display:flex;grid-column:1/-1;position:relative;transform:translateY(26px);background:white;padding:15px;gap:22px;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 28px #142b430a;margin-top:-12px}.search-box label{flex:1;padding:6px 12px}.search-box label>span{font-size:8px;letter-spacing:1.5px;color:#809087;display:block;font-weight:700}.search-box input,.search-box select{display:block;width:100%;border:0;color:var(--navy);background:white;padding:8px 0 0;outline-offset:1px;font-size:13px}.search-box .location-label{flex:.5;border-left:1px solid var(--line);padding-left:25px}.button{border:0;border-radius:5px;background:var(--green);color:white;padding:16px 23px;display:inline-flex;gap:25px;align-items:center;font-size:12px;font-weight:600;justify-content:space-between}.button:hover{background:#284f39}.section{padding-top:62px;padding-bottom:45px}.categories{padding-top:74px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.section-heading h2{margin:0}.section-heading p:not(.eyebrow){font-size:12px;margin-bottom:3px}.section-heading .eyebrow{margin-bottom:10px}.plaques{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.plaque{position:relative;background:linear-gradient(125deg,#fff,#f3f6f2);border:2px solid var(--navy);border-radius:15px;box-shadow:0 4px 0 #142b4313;padding:0;overflow:hidden;text-align:left;transition:transform .15s,box-shadow .15s}.plaque:hover{transform:translateY(-4px);box-shadow:0 8px 0 #142b4313}.plaque:before,.plaque:after{content:'';position:absolute;top:12px;width:5px;height:5px;border:1px solid #758783;border-radius:50%;z-index:2}.plaque:before{left:12px}.plaque:after{right:12px}.plaque-art{height:115px;display:flex;align-items:center;justify-content:center;background:#edf3ee;position:relative;border-bottom:1px solid #dce5df}.plaque-art svg{width:125px;height:90px;position:relative;z-index:1}.plaque-art:before{content:'';position:absolute;height:90px;width:145px;border-radius:60% 40%;background:#dce9de}.plaque[data-category="homes"] .plaque-art{background:url('/assets/art/homes-plaque-reference.png') 70% 25%/cover}.plaque[data-category="homes"] .plaque-art:before{display:none}.plaque[data-category="homes"] .plaque-art svg{display:none}.plaque[data-category="auto"] .plaque-art{background:#edf1f6}.plaque[data-category="auto"] .plaque-art:before{background:#dce5ef}.plaque[data-category="money"] .plaque-art{background:#f6f0e5}.plaque[data-category="food"] .plaque-art{background:#f8ebe2}.plaque[data-category="health"] .plaque-art{background:#edf2f0}.plaque[data-category="everyday"] .plaque-art{background:#f0edf5}.plaque-text{padding:17px 20px 19px}.plaque h3{margin:0 0 7px;font-size:18px;font-weight:800;letter-spacing:-.5px}.plaque p{font-size:11px;line-height:1.6;margin:0 0 15px;min-height:34px}.plaque-footer{border-top:1px solid #d8e1da;display:flex;justify-content:space-between;padding-top:11px;color:var(--green);font-size:10px;font-weight:700}.plaque-footer span+span{font-size:15px;line-height:12px}.home-hub{background:#e9f0e7;padding:36px 0;border-block:1px solid #d8e4d4}.hub-top{display:flex;justify-content:space-between;align-items:start}.hub-top p:not(.eyebrow){font-size:12px;margin-bottom:20px}.hub-links{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.hub-link{background:white;border:1px solid #c6d6c5;border-radius:6px;padding:16px 12px;text-align:left;font-size:11px;display:flex;justify-content:space-between;align-items:center;gap:8px}.hub-link.active{background:var(--green);color:white;border-color:var(--green)}.text-button{border:0;background:transparent;color:var(--green);font-size:11px;white-space:nowrap;padding:8px 0}.directory{border-top:1px solid var(--line);padding-top:45px}.view-toggle{display:flex;padding:4px;border:1px solid var(--line);border-radius:6px;gap:4px}.view-toggle button{border:0;background:none;font-size:10px;padding:9px 14px;border-radius:3px}.view-toggle [aria-pressed="true"]{background:var(--navy);color:white}.filter-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:24px 0 18px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{background:white;border:1px solid var(--line);font-size:10px;padding:9px 13px;border-radius:20px}.chip.active{color:white;background:var(--navy);border-color:var(--navy)}.results-summary{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px;margin-bottom:16px}.directory-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:26px;align-items:start}.directory-layout.list-only{grid-template-columns:1fr}.directory-layout.list-only .businesses{display:grid;grid-template-columns:1fr 1fr;gap:14px}.business{border:1px solid var(--line);border-radius:7px;background:white;padding:20px;margin-bottom:13px;transition:border-color .15s;scroll-margin-top:25px}.business.selected{border:2px solid var(--green);padding:19px}.business-top{display:flex;gap:13px;align-items:center}.business-monogram{height:43px;width:43px;flex-shrink:0;border-radius:9px;background:#edf2e9;display:grid;place-items:center;color:var(--green);font-size:14px;letter-spacing:.5px;font-weight:700}.business h3{margin:0 0 4px;font-size:15px;letter-spacing:-.3px}.business-location{font-size:10px;color:var(--muted)}.business p{font-size:11px;margin:13px 0;line-height:1.6}.business-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:12px;border-top:1px solid #edf0ea}.tag{font-size:9px;color:#5f7569;background:#f0f4ec;padding:5px 7px;border-radius:3px}.business-bottom button{font-size:10px;border:0;background:none;color:var(--green);padding:0;font-weight:700}.map-panel{position:sticky;top:20px;background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden}.map-head{padding:14px 17px;display:flex;align-items:center;justify-content:space-between;font-size:11px}.map-head i{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:6px}#map{height:460px;position:relative;background:#edf0e7;z-index:0}.map-foot{font-size:9px;padding:13px 17px;color:var(--muted);display:flex;flex-direction:column;gap:5px}.pin-icon{background:var(--green);border:2px solid white;border-radius:50% 50% 50% 3px;transform:rotate(-45deg);box-shadow:0 2px 5px #0004;color:white;display:grid;place-items:center}.pin-icon span{transform:rotate(45deg);font:700 10px 'DM Sans',Arial}.leaflet-popup-content{font:12px 'DM Sans',Arial;color:var(--navy)}.leaflet-popup-content button{background:var(--green);color:white;border:0;border-radius:3px;padding:8px 12px;margin-top:8px;font-size:10px}.fallback-map{width:100%;height:100%;display:block}.fallback-map text{font-family:Arial,sans-serif;fill:#688077;font-size:11px}.fallback-map .route{stroke:#fff;stroke-width:8;fill:none}.fallback-map .road{stroke:#d4bb8a;stroke-width:3;fill:none}.fallback-map .river{stroke:#9ec6d7;stroke-width:6;fill:none}.fallback-map .mappin{cursor:pointer}.fallback-map .mappin text{fill:white;font-size:10px;font-weight:700;pointer-events:none}.fallback-map .mappin circle{fill:var(--green);stroke:white;stroke-width:2}.map-note{position:absolute;bottom:7px;left:9px;font-size:8px;background:#fffd;padding:5px;border-radius:3px;color:#617464;pointer-events:none}.list-note{font-size:10px;line-height:1.6;color:var(--muted);padding-top:6px}.empty{padding:45px 20px;text-align:center;border:1px dashed var(--line);border-radius:6px;color:var(--muted);font-size:13px}.empty button{display:block;margin:15px auto 0}.join-band{background:#edf2eb;margin-top:25px;padding:50px 0}.join-inner{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center}.join-inner p{font-size:12px;max-width:590px}.join-inner .button{margin-top:10px}.join-example{background:#fff;border:1px solid #ccd7c9;border-radius:12px;transform:rotate(2deg);padding:27px;max-width:310px;box-shadow:9px 9px 0 #dce6d6;margin:auto;width:100%}.mini-label{font-size:8px;letter-spacing:1.5px;color:#7e8b7f}.example-logo{margin:25px 0 18px;line-height:1.3;color:var(--green);font-size:11px;letter-spacing:1.4px}.example-logo b{font-size:20px}.join-example h3{font-size:16px;margin-bottom:7px}.join-example p{font-size:11px}.join-example>span:last-child{display:block;border-top:1px solid var(--line);padding-top:15px;font-size:10px;color:var(--green)}footer{display:flex;justify-content:space-between;align-items:start;gap:30px;padding:36px 0}footer .brand{font-size:13px}footer p{font-size:10px;max-width:400px}footer>div+div{display:flex;flex-direction:column;gap:12px;font-size:10px}footer>span{font-size:8px;letter-spacing:1px;color:var(--muted);white-space:nowrap}dialog{width:min(620px,92vw);max-height:90vh;padding:0;border:1px solid var(--line);border-radius:12px;color:var(--navy);box-shadow:0 20px 80px #0003}dialog::backdrop{background:#142b43b0;backdrop-filter:blur(3px)}.dialog-close{position:absolute;right:14px;top:12px;border:0;background:#edf2ec;width:31px;height:31px;border-radius:50%;font-size:23px;z-index:3}.dialog-body{padding:35px}.dialog-body h2{font-size:27px}.dialog-body>p{font-size:12px}.profile-hero{background:#e8f0e7;padding:35px}.profile-hero .business-monogram{width:60px;height:60px;background:white;margin-bottom:20px;font-size:20px}.profile-hero h2{font-size:27px;margin-bottom:7px;padding-right:20px}.profile-hero p{font-size:12px;margin:0}.profile-info{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:25px 0}.profile-info div{background:#f5f7f2;padding:15px;border-radius:5px;font-size:12px}.profile-info small{display:block;color:var(--muted);font-size:9px;margin-bottom:7px}.profile-contact{border-top:1px solid var(--line);padding-top:20px}.profile-contact p{font-size:12px}.saved-draft{background:#f2f6ec;border:1px solid #d5e0cc;border-radius:6px;padding:20px;margin-top:20px}.dialog-body label{display:block;font-size:11px;margin:15px 0}.dialog-body input,.dialog-body select,.dialog-body textarea{display:block;width:100%;background:white;border:1px solid #c9d3ca;border-radius:4px;padding:12px;margin-top:7px;color:var(--navy)}.dialog-body textarea{height:85px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.dialog-body .button{margin-top:5px}#toast{display:none;position:fixed;bottom:25px;left:50%;transform:translateX(-50%);border-radius:6px;background:var(--navy);color:white;padding:15px 22px;font-size:12px;z-index:1000;max-width:90vw}.profile-note{padding:12px;background:#f8f4e9;color:#7c735c;border-radius:4px;font-size:10px!important}.draft-actions{display:flex;gap:15px;align-items:center}@media(min-width:1450px){h1{font-size:56px}.hero-inner{padding-top:60px}.hero-art svg{max-width:560px}.plaque-art{height:130px}}@media(max-width:1000px){nav{gap:16px}.brand{font-size:15px}.brand small{font-size:6px}h1{font-size:40px}.hero-inner{gap:15px}.intro{font-size:12px}.search-box{gap:10px}.hub-links{grid-template-columns:repeat(3,1fr)}.directory-layout{grid-template-columns:1fr 1fr;gap:18px}.business{padding:15px}.business.selected{padding:14px}.business h3{font-size:13px}.join-inner{gap:30px}}@media(max-width:700px){.demo-strip{font-size:8px;padding:9px 12px;line-height:1.6}.demo-strip>span{font-size:8px;margin-right:5px}.wrap{width:90%}header{padding:20px 0;align-items:start;gap:20px}.brand{font-size:13px;gap:7px}.brand-symbol{width:32px;height:34px;font-size:28px}.brand small{font-size:5px;letter-spacing:1.2px}nav{gap:10px;font-size:10px;flex-wrap:wrap;justify-content:end;max-width:155px}nav>a:nth-child(2){display:none}.nav-button{padding:8px;font-size:9px}.nav-button span{margin-left:3px}.hero-inner{grid-template-columns:1fr;padding-top:32px}.hero-copy h1{font-size:38px;letter-spacing:-1.8px}.hero-copy .intro{font-size:13px;margin-bottom:0}.hero-art{max-width:350px;width:100%;justify-self:center;padding:0}.hero-art svg{max-height:135px}.hero-art>span{display:none}.search-box{transform:translateY(22px);flex-wrap:wrap;margin-top:-5px;padding:12px;gap:10px}.search-box label{flex:1 1 100%;padding:4px}.search-box .location-label{flex:1;border-left:0;padding-left:4px;border-top:1px solid var(--line);padding-top:12px}.search-box .button{padding:15px;font-size:11px}.categories{padding-top:60px}.section-heading{align-items:start;gap:15px}.section-heading h2,h2{font-size:26px;letter-spacing:-1px}.section-heading>p{display:none}.plaques{grid-template-columns:1fr 1fr;gap:13px}.plaque{border-radius:11px}.plaque-art{height:85px}.plaque-art svg{height:70px;width:90px}.plaque-art:before{height:65px;width:100px}.plaque-text{padding:13px}.plaque h3{font-size:14px;line-height:1.35}.plaque p{font-size:9px;min-height:43px;margin-bottom:9px}.plaque-footer{font-size:9px}.plaque:before,.plaque:after{top:9px;width:4px;height:4px}.plaque:before{left:9px}.plaque:after{right:9px}.hub-top{gap:15px}.hub-top p:not(.eyebrow){font-size:11px}.hub-links{grid-template-columns:repeat(2,1fr)}.hub-link{padding:14px 10px;font-size:10px}.filter-row{align-items:start;margin-top:15px}.filter-row>.text-button{font-size:9px}.chips{gap:6px}.chip{font-size:9px;padding:8px 10px}.results-summary{font-size:9px}.results-summary>span+span{max-width:130px;text-align:right}.directory-layout{display:flex;flex-direction:column}.directory-layout>div{width:100%}.map-panel{position:relative;top:0;width:100%;order:-1;margin-bottom:10px}#map{height:280px}.map-foot{font-size:8px}.business{padding:17px}.business.selected{padding:16px}.business h3{font-size:15px}.business p{font-size:12px}.business-location{font-size:10px}.businesses{display:block!important}.business-bottom button{font-size:11px}.view-toggle{flex-shrink:0}.view-toggle button{font-size:9px;padding:8px}.join-inner{grid-template-columns:1fr;gap:35px}.join-example{transform:rotate(1deg);max-width:280px}.join-inner h2{font-size:30px}footer{flex-wrap:wrap;gap:22px}footer>span{width:100%}.dialog-body,.profile-hero{padding:25px}.profile-hero h2{font-size:24px}.form-row{grid-template-columns:1fr;gap:0}.home-hub{padding:25px 0}.hub-top>.text-button{font-size:10px}.section{padding-bottom:35px}.directory{padding-top:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Parent-company endorsement. */
.brand .company-line{font-size:10px;letter-spacing:.15px;font-weight:600;color:var(--green);margin-top:5px;text-transform:none}
.annies-endorsement{display:inline-flex;align-items:center;gap:15px;padding:10px 13px;border:1px solid #cad8ca;border-radius:6px;background:#ffffffa6;margin-bottom:22px;color:var(--navy)}
.annies-wordmark{font-family:Manrope,Arial,sans-serif;font-size:16px;font-weight:800;letter-spacing:1px}.annies-wordmark b{color:var(--green);font-size:9px;letter-spacing:.7px;display:block;margin-top:1px}
.annies-endorsement>span+span{font-size:9px;color:#526d5c;border-left:1px solid #cbd8cd;padding-left:14px;line-height:1.5}.footer-company{font-size:12px;color:var(--green);font-weight:600}footer p>span{display:inline-block;margin-top:7px;font-size:9px}
@media(max-width:700px){.brand .company-line{font-size:8px;letter-spacing:0}.annies-endorsement{padding:8px 11px;margin-bottom:19px;gap:12px}.annies-wordmark{font-size:14px}.annies-wordmark b{font-size:8px}.annies-endorsement>span+span{font-size:8px;padding-left:12px}}

/* Annie artwork shares the same clickable plaque structure across categories. */
.plaque .plaque-art{height:154px;background-size:cover;background-repeat:no-repeat}
.plaque .plaque-art:before,.plaque .plaque-art svg{display:none}
.plaque[data-category="auto"] .plaque-art{background-image:url('/assets/art/annies-auto.png');background-position:center 43%}
.plaque[data-category="money"] .plaque-art{background-image:url('/assets/art/annies-money.png');background-position:center 43%}
.plaque[data-category="food"] .plaque-art{background-image:url('/assets/art/annies-food.png');background-position:center 43%}
.plaque[data-category="health"] .plaque-art{background-image:url('/assets/art/annies-health.png');background-position:center 43%}
.plaque[data-category="everyday"] .plaque-art{background-image:url('/assets/art/annies-everyday.png');background-position:center 43%}
.plaque[aria-pressed="true"]{border-color:var(--green);box-shadow:0 0 0 3px #38654b22}
@media(max-width:700px){.plaque .plaque-art{height:112px}.map-head>span{font-size:10px;max-width:75%;line-height:1.5}}

/* Mark's direction: quiet light space behind the models, one small trade cue. */
.plaque .plaque-art{height:180px;background-color:#fff!important;background-size:contain!important;background-position:center!important;border-bottom-color:#eef0eb}
.plaque[data-category="homes"] .plaque-art{background-image:url('/assets/art/annies-homes.png')}
@media(max-width:700px){.plaque .plaque-art{height:126px}}
.plaque .plaque-art{background-repeat:no-repeat!important}

.network-links{display:flex;gap:12px;flex-wrap:wrap}.map-unavailable{padding:32px;line-height:1.7}.business h3{overflow-wrap:anywhere}#loadMore{margin:24px 0}.hub-link{text-decoration:none}footer>div:nth-child(2){display:flex;flex-direction:column;gap:10px}header nav{flex-wrap:wrap}.map-foot{flex-wrap:wrap}.business-location{overflow-wrap:anywhere}
html{scroll-behavior:auto}

.ethics-notice{background:#b42318;color:#fff!important;padding:13px 16px;margin-top:15px;border-radius:6px;font-size:12px;font-weight:600;line-height:1.6}.profile-hero+.ethics-notice{border-radius:0;margin-top:0}

/* Working demo: repurpose one lower plaque for display advertising. */
.plaque.advertise-plaque{border-color:#aec4a4;background:#fcfdf8}.plaque.advertise-plaque .plaque-art{position:relative;background-image:url('/assets/art/annies-money.png');background-size:contain!important;background-position:center!important;background-color:#fff!important}.advertise-label{position:absolute;left:12px;bottom:10px;font-size:8px;letter-spacing:1.3px;background:#ecf3e4;color:#355637;border:1px solid #ceddc1;border-radius:4px;padding:6px 8px;font-weight:700}.advertise-plaque .plaque-footer{color:#315a3b}.advertise-plaque:focus-visible{outline:3px solid #b98d34;outline-offset:4px}
