/* ==========================================================================
   Prep Rite Painting — site styles v3 (revamp boards: 01 Home · 02 Service template · 03 Style guide)
   Values come straight from the boards' markup. Breakpoint 820px (all grids single column).

   1. Fonts            7. Hero + estimate form card     13. Gallery cards / strip / gallery page
   2. Tokens           8. Banner (inner pages)          14. About teaser, reviews, service areas
   3. Base             9. Intro, icon grid, badges      15. CTA band
   4. Header           10. Wedge + dark sections        16. Contact, booking, legal
   5. Mobile header    11. Process band + steps band    17. Footer
   6. Buttons/heading  12. Service intro, checklist, rows  18. Motion & a11y · 19. Responsive
   ========================================================================== */

/* 1. Fonts — self-hosted Anton + Poppins (OFL). ------------------------------ */
@font-face { font-family: "Anton"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/anton-400-latin.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 300; font-display: swap; src: url("../fonts/poppins-200-latin.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/poppins-400-latin.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/poppins-500-latin.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/poppins-600-latin.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/poppins-700-latin.woff2") format("woff2"); }

/* 2. Tokens (style guide) ------------------------------------------------------- */
:root {
	--navy: #102037;       /* dark sections, headings, text on sky */
	--sky: #38b6ff;        /* nav bar, primary buttons, highlight words on navy (always navy text) */
	--steel: #3582ae;      /* accent rules, bullets, step numbers, wedge */
	--deep: #0b1728;       /* footer only */
	--link: #256a91;       /* small blue text on white */
	--slate: #5b6472;      /* secondary button, eyebrows, muted text */
	--mist: #f4f4f4;       /* light bands */
	--mist-2: #eaeaea;     /* form card */
	--on-navy: #cbd5e0;    /* light text on navy */
	--line: #d5d9df;
	--text: #1b2636;
	--white: #fff;
	--display: "Anton", Impact, "Arial Narrow", sans-serif;
	--body: "Poppins", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--content: 1180px;
	--gutter: 24px;
	--r-card: 12px;
	--r-photo: 14px;
	--chevron: polygon(0 0, 100% 0, 100% 86%, 33% 100%, 0 85%);
	--ease: 0.25s ease;
	--ico-arrow-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z'/%3E%3C/svg%3E");
	--ico-brush: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M162.4 6c-1.5-3.6-5-6-8.9-6h-19c-3.9 0-7.5 2.4-8.9 6L104.9 57.7c-3.2 8-14.6 8-17.8 0L66.4 6c-1.5-3.6-5-6-8.9-6H48C21.5 0 0 21.5 0 48V224v22.4V256H9.6 374.4 384v-9.6V224 48c0-26.5-21.5-48-48-48H230.5c-3.9 0-7.5 2.4-8.9 6L200.9 57.7c-3.2 8-14.6 8-17.8 0L162.4 6zM0 288v32c0 35.3 28.7 64 64 64h64v64c0 35.3 28.7 64 64 64s64-28.7 64-64V384h64c35.3 0 64-28.7 64-64V288H0zM192 432a16 16 0 1 1 0 32 16 16 0 1 1 0-32z'/%3E%3C/svg%3E");
	--ico-check-circle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z'/%3E%3C/svg%3E");
	--ico-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E");
	--ico-chevron-left: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z'/%3E%3C/svg%3E");
	--ico-chevron-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'/%3E%3C/svg%3E");
	--ico-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm92.49,313h0l-20,25a16,16,0,0,1-22.49,2.5h0l-67-49.72a40,40,0,0,1-15-31.23V112a16,16,0,0,1,16-16h32a16,16,0,0,1,16,16V256l58,42.5A16,16,0,0,1,348.49,321Z'/%3E%3C/svg%3E");
	--ico-comment-dots: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7S4.8 480 8 480c66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32zM128 272c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z'/%3E%3C/svg%3E");
	--ico-envelope-open-text: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M176 216h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16zm-16 80c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16zm96 121.13c-16.42 0-32.84-5.06-46.86-15.19L0 250.86V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V250.86L302.86 401.94c-14.02 10.12-30.44 15.19-46.86 15.19zm237.61-254.18c-8.85-6.94-17.24-13.47-29.61-22.81V96c0-26.51-21.49-48-48-48h-77.55c-3.04-2.2-5.87-4.26-9.04-6.56C312.6 29.17 279.2-.35 256 0c-23.2-.35-56.59 29.17-73.41 41.44-3.17 2.3-6 4.36-9.04 6.56H96c-26.51 0-48 21.49-48 48v44.14c-12.37 9.33-20.76 15.87-29.61 22.81A47.995 47.995 0 0 0 0 200.72v10.65l96 69.35V96h320v184.72l96-69.35v-10.65c0-14.74-6.78-28.67-18.39-37.77z'/%3E%3C/svg%3E");
	--ico-envelope: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z'/%3E%3C/svg%3E");
	--ico-file-invoice-dollar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 80v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8zm144 263.88V440c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-24.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V232c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v24.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07z'/%3E%3C/svg%3E");
	--ico-home: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z'/%3E%3C/svg%3E");
	--ico-map-marker-alt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z'/%3E%3C/svg%3E");
	--ico-map-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 288 512'%3E%3Cpath d='M112 316.94v156.69l22.02 33.02c4.75 7.12 15.22 7.12 19.97 0L176 473.63V316.94c-10.39 1.92-21.06 3.06-32 3.06s-21.61-1.14-32-3.06zM144 0C64.47 0 0 64.47 0 144s64.47 144 144 144 144-64.47 144-144S223.53 0 144 0zm0 76c-37.5 0-68 30.5-68 68 0 6.62-5.38 12-12 12s-12-5.38-12-12c0-50.73 41.28-92 92-92 6.62 0 12 5.38 12 12s-5.38 12-12 12z'/%3E%3C/svg%3E");
	--ico-paint-roller: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M416 128V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v96c0 17.67 14.33 32 32 32h352c17.67 0 32-14.33 32-32zm32-64v128c0 17.67-14.33 32-32 32H256c-35.35 0-64 28.65-64 64v32c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32v-32h160c53.02 0 96-42.98 96-96v-64c0-35.35-28.65-64-64-64z'/%3E%3C/svg%3E");
	--ico-phone-alt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.29 24.29 0 0 0-14.01-27.6z'/%3E%3C/svg%3E");
	--ico-phone-volume: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M97.333 506.966c-129.874-129.874-129.681-340.252 0-469.933 5.698-5.698 14.527-6.632 21.263-2.422l64.817 40.513a17.187 17.187 0 0 1 6.849 20.958l-32.408 81.021a17.188 17.188 0 0 1-17.669 10.719l-55.81-5.58c-21.051 58.261-20.612 122.471 0 179.515l55.811-5.581a17.188 17.188 0 0 1 17.669 10.719l32.408 81.022a17.188 17.188 0 0 1-6.849 20.958l-64.817 40.513a17.19 17.19 0 0 1-21.264-2.422zM247.126 95.473c11.832 20.047 11.832 45.008 0 65.055-3.95 6.693-13.108 7.959-18.718 2.581l-5.975-5.726c-3.911-3.748-4.793-9.622-2.261-14.41a32.063 32.063 0 0 0 0-29.945c-2.533-4.788-1.65-10.662 2.261-14.41l5.975-5.726c5.61-5.378 14.768-4.112 18.718 2.581zm91.787-91.187c60.14 71.604 60.092 175.882 0 247.428-4.474 5.327-12.53 5.746-17.552.933l-5.798-5.557c-4.56-4.371-4.977-11.529-.93-16.379 49.687-59.538 49.646-145.933 0-205.422-4.047-4.85-3.631-12.008.93-16.379l5.798-5.557c5.022-4.813 13.078-4.394 17.552.933zm-45.972 44.941c36.05 46.322 36.108 111.149 0 157.546-4.39 5.641-12.697 6.251-17.856 1.304l-5.818-5.579c-4.4-4.219-4.998-11.095-1.285-15.931 26.536-34.564 26.534-82.572 0-117.134-3.713-4.836-3.115-11.711 1.285-15.931l5.818-5.579c5.159-4.947 13.466-4.337 17.856 1.304z'/%3E%3C/svg%3E");
	--ico-shield-alt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M466.5 83.7l-192-80a48.15 48.15 0 0 0-36.9 0l-192 80C27.7 91.1 16 108.6 16 128c0 198.5 114.5 335.7 221.5 380.3 11.8 4.9 25.1 4.9 36.9 0C360.1 472.6 496 349.3 496 128c0-19.4-11.7-36.9-29.5-44.3zM256.1 446.3l-.1-381 175.9 73.3c-3.3 151.4-82.1 261.1-175.8 307.7z'/%3E%3C/svg%3E");
	--ico-user-tie: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm95.8 32.6L272 480l-32-136 32-56h-96l32 56-32 136-47.8-191.4C56.9 292 0 350.3 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-72.1-56.9-130.4-128.2-133.8z'/%3E%3C/svg%3E");
	--ico-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M466.5 83.7l-192-80a48.15 48.15 0 0 0-36.9 0l-192 80C27.7 91.1 16 108.6 16 128c0 198.5 114.5 335.7 221.5 380.3 11.8 4.9 25.1 4.9 36.9 0C360.1 472.6 496 349.3 496 128c0-19.4-11.7-36.9-29.5-44.3zM256.1 446.3l-.1-381 175.9 73.3c-3.3 151.4-82.1 261.1-175.8 307.7z'/%3E%3C/svg%3E");
	--ico-phone-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23102037' d='M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.29 24.29 0 0 0-14.01-27.6z'/%3E%3C/svg%3E");
	--ico-chat-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23102037' d='M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7S4.8 480 8 480c66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32zM128 272c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z'/%3E%3C/svg%3E");
	--ico-invoice-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23102037' d='M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 80v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8zm144 263.88V440c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-24.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V232c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v24.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07z'/%3E%3C/svg%3E");
	--ico-check-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23102037' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E");
	--ico-mail-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23102037' d='M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z'/%3E%3C/svg%3E");
	--ico-pin-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23102037' d='M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z'/%3E%3C/svg%3E");
	--ico-clock-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23102037' d='M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm92.49,313h0l-20,25a16,16,0,0,1-22.49,2.5h0l-67-49.72a40,40,0,0,1-15-31.23V112a16,16,0,0,1,16-16h32a16,16,0,0,1,16,16V256l58,42.5A16,16,0,0,1,348.49,321Z'/%3E%3C/svg%3E");
}

