/* Seasons of Japan /map-beta — premium interactive location experience */
body[data-page="map-beta"]{
  background:#efe8d8;
  color:#15382b;
}
body[data-page="map-beta"] .site-header{
  position:relative;
  z-index:2000;
  box-shadow:0 18px 46px rgba(3,34,23,.12);
}
.map-beta-page{
  background:
    radial-gradient(circle at 12% 0%,rgba(224,197,99,.14),transparent 24%),
    linear-gradient(180deg,#f7f1e5 0,#eee6d6 100%);
}
.map-beta-intro{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
  gap:50px;
  align-items:end;
  padding:54px var(--space) 30px;
  overflow:hidden;
  border-bottom:1px solid rgba(132,104,44,.16);
}
.map-beta-intro:before{
  content:"";
  position:absolute;
  width:500px;height:500px;
  right:-180px;top:-300px;
  border:1px solid rgba(170,136,53,.16);
  border-radius:50%;
  box-shadow:0 0 0 70px rgba(170,136,53,.035),0 0 0 140px rgba(170,136,53,.025);
  pointer-events:none;
}
.map-beta-kicker{
  margin:0 0 13px;
  color:#9b7b2b;
  font:900 8px/1 var(--text);
  letter-spacing:.22em;
}
.map-beta-intro h1{
  margin:0;
  color:#10372a;
  font:400 clamp(56px,6vw,88px)/.86 var(--editorial);
  letter-spacing:-.055em;
}
.map-beta-intro h1 em{
  color:#bc1735;
  font-style:normal;
}
.map-beta-lede{
  max-width:660px;
  margin:19px 0 0;
  color:#647066;
  font-size:13px;
  line-height:1.72;
}
.map-beta-intro-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  align-self:stretch;
  min-height:148px;
  border:1px solid rgba(83,77,57,.14);
  border-radius:14px;
  overflow:hidden;
  background:rgba(255,252,245,.72);
  backdrop-filter:blur(8px);
  box-shadow:0 18px 40px rgba(50,54,42,.055);
}
.map-beta-intro-stats>div{
  display:flex;
  flex-direction:column;
  justify-content:end;
  padding:24px 18px;
  border-right:1px solid rgba(83,77,57,.12);
}
.map-beta-intro-stats>div:last-child{border-right:0}
.map-beta-intro-stats strong{
  color:#0f3d2d;
  font:400 42px/.9 var(--editorial);
}
.map-beta-intro-stats span{
  margin-top:9px;
  color:#77786e;
  font:800 7px/1.35 var(--text);
  letter-spacing:.08em;
  text-transform:uppercase;
}

