/* ---- Multipage navigation: dropdown menus ---------------------------- */
.nav-item{position:relative;display:flex;align-items:center}
.nav-trigger{display:flex;align-items:center;gap:6px;padding:0;border:0;background:0 0;cursor:pointer;
  color:#f6f2e9c7;font:11px DM Mono,monospace;letter-spacing:.06em;text-transform:uppercase;transition:color .2s}
.nav-trigger:hover,.nav-trigger:focus-visible,.nav-item:hover>.nav-trigger,.nav-item.is-open>.nav-trigger{color:#c6a46a}
.nav-chevron{transition:transform .25s}
.nav-item:hover>.nav-trigger .nav-chevron,.nav-item.is-open>.nav-trigger .nav-chevron{transform:rotate(180deg)}

.nav-menu{position:absolute;top:100%;left:-20px;z-index:60;min-width:280px;margin-top:16px;padding:16px;
  display:grid;gap:1px;background:#141c1af5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
  border:1px solid #ffffff1f;box-shadow:0 24px 60px #0008;
  opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .22s,transform .22s,visibility .22s}
.nav-item:hover>.nav-menu,.nav-item:focus-within>.nav-menu,.nav-item.is-open>.nav-menu{opacity:1;visibility:visible;transform:none}
.nav-menu a{display:block;padding:10px 12px;border:0;color:#f1ede4c4;
  font:13px DM Sans,sans-serif;letter-spacing:0;text-transform:none;transition:background .2s,color .2s}
.nav-menu a:hover,.nav-menu a:focus-visible{background:#ffffff0f;color:#d1b37b}
.nav-menu a[aria-current=page]{color:#d1b37b}
.nav-menu-wide{left:auto;right:-20px;min-width:640px;grid-template-columns:repeat(3,1fr);gap:6px 14px}
.nav-col{display:grid;align-content:start;gap:1px}
.nav-col-label{padding:6px 12px 8px;color:#8fa08c;font:10px DM Mono,monospace;letter-spacing:.13em;text-transform:uppercase}
.nav-links a[aria-current=page]{color:#d1b37b}

/* ---- Multipage footer ------------------------------------------------ */
.footer-main-v2{grid-template-columns:1fr 1.75fr;gap:8%}
.footer-tagline{margin:26px 0 0;color:#aebeaa;font:italic 24px/1.15 Playfair Display,serif}
.footer-contact{display:grid;gap:4px;margin-top:32px;color:#c3cec1;font-size:13px;line-height:1.6}
.footer-contact address{font-style:normal;margin:0 0 12px}
.footer-contact p{margin:0 0 12px}
.footer-contact .footer-label{margin-bottom:2px}
.footer-contact a{color:#d1b37b;text-decoration:none}
.footer-contact a:hover{color:#e3ca98}
.footer-links-v2{grid-template-columns:repeat(4,1fr);gap:34px 26px}
.footer-links-v2 a{line-height:1.45}

@media (max-width:1100px){
  .nav-menu-wide{min-width:520px;grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  /* The base rule sets .97 alpha, which lets hero text ghost through the panel. */
  .nav-links{max-height:calc(100vh - 72px);overflow-y:auto;background:#121a17;
    -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 20px 50px #0009}
  .nav-item{display:block}
  .nav-trigger{width:100%;justify-content:space-between;padding:14px 0;border-bottom:1px solid #ffffff1a}
  .nav-menu{position:static;display:none;min-width:0;margin:0;padding:2px 0 8px;background:0 0;border:0;box-shadow:none;
    opacity:1;visibility:visible;transform:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .nav-item:hover>.nav-menu,.nav-item:focus-within>.nav-menu{display:none}
  .nav-item.is-open>.nav-menu{display:grid}
  .nav-menu-wide{min-width:0;right:auto;grid-template-columns:1fr}
  .nav-menu a{padding:11px 0 11px 16px;border-bottom:1px solid #ffffff0d}
  .nav-col-label{padding:12px 0 4px}
  .footer-main-v2{grid-template-columns:1fr;gap:40px}
  .footer-links-v2{grid-column:1/-1;grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .footer-links-v2{grid-template-columns:1fr;gap:26px}
  .footer-tagline{font-size:21px}
}

.footer-brand{align-content:start}
