/*
Theme Name: zaxidna
Author: zaxidna.pro
Author URI: http://zaxidna.pro
Version: 2.1
*/

/* ======================================================================
   0. Fonts — self-hosted (Google Fonts: Montserrat, Open Sans; variable, latin + latin-ext only)
   ====================================================================== */

@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 700 800;
	font-display: swap;
	src: url("fonts/montserrat-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 700 800;
	font-display: swap;
	src: url("fonts/montserrat-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Open Sans";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("fonts/open-sans-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Open Sans";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("fonts/open-sans-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ======================================================================
   1. Icons — GENERATED by build_icons.php between the ICONS markers; do not edit by hand
   ====================================================================== */

/* ICONS:START */
/*
 * Icons — the Font Awesome Free 6.7.2 icons this theme uses, as CSS masks (no web font, no CDN).
 * Icons: CC BY 4.0, Fonticons, Inc. — https://fontawesome.com/license/free
 *
 * Markup is unchanged: <i class="fa-solid fa-phone"></i>. The icon takes the text colour
 * (currentColor) and scales with font-size. A new icon must be added here: regenerate with
 * build_icons.php from the SVGs in @fortawesome/fontawesome-free/svgs/.
 * In CSS, an icon can be drawn on a pseudo-element with  mask: var(--fa-<name>) center / contain no-repeat.
 */
:root {
	--fa-facebook: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z'/%3E%3C/svg%3E");
	--fa-instagram: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/%3E%3C/svg%3E");
	--fa-youtube: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z'/%3E%3C/svg%3E");
	--fa-arrow-left-long: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 288 480 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-370.7 0 73.4-73.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-128 128z'/%3E%3C/svg%3E");
	--fa-arrow-left: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.2 288 416 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0L214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z'/%3E%3C/svg%3E");
	--fa-arrow-right-long: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M502.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l370.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128z'/%3E%3C/svg%3E");
	--fa-arrow-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E");
	--fa-arrow-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.2 160 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-306.7L329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z'/%3E%3C/svg%3E");
	--fa-bars: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M0 96C0 78.3 14.3 64 32 64l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 128C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32L32 448c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z'/%3E%3C/svg%3E");
	--fa-calendar-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zM329 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-95 95-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L329 305z'/%3E%3C/svg%3E");
	--fa-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z'/%3E%3C/svg%3E");
	--fa-chevron-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E");
	--fa-circle-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z'/%3E%3C/svg%3E");
	--fa-comments: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M208 352c114.9 0 208-78.8 208-176S322.9 0 208 0S0 78.8 0 176c0 38.6 14.7 74.3 39.6 103.4c-3.5 9.4-8.7 17.7-14.2 24.7c-4.8 6.2-9.7 11-13.3 14.3c-1.8 1.6-3.3 2.9-4.3 3.7c-.5 .4-.9 .7-1.1 .8l-.2 .2s0 0 0 0s0 0 0 0C1 327.2-1.4 334.4 .8 340.9S9.1 352 16 352c21.8 0 43.8-5.6 62.1-12.5c9.2-3.5 17.8-7.4 25.2-11.4C134.1 343.3 169.8 352 208 352zM448 176c0 112.3-99.1 196.9-216.5 207C255.8 457.4 336.4 512 432 512c38.2 0 73.9-8.7 104.7-23.9c7.5 4 16 7.9 25.2 11.4c18.3 6.9 40.3 12.5 62.1 12.5c6.9 0 13.1-4.5 15.2-11.1c2.1-6.6-.2-13.8-5.8-17.9c0 0 0 0 0 0s0 0 0 0l-.2-.2c-.2-.2-.6-.4-1.1-.8c-1-.8-2.5-2-4.3-3.7c-3.6-3.3-8.5-8.1-13.3-14.3c-5.5-7-10.7-15.4-14.2-24.7c24.9-29 39.6-64.7 39.6-103.4c0-92.8-84.9-168.9-192.6-175.5c.4 5.1 .6 10.3 .6 15.5z'/%3E%3C/svg%3E");
	--fa-droplet: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M192 512C86 512 0 426 0 320C0 228.8 130.2 57.7 166.6 11.7C172.6 4.2 181.5 0 191.1 0l1.8 0c9.6 0 18.5 4.2 24.5 11.7C253.8 57.7 384 228.8 384 320c0 106-86 192-192 192zM96 336c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 61.9 50.1 112 112 112c8.8 0 16-7.2 16-16s-7.2-16-16-16c-44.2 0-80-35.8-80-80z'/%3E%3C/svg%3E");
	--fa-face-smile: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.1 325.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z'/%3E%3C/svg%3E");
	--fa-grip-lines-vertical: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 192 512'%3E%3Cpath d='M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64L0 448c0 17.7 14.3 32 32 32s32-14.3 32-32L64 64zm128 0c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 384c0 17.7 14.3 32 32 32s32-14.3 32-32l0-384z'/%3E%3C/svg%3E");
	--fa-hand-sparkles: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M320 0c17.7 0 32 14.3 32 32l0 208c0 8.8 7.2 16 16 16s16-7.2 16-16l0-176c0-17.7 14.3-32 32-32s32 14.3 32 32l0 176c0 8.8 7.2 16 16 16s16-7.2 16-16l0-112c0-17.7 14.3-32 32-32s32 14.3 32 32l0 195.1c-11.9 4.8-21.3 14.9-25 27.8l-8.9 31.2L478.9 391C460.6 396.3 448 413 448 432c0 18.9 12.5 35.6 30.6 40.9C448.4 497.4 409.9 512 368 512l-19.2 0c-59.6 0-116.9-22.9-160-64L76.4 341c-16-15.2-16.6-40.6-1.4-56.6s40.6-16.6 56.6-1.4l60.5 57.6c0-1.5-.1-3.1-.1-4.6l0-272c0-17.7 14.3-32 32-32s32 14.3 32 32l0 176c0 8.8 7.2 16 16 16s16-7.2 16-16l0-208c0-17.7 14.3-32 32-32zm-7.3 326.6c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L288 352l-25.4 7.3c-3.9 1.1-6.6 4.7-6.6 8.7s2.7 7.6 6.6 8.7L288 384l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L320 384l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L320 352l-7.3-25.4zM104 120l48.3 13.8c4.6 1.3 7.7 5.5 7.7 10.2s-3.1 8.9-7.7 10.2L104 168 90.2 216.3c-1.3 4.6-5.5 7.7-10.2 7.7s-8.9-3.1-10.2-7.7L56 168 7.7 154.2C3.1 152.9 0 148.7 0 144s3.1-8.9 7.7-10.2L56 120 69.8 71.7C71.1 67.1 75.3 64 80 64s8.9 3.1 10.2 7.7L104 120zM584 408l48.3 13.8c4.6 1.3 7.7 5.5 7.7 10.2s-3.1 8.9-7.7 10.2L584 456l-13.8 48.3c-1.3 4.6-5.5 7.7-10.2 7.7s-8.9-3.1-10.2-7.7L536 456l-48.3-13.8c-4.6-1.3-7.7-5.5-7.7-10.2s3.1-8.9 7.7-10.2L536 408l13.8-48.3c1.3-4.6 5.5-7.7 10.2-7.7s8.9 3.1 10.2 7.7L584 408z'/%3E%3C/svg%3E");
	--fa-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z'/%3E%3C/svg%3E");
	--fa-id-badge: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-384c0-35.3-28.7-64-64-64L64 0zm96 320l64 0c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16L96 416c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-32-96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM144 64l96 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-96 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z'/%3E%3C/svg%3E");
	--fa-leaf: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M272 96c-78.6 0-145.1 51.5-167.7 122.5c33.6-17 71.5-26.5 111.7-26.5l88 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-16 0-72 0s0 0 0 0c-16.6 0-32.7 1.9-48.3 5.4c-25.9 5.9-49.9 16.4-71.4 30.7c0 0 0 0 0 0C38.3 298.8 0 364.9 0 440l0 16c0 13.3 10.7 24 24 24s24-10.7 24-24l0-16c0-48.7 20.7-92.5 53.8-123.2C121.6 392.3 190.3 448 272 448l1 0c132.1-.7 239-130.9 239-291.4c0-42.6-7.5-83.1-21.1-119.6c-2.6-6.9-12.7-6.6-16.2-.1C455.9 72.1 418.7 96 376 96L272 96z'/%3E%3C/svg%3E");
	--fa-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z'/%3E%3C/svg%3E");
	--fa-shield-halved: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8l0 378.1C394 378 431.1 230.1 432 141.4L256 66.8s0 0 0 0z'/%3E%3C/svg%3E");
	--fa-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z'/%3E%3C/svg%3E");
	--fa-thumbs-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M313.4 32.9c26 5.2 42.9 30.5 37.7 56.5l-2.3 11.4c-5.3 26.7-15.1 52.1-28.8 75.2l144 0c26.5 0 48 21.5 48 48c0 18.5-10.5 34.6-25.9 42.6C497 275.4 504 288.9 504 304c0 23.4-16.8 42.9-38.9 47.1c4.4 7.3 6.9 15.8 6.9 24.9c0 21.3-13.9 39.4-33.1 45.6c.7 3.3 1.1 6.8 1.1 10.4c0 26.5-21.5 48-48 48l-97.5 0c-19 0-37.5-5.6-53.3-16.1l-38.5-25.7C176 420.4 160 390.4 160 358.3l0-38.3 0-48 0-24.9c0-29.2 13.3-56.7 36-75l7.4-5.9c26.5-21.2 44.6-51 51.2-84.2l2.3-11.4c5.2-26 30.5-42.9 56.5-37.7zM32 192l64 0c17.7 0 32 14.3 32 32l0 224c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32L0 224c0-17.7 14.3-32 32-32z'/%3E%3C/svg%3E");
	--fa-user-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304l91.4 0C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7L29.7 512C13.3 512 0 498.7 0 482.3zM625 177L497 305c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L591 143c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z'/%3E%3C/svg%3E");
}

.fa-solid,
.fa-brands {
	display: inline-block;
	flex-shrink: 0;
	width: var(--fa-w, 1em);
	height: 1em;
	vertical-align: -.125em;
	background-color: currentColor;
	-webkit-mask: var(--fa-i) center / contain no-repeat;
	mask: var(--fa-i) center / contain no-repeat;
	font-style: normal;
}
.fa-facebook { --fa-i: var(--fa-facebook); --fa-w: 1em; }
.fa-instagram { --fa-i: var(--fa-instagram); --fa-w: 0.875em; }
.fa-youtube { --fa-i: var(--fa-youtube); --fa-w: 1.125em; }
.fa-arrow-left-long { --fa-i: var(--fa-arrow-left-long); --fa-w: 1em; }
.fa-arrow-left { --fa-i: var(--fa-arrow-left); --fa-w: 0.875em; }
.fa-arrow-right-long { --fa-i: var(--fa-arrow-right-long); --fa-w: 1em; }
.fa-arrow-right { --fa-i: var(--fa-arrow-right); --fa-w: 0.875em; }
.fa-arrow-up { --fa-i: var(--fa-arrow-up); --fa-w: 0.75em; }
.fa-bars { --fa-i: var(--fa-bars); --fa-w: 0.875em; }
.fa-calendar-check { --fa-i: var(--fa-calendar-check); --fa-w: 0.875em; }
.fa-check { --fa-i: var(--fa-check); --fa-w: 0.875em; }
.fa-chevron-down { --fa-i: var(--fa-chevron-down); --fa-w: 1em; }
.fa-circle-check { --fa-i: var(--fa-circle-check); --fa-w: 1em; }
.fa-comments { --fa-i: var(--fa-comments); --fa-w: 1.25em; }
.fa-droplet { --fa-i: var(--fa-droplet); --fa-w: 0.75em; }
.fa-face-smile { --fa-i: var(--fa-face-smile); --fa-w: 1em; }
.fa-grip-lines-vertical { --fa-i: var(--fa-grip-lines-vertical); --fa-w: 0.375em; }
.fa-hand-sparkles { --fa-i: var(--fa-hand-sparkles); --fa-w: 1.25em; }
.fa-heart { --fa-i: var(--fa-heart); --fa-w: 1em; }
.fa-id-badge { --fa-i: var(--fa-id-badge); --fa-w: 0.75em; }
.fa-leaf { --fa-i: var(--fa-leaf); --fa-w: 1em; }
.fa-phone { --fa-i: var(--fa-phone); --fa-w: 1em; }
.fa-shield-halved { --fa-i: var(--fa-shield-halved); --fa-w: 1em; }
.fa-star { --fa-i: var(--fa-star); --fa-w: 1.125em; }
.fa-thumbs-up { --fa-i: var(--fa-thumbs-up); --fa-w: 1em; }
.fa-user-check { --fa-i: var(--fa-user-check); --fa-w: 1.25em; }

/* Sizes (same scale as Font Awesome) */
.fa-sm { font-size: .875em; vertical-align: -.07143em; }
.fa-xl { font-size: 1.5em; vertical-align: -.25em; }
.fa-2x { font-size: 2em; }
/* ICONS:END */

/* ======================================================================
   2. Base theme styles
   ====================================================================== */

/* Typography: Montserrat 700/800 for headings, buttons & bold accents; Open Sans 400/600 for body & UI. Self-hosted in fonts/, see section 0 */



body {
        font-family: 'Open Sans', sans-serif;
        font-optical-sizing: auto;
        font-weight: 400;
        font-style: normal;
        font-size: .975rem;
}

.display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
        font-family: "Montserrat", sans-serif;
        font-weight: 800;
}


h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
        font-family: "Montserrat", sans-serif;
        font-weight: 700;
}

h1, .h1, h2, .h2 {
        font-family: "Montserrat", sans-serif;
        font-weight: 800;
        line-height: 1.15 !important;
}

h6, .h6 {
        font-size: 1.1rem;
}

.fs-6 {
        font-size: 1.1rem !important;
}

.fw-500 {
        font-family: "Open Sans", sans-serif;
        font-weight: 600 !important;
}

.fw-700 {
        font-family: "Montserrat", sans-serif;
        font-weight: 700 !important;
}

.lead {
        font-weight: 400 !important;
        font-size: 1.1rem;
}

.fs-fix {
        font-size: 1.1rem;
}

.rotate-45 {
        transform: rotate(45deg);
}

.text-uppercase {
        letter-spacing: .065rem;
}

img {
        max-width: 100%;
}

.table thead th {
        vertical-align: top;
        border-bottom: .35rem solid #3d92e7 !important;
}

.bg-primary {
        background-color: #3d92e7 !important;
}

.bg-secondary {
        background-color: #b23850 !important;
}

.bg-light {
        background-color: #ececec !important;
}

.bg-dark {
        background-color: #4d6d9a !important;
}

.text-primary {
        color: #3d92e7 !important;
}

.text-secondary {
        color: #fccd04 !important;
}

.text-light {
        color: #c4dbf6 !important;
}


.rounded-top-end-2 {
        border-top-right-radius: var(--bs-border-radius) !important;
}

.rounded-top-2 {
        border-top-left-radius: var(--bs-border-radius) !important;
        border-top-right-radius: var(--bs-border-radius) !important;
}

ul.ul-social .list-inline-item:not(:last-child) {
        margin-right: .75rem;
}

hr {
        background-color: rgba(0, 0, 0, 0.33) !important;
}

time {
        text-transform: lowercase;
}

a {
        color: #212529;
        text-decoration: none !important;
        transition: .25s;
}

a:hover {
        color: #4d6d9a;
}

article a {
        color: #3d92e7;
        font-family: "Open Sans", sans-serif;
        font-weight: 600 !important;
}

footer article a, footer article a:hover {
        color: #fff;
}

label.form-label {
        font-family: "Open Sans", sans-serif;
        font-weight: 600 !important;
}

form p {
        margin: 0;
}


a:focus, button {
        outline: none !important;
}

a[href^="tel:"] {
        white-space: nowrap;
}


.btn {
        outline: 0 !important;
        border: 0 !important;
        font-family: "Montserrat", sans-serif;
        font-weight: 700 !important;
        font-style: normal;
        text-transform: uppercase;
        letter-spacing: .065rem;
        border-radius: 3rem !important;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
        padding-top: .425rem;
        padding-bottom: .425rem;
        position: relative;
        transition: color .3s cubic-bezier(.4, 0, .2, 1), background-color .3s cubic-bezier(.4, 0, .2, 1), border-color .3s cubic-bezier(.4, 0, .2, 1);
}

.btn-primary {
        background-color: #3d92e7;
        color: #fff !important;
        transition: all .3s cubic-bezier(.4, 0, .2, 1);
        -webkit-transition: all .3s cubic-bezier(.4, 0, .2, 1);
}

.btn-primary:hover, .btn-primary:focus, .open>.dropdown-toggle.btn-primary {
        background-color: #4d6d9a !important;
        color: #fff !important;
}

.btn-primary:active, .btn-primary.active {
        background-color: #4d6d9a !important;
        color: #fff !important;
}

.btn-primary.disabled, .btn-primary:disabled {
        background-color: #616161;
        color: #c1c1c1 !important;
}



.btn-secondary {
        background-color: #fccd04;
        color: #212529 !important;
        transition: all .3s cubic-bezier(.4, 0, .2, 1);
        -webkit-transition: all .3s cubic-bezier(.4, 0, .2, 1);
}

.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active, .btn-secondary.active, .open>.dropdown-toggle.btn-secondary {
        background-color: #d9ad00 !important;
        color: #212529 !important;
}

.btn-secondary:active, .btn-secondary.active {
        background-color: #d9ad00 !important;
        color: #212529 !important;
}

.btn-secondary.disabled, .btn-secondary:disabled {
        background-color: #616161;
        color: #c1c1c1;
}


.btn-link {
        text-decoration: none !important;
        box-shadow: none !important;
}



.logo svg, .logo img {
        width: 6.325rem;
}


header.position-absolute {
        z-index: 5;
}

.home header {
        background-color: #fff;
        box-shadow: 0 1rem 3rem rgba(77, 109, 154, 0.175);
}

header a {
        text-decoration: none !important;
}

header .navbar {
        display: block;
}

header .navbar-toggler, header .navbar-toggler:focus {
        box-shadow: none !important;
        border-radius: 0 !important;
}

header .nav-fill .nav-item {
        text-align: left;
}

header .navbar-nav .nav-link {
        color: #212529;
        padding-left: 0 !important;
        padding-right: 0 !important;
        font-size: 1.25rem;
        font-family: "Open Sans", sans-serif;
        font-weight: 600;
}

/* Submenu caret (Bootstrap's default triangle): desktop menu only. */
@media (max-width: 1199.98px) {
        header .navbar-nav .dropdown-toggle::after {
                display: none !important;
        }
}

header .navbar-nav .nav-link:focus, header .navbar-nav .nav-link:hover {
        background-color: transparent;
        color: #4d6d9a;
        box-shadow: none !important;
}

header .navbar-nav .active > .nav-link, header .navbar-nav .nav-link.active, header .navbar-nav .nav-link.show, header .navbar-nav .show > .nav-link {
        background-color: transparent;
        color: #4d6d9a;
}

header .navbar-nav .show > .nav-link {
        color: #212529;
}

header .collapse-fix {
        min-height: 100vh;
}


header .dropdown-item {
        color: #212529;
        padding-right: 0;
}

header .dropdown-item:hover {
        color: #212529;
        background-color: transparent !important;
}

header .dropdown-item.active, header .dropdown-item:active {
        color: #212529;
        background-color: transparent !important;
}

header .dropdown-item:focus, .dropdown .dropdown-item:focus {
        color: #212529;
        background-color: transparent !important;
}

header .active > .dropdown-item {
        color: #212529;
}

header .dropdown-menu {
        margin: .15rem 0 .75rem 0;
        min-width: 1rem;
        border: 0 solid #4d6d9a !important;
        box-shadow: 0 1rem 3rem rgba(77, 109, 154, 0.175);
}

header .btn {
        font-size: .95rem;
}


section.cover-hero {
        height: 100vh;
        height: calc(var(--vh, 1vh) * 100);
        position: relative;
        display: block;
	      transition: .25s;
        background-image: url("images/hero-rope_v.avif");
        background-size: cover;
        background-position: 50% 50%;
}

section.cover-hero .mask-dark {
        bottom: 0;
        left: 0;
        right: 0;
        top: 0;
        z-index: 3;
        background: rgb(255,255,255);
        background: linear-gradient(150deg, rgba(255,255,255,0.65) 0%, rgba(255,255,255,0) 85%);
}

section.cover-hero .intro {
        bottom: 0;
        top: 0;
        left: 0;
        right: 0;
        z-index: 3;
}

section.cover-hero .bg-white {
        box-shadow: 0 1rem 3rem rgba(77, 109, 154, 0.175);
}

div.cover-logo {
        height: 85vh;
        height: calc(var(--vh, 1vh) * 85);
        position: relative;
        display: block;
	      transition: .25s;
        background-image: url("images/windows.avif");
        background-size: cover;
        background-position: 50% 50%;
}

div.cover-logo .intro {
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 3;
}

div.cover-pano {
        height: 65vh;
        height: calc(var(--vh, 1vh) * 65);
        position: relative;
        display: block;
	      transition: .25s;
        background-image: url("images/pano.avif");
        background-size: cover;
        background-position: 50% 50%;
}



section.pano {
        background-size: cover;
        background-position: 50% 50%;
}

section.pano .pano-masc {
        background: rgba(38, 80, 119, 0.875);
}






section.about article p,
section.intro article p,
article.p-0 p {
        margin: 0;
}

section.services .bg-white {
        position: absolute;
        bottom: 0;
        left: 0;
}


section.services-block .bg-primary h6 {
        margin-bottom: 0;
}

section.services-block .bg-primary p:last-child {
        margin: 0;
}

section.affiliations img {
        max-width: 7.5rem;
}

section.services .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
        margin-left: 1px;
        border-top-left-radius: 0 !important;
        border-bottom-left-radius: 0 !important;
}

section.services .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3), section.services .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control, section.services .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select, section.services .input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
        border-top-right-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
}