.map-beta-experience{
  display:grid;
  grid-template-columns:390px minmax(0,1fr);
  min-height:760px;
  margin:0 var(--space) 34px;
  overflow:hidden;
  border:1px solid rgba(30,56,43,.16);
  border-radius:18px;
  background:#092e22;
  box-shadow:0 24px 60px rgba(28,47,37,.16);
}
.map-beta-browser{
  position:relative;
  z-index:30;
  display:flex;
  min-width:0;
  flex-direction:column;
  height:760px;
  background:
    radial-gradient(circle at 20% 0%,rgba(220,191,91,.09),transparent 28%),
    linear-gradient(180deg,#073626 0%,#052a1f 100%);
  color:#fff;
  border-right:1px solid rgba(224,194,91,.28);
}
.map-beta-browser-head{
  padding:27px 24px 18px;
  border-bottom:1px solid rgba(223,196,96,.17);
}
.map-beta-overline{
  display:block;
  margin-bottom:7px;
  color:#dac15f;
  font:900 7px/1 var(--text);
  letter-spacing:.2em;
}
.map-beta-browser-head h2{
  margin:0;
  color:#fff8e8;
  font:400 38px/.95 var(--editorial);
  letter-spacing:-.04em;
}
.map-beta-browser-head>p:not(.map-beta-message){
  margin:9px 0 0;
  color:#b8c4bc;
  font-size:9px;
  line-height:1.55;
}
.map-beta-search{
  display:grid;
  grid-template-columns:22px minmax(0,1fr) 30px;
  align-items:center;
  gap:7px;
  margin-top:17px;
  padding:4px 6px 4px 10px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:9px;
  background:#fffdf8;
  box-shadow:0 12px 26px rgba(0,0,0,.15);
}
.map-beta-search svg{
  width:17px;height:17px;
  fill:none;stroke:#2f6550;stroke-width:1.7;
}
.map-beta-search input{
  min-width:0;
  height:37px;
  border:0;
  outline:0;
  background:transparent;
  color:#15392c;
  font:600 11px var(--text);
}
.map-beta-search input::placeholder{color:#8c918c}
.map-beta-search button{
  width:30px;height:30px;
  border:0;
  background:transparent;
  color:#7f817b;
  font-size:19px;
  cursor:pointer;
}
.map-beta-find-actions{
  display:grid;
  grid-template-columns:1fr auto;
  gap:7px;
  margin-top:9px;
}
.map-beta-find-actions button{
  min-height:38px;
  border:1px solid rgba(225,198,98,.27);
  border-radius:7px;
  background:rgba(255,255,255,.055);
  color:#f4eedb;
  font:800 7.5px var(--text);
  cursor:pointer;
  transition:.18s ease;
}
.map-beta-find-actions button:hover{
  border-color:#dbc15d;
  background:rgba(219,193,93,.1);
}
#map-beta-near{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
}
#map-beta-near svg{
  width:14px;height:14px;
  fill:none;stroke:currentColor;stroke-width:1.6;
}
.map-beta-message{
  min-height:14px;
  margin:8px 0 0;
  color:#9eafa5;
  font-size:7px;
  line-height:1.4;
}
.map-beta-list{
  flex:1;
  min-height:0;
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:#846f35 transparent;
}
.map-beta-list::-webkit-scrollbar{width:6px}
.map-beta-list::-webkit-scrollbar-thumb{background:#846f35;border-radius:99px}
.map-beta-location-row{
  appearance:none;
  width:100%;
  display:grid;
  grid-template-columns:65px minmax(0,1fr) 31px;
  gap:12px;
  align-items:center;
  padding:9px 14px 9px 12px;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.075);
  background:transparent;
  color:#fff;
  text-align:left;
  cursor:pointer;
  transition:background .18s ease,color .18s ease;
}
.map-beta-location-row:hover{background:rgba(255,255,255,.045)}
.map-beta-location-row.is-active{
  background:linear-gradient(90deg,rgba(222,194,91,.17),rgba(222,194,91,.05));
}
.map-beta-location-row[hidden]{display:none}
.map-beta-location-row img{
  width:65px;height:48px;
  object-fit:cover;
  border-radius:7px;
  box-shadow:0 7px 18px rgba(0,0,0,.2);
}
.map-beta-location-row-copy{
  min-width:0;
}
.map-beta-location-row-copy>span{
  display:block;
  color:#d1ba62;
  font:900 5.8px/1 var(--text);
  letter-spacing:.15em;
  text-transform:uppercase;
}
.map-beta-location-row-copy strong{
  display:block;
  margin-top:4px;
  color:#fff9ea;
  font:400 20px/1 var(--editorial);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.map-beta-location-row-copy small{
  display:block;
  margin-top:4px;
  color:#9fb0a6;
  font-size:6.5px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.map-beta-location-row-distance{
  display:grid;
  place-items:center;
  width:31px;height:31px;
  border:1px solid rgba(218,193,95,.26);
  border-radius:50%;
  color:#dbc565;
  font:900 6px var(--text);
}
.map-beta-location-row.is-active .map-beta-location-row-distance{
  background:#dfc45e;
  color:#143828;
  border-color:#dfc45e;
}
.map-beta-browser-foot{
  flex:0 0 auto;
  padding:12px 18px;
  border-top:1px solid rgba(255,255,255,.08);
  color:#8ea096;
  font-size:6.5px;
  line-height:1.45;
}
.map-beta-browser-foot span{
  display:flex;align-items:center;gap:7px;
}
.map-beta-browser-foot i{
  width:6px;height:6px;
  border-radius:50%;
  background:#dfc45e;
  box-shadow:0 0 0 5px rgba(223,196,94,.08);
}

.map-beta-map-wrap{
  position:relative;
  min-width:0;
  height:760px;
  overflow:hidden;
  background:#d8d7cd;
}
.map-beta-map{
  position:absolute;
  inset:0;
  z-index:1;
}
.map-beta-map.is-street .leaflet-tile-pane{
  filter:saturate(.72) contrast(.94) brightness(1.035) sepia(.05);
}
.map-beta-map.is-satellite .leaflet-tile-pane{
  filter:saturate(.9) contrast(1.02) brightness(.9);
}
.map-beta-map-vignette{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  box-shadow:inset 0 0 80px rgba(3,33,22,.15);
}
.map-beta-map-toolbar{
  position:absolute;
  z-index:700;
  top:18px;left:18px;right:18px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 43px;
  gap:8px;
  align-items:center;
  pointer-events:none;
}
.map-beta-map-title{
  justify-self:start;
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:10px 13px;
  border:1px solid rgba(12,50,36,.12);
  border-radius:9px;
  background:rgba(255,253,246,.92);
  backdrop-filter:blur(14px);
  box-shadow:0 10px 28px rgba(16,49,35,.12);
  pointer-events:auto;
}
.map-beta-map-title span{
  color:#9a7b2f;
  font:900 5.8px/1 var(--text);
  letter-spacing:.18em;
}
.map-beta-map-title strong{
  color:#183b2e;
  font:700 9px/1 var(--text);
}
.map-beta-map-modes{
  display:grid;
  grid-template-columns:1fr 1fr;
  padding:3px;
  border:1px solid rgba(15,55,40,.12);
  border-radius:8px;
  background:rgba(255,253,247,.94);
  box-shadow:0 10px 24px rgba(18,48,35,.12);
  pointer-events:auto;
}
.map-beta-map-modes button{
  min-width:72px;
  height:35px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:#5c675f;
  font:800 7px var(--text);
  cursor:pointer;
}
.map-beta-map-modes button.is-active{
  background:#123f2f;
  color:#fff9e8;
}
.map-beta-fit{
  display:grid;
  place-items:center;
  width:43px;height:43px;
  border:1px solid rgba(15,55,40,.12);
  border-radius:8px;
  background:rgba(255,253,247,.94);
  color:#143f30;
  box-shadow:0 10px 24px rgba(18,48,35,.12);
  cursor:pointer;
  pointer-events:auto;
}
.map-beta-fit svg{
  width:17px;height:17px;
  fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;
}
.map-beta-detail{
  position:absolute;
  z-index:720;
  right:18px;bottom:18px;
  display:grid;
  grid-template-columns:196px minmax(0,1fr);
  width:min(620px,calc(100% - 36px));
  min-height:170px;
  overflow:hidden;
  border:1px solid rgba(20,57,42,.16);
  border-radius:15px;
  background:rgba(255,252,245,.97);
  box-shadow:0 22px 52px rgba(5,38,25,.24);
  backdrop-filter:blur(15px);
  transition:opacity .18s ease,transform .18s ease;
}
.map-beta-detail.is-switching{
  opacity:.45;
  transform:translateY(8px);
}
.map-beta-detail-photo{
  position:relative;
  min-height:170px;
  overflow:hidden;
  background:#ddd;
}
.map-beta-detail-photo img{
  width:100%;height:100%;
  object-fit:cover;
}
.map-beta-detail-photo:after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(4,35,23,.35),transparent 58%);
}
.map-beta-detail-photo span{
  position:absolute;
  z-index:2;
  left:12px;bottom:12px;
  display:grid;
  place-items:center;
  width:34px;height:34px;
  border-radius:50%;
  background:#dfc45e;
  color:#12392b;
  font:900 7px var(--text);
  box-shadow:0 8px 18px rgba(0,0,0,.22);
}
.map-beta-detail-copy{
  display:flex;
  flex-direction:column;
  padding:18px 19px 15px;
}
.map-beta-detail-copy>p{
  margin:0;
  color:#9a7b2d;
  font:900 6px/1 var(--text);
  letter-spacing:.16em;
}
.map-beta-detail h2{
  margin:5px 0 8px;
  color:#163b2e;
  font:400 32px/.95 var(--editorial);
  letter-spacing:-.035em;
}
.map-beta-detail-meta{
  display:grid;
  gap:4px;
  color:#626b64;
  font-size:7.7px;
  line-height:1.45;
}
.map-beta-detail-meta strong{color:#1d4a38}
.map-beta-detail-tags{
  display:flex;
  gap:5px;
  margin-top:6px;
  flex-wrap:wrap;
}
.map-beta-detail-tags span{
  padding:4px 7px;
  border-radius:999px;
  background:#edf1e8;
  color:#43604f;
  font:800 5.5px var(--text);
  text-transform:uppercase;
  letter-spacing:.06em;
}
.map-beta-detail-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:auto;
  padding-top:11px;
}
.map-beta-detail-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 11px;
  border:1px solid rgba(21,65,48,.18);
  border-radius:6px;
  color:#194635;
  font:800 7px var(--text);
  transition:.18s ease;
}
.map-beta-detail-actions a:hover{
  transform:translateY(-1px);
  border-color:#9a7b2d;
}
.map-beta-detail-actions .map-beta-order{
  gap:18px;
  border-color:#c41837;
  background:#c41837;
  color:#fff;
}
.map-beta-detail-actions .map-beta-order:hover{background:#aa112d;border-color:#aa112d}
.map-beta-detail-actions .map-beta-order span{font-size:14px}
.map-beta-legend{
  position:absolute;
  z-index:700;
  left:18px;bottom:18px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:8px 11px;
  border:1px solid rgba(14,51,37,.12);
  border-radius:999px;
  background:rgba(255,253,247,.92);
  color:#57655c;
  font:700 6.5px var(--text);
  backdrop-filter:blur(12px);
  box-shadow:0 9px 24px rgba(22,49,37,.1);
  pointer-events:none;
}
.map-beta-legend-pin{
  display:grid;
  place-items:center;
  width:25px;height:25px;
  border-radius:50%;
  background:#dfc45e;
  color:#12392b;
  font:900 5.5px var(--text);
}

/* Leaflet visual system */
.map-beta-map .leaflet-control-zoom{
  overflow:hidden;
  border:1px solid rgba(12,51,37,.15);
  border-radius:8px;
  box-shadow:0 9px 24px rgba(20,49,36,.13);
}
.map-beta-map .leaflet-control-zoom a{
  width:34px;height:34px;
  line-height:34px;
  border:0;
  background:rgba(255,253,247,.95);
  color:#153e2f;
  font-size:16px;
}
.map-beta-map .leaflet-control-attribution{
  padding:3px 6px;
  border-radius:5px 0 0 0;
  background:rgba(255,255,255,.72);
  color:#667069;
  font-size:6px;
}
.soj-map-marker{
  background:none!important;
  border:0!important;
}
.soj-map-pin{
  position:relative;
  display:grid;
  place-items:center;
  width:43px;height:43px;
  border:4px solid #fffaf0;
  border-radius:50% 50% 50% 12px;
  background:#d9b94f;
  color:#11382a;
  box-shadow:0 10px 22px rgba(3,34,22,.32);
  transform:rotate(-45deg);
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.soj-map-pin span{
  transform:rotate(45deg);
  font:900 8px/1 var(--text);
}
.soj-map-marker.is-active .soj-map-pin{
  background:#c41837;
  color:#fff;
  box-shadow:0 0 0 8px rgba(196,24,55,.14),0 15px 30px rgba(3,34,22,.35);
  transform:rotate(-45deg) scale(1.14);
}
.soj-user-pin{
  width:18px;height:18px;
  border:4px solid white;
  border-radius:50%;
  background:#d8b84d;
  box-shadow:0 0 0 8px rgba(216,184,77,.2),0 6px 16px rgba(4,36,24,.24);
}
.soj-map-tooltip{
  padding:7px 9px!important;
  border:0!important;
  border-radius:6px!important;
  background:#0a3527!important;
  color:#fff9e9!important;
  font:800 7px var(--text)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.2)!important;
}
.soj-map-tooltip:before{display:none!important}

.map-beta-promise{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin:0 var(--space) 45px;
  overflow:hidden;
  border:1px solid rgba(59,76,65,.15);
  border-radius:13px;
  background:#fffaf0;
}
.map-beta-promise article{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:13px;
  padding:22px 23px;
  border-right:1px solid rgba(59,76,65,.12);
}
.map-beta-promise article:last-child{border-right:0}
.map-beta-promise article>span{
  display:grid;
  place-items:center;
  width:42px;height:42px;
  border-radius:50%;
  background:#123e2f;
  color:#e2c45f;
  font:900 7px var(--text);
}
.map-beta-promise strong{
  display:block;
  color:#173a2d;
  font:400 21px/1.05 var(--editorial);
}
.map-beta-promise p{
  margin:6px 0 0;
  color:#72786f;
  font-size:7.5px;
  line-height:1.5;
}

@media(max-width:1120px){
  .map-beta-intro{grid-template-columns:1fr}
  .map-beta-intro-stats{min-height:112px}
  .map-beta-experience{grid-template-columns:330px minmax(0,1fr)}
  .map-beta-browser{height:720px}
  .map-beta-map-wrap{height:720px}
  .map-beta-detail{grid-template-columns:150px minmax(0,1fr);width:min(540px,calc(100% - 36px))}
}
@media(max-width:860px){
  .map-beta-intro{padding-top:40px}
  .map-beta-intro h1{font-size:64px}
  .map-beta-experience{
    grid-template-columns:1fr;
    overflow:visible;
    background:transparent;
    border:0;
    box-shadow:none;
  }
  .map-beta-browser{
    height:auto;
    border:1px solid rgba(224,194,91,.22);
    border-radius:15px 15px 0 0;
  }
  .map-beta-browser-head{padding:22px 18px 15px}
  .map-beta-list{
    display:flex;
    gap:0;
    overflow-x:auto;
    overflow-y:hidden;
    border-top:1px solid rgba(255,255,255,.05);
  }
  .map-beta-location-row{
    flex:0 0 240px;
    grid-template-columns:58px minmax(0,1fr) 29px;
    border-right:1px solid rgba(255,255,255,.075);
    border-bottom:0;
  }
  .map-beta-location-row img{width:58px;height:44px}
  .map-beta-browser-foot{display:none}
  .map-beta-map-wrap{
    height:650px;
    border-radius:0 0 15px 15px;
    border:1px solid rgba(31,61,46,.13);
    border-top:0;
  }
  .map-beta-promise{grid-template-columns:1fr}
  .map-beta-promise article{border-right:0;border-bottom:1px solid rgba(59,76,65,.12)}
}
@media(max-width:620px){
  .map-beta-intro{
    gap:24px;
    padding:31px 20px 23px;
  }
  .map-beta-intro h1{font-size:54px}
  .map-beta-lede{font-size:10.5px;line-height:1.6}
  .map-beta-intro-stats{grid-template-columns:1fr 1fr;min-height:0}
  .map-beta-intro-stats>div{padding:17px 13px}
  .map-beta-intro-stats>div:nth-child(2){border-right:0}
  .map-beta-intro-stats>div:nth-child(3){grid-column:1/-1;border-top:1px solid rgba(83,77,57,.12)}
  .map-beta-intro-stats strong{font-size:32px}
  .map-beta-experience{margin:0 14px 24px}
  .map-beta-browser-head h2{font-size:31px}
  .map-beta-find-actions{grid-template-columns:1fr}
  .map-beta-location-row{flex-basis:218px;padding:10px 12px}
  .map-beta-map-wrap{height:610px}
  .map-beta-map-toolbar{
    top:10px;left:10px;right:10px;
    grid-template-columns:1fr auto;
  }
  .map-beta-map-title{display:none}
  .map-beta-map-modes{justify-self:start}
  .map-beta-fit{grid-column:2;grid-row:1}
  .map-beta-detail{
    left:10px;right:10px;bottom:10px;
    width:auto;
    grid-template-columns:104px minmax(0,1fr);
    min-height:148px;
  }
  .map-beta-detail-photo{min-height:148px}
  .map-beta-detail-copy{padding:13px 12px 11px}
  .map-beta-detail h2{font-size:26px;margin:4px 0 6px}
  .map-beta-detail-meta{font-size:6.7px}
  .map-beta-detail-actions{gap:4px;padding-top:8px}
  .map-beta-detail-actions a{min-height:32px;padding:0 8px;font-size:6.4px}
  .map-beta-detail-actions .map-beta-menu{display:none}
  .map-beta-legend{display:none}
  .map-beta-promise{margin:0 14px 30px}
  .map-beta-promise article{padding:18px 16px}
  .map-beta-promise strong{font-size:19px}
}
@media(prefers-reduced-motion:reduce){
  .map-beta-location-row,.map-beta-detail,.soj-map-pin,.map-beta-detail-actions a{transition:none!important}
}


/* MAP BETA V2 — dark, high-legibility presentation for a 50+ audience */
body[data-page="map-beta"]{
  background:#020b08;
  color:#f4efe4;
}
body[data-page="map-beta"] .preview-bar{
  background:#020b08;
  color:#d7d3c8;
  font-size:11px;
}
body[data-page="map-beta"] .site-header{
  background:#043322;
}
body[data-page="map-beta"] .site-header nav>a,
body[data-page="map-beta"] .site-header nav>button{
  font-size:13px;
}
body[data-page="map-beta"] .site-header .brand small{
  font-size:9px;
}
.map-beta-page{
  background:
    radial-gradient(circle at 18% -8%,rgba(187,151,57,.11),transparent 26%),
    linear-gradient(180deg,#06150f 0%,#03100b 100%);
  color:#f4efe4;
}
.map-beta-intro{
  display:block;
  padding:30px var(--space) 24px;
  border-bottom:1px solid rgba(220,193,94,.18);
  background:
    linear-gradient(90deg,rgba(9,52,36,.94),rgba(4,24,16,.97)),
    radial-gradient(circle at 75% 20%,rgba(206,175,74,.12),transparent 24%);
}
.map-beta-intro:before{display:none}
.map-beta-intro-copy{
  display:grid;
  grid-template-columns:minmax(500px,1fr) minmax(360px,.72fr);
  grid-template-areas:
    "kicker lede"
    "title lede";
  column-gap:60px;
  align-items:center;
}
.map-beta-kicker{
  grid-area:kicker;
  margin:0 0 8px;
  color:#e0c562;
  font-size:12px;
  line-height:1.2;
  letter-spacing:.18em;
}
.map-beta-intro h1{
  grid-area:title;
  margin:0;
  color:#fff8e9;
  font-size:clamp(54px,5vw,76px);
  line-height:.94;
  letter-spacing:-.05em;
  white-space:nowrap;
}
.map-beta-intro h1 em{color:#e0c562}
.map-beta-lede{
  grid-area:lede;
  max-width:560px;
  margin:0;
  color:#d3ddd6;
  font-size:16px;
  line-height:1.65;
}

.map-beta-experience{
  grid-template-columns:420px minmax(0,1fr);
  min-height:680px;
  margin:22px var(--space) 24px;
  border-color:rgba(225,198,98,.28);
  background:#061f17;
  box-shadow:0 24px 60px rgba(0,0,0,.32);
}
.map-beta-browser{
  height:680px;
  background:
    radial-gradient(circle at 30% 0%,rgba(221,194,92,.09),transparent 25%),
    linear-gradient(180deg,#063f2c 0%,#03291d 100%);
}
.map-beta-browser-head{
  padding:22px 22px 16px;
}
.map-beta-overline{
  margin-bottom:8px;
  font-size:11px;
  letter-spacing:.17em;
}
.map-beta-browser-head h2{
  font-size:42px;
  line-height:.94;
}
.map-beta-browser-head>p:not(.map-beta-message){
  margin-top:10px;
  font-size:14px;
  line-height:1.55;
}
.map-beta-search{
  margin-top:15px;
  padding:6px 8px 6px 12px;
}
.map-beta-search input{
  height:43px;
  font-size:16px;
}
.map-beta-search button{
  width:36px;height:36px;
  font-size:22px;
}
.map-beta-find-actions button{
  min-height:43px;
  font-size:13px;
}
#map-beta-near svg{width:17px;height:17px}
.map-beta-message{
  min-height:18px;
  margin-top:10px;
  font-size:12px;
  line-height:1.45;
}
.map-beta-location-row{
  grid-template-columns:78px minmax(0,1fr) 38px;
  gap:13px;
  padding:10px 14px 10px 12px;
}
.map-beta-location-row img{
  width:78px;
  height:56px;
}
.map-beta-location-row-copy>span{
  font-size:10px;
  line-height:1.2;
  letter-spacing:.11em;
}
.map-beta-location-row-copy strong{
  margin-top:4px;
  font-size:24px;
  line-height:1;
}
.map-beta-location-row-copy small{
  margin-top:5px;
  font-size:11px;
  line-height:1.25;
}
.map-beta-location-row-distance{
  width:38px;height:38px;
  font-size:10px;
}
.map-beta-browser-foot{
  padding:10px 16px;
  font-size:10px;
}
.map-beta-browser-foot i{
  width:8px;height:8px;
}

.map-beta-map-wrap{height:680px}
.map-beta-map-title{
  padding:11px 14px;
}
.map-beta-map-title span{
  font-size:10px;
  letter-spacing:.13em;
}
.map-beta-map-title strong{
  font-size:13px;
}
.map-beta-map-modes button{
  min-width:80px;
  height:39px;
  font-size:12px;
}
.map-beta-fit{
  width:47px;height:47px;
}
.map-beta-detail{
  grid-template-columns:220px minmax(0,1fr);
  width:min(700px,calc(100% - 36px));
  min-height:190px;
  background:rgba(255,252,245,.985);
}
.map-beta-detail-photo{min-height:190px}
.map-beta-detail-photo span{
  width:38px;height:38px;
  font-size:10px;
}
.map-beta-detail-copy{
  padding:20px 22px 17px;
}
.map-beta-detail-copy>p{
  font-size:11px;
  line-height:1.2;
  letter-spacing:.13em;
}
.map-beta-detail h2{
  margin:6px 0 10px;
  font-size:38px;
}
.map-beta-detail-meta{
  gap:5px;
  font-size:13px;
  line-height:1.45;
}
.map-beta-detail-tags span{
  padding:5px 9px;
  font-size:10px;
}
.map-beta-detail-actions{
  gap:7px;
  padding-top:13px;
}
.map-beta-detail-actions a{
  min-height:40px;
  padding:0 13px;
  font-size:12px;
}
.map-beta-detail-actions .map-beta-order span{
  font-size:17px;
}
.map-beta-legend{
  padding:9px 12px;
  font-size:11px;
}
.map-beta-legend-pin{
  width:30px;height:30px;
  font-size:9px;
}
.map-beta-map .leaflet-control-attribution{
  font-size:9px;
}

.map-beta-promise{
  margin:0 var(--space) 28px;
  border-color:rgba(224,194,93,.18);
  background:#09261c;
}
.map-beta-promise article{
  padding:18px 20px;
  border-right-color:rgba(224,194,93,.15);
}
.map-beta-promise article>span{
  width:46px;height:46px;
  background:#d8bb58;
  color:#0d3325;
  font-size:10px;
}
.map-beta-promise strong{
  color:#fff7e8;
  font-size:25px;
}
.map-beta-promise p{
  margin-top:7px;
  color:#b8c3bb;
  font-size:13px;
  line-height:1.5;
}

/* Make the premium footer readable on this page as well. */
body[data-page="map-beta"] .soj-footer-cta-copy>span{font-size:11px}
body[data-page="map-beta"] .soj-footer-cta-copy>strong{font-size:clamp(42px,4.2vw,60px)}
body[data-page="map-beta"] .soj-footer-cta-actions>a,
body[data-page="map-beta"] .soj-footer-cta-actions>button{font-size:12px}
body[data-page="map-beta"] .soj-footer-brand small{font-size:10px}
body[data-page="map-beta"] .soj-footer-brand-panel>p{font-size:13px}
body[data-page="map-beta"] .soj-footer-socials a{font-size:11px}
body[data-page="map-beta"] .soj-footer-column h3,
body[data-page="map-beta"] .soj-footer-visit-head>div>span{font-size:11px}
body[data-page="map-beta"] .soj-footer-column a{font-size:12px}
body[data-page="map-beta"] .soj-footer-visit-head>a{font-size:11px}
body[data-page="map-beta"] .soj-footer-location-copy>p{font-size:9px}
body[data-page="map-beta"] .soj-footer-location-copy>span{font-size:10px}
body[data-page="map-beta"] .soj-footer-location-actions a{font-size:9px}
body[data-page="map-beta"] .soj-footer-bottom{font-size:10px}

@media(max-width:1120px){
  .map-beta-intro-copy{
    grid-template-columns:1fr;
    grid-template-areas:"kicker" "title" "lede";
  }
  .map-beta-intro h1{white-space:normal}
  .map-beta-lede{margin-top:13px}
  .map-beta-experience{grid-template-columns:360px minmax(0,1fr)}
  .map-beta-browser,.map-beta-map-wrap{height:660px}
  .map-beta-detail{grid-template-columns:180px minmax(0,1fr)}
}
@media(max-width:860px){
  .map-beta-intro{padding:25px 24px 21px}
  .map-beta-intro h1{font-size:58px}
  .map-beta-lede{font-size:15px}
  .map-beta-experience{
    grid-template-columns:1fr;
    margin:16px 18px 22px;
  }
  .map-beta-browser{
    height:auto;
  }
  .map-beta-browser-head h2{font-size:38px}
  .map-beta-list{
    min-height:92px;
  }
  .map-beta-location-row{
    flex:0 0 290px;
    grid-template-columns:72px minmax(0,1fr) 36px;
    padding:10px 12px;
  }
  .map-beta-location-row img{width:72px;height:54px}
  .map-beta-map-wrap{height:620px}
  .map-beta-promise{margin-inline:18px}
}
@media(max-width:620px){
  body[data-page="map-beta"] .site-header nav>a,
  body[data-page="map-beta"] .site-header nav>button{font-size:15px}
  .map-beta-intro{
    padding:23px 18px 18px;
  }
  .map-beta-kicker{font-size:10px}
  .map-beta-intro h1{
    font-size:48px;
    line-height:.94;
    white-space:normal;
  }
  .map-beta-lede{
    margin-top:12px;
    font-size:15px;
    line-height:1.55;
  }
  .map-beta-experience{margin:14px 10px 20px}
  .map-beta-browser-head{padding:20px 14px 15px}
  .map-beta-overline{font-size:10px}
  .map-beta-browser-head h2{font-size:35px}
  .map-beta-browser-head>p:not(.map-beta-message){font-size:13px}
  .map-beta-search input{font-size:16px}
  .map-beta-find-actions button{font-size:13px}
  .map-beta-message{font-size:12px}
  .map-beta-location-row{
    flex-basis:275px;
    grid-template-columns:68px minmax(0,1fr) 34px;
  }
  .map-beta-location-row img{width:68px;height:52px}
  .map-beta-location-row-copy>span{font-size:9px}
  .map-beta-location-row-copy strong{font-size:22px}
  .map-beta-location-row-copy small{font-size:10px}
  .map-beta-map-wrap{height:560px}
  .map-beta-map-modes button{
    min-width:72px;
    height:40px;
    font-size:12px;
  }
  .map-beta-detail{
    grid-template-columns:112px minmax(0,1fr);
    min-height:165px;
  }
  .map-beta-detail-photo{min-height:165px}
  .map-beta-detail-copy{padding:14px 12px 12px}
  .map-beta-detail-copy>p{font-size:9px}
  .map-beta-detail h2{font-size:29px}
  .map-beta-detail-meta{font-size:11px}
  .map-beta-detail-actions a{
    min-height:36px;
    padding-inline:9px;
    font-size:10px;
  }
  .map-beta-promise{margin:0 10px 24px}
  .map-beta-promise article{padding:17px 14px}
  .map-beta-promise strong{font-size:22px}
  .map-beta-promise p{font-size:12px}
  body[data-page="map-beta"] .soj-footer-brand-panel>p,
  body[data-page="map-beta"] .soj-footer-column a{font-size:12px}
}


/* Final accessibility pass: no essential map-beta copy below 12px on small screens. */
@media(max-width:620px){
  .map-beta-location-row-copy>span{font-size:10px}
  .map-beta-location-row-copy small{font-size:12px}
  .map-beta-detail-copy>p{font-size:10px}
  .map-beta-detail-meta{font-size:12px}
  .map-beta-detail-actions a{font-size:12px}
  .map-beta-promise p{font-size:13px}
  body[data-page="map-beta"] .soj-footer-brand small{font-size:10px}
  body[data-page="map-beta"] .soj-footer-location-copy>p{font-size:10px}
  body[data-page="map-beta"] .soj-footer-location-copy>span{font-size:12px}
  body[data-page="map-beta"] .soj-footer-location-actions a{font-size:10px}
  body[data-page="map-beta"] .soj-footer-bottom{font-size:11px}
}


/* MAP BETA V3 — integrated page treatment: the finder + map are part of the page, not a floating capsule. */
.map-beta-intro{
  margin:0;
}
.map-beta-experience{
  width:100%;
  margin:0;
  border:0;
  border-top:1px solid rgba(224,194,93,.22);
  border-bottom:1px solid rgba(224,194,93,.16);
  border-radius:0;
  box-shadow:none;
  background:#061f17;
}
.map-beta-browser{
  border-radius:0;
  border-right:1px solid rgba(224,194,91,.24);
  box-shadow:none;
}
.map-beta-map-wrap{
  border-radius:0;
  box-shadow:none;
}
.map-beta-map{
  border-radius:0;
}
.map-beta-map-vignette{
  box-shadow:inset 0 0 70px rgba(3,33,22,.11);
}
.map-beta-promise{
  margin:0;
  border:0;
  border-bottom:1px solid rgba(224,194,93,.16);
  border-radius:0;
}
@media(max-width:860px){
  .map-beta-experience{
    margin:0;
    border-radius:0;
  }
  .map-beta-browser{
    border-radius:0;
    border-left:0;
    border-right:0;
    border-top:0;
  }
  .map-beta-map-wrap{
    border-radius:0;
    border-left:0;
    border-right:0;
  }
  .map-beta-promise{
    margin:0;
    border-radius:0;
  }
}
@media(max-width:620px){
  .map-beta-experience{margin:0}
  .map-beta-promise{margin:0}
}


/* MAP BETA V4 — deep red brand break between green header and green map interface */
.map-beta-intro{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 18%,rgba(232,200,94,.12),transparent 24%),
    linear-gradient(102deg,#4b0712 0%,#671020 40%,#801326 68%,#5a0a17 100%);
  border-bottom:1px solid rgba(232,200,94,.24);
  box-shadow:inset 0 -1px 0 rgba(0,0,0,.18);
}
.map-beta-intro:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.018),transparent 18%,rgba(255,255,255,.018) 36%,transparent 54%,rgba(255,255,255,.018) 72%,transparent);
  mix-blend-mode:screen;
}
.map-beta-intro-copy{
  position:relative;
  z-index:1;
}
.map-beta-kicker{
  color:#f0d477;
}
.map-beta-intro h1{
  color:#fff8ee;
}
.map-beta-intro h1 em{
  color:#f0d477;
}
.map-beta-lede{
  color:#f1e5e2;
}


/* MAP BETA V5 — compact finder header after removing redundant finder title. */
.map-beta-browser-head{
  padding:12px 16px 10px;
}
.map-beta-search{
  margin-top:0;
}
.map-beta-find-actions{
  margin-top:8px;
}
.map-beta-message{
  margin-top:6px;
}
@media(max-width:860px){
  .map-beta-browser-head{
    padding:12px 14px 10px;
  }
}
@media(max-width:620px){
  .map-beta-browser-head{
    padding:10px 10px 9px;
  }
}


/* MAP BETA V6 — stronger hover/selected location states */
.map-beta-location-row{
  position:relative;
  isolation:isolate;
  transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .16s ease;
}
.map-beta-location-row:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:0;
  background:linear-gradient(90deg,rgba(88,8,22,.58),rgba(65,7,16,.42));
  transition:opacity .2s ease;
  pointer-events:none;
}
.map-beta-location-row:hover{
  background:#103a2c;
  transform:translateX(2px);
}
.map-beta-location-row:hover:before{
  opacity:.42;
}
.map-beta-location-row.is-active{
  background:linear-gradient(90deg,#701022 0%,#5d0b1a 52%,#470711 100%);
  box-shadow:inset 4px 0 0 #e4c45f,inset 0 1px 0 rgba(255,255,255,.04),inset 0 -1px 0 rgba(0,0,0,.18);
  transform:none;
}
.map-beta-location-row.is-active:before{
  opacity:0;
}
.map-beta-location-row.is-active .map-beta-location-row-copy>span{
  color:#f0d477;
}
.map-beta-location-row.is-active .map-beta-location-row-copy strong{
  color:#fff8ed;
}
.map-beta-location-row.is-active .map-beta-location-row-copy small{
  color:#ead9d7;
}
.map-beta-location-row.is-active .map-beta-location-row-distance{
  background:#e4c45f;
  color:#4b0712;
  border-color:#f0d477;
  box-shadow:0 0 0 4px rgba(228,196,95,.12);
}


/* MAP BETA V7 — Statesboro uses a distinct deep-green selected state. */
.map-beta-location-row[data-map-location="statesboro"].is-active{
  background:linear-gradient(90deg,#0b4a34 0%,#083b2a 52%,#052b1f 100%);
  box-shadow:inset 4px 0 0 #e4c45f,inset 0 1px 0 rgba(255,255,255,.04),inset 0 -1px 0 rgba(0,0,0,.2);
}
.map-beta-location-row[data-map-location="statesboro"].is-active .map-beta-location-row-copy>span{
  color:#f0d477;
}
.map-beta-location-row[data-map-location="statesboro"].is-active .map-beta-location-row-copy strong{
  color:#fff9ed;
}
.map-beta-location-row[data-map-location="statesboro"].is-active .map-beta-location-row-copy small{
  color:#d7e5dc;
}
.map-beta-location-row[data-map-location="statesboro"].is-active .map-beta-location-row-distance{
  background:#e4c45f;
  color:#0b3f2d;
  border-color:#f0d477;
}
.soj-map-marker-statesboro.is-active .soj-map-pin{
  background:#0b4a34;
  color:#fff9ed;
  box-shadow:0 0 0 8px rgba(11,74,52,.18),0 15px 30px rgba(3,34,22,.35);
}


/* LOCATIONS FOCUS V1 — selected restaurant + review above a fully navigable map */
.map-beta-experience{
  min-height:760px;
  grid-template-columns:420px minmax(0,1fr);
}
.map-beta-browser{
  height:760px;
}
.map-beta-map-wrap{
  position:relative;
  display:grid;
  grid-template-rows:380px 380px;
  height:760px;
  min-width:0;
  overflow:hidden;
  background:#071d15;
}
.map-beta-map-stage{
  position:relative;
  min-width:0;
  min-height:0;
  overflow:hidden;
  border-top:1px solid rgba(224,194,93,.25);
  background:#d8d7cd;
}
.map-beta-map-stage .map-beta-map,
.map-beta-map-stage .map-beta-map-vignette{
  position:absolute;
  inset:0;
}
.map-beta-map-stage .map-beta-map{z-index:1}
.map-beta-map-stage .map-beta-map-vignette{z-index:3;pointer-events:none}
.map-beta-map-stage .map-beta-map-toolbar{z-index:700}
.map-beta-map-stage .map-beta-legend{z-index:700}

.map-beta-detail.map-beta-detail-focus{
  position:relative;
  inset:auto;
  z-index:20;
  width:100%;
  height:380px;
  min-height:0;
  display:grid;
  grid-template-columns:minmax(285px,.95fr) minmax(250px,.72fr) minmax(315px,.88fr);
  overflow:hidden;
  border:0;
  border-radius:0;
  background:#f4ecdd;
  box-shadow:none;
  backdrop-filter:none;
  color:#173a2d;
}
.map-beta-detail.map-beta-detail-focus.is-switching{
  opacity:.58;
  transform:none;
}
.map-beta-detail-focus .map-beta-detail-photo{
  position:relative;
  min-height:0;
  height:100%;
  overflow:hidden;
  background:#132f24;
}
.map-beta-detail-focus .map-beta-detail-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.map-beta-detail-focus .map-beta-detail-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,transparent 68%,rgba(244,236,221,.88) 100%),
    linear-gradient(0deg,rgba(3,25,16,.38),transparent 42%);
}
.map-beta-detail-focus .map-beta-detail-photo span{
  left:18px;
  bottom:18px;
  width:42px;
  height:42px;
  background:#dfc45e;
  color:#12392b;
  font-size:11px;
}
.map-beta-detail-focus .map-beta-detail-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:28px 22px 24px 25px;
  border-right:1px solid rgba(25,60,45,.14);
  background:
    radial-gradient(circle at 80% 0%,rgba(205,172,69,.09),transparent 32%),
    #f4ecdd;
}
.map-beta-detail-focus .map-beta-detail-copy>p{
  margin:0;
  color:#9a761e;
  font-size:11px;
  line-height:1.2;
  letter-spacing:.15em;
}
.map-beta-detail-focus h2{
  margin:7px 0 12px;
  color:#153c2e;
  font-size:42px;
  line-height:.92;
}
.map-beta-detail-focus .map-beta-detail-meta{
  display:grid;
  gap:7px;
  color:#53645a;
  font-size:13px;
  line-height:1.42;
}
.map-beta-detail-focus .map-beta-detail-meta strong{color:#174a37}
.map-beta-detail-focus .map-beta-detail-meta a{
  width:max-content;
  color:#9b1630;
  font-weight:800;
  border-bottom:1px solid rgba(155,22,48,.28);
}
.map-beta-detail-focus .map-beta-detail-tags{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
  margin-top:11px;
}
.map-beta-detail-focus .map-beta-detail-tags span{
  padding:5px 7px;
  background:#e6e8dc;
  color:#3e5b4a;
  font-size:9px;
  letter-spacing:.055em;
}
.map-beta-detail-focus .map-beta-detail-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:auto;
  padding-top:14px;
}
.map-beta-detail-focus .map-beta-detail-actions a{
  min-height:39px;
  padding:0 11px;
  font-size:11px;
  border-radius:5px;
}
.map-beta-detail-focus .map-beta-detail-actions .map-beta-order{
  background:#c41837;
  border-color:#c41837;
  color:#fff;
}
.map-beta-detail-focus[data-location="statesboro"] .map-beta-detail-copy{
  box-shadow:inset 4px 0 0 #0b4a34;
}
.map-beta-detail-focus:not([data-location="statesboro"]) .map-beta-detail-copy{
  box-shadow:inset 4px 0 0 #701022;
}

