.topbar{ position: relative; z-index: 10; border-bottom: 1px solid rgba(25,56,46,.1); background: rgba(245,246,239,.94); }
.nav{ min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand{ display: inline-flex; align-items: center; gap: 13px; text-decoration: none; min-width: 225px; }
.brand-mark{ display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(123,86,141,.65); border-radius: 50%; color: var(--clay); }
.brand-mark svg{ width: 26px; height: 26px; }
.brand-copy{ display: block; font-size: .76rem; font-weight: 800; letter-spacing: .08em; line-height: 1.35; text-transform: uppercase; }
.brand-copy small{ display: block; margin-top: 4px; color: var(--muted); font-size: .6rem; font-weight: 600; letter-spacing: .13em; }
.nav-links{ display: flex; align-items: center; gap: clamp(14px, 2vw, 29px); }
.nav-links a{ color: #344d40; font-size: .82rem; font-weight: 650; text-decoration: none; }
.nav-links a.button, .nav-links a.button:visited, .nav-links a.button:hover{ color: #ffffff; }
.nav-links a:not(.button):hover{ color: var(--clay); }
.nav-links .button{ min-height: 43px; padding: 10px 15px; font-size: .8rem; }
.menu-toggle{ display: none; border: 1px solid var(--line); background: transparent; color: var(--ink); padding: 9px 12px; border-radius: 2px; font: inherit; font-size: .8rem; font-weight: 750; }
@media (max-width: 960px){.nav{ min-height: 76px; }
.brand{ min-width: 0; }
.menu-toggle{ display: inline-flex; align-items: center; gap: 8px; }
.nav-links{ display: none; position: absolute; left: 0; right: 0; top: 76px; flex-direction: column; align-items: stretch; gap: 0; padding: 12px 24px 22px; border-bottom: 1px solid var(--line); background: var(--paper); box-shadow: 0 15px 25px rgba(25,56,46,.08); }
.nav-links.is-open{ display: flex; }
.nav-links a:not(.button){ padding: 12px 0; border-bottom: 1px solid var(--line); }
.nav-links .button{ margin-top: 14px; }}
.topbar{ position: sticky !important; top: 0; z-index: 1000 !important; background: rgba(245,246,239,.97) !important; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 3px 18px rgba(25,56,46,.06); }
.brand-copy{ font-size: clamp(1.12rem, 1.45vw, 1.42rem) !important; line-height: 1.15 !important; letter-spacing: -.025em !important; text-transform: none !important; white-space: nowrap; }
.brand-copy small{ font-size: .61rem !important; letter-spacing: .085em !important; line-height: 1.35 !important; text-transform: uppercase !important; white-space: normal; }
.nav{ min-height: 88px; }
@media (max-width: 960px){.brand-copy{ font-size: 1.12rem !important; }
.nav{ min-height: 78px; }}
@media (max-width: 700px){.brand-copy{ font-size: 1.03rem !important; }
.brand-copy small{ font-size: .52rem !important; }
.brand{ gap: 8px !important; }
.brand-mark{ width: 35px !important; height: 35px !important; flex-shrink: 0; }
.nav{ min-height: 76px; }}
@media (max-width: 380px){.brand-copy{ font-size: .91rem !important; }
.brand-copy small{ font-size: .47rem !important; }}
@media (min-width: 961px){.nav{ gap: clamp(36px, 4vw, 68px); }
.brand{ flex-shrink: 0; }
.nav-links{ margin-left: auto; gap: clamp(9px, 1.05vw, 17px); }
.nav-links a:not(.button){ font-size: .70rem; font-weight: 600; white-space: nowrap; }
.nav-links .button{ font-size: .70rem; padding: 9px 12px; white-space: nowrap; }}
.nav-links a.button, .nav-links a.button:visited, .nav-links a.button:hover{ color: #ffffff !important; }
.nav-links a:not(.button){ position: relative; }
.nav-links a:not(.button)::before{
      content: "";
      position: absolute;
      left: 50%; top: -11px;
      width: 7px; height: 7px;
      border-radius: 50%;
      background: #74508d;
      transform: translateX(-50%) scale(0);
      opacity: 0;
      transition: transform 220ms ease, opacity 220ms ease;
      pointer-events: none;
    }
.nav-links a:not(.button):hover::before,
    .nav-links a:not(.button):focus-visible::before{
      transform: translateX(-50%) scale(1.35);
      opacity: 1;
    }
@media (prefers-reduced-motion: reduce){.nav-links a:not(.button)::before{ transition: none; }}
.topbar { --clay: #7b568d; --ink-2: #334f41; line-height: 1.65; }
.topbar .wrap { width: min(1160px, calc(100% - 48px)); margin-inline: auto; }
.topbar .button { display:inline-flex; align-items:center; justify-content:center; gap:12px; border:1px solid var(--ink); border-radius:2px; background:var(--ink); font-weight:700; text-decoration:none; transition:transform .2s ease,background .2s ease,border-color .2s ease; }
.topbar .button:hover { transform:translateY(-2px); background:#7b568d; border-color:#7b568d; }
.topbar .arrow { font-size:1.1rem; line-height:1; }
@media(max-width:700px) { .topbar .wrap { width: min(1160px, calc(100% - 36px)); } }

/* Keep the expanded navigation comfortable on smaller screens. */
@media(min-width:961px){.nav{gap:24px}.nav-links{gap:10px}.nav-links a:not(.button){font-size:.68rem}}
@media(min-width:961px) and (max-width:1190px){.menu-toggle{display:inline-flex;align-items:center;gap:8px}.brand{min-width:0}.nav-links{display:none;position:absolute;left:0;right:0;top:88px;flex-direction:column;align-items:stretch;gap:0;padding:12px 24px 22px;border-bottom:1px solid var(--line);background:var(--paper);box-shadow:0 15px 25px rgba(25,56,46,.08)}.nav-links.is-open{display:flex}.nav-links a:not(.button){padding:12px 0;border-bottom:1px solid var(--line)}.nav-links .button{margin-top:14px}}

.brand .brand-copy { transition:color .2s ease; }
.brand:hover .brand-copy, .brand:focus-visible .brand-copy { color:#7b568d; }
@media(prefers-reduced-motion:reduce) { .brand .brand-copy { transition:none; } }