section.faq .accordion-button:focus {
        border-color: transparent;
        outline: 0;
        box-shadow: none;
}

section.faq .accordion-button {
        color: #212529;
        font-family: "Open Sans", sans-serif;
        font-weight: 600;
}

section.faq .accordion-button::after {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%233d92e7'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

section.faq .accordion-button:not(.collapsed) {
        color: #212529;
        background-color: transparent;
        box-shadow: none;
}

section.faq .accordion-button:not(.collapsed)::after {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%233d92e7'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

section.faq .accordion-button::after {
        width: 1.5rem;
        height: 1.5rem;
        background-size: 1.5rem;
}


.lg-outer .lg-thumb-item.active, .lg-outer .lg-thumb-item:hover {
        border-color: #3d92e7 !important;
}






article ul, .locations-list {
        list-style-type: none;
        padding-left: 1rem;
        margin-left: 0;
}

.locations-list li {
        position: relative;
}

article ul li:before, .locations-list li:before {
        content: "\2022";
        position: absolute;
        margin-left: -1rem;
        color: #3d92e7;
}

.bg-primary article ul li:before {
        color: #fff;
}


article ul li + li, .order-features ul li + li, .locations-list li + li {
        margin-top: .125rem;
}


.features-list li + li {
        margin-top: .25rem;
}

.locations-list {
        columns: 2;
        -webkit-columns: 2;
}


article .wp-block-table {
        overflow: hidden !important;
        margin: 0 !important;
}

article hr {
        margin-top: 1.5rem;
        margin-bottom: 1.5rem;
}

article.pp-0 p, div.pp-0 p {
        margin: 0 !important;
}






.form-control, .form-select {
        box-shadow: none!important;
        border: 1px solid rgba(33, 37, 41, .25);
        background-color: #fafafa;
        color: #626262;
        border-radius: .25rem;
}

.form-control:focus, .form-select:focus {
        border: 1px solid rgba(33, 37, 41, .25);
        background-color: #f5f5f5;
}

.form-group > div {
        position: relative;
}

.help-block {
        display: none;
}

.wpcf7-not-valid-tip {
        display: none !important;
}

.wpcf7-not-valid {
        border: 1px solid #b23850 !important;
}

.wpcf7-checkbox label {
        margin-bottom: 0;
}

.wpcf7-checkbox.has-error label {
        color: #b23850;
}

textarea.form-control {
        height: 4.5rem;
        resize: none;
}

span.wpcf7-list-item {
        margin: 0 0 .5rem 0 !important;
}

.wpcf7 form p br {
        display: none;
}

.wpcf7 form p .wpcf7-form-control-wrap {
        margin: 0;
        display: block;
}

.wpcf7 form .wpcf7-response-output {
        margin: 1rem 0 0 0 !important;
        padding: 0 !important;
        border: 0 !important;
        color: #4d6d9a;
        font-size: 1.1rem;
        font-family: "Open Sans", sans-serif;
        font-weight: 600;
}

.wpcf7 form .form-check-input {
        margin-right: .25rem;
        box-shadow: none !important;
        border-radius: 0 !important;
        border-color: #3d92e7;
}

.wpcf7 form .form-check-input:focus {
        border-color: #86c232;
}

.wpcf7 form .form-check-input:checked {
        background-color: #86c232;
        border-color: #86c232;
        box-shadow: none !important;
}


.submit p {
        display: flex !important;
        align-items: center !important;
}

.wpcf7-spinner {
        visibility: hidden;
        display: inline-block;
        background-color: #123c69;
        opacity: 0.75;
        width: 24px;
        height: 24px;
        border: none;
        border-radius: 100%;
        padding: 0;
        margin: 0 1.5rem;
        position: relative;
}




nav .pagination {
        margin-bottom: 0;
        margin-top: 3rem;
}

nav .pagination li {
        margin-right: .75rem;
}


.ti-widget-container {
       margin: 0 !important;
}

iframe.gmap {
       height: 75vh;
}

section.footer-line p {
        margin: 0;
}

footer p {
        margin: 0;
}

footer .zaxidna svg {
        width: 3.6rem;
}





@media (min-width: 576px) {

}


@media (min-width: 768px) {

.logo svg, .logo img {
        width: 7.475rem;
}

section.faq .accordion-item .fs-6 {
        font-size: 1.25rem !important;
}

.locations-list {
        columns: 1;
        -webkit-columns: 1;
}

}


@media (min-width: 992px) {


section.cover-hero {
        background-image: url("images/hero-rope_h.avif");
        background-position: 50% 25%;
}

section.cover-hero .mask-dark {
        background: rgb(255,255,255);
        background: linear-gradient(120deg, rgba(255,255,255,0.65) 0%, rgba(255,255,255,0) 45%);
}

section.cover-hero .fs-4 {
        font-size: 1.75rem !important;
}

section.cover-hero .title-txt .btn, section.services h6 {
        font-size: 1.25rem !important;
}

section.pano p.fs-5 {
        font-size: 1.5rem !important;
}

}


@media (min-width: 1200px) {

.logo svg, .logo img {
        width: 8.625rem;
}

.btn {
        padding-left: 1.75rem;
        padding-right: 1.75rem;
}

section.cover-hero .fs-4 {
        font-size: 2rem !important;
}

header {
        background-color: transparent !important;
        box-shadow: none !important;
}

header .navbar-nav > .nav-item + .nav-item {
        margin-left: 1.5rem;
}

header .navbar-nav > .nav-item .nav-link {
        font-size: 1.15rem;
}

header .dropdown-menu {
        padding: .75rem;
        min-width: auto;
        width: max-content;
}

header .dropdown-item {
        padding-right: 1rem;
}

header .collapse-fix {
        min-height: auto;
}

.features-list-border {
        border-left: 1px solid #dee2e6;
}

}


@media (min-width: 1400px) {

header .navbar-nav > .nav-item + .nav-item {
        margin-left: 1.75rem;
}

}

@media (min-width: 1920px) {
.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1600px;
}

html {
    font-size: 18px;
}

}

/* ======================================================================
   3. Redesign
   ====================================================================== */

/*
 * Zaxidna — Ally redesign (Sparkle-style structure)
 * Loaded after style.css; extends the existing design tokens:
 * primary #3d92e7, secondary (btn) red, dark #4d6d9a, accent #fccd04.
 */

/* ---------- Hero (front page) ---------- */
/* Photo: rope-access team on a glass facade (portrait crop / landscape from 992px).
   The animated ::before layer inherits this background. */
section.cover-hero.hero-redesign {
	background-image: url("images/hero-rope_v.avif?v=2");
}
@media (min-width: 992px) {
	section.cover-hero.hero-redesign {
		background-image: url("images/hero-rope_h.avif?v=2");
	}
}
section.cover-hero.hero-redesign {
	height: auto;
	min-height: 100vh;
	min-height: calc(var(--vh, 1vh) * 100);
	display: flex;
}
section.cover-hero.hero-redesign .intro {
	position: relative !important;
	width: 100%;
	display: flex;
	align-items: center;
	padding: 7.5rem 0 3rem;
}
section.cover-hero.hero-redesign .mask-dark {
	background: linear-gradient(105deg, rgba(13, 36, 63, .78) 0%, rgba(13, 36, 63, .45) 55%, rgba(13, 36, 63, .15) 100%);
}
/*
 * Home and area home pages (same photo; service pages keep the default shade): the right edge
 * clears completely and the shade under the text is the lightest that keeps it readable. Measured
 * on the photo under each line of text, 375–1920px, median background (WCAG AA: 4.5:1 for body
 * text, 3:1 for large text and the yellow eyebrow).
 */
.home section.cover-hero.hero-redesign .mask-dark,
.page-template-distarea-home-php section.cover-hero.hero-redesign .mask-dark {
	background: linear-gradient(105deg, rgba(13, 36, 63, .78) 0%, rgba(13, 36, 63, .45) 55%, rgba(13, 36, 63, 0) 80%);
}
@media (min-width: 1200px) {
	.home section.cover-hero.hero-redesign .mask-dark,
	.page-template-distarea-home-php section.cover-hero.hero-redesign .mask-dark {
		background: linear-gradient(105deg, rgba(13, 36, 63, .7) 0%, rgba(13, 36, 63, .45) 50%, rgba(13, 36, 63, 0) 70%);
	}
}
section.cover-hero.hero-redesign .title,
section.cover-hero.hero-redesign .title h1 {
	color: #fff;
}
section.cover-hero.hero-redesign .hero-eyebrow {
	color: #fccd04;
	letter-spacing: .12rem;
}
section.cover-hero.hero-redesign .btn-outline-light:hover {
	color: #3d92e7;
	background: #fff;
}

/* ---------- Lead form card ---------- */
.lead-form-card {
	box-shadow: 0 1.25rem 3.5rem rgba(13, 36, 63, .35);
	color: #212529;
}
.lead-form-card .form-control,
.lead-form-card .form-select,
.lead-form-card input[type="text"],
.lead-form-card input[type="email"],
.lead-form-card input[type="tel"],
.lead-form-card select,
.lead-form-card textarea {
	width: 100%;
	border: 1px solid #ced4da;
	border-radius: .375rem;
	font-size: 1rem;
	margin-bottom: .25rem;
	background: #fff;
}

.lead-form-card .wpcf7 p { margin-bottom: 0; }

/* ---------- Why choose ---------- */
.why-icon {
	width: 4.5rem;
	height: 4.5rem;
	color: #3d92e7;
	background: rgba(61, 146, 231, .12);
}
.why-icon i {
	font-size: 1.75rem;
}
.advantage .why-icon {
	width: 3.25rem;
	height: 3.25rem;
}
.why-icon-lg {
	width: 5.5rem;
	height: 5.5rem;
}
.why-icon-lg i {
	font-size: 2.25rem;
}

.service-card img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform .4s cubic-bezier(.4, 0, .2, 1);
}
.service-card:hover img { transform: scale(1.04); }
.service-card,
.service-card:hover { text-decoration: none; }