/* 3. Base ------------------------------------------------------------------------ */
body { font-family: var(--body); font-size: 15px; line-height: 1.55; color: var(--text); -webkit-font-smoothing: antialiased; background: var(--white); }
h1, h2, h3 { font-family: var(--display); font-weight: 400; text-transform: uppercase; color: var(--navy); }
a { color: var(--link); }
a:hover { color: var(--navy); }
.entry-content > .pr-section, .entry-content > .wp-block-cover { margin: 0; }
.pr-section, .wp-block-cover.pr-hero, .wp-block-cover.pr-banner, .wp-block-cover.pr-process { position: relative; }
.pr-section h1, .pr-section h2, .pr-section h3, .pr-section p, .pr-section ul, .pr-section figure,
.wp-block-cover h1, .wp-block-cover h2, .wp-block-cover h3, .wp-block-cover p, .wp-block-cover ul, .wp-block-cover figure { margin-top: 0; margin-bottom: 0; }
.pr-section h1 strong, .pr-section h2 strong, .pr-section h3 strong { font-weight: inherit; }
.pr-section .wp-block-columns, .wp-block-cover .wp-block-columns { margin-bottom: 0; }
.pr-section img, .wp-block-cover img { height: auto; max-width: 100%; }
.wp-block-cover img.wp-block-cover__image-background { position: absolute; inset: 0; width: 100%; height: 100% !important; max-width: none; object-fit: cover; }
/* Grids: no flow-layout margins between grid items (the grid gap does the spacing). */
.pr-fgrid > .wp-block-group__inner-container > *, .pr-ggrid > .wp-block-group__inner-container > *, .pr-ggrid3 > .wp-block-group__inner-container > *,
.pr-badges > .wp-block-group__inner-container > *, .pr-strip > .wp-block-group__inner-container > *, .pr-sgrid > .wp-block-group__inner-container > *,
.pr-details > .wp-block-group__inner-container > *, .pr-area-cols > .wp-block-group__inner-container > *, .pr-icon-grid > .wp-block-group__inner-container > *,
.pr-steplist > .wp-block-group__inner-container > *, .pr-headrow > .wp-block-group__inner-container > * { margin: 0 !important; }
.pr-center { text-align: center; justify-content: center; }
.pr-sky { color: var(--sky); }
.pr-section > .wp-block-group__inner-container { padding-left: var(--gutter); padding-right: var(--gutter); }
.pr-section > .wp-block-group__inner-container > *:not(.alignfull) { max-width: var(--content); margin-left: auto !important; margin-right: auto !important; }
.wp-block-cover .wp-block-cover__inner-container { width: 100%; max-width: calc(var(--content) + 2 * var(--gutter)); padding: 0 var(--gutter); margin: 0 auto; }
.wp-block-cover .wp-block-cover__inner-container > * { max-width: none; }
/* Group inner containers become flex columns so "gap" spacing from the boards applies. */
.pr-fcard > .wp-block-group__inner-container, .pr-srow > .wp-block-group__inner-container { display: contents; }

