@import url('/photo-viewer.css');
:root{--bg:#090a0b;--panel:#18191b;--accent:#d57c38;--border:#343538}
.header-contact-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.header-text{font-size:.8rem;text-decoration:underline;text-underline-offset:4px;color:var(--accent)}.contact-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.contact-prompt{color:var(--muted);font-size:1rem;line-height:1.6;margin-bottom:16px}.hero-actions .contact-prompt{width:100%;margin:0}.contact-row .contact-actions{margin-top:12px}.contact .contact-prompt{color:#171819}.service-aside .contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.service-aside .contact-actions .button{padding:14px 10px}
.header nav{align-items:center}.services-menu{position:relative}.services-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;color:inherit;font-size:inherit;font-weight:inherit}.services-menu summary::-webkit-details-marker{display:none}.services-menu summary::after{content:'';width:7px;height:7px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg) translateY(-2px);transition:transform .16s ease}.services-menu[open] summary{color:var(--accent)}.services-menu[open] summary::after{transform:rotate(225deg) translate(-2px,-2px)}.services-menu summary:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.services-dropdown{position:absolute;top:calc(100% + 18px);left:-18px;width:300px;padding:8px;background:#101112;border:1px solid var(--border);border-top:3px solid var(--accent);box-shadow:0 18px 35px rgba(0,0,0,.45);z-index:50}.services-dropdown a{display:block;padding:12px 13px;border-bottom:1px solid #292a2c;line-height:1.25}.services-dropdown a:last-child{border-bottom:0}.services-dropdown .services-overview{color:var(--accent);font-weight:700}.services-dropdown a:hover{background:#1d1e20}.services-menu:not([open]) .services-dropdown{display:none}
.brand-lockup{flex-direction:row;gap:14px;align-items:center}
.brand-lockup img{display:block;object-fit:contain;flex-shrink:0}
.brand-words{display:flex;flex-direction:column}
.header-brand{gap:13px}
.header-brand .hh-mark{width:62px;height:62px}
.header-brand .header-wordmark{width:215px;height:auto;max-height:72px}
.site-footer{display:block;width:100%;margin:0;padding:0;background:#08090a;border-top:3px solid var(--accent);background-image:linear-gradient(rgba(9,10,11,.94),rgba(9,10,11,.98)),url('shop-background.jpeg');background-size:cover;background-position:center;color:#f4f4f0}
.footer-main{display:grid;grid-template-columns:1.45fr 1fr .58fr .65fr;gap:38px;padding-block:52px 42px;align-items:start}
.footer-main a{transition:color .18s ease}.footer-main a:hover{color:var(--accent)}.footer-main a:focus-visible{outline-offset:4px}
.footer-branding{padding-right:22px}.footer-logo{display:flex;align-items:center;gap:18px}.footer-logo img:first-child{width:112px;height:112px;object-fit:cover}.footer-logo img:last-child{width:min(320px,70%);height:auto}
.footer-motto,.footer-family{font-family:'Barlow Condensed',Impact,sans-serif;letter-spacing:5px;color:#e8e8e5;margin:18px 0 0;font-size:.87rem;white-space:nowrap}.footer-family{letter-spacing:4px;font-size:.78rem}.footer-family span{color:var(--accent);padding:0 16px}
.footer-contact,.footer-links,.footer-areas{border-left:1px solid #8b5b39;padding-left:34px;min-height:235px}.footer-contact{display:flex;flex-direction:column;gap:18px;padding-top:13px}.footer-contact>a{display:flex;gap:13px;align-items:center;font-size:1rem;line-height:1.35}.footer-contact>a span{color:var(--accent);font-size:1.25rem;width:24px;text-align:center}
.footer-socials{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}.footer-socials a{width:42px;height:42px;background:var(--accent);color:#090a0b!important;border-radius:5px;display:grid;place-items:center;font-family:'Barlow',Arial,sans-serif;font-size:.82rem;font-weight:800}.footer-socials a:first-child{font-family:Arial,sans-serif;font-size:1.45rem}.footer-socials a:hover{background:#f29a54}
.footer-links h2,.footer-areas h2{font-family:'Barlow',Arial,sans-serif;font-size:.8rem;letter-spacing:3px;margin:4px 0 16px}.footer-links{display:flex;flex-direction:column;gap:10px}.footer-links a,.footer-areas p{font-size:.9rem;line-height:1.25;margin:0;color:#dededb}.footer-areas p{margin-bottom:7px}.footer-areas strong{display:block;color:var(--accent);font-size:.72rem;letter-spacing:3px;line-height:1.5;margin-top:26px}
.footer-services{width:100%;border-top:2px solid var(--accent);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:12px 28px 14px;font-family:'Barlow Condensed',Impact,sans-serif;letter-spacing:2px;font-size:.76rem;text-align:center}.footer-services span{padding:11px 8px;border-left:1px solid #674123}.footer-services span:nth-child(4n+1){border-left:0}
.business-inner{align-items:center}
.family-photo{margin:0;background:white;color:#171819}
.family-photo img{display:block;width:100%;height:auto}
.family-photo figcaption{padding:0 24px 22px;font-size:.875rem;line-height:1.5;text-align:center}
.business-copy h2{margin-bottom:26px}
.gallery-section{padding-block:90px;background:#101112;border-top:1px solid var(--border)}
.gallery-heading{margin-bottom:38px}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:14px}
.gallery-item{appearance:none;border:0;padding:0;margin:0;background:#202224;color:inherit;cursor:zoom-in;overflow:hidden}
.gallery-item img{display:block;width:100%;height:100%;object-fit:cover;background:#202224;transition:transform .2s ease}
.gallery-item:hover img{transform:scale(1.025)}.gallery-item:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.gallery-grid .gallery-item:nth-child(1),.gallery-grid .gallery-item:nth-child(6){grid-column:span 2}
.gallery-lightbox{width:min(94vw,1200px);height:min(90vh,900px);padding:48px 18px 18px;border:1px solid var(--border);background:#090a0b;color:var(--text)}.gallery-lightbox::backdrop{background:rgba(0,0,0,.88)}.gallery-lightbox img{display:block;width:100%;height:100%;object-fit:contain}.lightbox-close{position:absolute;top:10px;right:12px;border:1px solid var(--border);background:var(--accent);color:#090a0b;padding:8px 14px;font:700 .85rem 'Barlow',Arial,sans-serif;cursor:pointer}
.service-strip .wrap{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;font-size:clamp(.72rem,1.12vw,1rem);letter-spacing:clamp(.2px,.08vw,1px);text-align:center}.service-strip .wrap span{display:flex;align-items:center;justify-content:center;min-height:46px;padding:0 10px;color:var(--text);font-size:inherit;line-height:1.25;border-left:1px solid var(--border)}.service-strip .wrap span:first-child{border-left:0}
.hero{position:relative;display:block;min-height:680px;padding-block:90px;background-image:linear-gradient(90deg,rgba(5,6,7,.95) 0%,rgba(5,6,7,.78) 44%,rgba(5,6,7,.22) 76%,rgba(5,6,7,.38) 100%),url('shop-background.jpeg');background-size:cover;background-position:center}
.hero-copy{position:relative;z-index:1}
.hero-copy>*{max-width:670px}
.hero .image-label{left:auto;right:6%;bottom:45px;gap:28px}
.hero .image-label span:first-child{font-size:1.05rem;letter-spacing:1.4px}
.merch-art{background:#fff;padding:24px;display:flex;align-items:center;justify-content:center}
.merch-art img{display:block;width:100%;height:auto}
.merch-gallery{display:block}
.about-services-note{color:var(--muted);line-height:1.7;margin:30px 0}
.merch .homepage-shirt .shirt-photo{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.social-updates{padding-block:75px;background:#111214;border-top:1px solid var(--border)}.social-layout{display:grid;grid-template-columns:1fr minmax(0,500px);gap:70px;align-items:center}.social-layout p:not(.eyebrow){color:var(--muted);line-height:1.7;margin-top:24px}.social-layout .social-note{font-size:.8rem}.social-feed{width:100%;max-width:500px;min-width:0}.social-feed iframe{display:block;max-width:100%;border:0;overflow:hidden;background:#fff}.social-layout .contact-actions{margin-top:24px}@media(max-width:760px){.social-updates{padding-block:50px}.social-layout{grid-template-columns:1fr;gap:32px}}
.shirt-photo{display:block;width:100%;height:min(680px,70vw);object-fit:cover;object-position:center 58%}
.merch-description{margin-top:25px}
.button:hover{background:#ec9752}
.contact .eyebrow{color:#251b12}
.phone:hover{color:#171819;text-decoration:underline;text-underline-offset:6px}
.regional-service{padding-block:70px;background:#0d0e0f;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.regional-service-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.regional-service h2{font-size:clamp(2.3rem,3.5vw,3.3rem)}
.regional-service-copy p{color:var(--muted);line-height:1.7;margin-bottom:16px}
.regional-service-copy strong{color:var(--text);font-weight:600}
.regional-service-copy .regional-note{font-size:.86rem;margin-bottom:0;color:#969897}
.service h3{margin-bottom:16px}.service-title-link{display:inline-flex;align-items:center;background:var(--accent);color:#090a0b;padding:10px 14px;border:1px solid var(--accent);font-size:1.15rem;line-height:1.2}.service-title-link:hover{background:#ec9752;color:#090a0b}.service-title-link:focus-visible{outline-offset:4px}
@media(max-width:1050px){.header{gap:16px}.header nav{gap:18px}.brand-lockup{gap:10px}.brand-lockup img{width:52px;height:52px}.header-brand .hh-mark{width:52px;height:52px}.header-brand .header-wordmark{width:170px;height:auto}.brand-script{font-size:1.5rem}.brand-heavy{font-size:1.2rem;letter-spacing:1.8px}.hero{min-height:630px;background-position:58% center}}
@media(max-width:1050px){.footer-main{grid-template-columns:1.25fr 1fr 1fr}.footer-branding{grid-column:1/-1;padding-right:0}.footer-logo img:last-child{width:300px}.footer-contact{border-left:0;padding-left:0}.footer-areas,.footer-links{padding-left:25px}.footer-services{font-size:.7rem}.header nav{gap:14px;font-size:.84rem}}
@media(max-width:760px){.hero{min-height:650px;padding-block:60px 95px;background-image:linear-gradient(90deg,rgba(5,6,7,.93),rgba(5,6,7,.54)),url('shop-background.jpeg');background-position:58% center}.hero .image-label{left:20px;right:20px;bottom:24px}.service-strip .wrap{grid-template-columns:1fr 1fr;font-size:.78rem}.service-strip .wrap span{min-height:42px;border-top:1px solid var(--border)}.service-strip .wrap span:nth-child(odd){border-left:0}.service-strip .wrap span:first-child,.service-strip .wrap span:nth-child(2){border-top:0}.service-strip .wrap span:last-child{grid-column:1/-1;border-left:0}.regional-service{padding-block:50px}.regional-service-inner{grid-template-columns:1fr;gap:28px}.regional-service h2{font-size:2.5rem}.gallery-section{padding-block:56px}.gallery-heading{margin-bottom:28px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:170px;gap:9px}.gallery-grid .gallery-item:nth-child(1),.gallery-grid .gallery-item:nth-child(6){grid-column:span 2}.merch{gap:32px}.merch-gallery{grid-template-columns:1fr}.shirt-photo{height:300px;object-position:center 58%}.merch-art{padding:18px}.header-call{font-size:.875rem}.header-call span{margin-left:3px}.brand-lockup img{width:44px;height:44px}.header-brand .hh-mark{width:44px;height:44px}.header-brand .header-wordmark{width:132px;height:auto}.header .brand-script{font-size:1.3rem}.header .brand-heavy{font-size:1rem;letter-spacing:1.1px}.header{gap:18px 8px}.header nav{gap:10px;font-size:.75rem;overflow:visible}.services-dropdown{left:0;top:calc(100% + 14px);width:min(300px,calc(100vw - 40px))}.phone{font-size:clamp(2rem,9vw,2.6rem)}.footer-main{grid-template-columns:1fr 1fr;gap:34px 20px;padding-block:38px 30px}.footer-branding{grid-column:1/-1}.footer-logo img:first-child{width:82px;height:82px}.footer-logo img:last-child{width:220px}.footer-motto{font-size:.7rem;letter-spacing:3px;white-space:normal}.footer-family{font-size:.68rem;letter-spacing:2px;white-space:normal}.footer-family span{padding:0 7px}.footer-contact{grid-column:1/-1;min-height:0}.footer-links,.footer-areas{min-height:0;padding-left:18px}.footer-services{grid-template-columns:1fr 1fr;padding:10px 14px 12px;font-size:.72rem;letter-spacing:1px}.footer-services span{border-left:1px solid #674123;border-top:1px solid #674123}.footer-services span:nth-child(odd){border-left:0}.footer-services span:first-child,.footer-services span:nth-child(2){border-top:0}}
@media(max-width:390px){.header-brand .header-wordmark{width:112px}.header-brand{gap:7px}.header-call{font-size:.8rem}}

/* Keep the service summary in a single readable row on every screen. */
.footer-services{display:flex;flex-wrap:nowrap;justify-content:space-evenly;gap:0;overflow-x:auto;overscroll-behavior-inline:contain;padding:16px 20px;font-size:.76rem;letter-spacing:1px;scrollbar-width:thin;scrollbar-color:var(--accent) #171819}
.footer-services span,.footer-services span:nth-child(n){flex:0 0 auto;white-space:nowrap;padding:8px 14px;border:0;border-left:1px solid #674123}
.footer-services span:first-child{border-left:0}
.footer-services:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
@media(max-width:1100px){.footer-services{justify-content:flex-start}.header nav{gap:16px}}
@media(max-width:760px){.header nav{gap:10px;flex-wrap:wrap}.header nav>a:last-child{white-space:nowrap}.footer-services{font-size:.8rem;padding-inline:10px}}

.hydraulic-specialties{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:18px}.hydraulic-specialties a{font-size:.9rem;text-decoration:underline;text-underline-offset:4px;line-height:1.6}.hydraulic-specialties a:hover{color:var(--accent)}
/* Align the service introduction with the service-button text column. */
.services{--service-number-width:20px;--service-item-gap:24px;--service-column-gap:55px}
.services .service-grid{column-gap:var(--service-column-gap)}
.services .service{gap:var(--service-item-gap)}
.services .service-number{flex:0 0 var(--service-number-width)}
.services>.section-heading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--service-column-gap)}
.services>.section-heading>p{max-width:none;padding-left:calc(var(--service-number-width) + var(--service-item-gap))}
/* Give the footer logos and both caption lines the same outer edges. */
.site-footer .footer-branding .footer-logo{width:100%;max-width:450px;gap:18px}
.site-footer .footer-branding .footer-logo img:first-child{flex:0 0 112px}
.site-footer .footer-branding .footer-logo img:last-child{width:calc(100% - 130px);max-width:320px;min-width:0;height:auto;object-fit:contain}
.site-footer .footer-branding .footer-motto,.site-footer .footer-branding .footer-family{width:100%;max-width:450px;white-space:nowrap;text-align:justify;text-align-last:justify;letter-spacing:clamp(1px,.25vw,4px)}
.site-footer .footer-branding .footer-family span{padding:0}
@media(max-width:1050px){.services{--service-column-gap:30px}}
@media(max-width:760px){.services>.section-heading{display:block}.site-footer .footer-branding .footer-logo{max-width:320px}.site-footer .footer-branding .footer-logo img:first-child{flex-basis:82px}.site-footer .footer-branding .footer-logo img:last-child{width:calc(100% - 100px);max-width:220px}.site-footer .footer-branding .footer-motto,.site-footer .footer-branding .footer-family{max-width:320px;font-size:.68rem;letter-spacing:1px}}