/* ---------- Stats band ---------- */
.stats-icon {
	width: 5.5rem;
	height: 5.5rem;
	background: rgba(255, 255, 255, .14);
	transition: transform .35s cubic-bezier(.4, 0, .2, 1), background-color .35s cubic-bezier(.4, 0, .2, 1), box-shadow .35s cubic-bezier(.4, 0, .2, 1);
}
.stats-icon i {
	color: #fccd04;
	font-size: 2.25rem;
	transition: transform .35s cubic-bezier(.4, 0, .2, 1);
}
.stats-item { cursor: default; }
.stats-item:hover .stats-icon {
	transform: translateY(-.35rem);
	background: rgba(255, 255, 255, .24);
	box-shadow: 0 .75rem 1.5rem rgba(0, 0, 0, .25);
}
.stats-item:hover .stats-icon i {
	transform: scale(1.12);
}
@media (prefers-reduced-motion: reduce) {
	.stats-icon, .stats-icon i { transition: none; }
	.stats-item:hover .stats-icon, .stats-item:hover .stats-icon i { transform: none; }
}

/* ---------- Before / After ---------- */
.ba-wrap { user-select: none; }
.ba-img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
	max-width: none;
}
.ba-wrap > .ba-img { width: 100%; }
.ba-top {
	width: 50%;
	border-right: 3px solid #fff;
	box-shadow: .25rem 0 .75rem rgba(0, 0, 0, .25);
}
.ba-range {
	top: 0;
	left: 0;
	height: 100%;
	margin: 0;
	opacity: 0;
	cursor: ew-resize;
	z-index: 5;
	-webkit-appearance: none;
	appearance: none;
}
.ba-handle {
	left: calc(50% - 1.25rem);
	top: 50% !important;
	transform: translateY(-50%);
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: #fff;
	color: #3d92e7;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .3);
	z-index: 4;
	pointer-events: none;
}
.ba-badge {
	top: 1rem;
	padding: .25rem .75rem;
	border-radius: 2rem;
	background: rgba(13, 36, 63, .75);
	color: #fff;
	font-family: "Open Sans", sans-serif;
	font-weight: 600;
	font-size: .85rem;
	z-index: 4;
	pointer-events: none;
}
.ba-badge-before { left: 1rem; }
.ba-badge-after  { right: 1rem; }

