:root{
  --ink:#161311;--ink2:#1f1b18;--paper:#f7f0e3;--paper2:#efe5d2;--white:#fffcf6;
  --gold:#c9a24a;--gold-light:#e0c27a;--gold-text:#7e6120;--muted:#5a5046;
  --muted-dark:#c7b99f;--line:rgba(126,97,32,.22);--line-dark:rgba(201,162,74,.28);--footer:#100e0c;
  --serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',system-ui,sans-serif
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--sans);overflow-x:hidden}
a{color:inherit}
button,input{font:inherit}
.utility{height:36px;padding:0 80px;background:var(--ink);color:var(--muted-dark);display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:500;letter-spacing:1.8px;text-transform:uppercase}
.utility a{color:var(--gold-light);text-decoration:none}
.nav{height:88px;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);position:relative;z-index:40}
.nav-inner{height:100%;max-width:1440px;margin:auto;padding:0 80px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.nav-left,.nav-right{display:flex;gap:34px;align-items:center}
.nav-right{justify-content:flex-end}
.nav a{text-decoration:none;font-size:14px;font-weight:500}
.brand{justify-self:center;font:600 21px/1 var(--serif)!important;letter-spacing:4px}
.order{height:44px;padding:0 22px;background:var(--ink);color:var(--paper)!important;display:inline-flex;align-items:center;text-transform:uppercase;font-size:12px!important;letter-spacing:2px}
.menu-toggle,.mobile-menu{display:none}
.eyebrow{margin:0 0 18px;color:var(--gold-text);font-size:13px;font-weight:600;letter-spacing:2.2px;text-transform:uppercase}
.dark .eyebrow{color:var(--gold-light)}
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.5px;margin:0}
.btn{height:52px;padding:0 28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;text-decoration:none;text-transform:uppercase;font-size:11px;font-weight:600;letter-spacing:1.9px;background:transparent;cursor:pointer}
.btn-dark{background:var(--ink);color:var(--paper)}
.btn-outline{border-color:var(--ink);color:var(--ink)}
.text-link{font-size:11px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
.section{padding:112px 80px}
.section-inner{max-width:1440px;margin:auto}

/* Intro */
.find-intro{text-align:center;padding-top:105px;padding-bottom:58px}
.find-intro h1{font-size:clamp(62px,7vw,88px);line-height:.98}
.find-intro .lead{max-width:760px;margin:22px auto 0;color:var(--muted);font-size:18px}
.search-row{max-width:980px;margin:34px auto 0;display:grid;grid-template-columns:1fr auto auto;gap:10px}
.search-row label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.search-row input{height:52px;border:1px solid var(--line);background:var(--white);padding:0 18px;color:var(--ink);outline:none}
.search-row input:focus{border-color:var(--gold-text);box-shadow:0 0 0 2px rgba(126,97,32,.12)}

/* map/list */
.find-content{padding-top:32px;background:var(--paper)}
.filter-tabs{display:flex;gap:28px;flex-wrap:wrap;max-width:1440px;margin:0 auto 26px}
.filter-tab{padding:0 0 6px;border:0;border-bottom:1px solid transparent;background:transparent;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;cursor:pointer}
.filter-tab.active{color:var(--ink);border-color:var(--ink)}
.find-grid{max-width:1440px;margin:auto;display:grid;grid-template-columns:460px minmax(0,1fr);gap:42px;align-items:start}
.list-panel{min-width:0}
.list-header{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}
.list-header h2{font-size:26px}
.list-header span{font-size:11px;color:var(--muted);letter-spacing:.5px}
.location-list{border-top:1px solid var(--line)}
.location-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:14px;align-items:start;padding:18px 0;border-bottom:1px solid var(--line)}
.location-num{width:24px;height:24px;border-radius:50%;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;margin-top:2px}
.location-row.market .location-num{background:var(--gold-text)}
.location-main h3{font-size:20px;line-height:1.1}
.location-main p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.location-type{margin-top:7px;color:var(--gold-text);font-size:9px;font-weight:600;letter-spacing:1.25px;text-transform:uppercase}
.location-row .text-link{margin-top:4px;white-space:nowrap}
.show-all{margin-top:22px;border:0;background:transparent;padding:0;cursor:pointer}
.empty-state{padding:34px 0;color:var(--muted)}
.map-wrap{position:sticky;top:24px}
.map-shell{position:relative;border:1px solid var(--line);background:var(--paper2)}
#locations-map{height:780px;width:100%}
.map-legend{position:absolute;left:18px;top:18px;z-index:500;background:rgba(255,252,246,.94);border:1px solid var(--line);padding:10px 12px;display:flex;gap:14px;align-items:center;font-size:10px;font-weight:600;letter-spacing:.7px;text-transform:uppercase}
.map-legend span{display:flex;align-items:center;gap:6px}
.legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:var(--ink)}
.legend-dot.market{background:var(--gold-text)}
.map-pin{width:18px;height:18px;border-radius:50%;background:var(--ink);border:3px solid var(--paper);box-shadow:0 2px 6px rgba(0,0,0,.25)}
.map-pin.market{background:var(--gold-text);border-width:2px}
.leaflet-div-icon{background:transparent!important;border:0!important}
.leaflet-popup-content-wrapper{border-radius:0;font-family:var(--sans)}
.leaflet-popup-content{margin:14px 16px;min-width:210px}
.leaflet-popup-content strong{display:block;font:500 18px/1.15 var(--serif);margin-bottom:6px}
.leaflet-popup-content .popup-type{color:var(--gold-text);font-size:9px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:6px}
.leaflet-popup-content p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.leaflet-popup-content a{display:inline-block;margin-top:9px;font-size:10px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor}

