@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root { --cf-green: #204f42; --cf-green-bright: #2f765f; --cf-mint: #e7f2ec; --cf-cream: #f7f4ec; --cf-ink: #1d2c27; --cf-muted: #65756f; --cf-border: #d7e1dc; --cf-max: 1180px; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html.cf-modal-open { overflow: hidden; }
body { background: #fff; color: var(--cf-ink); font-family: 'DM Sans', sans-serif; line-height: 1.6; margin: 0; }
h1, h2, h3, h4 { font-family: 'Manrope', sans-serif; line-height: 1.15; }
a { color: var(--cf-green-bright); }
img { height: auto; max-width: 100%; }
.cf-container { margin: 0 auto; max-width: var(--cf-max); padding-left: 24px; padding-right: 24px; width: 100%; }
.cf-skip-link { background: #fff; left: 12px; padding: 10px 14px; position: fixed; top: -100px; z-index: 99999; }
.cf-skip-link:focus { top: 12px; }
.cf-site-header { background: rgba(255, 255, 255, .96); border-bottom: 1px solid rgba(32, 79, 66, .1); position: sticky; top: 0; z-index: 100; }
.cf-site-header__inner { align-items: center; display: flex; height: 82px; justify-content: space-between; }
.cf-brand { align-items: center; color: var(--cf-green); display: inline-flex; gap: 4px; text-decoration: none; }
.cf-brand__logo { display: block; height: 54px; object-fit: contain; width: 54px; filter: drop-shadow(0 1px 1px rgba(0,0,0,.10)); }
.cf-brand__mark { align-items: center; background: var(--cf-green); border-radius: 50% 50% 50% 12px; color: #fff; display: inline-flex; font-family: 'Manrope', sans-serif; font-size: 14px; font-weight: 800; height: 43px; justify-content: center; transform: rotate(-8deg); width: 43px; }
.cf-brand__mark::first-letter { transform: rotate(8deg); }
.cf-brand__name { font-family: 'Manrope', sans-serif; font-size: 22px; font-weight: 800; letter-spacing: -.04em; }
.cf-brand .custom-logo { max-height: 62px; width: auto; }
.cf-site-nav__list { align-items: center; display: flex; gap: 6px; list-style: none; margin: 0; padding: 0; }
.cf-site-nav__list .cf-menu-directory-item { display: list-item; }
.cf-site-nav__list a { border-radius: 999px; color: #34453f; display: block; font-size: 14px; font-weight: 600; padding: 10px 14px; text-decoration: none; }
.cf-site-nav__list a:hover, .cf-site-nav__list .current-menu-item a { background: var(--cf-mint); color: var(--cf-green); }
.cf-site-nav__list li:last-child a { margin-right: 4px; }
.cf-header-cta{background:var(--cf-green);border-radius:999px;color:#fff;font-size:14px;font-weight:700;padding:11px 18px;text-decoration:none;white-space:nowrap}.cf-header-cta:hover{background:#143f34;color:#fff}.cf-site-nav{margin-left:auto}.cf-hero__actions{align-items:center;display:flex;flex-wrap:wrap;gap:18px;margin-top:30px}.cf-hero__owner-link{color:var(--cf-muted);font-size:15px;font-weight:600;text-decoration:none}.cf-hero__owner-link:hover{color:var(--cf-green);text-decoration:underline}.cf-donation-section small{color:var(--cf-muted);display:block;font-size:13px;margin-top:12px}
.cf-menu-toggle { background: var(--cf-mint); border: 0; border-radius: 999px; color: var(--cf-green); display: none; font: inherit; font-weight: 700; padding: 10px 16px; }
.cf-mobile-directory-cta { display: none; }
.cf-hero { background: var(--cf-cream); overflow: hidden; position: relative; }
.cf-hero::before { background: radial-gradient(circle, rgba(47,118,95,.1) 0 2px, transparent 3px); background-size: 24px 24px; content: ''; height: 300px; opacity: .5; position: absolute; right: -30px; top: 20px; width: 350px; }
.cf-hero__inner { align-items: center; display: grid; gap: 70px; grid-template-columns: 1.15fr .85fr; min-height: 560px; padding-bottom: 76px; padding-top: 76px; }
.cf-kicker { color: var(--cf-green-bright); display: block; font-size: 12px; font-weight: 800; letter-spacing: .12em; margin-bottom: 15px; text-transform: uppercase; }
.cf-hero h1 { color: var(--cf-green); font-size: clamp(43px, 5.5vw, 70px); letter-spacing: -.05em; line-height: 1.03; margin: 0; max-width: 740px; }
.cf-hero__copy > p { color: var(--cf-muted); font-size: 19px; margin: 24px 0 34px; max-width: 590px; }
.cf-hero__proof { align-items: center; display: flex; gap: 13px; }
.cf-hero__proof strong { color: var(--cf-green-bright); font-family: 'Manrope', sans-serif; font-size: 33px; }
.cf-hero__proof span { border-left: 1px solid #c9d6cf; color: #65756f; line-height: 1.25; max-width: 150px; padding-left: 13px; }
.cf-hero__art { aspect-ratio: 1; background: linear-gradient(145deg, #dcebe3, #c5dfd1); border-radius: 48% 48% 50% 45%; max-width: 420px; position: relative; transform: rotate(4deg); width: 100%; }
.cf-hero__orbit { animation: cf-hero-orbit 28s linear infinite; inset: 0; position: absolute; }
.cf-hero__ring { border: 2px dashed rgba(32, 79, 66, .25); border-radius: 50%; inset: 13%; position: absolute; }
.cf-hero__pin { align-items:center; background:rgba(255,255,255,.9); border:1px solid rgba(32,79,66,.1); border-radius:50%; box-shadow:0 20px 38px rgba(25,67,53,.2); display:flex; height:174px; justify-content:center; left:50%; position:absolute; top:48%; transform:translate(-50%,-50%) rotate(-4deg); width:174px; }
.cf-hero__pin img { display:block; height:140px; object-fit:contain; width:140px; }
.cf-hero__dot { animation:cf-hero-pin-upright 28s linear infinite; background:var(--cf-green); border:5px solid rgba(255,255,255,.92); border-radius:50% 50% 50% 4px; box-shadow:0 6px 14px rgba(25,67,53,.2); height:30px; position:absolute; transform:rotate(-45deg); width:30px; }
.cf-hero__dot::after { background:#fff; border-radius:50%; content:''; height:9px; left:50%; position:absolute; top:50%; transform:translate(-50%,-50%); width:9px; }
.cf-hero__dot--one { left: 12%; top: 26%; }.cf-hero__dot--two { right: 13%; top: 20%; }.cf-hero__dot--three { bottom: 15%; right: 20%; }
@keyframes cf-hero-orbit { to { transform: rotate(360deg); } }
@keyframes cf-hero-pin-upright { to { transform:rotate(-405deg); } }
@media (prefers-reduced-motion: reduce) { .cf-hero__orbit,.cf-hero__dot { animation:none; } }
.cf-directory-section { padding: 74px 0 38px; }
.cf-section-heading { align-items: end; display: flex; gap: 30px; justify-content: space-between; margin-bottom: 35px; }
.cf-section-heading h2, .cf-story-section h2 { color: var(--cf-green); font-size: clamp(32px, 4vw, 48px); letter-spacing: -.04em; margin: 0; }
.cf-section-heading > p { color: var(--cf-muted); margin: 0 0 4px; max-width: 420px; }
.cf-notice-section { padding-bottom: 90px; }
.cf-important-notice { align-items: center; background: var(--cf-mint); border-radius: 17px; display: flex; gap: 16px; padding: 20px 24px; }
.cf-important-notice > span { align-items: center; border: 2px solid var(--cf-green-bright); border-radius: 50%; color: var(--cf-green-bright); display: flex; flex: 0 0 auto; font-family: serif; font-weight: 700; height: 30px; justify-content: center; width: 30px; }
.cf-important-notice p { color: #42564f; margin: 0; }
.cf-legacy-photo-band { background: var(--cf-cream); height: 360px; overflow: hidden; position: relative; }
.cf-legacy-photo-band > img { height: 100%; object-fit: cover; object-position: center 32%; width: 100%; }
.cf-legacy-photo-band .cf-container { bottom: 0; left: 50%; position: absolute; transform: translateX(-50%); z-index: 1; }
.cf-legacy-photo-band p { color: #fff; font-size: 18px; margin: 0; max-width: 470px; padding: 35px 0; }
.cf-legacy-photo-band p span { display: block; font-size: 11px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.cf-story-section { background: var(--cf-green); color: #fff; padding: 90px 0; }
.cf-story-section h2 { color: #fff; }
.cf-story-section p { color: #c8dbd2; font-size: 17px; max-width: 660px; }
.cf-story-section__inner { display: grid; gap: 80px; grid-template-columns: 1.3fr .7fr; }
.cf-story-section aside { align-self: center; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.16); border-radius: 20px; padding: 28px; }
.cf-story-section aside strong { font-family: 'Manrope', sans-serif; font-size: 21px; }
.cf-story-section a { color: #fff; font-weight: 700; }
.cf-theme-button { background: #fff; border: 0; border-radius: 999px; color: var(--cf-green) !important; cursor:pointer; display: inline-block; font: inherit; font-weight: 750; margin-top: 10px; padding: 12px 22px; text-decoration: none; transition:background .18s ease,box-shadow .18s ease,transform .18s ease; }
.cf-theme-button:hover{background:#eaf4ef;box-shadow:0 8px 20px rgba(32,79,66,.12);transform:translateY(-1px)}.cf-theme-button:focus-visible{outline:3px solid rgba(47,118,95,.35);outline-offset:3px}
.cf-donation-section { background: #edf7f2; padding: 72px 0; }
.cf-donation-section__inner { align-items: center; display: flex; gap: 50px; justify-content: space-between; }
.cf-donation-section h2 { color: var(--cf-green); font-size: clamp(28px, 4vw, 44px); letter-spacing: -.04em; margin: 0; }
.cf-donation-section p { color: var(--cf-muted); font-size: 18px; margin: 14px 0 0; }
.cf-coffee-button { align-items: center; background: #79d1b8; border-radius: 18px; box-shadow: 0 12px 28px rgba(32,79,66,.14); color: #102f28; display: inline-flex; flex: 0 0 auto; font-family: 'Manrope', sans-serif; font-size: 20px; font-weight: 800; gap: 11px; padding: 18px 26px; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease; }
.cf-coffee-button span { font-size: 28px; line-height: 1; }
.cf-coffee-button:hover { box-shadow: 0 16px 34px rgba(32,79,66,.2); color: #102f28; transform: translateY(-2px); }
.cf-coffee-button:focus-visible { outline: 3px solid var(--cf-green); outline-offset: 4px; }
.cf-page-hero { background: var(--cf-cream); padding: 80px 0; }
.cf-page-hero--portal{padding:48px 0 52px}
.cf-page-hero h1 { color: var(--cf-green); font-size: clamp(40px, 6vw, 66px); letter-spacing: -.05em; margin: 0; }
.cf-page-hero p { color: var(--cf-muted); font-size: 18px; margin-bottom: 0; }
.cf-address-link { color: inherit; text-decoration-color: #9bb3a8; text-underline-offset: 4px; }
.cf-address-link:hover { color: var(--cf-green-bright); }
.cf-page-content { font-size: 17px; max-width: 900px; padding-bottom: 90px; padding-top: 65px; }
.cf-page-content--portal{max-width:1060px;padding-top:42px}.cf-portal-intro{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);margin:0 0 24px}.cf-portal-intro h2,.cf-portal-intro p{margin:0}.cf-portal-intro>p:last-child{color:var(--cf-muted);font-size:15px;line-height:1.6;padding-top:4px}.cf-site-footer__bottom nav{display:flex;gap:18px}.cf-site-footer__bottom nav a{color:inherit}
.cf-page-content h2, .cf-page-content h3 { color: var(--cf-green); margin-top: 2em; }
.cf-about-proof{align-items:center;background:var(--cf-mint);border:1px solid var(--cf-border);border-radius:18px;display:flex;flex-direction:column;gap:5px;margin:32px 0;padding:22px 24px;text-align:center}.cf-about-proof strong{color:var(--cf-green);font-size:22px}.cf-about-proof span{color:var(--cf-muted);font-size:14px}.cf-about-proof+h2{text-align:center}.cf-about-help-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0 32px}.cf-about-help-grid>div{border:1px solid var(--cf-border);border-radius:18px;padding:22px;text-align:center}.cf-about-help-grid h3{font-size:20px;margin:0 0 8px}.cf-about-help-grid p{font-size:15px;margin:0}.cf-page-content>.cf-page-links{text-align:center}.cf-empty-state{background:var(--cf-cream);border:1px solid var(--cf-border);border-radius:22px;padding:32px}.cf-empty-state h2{margin-top:0}.cf-error-actions{align-items:center;display:flex;gap:22px;margin-top:28px}.cf-error-actions>a:not(.cf-theme-button){color:var(--cf-green);font-weight:700}.cf-search-page .search-form{display:flex;gap:10px;margin-bottom:35px}.cf-search-page .search-field{border:1px solid var(--cf-border);border-radius:12px;flex:1;padding:14px}.cf-search-page .search-submit{background:var(--cf-green);border:0;border-radius:999px;color:#fff;font-weight:700;padding:12px 22px}
.cf-page-photo-banner { height: min(32vw, 320px); margin: 0; overflow: hidden; }
.cf-page-photo-banner--portal{height:min(16vw,190px)}
.cf-page-photo-banner img { height: 100%; object-fit: cover; width: 100%; }
.cf-page-photo-banner--portal img{object-position:center 58%}
.cf-submission-guide { background: var(--cf-cream); padding: 42px 0 46px; }
.cf-submission-guide__steps { display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); }
.cf-submission-guide__steps article { align-items:center; background: #fff; border: 1px solid #e5e2d8; border-radius: 16px; display:flex; gap:14px; padding: 18px; }
.cf-submission-guide__steps article > span { align-items: center; background: var(--cf-mint); border-radius: 50%; color: var(--cf-green); display: flex; font-family: 'Manrope', sans-serif; font-weight: 800; height: 38px; justify-content: center; width: 38px; }
.cf-submission-guide__steps h3 { color: var(--cf-green); font-size: 17px; margin: 0 0 4px; }
.cf-submission-guide__steps p { color: var(--cf-muted); margin: 0; }
.cf-guide-checklist { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.cf-guide-checklist strong { color: var(--cf-green); margin-right: 5px; }
.cf-guide-checklist span { background: #fff; border: 1px solid #e1ded4; border-radius: 999px; color: #52625c; font-size: 13px; padding: 7px 12px; }
.cf-original-gallery { padding-bottom: 100px; }
.cf-original-gallery__grid { display: grid; gap: 18px; grid-template-columns: 1.2fr .8fr .8fr; }
.cf-original-gallery__grid img { border-radius: 20px; height: 390px; object-fit: cover; width: 100%; }
.cf-pharmacy-archive { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cf-pharmacy-archive__card { border: 1px solid var(--cf-border); border-radius: 16px; padding: 24px; }
.cf-pharmacy-archive__card h2 { font-size: 22px; margin: 0 0 10px; }
.cf-pharmacy-archive__card h2 a { color: var(--cf-green); text-decoration: none; }
.cf-pharmacy-page__grid { display: grid; gap: 34px; grid-template-columns: minmax(0,1fr) 350px; padding-bottom: 34px; padding-top: 28px; }
.cf-pharmacy-page .cf-page-hero{padding:34px 0}.cf-pharmacy-page .cf-page-hero h1{font-size:clamp(38px,5vw,54px)}.cf-pharmacy-page .cf-page-hero p{margin-top:10px}.cf-pharmacy-page__content{display:flex;flex-direction:column;font-size:17px}.cf-pharmacy-page__content .cf-google-business-information{order:1}.cf-pharmacy-page__content .cf-community-checks{order:2}.cf-pharmacy-page__content .cf-profile-section:has(.cf-pharmacy-gallery){order:3}.cf-pharmacy-page__content .cf-profile-section:has(.cf-pharmacy-location-map){order:4}
.cf-profile-section { margin-bottom: 38px; }
.cf-profile-section h2 { color: var(--cf-green); font-size: clamp(29px, 4vw, 42px); letter-spacing: -.035em; margin: 0 0 22px; }
.cf-pharmacy-description { color: #455851; font-size: 19px; line-height: 1.75; }
.cf-pharmacy-gallery { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cf-pharmacy-gallery figure { background: var(--cf-cream); border-radius: 18px; margin: 0; overflow: hidden; }
.cf-pharmacy-gallery img { display: block; height: 260px; object-fit: cover; width: 100%; }
.cf-pharmacy-gallery figcaption { color: var(--cf-muted); font-size: 11px; padding: 8px 12px; }
.cf-pharmacy-gallery figure:only-child { grid-column: 1 / -1; }
.cf-pharmacy-gallery figure:only-child img { height: min(52vw, 500px); }
.cf-photo-source { color: var(--cf-muted); font-size: 12px; }
.cf-google-maps-attribution{color:#5e5e5e;font-family:Roboto,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;margin:14px 0 3px;white-space:nowrap}.cf-google-business-information{background:#fff;border:1px solid var(--cf-border);border-radius:20px;box-shadow:0 14px 42px rgba(24,67,54,.08);padding:clamp(22px,4vw,38px)}.cf-google-business-information__heading{align-items:flex-start;display:flex;gap:20px;justify-content:space-between}.cf-google-business-information__heading h2{margin-bottom:12px}.cf-google-business-information__heading .cf-google-maps-attribution{flex:0 0 auto;margin:7px 0 0}.cf-google-business-information__note{color:var(--cf-muted);font-size:13px;line-height:1.55;margin:0 0 22px}.cf-google-rating-summary{align-items:center;background:#f7faf8;border-radius:14px;display:flex;flex-wrap:wrap;gap:10px 16px;margin-bottom:24px;padding:15px 18px}.cf-google-rating-summary strong{color:#6d5200;font-size:25px}.cf-google-rating-summary span{color:var(--cf-muted);font-size:13px}.cf-google-rating-summary .is-open,.cf-google-rating-summary .is-closed{border-radius:999px;font-weight:750;padding:5px 9px}.cf-google-rating-summary .is-open{background:#e5f4eb;color:#18704f}.cf-google-rating-summary .is-closed{background:#eef1ef;color:#68776f}.cf-google-hours{border-top:1px solid var(--cf-border);padding:22px 0}.cf-google-hours h3,.cf-google-reviews h3{color:var(--cf-green);font-size:20px;margin:0 0 12px}.cf-google-hours ul{display:grid;gap:5px;list-style:none;margin:0 0 10px;padding:0}.cf-google-hours li{color:#455851;font-size:14px}.cf-google-hours small{color:var(--cf-muted)}.cf-google-reviews{border-top:1px solid var(--cf-border);padding-top:22px}.cf-google-reviews__heading{align-items:baseline;display:flex;gap:12px;justify-content:space-between}.cf-google-reviews__heading span{color:var(--cf-muted);font-size:11px}.cf-google-review{border-top:1px solid #e8eeeb;padding:18px 0}.cf-google-review:first-of-type{border-top:0}.cf-google-review header{align-items:center;display:flex;gap:10px}.cf-google-review header img{border-radius:50%;height:38px;width:38px}.cf-google-review header strong,.cf-google-review header span{display:block}.cf-google-review header strong{font-size:14px}.cf-google-review header span{color:#775600;font-size:12px;margin-top:2px}.cf-google-review p{color:#455851;font-size:14px;line-height:1.65;margin:12px 0 7px}.cf-google-review__link{font-size:12px;font-weight:700}.cf-google-third-party-attributions{color:var(--cf-muted);font-size:11px}.cf-google-business-link{margin-top:16px}
.cf-location-caption { align-items: start; display: flex; gap: 20px; justify-content: space-between; margin-top: 15px; }
.cf-location-caption span { color: var(--cf-muted); }
.cf-location-caption a { flex: 0 0 auto; font-weight: 700; }
.cf-pharmacy-details { align-self: start; background: var(--cf-cream); border-radius: 20px; padding: 24px; position: sticky; top: 105px; }
.cf-pharmacy-details h2 { color: var(--cf-green); margin-top: 0; }
.cf-pharmacy-details > div { border-top: 1px solid #dddcd4; padding: 12px 0; }
.cf-pharmacy-details span { color: var(--cf-muted); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cf-pharmacy-details p { margin: 4px 0 0; }
.cf-pharmacy-details__links{border-top:1px solid #dddcd4;display:flex;flex-wrap:wrap;font-size:13px;gap:8px 18px;padding-top:14px}.cf-pharmacy-details__links a{font-weight:700}.cf-pharmacy-details .cf-listing-updated{font-size:11px;margin:14px 0 0}
.cf-pharmacy-details__note { background: #fff; border-radius: 10px; color: var(--cf-muted); font-size: 13px; padding: 13px; }
.cf-listing-notice{background:#fff8e5;border-left:4px solid #d6a12f;color:#5e5440;margin-top:18px;padding:12px 16px}.cf-listing-notice strong{color:#6f4d08}.cf-profile-action{display:inline-block;font-size:13px;font-weight:750;margin-top:8px}.cf-profile-actions{align-items:center;display:flex;flex-wrap:wrap;gap:14px}.cf-profile-actions .cf-theme-button{background:var(--cf-green);color:#fff!important;margin:0}.cf-listing-updated{color:var(--cf-muted);font-size:12px;margin:18px 0 8px}.cf-page-lead{color:var(--cf-green);font-size:21px;line-height:1.55}.cf-compliance-copy{font-size:14px!important}.cf-pharmacy-details__google-summary{background:#fff;border:0!important;border-radius:12px;margin-bottom:3px;padding:13px!important}.cf-pharmacy-details__google-summary p{align-items:baseline;display:flex;gap:8px;margin:0 0 7px}.cf-pharmacy-details__google-summary strong{color:#6d5200;font-size:21px}.cf-pharmacy-details__google-summary span{font-size:12px;letter-spacing:0;text-transform:none}.cf-pharmacy-details__google-summary>.is-open,.cf-pharmacy-details__google-summary>.is-closed{border-radius:999px;display:inline-block;font-weight:750;margin-bottom:7px;padding:4px 8px}.cf-pharmacy-details__google-summary>.is-open{background:#e5f4eb;color:#18704f}.cf-pharmacy-details__google-summary>.is-closed{background:#eef1ef;color:#68776f}.cf-pharmacy-details__google-summary small{color:var(--cf-muted);display:block}
.cf-site-footer { background: #152f28; color: #bcd0c7; padding: 38px 0 16px; text-align: center; }
.cf-footer-grid { display: grid; gap: 34px; grid-template-columns: 1.25fr .7fr 1.15fr; }
.cf-footer-grid p { font-size:14px; line-height:1.55; margin:12px auto; max-width:390px; }
.cf-brand--footer { color: #fff; }
.cf-brand--footer .cf-brand__logo { height: 44px; width: 44px; filter: drop-shadow(0 0 1px rgba(255,255,255,.10)) drop-shadow(0 2px 4px rgba(0,0,0,.34)); }
.cf-footer-grid .cf-brand--footer { justify-content: center; }
.cf-site-footer h2 { color: #fff; font-size: 13px; letter-spacing: .04em; margin:3px 0 12px; text-transform: uppercase; }
.cf-site-footer a { color: #fff; }
.cf-acknowledgement { border-top: 1px solid rgba(255,255,255,.12); font-size: 11px; margin-top: 28px; padding-top: 18px; }
.cf-acknowledgement p { line-height:1.5; margin: 0 auto; max-width: 850px; }
.cf-custodian-flags { align-items: center; display: flex; gap: 5px; justify-content: center; margin-top: 9px; }
.cf-custodian-flags img { border: 1px solid rgba(255,255,255,.2); height: 15px; object-fit: cover; width: 23px; }
.cf-site-footer__bottom { align-items: center; border-top: 1px solid rgba(255,255,255,.12); display: flex; flex-direction: column; font-size: 11px; gap: 8px; justify-content: center; margin-top: 18px; padding-top: 14px; }
.cf-site-footer__bottom ul { display: flex; flex-wrap: wrap; gap: 20px; justify-content: center; list-style: none; margin: 0; padding: 0; }
.cf-age-gate { align-items: center; background: rgba(13, 34, 28, .82); display: flex; inset: 0; justify-content: center; padding: 20px; position: fixed; z-index: 1000; }
.cf-age-gate[hidden] { display: none; }
.cf-age-gate__panel { background: #fff; border-radius: 24px; box-shadow: 0 35px 90px rgba(0,0,0,.35); max-width: 580px; padding: clamp(26px, 5vw, 48px); }
.cf-age-gate__panel h2 { color: var(--cf-green); font-size: 32px; margin: 20px 0 12px; }
.cf-age-gate__panel p { color: var(--cf-muted); }
.cf-age-gate__panel label { background: var(--cf-cream); border-radius: 10px; display: block; margin: 22px 0; padding: 14px; }
.cf-age-gate__actions { align-items: center; display: flex; gap: 20px; }
.cf-age-gate__actions .cf-theme-button { background: var(--cf-green); color: #fff !important; margin: 0; }
.cf-age-gate__actions button:disabled { opacity: .45; }
@media (max-width: 860px) { .cf-menu-toggle { display: block; } .cf-header-cta{display:none}.cf-site-nav { background: #fff; border-bottom: 1px solid var(--cf-border); display: none; left: 0; margin-left:0;padding: 15px 24px 25px; position: absolute; right: 0; top: 82px; } .cf-site-nav.is-open { display: block; } .cf-site-nav__list { align-items: stretch; flex-direction: column; } .cf-site-nav__list .cf-menu-directory-item { display: list-item; } .cf-site-nav__list li:last-child a { margin-left: 0; } .cf-mobile-directory-cta { background: var(--cf-green); border-radius: 999px; color: #fff; display: block; font-size: 14px; font-weight: 700; margin-top: 12px; padding: 12px 18px; text-align: center; text-decoration: none; } .cf-mobile-directory-cta:hover { background: #143f34; color: #fff; } .cf-hero__inner { grid-template-columns: 1fr; min-height: 0; } .cf-hero__art { display: none; } .cf-section-heading { align-items: start; flex-direction: column; } .cf-story-section__inner, .cf-pharmacy-page__grid { grid-template-columns: 1fr; } .cf-about-help-grid{grid-template-columns:1fr}.cf-donation-section__inner { align-items: flex-start; flex-direction: column; } .cf-submission-guide__steps { grid-template-columns: 1fr; } .cf-pharmacy-details { position: static; } .cf-original-gallery__grid { grid-template-columns: 1fr 1fr; } .cf-original-gallery__grid img:first-child { grid-column: 1 / -1; } .cf-footer-grid { grid-template-columns: 1fr; } }
@media (max-width: 680px){.cf-portal-intro{grid-template-columns:1fr}.cf-page-content--portal{padding-top:30px}.cf-page-photo-banner--portal{height:155px}.cf-submission-guide{padding:32px 0 36px}}
@media (max-width:860px){.cf-pharmacy-page__grid .cf-pharmacy-details{grid-row:1}.cf-pharmacy-page__grid .cf-pharmacy-page__content{grid-row:2}.cf-pharmacy-page .cf-page-hero{padding:30px 0}.cf-pharmacy-page__grid{gap:32px}.cf-profile-section{margin-bottom:38px}}
@media (max-width: 560px) { .cf-container { padding-left: 18px; padding-right: 18px; } .cf-hero__inner { padding-bottom: 55px; padding-top: 55px; } .cf-directory-section, .cf-story-section { padding: 65px 0; } .cf-legacy-photo-band { height: 300px; } .cf-page-photo-banner--portal{height:150px}.cf-original-gallery__grid, .cf-pharmacy-gallery { grid-template-columns: 1fr; } .cf-original-gallery__grid img, .cf-original-gallery__grid img:first-child { grid-column: auto; height: 280px; } .cf-pharmacy-gallery figure:only-child { grid-column: auto; } .cf-pharmacy-gallery img, .cf-pharmacy-gallery figure:only-child img { height: 280px; } .cf-location-caption { flex-direction: column; } .cf-site-footer{padding:28px 0 calc(26px + env(safe-area-inset-bottom));}.cf-footer-grid{gap:24px}.cf-footer-grid p{font-size:13px;line-height:1.45;margin:8px auto;max-width:330px}.cf-brand--footer .cf-brand__logo{height:34px;width:34px}.cf-brand--footer .cf-brand__name{font-size:24px}.cf-site-footer h2{font-size:12px;margin:0 0 8px}.cf-acknowledgement{font-size:10px;margin-top:22px;padding-top:14px}.cf-acknowledgement p{max-width:360px}.cf-custodian-flags{margin-top:8px}.cf-custodian-flags img{height:12px;width:19px}.cf-site-footer__bottom { align-items: center; flex-direction: column; gap: 10px; margin-top:14px;padding-top:12px;padding-bottom:62px;text-align:center; } .cf-site-footer__bottom nav{justify-content:center;gap:16px}.cf-age-gate__actions { align-items: stretch; flex-direction: column; } .cf-pharmacy-archive { grid-template-columns: 1fr; } .cf-google-business-information__heading,.cf-google-reviews__heading{align-items:flex-start;flex-direction:column}.cf-google-business-information__heading .cf-google-maps-attribution{margin-bottom:10px}.cf-google-reviews__heading{gap:0} }

.cf-community-checks {
	margin-bottom: 40px;
}

.cf-community-status {
	align-items: start;
	background: #f5fbf7;
	border: 1px solid var(--cf-border);
	border-radius: 24px;
	display: grid;
	gap: 0 14px;
	grid-template-columns: 38px minmax(0, 1fr);
	padding: 26px 28px;
}

.cf-community-status__icon {
	align-items: center;
	background: #e6f4ec;
	border-radius: 999px;
	color: var(--cf-green);
	display: inline-flex;
	font-size: 28px;
	font-weight: 800;
	height: 38px;
	justify-content: center;
	line-height: 1;
	margin-top: 2px;
	width: 38px;
}

.cf-community-status > div {
	align-items: start;
	display: grid;
	gap: 12px;
	justify-items: start;
}

.cf-community-status .cf-kicker {
	margin: 0;
}

.cf-community-status h2 {
	margin: 0;
	max-width: 12ch;
}

.cf-community-status p,
.cf-community-status small {
	margin: 0;
	max-width: 560px;
}

.cf-community-status small {
	color: var(--cf-muted);
	display: block;
	font-size: 13px;
	font-weight: 700;
}

.cf-community-form-wrap {
	margin-left: 52px;
	margin-top: 18px;
}

.cf-community-form-wrap > summary.cf-theme-button {
	display: inline-flex;
	margin: 0;
}

/* SEO directory, methodology and accessible navigation. */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid rgba(47,118,95,.42); outline-offset: 3px; }
.cf-theme-button--green { background: var(--cf-green); color: #fff !important; }
.cf-theme-button--green:hover { background: #143f34; }
.cf-theme-button--outline { background: transparent; border: 1px solid var(--cf-green); color: var(--cf-green) !important; }
.cf-hero__support { color: var(--cf-muted); display: block; margin-top: 14px; }
.cf-directory-browse-link { margin: 22px 0 0; text-align: center; }
.cf-directory-browse-link a { font-weight: 700; }
.cf-how-section { padding: 50px 0 74px; }
.cf-how-section h2, .cf-methodology-section h2, .cf-nearby-listings h2 { color: var(--cf-green); font-size: clamp(30px,4vw,46px); letter-spacing: -.04em; margin: 0 0 28px; }
.cf-how-grid { display: grid; gap: 18px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.cf-how-grid article { border: 1px solid var(--cf-border); border-radius: 20px; padding: 28px; }
.cf-how-grid article > span { align-items:center; background:var(--cf-mint); border-radius:50%; color:var(--cf-green); display:flex; font-weight:800; height:40px; justify-content:center; width:40px; }
.cf-how-grid h3 { color: var(--cf-green); margin: 18px 0 8px; }
.cf-how-grid p { color: var(--cf-muted); margin: 0; }
.cf-methodology-section { background: var(--cf-cream); padding: 82px 0; }
.cf-methodology-section__inner { align-items: center; display: grid; gap: 70px; grid-template-columns: 1.3fr .7fr; }
.cf-methodology-section__inner > div > p { color:var(--cf-muted); font-size:17px; max-width:700px; }
.cf-methodology-section aside { background:#fff; border:1px solid var(--cf-border); border-radius:20px; padding:28px; }
.cf-methodology-section aside strong { color:var(--cf-green); font-family:'Manrope',sans-serif; font-size:20px; }
.cf-footer-links { display:grid; gap:7px; justify-items:center; }
.cf-footer-links a { font-size:14px; }
.cf-breadcrumbs { align-items:center; color:var(--cf-muted); display:flex; flex-wrap:wrap; font-size:13px; gap:8px; padding-bottom:14px; padding-top:22px; }
.cf-page-hero .cf-breadcrumbs { padding:0 0 18px; }
.cf-breadcrumbs a { color:var(--cf-green); }
.cf-directory-hero { padding:54px 0; }
.cf-directory-hero p { max-width:760px; }
.cf-directory-page { padding-bottom:90px; padding-top:60px; }
.cf-directory-page > section { margin-bottom:64px; }
.cf-directory-page h2 { color:var(--cf-green); font-size:clamp(27px,3vw,36px); margin:0 0 24px; }
.cf-state-links > div, .cf-location-links > div { display:grid; gap:12px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.cf-state-links a, .cf-location-links a { background:var(--cf-cream); border:1px solid var(--cf-border); border-radius:14px; color:var(--cf-green); display:flex; flex-direction:column; padding:17px; text-decoration:none; }
.cf-state-links a:hover, .cf-location-links a:hover { background:var(--cf-mint); }
.cf-state-links span, .cf-location-links span { color:var(--cf-muted); font-size:12px; margin-top:3px; }
.cf-pharmacy-archive { grid-template-columns:repeat(3,minmax(0,1fr)); }
.cf-pharmacy-archive__card { display:flex; flex-direction:column; }
.cf-pharmacy-archive__card h3 { font-size:20px; margin:0 0 10px; }
.cf-pharmacy-archive__card h3 a { color:var(--cf-green); text-decoration:none; }
.cf-pharmacy-archive__card > p { color:var(--cf-muted); flex:1; }
.cf-pharmacy-archive__card > small { color:var(--cf-muted); margin-top:14px; }
.cf-directory-card-actions { border-top:1px solid var(--cf-border); display:flex; flex-wrap:wrap; gap:8px 15px; padding-top:13px; }
.cf-directory-card-actions a { font-size:13px; font-weight:700; }
.cf-pagination, .navigation.pagination { margin-top:30px; }
.cf-pagination .page-numbers, .navigation.pagination .page-numbers { border:1px solid var(--cf-border); border-radius:9px; display:inline-block; margin:3px; padding:8px 12px; text-decoration:none; }
.cf-pagination .current, .navigation.pagination .current { background:var(--cf-green); color:#fff; }
.cf-other-areas > div { display:flex; flex-wrap:wrap; gap:10px 20px; }
.cf-directory-method { background:var(--cf-cream); border-radius:20px; padding:28px; }
.cf-listing-introduction { background:#f7faf8; border:1px solid var(--cf-border); border-radius:20px; padding:28px; }
.cf-listing-introduction p { color:var(--cf-muted); }
.cf-nearby-listings { padding-bottom:72px; padding-top:10px; }
.cf-nearby-listings__grid { display:grid; gap:16px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.cf-nearby-listings article { border:1px solid var(--cf-border); border-radius:16px; padding:20px; }
.cf-nearby-listings h3 { font-size:18px; margin:0 0 8px; }
.cf-nearby-listings p { color:var(--cf-muted); font-size:14px; }
.cf-directory-method-note { color:var(--cf-muted); font-size:13px; }
.cf-map-card--server { border-bottom:1px solid var(--cf-border); padding:18px; }
.cf-pharmacy-page .cf-listing-notice { margin-top:16px; padding:11px 16px; }

@media (max-width: 920px) {
	.cf-how-grid, .cf-pharmacy-archive { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.cf-methodology-section__inner { grid-template-columns:1fr; }
	.cf-state-links > div, .cf-location-links > div, .cf-nearby-listings__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 560px) {
	.cf-how-grid, .cf-pharmacy-archive, .cf-state-links > div, .cf-location-links > div, .cf-nearby-listings__grid { grid-template-columns:1fr; }
	.cf-directory-section { padding:58px 0 28px; }
	.cf-how-section { padding:42px 0 58px; }
	.cf-methodology-section { padding:58px 0; }
	.cf-directory-page { padding-top:42px; }
	.cf-hero__actions { align-items:stretch; flex-direction:column; gap:10px; }
	.cf-hero__actions .cf-theme-button { margin:0; text-align:center; }
}

@media (max-width: 560px) {
	.cf-community-status {
		grid-template-columns: 1fr;
		padding: 22px 22px 24px;
	}

	.cf-community-status__icon {
		margin-top: 0;
	}

	.cf-community-status h2 {
		max-width: none;
	}

	.cf-community-form-wrap {
		margin-left: 0;
	}
}