/* ---------- Mobile ---------- */
@media (max-width: 1199px) {
	section.cover-hero.hero-redesign .intro { padding-top: 6.5rem; }
	section.cover-hero.hero-redesign h1 { font-size: 2.75rem; }
}

/* ---------- Fixed white header ---------- */
.shadow-xl {
	box-shadow: 0 1.5rem 3rem rgba(13, 36, 63, .2) !important;
}
.site-header {
	z-index: 1030;
	transition: box-shadow .3s cubic-bezier(.4, 0, .2, 1), padding .3s cubic-bezier(.4, 0, .2, 1);
}
.site-header.is-scrolled {
	box-shadow: 0 .5rem 1.5rem rgba(13, 36, 63, .12);
}
/* The logo SVG is 300×216; a fixed-width box (8.625rem) with max-height
   letterboxes the drawing to the center. Height-based sizing with auto
   width makes the img box hug the artwork, so it starts at the container edge. */
.site-header .logo img {
	height: 3.74rem;
	width: auto;
	max-height: none;
	transition: height .3s cubic-bezier(.4, 0, .2, 1);
}
.site-header.is-scrolled .logo img {
	height: 3.16rem;
}
.header-spacer {
	height: 5.25rem;
}
.site-header .header-phone {
	text-decoration: none;
}
.site-header .navbar-nav .nav-link {
	font-family: "Open Sans", sans-serif;
	font-weight: 600;
	color: #212529;
}
.site-header .navbar-nav .nav-link:hover {
	color: #3d92e7;
}

