:root{--ink:#172520;--muted:#5c6964;--cream:#fbf7ee;--paper:#fff;--green:#145a43;--green2:#0d4634;--saffron:#e99a37;--rose:#b95657;--line:#e5e2d8;--shadow:0 12px 34px rgba(23,37,32,.09);--radius:18px;--shell:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"DM Sans",sans-serif;line-height:1.65}a{color:inherit}img{max-width:100%;height:auto}.shell{width:min(var(--shell),calc(100% - 40px));margin-inline:auto}.narrow{max-width:820px}h1,h2,h3{font-family:"Fraunces",serif;line-height:1.08;margin:0 0 .65em}h1{font-size:clamp(2.7rem,7vw,5.6rem)}h2{font-size:clamp(2rem,4vw,3.4rem)}h3{font-size:1.35rem}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:.78rem;color:var(--saffron);margin:0 0 1rem}.lead{font-size:clamp(1.05rem,2vw,1.28rem);max-width:680px}.skip-link{position:absolute;left:-999px;top:8px;background:#fff;padding:10px;z-index:99}.skip-link:focus{left:8px}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:var(--green);color:#fff;font-family:"Fraunces",serif}.brand b,.brand small{display:block}.brand small{color:var(--muted);font-size:.72rem}.menu{display:flex;list-style:none;align-items:center;gap:24px;padding:0;margin:0}.menu a{text-decoration:none;font-size:.92rem;font-weight:600}.menu a:hover{color:var(--green)}.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:8px 12px}.hero{background:var(--cream);padding:clamp(70px,10vw,140px) 0;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:60px}.hero-art{min-height:340px;border-radius:50% 50% 42% 58%;background:var(--green);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(3deg);box-shadow:28px 26px 0 var(--saffron)}.hero-art span{font-size:clamp(1.25rem,3vw,2rem);transform:rotate(-3deg);opacity:.92}.button{display:inline-block;border:0;border-radius:999px;background:var(--green);color:#fff;text-decoration:none;font-weight:700;padding:13px 22px;cursor:pointer}.button:hover{background:var(--green2)}.button-light{background:#fff;color:var(--green)}.button-outline{background:transparent;color:var(--green);box-shadow:inset 0 0 0 2px var(--green)}.button-row{display:flex;gap:12px;flex-wrap:wrap}.section{padding:clamp(60px,8vw,100px) 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.city-grid,.card-grid,.option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.city-card,.content-card,.option-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);text-decoration:none;overflow:hidden;transition:.2s}.city-card{padding:30px}.city-card:hover,.content-card:hover,.option-card:hover{transform:translateY(-4px)}.city-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#e7f1ed;color:var(--green);font-size:1.4rem;margin-bottom:25px}.text-link{color:var(--green);font-weight:700;text-decoration:none}.card-image{display:block;aspect-ratio:16/10;background:#eee}.card-image img{width:100%;height:100%;object-fit:cover}.card-body{padding:25px}.card-body.content-card{padding:30px}.card-meta{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--rose);font-weight:700}.warm{background:var(--cream)}.split-cta{display:flex;align-items:end;justify-content:space-between;gap:30px}.city-hero{background:var(--green);color:#fff;padding:clamp(70px,9vw,120px) 0}.city-hero .eyebrow{color:#f4ba70}.page-hero{background:var(--cream);padding:clamp(55px,8vw,95px) 0}.page-hero h1{font-size:clamp(2.5rem,6vw,4.6rem)}.filter-bar{display:flex;align-items:end;gap:12px;padding:18px;background:var(--cream);border-radius:14px;margin-bottom:34px}.filter-bar label{flex:1}.filter-bar label span{display:block;font-size:.8rem;font-weight:700;margin-bottom:5px}.filter-bar input{width:100%;padding:13px;border:1px solid var(--line);border-radius:8px;font:inherit}.navigation.pagination{margin-top:36px}.article{max-width:850px;padding-top:70px;padding-bottom:100px}.article h1{font-size:clamp(2.5rem,6vw,4.8rem)}.article-meta{color:var(--muted);margin-bottom:26px}.article-image{width:100%;border-radius:var(--radius);margin:15px 0 35px}.prose{font-size:1.08rem}.prose>*{max-width:720px}.prose h2,.prose h3{margin-top:1.5em}.detail-panel{display:flex;gap:35px;padding:22px;border:1px solid var(--line);border-radius:14px;margin:24px 0}.detail-panel b,.detail-panel span{display:block}.detail-panel span{color:var(--muted)}.option-grid{grid-template-columns:repeat(2,1fr);margin-bottom:40px}.option-card{padding:28px}.option-card b,.option-card span{display:block}.option-card b{font-family:"Fraunces",serif;font-size:1.45rem}.option-card span{color:var(--muted);margin-top:7px}.notice{padding:24px;background:var(--cream);border-left:4px solid var(--saffron);grid-column:1/-1}.site-footer{background:var(--ink);color:#dbe2df;padding:60px 0 25px}.footer-grid{display:flex;justify-content:space-between;gap:30px}.footer-grid>div{max-width:430px}.footer-brand{font-family:"Fraunces",serif;font-size:1.7rem;color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:20px;margin-top:38px;font-size:.85rem}.site-footer .menu a{color:#fff}
@media(max-width:900px){.menu-toggle{display:block}.primary-nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:20px;border-bottom:1px solid var(--line)}.primary-nav.is-open{display:block}.primary-nav .menu{display:block}.primary-nav li{margin:12px 0}.hero-grid{grid-template-columns:1fr}.hero-art{min-height:240px;max-width:500px}.city-grid,.card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.shell{width:min(100% - 28px,var(--shell))}.city-grid,.card-grid,.option-grid{grid-template-columns:1fr}.hero-art{display:none}.section-heading,.split-cta,.footer-grid{display:block}.section-heading .text-link{display:inline-block;margin-top:10px}.split-cta .button-row{margin-top:22px}.filter-bar{display:block}.filter-bar .button{margin-top:12px;width:100%}.detail-panel{display:block}.detail-panel>div+div{margin-top:15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.tld-submit-form{padding:clamp(22px,5vw,44px);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.tld-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.tld-field{display:block}.tld-field-wide,.tld-fieldset{grid-column:1/-1}.tld-field>span,.tld-fieldset legend{display:block;font-weight:700;margin-bottom:6px}.tld-field b{color:var(--rose)}.tld-field input,.tld-field textarea{width:100%;padding:12px 14px;border:1px solid #cfd4d1;border-radius:9px;font:inherit;background:#fff}.tld-field input:focus,.tld-field textarea:focus{outline:3px solid rgba(20,90,67,.18);border-color:var(--green)}.tld-field small{display:block;color:var(--muted);margin-top:5px}.tld-field .tld-counter{text-align:right}.tld-fieldset{border:1px solid var(--line);border-radius:12px;padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.tld-form-tips,.tld-next{padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--cream);margin-bottom:24px}.tld-form-tips{border-left:4px solid var(--green)}.tld-form-tips h2,.tld-next h2{font-size:1.35rem;margin-bottom:10px}.tld-form-tips ul,.tld-next ol{margin:0;padding-left:22px}.tld-consent{display:block;margin:24px 0}.tld-consent input{margin-right:8px}.tld-security{margin:0 0 24px}.tld-security>span{display:block;font-weight:700;margin-bottom:8px}.tld-submit-button{min-width:220px}.tld-next{margin:24px 0 0;background:#fff}.tld-hp{position:absolute!important;left:-9999px!important}.tld-form-error,.tld-success{padding:22px;border-radius:12px;margin-bottom:24px}.tld-form-error{background:#fff0f0;border-left:4px solid var(--rose)}.tld-success{background:#e8f4ef;border-left:4px solid var(--green)}
@media(max-width:620px){.tld-form-grid,.tld-fieldset{grid-template-columns:1fr}.tld-field-wide,.tld-fieldset{grid-column:auto}}

/* 0.3.0 persistent-city navigation and stable sticky header */
.site-header{top:0;z-index:40;background:rgba(255,255,255,.97)}body.admin-bar .site-header{top:32px}.site-header .header-inner{width:100%;max-width:none;min-height:80px;padding-inline:clamp(20px,3vw,44px);gap:24px}.brand{flex:0 0 auto}.custom-logo-link{display:flex;align-items:center;min-height:56px}.custom-logo{display:block;width:auto;max-width:min(310px,32vw);max-height:56px;object-fit:contain}.primary-nav{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-left:auto}.menu{gap:22px}.menu-toggle{min-height:44px;padding:8px 14px}.city-switcher{position:relative}.city-switcher summary{min-height:44px;display:flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:var(--green);font-weight:700;font-size:.9rem;cursor:pointer;list-style:none;white-space:nowrap}.city-switcher summary::-webkit-details-marker{display:none}.city-switcher summary:hover,.city-switcher summary:focus-visible{background:#e7f1ed}.city-switcher[open] .city-chevron{transform:rotate(180deg)}.city-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:60;width:260px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.city-menu-label{margin:0 0 8px;color:var(--muted);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.city-menu ul{list-style:none;padding:0;margin:0}.city-menu li{margin:0}.city-menu li+li{border-top:1px solid var(--line)}.city-menu li a{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none}.city-menu li a:hover,.city-menu li a[aria-current=true]{color:var(--green)}.city-current{font-size:.72rem;color:var(--muted)}.all-cities{display:block;margin-top:10px;padding-top:12px;border-top:1px solid var(--line);color:var(--green);font-weight:700;font-size:.85rem;text-decoration:none}
@media(max-width:1100px){.menu{gap:15px}.menu a{font-size:.86rem}.primary-nav{gap:12px}.city-switcher summary{padding-inline:10px}}
@media(max-width:900px){body.admin-bar .site-header{top:46px}.site-header .header-inner{min-height:72px}.custom-logo{max-width:230px;max-height:52px}.primary-nav{display:none;top:100%}.primary-nav.is-open{display:block}.primary-nav .city-switcher{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.primary-nav .city-switcher summary{width:100%;justify-content:center}.primary-nav .city-menu{position:static;width:100%;margin-top:8px;box-shadow:none}}
@media(max-width:620px){#wpadminbar{position:fixed}.site-header .header-inner{padding-inline:14px;gap:12px}.custom-logo{max-width:190px;max-height:48px}}

/* 0.5.0 reusable city homepage */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.city-home-hero{padding:clamp(56px,8vw,104px) 0;background:linear-gradient(135deg,var(--green2),var(--green));color:#fff}.city-home-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(34px,6vw,76px);align-items:center}.city-home-hero h1{font-size:clamp(2.8rem,6vw,5.4rem)}.city-home-hero .eyebrow{color:#f4ba70}.city-home-search{display:flex;max-width:620px;padding:6px;margin-top:28px;border-radius:999px;background:#fff;box-shadow:var(--shadow)}.city-home-search input{min-width:0;flex:1;padding:10px 16px;border:0;border-radius:999px;font:inherit}.city-home-search input:focus{outline:3px solid rgba(233,154,55,.45)}.upcoming-panel{padding:clamp(24px,4vw,38px);border:1px solid rgba(255,255,255,.22);border-radius:var(--radius);background:rgba(255,255,255,.98);color:var(--ink);box-shadow:var(--shadow)}.upcoming-panel h2{font-size:clamp(1.8rem,3vw,2.45rem)}.upcoming-panel .eyebrow{color:var(--rose)}.upcoming-list{list-style:none;padding:0;margin:20px 0}.upcoming-list li+li{border-top:1px solid var(--line)}.upcoming-list a{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:14px;padding:13px 0;text-decoration:none}.upcoming-list time{display:grid;text-align:center;line-height:1}.upcoming-list time b{font-family:"Fraunces",serif;font-size:1.45rem;color:var(--green)}.upcoming-list time span{margin-top:4px;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.upcoming-list strong{font-size:.93rem}.city-home-section .section-heading .eyebrow{margin-bottom:.55rem}.card-grid-four{grid-template-columns:repeat(4,1fr)}.city-ad-band{padding:clamp(48px,7vw,82px) 0;background:var(--ink);color:#fff}.city-ad-grid{display:grid;grid-template-columns:1fr 1.2fr auto;align-items:center;gap:34px}.city-ad-grid h2{font-size:clamp(2rem,3.5vw,3rem)}.city-ad-grid p{margin-bottom:0;color:#cad3cf}.ad-placeholders{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ad-placeholders>div{min-height:130px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px;border:1px dashed rgba(255,255,255,.42);border-radius:14px;text-align:center;background:rgba(255,255,255,.06)}.ad-placeholders span{font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;color:#bfcac5}.ad-placeholders strong{margin-top:10px;font-family:"Fraunces",serif;font-size:1.2rem}.city-post-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.city-post-grid .option-card{padding:24px}
.city-home-hero-solid{background:var(--green)}.city-home-hero-image{background-color:var(--green2);background-position:center;background-size:cover;background-blend-mode:multiply}.city-brand{min-width:0}.city-brand .custom-logo{max-width:min(310px,32vw)}
.city-home-hero-light{background:linear-gradient(135deg,var(--color-hero-start) 0%,var(--color-hero-middle) 55%,var(--color-hero-end) 100%);color:var(--color-hero-text)}.city-home-hero-light .eyebrow{color:var(--color-hero-text)}
@media(max-width:1000px){.city-home-hero-grid,.city-ad-grid{grid-template-columns:1fr}.card-grid-four,.city-post-grid{grid-template-columns:repeat(2,1fr)}.city-ad-grid>.button{justify-self:start}}
@media(max-width:620px){.city-home-search{border-radius:14px;display:block}.city-home-search .button{width:100%}.upcoming-panel{padding:22px}.card-grid-four,.city-post-grid,.ad-placeholders{grid-template-columns:1fr}}

/* 0.7.0 normalized business directory */
.filter-bar{align-items:end;flex-wrap:wrap}.filter-bar label{min-width:min(100%,190px);flex:1}.filter-bar select,.tld-field select{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit}.term-list{margin:.5rem 0 1.5rem;color:var(--green);font-weight:700}.card-locations{margin-top:-.25rem;color:var(--muted);font-size:.86rem}.tld-choice-field{border:1px solid var(--line);border-radius:12px;padding:18px}.tld-choice-field legend{padding:0 6px;font-weight:700}.tld-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}.tld-choice-grid label{display:flex;align-items:flex-start;gap:8px}.tld-choice-grid input{margin-top:4px}.detail-panel{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
@media(max-width:620px){.filter-bar,.tld-choice-grid{display:grid;grid-template-columns:1fr}.filter-bar label,.filter-bar .button{width:100%}}

/* 0.9.2 location context, archive actions, and submission choices */
.header-city{flex:0 1 auto;min-width:0}.header-city .city-switcher summary span{max-width:180px;overflow:hidden;text-overflow:ellipsis}.header-city .city-menu{left:0;right:auto}.archive-hero-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:32px}.archive-hero-inner>div{min-width:0}.archive-submit-button{flex:0 0 auto;margin-bottom:8px}.button:focus-visible,.menu-toggle:focus-visible{outline:3px solid rgba(20,90,67,.28);outline-offset:3px}.tld-choice-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.tld-choice-grid label{min-height:48px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;line-height:1.35}.tld-choice-grid label:hover{border-color:var(--green);background:#f7fbf9}.tld-choice-grid label:focus-within{outline:3px solid rgba(20,90,67,.18);border-color:var(--green)}.tld-choice-grid input[type="checkbox"]{flex:0 0 auto;width:18px;height:18px;margin:0;accent-color:var(--green)}
@media(max-width:900px){.site-header .header-inner{gap:14px}.header-city{margin-left:auto}.primary-nav{margin-left:0}.archive-hero-inner{align-items:flex-start;flex-direction:column}.archive-submit-button{margin-bottom:0}.header-city .city-switcher summary span{max-width:130px}}
@media(max-width:620px){.site-header .header-inner{gap:8px}.custom-logo{max-width:145px}.header-city .city-switcher summary{padding-inline:9px}.header-city .city-switcher summary span{max-width:88px}.header-city .city-menu{left:auto;right:0;width:min(260px,calc(100vw - 28px))}.archive-submit-button{width:100%;text-align:center}.tld-choice-grid{grid-template-columns:1fr}}

/* 0.8.1 classified marketplace details */
.classified-card-facts{display:flex;flex-wrap:wrap;gap:.35rem .55rem;margin:-.1rem 0 .75rem;color:var(--muted);font-size:.84rem}.classified-card-facts strong{color:var(--green);font-size:.95rem}.single-tld_classified .detail-panel a{overflow-wrap:anywhere}

/* 0.9.0 event directory and details */
.event-list-section+.event-list-section{margin-top:clamp(64px,9vw,110px);padding-top:clamp(52px,7vw,82px);border-top:1px solid var(--line)}.past-events{color:var(--muted)}.past-events h2,.past-events h3{color:var(--ink)}.event-card-facts{display:flex;flex-wrap:wrap;gap:.45rem .7rem;margin:-.1rem 0 .75rem;color:var(--muted);font-size:.84rem}.event-card-facts strong{color:var(--green)}.event-card-facts span{padding:.1rem .5rem;border-radius:999px;background:var(--cream);font-weight:700}.event-detail-panel{display:grid}.event-detail-panel a{overflow-wrap:anywhere}

/* 0.9.1 complete single-event field presentation */
.event-introduction{margin-bottom:28px}.event-details{margin:28px 0;padding:clamp(22px,4vw,34px);border:1px solid var(--line);border-radius:var(--radius);background:var(--cream)}.event-details h2{font-size:clamp(1.7rem,3vw,2.25rem)}.event-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:0}.event-detail-list>div{padding:15px 0;border-top:1px solid var(--line)}.event-detail-list dt{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green)}.event-detail-list dd{margin:4px 0 0;color:var(--muted);overflow-wrap:anywhere}.event-detail-list a{color:var(--green);font-weight:600}@media(max-width:620px){.event-detail-list{grid-template-columns:1fr}}

/* Keep optional business contact details readable on narrow screens. */
.single-tld_business .detail-panel>div{min-width:0}.single-tld_business .detail-panel span,.single-tld_business .article>.lead{overflow-wrap:anywhere}

/* City-wide search: explicit labels and pagination remain usable without JavaScript. */
.tld-city-search .tld-search-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}.tld-search-form label{flex:1 1 220px;min-width:0}.tld-search-form input,.tld-search-form select{width:100%;min-height:44px}.tld-city-search .content-card,.tld-search-summary{overflow-wrap:anywhere}.tld-search-pagination ul,.tld-search-sections ul{display:flex;flex-wrap:wrap;gap:12px;padding:0;list-style:none}.tld-search-pagination{margin-block:32px}.tld-search-pagination a,.tld-search-pagination [aria-current]{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:8px 12px;border:1px solid var(--line);border-radius:8px}.tld-search-pagination [aria-current]{background:var(--green);color:#fff}.tld-search-sections{margin-top:48px}.tld-search-sections a{display:inline-block;padding-block:10px}.tld-city-search a:focus-visible,.tld-search-form :focus-visible{outline:3px solid var(--green);outline-offset:3px}
