/* ═══ nav.css — OWNER: A1. Header, client-login dropdown, mobile menu, float CTA, progress bar. ═══ */

/* ── Floating book CTA ── */
.float-book{position:fixed;bottom:32px;right:32px;z-index:var(--z-float);background:var(--gold);color:var(--navy);padding:14px 26px;font-family:'DM Sans',sans-serif;font-size:0.78rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;text-decoration:none;box-shadow:0 8px 32px rgba(var(--accent-rgb),0.4);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);display:flex;align-items:center;gap:10px;min-height:44px;}
.float-book:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(var(--accent-rgb),0.5);}
body.wa-menu-open .float-book{visibility:hidden;}

/* ── Sticky glass header ── */
nav#mainNav{position:fixed;top:0;left:0;right:0;z-index:var(--z-nav);display:flex;align-items:center;justify-content:space-between;padding:22px 64px;
  background:var(--glass-bg-strong);
  backdrop-filter:blur(var(--glass-blur-strong));-webkit-backdrop-filter:blur(var(--glass-blur-strong));
  border-bottom:1px solid var(--glass-border);
  transition:padding var(--dur-fast) var(--ease-soft),background var(--dur-fast) var(--ease-soft),box-shadow var(--dur-fast) var(--ease-soft);}
nav#mainNav.wa-scrolled{padding:14px 64px;background:rgba(var(--ink-rgb),0.88);box-shadow:var(--glass-shadow);}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  nav#mainNav{background:rgba(var(--glass-strong-rgb),0.96);}
  nav#mainNav.wa-scrolled{background:rgba(var(--ink-rgb),0.98);}
}

.nav-logo{font-family:'Cormorant Garamond',serif;font-size:2.2rem;color:var(--white);text-decoration:none;letter-spacing:0.04em;display:flex;align-items:center;gap:16px;}
.nav-logo img{height:80px;width:auto;object-fit:contain;filter:drop-shadow(0 0 12px rgba(var(--accent-rgb),0.35));transition:filter var(--dur-fast),transform var(--dur-fast);}
.nav-logo:hover img{filter:drop-shadow(0 0 18px rgba(var(--accent-rgb),0.55));transform:scale(1.04);}
.nav-logo span{color:var(--gold);}

.nav-links{display:flex;gap:36px;list-style:none;}
.nav-links a{color:var(--muted);text-decoration:none;font-size:0.78rem;letter-spacing:0.13em;text-transform:uppercase;padding:12px 0;transition:color var(--dur-micro);}
.nav-links a:hover{color:var(--gold);}
.nav-links a.current{color:var(--gold);}

.nav-right{display:flex;align-items:center;gap:16px;}
.nav-phone{display:inline-flex;align-items:center;min-height:44px;font-size:0.8rem;color:var(--muted);text-decoration:none;transition:color var(--dur-micro);}
.nav-phone:hover{color:var(--gold);}
.nav-cta{display:inline-flex;align-items:center;min-height:44px;background:var(--gold);color:var(--navy);padding:11px 26px;font-family:'DM Sans',sans-serif;font-size:0.75rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;text-decoration:none;transition:background var(--dur-micro);white-space:nowrap;}
.nav-cta:hover{background:var(--gold-light);}

/* ── Client Login dropdown (disclosure pattern) ── */
.nav-login{position:relative;}
.nav-login-btn{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 16px;background:transparent;border:1px solid var(--glass-border);color:var(--text);font-family:'DM Sans',sans-serif;font-size:0.75rem;font-weight:500;letter-spacing:0.13em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:color var(--dur-micro),border-color var(--dur-micro);}
.nav-login-btn::after{content:'';width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform var(--dur-micro) var(--ease-soft);}
.nav-login-btn:hover{color:var(--gold);border-color:var(--glass-border-gold);}
.nav-login.open .nav-login-btn{color:var(--gold);border-color:var(--glass-border-gold);}
.nav-login.open .nav-login-btn::after{transform:translateY(2px) rotate(225deg);}
.nav-login-menu{position:absolute;top:calc(100% + 12px);right:0;min-width:240px;list-style:none;padding:8px;
  background:var(--glass-bg-strong);backdrop-filter:blur(var(--glass-blur-strong));-webkit-backdrop-filter:blur(var(--glass-blur-strong));
  border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),visibility 0s linear var(--dur-fast);}