/* Header dropdown menu: smooth open & close (paired with footer.php script) */
@keyframes dd-open {
	from { opacity: 0; transform: translateY(.5rem); }
	to   { opacity: 1; transform: translateY(0); }
}
@keyframes dd-close {
	from { opacity: 1; transform: translateY(0); }
	to   { opacity: 0; transform: translateY(.5rem); }
}
.site-header .dropdown-menu.show {
	animation: dd-open .25s cubic-bezier(.22, .61, .36, 1);
}
.site-header .dropdown-menu.dd-closing {
	animation: dd-close .2s ease forwards;
	pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
	.site-header .dropdown-menu.show,
	.site-header .dropdown-menu.dd-closing { animation: none; }
}
/* Desktop: pull the panel left by its own padding + the item padding, so submenu text lines up with the parent link. */
@media (min-width: 1200px) {
	.site-header .navbar-nav .dropdown-menu {
		margin-left: calc(-.75rem - var(--bs-dropdown-item-padding-x, 1rem));
	}
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 6rem;
}
/* Lenis drives the scroll itself; native smooth scrolling would fight it */
html.lenis {
	scroll-behavior: auto;
}
body {
	overflow-x: clip;
}

/* Hero sits right under the fixed header */
section.cover-hero.hero-redesign {
	min-height: calc(100vh - 5.25rem);
	min-height: calc(var(--vh, 1vh) * 100 - 5.25rem);
	overflow: hidden;
}
section.cover-hero.hero-redesign .intro {
	padding: 3.5rem 0 3rem;
}

/* ---------- Animations: only on scroll (see js/reveal.js) and on hover ---------- */
section.cover-hero.hero-redesign::before {
	content: "";
	position: absolute;
	inset: 0;
	background: inherit;
	background-size: cover;
	background-position: 50% 25%;
	z-index: 0;
}
section.cover-hero.hero-redesign { background-attachment: initial; }
section.cover-hero.hero-redesign .mask-dark { z-index: 1; }
section.cover-hero.hero-redesign .intro     { z-index: 2; }

/* Buttons: smooth lift on hover */
.btn,
.lead-form-card input[type="submit"],
.lead-form-card button[type="submit"] {
	transition: transform .3s cubic-bezier(.4, 0, .2, 1), box-shadow .3s cubic-bezier(.4, 0, .2, 1), background-color .3s cubic-bezier(.4, 0, .2, 1), color .3s cubic-bezier(.4, 0, .2, 1);
}
.btn:hover,
.lead-form-card input[type="submit"]:hover,
.lead-form-card button[type="submit"]:hover {
	transform: translateY(-2px);
	box-shadow: 0 .35rem .75rem rgba(13, 36, 63, .2);
}
.btn:active {
	transform: translateY(-1px);
}

