/* ============================================================================
   LCL Tax — global styles
   Fonts: Cormorant Garamond (display serif) + Hanken Grotesk (text sans)
   Palette: linen #F5F1EA · warm-white #FBF9F5 · walnut #2E2620 ·
            sage #5C6A4F · brass #B0894A · stone #8A8378 · border #E3DDD2
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400;1,500&family=Hanken+Grotesk:wght@300;400;500;600&display=swap');

* { box-sizing: border-box; }
html { scroll-behavior: auto; }
body {
  margin: 0;
  background: #F5F1EA;
  color: #2E2620;
  font-family: 'Hanken Grotesk', sans-serif;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
}
a { color: #5C6A4F; text-decoration: none; transition: color 160ms ease; }
a:hover { color: #B0894A; }
p { text-wrap: pretty; }
img { max-width: 100%; }
::selection { background: #E5E8DF; }
input, button, textarea { font-family: 'Hanken Grotesk', sans-serif; }

/* --- hover behaviors ----------------------------------------------------- */
.hv-brass:hover        { color: #B0894A !important; }
.hv-keep:hover         { color: inherit; }
.hv-card:hover         { border-color: #B0894A !important; }
.hv-btn-dark:hover     { background: #2E2620 !important; color: #F5F1EA !important; }
.hv-btn-outline:hover  { border-color: #B0894A !important; color: #B0894A !important; }
.hv-btn-brass:hover    { background: #F5F1EA !important; color: #2E2620 !important; }
.hv-btn-odark:hover    { border-color: #B0894A !important; color: #B0894A !important; }
.hv-tile:hover         { background: #F5F1EA !important; color: #B0894A !important; }
.hv-menu:hover         { color: #B0894A !important; background: #F5F1EA !important; }
.foot-link             { color: #C9C0B2; }
.foot-link:hover       { color: #B0894A; }

/* --- focus behaviors ----------------------------------------------------- */
.focus-sage:focus  { border-color: #5C6A4F !important; }
.focus-brass:focus { border-color: #B0894A !important; }

/* --- nav dropdowns (CSS-only, open on hover) ----------------------------- */
.nav-item { position: relative; }
.nav-menu { display: none; position: absolute; top: 100%; left: -24px; padding-top: 22px; }
.nav-item:hover .nav-menu, .nav-item:focus-within .nav-menu { display: block; }

/* --- mobile menu --------------------------------------------------------- */
.menu-toggle { display: none; }
.mobile-nav  { display: none; }

/* ============================ responsive ================================= */
@media (max-width: 900px) {
  .desktop-nav { display: none !important; }
  .menu-toggle {
    display: inline-flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; background: none; border: 1px solid #E3DDD2;
    border-radius: 3px; cursor: pointer; color: #2E2620; font-size: 18px;
  }
  .mobile-nav.open { display: block; }
  .mobile-nav {
    border-top: 1px solid #E3DDD2; background: #FBF9F5;
    padding: 12px 24px 20px; display: none;
  }
  .mobile-nav a {
    display: block; padding: 12px 0; border-bottom: 1px solid #EBE5DB;
    color: #2E2620; font-size: 13px; font-weight: 600;
    letter-spacing: .12em; text-transform: uppercase;
  }
  .mobile-nav a.sub { padding-left: 16px; font-weight: 400; color: #5C6A4F; }
  .grid-collapse { grid-template-columns: minmax(0,1fr) !important; }
  .pad-x { padding-left: 24px !important; padding-right: 24px !important; }
  .topbar-inner { padding-left: 24px !important; padding-right: 24px !important; gap: 18px !important; }
}
@media (max-width: 560px) {
  .topbar-inner a { font-size: 10px !important; }
}