.nav-login.open .nav-login-menu{opacity:1;visibility:visible;transform:translateY(0);transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);}
.nav-login-menu a{display:flex;align-items:center;min-height:44px;padding:10px 14px;color:var(--text);font-size:0.82rem;letter-spacing:0.02em;text-decoration:none;transition:color var(--dur-micro),background var(--dur-micro);}
.nav-login-menu a:hover,.nav-login-menu a:focus-visible{background:var(--glass-bg-light);color:var(--gold);}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .nav-login-menu{background:rgba(var(--glass-strong-rgb),0.96);}
}

/* ── Hamburger (hidden on desktop) ── */
.nav-burger{display:none;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:transparent;border:1px solid var(--glass-border);cursor:pointer;padding:0;}
.nav-burger span{display:block;width:20px;height:2px;background:var(--white);transition:transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out);}
.nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ── Mobile slide-in menu + scrim ── */
.wa-nav-scrim{position:fixed;inset:0;z-index:var(--z-modal);background:rgba(var(--shadow-rgb),0.55);border:0;opacity:0;visibility:hidden;transition:opacity var(--dur-fast) var(--ease-soft),visibility 0s linear var(--dur-fast);}
.wa-nav-scrim.open{opacity:1;visibility:visible;transition:opacity var(--dur-fast) var(--ease-soft);}
.mobile-menu{position:fixed;top:0;right:0;bottom:0;width:min(360px,88vw);z-index:var(--z-modal);display:flex;flex-direction:column;gap:4px;padding:100px 28px 40px;overflow-y:auto;
  background:var(--glass-bg-strong);backdrop-filter:blur(var(--glass-blur-strong));-webkit-backdrop-filter:blur(var(--glass-blur-strong));
  border-left:1px solid var(--glass-border);box-shadow:var(--glass-shadow);
  transform:translateX(102%);visibility:hidden;
  transition:transform 350ms var(--ease-out),visibility 0s linear 350ms;}
.mobile-menu.open{transform:translateX(0);visibility:visible;transition:transform 350ms var(--ease-out);}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .mobile-menu{background:rgba(var(--glass-strong-rgb),0.97);}
}
.mobile-menu ul{list-style:none;}
.mm-links a{display:flex;align-items:center;min-height:48px;padding:10px 4px;color:var(--white);text-decoration:none;font-size:0.85rem;letter-spacing:0.13em;text-transform:uppercase;border-bottom:1px solid var(--border-subtle);transition:color var(--dur-micro);}
.mm-links a:hover{color:var(--gold);}
.mm-links a.current{color:var(--gold);}
.mm-phone{display:flex;align-items:center;min-height:48px;padding:10px 4px;margin-top:12px;color:var(--text);text-decoration:none;font-size:0.9rem;transition:color var(--dur-micro);}
.mm-phone:hover{color:var(--gold);}
.mm-login{margin-top:8px;padding-top:14px;border-top:1px solid var(--border-subtle);}
.mm-login-label{font-size:0.7rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);padding:4px;}
.mm-login-list a{display:flex;align-items:center;min-height:48px;padding:10px 4px;color:var(--text);text-decoration:none;font-size:0.88rem;transition:color var(--dur-micro);}
.mm-login-list a:hover{color:var(--gold);}
.mm-cta{display:flex;align-items:center;justify-content:center;min-height:52px;margin-top:24px;background:var(--gold);color:var(--navy);padding:14px 26px;font-family:'DM Sans',sans-serif;font-size:0.78rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;text-decoration:none;transition:background var(--dur-micro);}
.mm-cta:hover{background:var(--gold-light);}
body.wa-menu-open{overflow:hidden;}

