/* GATES brand: crest red, antique gold, warm paper, charcoal. */
:root {
    --primary-color: #9d1017;
    --primary-color-light: #b51e25;
    --secondary-color: #282626;
    --light-bg: #f7f4ee;
    --border-color: #e6e0d7;
    --brand-gold: #b99649;
    --font-heading: var(--heading-font);
}
body { background: #fff; font-weight: 400; letter-spacing: 0; }
p, li, a, span, div, td, th, label, input, button, textarea, select, small { font-weight: 400; }
h1, h2, h3, h4, h5, h6 { text-transform: none; font-weight: 600; }
.container { max-width: 1280px; padding-inline: 48px; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--brand-gold); outline-offset: 5px; }
.skip-link { position: fixed; top: -70px; left: 20px; z-index: 10001; padding: 10px 20px; background: #fff; color: var(--primary-color); }
.skip-link:focus { top: 12px; }
.site-header { border-top: 3px solid var(--brand-gold); box-shadow: none; }
.logo-row { justify-content: space-between; padding-block: 12px; }
.logo img { width: 270px; max-width: 100%; }
.header-inquiry { display: inline-flex; gap: 30px; align-items: center; color: var(--primary-color); border: 1px solid var(--primary-color); padding: 8px 20px; font-size: 13px; font-weight: 700; }
.header-inquiry span { color: inherit; font-size: 22px; }
.nav-row { background: #490d12; border: none; box-shadow: none; }
.main-nav { justify-content: flex-start; }
.nav-list { width: 100%; justify-content: space-between; gap: 20px; }
.nav-link { color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .045em; padding-block: 14px; }
.nav-link:hover, .nav-link[aria-current="page"] { color: #edd18e; }
.nav-link::after { background: #e2bd68; bottom: 0; }
.nav-link[aria-current="page"]::after { width: 100%; }
.has-dropdown > .nav-link, .has-mega-menu > .nav-link { display: inline-flex; align-items: center; }
.has-dropdown > .nav-link::before, .has-mega-menu > .nav-link::before {
    content: '';
    order: 1;
    flex: 0 0 6px;
    width: 6px;
    height: 6px;
    margin-left: 11px;
    border-right: 2px solid #e2bd68;
    border-bottom: 2px solid #e2bd68;
    transform: translateY(-2px) rotate(45deg);
}
.dropdown-menu { border-radius: 0; border-top-width: 2px; }
.dropdown-menu li a, .mega-list li a { font-size: 14px; }
.mega-menu { width: 100%; border-top-width: 2px; }
.has-dropdown:focus-within .dropdown-menu, .has-mega-menu:focus-within .mega-menu,
.has-dropdown.active .dropdown-menu, .has-mega-menu.active .mega-menu { opacity: 1; visibility: visible; transform: none; }
.has-nested-dropdown:focus-within .nested-dropdown, .has-nested-dropdown.active .nested-dropdown { display: block; }
.site-footer { background: #211e1d; padding: 30px 0; border-top: 3px solid var(--brand-gold); }
.site-footer .container { gap: 20px; }
.site-footer p, .site-footer font, .site-footer a { font-size: 12px !important; color: #e9e3dc; }
.site-footer .social-links a:hover { color: #e4c48a !important; }
.page-banner { background-image: linear-gradient(110deg, #46151bF2, #9d1017DE), url('https://images.unsplash.com/photo-1519452635265-7b1fbfd1e4e0?auto=format&fit=crop&q=80&w=1200'); background-attachment: scroll; }
.page-banner-content h1 { text-transform: none; }
@media (max-width: 1100px) {
    .container { padding-inline: 24px; }
    .logo-row { justify-content: flex-start; padding-block: 14px; min-height: 94px; }
    .logo img { width: 230px; }
    .header-inquiry { display: none; }
    .mobile-menu-toggle { right: 26px; }
    .nav-row { border: none; }
    .nav-list { top: 97px; height: calc(100dvh - 97px); padding: 20px 26px 40px; gap: 0; }
    .nav-link { color: #393535; font-size: 14px; padding: 15px 0; }
    .nav-link:hover, .nav-link[aria-current="page"] { color: var(--primary-color); }
    .nav-item:last-child { margin-top: 0; }
    .dropdown-menu, .mega-menu { width: 100%; visibility: hidden; padding: 0 0 0 15px; }
    .has-dropdown.active .dropdown-menu, .has-mega-menu.active .mega-menu { visibility: visible; }
    .has-dropdown > .nav-link::before, .has-mega-menu > .nav-link::before { display: none; }
    .has-dropdown > .nav-link::after, .has-mega-menu > .nav-link::after { content: '+'; display: block; position: static; width: auto; height: auto; background: none; }
    .has-dropdown.active > .nav-link::after, .has-mega-menu.active > .nav-link::after { content: '−'; }
    .nav-item.has-dropdown:hover > .nav-link::after,
    .nav-item.has-mega-menu:hover > .nav-link::after { width: auto; }
    .has-dropdown > .nav-link::after, .has-mega-menu > .nav-link::after { flex-shrink: 0; }
    .mega-menu-container { padding-inline: 0; }
    .site-footer .container { flex-direction: column; align-items: flex-start !important; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (max-width: 1100px) {
    .nav-list { visibility: hidden; }
    .nav-list.active { visibility: visible; }
}