/* 4. Header (desktop) — utility row + split sky nav with logo on navy plate ------------ */
.transparent-header #masthead { position: absolute; left: 0; right: 0; top: 0; z-index: 100; }
#main-header .site-top-header-wrap .site-header-row-container-inner { background: transparent; }
#main-header .site-container { max-width: none; }
#main-header .site-top-header-wrap .site-container { padding: 0 32px; }
#main-header .site-main-header-wrap .site-container { padding: 0; }
#main-header .site-top-header-inner-wrap { min-height: 52px; }
.pr-top-link, .pr-top-link:hover, #main-header .header-html a, #main-header .header-button, #main-header .header-button:hover {
	display: inline-flex; align-items: center; gap: 10px; text-decoration: none !important;
	font-family: var(--display); font-size: 26px; line-height: 30px; font-weight: 400; letter-spacing: 0;
	color: var(--white); background: transparent; border: 0; box-shadow: none; padding: 0; min-height: 44px;
}
.pr-top-link::before, #main-header .header-button::before {
	content: ""; flex: 0 0 26px; width: 26px; height: 26px; border-radius: 50%;
	background: var(--sky) var(--pr-i) no-repeat center / 13px 13px;
}
.pr-top-phone { --pr-i: var(--ico-phone-n); }
#main-header .header-button { --pr-i: var(--ico-chat-n); }
#main-header .header-button:hover, .pr-top-link:hover { opacity: 0.85; color: var(--white); }

#main-header .site-main-header-inner-wrap { min-height: 46px; align-items: stretch; display: grid; grid-template-columns: minmax(0, 1fr) 220px minmax(0, 1fr); }
/* Sky bars drawn on ::before so the slanted ends don't clip the dropdown menus. */
#main-header .site-header-main-section-left, #main-header .site-header-main-section-right { position: relative; z-index: 2; isolation: isolate; }
#main-header .site-header-main-section-left::before, #main-header .site-header-main-section-right::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--sky); }
#main-header .site-header-main-section-left::before { clip-path: polygon(0 0, 100% 0, 98.5% 100%, 0 100%); }
#main-header .site-header-main-section-right::before { clip-path: polygon(0 0, 100% 0, 100% 100%, 1.5% 100%); }
#main-header .site-header-main-section-left { padding: 0 40px 0 24px; }
#main-header .site-header-main-section-right { padding: 0 24px 0 40px; }
#main-header .site-header-main-section-center { position: relative; z-index: 3; justify-content: center; }
#main-header .site-header-main-section-center .site-branding {
	position: absolute; top: -44px; left: 50%; transform: translateX(-50%); width: 216px;
	background: var(--navy); padding: 8px 4px 10px; border-radius: 0 0 12px 12px;
}
#main-header .site-branding .custom-logo { width: 208px; max-width: 208px; height: auto; display: block; margin: 0 auto; }
#main-header .site-header-main-section-left .site-header-item, #main-header .site-header-main-section-right .site-header-item { width: 100%; margin: 0; }
#main-header .main-navigation, #main-header .secondary-navigation, #main-header .primary-menu-container, #main-header .secondary-menu-container { width: 100%; }
#main-header .primary-menu-container > ul, #main-header .secondary-menu-container > ul { display: flex; width: 100%; justify-content: space-around; }
#main-header .primary-menu-container > ul > li.menu-item > a, #main-header .secondary-menu-container > ul > li.menu-item > a {
	font-family: var(--display); font-size: 16px; line-height: 16px; font-weight: 400; letter-spacing: 1.5px; text-transform: uppercase;
	color: var(--navy); padding: 15px 12px; min-height: 46px; transition: background-color var(--ease), color var(--ease);
}
#main-header .primary-menu-container > ul > li.menu-item > a:hover, #main-header .secondary-menu-container > ul > li.menu-item > a:hover,
#main-header .primary-menu-container > ul > li.current-menu-item > a, #main-header .secondary-menu-container > ul > li.current-menu-item > a,
#main-header .primary-menu-container > ul > li.current-menu-ancestor > a { background: var(--navy); color: var(--white); }
#main-header .menu-item-has-children > a .dropdown-nav-toggle { color: inherit; }
/* Residential dropdown */
#main-header .header-navigation .sub-menu { background: var(--navy); box-shadow: 0 14px 30px rgba(11, 23, 40, 0.35); }
#main-header .header-navigation .sub-menu li.menu-item > a { font-family: var(--body); font-size: 15px; letter-spacing: 0; text-transform: none; color: var(--white); padding: 12px 18px; border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
#main-header .header-navigation .sub-menu li.menu-item > a:hover, #main-header .header-navigation .sub-menu li.current-menu-item > a { background: var(--sky); color: var(--navy); }
/* Sticky on scroll: solid navy behind the bars once the page moves. */
#main-header .kadence-sticky-header.item-is-fixed:not(.item-at-start) .site-header-row-container-inner { background: var(--navy); box-shadow: 0 6px 18px rgba(11, 23, 40, 0.35); }
#main-header .kadence-sticky-header.item-is-fixed:not(.item-at-start) .site-branding { top: -8px; padding-top: 6px; }

/* 5. Mobile header + full-screen drawer ---------------------------------------------- */
#mobile-header .site-main-header-wrap .site-header-row-container-inner { background: linear-gradient(rgba(11, 23, 40, 0.85), rgba(11, 23, 40, 0.25)); }
#mobile-header .kadence-sticky-header.item-is-fixed:not(.item-at-start) .site-header-row-container-inner { background: var(--navy); }
#mobile-header .site-main-header-inner-wrap { min-height: 70px; }
#mobile-header .site-container { padding-left: 16px; padding-right: 16px; }
#mobile-header .custom-logo { width: 150px !important; max-width: 150px !important; max-height: none !important; height: auto; }
#mobile-header .site-header-main-section-right { gap: 10px; }
.pr-m-phone { display: block; width: 44px; height: 44px; border-radius: 50%; background: var(--sky) var(--ico-phone-n) no-repeat center / 18px 18px; }
#mobile-header .mobile-toggle-open-container .menu-toggle-open { background: var(--sky); color: var(--navy); width: 44px; height: 44px; padding: 0; justify-content: center; border-radius: 0; }
#mobile-header .menu-toggle-icon svg { width: 24px; height: 24px; }
#mobile-drawer .drawer-inner { background: var(--navy); }
#mobile-drawer .drawer-header .drawer-toggle { color: var(--white); }
#mobile-drawer .drawer-content { padding: 10px 28px 40px; }
#mobile-drawer .mobile-navigation ul li > a, #mobile-drawer .mobile-navigation ul li .drawer-nav-drop-wrap {
	font-family: var(--display); font-size: 24px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--white);
	padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
#mobile-drawer .mobile-navigation ul ul li > a { font-family: var(--body); font-size: 17px; letter-spacing: 0; text-transform: none; color: var(--on-navy); padding-left: 16px; }
#mobile-drawer .mobile-navigation ul li.current-menu-item > a, #mobile-drawer .mobile-navigation ul li > a:hover { color: var(--sky); }
#mobile-drawer .drawer-sub-toggle { color: var(--white); }
#mobile-drawer .mobile-header-button-wrap { margin-top: 26px; width: 100%; }
#mobile-drawer .mobile-header-button-wrap .mobile-header-button, #mobile-drawer .mobile-header-button-wrap .mobile-header-button:hover {
	display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; background: var(--sky); color: var(--navy);
	border: 0; border-radius: 0; font-family: var(--display); font-size: 18px; letter-spacing: 1px; text-transform: uppercase; box-shadow: none;
}