/* ── Scroll progress indicator ── */
#wa-progress{position:fixed;top:0;left:0;right:0;height:3px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--gold),var(--gold-light));z-index:var(--z-progress);transition:transform .12s linear;pointer-events:none;}

/* ═══════════════════════════════════════════════════════════════════
   v4 CHROME EXTENSIONS (NAV agent) — injected by js/chrome.js.
   Additive only: v3 rules above are untouched and still style index.html.
   New class prefixes: .nav-dd* (desktop dropdowns), .mm-acc* (mobile
   accordions), .wa-ft* (injected footer-top), .wa-disclosure (static
   compliance block), .wa-sr / .wa-noscript-nav utilities.
   ═══════════════════════════════════════════════════════════════════ */

/* ── Desktop multi-level dropdowns ── */
.nav-links{align-items:center;}
.nav-links>li{position:relative;}
/* #navPrimary = the v4 injected list only — v3's flat index.html list keeps its
   ability to soft-wrap long labels on narrow desktops (pre-existing behavior). */
#navPrimary>li>a{white-space:nowrap;}
.nav-dd-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:12px 0;background:transparent;border:0;cursor:pointer;color:var(--muted);font-family:'DM Sans',sans-serif;font-size:0.78rem;letter-spacing:0.13em;text-transform:uppercase;white-space:nowrap;transition:color var(--dur-micro);}
.nav-dd-btn::after{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform var(--dur-micro) var(--ease-soft);}
.nav-dd-btn:hover{color:var(--gold);}
.nav-dd-btn.current{color:var(--gold);}
.nav-dd.open .nav-dd-btn{color:var(--gold);}
.nav-dd.open .nav-dd-btn::after{transform:translateY(1px) rotate(225deg);}
.nav-dd-menu{position:absolute;top:calc(100% + 12px);left:-18px;min-width:264px;list-style:none;padding:8px;
  background:var(--glass-bg-strong);backdrop-filter:blur(var(--glass-blur-strong));-webkit-backdrop-filter:blur(var(--glass-blur-strong));
  border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),visibility 0s linear var(--dur-fast);}
.nav-dd.open .nav-dd-menu{opacity:1;visibility:visible;transform:translateY(0);transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);}
.nav-dd-menu a{display:flex;align-items:center;min-height:44px;padding:10px 14px;color:var(--text);font-size:0.82rem;letter-spacing:0.02em;text-transform:none;text-decoration:none;transition:color var(--dur-micro),background var(--dur-micro);}
.nav-dd-menu a:hover,.nav-dd-menu a:focus-visible{background:var(--glass-bg-light);color:var(--gold);}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .nav-dd-menu{background:rgba(var(--glass-strong-rgb),0.96);}
}
/* Audit Score — emphasized item, gold accent */
.nav-links a.nav-score{display:inline-flex;align-items:center;min-height:40px;padding:8px 16px;color:var(--gold);background:var(--gold-dim);border:1px solid var(--glass-border-gold);}
.nav-links a.nav-score:hover,.nav-links a.nav-score.current{color:var(--navy);background:var(--gold);}

/* ── Mobile accordion groups (inside v3 .mobile-menu drawer) ── */
.mm-acc-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:10px 4px;background:transparent;border:0;border-bottom:1px solid var(--border-subtle);color:var(--white);font-family:'DM Sans',sans-serif;font-size:0.85rem;letter-spacing:0.13em;text-transform:uppercase;text-align:left;cursor:pointer;transition:color var(--dur-micro);}
.mm-acc-btn::after{content:'';flex:0 0 auto;width:7px;height:7px;margin-right:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform var(--dur-micro) var(--ease-soft);}
.mm-acc-btn:hover,.mm-acc-btn.current{color:var(--gold);}
.mm-acc.open .mm-acc-btn{color:var(--gold);}
.mm-acc.open .mm-acc-btn::after{transform:translateY(1px) rotate(225deg);}
.mm-acc-list{display:none;list-style:none;padding:2px 0 6px;border-bottom:1px solid var(--border-subtle);}
.mm-acc.open .mm-acc-list{display:block;}
.mm-acc-list a{display:flex;align-items:center;min-height:44px;padding:8px 4px 8px 20px;color:var(--text);font-size:0.88rem;text-decoration:none;transition:color var(--dur-micro);}
.mm-acc-list a:hover{color:var(--gold);}
.mm-links a.mm-score{color:var(--gold);}