/* markets */
.markets{background:var(--ink);color:var(--paper)}
.markets-head{display:grid;grid-template-columns:1fr .8fr;gap:90px;align-items:end}
.markets h2{font-size:clamp(52px,5vw,68px);line-height:1.02}
.markets-head>p{margin:0;color:var(--muted-dark);font-size:17px}
.market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 42px;margin-top:52px}
.market-item{border-top:1px solid var(--line-dark);padding:24px 0 30px}
.market-meta{display:flex;justify-content:space-between;gap:18px;color:var(--gold-light);font-size:9px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase}
.market-item h3{font-size:26px;line-height:1.06;margin-top:7px}
.market-description{color:var(--muted-dark);font-size:14px;line-height:1.65;margin:10px 0 0;max-width:460px}
.market-address{color:rgba(199,185,159,.72);font-size:11px;line-height:1.55;margin:12px 0 0;max-width:460px}
.market-more{margin-top:28px;color:var(--paper)}

/* paths */
.paths{background:var(--paper2);display:grid;grid-template-columns:1fr 1fr;gap:96px;max-width:none}
.path{border-top:1px solid var(--gold);padding-top:30px}
.path h2{font-size:clamp(40px,3.5vw,52px);line-height:1.03}
.path p{max-width:600px;color:var(--muted);font-size:18px;margin:16px 0 26px}

/* footer */
.footer{background:var(--footer);color:var(--muted-dark);padding:64px 80px 28px}
.footer-grid{max-width:1440px;margin:auto;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:60px}
.footer-brand{font:600 25px var(--serif);letter-spacing:3px;color:var(--paper);text-decoration:none}
.footer p{max-width:420px}
.footer h4{color:var(--gold);font-size:11px;letter-spacing:2px;text-transform:uppercase;margin:0 0 16px}
.footer-grid>div:not(:first-child) a{display:block;text-decoration:none;margin:9px 0}
.social{display:flex;gap:20px;margin-top:22px;flex-wrap:wrap}
.social a{text-decoration:none;text-transform:uppercase;font-size:10px;letter-spacing:1.5px}
.footer-bottom{max-width:1440px;margin:50px auto 0;padding-top:22px;border-top:1px solid var(--line-dark);font-size:11px}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--gold-text);outline-offset:3px}