/* Service cards & advantage image: soft hover */
.service-card,
.advantage img {
	transition: transform .35s cubic-bezier(.4, 0, .2, 1), box-shadow .35s cubic-bezier(.4, 0, .2, 1);
}
.service-card:hover,
.advantage img:hover {
	box-shadow: 0 1rem 2.5rem rgba(13, 36, 63, .18);
}
.advantage img:hover {
	transform: translateY(-4px);
}

/* Respect reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
	.btn, .service-card, .advantage img { transition: none; }
	html { scroll-behavior: auto; }
}

@media (max-width: 767px) {
	.header-spacer { height: 4.25rem; }
	section.cover-hero.hero-redesign {
		min-height: calc(100vh - 4.25rem);
		min-height: calc(var(--vh, 1vh) * 100 - 4.25rem);
	}
}

/* ---------- Soft shadow / rounded-corner design tokens ---------- */
/* ---------- Corner radius ---------- */
/* rounded-4 (cards, images, hero panel) gets its own smaller size instead
   of Bootstrap's default 1rem. Other rounded-N classes (rounded-2,
   rounded-3, rounded-top-2 …) keep Bootstrap's own scale, so sizes stay
   graduated rather than forced identical. Circular icon badges and
   pill-shaped buttons are a different shape language and stay untouched. */
:root {
	--radius-card: .625rem;
}
@media (max-width: 767px) {
	:root { --radius-card: .5rem; }
}
.rounded-4 {
	border-radius: var(--radius-card) !important;
}
.rounded-top-4 {
	border-top-left-radius: var(--radius-card) !important;
	border-top-right-radius: var(--radius-card) !important;
}
/* Form inputs: Bootstrap's own rounded-1 size */
.lead-form-card .form-control,
.lead-form-card .form-select,
.lead-form-card input[type="text"],
.lead-form-card input[type="email"],
.lead-form-card input[type="tel"],
.lead-form-card select,
.lead-form-card textarea,
.form-control,
.form-select {
	border-radius: var(--bs-border-radius-sm) !important;
}

:root {
	--shadow-soft: 0 .5rem 1.5rem rgba(13, 36, 63, .10);
	--shadow-soft-hover: 0 1rem 2.5rem rgba(13, 36, 63, .18);
}
/* Cards animate with shadows only: smooth grow on hover, smooth shrink on leave */
.shadow-soft,
.good-hands-card {
	transition: box-shadow .45s ease;
}
.shadow-soft {
	box-shadow: var(--shadow-soft);
}
.shadow-soft:hover {
	box-shadow: var(--shadow-soft-hover);
}
/* Form cards and the Site Review panel are not clickable: the shadow stays put on hover */
#contact-form.shadow-soft:hover,
#application-form.shadow-soft:hover,
#free-estimate-form.shadow-soft:hover,
.site-review-card.shadow-soft:hover {
	box-shadow: var(--shadow-soft);
}
/* "You're in Good Hands" & "How we work" cards: small button-like lift */
.good-hands-card,
.good-hands-card.shadow-soft {
	transition: box-shadow .45s ease, transform .3s cubic-bezier(.4, 0, .2, 1);
}
.good-hands-card:hover {
	transform: translateY(-.25rem);
}
@media (prefers-reduced-motion: reduce) {
	.shadow-soft, .good-hands-card { transition: none; }
	.good-hands-card:hover { transform: none; }
}

/* ---------- Here's What We Do — two full-width blocks (no tabs) ---------- */
.service-group-head {
	border-top: 1px solid #dee2e6;
	padding-top: 1rem;
}

/* ---------- You're in Good Hands ---------- */
.good-hands-card {
	background: #fff;
	border: 1px solid rgba(13, 36, 63, .06);
}
.good-hands-card .why-icon {
	width: 5.5rem;
	height: 5.5rem;
}
.good-hands-card .why-icon i {
	font-size: 2.25rem;
}

/* ---------- Footer (sparklesquad-style columns) ---------- */
.site-footer .footer-heading {
	font-family: "Montserrat", sans-serif;
	letter-spacing: .06rem;
	color: #fff;
}
.site-footer .footer-links li {
	margin-bottom: .5rem;
}
.site-footer .footer-links a {
	color: #fff;
	text-decoration: none;
	transition: color .25s ease;
}
.site-footer .footer-links a:hover {
	color: #c4dbf6;
	text-decoration: underline;
}
.site-footer .footer-contact {
	font-style: normal;
}
.site-footer .footer-contact a {
	color: #fff;
	text-decoration: none;
	transition: color .25s ease;
	word-break: break-word;
}
.site-footer .footer-contact a:hover {
	color: #c4dbf6;
	text-decoration: underline;
}
.site-footer .footer-contact-label {
	font-size: .75rem;
	letter-spacing: .06rem;
	color: #fff;
}
.site-footer .footer-legal-link {
	color: #fff;
	text-decoration: none;
	transition: color .25s ease;
}
.site-footer .footer-legal-link:hover {
	color: #fff;
	text-decoration: underline;
}

/* ---------- Back to top ---------- */
.back-to-top {
	position: fixed;
	right: 1.5rem;
	bottom: 1.5rem;
	width: 3.25rem;
	height: 3.25rem;
	border: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #3d92e7;
	color: #fff;
	font-size: 1.1rem;
	z-index: 1020;
	opacity: 0;
	visibility: hidden;
	transform: translateY(.75rem);
	transition: opacity .3s cubic-bezier(.4, 0, .2, 1), transform .3s cubic-bezier(.4, 0, .2, 1), visibility .3s, background-color .3s cubic-bezier(.4, 0, .2, 1);
}
.back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.back-to-top:hover {
	background: #2f74ba;
}
@media (prefers-reduced-motion: reduce) {
	.back-to-top { transition: opacity .2s, visibility .2s; }
}
@media (max-width: 767px) {
	.back-to-top {
		right: 1rem;
		bottom: 1rem;
		width: 2.85rem;
		height: 2.85rem;
	}
}

/* ---------- Scroll reveal ---------- */
.sr {
	opacity: 0;
	transform: translateY(1.75rem);
	transition: opacity .7s ease, transform .7s cubic-bezier(.22, .61, .36, 1);
	will-change: opacity, transform;
}
.sr.sr-in {
	opacity: 1;
	transform: none;
}
/* buttons keep their hover lift even while still tagged for reveal */
.btn.sr.sr-in:hover {
	transform: translateY(-2px);
}
@media (prefers-reduced-motion: reduce) {
	.sr { opacity: 1; transform: none; transition: none; }
}

/* ---------- Locations: SVG state picker (replaces the Owl carousel) ---------- */
.state-picker .state-card {
	background: #fff;
	border: 1px solid rgba(13, 36, 63, .06);
	box-shadow: var(--shadow-soft);
	transition: box-shadow .45s ease, transform .3s cubic-bezier(.4, 0, .2, 1);
}
.state-picker .state-card:hover,
.state-picker .state-card:focus-within {
	transform: translateY(-.4rem);
	box-shadow: var(--shadow-soft-hover);
}
/* Map artwork: sits in a fixed-height stage so the 3 differently-shaped
   states stay vertically balanced across the row. */