/* 6. Buttons & heading unit ------------------------------------------------------------- */
.pr-section .wp-block-buttons, .wp-block-cover .wp-block-buttons { gap: 8px; margin-top: 6px; }
.pr-section .wp-block-button__link, .wp-block-cover .wp-block-button__link {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0 22px; border: 0; border-radius: 0; box-shadow: none;
	font-family: var(--display); font-size: 15px; line-height: 1; letter-spacing: 1px; text-transform: uppercase;
	transition: background-color var(--ease), color var(--ease);
}
.pr-btn .wp-block-button__link { background: var(--sky); color: var(--navy); }
.pr-btn-alt .wp-block-button__link { background: var(--slate); color: var(--white); }
.pr-btn-light .wp-block-button__link { background: var(--white); color: var(--navy); }
.pr-btn .wp-block-button__link:hover, .pr-btn-alt .wp-block-button__link:hover { background: var(--navy); color: var(--white); }
.pr-btn-light .wp-block-button__link:hover, .pr-dark .pr-btn .wp-block-button__link:hover, .pr-cta .pr-btn .wp-block-button__link:hover { background: var(--sky); color: var(--navy); box-shadow: inset 0 0 0 2px var(--white); }
.pr-eyebrow { font-size: 13px; line-height: 18px; font-weight: 600; text-transform: uppercase; color: var(--slate) !important; margin-bottom: 14px !important; }
.pr-eyebrow-sky { color: var(--sky) !important; }
.pr-h { font-size: 42px; line-height: 1.12; letter-spacing: 0.2px; color: var(--navy); }
.pr-h::after { content: ""; display: block; width: 44px; height: 3px; background: var(--steel); margin: 14px 0 14px; }
.pr-h.pr-center::after { margin-left: auto; margin-right: auto; }
.pr-h-light { color: var(--white) !important; }
.pr-dark .pr-h::after { background: var(--sky); }
.pr-on-navy { color: var(--on-navy) !important; }
.pr-on-navy-muted { color: var(--on-navy) !important; }
.pr-section p + p { margin-top: 12px; }

