/* HG_THEME_GREEN preview: cream + forest green theme (trial copy only, not production) */
:root{
  --serif:"Cormorant Garamond","Iowan Old Style",Palatino,Georgia,serif;
  --sans:"Jost","Avenir Next","Segoe UI",system-ui,sans-serif;
  --script:"Great Vibes","Allura",cursive;
  --forest:#2f3a2c; --forest-deep:#232c21; --sage:#8a9a7b; --beige:#eadcc8; --gold:#b8893f; --gold-ink:#94692a; --charcoal:#2b2b2b;
  --sand:#f3eee6; --paper:#fffdf8; --line:rgba(38,41,35,.10);
}
html{background:#f3eee6}
body{background:#f3eee6 !important;font-family:var(--sans);-webkit-font-smoothing:antialiased}
h1,h2,h3,.place-title{font-family:var(--serif) !important;font-weight:600 !important;letter-spacing:0 !important;font-size-adjust:.47}
h1{line-height:1.02 !important}
main{background:var(--paper) !important;border:1px solid rgba(47,58,44,.10) !important;border-radius:30px !important;box-shadow:0 22px 60px -20px rgba(47,58,44,.22),0 2px 6px rgba(47,58,44,.04) !important}
/* header */
header .brand{font-family:var(--serif);font-weight:600;font-size:1.32rem;letter-spacing:.02em;font-size-adjust:.47}
header img{border-radius:11px !important}
header a,header .city-link{font-family:var(--sans)}
/* emblem hero (home + city pages) */
img.hg-emblem{width:min(300px,72vw) !important;height:auto !important;aspect-ratio:640/560;border-radius:0 !important;box-shadow:none !important;object-fit:contain;margin:0 auto .3rem !important;display:block}
.hg-tagline{margin:.1rem 0 1.4rem;text-align:center;font-family:var(--sans);font-size:.72rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--forest)}
.hg-tagline i{font-style:normal;color:var(--gold);margin:0 .55em}
/* eyebrows + tags in gold */
.eyebrow,.tags,.gem .tags{color:var(--gold-ink) !important;letter-spacing:.16em !important}
.gem .tag.on{color:var(--forest) !important;text-decoration:underline;text-underline-offset:.2em}
/* inputs */
input,select,textarea{border-radius:999px !important;border:1px solid rgba(47,58,44,.18) !important;background:#fff !important;padding-left:1.15rem !important}
textarea{border-radius:18px !important}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--gold) !important;outline-offset:2px}
/* category chips -> pills */
.choices{gap:.55rem !important}
.choices button{border-radius:999px !important;min-height:2.9rem !important;background:#fff !important;border:1px solid rgba(47,58,44,.14) !important;color:var(--forest) !important;font-weight:500 !important;box-shadow:none !important}
.choices button[aria-pressed="true"],.choices button.on,.choices button.active{background:var(--forest) !important;color:#f3eee6 !important;border-color:var(--forest) !important}
.choices .wide button,button.wide,.wide>button{background:var(--forest) !important;color:#f3eee6 !important;border-color:var(--forest) !important;border-radius:999px !important;letter-spacing:.02em}
/* place cards */
.gem{background:#fff !important;border:1px solid rgba(47,58,44,.07) !important;border-radius:22px !important;box-shadow:0 10px 28px -14px rgba(47,58,44,.25) !important;padding:1rem 1.05rem 1.1rem !important}
.gem h3{font-size:1.45rem !important}
.gem-photo{border-radius:16px !important}
.gem .where{color:#6c7066}
/* vote buttons */
.vote-row button{border-radius:999px !important}
.vote-row button[data-vote="yes"][aria-pressed="true"]{background:var(--forest) !important;border-color:var(--forest) !important;color:#f3eee6 !important}
/* Home and the Explore feed had no vote-button rules, so Yes and No drew as plain gray circles. City and business pages keep their own rules. */
.hg-rankfeed .vote-row,.hg-explore-page .vote-row{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}
.hg-rankfeed .vote-row button,.hg-explore-page .vote-row button{-webkit-appearance:none;appearance:none;display:flex;align-items:center;justify-content:center;gap:.35rem;width:100%;box-sizing:border-box;min-height:2.7rem;margin:0;padding:.35rem .5rem;background:#fff;color:var(--charcoal);border:1.5px solid rgba(47,58,44,.28);font:600 .95rem/1.1 var(--sans);box-shadow:none;cursor:pointer}
.hg-rankfeed .vote-row .count,.hg-explore-page .vote-row .count{font-variant-numeric:tabular-nums}
/* place page */
.card{border-radius:30px !important}
.hg-rank-locals{color:var(--gold-ink) !important}
/* generic primary buttons */
.owner{background:var(--forest) !important;border-radius:24px !important;color:#f3eee6}
.owner .hg-sug-box{margin:0 0 1.15rem;padding:0;border:0;background:transparent;box-shadow:none}
.owner .hg-sug-box label{color:#f3eee6;font-family:var(--serif);font-size:1.45rem;font-weight:600;line-height:1.15}
.owner .hg-sug-sub,.owner .hg-sug-msg{color:rgba(243,238,230,.84)}
.owner .hg-sug-msg.ok{color:#f3eee6}
.owner .hg-sug-row input{background:#fffdf8;color:var(--forest);border-color:rgba(243,238,230,.45)}
.owner .hg-sug-row button{background:#f3eee6;color:var(--forest)}
@media (hover:hover){.owner .hg-sug-row button:hover{background:#fff}}
.owner .hg-advertise{margin:.15rem 0 0}
.owner .hg-advertise a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:.16em}
.gem.hg-offpage{display:none !important}
.hg-pager{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:1.15rem 0 .2rem}
.hg-pager[hidden]{display:none}
.hg-pager button{border:1px solid rgba(47,58,44,.18);background:#f1ebe0;color:var(--forest);border-radius:999px;padding:.55rem 1rem;font:500 .9rem var(--sans);cursor:pointer}
.hg-pager button:disabled{opacity:.45;cursor:default}
.hg-pager span{font:500 .9rem var(--sans);color:var(--forest)}
footer a{color:var(--forest) !important}
.hg-tabbar{display:none}
@media (max-width:640px){
  body{padding-bottom:calc(74px + env(safe-area-inset-bottom)) !important}
  .hg-tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;justify-content:space-around;align-items:stretch;
    background:rgba(255,253,248,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(47,58,44,.10);
    padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
  .hg-tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0 4px;color:#6c7066;font:500 .7rem/1 var(--sans);letter-spacing:.02em;text-decoration:none}
  .hg-tabbar a.on{color:var(--forest);font-weight:600}
  .hg-tabbar svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  .hg-tabbar a.on svg{stroke-width:2}
}
h2,h3{line-height:1.12 !important}
.hg-emblem + .eyebrow{display:none}
main:not(.hg-home) img.hg-emblem{width:min(230px,58vw) !important}
header .brand{white-space:nowrap}
@media (max-width:640px){
  header .brand{font-size:1.16rem !important;letter-spacing:.01em}
  .hg-tagline{font-size:.6rem;letter-spacing:.16em}
  .hg-tagline i{margin:0 .35em}
}
/* ===== HG_THEME_GREEN app layer ===== */
.hg-hide{display:none !important}
svg{flex:none}
.hg-heart,.hg-round,.hg-act svg,.hg-cats svg,.hg-search svg,.hg-chips svg,.hg-savebtn svg,.hg-triedbtn svg,.hg-tick svg,.hg-rank svg,.hg-empty svg,.hg-ph svg{stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* header nav (desktop) */
.hg-nav{display:flex;gap:1.1rem;margin-left:auto;font:500 .86rem/1 var(--sans)}
.hg-nav a{color:var(--forest);text-decoration:none;opacity:.8}@media (hover:hover){.hg-nav a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}}
.hg-nav+.city-link,.hg-nav+a.back{margin-left:1.1rem !important}
@media (max-width:640px){.hg-nav{display:none}}
/* hero (home) */
main.hg-home>img.hg-emblem,main.hg-home>.hg-tagline{display:none !important}
.hg-hero{position:relative;overflow:hidden;border-radius:24px;background:#1d241b;color:#f3eee6;min-height:340px;display:flex;align-items:center;justify-content:center;margin:0 0 1.6rem;isolation:isolate}
.hg-hero-bg{position:absolute;inset:0;background:#1d241b center/cover no-repeat;filter:blur(1.5px) saturate(.9);z-index:-2;transform:scale(1.03)}
.hg-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(18,22,17,.62),rgba(18,22,17,.58) 45%,rgba(18,22,17,.85))}
.hg-hero-in{text-align:center;padding:2rem 1rem}
.hg-hero-logo{width:min(330px,70vw);height:auto;display:block;margin:0 auto .4rem}
.hg-hero .hg-tagline{color:#f3eee6;margin:0}
.hg-hero-cr{position:absolute;right:14px;bottom:8px;margin:0;font:400 .66rem/1.2 var(--sans);color:rgba(243,238,230,.7)}
/* app home */
.hg-apphome{margin:0 0 2rem}
.hg-greet{font-size:2rem !important;margin:0 0 .15rem !important;color:var(--charcoal)}
.hg-sub{margin:0 0 1rem;color:#5e6259}
.hg-search{display:flex;align-items:center;gap:.6rem;background:#fff;border:1px solid rgba(47,58,44,.14);border-radius:999px;padding:.15rem 1rem;box-shadow:0 4px 14px -8px rgba(47,58,44,.25);margin:0 0 1.1rem}
.hg-search svg{width:19px;height:19px;color:#7b8073}
.hg-search input{flex:1;min-width:0;border:0 !important;background:transparent !important;box-shadow:none !important;outline:0;font:400 .98rem var(--sans);padding:.75rem 0 !important;color:var(--charcoal)}
.hg-cats{display:flex;justify-content:center;justify-content:safe center;gap:.9rem;overflow-x:auto;padding:.2rem .1rem .6rem;margin:0 0 1rem;scrollbar-width:none}
.hg-cats::-webkit-scrollbar{display:none}
.hg-cats a{flex:none;display:flex;flex-direction:column;align-items:center;gap:.35rem;text-decoration:none;color:var(--charcoal);font:500 .74rem var(--sans);min-width:58px}
.hg-cats .ic{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#f1ebe0;border:1px solid rgba(47,58,44,.10);color:var(--forest);transition:background .2s}
.hg-cats a:first-child .ic{background:var(--beige)}
@media (hover:hover){.hg-cats a:hover .ic{background:var(--beige)}}
.hg-cats svg{width:24px;height:24px}
.hg-sec{display:flex;align-items:baseline;justify-content:space-between;margin:.4rem 0 .7rem}
.hg-sec h2{margin:0 !important;font-size:1.45rem !important}
.hg-sec a{font:500 .8rem var(--sans);color:var(--gold-ink)}
.hg-today{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.hg-today .hg-pcard.big{grid-column:1/-1}
.hg-today-rest{grid-column:1/-1;display:flex;flex-direction:column;gap:.65rem;max-height:340px;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:.1rem .15rem .15rem 0;scrollbar-width:thin}
.hg-today .hg-pcard.line{flex:none;min-height:84px}
.hg-today .hg-pcard.line>a{flex-direction:row;align-items:center;height:auto;min-width:0}
.hg-today .hg-pcard.line .hg-media{width:84px;height:84px;aspect-ratio:1;flex:none}
.hg-today .hg-pcard.line .hg-pc-b{flex:1;min-width:0;padding:.55rem 3rem .55rem .85rem}
.hg-today .hg-pcard.line .hg-pc-b h3{font-size:1.08rem !important}
.hg-today .hg-pcard.line .hg-heart{top:50%;right:8px;transform:translateY(-50%)}
.hg-today .hg-pcard.line .hg-heart:active{transform:translateY(-50%) scale(.92)}
@media (min-width:900px){.hg-today{grid-template-columns:2fr 1fr 1fr}.hg-today .hg-pcard.big{grid-column:1;grid-row:1/3}.hg-today .hg-pcard.big .hg-media{aspect-ratio:auto;height:100%;min-height:330px}}
/* place card */
.hg-pcard{position:relative;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 26px -16px rgba(47,58,44,.38),0 1px 3px rgba(47,58,44,.06);border:1px solid rgba(47,58,44,.07);display:flex;flex-direction:column}
.hg-pcard>a{display:flex;flex-direction:column;color:inherit;text-decoration:none;height:100%}
.hg-media{position:relative;aspect-ratio:4/3;background:#e9e2d5;overflow:hidden}
.hg-pcard.big .hg-media{aspect-ratio:16/9}
.hg-media img{width:100%;height:100%;object-fit:cover;display:block}
.hg-ph{display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 90% at 30% 20%,#3d4a39 0%,#2f3a2c 45%,#222b20 100%);color:#e6dcc8}
.hg-ph[data-k=brunch],.hg-ph[data-k=coffee]{background:radial-gradient(120% 90% at 30% 20%,#efe4d0 0%,#e2d3b9 60%,#d6c4a5 100%);color:#5b5140}
.hg-ph[data-k=shopping],.hg-ph[data-k=music]{background:radial-gradient(120% 90% at 30% 20%,#a3b094 0%,#8a9a7b 55%,#73836a 100%);color:#f3eee6}
.hg-ph-i{position:absolute;top:12px;left:12px;opacity:.75}.hg-ph-i svg{width:20px;height:20px}
.hg-ph-n{font:500 2.6rem/1 var(--serif);letter-spacing:.08em;opacity:.9}
.hg-pcard.big .hg-ph-n{font-size:3.4rem}
.hg-pc-b{padding:.6rem .8rem .75rem}
.hg-pc-b h3{margin:0 0 .15rem !important;font-size:1.12rem !important;line-height:1.15;color:var(--charcoal)}
.hg-pcard.big .hg-pc-b h3{font-size:1.3rem !important}
.hg-meta{margin:0;font:400 .78rem/1.35 var(--sans);color:#6c7066}
.hg-rank{display:inline-flex;align-items:center;gap:.25rem;margin:.3rem 0 0;font:500 .74rem var(--sans);color:var(--gold-ink)}
.hg-rank svg{width:13px;height:13px;fill:none;stroke:var(--gold);stroke-width:1.8}
.hg-heart{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,253,248,.92);color:var(--forest);display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.15);padding:0;z-index:2}
.hg-heart svg{width:19px;height:19px}
.hg-heart.on svg{fill:var(--forest)}
.hg-heart:active{transform:scale(.92)}
/* city cards */
.gem{position:relative}
.gem>.hg-heart{top:12px;right:12px}
.gem.has-ph>.hg-heart{top:12px}
.gem>.hg-gem-ph{display:block;margin:-1.1rem -1.1rem .8rem;aspect-ratio:16/9;overflow:hidden;border-radius:22px 22px 0 0;background:#e9e2d5}
.gem>.hg-gem-ph img{width:100%;height:100%;object-fit:cover;display:block}
.gem:not(.has-ph)>.tags,.gem:not(.has-ph)>h3{padding-right:2.6rem}
/* pages */
main.hg-page h1{font-size:2.3rem !important;margin:0 0 1rem !important}
.hg-spark{font-style:normal;color:var(--gold);font-size:.6em;vertical-align:.35em}
.hg-chips{display:flex;gap:.45rem;overflow-x:auto;padding:0 0 .5rem;margin:0 0 .6rem;scrollbar-width:none}
.hg-chips::-webkit-scrollbar{display:none}
.hg-chips button{flex:none;display:inline-flex;align-items:center;gap:.3rem;border:1px solid rgba(47,58,44,.16);background:#fff;color:var(--forest);border-radius:999px;padding:.45rem .95rem;font:500 .82rem var(--sans);cursor:pointer;min-height:auto;box-shadow:none}
.hg-chips button svg{width:14px;height:14px}
.hg-chips button[aria-pressed=true]{background:var(--forest);border-color:var(--forest);color:#f3eee6}
.hg-citysel{display:flex;align-items:center;gap:.6rem;margin:0 0 .4rem;font:500 .8rem var(--sans);color:#6c7066}
.hg-citysel select{flex:1;max-width:22rem;border:1px solid rgba(47,58,44,.16);border-radius:999px;background:#fff;padding:.5rem .9rem;font:400 .9rem var(--sans);color:var(--charcoal)}
.hg-count{font:400 .78rem var(--sans);color:#6c7066;margin:.2rem 0 .8rem}
.hg-list{display:grid;gap:1rem}
@media (min-width:760px){.hg-list{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.hg-list{grid-template-columns:1fr 1fr 1fr}}
.hg-more,.hg-cta{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;margin:1.2rem auto 0;border:0;border-radius:999px;background:var(--forest);color:#f3eee6 !important;padding:.8rem 1.6rem;font:500 .92rem var(--sans);cursor:pointer;text-decoration:none}
.hg-more{display:flex}
.hg-more[hidden]{display:none}
.hg-empty{text-align:center;padding:2rem 1rem;color:#6c7066}
.hg-empty svg{width:34px;height:34px;color:var(--sage)}
/* saved */
.hg-tabs{display:inline-flex;gap:.4rem;margin:0 0 1rem}
.hg-tabs button{border:1px solid rgba(47,58,44,.16);background:#fff;color:var(--forest);border-radius:999px;padding:.5rem 1.4rem;font:500 .88rem var(--sans);cursor:pointer;min-height:auto;box-shadow:none}
.hg-tabs button[aria-selected=true]{background:var(--forest);color:#f3eee6;border-color:var(--forest)}
.hg-rows{display:flex;flex-direction:column}
.hg-row{display:flex;align-items:center;gap:.8rem;padding:.7rem 0;border-bottom:1px solid var(--line)}
.hg-row>a{flex:1;display:flex;align-items:center;gap:.9rem;color:inherit;text-decoration:none;min-width:0}
.hg-row .hg-media{width:76px;height:76px;aspect-ratio:1;border-radius:14px;flex:none}
.hg-row .hg-ph-n{font-size:1.5rem}.hg-row .hg-ph-i{display:none}
.hg-row h3{margin:0 0 .15rem !important;font-size:1.1rem !important}
.hg-row-b{display:flex;flex-direction:column;gap:.35rem}
.hg-row .hg-heart{position:static;box-shadow:none;background:transparent}
.hg-tick{width:36px;height:36px;border-radius:50%;border:1px solid rgba(47,58,44,.18);background:#fff;color:#9aa08f;display:grid;place-items:center;padding:0;cursor:pointer;min-height:auto}
.hg-tick svg{width:17px;height:17px}.hg-tick.on{background:var(--sage);border-color:var(--sage);color:#fff}
.hg-note{font:400 .76rem var(--sans);color:#8a8e83;margin-top:1rem}
/* profile */
.hg-pf-icon{display:block;border-radius:22px;margin:0 0 1rem;box-shadow:0 10px 24px -12px rgba(47,58,44,.5)}
.hg-stats{display:flex;gap:.8rem;margin:0 0 1rem}
.hg-stats a{flex:1;max-width:10rem;background:#f6f1e8;border-radius:16px;padding:.8rem 1rem;text-decoration:none;color:var(--forest);display:flex;flex-direction:column}
.hg-stats b{font:600 1.7rem/1 var(--serif)}.hg-stats span{font:500 .78rem var(--sans);color:#6c7066}
.hg-pf-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1rem 1.1rem;margin:0 0 .9rem}
.hg-pf-card h2{margin:0 0 .3rem !important;font-size:1.25rem !important}
.hg-pf-card p{margin:0;color:#6c7066;font-size:.9rem}
.hg-pf-card .hg-cta{margin:.8rem 0 0}
.hg-langpick{display:inline-flex;gap:.4rem;margin-top:.5rem}
.hg-langpick button{border:1px solid rgba(47,58,44,.16);background:#fff;color:var(--forest);border-radius:999px;padding:.45rem 1.1rem;font:500 .86rem var(--sans);cursor:pointer;min-height:auto;box-shadow:none}
.hg-langpick button[aria-pressed=true]{background:var(--forest);color:#f3eee6}
.hg-pf-links{display:flex;flex-direction:column;margin-top:.4rem}
.hg-pf-links a{padding:.8rem .2rem;border-bottom:1px solid var(--line);color:var(--charcoal);text-decoration:none;font:400 .95rem var(--sans)}
.hg-pf-links a::after{content:"›";float:right;color:#9aa08f}
/* place detail */
main.place>h1{text-align:center}
.hg-phero{position:relative;margin:-1.4rem -1.4rem 1.2rem;border-radius:30px 30px 0 0;overflow:hidden}
.hg-phero .hg-media{aspect-ratio:16/9;max-height:440px;width:100%}
.hg-phero .hg-ph-n{font-size:4.4rem}
.hg-phero::after{content:"";position:absolute;left:0;right:0;top:0;height:90px;background:linear-gradient(180deg,rgba(0,0,0,.28),transparent);pointer-events:none}
.hg-phero-bar{position:absolute;top:12px;left:12px;right:12px;display:flex;align-items:center;gap:.5rem;z-index:2}
.hg-phero-bar span{flex:1}
.hg-phero-bar .hg-heart{position:static}
.hg-round{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid rgba(47,58,44,.14);color:var(--forest);text-decoration:none}
.hg-round svg{width:22px;height:22px}
.hg-round.sm{width:36px;height:36px;background:rgba(255,253,248,.92);border:0;box-shadow:0 2px 8px rgba(0,0,0,.15);font:400 1.6rem/1 var(--serif);padding:0 0 3px;cursor:pointer;min-height:auto}
.hg-round.sm svg{width:18px;height:18px}
.hg-credit{position:absolute;right:12px;bottom:8px;margin:0;font:400 .66rem var(--sans);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);z-index:2}
.hg-credit a{color:#fff}
.hg-phnav{position:absolute;top:50%;z-index:3;width:36px;height:36px;min-height:0;margin-top:-18px;border:0;border-radius:50%;background:rgba(255,253,248,.92);color:var(--forest);box-shadow:0 2px 8px rgba(0,0,0,.2);font:400 1.7rem/1 Georgia,serif;padding:0 0 3px;cursor:pointer;line-height:1}
.hg-phnav.prev{left:10px}
.hg-phnav.next{right:10px}
.hg-phnav[hidden]{display:none}
.gem>.hg-gem-ph{position:relative}
.gem>.hg-gem-ph>a{display:block;height:100%;margin:0}
/* City listings show one photo. Extra shots stay behind the arrows. The business page keeps its gallery. */
#gem-list .gem > .gem-photos,#gem-list .gem > img.gem-photo{display:none !important}
/* Business page: the hero stays on top. The rest run full-size at the bottom so nothing is cropped. */
main.place>.gem-photos{display:flex !important;flex-direction:column;flex-wrap:nowrap;gap:.7rem;margin:1.35rem 0 0;padding:0;max-width:100%;min-width:0;overflow:visible}
main.place>.gem-photos img{flex:none;width:100% !important;max-width:100% !important;height:auto !important;object-fit:contain !important;border-radius:16px;background:#efe8dc}
.hg-pmeta{margin:.1rem 0 .8rem;font:400 .9rem var(--sans);color:#6c7066}
.hg-pmeta .hg-rank{margin:0}
.hg-pactions{margin:1.1rem 0 1.4rem}
.hg-acts{display:flex;justify-content:space-around;max-width:26rem;margin:0 auto 1.2rem}
.hg-act{display:flex;flex-direction:column;align-items:center;gap:.4rem;background:none;border:0;padding:0;cursor:pointer;color:var(--charcoal) !important;text-decoration:none !important;font:500 .78rem var(--sans);min-height:auto;box-shadow:none}
@media (hover:hover){.hg-act:hover .hg-round{background:#f6f1e8}}
.hg-act.done .hg-round{background:var(--sage);color:#fff}
.hg-savebtn{display:flex;align-items:center;justify-content:center;gap:.55rem;width:100%;max-width:26rem;margin:0 auto .6rem;border:0;border-radius:999px;background:var(--forest);color:#f3eee6;padding:.95rem 1.2rem;font:500 1rem var(--sans);cursor:pointer;box-shadow:0 10px 22px -12px rgba(47,58,44,.7)}
.hg-savebtn svg{width:20px;height:20px}.hg-savebtn.on svg{fill:#f3eee6}
.hg-triedbtn{display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%;max-width:26rem;margin:0 auto;border:1px solid rgba(47,58,44,.18);border-radius:999px;background:#fff;color:var(--forest);padding:.7rem 1.2rem;font:500 .9rem var(--sans);cursor:pointer;box-shadow:none}
.hg-triedbtn svg{width:17px;height:17px}.hg-triedbtn.on{background:#eef1ea;border-color:var(--sage)}
@media (max-width:640px){
  .hg-hero{min-height:270px;border-radius:20px;margin:-.2rem 0 1.3rem}
  .hg-greet{font-size:1.75rem !important}
  .hg-phero{margin:-1rem -1rem 1rem;border-radius:22px 22px 0 0}
  .hg-phero .hg-media{aspect-ratio:4/3.1}
  .hg-today .hg-pc-b h3{font-size:1rem !important}
  .hg-tabbar a[data-t=saved].on svg{fill:currentColor}
}

/* mobile: tab bar replaces header links */
@media (max-width:640px){header > .city-link, header > a.back{display:none !important}}

/* gem mark (replaces sparkle) */
.hg-gemi{display:inline-block;width:1.05em;height:1.05em;vertical-align:-.18em;background:currentColor;color:var(--gold);-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M7%205h10l5%204.5L12%2021%202%209.5z%20M2%209.5h20%20M7%205l3%204.5L12%205l2%204.5L17%205%20M10%209.5%2012%2021l2-11.5%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M7%205h10l5%204.5L12%2021%202%209.5z%20M2%209.5h20%20M7%205l3%204.5L12%205l2%204.5L17%205%20M10%209.5%2012%2021l2-11.5%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22/%3E%3C/svg%3E") center/contain no-repeat}
.hg-tagline .hg-gemi{width:1.25em;height:1.25em;margin:0 .5em;color:var(--gold)}
h1 .hg-gemi.hg-spark{width:.62em;height:.62em;vertical-align:.12em;font-size:1em}
/* ---- HG_THEME_GREEN v3: mottos, rankings, random explore, demo note ---- */
.hg-motto{text-transform:none;letter-spacing:0}
.hg-motto .m1{display:block;font:italic 600 1.3rem/1.25 var(--serif);letter-spacing:0}
.hg-motto .hg-gemi{display:block;margin:.45rem auto}
.hg-motto .m2{display:block;font:500 .66rem/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.hg-hero .hg-motto{max-width:30rem;margin:0 auto}
@media (max-width:640px){.hg-motto .m1{font-size:1.12rem}.hg-motto .m2{font-size:.58rem;letter-spacing:.1em}.hg-motto .hg-gemi{margin:.3rem auto}}
.hg-paths{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1rem 0 1.4rem}
.hg-path{display:flex;flex-direction:column;gap:.3rem;padding:1rem .95rem;border-radius:18px;text-decoration:none !important;min-height:7.2rem;box-shadow:0 6px 18px rgba(30,36,28,.1)}
.hg-path.rank{background:var(--forest);color:#f3eee6 !important}
.hg-path.rand{background:#fffdf8;color:var(--forest) !important;border:1px solid rgba(47,58,44,.14)}
.hg-path .ic svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.hg-path.rank .ic{color:var(--gold)}.hg-path.rand .ic{color:var(--gold-ink)}
.hg-path .t{font:600 1.18rem/1.15 var(--serif)}.hg-path .t b{font-weight:700}
.hg-path .s{font:400 .74rem/1.3 var(--sans);opacity:.8;margin-top:auto}
.hg-randbar{display:flex;gap:.6rem;margin:.2rem 0 .8rem}
.hg-randbar button{display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;padding:.6rem 1.1rem;font:500 .88rem var(--sans);cursor:pointer;min-height:auto;box-shadow:none}
.hg-surprise,.hg-shuffle{background:#f1ebe0;color:var(--forest);border:1px solid rgba(47,58,44,.10)}
.hg-randbar svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hg-rankbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:0 0 1rem;padding:.75rem .9rem;border-radius:16px;background:#fffdf8;border:1px solid rgba(47,58,44,.12)}
.hg-rb-t{display:flex;align-items:center;gap:.4rem;font:600 1.2rem/1 var(--serif);color:var(--forest)}
.hg-rb-t svg{width:22px;height:22px;fill:none;stroke:var(--gold-ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hg-rankbar .hg-citysel{flex:1;margin:0;min-width:14rem}
.hg-rk-list{columns:2;padding-left:1.1rem}
#hg-demo-note{margin:0;padding:.28rem .8rem;text-align:center;background:#262923;color:#f3eee6;font:500 .68rem/1.3 var(--sans);letter-spacing:.06em}
#hg-demo-toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%,20px);opacity:0;z-index:9999;background:#262923;color:#f3eee6;padding:.55rem 1rem;border-radius:999px;font:500 .8rem var(--sans);pointer-events:none;transition:all .25s}
#hg-demo-toast.on{opacity:1;transform:translate(-50%,0)}
@media (max-width:640px){.hg-tabbar a{font-size:.64rem}.hg-path .t{font-size:1.06rem}.hg-path{padding:.85rem .8rem;min-height:6.6rem}}
.hg-motto .m1,.hg-motto .m2{text-wrap:balance}
:is(body.hg-rankmode,html.hg-rkpre) main>.eyebrow,:is(body.hg-rankmode,html.hg-rkpre) main>.hg-intro,:is(body.hg-rankmode,html.hg-rkpre) #mood-title{display:none !important}
:is(body.hg-rankmode,html.hg-rkpre) main>h1{font-size:clamp(2rem,7vw,3rem) !important;margin:.2rem 0 .6rem !important}
/* v4: explore = ranked city view */
:is(body.hg-rankmode,html.hg-rkpre) .mood .choices{display:flex !important;flex-wrap:nowrap !important;overflow-x:auto;gap:.45rem;padding:.1rem 0 .5rem;margin:0 0 .4rem;scrollbar-width:none;grid-template-columns:none !important}
:is(body.hg-rankmode,html.hg-rkpre) .mood .choices::-webkit-scrollbar{display:none}
:is(body.hg-rankmode,html.hg-rkpre) .mood .choices li{flex:0 0 auto;width:auto !important;grid-column:auto !important}
:is(body.hg-rankmode,html.hg-rkpre) .mood .choices button{width:auto !important;min-height:0 !important;padding:.5rem 1rem !important;font-size:.92rem !important;white-space:nowrap;border-radius:999px !important}
:is(body.hg-rankmode,html.hg-rkpre) #mood-picked{display:none !important}
:is(body.hg-rankmode,html.hg-rkpre) .hg-rankbar{margin-bottom:.6rem}
.hg-apphome .hg-randbar{margin:.2rem 0 .9rem}
@media (max-width:640px){.hg-tabbar a{font-size:.7rem}}
.hg-sec a{white-space:nowrap;flex:0 0 auto}
/* v5: gold gem rank line on ranked city cards (replaces heavy green badge) */
html body .gem .rank-badge.hg-rb-hide{display:none !important}
html body .gem .hg-rankline{display:flex;align-items:center;gap:.4rem;margin:0 0 .35rem;padding:0;background:none;font:600 .95rem/1.3 var(--sans);letter-spacing:.01em;color:var(--gold-ink)}
html body .gem .hg-rankline svg{flex:0 0 auto;width:17px;height:17px;fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* v5: clean search focus (no inner ring on iOS) */
input[type=search],.hg-search input,.spot-find input,#spot-q{-webkit-appearance:none;appearance:none;font-size:16px !important}
input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}
.hg-search input,.hg-search input:focus,.hg-search input:focus-visible{outline:none !important;border:0 !important;box-shadow:none !important;background:transparent !important;border-radius:0 !important}
.hg-search:focus-within{box-shadow:0 0 0 2px rgba(184,146,74,.35) !important;border-color:rgba(184,146,74,.6) !important}
.spot-find input:focus,.spot-find input:focus-visible{outline:none !important;box-shadow:0 0 0 2px rgba(184,146,74,.35) !important}
/* v6: keep the gold rank line clear of the corner heart on photo-less city cards (same reserve as h3/.tags) */
html body .gem:not(.has-ph)>.hg-rankline{padding-right:2.6rem}
/* v7: place page order - Save by the title, action row last */
.hg-psave{margin:0 0 1.1rem}
.hg-psave .hg-savebtn{margin:0 auto}
/* v8: place page ranks - gold gem on the overall (Everyone) rank, Locals vote in forest green */
html body #hg-ranks .hg-rank-everyone{color:var(--gold-ink) !important}
html body #hg-ranks .hg-rank-everyone b::before{content:"";display:inline-block;width:.95em;height:.95em;margin-right:.3em;vertical-align:-.1em;background:var(--gold);-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M7%205h10l5%204.5L12%2021%202%209.5z%20M2%209.5h20%20M7%205l3%204.5L12%205l2%204.5L17%205%20M10%209.5%2012%2021l2-11.5%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M7%205h10l5%204.5L12%2021%202%209.5z%20M2%209.5h20%20M7%205l3%204.5L12%205l2%204.5L17%205%20M10%209.5%2012%2021l2-11.5%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22/%3E%3C/svg%3E") center/contain no-repeat}
html body #hg-ranks .hg-rank-locals{color:var(--forest) !important}
.hg-pmeta .hg-pchip{display:none}
main:has(#hg-ranks[hidden]) .hg-pmeta .hg-pchip{display:inline}

/* v9: What is Hidden Gems? (home) */
.hg-about{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.15rem 1.2rem 1.3rem;margin:0 0 1.6rem;color:var(--charcoal)}
.hg-about h2{margin:0 0 .45rem !important;font-size:1.45rem !important;color:var(--forest)}
.hg-about h3{display:flex;align-items:center;gap:.5rem;margin:1rem 0 .35rem !important;font:600 .74rem var(--sans) !important;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink)}
.hg-about h3::before{content:"";width:18px;height:1px;background:var(--gold)}
.hg-about p{margin:0 0 .65rem;font:400 .93rem/1.6 var(--sans);color:#4c5047}
.hg-about .hg-about-lead{font:italic 600 1.15rem/1.4 var(--serif,"Cormorant Garamond",Georgia,serif);color:var(--forest)}
.hg-about .hg-about-end{margin:.9rem 0 0;font-weight:500;color:var(--forest)}
.hg-about .hg-about-cta{display:flex;width:100%;max-width:18rem;margin:1rem auto 0}
@media (min-width:900px){.hg-about{padding:1.6rem 2rem 1.7rem}.hg-about p{max-width:46rem}}
/* v9: Near me (home) */
.hg-apphome .hg-randbar{flex-wrap:wrap}
.hg-nearbtn{background:#f1ebe0;color:var(--forest);border:1px solid rgba(47,58,44,.10)}
.hg-nearbtn[aria-pressed=true]{background:var(--beige);color:var(--forest);border-color:var(--forest)}
.hg-nearbtn:disabled{opacity:.6;cursor:progress}
.hg-nearnote{margin:-.3rem 0 .8rem;font:500 .8rem var(--sans);color:var(--gold-ink)}
.hg-nearnote[hidden]{display:none}
/* v9: Explore category row = home round icon filters */
:is(body.hg-rankmode,html.hg-rkpre) .mood .choices.hg-catrow{justify-content:center;justify-content:safe center;gap:.9rem !important;padding:.2rem .1rem .6rem !important;margin:0 0 .6rem !important}
:is(body.hg-rankmode,html.hg-rkpre) .mood .choices.hg-catrow li{list-style:none;margin:0;padding:0}
:is(body.hg-rankmode,html.hg-rkpre) .mood .choices.hg-catrow button{display:flex !important;flex-direction:column;align-items:center;gap:.35rem;min-width:58px;width:auto !important;min-height:0 !important;padding:0 !important;margin:0;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;color:var(--charcoal) !important;font:500 .74rem var(--sans) !important;letter-spacing:0 !important;white-space:nowrap;cursor:pointer}
:is(body.hg-rankmode,html.hg-rkpre) .mood .choices.hg-catrow .ic{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#f1ebe0;border:1px solid rgba(47,58,44,.10);color:var(--forest);transition:background .2s,box-shadow .2s}
:is(body.hg-rankmode,html.hg-rkpre) .mood .choices.hg-catrow svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media (hover:hover){:is(body.hg-rankmode,html.hg-rkpre) .mood .choices.hg-catrow button:hover .ic{background:var(--beige)}}
:is(body.hg-rankmode,html.hg-rkpre) .mood .choices.hg-catrow button[aria-pressed=true] .ic{background:var(--beige);border-color:var(--forest);box-shadow:inset 0 0 0 .5px var(--forest)}
:is(body.hg-rankmode,html.hg-rkpre) .mood .choices.hg-catrow button[aria-pressed=true] .lb{color:var(--forest);font-weight:600}
/* v10: home order (heading, filters, buttons, cards, about); filters work in place */
.hg-apphome .hg-sec{margin-top:.9rem}
.hg-sec-t{min-width:0}
.hg-where{margin:.12rem 0 0;font:500 .95rem/1.2 var(--sans);color:var(--forest)}
.hg-where[hidden]{display:none}
.hg-cats.hg-live a:first-child .ic{background:#f1ebe0}
.hg-cats.hg-live a[aria-pressed=true] .ic{background:var(--beige);border-color:var(--forest);box-shadow:inset 0 0 0 .5px var(--forest)}
.hg-cats.hg-live a[aria-pressed=true]>span:last-child{color:var(--forest);font-weight:600}
.hg-today+.hg-about{margin-top:1.8rem}
/* v11: one-line intro above greeting; about card = "Why are we different?" only */
.hg-apphome .hg-intro{margin:0 0 .7rem;padding-bottom:.6rem;border-bottom:1px solid var(--line);font:italic 600 1.02rem/1.35 var(--serif,"Cormorant Garamond",Georgia,serif);color:var(--forest)}
.hg-about h3#hg-about-h{margin-top:0 !important}
@media (min-width:900px){.hg-apphome .hg-intro{font-size:1.15rem}}
/* v11: Explore keeps the big emblem; no flash (html.hg-rkpre is set in <head> before first paint) */
:is(body.hg-rankmode,html.hg-rkpre) main>img.hg-emblem{display:block !important;margin:0 auto .2rem !important}
html.hg-rkpre .mood .choices:not(.hg-catrow){visibility:hidden;height:86px;overflow:hidden}
/* v11: the old heading stays hidden. The city search itself is moved into the home greeting so a found location does not trap you in one city. */
main.hg-home>h1,main.hg-home>p.lede{display:none !important}
.hg-apphome #find{margin:.15rem 0 .95rem}
.hg-apphome #find label{display:block;position:relative;font-size:0}
.hg-apphome #find label svg{position:absolute;left:.95rem;top:50%;width:18px;height:18px;margin-top:-9px;color:#7b8073;pointer-events:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.hg-apphome #find input{width:100%;font-size:16px !important;font-weight:400;border:1px solid rgba(47,58,44,.14) !important;border-radius:999px !important;background:#fffdf8 !important;padding:.78rem 1rem .78rem 2.55rem !important;box-shadow:0 4px 14px -8px rgba(47,58,44,.25)}
.hg-apphome #find input:focus{outline:none;border-color:rgba(47,58,44,.35) !important;box-shadow:0 0 0 3px rgba(201,162,74,.14) !important}
.hg-apphome #results{margin:.55rem 0 .15rem}
.hg-apphome #hint{margin:.35rem .2rem 0;text-align:left;font-size:.82rem}
.hg-apphome #hint:empty{display:none}
/* v11: bottom tab bar, clearer active tab */
@media (max-width:900px){.hg-tabbar a.on{color:#2f3a2c !important;font-weight:700;background:#e6dccb;border-radius:14px;margin:4px 5px}.hg-tabbar a.on svg{stroke-width:2.2}}
/* v11: Explore city type-ahead (replaces the select) */
.hg-cityfind label{font:500 .8rem var(--sans);color:#6c7066}
.hg-cf{position:relative;flex:1;max-width:22rem;min-width:0}
.hg-cf>svg{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);width:17px;height:17px;fill:none;stroke:var(--forest);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.hg-cf input{width:100%;box-sizing:border-box;border:1px solid rgba(47,58,44,.16);border-radius:999px;background:#fff;padding:.55rem .9rem .55rem 2.2rem;font:400 .95rem var(--sans);color:var(--charcoal);-webkit-appearance:none;appearance:none}
.hg-cf input:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px rgba(47,58,44,.12)}
.hg-cf input::-webkit-search-cancel-button{display:none}
.hg-cf-list{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:40;margin:0;padding:.3rem;list-style:none;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 30px rgba(29,36,27,.16);max-height:min(22rem,60vh);overflow-y:auto}
.hg-cf-list[hidden]{display:none}
.hg-cf-list li{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.62rem .7rem;border-radius:11px;cursor:pointer;font:400 .9rem/1.25 var(--sans);color:var(--charcoal);min-height:44px;box-sizing:border-box}
.hg-cf-list li .t{display:flex;flex-direction:column;min-width:0}
.hg-cf-list li .t strong{font-weight:600;color:var(--forest)}
.hg-cf-list li .t span{font-size:.76rem;color:#6c7066}
.hg-cf-list li .n{flex:none;font:500 .74rem var(--sans);color:var(--gold-ink)}
.hg-cf-list li[aria-selected=true]{background:#f1ebe0}@media (hover:hover){.hg-cf-list li:hover{background:#f1ebe0}}
.hg-cf-list li.cur .t strong::after{content:" ·  current";font-weight:400;font-size:.72rem;color:#6c7066}
.hg-cf-list li.near{border-bottom:1px solid var(--line);border-radius:11px 11px 0 0;margin-bottom:.2rem}
.hg-cf-list li.near .t{flex-direction:row;align-items:center;gap:.5rem}
.hg-cf-list li.near svg{width:18px;height:18px;fill:none;stroke:var(--forest);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hg-cf-list li.none{cursor:default;color:#6c7066}
.hg-rankbar .hg-cf-note{margin:.5rem 0 0}
.hg-rankbar .hg-cf input{padding-left:2.3rem !important}
/* v11: header logo = the circular emblem (exact /theme/logo.svg), wordmark text kept */
header .brand img.hg-brandlogo{width:70px !important;height:62px !important;object-fit:contain;border-radius:0 !important;box-shadow:none !important;background:none !important}
header .brand{font-size:1.4rem !important;gap:.55rem}
@media (min-width:641px){header .brand img.hg-brandlogo{width:84px !important;height:74px !important}header .brand{font-size:1.6rem !important}}
/* v11: reserve the rankbar's space before it is inserted, so nothing jumps on Explore */
html.hg-rkpre main:not(:has(.hg-rankbar))>.mood{padding-top:109px}
@media (min-width:641px){html.hg-rkpre main:not(:has(.hg-rankbar))>.mood{padding-top:79px}}

/* v12: true full-screen splash overlay (first page of the visit; no timer; scroll gesture or chevron dismisses) */
html.hg-spl,html.hg-spl body{overflow:hidden !important;overscroll-behavior:none}
html.hg-spl::before{content:"";position:fixed;inset:0;z-index:2147483000;background:linear-gradient(180deg,rgba(18,22,17,.74) 0%,rgba(18,22,17,.78) 36%,rgba(18,22,17,.94) 68%,rgba(18,22,17,.98) 100%),#1d241b}
.hg-splash2{position:fixed;inset:0;z-index:2147483001;overflow:hidden;background:#1d241b;color:#f3eee6;transition:transform .6s cubic-bezier(.65,0,.35,1),opacity .6s ease;will-change:transform}
.hg-splash2.out{transform:translateY(-100%);pointer-events:none}
.hg-splash2.fade{opacity:0;transition:opacity .25s linear;pointer-events:none}
.hg-spbg{position:absolute;inset:-6% 0 -18% 0;background:#1d241b center/cover no-repeat;filter:blur(1.5px) saturate(.9);transform:scale(1.03)}
.hg-splash2::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(18,22,17,.74) 0%,rgba(18,22,17,.78) 36%,rgba(18,22,17,.94) 68%,#121611 100%);pointer-events:none}
.hg-spsc{position:relative;z-index:1;height:100%;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;outline:none;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
.hg-spin{flex:1 0 auto;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:1.6rem 1.4rem .6rem;max-width:34rem;width:100%;margin:0 auto;box-sizing:border-box}
.hg-splogo{width:min(230px,58vw);height:auto;display:block;margin:0 auto .6rem}
.hg-sp-lead{margin:0 auto 1rem;max-width:26rem;font:italic 600 1.3rem/1.3 var(--serif,"Cormorant Garamond",Georgia,serif);color:#f3eee6;text-wrap:balance}
.hg-splash2 .hg-sp-h{display:flex;align-items:center;justify-content:center;gap:.55rem;margin:0 0 .6rem !important;font:600 .68rem var(--sans) !important;letter-spacing:.18em;text-transform:uppercase;color:#d8b65e}
.hg-sp-h::before,.hg-sp-h::after{content:"";width:18px;height:1px;background:currentColor;opacity:.8}
.hg-sp-why ul{list-style:none;margin:0 auto;padding:0;max-width:24rem;text-align:left}
.hg-sp-why li{position:relative;margin:0 0 .5rem;padding-left:1.05rem;font:400 .86rem/1.45 var(--sans);color:rgba(243,238,230,.92)}
.hg-sp-why li::before{content:"";position:absolute;left:0;top:.52em;width:6px;height:6px;background:#d8b65e;transform:rotate(45deg)}
.hg-sp-end{margin:.8rem auto .8rem;max-width:24rem;font:500 .86rem/1.4 var(--sans);color:#f3eee6;text-wrap:balance}
.hg-splash2 .hg-sp-cta{display:flex;width:100%;max-width:15rem;margin:0 auto;background:#f3eee6 !important;color:var(--forest,#2f3a2c) !important;border-color:#f3eee6 !important}
@media (hover:hover){.hg-splash2 .hg-sp-cta:hover{background:#fff !important}}
.hg-sp-more{flex:none;align-self:center;display:flex;flex-direction:column;align-items:center;margin:.4rem auto 0;padding:.4rem 1.2rem;background:none;border:0;cursor:pointer;color:rgba(243,238,230,.8);font:500 .6rem var(--sans);letter-spacing:.22em;text-transform:uppercase}
.hg-sp-more svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;animation:hg-bob 2.4s ease-in-out infinite}
.hg-sp-cr{flex:none;margin:0;padding:.3rem 1rem .9rem;text-align:center;font:400 .66rem/1.2 var(--sans);color:rgba(243,238,230,.7)}
@keyframes hg-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
@media (prefers-reduced-motion:reduce){.hg-sp-more svg{animation:none}.hg-splash2.out{transform:none;opacity:0}}
@media (min-width:900px){.hg-splogo{width:min(290px,30vw)}.hg-sp-lead{font-size:1.55rem;max-width:32rem}.hg-sp-why ul{max-width:30rem}.hg-sp-why li,.hg-sp-end{font-size:.95rem}.hg-sp-end{max-width:30rem}}
@media (max-height:700px){.hg-splogo{width:min(170px,44vw)}.hg-sp-why li{font-size:.8rem}}
/* v13: homey pass (softer, lighter; no new features) */
.hg-rank.sm{margin:.25rem 0 0;gap:.2rem;font:500 .66rem/1.2 var(--sans);letter-spacing:.01em;opacity:.95}
.hg-rank.sm svg{width:11px;height:11px}
.hg-apphome .hg-randbar{flex-wrap:nowrap;align-items:center}
.hg-apphome .hg-randbar .hg-nearbtn{flex:none;width:44px;height:44px;padding:0;justify-content:center;background:#f1ebe0;border:1px solid rgba(47,58,44,.10);color:var(--forest)}
.hg-apphome .hg-randbar .hg-nearbtn svg{width:19px;height:19px}
.hg-apphome .hg-randbar .hg-nearbtn[aria-pressed=true]{background:var(--beige);border-color:var(--forest);color:var(--forest)}
.hg-apphome .hg-shuffle[hidden]{display:none}
@media (max-width:900px){.hg-tabbar a.on{background:none !important;margin:0 !important;border-radius:0;color:#2f3a2c !important;font-weight:650}.hg-tabbar a.on svg{stroke-width:2}}
.hg-tabbar a.on{position:relative}
.hg-tabbar a.on::after{content:"";position:absolute;bottom:1px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:#c9a24a;opacity:.85}
.hg-rankbar{background:none;border:0;padding:.35rem 0}
.hg-rankbar .hg-citysel>label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hg-cf input{background:#fffdf8;border-color:rgba(47,58,44,.11)}
.hg-cf input:focus{border-color:rgba(47,58,44,.35);box-shadow:0 0 0 3px rgba(201,162,74,.14)}
.hg-sp-lead{margin-bottom:1.3rem}
.hg-sp-why li{margin-bottom:.7rem;font-weight:300;line-height:1.5;color:rgba(243,238,230,.84)}
.hg-sp-end{margin-top:1.1rem;font-weight:400}
/* v13: home picks are now mostly photo-less ranked spots; keep their placeholders soft cream instead of dark green blocks */
.hg-today .hg-ph:not([data-k=shopping]):not([data-k=music]){background:radial-gradient(120% 90% at 30% 20%,#f6efe3 0%,#ece2d1 60%,#e3d6bf 100%);color:#6b5f49}
.hg-today .hg-ph-n{opacity:.7}
html.hg-rkpre main:not(:has(.hg-rankbar))>.mood{padding-top:100px}
@media (min-width:641px){html.hg-rkpre main:not(:has(.hg-rankbar))>.mood{padding-top:70px}}
/* v14: splash is a short warm note (paragraphs, no bullets or labels) */
.hg-splash2 .hg-sp-lead{margin:0 auto 1.15rem;max-width:22rem;font-size:1.42rem;line-height:1.32}
.hg-sp-body{max-width:21rem;margin:0 auto;text-align:center}
.hg-sp-body p{margin:0 0 .95rem;font:300 .97rem/1.62 var(--sans);color:rgba(243,238,230,.9);text-wrap:pretty}
.hg-sp-body p.hg-sp-end{margin:1.1rem 0 1.15rem;font-weight:400;color:#f3eee6}
.hg-sp-body::before{content:"";display:block;width:28px;height:1px;margin:0 auto 1.1rem;background:rgba(216,182,94,.7)}
.hg-allrank{grid-column:1/-1;margin:.6rem 0 .2rem;text-align:center}
.hg-allrank a{font:500 .88rem var(--sans);color:var(--gold-ink);text-decoration:none;border-bottom:1px solid rgba(201,162,74,.4);padding-bottom:2px}
@media (min-width:900px){.hg-splash2 .hg-sp-lead{max-width:30rem;font-size:1.65rem}.hg-sp-body{max-width:27rem}.hg-sp-body p{font-size:1.02rem}}
@media (max-height:700px){.hg-splash2 .hg-sp-lead{font-size:1.2rem}.hg-sp-body p{font-size:.88rem;line-height:1.5;margin-bottom:.7rem}}
/* Header mark is the home size on every page. */
/* v16: Collin's own paragraphs (longer), tightened so the note fits 390x844 */
.hg-sp-in{font-family:var(--serif);font-style:italic;font-weight:600;font-size:1.08em;color:#f3eee6}
@media (max-width:640px){.hg-splogo{width:min(190px,48vw)}.hg-splash2 .hg-sp-lead{font-size:1.24rem;margin-bottom:.9rem}.hg-sp-body::before{margin-bottom:.85rem}.hg-sp-body p{font-size:.9rem;line-height:1.52;margin-bottom:.7rem}.hg-sp-body p.hg-sp-end{margin:.85rem 0 1rem}}
/* Saved tab: Sign in / Sign out in the header’s top-right corner, after the language switch */
/* HG_SAVED_V1: removed Saved-only header layout (caused EN/ES overlap). Was:
body:has(main.hg-saved-page) header{justify-content:flex-start}
body:has(main.hg-saved-page) header > .hg-lang{order:1}
body:has(main.hg-saved-page) header > .hg-account{order:2}
*/
header > .hg-account{margin:0 0 0 .65rem;max-width:none;flex:none;align-items:center;gap:.2rem .5rem}
header > .hg-account .hg-who{align-items:flex-end}
header > .hg-account .hg-email,header > .hg-account .hg-town{max-width:8rem}
header > .hg-account .hg-out{font-size:.9rem;font-weight:600;color:var(--forest);background:#f1ebe0;border:1px solid rgba(47,58,44,.18);border-radius:999px;padding:.42rem .85rem;text-decoration:none;white-space:nowrap}
/* HG_SAVED_V1: removed Saved-only header layout (caused EN/ES overlap). Was:
@media (max-width:640px){
  body:has(main.hg-saved-page) header > .hg-lang{margin-left:auto}
  body:has(main.hg-saved-page) header:not(:has(> .hg-lang)) > .hg-account{margin-left:auto}
}
*/
/* Explore feed: tall photos, room between places, category tabs stay reachable while you scroll */
:is(body.hg-rankmode,html.hg-rkpre) main{
  width:min(520px,calc(100% - 1rem)) !important;
  margin-top:0 !important;
  padding:.35rem .35rem 1.6rem !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
:is(body.hg-rankmode,html.hg-rkpre) .mood .choices.hg-catrow{
  position:sticky;
  top:0;
  z-index:40;
  background:#f3eee6;
  margin:0 -.35rem .8rem !important;
  padding:.55rem .45rem .7rem !important;
}
:is(body.hg-rankmode,html.hg-rkpre) ul.gems#gem-list{
  display:flex !important;
  flex-direction:column;
  gap:2.75rem !important;
  margin-top:.35rem !important;
}
:is(body.hg-rankmode,html.hg-rkpre) .gem{
  display:flex;
  flex-direction:column;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
:is(body.hg-rankmode,html.hg-rkpre) .gem>.hg-gem-ph,
:is(body.hg-rankmode,html.hg-rkpre) .gem:not(.has-ph)::before{
  order:0;
  display:block;
  margin:0 0 .85rem;
  aspect-ratio:4/5;
  border-radius:22px;
  background:#e7dfd2;
}
:is(body.hg-rankmode,html.hg-rkpre) .gem>h3{order:1;margin:0 0 .15rem !important;padding:0 .2rem;font-size:1.7rem !important}
:is(body.hg-rankmode,html.hg-rkpre) .gem>.tags{order:2;margin:0 0 .2rem !important;padding:0 .2rem}
:is(body.hg-rankmode,html.hg-rkpre) .gem>.hg-rankline{order:3;margin:0 0 .15rem !important;padding:0 .2rem}
:is(body.hg-rankmode,html.hg-rkpre) .gem>.vote{order:4;margin:.7rem .15rem 0;padding-top:.15rem;border-top:0}
:is(body.hg-rankmode,html.hg-rkpre) .gem>p:not(.tags):not(.hg-rankline),
:is(body.hg-rankmode,html.hg-rkpre) .gem>.where,
:is(body.hg-rankmode,html.hg-rkpre) .gem>a{display:none !important}
:is(body.hg-rankmode,html.hg-rkpre) .gem h3 a.place-title{display:inline}
:is(body.hg-rankmode,html.hg-rkpre) .owner{margin-top:2.4rem}
:is(body.hg-rankmode,html.hg-rkpre) #hg-pager{display:none !important}
/* Explore: city search on top, "Ranked by local votes" centered under it. */
.hg-rankbar{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.45rem}
.hg-rankbar .hg-citysel{order:0;flex:none;width:100%;min-width:0;justify-content:center}
html.hg-rkpre main:not(:has(.hg-rankbar))>.mood{padding-top:93px}
@media (min-width:641px){html.hg-rkpre main:not(:has(.hg-rankbar))>.mood{padding-top:93px}}
.hg-rankbar .hg-rb-t{order:1;justify-content:center;width:100%;text-align:center}
.hg-rankbar .hg-cf-note{order:2;text-align:center}
/* Home is the ranking. Explore is the fun scroll. */
.hg-rankhome>img.hg-emblem{display:block !important;width:min(520px,100%) !important;height:auto !important;margin:.15rem auto .2rem !important}
.hg-rankhome .hg-greet{text-align:center}
.hg-rankhome #find{margin-bottom:.4rem}
.hg-rankhome #results:empty{display:none;margin:0}
.hg-rankhome #hint:empty{display:none;margin:0;min-height:0}
.hg-ranklabel{margin:.15rem 0 .85rem;text-align:center;font:600 1.2rem/1.2 var(--serif,"Cormorant Garamond",Georgia,serif);color:var(--forest)}
.hg-rankfeed{display:flex;flex-direction:column;gap:1.5rem}
.hg-rankfeed .hg-pcard>a{height:auto}
.hg-rankfeed .hg-pcard .hg-media,.hg-rankfeed .hg-pcard.big .hg-media{aspect-ratio:auto;height:128px;min-height:0}
.hg-rankfeed .hg-pcard .hg-pc-b{padding-bottom:.35rem}
.hg-rankfeed .hg-pcard .vote{padding:0 .8rem .8rem}
.hg-rankfeed .hg-pcard .vote-q{margin:.1rem 0 .45rem;font-size:.92rem;line-height:1.3}
.hg-rankfeed .hg-pcard .hg-demo{margin-top:.55rem;min-height:128px}/* HG_SCROLLSTOP_1105: keep wait-size==loaded-size so lazy age charts do not grow cards after a flick settles (iPhone stop-snap) */
.hg-rankfeed .hg-pcard .hg-demo-body{min-height:44px}
.hg-rankfeed .hg-rank{font:600 1.2rem/1.2 var(--serif,"Cormorant Garamond",Georgia,serif)}
.hg-rankfeed .hg-pcard.big .hg-rank{font-size:1.55rem}
.hg-rankfeed .hg-rank.sm{font-size:1.05rem;opacity:1}
html.hg-funpre .hg-rb-t,body.hg-funmode .hg-rb-t{display:none !important}
html.hg-funpre .rank-badge,html.hg-funpre .hg-rankline,body.hg-funmode .rank-badge,body.hg-funmode .hg-rankline{display:none !important}
html.hg-funpre:not(.hg-funready) #gem-list{visibility:hidden}
.hg-funbar{justify-content:center;margin:.15rem 0 .7rem}
.hg-funbar .hg-surprise,.hg-funbar .hg-shuffle{background:#f1ebe0;color:var(--forest);border:1px solid rgba(47,58,44,.10)}
.hg-funbar .hg-nearbtn{flex:none;width:44px;height:44px;padding:0;justify-content:center;background:#f1ebe0;border:1px solid rgba(47,58,44,.10);color:var(--forest)}
.hg-funbar .hg-nearbtn[aria-pressed=true]{background:var(--beige);border-color:var(--forest)}
/* The home tab opens on a large mark. The splash uses the cream logo; the page under it uses the forest one. */
.hg-splash2 .hg-splogo{width:min(440px,88vw) !important}
@media (max-height:700px){.hg-splash2 .hg-splogo{width:min(300px,72vw) !important}}
/* Explore opens on the whole state. The state name is not an h1, so vote cards do not say "Verified locals of Virginia". */
.hg-explore-page .hg-state{margin:.15rem 0 .45rem;min-height:2.4rem;text-align:center;font:600 clamp(2rem,6vw,2.8rem)/1.05 var(--serif,"Cormorant Garamond",Georgia,serif);color:var(--forest);letter-spacing:-.03em}
.hg-explore-page .hg-cats{position:sticky;top:0;z-index:40;background:#f3eee6;margin:0 -.35rem .8rem;padding:.55rem .45rem .7rem}
.hg-explore-page .hg-cats button{flex:none;display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:58px;padding:0;margin:0;background:transparent;border:0;color:var(--charcoal);font:500 .74rem var(--sans);cursor:pointer}
.hg-explore-page .hg-cats button[aria-pressed=true] .ic{background:var(--beige);border-color:var(--forest);box-shadow:inset 0 0 0 .5px var(--forest)}
.hg-explore-page .hg-cats button[aria-pressed=true]>span:last-child{color:var(--forest);font-weight:600}
body:has(.hg-explore-page) footer{width:min(520px,calc(100% - 1rem));margin:1.6rem auto 5.5rem;padding:0 0 1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;color:#5e6259;font-size:.92rem}
body:has(.hg-explore-page) footer .hg-foot{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem 1.25rem;margin:0;font-size:.88rem}

/* HG_HOMEFIX_1027 (Collin): bigger homepage card photos, proud rank line, chart tabs in rankings colors */
.hg-rankfeed .hg-pcard .hg-media,.hg-rankfeed .hg-pcard.big .hg-media{height:224px}
@media (min-width:641px){.hg-rankfeed .hg-pcard .hg-media,.hg-rankfeed .hg-pcard.big .hg-media{height:300px}}
.hg-rankfeed .hg-pcard .hg-media img{object-fit:cover}
.hg-rankfeed .hg-rank,.hg-rankfeed .hg-rank.sm,.hg-rankfeed .hg-pcard.big .hg-rank{font:700 1.4rem/1.2 var(--serif,"Cormorant Garamond",Georgia,serif);flex-wrap:wrap;gap:.3rem;color:var(--gold-ink)}
.hg-rankfeed .hg-pcard.big .hg-rank{font-size:1.6rem}
.hg-rankfeed .hg-rank svg,.hg-rankfeed .hg-rank.sm svg{width:.95em;height:.95em;flex:none}
html body .hg-demo .hg-demo-tog button[aria-pressed="false"][data-aud="locals"]{color:var(--forest)}
html body .hg-demo .hg-demo-tog button[aria-pressed="false"][data-aud="tourists"]{color:var(--gold-ink)}
html body .hg-demo .hg-demo-tog button[aria-pressed="true"][data-aud="locals"]{background:var(--forest);color:#fff;box-shadow:none}
html body .hg-demo.hg-demo-t .hg-demo-tog button[aria-pressed="true"][data-aud="tourists"],html body .hg-demo .hg-demo-tog button[aria-pressed="true"][data-aud="tourists"]{background:var(--gold);color:#fff;box-shadow:none}
/* HG_VOTEFONT_V2 (Collin's Commune photo): ALL vote UI headings and numerals in the site serif (Cormorant Garamond, var(--serif)) with its old-style figures; small labels and Yes/No buttons stay in the sans */
.vote-q,.hg-col-h,.hg-cols .score b,.hg-pos,.hg-neg{font-family:var(--serif) !important;font-variant-numeric:oldstyle-nums proportional-nums;font-feature-settings:"onum" 1}
.vote-q,.hg-col-h{font-weight:500 !important;letter-spacing:0}
.hg-rankfeed .hg-pcard .vote-q{font-size:1.05rem;line-height:1.25}
.hg-rankfeed .hg-pcard .hg-col-h,.hg-explore-page .hg-col-h{font-size:1.05rem;line-height:1.15}
.hg-cols .score b{font-weight:500;font-size:1.25rem;line-height:1}
.hg-rankfeed .vote-row .count,.hg-explore-page .vote-row .count{font-family:var(--serif) !important;font-weight:600;font-size:1.2em;font-variant-numeric:oldstyle-nums tabular-nums;font-feature-settings:"onum" 1,"tnum" 1}
.vote-q{line-height:1.25 !important}
/* HG_WORDMARK_CENTER_V1: "Hidden Gems" wordmark at the true horizontal center of the header, vertically centered on the small logo; logo left, EN|ES right */
html.hg-wm header{position:relative}
html.hg-wm header .brand{position:static}
html.hg-wm header .brand .hg-wordmark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;line-height:1;pointer-events:auto}

/* HG_WORDMARK_TABLET_V1: 641-1079px the top nav needs the space, so the wordmark sits beside the logo (no absolute centering) */
@media (min-width:641px) and (max-width:1079px){html.hg-wm header .brand .hg-wordmark{position:static;transform:none}}

/* HG_CHIPWRAP_V1: phones - no horizontal scroll; 7 chips wrap into even, centered rows (4 + 3). Chip look unchanged. */
@media (max-width:640px){
.hg-cats{flex-wrap:wrap;justify-content:center !important;overflow:visible;column-gap:.6rem;row-gap:.7rem}
.hg-cats>a,.hg-cats>button{flex:0 0 calc((100% - 1.8rem)/4);min-width:0}
}
/* HG_CITYPICKER_V1: tappable city title, city sheet, in-city search empty state */
.hg-greet .hg-citybtn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:.28em;font:inherit;color:inherit;line-height:1.1;padding:.05em .1em;border-radius:10px;-webkit-tap-highlight-color:transparent}
.hg-greet .hg-citybtn:focus{outline:none}
.hg-greet .hg-citybtn[data-hg-keyboardring]:focus-visible{outline:2px solid rgba(184,137,63,.55);outline-offset:3px}
/*HG_CITYPICK_NOFOCUS_V1*/.hg-greet .hg-citybtn[data-hg-nofocusring]:focus-visible{outline:none!important}
.hg-greet .hg-cb-chev{width:.62em;height:.62em;flex:0 0 auto;margin-top:.12em;fill:none;stroke:var(--gold-ink);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.hg-greet .hg-citybtn[aria-expanded=true] .hg-cb-chev{transform:rotate(180deg)}
@media (hover:hover){.hg-greet .hg-citybtn:hover .hg-cb-name{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;text-decoration-color:rgba(148,105,42,.5)}}
.hg-greet .hg-cb-sub{display:block;font:500 .66rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);margin-top:.18rem;pointer-events:none}
html.hg-cs-open{overflow:hidden}
.hg-citysheet{position:fixed;inset:0;z-index:100000}
.hg-citysheet[hidden]{display:none}
.hg-cs-back{position:absolute;inset:0;background:rgba(24,29,22,.42);opacity:0;transition:opacity .2s}
.hg-citysheet.on .hg-cs-back{opacity:1}
.hg-cs-panel{position:absolute;left:0;right:0;bottom:0;max-height:min(82vh,640px);display:flex;flex-direction:column;background:var(--paper);border-radius:22px 22px 0 0;box-shadow:0 -12px 40px -14px rgba(24,29,22,.45);padding:.9rem 1.1rem calc(1rem + env(safe-area-inset-bottom));transform:translateY(16px);transition:transform .22s ease;font-family:var(--sans);color:var(--charcoal)}
.hg-citysheet.on .hg-cs-panel{transform:none}
.hg-cs-panel::before{content:"";display:block;width:42px;height:4px;border-radius:4px;background:rgba(47,58,44,.18);margin:0 auto .55rem}
.hg-cs-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem}
.hg-cs-top h3{margin:0;font:600 1.55rem/1.1 var(--serif);color:var(--forest)}
.hg-cs-x{all:unset;cursor:pointer;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:#5d6358}
.hg-cs-x:focus-visible{background:rgba(47,58,44,.07)}@media (hover:hover){.hg-cs-x:hover{background:rgba(184,137,63,.10)}}
.hg-cs-x svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.hg-cs-search{display:block;position:relative}
.hg-cs-search svg{position:absolute;left:.9rem;top:50%;width:18px;height:18px;margin-top:-9px;color:#7b8073;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;pointer-events:none}
.hg-cs-search input{width:100%;box-sizing:border-box;font:400 16px var(--sans);border:1px solid rgba(47,58,44,.16);border-radius:999px;background:#fff;padding:.72rem 1rem .72rem 2.5rem;color:var(--charcoal)}
.hg-cs-search input:focus{outline:none;border-color:rgba(47,58,44,.35);box-shadow:0 0 0 3px rgba(201,162,74,.14)}
.hg-cs-loc{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;margin:.65rem 0 .1rem;padding:.35rem .2rem;font:500 .9rem var(--sans);color:var(--forest)}
.hg-cs-loc svg{width:18px;height:18px;fill:none;stroke:var(--gold-ink);stroke-width:1.7;stroke-linejoin:round}
.hg-cs-loc:focus-visible span{text-decoration:underline}@media (hover:hover){.hg-cs-loc:hover span{text-decoration:underline}}
.hg-cs-msg{margin:0;font-size:.82rem;color:#6c7066;min-height:0}
.hg-cs-msg:empty{display:none}
.hg-cs-list{overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;margin:.4rem -.4rem 0;padding:0 .4rem .3rem}
.hg-cs-gh{margin:.75rem 0 .2rem;font:600 .68rem var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--gold-ink)}
.hg-cs-o{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:.6rem;width:100%;padding:.6rem .65rem;border-radius:12px;border-bottom:1px solid var(--line)}
.hg-cs-o:focus-visible{background:rgba(47,58,44,.06)}@media (hover:hover){.hg-cs-o:hover{background:rgba(184,137,63,.10)}}
.hg-cs-o.on{background:rgba(184,137,63,.1)}
.hg-cs-n{flex:1;font:600 1.12rem/1.2 var(--serif);color:var(--charcoal)}
.hg-cs-c{font-size:.78rem;color:#7b8073}
.hg-cs-o svg{width:18px;height:18px;fill:none;stroke:var(--forest);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hg-cs-none{text-align:center;color:#6c7066;padding:1.2rem 0}
@media (min-width:700px){
  .hg-cs-panel{left:50%;right:auto;bottom:auto;top:11vh;width:440px;max-height:72vh;border-radius:18px;transform:translate(-50%,-8px);box-shadow:0 24px 60px -20px rgba(24,29,22,.5);padding:1.1rem 1.3rem 1rem}
  .hg-citysheet.on .hg-cs-panel{transform:translate(-50%,0)}
  .hg-cs-panel::before{display:none}
}
.hg-qempty{padding:2.2rem 1rem}
.hg-qempty .hg-qe-t{margin:0 0 .35rem;font:600 1.35rem/1.25 var(--serif);color:var(--forest)}
.hg-qempty .hg-qe-s{margin:0 0 1rem;font-size:.9rem;color:#6c7066}
.hg-qe-clear{all:unset;cursor:pointer;font:500 .88rem var(--sans);color:var(--paper);background:var(--forest);padding:.55rem 1.15rem;border-radius:999px}
.hg-qe-clear:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media print{.hg-citysheet{display:none}}
/* HG_CITYSEARCH_V1: city sheet input keeps room for its icon; softer "Clear search"; EN|ES fits at 641-767px */
.hg-citysheet .hg-cs-search input{padding:.72rem 1rem .72rem 2.5rem !important}
.hg-qe-clear{color:var(--forest);background:#fffdf8;border:1px solid rgba(47,58,44,.22)}
@media (hover:hover){.hg-qe-clear:hover{background:rgba(184,137,63,.1)}}
@media (min-width:641px) and (max-width:767px){
  header{padding-left:16px !important;padding-right:16px !important;column-gap:10px !important}
  header .brand{font-size:1.32rem !important}
  .hg-nav{gap:.7rem}
  .hg-nav+.city-link,.hg-nav+a.back{margin-left:.5rem !important}
  header .hg-lang{margin-left:4px !important}
}
/* HG_CITYSEARCH_V1: Explore/Saved carry an extra "Search your city" header link (already hidden on phones); hide it until the header has room so EN|ES and Sign in never clip */
@media (min-width:641px) and (max-width:960px){header > a.back{display:none !important}}
.hg-greet .hg-cb-sub::before{content:attr(data-t)}
@media (max-width:640px){.hg-apphome #find input::placeholder{font-size:15px}}
/* HG_VOTEFONT_V1 (Collin): Yes/No and every vote number in the classy serif (Cormorant Garamond, like the rank line "#1 of 63"), with clear lining figures; the "Positive"/"Negative" words under the tallies are dropped (EN + ES). Colors and layout unchanged. */
html body .hg-cols .vote-row button > span,html body .vote .vote-row button > span,html body .hg-cols .vote-row button .count,html body .vote .vote-row button .count{font-family:var(--serif) !important;font-weight:600 !important;font-style:normal;font-size:1.2em !important;letter-spacing:.005em;line-height:1;font-variant-numeric:lining-nums tabular-nums !important;font-feature-settings:"lnum" 1,"tnum" 1 !important}
html body .hg-cols .score b,html body .score b,html body .hg-pos,html body .hg-neg{font-weight:600 !important;font-variant-numeric:lining-nums tabular-nums !important;font-feature-settings:"lnum" 1,"tnum" 1 !important}
html body .score > div > b + span{display:none !important}
/* HG_VOTEFONT_V2 (tally row, Collin 2026-10-27): the big Yes/No tally row above the buttons repeated the button counts, so it is hidden; the Yes N / No N buttons are the only counts */
html body .hg-col .score,html body section.card > .score{display:none !important}

/* HG_SAVECOUNT_V1 (Collin 2026-10-27): small, muted "N saved" line. Serif numerals like the votes. */
html body .hg-savecount{display:flex;align-items:center;gap:.28rem;margin:.3rem 0 0;font:600 .92rem/1.2 var(--serif,"Cormorant Garamond",Georgia,serif);color:#7a7d73;letter-spacing:.01em;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1}
html body .hg-savecount svg{width:.8rem;height:.8rem;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linejoin:round;opacity:.85}
html body ul.gems > li.gem > .hg-savecount{margin:-.1rem 0 .45rem}
html body main.place > .hg-psave > .hg-savecount{justify-content:center;margin:.55rem 0 0}

/* HG_EXPLORE_V1 (Collin 2026-10-27): Instagram-style Explore - state picker, town stories, same chips, endless photo feed */
html.hg-xpre .hg-explore-page>.hg-state{display:none}
body.hg-xmode .hg-explore-page .owner{display:none}
.hg-x-head{text-align:center;margin:.2rem 0 .9rem}
.hg-x-greet{margin:0 !important;font:600 clamp(2.1rem,7vw,2.9rem)/1.05 var(--serif,"Cormorant Garamond",Georgia,serif) !important;color:var(--forest);letter-spacing:-.02em}
.hg-x-statebtn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:.28em;font:inherit;color:inherit;line-height:1.1;padding:.05em .15em;border-radius:10px;-webkit-tap-highlight-color:transparent}
.hg-x-statebtn:focus-visible{outline:2px solid rgba(184,137,63,.55);outline-offset:3px}
.hg-x-statebtn .hg-cb-chev{width:.55em;height:.55em;flex:0 0 auto;margin-top:.12em;fill:none;stroke:var(--gold-ink);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.hg-x-statebtn[aria-expanded=true] .hg-cb-chev{transform:rotate(180deg)}
@media (hover:hover){.hg-x-statebtn:hover .hg-x-sn{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;text-decoration-color:rgba(148,105,42,.5)}}
.hg-x-sub{margin:.3rem 0 0;font:500 .66rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink)}
.hg-x-towns{display:flex;gap:.95rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:.15rem .3rem .55rem;margin:0 -.35rem .35rem}
.hg-x-towns::-webkit-scrollbar{display:none}
.hg-x-town{all:unset;box-sizing:border-box;cursor:pointer;flex:0 0 auto;width:70px;display:flex;flex-direction:column;align-items:center;gap:.4rem;scroll-snap-align:start;-webkit-tap-highlight-color:transparent}
.hg-x-ring{width:64px;height:64px;border-radius:50%;padding:2px;box-sizing:border-box;border:1.5px solid rgba(47,58,44,.16);background:var(--paper);display:block;transition:border-color .2s}
.hg-x-ring img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;background:#efe8dc}
.hg-x-town.on .hg-x-ring{border:2px solid var(--gold);padding:2px}
.hg-x-town:focus-visible .hg-x-ring{outline:2px solid rgba(184,137,63,.55);outline-offset:2px}
.hg-x-tn{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 .74rem/1.2 var(--sans);color:var(--charcoal)}
.hg-x-town.on .hg-x-tn{color:var(--forest);font-weight:600}
@media (min-width:641px){.hg-x-towns{justify-content:safe center}}
/* the chips keep their look; phones always 4 + 3 like Home, desktop one row */
@media (max-width:640px){body.hg-xmode .hg-explore-page .hg-cats>button{flex:0 0 calc((100% - 1.8rem)/4);min-width:0}}
@media (min-width:641px){body.hg-xmode .hg-explore-page .hg-cats{flex-wrap:nowrap;justify-content:center;gap:1.4rem;overflow:visible}}
.hg-xfeed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem .75rem;grid-auto-flow:row dense}
.hg-xc{position:relative;min-width:0;background:#fbf8f2;border:1px solid rgba(47,58,44,.10);border-radius:18px;padding:5px 5px 0;box-shadow:0 1px 2px rgba(47,58,44,.04);content-visibility:auto;contain-intrinsic-size:auto 260px}
.hg-xc.big{grid-column:1/-1;contain-intrinsic-size:auto 360px}
.hg-xc>a{display:block;color:inherit;text-decoration:none}
.hg-xc-ph{aspect-ratio:1/1;border-radius:14px;overflow:hidden;background:#efe8dc}
.hg-xc.big .hg-xc-ph{aspect-ratio:4/3}
.hg-xc-ph img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
@media (hover:hover){.hg-xc>a:hover .hg-xc-ph img{transform:scale(1.025)}}
.hg-xc-b{padding:.55rem .45rem .65rem}
.hg-xc h3{margin:0;font:600 1.12rem/1.15 var(--serif,"Cormorant Garamond",Georgia,serif);color:var(--charcoal);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.hg-xc.big h3{font-size:1.5rem}
.hg-xc-m{margin:.18rem 0 0;font:400 .78rem/1.3 var(--sans);color:#6c7066;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hg-xc.big .hg-xc-m{font-size:.88rem}
.hg-x-dot{color:#a7a596;margin:0 .1em}
.hg-x-rank{display:inline-flex;align-items:center;gap:.25rem;margin:.3rem 0 0;font:600 .92rem/1 var(--serif,"Cormorant Garamond",Georgia,serif);color:var(--gold-ink);font-variant-numeric:lining-nums}
.hg-xc.big .hg-x-rank{font-size:1.05rem}
.hg-x-rank svg{width:.95em;height:.95em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.hg-xc .hg-heart{position:absolute;top:12px;right:12px;z-index:2}
.hg-xc .hg-savecount{margin:.3rem 0 0}
.hg-x-div{grid-column:1/-1;margin:1.4rem 0 .1rem !important;text-align:center;font:600 1.45rem/1.15 var(--serif,"Cormorant Garamond",Georgia,serif) !important;color:var(--forest)}
.hg-x-div::before{content:"";display:block;width:42px;height:1px;background:var(--gold);margin:0 auto .8rem;opacity:.7}
.hg-x-sent{height:1px}
.hg-x-end,.hg-x-none{grid-column:1/-1;text-align:center;margin:1.6rem auto .4rem;max-width:30ch;font:500 1.1rem/1.35 var(--serif,"Cormorant Garamond",Georgia,serif);color:#6c7066}
.hg-x-st{display:block;font:400 .76rem/1.3 var(--sans);color:#7b8073;margin-top:.1rem}
.hg-statesheet .hg-cs-o{align-items:center}
@media (min-width:900px){
  html body.hg-xmode main.hg-explore-page,html.hg-rkpre body.hg-xmode main.hg-explore-page{width:min(1180px,calc(100% - 3rem)) !important}
  .hg-xfeed{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem 1.1rem}
  .hg-xc.big{grid-column:span 2;grid-row:span 2}
  .hg-xc.big .hg-xc-ph{aspect-ratio:auto;height:calc(100% - 7.2rem);min-height:300px}
  .hg-xc.big{display:flex;flex-direction:column}
  .hg-xc.big>a{flex:1;display:flex;flex-direction:column}
  .hg-xc.big .hg-xc-ph{flex:1}
}
@media (min-width:641px) and (max-width:899px){
  html body.hg-xmode main.hg-explore-page,html.hg-rkpre body.hg-xmode main.hg-explore-page{width:min(860px,calc(100% - 2rem)) !important}
  .hg-xfeed{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hg-xc.big{grid-column:span 2;grid-row:span 2}
}
@media (prefers-reduced-motion:reduce){.hg-xc-ph img{transition:none}}
/* HG_EXPLORE_V1b: town names get two lines, "All" is a gem, chips scroll away on phones so the feed has room */
.hg-x-town{width:76px}
.hg-x-tn{white-space:normal;text-align:center;line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.hg-x-ring.ic{display:grid;place-items:center;background:#f1ebe0;color:var(--gold-ink)}
.hg-x-ring.ic svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
.hg-x-town.on .hg-x-ring.ic{background:var(--beige)}
@media (max-width:640px){body.hg-xmode .hg-explore-page .hg-cats{position:static}}

/* HG_SAVED_V1 (Collin 2026-10-27): Saved page, homey tabs instead of heavy solid green. Scoped to #hg-saved only. Remove this block to roll back. */
#hg-saved .hg-tabs button{background:#fbf8f2;border:1px solid rgba(47,58,44,.18);color:var(--forest);font-weight:500;box-shadow:none;position:relative}
#hg-saved .hg-tabs button[aria-selected=true]{background:#ece2d1;border-color:rgba(148,105,42,.38);color:#2f3a2c;font-weight:600}
#hg-saved .hg-tabs button[aria-selected=true]::after{content:"";position:absolute;bottom:5px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:#c9a24a;opacity:.9}
#hg-saved .hg-tick.on{background:#ece2d1;border-color:rgba(148,105,42,.38);color:var(--forest)}
#hg-saved .hg-cta{background:#f3ece0;border:1px solid rgba(47,58,44,.2);color:var(--forest) !important}

/* HG_SAVED_V2 (Collin 2026-10-27): center the "My Gems" title on the Saved page. Remove this block to roll back. */
main.hg-saved-page > h1{text-align:center;justify-content:center}

/* HG_TRIED_VOTE_V1: thin "How was it?" line under a Saved row. Remove this block with its JS block to roll back. */
#hg-saved .hg-tv{padding:.55rem .1rem .7rem;border-bottom:1px solid var(--line);overflow:hidden;transition:max-height .35s ease,opacity .3s ease,padding .35s ease;animation:hgTvIn .25s ease}
@keyframes hgTvIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
#hg-saved .hg-tv.hg-tv-fold{max-height:0 !important;opacity:0;padding-top:0;padding-bottom:0}
#hg-saved .hg-tv-top{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem .7rem}
#hg-saved .hg-tv-q,#hg-saved .hg-tv-said,#hg-saved .hg-tv-thanks{margin:0;font:500 1.18rem/1.2 var(--serif,"Cormorant Garamond",Georgia,serif);color:var(--forest)}
#hg-saved .hg-tv-thanks{font-style:italic;color:var(--gold-ink)}
#hg-saved .hg-tv-cols{display:flex;gap:.4rem}
#hg-saved .hg-tv-pill{min-height:auto;padding:.32rem 1.05rem;border-radius:999px;border:1px solid rgba(47,58,44,.18);background:#fbf8f2;color:var(--forest);font:600 1.02rem/1.1 var(--serif,"Cormorant Garamond",Georgia,serif);cursor:pointer;box-shadow:none}
#hg-saved .hg-tv-pill[aria-pressed=true]{background:#ece2d1;border-color:rgba(148,105,42,.38)}@media (hover:hover){#hg-saved .hg-tv-pill:hover{background:#ece2d1;border-color:rgba(148,105,42,.38)}}
#hg-saved .hg-tv-pill:disabled{opacity:.6}
#hg-saved .hg-tv-link{min-height:auto;padding:0;border:0;background:none;box-shadow:none;font:500 .8rem var(--sans);color:#7a7d73;text-decoration:underline;text-underline-offset:.15em;cursor:pointer}
#hg-saved .hg-tv-said .hg-tv-link{font:inherit;color:var(--gold-ink)}
#hg-saved .hg-tv-skip{margin-left:auto}
#hg-saved .hg-tv-nudge{display:block;margin:.4rem 0 0;min-height:auto;padding:0;border:0;background:none;box-shadow:none;font:400 .8rem/1.35 var(--sans);color:#6c7066;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:rgba(108,112,102,.4);text-underline-offset:.15em}
#hg-saved .hg-tv .vote-msg{margin:.3rem 0 0;font:400 .8rem/1.35 var(--sans);color:#6c7066}
#hg-saved .hg-tv .vote-msg:empty{display:none}
/* HG_TABBAR_SAFEAREA_V1 (Collin 2026-10-27): iPhone Safari's bottom toolbar covered the tab bar when scrolling up.
   viewport-fit=cover is now in every page's viewport meta, so env(safe-area-inset-bottom) is real on iPhone (it was always 0 before).
   --hg-tb-lift is set by the HG_TABBAR_SAFEAREA_V1 block in app.js only if the bar ends up below the visible screen; it is 0 everywhere else. */
@media (max-width:640px){
  body{padding-bottom:calc(74px + env(safe-area-inset-bottom,0px) + var(--hg-tb-lift,0px)) !important}
  .hg-tabbar{bottom:var(--hg-tb-lift,0px);padding-left:max(6px,env(safe-area-inset-left,0px));padding-right:max(6px,env(safe-area-inset-right,0px))}
  .hg-tabbar::before{content:"";position:absolute;left:0;right:0;top:100%;height:var(--hg-tb-lift,0px);background:rgba(255,253,248,.96);pointer-events:none}
}
/* HG_LIGHT_ACTIVE_V1 (Collin t935u, 2026-10-29): selected/active states use a light highlight instead of a solid dark fill:
   pale tint background, dark text, thin darker border. Covers vote buttons, segmented tabs (Locals/Tourists), chips, mood pills, language pick. */
html body .vote-row button[data-vote="yes"][aria-pressed="true"],html body .choices button[aria-pressed="true"],html body .choices button.on,html body .choices button.active,html body .hg-chips button[aria-pressed=true],html body .hg-tabs button[aria-selected=true],html body .hg-langpick button[aria-pressed=true],html body .hg-demo .hg-demo-tog button[aria-pressed="true"][data-aud="locals"]{background:var(--hg-sel-bg) !important;color:var(--hg-sel-ink) !important;border:1.5px solid var(--hg-sel-bd) !important;box-shadow:inset 0 0 0 .5px var(--hg-sel-bd) !important/*HG_MOBILE_FIX_1029_4*/}@media (hover:hover){html body .vote-row button[data-vote="yes"][aria-pressed="true"]:hover,html body .choices button[aria-pressed="true"]:hover{background:var(--hg-sel-bg) !important;color:var(--hg-sel-ink) !important;border:1.5px solid var(--hg-sel-bd) !important;box-shadow:inset 0 0 0 .5px var(--hg-sel-bd) !important/*HG_MOBILE_FIX_1029_4*/}}
html body .vote-row button[data-vote="no"][aria-pressed="true"]{background:var(--hg-sel-bg) !important;color:var(--hg-sel-ink) !important;border:1.5px solid var(--hg-sel-bd) !important;box-shadow:inset 0 0 0 .5px var(--hg-sel-bd) !important/*HG_MOBILE_FIX_1029_4*/}@media (hover:hover){html body .vote-row button[data-vote="no"][aria-pressed="true"]:hover{background:var(--hg-sel-bg) !important;color:var(--hg-sel-ink) !important;border:1.5px solid var(--hg-sel-bd) !important;box-shadow:inset 0 0 0 .5px var(--hg-sel-bd) !important/*HG_MOBILE_FIX_1029_4*/}}
html body .hg-demo.hg-demo-t .hg-demo-tog button[aria-pressed="true"][data-aud="tourists"],html body .hg-demo .hg-demo-tog button[aria-pressed="true"][data-aud="tourists"]{background:var(--hg-sel-bg) !important;color:var(--hg-sel-ink) !important;border:1.5px solid var(--hg-sel-bd) !important;box-shadow:inset 0 0 0 .5px var(--hg-sel-bd) !important/*HG_MOBILE_FIX_1029_4*/}
html body .choices.hg-catrow button[aria-pressed="true"]{background:transparent !important;border:0 !important}
/* HG_MOBILE_FIX_1029_1 (Collin 2026-10-29): the legacy intro / "Type a city" card must never show on Home.
   - p.intro / p.fine (old intro text) are hidden for good; the theme Home replaces the rest.
   - html.hg-home-boot (set by the head script in index.html, removed by app.js once the theme Home is built, 8s fail-safe)
     keeps the raw legacy markup from painting while the scripts are still downloading on a slow connection.
   - html.hg-home-pend hides only the city title + search until the saved city is known (normally it is known on the
     first frame from the hg-city-names cache, so this only applies on a visitor's very first load). */
main.hg-home>p.intro,main.hg-home>p.fine{display:none !important}
html.hg-home-boot main.hg-home>:not(.hg-vines){visibility:hidden !important}
html.hg-home-boot main.hg-home{min-height:70vh}
html.hg-home-pend .hg-apphome .hg-greet,html.hg-home-pend .hg-apphome #find{visibility:hidden}
/* HG_MOBILE_FIX_1029_3 (Collin 2026-10-29): the tab bar stays pinned to the bottom edge with no animation of its own;
   --hg-tb-lift (HG_TABBAR_SAFEAREA_V1) is now only changed after scrolling settles, never during a rubber-band bounce. */
@media (max-width:640px){
  .hg-tabbar{position:fixed !important;transition:none !important;transform:none !important;will-change:auto}
}
/* HG_MOBILE_FIX_1029_4 (Collin 2026-10-29): no green highlight for selected / active / voted states. They all reuse the
   selected Home category circle ("All" chip: .hg-cats a[aria-pressed=true] .ic = beige fill, forest border, dark text)
   through one set of variables. Replaces the HG_LIGHT_ACTIVE_V1 green tint (#e3ecdf / #3f5a3a) and the solid forest fills. */
:root{--hg-sel-bg:var(--beige);--hg-sel-bd:var(--forest);--hg-sel-ink:var(--forest)}
html body .vote-row button[aria-pressed="true"],html body .choices button[aria-pressed="true"],html body .choices button.on,html body .choices button.active,html body .hg-chips button[aria-pressed=true],html body .hg-tabs button[aria-selected=true],html body #hg-saved .hg-tabs button[aria-selected=true],html body .hg-langpick button[aria-pressed=true],html body .hg-demo .hg-demo-tog button[aria-pressed="true"],html body .hg-demo.hg-demo-t .hg-demo-tog button[aria-pressed="true"],html body .hg-tick.on,html body #hg-saved .hg-tick.on,html body .hg-triedbtn.on,html body #hg-saved .hg-tv-pill[aria-pressed=true],html body .hg-nearbtn[aria-pressed=true]{background:var(--hg-sel-bg) !important;color:var(--hg-sel-ink) !important;border:1.5px solid var(--hg-sel-bd) !important;box-shadow:inset 0 0 0 .5px var(--hg-sel-bd) !important}@media (hover:hover){html body .vote-row button[aria-pressed="true"]:hover,html body .choices button[aria-pressed="true"]:hover{background:var(--hg-sel-bg) !important;color:var(--hg-sel-ink) !important;border:1.5px solid var(--hg-sel-bd) !important;box-shadow:inset 0 0 0 .5px var(--hg-sel-bd) !important}}
html body .vote-row button[aria-pressed="true"] *,html body .hg-demo .hg-demo-tog button[aria-pressed="true"] *{color:inherit !important}
html body .hg-cats.hg-live a[aria-pressed=true] .ic,html body .hg-explore-page .hg-cats button[aria-pressed=true] .ic{background:var(--hg-sel-bg);border-color:var(--hg-sel-bd);box-shadow:inset 0 0 0 .5px var(--hg-sel-bd)}
html body .choices.hg-catrow button[aria-pressed="true"]{background:transparent !important;border:0 !important;box-shadow:none !important}
/* HG_MOBILE_FIX_1029_5 (Collin 2026-10-29, t971u): "Save to my gems" and the other big solid dark-green buttons were too
   heavy. Per Collin (t972u): forest (dark green) border line, neutral light inside (--paper #fffdf8), forest text.
   Hover = very light neutral #f6f1e8; saved (.on) = the tan selected state (--hg-sel-bg). Contrast forest on #fffdf8 ~ 12:1.
   The splash CTA keeps its own cream style. */
:root{--hg-btn-bg:var(--paper);--hg-btn-bd:var(--forest);--hg-btn-ink:var(--forest)}
html body .hg-savebtn,html body .hg-more,html body .hg-cta:not(.hg-sp-cta),html body .choices .wide button,html body button.wide,html body .wide>button{background:var(--hg-btn-bg) !important;color:var(--hg-btn-ink) !important;border:1.5px solid var(--hg-btn-bd) !important;box-shadow:none !important}
@media (hover:hover){html body .hg-savebtn:hover,html body .hg-more:hover,html body .hg-cta:not(.hg-sp-cta):hover,html body .choices .wide button:hover,html body button.wide:hover,html body .wide>button:hover{background:#f6f1e8 !important}}
html body .hg-savebtn.on{background:var(--hg-sel-bg) !important;color:var(--hg-sel-ink) !important;border-color:var(--hg-sel-bd) !important;box-shadow:inset 0 0 0 .5px var(--hg-sel-bd) !important}@media (hover:hover){html body .hg-savebtn.on:hover{background:var(--hg-sel-bg) !important;color:var(--hg-sel-ink) !important;border-color:var(--hg-sel-bd) !important;box-shadow:inset 0 0 0 .5px var(--hg-sel-bd) !important}}
html body .hg-savebtn.on svg{fill:currentColor}
html body #hg-saved .hg-cta{border-width:1.5px !important}

/* HG_COLOR_OPT3_GOLD_ACCENT (preview) — option 3 "Gold accent": gold-tint selected states, gold-outline primary buttons,
   neutral dark title, grey category line, gold-outlined rank badge. No dark-green fills on selected states. */
:root{--hg-sel-bg:#f2deb4;--hg-sel-bd:#b8893f;--hg-sel-ink:#2f3a2c;--hg-btn-bg:#fffdf8;--hg-btn-bd:#b8893f;--hg-btn-ink:#2f3a2c;
  --hg-o3-bg:#fffdf8;--hg-o3-title:#2b2b2b;--hg-o3-meta:#6c7066;--hg-o3-rank:#b8893f;--hg-o3-badge-bg:#f2deb4;--hg-o3-badge-ink:#6f4d1c;
  --hg-o3-btn-bg:#ffffff;--hg-o3-btn-bd:#d8cfbf;--hg-o3-btn-ink:#2b2b2b;--hg-o3-hover:#fbf3e2}
html body main{background:var(--hg-o3-bg) !important}
html body main h1{color:var(--hg-o3-title) !important}
html body main>.tags,html body main header .tags,html body .hg-meta{color:var(--hg-o3-meta) !important}
html body .rank-big{background:var(--hg-o3-badge-bg) !important;color:var(--hg-o3-badge-ink) !important;border:1px solid var(--hg-o3-rank) !important;box-shadow:none !important}
html body .hg-col{background:#ffffff !important}
html body .vote-row button[aria-pressed="false"],html body .vote-row button:not([aria-pressed]){background:var(--hg-o3-btn-bg) !important;border-color:var(--hg-o3-btn-bd) !important;color:var(--hg-o3-btn-ink) !important}
html body .hg-demo .hg-demo-tog button[aria-pressed="false"]{color:var(--hg-o3-rank) !important}
@media (hover:hover){html body .hg-savebtn:not(.on):hover,html body .hg-more:hover,html body .hg-cta:not(.hg-sp-cta):hover,html body .choices .wide button:hover,html body button.wide:hover,html body .wide>button:hover{background:var(--hg-o3-hover) !important}}
html body .hg-sp-cta{border:1.5px solid var(--hg-o3-rank) !important}
html body .hg-x-town.on .hg-x-ring.ic{background:var(--hg-sel-bg) !important}

/* HG_SIGNIN_OPT_E — sign-in/sheet colors option E (gold pill track + tan button, text Cancel). No dark-green fills in sheets/forms. */
html body .hg-sheet .hg-tabs,html body .hg-dialog .hg-tabs{background:#f3eee6 !important;border:0 !important;border-radius:999px !important;padding:4px !important}
html body .hg-sheet .hg-tabs button,html body .hg-dialog .hg-tabs button{background:transparent !important;border:1.5px solid transparent !important;color:#6c7066 !important;box-shadow:none !important}
html body .hg-sheet .hg-tabs button[aria-pressed="true"],html body .hg-dialog .hg-tabs button[aria-pressed="true"]{background:#f2deb4 !important;border-color:#b8893f !important;color:#6f4d1c !important}
@media (hover:hover){html body .hg-sheet .hg-tabs button:not([aria-pressed="true"]):hover,html body .hg-dialog .hg-tabs button:not([aria-pressed="true"]):hover{color:#2f3a2c !important}}
html body .hg-primary,html body .hg-sug-go,html body .hg-sug-row button,html body .hg-sug-acts .hg-sug-up{background:#f2deb4 !important;border:1.5px solid #b8893f !important;color:#2f3a2c !important;box-shadow:none !important}
@media (hover:hover){html body .hg-primary:not(:disabled):hover,html body .hg-sug-go:not([disabled]):hover,html body .hg-sug-row button:not([disabled]):hover,html body .hg-sug-acts .hg-sug-up:hover{background:#ebd29f !important}}
html body .owner .hg-sug-row button{background:#f3eee6 !important;border-color:transparent !important;color:var(--forest) !important}
@media (hover:hover){html body .owner .hg-sug-row button:hover{background:#fff !important}}
html body .hg-sheet .hg-actions button:not(.hg-primary),html body .hg-dialog .hg-actions button:not(.hg-primary){background:transparent !important;border:1.5px solid transparent !important;color:#6c7066 !important;box-shadow:none !important}
@media (hover:hover){html body .hg-sheet .hg-actions button:not(.hg-primary):hover,html body .hg-dialog .hg-actions button:not(.hg-primary):hover{color:#2f3a2c !important;text-decoration:underline}}
html body .hg-age-grid button[aria-checked="true"],html body .hg-tq-chips button[aria-checked="true"]{background:#f2deb4 !important;border-color:#b8893f !important;color:#2f3a2c !important}

/* >>> HG_SUGGEST_RESTORE_1029: Home search no-results "Suggest it to Hidden Gems" (gold accent, no dark green fills) */
.hg-qe-acts{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;justify-content:center}
.hg-qe-acts[hidden],.hg-qe-form[hidden]{display:none}
.hg-qe-sug,.hg-qe-send{all:unset;box-sizing:border-box;cursor:pointer;font:600 .88rem var(--sans);color:#2f3a2c;background:#f2deb4;border:1.5px solid #b8893f;padding:.52rem 1.15rem;border-radius:999px;text-align:center}
@media (hover:hover){.hg-qe-sug:hover,.hg-qe-send:hover{background:#ecd29b}}
.hg-qe-send[disabled]{opacity:.6;cursor:default}
.hg-qempty .hg-qe-clear{background:#fffdf8;border:1.5px solid #b8893f;color:#2f3a2c;padding:.52rem 1.15rem}
.hg-qe-cancel{all:unset;cursor:pointer;font:500 .88rem var(--sans);color:#6c7066;text-decoration:underline;padding:.52rem .4rem}
.hg-qe-sug:focus-visible,.hg-qe-send:focus-visible,.hg-qe-cancel:focus-visible{outline:2px solid #b8893f;outline-offset:2px}
.hg-qe-form{display:grid;gap:.4rem;max-width:30rem;margin:.2rem 0 0;padding:1rem 1.05rem;border:1.5px solid #b8893f;border-radius:16px;background:#fffdf8;box-sizing:border-box}
.hg-qe-ft{margin:0 0 .2rem;font:600 1.08rem/1.25 var(--serif);color:#2f3a2c}
.hg-qe-form label{font:600 .84rem var(--sans);color:#2f3a2c}
.hg-qe-form input[type=text]{font:500 16px var(--sans);color:#2f3a2c;background:#fff;border:1.5px solid rgba(184,137,63,.55);border-radius:12px;padding:.6rem .8rem;width:100%;box-sizing:border-box;-webkit-appearance:none;appearance:none}
.hg-qe-form input[type=text]:focus{outline:none;border-color:#b8893f;box-shadow:0 0 0 2px rgba(184,137,63,.25)}
.hg-qe-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;opacity:0}
.hg-qe-note{margin:.1rem 0 .3rem;font-size:.84rem;color:#6c7066}
.hg-qe-msg{margin:0;font-size:.88rem;color:#6c7066}.hg-qe-msg:empty{display:none}
.hg-qe-ok{margin:0 0 .9rem;font:600 1rem/1.4 var(--sans);color:#2f3a2c}
/* <<< HG_SUGGEST_RESTORE_1029 */

/* >>> HG_LOCALS_FILTER_1029: "Locals only" toggle on Home and Explore (gold accent: off = outline, on = selected gold) */
.hg-lof-wrap{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem .7rem;margin:.1rem 0 .9rem}
.hg-lof-note{font:500 .8rem var(--sans);color:#5d6a57}
.hg-x-lof{margin:.55rem 0 .9rem}
/* >>> HG_LOCALS_CHECKBOX_1029 common: replaces the old .hg-lof pill rules (delete .hg-lof{..} .hg-lof svg .hg-lof[aria-pressed] .hg-lof:hover .hg-lof:focus-visible), shared checkbox box */
.hg-lof.hg-lcb{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:.55rem;font:500 .92rem/1.25 var(--sans);color:#2f3a2c;-webkit-tap-highlight-color:transparent}
.hg-lof.hg-lcb:focus-visible{outline:2px solid #b8893f;outline-offset:3px;border-radius:8px}
.hg-lcb-box{flex:none;display:grid;place-items:center;width:22px;height:22px;box-sizing:border-box;background:#fffdf8;border:1.75px solid #b8893f;border-radius:5px;transition:background .15s}
.hg-lof.hg-lcb .hg-lcb-box svg{width:15px;height:15px;fill:none;stroke:#2f3a2c;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .15s}
.hg-lcb[aria-checked="true"] .hg-lcb-box{background:#f2deb4}
.hg-lof.hg-lcb[aria-checked="true"] .hg-lcb-box svg{opacity:1}
/* <<< HG_LOCALS_CHECKBOX_1029 common */

/* Option D: circle check + serif-style label "Show locals' votes only", gold underline when on */
.hg-lof.hg-lcb-D{gap:.6rem;font:600 1.02rem/1.2 var(--serif);letter-spacing:.01em}
.hg-lof.hg-lcb-D .hg-lcb-box{width:24px;height:24px;border-radius:50%}
.hg-lof.hg-lcb-D[aria-checked="true"] .hg-lcb-box{background:#b8893f;border-color:#b8893f}
.hg-lof.hg-lcb-D[aria-checked="true"] .hg-lcb-box svg{stroke:#fffdf8}
.hg-lof.hg-lcb-D .hg-lcb-lbl{border-bottom:1.5px solid transparent;padding-bottom:1px}
.hg-lof.hg-lcb-D[aria-checked="true"] .hg-lcb-lbl{border-bottom-color:#b8893f;color:#6f4d1c}
/* <<< HG_LOCALS_FILTER_1029 */

/* HG_ADVERTISE_LINK_1029: "Want to advertise? Claim your business" at the bottom of city pages, gold accent */
.hg-adv{grid-column:1/-1;text-align:center;margin:1.4rem auto .6rem;padding:0 1rem}
.hg-adv a{font:600 .95rem var(--sans);color:#8a6424;text-decoration:underline;text-decoration-color:#b8893f;text-decoration-thickness:1.5px;text-underline-offset:.22em}
@media (hover:hover){.hg-adv a:hover{color:#2f3a2c;text-decoration-color:#b8893f}}
.hg-adv a:focus-visible{outline:2px solid #b8893f;outline-offset:3px;border-radius:4px}
/* /HG_ADVERTISE_LINK_1029 */

/* HG_PROFILE_LINKS_1029: Profile links section + Privacy link on the sign-up sheets, gold accent */
.hg-pf-more{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem 1.1rem;margin:1.3rem auto .4rem;padding-top:1rem;border-top:1px solid rgba(184,137,63,.35)}
.hg-pf-more a,.hg-sheet a.hg-pv-link{color:#8a6424;font:600 .85rem var(--sans);text-decoration:underline;text-decoration-color:#b8893f;text-decoration-thickness:1.5px;text-underline-offset:.22em}
@media (hover:hover){.hg-pf-more a:hover,.hg-sheet a.hg-pv-link:hover{color:#2f3a2c}}
.hg-pf-more a:focus-visible,.hg-sheet a.hg-pv-link:focus-visible{outline:2px solid #b8893f;outline-offset:3px;border-radius:4px}
/* /HG_PROFILE_LINKS_1029 */
/* HG_EXPLORE_NOTICE_1029: one-time "Explore is for browsing" tip + a quiet "Want the rankings?" line at the top of the Explore feed (gold accent) */
.hg-xn{margin:.1rem 0 .8rem}.hg-xn[hidden]{display:none}
.hg-xtip{display:flex;align-items:center;gap:.6rem;margin:0 0 .55rem;padding:.7rem .8rem;border:1px solid rgba(184,137,63,.4);border-radius:14px;background:rgba(184,137,63,.09);color:var(--ink,#262923);font-size:.9rem;line-height:1.35}
.hg-xn-ic svg{display:block;width:1.2rem;height:1.2rem;fill:none;stroke:var(--gold,#b8893f);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hg-xtip-t{margin:0;flex:1;min-width:0}
.hg-xtip-ok{flex:none;border:0;border-radius:999px;padding:.45rem .9rem;min-height:2.2rem;background:var(--gold,#b8893f);color:#fff;font:inherit;font-weight:600;font-size:.85rem;cursor:pointer}
.hg-xline{margin:0;font-size:.86rem;color:var(--ink-soft,#5e6259);text-align:center}
.hg-xn-a{color:var(--gold-ink,#94692a);font-weight:600;text-decoration:underline;text-underline-offset:2px}
/* HG_EXPLORE_NOTICE_1029: tip slot under the state title (fully visible on the first mobile screen) */
.hg-xtipslot{max-width:640px;margin:.2rem auto .7rem;padding:0 .9rem}.hg-xtipslot[hidden]{display:none}
.hg-xtipslot .hg-xtip{margin:0;padding:.55rem .7rem;font-size:.86rem;text-align:left}
.hg-xtipslot .hg-xtip-ok{padding:.4rem .8rem;min-height:2.1rem}
/* HG_LOAD_GATE_1029: nothing footer-like flashes before the feed; light skeleton while loading */
html.hg-fload footer, html.hg-fload .hg-foot-wrap{visibility:hidden}
.hg-xn.hg-wait{display:none}
.hg-skel{display:grid;grid-template-columns:1fr;gap:.9rem;max-width:1100px;margin:.4rem auto 1rem;padding:0 1rem}
.hg-skel[hidden]{display:none}
.hg-skel i{display:block;height:220px;border-radius:16px;background:linear-gradient(100deg,rgba(47,58,44,.06) 30%,rgba(184,137,63,.10) 50%,rgba(47,58,44,.06) 70%);background-size:300% 100%;animation:hgSk 1.4s ease-in-out infinite}
.hg-skel i:nth-child(n+2){height:150px}
@media (min-width:760px){.hg-skel{grid-template-columns:2fr 1fr 1fr}.hg-skel i,.hg-skel i:nth-child(n+2){height:260px}}
@keyframes hgSk{0%{background-position:100% 0}100%{background-position:0 0}}
@media (prefers-reduced-motion:reduce){.hg-skel i{animation:none}}
.hg-x-sn:empty::before{content:"";display:inline-block;width:7ch;height:.75em;border-radius:10px;background:rgba(47,58,44,.08);vertical-align:middle}
/* HG_CHANGE_TAP_1029: the "Change state" / "Change city" captions open the picker */
.hg-x-sub{cursor:pointer;-webkit-tap-highlight-color:transparent}
.hg-greet .hg-cb-sub{pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent}
/* HG_GALLERY_V1 >>> */
/* Gallery (place detail page hero only): dots + swipe on top of the existing arrows */
.hg-gal{touch-action:pan-y}
.hg-gdots{position:absolute;left:0;right:0;bottom:10px;z-index:3;display:flex;justify-content:center;gap:5px;pointer-events:none}
.hg-gdots[hidden]{display:none}
.hg-gdots i{width:6px;height:6px;border-radius:50%;background:rgba(255,253,248,.55);box-shadow:0 0 3px rgba(0,0,0,.45);transition:background .2s,transform .2s}
.hg-gdots i.on{background:#fffdf8;transform:scale(1.3)}
.hg-phero .hg-gdots{bottom:13px}
/* <<< HG_GALLERY_V1 */
/* HG_GALLERY_SWIPE_V1 >>> */
/* Collin pt211u: place-page gallery slides with the thumb; side images hold the neighbours */
.hg-phero .hg-media .hg-gside{position:absolute;top:0;left:0;visibility:hidden;pointer-events:none}
.hg-gal .hg-media img{-webkit-user-drag:none;backface-visibility:hidden}
.hg-gdrag .hg-media img{will-change:transform}
/* <<< HG_GALLERY_SWIPE_V1 */
/* HG_BACK_BUTTON_V1 >>> */
/* Collin pt216u "Ok do B": back control above the place photo; the round back button inside the photo is hidden */
html body .hg-phero-bar > a.hg-round:first-child{display:none !important}
html body .hg-topback{box-sizing:border-box;display:flex;align-items:center;max-width:100%;margin:0 auto .7rem}
@media (max-width:640px){html body .hg-topback{margin:.1rem auto .55rem}}
html body .hg-topback a{display:inline-flex;align-items:center;gap:.2rem;min-height:40px;color:#84601f;text-decoration:none;font:600 1.05rem/1 var(--sans)}
html body .hg-topback svg{width:20px;height:20px;fill:none;stroke:#84601f;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;margin-left:-4px}
/* <<< HG_BACK_BUTTON_V1 */
/* HG_APP_TABBAR_V1 >>> */
/* Collin pt1128u: native-style bottom tab bar in the iPhone app only (html.hg-app). Websites in browsers are unchanged. */
@media (max-width:640px){
  html.hg-app body{padding-bottom:calc(49px + env(safe-area-inset-bottom,0px) + 14px) !important}
  html.hg-app body .hg-tabbar{bottom:0 !important;box-sizing:border-box;height:calc(49px + env(safe-area-inset-bottom,0px));
    padding:0 max(4px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(4px,env(safe-area-inset-left,0px)) !important;
    align-items:flex-start;background:#fffdf8 !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;
    border-top:.5px solid rgba(47,58,44,.22);box-shadow:none !important}
  html.hg-app body .hg-tabbar::before{display:none !important}
  html.hg-app body .hg-tabbar a{height:49px;box-sizing:border-box;justify-content:flex-start;gap:2px;padding:6px 0 0 !important;margin:0 !important;
    font-size:10px !important;line-height:12px !important;letter-spacing:.01em;background:none !important;border-radius:0 !important}
  html.hg-app body .hg-tabbar svg{width:25px;height:25px;flex:none}
  html.hg-app body .hg-tabbar a.on::after{bottom:auto;top:46px}
}
/* <<< HG_APP_TABBAR_V1 */
/* HG_APP_AUTHGATE_V1 >>> */
/* HG_APP_AUTHGATE_V1: app-only sign-up / log-in screens. Collin's picks in the v2 light style (screens/*-v2.png): cream #f3eee6,
   Fraunces prompts (no italics), Outfit inputs/buttons, gold #b8893f accents: thin gold progress line, gold underline on the active field,
   gold Continue button (dims to #e2cfa6 until ready), selected pills get a light gold tint + gold border. Positions follow the 390x844 mockups. */
@font-face{font-family:"HG Fraunces";src:url(/theme/fonts/fraunces-latin.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:block}
@font-face{font-family:"HG Outfit";src:url(/theme/fonts/outfit-latin.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:block}
html.hg-gate,html.hg-gate body{overflow:hidden !important}
html.hg-gate .hg-tabbar{visibility:hidden !important}
.hg-ag{--ag-cream:#f3eee6;--ag-ink:#2b2622;--ag-gold:#b8893f;--ag-gold-d:#94692a;--ag-soft:#7d746a;--ag-faint:#9c938a;--ag-paper:#fffdf8;
  position:fixed;inset:0;z-index:2147483050;background:var(--ag-cream);color:var(--ag-ink);font-family:"HG Outfit","Outfit",system-ui,sans-serif;-webkit-font-smoothing:antialiased;transition:opacity .38s ease;overflow:hidden}
.hg-ag *{box-sizing:border-box}
.hg-ag.hg-ag-done{opacity:0}
.hg-ag-prog{position:absolute;top:66px;left:32px;right:32px;height:2px;border-radius:2px;background:rgba(43,38,34,.10);z-index:3}
.hg-ag-prog[hidden]{display:none}
.hg-ag-prog i{display:block;height:100%;border-radius:2px;background:var(--ag-gold);transition:width .7s cubic-bezier(.2,.7,.2,1)}
.hg-ag-logo{position:absolute;top:80px;left:50%;transform:translateX(-50%);width:180px;height:auto;opacity:.88;transition:top .42s ease,width .42s ease,opacity .42s ease;pointer-events:none;z-index:2}
.hg-ag-back{position:absolute;top:137px;left:15px;z-index:4;width:44px;height:44px;border:0;background:none;padding:11px;color:var(--ag-ink);opacity:.6;cursor:pointer}
.hg-ag-back[hidden]{display:none}
.hg-ag-back svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hg-ag-stage{position:absolute;inset:0}
.hg-ag-scr{position:absolute;inset:0;margin:0;overflow-y:auto;-webkit-overflow-scrolling:touch}
.hg-ag-wrap{position:absolute;left:32px;right:32px}
.hg-ag-h{font-family:"HG Fraunces","Fraunces",Georgia,serif;font-weight:400;font-style:normal;font-size:42px;line-height:1.12;letter-spacing:-.01em;color:var(--ag-ink);margin:0}
.hg-ag-sub{margin:14px 0 0;font-size:15px;line-height:1.45;color:var(--ag-soft)}
.hg-ag-sub b{font-weight:500;color:var(--ag-ink);word-break:break-all}
/* underlined field */
.hg-ag-f{position:relative;display:flex;align-items:center;margin:44px 0 0;border-bottom:1.5px solid rgba(43,38,34,.28);padding:0 2px 12px;transition:border-color .2s}
.hg-ag-f:focus-within{border-bottom-color:var(--ag-gold)}
.hg-ag-addrf{margin-top:26px}
.hg-ag-f input{flex:1;min-width:0;width:100%;border:0;border-radius:0;background:transparent;padding:0;margin:0;font:400 19px/1.3 "HG Outfit","Outfit",system-ui,sans-serif;color:var(--ag-ink);caret-color:var(--ag-gold);outline:none;-webkit-appearance:none;appearance:none;box-shadow:none}
.hg-ag-f input::placeholder{color:#aca398;opacity:1}
.hg-ag-pwf input[type=password]{letter-spacing:.18em}
.hg-ag-pwf input[type=password]::placeholder{letter-spacing:0}
.hg-ag-eye{flex:none;margin-left:10px;width:30px;height:30px;padding:4px;border:0;background:none;cursor:pointer}
.hg-ag-eye svg{width:22px;height:22px;fill:none;stroke:#7d746a;stroke-width:1.6;stroke-linecap:round}
/* A2: six underlined digits */
.hg-ag-code{position:relative;display:block;margin-top:40px}
.hg-ag-code input{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;font-size:16px;color:transparent;background:transparent;caret-color:transparent;z-index:2}
.hg-ag-cbs{display:flex;justify-content:space-between;gap:8px}
.hg-ag-cb{flex:1;height:54px;display:flex;align-items:center;justify-content:center;border-bottom:1.5px solid rgba(43,38,34,.28);font:400 32px "HG Fraunces","Fraunces",Georgia,serif;color:var(--ag-ink)}
.hg-ag-cb.act{border-bottom:2px solid var(--ag-gold)}
.hg-ag-cb.act:empty:after{content:"";width:1.5px;height:26px;background:var(--ag-gold);animation:hgAgBlink 1.1s steps(1) infinite}
@keyframes hgAgBlink{50%{opacity:0}}
/* B1: strength bar */
.hg-ag-str{margin-top:14px;display:flex;gap:6px}
.hg-ag-str i{flex:1;height:4px;border-radius:2px;background:rgba(43,38,34,.12);transition:background .25s}
.hg-ag-str i.g{background:var(--ag-gold)}
.hg-ag-str i.k{background:#94692a}
.hg-ag-sh{margin:10px 0 0;font-size:14px;color:var(--ag-soft)}
/* C1: floating suggestion card (restyles the site's Photon autocomplete list) */
.hg-ag .hg-ac-wrap{position:static;flex:1;min-width:0}
.hg-ag .hg-ac{position:absolute;left:0;right:0;top:calc(100% + 10px);z-index:6;margin:0;padding:0;list-style:none;background:var(--ag-paper);border:1px solid rgba(43,38,34,.10);border-radius:18px;box-shadow:0 14px 34px -18px rgba(43,38,34,.35);overflow:hidden;max-height:none}
.hg-ag .hg-ac li[role=option]{position:relative;display:block;padding:13px 16px 13px 48px;min-height:0;border-top:1px solid rgba(43,38,34,.07);background:none}
.hg-ag .hg-ac li[role=option]:first-child{border-top:0;background:#fbf3e2}
.hg-ag .hg-ac li[role=option][aria-selected=true]{background:#fbf3e2}@media (hover:hover){.hg-ag .hg-ac li[role=option]:hover{background:#fbf3e2}}
.hg-ag .hg-ac li[role=option]:before{content:"";position:absolute;left:16px;top:50%;width:20px;height:20px;margin-top:-10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8893f' stroke-width='1.6'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0114 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.4'/%3E%3C/svg%3E") center/20px 20px no-repeat}
.hg-ag .hg-ac .hg-ac-1{display:block;font-size:16px;line-height:1.25;color:var(--ag-ink);font-weight:400}
.hg-ag .hg-ac .hg-ac-1 b{font-weight:500}
.hg-ag .hg-ac .hg-ac-2{display:block;margin-top:2px;font-size:13px;color:#8f867c}
.hg-ag .hg-ac li.hg-ac-attr{padding:3px 12px 5px;font-size:10px;color:#b3b2a6;text-align:right;background:none;border:0}
/* D5/D6: age + gender pills */
.hg-ag-lbl{margin:34px 0 0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#8f867c;font-weight:500}
.hg-ag-pills{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hg-ag-pills.wrapr{display:flex;flex-wrap:wrap}
.hg-ag-pill{height:48px;border-radius:999px;border:1px solid #d8cfbf;background:var(--ag-paper);display:flex;align-items:center;justify-content:center;padding:0 12px;font:400 16px "HG Outfit","Outfit",system-ui,sans-serif;color:var(--ag-ink);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s,border-color .2s}
.hg-ag-pills.wrapr .hg-ag-pill{height:44px;padding:0 20px}
.hg-ag-pill[aria-checked=true]{background:#f2deb4;border:1.5px solid var(--ag-gold);box-shadow:inset 0 0 0 .5px var(--ag-gold);font-weight:500}
/* messages, links, footer */
.hg-ag-err{margin:12px 0 0;font-size:14px;line-height:1.4;color:#9b3b2e}
.hg-ag-ok{margin:12px 0 0;font-size:14px;color:var(--ag-soft)}
.hg-ag-err:empty,.hg-ag-ok:empty{display:none}
.hg-ag-foot{position:absolute;left:32px;right:32px;bottom:62px}
.hg-ag-under{position:absolute;left:0;right:0;bottom:72px;margin:0;text-align:center;font-size:14px;color:var(--ag-soft)}
.hg-ag-under[hidden]{display:none}
.hg-ag-dot{margin:0 8px}
.hg-ag-a{border:0;background:none;padding:6px 0;margin:0;font:500 14px "HG Outfit","Outfit",system-ui,sans-serif;color:var(--ag-gold-d);cursor:pointer}
.hg-ag-a.hg-ag-quiet{font-weight:400;color:var(--ag-faint)}
.hg-ag-legal{position:absolute;left:8px;right:8px;bottom:70px;margin:0;text-align:center;font-size:12px;line-height:1.5;color:var(--ag-faint)}
.hg-ag-legal a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.hg-ag-lang{border:0;background:none;padding:0 0 0 6px;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.hg-ag-btn{display:flex;align-items:center;justify-content:center;width:100%;height:56px;border:0;border-radius:999px;background:var(--ag-gold);color:var(--ag-paper);font:600 17px "HG Outfit","Outfit",system-ui,sans-serif;letter-spacing:.03em;box-shadow:0 10px 24px -14px rgba(148,105,42,.55);cursor:pointer;transition:background .25s,box-shadow .25s,opacity .2s;-webkit-tap-highlight-color:transparent}
.hg-ag-btn.dim{background:#e2cfa6;box-shadow:none}
.hg-ag-btn:disabled,.hg-ag-btn.is-busy{opacity:.7}
.hg-sr{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Profile: Delete account (app only, Apple 5.1.1(v)) */
.hg-pf-danger{text-align:center;background:none !important;box-shadow:none !important;border:0 !important;margin-top:18px}
.hg-pf-delbtn{border:0;background:none;padding:10px;font:400 14px var(--sans,system-ui);color:#9b3b2e;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.hg-deldlg{position:fixed;inset:0;z-index:2147483060;background:rgba(43,38,34,.45);display:flex;align-items:flex-end;justify-content:center}
.hg-deldlg-in{width:100%;max-width:480px;box-sizing:border-box;background:#f3eee6;color:#2b2622;border-radius:20px 20px 0 0;padding:26px 26px calc(22px + env(safe-area-inset-bottom,0px));font-family:"HG Outfit","Outfit",system-ui,sans-serif}
.hg-deldlg-in h2{font-family:"HG Fraunces","Fraunces",Georgia,serif;font-weight:400;font-size:28px;line-height:1.15;margin:0 0 10px}
.hg-deldlg-in p{font-size:14.5px;line-height:1.45;color:#7d746a;margin:0 0 6px}
.hg-deldlg-in .hg-ag-f{margin:18px 0 6px}
.hg-deldlg-go,.hg-deldlg-no{display:block;width:100%;height:52px;border-radius:999px;font:500 16px "HG Outfit","Outfit",system-ui,sans-serif;cursor:pointer}
.hg-deldlg-go{border:0;background:#9b3b2e;color:#fff;margin-top:14px}
.hg-deldlg-go:disabled{opacity:.6}
.hg-deldlg-no{border:0;background:none;color:#2b2622;margin-top:6px}
html.hg-app #hg-splash{display:none !important} /* app: never the website splash */
/* site CSS guards: keep the site's input/heading styles out of the sign-up screens */
#hg-welcome .hg-ag-h{text-align:left;font-size-adjust:none;font-weight:400 !important}
#hg-welcome .hg-ag-f input,#hg-welcome .hg-ag-f input:focus{border:0 !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important;outline:none !important;height:auto !important;min-height:0 !important;padding:0 !important;margin:0 !important}
#hg-welcome .hg-ag-sub,#hg-welcome .hg-ag-lbl,#hg-welcome .hg-ag-legal,#hg-welcome .hg-ag-under{text-align:left}
#hg-welcome .hg-ag-legal,#hg-welcome .hg-ag-under{text-align:center}
.hg-deldlg-in h2{font-family:"HG Fraunces","Fraunces",Georgia,serif !important;font-weight:400 !important;font-size-adjust:none}
/* L1 log-in screen: labeled Email + Password on one screen, "Forgot password?" right-aligned under the fields */
#hg-welcome .hg-ag-lbl2{margin-top:30px}
#hg-welcome .hg-ag-fx{margin-top:12px}
.hg-ag-row2{display:flex;justify-content:flex-end;margin-top:14px}
.hg-ag-row2 .hg-ag-a{padding:4px 0}
.hg-deldlg .hg-ag-f input,.hg-deldlg .hg-ag-f input:focus{border:0 !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important;outline:none !important;height:auto !important;min-height:0 !important;padding:0 !important;margin:0 !important}
/* email screen: "Already have an account? Sign in" under Continue (placement still being picked) */
#hg-welcome .hg-ag-s-email .hg-ag-foot{bottom:26px}
#hg-welcome .hg-ag-s-email .hg-ag-legal{bottom:106px}
.hg-ag-alt{margin:12px 0 0;text-align:center;font-size:13px;line-height:24px;color:#8f867c}
.hg-ag-alt .hg-ag-a{padding:0;font-size:13px}
/* app only: cream status-bar area (behind the clock/battery) on every screen */
html.hg-app,html.hg-app body{background-color:#f3eee6 !important}
html.hg-app body::before{content:"";position:fixed;left:0;right:0;top:0;height:env(safe-area-inset-top,0px);background:#f3eee6;z-index:2147483000;pointer-events:none}
/* HG_AG_FIX3 (Oct 30 2026, Collin on his iPhone: "I want the info to all appear and fade it together ... No glitching"):
   - plain cream, then the WHOLE gate (logo, heading, subline, field, button, links) fades in as ONE layer, opacity only,
     1.4s ease-out, started by a single class (.hg-ag-in) once the fonts and the logo are decoded and layout is final.
   - no stagger, no transforms, no transitions on size/position anywhere in the gate.
   - sizes are picked ONCE when the gate opens (JS adds sz-m / sz-s / sz-xs), never from height media queries, so Safari's
     toolbar or the keyboard can never resize or move anything. Layout is anchored to the top; the keyboard just overlays.
   - steps: gentle cross-fade of the whole screen. Known account: the password field fades in in place under the email.
   - opacity fades also run with iOS Reduce Motion on (they have no motion); fix2 switched them off there. */
.hg-ag,.hg-ag *{-webkit-tap-highlight-color:transparent !important}
.hg-ag{--ag-st:env(safe-area-inset-top,0px);--ag-lt:40px;--ag-lw:180px;--ag-gap:44px;--ag-fg:30px;--ag-hs:40px;--ag-fm:34px;
  position:fixed !important;top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;width:auto !important;height:auto !important;max-height:none !important;
  z-index:2147483050;background:#f3eee6 !important;overflow:hidden !important;overscroll-behavior:none;touch-action:manipulation;
  transition:opacity .45s ease;animation:none !important;transform:none !important}
.hg-ag.sz-m{--ag-lt:30px;--ag-lw:160px;--ag-gap:34px;--ag-fg:26px;--ag-hs:38px;--ag-fm:30px}
.hg-ag.sz-s{--ag-lt:18px;--ag-lw:124px;--ag-gap:24px;--ag-fg:22px;--ag-hs:34px;--ag-fm:26px}
.hg-ag.sz-xs{--ag-lt:12px;--ag-lw:104px;--ag-gap:16px;--ag-fg:18px;--ag-hs:31px;--ag-fm:22px}
.hg-ag.sz-xs .hg-ag-sub{margin-top:10px}
.hg-ag.sz-m .hg-ag-s-about .hg-ag-pills.wrapr .hg-ag-pill,.hg-ag.sz-s .hg-ag-s-about .hg-ag-pills.wrapr .hg-ag-pill,.hg-ag.sz-xs .hg-ag-s-about .hg-ag-pills.wrapr .hg-ag-pill{height:40px}
.hg-ag.sz-m .hg-ag-s-about .hg-ag-pill,.hg-ag.sz-s .hg-ag-s-about .hg-ag-pill,.hg-ag.sz-xs .hg-ag-s-about .hg-ag-pill{height:44px}
/* the one layer that fades in */
.hg-ag-all{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0}
.hg-ag.hg-ag-in .hg-ag-all{opacity:1;animation:hgAgIn3 1.4s cubic-bezier(.25,.1,.25,1) both}
@keyframes hgAgIn3{from{opacity:0}to{opacity:1}}
.hg-ag-logo{position:absolute !important;top:calc(var(--ag-st) + var(--ag-lt)) !important;left:0 !important;right:0 !important;margin:0 auto !important;
  width:var(--ag-lw) !important;height:calc(var(--ag-lw) * .875) !important;transform:none !important;transition:none !important;animation:none !important;opacity:.88}
.hg-ag-prog{top:calc(var(--ag-st) + 14px) !important;animation:none !important;transition:none !important}
.hg-ag-back{top:calc(var(--ag-st) + 24px) !important;animation:none !important;transition:none !important}
.hg-ag-stage{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}
.hg-ag-scr{position:absolute;top:0;right:0;bottom:0;left:0;display:block;overflow:hidden;margin:0;
  padding:calc(var(--ag-st) + var(--ag-lt) + var(--ag-lw) * .875 + var(--ag-gap)) 32px 0 !important;
  opacity:0;transform:none !important;animation:none !important;transition:opacity .55s ease-out}
.hg-ag-scr.on{opacity:1}
.hg-ag-scr.out{opacity:0;transition:opacity .35s ease-in;pointer-events:none}
.hg-ag-scr.now{transition:none}
.hg-ag-scr .hg-ag-q,.hg-ag-scr .hg-ag-h,.hg-ag-scr .hg-ag-sub,.hg-ag-scr .hg-ag-body,.hg-ag-scr .hg-ag-foot{opacity:1;transform:none !important;transition:none !important;animation:none !important}
.hg-ag-wrap{position:static !important;top:auto !important;left:auto !important;right:auto !important}
.hg-ag-foot{position:static !important;left:auto !important;right:auto !important;bottom:auto !important;margin-top:var(--ag-fg)}
#hg-welcome .hg-ag-legal,#hg-welcome .hg-ag-under,#hg-welcome .hg-ag-s-email .hg-ag-legal{position:static !important;bottom:auto !important;left:auto;right:auto;margin:0 0 14px;text-align:center}
#hg-welcome .hg-ag-s-email .hg-ag-foot{bottom:auto !important}
#hg-welcome .hg-ag-h{font-size:var(--ag-hs)}
#hg-welcome .hg-ag-f{margin-top:var(--ag-fm)}
#hg-welcome .hg-ag-addrf{margin-top:calc(var(--ag-fm) - 10px)}
#hg-welcome .hg-ag-code{margin-top:var(--ag-fm)}
#hg-welcome .hg-ag-lbl{margin-top:calc(var(--ag-fm) - 6px)}
#hg-welcome .hg-ag-lbl2{margin-top:calc(var(--ag-fm) - 8px)}
#hg-welcome .hg-ag-f input{font-size:19px !important;background:transparent !important;-webkit-appearance:none;appearance:none} /* >=16px: iOS never zooms */
#hg-welcome input:focus,#hg-welcome button:focus{outline:none}
#hg-welcome .hg-ag-f:focus-within{background:transparent !important}
/* known account: the password field fades in in place under the email (nothing above it moves) */
#hg-welcome .hg-ag-pwx .hg-ag-f{margin-top:22px}
.hg-ag-scr.pw-hide .hg-ag-foot,.hg-ag-scr.pw-hide .hg-ag-q{opacity:0 !important;transition:opacity .28s ease-in !important}
.hg-ag.hg-ag-noprog .hg-ag-prog{opacity:0 !important;transition:opacity .28s ease-in !important}
.hg-ag-scr.pw-on .hg-ag-legal,.hg-ag-scr.pw-on .hg-ag-alt{display:none !important}
.hg-ag-scr.pw-on .hg-ag-pwx,.hg-ag-scr.pw-on .hg-ag-foot,.hg-ag-scr.pw-on .hg-ag-q{animation:hgAgIn3 .75s ease-out both !important}
/* <<< HG_APP_AUTHGATE_V1 */

/* HG_TABBAR_B_V1 >>> */
/* Collin pt1317u (2026-10-30): floating pill tab bar (mockup B, slim). Overrides the earlier tab bar blocks on phones. */
@media (max-width:640px){
  html:root body{padding-bottom:calc(54px + max(10px, calc(env(safe-area-inset-bottom,0px) - 14px)) + 18px + var(--hg-tb-lift,0px)) !important}
  html:root body nav.hg-tabbar{display:flex !important;position:fixed !important;left:0 !important;right:0 !important;bottom:var(--hg-tb-lift,0px) !important;top:auto !important;
    z-index:50;box-sizing:content-box !important;height:54px !important;
    padding:0 calc(22px + env(safe-area-inset-right,0px)) max(10px, calc(env(safe-area-inset-bottom,0px) - 14px)) calc(22px + env(safe-area-inset-left,0px)) !important;
    margin:0 !important;justify-content:space-around;align-items:stretch !important;
    background:none !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;border:0 !important;box-shadow:none !important;
    border-radius:0 !important;pointer-events:none;transform:none !important;transition:none !important}
  html:root body nav.hg-tabbar::before{content:"" !important;display:block !important;position:absolute !important;z-index:-1 !important;
    left:calc(16px + env(safe-area-inset-left,0px)) !important;right:calc(16px + env(safe-area-inset-right,0px)) !important;
    top:0 !important;bottom:max(10px, calc(env(safe-area-inset-bottom,0px) - 14px)) !important;height:auto !important;box-sizing:border-box;border-radius:27px;
    background:rgba(255,253,248,.97) !important;border:1px solid rgba(184,137,63,.7);
    box-shadow:0 10px 26px -12px rgba(43,38,34,.36),0 2px 6px rgba(43,38,34,.06);pointer-events:none}
  html:root body nav.hg-tabbar::after{content:"";position:absolute;z-index:-2;left:0;right:0;top:-22px;bottom:calc(0px - var(--hg-tb-lift,0px));
    background:linear-gradient(rgba(243,238,230,0),rgba(243,238,230,.9) 62%);pointer-events:none}
  html:root body nav.hg-tabbar a{pointer-events:auto;flex:1;height:54px !important;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;
    justify-content:center !important;gap:3px !important;padding:0 !important;margin:0 !important;background:none !important;border-radius:0 !important;
    color:rgba(43,38,34,.55) !important;font:500 10px/1 var(--sans) !important;letter-spacing:.03em !important;text-decoration:none;
    -webkit-tap-highlight-color:transparent}
  html:root body nav.hg-tabbar a.on{color:#a67a33 !important;font-weight:600 !important}
  html:root body nav.hg-tabbar svg{width:20px !important;height:20px !important;flex:none;stroke:currentColor;fill:none;stroke-width:1.6}
  html:root body nav.hg-tabbar a.on svg{stroke-width:2 !important}
  html:root body nav.hg-tabbar a.on::after{display:none !important}
}
/* <<< HG_TABBAR_B_V1 */
/* HG_AG_KB_V1 >>> */
/* HG_AG_KB_V4 + HG_AG_B2 (Collin Oct 30 2026, after V3 on his iPhone: "Now it's on the top and looks like shit ... Center it and give
   a chance to scroll down a smidge if you need to see something"): each step is vertically CENTERED with the normal logo size, and
   the gate is a normal page that scrolls with the document (no fixed overlay, no locked body; ~36% of a screen of cream below the
   content). iOS's own focus scroll is left alone; nothing of ours moves, hides or compacts on focus or keyboard. The page height is
   fixed in px once at open (--v4-h, never the keyboard / toolbar). B2 look kept: no progress bar, gold side vines (logo top -> field
   line), pale-gold button, centered text. No green. */
html.hg-gate.hg-v4,html.hg-gate.hg-v4 body{overflow-x:hidden !important;overflow-y:auto !important;height:auto !important;min-height:100% !important;
  position:static !important;overscroll-behavior:none !important;background:#f3eee6 !important;scroll-snap-type:none !important}
html.hg-v4 body{margin:0 !important;padding:0 !important}
/* the app page behind the gate keeps its size but takes no room and is never seen or touched */
html.hg-v4 body>*:not(#hg-welcome){position:fixed !important;top:0 !important;left:0 !important;width:100% !important;height:100% !important;overflow:hidden !important;
  visibility:hidden !important;opacity:0 !important;pointer-events:none !important;z-index:-1 !important}
#hg-welcome.hg-ag{position:relative !important;top:auto !important;left:auto !important;right:auto !important;bottom:auto !important;width:100% !important;
  height:calc(var(--v4-h,100svh) + var(--v4-x,36svh)) !important;overflow:visible !important;overscroll-behavior:none !important;touch-action:manipulation}
#hg-welcome .hg-ag-prog{display:none !important}
/* the step: padding-top reserves safe-top + logo + gap, padding-bottom is the scroll-down cream; content centered in between
   (auto margins = centered, but never pushed above the top when a step is taller than the screen) */
#hg-welcome .hg-ag-stage .hg-ag-scr{display:flex !important;flex-direction:column !important;justify-content:flex-start !important;
  padding:calc(var(--ag-st) + var(--ag-lw) * .875 + var(--ag-gap)) 50px var(--v4-x,36svh) !important}
#hg-welcome .hg-ag-scr>.hg-ag-wrap{margin-top:auto !important;flex:none !important}
#hg-welcome .hg-ag-scr>.hg-ag-foot{margin-bottom:auto !important;flex:none !important}
#hg-welcome .hg-ag-logo{top:var(--v4-lt,calc(var(--ag-st) + var(--ag-lt))) !important}
#hg-welcome.hg-v4-ready .hg-ag-logo{transition:top .45s ease !important}
#hg-welcome .hg-ag-scr .hg-ag-sub{line-height:1.4 !important}
#hg-welcome .hg-ag-legal,#hg-welcome .hg-ag-under,#hg-welcome .hg-ag-s-email .hg-ag-legal{margin:0 0 12px !important}
#hg-welcome .hg-ag-row2{margin-top:10px !important}
#hg-welcome .hg-ag-err,#hg-welcome .hg-ag-ok{margin-top:8px !important}
#hg-welcome .hg-ag-f input{font-size:18px !important} /* >=16px: iOS never zooms */
#hg-welcome .hg-ag-btn{height:54px !important}
/* back arrow: small charcoal chevron, 44px tap target, top-left of the centered block (level with the logo top), inside the left vine */
#hg-welcome .hg-ag-back{top:max(var(--ag-st), calc(var(--v4-lt,var(--ag-st)) - 4px)) !important;left:44px !important;width:44px !important;height:44px !important;padding:11px !important;color:#2b2622 !important;opacity:.72 !important;z-index:7 !important}
#hg-welcome.hg-v4-ready .hg-ag-back{transition:top .45s ease !important}
#hg-welcome .hg-ag-back svg{stroke-width:1.6 !important}
/* Welcome back = password only: the email stays in the form for autofill but is visually hidden (not display:none) */
#hg-welcome .hg-v3-pwonly .hg-v3-uname{position:absolute !important;width:1px !important;height:1px !important;margin:0 !important;padding:0 !important;border:0 !important;overflow:hidden !important;opacity:0 !important;clip-path:inset(50%) !important;pointer-events:none !important}
#hg-welcome .hg-v3-pwonly .hg-ag-lbl2{display:none !important}
#hg-welcome .hg-v3-pwonly .hg-ag-pwx .hg-ag-f,#hg-welcome .hg-v3-pwonly .hg-ag-pwf.hg-ag-fx{margin-top:var(--ag-fm) !important}
/* centered text, like the mockup */
#hg-welcome .hg-ag-scr .hg-ag-h,#hg-welcome .hg-ag-scr .hg-ag-sub,#hg-welcome .hg-ag-scr .hg-ag-lbl{text-align:center !important}
#hg-welcome .hg-ag-scr .hg-ag-f input{text-align:center !important}
#hg-welcome .hg-ag-scr .hg-ag-f.hg-ag-pwf input{padding-left:40px !important} /* balances the eye button so the dots stay centered */
#hg-welcome .hg-ag-scr .hg-ag-pills{justify-content:center}
/* gold vines on both edges, logo top -> first field line (set when a step opens; never on focus) */
#hg-welcome .hg-b2-vine{position:absolute;top:var(--b2-vt,0px);height:var(--b2-vh,0px);width:30px;color:#b8893f;opacity:.75;pointer-events:none;z-index:1}
#hg-welcome.hg-v4-ready .hg-b2-vine{transition:top .45s ease,height .45s ease}
#hg-welcome .hg-b2-vine svg{display:block;width:100%;height:100%}
#hg-welcome .hg-b2-vl{left:12px}
#hg-welcome .hg-b2-vr{right:12px;transform:scaleX(-1)}
#hg-welcome:not(.hg-b2-pos) .hg-b2-vine,#hg-welcome.hg-b2-novine .hg-b2-vine{opacity:0}
/* primary button: pale gold, gold border (matches the selected pills / vote buttons) */
#hg-welcome .hg-ag-btn{background:#f2deb4 !important;border:1.5px solid #b8893f !important;box-shadow:inset 0 0 0 .5px #b8893f !important;border-radius:999px !important;
  color:#2b2622 !important;font:600 21px/1 "Cormorant Garamond",Georgia,serif !important;letter-spacing:.01em !important;text-transform:none !important}
#hg-welcome .hg-ag-btn.dim{background:#f2deb4 !important;color:rgba(43,38,34,.55) !important;box-shadow:inset 0 0 0 .5px rgba(184,137,63,.6) !important;border-color:rgba(184,137,63,.7) !important}
#hg-welcome .hg-ag-btn:active{background:#ecd29f !important}
/* status bar stays cream while the page scrolls under it */
#hg-welcome .hg-ag-all::after{content:"";position:fixed;left:0;right:0;top:0;height:env(safe-area-inset-top,0px);background:#f3eee6;z-index:8;pointer-events:none}
/* <<< HG_AG_KB_V1 */
/* HG_AG_NOBAD_V1 >>> */
/* HG_AG_NOBAD_V1 (Collin pt1389u): no error line and no red/invalid styling on a gate screen while its email field is still empty; the "enter a real email" text is gone from app.js. Rollback: delete this block. */
#hg-welcome .hg-ag-scr:has(input[name="email"]:placeholder-shown) .hg-ag-err{display:none !important}
#hg-welcome .hg-ag-scr input:invalid,#hg-welcome .hg-ag-scr input:user-invalid{box-shadow:none !important;outline:none}
/* <<< HG_AG_NOBAD_V1 */
/* HG_APP_TOPSAFE_V1 >>> */
/* HG_APP_TOPSAFE_V1 + HG_APP_DELPROFILE_V1 (see runs/tabs-smooth-1030/apply_app_top_del.py) */
html.hg-app{--hg-sat:env(safe-area-inset-top,0px)}
html.hg-app body::before{height:var(--hg-sat,env(safe-area-inset-top,0px))}
html.hg-app:not(.hg-pane) body{padding-top:env(safe-area-inset-top,0px)}
html.hg-app #hg-shell{top:var(--hg-sat,env(safe-area-inset-top,0px))}
html.hg-app .hg-explore-page .hg-cats{top:var(--hg-sat,0px)}
html.hg-pane{--hg-sat:0px}
.hg-app-del{display:none !important}
/* <<< HG_APP_TOPSAFE_V1 */
/* HG_AG_PWREVEAL_V1 >>> */
/* HG_AG_PWREVEAL_V1 (Collin pt1384u, Oct 30 2026: "the first time you open password type, it doesn't scroll up. After you wait a sec,
   click it again, it moves up"). Cause: on Welcome back the password row faded in from opacity 0 over 0.75s (hgAgIn3), and the field
   got focus (Go/Continue hand-off, or a quick tap) while still transparent. iOS WebKit skips its scroll-to-reveal for a focused field
   that is transparent or clipped, so the page did not lift until a later tap after the fade. Fix: in the app gate (html.hg-v4) the
   password field swaps in place of the email line fully opaque from its first frame; only "Forgot password?" under it keeps the
   fade (heading and Sign in still fade as before). Pure CSS, nothing runs on focus. Rollback: delete this block. */
html.hg-v4 #hg-welcome .hg-ag-scr.pw-on .hg-ag-pwx{animation:none !important;opacity:1 !important}
html.hg-v4 #hg-welcome .hg-ag-scr.pw-on .hg-ag-pwx .hg-ag-row2{animation:hgAgIn3 .75s ease-out both !important}
/* HG_AG_PWREVEAL_V1 part 2 (Oct 30 2026, same cause): every other gate screen that has a text field (e.g. the sign-in screen reached
   by going back from "Forgot password?", the code / new-password / address steps) used to fade the WHOLE screen in from opacity 0
   over 0.55s, so a quick tap focused a transparent field and iOS skipped the lift. Now such a screen is opaque from its first frame
   and its field rows (.hg-ag-f / .hg-ag-code) show at full opacity immediately; the heading, labels, links and buttons keep the same
   0.55s fade (own keyframes name so Welcome back's pw-on re-fade still restarts). Screens without a field, the first screen (.now,
   inside the intro fade) and Welcome back (.pw-on, handled above) are unchanged; the 0.35s fade-out is unchanged. Needs :has()
   (iOS 15.4+); without it the old fade stays. Pure CSS. */
@keyframes hgAgFn1{from{opacity:0}to{opacity:1}}
html.hg-v4 #hg-welcome .hg-ag-scr:not(.out):not(.now):has(.hg-ag-f,.hg-ag-code){transition:none !important;opacity:1 !important}
html.hg-v4 #hg-welcome .hg-ag-scr:not(.on):not(.out):not(.now):has(.hg-ag-f,.hg-ag-code) :is(.hg-ag-q,.hg-ag-foot,.hg-ag-body>:not(.hg-ag-f):not(.hg-ag-code)){opacity:0 !important}
html.hg-v4 #hg-welcome .hg-ag-scr.on:not(.now):not(.pw-on):has(.hg-ag-f,.hg-ag-code) :is(.hg-ag-q,.hg-ag-foot,.hg-ag-body>:not(.hg-ag-f):not(.hg-ag-code)){animation:hgAgFn1 .55s ease-out both !important}
/* <<< HG_AG_PWREVEAL_V1 */
/* HG_PHFADE1030: placeholder fades out on focus so the caret never blinks through it (Collin t1410u) */
.hg-ag-f input::placeholder{transition:color .18s ease}
.hg-ag-f input:focus::placeholder{color:transparent}

/* HG_PASTE1030: iOS hides the paste menu on opacity:0 inputs; keep it invisible but "visible" */
.hg-ag-code input{opacity:.012 !important;-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
.hg-ag-paste{display:block;margin:14px auto 0;background:none;border:0;padding:6px 10px;font:500 .9rem var(--sans);color:#9a7a3a;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
/* HG_TABS_SMOOTH_V1 >>> */
/* HG_TABS_SMOOTH_V1 (2026-10-30, Collin pt1367u "ours is soooooo glitchy compared to Instagram"):
   tab switches are still real page loads, but now they swap like an app:
   - cross-document View Transition (Safari / iOS 18.2+, Chrome 126+): the old screen stays up until the new one can draw,
     then the new one fades in over it in .16s. No cream/blank frame.
   - the bottom tab bar is its own transition layer with NO animation, so it never blinks or moves.
   - photos that are still loading sit invisible on their existing cream boxes and fade in (.2s) instead of popping.
   Browsers without View Transitions simply navigate as before. */
@view-transition{navigation:auto}
html:root body nav.hg-tabbar{view-transition-name:hg-tabbar}
::view-transition-group(hg-tabbar){animation:none}
::view-transition-old(hg-tabbar){animation:none;opacity:0}
::view-transition-new(hg-tabbar){animation:none;opacity:1}
::view-transition-old(root){animation:none}
::view-transition-new(root){animation:hg-ts-in .16s ease-out both}
@keyframes hg-ts-in{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){::view-transition-new(root){animation:none}}
html:root body nav.hg-tabbar a{-webkit-tap-highlight-color:transparent}
main img.hg-imgwait{opacity:0}
main img.hg-imgin{animation:hg-ts-img .2s ease-out}
@keyframes hg-ts-img{from{opacity:0}to{opacity:1}}
/* persistent app shell (see the JS block of the same name): the other tabs live in hidden full-screen frames under the one tab bar */
#hg-shell{position:fixed;left:0;right:0;top:env(safe-area-inset-top,0px);bottom:0;visibility:hidden;pointer-events:none;background:#f3eee6;contain:strict}
html.hg-sh-away #hg-shell{visibility:visible;pointer-events:auto}
#hg-shell>iframe{position:absolute;left:0;top:0;width:100%;height:100%;border:0;margin:0;padding:0;display:block;visibility:hidden;background:transparent;color-scheme:normal}
html.hg-sh-away #hg-shell>iframe.on{visibility:visible}
html.hg-sh-away body>*:not(#hg-shell):not(nav.hg-tabbar):not(script):not(style){visibility:hidden !important}
html.hg-pane:root body nav.hg-tabbar{display:none !important}
html.hg-pane body::after{content:"";display:block;height:var(--hg-pane-sab,0px)}
/* HG_PANE_CITYSHEET_1105: in the smooth-tab Home pane the parent tab bar floats over the sheet; keep the last city (Virginia Beach) above it */
html.hg-pane .hg-cs-panel{padding-bottom:calc(1rem + 80px + var(--hg-pane-sab,0px))}
/* <<< HG_TABS_SMOOTH_V1 */
/* HG_X_PRELOAD_V1 >>> */
/* HG_X_PRELOAD_V1 V2: video tiles (p.v) play muted over their poster photo */
.hg-xc-ph{position:relative}
.hg-xc-ph video.hg-xv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;background:transparent}
/* <<< HG_X_PRELOAD_V1 */
/* HG_EXPLORE_G_V1 >>> */
/* HG_EXPLORE_G_V1 (Collin 10-30, layout G by Tori): Instagram-style Explore grid. Rollback: apply_explore_g.py BUILD --remove */
html .hg-xfeed{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;grid-auto-flow:row dense}
@media (max-width:899px){html .hg-xfeed{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}}
@media (min-width:900px){html .hg-xfeed{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;max-width:935px;margin-left:auto;margin-right:auto}}
html .hg-xfeed .hg-xc{position:relative;min-width:0;margin:0;padding:0;background:#ebe3d6;border:0;border-radius:0;box-shadow:none;content-visibility:visible;contain-intrinsic-size:none;display:block}
html .hg-xfeed .hg-xc>a{display:block;position:relative;height:100%;color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
html .hg-xfeed .hg-xc-ph{position:relative;aspect-ratio:3/4;border-radius:0;overflow:hidden;background:#ebe3d6}
html .hg-xfeed .hg-xc-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:none !important;transition:none}
html .hg-xfeed .hg-xc-b{display:none}
html .hg-xfeed .hg-xc.xg-big{grid-row:span 2}
html .hg-xfeed .hg-xc.xg-big.xg-r{grid-column:3}
html .hg-xfeed .hg-xc.xg-big.xg-l{grid-column:1}
html .hg-xfeed .hg-xc.xg-big .hg-xc-ph{aspect-ratio:auto;height:100%}
html .hg-xfeed .xg-gk{position:absolute;top:8px;left:7px;z-index:1;display:inline-flex;align-items:center;gap:4px;padding:0;border-radius:0;background:none;color:#fff;font:500 .74rem/1 var(--sans);letter-spacing:.01em;text-shadow:0 0 3px rgba(0,0,0,.55),0 1px 2px rgba(0,0,0,.5);pointer-events:none}
html .hg-xfeed .xg-gk svg{width:12px;height:12px;flex:none;stroke:#e9c25a;fill:none;stroke-width:2;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.6))}
html .hg-xfeed .xg-gk b{font-weight:500}
html .hg-xfeed .hg-xc .hg-heart{position:absolute;top:auto;left:auto;bottom:4px;right:4px;z-index:2;width:24px;height:24px;padding:0;background:none;border:0;border-radius:0;box-shadow:none;color:#fff;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.6))}
html .hg-xfeed .hg-xc .hg-heart::before{content:"";position:absolute;inset:-8px}
html .hg-xfeed .hg-xc .hg-heart svg{width:17px;height:17px;stroke:#fff;color:#fff;fill:none}
html .hg-xfeed .hg-xc .hg-heart[aria-pressed="true"] svg,html .hg-xfeed .hg-xc .hg-heart.on svg{fill:#fff}
html .hg-xfeed .hg-x-div{padding:0 12px}
html .hg-xfeed .hg-x-none{padding:0 16px}
/* <<< HG_EXPLORE_G_V1 */
/* HG_EXPLORE_BIG4 (Collin t1430u): big Explore photos fill a 2x2 block (4 tiles) so they're actually viewable */
html .hg-xfeed .hg-xc.xg-big{grid-row:span 2}
html .hg-xfeed .hg-xc.xg-big.xg-r{grid-column:2 / span 2}
html .hg-xfeed .hg-xc.xg-big.xg-l{grid-column:1 / span 2}

/* HG_VIDEO_V1 >>> (Collin pt1474u) place videos: last slide of the place-page gallery + Explore video tile sound button */
.hg-phero .hg-media{position:relative}
.hg-phero .hg-media video.hg-pv{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#0d110e;z-index:1;display:block}
.hg-phero .hg-media video.hg-pv[hidden]{display:none}
.hg-phero.hg-gdrag .hg-media video.hg-pv,.hg-phero.hg-gmove .hg-media video.hg-pv{visibility:hidden}
.hg-phero.hg-onv .hg-gdots{display:none}
html .hg-xfeed .hg-xc .xg-snd{position:absolute;top:5px;right:5px;z-index:2;width:28px;height:28px;min-height:0;padding:0;margin:0;border:0;border-radius:0;background:none;box-shadow:none;color:#fff;display:grid;place-items:center;cursor:pointer;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.6));-webkit-tap-highlight-color:transparent}
html .hg-xfeed .hg-xc .xg-snd::before{content:"";position:absolute;inset:-8px}
html .hg-xfeed .hg-xc .xg-snd svg{width:19px;height:19px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html .hg-xfeed .hg-xc .xg-snd svg path:first-child{fill:#fff}
/* <<< HG_VIDEO_V1 */

/* HG_VIDEO_V2 >>> (Collin pt1482u) the place video looks like a moving photo, exactly like the Explore tile: no player chrome, poster under it, small speaker */
.hg-phero .hg-media video.hg-pv{background:transparent;pointer-events:none}
video.hg-pv::-webkit-media-controls,video.hg-xv::-webkit-media-controls,video.hg-pv::-webkit-media-controls-panel,video.hg-xv::-webkit-media-controls-panel,video.hg-pv::-webkit-media-controls-overlay-play-button,video.hg-xv::-webkit-media-controls-overlay-play-button,video.hg-pv::-webkit-media-controls-start-playback-button,video.hg-xv::-webkit-media-controls-start-playback-button,video.hg-pv::-webkit-media-controls-play-button,video.hg-xv::-webkit-media-controls-play-button,video.hg-pv::-webkit-media-controls-enclosure,video.hg-xv::-webkit-media-controls-enclosure,video.hg-pv::-webkit-media-controls-overlay-enclosure,video.hg-xv::-webkit-media-controls-overlay-enclosure{display:none!important;-webkit-appearance:none!important;opacity:0!important}
html .hg-phero .hg-media .xg-snd{position:absolute;top:8px;left:8px;z-index:3;width:28px;height:28px;min-height:0;padding:0;margin:0;border:0;border-radius:0;background:none;box-shadow:none;color:#fff;display:grid;place-items:center;cursor:pointer;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.6));-webkit-tap-highlight-color:transparent}
html .hg-phero .hg-media .xg-snd[hidden]{display:none}
html .hg-phero .hg-media .xg-snd::before{content:"";position:absolute;inset:-8px}
html .hg-phero .hg-media .xg-snd svg{width:19px;height:19px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html .hg-phero .hg-media .xg-snd svg path:first-child{fill:#fff}
.hg-phero.hg-gdrag .hg-media .xg-snd,.hg-phero.hg-gmove .hg-media .xg-snd{visibility:hidden}
/* <<< HG_VIDEO_V2 */

/* HG_VIDEO_V3 >>> (Collin 10:15 AM ET) no blank flash: the frame-0 poster photo sits under the video; the video is revealed only on its first painted frame; the place video fills the frame like the Explore tile */
.hg-phero .hg-media video.hg-pv{object-fit:cover}
.hg-xc-ph video.hg-xv,.hg-phero .hg-media video.hg-pv{opacity:0;transition:opacity .08s linear}
.hg-xc-ph video.hg-xv.hg-von,.hg-phero .hg-media video.hg-pv.hg-von{opacity:1}
/* <<< HG_VIDEO_V3 */

/* HG_VIDEO_V4 >>> (Collin 10:40 AM ET) the waiting video is .01 opacity (not 0) so Safari never counts it as invisible; still revealed only on its first frame */
.hg-xc-ph video.hg-xv,.hg-phero .hg-media video.hg-pv{opacity:.01}
.hg-xc-ph video.hg-xv.hg-von,.hg-phero .hg-media video.hg-pv.hg-von{opacity:1}
/* <<< HG_VIDEO_V4 */
/* HG_DESKTOP_TABBAR_V1 >>> */
/* Collin 2026-10-31: on the Mac (wider than 640px) Home / Explore / Saved / Map (was Profile, HG_MAP_TAB_1031) stay pinned at the bottom while scrolling.
   Before this the bottom tab bar was display:none above 640px, so the only tab links were in the top header, which scrolls away.
   Same slim floating pill as the phone bar (HG_TABBAR_B_V1), centered. Phones (<=640px) are untouched.
   The body gets bottom padding so the last items / footer can scroll clear of the bar. Hidden under the gate and inside shell panes as before. */
@media (min-width:641px){
  html:root body{padding-bottom:calc(54px + 16px + 24px + env(safe-area-inset-bottom,0px)) !important}
  html:root body nav.hg-tabbar{display:flex !important;position:fixed !important;top:auto !important;right:auto !important;
    left:calc(50% - min(220px, 50vw - 16px)) !important;bottom:calc(16px + env(safe-area-inset-bottom,0px)) !important;
    width:min(440px, calc(100vw - 32px)) !important;height:54px !important;box-sizing:border-box !important;z-index:50;
    margin:0 !important;padding:0 10px !important;justify-content:space-around;align-items:stretch !important;
    background:rgba(255,253,248,.97) !important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
    border:1px solid rgba(184,137,63,.7) !important;border-radius:27px !important;
    box-shadow:0 10px 26px -12px rgba(43,38,34,.36),0 2px 6px rgba(43,38,34,.06) !important;transform:none !important;transition:none !important}
  html:root body nav.hg-tabbar::before,html:root body nav.hg-tabbar::after{display:none !important}
  html:root body nav.hg-tabbar a{flex:1;height:52px !important;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;
    justify-content:center !important;gap:3px !important;padding:0 !important;margin:0 !important;background:none !important;border-radius:0 !important;
    color:rgba(43,38,34,.55) !important;font:500 11px/1 var(--sans) !important;letter-spacing:.03em !important;text-decoration:none;cursor:pointer}
  @media (hover:hover){html:root body nav.hg-tabbar a:hover{color:rgba(43,38,34,.85) !important}}
  html:root body nav.hg-tabbar a.on{color:#a67a33 !important;font-weight:600 !important}
  html:root body nav.hg-tabbar svg{width:21px !important;height:21px !important;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  html:root body nav.hg-tabbar a.on svg{stroke-width:2 !important}
  html:root body nav.hg-tabbar a[data-t=saved].on svg{fill:currentColor}
  html:root body nav.hg-tabbar a.on::after{display:none !important}
}
/* <<< HG_DESKTOP_TABBAR_V1 */

/* HG_MAP_TAB_1031 >>> Map tab (E1), account menu */
html.hgm-on,html.hgm-on body{overflow:hidden;overscroll-behavior:none}
html:root.hgm-on body{padding-bottom:0 !important}
.hg-map-page{margin:0;padding:0;min-height:0}
.hg-map-page .hgm-h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#hg-map-root{position:fixed;left:0;right:0;bottom:0;top:150px;z-index:1;display:flex;flex-direction:column;background:#f3eee6}
#hg-map-root .hg-cats.hgm-cats{flex-wrap:nowrap !important;justify-content:flex-start !important;overflow-x:auto !important;overflow-y:hidden;gap:.55rem !important;column-gap:.55rem !important;margin:0 !important;padding:.15rem 14px .55rem !important;position:relative;z-index:3;background:#f3eee6;flex:none;scrollbar-width:none}
#hg-map-root .hg-cats.hgm-cats::-webkit-scrollbar{display:none}
#hg-map-root .hg-cats.hgm-cats>button{flex:none !important;min-width:58px !important;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:0;margin:0;background:transparent;border:0;color:var(--charcoal);font:500 .74rem var(--sans);cursor:pointer;-webkit-tap-highlight-color:transparent}
#hg-map-root .hg-cats.hgm-cats>button[aria-pressed=true] .ic{background:var(--hg-sel-bg,var(--beige));border-color:var(--hg-sel-bd,var(--forest));box-shadow:inset 0 0 0 .5px var(--hg-sel-bd,var(--forest))}
#hg-map-root .hg-cats.hgm-cats>button[aria-pressed=true]>span:last-child{color:var(--forest);font-weight:600}
@media (min-width:641px){#hg-map-root .hg-cats.hgm-cats{justify-content:center !important;gap:1.4rem !important;column-gap:1.4rem !important}}
.hgm-mapwrap{position:relative;flex:1;min-height:0}
#hgm-map{position:absolute;inset:0;background:#f6f2ea}
#hg-map-root .maplibregl-ctrl-attrib{font:10px var(--sans,system-ui);background:rgba(255,253,248,.85) !important}
#hg-map-root .maplibregl-ctrl-bottom-right,#hg-map-root .maplibregl-ctrl-bottom-left{bottom:var(--hgm-ab,92px)}
.hgm-near{position:absolute;right:14px;bottom:var(--hgm-nb,110px);z-index:6;width:46px;height:46px;padding:0;border-radius:50%;background:#fffdf8;border:1px solid rgba(184,137,63,.55);display:grid;place-items:center;box-shadow:0 6px 16px rgba(0,0,0,.18);cursor:pointer;-webkit-tap-highlight-color:transparent}
.hgm-near svg{width:20px;height:20px;stroke:#2f3a2c;fill:none;stroke-width:1.8;stroke-linejoin:round}
.hgm-near.on svg{stroke:#1a73e8;fill:rgba(26,115,232,.18)}
.hgm-count{position:absolute;left:14px;top:10px;z-index:6;padding:7px 12px;border-radius:999px;font:600 12px/1 var(--sans);background:rgba(255,253,248,.95);color:#2f3a2c;border:1px solid rgba(184,137,63,.45);box-shadow:0 4px 12px rgba(0,0,0,.12)}
.hgm-count:empty{display:none}
.hgm-pin{display:grid;place-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent}
.hgm-pin svg{stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.hgm-pin.rd{width:34px;height:34px;box-sizing:border-box;border-radius:50%;background:#fffdf8;border:1.5px solid var(--c,#2f3a2c);color:var(--ic,#2f3a2c);box-shadow:0 3px 8px rgba(0,0,0,.28)}
.hgm-pin.rd svg{width:19px;height:19px}
.hgm-pin.rd.sel{width:46px;height:46px;background:#2f3a2c;color:#f1e3c4;border:2px solid #d6b06a;z-index:5}
.hgm-pin.rd.sel svg{width:24px;height:24px}
.hgm-pin:focus-visible{outline:2px solid #c9a24f;outline-offset:2px}
.hgm-popup .maplibregl-popup-content{padding:0 !important;background:none !important;box-shadow:none !important;border-radius:16px}
.hgm-popup .maplibregl-popup-tip{border-top-color:#fffdf8 !important}
.hgm-pop2{display:flex;gap:10px;width:262px;padding:8px;background:#fffdf8;border-radius:16px;box-shadow:0 12px 28px rgba(0,0,0,.35);border:1px solid rgba(184,137,63,.5);box-sizing:border-box;text-decoration:none;color:inherit;-webkit-tap-highlight-color:transparent}
.hgm-pop2 .im{flex:0 0 70px;height:70px;border-radius:11px;background:#e9e1d2 center/cover;display:block}
.hgm-pop2 .tx{flex:1;min-width:0;display:block}
.hgm-pop2 .nm{display:block;font:600 17px/1.12 var(--serif);color:#2b2622;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.hgm-pop2 .mt{display:block;font:500 11px var(--sans);color:#8a7f70;margin:2px 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hgm-lt{display:inline-flex;gap:4px;flex-wrap:wrap}
.hgm-lt span{font:600 10px/1 var(--sans);padding:4px 6px;border-radius:999px;letter-spacing:.02em;white-space:nowrap}
.hgm-lt .l{background:#2f3a2c;color:#f3eee6}
.hgm-lt .t{background:#f1e3c4;color:#7a5520;border:1px solid rgba(184,137,63,.5)}
.hgm-me{width:18px;height:18px;box-sizing:border-box;border-radius:50%;background:#1a73e8;border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35);pointer-events:none}
.hgm-me::after{content:"";position:absolute;left:-9px;top:-9px;width:30px;height:30px;border-radius:50%;background:rgba(26,115,232,.28);animation:hgm-pulse 2s ease-out infinite;z-index:-1}
@keyframes hgm-pulse{0%{transform:scale(.5);opacity:.9}100%{transform:scale(1.6);opacity:0}}
@media (prefers-reduced-motion:reduce){.hgm-me::after{animation:none;opacity:.35}}

/* account line: Sign out moves into the menu; the name opens it */
.hg-account .hg-off{display:none !important}
html.hg-pm-on .hg-account .hg-who{position:relative;flex:0 1 auto;width:fit-content;max-width:100%;align-self:flex-start;cursor:pointer;padding-right:1.05rem;border-radius:8px;-webkit-tap-highlight-color:transparent}
html.hg-pm-on .hg-account .hg-who:focus-visible{outline:2px solid #b8893f;outline-offset:3px}
.hg-pm-chev{position:absolute;right:0;top:.12em;width:.85rem;height:.85rem;color:#a67a33}
.hg-pm-chev svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hg-who[aria-expanded=true] .hg-pm-chev{transform:rotate(180deg)}
.hg-pm-back{position:fixed;inset:0;z-index:998;background:transparent}
.hg-pmenu{position:fixed;z-index:999;box-sizing:border-box;background:#fffdf8;border:1px solid rgba(184,137,63,.5);border-radius:18px;box-shadow:0 18px 40px -14px rgba(43,38,34,.38),0 2px 8px rgba(43,38,34,.08);padding:6px;opacity:0;transform:translateY(-4px) scale(.98);transform-origin:top left;transition:opacity .14s ease,transform .14s ease;font-family:var(--sans)}
.hg-pmenu.in{opacity:1;transform:none}
.hg-pm-hd{display:flex;align-items:center;gap:.7rem;padding:.7rem .7rem .75rem;margin-bottom:4px;border-bottom:1px solid rgba(184,137,63,.3)}
.hg-pm-av{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#2f3a2c;color:#f1e3c4;font:600 18px/1 var(--serif);box-shadow:0 0 0 2px #fffdf8,0 0 0 3px rgba(184,137,63,.7)}
.hg-pm-id{min-width:0;display:flex;flex-direction:column;gap:2px}
.hg-pm-id b{font:600 18px/1.1 var(--serif);color:#2b2622;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hg-pm-id small{font:600 11.5px/1.2 var(--sans);color:var(--bay,#5f6f53)}
.hg-pm-list{display:flex;flex-direction:column}
.hg-pmenu a,.hg-pmenu button{display:flex;align-items:center;gap:.7rem;width:100%;box-sizing:border-box;padding:.62rem .7rem;border:0;background:none;border-radius:12px;color:#2b2622;font:500 14.5px/1.2 var(--sans);text-decoration:none;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
.hg-pmenu a:focus-visible,.hg-pmenu button:focus-visible{background:#f3eee6;outline:none}@media (hover:hover){.hg-pmenu a:hover,.hg-pmenu button:hover{background:#f3eee6;outline:none}}
.hg-pmenu svg{flex:none;width:19px;height:19px;stroke:#2f3a2c;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.hg-pmenu .hg-pm-out{margin-top:4px;border-top:1px solid rgba(184,137,63,.3);border-radius:0 0 12px 12px;color:#2f3a2c;font-weight:600}
.hg-pmenu .hg-pm-out svg{stroke:#a67a33}
html.hg-pane .hg-pmenu{z-index:999}
/* <<< HG_MAP_TAB_1031 */
/* HG_MAP_ALL_CITIES_1031: cluster bubbles (zoomed out), green / gold palette, no red */
.hgm-clu{display:grid;place-items:center;box-sizing:border-box;min-width:36px;height:36px;padding:0 9px;border-radius:999px;background:#fbf3e2;border:2px solid #d9b86a;color:#2f3a2c;font:700 13px/1 var(--sans,system-ui);letter-spacing:.01em;box-shadow:0 0 0 4px rgba(217,184,106,.18),0 3px 8px rgba(0,0,0,.22);cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none}
.hgm-clu.m{min-width:44px;height:44px;font-size:14px;box-shadow:0 0 0 6px rgba(217,184,106,.2),0 3px 8px rgba(0,0,0,.22)}
.hgm-clu.l{min-width:52px;height:52px;font-size:15px;background:#f1e3c4;border-width:2.5px;box-shadow:0 0 0 7px rgba(217,184,106,.22),0 4px 10px rgba(0,0,0,.25)}
.hgm-clu:focus-visible{outline:2px solid #2f3a2c;outline-offset:3px}
/* HG_SAVED_FILTER_1031: Saved / Tried emblem row = Explore's (buttons, same selected look) */
.hg-saved-cats button{flex:none;display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:58px;padding:0;margin:0;background:transparent;border:0;color:var(--charcoal);font:500 .74rem var(--sans);cursor:pointer}
.hg-saved-cats button[aria-pressed=true] .ic{background:var(--beige);border-color:var(--forest);box-shadow:inset 0 0 0 .5px var(--forest)}
.hg-saved-cats button[aria-pressed=true]>span:last-child{color:var(--forest);font-weight:600}
html body .hg-saved-cats button[aria-pressed=true] .ic{background:var(--hg-sel-bg);border-color:var(--hg-sel-bd);box-shadow:inset 0 0 0 .5px var(--hg-sel-bd)}
.hg-saved-cats{margin:.2rem -.35rem .9rem;padding:.2rem .35rem .5rem}.hg-saved-cats button:focus-visible .ic{outline:2px solid var(--forest);outline-offset:2px}
.hg-empty-cat svg{width:34px;height:34px}.hg-empty-cat button.hg-cta{font:inherit;cursor:pointer}
#hg-saved .hg-saved-cats{display:flex;flex-wrap:nowrap;justify-content:flex-start !important;overflow-x:auto;gap:.75rem;-webkit-overflow-scrolling:touch}#hg-saved .hg-saved-cats button{flex:none}
/* HG_SAVED_CITY_1031: My Gems city chips (only the user's cities, with counts): cream / gold, deep-green text, no red, no dark fills */
#hg-saved .hg-cityrow{display:flex;flex-wrap:nowrap;gap:.45rem;overflow-x:auto;scrollbar-width:none;margin:-.35rem -.35rem .9rem;padding:.15rem .35rem .25rem;-webkit-overflow-scrolling:touch}
#hg-saved .hg-cityrow[hidden]{display:none}
#hg-saved .hg-cityrow::-webkit-scrollbar{display:none}
#hg-saved .hg-cchip{flex:none;display:inline-flex;align-items:center;gap:.35rem;height:32px;padding:0 .8rem;border-radius:999px;background:#fbf3e2;border:1px solid rgba(184,137,63,.45);color:#2f3a2c;font:500 .8rem/1 var(--sans);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent}
#hg-saved .hg-cchip .n{font-size:.72rem;font-weight:600;color:#8a6a35;background:rgba(184,137,63,.14);border-radius:999px;padding:.18rem .42rem}
#hg-saved .hg-cchip[aria-pressed=true]{background:#f1e3c4;border:1.5px solid #b8893f;font-weight:600}
#hg-saved .hg-cchip[aria-pressed=true] .n{background:#fffdf8;color:#2f3a2c}
#hg-saved .hg-cchip:focus-visible{outline:2px solid #4f6b47;outline-offset:2px}

/* HG_MAP_SAVED_PINS_1031 (Collin picked B1 champagne): My Gems pins = cream pin, #d9b86a ring, heart badge #e6cb85 -> #c9a24f;
   clusters holding a saved place get the same small champagne heart dot */
.hgm-pin.rd.sv{width:38px;height:38px;background:#fffdf8;color:#2f3a2c;border:4px solid #d9b86a;box-shadow:inset 0 0 0 1.5px #f3e3b5,0 0 0 1px #c9a24f,0 3px 8px rgba(0,0,0,.28)}
.hgm-pin.rd.sv svg{width:19px;height:19px}
.hgm-pin.rd.sv.sel{width:48px;height:48px;background:#fffdf8;color:#2f3a2c;border:5px solid #d9b86a;box-shadow:inset 0 0 0 1.5px #f3e3b5,0 0 0 1.5px #c9a24f,0 4px 12px rgba(0,0,0,.32)}
.hgm-pin.rd.sv.sel svg{width:24px;height:24px}
.hgm-pin .hgm-hb,.hgm-clu .hgm-hb{position:absolute;top:-6px;right:-6px;width:17px;height:17px;border-radius:50%;background:linear-gradient(145deg,#e6cb85,#c9a24f);border:1.5px solid #fffdf8;display:grid;place-items:center;box-sizing:border-box;box-shadow:0 1px 3px rgba(0,0,0,.3);pointer-events:none}
.hgm-pin .hgm-hb svg,.hgm-clu .hgm-hb svg{width:10px !important;height:10px !important;fill:#fffdf8 !important;stroke:none !important}
/* HG_MAP_CHAMPAGNE_1031: cluster outline/halo (above) moved off #b8893f to #d9b86a */

/*HG_MYGEMS_ZFIX_1101 >>> */
/*1: Map place popup card always above every pin (incl. My Gems pins + heart badge)*/
#hgm-map{z-index:0}
.maplibregl-popup.hgm-popup{z-index:50 !important}
/*2: desktop: no duplicate Home/Explore/Saved/Map links in the header (they live in the pinned bottom tab bar)*/
@media (min-width:641px){
  header nav.hg-nav{display:none !important}
  html body header nav.hg-nav+*,html body header nav.hg-nav+a.back,html body header nav.hg-nav+.city-link{margin-left:auto !important}
}
/*<<< HG_MYGEMS_ZFIX_1101*/

/*HG_NO_SPLASH_1101*/html.hg-spl::before{display:none !important;content:none !important}html.hg-spl,html.hg-spl body{overflow:visible !important;overscroll-behavior:auto}#hg-splash,.hg-splash{display:none !important}

/*HG_NEARME_1101*/
html,body,a,button,input,select,textarea,label,summary,[role=button],[role=tab],[role=option],[tabindex]{-webkit-tap-highlight-color:transparent}
html body .hg-app-near{background:#fffdf8 !important;border:1px solid #d9c4a0 !important;color:#2b2622 !important;box-shadow:0 4px 14px -8px rgba(47,58,44,.25)}
html body .hg-app-near:active,html body .hg-app-near:disabled{background:#f6efe2 !important;color:#2b2622 !important;opacity:1}
html body .hg-app-near svg{color:#2b2622;stroke:currentColor}
html body .hg-app-near-msg{color:#5e6259}
html body .hg-app-near-msg a{color:#2b2622}
/*/HG_NEARME_1101*/

/* HG_XC_NAME_1102 */
html .hg-xc .hg-xc-b{display:block;position:absolute;left:0;right:0;bottom:0;z-index:1;margin:0;padding:2.2rem 34px 8px 9px;background:linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,.55));pointer-events:none}
html .hg-xc .hg-xc-b>:not(h3){display:none !important}
html .hg-xc .hg-xc-b h3{margin:0;color:#fff;font:600 .86rem/1.2 var(--sans,system-ui,sans-serif);text-shadow:0 1px 2px rgba(0,0,0,.45);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}
html .hg-xc.xg-big .hg-xc-b h3{font-size:1.02rem}

/* HG_BRUNCH_AUDIT_1104 */ .hg-sb{font-weight:400;font-style:italic;opacity:.85}

/* HG_MAP_LOCAL_FAVORITES_1106c: champagne chip like Saved city chips / map count - no green fill. */
#hg-map-root .hgm-favorites{display:flex;align-items:center;gap:10px;flex:none;padding:0 14px 8px;background:#f3eee6;z-index:3}
#hg-map-root .hgm-fav{min-height:32px;flex:none;border:1px solid rgba(184,137,63,.45);border-radius:999px;padding:7px 14px;background:#fbf3e2;color:#2f3a2c;font:500 .8rem/1 var(--sans);cursor:pointer;-webkit-tap-highlight-color:transparent}
#hg-map-root .hgm-fav[aria-pressed=true]{background:#f1e3c4;border:1.5px solid #b8893f;font-weight:600}
#hg-map-root .hgm-fav:focus-visible{outline:2px solid #4f6b47;outline-offset:2px}
#hg-map-root .hgm-fav-note{font:500 11px/1.3 var(--sans);color:#5e6259;max-width:230px}
#hg-map-root .hgm-count{max-width:calc(100% - 28px);box-sizing:border-box;line-height:1.35;white-space:normal;pointer-events:none}
@media(min-width:641px){#hg-map-root .hgm-favorites{justify-content:center}}

/* HG_ADDCITY_1107 — pinned top action lives outside the only scrolling city list. */
.hg-citysheet .hg-cs-top,.hg-citysheet .hg-cs-search,.hg-citysheet .hg-cs-loc,.hg-citysheet .hg-cs-msg,.hg-citysheet .hg-cs-add{flex-shrink:0}
.hg-citysheet .hg-cs-list{min-height:0}
.hg-citysheet .hg-cs-add{display:flex;align-items:center;gap:.65rem;width:100%;text-align:left;border:0;border-radius:0;background:transparent;color:#2f3a2c;font:600 .92rem/1.35 var(--sans);padding:.55rem 0;margin:0 0 .65rem;cursor:pointer;min-height:44px;touch-action:manipulation;-webkit-tap-highlight-color:rgba(47,58,44,.15)}
.hg-cs-add-copy{flex:1;min-width:0}.hg-cs-add-copy>span{display:block}.hg-cs-add-icon{flex-shrink:0;font-size:1.3rem;line-height:1}
.hg-cs-add-1 .hg-cs-add-copy>span{text-decoration:underline;text-underline-offset:3px}
.hg-citysheet .hg-cs-add-2{background:#2f3a2c;color:#fff;border-radius:28px;padding:.7rem 1rem}
.hg-citysheet .hg-cs-add-3{border:1px solid #2f3a2c;background:rgba(47,58,44,.04);border-radius:28px;padding:.7rem 1rem}
.hg-citysheet .hg-cs-add-4{border-bottom:1px solid rgba(47,58,44,.25);padding:.65rem .25rem}.hg-cs-add-4 .hg-cs-add-icon{box-sizing:border-box;border:1px solid currentColor;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;line-height:1}.hg-cs-add-4 .hg-cs-add-icon svg{display:block;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.hg-citysheet .hg-cs-add-5{border:1px solid rgba(47,58,44,.2);border-radius:12px;background:rgba(47,58,44,.04);padding:.7rem .8rem}.hg-cs-add-5 strong{display:block;margin-bottom:.2rem;font:700 1rem/1.3 var(--serif)}.hg-cs-add-5 .hg-cs-add-copy>span{font-weight:400;text-decoration:underline;text-underline-offset:3px}
.hg-citysheet .hg-cs-add:active{background:rgba(47,58,44,.14);box-shadow:inset 0 0 0 2px rgba(47,58,44,.2)}.hg-citysheet .hg-cs-add-2:active{background:#1c281a}
.hg-citysheet #hg-cs-h:focus{outline:none}
.hg-citysheet.hg-cr-active .hg-cs-panel{box-sizing:border-box}
.hg-citysheet .hg-cs-add:focus-visible{outline:2px solid var(--gold-ink);outline-offset:2px}
.hg-cr-active .hg-cs-add,.hg-cr-active .hg-cs-search,.hg-cr-active .hg-cs-loc,.hg-cr-active .hg-cs-msg,.hg-cr-active .hg-cs-list{display:none!important}
.hg-cr-active .hg-cs-top{align-items:flex-start}.hg-cr-active .hg-cs-top h3{max-width:calc(100% - 42px);font-size:1.4rem}
.hg-citysheet .hg-cr-body{overflow:auto;min-height:0;overscroll-behavior:contain;padding:.2rem .15rem .4rem}
.hg-cr-form>label{display:block;font-weight:600;font-size:.9rem;margin:0 0 .35rem}
.hg-citysheet .hg-cr-form input{box-sizing:border-box;width:100%;min-width:0;border:1px solid rgba(47,58,44,.22);border-radius:10px;background:#fffdf8;color:#2f3a2c;padding:.65rem .8rem;font:400 16px/1.3 var(--sans);min-height:44px}
.hg-cr-form input:focus{outline:2px solid var(--gold);outline-offset:1px}
.hg-cr-form fieldset{border:0;padding:0;margin:1rem 0 .8rem;min-width:0}.hg-cr-form legend{font:600 .94rem/1.4 var(--sans);padding:0;margin-bottom:.5rem}
.hg-cr-place{display:flex;align-items:center;gap:.5rem;margin:.5rem 0}.hg-cr-place span{width:1rem;flex-shrink:0;color:var(--gold-ink);font-weight:600}
.hg-cr-note{font-size:.83rem;line-height:1.45;color:#646a5e;margin:.7rem 0}.hg-cr-error{color:#2f3a2c;font-size:.9rem;font-weight:600}.hg-cr-error:empty{display:none}
.hg-citysheet .hg-cr-submit{display:block;box-sizing:border-box;width:100%;border:1px solid var(--hg-sel-bd,#b8893f);border-radius:999px;background:var(--hg-sel-bg,#f2deb4);color:var(--hg-sel-ink,#2f3a2c);min-height:46px;padding:.7rem 1rem;font:600 1rem var(--sans);cursor:pointer}
.hg-cr-submit:disabled{opacity:.65;cursor:wait}
.hg-citysheet .hg-cr-back{display:block;width:100%;border:0;background:none;color:#2f3a2c;font:500 .9rem var(--sans);min-height:44px;padding:.6rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.hg-cr-thanks h4{font:600 1.6rem var(--serif);margin:.4rem 0 .7rem;color:#2f3a2c}.hg-cr-thanks p{line-height:1.5}
.hg-cr-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media (max-width:699px){.hg-cs-top{touch-action:none}.hg-cs-panel::before{touch-action:none}}/*HG_SHEET_SWIPE_1107*/
/* HG_SHEETPAD_1107: the bottom padding (1rem + safe area) sat on the non-scrolling panel, so scrolled content was clipped above a blank strip.
   Move that space inside the scroll containers so it scrolls with the content; size sheets to the visible viewport (dvh). */
@media (max-width:699px){
  .hg-cs-panel{max-height:min(82vh,640px);max-height:min(82dvh,640px);padding-bottom:0}
  .hg-cs-list{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}
  .hg-citysheet .hg-cr-body{padding-bottom:calc(1.25rem + env(safe-area-inset-bottom))}
  html.hg-pane .hg-cs-panel{padding-bottom:0}
  html.hg-pane .hg-cs-list,html.hg-pane .hg-citysheet .hg-cr-body{padding-bottom:calc(1rem + 80px + var(--hg-pane-sab,0px))}
  .hg-dialog .hg-sheet{max-height:92vh;max-height:92dvh;padding-bottom:calc(1.4rem + env(safe-area-inset-bottom))}
}
