:root{--menu-bg:rgba(255,255,255,.98);--menu-border:rgba(16,35,29,.12)}
@media (min-width:761px){
  .primary-nav .nav-list{gap:24px;align-items:center}
  .primary-nav .nav-list li{position:relative;list-style:none}
  .primary-nav .nav-list>.menu-item-has-children>a{display:inline-flex;align-items:center;gap:7px}
  .primary-nav .nav-list>.menu-item-has-children>a::before{content:"";order:2;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.75;transition:transform .22s ease}
  .primary-nav .nav-list>.menu-item-has-children:hover>a::before,.primary-nav .nav-list>.menu-item-has-children:focus-within>a::before{transform:rotate(225deg) translateY(-1px)}
  .primary-nav .sub-menu{position:absolute;top:calc(100% + 18px);left:50%;min-width:250px;padding:12px;margin:0;list-style:none;background:var(--menu-bg);border:1px solid var(--menu-border);box-shadow:0 24px 55px rgba(7,25,20,.16);border-radius:0 0 20px 20px;opacity:0;visibility:hidden;transform:translate(-50%,10px);pointer-events:none;transition:opacity .22s ease,transform .22s ease,visibility .22s ease;z-index:100}
  .primary-nav .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-20px;height:20px}
  .primary-nav li:hover>.sub-menu,.primary-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto}
  .primary-nav .sub-menu li{width:100%}
  .primary-nav .sub-menu a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-radius:12px;white-space:nowrap;font-size:1rem;color:#10231d;text-decoration:none}
  .primary-nav .sub-menu a::after{display:none}
  .primary-nav .sub-menu a:hover,.primary-nav .sub-menu a:focus{background:#f5efe3;color:#7b5d21;outline:none}
  .primary-nav .sub-menu .menu-item-has-children>a::before{content:"›";order:2;font-family:Georgia,serif;font-size:1.45rem;line-height:1;opacity:.75;transform:none;border:0;width:auto;height:auto}
  .primary-nav .sub-menu .sub-menu{top:-13px;left:calc(100% + 10px);transform:translate(10px,0);border-radius:0 20px 20px 20px}
  .primary-nav .sub-menu li:hover>.sub-menu,.primary-nav .sub-menu li:focus-within>.sub-menu{transform:translate(0,0)}
}
@media (max-width:760px){
  .primary-nav .nav-list{align-items:stretch}
  .primary-nav .nav-list li{list-style:none}
  .primary-nav .sub-menu{display:block;position:static;margin:10px 0 4px 16px;padding:8px 0 8px 12px;border-left:2px solid var(--gold);list-style:none;background:rgba(16,35,29,.035);border-radius:14px}
  .primary-nav .sub-menu a{display:block;padding:9px 12px;border-radius:10px;text-decoration:none}
  .primary-nav .menu-item-has-children>a::before{content:"▾";float:right;color:#9a762b}
}


/* Legacy gallery repair: responsive grids for old NextGEN shortcode pages and
   hand-authored gallery thumbnail pages. */
.entry-content .tfr-ngg-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:18px;margin:28px 0;clear:both}.tfr-ngg-item{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:18px;background:#e8efe8;box-shadow:0 14px 35px rgba(7,25,20,.11);text-decoration:none}.tfr-ngg-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease}.tfr-ngg-item:hover img{transform:scale(1.06);filter:saturate(1.06)}.tfr-ngg-item span{position:absolute;left:10px;right:10px;bottom:10px;padding:7px 9px;border-radius:12px;background:rgba(7,25,20,.72);color:#fff;font-size:.8rem;font-weight:700;line-height:1.2}.entry-content>a:has(img),.entry-content p>a:has(img){display:inline-block;margin:8px}.entry-content img.alignleft,.entry-content img.size-medium{float:none!important;width:200px;height:102px;object-fit:cover;border-radius:16px!important;border:0!important;box-shadow:0 12px 26px rgba(7,25,20,.12);transition:transform .3s ease}.entry-content a:hover img.alignleft,.entry-content a:hover img.size-medium{transform:translateY(-3px) scale(1.03)}

/* Tall WordPress pages (especially galleries) can exceed the IntersectionObserver
   threshold, so keep page articles visible while still animating smaller blocks. */
.single-wrap.reveal{opacity:1;transform:none}