.state-picker .state-map {
	height: 185px;
}
.state-picker .state-map-svg {
	width: auto;
	max-width: 100%;
	max-height: 168px;
	color: #cfe0f3; /* resting tint (drives path fill via currentColor) */
	transition: color .35s ease, transform .35s cubic-bezier(.4, 0, .2, 1);
	will-change: transform;
}
.state-picker .state-card:hover .state-map-svg,
.state-picker .state-card:focus-within .state-map-svg,
.state-picker .state-card.is-current .state-map-svg {
	color: #3d92e7; /* brand primary on hover / active area */
	transform: scale(1.05);
}
.state-picker .state-card h3 {
	color: #4d6d9a;
}
/* Currently-selected area: subtle highlighted frame */
.state-picker .state-card.is-current {
	border-color: rgba(61, 146, 231, .45);
	background: linear-gradient(180deg, rgba(61, 146, 231, .06) 0%, #fff 60%);
}
/* Area not open yet ('soon' in dist/locations.php): greyed out, no hover */
.state-picker .state-card.is-soon,
.state-picker .state-card.is-soon:hover,
.state-picker .state-card.is-soon:focus-within {
	background: #f8f9fa;
	box-shadow: none;
	transform: none;
	cursor: default;
}
.state-picker .state-card.is-soon .state-map-svg,
.state-picker .state-card.is-soon:hover .state-map-svg {
	color: #e1e4e8;
	transform: none;
}
.state-picker .state-card.is-soon h3,
.state-picker .state-card.is-soon h3 .text-light {
	color: #adb5bd !important;
}
.state-picker .btn-soon,
.state-picker .btn-soon:hover {
	background-color: #e9ecef;
	color: #8a929a !important;
	box-shadow: none;
	transform: none;
	cursor: default;
	pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
	.state-picker .state-card,
	.state-picker .state-map-svg { transition: none; }
	.state-picker .state-card:hover,
	.state-picker .state-card:focus-within { transform: none; }
	.state-picker .state-card:hover .state-map-svg,
	.state-picker .state-card:focus-within .state-map-svg,
	.state-picker .state-card.is-current .state-map-svg { transform: none; }
}

/* ---------- Estimate forms: SMS consent checkbox, inline choices, offer terms ---------- */
.wpcf7 .sms-consent .wpcf7-list-item {
	display: block;
	margin: 0 !important;
}
.wpcf7 .sms-consent label {
	display: flex;
	align-items: flex-start;
	gap: .6rem;
	margin: 0;
	font-size: .8125rem;
	line-height: 1.5;
	color: #5c6b7a;
	cursor: pointer;
}
.wpcf7 .sms-consent input[type="checkbox"] {
	flex: 0 0 auto;
	width: 1.05rem;
	height: 1.05rem;
	margin-top: .15rem;
	accent-color: #3d92e7;
}
.wpcf7 .sms-consent a {
	color: #3d92e7;
	text-decoration: underline;
}
.wpcf7 .choice-inline .wpcf7-list-item {
	display: inline-block;
	margin: 0 1.25rem .25rem 0 !important;
}
.wpcf7 .choice-inline .wpcf7-list-item label {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	margin: 0;
	cursor: pointer;
}
.wpcf7 .choice-inline input[type="radio"] {
	width: 1rem;
	height: 1rem;
	accent-color: #3d92e7;
}
.wpcf7 .form-text {
	font-size: .8125rem;
	color: #6c757d;
}
/* Offer conditions list */
.offer-terms ul {
	margin: 0 0 1rem;
}
article.estimate-intro p {
	margin-bottom: .85rem;
}
article.estimate-side p {
	margin-bottom: .85rem;
}
article.estimate-side p:last-child {
	margin-bottom: 0;
}

/* ---------- Affiliations: Site Review checklist card ---------- */
@media (min-width: 992px) {
	.site-review-card {
		position: sticky;
		top: 7rem;
	}
}
article .site-review-card p,
.site-review-card article p {
	margin-bottom: 1rem;
}
.site-review-card ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.site-review-card li {
	position: relative;
	padding-left: 1.85rem;
	margin-bottom: .65rem;
}
.site-review-card li:last-child {
	margin-bottom: 0;
}
.site-review-card li::before {
	content: "";
	margin-left: 0; /* cancel the theme bullet offset (article ul li::before) */
	width: 1em;
	height: 1em;
	background-color: currentColor;
	-webkit-mask: var(--fa-circle-check) center / contain no-repeat;
	mask: var(--fa-circle-check) center / contain no-repeat;
	position: absolute;
	left: 0;
	top: .05rem;
	color: #3d92e7;
}

/* ---------- Home / service pages: new copy blocks ---------- */
/* Outline buttons (theme .btn has no border, so the outline is an inset ring) */
.btn-outline-light {
	color: #fff !important;
	background-color: transparent;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .9);
}
.btn-outline-light:hover,
.btn-outline-light:focus {
	color: #3d92e7 !important;
	background-color: #fff;
	box-shadow: inset 0 0 0 2px #fff, 0 .35rem .75rem rgba(13, 36, 63, .2);
}
/* Front-page hero lead paragraph */
section.cover-hero.hero-redesign .hero-lead {
	line-height: 1.55;
	max-width: 46rem;
}
/* Our Process: numbered steps */
.process-steps .step-number {
	font-family: "Montserrat", sans-serif;
	font-weight: 800;
	font-size: 1.5rem;
	line-height: 1;
}
/* Service cards: multi-paragraph cards (article.p-0 p zeroes margins in style.css) */
article.service-card-text p {
	margin-bottom: .75rem;
}
article.service-card-text p:last-child {
	margin-bottom: 0;
}
/* Closing call-to-action */
.cta-block-inner p {
	max-width: 52rem;
}
/* Front-page hero on phones: the longer headline and lead need smaller type */
@media (max-width: 575.98px) {
	section.cover-hero.hero-redesign h1.display-4 {
		font-size: 1.95rem;
		line-height: 1.2;
	}
	section.cover-hero.hero-redesign .hero-lead {
		font-size: 1rem !important;
	}
}

/* ---------- Hero: fit text + lead form into one laptop screen (≥1200px, two columns) ---------- */
@media (min-width: 1200px) {
	section.cover-hero.hero-redesign .intro {
		padding: 1.5rem 0 1.5rem;
	}
	section.cover-hero.hero-redesign h1.display-4 {
		font-size: clamp(2.25rem, 1rem + 1.8vw, 3.25rem);
		line-height: 1.15;
	}
	section.cover-hero.hero-redesign .hero-lead {
		font-size: 1.05rem !important;
		line-height: 1.55;
		margin-bottom: 1.5rem !important;
	}
	section.cover-hero.hero-redesign .title-txt .d-flex {
		gap: .75rem !important;
	}

	/* Compact lead form (home / area-home hero and service-page hero) */
	.lead-form-card {
		padding: 1.75rem 2rem !important;
	}
	.lead-form-card > .h4 {
		font-size: 1.35rem;
	}
	.lead-form-card > .fs-6.mb-4 {
		margin-bottom: 1rem !important;
	}
	.lead-form-card .wpcf7 .mb-3,
	.lead-form-card .wpcf7 .mb-4 {
		margin-bottom: .6rem !important;
	}
	.lead-form-card .wpcf7 .row {
		--bs-gutter-y: .5rem;
	}
	.lead-form-card .wpcf7 .form-label {
		margin-bottom: .25rem;
	}
	.lead-form-card .wpcf7 .form-control,
	.lead-form-card .wpcf7 .form-select {
		padding-top: .4rem;
		padding-bottom: .4rem;
	}
	.lead-form-card .wpcf7 .sms-consent label {
		font-size: .75rem;
		line-height: 1.4;
	}
	.lead-form-card > .py-2 {
		padding-top: .25rem !important;
		padding-bottom: .25rem !important;
	}
}

