/* Source: public Grieder base.css/custom.css, captured 2026-10-13. */
:root { --font-sans: 'Montserrat Variable', 'Montserrat', sans-serif; }
body { font-family: var(--font-sans); line-height: 1.3; }
html, body { overflow-x: clip; }
main p { margin-bottom: 1em; }
main p:last-child { margin-bottom: 0; }
hr.site-divider { margin-bottom: 24px; }
#hero-next + section img { width: 150px; height: 150px; }
#hero-next + section h4 { font-size: 1.7em; }
.split-panel-text { background: #27376c; color: #fff; padding: 50px 40px 40px 10%; }
.split-panel-text h2, .split-panel-text p, .split-panel-text li { color: inherit; }
.split-panel-text h2 { margin-bottom: .67em; line-height: 1.2; }
.split-panel-text hr { background: #fff; margin-bottom: 24px; }
.split-panel-text p, .split-panel-text ul { line-height: 1.3; margin-bottom: 1em; }
.split-panel-text > div { max-width: 640px; }
.split-panel-text:first-child { padding-left: 40px; padding-right: 10%; justify-content: flex-end; }
.split-panel-img:hover { transform: none !important; }
/* The source gallery spans the viewport and uses a blue circular zoom affordance. */
div:has(> .gallery-grid) { max-width: none; padding-inline: 0; width: 100%; }
.gallery-grid { gap: 4px; }
.gallery-item { position: relative; display: block; }
.gallery-item::before { content: ''; position: absolute; inset: 0; background: #fff; opacity: 0; z-index: 1; transition: opacity 350ms ease; pointer-events: none; }
.gallery-item::after { content: '+'; display: grid; place-items: center; position: absolute; top: 50%; left: 50%; width: 50px; height: 50px; border-radius: 50%; color: #fff; background: #27376c; font: 300 28px/1 Arial, sans-serif; opacity: 0; z-index: 2; transform: translate(-50%, -50%); transition: opacity 350ms ease, transform 350ms ease; pointer-events: none; }
.gallery-item:hover::before, .gallery-item:focus-visible::before { opacity: .1; }
.gallery-item:hover::after, .gallery-item:focus-visible::after { opacity: .9; transform: translate(-50%, -50%) rotate(180deg); }
.gallery-item:hover img, .gallery-item:focus-visible img { transform: none; box-shadow: none; filter: none; }
/* Keep the source's contact order: two addresses, phone, email, website, emergency. */
.client-contact-details { display: flex; flex-direction: column; }
.client-contact-details > p { display: flex; align-items: center; gap: 20px; margin: 0 0 15px; }
.client-contact-details > p:nth-child(4) { order: 5; margin-top: 15px; margin-bottom: 0; }
.client-contact-details > p > svg { width: 30px; height: 30px; min-width: 30px; margin: 0; flex: 0 0 30px; }
.client-contact-details a { overflow-wrap: anywhere; }
/* Original AOS: 1000ms ease, 100ms delay, fade travel 100px, no blur. */
html.repair-js [data-aos].aos-ready { transition-duration: 1000ms; transition-timing-function: ease; transition-delay: var(--source-reveal-delay, 100ms); filter: none; }
html.repair-js [data-aos]:not(.aos-in):not(.aos-skip) { filter: none; }
html.repair-js [data-aos='fade-up']:not(.aos-in):not(.aos-skip) { transform: translateY(100px); }
html.repair-js [data-aos='fade-right']:not(.aos-in):not(.aos-skip) { transform: translateX(-100px); }
html.repair-js [data-aos='fade-left']:not(.aos-in):not(.aos-skip) { transform: translateX(100px); }
@media(max-width:750px) {
 main [class~="max-w-[1500px]"][class~="px-10"] { padding-left: 20px; padding-right: 20px; }
 main div[class]:has(> .gallery-grid) { padding-inline: 0; }
 .split-panel-text, .split-panel-text:first-child { padding: 60px 40px; justify-content: center; }
 .split-panel-text > div { max-width: none; width: 100%; }
 .split-panel-img { min-height: 400px; height: 400px; }
 .gallery-grid { grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); }
 .gallery-item { aspect-ratio: 1; height: auto; }
}
@media(prefers-reduced-motion:reduce) {
 .gallery-item::before, .gallery-item::after { transition: none; }
 html.repair-js [data-aos].aos-ready, html.repair-js [data-aos]:not(.aos-in):not(.aos-skip) { opacity: 1; transform: none; transition: none; }
}