@media(max-width:1100px){
  .utility{padding:0 30px}
  .nav-inner{padding:0 30px}
  .nav-left{gap:18px}
  .section{padding:90px 40px}
  .find-grid{grid-template-columns:390px minmax(0,1fr);gap:30px}
}
@media(max-width:900px){
  .nav{height:72px}
  .nav-inner{padding:0 24px;grid-template-columns:44px 1fr 74px}
  .nav-left{display:none}
  .nav-right a:not(:last-child){display:none}
  .brand{font-size:17px!important;letter-spacing:3px}
  .menu-toggle{display:block;background:transparent;border:0;color:var(--ink);font-size:24px;text-align:left}
  .mobile-menu{display:none;position:absolute;z-index:1000;top:108px;left:0;right:0;background:var(--paper);color:var(--ink);padding:28px 24px;border-bottom:1px solid var(--line)}
  .mobile-menu.open{display:grid}
  .mobile-menu a{padding:13px 0;border-bottom:1px solid var(--line);text-decoration:none}
  .nav-right .order{height:auto;padding:0;background:transparent;color:var(--ink)!important;font-size:11px!important}
  .find-grid{grid-template-columns:1fr}
  .map-wrap{position:static;order:-1}
  #locations-map{height:420px}
  .markets-head{grid-template-columns:1fr;gap:18px}
}
@media(max-width:767px){
  .utility{height:32px;padding:0 12px;justify-content:center;font-size:9px;letter-spacing:1px}
  .utility a{display:none}
  .nav-inner{padding:0 20px;grid-template-columns:44px 1fr 44px}
  .brand{font-size:15px!important;letter-spacing:2.6px}
  .nav-right .order{font-size:10px!important;letter-spacing:1.3px}
  .mobile-menu{top:104px;padding:24px 20px}
  .section{padding:64px 20px}
  .find-intro{padding-top:72px;padding-bottom:36px}
  .find-intro h1{font-size:48px}
  .find-intro .lead{font-size:16px}
  .search-row{grid-template-columns:1fr;gap:8px}
  .search-row .btn{width:100%}
  .find-content{padding-top:20px}
  .filter-tabs{gap:18px;margin-bottom:22px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
  .filter-tab{white-space:nowrap}
  #locations-map{height:320px}
  .map-legend{left:10px;top:10px;gap:9px;padding:8px 9px;font-size:8px}
  .location-row{grid-template-columns:30px minmax(0,1fr);gap:10px}
  .location-row .text-link{grid-column:2;margin-top:2px;justify-self:start}
  .market-grid{grid-template-columns:1fr}
  .markets h2{font-size:44px}
  .paths{grid-template-columns:1fr;gap:46px}
  .path p{font-size:16px}
  .footer{padding:55px 20px 28px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:38px}
  .footer-grid>div:first-child{grid-column:1/-1}
}


/* Sitewide header wordmark +30% — 2026-09-25 */
.nav .brand{font-size:27.3px!important;letter-spacing:5.2px!important}
@media(max-width:900px){.nav .brand{font-size:22.1px!important;letter-spacing:4px!important}}
@media(max-width:767px){.nav .brand{font-size:19.5px!important;letter-spacing:3.4px!important}}


/* Locator feedback */
[hidden]{display:none!important}
.location-feedback{max-width:980px;margin:14px auto 0;color:var(--muted);font-size:13px;line-height:1.6}
.location-feedback p{margin:0 0 8px;min-height:2em}
.location-feedback button{background:transparent;color:var(--ink);border:0;border-bottom:1px solid currentColor;cursor:pointer}
.location-main .location-distance{color:var(--gold-text);font-weight:600;margin-top:8px}
.filter-tab{min-height:44px}
@media(prefers-reduced-motion:no-preference){.location-row{animation:location-reveal .16s ease-out}@keyframes location-reveal{from{opacity:.65}to{opacity:1}}}