/* ── Injected footer-top (.wa-ft*) — self-contained: scene pages don't load sections.css ── */
.wa-footer{position:relative;z-index:var(--z-content);background:rgba(var(--surface-alt-rgb),0.84);border-top:1px solid var(--border);padding:var(--s-7) var(--s-7) var(--s-5);}
.wa-ft{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.8fr 1fr 1.2fr;gap:var(--s-6);} /* v5: newsletter column moved to static .wa-nl in the disclosure block */
.wa-ft-logo{height:72px;width:auto;object-fit:contain;display:block;margin-bottom:16px;filter:drop-shadow(0 0 14px rgba(var(--accent-rgb),0.3));}
.wa-ft-brand h2{font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:var(--white);margin-bottom:12px;}
.wa-ft-brand h2 span{color:var(--gold);}
.wa-ft-slogan{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.08rem;line-height:1.5;color:var(--gold);max-width:300px;}
.wa-ft-social{display:flex;gap:10px;margin-top:22px;}
.wa-ft-social a{width:34px;height:34px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted);text-decoration:none;font-size:0.8rem;font-weight:600;transition:color var(--dur-fast),border-color var(--dur-fast),transform var(--dur-fast);}
.wa-ft-social a:hover{color:var(--gold);border-color:var(--gold);transform:translateY(-2px);}
.wa-ft-col h3{font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;}
.wa-ft-col ul{list-style:none;}
.wa-ft-col li{margin-bottom:9px;}
.wa-ft-col a{font-size:0.84rem;color:var(--muted);text-decoration:none;transition:color var(--dur-micro);}
.wa-ft-col a:hover{color:var(--white);}

/* ── Static compliance disclosure block (partials/chrome-disclosure.html) ── */
.wa-disclosure{position:relative;z-index:var(--z-content);background:rgba(var(--surface-alt-rgb),0.84);padding:0 var(--s-7) 40px;}
.wa-disclosure-inner{max-width:1240px;margin:0 auto;border-top:1px solid var(--border);padding-top:28px;}
.wa-disclosure .footer-disc{font-size:0.72rem;color:var(--muted);line-height:1.6;max-width:840px;margin-bottom:12px;}
.wa-disclosure .footer-disc a{color:var(--gold);text-decoration:underline;text-underline-offset:2px;}
.wa-disclosure-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:18px;}
.wa-disclosure .footer-copy{font-size:0.72rem;color:var(--muted);white-space:nowrap;}
.wa-disclosure-link{font-size:0.72rem;color:var(--muted);text-decoration:underline;text-underline-offset:2px;transition:color var(--dur-micro);}
.wa-disclosure-link:hover{color:var(--gold);}

/* ── Utilities ── */
.wa-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.wa-noscript-nav{list-style:none;display:flex;gap:24px;padding:20px 32px;}
.wa-noscript-nav a{color:var(--gold);font-size:0.85rem;}

/* ── v4 chrome responsive ── */
@media(max-width:1180px){
  .wa-footer{padding:var(--s-6) var(--s-4) var(--s-4);}
  .wa-disclosure{padding:0 var(--s-4) 36px;}
}
@media(max-width:900px){
  .wa-ft{grid-template-columns:1fr 1fr;gap:var(--s-5);}
}
@media(max-width:560px){
  .wa-ft{grid-template-columns:1fr;}
  .wa-disclosure-meta{flex-direction:column;align-items:flex-start;gap:8px;}
}