/* ---------- Blog: listing cards, post content, sidebar ---------- */
.post-card-photo img {
	aspect-ratio: 16 / 10;
	object-fit: cover;
	transition: transform .5s cubic-bezier(.4, 0, .2, 1);
}
.post-card:hover .post-card-photo img {
	transform: scale(1.04);
}
.post-card h2 a:hover {
	color: #3d92e7 !important;
}
.blog-pagination ul {
	display: inline-flex;
	gap: .5rem;
	list-style: none;
	padding: 0;
	margin: 0;
}
.post-meta a {
	color: #3d92e7;
}
/* Post body: block-library CSS is not loaded on the front end, so style the blocks here */
.post-content h2 {
	margin: 2.25rem 0 1rem;
}
.post-content h3 {
	font-size: 1.3rem;
	margin: 1.75rem 0 1.5rem;
}
.post-content figure {
	margin: 1.75rem 0;
}
.post-content .wp-block-image {
	margin: 1rem 0;
}
.post-content img {
	max-width: 100%;
	height: auto;
	border-radius: .625rem;
}
.post-content figcaption {
	font-size: .875rem;
	color: #6c757d;
	margin-top: .5rem;
}
.post-content .wp-block-table {
	overflow-x: auto;
}
.post-content table {
	width: 100%;
	border-collapse: collapse;
	font-size: .95rem;
}
.post-content th,
.post-content td {
	border: 1px solid rgba(13, 36, 63, .12);
	padding: .6rem .75rem;
	vertical-align: top;
}
.post-content thead th,
.post-content tr:first-child th {
	background: rgba(61, 146, 231, .08);
}
.post-content blockquote {
	margin: 1.75rem 0;
	padding: 1.25rem 1.5rem;
	border-left: 4px solid #3d92e7;
	background: rgba(61, 146, 231, .06);
	border-radius: 0 .625rem .625rem 0;
}
.post-content blockquote p:last-child {
	margin-bottom: 0;
}
@media (min-width: 1200px) {
	.blog-sidebar {
		position: sticky;
		top: 7rem;
	}
}

/* ---------- Phones: compact buttons so long labels stay on one line ---------- */
@media (max-width: 575.98px) {
	.btn {
		font-size: .875rem;
		letter-spacing: .03rem;
		padding-left: 1.1rem;
		padding-right: 1.1rem;
	}
}
@media (max-width: 575.98px) {
	/* Service intro + closing CTA: the longest labels live here — buttons keep
	   their own width, tighter tracking keeps the label on one line */
	.cta-block .btn,
	.service-intro .btn {
		letter-spacing: 0;
	}
	.cta-block-inner {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}
	.cta-block .btn {
		font-size: .8125rem;
		padding-left: .75rem;
		padding-right: .75rem;
	}
}

/* ---------- Header: round call button next to the menu toggle (phones only; tablets get the quote button / full number) ---------- */
.header-phone-icon {
	width: 2.75rem;
	height: 2.75rem;
	background-color: #3d92e7;
	color: #fff !important;
	font-size: 1.15rem;
	transition: background-color .3s cubic-bezier(.4, 0, .2, 1), transform .3s cubic-bezier(.4, 0, .2, 1);
}
.header-phone-icon:hover,
.header-phone-icon:focus {
	background-color: #4d6d9a;
	transform: translateY(-2px);
}
@media (max-width: 575.98px) {
	.header-phone-icon {
		width: 2.375rem;
		height: 2.375rem;
		font-size: 1rem;
	}
	header .navbar-toggler .fa-2x {
		font-size: 1.6em;
	}
}
@media (min-width: 576px) and (max-width: 1199.98px) {
	header .navbar-toggler .fa-2x {
		font-size: 1.75em;
	}
}

/* Hero: the two service links are secondary — smaller than "Request a Free Estimate" */
section.cover-hero.hero-redesign .btn.btn-hero-sm {
	font-size: .75rem !important;
	letter-spacing: .05rem;
	padding: .45rem 1rem;
	box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .85);
}
section.cover-hero.hero-redesign .btn.btn-hero-sm:hover,
section.cover-hero.hero-redesign .btn.btn-hero-sm:focus {
	box-shadow: inset 0 0 0 1.5px #fff, 0 .35rem .75rem rgba(13, 36, 63, .2);
}

/* Narrow columns at 992–1199px (3-up state cards, blog sidebar): keep button labels on one line */
@media (min-width: 992px) and (max-width: 1199.98px) {
	.state-picker .state-card {
		padding: 1.75rem !important;
	}
	.state-picker .state-card .btn {
		font-size: .875rem;
		letter-spacing: .03rem;
		padding-left: 1rem;
		padding-right: 1rem;
	}
}
/* Blog sidebar sits beside the post from 1200px — compact CTA button so the label fits */
@media (min-width: 1200px) {
	.blog-sidebar .btn {
		font-size: .875rem;
		letter-spacing: .02rem;
		padding-left: 1rem;
		padding-right: 1rem;
	}
}

/* ---------- Photo block: photo beside a light text panel ---------- */
.photo-block-text {
	background: #f3f7fc;
}
.photo-block-media img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
@media (min-width: 992px) {
	.photo-block-media {
		min-height: 26rem;
	}
	.photo-block-media img {
		position: absolute;
		inset: 0;
		aspect-ratio: auto;
	}
	.photo-block-media {
		position: relative;
	}
}
.photo-block-copy {
	font-size: 1.125rem;
	line-height: 1.65;
	color: #33475b;
}
article.photo-block-copy p {
	margin-bottom: 1rem;
}
article.photo-block-copy p:last-child {
	margin-bottom: 0;
}
.photo-block-copy ul {
	margin: 0;
}

/* Free Estimate / Our Locations: form card floats on the photo band with even spacing (like the heroes) */
.pano-form-wrap {
	padding: 3rem 0;
}
@media (min-width: 992px) {
	.pano-form-wrap {
		padding: 4rem 0;
	}
}

/* ---------- Forms: optional "Additional Information" collapsed into a <details> ---------- */
.form-more summary {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	cursor: pointer;
	list-style: none;
	font-family: "Open Sans", sans-serif;
	font-weight: 600;
	color: #212529;
}
.form-more summary::-webkit-details-marker {
	display: none;
}
.form-more summary::after {
	content: "";
	width: .7em;
	height: .7em;
	background-color: currentColor;
	-webkit-mask: var(--fa-chevron-down) center / contain no-repeat;
	mask: var(--fa-chevron-down) center / contain no-repeat;
	transition: transform .25s ease;
}
.form-more.is-open summary::after {
	transform: rotate(180deg);
}
.form-more-hint {
	font-weight: 400;
	color: #6c757d;
}

/* Headings in page content (CMS pages, legal pages, About) */
article h4 {
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
}
article h5 {
	margin-top: 1rem;
	margin-bottom: 1rem;
}

/* Embeds in content — core block CSS isn't loaded, so keep players full width and in proportion */
article iframe {
	max-width: 100%;
}
.wp-embed-responsive .wp-has-aspect-ratio iframe {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}
.wp-embed-responsive .wp-embed-aspect-4-3 iframe { aspect-ratio: 4 / 3; }
.wp-embed-responsive .wp-embed-aspect-1-1 iframe { aspect-ratio: 1; }
.wp-embed-responsive .wp-embed-aspect-9-16 iframe { aspect-ratio: 9 / 16; }
.wp-embed-responsive .wp-embed-aspect-21-9 iframe { aspect-ratio: 21 / 9; }

/* Check-mark list: a Gutenberg list with the "check-list" class (e.g. Thank You page) */
article ul.check-list {
	padding-left: 0;
}
article ul.check-list li {
	position: relative;
	padding-left: 1.6rem;
}
article ul.check-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .25em;
	margin-left: 0;
	width: 1em;
	height: 1em;
	background-color: currentColor;
	-webkit-mask: var(--fa-circle-check) center / contain no-repeat;
	mask: var(--fa-circle-check) center / contain no-repeat;
	color: #3d92e7;
}

/* Contact page: "Contact Information" lines up with the "Contact Form" heading inside its card
   (card border 1px + .p-lg-5 padding 3rem) when the two columns sit side by side. */
@media (min-width: 992px) {
	.contact-info {
		padding-top: calc(3rem + 1px);
	}
}
