/* Shared Haul Bros black-and-gold brand, using the supplied original logo. */
:root { --brand-gold: #e9c366; --brand-gold-light: #f8dfa0; --brand-black: #090909; }
.resources-menu { position:relative; color:inherit; }
.resources-menu > summary { display:flex; align-items:center; gap:.35rem; cursor:pointer; list-style:none; padding:.5rem 0; font:inherit; }
.resources-menu > summary::-webkit-details-marker { display:none; }
.resources-menu > summary:hover { color:var(--brand-gold-light); }
.resources-menu > summary:focus-visible { outline:2px solid var(--brand-gold); outline-offset:4px; }
.resources-options { position:absolute; top:100%; right:0; display:block !important; min-width:180px; padding:.5rem; z-index:60; background:#090909; border:1px solid #584725; border-radius:12px; box-shadow:0 12px 28px #0005; }
.resources-options a { display:block !important; float:none !important; width:100% !important; box-sizing:border-box; padding:.65rem .85rem; border-radius:8px; font-size:.875rem; color:#fff; white-space:nowrap; }
.resources-options a:hover, .resources-options a:focus-visible { background:#272217; color:var(--brand-gold-light); }
.header-quick-nav:has(.resources-menu) { overflow:visible; }
nav[aria-label="Mobile navigation"] .resources-options { position:static; margin-bottom:.5rem; }
body { accent-color: var(--brand-gold); }
header, header nav, header #mobile-menu, header #location-mobile-menu { background-color: #090909 !important; border-color: #584725 !important; }
header { backdrop-filter: none !important; }
header > .container { height: auto !important; min-height: 6.5rem; flex-wrap: wrap; padding-top: .4rem; padding-bottom: .4rem; }
header a:hover, footer a:hover { color: var(--brand-gold-light); }
header nav a:hover { color: var(--brand-gold-light) !important; }
.brand-logo-frame { display: inline-block !important; position: relative; width: 116px; height: 88px; overflow: hidden; background: #000 !important; padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; flex-shrink: 0; }
.brand-logo-frame img { position: absolute !important; width: 196px !important; height: auto !important; max-width: none !important; left: -40px; top: -36px; object-fit: contain; }
footer .brand-logo-frame { width: 174px; height: 132px; }
footer .brand-logo-frame img { width: 294px !important; left: -60px; top: -54px; }
section[class*="bg-[#5A5E63]"] { background: radial-gradient(ellipse at 50% 0%, #382a12 0%, #13110c 40%, #090909 80%) !important; border-color: #584725 !important; }
section[class*="bg-[#5A5E63]"] h1 { color: var(--brand-gold-light) !important; }
section[class*="bg-[#5A5E63]"] [class*="bg-gradient-to"] { background-image: linear-gradient(to top, #090909, transparent) !important; }
.bg-zinc-900, .bg-black { background-color: var(--brand-black) !important; }
.bg-zinc-200 { background-color: #f2dfad !important; color: #493512 !important; }
.bg-zinc-900 > i, .bg-black > i { color: var(--brand-gold); }
a.bg-black, a.bg-zinc-900, button.bg-black, button.bg-zinc-900,
button[type="submit"], a.bg-amber-500 { background: linear-gradient(135deg, #f4d991, #d4a640) !important; color: #151008 !important; border-color: #e9c366 !important; }
a.bg-black:hover, a.bg-zinc-900:hover, button[type="submit"]:hover { background: #f8dfa0 !important; color: #090909 !important; }
header a[href^="tel:"], footer section[aria-label="Social Media"] a { border-color: #806631 !important; background-color: #19150d !important; color: var(--brand-gold-light) !important; }
footer { background-color: #090909 !important; border-color: #584725 !important; }
footer h2, footer p.uppercase, footer summary { color: var(--brand-gold) !important; }
.text-amber-500 { color: #b88622 !important; }
:focus-visible { outline-color: #ad7d20; }
/* Keep long service names and expanded navigation inside phone screens. */
@media (max-width:1023px) {
 .header-quick-nav, .location-header-quick-nav { position:relative; overflow:visible !important; }
 .header-quick-nav > .resources-menu, .location-header-quick-nav > .resources-menu { position:static; }
 .header-quick-nav > .resources-menu > .resources-options,
 .location-header-quick-nav > .resources-menu > .resources-options {
  left:0; right:0; top:100%; width:100%; max-width:100%; box-sizing:border-box;
  max-height:55dvh; overflow-y:auto; overscroll-behavior:contain;
 }
 header .resources-options { min-width:0; width:min(20rem, calc(100vw - 2rem)); max-height:60dvh; overflow-y:auto; }
 header .resources-options a { white-space:normal; overflow-wrap:anywhere; min-height:44px; }
 #mobile-menu .resources-options, #location-mobile-menu .resources-options { position:static; width:100%; box-sizing:border-box; margin-bottom:.5rem; }
}
@media (max-width:767px) {
 #services > .container > .grid { grid-template-columns:minmax(0, 1fr); gap:1rem; }
 #services > .container > .grid > div { min-width:0; padding:1.25rem; }
 #services h2 { font-size:1.75rem; line-height:1.2; }
 #services p, #services li { font-size:.9375rem; line-height:1.6; overflow-wrap:break-word; }
 #services li svg { flex-shrink:0; }
 #services > .container > .grid > div > a { min-height:44px; display:flex; align-items:center; white-space:normal; }
}
@media(max-width:639px) {
 header > .container { min-height: 5rem; gap: .5rem; }
 header .brand-logo-frame { width: 88px; height: 66px; }
 header .brand-logo-frame img { width: 148px !important; left: -30px; top: -27px; }
}