/* ── Nav responsive (owned here, not in responsive.css) ── */
@media(min-width:901px){
  .nav-burger,.mobile-menu,.wa-nav-scrim{display:none;}
}
/* Intermediate band: desktop header on narrow desktops/tablets-landscape.
   Recovers ~200px so logo + 6 links + login + CTA fit down to 901px.
   Phone link hidden here only — still available in the mobile menu, footer, and gold banner. */
@media(min-width:901px) and (max-width:1180px){
  nav#mainNav{padding:22px 32px;}
  nav#mainNav.wa-scrolled{padding:14px 32px;}
  .nav-phone{display:none;}
  .nav-links{gap:22px;}
  .nav-login-btn{padding:0 12px;}
  /* v4 chrome: the five-item multi-level nav is wider than the v3 six-link list.
     The header CTA yields in this band — the fixed .float-book CTA (same Calendly
     URL) is always on screen, and the CTA returns inside the mobile drawer ≤900. */
  #navPrimary~.nav-right .nav-cta{display:none;}
  #navPrimary{gap:18px;}
  #navPrimary .nav-score{padding:8px 12px;}
}
@media(max-width:900px){
  nav#mainNav{padding:14px 24px;}
  nav#mainNav.wa-scrolled{padding:10px 24px;}
  .nav-links,.nav-phone,.nav-login{display:none;}
  .nav-logo img{height:60px;}
  .nav-burger{display:flex;}
}
@media(max-width:560px){
  .nav-cta{display:none;}
}

/* ── V5 FORMS · "Stay Informed" newsletter (.wa-nl — STATIC inside .wa-disclosure-inner,
   above the compliance paragraphs; enhanced by chrome.js). Tokens only. ── */
.wa-nl-block{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,1.4fr);gap:var(--s-3) var(--s-6);align-items:start;padding-bottom:26px;margin-bottom:26px;border-bottom:1px solid var(--border-subtle);}
.wa-nl-title{font-family:'DM Sans',sans-serif;font-size:0.68rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;}
.wa-nl-sub{font-size:0.8rem;color:var(--text-muted);line-height:1.7;max-width:340px;}
.wa-nl{max-width:480px;}
.wa-nl [hidden]{display:none!important;} /* success state hides .wa-nl-row/.wa-nl-label via [hidden] */
/* Honeypot: accessible-hidden (visually clipped, aria-hidden + tabindex=-1 in markup), NOT display:none */
.wa-nl-hp{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.wa-nl-label{display:block;font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;}
.wa-nl-row{display:flex;gap:10px;flex-wrap:wrap;}
.wa-nl-input{flex:1 1 220px;min-height:48px;padding:10px 14px;background:var(--glass-bg-light);border:1px solid var(--glass-border);color:var(--white);font-family:'DM Sans',sans-serif;font-size:0.88rem;}
.wa-nl-input::placeholder{color:var(--text-muted);}
.wa-nl-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--glass-border-gold);}
.wa-nl-btn{min-height:48px;padding:12px 26px;background:var(--accent);color:var(--primary);border:none;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:0.72rem;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;transition:background var(--dur-micro),transform var(--dur-micro);}
.wa-nl-btn:hover{background:var(--gold-light);transform:translateY(-2px);}
.wa-nl-btn:active{transform:translateY(0);}
.wa-nl-btn:disabled{opacity:0.6;cursor:default;transform:none;}
.wa-nl-btn:focus-visible{outline:2px solid var(--white);outline-offset:3px;}
.wa-nl-msg{font-size:0.8rem;line-height:1.6;margin-top:10px;color:var(--text-muted);}
.wa-nl-msg:empty{display:none;}
.wa-nl-msg.is-success{color:var(--accent);}
.wa-nl-msg.is-error{color:var(--white);}
@media(max-width:760px){
  .wa-nl-block{grid-template-columns:1fr;}
}
