:root {
  --green: #0d3d27;
  --green-2: #145338;
  --gold: #c08a2b;
  --gold-2: #f2c766;
  --cream: #f7f0e3;
  --paper: #fffaf0;
  --ink: #231f1a;
  --muted: #6f665a;
  --line: #dfd3bd;
  --white: #ffffff;
  --shadow: 0 18px 45px rgba(30, 22, 10, .13);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--paper);
  line-height: 1.5;
}
img, svg { max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
.skip-link {
  position: absolute;
  left: -999px;
  top: 10px;
  background: var(--green);
  color: white;
  padding: 10px 14px;
  z-index: 10;
}
.skip-link:focus { left: 10px; }
.top-strip {
  background: var(--green);
  color: white;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  padding: 10px 24px;
  border-bottom: 5px solid var(--gold);
  text-align: center;
}
.top-strip p { margin: 0; font-size: 15px; }
.top-strip a {
  background: var(--gold-2);
  color: var(--ink);
  font-weight: 800;
  padding: 8px 18px;
  border-radius: 999px;
  white-space: nowrap;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 5;
  background: rgba(255,250,240,.96);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line);
  min-height: 86px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px clamp(18px, 5vw, 64px);
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-width: max-content;
}
.brand-mark {
  width: 120px;
  height: 68px;
  display: block;
  background: transparent;
  color: transparent;
  font-size: 0;
  line-height: 0;
  text-indent: -9999px;
  overflow: hidden;
  border-radius: 0;
  box-shadow: none;
  border: 0;
  flex: none;
}
brand-name {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(26px, 4vw, 38px);
  font-weight: 900;
  letter-spacing: -.04em;
}
.brand-name span { color: #9d412f; font-style: italic; }
.main-nav {
  display: flex;
  align-items: center;
  gap: 24px;
  font-size: 15px;
  font-weight: 800;
}
.nav-cta {
  background: var(--green);
  color: white;
  padding: 12px 18px;
  border-radius: 6px;
}
.menu-toggle {
  display: none;
  width: 54px;
  height: 48px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 6px;
}
.menu-toggle span {
  width: 25px;
  height: 2px;
  background: var(--ink);
}
/* Premium hero section
   To add your own photo, place it at: hero-media/hero-image.jpg
   To add your own video, place it at: hero-media/hero-video.mp4 */
.hero {
  position: relative;
  display: grid;
  place-items: center;
  min-height: clamp(560px, 72vh, 780px);
  padding: clamp(72px, 10vw, 126px) clamp(18px, 5vw, 64px);
  overflow: hidden;
  color: white;
  background:
    linear-gradient(rgba(4, 20, 13, .68), rgba(4, 20, 13, .78)),
    url('hero-media/hero-image.jpg'),
    linear-gradient(135deg, #0d3d27, #061b11);
  background-size: cover, cover, cover;
  background-position: center, center, center;
  border-bottom: 6px solid var(--gold);
}
.hero::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 78% 32%, rgba(199,151,43,.20), transparent 38%),
    linear-gradient(90deg, rgba(0,0,0,.18), transparent 48%, rgba(0,0,0,.18));
}
.hero-copy {
  position: relative;
  z-index: 1;
  width: min(980px, 100%);
  text-align: center;
  margin: 0 auto;
}
.hero-board { display: none; }
.eyebrow {
  margin: 0 0 14px;
  color: var(--gold-2);
  text-transform: uppercase;
  letter-spacing: .22em;
  font-size: 12px;
  font-weight: 900;
}
.hero h1,
.section h2,
.feature-split h2,
.get-listed h2 {
  font-family: Georgia, "Times New Roman", serif;
  line-height: .98;
  letter-spacing: -.045em;
  margin: 0;
}
.hero h1 {
  max-width: 920px;
  margin: 0 auto;
  font-size: clamp(44px, 7vw, 84px);
  color: #fffdf8;
  text-shadow: 0 3px 20px rgba(0,0,0,.35);
}
.hero h1::first-letter { color: var(--gold-2); }
.hero-text {
  max-width: 760px;
  color: rgba(255,255,255,.88);
  font-size: clamp(17px, 2.1vw, 22px);
  margin: 24px auto 30px;
  text-shadow: 0 2px 12px rgba(0,0,0,.35);
}
.search-panel {
  max-width: 1180px;
  background: var(--white);
  border: 2px solid var(--green);
  box-shadow: 10px 10px 0 rgba(13,61,39,.12);
  padding: 14px;
  display: grid;
  grid-template-columns: 1.2fr .85fr .75fr .75fr .95fr auto;
  gap: 10px;
}
.search-panel label { display: block; min-width: 0; }
.search-panel span {
  display: block;
  font-size: 12px;
  font-weight: 900;
  color: var(--muted);
  margin-bottom: 5px;
}
.search-panel input,
.search-panel select,
.lead-form input,
.lead-form select,
#listingFilter {
  width: 100%;
  border: 1px solid var(--line);
  background: #fffdf8;
  min-height: 46px;
  padding: 0 12px;
  color: var(--ink);
  border-radius: 3px;
}
.search-panel button,
.lead-form button {
  border: 0;
  background: var(--green);
  color: white;
  min-height: 46px;
  padding: 0 22px;
  font-weight: 900;
  border-radius: 3px;
  align-self: end;
  cursor: pointer;
}
.hero-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(150px, 230px));
  justify-content: center;
  gap: 14px;
  margin-top: 26px;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 22px;
  border-radius: 999px;
  font-weight: 900;
  box-shadow: 0 18px 38px rgba(0,0,0,.22);
}
.button.primary { background: var(--gold); color: var(--ink); }
.button.secondary { background: rgba(255,255,255,.92); color: var(--green); border: 1px solid rgba(255,255,255,.65); }
.button.primary:hover { background: var(--gold-2); }
.button.secondary:hover { background: #fff; }
.hero-video-unused-wrap {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(0,0,0,.28);
  border: 1px solid rgba(255,255,255,.20);
  backdrop-filter: blur(8px);
}
.hero-video-unused-wrap span {
  color: rgba(255,255,255,.82);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.hero-video-unused { width: 220px; height: 34px; }
.hero-board {
  align-self: center;
  background: rgba(255,255,255,.9);
  border: 2px solid var(--green);
  padding: 28px;
  box-shadow: var(--shadow);
}
.board-top { border-bottom: 1px dashed var(--line); padding-bottom: 18px; margin-bottom: 18px; }
.board-top span,
.tag { color: #9d412f; text-transform: uppercase; letter-spacing: .16em; font-size: 11px; font-weight: 900; margin: 0 0 6px; }
.board-top strong { display: block; color: var(--green); font-size: clamp(50px, 8vw, 72px); line-height: 1; letter-spacing: -.05em; }
.board-top p { margin: 8px 0 0; color: var(--muted); }
.mini-listing {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 14px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}
.mini-listing:last-child { border-bottom: 0; padding-bottom: 0; }
.thumb {
  height: 58px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  color: white;
  font-weight: 900;
}
.thumb.food, .food-bg { background: linear-gradient(135deg, #80351f, #d49531); }
.thumb.service, .service-bg { background: linear-gradient(135deg, #0d3d27, #448f65); }
.beauty-bg { background: linear-gradient(135deg, #65407a, #d49ec8); }
.faith-bg { background: linear-gradient(135deg, #24436b, #7cb3c9); }
.mini-listing h3 { margin: 0 0 4px; font-size: 18px; }
.mini-listing p:last-child { margin: 0; color: var(--muted); }
.trust-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 0 clamp(18px, 5vw, 64px);
  transform: translateY(-16px);
  background: var(--white);
  border: 2px solid var(--green);
  box-shadow: 10px 10px 0 rgba(13,61,39,.08);
}
.trust-row article { padding: 22px; border-right: 1px solid var(--line); }
.trust-row article:last-child { border-right: 0; }
.trust-row strong { display: block; margin-bottom: 4px; }
.trust-row span { color: var(--muted); font-size: 14px; }
.section,
.feature-split,
.get-listed,
.site-footer { padding: clamp(44px, 7vw, 82px) clamp(18px, 5vw, 64px); }
.section-heading { max-width: 760px; margin-bottom: 28px; }
.row-heading {
  max-width: none;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
}
.directory .row-heading {
  display: block;
  max-width: 900px;
}
.directory .filter-row {
  margin-top: 22px;
  max-width: 780px;
  min-width: 0;
}
.directory-search-panel { margin: 0 0 32px; }
.hidden-filter-select { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; padding: 0 !important; margin: -1px !important; }

.section h2,
.feature-split h2,
.get-listed h2 { font-size: clamp(34px, 5vw, 58px); }
.section-heading p:not(.eyebrow), .feature-split p, .get-listed p { color: var(--muted); font-size: 18px; }
.category-grid,
.listing-grid,
.resource-grid {
  display: grid;
  gap: 18px;
}
.category-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.listing-grid,
.resource-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.category-card,
.resource-grid article {
  background: var(--white);
  border: 1px solid var(--line);
  padding: 30px 24px;
  min-height: 210px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.category-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: 18px;
  position: relative;
  overflow: hidden;
}
.category-card::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 5px;
  background: var(--gold-2);
  transform: scaleX(.18);
  opacity: .7;
  transition: transform .18s ease, opacity .18s ease;
}
.category-card:hover,
.resource-grid article:hover { transform: translateY(-4px); border-color: var(--green); box-shadow: var(--shadow); }
.category-card:hover::after { transform: scaleX(1); opacity: 1; }
.category-card .cat-icon {
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  background: rgba(192,138,43,.12);
  color: #7a541b;
  font-size: 34px;
  font-weight: 900;
  padding: 0;
  border-radius: 999px;
  margin: 0 0 20px;
}
.category-card h3,
.resource-grid h3 { margin: 0 0 14px; font-size: 22px; }
.category-card .cat-count { color: var(--muted); margin: 0; font-size: 18px; letter-spacing: .04em; }
.category-card .cat-desc { display: none; }
.resource-grid p { color: var(--muted); margin: 0; }
.community-explorer { background: #fff6e6; }
.community-split {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
.origin-card {
  background: var(--white);
  border: 2px solid var(--green);
  padding: 28px;
  box-shadow: 10px 10px 0 rgba(13,61,39,.08);
}
.origin-card.dark { background: #201b15; color: white; border-color: #201b15; }
.origin-card.dark .eyebrow { color: var(--gold-2); }
.origin-card h3 { font-size: clamp(28px, 4vw, 42px); line-height: 1.05; margin: 0 0 22px; font-family: Georgia, "Times New Roman", serif; }
.origin-tags { display: flex; flex-wrap: wrap; gap: 10px; }
.origin-tags button {
  border: 1px solid var(--line);
  background: #fffdf8;
  color: var(--ink);
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 900;
  cursor: pointer;
}
.origin-card.dark .origin-tags button { background: rgba(255,255,255,.08); color: white; border-color: rgba(255,255,255,.22); }
.origin-tags button:hover { background: var(--gold-2); color: var(--ink); }
.filter-row { display: grid; grid-template-columns: repeat(3, minmax(160px, 1fr)); gap: 10px; min-width: min(620px, 100%); }
.filter-row select { width: 100%; border: 1px solid var(--line); background: #fffdf8; min-height: 46px; padding: 0 12px; color: var(--ink); border-radius: 3px; }
.culture-bg { background: linear-gradient(135deg, #7a541b, #f2c766); }
.home-bg { background: linear-gradient(135deg, #1e544b, #b6d8c4); }
.nonprofit-bg { background: linear-gradient(135deg, #5b2b2f, #d48b71); }

.directory { background: #efe4d1; }
#listingFilter { max-width: 240px; }
.listing-card {
  background: var(--white);
  border: 1px solid var(--line);
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(30,22,10,.07);
}
.listing-media {
  min-height: 150px;
  display: grid;
  place-items: center;
}
.listing-media span {
  width: 74px;
  height: 74px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.9);
  color: var(--ink);
  font-weight: 900;
  font-size: 22px;
}

.listing-media.has-uploaded-image {
  background: #fff !important;
  padding: 0;
  overflow: hidden;
}
.listing-media.has-uploaded-image span {
  width: 100%;
  height: 100%;
  border-radius: 0;
  box-shadow: none;
  background: none;
}
.listing-media.has-uploaded-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.listing-content { padding: 22px; }
.listing-top { display: flex; justify-content: space-between; gap: 10px; align-items: center; margin-bottom: 12px; }
.listing-top span { color: var(--muted); font-size: 13px; font-weight: 800; }
.listing-top b { background: var(--gold-2); padding: 5px 9px; border-radius: 999px; font-size: 12px; }
.listing-card h3 { margin: 0 0 8px; font-size: 24px; }
.listing-card p { color: var(--muted); margin: 0 0 14px; }
.meta { display: flex; flex-wrap: wrap; gap: 8px; color: var(--green); font-weight: 800; font-size: 14px; margin-bottom: 16px; }
.card-actions { display: flex; gap: 10px; }
.card-actions a {
  flex: 1;
  text-align: center;
  border: 1px solid var(--green);
  padding: 10px;
  border-radius: 4px;
  font-weight: 900;
}
.card-actions a:first-child { background: var(--green); color: white; }
.feature-split {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr);
  gap: clamp(28px, 6vw, 72px);
  align-items: center;
  background: var(--green);
  color: white;
}
.feature-split .eyebrow { color: var(--gold-2); }
.feature-split p { color: rgba(255,255,255,.78); }
.event-stack { display: grid; gap: 14px; }
.event-stack article, .event-stack .event-mini {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 18px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  padding: 18px;
}
.event-stack span {
  background: var(--gold-2);
  color: var(--ink);
  min-height: 70px;
  display: grid;
  place-items: center;
  font-weight: 900;
  border-radius: 8px;
}
.event-stack h3 { margin: 0 0 4px; }
.event-actions-home { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.event-stack .event-mini { color: inherit; }
.event-stack p { margin: 0; }
.get-listed {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(320px, 1fr);
  gap: clamp(28px, 6vw, 72px);
  align-items: start;
}
.lead-form {
  background: var(--white);
  border: 2px solid var(--green);
  padding: 26px;
  display: grid;
  gap: 14px;
  box-shadow: 10px 10px 0 rgba(13,61,39,.1);
}
.lead-form label { display: grid; gap: 7px; font-weight: 900; }
.site-footer {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  background: #201b15;
  color: white;
}
.site-footer p { color: rgba(255,255,255,.72); max-width: 560px; }
.footer-brand .brand-name { color: white; }
.footer-links { display: flex; flex-wrap: wrap; gap: 18px; align-content: start; font-weight: 800; }
.hidden { display: none !important; }

@media (max-width: 980px) {
  .menu-toggle { display: flex; }
  .main-nav {
    position: absolute;
    top: 100%;
    left: 18px;
    right: 18px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: var(--white);
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
    padding: 10px;
  }
  .main-nav.open { display: flex; }
  .main-nav a { padding: 14px; border-bottom: 1px solid var(--line); }
  .main-nav a:last-child { border-bottom: 0; }
  .hero,
  .feature-split,
  .get-listed { grid-template-columns: 1fr; }
  .search-panel { grid-template-columns: 1fr 1fr; }
  .search-panel button { grid-column: 1 / -1; }
  .community-split { grid-template-columns: 1fr; }
  .filter-row { grid-template-columns: 1fr; min-width: 0; }
  .trust-row { grid-template-columns: repeat(2, 1fr); }
  .trust-row article { border-bottom: 1px solid var(--line); }
  .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .listing-grid,
  .resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .top-strip { display: block; padding: 12px 16px; }
  .top-strip p { font-size: 13px; margin-bottom: 10px; }
  .top-strip a { display: inline-flex; width: 100%; justify-content: center; }
  .site-header { min-height: 76px; padding: 14px 16px; }
  .brand-mark { width: 78px; height: 48px; }
  .brand-name { font-size: 27px; }
  .hero { padding: 36px 16px 32px; background-size: auto, 28px 28px, 28px 28px, auto; }
  .hero h1 { font-size: clamp(38px, 13vw, 54px); line-height: 1.02; letter-spacing: -.04em; }
  .hero-text { font-size: 17px; }
  .search-panel { grid-template-columns: 1fr; padding: 12px; }
  .hero-actions .button { width: 100%; }
  .hero-board { padding: 20px; }
  .trust-row { transform: none; margin: 0; grid-template-columns: 1fr; border-left: 0; border-right: 0; }
  .trust-row article { border-right: 0; }
  .section,
  .feature-split,
  .get-listed,
  .site-footer { padding: 44px 16px; }
  .row-heading { display: block; }
  #listingFilter { max-width: none; margin-top: 16px; }
  .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .listing-grid,
  .resource-grid { grid-template-columns: 1fr; }
  .community-split { grid-template-columns: 1fr; }
  .filter-row { grid-template-columns: 1fr; }
  .category-card { min-height: 150px; padding: 20px 12px; border-radius: 16px; }
  .category-card .cat-icon { width: 46px; height: 46px; font-size: 26px; margin-bottom: 12px; }
  .category-card h3 { font-size: 16px; line-height: 1.2; margin-bottom: 8px; }
  .category-card .cat-count { font-size: 13px; }
  .event-stack article, .event-stack .event-mini { grid-template-columns: 72px 1fr; padding: 14px; }
  .site-footer { display: block; }
  .footer-links { margin-top: 24px; display: grid; gap: 12px; }
}


/* Profile drawer, used only when View profile is clicked */
.profile-overlay {
  position: fixed;
  inset: 0;
  background: rgba(20, 14, 8, .58);
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}
.profile-overlay.open { opacity: 1; pointer-events: auto; }
.profile-drawer {
  position: fixed;
  inset: 0 0 0 auto;
  width: min(680px, 100vw);
  background: #fffdf8;
  z-index: 1001;
  transform: translateX(100%);
  transition: transform .3s cubic-bezier(.2,.8,.2,1);
  overflow-y: auto;
  box-shadow: -20px 0 60px rgba(0,0,0,.24);
}
.profile-drawer.open { transform: translateX(0); }
.profile-bar {
  position: sticky;
  top: 0;
  z-index: 4;
  background: #fffdf8;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 82px;
  padding: 18px clamp(18px,4vw,40px);
}
.profile-back, .profile-close {
  border: 0;
  background: transparent;
  cursor: pointer;
  font-weight: 1000;
  color: var(--green);
}
.profile-back { font-size: 18px; letter-spacing: .01em; }
.profile-close {
  width: 50px;
  height: 50px;
  border: 2px solid var(--line);
  border-radius: 12px;
  color: var(--muted);
  background: white;
  font-size: 34px;
  font-weight: 300;
  line-height: 1;
}
.profile-cover {
  background-color: var(--green);
  background-image: linear-gradient(135deg, rgba(20,38,28,.90), rgba(20,38,28,.78));
  background-size: cover;
  background-position: center;
  color: white;
  padding: 32px clamp(18px,4vw,40px) 34px;
  border-bottom: 5px solid var(--gold);
  position: relative;
  overflow: hidden;
}
.profile-cover > * {
  position: relative;
  z-index: 1;
}
.profile-cover-top {
  display: flex;
  gap: 18px;
  align-items: flex-start;
}
.profile-logo {
  width: 78px;
  height: 78px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: var(--gold);
  color: white;
  font-size: 23px;
  font-weight: 1000;
  border: 3px solid rgba(255,255,255,.28);
  flex: none;
}
.profile-cover h2 {
  margin: 0 0 8px;
  font-size: clamp(30px, 7vw, 46px);
  line-height: 1.05;
  letter-spacing: -.04em;
  text-shadow: 0 2px 14px rgba(0,0,0,.35);
}
.profile-subline {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-weight: 850;
}
.profile-badges {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}
.profile-badges span {
  background: rgba(255,255,255,.13);
  border: 1px solid rgba(255,255,255,.25);
  color: white;
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 1000;
}
.profile-rating {
  margin-top: 18px;
  color: var(--gold-2);
  font-weight: 1000;
  letter-spacing: .08em;
}
.profile-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 18px;
}
.profile-actions a {
  min-height: 46px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  font-weight: 1000;
  border: 1px solid rgba(255,255,255,.35);
}
.profile-actions a:first-child { background: var(--gold); color: white; border-color: var(--gold); }
.profile-actions a:nth-child(2) { background: white; color: var(--green); border-color: white; }
.profile-actions a:nth-child(3) { background: #dff3e7; color: var(--green); border-color: #dff3e7; }
.profile-body {
  padding: 34px clamp(18px,4vw,40px) 64px;
}
.profile-section { margin-bottom: 42px; }
.profile-section h3 {
  margin: 0 0 22px;
  font-size: clamp(18px,3.5vw,26px);
  color: var(--gold);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 1000;
}
.profile-section p {
  color: var(--ink);
  margin: 0;
  font-size: 18px;
  line-height: 1.8;
}
.profile-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.profile-info {
  background: #f0eadb;
  border: 2px solid #ded4bd;
  border-radius: 18px;
  padding: 24px 26px;
  min-height: 130px;
}
.profile-info.wide { grid-column: 1 / -1; }
.profile-info strong {
  display: block;
  color: #746b60;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 19px;
  margin-bottom: 14px;
  font-weight: 1000;
}
.profile-info span {
  display: block;
  font-weight: 1000;
  color: var(--ink);
  font-size: clamp(20px,4.2vw,27px);
  line-height: 1.55;
  word-break: break-word;
}
.profile-info a {
  display: block;
  font-weight: 1000;
  color: var(--green);
  font-size: clamp(20px,4.2vw,27px);
  line-height: 1.55;
  word-break: break-word;
  text-decoration: none;
}
.profile-info a:hover {
  color: var(--gold);
  text-decoration: none;
}
.profile-info.phone-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.profile-info.phone-card a {
  font-size: clamp(26px,6.2vw,38px);
  line-height: 1.22;
  letter-spacing: .01em;
}
.profile-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
.profile-tags span {
  background: #f0eadb;
  border: 2px solid #ded4bd;
  border-radius: 12px;
  padding: 15px 24px;
  color: var(--ink);
  font-size: clamp(17px,4vw,26px);
  font-weight: 1000;
}
.profile-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.profile-gallery div {
  aspect-ratio: 1;
  border-radius: 14px;
  background: #f0eadb;
  border: 2px solid #ded4bd;
  display: grid;
  place-items: center;
  font-size: clamp(32px,8vw,46px);
}
.profile-review-list {
  display: grid;
  gap: 22px;
}
.profile-review {
  background: #fffaf0;
  border: 2px solid #ded4bd;
  border-radius: 18px;
  padding: 28px 30px;
}
.profile-review-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}
.profile-review strong {
  display: block;
  color: var(--ink);
  font-size: clamp(20px,4.5vw,28px);
  line-height: 1.2;
}
.profile-review small {
  color: var(--gold);
  font-weight: 1000;
  font-size: clamp(18px,4vw,23px);
  white-space: nowrap;
}
.profile-review time {
  display: block;
  color: var(--muted);
  font-size: clamp(17px,3.8vw,24px);
  margin-bottom: 10px;
}
.profile-review p {
  font-size: clamp(18px,4.2vw,27px);
  line-height: 1.72;
  color: var(--ink);
}
.profile-message-wrap { text-align: center; padding: 8px 0 10px; }
.profile-message-btn {
  display: inline-flex;
  min-height: 62px;
  align-items: center;
  justify-content: center;
  background: var(--green);
  color: white;
  border-radius: 16px;
  padding: 0 52px;
  font-weight: 1000;
  font-size: clamp(18px,4.3vw,28px);
}
@media(max-width:640px){
  .profile-drawer { width: 100vw; }
  .profile-bar { min-height: 76px; padding: 16px 24px; }
  .profile-back { font-size: 16px; }
  .profile-close { width: 46px; height: 46px; font-size: 32px; }
  .profile-cover { padding: 26px 24px 30px; }
  .profile-cover-top { gap: 14px; }
  .profile-logo { width: 64px; height: 64px; border-radius: 15px; font-size: 19px; }
  .profile-actions a { flex: 1 1 100%; }
  .profile-body { padding: 30px 24px 58px; }
  .profile-section { margin-bottom: 40px; }
  .profile-info-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .profile-info { padding: 20px 18px; min-height: 126px; }
  .profile-info strong { font-size: 16px; }
  .profile-info span { font-size: 20px; }
  .profile-tags { gap: 10px; }
  .profile-tags span { padding: 12px 18px; font-size: 20px; }
  .profile-gallery { gap: 10px; }
  .profile-review { padding: 24px 24px; }
}
@media(max-width:420px){
  .profile-info-grid { grid-template-columns: 1fr; }
  .profile-info.wide { grid-column: auto; }
  .profile-gallery { grid-template-columns: repeat(2, 1fr); }
}


.event-request-section{border-top-color:#c47d18}
.event-request-form textarea{width:100%;min-height:120px;resize:vertical;border:1px solid var(--line);background:#fff;padding:14px;font:inherit;color:var(--ink)}


/* Footer layout polish, logo code untouched */
.site-footer {
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
  gap: clamp(28px, 6vw, 72px);
  align-items: start;
  background: linear-gradient(135deg, #061f14 0%, #0d2f1f 58%, #163b28 100%) !important;
  color: #fff;
  border-top: 5px solid var(--gold);
  padding: clamp(48px, 7vw, 86px) clamp(22px, 6vw, 78px) !important;
}
.site-footer > div:first-child {
  max-width: 720px;
}
.site-footer .brand,
.site-footer .footer-brand {
  margin-bottom: 20px;
}
.site-footer p {
  margin: 0;
  max-width: 720px;
  color: rgba(255,255,255,.76) !important;
  font-size: clamp(17px, 2vw, 23px);
  line-height: 1.75;
}
.site-footer nav,
.site-footer .footer-links {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(120px, 1fr));
  gap: 12px !important;
  margin: 0 !important;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.055);
  border-radius: 22px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.site-footer nav a,
.site-footer .footer-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 11px 14px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  color: rgba(255,255,255,.9);
  font-weight: 900;
  text-align: center;
  background: rgba(255,255,255,.045);
}
.site-footer nav a:hover,
.site-footer .footer-links a:hover {
  background: var(--gold);
  color: #201b15;
  border-color: var(--gold);
}
@media (max-width: 760px) {
  .site-footer {
    grid-template-columns: 1fr !important;
    gap: 30px;
    padding: 46px 22px !important;
  }
  .site-footer nav,
  .site-footer .footer-links {
    grid-template-columns: 1fr;
    padding: 18px;
  }
}


/* Footer layout polish, links split 3 and 3, logo styles untouched */
.site-footer{
  background: var(--green);
  color: #fff;
  padding: 0 !important;
  display: block !important;
}
.footer-shell{
  max-width: 1180px;
  margin: 0 auto;
  padding: 44px 24px 20px;
}
.footer-top-row{
  display: grid;
  grid-template-columns: minmax(280px, 1.35fr) minmax(150px, .7fr) minmax(150px, .7fr);
  gap: 34px;
  align-items: start;
}
.footer-brand-area{
  display: grid;
  gap: 16px;
  align-content: start;
}
.site-footer .footer-brand-area p{
  margin: 0;
  max-width: 430px;
  color: rgba(255,255,255,.76);
  font-size: 15px;
  line-height: 1.65;
}
.footer-link-panel{
  display: grid !important;
  gap: 12px !important;
  align-content: start;
  justify-items: start;
  margin: 0 !important;
}
.footer-link-panel a{
  color: rgba(255,255,255,.88) !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
}
.footer-link-panel a:hover{ color: var(--gold-2) !important; }
.footer-social-row{
  margin-top: 34px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.16);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
.footer-social-row span{
  color: rgba(255,255,255,.72);
  font-weight: 800;
  font-size: 14px;
}
.footer-social-links{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.footer-social-links a{
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff !important;
  font-size: 13px;
  font-weight: 900;
}
.footer-social-links a:hover{
  background: var(--gold-2);
  color: var(--ink) !important;
}
.footer-bottom-row{
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.10);
  display: flex;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  color: rgba(255,255,255,.62);
  font-size: 13px;
}
.footer-bottom-row a{
  color: var(--gold-2) !important;
  font-weight: 900;
}
@media(max-width: 820px){
  .footer-top-row{
    grid-template-columns: 1fr 1fr;
  }
  .footer-brand-area{
    grid-column: 1 / -1;
  }
}
@media(max-width: 560px){
  .footer-shell{ padding: 38px 18px 20px; }
  .footer-top-row{ grid-template-columns: 1fr 1fr; gap: 24px; }
  .footer-brand-area{ grid-column: 1 / -1; }
  .footer-social-row, .footer-bottom-row{ justify-content: center; text-align: center; }
}

/* Footer text-only layout, logo styles untouched */
.site-footer{
  background:#082416 !important;
  color:#fff !important;
  border-top:5px solid var(--gold) !important;
  padding:0 !important;
  display:block !important;
}
.footer-shell{
  max-width:1180px !important;
  margin:0 auto !important;
  padding:42px 24px 20px !important;
}
.footer-top-row{
  display:grid !important;
  grid-template-columns:minmax(0,1.4fr) minmax(130px,.55fr) minmax(130px,.55fr) !important;
  gap:32px !important;
  align-items:start !important;
}
.footer-brand-area{
  display:grid !important;
  gap:14px !important;
}
.site-footer .footer-brand-area p{
  max-width:520px !important;
  font-size:16px !important;
  line-height:1.65 !important;
  color:rgba(255,255,255,.72) !important;
  margin:0 !important;
}
.site-footer nav.footer-link-panel,
.site-footer .footer-link-panel{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  justify-items:start !important;
}
.site-footer nav.footer-link-panel a,
.site-footer .footer-link-panel a,
.site-footer .footer-links a{
  display:inline !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:rgba(255,255,255,.84) !important;
  font-size:15px !important;
  font-weight:800 !important;
  text-align:left !important;
}
.site-footer nav.footer-link-panel a:hover,
.site-footer .footer-link-panel a:hover,
.site-footer .footer-links a:hover{
  background:transparent !important;
  color:var(--gold-2) !important;
  border:0 !important;
}
.footer-social-row{
  margin-top:30px !important;
  padding-top:20px !important;
  border-top:1px solid rgba(255,255,255,.14) !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:16px !important;
  flex-wrap:wrap !important;
}
.footer-social-row span{
  color:rgba(255,255,255,.66) !important;
  font-size:14px !important;
  font-weight:800 !important;
}
.footer-social-links{
  display:flex !important;
  gap:18px !important;
  flex-wrap:wrap !important;
}
.footer-social-links a{
  width:auto !important;
  height:auto !important;
  display:inline !important;
  place-items:unset !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:rgba(255,255,255,.84) !important;
  font-size:14px !important;
  font-weight:900 !important;
  padding:0 !important;
}
.footer-social-links a:hover{
  background:transparent !important;
  color:var(--gold-2) !important;
}
.footer-bottom-row{
  margin-top:18px !important;
  padding-top:16px !important;
  border-top:1px solid rgba(255,255,255,.1) !important;
  display:flex !important;
  justify-content:space-between !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  color:rgba(255,255,255,.58) !important;
  font-size:13px !important;
}
.footer-bottom-row a{
  color:var(--gold-2) !important;
  font-weight:900 !important;
}
@media(max-width:760px){
  .footer-shell{padding:36px 24px 18px !important;}
  .footer-top-row{grid-template-columns:1fr 1fr !important;gap:28px !important;}
  .footer-brand-area{grid-column:1 / -1 !important;}
  .footer-social-row,.footer-bottom-row{justify-content:flex-start !important;text-align:left !important;}
}


/* FOOTER FINAL CLEAN TEXT LAYOUT, logo code untouched */
.site-footer{
  background:#082416 !important;
  color:#fff !important;
  border-top:5px solid var(--gold) !important;
  padding:0 !important;
  display:block !important;
}
.site-footer .footer-shell{
  max-width:1180px !important;
  margin:0 auto !important;
  padding:48px clamp(22px,5vw,64px) 24px !important;
}
.site-footer .footer-top-row{
  display:grid !important;
  grid-template-columns:minmax(260px,1.5fr) minmax(130px,.45fr) minmax(130px,.45fr) !important;
  gap:clamp(28px,5vw,64px) !important;
  align-items:start !important;
}
.site-footer .footer-brand-area{
  display:block !important;
  max-width:540px !important;
}
.site-footer .footer-brand-area p{
  margin:22px 0 0 !important;
  max-width:560px !important;
  color:rgba(255,255,255,.72) !important;
  font-size:16px !important;
  line-height:1.75 !important;
}
.site-footer .footer-link-panel,
.site-footer nav.footer-link-panel,
.site-footer .footer-links{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:14px !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  min-height:0 !important;
  width:auto !important;
}
.site-footer .footer-link-panel a,
.site-footer nav.footer-link-panel a,
.site-footer .footer-links a{
  display:block !important;
  width:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  color:rgba(255,255,255,.86) !important;
  font-size:16px !important;
  line-height:1.35 !important;
  font-weight:800 !important;
  text-align:left !important;
}
.site-footer .footer-link-panel a:hover,
.site-footer nav.footer-link-panel a:hover,
.site-footer .footer-links a:hover{
  background:transparent !important;
  color:var(--gold-2) !important;
}
.site-footer .footer-social-row{
  margin-top:36px !important;
  padding-top:22px !important;
  border-top:1px solid rgba(255,255,255,.14) !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:18px !important;
  flex-wrap:wrap !important;
}
.site-footer .footer-social-row span{
  color:rgba(255,255,255,.68) !important;
  font-size:14px !important;
  font-weight:800 !important;
}
.site-footer .footer-social-links{
  display:flex !important;
  gap:18px !important;
  flex-wrap:wrap !important;
  align-items:center !important;
}
.site-footer .footer-social-links a{
  display:inline !important;
  width:auto !important;
  height:auto !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  color:rgba(255,255,255,.86) !important;
  font-size:14px !important;
  line-height:1.4 !important;
  font-weight:900 !important;
  text-align:left !important;
}
.site-footer .footer-social-links a:hover{
  background:transparent !important;
  color:var(--gold-2) !important;
}
.site-footer .footer-bottom-row{
  margin-top:22px !important;
  padding-top:18px !important;
  border-top:1px solid rgba(255,255,255,.1) !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:14px !important;
  flex-wrap:wrap !important;
  color:rgba(255,255,255,.58) !important;
  font-size:13px !important;
}
.site-footer .footer-bottom-row a{
  color:var(--gold-2) !important;
  font-weight:900 !important;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
}
@media(max-width:760px){
  .site-footer .footer-shell{padding:40px 32px 24px !important;}
  .site-footer .footer-top-row{grid-template-columns:1fr 1fr !important;gap:32px !important;}
  .site-footer .footer-brand-area{grid-column:1 / -1 !important;}
  .site-footer .footer-social-row{display:block !important;}
  .site-footer .footer-social-links{margin-top:12px !important;}
  .site-footer .footer-bottom-row{display:block !important;}
  .site-footer .footer-bottom-row a{display:inline-block !important;margin-top:10px !important;}
}


/* Footer final fix: plain text links, centered social row */
.site-footer .footer-link-panel,
.site-footer nav.footer-link-panel,
.site-footer .footer-links{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
.site-footer .footer-link-panel a,
.site-footer nav.footer-link-panel a,
.site-footer .footer-links a{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 7px 0 !important;
  display: block !important;
  min-height: auto !important;
}
.site-footer .footer-social-row{
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 14px !important;
}
.site-footer .footer-social-links{
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(14px, 5vw, 34px) !important;
  flex-wrap: wrap !important;
  margin: 0 auto !important;
}
.site-footer .footer-social-links a{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  display: inline-block !important;
  text-align: center !important;
}
@media (max-width: 700px){
  .site-footer .footer-top-row{
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
  }
  .site-footer .footer-brand-area{
    grid-column: 1 / -1 !important;
  }
  .site-footer .footer-link-panel{
    text-align: left !important;
  }
  .site-footer .footer-social-row{
    align-items: center !important;
    text-align: center !important;
  }
  .site-footer .footer-bottom-row{
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    gap: 10px !important;
  }
}

/* Keep category cards in a 2 by 2 layout on phones too */
@media (max-width: 520px) {
  .category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .category-card {
    min-height: 142px !important;
    padding: 18px 10px !important;
  }
  .category-card .cat-icon {
    width: 44px !important;
    height: 44px !important;
    font-size: 24px !important;
    margin-bottom: 10px !important;
  }
  .category-card h3 {
    font-size: 15px !important;
    line-height: 1.2 !important;
    margin-bottom: 7px !important;
  }
  .category-card .cat-count {
    font-size: 12px !important;
  }
}

.listing-card { scroll-margin-top: 110px; }
#listingGrid { scroll-margin-top: 110px; }

.profile-actions a:nth-child(3) { background: #dff3e7; color: var(--green); border-color: #dff3e7; }
.profile-back-page-wrap,.profile-back-page-btn{display:none!important}
.profile-float-top{
  position:fixed;
  right:18px;
  bottom:86px;
  z-index:9999;
  width:68px;
  height:68px;
  border-radius:999px;
  border:2px solid rgba(13,61,39,.45);
  background:rgba(199,239,215,.78);
  color:var(--green);
  font-size:38px;
  font-weight:1000;
  line-height:1;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 14px 34px rgba(13,61,39,.28);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.profile-float-top:hover{background:rgba(199,239,215,.95);transform:translateY(-1px)}
@media(max-width:640px){.profile-float-top{right:18px;bottom:112px;width:54px;height:54px;font-size:30px}}

/* Mobile overflow and profile floating arrow visibility fix */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}
.site-header,
main,
section,
footer,
.search-panel,
.listing-grid,
.category-grid,
.resource-grid,
.profile-drawer,
.profile-content,
#profileContent {
  max-width: 100%;
  box-sizing: border-box;
}
.search-panel {
  width: 100%;
  min-width: 0;
}
.listing-card,
.category-card,
.resource-grid article {
  min-width: 0;
}
.listing-media.has-uploaded-image img {
  max-width: 100%;
}
.profile-float-top {
  position: fixed !important;
  right: 18px !important;
  left: auto !important;
  bottom: 112px !important;
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  min-height: 54px !important;
  border-radius: 50% !important;
  border: 2px solid rgba(11, 65, 39, .42) !important;
  background: rgba(190, 242, 207, .46) !important;
  color: rgba(6, 58, 34, .92) !important;
  font-size: 30px !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 2147483000 !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.16), 0 0 0 4px rgba(190,242,207,.14) !important;
  opacity: .72 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  text-decoration: none !important;
  -webkit-tap-highlight-color: transparent;
}
.profile-float-top:hover,
.profile-float-top:focus {
  background: rgba(190, 242, 207, .72) !important;
  outline: 2px solid rgba(255,255,255,.55) !important;
}
@media (max-width: 640px) {
  body { width: 100%; }
  .search-panel {
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .section,
  .feature-split,
  .get-listed {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
  .listing-card {
    width: 100% !important;
    max-width: 100% !important;
  }
  .profile-float-top {
    right: 18px !important;
    bottom: 112px !important;
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
    font-size: 30px !important;
  }
}

/* Profile floating up arrow, smaller and more transparent */
.profile-float-top{
  position:fixed!important;
  right:18px!important;
  left:auto!important;
  bottom:112px!important;
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  min-height:54px!important;
  border-radius:50%!important;
  border:2px solid rgba(11,65,39,.42)!important;
  background:rgba(190,242,207,.46)!important;
  color:rgba(6,58,34,.92)!important;
  font-size:30px!important;
  font-weight:900!important;
  line-height:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 10px 24px rgba(0,0,0,.16),0 0 0 4px rgba(190,242,207,.14)!important;
  opacity:.72!important;
  z-index:2147483000!important;
  pointer-events:auto!important;
}
.profile-float-top:hover,.profile-float-top:focus{
  background:rgba(190,242,207,.72)!important;
  opacity:.9!important;
}


/* Fixed profile floating up arrow, kept outside the scrolling drawer so it stays in place */
.profile-float-top{
  position:fixed!important;
  right:18px!important;
  left:auto!important;
  top:auto!important;
  bottom:118px!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  min-height:48px!important;
  border-radius:999px!important;
  border:2px solid rgba(11,65,39,.36)!important;
  background:rgba(190,242,207,.38)!important;
  color:rgba(6,58,34,.9)!important;
  font-size:28px!important;
  font-weight:900!important;
  line-height:1!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 8px 20px rgba(0,0,0,.13),0 0 0 4px rgba(190,242,207,.10)!important;
  opacity:.68!important;
  z-index:2147483000!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  text-decoration:none!important;
  -webkit-tap-highlight-color:transparent!important;
}
.profile-drawer.open + .profile-float-top{display:flex!important;}
.profile-float-top:hover,.profile-float-top:focus{opacity:.88!important;background:rgba(190,242,207,.58)!important;outline:none!important;}
@media(max-width:640px){.profile-float-top{right:16px!important;bottom:104px!important;width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;font-size:27px!important;}}


/* Fixed floating up arrow for regular pages, matching the View Profile arrow style */
.page-float-top{
  position:fixed!important;
  right:16px!important;
  left:auto!important;
  top:auto!important;
  bottom:104px!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  border-radius:999px!important;
  border:2px solid rgba(11,65,39,.36)!important;
  background:rgba(190,242,207,.38)!important;
  color:rgba(6,58,34,.9)!important;
  font-size:27px!important;
  font-weight:900!important;
  line-height:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 8px 20px rgba(0,0,0,.13),0 0 0 4px rgba(190,242,207,.10)!important;
  opacity:.68!important;
  z-index:2147482500!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  text-decoration:none!important;
  -webkit-tap-highlight-color:transparent!important;
}
.page-float-top:hover,.page-float-top:focus{
  opacity:.88!important;
  background:rgba(190,242,207,.58)!important;
  outline:none!important;
}
body.profile-open .page-float-top{display:none!important;}
@media(min-width:641px){.page-float-top{right:22px!important;bottom:92px!important;width:50px!important;height:50px!important;font-size:28px!important;}}


/* Hero media upgrade, background video or image, buttons stay side by side */
.hero {
  isolation: isolate;
  background:
    linear-gradient(rgba(3, 17, 10, .76), rgba(3, 17, 10, .84)),
    url('hero-media/hero-image.jpg'),
    linear-gradient(135deg, #0d3d27, #061b11) !important;
  background-size: cover, cover, cover !important;
  background-position: center, center, center !important;
}
.hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  pointer-events: none;
}
.hero::after {
  z-index: 1;
  background:
    linear-gradient(rgba(3, 17, 10, .76), rgba(3, 17, 10, .84)),
    radial-gradient(circle at 76% 34%, rgba(199,151,43,.18), transparent 38%) !important;
}
.hero-copy {
  z-index: 2 !important;
}
.hero-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(130px, 230px)) !important;
  justify-content: center !important;
  gap: 14px !important;
  margin-top: 26px !important;
}
.hero-actions .button {
  width: auto !important;
  min-height: 54px !important;
  border-radius: 999px !important;
}
.button.primary {
  background: var(--gold) !important;
  color: var(--ink) !important;
}
.button.secondary {
  background: rgba(255,255,255,.94) !important;
  color: var(--green) !important;
  border: 1px solid rgba(255,255,255,.7) !important;
}
.hero-media-note {
  margin: 18px auto 0;
  max-width: 680px;
  color: rgba(255,255,255,.76);
  font-size: 12px;
  line-height: 1.45;
}
.hero-media-note strong {
  color: #fff;
  font-weight: 900;
}
@media (max-width: 640px) {
  .hero-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .hero-actions .button {
    min-height: 50px !important;
    padding: 0 12px !important;
    font-size: 14px !important;
  }
  .hero-media-note {
    font-size: 11px;
  }
}

/* Premium full-media hero, reference style */
.hero{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:clamp(560px,72vh,760px)!important;
  padding:clamp(72px,10vw,120px) 22px!important;
  overflow:hidden!important;
  color:#fff!important;
  text-align:center!important;
  isolation:isolate!important;
  background:
    linear-gradient(rgba(2,13,8,.60),rgba(2,13,8,.68)),
    url('hero-media/hero-image.jpg'),
    linear-gradient(135deg,#0b2d1e,#05140d)!important;
  background-size:cover,cover,cover!important;
  background-position:center,center,center!important;
  border-bottom:6px solid var(--gold)!important;
}
.hero-video{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  z-index:0!important;
  pointer-events:none!important;
}
.hero::before{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(rgba(2,13,8,.58),rgba(2,13,8,.68))!important;
  pointer-events:none!important;
}
.hero::after{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:radial-gradient(circle at 50% 46%,rgba(255,255,255,.08),transparent 42%)!important;
  pointer-events:none!important;
}
.hero-copy{
  position:relative!important;
  z-index:2!important;
  width:min(980px,100%)!important;
  margin:0 auto!important;
  text-align:center!important;
}
.hero .eyebrow{
  color:rgba(255,255,255,.82)!important;
  letter-spacing:.18em!important;
  margin:0 0 18px!important;
  text-shadow:0 2px 18px rgba(0,0,0,.55)!important;
}
.hero h1{
  max-width:980px!important;
  margin:0 auto!important;
  color:#fffdf8!important;
  font-size:clamp(42px,7vw,86px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  text-shadow:0 4px 30px rgba(0,0,0,.60)!important;
}
.hero h1::first-letter{color:#fffdf8!important;}
.hero-text{
  max-width:780px!important;
  margin:22px auto 0!important;
  color:rgba(255,255,255,.86)!important;
  font-size:clamp(16px,2vw,22px)!important;
  line-height:1.55!important;
  text-shadow:0 2px 18px rgba(0,0,0,.58)!important;
}
.hero-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(140px,230px))!important;
  justify-content:center!important;
  gap:14px!important;
  margin:32px auto 0!important;
}
.hero-actions .button{
  width:auto!important;
  min-height:52px!important;
  border-radius:999px!important;
  box-shadow:0 18px 38px rgba(0,0,0,.28)!important;
}
.hero-actions .button.primary{background:var(--gold)!important;color:var(--ink)!important;}
.hero-actions .button.secondary{background:rgba(255,255,255,.94)!important;color:var(--green)!important;border:1px solid rgba(255,255,255,.75)!important;}
.hero-board,.hero-media-note{display:none!important;}
@media(max-width:640px){
  .hero{min-height:620px!important;padding:82px 24px 78px!important;}
  .hero-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:min(100%,390px)!important;gap:10px!important;}
  .hero-actions .button{min-height:50px!important;padding:0 12px!important;font-size:14px!important;}
}


/* Final hero alignment, reference style */
.hero-copy{
  display:flex!important;
  min-height:420px!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  padding-top:18px!important;
  padding-bottom:18px!important;
}
.hero h1{
  font-size:clamp(62px,9vw,128px)!important;
  line-height:.92!important;
  letter-spacing:-.055em!important;
  margin-top:0!important;
}
.hero-text{
  font-size:clamp(18px,2.2vw,25px)!important;
  max-width:760px!important;
  margin-top:22px!important;
}
.hero-subtext{
  max-width:780px!important;
  margin:8px auto 0!important;
  color:rgba(255,255,255,.78)!important;
  font-size:clamp(13px,1.45vw,17px)!important;
  line-height:1.55!important;
  text-shadow:0 2px 18px rgba(0,0,0,.58)!important;
}
.hero-actions{
  margin-top:28px!important;
}
@media(min-width:901px){
  .site-header{
    justify-content:center!important;
    position:sticky!important;
  }
  .site-header > .brand{
    position:absolute!important;
    left:50%!important;
    transform:translateX(-50%)!important;
  }
  .site-header > .main-nav{
    position:absolute!important;
    right:clamp(18px,5vw,64px)!important;
  }
}
@media(max-width:640px){
  .hero{
    min-height:620px!important;
    padding:72px 22px 70px!important;
  }
  .hero-copy{
    min-height:430px!important;
  }
  .hero .eyebrow{
    font-size:10px!important;
    letter-spacing:.16em!important;
    margin-bottom:14px!important;
  }
  .hero h1{
    font-size:clamp(52px,16vw,76px)!important;
    line-height:.92!important;
  }
  .hero-text{
    font-size:17px!important;
    margin-top:18px!important;
  }
  .hero-subtext{
    font-size:13px!important;
    line-height:1.5!important;
    margin-top:8px!important;
  }
  .hero-actions{
    width:min(100%,390px)!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin-top:24px!important;
  }
}


/* Hero polish: lower feature card and make hero brand match logo text */
.hero-brand-title,
.hero h1.hero-brand-title{
  display:flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  gap:.06em!important;
  flex-wrap:wrap!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(58px,8.8vw,112px)!important;
  line-height:.9!important;
  letter-spacing:-.055em!important;
  color:#fffdf8!important;
  text-align:center!important;
  text-shadow:0 5px 34px rgba(0,0,0,.68)!important;
}
.hero-brand-main{display:inline-block!important;color:#fffdf8!important;}
.hero-brand-hub{
  display:inline-block!important;
  color:#b85c2c!important;
  font-style:italic!important;
  transform:skew(-8deg) translateY(.02em)!important;
  transform-origin:left bottom!important;
}
.hero h1.hero-brand-title::first-letter{color:#fffdf8!important;}
.trust-row{
  transform:none!important;
  margin:clamp(36px,5vw,68px) clamp(18px,5vw,64px) 0!important;
}
@media(max-width:640px){
  .hero-brand-title,
  .hero h1.hero-brand-title{
    font-size:clamp(50px,15vw,76px)!important;
    line-height:.92!important;
  }
  .hero-brand-hub{transform:skew(-8deg) translateY(.03em)!important;}
  .trust-row{margin:34px 18px 0!important;}
}


/* Restore centered logo inside hero only, header/footer logo code untouched */
.hero-center-logo{
  width:min(340px,72vw)!important;
  margin:0 auto 20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  filter:drop-shadow(0 8px 26px rgba(0,0,0,.45))!important;
}
.hero-center-logo img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:96px!important;
  object-fit:contain!important;
}
@media(max-width:640px){
  .hero-center-logo{
    width:min(250px,78vw)!important;
    margin-bottom:16px!important;
  }
  .hero-center-logo img{max-height:74px!important;}
}

/* Navigation logo centered like reference, logo files and markup untouched */
.site-header{
  position: sticky !important;
  top: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 86px !important;
  padding: 16px clamp(18px,5vw,64px) !important;
}
.site-header > .brand{
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 2 !important;
}
.site-header > .main-nav{
  margin-left: auto !important;
  position: relative !important;
  z-index: 3 !important;
}
.site-header > .menu-toggle{
  position: absolute !important;
  right: clamp(18px,5vw,64px) !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 4 !important;
}
@media(max-width: 700px){
  .site-header{
    min-height: 86px !important;
    padding: 14px 74px 14px 18px !important;
  }
  .site-header > .brand{
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    max-width: calc(100vw - 112px) !important;
    gap: 8px !important;
  }
  .site-header > .brand .brand-mark{
    width: 78px !important;
    height: 48px !important;
    flex: 0 0 auto !important;
  }
  .site-header > .brand .brand-name{
    font-size: clamp(24px, 7.2vw, 34px) !important;
    white-space: nowrap !important;
  }
  .site-header > .menu-toggle{
    right: 18px !important;
  }
  .site-header > .main-nav{
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    margin-left: 0 !important;
    transform: none !important;
  }
}
@media(min-width: 701px){
  .site-header > .menu-toggle{display:none !important;}
}

/* Navigation correction: restore original mobile layout, center brand only on roomy desktop */
.site-header{
  position: sticky !important;
  top: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  min-height: 86px !important;
  padding: 16px clamp(18px, 5vw, 64px) !important;
  overflow: visible !important;
}
.site-header > .brand{
  position: static !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  max-width: none !important;
  z-index: 2 !important;
}
.site-header > .main-nav{
  position: static !important;
  margin-left: auto !important;
  right: auto !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  z-index: 3 !important;
}
.site-header > .menu-toggle{
  position: static !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  flex: 0 0 auto !important;
  z-index: 4 !important;
}
@media (min-width: 1180px){
  .site-header{
    justify-content: center !important;
  }
  .site-header > .brand{
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
  }
  .site-header > .main-nav{
    position: absolute !important;
    right: clamp(18px, 5vw, 64px) !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin-left: 0 !important;
    max-width: calc(50vw - 170px) !important;
    overflow: hidden !important;
  }
}
@media (max-width: 980px){
  .site-header{
    justify-content: space-between !important;
  }
  .site-header > .brand{
    position: static !important;
    transform: none !important;
    max-width: calc(100vw - 110px) !important;
    gap: 10px !important;
  }
  .site-header > .menu-toggle{
    display: flex !important;
    position: static !important;
    transform: none !important;
    margin-left: auto !important;
  }
  .site-header > .main-nav{
    position: absolute !important;
    top: 100% !important;
    left: 18px !important;
    right: 18px !important;
    display: none;
    margin-left: 0 !important;
    transform: none !important;
    max-width: none !important;
  }
  .site-header > .main-nav.open{
    display: flex !important;
  }
}
@media (max-width: 640px){
  .site-header{
    min-height: 76px !important;
    padding: 14px 16px !important;
  }
  .site-header > .brand{
    max-width: calc(100vw - 96px) !important;
  }
  .site-header > .brand .brand-mark{
    width: 78px !important;
    height: 48px !important;
    flex: 0 0 auto !important;
  }
  .site-header > .brand .brand-name{
    font-size: 27px !important;
    white-space: nowrap !important;
  }
}


/* FINAL NAVIGATION AND HERO CORRECTION */
.site-header{box-sizing:border-box!important;width:100%!important;max-width:100%!important;}
@media (min-width:981px){
  .site-header{display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;padding:16px clamp(34px,5vw,72px)!important;overflow:visible!important;}
  .site-header>.brand{grid-column:2!important;justify-self:center!important;position:relative!important;left:auto!important;right:auto!important;transform:none!important;margin:0!important;min-width:0!important;max-width:none!important;}
  .site-header>.menu-toggle{display:none!important;}
  .site-header>.main-nav{grid-column:3!important;justify-self:end!important;position:static!important;left:auto!important;right:auto!important;top:auto!important;transform:none!important;margin:0!important;display:flex!important;align-items:center!important;gap:18px!important;width:auto!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;}
}
@media (max-width:980px){
  .site-header{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:82px!important;padding:14px 28px!important;overflow:hidden!important;}
  .site-header>.brand{position:static!important;left:auto!important;right:auto!important;top:auto!important;transform:none!important;margin:0!important;max-width:calc(100% - 82px)!important;min-width:0!important;flex:1 1 auto!important;display:flex!important;align-items:center!important;gap:10px!important;justify-content:flex-start!important;}
  .site-header>.brand .brand-mark{width:74px!important;height:46px!important;flex:0 0 74px!important;}
  .site-header>.brand .brand-name{font-size:clamp(25px,7.1vw,34px)!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;min-width:0!important;max-width:100%!important;letter-spacing:-.055em!important;}
  .site-header>.menu-toggle{position:static!important;right:auto!important;top:auto!important;transform:none!important;margin-left:12px!important;flex:0 0 58px!important;width:58px!important;height:58px!important;display:flex!important;}
  .site-header>.main-nav{position:absolute!important;top:100%!important;left:0!important;right:0!important;display:none!important;width:100%!important;}
  .site-header>.main-nav.open{display:flex!important;}
}
@media (max-width:420px){
  .site-header{padding:13px 24px!important;min-height:78px!important;}
  .site-header>.brand .brand-mark{width:66px!important;height:42px!important;flex-basis:66px!important;}
  .site-header>.brand .brand-name{font-size:27px!important;}
  .site-header>.menu-toggle{width:54px!important;height:54px!important;flex-basis:54px!important;}
}
.hero{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;min-height:clamp(560px,78vh,820px)!important;padding:clamp(92px,12vh,150px) 24px clamp(84px,11vh,130px)!important;}
.hero-copy{width:min(100%,1120px)!important;max-width:1120px!important;margin:0 auto!important;text-align:center!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:0!important;}
.hero-center-logo{display:none!important;}
.hero .eyebrow{font-size:clamp(11px,1vw,14px)!important;letter-spacing:.22em!important;margin:0 0 20px!important;text-align:center!important;}
.hero-brand-title,.hero h1.hero-brand-title{font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(58px,8.4vw,132px)!important;line-height:.92!important;letter-spacing:-.065em!important;white-space:nowrap!important;text-align:center!important;margin:0 auto 22px!important;display:block!important;max-width:100%!important;}
.hero-brand-main,.hero-brand-hub{display:inline!important;white-space:nowrap!important;}
.hero-brand-main{color:#fffdf8!important;}
.hero-brand-hub{color:#a95635!important;font-style:italic!important;transform:skew(-8deg)!important;display:inline-block!important;margin-left:.05em!important;}
.hero-text{font-size:clamp(17px,1.55vw,23px)!important;line-height:1.45!important;max-width:820px!important;margin:0 auto 12px!important;color:rgba(255,255,255,.94)!important;text-align:center!important;}
.hero-subtext{font-size:clamp(13px,1.05vw,16px)!important;line-height:1.5!important;max-width:860px!important;margin:0 auto 34px!important;color:rgba(255,255,255,.88)!important;text-align:center!important;}
.hero-actions{display:grid!important;grid-template-columns:repeat(2,minmax(150px,220px))!important;gap:18px!important;justify-content:center!important;align-items:center!important;width:auto!important;margin:0 auto!important;}
.hero-actions .button{width:100%!important;min-height:52px!important;padding:0 24px!important;border-radius:999px!important;text-align:center!important;}
@media (max-width:640px){
  .hero{min-height:620px!important;padding:96px 22px 76px!important;}
  .hero .eyebrow{font-size:11px!important;letter-spacing:.18em!important;margin-bottom:18px!important;}
  .hero-brand-title,.hero h1.hero-brand-title{font-size:clamp(42px,13.2vw,60px)!important;line-height:.98!important;letter-spacing:-.07em!important;margin-bottom:22px!important;}
  .hero-text{font-size:18px!important;line-height:1.45!important;max-width:340px!important;margin-bottom:14px!important;}
  .hero-subtext{font-size:15.5px!important;line-height:1.55!important;max-width:350px!important;margin-bottom:34px!important;}
  .hero-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;width:min(100%,360px)!important;}
  .hero-actions .button{min-height:56px!important;padding:0 14px!important;font-size:15px!important;}
}


/* FINAL HAMBURGER NAV FIX, desktop centered logo, mobile original layout */
.site-header{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
  position:sticky!important;
  top:0!important;
  z-index:50!important;
}
.site-header>.menu-toggle{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:column!important;
  gap:6px!important;
  cursor:pointer!important;
  z-index:80!important;
}
.site-header>.menu-toggle span{
  display:block!important;
}
.site-header>.main-nav{
  display:none!important;
  z-index:70!important;
}
.site-header>.main-nav.open{
  display:flex!important;
}
@media (min-width:981px){
  .site-header{
    display:grid!important;
    grid-template-columns:1fr auto 1fr!important;
    align-items:center!important;
    min-height:86px!important;
    padding:16px clamp(34px,5vw,72px)!important;
  }
  .site-header>.brand{
    grid-column:2!important;
    justify-self:center!important;
    position:static!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    transform:none!important;
    margin:0!important;
    max-width:none!important;
    min-width:0!important;
  }
  .site-header>.menu-toggle{
    grid-column:3!important;
    justify-self:end!important;
    position:static!important;
    right:auto!important;
    top:auto!important;
    transform:none!important;
    width:58px!important;
    height:58px!important;
    flex:0 0 58px!important;
    margin:0!important;
  }
  .site-header>.main-nav{
    position:absolute!important;
    top:calc(100% + 8px)!important;
    right:clamp(34px,5vw,72px)!important;
    left:auto!important;
    width:min(320px,calc(100vw - 48px))!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    padding:10px!important;
    background:var(--paper)!important;
    border:1px solid var(--line)!important;
    box-shadow:0 18px 40px rgba(13,61,9,.20)!important;
    border-radius:16px!important;
    margin:0!important;
    transform:none!important;
  }
  .site-header>.main-nav a{
    display:block!important;
    padding:14px 16px!important;
    border-bottom:1px solid var(--line)!important;
    border-radius:10px!important;
    color:var(--ink)!important;
  }
  .site-header>.main-nav a:last-child{border-bottom:0!important;}
}
@media (max-width:980px){
  .site-header{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:82px!important;
    padding:14px 28px!important;
  }
  .site-header>.brand{
    position:static!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    transform:none!important;
    margin:0!important;
    max-width:calc(100% - 86px)!important;
    min-width:0!important;
    flex:1 1 auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
  }
  .site-header>.menu-toggle{
    position:static!important;
    right:auto!important;
    top:auto!important;
    transform:none!important;
    margin-left:12px!important;
    width:58px!important;
    height:58px!important;
    flex:0 0 58px!important;
  }
  .site-header>.main-nav{
    position:absolute!important;
    top:100%!important;
    left:16px!important;
    right:16px!important;
    width:auto!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    padding:10px!important;
    background:var(--paper)!important;
    border:1px solid var(--line)!important;
    box-shadow:0 18px 40px rgba(13,61,9,.20)!important;
    border-radius:16px!important;
    margin:0!important;
    transform:none!important;
  }
  .site-header>.main-nav a{
    display:block!important;
    padding:14px 16px!important;
    border-bottom:1px solid var(--line)!important;
    border-radius:10px!important;
  }
  .site-header>.main-nav a:last-child{border-bottom:0!important;}
}
@media (max-width:420px){
  .site-header{padding:13px 24px!important;min-height:78px!important;}
  .site-header>.brand .brand-mark{width:66px!important;height:42px!important;flex-basis:66px!important;}
  .site-header>.brand .brand-name{font-size:27px!important;}
  .site-header>.menu-toggle{width:54px!important;height:54px!important;flex-basis:54px!important;}
}


/* Hero video playback fix, do not change logos */
.hero {
  background-image: linear-gradient(rgba(2,13,8,.58), rgba(2,13,8,.66)), url('hero-media/hero-image.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
}
.hero-video {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 0 !important;
  pointer-events: none !important;
}
.hero::before {
  background: linear-gradient(rgba(2,13,8,.56), rgba(2,13,8,.64)) !important;
  z-index: 1 !important;
}
.hero::after {
  z-index: 1 !important;
}
.hero-copy {
  position: relative !important;
  z-index: 2 !important;
}


/* FINAL NAV MENU FIX, keeps logo untouched */
.site-header{
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 14px 24px !important;
  overflow: visible !important;
}
.site-header > .brand{
  grid-column: 2 !important;
  justify-self: center !important;
  position: static !important;
  transform: none !important;
  margin: 0 !important;
  max-width: min(72vw, 560px) !important;
  z-index: 10002 !important;
}
.site-header > .menu-toggle{
  grid-column: 3 !important;
  justify-self: end !important;
  display: flex !important;
  position: relative !important;
  z-index: 10003 !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  gap: 6px !important;
  border: 2px solid var(--green) !important;
  border-radius: 12px !important;
  background: var(--paper) !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}
.site-header > .menu-toggle span{
  display: block !important;
  width: 24px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: var(--green) !important;
  margin: 0 !important;
}
.site-header > .main-nav{
  display: none !important;
  position: absolute !important;
  top: calc(100% + 10px) !important;
  right: 24px !important;
  left: auto !important;
  width: min(320px, calc(100vw - 32px)) !important;
  z-index: 10001 !important;
  background: var(--paper) !important;
  border: 1px solid var(--line) !important;
  border-radius: 16px !important;
  box-shadow: 0 22px 50px rgba(0,0,0,.2) !important;
  padding: 12px !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 6px !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
.site-header > .main-nav.open,
.site-header > .main-nav.is-open,
.site-header.menu-open > .main-nav{
  display: flex !important;
}
.site-header > .main-nav a{
  display: block !important;
  width: 100% !important;
  padding: 13px 14px !important;
  border-radius: 10px !important;
  color: var(--ink) !important;
  font-weight: 900 !important;
  text-align: left !important;
}
.site-header > .main-nav a:hover,
.site-header > .main-nav a:focus{
  background: rgba(13,61,39,.09) !important;
  color: var(--green) !important;
}
.site-header > .main-nav .nav-cta{
  background: var(--green) !important;
  color: white !important;
  text-align: center !important;
}
@media (max-width: 700px){
  .site-header{
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px 14px !important;
  }
  .site-header > .brand{
    flex: 1 1 auto !important;
    justify-self: auto !important;
    justify-content: flex-start !important;
    max-width: calc(100% - 68px) !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }
  .site-header > .menu-toggle{
    flex: 0 0 52px !important;
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
  }
  .site-header > .main-nav{
    top: calc(100% + 8px) !important;
    right: 12px !important;
    left: 12px !important;
    width: auto !important;
  }
}

/* Sticky navigation final override */
.site-header{
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  overflow: visible !important;
}
.site-header > .main-nav{
  z-index: 10000 !important;
}
html{
  scroll-padding-top: 96px;
}


/* REAL FIXED STICKY NAVBAR OVERRIDE, logo code untouched */
html{scroll-padding-top:104px!important;}
body{padding-top:86px!important;}
.site-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  max-width:100%!important;
  z-index:999999!important;
  overflow:visible!important;
  transform:none!important;
  isolation:isolate!important;
}
.site-header > .main-nav{
  z-index:1000000!important;
}
@media(max-width:700px){
  html{scroll-padding-top:92px!important;}
  body{padding-top:78px!important;}
  .site-header{
    min-height:78px!important;
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    overflow:visible!important;
  }
  .site-header > .main-nav{
    position:absolute!important;
    top:calc(100% + 8px)!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
  }
}


/* ==== 2026 full visual modernization overrides ==== */
:root{
  --surface:#fffdf9;
  --surface-2:#f7f2e8;
  --surface-3:#efe6d6;
  --panel-border:#e5d9c7;
  --panel-shadow:0 18px 50px rgba(31, 25, 16, .10);
  --panel-shadow-hover:0 24px 60px rgba(31, 25, 16, .16);
}
html{scroll-padding-top:110px;}
body{
  background:linear-gradient(180deg,#faf6ee 0%,#f7f1e6 100%) !important;
  color:var(--ink) !important;
  font-size:16.5px !important;
  line-height:1.62 !important;
  letter-spacing:.002em;
}
p, li{max-width:72ch;}
.site-header{
  position:sticky !important;
  top:0 !important;
  z-index:100 !important;
  background:rgba(255,250,240,.90) !important;
  backdrop-filter:blur(16px) !important;
  border-bottom:1px solid rgba(192,138,43,.16) !important;
  box-shadow:0 12px 28px rgba(17, 12, 6, .06) !important;
}
.brand-name,
.hero h1,
.section h2,
.feature-split h2,
.get-listed h2,
.site-footer .brand-name{
  letter-spacing:-.04em !important;
}
.main-nav a:not(.nav-cta){
  position:relative;
}
.main-nav a:not(.nav-cta)::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-8px;
  height:2px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .18s ease;
}
.main-nav a:not(.nav-cta):hover::after,
.main-nav a:not(.nav-cta):focus-visible::after{transform:scaleX(1);}
.nav-cta,
.button,
.card-actions a,
.submit-flyer-block a,
.event-detail-buttons a,
.profile-actions a,
.btn{
  border-radius:16px !important;
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.nav-cta:hover,
.button:hover,
.card-actions a:hover,
.submit-flyer-block a:hover,
.event-detail-buttons a:hover,
.profile-actions a:hover,
.btn:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(17,12,6,.12);
}
.hero{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  min-height:clamp(560px,82vh,860px) !important;
  grid-template-columns:minmax(0,1fr) !important;
  align-items:center !important;
  justify-items:center !important;
  padding:clamp(92px,12vw,148px) clamp(20px,5vw,56px) 124px !important;
  background:#0d3d27 !important;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(4,18,11,.36) 0%,rgba(6,24,15,.62) 48%,rgba(7,25,17,.74) 100%);
  z-index:0;
}
.hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:140px;
  background:linear-gradient(180deg,rgba(7,25,17,0) 0%, rgba(247,241,230,1) 100%);
  z-index:1;
}
.hero-video{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
.hero-copy{
  position:relative;
  z-index:2;
  width:min(100%,860px);
  text-align:center;
  margin:0 auto;
}
.hero-center-logo{
  width:clamp(98px,12vw,126px);
  margin:0 auto 18px;
  filter:drop-shadow(0 16px 28px rgba(0,0,0,.2));
}
.hero .eyebrow,
.events-hero-page .eyebrow{
  color:#f7d381 !important;
  letter-spacing:.18em !important;
}
.hero-brand-title,
.hero h1{
  color:#fff !important;
  font-size:clamp(56px,9vw,102px) !important;
  line-height:.95 !important;
  margin:0 auto !important;
  text-wrap:balance;
}
.hero-brand-main,
.hero-brand-hub{display:inline-block;}
.hero-brand-main{color:#fff;}
.hero-brand-hub{color:#f7d381; margin-left:.1em;}
.hero-text{
  color:rgba(255,255,255,.96) !important;
  font-size:clamp(18px,2.2vw,24px) !important;
  margin:18px auto 12px !important;
  max-width:44ch;
}
.hero-subtext{
  color:rgba(255,255,255,.86) !important;
  font-size:1.06rem !important;
  max-width:64ch;
  margin:0 auto;
}
.hero-actions{
  justify-content:center !important;
  gap:14px !important;
  margin-top:30px !important;
}
.button.primary,
.submit-flyer-block a,
.event-detail-buttons a,
.btn,
.card-actions a:first-child{
  background:linear-gradient(135deg,var(--green),var(--green-2)) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.14) !important;
}
.button.secondary{
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.32) !important;
  backdrop-filter:blur(8px);
}
.hero-board,
.hero-media-note{display:none !important;}
.trust-row{
  width:min(1200px, calc(100% - 32px));
  margin:-58px auto 6px !important;
  position:relative;
  z-index:4;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px !important;
}
.trust-row article{
  background:rgba(255,255,255,.94) !important;
  border:1px solid var(--panel-border) !important;
  border-radius:24px !important;
  padding:22px 22px 20px !important;
  box-shadow:var(--panel-shadow) !important;
  min-height:unset !important;
}
.trust-row strong{display:block;font-size:1.02rem;margin-bottom:6px;}
.trust-row span{color:var(--muted);font-size:.98rem;}
.section,
.feature-split,
.get-listed,
.event-board-page,
.events-hero-page,
.admin-shell{
  width:min(1280px, 100%);
  margin-inline:auto;
}
.section,
.feature-split,
.get-listed{
  padding-left:24px !important;
  padding-right:24px !important;
}
.section-heading{max-width:760px;margin-bottom:28px !important;}
.section-heading h2,
.feature-split h2,
.get-listed h2,
.events-hero-page h1,
.events-hero-page h2{
  font-size:clamp(34px,5vw,58px) !important;
  line-height:1.02 !important;
  margin-bottom:10px !important;
  text-wrap:balance;
}
.section-heading p,
.feature-split p,
.get-listed p,
.events-hero-page p,
.event-board-top p,
.footer-brand-area p,
.profile-section p,
.notice,
.panel p{
  color:var(--muted) !important;
  font-size:1.02rem !important;
}
.origin-grid,
.category-grid,
.listing-grid,
.flyer-grid{
  gap:24px !important;
}
.origin-card,
.category-card,
.listing-card,
.flyer-card,
.profile-info,
.profile-review,
.panel,
.event-modal-card,
.event-filter-panel,
.submit-flyer-block{
  background:var(--surface) !important;
  border:1px solid var(--panel-border) !important;
  border-radius:26px !important;
  box-shadow:var(--panel-shadow) !important;
}
.origin-card,
.category-card,
.listing-card,
.flyer-card,
.profile-info,
.profile-review,
.panel{
  transition:transform .18s ease, box-shadow .18s ease;
}
.origin-card:hover,
.category-card:hover,
.listing-card:hover,
.flyer-card:hover,
.profile-info:hover,
.profile-review:hover,
.panel:hover{
  transform:translateY(-3px);
  box-shadow:var(--panel-shadow-hover) !important;
}
.origin-grid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
.origin-card{padding:28px !important;}
.origin-card.dark{background:linear-gradient(160deg,#0f3425,#145338) !important;color:#fff !important;border-color:rgba(255,255,255,.08) !important;}
.origin-card.dark h3,.origin-card.dark p,.origin-card.dark .eyebrow{color:#fff !important;}
.origin-card.dark .origin-tags button{background:rgba(255,255,255,.12) !important;color:#fff !important;border-color:rgba(255,255,255,.22) !important;}
.origin-tags{display:flex;flex-wrap:wrap;gap:12px !important;}
.origin-tags button,
.event-tab{
  border-radius:999px !important;
  padding:12px 16px !important;
  border:1px solid var(--panel-border) !important;
  background:#fff !important;
  font-weight:800 !important;
  color:var(--ink) !important;
}
.event-tab.active{background:var(--green) !important;color:#fff !important;border-color:var(--green) !important;}
.category-grid{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
.category-card{
  padding:24px !important;
  overflow:hidden;
  position:relative;
}
.category-card::before{
  content:"";
  position:absolute;
  left:24px;
  top:24px;
  width:48px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--gold),#f3cf7d);
}
.cat-icon{
  width:62px;
  height:62px;
  display:grid !important;
  place-items:center;
  border-radius:18px;
  background:linear-gradient(145deg,#f6efe2,#fff9ef);
  box-shadow:inset 0 0 0 1px rgba(192,138,43,.14);
  font-size:28px !important;
  margin-top:10px !important;
  margin-bottom:16px !important;
}
.category-card h3{font-size:1.3rem !important;margin:0 0 10px !important;}
.cat-count{
  display:inline-flex !important;
  align-items:center;
  gap:8px;
  margin:0 0 10px !important;
  font-size:.92rem !important;
  font-weight:800 !important;
  color:var(--green) !important;
}
.cat-desc{margin:0 !important;color:var(--muted) !important;}
.directory-search-panel,
.event-filter-panel{
  background:rgba(255,253,249,.92) !important;
  border:1px solid var(--panel-border) !important;
  border-radius:24px !important;
  box-shadow:var(--panel-shadow) !important;
  padding:18px !important;
}
.search-panel input,
.search-panel select,
.lead-form input,
.lead-form select,
.event-filter-panel input,
.event-filter-panel select,
#listingFilter{
  border-radius:14px !important;
  border:1px solid #ddd0be !important;
  background:#fff !important;
  min-height:50px !important;
}
.search-panel button,
.lead-form button,
.event-filter-panel button{
  border-radius:14px !important;
}
.listing-grid{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
.listing-card{overflow:hidden !important;display:flex !important;flex-direction:column !important;}
.listing-media,
.flyer-art{
  position:relative;
  min-height:220px !important;
}
.listing-media::after,
.flyer-art::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:40%;
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%, rgba(0,0,0,.28) 100%);
}
.listing-media span,
.flyer-art h3,
.flyer-art h2{
  position:relative;
  z-index:1;
}
.listing-content{padding:22px !important;display:flex;flex-direction:column;gap:10px;flex:1;}
.listing-top{display:flex !important;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.listing-top span{color:var(--muted) !important;font-size:.9rem !important;font-weight:800 !important;}
.listing-top b{
  background:#eef8ef !important;
  color:var(--green) !important;
  padding:8px 12px !important;
  border-radius:999px !important;
  font-size:.82rem !important;
}
.listing-card h3{font-size:1.38rem !important;margin:0 !important;}
.listing-card p{margin:0 !important;}
.meta{display:flex !important;flex-wrap:wrap;gap:8px !important;margin-top:4px !important;}
.meta span,
.profile-tags span{
  background:var(--surface-2) !important;
  border:1px solid #e9decf !important;
  color:var(--ink) !important;
  border-radius:999px !important;
  padding:8px 12px !important;
  font-size:.9rem !important;
}
.card-actions{display:flex !important;gap:12px !important;margin-top:auto !important;padding-top:8px !important;}
.card-actions a{
  flex:1 1 0;
  text-align:center;
  padding:12px 14px !important;
  font-weight:800 !important;
  border:1px solid #d7c7a8 !important;
  background:#f7f1e5 !important;
  color:var(--ink) !important;
}
.card-actions a:last-child{background:#fff !important;}
.feature-split{
  padding:40px 24px 70px !important;
}
.feature-grid,
.resources-grid,
.get-listed-grid{
  gap:24px !important;
}
.events-hero-page{
  padding:84px 24px 30px !important;
  background:radial-gradient(circle at top right, rgba(242,199,102,.16) 0 190px, transparent 191px), linear-gradient(180deg,#fbf6ee 0%,#f7f1e5 100%) !important;
}
.event-board-page{padding:8px 24px 70px !important;}
.event-board-top{display:grid !important;grid-template-columns:1.1fr .9fr;gap:24px !important;align-items:end;}
.event-tabs{display:flex !important;flex-wrap:wrap;gap:12px !important;margin:28px 0 18px !important;}
.event-section-label{display:flex !important;align-items:end;justify-content:space-between;gap:14px !important;margin-bottom:18px !important;}
.flyer-grid{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
.flyer-card{overflow:hidden !important;}
.flyer-body{padding:18px 20px 22px !important;}
.submit-flyer-block{
  margin-top:34px !important;
  padding:24px !important;
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:16px !important;
}
.event-modal-card{overflow:hidden !important;}
.site-footer{
  background:linear-gradient(180deg,#123626 0%,#0d2b1f 100%) !important;
  color:#fff !important;
  margin-top:54px !important;
  padding:0 !important;
  border-top-left-radius:34px !important;
  border-top-right-radius:34px !important;
}
.site-footer .brand-name,
.site-footer .brand-name span,
.site-footer .footer-social-row span,
.site-footer .footer-bottom-row span,
.site-footer .footer-link-panel a,
.site-footer .footer-bottom-row a{color:#fff !important;}
.site-footer .footer-link-panel a,
.site-footer .footer-bottom-row a,
.site-footer .footer-social-links a{opacity:.92;}
.site-footer .footer-link-panel a:hover,
.site-footer .footer-bottom-row a:hover,
.site-footer .footer-social-links a:hover{opacity:1;color:#f7d381 !important;}
.footer-shell{max-width:1280px !important;margin:0 auto !important;padding:48px 24px 24px !important;}
.footer-top-row{display:grid !important;grid-template-columns:1.25fr .8fr .8fr !important;gap:28px !important;align-items:start !important;}
.footer-brand-area p{color:rgba(255,255,255,.76) !important;max-width:42ch !important;}
.footer-link-panel a{display:block !important;padding:9px 0 !important;font-weight:700 !important;}
.footer-social-row,.footer-bottom-row{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  border-top:1px solid rgba(255,255,255,.10) !important;
  margin-top:26px !important;
  padding-top:20px !important;
}
.footer-social-links{display:flex !important;flex-wrap:wrap !important;gap:16px !important;}
.profile-drawer{
  background:#fcf8f1 !important;
}
.profile-bar{
  background:rgba(255,250,240,.92) !important;
  backdrop-filter:blur(14px) !important;
  border-bottom:1px solid #eadfce !important;
}
.profile-cover{
  background:linear-gradient(135deg,#0d3d27 0%, #145338 55%, #c08a2b 140%) !important;
}
.profile-body{padding:34px 28px 58px !important;}
.profile-info{padding:20px 18px !important;min-height:unset !important;}
.profile-info strong{font-size:.95rem !important;color:var(--muted) !important;}
.profile-info span{font-size:1.1rem !important;}
.profile-gallery div{border-radius:18px !important;}
.admin-shell{
  padding:36px 20px 60px !important;
}
.panel{padding:24px !important;}
.notice{
  background:#fff9e9 !important;
  color:#6b5a2e !important;
  border:1px solid #f0dfaa !important;
  border-radius:18px !important;
  padding:18px 20px !important;
}
@media (max-width: 1080px){
  .trust-row,
  .category-grid,
  .listing-grid,
  .flyer-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .event-board-top,.footer-top-row{grid-template-columns:1fr !important;}
  .submit-flyer-block{flex-direction:column !important;align-items:flex-start !important;}
}
@media (max-width: 820px){
  .origin-grid,.listing-grid,.flyer-grid,.trust-row{grid-template-columns:1fr !important;}
  .section,.feature-split,.get-listed,.events-hero-page,.event-board-page{padding-left:18px !important;padding-right:18px !important;}
  .hero{padding:92px 18px 104px !important;min-height:520px !important;}
  .hero-brand-title,.hero h1{font-size:clamp(44px,13vw,72px) !important;}
  .search-panel{grid-template-columns:1fr !important;}
  .event-section-label,.footer-social-row,.footer-bottom-row{display:block !important;}
  .footer-social-links{margin-top:12px !important;}
}
@media (max-width: 640px){
  body{font-size:16px !important;}
  .site-header{padding:14px 16px !important;}
  .hero-text{font-size:1.08rem !important;}
  .hero-subtext{font-size:.98rem !important;}
  .category-card,.origin-card,.panel,.listing-content,.profile-body,.submit-flyer-block{padding:20px !important;}
  .flyer-art,.listing-media{min-height:190px !important;}
  .card-actions{flex-direction:column !important;}
}


/* ==== Trust card rounded mobile cleanup ==== */
.trust-row{
  border-radius:30px !important;
  overflow:hidden !important;
}
.trust-row article{
  border-radius:24px !important;
}
@media (max-width: 820px){
  .trust-row{
    width:calc(100% - 36px) !important;
    margin:-42px auto 10px !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
    border-radius:26px !important;
    overflow:visible !important;
  }
  .trust-row article{
    border-radius:22px !important;
    padding:18px 16px !important;
    min-height:132px !important;
  }
  .trust-row strong{
    font-size:1rem !important;
    line-height:1.2 !important;
  }
  .trust-row span{
    font-size:.92rem !important;
    line-height:1.35 !important;
  }
}
@media (max-width: 480px){
  .trust-row{
    width:calc(100% - 28px) !important;
    gap:10px !important;
  }
  .trust-row article{
    border-radius:20px !important;
    padding:16px 14px !important;
    min-height:118px !important;
  }
}


/* ==== Rounded card consistency pass ==== */
.trust-row,
.trust-row article,
.resource-grid article,
.origin-card,
.listing-card,
.event-stack article,
.event-stack .event-mini,
.lead-form,
.directory-search-panel,
.event-filter-panel,
.submit-flyer-block,
.panel,
.event-modal-card,
.flyer-card{
  border-radius:26px !important;
}
.trust-row article,
.resource-grid article,
.origin-card,
.listing-card,
.event-stack article,
.event-stack .event-mini,
.lead-form,
.directory-search-panel,
.event-filter-panel,
.submit-flyer-block,
.panel,
.event-modal-card,
.flyer-card{
  overflow:hidden !important;
}
@media (max-width:820px){
  .trust-row,
  .trust-row article,
  .resource-grid article,
  .origin-card,
  .listing-card,
  .event-stack article,
  .event-stack .event-mini,
  .lead-form,
  .directory-search-panel,
  .event-filter-panel,
  .submit-flyer-block,
  .panel,
  .event-modal-card,
  .flyer-card{
    border-radius:22px !important;
  }
}
@media (max-width:480px){
  .trust-row,
  .trust-row article,
  .resource-grid article,
  .origin-card,
  .listing-card,
  .event-stack article,
  .event-stack .event-mini,
  .lead-form,
  .directory-search-panel,
  .event-filter-panel,
  .submit-flyer-block,
  .panel,
  .event-modal-card,
  .flyer-card{
    border-radius:20px !important;
  }
}


/* Top strip cleanup, removed public request listing button */
.top-strip{
  justify-content:center !important;
  text-align:center !important;
}
.top-strip p{
  margin:0 !important;
}
@media(max-width:640px){
  .top-strip p{margin:0 !important;}
}


/* ==== Remove top announcement strip and move text into request listing ==== */
.top-strip{display:none!important;height:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;overflow:hidden!important;}
.request-listing-note{
  margin:14px 0 20px!important;
  padding:14px 16px!important;
  border-radius:18px!important;
  background:rgba(13,61,39,.08)!important;
  border:1px solid rgba(13,61,39,.14)!important;
  color:var(--green)!important;
  font-weight:800!important;
  max-width:62ch!important;
}

/* ==== Sticky navbar refresh, no empty top space ==== */
html{
  scroll-padding-top:88px!important;
}
body{
  padding-top:0!important;
  margin-top:0!important;
}
.site-header{
  position:sticky!important;
  position:-webkit-sticky!important;
  top:0!important;
  z-index:99999!important;
  margin-top:0!important;
}
.site-header > .main-nav{
  z-index:100000!important;
}
@media(max-width:700px){
  html{scroll-padding-top:78px!important;}
  body{padding-top:0!important;margin-top:0!important;}
  .site-header{top:0!important;z-index:99999!important;}
}


/* ==== Mobile category cards force true 2-up layout ==== */
@media (max-width: 820px){
  .category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
  }
  .category-card{
    min-height:160px !important;
    padding:18px 12px !important;
    border-radius:20px !important;
  }
  .category-card h3{
    font-size:1rem !important;
    line-height:1.2 !important;
    margin:0 0 8px !important;
  }
  .category-card .cat-count{
    font-size:.9rem !important;
  }
}
@media (max-width: 520px){
  .category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }
  .category-card{
    min-height:148px !important;
    padding:16px 10px !important;
  }
  .category-card::before{
    left:14px !important;
    top:14px !important;
    width:52px !important;
  }
  .category-card .cat-icon{
    width:50px !important;
    height:50px !important;
    margin:8px auto 12px !important;
  }
  .category-card h3{
    font-size:.95rem !important;
  }
  .category-card .cat-count{
    font-size:.82rem !important;
  }
}

/* ==== Public listing badge states ==== */
.listing-top b.badge-verified{background:#e4f4ea!important;color:#0d3d27!important}
.listing-top b.badge-new{background:#eaf1ff!important;color:#1f4b80!important}
.listing-top b.badge-community-pick{background:#fff5d8!important;color:#75500c!important}
.listing-top b.badge-sponsored{background:#f9e7ff!important;color:#693078!important}
.listing-top b.badge-featured{background:#fff1bc!important;color:#6a4607!important}
.listing-card.is-hidden{display:none!important}


/* ==== Restaurant directory update and mobile 2 by 2 category fix ==== */
@media (max-width:820px){
  .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
  .category-card{min-height:160px!important;padding:18px 12px!important;}
}
@media (max-width:520px){
  .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
  .category-card{min-height:148px!important;padding:16px 10px!important;}
  .category-card h3{font-size:.95rem!important;line-height:1.2!important;}
  .category-card .cat-count{font-size:.82rem!important;}
}
.listing-card[data-restaurant-source="updated-directory"] .listing-top b{background:#fff4cf!important;color:#5e4010!important;}
.listing-card[data-restaurant-source="updated-directory"] .meta span:last-child{background:#f8efe2!important;color:#5d5548!important;}



/* ==== Listing preview, search, and load-more logic ==== */
.listing-results-controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:28px;
  padding:18px 20px;
  border:1px solid var(--panel-border, var(--line));
  background:rgba(255,253,249,.94);
  border-radius:22px;
  box-shadow:0 14px 34px rgba(31,25,16,.08);
}
.listing-results-controls p{
  margin:0;
  color:var(--muted);
  font-weight:750;
}
.listing-results-controls button[hidden]{display:none!important;}
@media(max-width:640px){
  .listing-results-controls{display:block;text-align:center;padding:16px;}
  .listing-results-controls .button{width:100%;margin-top:14px;}
}


/* ==== Hard fix: hide non-preview listings until search/category/load more ==== */
.listing-grid .listing-card.hidden,
#listingGrid .listing-card.hidden{
  display:none !important;
}


/* ==== Featured cards stay normal size, badge only ==== */
.listing-featured{grid-column:auto!important;}
.listing-card.listing-featured{transform:none!important;}
.listing-card.listing-featured .listing-media{min-height:220px!important;}
@media(max-width:820px){
  .listing-card.listing-featured .listing-media{min-height:108px!important;}
  .listing-card.listing-featured .listing-content{padding:11px!important;gap:5px!important;}
  .listing-card.listing-featured .listing-top{flex-direction:column!important;align-items:flex-start!important;gap:3px!important;}
  .listing-card.listing-featured .listing-top span{font-size:.7rem!important;}
  .listing-card.listing-featured .listing-top b{padding:3px 8px!important;font-size:.68rem!important;}
  .listing-card.listing-featured h3{font-size:.9rem!important;line-height:1.18!important;}
  .listing-card.listing-featured p{display:none!important;}
  .listing-card.listing-featured .meta{display:none!important;}
  .listing-card.listing-featured .card-actions{flex-direction:column!important;gap:5px!important;padding-top:5px!important;}
  .listing-card.listing-featured .card-actions a{padding:9px 6px!important;font-size:.78rem!important;text-align:center!important;}
}
