/* Header-specific typography and navigation overrides */
.topbar { min-height:44px; font-size:11px; letter-spacing:1.35px; }
.site-header { height:102px; }
.nav { max-width:1440px; padding:0 48px; }
.brand { min-width:230px; gap:10px; }
.brand-crown { font-size:19px; }
.brand-mark { font-size:40px; letter-spacing:-2.4px; }
.brand small { font-size:9px; letter-spacing:1.65px; margin-top:12px; }
.nav-links { gap:34px; font-size:13px; letter-spacing:.45px; }
.nav-links a { padding:41px 0 38px; }
.nav-tools { gap:23px; }
.search { font-size:27px; }
.contact { background:#d86e56; padding:16px 21px; font-size:11px; letter-spacing:1.05px; }
.contact:hover { background:#b84f3b; }
.has-dropdown { position:relative; }
.category-toggle { color:inherit; border:0; background:transparent; cursor:pointer; font:inherit; letter-spacing:inherit; text-transform:inherit; padding:41px 0 38px; }
.category-toggle small { font-size:12px; color:var(--gold); }
.category-menu { display:none; position:absolute; z-index:70; top:100%; left:-20px; width:220px; margin:0; padding:10px 20px; list-style:none; background:var(--paper); border:1px solid var(--line); box-shadow:0 12px 26px #15291f1c; }
.category-menu a { display:block; padding:10px 0; border-bottom:1px solid var(--line); font-size:11px; text-transform:none; }
.category-menu li:last-child a { border-bottom:0; }
.has-dropdown:hover .category-menu, .has-dropdown.is-expanded .category-menu { display:block; }
@media(max-width:1100px){.nav{padding:0 30px}.nav-links{gap:21px;font-size:12px}.brand{min-width:205px}.contact{padding:14px 15px}}
@media(max-width:900px){.site-header{height:82px}.nav{padding:0 25px}.brand-mark{font-size:34px}.nav-links.is-open{display:flex;position:absolute;z-index:65;top:82px;left:0;width:100%;padding:12px 25px 20px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;box-shadow:0 12px 20px #15291f12}.nav-links.is-open a,.nav-links.is-open .category-toggle{display:block;width:100%;font-size:13px;padding:15px 0;text-align:left}.category-menu{position:static;width:100%;box-shadow:none;border:0;border-left:1px solid var(--line);padding:0 0 0 16px}.category-menu a{font-size:12px!important;padding:10px 0!important}.has-dropdown:hover .category-menu{display:none}.has-dropdown.is-expanded .category-menu{display:block}.menu{display:block}}
@media(max-width:560px){.site-header{height:76px}.nav{padding:0 20px}.brand-mark{font-size:31px}.brand small{font-size:7px;margin-top:9px}.brand{min-width:0}.topbar{font-size:9px}.nav-links.is-open{top:76px}}

/* Keep navigation states predictable across desktop and touch layouts. */
.category-menu { display:block; visibility:hidden; opacity:0; transform:translateY(8px); pointer-events:none; transition:opacity .2s ease, transform .2s ease, visibility .2s ease; }
.has-dropdown:hover .category-menu, .has-dropdown.is-expanded .category-menu { visibility:visible; opacity:1; transform:translateY(0); pointer-events:auto; }
.category-toggle { transition:color .2s ease; }
.category-toggle:hover, .has-dropdown.is-expanded .category-toggle { color:var(--coral); }
@media(max-width:900px) {
	.category-menu { transform:none; transition:none; }
	.has-dropdown:hover .category-menu { display:none; visibility:hidden; opacity:0; pointer-events:none; }
	.has-dropdown.is-expanded .category-menu { display:block; visibility:visible; opacity:1; pointer-events:auto; }
}

/* Navigation polish: stable type, clear affordances, and a calmer submenu. */
.nav-links { gap:30px; font-size:12px; letter-spacing:.65px; }
.category-toggle { position:relative; }
.category-toggle small { display:inline-block; transition:transform .2s ease; }
.has-dropdown:hover .category-toggle small,
.has-dropdown:focus-within .category-toggle small,
.has-dropdown.is-expanded .category-toggle small { transform:rotate(180deg); }
.category-menu { top:calc(100% - 9px); width:242px; padding:9px 18px; border-top:2px solid var(--gold); box-shadow:0 16px 32px #15291f22; }
.category-menu a { padding:12px 3px; line-height:1.35; }
.has-dropdown:focus-within .category-menu { visibility:visible; opacity:1; transform:translateY(0); pointer-events:auto; }
.nav a:focus-visible, .category-toggle:focus-visible, .menu:focus-visible, .contact:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
@media (min-width:901px) {
  .nav-links > li > a, .category-toggle { position:relative; }
  .nav-links > li > a::after, .category-toggle::after { content:""; position:absolute; right:0; bottom:30px; left:0; height:2px; background:var(--coral); transform:scaleX(0); transform-origin:right; transition:transform .22s ease; }
  .nav-links > li > a:hover::after, .nav-links > li > a:focus-visible::after, .nav-links > li > a.active::after, .category-toggle:hover::after, .category-toggle:focus-visible::after, .has-dropdown.is-expanded .category-toggle::after { transform:scaleX(1); transform-origin:left; }
  .nav-links > li > a.active { border-color:transparent; }
}
@media (max-width:900px) {
  .nav-links.is-open { max-height:calc(100vh - 82px); overflow-y:auto; }
  .nav-links.is-open .category-toggle { font-size:13px; }
  .category-menu { width:100%; }
}

/* Final desktop readability pass. */
.topbar { font-size:12px; letter-spacing:1.15px; }
.nav-links { font-size:13px; letter-spacing:.7px; }
.contact { font-size:12px; letter-spacing:1px; }
.search { font-size:25px; }
.category-menu { width:250px; padding:10px 16px; border:1px solid #e1d4c0; border-top:3px solid var(--gold); border-radius:0 0 8px 8px; background:#fffefa; box-shadow:0 18px 38px #15291f24; }
.category-menu a { padding:13px 7px; font-size:13px; color:var(--ink); }
.category-menu a:hover { color:var(--coral); background:#f8f2e8; transform:none; }
@media (min-width:901px) {
  /* Use one underline only: the original navigation border. */
  .nav-links > li > a::after, .category-toggle::after { display:none; }
  .nav-links > li > a:hover, .nav-links > li > a:focus-visible, .nav-links > li > a.active { border-color:var(--coral); }
}
@media (max-width:900px) {
  .topbar { font-size:10px; }
  .nav-links.is-open .category-menu a { font-size:13px !important; }
}

/* Header uses the same readable scale as the page. */
.nav-links { font-size:15px; letter-spacing:.45px; }
.contact { font-size:13px; }
.topbar { font-size:12px; }
.category-menu a { font-size:14px; }
@media (max-width:1100px) { .nav-links { font-size:13px; gap:22px; } .contact { font-size:12px; } }
@media (max-width:900px) { .nav-links.is-open a, .nav-links.is-open .category-toggle, .nav-links.is-open .category-menu a { font-size:15px !important; } }

.topbar-left{display:flex;align-items:center;gap:18px}.topbar-socials{display:flex;align-items:center;gap:9px}.topbar-socials a{display:grid;place-items:center;width:20px;height:20px;color:#e9c583;transition:color .2s ease,transform .2s ease}.topbar-socials a:hover{color:#fff;transform:translateY(-2px)}.topbar-socials svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}.topbar-socials svg path{fill:currentColor;stroke:none}@media(max-width:560px){.topbar-left{gap:10px}.topbar-socials{gap:5px}.topbar-socials a{width:18px}.topbar-left>span{font-size:8px}}

/* FWS logo treatment */
.brand:has(.brand-logo) { min-width:82px; width:82px; height:82px; gap:0; }
.brand:has(.brand-logo) .brand-crown, .brand:has(.brand-logo) .brand-mark { display:none; }
.brand-logo { display:block; width:100%; height:100%; object-fit:contain; }
.footer-brand:has(.brand-logo) { min-width:118px; width:118px; height:118px; margin-bottom:22px; }
@media(max-width:1100px){.brand:has(.brand-logo){min-width:72px;width:72px;height:72px}}
@media(max-width:900px){.brand:has(.brand-logo){min-width:68px;width:68px;height:68px}}
@media(max-width:560px){.brand:has(.brand-logo){min-width:62px;width:62px;height:62px}.footer-brand:has(.brand-logo){min-width:104px;width:104px;height:104px}}

/* Mobile navigation: keep collapsed categories out of the layout. */
@media (max-width:900px) {
  .menu { display:grid; place-items:center; width:44px; height:44px; padding:0; cursor:pointer; }
  .nav-links.is-open { top:100%; max-height:calc(100vh - 82px); padding:8px 25px 20px; }
  .nav-links.is-open > li { border-bottom:1px solid var(--line); }
  .nav-links.is-open > li:last-child { border-bottom:0; }
  .nav-links.is-open > li > a,
  .nav-links.is-open .category-toggle { display:flex; align-items:center; justify-content:space-between; min-height:52px; padding:14px 0; }
  .nav-links.is-open .category-menu { display:none; visibility:visible; opacity:1; position:static; width:auto; margin:0 0 8px 3px; padding:0 0 4px 15px; transform:none; pointer-events:auto; background:transparent; border:0; border-left:1px solid var(--gold); border-radius:0; box-shadow:none; }
  .nav-links.is-open .has-dropdown.is-expanded .category-menu { display:block; }
  .nav-links.is-open .category-menu a { min-height:0; padding:10px 0; border-bottom:0; font-size:14px !important; text-transform:none; }
}
@media (max-width:560px) {
  .nav-links.is-open { max-height:calc(100vh - 76px); padding-right:20px; padding-left:20px; }
}

/* Encoding-safe dropdown indicator for the shared header. */
.category-toggle small { font-size:0; }
.category-toggle small::after { content:"\25BE"; font-size:12px; }