/* 7. Hero + estimate form card (board 01) -------------------------------------------- */
.wp-block-cover.pr-hero { clip-path: var(--chevron); padding: 168px 0 150px; align-items: center; }
.pr-hero-cols { gap: 48px; align-items: center !important; }
.pr-hero-copy { text-align: center; display: flex; flex-direction: column; align-items: center; }
.pr-hero-title { font-size: 54px; line-height: 1.1; color: var(--white) !important; }
.pr-hero-sub { font-size: 25px; font-weight: 300; letter-spacing: 1px; text-transform: uppercase; color: var(--white) !important; margin-top: 14px !important; }
.pr-hero-lede { max-width: 520px; color: var(--white) !important; font-size: 16px; margin: 14px auto 0 !important; }
.pr-hero-links { display: flex; flex-wrap: wrap; gap: 6px 28px; justify-content: center; margin-top: 18px !important; }
.pr-hl { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--white) !important; font-weight: 600; font-size: 18px; text-decoration: none; }
.pr-hl::before { content: ""; width: 24px; height: 24px; border-radius: 50%; background: var(--sky) var(--pr-i) no-repeat center / 12px 12px; }
.pr-hl:hover { text-decoration: underline; text-underline-offset: 4px; }
.pr-hl-phone { --pr-i: var(--ico-phone-n); }
.pr-hl-text { --pr-i: var(--ico-chat-n); }
.pr-hl-quote { --pr-i: var(--ico-invoice-n); }
.pr-formcard { background: var(--mist-2); border-radius: var(--r-photo); padding: 26px 24px 18px; box-shadow: 0 10px 30px rgba(11, 23, 40, 0.35); color: var(--text); }
.pr-formcard-title { font-size: 28px; line-height: 1.1; text-align: center; color: var(--navy) !important; }
.pr-formcard-eyebrow { font-size: 13px; font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase; text-align: center; color: var(--slate) !important; margin-top: 6px !important; }
.pr-formcard-text { margin: 8px 0 6px !important; text-align: center; font-size: 14px; color: var(--text) !important; }
.pr-formcard-text a { color: var(--link); }
.pr-formcard .pr-embed { margin-top: 4px; }
/* "Get Free Estimate" form (board 01). */
.pr-eform { display: flex; flex-direction: column; gap: 2px; margin-top: 4px; }
.pr-eform label { font-size: 12px; color: var(--text); margin-top: 8px; }
.pr-eform input[type="text"], .pr-eform input[type="tel"], .pr-eform input[type="email"], .pr-eform textarea { display: block; width: 100%; box-sizing: border-box; min-height: 44px; margin: 2px 0 0; padding: 0 10px; border: 1px solid #B9C0C9; border-radius: 3px; background: var(--white); font: inherit; font-size: 15px; color: var(--text); }
.pr-eform textarea { padding: 10px; min-height: 76px; resize: vertical; }
.pr-eform input:focus-visible, .pr-eform textarea:focus-visible { outline: 2px solid var(--steel); outline-offset: 1px; border-color: var(--steel); }
.pr-eform .pr-eform-consent { display: flex; gap: 8px; align-items: flex-start; margin-top: 10px; font-size: 11px; line-height: 1.45; color: var(--slate); }
.pr-eform-consent input { flex: none; width: 18px; height: 18px; margin: 0; accent-color: var(--navy); }
.pr-eform-consent a { color: var(--link); }
.pr-eform-btn { margin-top: 12px; min-height: 46px; border: 0; border-radius: 0; background: var(--sky); color: var(--navy); font-family: var(--display); font-size: 16px; letter-spacing: 1px; text-transform: uppercase; cursor: pointer; transition: background-color var(--ease), color var(--ease); }
.pr-eform-btn:hover, .pr-eform-btn:focus-visible { background: var(--navy); color: var(--white); }
.pr-eform-btn:disabled { opacity: 0.6; cursor: wait; }
.pr-eform-status { margin: 8px 0 0 !important; font-size: 13px; font-weight: 600; min-height: 1em; }
.pr-eform-status.is-ok { color: #1F7A4D; }
.pr-eform-status.is-error { color: #B42318; }
.pr-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* 8. Banner (inner pages, board 02) ---------------------------------------------------- */
.wp-block-cover.pr-banner, .pr-banner-plain { clip-path: var(--chevron); padding: 154px 0 120px; text-align: center; align-items: center; }
.pr-banner-plain { background: linear-gradient(135deg, var(--navy) 0%, #1c3b5e 100%); }
.pr-banner-plain > .wp-block-group__inner-container > * { max-width: var(--content); margin-left: auto !important; margin-right: auto !important; }
.pr-banner-title { font-size: 68px; line-height: 1.05; color: var(--white) !important; }
.pr-banner-sub { font-size: 18px; font-weight: 600; color: var(--white) !important; margin-top: 6px !important; }
.pr-banner-eyebrow { font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--sky) !important; margin-bottom: 6px !important; text-shadow: 0 1px 2px rgba(11,23,40,.9), 0 0 12px rgba(11,23,40,.75); }

/* 9. Intro, icon grid, badge row ------------------------------------------------------- */
.pr-intro { padding: 40px 0 50px; }
.pr-intro .wp-block-columns { gap: 64px; align-items: center !important; }
.pr-icon-grid > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px 20px; }
.pr-icon-item { text-align: center; }
.pr-icon-item figure { margin: 0 auto 8px !important; }
.pr-icon-img img { width: 52px; height: 52px; transition: transform var(--ease); }
.pr-icon-label { font-weight: 600; font-size: 18px; }
.pr-icon-label a { color: var(--navy) !important; text-decoration: none; }
.pr-icon-item:hover .pr-icon-img img { transform: translateY(-3px); }
.pr-icon-item:hover .pr-icon-label a { color: var(--link) !important; }
.pr-badges { border-top: 1px solid var(--line); padding-top: 28px; margin-top: 40px !important; }
.pr-badges > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.pr-badge { min-height: 76px; border: 1px solid var(--line); border-radius: 8px; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 8px 12px; text-align: center; font-size: 13px; font-weight: 600; color: var(--navy) !important; margin: 0 !important; }
.pr-badge::before { content: ""; flex: 0 0 22px; width: 22px; height: 22px; background: var(--steel); -webkit-mask: var(--pr-i) no-repeat center / contain; mask: var(--pr-i) no-repeat center / contain; }
.pr-b-shield { --pr-i: var(--ico-shield); }
.pr-b-quote { --pr-i: var(--ico-file-invoice-dollar); }
.pr-b-home { --pr-i: var(--ico-home); }
.pr-b-pin { --pr-i: var(--ico-map-marker-alt); }
.pr-b-user { --pr-i: var(--ico-user-tie); }

/* 10. Wedge + dark sections ------------------------------------------------------------ */
.pr-wedge { margin-top: 130px !important; }
.pr-wedge::before, .pr-wedge::after { content: ""; position: absolute; left: 0; right: 0; top: -130px; height: 131px; pointer-events: none; }
.pr-wedge::before { background: var(--steel); clip-path: polygon(46% 62%, 72% 0, 100% 78%, 100% 100%, 46% 100%); }
.pr-wedge::after { background: var(--navy); clip-path: polygon(0 62%, 28% 28%, 100% 100%, 0 100%); }
.pr-dark { background: var(--navy); color: var(--white); padding: 40px 0 80px; }
.pr-dark .pr-h { max-width: 620px; }
.pr-fgrid > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.pr-fcard { background: var(--white); border-radius: var(--r-card); padding: 18px 20px; display: flex; gap: 16px; align-items: flex-start; }
.pr-fcard-icon { flex: 0 0 46px; margin: 0 !important; }
.pr-fcard-icon img { width: 46px; height: 46px; display: block; }
.pr-fcard-title { font-family: var(--body); text-transform: none; font-size: 19px; line-height: 1.3; font-weight: 600; color: var(--navy) !important; margin-bottom: 2px !important; }
.pr-fcard p { font-size: 14px; color: var(--text); }
.pr-fcard-check::before { content: ""; flex: 0 0 46px; width: 46px; height: 46px; border-radius: 50%; background: var(--sky) var(--ico-check-n) no-repeat center / 18px 18px; }

/* 11. Process band (photo + card) and estimate-steps band -------------------------------- */
.wp-block-cover.pr-process { padding: 40px 0; align-items: center; }
.wp-block-cover.pr-process img.wp-block-cover__image-background { object-position: 50% 42%; }
.pr-process-cols { gap: 40px; }
.pr-process-card { background: var(--white); border-radius: var(--r-photo); padding: 38px 40px; color: var(--text); }
.pr-process-card .pr-h { font-size: 38px; }
.pr-process-card p { color: var(--text); }
.pr-steplist { margin-top: 16px; }
.pr-step { position: relative; padding-left: 58px; min-height: 44px; margin-bottom: 14px; }
.pr-step::before { content: ""; position: absolute; left: 0; top: 0; width: 44px; height: 44px; border-radius: 50%; border: 2px solid var(--steel); box-sizing: border-box; }
.pr-step-name { font-family: var(--display); font-size: 23px; line-height: 1.2; color: var(--navy) !important; }
.pr-step-text { font-size: 14px; color: var(--slate) !important; margin-top: 2px !important; }
.pr-process-card .wp-block-buttons { margin-top: 8px; }
.pr-stepsband { padding: 30px 0 70px; text-align: center; }
.pr-sgrid { margin-top: 26px !important; }
.pr-sgrid > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.pr-scard { background: var(--white); border-radius: var(--r-card); padding: 22px; text-align: left; }
.pr-scard-num { font-family: var(--display); font-size: 34px; line-height: 1.1; color: var(--steel) !important; }
.pr-scard-name { font-weight: 600; color: var(--navy) !important; margin-top: 4px !important; }
.pr-stepsband .pr-eyebrow { margin: 30px 0 4px !important; }
.pr-bigphone a { font-family: var(--display); font-size: 44px; line-height: 1.1; color: var(--sky) !important; text-decoration: none; }

/* 12. Service intro, checklist, service rows, tiles -------------------------------------- */
.pr-intro2 { padding: 30px 0 60px; }
.pr-intro2 .wp-block-columns { gap: 56px; align-items: flex-start !important; }
.pr-subh { font-size: 26px; margin-top: 10px !important; color: var(--navy) !important; }
.pr-dots { list-style: none; padding: 0 !important; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 40px; margin-top: 12px !important; font-weight: 600; color: var(--navy); }
.pr-dots:empty { display: none; }
.pr-dots li { display: flex; gap: 10px; align-items: center; }
.pr-dots li::before { content: ""; flex: 0 0 16px; width: 16px; height: 16px; border-radius: 50%; background: var(--steel); }
.pr-intro-img { margin: 0 !important; }
.pr-intro-img img { width: 100%; display: block; }
/* Residential / Commercial intro photo: tilted, framed (as on the original site). */
.pr-intro-img.pr-tilt { padding: 22px 14px; }
.pr-intro-img.pr-tilt img { aspect-ratio: 19 / 12; object-fit: cover; border: 8px solid var(--sky); border-radius: 22px; transform: rotate(-4deg); box-shadow: 0 16px 32px rgba(16, 32, 55, 0.18); }
@media (max-width: 820px) { .pr-intro-img.pr-tilt img { transform: rotate(-2.5deg); border-width: 6px; } }
.pr-rounded img { border-radius: var(--r-photo); height: 380px !important; object-fit: cover; }
.pr-quote { border-left: 4px solid var(--steel); padding-left: 16px; font-style: italic; color: var(--slate) !important; margin-top: 16px !important; }
.pr-rows { padding: 60px 0; }
.pr-mist { background: var(--mist); }
.pr-srow { background: var(--white); border-radius: var(--r-photo); overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); margin-bottom: 22px; }
.pr-srow:last-child { margin-bottom: 0; }
.pr-srow-media { min-height: 220px; position: relative; background: #c9d3db; }
.pr-srow-media > .wp-block-group__inner-container { height: 100%; }
.pr-srow-img { margin: 0 !important; position: absolute !important; inset: 0; }
.pr-srow-img img { width: 100%; height: 100% !important; object-fit: cover; display: block; }
.pr-srow-body { padding: 30px 34px; }
.pr-srow-title { font-size: 28px; color: var(--navy) !important; margin-bottom: 10px !important; }
.pr-srow-body p { color: var(--slate); }
.pr-srow-body .wp-block-buttons { margin-top: 14px; }
.pr-tile { background: linear-gradient(135deg, #e9eef3, #d9e3eb); height: 100%; min-height: 220px; display: flex; align-items: center; justify-content: center; border-radius: 0; }
.pr-intro2-media > .pr-tile { border-radius: var(--r-photo); min-height: 380px; }
.pr-tile > .wp-block-group__inner-container { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.pr-tile-icon { margin: 0 !important; }
.pr-tile-icon img { width: 96px; height: 96px; opacity: 0.85; }

/* 13. Gallery cards, strips, gallery page + lightbox ------------------------------------ */
.pr-gallerysec { padding: 70px 0 30px; }
.pr-headrow > .wp-block-group__inner-container { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.pr-viewall a { font-family: var(--display); font-size: 15px; letter-spacing: 1px; text-transform: uppercase; text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; color: var(--link); }
.pr-ggrid > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.pr-gcard { border: 1px solid var(--line); border-radius: var(--r-card); overflow: hidden; background: var(--white); transition: box-shadow var(--ease), transform var(--ease); }
.pr-gcard:hover { box-shadow: 0 12px 28px rgba(16, 32, 55, 0.14); transform: translateY(-2px); }
.pr-gcard-img { margin: 0 !important; }
.pr-gcard-img img { width: 100%; height: 210px !important; object-fit: cover; display: block; }
.pr-gcard-title { padding: 14px 16px; font-weight: 600; font-size: 16px; color: var(--navy) !important; }
.pr-gcard-link { border-top: 1px solid var(--line); text-align: center; margin: 0 !important; }
.pr-gcard-link a { display: block; padding: 12px; font-family: var(--display); font-size: 14px; letter-spacing: 1px; text-transform: uppercase; color: var(--link); text-decoration: none; }
.pr-stripsec { padding: 64px 0; }
.pr-strip > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); gap: 16px; }
.pr-strip-3 { --n: 3; }
.pr-strip-img { margin: 0 !important; }
.pr-strip-img a, .pr-gcard-img a, .pr-gitem-img a { display: block; }
.pr-strip-img img { width: 100%; height: 200px !important; object-fit: cover; border-radius: var(--r-card); display: block; transition: transform var(--ease); }
.pr-strip-img a:hover img { transform: scale(1.02); }
.pr-gallerypage { padding: 40px 0 70px; }
/* Gallery page = Kadence Tabs (categories) + Kadence Gallery (Adv). Colors/borders are set in the block; only fonts here. */
.pr-gallerypage .kt-tabs-title-list { margin-bottom: 18px; border: 0; }
.pr-gallerypage .kt-tab-title { font-family: var(--display); font-size: 15px; letter-spacing: 1px; text-transform: uppercase; min-height: 44px; align-items: center; }
.pr-gallerypage .kadence-blocks-gallery-item .kadence-blocks-gallery-item__caption { font-family: var(--body); font-weight: 600; color: var(--navy); text-align: left; }

/* 14. About teaser, reviews, service areas, maps ----------------------------------------- */
.pr-teaser { padding: 50px 0; }
.pr-teaser .wp-block-columns { gap: 48px; align-items: center !important; }
.pr-logo-card { background: var(--mist); border-radius: var(--r-photo); min-height: 360px; display: flex; align-items: center; justify-content: center; padding: 30px; }
.pr-logo-card > .wp-block-group__inner-container { width: 100%; }
.pr-about-logo { margin: 0 auto !important; text-align: center; }
.pr-about-logo img { width: 100%; max-width: 380px; }
.pr-follow { font-size: 13px; margin-top: 14px !important; }
.pr-reviews { padding: 60px 0; }
.pr-reviews iframe { display: block; width: 100%; min-width: 100%; border: 0; }
.pr-areas { padding: 70px 0; }
.pr-areas .wp-block-columns { gap: 56px; align-items: flex-start !important; }
.pr-area-cols > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.pr-area-h { font-size: 24px; color: var(--navy) !important; border-bottom: 3px solid var(--sky); padding-bottom: 8px; margin-bottom: 10px !important; }
.pr-area-list { list-style: none; padding: 0 !important; display: flex; flex-direction: column; gap: 6px; }
.pr-map iframe { display: block; width: 100%; height: 240px; border: 0; border-radius: var(--r-photo); background: #c9d3db; }
.pr-contact3 .pr-map iframe { height: 360px; margin-top: 30px; }

/* 15. CTA band ------------------------------------------------------------------------- */
.pr-cta { background: var(--navy); padding: 64px 0; text-align: center; }
.pr-cta-title { font-size: 44px; line-height: 1.12; color: var(--white) !important; max-width: 760px; margin: 8px auto !important; }
.pr-cta .pr-on-navy a { color: var(--sky); }
.pr-cta .wp-block-buttons { justify-content: center; margin-top: 16px; }

/* 16. Contact details, form section, booking, legal -------------------------------------- */
.pr-contact3 { padding: 50px 0 10px; }
.pr-details > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.pr-detail { background: var(--mist); border-radius: var(--r-card); padding: 20px 20px 20px 70px; position: relative; }
.pr-detail::before, .pr-info-item::before { content: ""; position: absolute; left: 20px; top: 20px; width: 36px; height: 36px; border-radius: 50%; background: var(--sky) var(--pr-i) no-repeat center / 15px 15px; }
.pr-ico-phone { --pr-i: var(--ico-phone-n); }
.pr-ico-mail { --pr-i: var(--ico-mail-n); }
.pr-ico-pin { --pr-i: var(--ico-pin-n); }
.pr-ico-clock { --pr-i: var(--ico-clock-n); }
.pr-detail-label, .pr-info-label { font-weight: 700; font-size: 16px; color: var(--navy) !important; }
.pr-detail-value, .pr-info-value { font-size: 15px; margin-top: 2px !important; }
.pr-detail-value a, .pr-info-value a { color: var(--text); text-decoration: none; }
.pr-detail-value a:hover, .pr-info-value a:hover { color: var(--link); }
.pr-info-item { position: relative; padding-left: 52px; margin-bottom: 18px; }
.pr-info-item::before { left: 0; top: 0; }
.pr-formsec { padding: 60px 0; }
.pr-formcard-wide { max-width: 720px !important; box-shadow: none; }
.pr-embed iframe { display: block; width: 100%; border: 0; }
.pr-embed--form iframe { min-height: 680px; }
.pr-embed iframe[data-src], .pr-map iframe[data-src] { background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='16' fill='none' stroke='%2338b6ff' stroke-width='3' stroke-dasharray='70 30'/%3E%3C/svg%3E") no-repeat center 120px; }
.pr-booking3 { padding: 40px 0 60px; }
.pr-booking3 .wp-block-columns { gap: 48px; align-items: flex-start !important; }
.pr-formcard-book { box-shadow: none; }
.pr-legal { padding: 50px 0 80px; }
.pr-legal > .wp-block-group__inner-container > * { max-width: 900px !important; }
.pr-legal h3 { font-size: 26px; margin-top: 38px !important; }
.pr-legal h3::after { content: ""; display: block; width: 44px; height: 3px; background: var(--steel); margin-top: 10px; }
.pr-legal p { margin-top: 10px !important; }
.pr-legal ul { list-style: disc; padding-left: 22px !important; margin-top: 12px !important; }
.pr-legal li::marker { color: var(--steel); }

/* 17. Footer (deep navy, 4 columns) ------------------------------------------------------ */
.site-footer .site-middle-footer-wrap .site-footer-row-container-inner, .site-footer .site-bottom-footer-wrap .site-footer-row-container-inner { background: var(--deep); }
.site-footer .site-container { max-width: calc(var(--content) + 2 * var(--gutter)); }
.site-footer .site-middle-footer-inner-wrap { padding-top: 54px; padding-bottom: 10px; gap: 36px; }
.site-footer .footer-widget-area, .site-footer .footer-widget-area p { color: var(--on-navy); font-family: var(--body); font-size: 14px; line-height: 1.6; }
.site-footer .footer-widget-area .widget { margin-bottom: 0; }
.site-footer .footer-widget-area p { margin: 0 0 8px; }
.site-footer .footer-widget-area a { color: var(--on-navy); text-decoration: none; transition: color var(--ease); }
.site-footer .footer-widget-area a:hover { color: var(--sky); }
.pr-foot-h { font-family: var(--display) !important; font-size: 18px !important; line-height: 1.2 !important; text-transform: uppercase; color: var(--white) !important; margin: 0 0 12px !important; }
.pr-foot-logo { margin: 0 0 12px -10px !important; }
.pr-foot-logo img { width: 230px; height: auto; }
.pr-foot-phone a { font-family: var(--display); font-size: 26px; line-height: 1.2; color: var(--sky) !important; }
.pr-foot-small { font-size: 12px !important; }
.site-footer .site-bottom-footer-inner-wrap { border-top: 1px solid #24364f; padding: 16px 0 22px; min-height: 0; }
.site-footer .footer-html, .site-footer .footer-html-inner { width: 100%; }
.site-footer .footer-html p, .site-footer .footer-html { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-family: var(--body); font-size: 12px; color: var(--on-navy); margin: 0; }
.site-footer .footer-html a { color: var(--on-navy); }
.site-footer .footer-html a:hover { color: var(--sky); }
.site-footer .site-bottom-footer-inner-wrap .site-footer-section { justify-content: stretch; }

/* 18. Motion & accessibility -------------------------------------------------------------- */
.pr-section a:focus-visible, .wp-block-cover a:focus-visible, .site-header a:focus-visible, .site-footer a:focus-visible { outline: 2px solid var(--sky); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

/* 19. Responsive ---------------------------------------------------------------------------- */
@media (max-width: 1100px) {
	#main-header .primary-menu-container > ul > li.menu-item > a, #main-header .secondary-menu-container > ul > li.menu-item > a { font-size: 14px; letter-spacing: 1px; padding: 16px 6px; }
	.pr-badges > .wp-block-group__inner-container { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
	.pr-section .wp-block-columns.is-not-stacked-on-mobile, .wp-block-cover .wp-block-columns.is-not-stacked-on-mobile { flex-direction: column; flex-wrap: wrap !important; }
	.pr-section .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column, .wp-block-cover .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column { flex-basis: 100% !important; width: 100%; }
	.pr-section .wp-block-columns.is-not-stacked-on-mobile.pr-reverse-mobile { flex-direction: column-reverse; }
	.pr-process-spacer { display: none; }
	.wp-block-cover.pr-hero { clip-path: polygon(0 0, 100% 0, 100% 96%, 33% 100%, 0 96%); padding: 110px 0 70px; min-height: 0 !important; }
	.pr-hero-title { font-size: 44px; }
	.pr-hero-sub { font-size: 19px; }
	.pr-hero-form { margin-top: 24px; }
	.wp-block-cover.pr-banner, .pr-banner-plain { padding: 110px 0 80px; min-height: 0 !important; }
	.pr-banner-title { font-size: 44px; }
	.pr-h, .pr-cta-title, .pr-process-card .pr-h { font-size: 32px; }
	.pr-icon-grid > .wp-block-group__inner-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pr-badges > .wp-block-group__inner-container { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.pr-badge { min-height: 64px; font-size: 12px; flex-direction: column; gap: 6px; }
	.pr-fgrid > .wp-block-group__inner-container, .pr-ggrid > .wp-block-group__inner-container,
	.pr-ggrid3 > .wp-block-group__inner-container, .pr-area-cols > .wp-block-group__inner-container, .pr-details > .wp-block-group__inner-container,
	.pr-sgrid > .wp-block-group__inner-container { grid-template-columns: minmax(0, 1fr); }
	.pr-strip > .wp-block-group__inner-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pr-srow { grid-template-columns: minmax(0, 1fr); }
	.pr-srow-media, .pr-tile { min-height: 200px; }
	.pr-srow-body { padding: 24px; }
	.pr-dots { grid-template-columns: minmax(0, 1fr); }
	.pr-process-card { padding: 28px 22px; }
	.pr-wedge { margin-top: 70px !important; }
	.pr-wedge::before, .pr-wedge::after { top: -70px; height: 71px; }
	.pr-rounded img, .pr-intro2-media > .pr-tile { height: 260px !important; min-height: 260px; }
	.pr-logo-card { min-height: 240px; }
	.pr-bigphone a { font-size: 36px; }
	.site-footer .footer-widget-area { margin-bottom: 18px; }
	.site-footer .footer-html p, .site-footer .footer-html { justify-content: center; text-align: center; }
}
@media (min-width: 821px) {
	.pr-show-mobile { display: none !important; }
}

/* 20. Area pages (board 05) + Areas mega dropdown ------------------------------------- */
.pr-area-intro { padding-top: 40px; }
.pr-area-intro .pr-formcard { margin-top: 6px; }
.pr-areasvc { padding: 60px 0; }
.pr-agrid > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.pr-agrid > .wp-block-group__inner-container > * { margin: 0 !important; }
.pr-acard { background: var(--white); border-radius: var(--r-card); padding: 18px 18px 14px; transition: box-shadow var(--ease), transform var(--ease); }
.pr-acard:hover { box-shadow: 0 10px 24px rgba(16, 32, 55, 0.12); transform: translateY(-2px); }
.pr-acard-title { font-size: 22px; line-height: 1.15; color: var(--navy) !important; margin-bottom: 6px !important; }
.pr-acard p { font-size: 14px; }
.pr-acard-link a { font-family: var(--display); font-size: 14px; letter-spacing: 1px; text-transform: uppercase; color: var(--link); text-decoration: none; display: inline-flex; min-height: 32px; align-items: center; }
.pr-faqsec { padding: 64px 0; }
.pr-faqsec .wp-block-columns { gap: 48px; align-items: flex-start !important; }
.pr-faqs > .wp-block-group__inner-container > * { margin: 0 0 10px !important; }
.pr-faq { border: 1px solid var(--line); border-radius: 8px; background: var(--white); }
.pr-faq summary { list-style: none; cursor: pointer; padding: 14px 44px 14px 16px; font-weight: 600; color: var(--navy); position: relative; min-height: 44px; }
.pr-faq summary::-webkit-details-marker { display: none; }
.pr-faq summary::after { content: "+"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-size: 22px; font-weight: 400; color: var(--steel); }
.pr-faq[open] summary::after { content: "–"; }
.pr-faq[open] summary { border-bottom: 1px solid var(--line); }
.pr-faq > p { padding: 12px 16px 16px; margin: 0 !important; }
.pr-faqsec .pr-map iframe { height: 260px; }
.pr-nearby-h { font-size: 22px; color: var(--navy) !important; border-bottom: 3px solid var(--sky); padding-bottom: 8px; margin: 26px 0 14px !important; }
.pr-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.pr-chips a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border: 1px solid var(--line); border-radius: 999px; font-size: 13px; font-weight: 600; color: var(--link); text-decoration: none; transition: background-color var(--ease), color var(--ease), border-color var(--ease); }
.pr-chips a:hover { background: var(--sky); border-color: var(--sky); color: var(--navy); }
.pr-area-list a { color: var(--text); text-decoration: none; }
.pr-area-list.pr-list-cols { display: block; column-count: 3; column-gap: 28px; }
.pr-area-list.pr-list-cols li { margin-bottom: 8px; break-inside: avoid; }
.pr-area-h-gap { margin-top: 30px !important; }
.pr-area-other { margin-top: 22px !important; font-size: 14px; color: var(--slate); }
.pr-area-other a { color: var(--link); }
.pr-area-list a:hover { color: var(--link); text-decoration: underline; text-underline-offset: 3px; }
/* Areas dropdown: "Lake Country Areas We Serve" + "Other Southeastern Wisconsin Areas", each heading spans a 3-column list. */
#main-header .header-navigation .pr-mega > .sub-menu { width: 660px; column-count: 3; column-gap: 0; padding: 6px 0 12px; }
#main-header .header-navigation .pr-mega > .sub-menu > li { break-inside: avoid; }
#main-header .header-navigation .pr-mega > .sub-menu > li.pr-menu-heading { column-span: all; }
#main-header .header-navigation .pr-mega > .sub-menu > li.pr-menu-heading + li.pr-menu-heading, #main-header .header-navigation .pr-mega > .sub-menu > li.pr-menu-heading ~ li.pr-menu-heading { margin-top: 8px; border-top: 1px solid rgba(203, 213, 224, 0.18); }
#main-header .header-navigation .pr-mega > .sub-menu > li > a { padding: 7px 18px; border-bottom: 0; font-size: 14px; }
#main-header .header-navigation .pr-menu-heading > a { font-family: var(--display) !important; font-size: 15px !important; letter-spacing: 1px !important; text-transform: uppercase !important; color: var(--sky) !important; padding-top: 12px !important; padding-bottom: 6px !important; }
#main-header .header-navigation .pr-menu-heading > a:hover { color: var(--white) !important; }
#main-header .header-navigation .pr-mega > .sub-menu > li.pr-menu-heading > a { width: auto !important; }
#mobile-drawer .pr-menu-heading > a { font-family: var(--body) !important; font-size: 13px !important; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: var(--sky) !important; border-bottom: 0 !important; padding-bottom: 4px !important; }
@media (max-width: 820px) {
	.pr-agrid > .wp-block-group__inner-container { grid-template-columns: minmax(0, 1fr); }
	.pr-area-list.pr-list-cols { column-count: 2; }
}

/* 21. Services panel (menu item class "pr-svc"; column headings "pr-svc-col"; estimate box "pr-svc-cta") ---------------- */
#main-header .header-navigation li.pr-svc:hover > .sub-menu, #main-header .header-navigation li.pr-svc.menu-item--toggled-on > .sub-menu, #main-header .header-navigation li.pr-svc:focus-within > .sub-menu { display: grid; }
#main-header .header-navigation .pr-svc > .sub-menu { grid-template-columns: repeat(4, minmax(0, 1fr)) 240px; gap: 0 26px; width: min(1140px, calc(100vw - 48px)); padding: 24px 24px 26px; }
#main-header .header-navigation .pr-svc > .sub-menu > li { position: static; }
#main-header .header-navigation .pr-svc > .sub-menu > li > a { width: auto !important; display: block; font-family: var(--display) !important; font-size: 17px !important; letter-spacing: 1px !important; text-transform: uppercase !important; line-height: 1.15; color: var(--sky) !important; background: none !important; border-bottom: 2px solid var(--sky) !important; padding: 2px 0 10px !important; margin-bottom: 6px; }
#main-header .header-navigation .pr-svc > .sub-menu > li > a:hover { color: var(--white) !important; }
#main-header .header-navigation .pr-svc .sub-menu .dropdown-nav-toggle, #main-header .header-navigation .pr-svc .sub-menu .dropdown-nav-special-toggle { display: none !important; }
#main-header .header-navigation .pr-svc > .sub-menu > li > .sub-menu { display: block !important; position: static; box-shadow: none; background: transparent; min-height: 0; width: auto; padding: 0; }
#main-header .header-navigation .pr-svc > .sub-menu > li > .sub-menu > li > a { width: auto !important; padding: 9px 0 !important; font-size: 15px; color: var(--white); background: none !important; border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
#main-header .header-navigation .pr-svc > .sub-menu > li > .sub-menu > li > a:hover, #main-header .header-navigation .pr-svc > .sub-menu > li > .sub-menu > li.current-menu-item > a { color: var(--sky); }
#main-header .header-navigation .pr-svc > .sub-menu > li.pr-svc-cta { background: var(--deep); border-radius: var(--r-card); padding: 18px 18px 20px; align-self: start; }
#main-header .header-navigation .pr-svc > .sub-menu > li.pr-svc-cta > a { color: var(--white) !important; border-bottom: 0 !important; font-size: 22px !important; }
#main-header .header-navigation .pr-svc > .sub-menu > li.pr-svc-cta > .sub-menu > li > a { display: flex; align-items: center; justify-content: center; min-height: 44px; margin-top: 10px; padding: 0 12px !important; border: 1px solid var(--sky); font-family: var(--display); font-size: 15px; letter-spacing: 1px; text-transform: uppercase; color: var(--white); }
#main-header .header-navigation .pr-svc > .sub-menu > li.pr-svc-cta > .sub-menu > li:first-child > a { background: var(--sky) !important; color: var(--navy); }
#main-header .header-navigation .pr-svc > .sub-menu > li.pr-svc-cta > .sub-menu > li > a:hover { background: var(--white) !important; border-color: var(--white); color: var(--navy); }
#mobile-drawer .mobile-navigation .pr-svc-col > a, #mobile-drawer .mobile-navigation .pr-svc-col > .drawer-nav-drop-wrap > a { font-family: var(--body) !important; font-size: 13px !important; font-weight: 600; letter-spacing: 1px; text-transform: uppercase !important; color: var(--sky) !important; }