.map-beta-review{
  min-width:0;
  height:100%;
  display:flex;
  flex-direction:column;
  padding:25px 24px 22px;
  overflow:hidden;
  background:
    radial-gradient(circle at 90% 8%,rgba(231,200,98,.1),transparent 32%),
    linear-gradient(145deg,#641020 0%,#490812 100%);
  color:#fff8ec;
}
.map-beta-detail-focus[data-location="statesboro"] .map-beta-review{
  background:
    radial-gradient(circle at 90% 8%,rgba(231,200,98,.1),transparent 32%),
    linear-gradient(145deg,#0c4b35 0%,#052c20 100%);
}
.map-beta-review-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
}
.map-beta-review-head>div:first-child{
  min-width:0;
}
.map-beta-google-wordmark{
  display:flex;
  align-items:center;
  gap:6px;
  color:#e8cf78;
  font:900 9px/1.2 var(--text);
  letter-spacing:.13em;
}
.map-beta-google-wordmark i{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#fff;
  color:#2b6fd5;
  font:900 13px/1 Arial,sans-serif;
  font-style:normal;
}
.map-beta-review-head strong{
  display:block;
  margin-top:9px;
  color:#fff9ef;
  font:400 27px/.95 var(--editorial);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.map-beta-google-rating{
  flex:0 0 auto;
  min-width:66px;
  padding-left:13px;
  border-left:1px solid rgba(237,213,125,.27);
  text-align:right;
}
.map-beta-google-rating b{
  display:block;
  color:#f0d477;
  font:400 34px/.8 var(--editorial);
}
.map-beta-google-rating span{
  display:block;
  margin-top:7px;
  color:#d7c9be;
  font-size:9px;
  font-weight:800;
  line-height:1.15;
}
.map-beta-review-stars{
  margin-top:12px;
  color:#f2ce58;
  font-size:20px;
  line-height:1;
  letter-spacing:.08em;
}
.map-beta-review blockquote{
  margin:13px 0 0;
  color:#fff8ef;
  font:400 16px/1.5 var(--text);
}
.map-beta-review-metrics{
  margin-top:9px;
  color:#ead17c;
  font-size:11px;
  font-weight:800;
}
.map-beta-review-foot{
  display:grid;
  gap:7px;
  margin-top:auto;
  padding-top:13px;
  border-top:1px solid rgba(255,255,255,.13);
}
.map-beta-review-foot>span{
  color:#d5c9c5;
  font-size:9px;
  line-height:1.4;
}
.map-beta-review-foot>a,
.map-beta-review-empty>a{
  width:max-content;
  color:#f0d477;
  font-size:11px;
  font-weight:900;
  border-bottom:1px solid currentColor;
}
.map-beta-review-empty{
  display:flex;
  flex-direction:column;
  height:100%;
}
.map-beta-review-empty strong{
  margin-top:18px;
  color:#fff9ef;
  font:400 29px/.95 var(--editorial);
}
.map-beta-review-empty p{
  color:#ddd1cc;
  font-size:14px;
  line-height:1.55;
}
.map-beta-review-empty a{margin-top:auto}
.map-beta-review-loading{
  margin:auto;
  color:#e4d7cf;
  font-size:14px;
}

@media(max-width:1120px){
  .map-beta-experience{grid-template-columns:350px minmax(0,1fr)}
  .map-beta-browser{height:760px}
  .map-beta-map-wrap{height:760px;grid-template-rows:380px 380px}
  .map-beta-detail.map-beta-detail-focus{
    grid-template-columns:minmax(220px,.72fr) minmax(215px,.68fr) minmax(270px,.9fr);
    height:380px;
  }
  .map-beta-detail-focus h2{font-size:36px}
  .map-beta-detail-focus .map-beta-detail-copy{padding:24px 18px}
  .map-beta-review{padding:22px 18px}
  .map-beta-review-head strong{font-size:24px}
  .map-beta-review blockquote{font-size:15px}
}
@media(max-width:860px){
  .map-beta-experience{
    grid-template-columns:1fr;
    min-height:0;
  }
  .map-beta-browser{height:auto}
  .map-beta-map-wrap{
    height:auto;
    grid-template-rows:auto 500px;
  }
  .map-beta-detail.map-beta-detail-focus{
    height:auto;
    min-height:390px;
    grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr);
  }
  .map-beta-detail-focus .map-beta-detail-photo{
    min-height:390px;
    grid-row:1 / span 2;
  }
  .map-beta-detail-focus .map-beta-detail-photo:after{
    background:linear-gradient(90deg,transparent 68%,rgba(244,236,221,.84) 100%),linear-gradient(0deg,rgba(3,25,16,.32),transparent 45%);
  }
  .map-beta-detail-focus .map-beta-detail-copy{
    min-height:205px;
  }
  .map-beta-review{
    min-height:185px;
    height:auto;
    padding:20px 20px 17px;
  }
  .map-beta-review blockquote{font-size:14px}
  .map-beta-map-stage{height:500px}
}
@media(max-width:620px){
  .map-beta-map-wrap{grid-template-rows:auto 460px}
  .map-beta-detail.map-beta-detail-focus{
    display:grid;
    grid-template-columns:1fr;
    min-height:0;
  }
  .map-beta-detail-focus .map-beta-detail-photo{
    grid-row:auto;
    height:220px;
    min-height:220px;
  }
  .map-beta-detail-focus .map-beta-detail-photo:after{
    background:linear-gradient(0deg,rgba(244,236,221,.16),transparent 50%);
  }
  .map-beta-detail-focus .map-beta-detail-copy{
    min-height:0;
    padding:22px 18px 20px;
    border-right:0;
  }
  .map-beta-detail-focus .map-beta-detail-copy>p{font-size:10px}
  .map-beta-detail-focus h2{font-size:36px}
  .map-beta-detail-focus .map-beta-detail-meta{font-size:13px}
  .map-beta-detail-focus .map-beta-detail-tags span{font-size:10px}
  .map-beta-detail-focus .map-beta-detail-actions a{
    min-height:40px;
    font-size:12px;
  }
  .map-beta-review{
    min-height:230px;
    padding:21px 18px 18px;
  }
  .map-beta-review-head strong{font-size:25px}
  .map-beta-google-rating b{font-size:32px}
  .map-beta-google-rating span{font-size:9px}
  .map-beta-review-stars{font-size:19px}
  .map-beta-review blockquote{font-size:15px;line-height:1.5}
  .map-beta-review-foot>span{font-size:10px}
  .map-beta-review-foot>a{font-size:12px}
  .map-beta-map-stage{height:460px}
}


/* LOCATIONS FOCUS V2 — cleaner hard photo/details separation + 30/70 selected-location/map split */
@media(min-width:861px){
  .map-beta-experience{
    min-height:800px;
    grid-template-columns:420px minmax(0,1fr);
  }
  .map-beta-browser{
    height:800px;
  }
  .map-beta-map-wrap{
    height:800px;
    grid-template-rows:30% 70%;
  }
  .map-beta-detail.map-beta-detail-focus{
    height:100%;
    min-height:0;
    grid-template-columns:minmax(260px,32%) minmax(235px,29%) minmax(310px,39%);
  }
  .map-beta-map-stage{
    height:auto;
    min-height:0;
  }

  /* The photo is now a distinct panel — no visual fade into the information column. */
  .map-beta-detail-focus .map-beta-detail-photo{
    border-right:2px solid rgba(217,185,79,.72);
  }
  .map-beta-detail-focus .map-beta-detail-photo:after{
    background:linear-gradient(0deg,rgba(3,25,16,.26),transparent 38%);
  }

  /* Compact the upper 30% so the details remain premium rather than crowded. */
  .map-beta-detail-focus .map-beta-detail-copy{
    padding:18px 17px 16px 19px;
  }
  .map-beta-detail-focus .map-beta-detail-copy>p{
    font-size:9px;
  }
  .map-beta-detail-focus h2{
    margin:5px 0 8px;
    font-size:34px;
  }
  .map-beta-detail-focus .map-beta-detail-meta{
    gap:4px;
    font-size:11px;
    line-height:1.32;
  }
  .map-beta-detail-focus .map-beta-detail-tags{
    gap:4px;
    margin-top:7px;
  }
  .map-beta-detail-focus .map-beta-detail-tags span{
    padding:4px 6px;
    font-size:8px;
  }
  .map-beta-detail-focus .map-beta-detail-actions{
    gap:5px;
    padding-top:9px;
  }
  .map-beta-detail-focus .map-beta-detail-actions a{
    min-height:33px;
    padding:0 9px;
    font-size:9px;
  }
  .map-beta-detail-focus .map-beta-detail-photo span{
    left:15px;
    bottom:15px;
    width:38px;
    height:38px;
    font-size:10px;
  }

  .map-beta-review{
    padding:16px 18px 14px;
  }
  .map-beta-google-wordmark{
    font-size:8px;
  }
  .map-beta-google-wordmark i{
    width:20px;
    height:20px;
    font-size:12px;
  }
  .map-beta-review-head strong{
    margin-top:6px;
    font-size:23px;
  }
  .map-beta-google-rating{
    min-width:58px;
    padding-left:10px;
  }
  .map-beta-google-rating b{
    font-size:30px;
  }
  .map-beta-google-rating span{
    margin-top:5px;
    font-size:8px;
  }
  .map-beta-review-stars{
    margin-top:8px;
    font-size:16px;
  }
  .map-beta-review blockquote{
    margin-top:8px;
    font-size:13px;
    line-height:1.4;
  }
  .map-beta-review-metrics{
    margin-top:6px;
    font-size:9px;
  }
  .map-beta-review-foot{
    gap:4px;
    padding-top:8px;
  }
  .map-beta-review-foot>span{
    font-size:8px;
  }
  .map-beta-review-foot>a{
    font-size:9px;
  }
}

/* Preserve comfortable proportions below desktop while keeping the photo/information boundary clean. */
@media(max-width:860px){
  .map-beta-detail-focus .map-beta-detail-photo{
    border-right:2px solid rgba(217,185,79,.72);
  }
  .map-beta-detail-focus .map-beta-detail-photo:after{
    background:linear-gradient(0deg,rgba(3,25,16,.26),transparent 38%);
  }
}
@media(max-width:620px){
  .map-beta-detail-focus .map-beta-detail-photo{
    border-right:0;
    border-bottom:2px solid rgba(217,185,79,.72);
  }
}


/* LOCATIONS INTRO ALIGNMENT V2 — shift the red-band identity to the right */
@media(min-width:1121px){
  .map-beta-intro-copy{
    grid-column:2;
    justify-self:end;
    width:100%;
    text-align:right;
  }
  .map-beta-lede{
    margin-left:auto;
    margin-right:0;
  }
}
@media(max-width:1120px){
  .map-beta-intro-copy{
    grid-column:1;
    justify-self:end;
    width:min(100%,780px);
    margin-left:auto;
    text-align:right;
  }
  .map-beta-lede{
    margin-left:auto;
    margin-right:0;
  }
}


/* LOCATIONS INTRO ALIGNMENT V3 — full red-band message lives on the right */
@media(min-width:1121px){
  .map-beta-intro-copy{
    display:block;
    width:min(58%,760px);
    margin-left:auto;
    margin-right:0;
    text-align:right;
  }
  .map-beta-kicker,
  .map-beta-intro h1,
  .map-beta-lede{
    width:100%;
    max-width:none;
    text-align:right;
  }
  .map-beta-lede{
    margin:13px 0 0 auto;
  }
}
@media(max-width:1120px){
  .map-beta-intro-copy{
    display:block;
    width:min(100%,780px);
    margin-left:auto;
    text-align:right;
  }
  .map-beta-kicker,
  .map-beta-intro h1,
  .map-beta-lede{
    text-align:right;
  }
  .map-beta-lede{
    margin:13px 0 0 auto;
  }
}


/* LOCATIONS COMPACT HERO V4 — centered, tighter, less copy-heavy */
.map-beta-intro{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:0;
  padding:16px var(--space) 17px;
}
.map-beta-intro-copy{
  display:block;
  width:100%;
  max-width:1180px;
  margin:0 auto;
  text-align:center;
}
.map-beta-intro h1{
  width:100%;
  margin:0;
  color:#fff8ee;
  font-family:var(--editorial);
  font-size:clamp(38px,3.6vw,52px);
  font-weight:700;
  line-height:.95;
  letter-spacing:-.035em;
  text-align:center;
  white-space:nowrap;
}
.map-beta-intro h1 em{
  color:#f0d477;
  font-style:normal;
}
.map-beta-lede{
  width:100%;
  max-width:none;
  margin:7px 0 0;
  color:#f1e5e2;
  font-size:14px;
  line-height:1.25;
  text-align:center;
  white-space:nowrap;
}
@media(max-width:1120px){
  .map-beta-intro{
    padding:15px 24px 16px;
  }
  .map-beta-intro-copy{
    width:100%;
    max-width:100%;
    margin:0 auto;
    text-align:center;
  }
  .map-beta-intro h1{
    font-size:44px;
    text-align:center;
  }
  .map-beta-lede{
    margin:7px 0 0;
    font-size:13px;
    text-align:center;
    white-space:normal;
  }
}
@media(max-width:620px){
  .map-beta-intro{
    padding:13px 18px 14px;
  }
  .map-beta-intro h1{
    font-size:36px;
    line-height:.98;
    white-space:normal;
  }
  .map-beta-lede{
    margin-top:6px;
    font-size:12px;
    line-height:1.35;
  }
}


/* LOCATIONS POLISH V3 — sticky header parity + tighter selected-location row */
body[data-page="map-beta"] .site-header{
  position:sticky;
  top:0;
  z-index:950;
  box-shadow:0 14px 34px rgba(0,0,0,.22);
}

@media(min-width:861px){
  .map-beta-detail.map-beta-detail-focus{
    grid-template-columns:minmax(250px,31%) minmax(330px,38%) minmax(270px,31%);
  }

  .map-beta-detail-focus:not([data-location="statesboro"]) .map-beta-detail-copy{
    box-shadow:none;
  }

  .map-beta-detail-focus .map-beta-detail-actions{
    flex-wrap:nowrap;
    gap:5px;
  }
  .map-beta-detail-focus .map-beta-detail-actions a{
    flex:0 0 auto;
    white-space:nowrap;
  }

  /* Close the fractional-pixel seam that could show at the far right of the review panel. */
  .map-beta-review{
    width:calc(100% + 1px);
    margin-right:-1px;
    border-right:0!important;
  }
}


/* LIVE LOCATIONS BURGUNDY — match Order Online */
.map-beta-location-row:not([data-map-location="statesboro"]).is-active{
  background:linear-gradient(180deg,#741124 0%,#570a18 100%)!important;
  box-shadow:inset 4px 0 0 #e4c45f,inset 0 1px 0 rgba(255,255,255,.05),inset 0 -1px 0 rgba(0,0,0,.2)!important;
}
.map-beta-location-row:not([data-map-location="statesboro"]):before{
  background:linear-gradient(90deg,rgba(116,17,36,.42),rgba(87,10,24,.24))!important;
}
.map-beta-location-row:not([data-map-location="statesboro"]).is-active .map-beta-location-row-distance{
  color:#f4e8e8!important;
}
.soj-map-marker.is-active:not(.soj-map-marker-statesboro) .soj-map-pin{
  background:linear-gradient(135deg,#741124,#570a18)!important;
  color:#fffaf0!important;
  box-shadow:0 0 0 8px rgba(116,17,36,.18),0 15px 30px rgba(3,34,22,.35)!important;
}
.map-beta-detail-focus:not([data-location="statesboro"]) .map-beta-detail-copy{
  box-shadow:inset 4px 0 0 #741124!important;
}
.map-beta-detail-focus .map-beta-detail-meta a{
  color:#741124!important;
  border-bottom-color:rgba(116,17,36,.3)!important;
}
.map-beta-detail-focus .map-beta-detail-actions .map-beta-order{
  background:linear-gradient(180deg,#741124,#570a18)!important;
  border-color:#8a1b31!important;
}
.map-beta-detail-focus .map-beta-detail-actions .map-beta-order:hover{
  background:linear-gradient(180deg,#81203a,#641022)!important;
  border-color:#a5253f!important;
}
.map-beta-detail-focus:not([data-location="statesboro"]) .map-beta-review{
  background:
    radial-gradient(circle at 90% 8%,rgba(231,200,98,.1),transparent 32%),
    linear-gradient(145deg,#741124 0%,#570a18 100%)!important;
}
